曹景偉,朱寶全
(東北林業大學 交通學院, 哈爾濱 150040)
改革開放以來,我國科學技術得到迅速發展,人民生活水平逐步提升,汽車已經成為人們日常生活中不可或缺的代步工具。汽車保有量的逐年攀升導致道路交通事故頻發,汽車安全性已經成為人們日益關注的焦點。汽車安全技術已經成為當今汽車系統主要的研究方向之一。汽車安全技術需要諸多精確的汽車行駛狀態參數,以此來確定汽車是否處于一種相對安全的運行狀態[1-3],因此汽車在各種工況下的運動姿態測量對于保障汽車的安全性顯得尤為重要。
慣性技術產生于20世紀初,到目前為止已有百余年研究歷史。傳統上一般采用機械轉子陀螺構成機械平臺對汽車運動姿態進行實時測量,但是由于測量平臺體積較大、安裝不便、運行不穩定,極大地影響了實驗數據的采集和結論的判定[4]。近年來,MEMS(micro-electro-mechanical system)傳感器技術得到迅猛發展,因其具有體積小、成本低、能耗低、功率高、靈敏度高等諸多優點,在汽車運行狀態測量方面得到了廣泛應用[5-7]。
汽車運動姿態解算方法包括歐拉角法、方向余弦法和四元數法等。在使用歐拉角法求解姿態微分方程時,如果俯仰角低于90°,計算結果較為準確,如果俯仰角接近90°,方程會出現退化現象[8-10]。方向余弦法可以避免歐拉角法方程退化的現象發生,但在求解過程中要計算9個聯立微分方程,計算量較大,且實時解算比較困難,在工程上并不實用[11]。意大利比薩大學的Angelo M.Savatin[12]提出基于四元數的擴展卡爾曼濾波算法,同時在求解過程中引入自適應的測量噪聲協方差來減少線性加速度和周圍局部磁場的干擾,較好地提高了姿態測量精度。
本文針對汽車實際運行環境,運用集MEMS陀螺儀和加速度計為一體的MPU-6050傳感器模塊進行汽車運動姿態測量,為研究汽車在不同運動姿態下的運動規律、提高汽車行駛安全性提供一定的參考依據。
汽車運行姿態測量主要利用MEMS傳感器技術,通過集MEMS陀螺儀和加速度計為一體的MPU-6050傳感器模塊采集運行姿態數據。實驗時首先將MPU-6050傳感器模塊安裝在一個立方體小盒中,同時將其固定于汽車質心位置處,并保證汽車與MPU-6050傳感器模塊固結于同一坐標軸上。MPU-6050傳感器模塊將采集到的數據經坐標變換和姿態解算后,以加速度包、角速度包和角度包3個數據包的形式傳至上位機,然后通過顯示器實時顯示三軸加速度、角速度和角度的曲線變化。汽車在不同運動姿態下的姿態數據可以隨時記錄,形成固定文件并保存在存儲模塊中,可以隨時打開并導入Matlab中,方便日后的分析與整理。
汽車運行姿態測量所用到的主要硬件包括MPU-6050傳感器模塊、數據處理單元、顯示器、存儲模塊以及車載直流電源等。MPU-6050傳感器模塊內部集三軸MEMS陀螺儀和三軸加速計為一體,可以實時采集汽車運動時的三軸加速度、角速度和角度。數據處理單元將采集到的數據進行坐標變換和姿態解算處理,以加速度包、角速度包和角度包的形式傳至上位機。顯示器內置上位機,將數據處理單元發送過來的3個數據包順序輸出,生成可以實時顯示的隨時間不斷變化的動態曲線。上位機可以隨時開始記錄所需要的數據,并在數據采集結束之后停止記錄,數據被保存在存儲模塊中,可以隨時打開已存數據,便于進一步的整理與分析。
MPU-6050傳感器模塊將三軸MEMS陀螺儀、三軸加速計與單一傳感器模塊整合在一起,同時融合九軸運動感測演算技術的六軸運動處理組件,其內部自帶電壓穩定電路,可以兼容3.3 V/5 V的嵌入式系統,連接便捷。傳感器模塊采用先進的數字濾波技術,配合動態卡爾曼濾波算法,能有效降低測量噪聲,可以實現動態準確輸出,測量精度可以精確到0.01°,可靠性高,具有良好的綜合性能。
本研究使用的MPU-6050傳感器模塊簡圖如圖1所示,技術參數如表1所示。

