【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明
【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明
- 引言
- 加速度计
- 陀螺仪测量什么?
- 从ADC值到 dps
参考链接:( MiniIMU AHRS 姿态板销售网址:) http://chiplab7.taobao.com/
第七实验室:
作者:lisn3188
本博客在原文档上有删改
引言
一直想写篇文章关于姿态解算原理的,使用尽量通俗的语句说明如何从加速度计和陀螺 仪的数据,融合得到载体的姿态角。无奈自己的水平有限,一直搁置。
淡泊以明志,宁静以致远.人总是要逼自己做些事,才过得心安理得。那就拿点时间把这
方面的资料整合一下吧。这篇文章的大部分内容都不是本人原创的,感谢网络上无私奉献的 人. 在此介绍一下实验的姿态板 ,新一代的mini AHRS,采用STM32F103单片机进行姿态解 算,板子上集成有
- 1.MPU6050,三轴的加速度和陀螺仪
- 2.HMC5883 三轴的磁力计
- 3.BMP180 高精度气压高度计
这些传感器都通过I2C接口连接到主控制器STM32.不需要额外的ADC电路,直接通过数字接 口就可以读取传感器的当前输出.
Mini AHRS是一个九轴的姿态仪模块,使用的都是数字器件,每一个传感器内部都集成有 ADC,只需要通过I2C总线,就可以读取传感器当前输出。 现在我们不着急了解如何读出这些数据,先来认识一下这些传感器都是做什么,它们 主要是测量哪些物理量,从加速度计开始
加速度计
加速度计顾名思义,就是测量加速度的.那么,我们如何认识这个加速度呢?在此用一个盒子形 状的立方体来做模型,认识加速度,如下,盒子内的图像
如果我们把盒子形状的立方体 放在一个没引力场的地方,球会保持在盒子的中间.你可以想 象,这个盒子是在外太空,远离任何天体,很难找到这样的地方,就想象飞船轨道围绕地球 飞,一切都是在失重状态下。那么六个壁面感受到的压力都是0. 如果我们突然将立方体向左侧移动(我们加快加速,1G =9.8米/ S ^ 2),皮球打在了 墙上X-。然后,我们测量球适用于在X轴上的壁和输出-1g值的压力。如下图
如果我们把这个小盒子拿来放在地球上,那么小球会落在Z-壁面上,并会为1G的底壁施加一 个力,在下面的图片所示
在这种情况下,框不动,但我们仍然可以得到Z轴的读数-1G。球在墙壁上的压力造成的引 力场。 到目前为止,我们已经分析了单个轴加速度计的输出,这是你会得到一个单轴加速度计。 三轴加速度计的真正价值,即是他们可以同时检测到所有三个轴的惯性力。让我们回到我 们的盒模型,并让旋转45度在右边的框中。球会触及两面墙:Z和X-在下面的图片所示:
x 和 z 轴受到值的0.71是不是任意的? 它们实际上是一个近似SQRT(1/2)
.要知道当盒子 只受重力场时,x^2+Y^2+z^2 =1g
这将变得更加清晰,为大家介绍一下我们的下一个样 子的加速度计。 在之前的盒子模型中,我们有固定的引力场及旋转。在刚刚说明的两个例子中,我们分析
了2个不同的输出框位置,而力矢量保持不变。这更有利于了解加速度计如何与外部交互, 并显示当前读数
请看一下上面的模型,这是一个新的模型代替刚刚的盒子立方体。
试想一下,在新模型中 的每个轴是垂直于盒子的壁面。
向量R是加速度计测量(从上面的例子或这两者的组合,它 可以是引力场或惯性力)的力矢量。接收时,Ry,R Z与上的X,Y,Z轴的R矢量投影。
请注 意下面的关系式:
R ^ 2 = RX ^ 2 + RY ^ 2 + RZ ^ 2 (公式1)
请记住,早一点我告诉你,
SQRT(1/2)
的值不是随机的〜0.71
。如果您将上述公式中,
回顾我们的引力场为1 g后,我们可以验证:
1 ^ 2 =(-SQRT(1/2))^ 2 + 0 ^ 2 +(-SQRT(1/2))^ 2
简单地通过代以R = 1
时,接收= SQRT(1/2)
时,Ry = 0
,RZ = SQRT(1/2)
在方程 经过以上的理论分析我们越来越接近现实生活中的加速度计。
值RX
,RY
,RZ
实际上是呈线性关系对应到真正的现实加速度计的x轴 y轴 z轴.
在此提出一个问题, 加速度计如何将这些信息告诉我们? 目前市面上的加速度计从输出上区分为两种,一种是数字的,另一种是模拟的.miniAHRS 使用的是MPU6050三轴加速度计,是I2C接口的数字传感器.通过特定的命令 可以配置加速度的量程,并将内部ADC的转换结果读出来.
现在,我们有我们的加速度计的读数,以LSB为单位的,它仍然不是g(9.8米/秒^ 2)
,需要最后的转换,我们要知道加速度计灵敏度,通常表示为LSB /g
。比方说当我们 选择2g
的量程时,对应的灵敏度= 16384 LSB/ G
。为了得到最终的力值,单位为g
,我们 用下面的公式:RX = ADCRx /灵敏度
也就是说 当x轴的计数为ADCRx
时,那么对应的加速度值就是 (ADCRx/16384)g.
回到加速度向量模型,将相关角度符号补上,如下图
陀螺仪测量什么?
MPU6050带有三个陀螺仪,每个陀螺仪各自负责检测相应轴的转动速度,也就是检测围绕 各个轴转动的速度。
像三轴的陀螺仪将同时检测 X Y Z轴的旋转。 由上面这个模型图,首先我们定义:
- Rxz - 是R向量在XZ平面上的投影
- Ryz - 是R向量在XY平面上的投影
- Rxz和Rz所形成的直角三角形
利用勾股定理,我们得到:
- Rxz ^ 2 = RX ^ 2 + RZ ^ 2
- Ryz ^ 2 = RY ^ 2 + RZ ^ 2
还要注意的是:
- R ^ 2 = RXZ ^ 2 + Ry^ 2,
这可以来自从公式1和上面的等式,或它可以是来自于由R和Ryz
- R ^ 2 = Ryz ^ 2 + Rx^ 2
形成的直角三角
我们不会在本文中使用这些公式,只是让读者认识到所有值之间的关系。
同时我们将定义
Z轴和Rxz 、RyZ之间的夹角。
Axz - Rxz和Z轴间的夹角
Ayz - Ryz和Z轴间的夹角
现在看看,从这个模型中,陀螺仪测量什么?
上述的说明,已经知道陀螺仪测量角度的变化率.为了解释这一点,让我们假设,我们已经 测量围绕Y轴的旋转角(这将是Axz角)在时刻t0,我们将其定义为Axz0,接下来,我们测 量这个角度是在稍后的时间t1是Axz1。变化率将被计算如下:
RateAxz =(Axz1 - Axz0)/(t1 - t0)
如果Axz单位是度
,并以秒为时间单位
,那么RateAxz
将以deg / s
表示。MPU6050并不会以 deg / s
单位输出,我们需要在读完后进行转换。先来看看各个量程对 应的灵敏度。
从ADC值到 dps
通过I2C接口读出来的转换结果ADC值,并不是以度每秒为单位。一般按以下公式进行转 换:
Anglerate = ADCrate /灵敏度 以量程为±1000º/s
为例,说明如何转换。
假设读取x轴的ADC值为200
,从上表中得知在 ±1000º/s
下的灵敏度为32.8LSB/(º/s)
。根据上面的公式: Anglerate = 200/32.8 = 6.09756º/s
这就是说,MPU6050检测到模块正在以约6度每秒
的速度绕X轴(或者叫在YZ平面上)旋转.
ADC值并不都是正的,请注意,当出现负数时,意味着该设备从现有的正方向相反的方向旋转
【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明相关推荐
- SBG Ellipse2-A替代产品,XNA100C姿态航向参考系统AHRS详解
XNA100C是一个姿态航向参考系统(AHRS),内部包含三轴MEMS陀螺仪.MEMS加速度计和MEMS磁强计.它提供了一种由EKF补偿的姿态数据.此外XNA100C还采用温度补偿技术提供精确的IMU ...
- 树莓派采集MPU9250运行AHRS进行姿态解算
文章目录 1.几种概念的区分 2.消费级IMU的AHRS 3.树莓派玩转MPU9250 3.1树莓派配置 3.2在树莓派中移植MPU9250库 3.3使用MPU9250库 4.校准 4.1IMU误差模 ...
- 六轴传感器基础知识学习:MPU6050特性,四元数,姿态解算,卡尔曼滤波
实际上,只要说到多少轴的传感器一般是就是指加速度传感器(即加速计).角速度传感器(即陀螺仪).磁感应传感器(即电子罗盘).这三类传感器测量的数据在空间坐标系中都可以被分解为X,Y,Z三个方向轴的力,因 ...
- 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)
前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...
- Pixhawk-姿态解算-互补滤波
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 位置型PID的C语言实现 增量型PID的C语言实现 积分分离的PID控制算法C语言实现 变积分的PID控制算法C语言实现 ...
- AHRS姿态解算说明(加速度+陀螺仪+磁力计原理及原始数据分析)
转载链接:http://www.51hei.com/bbs/dpj-92911-1.html AHRS俗称航姿参考系统,AHRS由加速度计,磁场计,陀螺仪构成,AHRS的真正参考来自于地球的重力场和地 ...
- 四元数AHRS姿态解算和IMU姿态解算分析
ref:https://blog.csdn.net/xiaoxie613520/article/details/78227170 AHRS是自动航向基准系统(Automatic Heading Ref ...
- 第三讲 AHRS姿态解算
AHRS是自动航向基准系统(Automatic Heading Reference System)的简称.目前,使用四元数来进行AHRS姿态解算的算法被广泛采用于四轴飞行器上.该算法源自英国Brist ...
- 【惯性导航姿态仪】02 磁传感器的简易标定说明
[惯性导航姿态仪]02 磁传感器的简易标定说明 磁传感器的简易标定说明 1.为什么要标定磁传感器? 2.标定公式 3.标定过程 磁传感器的简易标定说明 此说明适用于所有磁传感器的简易标定. 1.为什么 ...
最新文章
- 查看自己的ip和采用什么方式上网(网通/电信)
- javascript判断输入的值是不是正整数
- C-二维数组,多维数组
- 从C语言的角度重构数据结构系列(十二)-C语言判断语法详解(ifswitch)
- 读写锁的由奢入俭“易”
- 眉骨高者为大贵之相_什么样才算富贵相?曾国藩的识人秘诀(组图)
- 华三云:不做开源的投机者
- Boost智能指针——scoped_ptr
- SSM:web目录下有的jsp和图片不能显示,有的可以显示的解决方法
- Hive 导数据到本地(2种方式)
- MultiByteToWideChar和WideCharToMultiByte的正确使用方法及参数详解
- qzone.class.php,PHP QQ登录接口应用_PHP教程 - str_repeat
- 强烈推荐 | 百度、阿里、腾讯 40 道面试题超全面总结
- php基本语法的几点备忘
- INVENTOR结构件生成器,新建型材
- 诚之和:太平鸟难渡“抄袭劫”?
- java for循环
- java课程设计 考试系统,java课程设计考试系统.
- 程序员专用表情包_拿走不谢
- idea 一直不停的updating indices 卡进度条问题