VIO系统中相机和IMU时间戳对齐的知识总结

	文章搬运自:
	https://zhuanlan.zhihu.com/p/53555106

通常,VIO系统忽略IMU与相机时间偏差,认为IMU和相机时间是同步和对齐的,然而由于硬件系统的触发延时、传输延时和没有准确同步时钟等问题,IMU和相机之间通常存在时间偏差,估计并纠正这个偏差将有效提升VIO系统的性能。
VIO系统对两个传感器进行采样,获得相应的数据(图像、IMU数据)与对应的采样时间戳。通常,我们假设获得的采样时间戳即为传感器采样时刻对应的时间,比如相机曝光时刻(通常曝光持续几毫秒到几十毫秒,认为曝光时刻为曝光持续的中间时刻),然而,系统存在的触发延时、传输延时和没有准确同步时钟等问题,使得相机和IMU之间的时间不对齐。
VIO系统中相机和IMU时间戳对齐的知识总结_第1张图片 图1-1- 相机和IMU数据流时间不对齐
  如图1-1,上方为相机真实的采样时间点,下方为对应采样记录的时间戳,相机时间戳与真实采样时间存在一个td的时间偏差。相机与IMU数据流时间戳上的偏差将影响VIO系统的工作,比如在VINS-Mono系统中,两个KeyFrame图像之间的IMU预积分项将因为时间不对齐而不准确,从而给状态估计带来偏差。因此,IMU与相机时间对齐标定是一个重要的问题,笔者准备对几种IMU与相机时间对齐标定方法进行整理和总结。
  IMU和相机时间偏差标定的几种方法包括:
  1. 李名扬 - 基于MSCKF的在线时间标定方法:https://intra.ece.ucr.edu/~mourikis/papers/Li2014IJRR_timing.pdf
  2. 港科大沈劭劼团队 - 基于VINS-Mono的在线时间标定方法:https://arxiv.org/abs/1808.00692 (这篇文章获得了机器人领域顶级会议 IROS2018 的 Best Student Paper 奖项,是一篇很值得了解的文章。)
  3. Kalibr 工具箱中离线的时间标定方法:(待完善)

1. Kalibr是ETH开源的一个很重要的标定工具,可以标定相机的内参,相机和IMU之间的外参及时间差。标定步骤如下:

粗略估计camera与imu之间时间延时
获取imu-camera之间初始旋转,还有一些必要的初始值:重力加速度、陀螺仪偏置
大优化,包括所有的角点重投影误差、imu加速度计与陀螺仪测量误差、偏置随机游走噪声
kalibr可以标定相机的外参及一个固定的时间差(通过最小二乘法优化得到),当相机和IMU之间的时间差不固定的时候,Kalibr就没法处理。

2. 中的方法,详见文章:https://zhuanlan.zhihu.com/p/53555106 的解释;
其它地方的补充:目前这个在线标定的功能已经集成到VINS-Mono里面。外参标定步骤如下:

相机与IMU之间相对旋转角的标定
标定完成之后进行初始化
相机与IMU之间相对平移量的标定
把标定量也当做待估计的状态放入联合优化中。
VIO系统中相机和IMU时间戳对齐的知识总结_第2张图片

VINS-Mono可以在线标定相机和IMU之间的外参及时间差,不依赖于标定板,而且可以用于处理相机和IMU之间时间差非固定的情况。

你可能感兴趣的:(人工智能,自动驾驶,计算机视觉)