MPU6050姿態(tài)解算1-DMP方式

MPU6050基本功能
3軸陀螺儀
陀螺儀,測(cè)量的是繞xyz軸轉(zhuǎn)動(dòng)的角速度,對(duì)角速度積分可以得到角度。
3軸加速度計(jì)
加速度計(jì),測(cè)量的是xyz方向受到的加速度。在靜止時(shí),測(cè)量到的是重力加速度,因此當(dāng)物體傾斜時(shí),根據(jù)重力的分力可以粗略的計(jì)算角度。在運(yùn)動(dòng)時(shí),除了重力加速度,還疊加了由于運(yùn)動(dòng)產(chǎn)生的加速度。

DMP簡(jiǎn)介
就是MPU6050內(nèi)部的運(yùn)動(dòng)引擎,全稱Digital Motion Processor,直接輸出四元數(shù),可以減輕外圍微處理器的工作負(fù)擔(dān)且避免了繁瑣的濾波和數(shù)據(jù)融合。Motion Driver是Invensense針對(duì)其運(yùn)動(dòng)傳感器的軟件包,并非全部開(kāi)源,核心的算法部分是針對(duì)ARM處理器和MSP430處理器編譯成了靜態(tài)鏈接庫(kù),適用于MPU6050/MPU6500/MPU9150/MPU9250等傳感器。
#
四元數(shù)可以方便的表示3維空間的旋轉(zhuǎn),但其概念不太好理解,可以先類比復(fù)數(shù),復(fù)數(shù)表示的其實(shí)是2維平面中的旋轉(zhuǎn)。
四元數(shù)的基本表示形式為:q0+q1*i+q2*j+q3*k
,即1個(gè)實(shí)部3個(gè)虛部,具體細(xì)節(jié)本篇先不做展開(kāi)介紹。
四元數(shù)雖然方便表示旋轉(zhuǎn),但其形式不太直觀,旋轉(zhuǎn)轉(zhuǎn)換成pitch、roll、yaw的表示形式,方便觀察姿態(tài)。
轉(zhuǎn)換公式為:

程序表示為:
已在STM32F407以及FreeRTOS上進(jìn)行測(cè)試,視頻效果如下:
https://www.bilibili.com/video/BV18A411v7Du

程序:
鏈接:https://pan.baidu.com/s/1gwk5u_iug99fHhZ2rmYV4g?
提取碼:e3us