吳學文 吳黎明 張力鍇 陳泰偉
(廣東工業大學信息工程學院)
汽車的安全、舒適、便捷系統已經成為許多消費者買車的主要考慮配置之一[1]。隨著汽車工業與電子工業的不斷發展,電子技術在現代汽車上包括汽車電子系統方面的應用越來越廣泛[2]。大部分汽車電子系統都需根據車身的狀態信息即車身姿態的反饋,做出相應的動作來確保汽車的安全和舒適。
早期采用機械轉子陀螺構成機械平臺來測量汽車姿態,由于體積大、安裝不便等缺點,使其在汽車上的應用受到很大限制。目前,一般利用三維陀螺儀測量車身姿態,并通過加速度計等慣性傳感器不斷作數值修正。由于陀螺儀本身隨著時間、外界溫度變化,會產生不同程度的漂移[3],且采用六個或九個單軸線加速度傳感器[4~6],再利用歐拉法、方向余弦法或四元數法解算出姿態角[7],存在系統復雜、成本高和實時計算難等缺點,因此應用于工程實踐受到限制。
針對上述問題,本文提出了一種精簡的汽車姿態測量方法,即在滿足精度的前提下,利用單個三軸加速度傳感器和高性能MCU構建車身姿態測量系統。將三軸加速度映射到車身姿態角,但該映射輸入、輸出以及結構參數之間的復雜動態關系,難以建立精確模型。隨著神經網絡的出現,為解決系統建模帶來新的思想。近幾年神經網絡被用于建模中并取得一定的成果,但神經網絡全局搜索能力差、收斂速度慢,容易陷入局部極值,單獨使用效果不夠理想。為此本文提出用具有全局搜索能力的遺傳算法和神經網絡相結合,實現三軸加速度映射到車身姿態角。
為便于分析,建立兩個坐標系,分別是汽車導航坐標系OXYZ和汽車平臺坐標系Oxyz,如圖1所示。

圖1 坐標系與姿態角
車身姿態測量就是要測量出兩坐標系相對角度偏移量,根據導航學轉動變換中的歐拉定理,汽車的姿態可用相對汽車平臺坐標系相應軸的一次轉動來表示。將OXYZ坐標系繞X軸旋轉θ角,再將所得的坐標系繞Y軸旋轉γ角,最后將坐標系繞Z軸旋轉ψ角得到坐標系為Oxyz。每次轉動的角度分別為:俯仰角θ、傾斜角γ、偏航角ψ。


以往車身姿態角測量方案需在車身安裝多個傳感器,本文設計一個精簡的車身姿態測量方案,只需在車身質心處安裝一個三軸加速度傳感器,并以此為汽車平臺坐標系。
三軸加速度傳感器傳統意義上反映的是當前運動物體的線加速運動狀態。基于MEMS原理的加速度傳感器是利用慣性體的慣性形變從而測量加速度,反映的是合外力對載體運動加速度的影響。在平衡狀態下(包括汽車靜止或勻速運動),加速度傳感器反映的是地球的萬有引力加速度。當汽車平臺坐標系Oxyz與汽車導航坐標系OXYZ重合時,輸出的值用向量表示為當兩坐標系間有角度偏移時,輸出且加速度計測量值是重力加速度在汽車平臺坐標系三軸的分量。重力加速度的方向始終向下,大小為g(g為當地的重力加速度)。因此有:

根據式(1)和式(2)可得車身在平衡時的姿態角γ、θ:

由式(4)可知,在汽車平衡狀態下,加速度與汽車姿態角是一一映射關系。
汽車加速運動狀態可分解為:① 前向加速度或減速度(x軸);② 轉向時離心力作用下的離心加速度(y軸);③ 路面不平汽車上下搖擺的向心加速度(z軸)。多數情況下汽車運動是三個軸的加速度同時結合,下面將對其進行立體分析。由于汽車運動的特殊性,可以對其三維加速度作非線性分類,識別出汽車當前處于何種運動狀態,計算出加速度傳感器輸出的有害慣性分量,并可據此修正得到原始角度向量,從而映射出正確的姿態角。針對汽車運動模式可分類的特點,合外力的作用方向可以巧妙地估計出并被唯一的確定。

