基于電磁場(chǎng)檢測(cè)的尋跡智能車(chē)系統(tǒng)設(shè)計(jì)
3.3 電機(jī)驅(qū)動(dòng)電路
電機(jī)驅(qū)動(dòng)電路選用了驅(qū)動(dòng)芯片BTS7960。芯片在工作時(shí),阻抗典型值為16 mΩ(IOUT=9 A,Tj=25℃),可提供的最大驅(qū)動(dòng)電流為43A。本文引用地址:http://butianyuan.cn/article/177754.htm
4 位置分析整體思路
由于電磁尋跡本身的特點(diǎn),得到的黑線位置是相對(duì)精確的模擬量。同時(shí)在很大程度上無(wú)法預(yù)測(cè)軌跡位置,借鑒攝像頭的彎道半徑計(jì)算思路,提出雙排傳感器的角度控制方案。舵機(jī)的反饋控制量選用智能車(chē)前方20 cm處賽道的斜率以及第一排傳感器的偏移量。在實(shí)際的跑道中,賽車(chē)的偏移量、斜率以及轉(zhuǎn)向的關(guān)系如圖12~17所示。
4.1 數(shù)據(jù)采集
系統(tǒng)的主控芯片選用的微控制器是Freescale公司的MC56F8013。因?yàn)橐苯硬杉也ǖ慕涣餍盘?hào),而該信號(hào)的頻率為20 kHz,根據(jù)采樣定理:當(dāng)fs.max大于信號(hào)中最高頻率fmax的2倍時(shí),采樣之后的數(shù)字信號(hào)完整地保留了原始信號(hào)中的信息。系統(tǒng)直接利用主控芯片的片內(nèi)晶
振,主頻為32 MHz,A/D采樣頻率最大可達(dá)到2.67MHz,該系統(tǒng)通過(guò)分頻將A/D的轉(zhuǎn)換頻率定為200kHz。
因采集得到的數(shù)據(jù)量較大,在處理方便且不丟失有效信號(hào)的原則下,系統(tǒng)僅使用信號(hào)中的最大值。為了減少最終誤差,在每個(gè)處理周期,選取其中的最大值及次大值的平均值作為采樣值。
4.2 數(shù)據(jù)處理
4.2.1 PD算法
在PID控制算法的基礎(chǔ)上,選用了增量型的PID控制算法。所需公式為:
△U(k)=Kp·[e(k)-e(k-1)]+Ki·e(k)+Kd·[e(k)-2e(k-1)+e(k+2)] (8)
式中,△U(k)表示增量;e(k)為系統(tǒng)的控制偏差;Kp為比例增益;表示積分系數(shù);表示微分系數(shù)。
本設(shè)計(jì)去掉了PID中的積分環(huán)節(jié),采用了變參數(shù)的PD控制器。因積分環(huán)節(jié)主要是用于消除靜態(tài)誤差,相對(duì)于干擾較大的舵機(jī)控制來(lái)說(shuō),它的作用并不明顯,反而會(huì)降低響應(yīng)速度。
4.2.2 軟件設(shè)計(jì)
系統(tǒng)中,主要計(jì)算賽車(chē)位置的是前排傳感器。通過(guò)左右兩端傳感器的電壓來(lái)判斷賽車(chē)與軌道的距離,利用差值來(lái)判斷賽車(chē)偏離軌道的程度,并計(jì)算得到賽車(chē)的轉(zhuǎn)角。
在壓差求解中,主要利用的是左、右兩端各自的傳感器檢測(cè)得到的電壓值進(jìn)行權(quán)值可變的加權(quán)。權(quán)值的變化與當(dāng)前傳感器采集到的電壓值相關(guān)聯(lián),這樣有效地避免丟失信號(hào)及誤差。
AD N=AD maxN0[2]·l1+AD_maxN1[2]·l2 (9)
式中,AD_N是左或右端獲得的電壓值,AD_maxN0[2]、AD_maxN1[2]是一個(gè)周期中該端傳感器0、1電壓的最大值和次大值的平均值;l1、l2是傳感器0、1此時(shí)采用的權(quán)值。
數(shù)據(jù)處理部分采用變參數(shù)的PD算法。軟件設(shè)計(jì)初期,僅對(duì)最后送入舵機(jī)的轉(zhuǎn)角采用了PD算法。相比僅簡(jiǎn)單利用壓差計(jì)算轉(zhuǎn)角,在小S彎道處賽車(chē)運(yùn)行更連續(xù)、更加穩(wěn)定。中期進(jìn)行了改進(jìn),增加了前排傳感器的壓差值的PD運(yùn)算,進(jìn)一步提高了賽車(chē)的連續(xù)性。上述兩次PD算法的參數(shù)由前排壓差值及前排和后排的傳感器壓差得到的斜率而確定。
由于直接輸出θ角對(duì)應(yīng)的PWM波進(jìn)行轉(zhuǎn)角控制,需要建立角度與PWM占空比的精確數(shù)學(xué)關(guān)系,在實(shí)際操作中很難實(shí)現(xiàn)。在末期,對(duì)轉(zhuǎn)角引入了增量逐次逼近控制算法。
具體做法是利用取平均值的方法將通過(guò)上述方法所得的6次轉(zhuǎn)角取平均值,同時(shí)利用求得的需要輸出角度與上次輸出角度的差值,引入一個(gè)D環(huán)節(jié),經(jīng)過(guò)計(jì)算后得到的角度作為實(shí)際輸出。經(jīng)過(guò)多次實(shí)驗(yàn)證明,采用這種方法在直道和S彎道時(shí)可以避免頻繁的大角度修正,減小系統(tǒng)過(guò)沖,使行駛更平穩(wěn)。采用逐次逼近和PD算法的方法實(shí)現(xiàn)智能車(chē)轉(zhuǎn)彎控制,降低對(duì)模型精確度的要求,更好地滿(mǎn)足智能車(chē)的容錯(cuò)能力。
系統(tǒng)主程序流程如圖18所示。
結(jié)語(yǔ)
實(shí)驗(yàn)結(jié)果表明,該導(dǎo)航方法滿(mǎn)足競(jìng)賽要求,采用該方法的賽車(chē)在第五屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車(chē)邀請(qǐng)賽上獲得全國(guó)一等獎(jiǎng)。
但該方法中,由于磁傳感器檢測(cè)到的始終是當(dāng)前位置與導(dǎo)航線之間的相對(duì)位置信息,前方路徑信息受局限,所以下一步需要考慮賽車(chē)的前瞻性,進(jìn)一步提升賽車(chē)速度。
評(píng)論