根据文章IMU Kalibr parameters for AirSim 、AirSim仿真IMU内参分析可以得到AirSim中连续时间的IMU随机噪声参数如下:
gyro.arw is the gyroscope_noise_density, and is equal to 8.7266462e-5 gyro_bias_stability_norm is the gyroscope_random_walk, and is equal to 9.9735023e-7 accel.vrw is the accelerometer_noise_density, and is equal to 0.002353596 accel_bias_stability_norm is the accelerometer_random_walk, and is equal to 1.2481827e-5
在VINS-Mono中我们需要的是离散后的噪声参数:
对于高斯白噪声:
σ
d
=
σ
1
Δ
t
\sigma_d = \sigma \frac{1}{\sqrt{\Delta t}}
σd=σΔt1 对于随机游走噪声方差:
σ
b
d
=
σ
b
Δ
t
\sigma_{bd} = \sigma_b \sqrt{\Delta t}
σbd=σbΔt 在采集数据时,测得IMU频率为40~50Hz,这里得采样时间取
Δ
t
=
0.025
\Delta t = 0.025
Δt=0.025 因此,在Vins-Mono中设置IMU参数如下:
则下视相机的
R
c
a
m
i
m
u
R_{cam}^{imu}
Rcamimu为:
R
=
M
z
(
−
90
)
=
[
0
−
1
0
1
0
0
0
0
1
]
R = M_z(-90) = \begin{bmatrix} 0 & -1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1 \end{bmatrix}
R=Mz(−90)=⎣⎡010−100001⎦⎤ 相机系与imu系的平移
T
c
a
m
i
m
u
T_{cam}^{imu}
Tcamimu即为相机系的原点在imu系下的坐标。对应airsim中.json文件设置的相机安装位置,这里以上面的.json文件为例:
t
=
[
0.5
0.0
0.1
]
t= \begin{bmatrix} 0.5 & 0.0 & 0.1 \end{bmatrix}
t=[0.50.00.1]
三 AirSim发布数据问题
增加频率方法参考资料: Running SLAM system on AirSim · Issue #2369 · microsoft/AirSim (github.com) 修改airsim的ros包实现高频率:xuhao1/airsim_ros_pkgs: An adapter for airsim for SITL or HIL simulation drone app built on DJI-SDK (github.com) 我的另一篇总结bolg:AirSim中获取视觉、惯性数据方法研究