【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明

本文介绍了惯性导航姿态仪中的关键传感器——加速度计和陀螺仪的工作原理。加速度计用于测量物体的加速度,通过立方体模型解释了其在不同场景下的输出。陀螺仪则检测物体的转动速度,通过计算角度变化率来确定旋转。文中还涉及到ADC值到dps(度每秒)的转换过程,为理解姿态解算提供了基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明

参考链接:( 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 = 0RZ = SQRT(1/2)
在方程 经过以上的理论分析我们越来越接近现实生活中的加速度计。

RXRYRZ实际上是呈线性关系对应到真正的现实加速度计的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值并不都是正的,请注意,当出现负数时,意味着该设备从现有的正方向相反的方向旋转

x-IMU被设计成可用的最通用的惯性测量单元(IMU)和姿态航向参考系统(AHRS)平台。其主机板上的传感器法,可配置的辅助端口以及通过USB,蓝牙或UART的实时通信使其成为一个强大的传感器和控制器。机载SD卡,电池充电器(通过USB),实时时钟/日历和动作触发唤醒,使x-IMU成为理想的独立数据记录器。该x-IMU模块包括多个轴向传感器,能够为飞行器提供航向,横滚和侧翻信息,这类系统用来为飞行器提供准确可靠的姿态与航行信息。 x-IMU GUI可用于配置设置,查看实时传感器数据,执行校准并将数据导出到用户软件; 如Microsoft Excel。x-IMU MATLAB库提供了在MATLAB中导入,组织和绘制数据所需的所有工具。用户软件可以使用x-IMU API开发,见附件内容下载。 x-IMU模块与Arduino实物连接图: x-IMU模块包括的传感器如下: 三轴16位陀螺 - 可选范围高达±2000°/ s 三轴12位加速计 - 可选范围高达±8 g 三轴12位磁力计 - 可选范围高达±8.1 G 12位电池电压等级 工厂校准 温度补偿(仅陀螺) 可选数据速率高达512 Hz 外部拓展接口部分: 外部电源从3.6 V到6.3 V 3.3 V电源输出高达100 mA 数字I / O模式 - 8个通道,通过USB或蓝牙控制 模拟输入模式 - 8通道,12位分辨率,0至3.3 V PWM输出模式 - 4通道,1至65,535赫兹,通过USB或蓝牙控制 UART模式 - 3.3 V,2400至230.4k波特替代蓝牙 其他特性: 运动触发唤醒和睡眠定时器 实时时钟和日历 可配置的命令按钮 可配置的8通道辅助端口
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-ATAO----

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值