《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的四旋翼飛行器的姿態最優估計研究
基于STM32的四旋翼飛行器的姿態最優估計研究
2015年電子技術應用第12期
何 川1,李 智1,2,王勇軍2
1.桂林電子科技大學 電子工程與自動化學院,廣西 桂林541004; 2.桂林航天工業學院無人遙測重點實驗室,廣西 桂林541004
摘要: 為了解決傳感器自身累計誤差和周圍環境隨機誤差對姿態最優估計影響的問題,提出了一種基于STM32的姿態解算系統設計方案。該系統由低成本的航姿參考系統(AHRS)和STM32F405微處理器組成。采用四元數坐標換算,將陀螺儀、加速度計和磁羅盤三者數據進行融合,姿態偏差采用雙環PI控制器進行修正,并采用互補濾波算法解算出飛行器姿態信息。搭建了四旋翼飛行器半實物仿真平臺,模擬飛行器空中懸停時姿態。實驗結果表明,該系統較好地解決了噪聲干擾與姿態最優估計問題,實現了長時間穩定地輸出準確可靠的姿態數據的要求。
中圖分類號: V249
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.016

中文引用格式: 何川,李智,王勇軍. 基于STM32的四旋翼飛行器的姿態最優估計研究[J].電子技術應用,2015,41(12):61-64.
英文引用格式: He Chuan,Li Zhi,Wang Yongjun. Research on attitude optimal estimation of quad-rotor aircraft based on STM32[J].Application of Electronic Technique,2015,41(12):61-64.
Research on attitude optimal estimation of quad-rotor aircraft based on STM32
He Chuan1,Li Zhi1,2,Wang Yongjun2
1.School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004 China; 2.Key Laboratory of Unmanned Aerial Vehicle Telemetry,Guilin University of Aerospace Technology,Guilin 541004,China
Abstract: To eliminate the cumulative errors caused by sensor and the impact of posture optimal estimation created by surrounding environment random errors, a quad-rotor attitude algorithm system based on STM32 is discussed in this paper. The system includes microprocessor ST32F405 and low-cost AHRS. Using quaternions coordinate conversion, the system fuses the data of gyroscope, accelerometer and magnetic compass, the attitude deviation adopts double loop PI controller and uses complementary filter algorithm to calculate aircraft attitude information. And a semi-physical simulation platform of the four rotor wing aircraft is built to simulate the attitude of the aircraft. Experiments prove that the attitude algorithm system solves the noise interference and optimal estimation of attitude and achieves the requirement of steady, accurate and reliable data output for a long time.
Key words : quad-rotor aircraft;attitude algorithm;quaternions;complementary filter;PI control

     

0 引言

    姿態最優估算是飛行器自主飛行的先決條件,在飛行過程中,實時準確地獲得飛行器的姿態信息,可以決定飛行器的控制精度和穩定性[1]。隨著微電子技術的發展,飛行器姿態解算系統普遍采用低成本的航姿參考系統(AHRS),其主要包括:基于微機電系統(MEMS)的三軸陀螺儀、三軸加速度計和三軸磁羅盤。由于系統機械結構和傳感器自身三軸并非完全正交,引入了不正交誤差,以及數據積分產生的發散誤差和外部干擾產生的隨機誤差。因此要估計飛行器姿態的最優信息必須對多傳感器進行誤差處理,并尋求最佳數據融合算法。

    目前國內對MEMS傳感器姿態解算系統研究的常用算法有:擴展卡爾曼濾波、梯度下降法、互補濾波等。擴展卡爾曼濾波應用非常廣泛,但為其建立可靠穩定的狀態方程、確定合適的量測噪聲和過程噪聲協方差矩陣都比較困難。梯度下降法的好處在于姿態解算過程只有普通的乘法和加法運算,普通的微控制器即能滿足算法要求,但難點在于構造合適的目標函數[2]。本系統在Mahony[3]提出的補償濾波器的基礎上進行優化,采用雙環補償濾波算法,外環引用重力場和地磁場進行補償,內環引用重力場進行補償,并將修正后的陀螺儀和磁羅盤進行互補濾波,以期得到最優姿態輸出。

