相机和imu标定

目的:

  • 得到imu和相机的空间变换,和时间戳延迟

细节:

  • 使用kalibr

结果:

  • 角度的标定非常稳定
  • 平移的标定非常tricky,因为使用不用imu噪音参数的时候,能到完全不同的平移量。所以个人建议只是用标定出来的角度,平移量通过物理测量得到。或者先通过已知外参的架子上,通过调整噪音参数让算法输出的平移量准确。然后用这组噪音参数来标定其他外参的设备。当然前提是使用的相同的imu和相机。
  • 时延的标定也非常准
    • kalibr提供了多个相机和IMU之间的空间和时间标定算法,时间上可以标定出相机和IMU时间戳的延时,如果是rolling shutter的相机,还可以标定出相机每一行扫描和imu的时延。不过这篇文章研究的是global shutter,所以是相机和imu整体的时延。
    • kalibr计算相机IMU时延的原理是:计算出imu得到的角速度变化曲线,和相机得到的角速度变换曲线。通过在时间上对齐这两个曲线,得到相机和IMU的时延。
    • 这里测试思路是:通过改变rosbag的消息的时间戳和header的时间戳。人为修改时间戳,也就是人为引入已知的时延。然后看算法能否正确计算出这个已知的时延。

      • 修改ros消息发送时间不会改变计算出来的时延,说明算法不是简单的用发送消息时间和header时间戳来计算时延。
      • 修改header中的时间戳,不管修改图像的时间戳还是imu的,都能改变算法的评估结果。
      • 将下一帧的图像放入上一帧的消息中,也就是保持消息时间不变,但是实际内容是一帧之后的内容,算法的评估结果改变。
      • 算法结果和认为引入的真值之间误差小于1ms。

讨论:

  • 这种需要手摇的室内的标定其实在自动驾驶领域不太有用。因为imu和cam可能分布在车的不同地方,车是摇不动的。所以还是需要一个在线标定的程序。
  • 最好使用二维码的标定板,因为可以放心的晃动imu,不用担心标定版不完整的问题。
  • 晃动一定要多样化,幅度要够大。

 

你可能感兴趣的:(个人项目)