ahrs和imu的比较和加速度陀螺仪的融合

上传人:第*** 文档编号:31313139 上传时间:2018-02-06 格式:DOC 页数:19 大小:459.50KB
返回 下载 相关 举报
ahrs和imu的比较和加速度陀螺仪的融合_第1页
第1页 / 共19页
ahrs和imu的比较和加速度陀螺仪的融合_第2页
第2页 / 共19页
ahrs和imu的比较和加速度陀螺仪的融合_第3页
第3页 / 共19页
ahrs和imu的比较和加速度陀螺仪的融合_第4页
第4页 / 共19页
ahrs和imu的比较和加速度陀螺仪的融合_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《ahrs和imu的比较和加速度陀螺仪的融合》由会员分享,可在线阅读,更多相关《ahrs和imu的比较和加速度陀螺仪的融合(19页珍藏版)》请在金锄头文库上搜索。

1、AHRS(航姿参考系统)和 IMU(惯性测量单元)的区别 分类: 算法学习 2014-05-28 15:12 565 人阅读 评论(0) 收藏 举报 AHRS(航姿参考系统)和 IMU(惯性测量单元)的区别【转】刚开始的时候我总是搞不清楚 AHRS 和 IMU 的区别。不知道这有什么区别。后来慢慢的慢慢的,我理解了AHRS 俗称航姿参考系统,AHRS 由加速度计,磁场计,陀螺仪构成,AHRS 的真正参考来自于地球的重力场和地球的磁场他的静态终精度取决于对磁场的测量精度和对重力的测量精度 ,而则陀螺决定了他的动态性能。这就是 AHRS在这种前提下。说明 AHRS 离开了地球这种有重力和磁场环境的

2、时候是没法正常工作的而且特别注意。磁场和重力场越正交,则航姿测量效果越好也就是说如果磁场和重力场平行了,比如在地磁南北极。这里的磁场是向下的,即和重量场方向相同了。这个时候航线交是没法测出的这是航姿系统的缺陷所在。在高纬度的地方航线角误差会越来越大(IMU)Inertial measurement unit,(非内蒙古大学Inner Mongolia University)学名惯性测量单元,大学的理论力学告诉我们,所有的运动都可以分解为一个直线运动和一个旋转运动,故这个惯性测量单元就是测量这两种运动,直线运动通过加速度计可以测量,旋转运动则通过陀螺。我假设 IMU 的陀螺和加速度计的测量是没有

3、任何误差的那么通过陀螺则可以精确的测量物体的姿态。通过加速度计可以二次积分得出位移,实现完整的 6DOF,也就是说你带着一台这种理论型的 IMU 在宇宙任何位置运动。我们都可以知道他当前的姿态和相对位移这将不局限于任何场。从上面的描述何以看出。实际上 AHRS 比 IMU 还多一个磁场传感器,而为什么 AHRS的级别却低于 IMU 而需要依赖于重力场和磁场呢这是由传感器器件架构所决定的。AHRS 的传感器通常是成本低廉的 mems 传感器。这种传感器的陀螺仪和加速度计的噪声相对来说很大,以平面陀螺为例用 ADI 的陀螺仪进行积分一分钟会漂移 2 度左右,这种前提下如果没有磁场和重力场来修正三轴

4、陀螺的话。那么基本上 3 分钟以后物体的实际姿态和测量输出姿态就完全变样了所以在这种低价陀螺仪和加速度计的架构下必须运用场向量来进行修正而 IMU 实际上也是这样的。因为我们知道没有绝对精确的传感器,只有相对精确的传感器,IMU 的陀螺仪用的是光纤陀螺或者机械陀螺这种陀螺的成本很高。精度相对 mems 陀螺也很高精度高不代表准确,IMU 的姿态精度参数通常是一小时飘多少度,比如 xbow 的低端的有一小时 3 度的。而用加速度计积分做位置的话。AHRS 是不现实的(1 分钟就能飘出几十米。而且是成二次方的速度递增)。AHRS 通常要结合 GPS 和气压计做位置我听说的 IMU 积分做位置的是一