1 飛行器姿態描述

    飛行器常用的姿態描述方法有歐拉角、方向余弦矩陣和四元數三種。三維空間中,飛行器有3個轉動自由度,分別可以通過3個角度參數來描述飛行器的姿態,分別定義為:繞機體坐標系的Z軸轉動為偏航角Ψ;繞X軸轉動為橫滾角φ;繞Y軸轉動為俯仰角θ[4]

ck4-gs1.gif

ck4-t1.gif

    由于載體的運動,四元數Q=[q0  q1  q2  q3]T是變量,q0、q1、q2、q3是時間函數。剛體繞瞬時轉軸ck4-t1-x1.gif轉過σ角度來實現坐標的轉換。ck4-t1-x1.gif為參考坐標系下的一個單位矢量,其角速度為:

    ck4-gs2.gif

    機體坐標系n和地理坐標系b之間的變換也可以用四元數的三角形式表示[6]

    ck4-gs3.gif

    在忽略地球的自轉和公轉運動對四旋翼飛行器造成的影響,并假設飛行器為剛體運動且質量分布對稱、均勻,中心為重心位置且不隨著運動而發生變化[7],則四元數矩陣表達式Q的微分方程解為:

    ck4-gs4.gif

ck4-gs5.gif

2 飛行器姿態解算系統構建

2.1 系統硬件

    本姿態解算系統硬件主要包括主控制器和航姿參考系統(AHRS)。其中主控器采用ST(意法半導體)公司的Cortex-M4為內核的32位ARM微控制器STM32F405RGT6;航姿參考系統采用2款高精度的姿態傳感器,分別為:InvenSense公司的MPU-6500和ST公司的LSM303D,構成了一個九軸的姿態測量系統。傳感器均選用數字芯片,內部均集成有高精度的ADC。主控制器通過SPI總線,讀取出傳感器采集到的原始數據,然后通過四元數的坐標換算、姿態誤差的雙環PI控制和互補濾波解算出歐拉角。姿態解算系統框圖如圖2所示。

ck4-t2.gif

2.2 傳感器數據標定

    在數據融合之前需要對傳感器測量得到的原始數據進行標定,從而消除傳感器的零點偏置誤差。陀螺儀消除偏置誤差的方法是保持器件水平位置不變,多次采集后求取輸出平均值;加速度計消除偏置方法為八面校準法,將飛行器姿態解算系統保持機頭方向不變,正面朝上、下、左、右、前、后和機頭朝上、機頭朝下。在這八種狀態下分別測量三軸加速度計ADC輸出的X、Y、Z三軸的最大最小值,并與±1 g(重力加速度)所對應的ADC數值進行校準;磁羅盤零點數據誤差采用橢圓假設法進行標定,將姿態解算系統分別在坐標系下XOY和XOZ兩個平面內360°旋轉,并將采集到的數據用MATLAB軟件擬合成橢圓,然后修正橢圓的偏心和半徑。

3 系統數據融合與姿態解算

    系統姿態解算分為兩個部分。第一部分是雙環PI控制器修正數據融合后傳感器偏差。第二部分為修正后的三軸陀螺儀與三軸磁羅盤進行互補濾波,消除磁羅盤的高頻干擾,提高磁羅盤的響應能力和抗干擾能力。姿態解算流程圖如圖3所示。

ck4-t3.gif