圖1 MPU-6050傳感器模塊簡圖

表1 MPU-6050傳感器模塊技術參數
MPU-6050傳感器模塊在3個方向上分別采用了一個AD轉換器,將角度的變化信息轉換為數字量進行輸出,同時3個方向的角速度值通過積分得到角度值。如圖2所示,MEMS陀螺儀與CPU之間采用I2C時序通信,其基準電壓通過上拉電阻接3.3 V電源。此外,MEMS陀螺儀具有轉換完畢的信號線,該信號線與CPU的外部中斷口相連,CPU可以通過中斷方式或者查詢方式讀取陀螺儀的狀態。

圖2 陀螺儀電路原理
載體導航坐標系OXYZ和載體平臺坐標系Oxyz是汽車運動姿態測量中重要的2個坐標參考系,如圖3所示。載體導航坐標系OXYZ的原點隨汽車重心移動,同時其與地球慣性坐標系的Z軸保持平行;載體平臺坐標系通常固定于車身,當車身姿態發生變化時,3軸向隨即發生改變。汽車運動姿態測量實際上就是對載體平臺坐標系Oxyz相對于載體導航坐標系OXYZ的角度偏移量進行測量。姿態角一般包括3個:俯仰角α(z軸與OXZ平面的夾角)、橫滾角β(x軸與OXY平面的夾角)、航向角γ(y軸與OYZ平面的夾角)。

圖3 坐標系與姿態角
剛體在三維空間的轉動用歐拉角進行表示,坐標參考系可以按照先后順序,以繞著轉動軸轉動的形式從最初的參考系到三維空間內任意的參考系。所謂的載體平臺的空間姿態實質上為平臺從起始位置依次繞Z軸、X軸、Y軸做基本旋轉后到下一位置的復合結果,如圖4所示。根據需要,平臺初始位置所在的坐標系為O-X0Y0Z0,當運動到任意位置時所在的坐標系為O?-X?Y?Z?,平臺的任意運動可以分解為平臺繞X、Y、Z軸的基本旋轉,順序依次為:Z0軸旋轉到O′-X′Y′Z′,繞X0軸旋轉到O″-X″Y″Z″,繞Y0軸旋轉到O?-X?Y?Z?。
(1)
式中:(X?,Y?,Z?)為平臺經坐標系旋轉后的空間位置坐標;(X,Y,Z)為空間起始位置坐標。

圖4 坐標變換
各次基本旋轉對應的變換矩陣為