5、天多少海里。这样的一个参数数量级。也许在海上还能用的到这就是 AHRS 和 IMU 在我的理解里的一个差异。自己给自己梳理我再补充一点个人理解和博主讨论,我认为 AHR 和 IMU 的最大区别是 IMU 是相对于理想姿态或相对姿态的测量,AHRS 是相对于大地水平的姿态测量,博主举的在宇宙中定姿态的例子就很说明问题,在宇宙中是没有固定的相对物来做姿态参考的,使用 IMU 来测量姿态也只能相对于飞行器的初始姿态,或理想姿态来测量和描述,AHRS 是相对于大地水准面以及垂直于水准面的重力垂线来测量和描述被测物体姿态,所以在高纬度地区误差大总之,个人认为 AHRS 应该是 IMU 的一个特例应用,是

6、 IMU 应用的一个子集【感谢】http:/ 分类: 算法学习 2014-05-29 11:19 647 人阅读 评论(0) 收藏 举报 写得太好了,又忍不住转载了!原文的地址:http:/www.geek- 本帖翻译自 IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论介绍本指南旨在向兴趣者介绍惯性 MEMS(微机电系统)传感器,特别是加速度计和陀螺仪以及其他整合 IMU(惯性测量单元)设备。IMU 单元例子:上图中 MCU 顶端的 ACC Gyro 6DOF,名为 USBThumb,支持 U

7、SB/串口通信在这篇文章中我将概括这么几个基本并且重要的话题:- 加速度计(accelerometer)检测什么- 陀螺仪(gyroscope,也称作 gyro)检测什么- 如何将传感器 ADC 读取的数据转换为物理单位(加速度传感器的单位是 g,陀螺仪的单位是 度/秒)- 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的倾角的准确信息在整篇文章中我尽量将数学运算降低到最少。如果你知道什么是正弦、余弦、正切函数,那无论你的项目使用哪种平台你应该都会明白和运用这篇文章中的思想,这些平台如 Arduino、Propeller、Basic Stamp、Ateml 芯片、PIC 芯片等等。总

8、有些人认为使用 IMU 单元需要复杂的数学运算(复杂的 FIR 或 IIR 滤波,如卡尔曼滤波, Parks-McClellan 滤波等)。你如果研究这些会得到很棒且很复杂的结果。我解释事情的方式,只需要基本的数学。我非常坚信简单的原则。我认为一个简单的系统更容易操作和监控,另外许多嵌入式设备并不具备能力和资源去实现需要进行矩阵运算的复杂算法。我会用我设计的一个新 IMU 模块 Acc_Gyro Accelerometer + Gyro IMU 作为例子。在下面的例子中我们会使用这个设备的参数。用这个模块作为介绍非常合适,因为它由 3 个设备组成:- LIS331AL (datasheet)

9、3 轴 2G 模拟加速度计- LPR550AL (datasheet) 双轴(俯仰、翻滚) 500/s 加速度传感器- LY550ALH (datasheet) 单轴(偏航)陀螺仪 最后这个设备在这篇介绍中不使用,不过他在 DCM Matrix implementation 中有重要作用它们一起组成了一个 6 自由度的惯性测量单元。这是个花哨的名字!然而,在花哨的名字后面是个非常有用的设备组合,接下来我们会详细介绍之。第一部分 加速度计要了解这个模块我们先从加速度计开始。当我们在想象一个加速度计的时候我们可以把它想作一个圆球在一个方盒子中。你可能会把它想作一个饼干或者甜圈,但我就把它当做一个球

10、好了:我们假定这个盒子不在重力场中或者其他任何会影响球的位置的场中,球处于盒子的正中央。你可以想象盒子在外太空中,远离任何天体,如果很难想象,那就当做盒子在航天飞机中,一切东西都处于无重力状态。在上面的图中你可以看到我们给每个轴分配了一对墙(我们移除了 Y+以此来观察里面的情况)。设想每面墙都能感测压力。如果我们突然把盒子向左移动(加速度为 1g=9.8m/s2),那么球会撞上 X-墙。然后我们检测球撞击墙面产生的压力,X 轴输出值为-1g。 请注意加速度计检测到得力的方向与它本身加速度的方向是相反的。这种力量通常被称为惯性力或假想力 。在这个模型中你你应该学到加速度计是通过间接测量力对一个墙