圖2 運動姿態參考基準分析
如何保證上述唯一性:① 汽車運動通常的姿態角度不大,除非是越野車翻越障礙時比較明顯,一般的轎車行走時俯仰角<30°、傾斜角<15°,據此可以有效地控制輸出結果的范圍;② 汽車運動有其慣常模式,例如左轉彎時必然導致車身向右側傾斜,向前加速時必然導致尾沉。因此,三軸加速度與實際的姿態角度必然有其內在對應關系,而這種排他的對應關系,為映射提供了一種選擇的規則參考;③ 在具體的神經網絡結構中,引入了狀態變量,即網絡輸入量不僅僅是三軸加速度的當前量,還包括其變化量,由此可以推導出當前的三軸加速度是由何種狀態過渡而來的,結合汽車運動慣常模式,利用簡單的推理機制解決了前文所述的帶有不確定性的嚴重非線性映射問題。
從上述可知,汽車無論是在平衡狀態下還是運動狀態下,汽車姿態角都能由三軸加速度唯一地確定,但是三軸加速度映射到姿態角是一個復雜的非線性特征和時變性的函數關系,難以建立精確的數學模型。傳統的方法需要先建立系統數學模型,再進行算法設計,最后在各種處理器上實現算法。在工程實際應用中依賴數學模型的控制方法日益受到制約,傳統方法應用于此不適合。本文利用神經網絡逼近任意非線性函數的能力,來模擬實際系統的輸入輸出關系;同時利用神經網絡的自學習自適應能力,可以方便地給出工程上易于實現的學習算法,經過網絡訓練最終得到系統的正向或逆向模型[8]。
目前應用最廣泛的神經網絡是BP神經網絡,大部分神經網絡模型是采用BP算法或它的演變形式,但它存在容易陷入局部極小值和對初始權值具有較強的依賴性問題。國內外許多學者對其進行了研究,提出了許多方法克服BP算法的缺陷。將遺傳算法與BP算法融合是有效方法之一,它充分利用了遺傳算法的全局搜索能力和BP算法的局部搜索能力,克服了BP算法容易陷入局部值、收斂速度慢的缺點[9]。
遺傳算法對神經網絡的優化包括對神經網絡結構和網絡權重的優化。網絡權重優化基本原理是利用遺傳算法選擇出最優個體,從個體得到優化后權重,通過選擇、交叉和變異操作找到最優適應度值對應的個體。遺傳神經網絡中如何定義適度函數非常關鍵,適度函數直接關系到最優個體即優化后權重。若輸出輸入樣本總數為n;輸出層節點為m;第p個樣本的第l個節點的期望輸出值為tpl;第p個樣本的第l個節點實際輸出值為opl,一般可用神經網絡誤差平方和的倒數作為適應度函數:

遺傳神經網絡先利用遺傳算法,全局搜索網絡權值,作為神經網絡的初始權值,再通過神經網絡訓練進一步修改權值,以達到精確求解。該網絡(GA-BP)算法分為三步:
(1)固定網絡結構和編碼生成初始種群。采用6-8-2型網絡結構,具體的結構如圖3 所示。輸入量為三軸加速度當前量和三者的增加量,結合當前的增加量可以得知其由何種狀態轉換而來,從而建立更加準確的映射關系。系統還引入陀螺儀實時輸出兩軸向的角加速度,將其輸出數值積分后得到實際姿態角作為神經網絡訓練樣本。采用實數編碼對權值和閥值進行編碼,它比二進制編碼更精確、更穩定。

