Robust Real-time LiDAR-inertial Initialization解读
大致描述
这是香港大学MARS LAB发表的一篇关于LiDAR与IMU两个传感器之间标定的paper,标定的量包括IMU的陀螺仪零漂 \(b_{\omega}\)、加速度计零漂\(b_a\)、重力加速度\(g\),LiDAR与IMU之间的时间对齐量\(\tau\)和外参数\(R\)、\(t\)。主要的流程如下系统框架:基于LiDAR scan做纯点云的Odometry,得到两帧点云之间的transform,并推算相应的线速度和角速度。由于这时无法用IMU进行运动补偿,讲点云切成更小的片(subframe),并假设这段时间的速度是常量。为了保证足够的运动激励,在积累足够的数据后调用LiDAR-IMU Initialization。LiDAR-IMU Initialization首先是对数据进行处理。包括
- 对LiDAR和IMU的测量进行去噪,这个噪声主要是高频分量,因此采取了一个“non-casual zero phase low-pass filter”(这个比较高深还没看懂,后续再看)进行过滤。
- 通过一种叫non-causal central difference来从LiDAR Odometry的角速度和线速度分别推算它的角加速度和线性加速度。
- 由于LiDAR和IMU频率不一致,还需要将IMU数据通过插值并降采样到LiDAR一致的频率。
接着利用cross-correlation的方法来得到时差的一个初对齐(此时精度只能做到LiDAR的帧间时间\(\Delta_t\))。
然后基于LiDAR Odometry与IMU测量之间的角速度等量关系以最小二乘解的方式对IMU的陀螺零偏、外参数的旋转分量和时间差进行联合标定。
最后将已经标定好的量作为已知量对剩余的待标量基于LiDAR Odometry与IMU测量之间的线性加速度等量关系进行最终的联合优化。
为了知道什么时候积累的数据是足够的,利用了对外参数旋转和平移的标定优化式的雅可比矩阵的SVD来判断,当奇异值超过阈值就认为激励足够。
上文只是一个非常粗略的描述,算是挖坑,有空再来填坑。。。