MPU6050是根据三轴陀螺仪和三轴加速度计数据通过DMP运算的出欧拉角。系统默认为水平放置,

但是实际使用过程中并不都是水平放置,有些特殊的场合,要求芯片竖直放置,这时候就不得

不修改MPU6050的坐标矩阵了。

系统默认的芯片XYZ三轴如上图,首先要确认系统默认的XYZ三轴分别对应的欧拉角。

把系统默认的参数写入DMP,参数为:{ 1, 0, 0,

0, 1, 0,

0, 0, 1};

默认芯片水平放置,以芯片标注的点为Y轴正方向,测试得到旋俯仰角为XZ平面的旋转。

翻滚角为YZ平面的旋转。偏航角为XY平面的旋转。

根据要求芯片竖直放置如下图。

Y轴,Z轴与地面平行,X轴与地面垂直。此时俯仰角为XY平面的旋转。翻滚角为XZ平面的旋转。

偏航角为YZ平面的旋转。在矩阵中填入0度参考的坐标轴。

即:{ 0, 1, 0,

0, 0, 1,

1, 0, 0};

经过测试发现可行。但是俯角显示正数,仰角显示负数。修改矩阵为:

{ 0, -1, 0,

0, 0, 1,

1, 0, 0};

对MPU6050坐标矩阵修改的学习的更多相关文章

  1. Android Matrix(坐标矩阵)

    Android Matrix 2016-02-26 14:38:10 介绍 中文名:坐标矩阵 高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 在Android里面,Matr ...

  2. Spark Mllib里的分布式矩阵(行矩阵、带有行索引的行矩阵、坐标矩阵和块矩阵概念、构成)(图文详解)

    不多说,直接上干货! Distributed  matrix : 分布式矩阵 一般能采用分布式矩阵,说明这数据存储下来,量还是有一定的.在Spark Mllib里,提供了四种分布式矩阵存储形式,均由支 ...

  3. ogre, dx, opengl坐标矩阵

    opengl 右手坐标系 列向量 左乘 列主序存储矩阵osg   右手坐标系 行向量 右乘 行主序存储矩阵d3d       左手坐标系 行向量 右乘 行主序存储矩阵ogre    右手坐标系 列向量 ...

  4. dp方法论——由矩阵相乘问题学习dp解题思路

    前篇戳:dp入门——由分杆问题认识动态规划 导语 刷过一些算法题,就会十分珍惜“方法论”这种东西.Leetcode上只有题目.讨论和答案,没有方法论.往往答案看起来十分切中要害,但是从看题目到得到思路 ...

  5. Matrix_tree Theorem 矩阵树定理学习笔记

    Matrix_tree Theorem: 给定一个无向图, 定义矩阵A A[i][j] = - (<i, j>之间的边数) A[i][i] = 点i的度数 其生成树的个数等于 A的任意n ...

  6. mono for android 自定义titleBar Actionbar 顶部导航栏 修改 样式 学习

    以前的我是没有做笔记的习惯的,学习了后觉得自己能记住,但是最近发现很多学的东西都忘记了,所有现在一有新的知识,就记下来吧. 最近又做一个mono for android 的项目 这次调整比较大,上次做 ...

  7. [HEOI2015]小Z的房间(矩阵树定理学习笔记)

    题目描述 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. 你想要打通一 ...

  8. POJ3070 Fibonacci[矩阵乘法]【学习笔记】

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  9. Selenium IDE编辑区域修改操作学习

    1.修改command.target.value,选择需要修改的步骤,然后点击下方,既可以直接进行修改. 2.添加新的操作步骤:直接在下方编辑区域的下方点击,然后输入或者选择操作类型,然后点击Targ ...

随机推荐

  1. 网红题之一题多变$\;\;\text{e}^x\geqslant x^2+(\text{e}-2)x+1(x>0)$

    母题 证明$:\;\;\text{e}^x\geqslant x^2+(\text{e}-2)x+1\;\;(x>0)$ 注$:\;$用不同的结构变形来证明 变式1: 若$\forall x\i ...

  2. 如何在python中使用chromedriver

    下载对应版本的chromedriver,不知道版本的请参考:https://stackoverflow.com/a/55266105/11128312 接下来将下载的chromedriver.exe放 ...

  3. PHP循环while do while循环

    <?php #从1打印到10,除了5 $i=1; while ($i<10) { if ($i==5) { $i++; continue; } echo $i++."<br ...

  4. 链接数据库模板 DataBaseLinkTool

    一. 1.Dao层 对数据库的底层操作  增删改查 package Dao; import java.sql.Connection; import java.sql.ResultSet; import ...

  5. wx小程序知识点(六)

    六.生命周期 (1)onLoad    —— 加载时触发,只调用一次,可用来发送请求绑定数据.获取url中参数 (2)onShow   —— 页面显示时触发,每次显示都会执行,用来获取需要频繁更新的数 ...

  6. C# 获取 与 修改 web.config中的值(修改Xml文件)

    定义web.config 中 appSettings 节点 <appSettings> <add key="domainExist" value="fa ...

  7. Vue组件使用

    一.组件概念 有html模板,有css样式,有js逻辑的集合体 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的 ...

  8. Misha and Permutations Summation

    A - Misha and Permutations Summation 首先这个 mod n! 因为数量级上的差别最多只会对康拓展开的第一项起作用所以这个题并不需要把 ord (p) 和 ord ( ...

  9. JAVASCRIPT试题及答案

    1.用jQuery编程实现获取选中复选框值的函数abc. <body> <input type="checkbox" name="aa" va ...

  10. python学习之路(18)

    返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: >>> def a(* ...