關於MPU6050姿態解算的理解與認識

2021-07-10 17:30:01 字數 1020 閱讀 5386

謹以此紀念兩天以來的對電子羅盤的認識與學習

mpu6050常用作提供飛控執行時的姿態測量和計算,在在姿態結算中有幾個重要的概念,尤拉角、四元數等。

尤拉角:用來表徵三維空間中運動物體繞著座標軸旋轉的情況。即物體的每時每秒的姿態可以由尤拉角表出。

四元數:超複數,q=(q0,q1,q2,q3),q0位實數,q1,q2,q3為虛部的實數。簡單的可以理解為四維空間,就是原有的三維空間加入乙個旋轉角。而四元數可以表徵尤拉角,並且計算方便,故採用四元數來計算。在此還要提到加速度和磁力計補償原理,可以參照 部落格中提到的原理與基本概念。在此再囉嗦一下:補償的目的是使兩個座標系世界座標系和剛體座標系能夠完全重合,在此基礎上,計算補償值來修正旋轉矩陣,即四元數矩陣。最終的結果是解算出四元數的姿態,就是四元數矩陣的各個元素的值。按照上述部落格中的程式解算四元數的時候,用到了kp和ki兩個引數,兩個引數的作用是用來控制矯正剛體座標系速度的。即調節加速度和磁力計補償的速度(調節誤差的生成速度,進而調節剛體座標系和世界座標系的重合度)

加速計補償的理解:

由於重力加速度的原因,加速計只能補償x-y軸的偏差,即經過解算後的座標中世界座標xoy和剛體座標xoy能夠重合,但是無法補償航向角。

在此基礎上,利用磁力計進行補償,因為當地磁場是乙個橢圓,所以我們把世界座標系的x-aixs軸對準真實世界的北方,這樣,磁場園只能在xoz的平面圓裡面,所以磁力計在世界座標系中的分量是[i,0,k],即在y軸沒有分量,因為90度的夾角余弦為0.但此時i和k的值並不確定是多少。在剛體座標系中磁力計的輸出為[a,b,c,],旋轉到和世界座標系中,計算出i和k,然後,在經過旋轉把其旋轉到剛體座標系中,然後計算誤差修正旋轉矩陣,此時得到精確的旋轉矩陣。

姿態角解算(MPU6050 加速度計加陀螺儀)

本文持續更新 i2c通訊 ahrs是自動航向基準系統 automatic heading reference system 的簡稱。目前,使用四元數來進行ahrs姿態解算的演算法被廣泛採用於四軸飛行器上。imu部分 imu是慣性測量裝置 inertial measurement unit 的簡稱,通...

MPU6050單軸雙漿姿態平衡PID調戲之姿態解算

最近看群裡部分小夥伴對於6050如何計算姿態比較感興趣,自己也想對這段時間的學習做個總結,這次來說說姿態計算的方法,其實還不懂其中數學原理,正好自己也當作學習。一定要確認mpu6050的加速度計 ax,ay,az,陀螺儀 gx,gy,gz的資料沒有問題。比如一下幾種 1.初始化後,靜止平放的時候,資...

關於MPU6050陀螺儀模組的測量誤差分析

本專案中使用的是 mpu6050 模組,如圖 1所示。該模組整合了一片 mpu6050 晶元和一片 stm8s003f3p6 微控制器,具有串列埠和 i2c介面。mpu6050中的dmp 數字運動處理器 對姿態進行融合,stm8微控制器通過iic讀取dmp的處理結果,再新增上包頭序列輸出三軸加速度 ...