圖3 神經網絡結構圖
(2)遺傳算法進化。對個體進行選擇、交叉和變異操作,并結合適應度函數求出最優個體。個體選擇算子采用輪盤賭法,交叉算子:若個體 x1、 x2交叉運算后得到兩個新個體其中為兩個新個體;a為交叉概率,在此a取值為 0.4。變異算子為:其中分別為變異前后的權值或閥值;λ為0到1的隨機數; Emax(t)為最大適應度的個體誤差。
(3)神經網絡訓練。從最優個體中提取權值和閥值作為網絡初始權值和閥值,再通過網絡訓練更改權閥值直至滿足系統誤差要求。GA-BP算法流程圖如圖4所示。

圖4 GA-BP算法流程圖
利用廉價的 FPGA、ADXL203型加速度計和ADXRS150型陀螺儀搭建硬件平臺,用大約6小時采集的6000組數據作為神經網絡訓練樣本,樣本由輸入信號(加速度)和訓練信號(姿態角)組成。加速度用單個加速度計采集,姿態角由陀螺儀采集角加速度,然后再通過積分得到數據。網絡需要利用樣本不斷地訓練直至陀螺儀反映的姿態角與經過網絡映射所得的姿態角的誤差滿足精度要求時,才固定網絡的連接權值和閥值,最后把陀螺儀從系統拆除,實現網絡本身映射姿態角。
經過訓練后,神經網絡(GA-BP)映射的俯仰角θ、傾斜角γ與陀螺儀(Gro)的輸出θd、γd相比如圖5所示。

圖5 神經網絡與陀螺儀輸出比較
圖(a)中曲線擾動幅度最大的兩處,分別是由于汽車行駛時加速(尾沉)和減速(點頭)引起前后傾斜。圖(b)中也有兩處大幅度擾動,分別是由汽車左右拐彎引起的右側傾斜和左側傾斜。經過訓練后的GA-BP神經網絡能精確映射出車身姿態角,其誤差小于0.03,滿足汽車運動姿態測量的精度要求,說明了該測量方案可行。神經網絡的并行結構使用傳統的軟件實現速度慢,可以利用FPGA的可配置性和并行性加速其實現。
本文設計一種精簡的汽車運動姿態測量方案,該方案只使用單個加速度計測量出汽車運動姿態,具有成本低、不需復雜的數學建模、適應性強等優點。本文通過將遺傳算法與 BP網絡結合起來,克服了 BP網絡的局部收斂缺陷,提高了神經網絡的學習速度和預測精度。并利用神經網絡的非線性映射能力、泛化能力和容錯能力解決上述方案非確定性的多輸入多輸出映射問題。詳細地分析了加速度映射姿態角,利用MATLAB進行仿真實驗,結果顯示,該方案滿足精度要求,確實可行。
[1]史臨潼,黃日昌,賴鵑,等.現代汽車安全舒適便捷系統綜述[J].汽車電器,2007,10.
[2]許林.現代汽車電子技術的發展前景[J].科技論壇,2007,4.
[3]秦勇,臧希喆,王曉宇,等.基于 MEMS慣性傳感器的機器人姿態檢測系統的研究[J].傳感技術學報,2007,20(2).
[4]高宗余,李德勝.多MEMS傳感器姿態測量系統的研究[J].電光與控制,2010,17(3).
[5]Xue Liang,Yuan Weizheng,Chang Honglong,et al.MEMS-based Multi-sensor Integrated Attitude Estimation Technology For MAV Applications[C]. Conference on Nano/Micro Engineered and Molecular Systems.China.2009,1.
[6]李怡凡,吳黎明,張力鍇.一種車身姿態的捷聯測量[J].傳感技術學報,2010,23(8).
[7]賈宏光,陳濤,張躍.基于四元數法的捷聯式慣性導航系統的姿態解算[J].光電精密工程,2008,10.
[8]王俊國.基于神經網絡的建模方法與控制策略研究[D].華中科技大學,2004,5.
[9]黃慶斌.BP算法的改進及其應用研究[D].西南交通大學,2010,5.