(2)
式中:α為俯仰角(°);β為橫滾角(°);γ為航向角(°)。
如果α、β、γ都為較小角度時,則忽略較小角度之間的高階小量,簡化旋轉矩陣為
(3)
式中:α為俯仰角(°);β為橫滾角(°);γ為航向角(°)。
在使用上述簡化旋轉矩陣時,定義俯仰角(pitch)為在空間內平臺繞Y軸旋轉角度,橫滾角(roll)為在空間內平臺繞X軸旋轉角度,航向角(yaw)為在空間內平臺繞Z軸旋轉角度,如果平臺起始位置為水平時,則俯仰角、橫滾角和航向角為0。
對車身姿態進行測量要分別確定俯仰角、橫滾角和航向角的大小。當汽車處于靜止或勻速直線運動狀態時,三軸加速度計的輸出值實際為重力加速度在3軸方向上的分量值,其傾角可以根據求解反三角函數得到。但當汽車處于高速運動狀態時,加速度計會受到除重力加速度以外的加速度的影響,此時如果繼續采用加速度計計算傾角則會產生較大的誤差,影響數據的準確性。
為了解決這個問題,加入MEMS陀螺儀對當前角速度變化進行輔助測量,可以在瞬間實現對角速度變化的積分且將計算數據累加在一起,快速得到傾角。然而,由于MEMS陀螺長時間使用會造成靜態零點漂移誤差,使有時計算的傾角并不準確,因此在實際姿態測量中要將MEMS陀螺儀和加速度計測量的數據進行濾波融合,才能輸出準確的姿態角。
MPU-6050傳感器模塊內置三軸陀螺儀L3G4200D,它能將3軸角速度動態輸出,其輸出值可以實現最高16位的精度,測量范圍可以實現最大±2 000(°)/s。
利用陀螺儀可以在平臺動態條件下實現積分累加計算,且測量傾角相當準確。由于陀螺儀存在靜態偏置誤差,所以在測量之前要對陀螺儀進行零點偏置補償。
設陀螺儀在X、Y、Z三軸的輸出值分別為 GyroX、GyroY和GyroZ,零點偏置為GyroX_offset、GyroY_offset、GyroZ_offset,則各軸對角速度積分即為平臺繞該軸旋轉的角度,有:
(4)

(5)

(6)
式中:angleGα為陀螺儀計算俯仰角(rad);angleGβ為陀螺儀計算橫滾角(rad);angleGγ為陀螺儀計算航向角(rad)。
MPU-6050傳感器模塊采用的加速度計為3軸數字輸出的加速度計ADXL345,這是一種低成本、低功耗的測量元件,可以良好地測量3軸加速度的方向和大小,且各軸的測量輸出值可以實現最高16位精度,測量值范圍最大可達±16g。圖5為加速度計的輸出值方向和大小示意圖。

圖5 加速度計輸出值示意圖

(7)


(8)

(9)

(10)
式中RX、RY、RZ分別為三軸歸一化的結果(m/s2)。
由本文定義并根據圖3可算得

(11)
式中α為俯仰角(°)。

(12)
式中β為橫滾角(°)。

(13)
式中γ為航向角(°)。
系統軟件在整體運行過程中的上位機軟件執行流程如圖6所示。

圖6 上位機軟件執行流程
在數據正式采集之前,首先要初始化配置程序,上位機中可以自動檢測并判斷串口上是否有信號,如果串口上有信號,則自動連接完成,進行下一步的數據采集。數據正式采集時,首先要對角度的正負進行判斷,此時要通12位二進制的最高位進行0和1的判斷,0表示數據為正,1表示數據為負。然后要對檢測數據是否在非線性區間進行判斷,如果在非線性區間,要調用非線性修正程序進行修正,同時完成存儲;如果不在非線性區間,則直接存儲。在設置程序中,設置達到50個數據進行1次誤差處理,假若沒有達到50個數據則重復往復步驟,直至完成數據的顯示與存儲。
打開顯示器中上位機的設置界面,如圖7所示。首先點擊串口配置,選擇合適的COM串口,然后點擊波特率,選擇115 200 bit/s作為默認波特率。在設置選項中,包括語言、輸出速率、靜止檢測門限、帶寬、方向、Z軸角度歸零和加速度計校準等諸多選擇欄,語言包括中文和英文,可自由切換。輸出速率默認選擇1 Hz。靜止檢測門限在0.122~1.831(°)/s可供選擇,默認選擇0.488(°)/s。帶寬在5~260 Hz可供選擇,默認選擇21 Hz。方向包括水平和垂直,默認選擇水平。Z軸角度歸零和加速度計校準在數據采集前初始化。