11、面的作用来测量加速度的,在实际应用中,可能通过弹簧等装置来测量力。这个力可以是加速度引起的,但在下面的例子中,我们会发现它不一定是加速度引起的。如果我们把模型放在地球上,球会落在 Z-墙面上并对其施加一个 1g 的力,见下图:在这种情况下盒子没有移动但我们任然读取到 Z 轴有-1g 的值。球在墙壁上施加的压力是由引力造成的。在理论上,它可以是不同类型的力量 - 例如,你可以想象我们的球是铁质的,将一个磁铁放在盒子旁边那球就会撞上另一面墙。引用这个例子只是为了说明加速度计的本质是检测力而非加速度。只是加速度所引起的惯性力正好能被加速度计的检测装置所捕获。虽然这个模型并非一个 MEMS 传感器的真

12、实构造,但它用来解决与加速度计相关的问题相当有效。实际上有些类似传感器中有金属小球,它们称作倾角开关,但是它们的功能更弱,只能检测设备是否在一定程度内倾斜,却不能得到倾斜的程度。到目前为止,我们已经分析了单轴的加速度计输出,这是使用单轴加速度计所能得到的。三轴加速度计的真正价值在于它们能够检测全部三个轴的惯性力。让我们回到盒子模型,并将盒子向右旋转 45 度。现在球会与两个面接触:Z-和 X-,见下图: 0.71g 这个值是不是任意的,它们实际上是 1/2 的平方根的近似值。我们介绍加速度计的下一个模型时这一点会更清楚。在上一个模型中我们引入了重力并旋转了盒子。在最后的两个例子中我们分析了盒子

13、在两种情况下的输出值,力矢量保持不变。虽然这有助于理解加速度计是怎么和外部力相互作用的,但如果我们将坐标系换为加速度的三个轴并想象矢量力在周围旋转,这会更方便计算。请看看在上面的模型,我保留了轴的颜色,以便你的思维能更好的从上一个模型转到新的模型中。想象新模型中每个轴都分别垂直于原模型中各自的墙面。矢量 R 是加速度计所检测的矢量(它可能是重力或上面例子中惯性力的合成)。RX,RY,RZ 是矢量 R 在 X,Y ,Z 上的投影。请注意下列关系:,R 2 = RX 2 + RY 2 + RZ 2(公式 1)此公式等价于三维空间勾股定理。还记得我刚才说的 1/2 的平方根 0.71 不是个随机值吧

14、。如果你把它们代回上式,回顾一下重力加速度是 1g,那我们就能验证:1 2 =(SQRT(1/2) 2 + 0 2 +(SQRT(1/2) 2在公式 1 中简单的取代: R=1, Rx = -SQRT(1/2), Ry = 0 , Rz = -SQRT(1/2)经过一大段的理论序言后,我们和实际的加速度计很靠近了。RX,RY,RZ 值是实际中加速度计输出的线性相关值,你可以用它们进行各种计算。在我们运用它之前我们先讨论一点获取加速度计数据的方法。大多数加速度计可归为两类:数字和模拟。数字加速度计可通过 I2C,SPI 或 USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,

15、你需要用 ADC(模拟量转数字量)模块将其转换为数字值。我将不会详细介绍 ADC 是怎么工作的,部分原因是这是个很广的话题,另一个原因是不同平台的 ADC 都会有差别。有些 MCU 具有内置 ADC 模块,而有些则需要外部电路进行 ADC 转换。不管使用什么类型的 ADC 模块,你都会得到一个在一定范围内的数值。例如一个 10 位 ADC 模块的输出值范围在 0 . 1023 间,请注意,1023 = 2 10 -1。一个 12 位 ADC 模块的输出值范围在 0 . 4095 内,注意,4095 = 2 12-1。我们继续,先考虑下一个简单的例子,假设我们从 10 位 ADC 模块得到了以下的三个轴的数据:AdcRx = 586AdcRy = 630AdcRz = 561每个 ADC 模块都有一个参考电压,假设在我们的例子中,它是 3.3V。要将一个 10 位的 ADC 值转成电压值,我们使用下列公式:VoltsRx = AdcRx * VREF / 1023小注:8 位 ADC 的最大值是 255 = 2 8 -1,12 位 ADC 最大值是 4095 = 2 12 -1。将 3 个轴的值代入上式,得到:VoltsRx = 586 * 3.3 / 1023 =1.89V(结果取两位小数)VoltsRy = 630 * 3.3 / 1023 =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号