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

2021-10-23 22:06:10 字數 3572 閱讀 6553

本文持續更新…

i2c通訊

ahrs是自動航向基準系統(automatic heading reference system)的簡稱。目前,使用四元數來進行ahrs姿態解算的演算法被廣泛採用於四軸飛行器上。

imu部分:

imu是慣性測量裝置(inertial measurement unit)的簡稱,通常包含陀螺儀和加速度計。

1.陀螺儀:測量的是角速度,即物體轉動的速度,把速度和時間相乘,即可以得到某一時間段內物體轉過的角度。(但是積分運算得來的角度本身就存在誤差,隨著時間的累加,誤差會加劇,此時就需要加速度計輔助計算出姿態角度)

2.加速度計:測量的是物體的加速度,我們知道,重力加速度是乙個物體受重力作用的情況下所具有的加速度。當物體處於靜止狀態時,加速度計測量出來的值就等於重力加速度1g, 約等於9.8公尺每平方秒。重力加速度g的方向總是豎直向下的,通過獲得重力加速度在其x軸,y軸上的分量,我們可以計算出物體相對於水平面的傾斜角度。典型的imu慣性測量晶元為mpu6050,它被廣泛採用在四軸飛行器上。

mpu6050便是這兩種感測器結合測出姿態角,通常運用卡爾曼濾波得出最終角度

根據加速度計和地磁計的資料,轉換到地理座標系後,與對應參考的重力向量和地磁向量進行求誤差,這個誤差用來校正陀螺儀的輸出,然後用陀螺儀資料進行四元數更新,再轉換到尤拉角

陀螺儀的角速度測量:假如他的速度是1度沒秒,那麼通過速度乘以時間,我們就可以知道他距離起點走了多少度。

加速度計來測量傾角:乙個簡單的例子如下: 乙個單軸的加速計位於重力水平面上的時候,它在垂直方向上受到的加速度為1g,在水平方向上受到的加速度為0。當我們把它旋轉乙個角度的時候,就會在水平軸上產生乙個加速度分量。通過它們的關係,就可以計算出該單軸加速計的傾角。

1.通過陀螺儀的積分來獲得四軸的旋轉角度

2.然後通過加速度計的比例和積分運算來修正陀螺儀的積分結果。

下面**中的gx,gy,gz分別代表陀螺儀在x軸,y軸和z軸三個軸上的分量

ax,ay,az分別代表加速度計在在x軸,y軸和z軸三個軸上的分量。

mpu6050只包含陀螺儀和加速計共六個軸,

而mpu9150還包含磁力計,共九個軸。

陀螺儀是測試角速度的感測器,也有人把角速度說成角速率,說的是一樣的物理量。拿電 機做例子,當我們說乙個電機10轉每秒。一轉是360度,那麼它的主軸在一秒內轉過3600 度。也就是說這個電機在轉動時的角速度是3600dps.dps 就是dergee per second 度每秒 (或者寫成 deg/s).

mpu6050 整合了三軸的陀螺儀.角速度全格感測範圍為±250、±500、±1000與± 2000°/sec (dps).當選擇量程為±250dps的時候,將會得到分辯率為131lsb/(º/s).也就 是當載體在x+軸轉動1dps時,adc將輸出131.

上述的說明,已經知道陀螺儀測量角度的變化率.為了解釋這一點,

讓我們假設,我們已經 測量圍繞y軸的旋轉角(這將是axz角)在時刻t0,我們將其定義為axz0,接下來,我們測 量這個角度是在稍後的時間t1是axz1。

變化率將被計算如下: rateaxz =(axz1 - axz0)/(t1 - t0)

如果axz單位是度,並以秒為時間單位,那麼rateaxz將以度 / s表示。 mpu6050並不會以 度/ s 單位輸出,我們需要在讀完後進行轉換。先來看看各個量程對 應的靈敏度

從adc值到 dps

