IMU使用方法总结

本文概述了IMU(惯性测量单元)在自动驾驶中的应用,介绍了积分形式的用法,如ODE、EKF预测,以及优化算法中的预积分和直接积分方法。同时提及了微分形式的使用,如通过插值获取连续状态并建立与IMU的关系。关键参考资料被提供以供深入学习。
摘要由CSDN通过智能技术生成

IMU使用方法总结

image

附赠自动驾驶学习资料和量产经验:链接

1. 积分形式的用法

这种方式通过积分IMU数据的形式,建立IMU与State的关系。

1.1 IMU ODE

image

具体可参考:

Sola J. Quaternion kinematics for the error-state Kalman filter[J]. arXiv preprint arXiv:1711.02508, 2017.​arxiv.org/abs/1711.02508

1.2 在滤波算法中的用法

image

采用这个式子,就可以做EKF的预测了。状态转移矩阵/雅克比的具体形式可以参考这里:

IMU Propagation Derivations​docs.openvins.com/propagation.html

1.3 在优化算法中的用法

IMU的频率远高于相机/Lidar的帧率,基于优化的系统,如VIO/LIO中,一般将两个(关键)帧之间的IMU做积分,形成与两端state的关系方程。构造这个方程有两种办法。

1.3.1 直接积分法

采用(2)式,对IMU进行直接积分,从上一个关键帧state推演到下一个关键帧。这样,我们可以建立下面的约束。

image

image

1.3.2 预积分

预积分开始由Lupton提出,后来由 Forster推广到了manifold上面。李明扬在MSCKF2.0中也有提到相关的思想。最关键的Paper是

On-Manifold Preintegration for Real-Time Visual–Inertial Odometry​ieeexplore.ieee.org/document/7557075image

image

上面的与积分假设了IMU bias不变,但是实际优化过程中 IMU bias是会变的。因此需要进行补偿。具体的是采用一阶近似。

image

这种近似相对于直接积分的方法就有一些精度损失。

预积分的好处是可以避免重复积分。
但是因为有一些近似,比如(7)式,所以理论上精度上不如直接积分。

具体的预积分实现和论文请可以参考:

borglab/gtsam​github.com/borglab/gtsam/tree/develop/gtsam/navigation

https://github.com/UZ-SLAMLab/ORB_SLAM3/blob/master/src/ImuTypes.cc​github.com/UZ-SLAMLab/ORB_SLAM3/blob/master/src/ImuTypes.cc

https://github.com/HKUST-Aerial-Robotics/VINS-Mono/blob/master/vins_estimator/src/factor/integration_base.h​github.com/HKUST-Aerial-Robotics/VINS-Mono/blob/master/vins_estimator/src/factor/integration_base.h

2. 微分形式的用法

我们如果对IMU数据进行积分,就可以得到pose,从而可以建立IMU与state的关系。那么我们反过来想,对state进行微分,一阶微分就可以得到速度、角速度,二阶微分就可以得到加速度,这样也可以建立IMU的角速度、加速度与state的关系。

关键是如何对state进行微分呢?而且state一般是离散分布的。常用的办法是插值,给定一些离散的state,可以通过插值获取任意时刻的pose。比较常用的插值方法是b-spline。如下图,我们可以在一个IMU采样时刻,插值一个state image,由与其相邻的四个state插值而来。

image

image

对其进行相对时间的微分,可以建立与IMU的关系,即加速的误差和角速的误差。

image

具体形式,可以参考文献:

Continuous-Time Visual-Inertial Odometry for Event Cameras​ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8432102image

