天天看点

imu与lidar外参手眼标定1基本原理2具体实现过程3code4注意事项5其他参考

文章目录

  • 1基本原理
  • 2具体实现过程
  • 3code
  • 4注意事项
  • 5其他参考

关于手眼标定的原理在之前的文章中已经介绍了。手眼标定的约束是传感器不同的运动,得到同一物体在世界坐标系下的坐标是相同的。或者说通过不同的运动,得到的世界坐标系和物体坐标系的变换矩阵是不变的。

手眼标定往往以相机与imu作为例子,特别的是以机械臂上imu,相机为例子。那么在自动驾驶中怎么将手眼标定应用于imu和激光雷达的标定呢?

1基本原理

imu与lidar外参手眼标定1基本原理2具体实现过程3code4注意事项5其他参考

2具体实现过程

论文中分为两步法求解:

《激光雷达和惯性测量紧耦合的车辆高精度定位研究》

3code

ros系统中实现手眼标定:

github

4注意事项

由最终的标定表达式可以发现:任意两个时刻imu的位姿变换 T i m u 2 − i m u 1 T_{imu2-imu1} Timu2−imu1​,两个时刻lidar设备的位姿变换 T l i d a r 2 − l i d a r 1 T_{lidar2-lidar1} Tlidar2−lidar1​,直接影响参数的标定精度。纯imu中运动过程中, T i m u 2 − i m u 1 T_{imu2-imu1} Timu2−imu1​肯定存在漂移,会影响标定精度,可以加入GNSS纠正imu位姿。 T l i d a r 2 − l i d a r 1 T_{lidar2-lidar1} Tlidar2−lidar1​就是点云之间的变换矩阵,可以通过点云配准求解,常用ndt方法。

(2)若已知 T i m u 2 − i m u 1 T_{imu2-imu1} Timu2−imu1​, T l i d a r 2 − l i d a r 1 T_{lidar2-lidar1} Tlidar2−lidar1​则标定过程就是求解手眼过程。关于求解过程有很多方法和工具,如opencv自带相关函数。

5其他参考

1

2

继续阅读