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