緱新科,王能才,李冬冬
(蘭州理工大學(xué) 電氣工程與信息工程學(xué)院,甘肅 蘭州 730050)
電磁導(dǎo)航智能車輛,是一個集環(huán)境感知、信息處理和速度控制等功能于一體的綜合系統(tǒng),它集中運(yùn)用了計(jì)算機(jī)、現(xiàn)代傳感器、信息融合、通信及自動控制等技術(shù),具有道路障礙自動識別、自動控制、自動保持安全距離和車速以及巡航控制等功能。以往的電磁導(dǎo)航智能車程序調(diào)試都采用BDM調(diào)試器有線調(diào)試,且智能車在行駛時導(dǎo)航線與車體的相對位置不能實(shí)時顯示出來,智能車很難根據(jù)采集的路況信息進(jìn)行速度分配,不便于尋找速度給定的最優(yōu)解。本文設(shè)計(jì)了基于藍(lán)牙傳輸?shù)男盘枡z測系統(tǒng),可以通過LabVIEW編程實(shí)現(xiàn)PC與單片機(jī)無線通信,避免了程序調(diào)試員每改變一次參數(shù)都要進(jìn)行智能車與PC的有線連接,減少了參數(shù)整定的工作量,并可以將電磁傳感器采集的信息實(shí)時顯示出來,為路徑磁場信號的檢測與智能車速度的給定提出了一種更加便捷的方法。
基于藍(lán)牙傳輸?shù)闹悄苘囆盘枡z測系統(tǒng)由下位機(jī)系統(tǒng)和上位機(jī)系統(tǒng)構(gòu)成,系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
圖1的上半部分是系統(tǒng)的下位機(jī)結(jié)構(gòu)框圖,整個硬件系統(tǒng)使用模塊化的設(shè)計(jì)思想。下位機(jī)系統(tǒng)以Freescale公司的MC9S12XS128單片機(jī)為核心控制器,系統(tǒng)由電源模塊、電機(jī)驅(qū)動模塊、起跑線檢測模塊、信號檢測模塊、測速模塊、舵機(jī)控制模塊、LED狀態(tài)顯示模塊、藍(lán)牙發(fā)射模塊A和藍(lán)牙接收模塊B 9大模塊構(gòu)成。圖1的下半部分是系統(tǒng)的上位機(jī)結(jié)構(gòu)框圖,也是數(shù)據(jù)的接收、分析、顯示和發(fā)送終端,系統(tǒng)上位機(jī)應(yīng)用LabVIEW 2012虛擬儀器設(shè)計(jì)軟件開發(fā)系統(tǒng)上位機(jī)程序。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
智能車首先通過藍(lán)牙模塊將程序燒寫到單片機(jī)MC9S12XS128中,指導(dǎo)干簧管對起跑線進(jìn)行檢測。當(dāng)小車開始起跑時,電磁傳感器對賽道磁場信號進(jìn)行采集,并將采集的信號經(jīng)選頻、放大、檢波之后送入MC9S12XS128進(jìn)行處理,提取小車和導(dǎo)線的位置關(guān)系后,計(jì)算出小車偏離導(dǎo)線的偏差,使用PID控制算法對舵機(jī)轉(zhuǎn)向進(jìn)行控制。用編碼器反饋回來的脈沖數(shù)檢測小車的速度,通過模糊PID控制與Bang-Bang控制相結(jié)合的控制思路對電機(jī)使用速度控制。在小車行駛過程中,下位機(jī)與上位機(jī)進(jìn)行藍(lán)牙通信,實(shí)現(xiàn)數(shù)據(jù)的無線互傳,并在LabVIEW構(gòu)建的數(shù)據(jù)檢測平臺中顯示和存儲,以及根據(jù)處理的結(jié)果對控制算法中的各參數(shù)進(jìn)行實(shí)時調(diào)試。
根據(jù)麥克斯韋電磁場理論,交變電流會在其周圍產(chǎn)生交變的電磁場,智能車導(dǎo)航的信息源就是賽道中心線位置處通有100 mA交變電流的銅導(dǎo)線,交流電流的頻率是20 kHz,其產(chǎn)生的電磁波的頻率是 20 kHz,波長為15 km。
由畢奧-薩法爾定律知,對于無線長直導(dǎo)線來說,距離導(dǎo)線r處P點(diǎn)的磁感應(yīng)強(qiáng)度為:
根據(jù)法拉第定律,電磁感應(yīng)線圈的內(nèi)部感應(yīng)電壓E與磁場 B(t)、線圈的圈數(shù) N、橫截面積 A的關(guān)系為:
感應(yīng)電動勢的方向可以用楞次定律來確定。
令電磁感應(yīng)線圈中心到銅導(dǎo)線的距離為r,認(rèn)為小范圍內(nèi)磁場分布是均勻的,則電磁感應(yīng)線圈中的感應(yīng)電動勢可近似為:
即電磁感應(yīng)線圈中感應(yīng)電動勢的大小正比于電流的變化率,反比于電磁感應(yīng)線圈中心到銅導(dǎo)線的距離。其中,常量K為與電磁感應(yīng)線圈擺放方法、電磁感應(yīng)線圈面積有關(guān)的一個量,具體感應(yīng)電動勢常量須實(shí)際測定來確定。
由于電感線圈測量范圍廣,理論上只要加上合適的諧振電容和放大電路,不但能夠篩選出特定頻段進(jìn)行放大,而且有較強(qiáng)的抗干擾能力,因此選取工字型電感傳感器。它具有價(jià)格便宜、原理簡單、頻率響應(yīng)快、體積小和電路實(shí)現(xiàn)簡單等特點(diǎn)[2],并且能在100 mA直導(dǎo)線電流旁檢測到峰峰值為40 mV的電壓值,能夠滿足磁場信號檢測的要求。
從檢測原理可以知道,測量磁場核心是檢測線圈的感應(yīng)電動勢的幅值,本設(shè)計(jì)從感應(yīng)線圈、信號選頻放大和檢波3個方面對電路進(jìn)行設(shè)計(jì)。實(shí)際電路原理圖如圖2所示。
圖2 信號調(diào)理電路原理圖
通電銅導(dǎo)線周圍的磁場是一個矢量場,約定智能車前進(jìn)的方向?yàn)閅軸正方向,順著Y軸的右手邊為X軸正方向,Z軸指向小車的正上方,場的分布如圖3所示。
水平線圈是指電感線圈的軸線平行于Z軸,垂直線圈是指電感線圈的軸線平行于X軸,則這兩個線圈可以感應(yīng)磁場向量的兩個垂直分量,進(jìn)而可以獲得磁場的強(qiáng)度與方向。顯然,垂直線圈感應(yīng)的是變化率,水平線圈感應(yīng)的是變化率。
由式(1)可以推出:
其中,電磁感應(yīng)線圈中心軸線距離地面的垂直距離為h,水平距離為 x,則由式(3)可得豎直線圈 E正比于,水平線圈E正比于。為了確定傳感器的布局,需對電感線圈的排布高度進(jìn)行相應(yīng)的分析,分別取h 為 4、6、8、10、12,在 LabVIEW 中調(diào)用 MATLAB 對水平和豎直放置的傳感器采集的感應(yīng)電壓進(jìn)行仿真,得到感應(yīng)電壓E與水平偏移量之間的關(guān)系如圖4、圖5所示。
圖4 豎直線圈E與x的關(guān)系
圖5 水平線圈E與x的關(guān)系
根據(jù)對圖4、圖5分析得出,豎直線圈的感應(yīng)電壓是x的偶函數(shù),在 Y軸兩側(cè)單調(diào),且在 0點(diǎn)處,h越大,感應(yīng)電壓E越?。凰骄€圈的感應(yīng)電壓E是x的奇函數(shù),在Y軸兩側(cè)無單調(diào)關(guān)系;水平線圈適合做x的正負(fù)判斷,豎直線圈適合算x的具體數(shù)值,水平線圈比豎直線圈衰減慢得多,說明水平線圈對遠(yuǎn)處道路狀況比較敏感,可以用來預(yù)測前方的彎道。
根據(jù)電磁感應(yīng)線圈在磁場中的特性可知,豎直線圈可以容易得出智能車與銅導(dǎo)線的相對位置,理論上采用雙垂直線圈就可以判斷出銅導(dǎo)線的位置,然而為了提高檢測的精度,精確地控制小車,可以適當(dāng)增加傳感器的個數(shù)與合理調(diào)試傳感器安放的高度來實(shí)現(xiàn)。檢測發(fā)現(xiàn),電感線圈的排布不能太密,傳感器太多則相互間干擾較大,太少則降低了檢測的精度。初步選定了用4只傳感器來對導(dǎo)線進(jìn)行位置測量,4個垂直線圈平均間隔一字排開,分別是左右各兩個對稱分布。由圖5可知,傳感器安放得越高,感應(yīng)電壓越小,又由于路徑中設(shè)有5 mm高的障礙,智能車在經(jīng)過障礙時會產(chǎn)生抖動,從智能車的穩(wěn)定性考慮,選取6 cm高度時,智能車經(jīng)過障礙路徑時產(chǎn)生的抖動在0.8 mm內(nèi),傳感器所測得的感應(yīng)電壓變化很小,抖動對傳感器正確識別路徑不會產(chǎn)生太大影響,因此,在布置傳感器時選用6 cm的高度。
經(jīng)過實(shí)際車模運(yùn)行時發(fā)現(xiàn),這種布置方案車模從進(jìn)彎道到出彎道,舵機(jī)做了兩次擺角,最后一次擺角是在傳感器出彎9 cm時才做出的,這時,垂直放置傳感器的中心線與導(dǎo)線的夾角為65°,與導(dǎo)線的偏差比較大,若車模以2.5 m/s的速度在小彎道運(yùn)行,很容易沖出賽道,即一旦傳感器轉(zhuǎn)彎出外時,由于信號較弱小車出現(xiàn)亂擺,那么小車將失去控制。分析得出這種布置方案使得智能車的前瞻性太小,導(dǎo)致入彎時速度減得過多,出彎時舵機(jī)的反應(yīng)又太慢,舵機(jī)不能及時偏轉(zhuǎn),不宜采納。
由圖5可知,水平線圈對遠(yuǎn)方路況比較敏感,可以感知路況的變化趨勢,通過對彎道處磁場的分析,在以上傳感器布置方案的兩端再各放置一個水平線圈,用來對彎道進(jìn)行前瞻。經(jīng)實(shí)際車模驗(yàn)證,變更傳感器擺放的方向和角度,可以在原來傳感器位置的基礎(chǔ)上前瞻15 cm~20 cm,如果電感線圈的直徑加大一倍,則可以做到前瞻35 cm,下稱“大前瞻”。盡管放置水平線圈可以增大小車的前瞻性,但隨之也帶來了新的問題,那就是在大前瞻的布局下,智能車在通過十字交叉賽道時出現(xiàn)了嚴(yán)重的抖動,智能車的穩(wěn)定性受到影響。通過對十字交叉路徑處場強(qiáng)分析,得出抖動原因就在于十字交叉點(diǎn)出現(xiàn)了場強(qiáng)疊加,場強(qiáng)的水平分量與豎直分量都增大了很多,使得原場強(qiáng)的大小與方向都發(fā)生了變化,這種抖動對大前瞻來說是一個嚴(yán)重的干擾。雖然經(jīng)過軟件處理之后小車能夠順利通過十字交叉口,但不可避免會有少許抖動。這樣既影響小車的穩(wěn)定性,也使行進(jìn)速度有一定下降,速度過慢,從而大大影響了智能車的平均速度。從智能車的穩(wěn)定性考慮,將兩個水平線圈采用軸線與小車前進(jìn)方向一致的擺法,這樣小車在十字交叉處幾乎不受干擾,但這樣的前瞻在10 cm以內(nèi),前瞻性非常小,滿足不了小車高速運(yùn)行時對彎道的判斷,因此此種布局方案還需進(jìn)一步改進(jìn)。
由于單排傳感器檢測的磁場信息單一,而雙排傳感器檢測的信息很豐富,既可以通過判斷導(dǎo)線的斜率來彌補(bǔ)前瞻的不足,消除抖動,也可以合理利用其采集的信息作轉(zhuǎn)角以及速度控制。最終采用了雙排傳感器布置方案,即在小車前輪前方再增加一組軸線與導(dǎo)線垂直的傳感器,傳感器垂直高度為8 cm,左右各一個對稱排放。
實(shí)際車模運(yùn)行發(fā)現(xiàn),此種方案具有更加精確的位置解算能力,并且利于速度控制。
智能車信號檢測系統(tǒng)選用的藍(lán)牙模塊是HH-W公司的 BT10-04, 單片機(jī)選用 Freescale公司的MC9S12XS128。BT10-04藍(lán)牙模塊采用CSR藍(lán)牙芯片,其為藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn);1位數(shù)據(jù)起始位,8位數(shù)據(jù)位,1位停止位,無檢驗(yàn)位;頻率為 2.4 GHz;內(nèi)置 USB轉(zhuǎn)串口模塊,可以直接與電腦USB連接,數(shù)據(jù)以串行傳輸方式發(fā)送和接收,收發(fā)模塊自動發(fā)送尋求信號進(jìn)行配對鏈接,鏈接成功后主機(jī)和分機(jī)的功能完全相同;配對密碼為1234;RXD與TXD分別為5 V數(shù)據(jù)接收端和數(shù)據(jù)發(fā)送端,可直接與單片機(jī)連接。藍(lán)牙傳輸模塊接口電路如圖6所示。
圖6 藍(lán)牙傳輸模塊接口電路
上位機(jī)與下位機(jī)無線通信的基本過程是:首先打開藍(lán)牙轉(zhuǎn)換開關(guān),選擇藍(lán)牙通信,下位機(jī)通過藍(lán)牙發(fā)射模塊A將傳感器采集的數(shù)據(jù)進(jìn)行發(fā)送,上位機(jī)藍(lán)牙接收模塊A接收到下位機(jī)發(fā)出的數(shù)據(jù)后,轉(zhuǎn)化為符合RS-232協(xié)議的電平信號并輸出,利用計(jì)算機(jī)標(biāo)準(zhǔn)的RS-232串行通信口及Windows操作系統(tǒng)中集成的串口驅(qū)動程序,便可與上位機(jī)建立通信鏈接,然后利用LabVIEW 2012集成開發(fā)環(huán)境設(shè)計(jì)串口控制程序,并在串口配置中設(shè)置“停止位”為 1.0,“波特率”為 19 200 b/s,“數(shù)據(jù)比特”為8,“采樣點(diǎn)數(shù)”為300。當(dāng)需要將程序燒寫到單片機(jī)時,首先在PC上插上藍(lán)牙主機(jī)模塊B,等待連接成功后,先發(fā)送一個指令給單片機(jī),使智能車停止運(yùn)行,然后再發(fā)送程序文件,這樣就實(shí)現(xiàn)了程序的無線燒寫。
信號采集包括硬件部分和軟件部分。硬件部分由傳感器、信號調(diào)理電路、藍(lán)牙傳輸模塊和單片機(jī)硬件系統(tǒng)構(gòu)成。軟件部分使用LabVIEW 2012開發(fā)上位機(jī)程序,其功能主要是實(shí)現(xiàn)信號接收、存儲、顯示、處理和提供人機(jī)交互界面。系統(tǒng)整體界面設(shè)計(jì)如圖7所示。
圖7 系統(tǒng)整體界面設(shè)計(jì)
運(yùn)行“基于藍(lán)牙傳輸?shù)碾姶艑?dǎo)航智能車路徑信號采集與分析平臺.EXE”程序,在程序主界面中選擇“信號采集”選項(xiàng)卡,在“串口名稱”下拉列表中選擇與藍(lán)牙接收模塊對應(yīng)的串口號,分別輸入采集者姓名、性別、年齡信息和時間信息。單擊工具欄上的“運(yùn)行”按鈕,此時采集設(shè)備處于連接狀態(tài),單擊“采集”按鈕,系統(tǒng)開始采集電磁傳感器信息并將8個傳感器的感應(yīng)電動勢與導(dǎo)線的相對位置實(shí)時顯示出來。
信號檢測的目的就是要判斷導(dǎo)線的位置以及根據(jù)路況信息對智能車進(jìn)行速度分配。由于模擬檢測法空間分辨率可達(dá)3 mm,而且當(dāng)導(dǎo)線電流不穩(wěn)定時,抗干擾能力強(qiáng),因此采用模擬檢測法,即將采集回來的A/D值進(jìn)行合理運(yùn)算之后來判斷智能車和導(dǎo)線之間的位置。
圖7所示的圖形是8個傳感器在5 s時間內(nèi)分別采集回來的A/D值,由圖7可以看出,經(jīng)過藍(lán)牙無線傳輸采集的磁場數(shù)據(jù)信號與圖5,圖6 MATLAB仿真磁場信號波形一致,1號、3號、4號、6號、7號、8號圖為豎直安置的傳感器采集的感應(yīng)電動勢與水平偏移量之間的關(guān)系圖,2號與5號圖為軸線與小車前進(jìn)方向一致安置的傳感器采集的感應(yīng)電動勢與水平偏移量之間的關(guān)系圖。
A/D值的具體處理如圖8所示。
圖8 A/D值處理流程圖
由圖8流程圖得出有效的控制序列后,將兩個最大的A/D值取出來對10取余得到它們對應(yīng)的序號,這樣就確定了哪兩個傳感器離導(dǎo)線近,然后根據(jù)這兩個傳感器A/D值的差值再與之前預(yù)先設(shè)定的A/D值比較,同時,乘以設(shè)定的距離值就得到了x的坐標(biāo)。
提取智能車和導(dǎo)線之間的位置關(guān)系后,可以確定小車的速度給定策略。當(dāng)智能車偏離導(dǎo)線較少時,給定一個較小的回正速度,智能車可以加速行駛;當(dāng)智能車偏離導(dǎo)線較大時,應(yīng)該給定較大的回正角度和減慢車速。本系統(tǒng)速度的給定使用二次曲線擬合速度的方法。根據(jù)二次曲線的頂點(diǎn)式:
只要輸入3個坐標(biāo),就可以得到二次函數(shù)的3個系數(shù),進(jìn)而可算得曲線的解析式。利用二次函數(shù)的圖像性質(zhì)來分配速度,即直道速度為 3 m/s,大弧彎道為 2.8 m/s,小弧彎道為2.5 m/s。
本文研究的基于藍(lán)牙傳輸?shù)闹悄苘囆盘枡z測系統(tǒng)將智能車路徑信號檢測系統(tǒng)和藍(lán)牙技術(shù)相結(jié)合,通過對電磁信號的分析,自行設(shè)計(jì)了采集感應(yīng)電動勢的信號調(diào)理電路,經(jīng)過改進(jìn)對傳感器的布局進(jìn)行了合理的設(shè)計(jì),最終實(shí)現(xiàn)了PC與單片機(jī)之間數(shù)據(jù)的無線互傳,完成了磁場數(shù)據(jù)的實(shí)時采集與處理。經(jīng)過實(shí)驗(yàn)測試,該系統(tǒng)在露天普通條件下,最大的通信速率為56 kb/s,最大傳輸距離為10 m,若此距離滿足不了調(diào)試要求,可通過外接射頻功率放大模塊使藍(lán)牙通信距離達(dá)到100 m。該系統(tǒng)性能穩(wěn)定,界面友好,簡單實(shí)用,能有效減少程序調(diào)試者的工作量,為智能車根據(jù)路況信息進(jìn)行速度給定設(shè)計(jì)了一種更加便捷有效的方法。
[1]劉源,張文斌,劉雪揚(yáng),等.電磁導(dǎo)航智能車檢測和控制系統(tǒng)研究[J].傳感器與微系統(tǒng),2012,31(4):63-66.
[2]李仕伯,馬旭,卓晴.基于磁場檢測的尋線小車傳感器布局研究[J].電子產(chǎn)品世界,2009,12:41-51.
[3]Xiong Bo, Qu Shiru.Intelligent vehicle′s path tracking based on fuzzy control[J].IEEE Transportation Systems Engineering and Information Technology, 2010,10(2):70-75.
[4]王元哲,談英姿.磁導(dǎo)航智能車路徑信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2011,30(1):19-21.
[5]韓以倫,王斌龍.基于HCS12X單片機(jī)的多傳感器智能車控制系統(tǒng)設(shè)計(jì)[J].科技信息,2012,1:59-60.
[6]秦健強(qiáng),賈旭.基于 Freescale 9S12DG128的智能車控制系統(tǒng)設(shè)計(jì)[J].數(shù)控技術(shù),2012,9:6-8.
[7]張吳飆,馬旭,卓晴.基于電磁場檢測的尋線智能車設(shè)計(jì)[J].電子產(chǎn)品世界,2009,11:48-50.
[8]曹輝,何波.基于藍(lán)牙傳輸?shù)拿}搏血氧飽和度檢測系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(9):104-106.