关于手眼标定的原理在之前的文章中已经介绍了。手眼标定的约束是传感器不同的运动,得到同一物体在世界坐标系下的坐标是相同的。或者说通过不同的运动,得到的世界坐标系和物体坐标系的变换矩阵是不变的。
手眼标定往往以相机与imu作为例子,特别的是以机械臂上imu,相机为例子。那么在自动驾驶中怎么将手眼标定应用于imu和激光雷达的标定呢?
1基本原理
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自带相关函数。