VIO中IMU选型与数据处理

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

7d510c0c1222093886f080ea03ddb0f7.png

作者丨蘅芜君@知乎

来源丨https://zhuanlan.zhihu.com/p/433625159

编辑丨计算机视觉life

MEMS IMU的型号多种多样,如何给自己的机器人选择一个合适的IMU至关重要。本文从IMU常用参数,选型需要测试哪些IMU特性,以及如何对IMU数据进行处理这三部分进行介绍。

IMU常用参数

这里列出常用的几款消费级MEMS IMU参数对比,IMU分别是BMI055(Realsense T265 D455使用),BMI088(小觅彩色版和傲览Avia使用),TDK ICM-42686TDK ICM-42688(高通RB3,RB5计算平台使用)。

f67afd0db8010cf775eac1fc0d478173.png

1.最大量程 (Range)

ICM-42686的加速度计量程最大是32g,陀螺仪的最大量程是4000°/s,BMI088的加速度计量程是32g, BMI055,ICM-42688都是16g。这里需要根据机器人的应用场景选择合适的量程,量程越大其灵敏度会随之下降,量程太小可能会有超量程情况。

2.ADC位数 (ADC Word Length)

BMI055的加速度计ADC位数最小是12bit,分辨率最差。BMI088、ICM-42686和ICM-42688都是16bit,分辨率一致。

3.灵敏度 (Sensitivity)

BMI088、ICM-42686和ICM-42688的加速度计灵敏度都是2048 LSB/g,BMI055的加速度计灵敏度最低是128 LSB/g。LSB是指传感器输出数字量的最低有效位。例如,BMI088的ADC位数是16位,能表示的最大数字是65536,其在16g量程时的灵敏度就是65536/32=2048 LSB/g,即加速度是1g时ADC输出的数值就是2048,数值越大代表了灵敏度越高,以上可以看出灵敏度与ADC的位数和量程有关。陀螺仪同理。

4.零偏 (Zero-g Offset/Zero-rate Offset)

BMI088和ICM-42688的加速度计零偏都是20mg,BMI055的零偏最大是70mg,TDK的陀螺仪零偏比BMI稍微小一点。

5.零偏温漂系数 (Zero-g Offset Temperature Drift/Zero-rate Offset Change over Temperature)

零偏温漂系数反映了加速度和陀螺仪零偏的温度敏感性,从手册上看BMI088、ICM-42686和ICM-42688相差不大,有条件最好实际测试对比。

6.非线性 (Nonlinearity)

理想情况下,我们认为IMU的数据是线性的,但是实际环境中,IMU的数据是非线性的,特别是越靠近量程最大值,非线性就越差。

7.零偏加速度敏感性 (G-sensitivity)

理想情况下,陀螺仪的输出应该对加速度不敏感,由于机械设计不对称和/或微加工不够精确,造成陀螺仪的测量可能会受到外部加速度的影响。BMI055和BMI088的g敏感度不差,都是0.1°/s/g 或 360°/h/g,需要注意的是大多数陀螺仪的g敏感度会随振动频率变化而变化,因此补偿方案将变得复杂,要求根据频率改变敏感度。

8.非正交误差 (Cross Axis Sensitivity)

理想情况下,加速度计和陀螺仪的X,Y和Z轴是完全正交的,即各轴的两两夹角为90度,但是由于结构的加工误差,很难做到完全正交。Cross-Axis Sensitivity为1%表示: 假设X轴的加速度为1g,理想情况下Y轴是无分量的。但是实际有1%的分量耦合到Y轴: 1g*1%=0.01g=10mg。

IMU特性测试

1.零偏重复性

全称是零偏逐次上电重复性,理想情况下,IMU在相同外界条件下每次上电的零偏不变,但是实际环境中,在相同的外界条件下IMU每次上电的零偏会有差别。测量方法是在工作温度下将IMU多次上电,记录每次上电以后的零偏大小,然后统计其差异。以BMI088为例,其加速度零偏重复性如下。

58e96ca994c4a270540e48b21520c6cf.png

2.零偏温漂特性

对于高精度IMU模块,厂家会对每个IMU模块进行温漂矫正,而对于低端MEMS IMU芯片,不可能每个都做温漂标定和补偿,因此厂家往往给个零偏温漂系数。测量方法是将IMU芯片加热,记录整个温度区间内的零偏大小,拟合零偏温度特性曲线,观察零偏在某个温度范围内是否存在异常情况。测试结果可以参考零偏温度滞回特性。

3.零偏温度滞回特性

零偏温度滞回特性指的是IMU在温度上升阶段和温度下降阶段对应的零偏可能会不一致。测量方法是将IMU芯片加热然后降温,然后再加热降温,多测几次,观察IMU数据在对应温度的零偏是否一致。以BMI088为例,将其来回加热降温三次,其陀螺仪零偏温度滞回特性如下。

9137243c907778d30a964fad88cc1ac2.png

4.振动特性

振动特性指在振动情况下,零偏随振动频率的变化特性。有些IMU芯片在高频振动下,频率特性会出现异常,对于无人机场景,一般要做振动特性的测试,如果IMU出现异常频率特性,可以考虑加减震装置。

5.应力特性

应力特性是指IMU芯片贴到PCB板上以后,PCB板会对IMU施加应力,从而造成IMU零偏发生变化。如果IMU受到应力后零偏变化较大,则需要将IMU贴到PCB板上以后再次矫正零偏。以BMI088为例,测试IMU模块贴到PCB板前后的零偏变化如下。

f03a8462cb338380b04c5d6f5004e44a.png

IMU数据处理

前面已经介绍过机器人引起的振动会对IMU数据造成影响,需要对IMU模块做一定的减震处理,如果结构无法做减震,则需要对IMU数据进行处理。本文取一段无人车(差速转向,振动较大)在水泥地行驶时的IMU数据进行分析,IMU数据以200hz的采样率采集,参考飞控使用截止频率为15hz的巴特沃斯低通滤波器进行滤波。加速度Y轴数据波形如下:

6f86d5e74ceb0c6e6ddfdda216011adf.png

图中可以看出红色滤波后的数据少了很多毛刺。对加速度数据进行FFT:

4f0e828105c19165d933ace6a14a5af5.png

上图可以看到原始数据在20hz以后一直有高频噪声干扰,滤波后的频谱表明高频噪声干扰已经基本被去除,而且低频段的频谱没有失真。

参考文献

程序便利店的博客_dshxxxxxxx_CSDN博客-C++,Sensor领域博主

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

40c8c09e750e17a2d1764dd684d99d86.png

▲长按加微信群或投稿

b0b046c92b3d631bd73147936d0723e7.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

c49121481c9c4a12a2d5c12537b8ae5a.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值