通過i2c介面讀出來的轉換結果adc值,並不是以度每秒為單位。一般按以下公式進行轉 換:anglerate = adcrate /靈敏度 以量程為±1000º/s為例,說明如何轉換。假設讀取x軸的adc值為200,從上表中得知在 ±1000º/s下的靈敏度為32.8lsb/(º/s) 。根據上面的公式: anglerate = 200/32.8 = 6.09756º/s 這就是說,mpu6050檢測到模組正在以約6度每秒的速度繞x軸(或者叫在yz平面上)旋轉.

adc值並不都是正的,請注意,當出現負數時,意味著該裝置從現有的正方向相反的方向旋轉.

如下:=順時針為正

最後,還要將角度換算成弧度制,便於計算

綜上做個陀螺儀的總結:

首先 感測器測量出當前姿態角,並且將資料寄存在乙個16位的暫存器中

其次我們要選擇精度,便於將16位的資料換算成角度

最終將角度轉化為弧度制

輸出姿態角=暫存器adc的值/(靈敏度+2pi/360)

加速度計

全球首例整合性6軸運動處理元件

3軸陀螺儀+3軸加速度計

iic介面,可用於擴充套件外部感測器

資料格式:旋轉矩陣、四元數(quaternion)、尤拉角格式

體積小

無人機感測器

mpu6050:3軸陀螺儀+3軸加速度(姿態)

hmc5883:3軸數字羅盤(精確方向控制)

ms5611:氣壓計(高度計)

pitch:俯仰角(抬頭低頭)

roll:滾轉角(翻身)

yaw:偏航角**彎)

三個角度組合,可唯一確定乙個姿態

(mpu6050帶有三個陀螺儀,每個陀螺儀各自負責檢測相應軸的轉動速度,也就是檢測圍繞 各個軸轉動的速度。像三軸的陀螺儀將同時檢測 x y z軸的旋轉。 由上面這個模型圖,首先我們定義:

rxz - 是r向量在xz平面上的投影

ryz - 是r向量在xy平面上的投影

rxz和rz所形成的直角三角形,

利用勾股定理,我們得到: rxz ^ 2 = rx ^ 2 + rz ^ 2,

和同樣: ryz ^ 2 = ry ^ 2 + rz ^ 2

還要注意的是:

r ^ 2 = rxz ^ 2 + ry^ 2,這可以來自從公式1和上面的等式,或它可以是來自於由r和ryz

r ^ 2 = ryz ^ 2 + rx^ 2 形成的直角三角 我們不會在本文中使用這些公式,只是讓讀者認識到所有值之間的關係。 同時我們將定義z軸和rxz 、ryz之間的夾角。 axz - rxz和z軸間的夾角 ayz - ryz和z軸間的夾角 現在看看,從這個模型中,陀螺儀測量什麼?)

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

謹以此紀念兩天以來的對電子羅盤的認識與學習 mpu6050常用作提供飛控執行時的姿態測量和計算,在在姿態結算中有幾個重要的概念,尤拉角 四元數等。尤拉角 用來表徵三維空間中運動物體繞著座標軸旋轉的情況。即物體的每時每秒的姿態可以由尤拉角表出。四元數 超複數,q q0,q1,q2,q3 q0位實數,q...

陀螺儀和加速度計MPU6050的單位換算方法

對於四軸的初學者,可能無法理解四軸源 裡面陀螺儀和加速度資料的那些數學轉換方法。下面我們來具體描述下這些轉換方法。我們首先來看陀螺儀資料。在mpu6050的手冊裡面,提供了乙個陀螺儀資料表如下 在 裡面,列出了當暫存器fs sel選擇不同數值時的陀螺儀量程範圍。以四軸常用的fs sel 3為例,這時...

加速度計 磁力計求初始姿態角

1.幾個基本概念。地理座標系 北東地。北為x軸 東為y軸 地為z軸。機體座標系 見下圖。姿態角 我的理解是,roll角是zb在zoy平面與z軸的夾角。pitch角是zb在zox平面與z軸的夾角。yaw角是xb在xoy平面與x軸的夾角。旋轉矩陣 地理座標系到機體座標系的轉換矩陣。旋轉矩陣為正交陣,逆即...