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方式相关推荐

  1. 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)

    前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...

  2. 【毕业设计】MPU6050姿态解算 姿态估计 - 物联网 单片机 stm32

    文章目录 1 简介 2 MPU6050 3 工作原理 4 单片机与MPU6050通信 4.1 mpu6050 数据格式 4.2 倾角计算方法 5 实现代码 6 最后 1 简介 Hi,大家好,这里是丹成 ...

  3. c语言姿态解算程序,mpu6050姿态解算原理_mpu6050姿态解算程序

    描述 关于MPU6050姿态解算原理 mpu6050常用作提供飞控运行时的姿态测量和计算,在在姿态结算中有几个重要的概念,欧拉角.四元数等. 欧拉角:用来表征三维空间中运动物体绕着坐标轴旋转的情况.即 ...

  4. stm32 MPU6050 姿态解算 Mahony互补滤波算法

    文章目录 0.介绍 1,理论分析 1.1 MPU6050 1.2 Mahony算法原理 2,代码实现 1.1 MPU6050初始化及数据读取 1.2 Mahony算法c语言实现 1.3 将代码移植到你 ...

  5. Arduino 与 MPU6050 姿态解算+ PROCESSING

    2019独角兽企业重金招聘Python工程师标准>>> 买的MPU6050自带姿态解算大大减轻了上层处理器所做的工作. 通过熟悉了一下processing之后做了一个小例子更是感觉这 ...

  6. mpu6050姿态解算与卡尔曼滤波(2)卡尔曼滤波

    卡尔曼滤波,是最优估计理论中十分重要的一个部分. 要全面地理解卡尔曼滤波,你需要一点统计学的知识,以及一点矩阵理论.通常最优估计理论的教材是从最小二乘估计讲起,接着讲到最小方差估计,极大似然估计以及维 ...

  7. 从MPU6050了解姿态解算

    前言 最近正在学习和陀螺仪有关的知识,要将陀螺仪用到期末大作业中,代码还处在调试阶段,目前先总结一下学到的理论知识,学习资料来源 三维转动的四元数表述 - 中国知网 (cnki.net) MPU605 ...

  8. matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵

    1 IMU姿态解算 IMU,即惯性测量单元,一般包含三轴陀螺仪与三轴加速度计.之前的文章 码农爱学习:MPU6050姿态解算方式1-DMP​zhuanlan.zhihu.com 已将对MPU6050这 ...

  9. RT-Thread实战笔记|MPU6050使用详解及DMP姿态解算

    小伙伴们大家好,好久不更新RT-Thread实战笔记啦,今天来搞一搞MPU6050,话不多说,淦! 本章源码获取 欢迎文末留言区或者公众号后台回复"MPU6050"即可获取本教程源 ...

最新文章

  1. 开源生态也难逃“卡脖子”危机?中国AI开发者的警醒和突围
  2. python数据处理pdf百度云_Python数据处理 PDF 高清版
  3. 剑指offer(11-25题)详解
  4. Maven(2)--生命周期以及插件目标
  5. impala元数据放到mysql_impala系列: 同步Hive元数据和收集统计信息
  6. 小团队前端部署演化之路
  7. Codeforces Round #726 (Div. 2) E2. Erase and Extend (Hard Version) 贪心
  8. C# WebApi POST 提交
  9. matlab画线不同颜色_怎样画线框图才有意义?
  10. break详细讲解啊
  11. MVCWebForm对照学习:文件上传(以图片为例)
  12. scala的静态属性和静态方法
  13. 01.学习笔记-linux操作系统常用命令
  14. MySQL 用户表损坏 无法导出数据 无法使用mysql_update mysqd --update=FORCE无效 措施之一
  15. 17.TCP/IP 详解卷1 --- TCP: 传输控制协议
  16. 【python nc文件】10分钟教你python读取nc文件
  17. python爬去微博签到数据_GitHub - fs6/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
  18. qcloud-ocr
  19. 水量调节大师外挂___安卓版
  20. win10命令提示符怎么打开_技巧,win10蓝屏SYSTEM_PTE_MISUSE怎么解决

热门文章

  1. 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列
  2. 数字化是指用计算机,数字化
  3. 北航计算机组成实验project4,北航fpga实验的报告.docx
  4. VMware虚拟机多开克隆教程
  5. 燃气热水器和电热水器哪个好 燃气热水器和电热水器的优缺点
  6. Docker入门指令
  7. php正则匹配preg_match,php正则表达式中preg_match函数的详解
  8. 苹果语音输入最新资讯
  9. spring boot之controller注解与RequestController注解
  10. 史上非常简单、快速的解决Excel导出遇到Excel导出错误