基于三次函數(shù)的電磁導(dǎo)航智能小車設(shè)計
摘要:為了實(shí)現(xiàn)智能小車穩(wěn)定快速的自動尋線,采用了“五橫二豎加八字”排列的電磁線圈,能識別各種復(fù)雜的賽道。通過三次函數(shù)算法求出偏差,并采用差速電機(jī)算法處理彎道,實(shí)現(xiàn)了電磁導(dǎo)航的功能。實(shí)踐證明,該系統(tǒng)能精準(zhǔn)地控制智能小車穩(wěn)定快速地運(yùn)行,且達(dá)到了預(yù)期效果。航
智能小車尋線道路設(shè)計要求是:在中間鋪設(shè)了一條直徑為0.5 mm的銅質(zhì)漆包線,漆包線中有頻率范圍為20±2 kHz、電流范圍為50~150 mA的正弦波信號。隨著智能小車的發(fā)展,需適應(yīng)更加復(fù)雜的賽道,例如直角彎、坡道、障礙等。文中設(shè)計的智能小車,是基于Kinetis K60單片機(jī)開發(fā)實(shí)現(xiàn)的,以電磁線圈作為感應(yīng)傳感器,采用偏差算法控制小車精準(zhǔn)的尋線功能,從而實(shí)現(xiàn)智能小車智能快速穩(wěn)定的尋線行駛。
1 硬件總體設(shè)計
智能小車系統(tǒng)由Kinetis K60主控模塊、傳感器模塊、舵機(jī)控制模塊、電機(jī)驅(qū)動模塊、OLED顯示模塊、撥碼開關(guān)模塊、編碼器測速模塊、停車檢測模塊、障礙檢測模塊這9個部分構(gòu)成。系統(tǒng)總體框架如圖1所示。
除了以上9部分外還有電源模塊,整個智能小車由7.2 V鎳鎘電池供電,其中由LM1117穩(wěn)壓芯片輸出3.3 V為主控芯片K60、撥碼開關(guān)模塊、停車檢測模塊、OLED顯示模塊提供電源。由一塊LM2940穩(wěn)壓芯片得到5 V電壓單獨(dú)供給傳感器模塊,另一塊LM2940穩(wěn)壓芯片得到5V電壓分別供給藍(lán)牙調(diào)試模塊、障礙檢測模塊、編碼器測速模塊和電機(jī)驅(qū)動模塊,此外,通過試驗(yàn)可發(fā)現(xiàn),S3010 Futaba舵機(jī)可直接加7.2 V電壓,此時舵機(jī)的響應(yīng)速度也會提高,所以可直接將電池電壓作為舵機(jī)的電源。舵機(jī)控制模塊和直流電機(jī)均用7.2 V電壓驅(qū)動。
電磁線圈采集到的交變電壓信號經(jīng)雙運(yùn)算放大器MAX4451放大后,通過二極管的二倍壓檢波電路將交變的電壓信號檢波形成直流信號,然后再通過單片機(jī)的A/D轉(zhuǎn)換電路進(jìn)行采集,獲得正比于感應(yīng)電壓幅值的數(shù)值。
智能小車是以雙電機(jī)方式工作,故采用4塊BTS7971作為驅(qū)動芯片。BTS7971由一個p溝道的高邊MOSFET和一個n溝道的低邊MOSFET結(jié)合一個集成的驅(qū)動IC,形成能經(jīng)受大電流通過的H橋的半邊。因此4個BTS7971便能進(jìn)行連接構(gòu)成兩個H全橋,進(jìn)而實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)。此外,使用 74HC244N三態(tài)八緩沖器隔離電機(jī)驅(qū)動模塊,可防止電機(jī)轉(zhuǎn)動產(chǎn)生的干擾信號灌入主控芯片而致?lián)p壞。
采用常開型塑封干簧管作為檢測元件。在道路的起點(diǎn)和終點(diǎn)處埋有永久磁鐵,當(dāng)小車經(jīng)過磁鐵時,干簧管閉合,進(jìn)而將這種信號傳遞給CPU,實(shí)現(xiàn)停車功能。將兩個接近開關(guān)分別安裝在小車兩邊對障礙進(jìn)行檢測。正常情況下,兩個接近開關(guān)處于關(guān)閉狀態(tài)0。通過調(diào)整好接近開關(guān)的檢測距離,當(dāng)?shù)缆纺骋贿叺恼系K物進(jìn)入接近開關(guān)的檢測范圍后,接近開關(guān)一直保持導(dǎo)通狀態(tài)1,將這種信號的0和1變化傳遞到CPU,即可實(shí)現(xiàn)小車的障礙檢測功能。
2 智能小車電磁尋線
2.1 傳感器布置結(jié)構(gòu)
采用“五橫二豎加八字”排列的電磁線圈,如圖2所示。此結(jié)構(gòu)能使小車在直道、直角彎、S彎、十字彎,坡道上自主穩(wěn)定地尋線行駛,具有抗干擾性強(qiáng)、穩(wěn)定性高、機(jī)械強(qiáng)度高等特點(diǎn)。在高速運(yùn)行的情況下仍能保持穩(wěn)定的導(dǎo)航功能。
2.2 三次函數(shù)算法
在使用三次函數(shù)算法前應(yīng)先進(jìn)行預(yù)處理,以便快速利用三次函數(shù)求出偏差。預(yù)處理包括采樣,求平均值,數(shù)據(jù)排序和歸一化處理。由于不同道路的磁場強(qiáng)度會有所不同,先采樣可獲得道路磁場強(qiáng)度的最大值和最小值,這樣智能小車對于不同道路的適用裕度會更寬,在實(shí)際投入生產(chǎn)和使用中有重要作用。三次函數(shù)算法的處理流程,如圖3所示。
每個電磁線圈采集5次磁感應(yīng)電壓后,通過去除其最大值和最小值求出平均值;這樣起到了軟件濾波的作用,減小了偶然誤差。連續(xù)取5個平均值按時間先后進(jìn)行排序并儲存在二維數(shù)組ad3[i][5]里面,使得數(shù)據(jù)不斷地更新,以便求出其加權(quán)平均值,減小系統(tǒng)誤差。
求排序后平均值的加權(quán)平均值,取得與最后一次采集到最接近的磁感應(yīng)電壓值,再將每一個電磁線圈的加權(quán)平均值儲存在數(shù)組ad4[i]中;將ad4[i]逐個與ad max[i]和ad min[i]比較:當(dāng)ad4[i]>ad max[i],貝ad[5]=1.0;當(dāng)ad4[i]<ad min[i]時,則 ad5[i];當(dāng)ad min[i]<ad max[i]時,采用歸一化后,=,進(jìn)而實(shí)現(xiàn)磁感應(yīng)電壓值的歸一化。歸一化可簡化三次函數(shù)算法,另外歸一化后的值可供調(diào)試過程中便于觀察電磁感應(yīng)量變化的相對大小。
采用三次函數(shù)算法和固定斜率變化融合方法。在一定范圍內(nèi),三次函數(shù)計算的偏差較精確,一旦超過該范圍,則融合“一”字電感的變化,盡量使偏差的變化線性化。采用這種方法的優(yōu)點(diǎn)是在進(jìn)行各種彎道的判斷、處理,尤其是對直角的處理,能做到穩(wěn)定、準(zhǔn)確、快速地使系統(tǒng)做出判斷。各電磁線圈偏移賽道中心線的距離z 和歸一化后的磁感應(yīng)電壓值ad5[i]的關(guān)系如圖4所示。
假設(shè)曲線的三次函數(shù)為
y=ax3+bx2+cx+d (1)
式(1)中y=ad5[i],x為電磁線圈偏移賽道中心線的距離,取圖2中傳感器1、4、6、9的ad5[i]作為y值;此時x分別為-12,-6,6和12,由此可解出a,b,c,d值。
對式(1)三次函數(shù)求導(dǎo)后為
y’=3ax2+2bx+c (2)
將上述程序中求得的a,b,c,d值代入式(2)即可得到偏差x。
上述理論計算得出的偏差與實(shí)際的偏差總會因?yàn)闄C(jī)械等原因存在一定的誤差,為了減小該誤差,加入了偏差曲線擬合環(huán)節(jié)。再通過對偏差擬合進(jìn)行補(bǔ)償,使得曲線擬合得到改進(jìn)。這樣大幅減小了偏差,最大限度地提高了擬合的精度。將小車實(shí)際的偏差x和理論計算得出的偏差y,使用Matlab曲線擬合工具箱做曲線擬合便可得到相應(yīng)的曲線擬合方程。偏差擬合曲線曲線擬合情況如圖5所示。
3 智能小車速度控制
3.1 增量式PID控制
上述曲線擬合補(bǔ)償出的偏差又實(shí)時快速地變化著,正可用于小車速度的控制。小車系統(tǒng)采用增量式PID控制算法,其結(jié)構(gòu)簡單,具有高適應(yīng)性、易調(diào)整參數(shù)性,對于控制模型不準(zhǔn)確、參數(shù)變化大的控制對象,此方法可得到滿意的結(jié)果。因其輸出每次只有控制變量,可通過簡單的邏輯判斷來降低故障的輸出,以避免了系統(tǒng)故障的發(fā)生。其控制方法如下
3.2 差速電機(jī)算法
為使智能小車在過彎道時的路線更佳、速度更快、平穩(wěn)性更高,小車在上述增量式PID控制算法中加入了差速電機(jī)算法,即采用閉環(huán)有差反饋式調(diào)節(jié)系統(tǒng)實(shí)現(xiàn)小車的差速策略。為達(dá)到差速電機(jī)的目的,將小車差速電機(jī)的數(shù)學(xué)模型搭建如圖6所示。
假設(shè)V1為左電機(jī)速度;V2為右電機(jī)速度;R為彎道半徑;L為前后輪的間距,最優(yōu)路徑的轉(zhuǎn)向角為αu,則小車的平均速度為
這樣便可根據(jù)實(shí)際情況需要,來調(diào)整預(yù)設(shè)的期望速度大小。編碼器通過采樣電機(jī)轉(zhuǎn)過的齒輪數(shù)轉(zhuǎn)化成電信號,即可當(dāng)做單片機(jī)脈沖的觸發(fā)信號,單片機(jī)通過對脈沖計數(shù)就可得到轉(zhuǎn)速的具體數(shù)值,再將該轉(zhuǎn)速減去期望轉(zhuǎn)速,然后乘以對應(yīng)系數(shù),得出脈沖寬度調(diào)制的占空比。根據(jù)上述三次函數(shù)擬合出的偏差大小,單片機(jī)就可用增大或減小占空比反饋的方法實(shí)現(xiàn)對電機(jī)的加減速控制,從而實(shí)現(xiàn)電機(jī)的差速運(yùn)行。
4 結(jié)束語
介紹了一種智能小車在磁導(dǎo)航過程中磁感應(yīng)信號的處理方法,采用了“五橫二豎加八字”排列的電磁線圈,通過三次函數(shù)算法算出小車相對路徑中心的偏差,輔之以差速電機(jī)算法,在高速運(yùn)行的情況下仍能保持平穩(wěn)精確的運(yùn)行狀態(tài)。測試表明,該算法具有良好的實(shí)時跟蹤性和準(zhǔn)確性。