圖7 上位機的設置界面
MPU-6050傳感器模塊將經姿態解算后的數據傳至上位機,每幀數據以加速度包、角速度包和角度包的形式順序輸出。同時可自定義波特率,定義波特率為115 200 bit/s時,每隔10 ms輸出1幀數據,定義波特率為9 600 bit/s時,每隔50 ms輸出1幀數據。
在不同的汽車運動姿態下,測量出的3軸加速度、角速度和角度的變化有顯著區別。為研究汽車在不同運動姿態下的運動規律,可以在不同的運動姿態下記錄當時的3軸加速度、角速度和角度的曲線變化。以實際道路實驗為例,實驗車輛進行了4次加減速實驗,且在經過每2次加減速實驗之后重新回到車輛起動位置。汽車當時的運動狀態通過ScanMaster-ELM軟件實時監測,該軟件與汽車OBD(on board diagnostics)系統通過藍牙無線連接,可以實時測量汽車當時運動狀態下的車輛參數,如圖8所示。

圖8 當時運行狀態下車輛參數變化曲線界面
當汽車開始實驗時,點擊上位機中的記錄選項,數據開始保存,形成文件并保存在存儲模塊中。當數據采集結束時,點擊停止選項,數據停止記錄。實驗數據文件可直接導入到Matlab軟件中,編譯運行后得到當時運動姿態下3軸加速度、角速度、角度以及傳感器模塊溫度的曲線變化,如圖9所示。實驗結果表明:汽車運動姿態角度變化與汽車當時的運行狀態保持一致。

圖9 三軸運動姿態角度變化曲線
圖10為實驗所得汽車運動姿態估計誤差曲線,可以直觀地看出估計誤差相對較小,沒有超過1°,能夠滿足汽車運動姿態測量的基本要求。

圖10 運動姿態估計誤差曲線
本文針對在汽車運動姿態測量上存在的傳統實驗平臺體積較大、安裝不便、運行不穩定等問題,由集MEMS陀螺儀和加速度計為一體的MPU-6050傳感器模塊采集3軸加速度、角速度和角度數據,經濾波融合與姿態解算后,通過顯示器中的上位機界面實現對汽車運動姿態測量數據的實時顯示和存儲保存。實驗結果表明:應用MEMS陀螺儀和加速度計的汽車運動姿態測量精度較高,受外界影響較小,具有良好的可靠性,可為進一步研究汽車在不同運動姿態下的運動規律,提高汽車行駛安全性能提供一定的參考依據。
參考文獻:
[1] 趙靈.基于MEMS陀螺儀的穩定平臺關鍵技術研究[D].南京:南京理工大學,2012.
[2] 都雪靜,田雨蒙.全鋁車身電動轎車正面碰撞仿真[J].重慶理工大學學報(自然科學),2016,30(8):20-26.
[3] 趙鋒,金智林,馮博,等.追尾碰撞的車輛穩定性分析與控制[J].重慶理工大學學報(自然科學),2016,30(5):20-26.
[4] 閆冬,管欣,高振海.基于MEMS技術的微慣性傳感器及在汽車上的應用[J].汽車技術,2006(2):1-6.
[5] 劉付強.基于MEMS器件的捷聯姿態測量系統技術研究[D].哈爾濱:哈爾濱工程大學,2007.
[6] 吳黎明,張力鍇,李怡凡.基于ANN和單個三軸加速度傳感器的汽車運動姿態測量[J].傳感技術學報,2011(6):923-927.
[7] 趙玲,李文靖,李長安,等.基于ADIS16355的汽車駕駛操作信號采集系統[J].電子技術應用,2012(2):37-39.
[8] 王建鋒,張紅,李平.基于MEMS器件的車輛姿態測量系統開發[J].中國科技論文在線,2015,10(19):2281-2286.
[9] 包瑞新.車輛姿態多傳感器檢測系統與信息融合算法研究[D].沈陽:沈陽農業大學,2011.
[10] 李祥云.基于多維加速度傳感器的車輛姿態測量系統研究與設計[D].哈爾濱:哈爾濱工業大學,2015.
[11] 任亮,白國柱,周經美等.基于MEMS的車輛姿態感知系統[J].計算機系統應用,2014,23(8):84-89.
[12] ANGELO M S.Quaternion-Based Extended Kalman Filter for Determining Orientation by Inertial and Magnetic Sensing[J].IEEE Transactions on Biomedical Engineering,2006, 53(7):112-119.