馮宇航, 王 建, 蔡 堯, 高 峰, 趙 菲
(北京航空航天大學(xué) 交通科學(xué)與工程學(xué)院,北京 100191)
地磁傳感器對(duì)于地磁場的變化敏感且具有成本低的特點(diǎn),目前主要應(yīng)用于輔助全球定位系統(tǒng)(global positioning system,GPS)進(jìn)行導(dǎo)航[1],停車場的車位檢測[2,3]以及進(jìn)行交通流量統(tǒng)計(jì)[4]等用途。其原理為當(dāng)車輛在路面行駛時(shí),車輛的鐵磁物質(zhì)切割地磁感線對(duì)地磁場進(jìn)行擾動(dòng)使地磁場發(fā)生變化,地磁傳感器檢測地磁場強(qiáng)度超過一定閾值即判定路面上方是否有車輛存在或行駛[5]。如今,地磁傳感器在車輛方向的應(yīng)用主要側(cè)重于通過對(duì)傳感器數(shù)值的變化進(jìn)行定性分析,并未對(duì)地磁傳感器的數(shù)值與車輛的關(guān)系進(jìn)行定量化研究。
本文提出一種由多個(gè)三軸地磁傳感器(HMC5883L)構(gòu)成的檢測車輛位置的系統(tǒng),多個(gè)傳感器呈點(diǎn)陣布置在路面下,通過分析地磁傳感器采集的三軸數(shù)據(jù),來檢測車輛在路面的相對(duì)位置,也可以計(jì)算出車輛的行進(jìn)方向和車輛的行進(jìn)速度。另外,與使用單一傳感器相比,本文中系統(tǒng)采用多個(gè)地磁傳感器可以提高測量精度、降低誤差。本文系統(tǒng)所檢測出的車輛位置信息提供給駕駛員可以實(shí)現(xiàn)車道偏離檢測預(yù)警與碰撞預(yù)警功能,與雷達(dá)等車載輔助駕駛設(shè)備相比,本文系統(tǒng)具有低成本優(yōu)勢。
總體設(shè)計(jì)方案如圖1所示。車輛狀態(tài)檢測系統(tǒng)主要由地磁感應(yīng)強(qiáng)度信號(hào)采集模塊(以下簡稱信號(hào)采集模塊)和數(shù)據(jù)處理模塊組成。信號(hào)采集模塊布置在路面下呈點(diǎn)陣分布,平行于車輛前進(jìn)方向布置間距為2.5 m(節(jié)點(diǎn)1和節(jié)點(diǎn)2的距離),垂直車輛前進(jìn)方向間距為1.75 m(節(jié)點(diǎn)1和節(jié)點(diǎn)4的距離)。信號(hào)采集模塊的功能為采集地磁感應(yīng)強(qiáng)度,濾波后將數(shù)據(jù)發(fā)送給數(shù)據(jù)處理模塊;數(shù)據(jù)處理模塊(本系統(tǒng)采用個(gè)人電腦(PC)端布置于路側(cè),主要功能為接收各個(gè)信號(hào)采集模塊的地磁感應(yīng)強(qiáng)度信息并對(duì)數(shù)據(jù)進(jìn)行處理、計(jì)算得出車輛的實(shí)時(shí)位置信息。
圖1 整體方案設(shè)計(jì)
信號(hào)采集模塊包括地磁傳感器、微處理器、存儲(chǔ)器、電源模塊以及控制器局域網(wǎng)絡(luò)(controller area network,CAN)總線驅(qū)動(dòng)芯片。地磁傳感器HMC5883L模塊通過I2C總線協(xié)議收集附近地磁感應(yīng)強(qiáng)度變化信息,然后經(jīng)過微控制器單元(micro controller unit,MCU)濾波后經(jīng)過CAN總線發(fā)送至數(shù)據(jù)處理模塊,其中存儲(chǔ)器用于存儲(chǔ)像該信號(hào)采集模塊的CAN總線的ID等重要信息防止掉電丟失數(shù)據(jù)。信號(hào)采集模塊的硬件電路結(jié)構(gòu)如圖2所示。
圖2 信號(hào)采集模塊硬件電路結(jié)構(gòu)
與一般的通信總線比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。本文中系統(tǒng)采用TJA1042高速CAN收發(fā)器芯片在CAN協(xié)議控制器和物理雙線式CAN總線之間提供接口。CAN總線通信的硬件電路如圖3所示。
圖3 CAN總線通信硬件電路
當(dāng)車輛在路面經(jīng)過時(shí),車輛由于鐵磁特性將切割地磁感線擾動(dòng)地磁場使其強(qiáng)度數(shù)值發(fā)生變化。地磁傳感器HMC5883L測量地磁場強(qiáng)度信息并通過內(nèi)部集成電路(inter integrated circuit,I2C)總線協(xié)議將地磁場強(qiáng)度信息發(fā)送給信號(hào)采集模塊的微處理器,微處理器接收地磁場強(qiáng)度信息后進(jìn)行濾波[6],隨后通過CAN總線(波特率500 kbps)將地磁場強(qiáng)度信息傳遞至掛載在同一CAN總線的數(shù)據(jù)處理模塊。檢測系統(tǒng)信息傳遞流程如圖4。
圖4 檢測系統(tǒng)信息傳遞流程
整個(gè)系統(tǒng)的軟件設(shè)計(jì)分為信號(hào)采集模塊和數(shù)據(jù)處理模塊(PC端),二者通過CAN總線協(xié)議進(jìn)行通信。當(dāng)信號(hào)采集模塊初始化后,信號(hào)采集模塊會(huì)以75 Hz的頻率周期性采集地磁傳感器信號(hào),并在濾波后通過CAN總線發(fā)送給PC端,PC端通過通用串行總線(universal serial bus,USB)轉(zhuǎn)CAN的CAN數(shù)據(jù)采集器采集各個(gè)信號(hào)采集模塊的數(shù)據(jù)并處理數(shù)據(jù)獲得車輛位置信息。軟件系統(tǒng)框圖如圖5所示。
圖5 軟件系統(tǒng)結(jié)構(gòu)
每個(gè)信號(hào)采集模塊的參數(shù)都可以通過數(shù)據(jù)處理模塊通過CAN總線數(shù)據(jù)幀傳輸?shù)拿顜M(jìn)行更改。
每個(gè)信號(hào)采集模塊都有唯一的CAN ID來區(qū)分對(duì)方。 如圖1所示,節(jié)點(diǎn)1具有名為0x701的CAN ID,而節(jié)點(diǎn)3具有名稱為0x703的CAN ID。 首次加入CAN總線時(shí),信號(hào)采集模塊將分配一個(gè)CAN ID,并將ID存儲(chǔ)到其閃存中。 但當(dāng)分配一個(gè)CAN ID時(shí),如果其再次收到來自PC的CAN ID改變幀,則該ID將不會(huì)被改變。
為了提高檢測的準(zhǔn)確性,每個(gè)傳輸?shù)紺AN總線的信號(hào)采集模塊的幀都應(yīng)該是同時(shí)的。 因此,所有的信號(hào)采集模塊的時(shí)鐘在加入CAN總線后都會(huì)在特定的時(shí)間點(diǎn)通過時(shí)間校準(zhǔn)幀進(jìn)行校準(zhǔn)。 信號(hào)采集模塊的軟件流程如圖6。
圖6 信號(hào)采集模塊軟件設(shè)計(jì)流程
軟件在QT Creator開發(fā)平臺(tái)上開發(fā),開發(fā)環(huán)境為Windows,開發(fā)語言為C++。 該軟件的功能為:1)通過CAN總線獲取每個(gè)信號(hào)采集模塊的數(shù)據(jù);2)將命令幀發(fā)送到信號(hào)采集模塊;3)顯示來自信號(hào)采集模塊的原始數(shù)據(jù);4)實(shí)時(shí)顯示車輛位置坐標(biāo)信息。
軟件的操作界面如圖7所示,軟件通過CAN總線接收信號(hào)采集模塊的數(shù)據(jù)且可以向信號(hào)采集模塊發(fā)送命令幀,軟件還有顯示原始數(shù)據(jù)、實(shí)時(shí)顯示車輛位置坐標(biāo)信息功能。
圖7 PC端軟件界面
車輛的位置由x坐標(biāo)(垂直于車輛的正向)和y坐標(biāo)(平行于車輛的正向)組成。 北京交通大學(xué)綜合實(shí)驗(yàn)現(xiàn)場試驗(yàn)的車型是奇瑞威麟V5。
文獻(xiàn)[3]通過實(shí)驗(yàn)測定車輛與地磁傳感器之間的距離對(duì)地磁傳感器的強(qiáng)度的影響并擬合出變化關(guān)系。然而,本文信號(hào)采集模塊布置在不同的位置,每個(gè)地磁傳感器的強(qiáng)度在沒有車輛通過時(shí)通常也是不同的,所以該方法不完全適用于本文情況。 通過改進(jìn),本文在不同的x距離(車輛與地磁傳感器之間的與車輛前進(jìn)方向的垂直距離)上測量地磁差值(當(dāng)車輛通過時(shí)地磁傳感器強(qiáng)度減去沒有車輛經(jīng)過時(shí)地磁傳感器強(qiáng)度的值) 從0.2~1.25 m不等。 上述2個(gè)變量之間的關(guān)系如圖8所示。
圖8 x距離與地磁差值變化的曲線
G為車輛通過時(shí)的地磁傳感器強(qiáng)度減去沒有車輛通過時(shí)的地磁傳感器強(qiáng)度的值,mG,x距離為車輛與地磁傳感器之間的垂直于車輛前方的距離。 圖8中,當(dāng)距離為1 m時(shí),x距離每10 cm變化一次,數(shù)值會(huì)發(fā)生顯著變化。
x坐標(biāo)可以推導(dǎo)如下
式中xL為車輛左邊節(jié)點(diǎn)的x坐標(biāo),GL為x值,xR和GR為右側(cè)的對(duì)應(yīng)參數(shù)。
當(dāng)車輛在實(shí)驗(yàn)道路上行駛時(shí),依次經(jīng)過3#,6#,9#,12#節(jié)點(diǎn)。車輛通過6#模塊擾動(dòng)的地磁傳感器強(qiáng)度的波形應(yīng)該與圖9所示的3#模塊的擾動(dòng)波形相似。
圖9 車輛經(jīng)過系統(tǒng)時(shí)3#與6#節(jié)點(diǎn)地磁傳感器數(shù)值變化
本文設(shè)計(jì)了一種能夠通過多個(gè)地磁傳感器檢測車輛在道路上的位置的系統(tǒng)。通過實(shí)驗(yàn)對(duì)實(shí)際數(shù)據(jù)的測量和函數(shù)擬合確定車輛垂直前進(jìn)方向的距離與地磁傳感器差值的關(guān)系,確定車輛x坐標(biāo),再由時(shí)間延遲特性確定車輛y軸坐標(biāo),兩個(gè)坐標(biāo)的平均偏差是10 cm。 與雷達(dá)相比,該系統(tǒng)具有不受前方車輛干擾的優(yōu)點(diǎn),可望在智能道路方向應(yīng)用于無人駕駛車輛。