3.1 雙環PI控制器

    陀螺儀可以快速響應機體的旋轉,短時間誤差較小、可信度高,但是存在溫漂和零漂,以及積分誤差隨時間累積等因素影響。加速度計在靜止的狀態下漂移很小,傾角求解過程不存在積分誤差,但是受到飛行過程中電機和機架的振動以及轉動和運動加速度的干擾。磁羅盤測量得到的地磁向量在一定地理范圍內可以認為不會發生改變,但是,磁羅盤容易受到硬磁場和軟磁場的干擾。

    因此,系統外環采用九軸姿態傳感器(三軸加速度計、三軸磁羅盤和三軸陀螺儀)數據融合。由于磁羅盤容易受到干擾,有可能導致外環九軸數據融合后依舊存在較大誤差,所以,內環采用六軸姿態傳感器(三軸加速度計和三軸陀螺儀)數據融合,對數據融合后的傳感器姿態偏差進行二次修正。

    外環九軸姿態傳感器數據融合,記在飛行器機體坐標系下an=[ax  ay  az]T和mn=[mx  my  mz]T分別為加速度計和磁羅盤實際測量得到的重力向量和地磁向量。記vn=[vx  vy  vz]T和wn=[wx  wy  wz]T是將地理坐標系下重力向量kb=[0  0  1g]T和地磁向量nb=[nx  0  nz]T(不考慮地理磁偏角因素,將機頭固定向北)通過四元數坐標換算成機體坐標系下的重力向量和地磁向量。向量之間的誤差為坐標軸的旋轉誤差,可以用向量的叉積en=[ex  ey  ez]T表示,如式(6)所示。由于陀螺儀是對機體直接積分,所以,陀螺儀的誤差可以體現為機體坐標的誤差。因此修正坐標軸的誤差可以達到修正陀螺儀誤差的目的,從而將加速度計和磁羅盤進行修正陀螺儀,實現了九軸的數據融合。即如果陀螺儀按照叉積誤差的軸,轉動叉積誤差的角度,就可以消除機體坐標上實際測量的重力向量和地磁向量和坐標換算后的重力向量和地磁向量之間的誤差。

    ck4-gs6.gif

    PI調節器的比例部分用于迅速糾正陀螺儀誤差,積分部分用于消除穩態偏差[7]。通過大量實驗驗證后取PI調節器的比例系數為1.0,積分系數為0.2。陀螺儀經過外環PI控制器修正姿態誤差后輸出值為gn=[gx  gy  gz]T

ck4-gs7-9.gif

3.2 互補濾波

    本系統姿態解算的第二部分是磁羅盤的修正,主要采用互補濾波算法?;パa濾波算法簡單可靠且對器件精度要求低。互補濾波的目的在于將陀螺儀和磁羅盤各自在頻域角度上進行互補。因為磁羅盤動態響應能力差且易受外界環境的干擾,而陀螺儀動態響應快,故可在頻域上將二者形成互補,即對磁羅盤低通濾波,對陀螺儀進行高通濾波。如圖4所示,將修正后得到的陀螺儀數據與磁羅盤數據進行互補濾波,即可消除磁羅盤的高頻干擾。

ck4-t4.gif

    ck4-gs10.gif

    如式(10)所示,r為互補濾波中的權值,r值越大,證明陀螺儀占的權重越大。

4 姿態解算結果分析

    為了驗證姿態解算系統在多旋翼飛行器實際飛行過程中的性能,搭建了一個半實物仿真平臺。將基于STM32的姿態解算系統的四旋翼飛行器機頭朝向地理正北方,機架底部水平固定在萬向節一端,萬向節另外一端固定在水平的桌面上。啟動四旋翼飛行器電機,將飛行器油門通道值保持在空中懸停狀態,及四個螺旋槳產生的向上的合力等于飛行器自身重力。然后,通過串口讀取出傳感器采集到的原始數據以及姿態解算后的數據,并用MATLAB進行數據分析。

    圖5中采集的是模擬定點懸停時俯仰角和橫滾角。由于單純地通過陀螺儀采集得到的角速度進行積分得到角度會產生積分誤差,并且積分誤差會隨著時間進行累加,所以未進行姿態解算所得到的姿態角零點誤差會不斷變大。圖中的2條線分別代表姿態解算后的橫滾角和俯仰角。由于采用了雙環PI修正陀螺儀,所以姿態角零點誤差與解算前相比不會隨著時間累計不斷變大。但是由于姿態解算系統處于四旋翼飛行器模擬定點懸停狀態,所以,電機引起的機架振動、載體重力分布不均、機械連接處阻尼問題等因素,導致零點誤差相對于水平放置在桌面上時的靜態零點誤差,偏差較大且波動相對厲害。零點誤差基本穩定在±2.2°以內。隨著時間的推移,零點誤差逐步趨近平穩,可以滿足四旋翼飛行器對姿態數據的要求。

