STM32无人机-四轴四元数姿态解算与卡尔曼滤波

四轴四元数姿态解算

MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。

什么是四元数

这部分很难,新手知道四元数的功能是将 6 轴传感器数据转化为三轴姿态角度数据即可。

四元数解算程序店家已经封装成一个函数,输入 MPU6050 数值,解算周期 dt,输出三维姿态角信息。

事实上所谓 DMP 就是 MPU6050 内部的四元数解算,但是他们内部的解算精度低没有自己 做四元数解算精度高。

四元数具体的实现有下面几个步骤: 1)机体重力加速度计转换到地理坐标系后。 2)与四元数计算的地理重力加速度比较。 3)得到误差校正陀螺仪的输出。 4)然后用陀螺仪数据进行四元数更新。 5)再转换到欧拉角。

卡尔曼滤波

MPU6050的数据是有较大噪音的,若不进行滤波会对整个控制系统的精准确带来严重影响。MPU6050芯片内自带了一个数据处理子模块DMP,已经内置了滤波算法,在许多应用中使用DMP输出的数据已经能够很好的满足要求。关于如何获取DMP的输出数据,我将在以后的文章中介绍。

mpu6050 数据格式:我们感兴趣的数据位于0x3B到0x48这14个字节的寄存器中。这些数据会被动态更新,更新频率最高可达1000HZ。下面列出相关寄存器的地址,数据的名称。注意,每个数据都是2个字节。

0x3B,加速度 计的X轴分量ACC_X

0x3D,加速度计的Y轴分量ACC_Y

0x3F,加速度计的Z轴分量ACC_Z

0x41,当前温度TEMP

0x43,绕X轴旋转的角速度 GYR_X

0x45,绕Y轴旋转的角速度GYR_Y

0x47,绕Z轴旋转的角速度GYR_Z


原文链接:https://blog.csdn.net/m0_71572576/article/details/125671907

将来参考:

四元数解算姿态角解析_四元数姿态解算_guanjianhe的博客-CSDN博客

MPU6050介绍及姿态解算_mpu6050姿态解算_哈巴奈拉的博客-CSDN博客

基于一阶互补滤波的MPU6050姿态解算_白碳墨水的博客-CSDN博客

基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)_stm32无人机_混分巨兽龙某某的博客-CSDN博客

相关推荐
17(无规则自律)10 小时前
【Linux驱动实战】:标准的按键控制LED驱动写法
linux·驱动开发·嵌入式硬件
森利威尔电子-11 小时前
森利威尔SL3180替换LM5013 100V降压3.3V 5V 12V恒压芯片
单片机·嵌入式硬件·集成电路·芯片·电源芯片
从零开始学习人工智能14 小时前
国产阿特拉斯无人机蜂群核心算法(一)
算法·无人机
小昭在路上……15 小时前
AHB和APB总线概念
单片机·嵌入式硬件
学嵌入式的小杨同学16 小时前
STM32 进阶封神之路(三十):IIC 通信深度实战 —— 软件模拟 IIC + 光照传感器(BH1750)全解析(底层时序 + 代码落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
jacklood16 小时前
使用STM32的迪文屏控制使用参考方式
前端·javascript·stm32
Zarek枫煜16 小时前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
我是一个对称矩阵17 小时前
Ubuntu安装WIFI适配器驱动
stm32·单片机·ubuntu
光子物联单片机17 小时前
STM32传感器模块编程实践(十九) 光子物联北斗GPS定位模块简介及驱动源码
stm32·单片机·嵌入式硬件·mcu
可乐鸡翅好好吃18 小时前
协议栈烧录问题
单片机·嵌入式硬件