LiDAR是自动驾驶领域的重要传感器,LiDAR与IMU的外参是LiDAR局部坐标系与世界坐标系之间转换的桥梁,是数据使用的关键参数。LiDAR--IMU外参标定有以下几种方法。
1、外部测量法
外部测量法原理如图1所示,过程也十分简洁粗暴。
图1. 外部测量法示意图
(1)首先使用外部测量工具(全站仪或精密LiDAR),构建测量坐标系measure;
(2)通过测量设备的外部几何外立面,分别确定LiDAR与IMU设备坐标系在测量坐标系的位姿和。多数lidar和imu设备的设备坐标系是与外部结构相关联的,如图2、图3所示:
图2. 市面上某款imu设备,外立面印有设备坐标系的位置和朝向
图3. Velodyne 32线LiDAR设备坐标系的定义
(3)计算出LiDAR-IMU外参:
2、真值测绘法
2.1 原理
真值测绘法也需要引入第三方测绘工具(通常是全站仪),标定原理来源于以下观测过程:
式中,
为某特征的全局位姿,可使用全站仪精密测得
为该时刻IMU在世界坐标系下的位姿,可通过组合导航推算出
为LiDAR设备直接测得,该特征在LiDAR设备坐标系下的位姿
方程中只有未知,这也是我们要计算的标定参数。通过采集多组观测数据,构建并求解方程组,即可得到LiDAR-IMU标定参数。
2.2 实施
由于LiDAR点云是对物体表面的采样,样点之间的间距使得从LiDAR数据中提取精确的点特征和线特征较为困难,因此较为鲁棒的方法是提取平面特征。
另外,为了确保在各*度上有充分的激励,通常需要采集多组不同朝向的平面特征。
3、手眼标定法
3.1 原理
手眼标定的原理推导十分简单。
首先,分别从两个不同位置观测场景中的某个静止物体,其位姿可以写成式(1)和式(2):
(1)
(2)
由于物体保持静止,则(1)和(2)等价,有:
(3)
对于式(3),左乘,右乘,有
(4)
化简后得
(5)
由于imu与lidar保持固定连接,有,代入式(5),得到:
(6)
式(6)即是手眼标定方程。式中,
为任意两个时刻imu的位姿变换,可通过组合导航推算出;该两个时刻lidar设备的位姿变换,可通过对两时刻的点云做lidar odometry计算得到。
3.2 实施
关于手眼标定方程的结算,网上可以搜到不少论文和开源工具,此处就不多费笔墨。笔者使用过https://github.com/zhixy/SolveAXXB 里面的conventionalaxxbsvdsolver,效果不错。
手眼标定无需额外的测量工具,数据采集过程相对简单。但该方法也有几个需要注意的地方:
(1)标定结果精度取决于imu位姿变换精度和lidar位姿变换精度,几乎直接决定了低精imu设备难以取得较高的精度(可通过增加观测次数进行一定程度上的弥补),而lidar odometry想要取得较高精度,通常需要场景中有较为丰富的feature(在室外开阔场景,可以通过人为布置一些物体,数据采集时物体需保持静止)
(2)在lidar odometry环节,通常需要使用lidar-imu外参初值来进行运动补偿,消除运动畸变
(3)标定数据采集时,需要车辆进行一些较大幅度的转换、俯仰和侧倾动作,标定结果才更加可靠;否则,激励不足容易导致手眼标定退化,引起某些*度上标定精度较差。