ck4-t5.gif

    圖6中測試結果分別代表磁羅盤姿態解算前采集的數據和姿態解算后測量的數據。本系統采用的互補濾波算法中權值r取0.15,偏航角以磁羅盤采集的數據為主,數據融合后的陀螺儀只進行輔助修正??梢杂^測到細線代表的是沒有使用濾波算法的磁羅盤測量的偏航角,零點誤差相對較大,達到了±3°左右,而且上下波動也很大,表示磁羅盤受到外界環境嚴重干擾。粗線代表磁羅盤和陀螺儀經過互補濾波后采集得到的偏航角,消除了部分干擾信號,上下波動明顯減弱,并且誤差穩定保持在±1.7°以內。由于磁羅盤自身具有不可忽略的零位、靈敏度及非正交誤差,因此通過軟件算法無法徹底消除零點誤差。

ck4-t6.gif

5 結論

    旋翼飛行器飛行過程中獲得姿態最優估計是飛行器系統穩定運行的根本保障。本文基于四元數坐標換算,將地理坐標系下的重力向量和地磁向量換算到機體坐標系下。然后通過修正坐標系旋轉誤差,實現了多傳感器的數據融合,避免了陀螺儀零點積分誤差的累積,并將修正后的陀螺儀與磁羅盤進行互補濾波,消除了磁羅盤的高頻干擾。實驗表明:經過雙環PI控制修正姿態偏差的陀螺儀,俯仰角和橫滾角零點動態誤差保持在±2.2°左右;互補濾波后的磁羅盤消除了部分高頻干擾,偏航角誤差保持在±1.7°左右。本文設計的姿態解算系統較好地解決了噪聲干擾與姿態最優估計問題,并在半實物仿真平臺上得到了驗證,實現了長時間穩定地輸出準確可靠的姿態數據,滿足了四旋翼飛行器飛行控制對姿態信息的要求。

參考文獻

[1] 張浩,任芊.四旋翼飛行器航姿測量系統的數據融合方法[J].兵工自動化,2013,32(1):28-31.

[2] 杜杉杉,吳昊,張繼文,等.一種面向AHRS的改進互補濾波融合算法[J].國外電子測量技術,2015(3):13-18.

[3] MAHONY R,HAMEL T.Complementary filters on the special orthogonal group[C].IEEE Transactions on Automatic Control,2008,53(5):1203-1218.

[4] 張天光,王秀萍,王麗霞.捷聯慣性導航技術[M].北京:國防工業出版社,2007:15-16.

[5] 鄧正隆.慣性技術[M].哈爾濱:哈爾濱工業大學出版社,2006:10-11.

[6] 李一波,宋述錫.基于模糊自整定PID四旋翼無人機懸停控制[J].控制工程,2013(5):910-914.

[7] 廖懿華,張鐵民,廖貽泳.基于模糊-比例積分偏差修正的多旋翼飛行器姿態測算系統[J].農業工程學報,2014(20):19-27.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩亚洲v在线观看 | 黄 色 免费网 站 成 人 | 亚洲欧美日韩中文字幕在线一区 | 精品国产一区二区三区成人 | 国产精品视频免费播放 | 天天好逼365| 国产精品欧美亚洲韩国日本 | 国产福利在线 | 成人网在线看 | 在线成人 | 欧美日在线观看 | 中文字幕激情视频 | 妞干网免费 | 国产精品免费看久久久麻豆 | 日韩成人在线观看 | 丝袜足控免费网站 | 国产papa| 特级片毛片 | 波多野结衣国产一区 | 欧美一级精品 | 天天澡天天摸天天爽免费 | 欧美在线视频一区二区三区 | 欧美成人免费sss | 欧美一区二区三区免费不卡 | 亚洲va视频 | 手机在线视频成人 | 欧美精品99久久久久久人 | 欧美第一页在线 | 亚洲视屏一区 | 国产中文字幕久久 | 丁香综合在线 | 国产欧美一区二区三区观看 | 伊人热热久久原色播放www | 欧美日韩一二三四区 | 亚洲天堂久久精品 | 在线亚洲不卡 | 麻豆一区二区三区四区 | 国产亚洲视频在线播放大全 | 日韩一区二区中文字幕 | 欧美精品1 | 精品国产品国语在线不卡丶 |