馮宇航, 王 建, 蔡 堯, 高 峰, 趙 菲
(北京航空航天大學 交通科學與工程學院,北京 100191)
地磁傳感器對于地磁場的變化敏感且具有成本低的特點,目前主要應用于輔助全球定位系統(global positioning system,GPS)進行導航[1],停車場的車位檢測[2,3]以及進行交通流量統計[4]等用途。其原理為當車輛在路面行駛時,車輛的鐵磁物質切割地磁感線對地磁場進行擾動使地磁場發(fā)生變化,地磁傳感器檢測地磁場強度超過一定閾值即判定路面上方是否有車輛存在或行駛[5]。如今,地磁傳感器在車輛方向的應用主要側重于通過對傳感器數值的變化進行定性分析,并未對地磁傳感器的數值與車輛的關系進行定量化研究。
本文提出一種由多個三軸地磁傳感器(HMC5883L)構成的檢測車輛位置的系統,多個傳感器呈點陣布置在路面下,通過分析地磁傳感器采集的三軸數據,來檢測車輛在路面的相對位置,也可以計算出車輛的行進方向和車輛的行進速度。另外,與使用單一傳感器相比,本文中系統采用多個地磁傳感器可以提高測量精度、降低誤差。本文系統所檢測出的車輛位置信息提供給駕駛員可以實現車道偏離檢測預警與碰撞預警功能,與雷達等車載輔助駕駛設備相比,本文系統具有低成本優(yōu)勢。
總體設計方案如圖1所示。車輛狀態(tài)檢測系統主要由地磁感應強度信號采集模塊(以下簡稱信號采集模塊)和數據處理模塊組成。信號采集模塊布置在路面下呈點陣分布,平行于車輛前進方向布置間距為2.5 m(節(jié)點1和節(jié)點2的距離),垂直車輛前進方向間距為1.75 m(節(jié)點1和節(jié)點4的距離)。信號采集模塊的功能為采集地磁感應強度,濾波后將數據發(fā)送給數據處理模塊;數據處理模塊(本系統采用個人電腦(PC)端布置于路側,主要功能為接收各個信號采集模塊的地磁感應強度信息并對數據進行處理、計算得出車輛的實時位置信息。

圖1 整體方案設計
信號采集模塊包括地磁傳感器、微處理器、存儲器、電源模塊以及控制器局域網絡(controller area network,CAN)總線驅動芯片。地磁傳感器HMC5883L模塊通過I2C總線協議收集附近地磁感應強度變化信息,然后經過微控制器單元(micro controller unit,MCU)濾波后經過CAN總線發(fā)送至數據處理模塊,其中存儲器用于存儲像該信號采集模塊的CAN總線的ID等重要信息防止掉電丟失數據。信號采集模塊的硬件電路結構如圖2所示。

圖2 信號采集模塊硬件電路結構
與一般的通信總線比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。本文中系統采用TJA1042高速CAN收發(fā)器芯片在CAN協議控制器和物理雙線式CAN總線之間提供接口。CAN總線通信的硬件電路如圖3所示。

圖3 CAN總線通信硬件電路
當車輛在路面經過時,車輛由于鐵磁特性將切割地磁感線擾動地磁場使其強度數值發(fā)生變化。地磁傳感器HMC5883L測量地磁場強度信息并通過內部集成電路(inter integrated circuit,I2C)總線協議將地磁場強度信息發(fā)送給信號采集模塊的微處理器,微處理器接收地磁場強度信息后進行濾波[6],隨后通過CAN總線(波特率500 kbps)將地磁場強度信息傳遞至掛載在同一CAN總線的數據處理模塊。檢測系統信息傳遞流程如圖4。

圖4 檢測系統信息傳遞流程
整個系統的軟件設計分為信號采集模塊和數據處理模塊(PC端),二者通過CAN總線協議進行通信。當信號采集模塊初始化后,信號采集模塊會以75 Hz的頻率周期性采集地磁傳感器信號,并在濾波后通過CAN總線發(fā)送給PC端,PC端通過通用串行總線(universal serial bus,USB)轉CAN的CAN數據采集器采集各個信號采集模塊的數據并處理數據獲得車輛位置信息。軟件系統框圖如圖5所示。

圖5 軟件系統結構
每個信號采集模塊的參數都可以通過數據處理模塊通過CAN總線數據幀傳輸的命令幀進行更改。
每個信號采集模塊都有唯一的CAN ID來區(qū)分對方。 如圖1所示,節(jié)點1具有名為0x701的CAN ID,而節(jié)點3具有名稱為0x703的CAN ID。 首次加入CAN總線時,信號采集模塊將分配一個CAN ID,并將ID存儲到其閃存中。 但當分配一個CAN ID時,如果其再次收到來自PC的CAN ID改變幀,則該ID將不會被改變。
為了提高檢測的準確性,每個傳輸到CAN總線的信號采集模塊的幀都應該是同時的。 因此,所有的信號采集模塊的時鐘在加入CAN總線后都會在特定的時間點通過時間校準幀進行校準。 信號采集模塊的軟件流程如圖6。

圖6 信號采集模塊軟件設計流程
軟件在QT Creator開發(fā)平臺上開發(fā),開發(fā)環(huán)境為Windows,開發(fā)語言為C++。 該軟件的功能為:1)通過CAN總線獲取每個信號采集模塊的數據;2)將命令幀發(fā)送到信號采集模塊;3)顯示來自信號采集模塊的原始數據;4)實時顯示車輛位置坐標信息。
軟件的操作界面如圖7所示,軟件通過CAN總線接收信號采集模塊的數據且可以向信號采集模塊發(fā)送命令幀,軟件還有顯示原始數據、實時顯示車輛位置坐標信息功能。

