基于MEMS傳感器的飛行姿態測量系統設計

飛行姿態的測量對于無人機的控制起著至關重要的作用,針對傳統姿態測量方法在重量、體積、功耗等各方面不能滿足小型無人機要求的問題,提出一種基于MEMS傳感器的飛行姿態測量系統設計方案;在姿態解算過程中利用姿態融合算法對其姿態角進行了求解;給出了飛行姿態測量系統的硬件結構和軟件設計流程;與XW5100傳統慣性測量單元進行試驗對比,在50s的測試時間內,滾轉角和俯仰角的相對誤差均在±1°范圍內,滿足系統設計需要。
近年來,隨著無人機在科學研究方面的不斷深入,其在民用領域得到了廣泛應用。無人機飛行過程中,包括姿態角、三軸加速度和三軸角速率等所有姿態信息,都必須通過慣性測量單元實時反饋給飛行控制計算機,飛行控制計算機才能根據這些反饋的姿態信息實現無人機的控制。針對小型無人機而言,傳統的姿態測量方法并不能滿足其自身重量、體積、功耗等各方面的要求,而采用最新的微電子和MEMS(微機械電子系統)技術將微機械加速度計、微機械陀螺儀及外圍輔助電路集成得到的微型慣性測量單元則很好的解決了這一問題。基于此,本文利用MEMS傳感器設計了一種高測量精度且價格低、體積小的飛行姿態測量系統。它能有效避免XW5100、NAV440CA-200等傳統慣性測量裝置(IMU)在小型無人機應用中的不足,具有一定的實際意義和應用價值。
結合小型無人機自身功能對系統結構的要求,本文采用模塊化的設計思想對飛行姿態測量系統的總體結構進行了設計。其結構框圖如圖1所示。
系統主要包括上位PC機、CPU模塊、微型慣性測量單元和外圍輔助電路等幾個部分。其中PC機與CPU模塊之間通過RS-485通信模塊進行通信,并利用ZCC220L-232電子羅盤輸出的磁航向信息以提高系統測量精度。作為CPU模塊的核心部件,本文選用的是由ST公司生產的STM32F103RBT6單片機。同時采用MPU6050作為微慣性測量單元,對姿態角、三軸加速度和三軸角速率等姿態信息進行測量,并通過I2C接口形式實現了數據輸出。
CPU模塊
作為STM32系列一款高性能的32位單片機,STM32F103RBT6采用了專門的Cortex-M3內核,能夠滿足嵌入式系統高性能、低功耗、低成本的應用要求。與傳統ARM7HDMI內核相比,Cortex-M3內核在單周期乘法和除法、內置中斷控制器等各個方面都進行了優化;同時結合Thumb-2指令集的使用,使得該系列產品的處理速度和性能顯著提高、代碼容量明顯降低。另外,此種單片機具有豐富的外設接口,使其與其他模塊及設備之間可以直接相連;從而有效減小電路結構、便于PCB板的制作、有利于節約成本。
微型慣性測量單元

圖1 系統總體結構框圖
飛行姿態測量系統的微型慣性測量單元選用的是MPU6050(運動處理傳感器)。該傳感器內部集成有一個可擴展的DMP (數字運動處理器)以及利用MEMS制成的3軸加速度計和3軸陀螺儀。其中DMP支持不同系統的運作時間偏差,并擁有磁力感測器校正演算技術,能夠避免繁瑣的濾波和數據融合。MPU6050與外部數字傳感器之間可用I2C接口進行連接,擴展之后可輸出一個9軸的信號。
慣性傳感器可進行失調、靈敏度的校準及其在不同軸上的精確對準;另外,微處理器可對其進行動態補償,以保證傳感器的高精度輸出。STM32F103RBT6與MPU6050的硬件電路連接如圖2所示。

圖2 STM32F103RBT6與MPU6050接口原理圖

圖3 系統軟件流程圖
通過對不同姿態算法的適用情況和優缺點進行比較,本系統最終采用一種姿態融合算法進行姿態解算。該算法在姿態解算過程中首先對載體運動狀態進行判斷,并對各種姿態算法進行數據融合;然后針對不同的運動狀態選擇不同的解算方法進行求解。當載體靜止或勻速運動時,該算法直接利用電子羅盤和加速度計測得的姿態信息進行姿態矩陣的更新。當載體在進行變速運動而非旋轉運動時,該算法就利用陀螺數據在加速度計上一周期解算值的基礎上進行四元數解算。其求解方法選用的是四階龍格—庫塔法,求解公式如式(1)所示:

當載體在進行旋轉運動時,首先采用二次曲線擬合角速度,并對其進行優化處理;得到優化后的旋轉矢量三子樣算法如式(2)所示:


軟件開發平臺
本設計選用了Keil公司生產的能夠支持ARM、Cortex-M3核處理器的RealView MDK作為系統的軟件開發平臺,并使用U-LINK1進行硬件仿真和調試。作為一種集成了RealView編譯器與Keil μVision3開發環境的軟件開發工具,RealView MDK具有強大的性能分析和Simulation設備模擬功能,同時能夠自動配置啟動代碼。而硬件仿真器U-LINK1可以通過多種接口實現程序的高速下載及系統的仿真與調試。
軟件模塊設計
飛行姿態測量系統的軟件部分也采用了模塊化的設計方案,其工作流程如圖3所示。
系統軟件主要包括系統初始化過程、傳感器數據采集和預處理、系統任務調度及輔助功能模塊等幾個部分。
將飛行姿態測量系統與XW5100傳統慣性測量單元同向固定于同一水平面上,利用RS-485與PC機進行通信,并將輸出結果通過PC機進行保存。系統上電后,手動改變水平面的傾斜度,最后將飛行姿態測量系統與XW5100輸出的結果進行了對比,在50s的測試時間內,滾轉角和俯仰角的相對誤差均在±1°范圍內,滿足系統設計要求。
本文從硬件結構、姿態融合算法和軟件設計等幾方面入手設計了一種基于MEMS傳感器的飛行姿態測量系統。該系統適用于小型無人機飛行測試,具有高可靠性、低價格且結構輕巧等優點。通過與傳統慣性測量單元的試驗對比,結果表明其姿態測量精度較高、數據采集速度較快,能夠滿足小型無人機對飛行姿態測量系統設計需求。
10.3969/j.issn.1001- 8972.2016.20.028