In this technical report, we compare treating an IMU as an input to a motion model against treating it as a measurement of the state in a continuous-time state estimation framework. Treating IMU measurements as inputs to a motion model and then preintegrating these measurements has almost become a de-facto standard in many robotics applications. However, this approach has a few shortcomings. First, it conflates the IMU measurement noise with the underlying process noise. Second, it is unclear how the state will be propagated in the case of IMU measurement dropout. Third, it does not lend itself well to dealing with multiple high-rate sensors such as a lidar and an IMU or multiple IMUs. In this work, we methodically compare the performance of these two approaches on a 1D simulation and show that they perform identically, assuming that each method's hyperparameters have been tuned on a training set. We show how to preintegrate heterogeneous factors using Gaussian process interpolation. We also provide results for our continuous-time lidar-inertial odometry in simulation and on the Newer College Dataset. Code for our lidar-inertial odometry can be found at: https://github.com/utiasASRL/steam_icp
翻译:本技术报告在连续时间状态估计框架下,比较了将IMU作为运动模型的输入与作为状态测量的两种处理方式。将IMU测量值作为运动模型输入并对其进行预积分处理,已成为许多机器人应用中的事实标准。然而,该方法存在若干缺陷:首先,它混淆了IMU测量噪声与底层过程噪声;其次,在IMU测量值缺失的情况下,状态传播方式不明确;第三,该方法难以有效处理多高频传感器(如激光雷达与IMU或多个IMU)的协同问题。本研究通过一维仿真系统性地比较了这两种方法的性能,结果表明在各自超参数经训练集优化后,两者表现完全一致。本文展示了如何利用高斯过程插值实现异构因子的预积分,并在仿真环境及Newer College数据集上给出了连续时间激光雷达-惯性里程计的实验结果。激光雷达-惯性里程计的代码可于以下链接获取:https://github.com/utiasASRL/steam_icp