圖7 PC端軟件界面
車輛的位置由x坐標(垂直于車輛的正向)和y坐標(平行于車輛的正向)組成。 北京交通大學綜合實驗現場試驗的車型是奇瑞威麟V5。
文獻[3]通過實驗測定車輛與地磁傳感器之間的距離對地磁傳感器的強度的影響并擬合出變化關系。然而,本文信號采集模塊布置在不同的位置,每個地磁傳感器的強度在沒有車輛通過時通常也是不同的,所以該方法不完全適用于本文情況。 通過改進,本文在不同的x距離(車輛與地磁傳感器之間的與車輛前進方向的垂直距離)上測量地磁差值(當車輛通過時地磁傳感器強度減去沒有車輛經過時地磁傳感器強度的值) 從0.2~1.25 m不等。 上述2個變量之間的關系如圖8所示。

圖8 x距離與地磁差值變化的曲線
G為車輛通過時的地磁傳感器強度減去沒有車輛通過時的地磁傳感器強度的值,mG,x距離為車輛與地磁傳感器之間的垂直于車輛前方的距離。 圖8中,當距離為1 m時,x距離每10 cm變化一次,數值會發(fā)生顯著變化。
x坐標可以推導如下
式中xL為車輛左邊節(jié)點的x坐標,GL為x值,xR和GR為右側的對應參數。
當車輛在實驗道路上行駛時,依次經過3#,6#,9#,12#節(jié)點。車輛通過6#模塊擾動的地磁傳感器強度的波形應該與圖9所示的3#模塊的擾動波形相似。

圖9 車輛經過系統時3#與6#節(jié)點地磁傳感器數值變化


本文設計了一種能夠通過多個地磁傳感器檢測車輛在道路上的位置的系統。通過實驗對實際數據的測量和函數擬合確定車輛垂直前進方向的距離與地磁傳感器差值的關系,確定車輛x坐標,再由時間延遲特性確定車輛y軸坐標,兩個坐標的平均偏差是10 cm。 與雷達相比,該系統具有不受前方車輛干擾的優(yōu)點,可望在智能道路方向應用于無人駕駛車輛。