朱敖天
摘要:設(shè)計(jì)了一種根據(jù)電磁信號引導(dǎo)自主循跡行駛的智能車。介紹了根據(jù)電磁感應(yīng)原理檢測道路中的變化磁場強(qiáng)度,實(shí)現(xiàn)小車對位置的確定和對路徑的識別。該設(shè)計(jì)選取32位微控制器MK60為控制芯片,設(shè)計(jì)優(yōu)化硬件電路,尤其保證電磁采集放大電路的可靠穩(wěn)定,單片機(jī)根據(jù)傳感器采集的電磁信號通過A/D轉(zhuǎn)換進(jìn)行分析處理,同時對所得數(shù)據(jù)進(jìn)行軟件濾波,再利用歸一化算法實(shí)現(xiàn)對小車精確的控制,提高了該智能車對不同復(fù)雜程度的賽道的適應(yīng)性。
關(guān)鍵詞:自主循跡;電磁場導(dǎo)航;硬件電路;歸一化算法;軟件濾波
中圖分類號:TP302 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)01-0240-02
Abstract: The design of an intelligent vehicle Based on the electromagnetic signal of self-tracking driving guide. According to the principle of electromagnetic induction, the change of the magnetic field intensity in the road is determined, and the location of the car and the recognition of the path are realized. This design selects 32-bit microcontroller MK60 as the control chip, the hardware circuit design optimization, especially to ensure reliable stable electromagnetic acquisition amplifier circuit, microprogrammed control unit analyzes the electromagnetic signals collected by the sensor through A/D transformation, and the software filter on the data, then using the normalization algorithm to achieve precise control of the car, to improve the adaptability of the smart car on the track with different levels of complexity.
Key words: self-tracking; electromagnetic navigation; hardware circuit; normalization algorithm; software filtering
1 引言
在如今的汽車行業(yè)中,電子技術(shù)的應(yīng)用程度已成為衡量汽車技術(shù)水平的重要標(biāo)志之一,這也促進(jìn)了自動循跡智能車技術(shù)的不斷發(fā)展[1],智能車輛已經(jīng)廣泛應(yīng)用于多個領(lǐng)域,成為世界車輛工程領(lǐng)域研究的熱點(diǎn)和汽車工業(yè)增長的新動力,許多的發(fā)達(dá)國家都將其納入到各自重點(diǎn)發(fā)展的智能交通系統(tǒng)當(dāng)中[2]。
本文以全國智能車競賽為背景。在智能車競賽中,電磁組的智能車采用電磁場檢測方式識別道路中央的引導(dǎo)線,控制其行駛方向。相比于其他組別的導(dǎo)航方式,使用磁場信號具有很好的環(huán)境適應(yīng)性,在電磁屏蔽系統(tǒng)的保護(hù)下,電磁導(dǎo)航的智能車對外界環(huán)境的適應(yīng)能力遠(yuǎn)遠(yuǎn)強(qiáng)于光線類的導(dǎo)航車 [3]。因此對采集到的信號的處理成了小車提速的關(guān)鍵。本智能車設(shè)計(jì),通過硬件的優(yōu)化和軟件處理,歸一化算法實(shí)現(xiàn)智能車的運(yùn)動軌跡精確控制。
2 電路設(shè)計(jì)
2.1 小車主控電路總體設(shè)計(jì)原理圖
系統(tǒng)整體結(jié)構(gòu)如圖1所示,智能車的硬件電路由單片機(jī)最小系統(tǒng),電源電路,編碼器速度檢測電路,電磁信號采集與放大檢波電路,電機(jī)驅(qū)動電路和調(diào)試用的OLED與按鍵等人機(jī)交互電路組成。在設(shè)計(jì)時我們將大電流驅(qū)動電路與小電流的主控及傳感器電路分開制作腐蝕電路板,并用相應(yīng)的隔離芯片將其隔開,減輕兩者之間的互相干擾,并實(shí)現(xiàn)物理上和電氣上的隔離。因?yàn)殡姶沤M的信號為模擬電路,抗干擾能力較弱。所以將電磁信號放大等模擬電路與單片機(jī)最小系統(tǒng)電路之間盡量布置的相對較遠(yuǎn),地線采用單點(diǎn)接地,并用零歐電阻互相隔開,以實(shí)現(xiàn)較強(qiáng)的電磁兼容[4]。上述措施可以防止電磁干擾,顯著的提高電路的穩(wěn)定性。
2.2 電磁信號放大檢波電路
電磁傳感器能夠?qū)惖乐虚g通電導(dǎo)線產(chǎn)生的變化的磁場信號做出靈敏的檢測,單片機(jī)通過對獲取的磁場信號處理,提取道路特征,從而控制智能車的轉(zhuǎn)向[5]。根據(jù)LC諧振的原理,選取10mH的電感和6.8nF電容作為LC諧振電路,產(chǎn)生感應(yīng)電流,再通過濾波、放大和檢波,然后將電路處理的模擬信號送入單片機(jī)進(jìn)行相應(yīng)的處理,以判斷賽道當(dāng)前位置信息。如圖2所示。
3 控制算法設(shè)計(jì)
3.1 路徑識別算法方案分析及選定
智能車的路徑識別算法的設(shè)計(jì)是智能車軟件部分最為核心的模塊,智能車整體硬件設(shè)計(jì)和搭建會根據(jù)核心路徑算法的不同而進(jìn)行相應(yīng)的調(diào)整。軟硬件相互調(diào)整,以尋找最為合適的軟硬件方案。經(jīng)過分析,利用電感采集磁場信號一般有兩種不同的方法[6]:
1) 數(shù)字型尋線算法。使用多個水平放置的10mH工字電感,將整個賽道劃分為多個區(qū)域,獲得感應(yīng)電動勢最大的電感所處的位置是最靠近賽道中間電磁導(dǎo)線,從而可以判斷智能車在賽道所處的位置。數(shù)字型尋線方式算法簡單,代碼易于實(shí)現(xiàn)。缺點(diǎn)是采集的賽道信息是離散的點(diǎn),當(dāng)智能車處于高速運(yùn)行時,賽道精度丟失,可能加大賽道信息處理的誤差,產(chǎn)生丟線等嚴(yán)重錯誤;且要用到多個電感,會加重車頭重量,增大小車的轉(zhuǎn)動慣量,造成小車在高速行駛時發(fā)生甩尾;此外當(dāng)“一”字排布的多個電感離得太近時,相鄰電感會產(chǎn)生互感作用,影響磁場信號的正常采集。endprint
2) 模擬型尋線算法。使用數(shù)量很少的工字電感,電感在磁場中產(chǎn)生的感應(yīng)電動勢的模擬量進(jìn)行處理,利用單片機(jī)MCU里的ADC功能可以完成小車的位置解算。該方法位置定位準(zhǔn)確,且使用了較少的電感傳感器,采集數(shù)據(jù)量較少。同時我們可以在軟件中處理位置對稱電感的不匹配電感量存在較小差距的問題。
最終選擇了方案二,即模擬型尋線算法。我們選用了兩個水平電感和兩個八字的電感,分別執(zhí)行不同的磁場采集功能,采集更多方向的信息。兩個水平電感用于計(jì)算小車偏離中線的位置[7]。兩個八字電感對出入彎處磁場比較敏感,可以提前檢測出入彎道,改善小車出入彎姿態(tài),運(yùn)行更加平滑。
我們利用左右對稱電感的感應(yīng)電動勢量差和比值來解算車體相對于導(dǎo)線偏離的距離。這種方法代碼簡單易于實(shí)現(xiàn),且對單片機(jī)的運(yùn)算處理數(shù)據(jù)的負(fù)擔(dān)較小。但利用差和比處理偏差數(shù)據(jù),當(dāng)偏差過大時,計(jì)算的偏差存在一定的誤差,但是經(jīng)過軟件進(jìn)行偏差的彌補(bǔ),基本滿足偏差的線性要求,所以選用此方案。
3.2 歸一化算法
3.2.1 歸一化原理公式
數(shù)據(jù)標(biāo)準(zhǔn)化(歸一化)處理是一種無量綱的處理手段,不同指標(biāo)往往具有不同的量綱和量綱單位,這樣的情況會影響到數(shù)據(jù)分析的結(jié)果,我們需要進(jìn)行數(shù)據(jù)歸一化處理,消除數(shù)據(jù)間的量綱影響。原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級,適合進(jìn)行綜合對比處理[8]。
線性函數(shù)的轉(zhuǎn)換如下:
其中 max 為樣本數(shù)據(jù)的最大值,min 為樣本數(shù)據(jù)的最小值。x 為歸一化前的值,y 為歸一化后的值。 本文中使用到的為式 1 的歸一化方法。運(yùn)用此公式需要注意的問題是:函數(shù)必須是線性的,最大值 max 與最小值 min 必須是在車子位于一側(cè)賽道的某處時,一個電感正好位于賽道中間引導(dǎo)線的正上方取得的,即電感的擺放必須要盡可能對稱。
3.2.2 歸一化硬件設(shè)計(jì)方案
首先,為了獲得穩(wěn)定可靠的信號就必須有穩(wěn)定的車身結(jié)構(gòu),本文介紹的歸一化算法必須要在車身結(jié)構(gòu)對稱的情況下使用才能得到正確的效果。在小車的機(jī)械設(shè)計(jì)中還需要注意的是盡量降低車身重心。利用三角形支架來確保車身的穩(wěn)定性。以此來獲得穩(wěn)定的信號。
在穩(wěn)定的車身結(jié)構(gòu)下,我們可以得到可靠的信號,我選用INA2128作為放大電路的芯片。
根據(jù)前面所說的歸一化算法的原理,選用的芯片的放大特性必須為線性的。INA2128 的放大倍數(shù):G=1+50kΩ/RG,該芯片經(jīng)過激光矯正具有很高的精度和很小的溫度系數(shù)。
3.2.3 歸一化軟件算法
由于電流變化引起的信號變化是線性的,所以使用歸一化算法可以消除電流變化引起的干擾。在獲得了穩(wěn)定的信號之后使用歸一化算法,將大大提高智能車對賽道的適應(yīng)性。智能車通過賽前的歸一化可以獲得理想的數(shù)據(jù)。
當(dāng)電感垂直位于電磁線正上方時,此時通過電感的磁通量最大,電感的電壓也是最大值。我們將式 1 的公式簡化為 y=x/max;其中 x為單片機(jī)獲得的實(shí)際的電壓值,max 為掃到的電壓的最大值。在這個地方我們近似認(rèn)為對稱的品質(zhì)相同的電感在同一位置獲得其最大值和最小值相同,并認(rèn)為其最小值為0。
歸一化算法在程序上的實(shí)現(xiàn)是較為簡單的,但是卻有很多值得注意的地方。比如說應(yīng)該將數(shù)據(jù)歸一到多大的范圍[9]。如何最快最準(zhǔn)的獲得電感電壓的最大值。在不需要?dú)w一時我們可以用撥碼來控制是否進(jìn)行歸一化,并且可以用其控制將數(shù)據(jù)寫到 flash 中,以此來方便我們調(diào)試。
4 軟件濾波
電磁傳感器在采集電磁信號的過程中,由于電路設(shè)計(jì)或者其他原因會產(chǎn)生采集數(shù)據(jù)的波動,使得采集數(shù)據(jù)產(chǎn)生誤差。因此有必要進(jìn)行軟件濾波處理,去除或者減小噪點(diǎn)對正確數(shù)據(jù)的影響 [10]。在這里選擇“加權(quán)遞推平均濾波法”,建立一個隊(duì)列的長度為N循環(huán)隊(duì)列,每次采樣到一個新數(shù)據(jù)放入隊(duì)尾,當(dāng)隊(duì)列滿后對首位數(shù)據(jù)出隊(duì)(即始終保持隊(duì)列中的N個數(shù)據(jù)為最新)。越接近隊(duì)尾的數(shù)據(jù)也是越新的數(shù)據(jù),其權(quán)值也取得越大。把隊(duì)列中N個數(shù)據(jù)進(jìn)行加權(quán)平均運(yùn)算,就可獲得新的濾波結(jié)果。該方法的特點(diǎn)是給予新采樣值的權(quán)系數(shù)越大,則信號靈敏度越高,越能代表當(dāng)前采集的信號真實(shí)情況,但其平滑度就會變差。優(yōu)點(diǎn)是適合采樣周期較短的系統(tǒng),改變權(quán)重即可調(diào)整靈敏度[11]。因此后期的智能車的軟件調(diào)試,需要根據(jù)車的運(yùn)行軌跡,不斷修改采樣值的權(quán)系數(shù),尋找合適的參數(shù),既能保證出入彎道平穩(wěn),又能保證車行駛在直道時不出現(xiàn)抖動情況。
該濾波器采集某一通道數(shù)據(jù) N 次,然后進(jìn)行濾波計(jì)算,流程圖如圖4所示。代碼如圖5所示。
5 結(jié)論
綜合以上的設(shè)計(jì)說明,歸一化算法在智能車設(shè)計(jì)中的應(yīng)用是絕對可行的,尤其是對于電磁四輪組比賽,應(yīng)用歸一化算法可以應(yīng)對賽道中電流的變化,使智能車的適應(yīng)性增強(qiáng)。經(jīng)過機(jī)械結(jié)構(gòu)的優(yōu)化,選用精密,線性的放大芯片,解決了信號對稱的問題。并且充分利用的單片機(jī)的功能,以減輕平時調(diào)試時的工作量。經(jīng)過如此處理的賽道信號非常穩(wěn)定,并且經(jīng)過各種軟件濾波處理噪聲后,可以保證智能車在賽道信號提取這一過程中足夠可靠。為智能車達(dá)到更快的速度奠定基礎(chǔ)。
參考文獻(xiàn):
[1] 林濤,馬騰煒,陳亞勛,等.基于MCU的自動尋跡智能車控制系統(tǒng)的設(shè)計(jì)[J].自動化與儀表,2012,27(11):1-4.
[2] 李涵武,崔宏耀,張娜偉,等.基于電磁場檢測的智能尋跡模型車設(shè)計(jì)[J].黑龍江工程學(xué)院學(xué)報(bào):自然科學(xué)版,2011,25(02):23-25.
[3] 卓晴,黃開勝,邵貝貝.學(xué)做智能車[M]. 北京:北航出版社,2007.3
[4] 薛程顥,陳云輝,陰志國.基于磁場檢測的尋線小車傳感器設(shè)計(jì)研究[J].現(xiàn)代商貿(mào)工業(yè),2010,22(16):337.
[5] 《第七屆“飛思卡爾”智能車競賽電磁組直立行車參考方案》,競賽秘書處
[6] 李仕伯,馬旭,卓晴.基于磁場檢測的尋線小車傳感器布局研究[J].電子產(chǎn)品世界,2009,16(12):41-44.
[7] 劉萍,魏瀅,繆斌.電磁組智能車控制策略探討及實(shí)現(xiàn)[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2016,29(02):19-24.
[8] 王靜,金建,陳凱,施小東.基于歸一化算法智能車的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2015,11(08):72-77.
[9] 林生生,孟澤民.一種基于電磁傳感器的智能車循線算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(03):119-122.
[10] .淺析軟件濾波在自動控制中的應(yīng)用[J].電力電子,2007,(03):38-40.
[11] 彭巧君,任勇峰,王強(qiáng),等.基于FPGA的軟件濾波算法設(shè)計(jì)及實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2014,14(03):166-169+174.endprint