基于三次函數的電磁導航智能小車(chē)設計
摘要:為了實(shí)現智能小車(chē)穩定快速的自動(dòng)尋線(xiàn),采用了“五橫二豎加八字”排列的電磁線(xiàn)圈,能識別各種復雜的賽道。通過(guò)三次函數算法求出偏差,并采用差速電機算法處理彎道,實(shí)現了電磁導航的功能。實(shí)踐證明,該系統能精準地控制智能小車(chē)穩定快速地運行,且達到了預期效果。航
本文引用地址:http://dyxdggzs.com/article/201610/307268.htm智能小車(chē)尋線(xiàn)道路設計要求是:在中間鋪設了一條直徑為0.5 mm的銅質(zhì)漆包線(xiàn),漆包線(xiàn)中有頻率范圍為20±2 kHz、電流范圍為50~150 mA的正弦波信號。隨著(zhù)智能小車(chē)的發(fā)展,需適應更加復雜的賽道,例如直角彎、坡道、障礙等。文中設計的智能小車(chē),是基于Kinetis K60單片機開(kāi)發(fā)實(shí)現的,以電磁線(xiàn)圈作為感應傳感器,采用偏差算法控制小車(chē)精準的尋線(xiàn)功能,從而實(shí)現智能小車(chē)智能快速穩定的尋線(xiàn)行駛。
1 硬件總體設計
智能小車(chē)系統由Kinetis K60主控模塊、傳感器模塊、舵機控制模塊、電機驅動(dòng)模塊、OLED顯示模塊、撥碼開(kāi)關(guān)模塊、編碼器測速模塊、停車(chē)檢測模塊、障礙檢測模塊這9個(gè)部分構成。系統總體框架如圖1所示。

除了以上9部分外還有電源模塊,整個(gè)智能小車(chē)由7.2 V鎳鎘電池供電,其中由LM1117穩壓芯片輸出3.3 V為主控芯片K60、撥碼開(kāi)關(guān)模塊、停車(chē)檢測模塊、OLED顯示模塊提供電源。由一塊LM2940穩壓芯片得到5 V電壓?jiǎn)为毠┙o傳感器模塊,另一塊LM2940穩壓芯片得到5V電壓分別供給藍牙調試模塊、障礙檢測模塊、編碼器測速模塊和電機驅動(dòng)模塊,此外,通過(guò)試驗可發(fā)現,S3010 Futaba舵機可直接加7.2 V電壓,此時(shí)舵機的響應速度也會(huì )提高,所以可直接將電池電壓作為舵機的電源。舵機控制模塊和直流電機均用7.2 V電壓驅動(dòng)。
電磁線(xiàn)圈采集到的交變電壓信號經(jīng)雙運算放大器MAX4451放大后,通過(guò)二極管的二倍壓檢波電路將交變的電壓信號檢波形成直流信號,然后再通過(guò)單片機的A/D轉換電路進(jìn)行采集,獲得正比于感應電壓幅值的數值。
智能小車(chē)是以雙電機方式工作,故采用4塊BTS7971作為驅動(dòng)芯片。BTS7971由一個(gè)p溝道的高邊MOSFET和一個(gè)n溝道的低邊MOSFET結合一個(gè)集成的驅動(dòng)IC,形成能經(jīng)受大電流通過(guò)的H橋的半邊。因此4個(gè)BTS7971便能進(jìn)行連接構成兩個(gè)H全橋,進(jìn)而實(shí)現電機的正反轉。此外,使用 74HC244N三態(tài)八緩沖器隔離電機驅動(dòng)模塊,可防止電機轉動(dòng)產(chǎn)生的干擾信號灌入主控芯片而致?lián)p壞。
采用常開(kāi)型塑封干簧管作為檢測元件。在道路的起點(diǎn)和終點(diǎn)處埋有永久磁鐵,當小車(chē)經(jīng)過(guò)磁鐵時(shí),干簧管閉合,進(jìn)而將這種信號傳遞給CPU,實(shí)現停車(chē)功能。將兩個(gè)接近開(kāi)關(guān)分別安裝在小車(chē)兩邊對障礙進(jìn)行檢測。正常情況下,兩個(gè)接近開(kāi)關(guān)處于關(guān)閉狀態(tài)0。通過(guò)調整好接近開(kāi)關(guān)的檢測距離,當道路某一邊的障礙物進(jìn)入接近開(kāi)關(guān)的檢測范圍后,接近開(kāi)關(guān)一直保持導通狀態(tài)1,將這種信號的0和1變化傳遞到CPU,即可實(shí)現小車(chē)的障礙檢測功能。
2 智能小車(chē)電磁尋線(xiàn)
2.1 傳感器布置結構
采用“五橫二豎加八字”排列的電磁線(xiàn)圈,如圖2所示。此結構能使小車(chē)在直道、直角彎、S彎、十字彎,坡道上自主穩定地尋線(xiàn)行駛,具有抗干擾性強、穩定性高、機械強度高等特點(diǎn)。在高速運行的情況下仍能保持穩定的導航功能。

2.2 三次函數算法
在使用三次函數算法前應先進(jìn)行預處理,以便快速利用三次函數求出偏差。預處理包括采樣,求平均值,數據排序和歸一化處理。由于不同道路的磁場(chǎng)強度會(huì )有所不同,先采樣可獲得道路磁場(chǎng)強度的最大值和最小值,這樣智能小車(chē)對于不同道路的適用裕度會(huì )更寬,在實(shí)際投入生產(chǎn)和使用中有重要作用。三次函數算法的處理流程,如圖3所示。

