文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)01-0032-04
0 引言
隨著自動化技術(shù)的快速發(fā)展,車載導(dǎo)航系統(tǒng)已成為智能汽車電子領(lǐng)域的重要組成部分。精確地檢測車體當(dāng)前行駛道路的坡度是車載導(dǎo)航系統(tǒng)所必備的功能之一。但是,現(xiàn)有的車載傾角檢測裝置普遍存在如下問題:(1)傳統(tǒng)兩軸加速度傳感器的模擬信號采樣獲取的車體加速度和傾斜角度信息存在著測量精度低、適用范圍較窄等缺陷和不足;(2)單一傳感器節(jié)點(diǎn)結(jié)果易受溫度、電壓、電磁等因素的影響,導(dǎo)致數(shù)據(jù)可靠性差。因此,目前的檢測裝置無法滿足高精度車載導(dǎo)航系統(tǒng)的實(shí)際需求。
為了克服上述現(xiàn)有技術(shù)的缺陷,本系統(tǒng)擬提出一種高精度車載道路坡度檢測儀的設(shè)計(jì)及實(shí)現(xiàn)方案。該檢測儀由主控節(jié)點(diǎn)和檢測節(jié)點(diǎn)組成,利用三軸數(shù)字加速度傳感器獲取車體傾斜角度,然后通過CAN總線將數(shù)據(jù)發(fā)送至主控節(jié)點(diǎn);主控節(jié)點(diǎn)對分布在不同位置的多個傳感器節(jié)點(diǎn)的檢測數(shù)據(jù)進(jìn)行信息融合處理,獲得車體傾斜角度的最優(yōu)估計(jì)值,以實(shí)現(xiàn)對道路坡度的高精度檢測。
1 系統(tǒng)方案
1.1 道路坡度檢測儀整體設(shè)計(jì)
道路坡度檢測儀主要完成對小車車體傾斜角度的精確測量。檢測儀由主控節(jié)點(diǎn)和多個檢測節(jié)點(diǎn)組成,它在車體不同位置布設(shè)多個檢測節(jié)點(diǎn),分別檢測各自的傾角信息;然后通過CAN總線將信息傳送給主控節(jié)點(diǎn)進(jìn)行集中處理,將各處及最終的估計(jì)值同時(shí)顯示到車載液晶屏上,并備份到數(shù)據(jù)庫中。每個檢測節(jié)點(diǎn)通過陀螺儀檢測車體動態(tài)傾斜角度,并配合三軸數(shù)字加速度傳感器檢測車體靜態(tài)傾斜角度。本文所述的高精度車載道路坡度檢測儀的整體設(shè)計(jì)框架如圖1所示。
圖1中,主控節(jié)點(diǎn)為基于ARM Linux的嵌入式系統(tǒng)架構(gòu),它分別獲取各檢測節(jié)點(diǎn)的傾角信息,通過所設(shè)計(jì)的多傳感器信息融合算法,得到傾斜角度最優(yōu)估計(jì)值,并實(shí)時(shí)顯示到車載液晶屏上;為保存行車過程中的坡度歷史信息,主控節(jié)點(diǎn)中還搭建了嵌入式本地?cái)?shù)據(jù)庫。
1.2 多傳感器數(shù)據(jù)融合方法
本系統(tǒng)通過高精度的三軸數(shù)字加速度傳感器設(shè)計(jì)檢測節(jié)點(diǎn),提高單一傳感節(jié)點(diǎn)的檢測精度;并在車體不同位置布設(shè)多個該檢測節(jié)點(diǎn),通過融合處理算法獲取車體傾角的最優(yōu)估計(jì)值,以提高數(shù)據(jù)靠性及角度信息檢測精度。
由圖2可知,一個檢測周期分為數(shù)據(jù)獲取和數(shù)據(jù)處理兩個階段完成。在數(shù)據(jù)獲取階段,主控節(jié)點(diǎn)通過遠(yuǎn)程幀輪詢各檢測節(jié)點(diǎn)的數(shù)據(jù)。在數(shù)據(jù)處理階段,主控節(jié)點(diǎn)將檢測子節(jié)點(diǎn)的傾角信息依次按照如下步驟進(jìn)行數(shù)據(jù)融合,得到車體行駛道路坡度的最優(yōu)估計(jì)值:
(1)采用疏失誤差剔除法[1](Negligence Error Elimination)剔除無效的傳感器數(shù)據(jù),消除角度測量中的隨機(jī)干擾。設(shè)CAN總線網(wǎng)絡(luò)中共有n個檢測節(jié)點(diǎn),表示主控節(jié)點(diǎn)在第k個檢測周期收集到的檢測節(jié)點(diǎn)i的角度測量值,則第k個周期內(nèi)所有檢測節(jié)點(diǎn)角度測量值組成的集合為,對集合A進(jìn)行從小到大的排序得到集合B={x1(k),x2(k),x3(k),…,xn(k)}。那么疏失誤差剔除后的集合C由式(1)~式(5)計(jì)算得到。
其中xM為集合B的中位數(shù),DS為四分位離散度,xU和xD分別為其上四分位數(shù)和下四分位數(shù),MED{·}為求集合中位數(shù)的運(yùn)算。滿足集合C的測量值為有效的,否則為誤差值,應(yīng)予以剔除。
(2)通過最小二乘法[2](Least Square Method)擬合剔除后的所有測量值,作為卡爾曼濾波器的觀測值輸入。在剔除無效的傳感器數(shù)據(jù)后,通過最小二乘法對集合C中的數(shù)據(jù)進(jìn)行擬合,得到時(shí)刻k的觀測值,如式(6)所示,其中LSM{·}為通過最小二乘法擬合集合數(shù)據(jù)的運(yùn)算。
Y(k)=LSM{C}(6)
(3)結(jié)合上一檢測周期的最優(yōu)估計(jì)結(jié)果,利用卡爾曼濾波器完成本周期內(nèi)的道路坡度最優(yōu)估計(jì)值預(yù)測。卡爾曼濾波針對式(7)和(8)所示的離散線性系統(tǒng)。
Y(k)=H·X(k)+V(k)(8)
其中X(k)為k時(shí)刻的估計(jì)值;Y(k)為k時(shí)刻(第k個檢測周期)的觀測值,其值由步驟(2)計(jì)算得到;參數(shù)?椎為系統(tǒng)矩陣,H表征了k時(shí)刻估計(jì)值相對于k-1時(shí)刻的變化率;W(k)和V(k)分別為k時(shí)刻的過程噪聲和測量噪聲。對于式(9)和(10)所描述的離散線性系統(tǒng),可通過式(9)~(12)計(jì)算k時(shí)刻的卡爾曼濾波最優(yōu)估計(jì)值。
其中Q和R分別為W(k)和V(k)的協(xié)方差,Kg(k)為k時(shí)刻的卡爾曼濾波增益,X(k|k)表征時(shí)刻k的最優(yōu)結(jié)果,X(k|k-1)表征上一時(shí)刻的狀態(tài)預(yù)測值,P(k|k)和P(k|k-1)分別為X(k|k)和X(k|k-1)對應(yīng)的協(xié)方差。
2 系統(tǒng)硬件設(shè)計(jì)
本文所述的高精度道路坡度檢測儀硬件分主控節(jié)點(diǎn)和檢測節(jié)點(diǎn)兩部分。主控節(jié)點(diǎn)采用ARM Linux架構(gòu),實(shí)現(xiàn)對各檢測子節(jié)點(diǎn)傾角數(shù)據(jù)的采集與處理;檢測節(jié)點(diǎn)通過單片機(jī)低功耗模式,完成對各子區(qū)域車體動靜態(tài)傾斜角度的精確測量。
2.1 主控節(jié)點(diǎn)硬件設(shè)計(jì)
主控節(jié)點(diǎn)采用ARM Linux架構(gòu),ARM芯片采用S3C2440,選用Linux 2.6.30內(nèi)核版本進(jìn)行嵌入式系統(tǒng)開發(fā)。通過SPI接口控制CAN總線控制器,完成車載信息的采集,各子區(qū)域的傳感器信息及融合后的精確角度信息均通過車載觸摸液晶屏實(shí)時(shí)顯示,歷史信息存儲到本地?cái)?shù)據(jù)庫中。主控節(jié)點(diǎn)的硬件設(shè)計(jì)如圖3所示。
2.2 檢測節(jié)點(diǎn)硬件設(shè)計(jì)
檢測節(jié)點(diǎn)通過三軸加速度傳感器完成對自身傾角信息的采集,并將該數(shù)據(jù)上發(fā)。本系統(tǒng)工況檢測節(jié)點(diǎn)硬件設(shè)計(jì)如圖4所示。
在工況信息檢測過程中,傾斜的位置通過節(jié)點(diǎn)的位置確定,為了提高檢測結(jié)果的精度,在檢測之前可對加速度傳感器進(jìn)行校準(zhǔn)。工況節(jié)點(diǎn)檢測傾角的原理如圖5所示。
在圖5(a)中,Ax、Ay、Az分別為傳感器在3個方向上檢測到的靜止加速度。當(dāng)車體發(fā)生了如圖5(b)所示的傾斜時(shí),其各軸的加速度變化如圖5(c)所示,其中Axoy為傳感器在xoy平面上的加速度,其計(jì)算方法如式(13)所示:
此時(shí)該檢測節(jié)點(diǎn)計(jì)算到的車體xoy平面與地表水平面XOY傾斜的角度?琢如式(14)所示:
由此可知,通過此方法將獲取的一組加速度信息進(jìn)行計(jì)算處理,可得到檢測節(jié)點(diǎn)各子平面與地表水平面之間的傾角。由于ADXL345三軸加速度傳感器最高分辨率可達(dá)3.9 mg/LSB,因此單個傳感器能捕捉1.0°的傾斜角度變化。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件分主控節(jié)點(diǎn)和檢測節(jié)點(diǎn)兩部分進(jìn)行設(shè)計(jì)。主控節(jié)點(diǎn)的軟件主要完成對各CAN通信節(jié)點(diǎn)數(shù)據(jù)的收集、處理、保持及顯示等功能;檢測節(jié)點(diǎn)的軟件主要完成傳感器信息的采集和發(fā)送。
3.1 主控節(jié)點(diǎn)軟件設(shè)計(jì)
主控節(jié)點(diǎn)采用嵌入式Linux架構(gòu),其軟件設(shè)計(jì)在Linux操作系統(tǒng)上完成。本系統(tǒng)關(guān)于主控節(jié)點(diǎn)的軟件可分為模塊驅(qū)動、應(yīng)用層進(jìn)程和多進(jìn)程控制等3個部分組成。模塊驅(qū)動實(shí)現(xiàn)與硬件的交互,為應(yīng)用層各進(jìn)程的調(diào)用提供接口;應(yīng)用層實(shí)現(xiàn)了主控節(jié)點(diǎn)的各主體功能,包括數(shù)據(jù)采集、數(shù)據(jù)處理與保存和數(shù)據(jù)顯示等;多進(jìn)程控制實(shí)現(xiàn)對各個子進(jìn)程的調(diào)度,實(shí)現(xiàn)最優(yōu)的進(jìn)程調(diào)度。本系統(tǒng)的主控節(jié)點(diǎn)軟件架構(gòu)如圖6所示。
主控節(jié)點(diǎn)的模塊驅(qū)動程序基于Linux操作系統(tǒng)開發(fā),需要開發(fā)和加載LCD液晶驅(qū)動程序和CAN控制器MCP2510驅(qū)動程序。現(xiàn)場總線網(wǎng)絡(luò)的輪詢數(shù)據(jù)采集由主控節(jié)點(diǎn)控制,軟件上采用一主多從模式。CAN通信中將A0~A7組合表示的地址作為檢測節(jié)點(diǎn)的ID。特別地,主控節(jié)點(diǎn)的數(shù)據(jù)優(yōu)先級最高,因此其ID號固定為0x000,詳細(xì)如表1所示。
數(shù)據(jù)的輪詢收集結(jié)束后,即可對采集的數(shù)據(jù)進(jìn)行相應(yīng)的融合處理。本文1.2節(jié)已詳細(xì)講述數(shù)據(jù)融合算法及其仿真效果,本節(jié)介紹其具體實(shí)現(xiàn)流程,如圖7所示。其主要完成對工況節(jié)點(diǎn)數(shù)據(jù)的處理、變量初始化和確定相關(guān)算法變量的初值。針對節(jié)點(diǎn)數(shù)據(jù),分別依次進(jìn)行疏失誤差處理、最小二乘法擬合觀測值和卡爾曼濾波估計(jì)最優(yōu)值,得到X(k)即為該線程輸出的融合最優(yōu)估計(jì)結(jié)果。由式(12)可知,為保證下一輪數(shù)據(jù)的順利融合,輸出X(k)后仍需將該值保存,作為下一輪數(shù)據(jù)融合的輸入。
3.2 檢測節(jié)點(diǎn)軟件設(shè)計(jì)
檢測節(jié)點(diǎn)的主要功能是實(shí)現(xiàn)對車體行駛坡度信息的采集,并將采集的信息發(fā)送給主控節(jié)點(diǎn)。檢測節(jié)點(diǎn)的CAN收發(fā)控制流程如圖8所示。程序中首先初始化系統(tǒng),然后進(jìn)入低功耗模式;當(dāng)收到命令時(shí),節(jié)點(diǎn)立即讀取傳感器數(shù)據(jù)并上傳。
4 評測
4.1 仿真結(jié)果分析
在MATLAB中仿真本系統(tǒng)的多傳感器數(shù)據(jù)融合方法,并將其與單傳感器數(shù)據(jù)描述進(jìn)行比較,其前200個檢測周期對比結(jié)果如圖9所示。單傳感器在第100個檢測周期的數(shù)據(jù)明顯發(fā)生了錯誤,本文的多傳感器數(shù)據(jù)融合方法采用疏失誤差剔除這種采集過程中的單節(jié)點(diǎn)的隨機(jī)干擾,保證檢測結(jié)果的精度。需要說明的是,前20個檢測周期的融合值與實(shí)測值存在較大偏差,這是由初值X(0)=10、P(0)=0引起的,這種偏差不會對融合效果產(chǎn)生影響,因?yàn)殡S著算法的繼續(xù)迭代,融合結(jié)果會趨于穩(wěn)定。
4.2 實(shí)際效果分析
對于系統(tǒng)實(shí)際效果的評測,在車體的3個不同位置分別配置檢測節(jié)點(diǎn),保證這3個節(jié)點(diǎn)構(gòu)成的平面ω與地表水平面平行。將小車放置在11°左右的斜坡上,截取系統(tǒng)檢測過程中的60組數(shù)據(jù),得到單傳感器檢測和多傳感器數(shù)據(jù)融合估計(jì)的實(shí)際效果對比,如圖10所示。由圖可知,由于單個節(jié)點(diǎn)檢測過程中數(shù)據(jù)存在一定的隨機(jī)干擾和測量誤差,因此單個節(jié)點(diǎn)檢測的數(shù)據(jù)波動較大;本文的多傳感器數(shù)據(jù)融合算法可通過疏失誤差剔除法剔除隨機(jī)干擾,并通過卡爾曼濾波的迭代消除測量誤差,因此數(shù)據(jù)融合后的曲線相對平穩(wěn),其測量值也更接近真值。
5 結(jié)論
針對當(dāng)前車載坡度檢測技術(shù)缺陷,本文提出了一種高精度車載道路坡度檢測儀的設(shè)計(jì)方案,并通過MSP430單片機(jī)、三軸數(shù)字加速度傳感器、ARM微控制器和CAN總線等實(shí)現(xiàn)其軟硬件功能。該儀器采用三軸數(shù)字加速度傳感器計(jì)算傾角,并對多個傳感器數(shù)據(jù)進(jìn)行融合處理,提高了車載道路邊坡檢測的精度,其可廣泛應(yīng)用于車載導(dǎo)航系統(tǒng)與智能汽車電子領(lǐng)域。
參考文獻(xiàn)
[1] 段戰(zhàn)勝,韓崇昭,陶唐飛.基于最近統(tǒng)計(jì)距離的多傳感器一致性數(shù)據(jù)融合[J].儀器儀表學(xué)報(bào),2005,26(5):478-481.
[2] 張曉平,劉桂雄,周松斌.利用最小二乘支持向量機(jī)實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的目標(biāo)定位[J].光學(xué)精密工程,2010,18(9):2060-2068.