MPU6050姿态解算1-DMP方式
MPU6050的姿态解算方法有多种,包括硬件方式的DMP解算,软件方式的欧拉角与旋转矩阵解算,软件方式的轴角法与四元数解算。本篇先介绍最易操作的DMP方式。
MPU6050基本功能
3轴陀螺仪
陀螺仪,测量的是绕xyz轴转动的角速度,对角速度积分可以得到角度。
3轴加速度计
加速度计,测量的是xyz方向受到的加速度。在静止时,测量到的是重力加速度,因此当物体倾斜时,根据重力的分力可以粗略的计算角度。在运动时,除了重力加速度,还叠加了由于运动产生的加速度。
DMP简介
DMP就是MPU6050内部的运动引擎,全称Digital Motion Processor,直接输出四元数,可以减轻外围微处理器的工作负担且避免了繁琐的滤波和数据融合。Motion Driver是Invensense针对其运动传感器的软件包,并非全部开源,核心的算法部分是针对ARM处理器和MSP430处理器编译成了静态链接库,适用于MPU6050、MPU6500、MPU9150、MPU9250等传感器。
四元数转欧拉角
四元数可以方便的表示3维空间的旋转,但其概念不太好理解,可以先类比复数,复数表示的其实是2维平面中的旋转。
四元数的基本表示形式为:q0+q1*i+q2*j+q3*k
,即1个实部3个虚部,具体细节本篇先不做展开介绍。
四元数虽然方便表示旋转,但其形式不太直观,旋转转换成pitch、roll、yaw的表示形式,方便观察姿态。
转换公式为:
程序表示为:
pitch = asin(-2 * q1 * q3 + 2 * q0* q2)
roll = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)
yaw = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3)
已在STM32F407以及FreeRTOS上进行测试,视频效果如下:
波形:
姿态:
视频地址:https://www.bilibili.com/video/BV18A411v7Du/
MPU6050姿态解算1-DMP方式相关推荐
- 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)
前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...
- 【毕业设计】MPU6050姿态解算 姿态估计 - 物联网 单片机 stm32
文章目录 1 简介 2 MPU6050 3 工作原理 4 单片机与MPU6050通信 4.1 mpu6050 数据格式 4.2 倾角计算方法 5 实现代码 6 最后 1 简介 Hi,大家好,这里是丹成 ...
- c语言姿态解算程序,mpu6050姿态解算原理_mpu6050姿态解算程序
描述 关于MPU6050姿态解算原理 mpu6050常用作提供飞控运行时的姿态测量和计算,在在姿态结算中有几个重要的概念,欧拉角.四元数等. 欧拉角:用来表征三维空间中运动物体绕着坐标轴旋转的情况.即 ...
- stm32 MPU6050 姿态解算 Mahony互补滤波算法
文章目录 0.介绍 1,理论分析 1.1 MPU6050 1.2 Mahony算法原理 2,代码实现 1.1 MPU6050初始化及数据读取 1.2 Mahony算法c语言实现 1.3 将代码移植到你 ...
- Arduino 与 MPU6050 姿态解算+ PROCESSING
2019独角兽企业重金招聘Python工程师标准>>> 买的MPU6050自带姿态解算大大减轻了上层处理器所做的工作. 通过熟悉了一下processing之后做了一个小例子更是感觉这 ...
- mpu6050姿态解算与卡尔曼滤波(2)卡尔曼滤波
卡尔曼滤波,是最优估计理论中十分重要的一个部分. 要全面地理解卡尔曼滤波,你需要一点统计学的知识,以及一点矩阵理论.通常最优估计理论的教材是从最小二乘估计讲起,接着讲到最小方差估计,极大似然估计以及维 ...
- 从MPU6050了解姿态解算
前言 最近正在学习和陀螺仪有关的知识,要将陀螺仪用到期末大作业中,代码还处在调试阶段,目前先总结一下学到的理论知识,学习资料来源 三维转动的四元数表述 - 中国知网 (cnki.net) MPU605 ...
- matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵
1 IMU姿态解算 IMU,即惯性测量单元,一般包含三轴陀螺仪与三轴加速度计.之前的文章 码农爱学习:MPU6050姿态解算方式1-DMPzhuanlan.zhihu.com 已将对MPU6050这 ...
- RT-Thread实战笔记|MPU6050使用详解及DMP姿态解算
小伙伴们大家好,好久不更新RT-Thread实战笔记啦,今天来搞一搞MPU6050,话不多说,淦! 本章源码获取 欢迎文末留言区或者公众号后台回复"MPU6050"即可获取本教程源 ...
最新文章
- 开源生态也难逃“卡脖子”危机?中国AI开发者的警醒和突围
- python数据处理pdf百度云_Python数据处理 PDF 高清版
- 剑指offer(11-25题)详解
- Maven(2)--生命周期以及插件目标
- impala元数据放到mysql_impala系列: 同步Hive元数据和收集统计信息
- 小团队前端部署演化之路
- Codeforces Round #726 (Div. 2) E2. Erase and Extend (Hard Version) 贪心
- C# WebApi POST 提交
- matlab画线不同颜色_怎样画线框图才有意义?
- break详细讲解啊
- MVCWebForm对照学习:文件上传(以图片为例)
- scala的静态属性和静态方法
- 01.学习笔记-linux操作系统常用命令
- MySQL 用户表损坏 无法导出数据 无法使用mysql_update mysqd --update=FORCE无效 措施之一
- 17.TCP/IP 详解卷1 --- TCP: 传输控制协议
- 【python nc文件】10分钟教你python读取nc文件
- python爬去微博签到数据_GitHub - fs6/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
- qcloud-ocr
- 水量调节大师外挂___安卓版
- win10命令提示符怎么打开_技巧,win10蓝屏SYSTEM_PTE_MISUSE怎么解决
热门文章
- 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列
- 数字化是指用计算机,数字化
- 北航计算机组成实验project4,北航fpga实验的报告.docx
- VMware虚拟机多开克隆教程
- 燃气热水器和电热水器哪个好 燃气热水器和电热水器的优缺点
- Docker入门指令
- php正则匹配preg_match,php正则表达式中preg_match函数的详解
- 苹果语音输入最新资讯
- spring boot之controller注解与RequestController注解
- 史上非常简单、快速的解决Excel导出遇到Excel导出错误