每個(gè)電磁線(xiàn)圈采集5次磁感應電壓后,通過(guò)去除其最大值和最小值求出平均值;這樣起到了軟件濾波的作用,減小了偶然誤差。連續取5個(gè)平均值按時(shí)間先后進(jìn)行排序并儲存在二維數組ad3[i][5]里面,使得數據不斷地更新,以便求出其加權平均值,減小系統誤差。
求排序后平均值的加權平均值,取得與最后一次采集到最接近的磁感應電壓值,再將每一個(gè)電磁線(xiàn)圈的加權平均值儲存在數組ad4[i]中;將ad4[i]逐個(gè)與ad max[i]和ad min[i]比較:當ad4[i]>ad max[i],貝ad[5]=1.0;當ad4[i]ad min[i]時(shí),則 ad5[i];當ad min[i]ad max[i]時(shí),采用歸一化后,=
,進(jìn)而實(shí)現磁感應電壓值的歸一化。歸一化可簡(jiǎn)化三次函數算法,另外歸一化后的值可供調試過(guò)程中便于觀(guān)察電磁感應量變化的相對大小。
采用三次函數算法和固定斜率變化融合方法。在一定范圍內,三次函數計算的偏差較精確,一旦超過(guò)該范圍,則融合“一”字電感的變化,盡量使偏差的變化線(xiàn)性化。采用這種方法的優(yōu)點(diǎn)是在進(jìn)行各種彎道的判斷、處理,尤其是對直角的處理,能做到穩定、準確、快速地使系統做出判斷。各電磁線(xiàn)圈偏移賽道中心線(xiàn)的距離z 和歸一化后的磁感應電壓值ad5[i]的關(guān)系如圖4所示。

假設曲線(xiàn)的三次函數為
y=ax3+bx2+cx+d (1)
式(1)中y=ad5[i],x為電磁線(xiàn)圈偏移賽道中心線(xiàn)的距離,取圖2中傳感器1、4、6、9的ad5[i]作為y值;此時(shí)x分別為-12,-6,6和12,由此可解出a,b,c,d值。
對式(1)三次函數求導后為
y’=3ax2+2bx+c (2)
將上述程序中求得的a,b,c,d值代入式(2)即可得到偏差x。
上述理論計算得出的偏差與實(shí)際的偏差總會(huì )因為機械等原因存在一定的誤差,為了減小該誤差,加入了偏差曲線(xiàn)擬合環(huán)節。再通過(guò)對偏差擬合進(jìn)行補償,使得曲線(xiàn)擬合得到改進(jìn)。這樣大幅減小了偏差,最大限度地提高了擬合的精度。將小車(chē)實(shí)際的偏差x和理論計算得出的偏差y,使用Matlab曲線(xiàn)擬合工具箱做曲線(xiàn)擬合便可得到相應的曲線(xiàn)擬合方程。偏差擬合曲線(xiàn)曲線(xiàn)擬合情況如圖5所示。

3 智能小車(chē)速度控制
3.1 增量式PID控制
上述曲線(xiàn)擬合補償出的偏差又實(shí)時(shí)快速地變化著(zhù),正可用于小車(chē)速度的控制。小車(chē)系統采用增量式PID控制算法,其結構簡(jiǎn)單,具有高適應性、易調整參數性,對于控制模型不準確、參數變化大的控制對象,此方法可得到滿(mǎn)意的結果。因其輸出每次只有控制變量,可通過(guò)簡(jiǎn)單的邏輯判斷來(lái)降低故障的輸出,以避免了系統故障的發(fā)生。其控制方法如下

3.2 差速電機算法
為使智能小車(chē)在過(guò)彎道時(shí)的路線(xiàn)更佳、速度更快、平穩性更高,小車(chē)在上述增量式PID控制算法中加入了差速電機算法,即采用閉環(huán)有差反饋式調節系統實(shí)現小車(chē)的差速策略。為達到差速電機的目的,將小車(chē)差速電機的數學(xué)模型搭建如圖6所示。

假設V1為左電機速度;V2為右電機速度;R為彎道半徑;L為前后輪的間距,最優(yōu)路徑的轉向角為αu,則小車(chē)的平均速度為

這樣便可根據實(shí)際情況需要,來(lái)調整預設的期望速度大小。編碼器通過(guò)采樣電機轉過(guò)的齒輪數轉化成電信號,即可當做單片機脈沖的觸發(fā)信號,單片機通過(guò)對脈沖計數就可得到轉速的具體數值,再將該轉速減去期望轉速,然后乘以對應系數,得出脈沖寬度調制的占空比。根據上述三次函數擬合出的偏差大小,單片機就可用增大或減小占空比反饋的方法實(shí)現對電機的加減速控制,從而實(shí)現電機的差速運行。
4 結束語(yǔ)
介紹了一種智能小車(chē)在磁導航過(guò)程中磁感應信號的處理方法,采用了“五橫二豎加八字”排列的電磁線(xiàn)圈,通過(guò)三次函數算法算出小車(chē)相對路徑中心的偏差,輔之以差速電機算法,在高速運行的情況下仍能保持平穩精確的運行狀態(tài)。測試表明,該算法具有良好的實(shí)時(shí)跟蹤性和準確性。
評論