Camera和IMU的标定过程
问题说明
VIO(Visual-Inertial Odometry)视觉惯导里程计是在视觉里程计的基础上加入了IMU的数据进行融合来更精确的估计位姿。在VIO算法中,Camera和IMU的融合都需要基于Camera和IMU坐标系进行转换的相对位置矩阵Tbc/Tcb。所以VIO算法在实际实现时会遇到的第一个问题就是这个Tbc的矩阵标定。
一般有两种方法来做Camera和IMU的标定,online和offline。港科大的VINS就实现了一个在线的Camera和IMU的标定算法,显而易见,online标定使用起来会更加的方便,具有兼容性,能够对不同的设备进行标定,但是也增加了初始化的复杂性。一般来说目前的VIO系统假如不是动态的求解Camera的内参的情况下,都是做预先的offline标定的。
工具环境准备
这里Camera和IMU标定所用到的工具是kalibr,这个工具是跑在ROS上的,而且是特别指的是ROS indigo。而ROS indigo是跑在Ubuntu14.04上的,所以我们要用kalibr需要先准备ubuntu14.04+ROS indigo的平台,然后把kalibr在这个平台上编译运行。
按照这个installation wiki就能够搭建好所需要的环境,遇到什么库找不到的问题,只需要通过apt-get install安装即可。
在编译kalibr的时候,有可能会报gcc编译的错误,通常来说是内存不足(特别是运行在虚拟机上)