【学习总结】IMU噪声的连续形式与离散形式

乱七八糟的,查了半天资料,整理如下。
(网上其他地方的资料也很混乱,这篇总结是我综合比对,得出的结论)

统一符号

连续形式:
gyroscope white noise: σ g \sigma_g σg
accelerator white noise: σ a \sigma_a σa
gyroscope random work: σ b g \sigma_{bg} σbg
accelerator random work: σ b a \sigma_{ba} σba

离散(discrete)形式:
discrete gyroscope white noise: σ g d \sigma_{gd} σgd
discrete accelerator white noise: σ a d \sigma_{ad} σad
discrete gyroscope random work: σ b g d \sigma_{bgd} σbgd
discrete accelerator random work: σ b a d \sigma_{bad} σbad

单位

连续形式

名称 符号 单位 其他名称
gyroscope white noise σ g \sigma_g σg r a d s 1 H z \frac{rad}{s}\frac{1}{\sqrt{Hz}} sradHz 1, = r a d s =\frac{rad}{\sqrt{s}} =s rad gryo_noise_density
gyroscope random work σ b g \sigma_{bg} σbg r a d s 2 1 H z \frac{rad}{s^2}\frac{1}{\sqrt{Hz}} s2radHz 1, = r a d s 3 =\frac{rad}{\sqrt{s^3}} =s3 rad gyro's bias instability
accelerator white noise σ a \sigma_a σa m s 2 1 H z \frac{m}{s^2}\frac{1}{\sqrt{Hz}} s2mHz 1 acc_noise_density
accelerator random work σ b a \sigma_{ba} σba m s 3 1 H z \frac{m}{s^3}\frac{1}{\sqrt{Hz}} s3mHz 1 acc's bias instability

这也是Kalibr、GTSAM、allan_variance_ros、ORBSLAM3采用的单位。
官方连接:
Kalibr: Kalibr IMU Noise Model units problem
Allan_variance_ros: About units of params Accel Random Walk and Rate Random Walk
GTSAM: IMUFactor example noise/bias units
ORB-SLAM3: 在issue中有不少讨论,但我认为是连续形式,因为yaml文件中给出了单位是连续形式的对应。ORB-SLAM3的yaml文件
(补充:imu_utils的标定被认为是有问题的,详见:这个链接中Martin的回复)

离散形式:

参考:http://mars.cs.umn.edu/tr/reports/Trawny05b.pdf
需要将acc和gyro的随机噪声除以时间间隔根号,随机游走乘以。直观上的理解,采样频率越高,随机噪声应该越大,随机游走的应该越小。
【学习总结】IMU噪声的连续形式与离散形式_第1张图片注意:
这里的 r 是 “rate noise” 的缩写,对应上文的 “white noise”; w 是 “walk” 的缩写,对应 “random walk"。
cd 对应的是 “contineous” 和 “discrete”。
所以结论,white nosie 应该除以 Δ t \sqrt{\Delta t} Δt 即乘以 H z \sqrt{Hz} Hz ,random work 应该乘以 Δ t \sqrt{\Delta t} Δt 即除以 H z \sqrt{Hz} Hz

名称 符号 单位
discrete gyroscope white noise σ g d \sigma_{gd} σgd r a d s \frac{rad}{s} srad
discrete gyroscope random work σ b g d \sigma_{bgd} σbgd r a d s \frac{rad}{s} srad
discrete accelerator white noise σ a d \sigma_{ad} σad m s 2 \frac{m}{s^2} s2m
discrete accelerator random work σ b a d \sigma_{bad} σbad m s 2 \frac{m}{s^2} s2m

VINS-mono 采用的是离散化的噪声:
VINS-mono: Camera position is moving fast while robot is only tilted and rotated

总结

  • IMU的噪声有连续形式和离散形式,两种;二者的差异:noise项需除以根号时间间隔(或乘以 H z \sqrt{Hz} Hz ),walk项需要反过来。
  • Kalibr,allan_variance_ros,GTSAM等用的是连续形式;
  • VINS-mono采用的是离散形式;
  • ORB-SLAM3应该是连续形式,和Kalibr的一致;
  • 连续形式或离散形式的噪声,英文名比较混乱,一般连续形式叫:white noise 或 noise density,但由于单位非常混乱有可能作者也没搞清楚,因此主要还是看单位的对应。

其他参考资料:
IMU specifications
IMU Error Modeling Tutorial: INS state estimation with real-time sensor calibration

你可能感兴趣的:(SLAM,数学基础,个人学习记录,机器人)