slam学习笔记七----IMU传感器
一,IMU 惯性测量单元
惯性测量单元(IMU)包含了三个单轴的加速度计和三个单轴的陀螺仪,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。在导航中用着很重要的应用价值。
IMU可获得载体的姿态、速度和位移等信息,被广泛用于汽车、机器人领域,也被用于需要用姿态进行精密位移推算的场合,如潜艇、飞机等惯性导航设备中。
IMU模块IMU的定义及功能慣性测量单元被定义为“无需外部参考的可测量三维线运动及角运动的装置”。通常情况下,每套惯性测量装置包含三组陀螺仪和加速度传感器,分别测量三个自由度的角加速度和线加速度,通过对加速度的积分和初始速度、位置的叠加运算,得到物体在空间位置中的运动方向和速度,结合惯性导航系统内的运动轨迹设定,对航向和速度进行修正以实现导航功能。
目前来说,市面上存在的IMU以6轴与9轴为主。6轴IMU包含一个三轴加速度传感器,一个三轴陀螺仪;9轴IMU则多了一个三轴的磁力计。另外,对于采用MEMS技术的IMU,一般还内置有温度计进行实时的温度校准。无论是6轴或9轴IMU,都可实时的输出三维的角速度信号与加速度信号,以此解算出物体的当前姿态。这在在平台稳定与导航中有着重要的应用价值。
参考博文:
二、加速度计
加速度计就是测量三个方向的加速度
2.1 一维模型
加速度计的一维模型类似于弹簧质量模型,如下:
静态下,达到平衡:
这个时候加速度计测量到的加速度为重力加速度:
如果在运动的情况下:
则平衡方程变为:
这个时候加速度计测量的加速度为重力加速度和运动加速度之和:
按照这个分析,加速度计在自由落体时测量到的加速度为零。
如果想要通过加速度计测量得到运动加速度,那么应该将测量到的加速度减去重力加速度:
即:
加上硬件的测量误差:
积分得到:
从而可以计算运动的位移:
但是通过这种方式测量位移,误差会随着时间急剧增加。
2.2 二维或三维加速度计
当加速度计的y轴与重力方向重合时,二维加速度计坐标系如下:
那么在x、y方向测量的加速度分别如下:
但是通常情况下,y轴与重力方向不重合,如下图所示:
这个时候测量得到的x、y轴加速度分别如下:
需要知道方位角度θ,才能减去重力项,从而得到我们真正想要的运动加速度。
如果方位角度不准确,不仅不会消除重力,还会引入误差。
以手机为例,假设手机处于静止状态,那么:
则由上述公式可得:
加速度计就变成了一个角度传感器。这时需要加速度计处于静止状态下去估算旋转角度。但是如果需要测量三维旋转,仅靠加速度计是不够的。
加速度计还可以用来测量距离。
如果通过对加速度进行双重积分的方式估算距离,会导致严重的测量错误。
其中n表示测量误差,误差会随着时间的增加大量积累,导致估算的距离严重错误。
然而由于加速度计可以很好的跟踪步态,所以可以根据步数和步长,再加上罗盘测量的方位,就可以估算出距离:
Distance = step_count * step_size
加速度计总结
- 测量重力加速度和直线加速度;
- 2D情况下,在静止状态下,测量到的重力可以用于估算旋转角度;
- 通过对加速度进行双重积分来估算距离,会导致误差严重积累;而用加速度计计算步数比较准确;
三、陀螺仪
陀螺仪是测量方向的变化即角速度的检测装置。陀螺仪种类主要包括:机械陀螺仪、光速陀螺仪、MEMS微电子机械系统陀螺仪(科里奥利效应指的是一种在旋转坐标系中移动的物体发生偏转的现象)等。
优缺点:
传感器 | 缺点 |
---|---|
机械陀螺仪 | 体积较大,难以消除与摩擦力相关误差,测量前需要加快飞轮速度 |
光速陀螺仪 | 价格较贵,0.2kg大约1000欧元;要求光路长,敏感度高 |
微电子机械系统陀螺仪 | 精度较差,需要连续激励 |
磁力计 | 局部磁场容易受到铁磁材料和电子设备的干扰 |
四、磁力计
磁力计就是测量磁场北极的方位,磁力计测量局部磁场的方向和强度,需要掌握洛伦兹力和霍尔效应相关知识。
洛伦兹力:左手定则,磁场线穿手心,四指指向正电荷的运动方向,大拇指则为洛伦兹力的方向。考虑电场的公式:F = q ( E + v × B ) F = q(E + v × B)F=q(E+v×B)
4.1 2D情况
在2D情况下,如图所示,当磁场北极刚好处于磁力计y轴,则磁力计测量值为:
如果磁力计的坐标偏转了一个方向θ,如图所示,则磁力计测量得到的值为:
在3D情况下也是同样的原理,3D磁力计的测量输出值取决于旋转角度。
在2D情况下,磁力计可以用于估算旋转角度:
其中,Mx是磁力计x轴的测量输出值,M是磁场北极强度,是已知值。
然而,在3D情况下,单靠磁力计不足以估算三维旋转角度。
五、三维旋转
在三维情况下,X-Y-Z表示磁力计本地坐标系,East-North-Up表示的是世界坐标系,三维旋转就是测量的世界坐标系和磁力计本地坐标系之间的旋转角度关系。
下图表示了,三维旋转矩阵的含义,三维旋转矩阵可以充分的表示世界坐标和本地坐标之间的旋转关系。
现在的问题是如何来测量这个3X3旋转矩阵?
通过重力和磁场确定旋转矩阵
最关键的一点是要使用全局已知的参考向量,并且能在本地坐标系中测量到。有两个向量可以做到:重力和磁场北极。
如果采用重力向量,那么根据加速度传感器可以得到如下公式:
如果采用磁场北极向量,那么根据磁力计可以得到如下公式:
由上面两组公式可以得到6个方程,但是有9个未知数(33旋转矩阵R)。这9个未知数并非都是独立变量,旋转矩阵的每一列都是单位正交向量。所以根据上面两组公式足以解算出旋转矩阵R。
结论就是:可以用加速度计和磁力计确定旋转矩阵。
由yaw, pitch, roll确定旋转矩阵
如下式所示,3*3的旋转矩阵可以用三维的yaw, pitch, roll来表示,如图所示。
相关文章
- MySQL学习笔记_10_MySQL高级操作(下)
- Apollo星火计划学习笔记——Apollo速度规划算法原理与实践
- SLAM学习笔记----坐标关系梳理及PnP算法详解
- 深度学习笔记----不同卷积类型的总结
- 机器学习笔记----最小二乘法
- Haskell 学习笔记-18:sequence、mapM、forever 的实现
- 访问者模式(学习笔记20)
- PVE Proxmox Virtual Environment 学习笔记(二)添加磁盘阵列,分配存储
- Vue.js:Webpack基础入门学习笔记
- Vue学习笔记之vue.js 两个等号 == 和三个等号===的区别 数字0和空字符串
- Java学习笔记之ArrayList
- Angular 学习笔记 ( PWA + App Shell )
- angular2 学习笔记 ( translate, i18n 翻译 )
- Ceph分布式存储 - 学习笔记
- Mysql多实例安装+主从复制+读写分离 -学习笔记
- JSP&Servlet学习笔记----第5章
- JSP&Servlet学习笔记----第4章
- JSP&Servlet学习笔记----第4章
- JSP&Servlet学习笔记----第3章
- JSP&Servlet学习笔记----第6章
- JSP&Servlet学习笔记----第1/2章
- XSS学习笔记(一个)-点击劫持
- Python学习笔记之Python对象反射、类反射、模块反射
- android开发之this.finish()的使用 分类: android 学习笔记 2015-07-18 19:05 30人阅读 评论(0) 收藏
- 学习笔记:StructuredStreaming入门(十二)
- Socket学习笔记之二(常用基本函数)
- 数据防泄密DLP 学习笔记
- 计算机网络学习笔记
- ES6(ECMAScript6)学习笔记
- 图像编程学习笔记9——图像的锐化