Sommer C, Usenko V, Schubert D, et al. Efficient derivative computation for cumulative B-splines on Lie groups[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 11148-11156.​vision.cs.tum.edu/_media/spezial/bib/sommer19spline.p

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MEMS(Micro-Electro-Mechanical Systems)IMU(Inertial Measurement Unit)是一种能够测量物体在空间中的加速度和角速度的传感器。由于其小巧、轻便、低功耗等优点,MEMS IMU在航空航天、汽车、机器人等领域得到了广泛应用。然而,由于MEMS IMU存在着一些误差,如漂移、非线性、温度效应等,需要经过校准才能得到准确的测量结果。本文将综述MEMS IMU校准方法的研究现状和进展。 一、MEMS IMU误差模型 MEMS IMU存在着多种误差,如零偏、比例因子误差、尺度因子误差、非正交性误差、非线性误差、温度漂移等。其中,最常见的误差是零偏误差和尺度因子误差。 零偏误差是指在没有外部力作用下,MEMS IMU仍然会输出一个非零值。这种误差通常由于传感器制造过程中的不完美造成。零偏误差可以表示为: b = [bax bay baz bgx bgy bgz]T 其中,bax、bay、baz分别表示X、Y、Z轴的加速度零偏,bgx、bgy、bgz分别表示X、Y、Z轴的陀螺零偏。 尺度因子误差是指MEMS IMU输出的信号与实际值之间存在一定的比例误差。这种误差通常由于传感器制造过程中的不精确造成。尺度因子误差可以表示为: s = [sax say saz sgx sgy sgz]T 其中,sax、say、saz分别表示X、Y、Z轴的加速度尺度因子,sgx、sgy、sgz分别表示X、Y、Z轴的陀螺尺度因子。 二、MEMS IMU校准方法 MEMS IMU的校准方法通常分为静态校准和动态校准两种。静态校准是指在没有运动的情况下对MEMS IMU进行校准,动态校准是指在运动的情况下对MEMS IMU进行校准。下面将分别介绍静态校准和动态校准的方法。 2.1 静态校准 静态校准是指在没有运动的情况下对MEMS IMU进行校准。静态校准通常包括以下步骤: (1)放置MEMS IMU:将MEMS IMU放置在水平面上,并保持不动。 (2)采集数据:采集MEMS IMU的输出数据,包括加速度计和陀螺仪的输出。 (3)计算零偏误差:根据采集到的数据,计算出MEMS IMU的零偏误差,即b向量。 (4)计算尺度因子误差:根据采集到的数据,计算出MEMS IMU的尺度因子误差,即s向量。 常用的静态校准方法有: (1)方差法:方差法是一种简单有效的校准方法。该方法基于MEMS IMU没有被外部力作用时输出的信号应该是一个零均值的高斯白噪声的假设。具体步骤如下: ① 将MEMS IMU放置在水平面上,保持不动。 ② 采集N组数据,计算出加速度计和陀螺仪的方差。 ③ 根据方差计算出MEMS IMU的零偏误差和尺度因子误差。 方差法的优点是简单易行,但其缺点是精度较低,受到环境干扰较大。 (2)最小二乘法:最小二乘法是一种基于最小化误差平方和的校准方法。该方法可以同时估计出MEMS IMU的零偏误差和尺度因子误差。具体步骤如下: ① 将MEMS IMU放置在水平面上,保持不动。 ② 采集N组数据,计算出加速度计和陀螺仪的输出。 ③ 根据采集到的数据,建立误差模型,并利用最小二乘法求解出MEMS IMU的零偏误差和尺度因子误差。 最小二乘法的优点是精度较高,但其缺点是计算量较大,需要较长的计算时间。 2.2 动态校准 动态校准是指在运动的情况下对MEMS IMU进行校准。动态校准通常包括以下步骤: (1)运动模型:建立MEMS IMU的运动模型,包括MEMS IMU的运动方程和传感器输出方程。 (2)运动测量:利用MEMS IMU测量物体在空间中的运动,包括加速度和角速度。 (3)误差估计:基于MEMS IMU的运动模型和运动测量结果,估计MEMS IMU的误差模型,包括零偏误差和尺度因子误差。 (4)校准估计:利用误差模型和运动测量结果,对MEMS IMU进行校准。 常用的动态校准方法有: (1)卡尔曼滤波:卡尔曼滤波是一种基于状态估计的校准方法。该方法通过建立MEMS IMU状态空间模型和观测模型,利用卡尔曼滤波算法对MEMS IMU进行校准。具体步骤如下: ① 建立MEMS IMU状态空间模型和观测模型。 ② 利用MEMS IMU测量到的加速度和角速度,利用卡尔曼滤波算法估计MEMS IMU状态。 ③ 根据估计出的状态,计算出MEMS IMU的零偏误差和尺度因子误差。 卡尔曼滤波的优点是精度较高,但其缺点是计算量较大,需要较长的计算时间。 (2)扩展卡尔曼滤波:扩展卡尔曼滤波是一种基于非线性状态估计的校准方法。该方法通过将MEMS IMU状态空间模型和观测模型线性化,利用扩展卡尔曼滤波算法对MEMS IMU进行校准。具体步骤如下: ① 建立MEMS IMU状态空间模型和观测模型,并将其线性化。 ② 利用MEMS IMU测量到的加速度和角速度,利用扩展卡尔曼滤波算法估计MEMS IMU状态。 ③ 根据估计出的状态,计算出MEMS IMU的零偏误差和尺度因子误差。 扩展卡尔曼滤波的优点是可以处理非线性问题,但其缺点是需要对状态空间模型和观测模型进行线性化处理。 三、总结 MEMS IMU是一种常用的测量物体运动的传感器,在航空航天、汽车、机器人等领域得到了广泛应用。由于MEMS IMU存在着多种误差,如零偏、比例因子误差、尺度因子误差、非正交性误差、非线性误差、温度漂移等,需要经过校准才能得到准确的测量结果。MEMS IMU的校准方法通常分为静态校准和动态校准两种。静态校准是指在没有运动的情况下对MEMS IMU进行校准,常用的静态校准方法有方差法和最小二乘法。动态校准是指在运动的情况下对MEMS IMU进行校准,常用的动态校准方法有卡尔曼滤波和扩展卡尔曼滤波。不同的校准方法适用于不同的应用场景,需要根据具体情况选择合适的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值