一、整体流程
rtk在露天环境下精度高且稳定,往往将其位置和方向的输出直接作为车辆的位置和方向。因此在自动驾驶车辆的多传感器标定中,rtk往往是传感器标定最底层的基准。rtk的标定精度是通过工装和精确测量保证的。因为rtk的工装是和车体紧固连接的,在之后的产品生命周期中,可以认为rtk相对车体的位置是不变的。
下一层级的基准则是激光雷达,因为其在结构化环境中能够得到较为准确的包含尺度信息的相对坐标。在实际的无人车的传感器配置方案中,往往会有多个激光雷达,不同的激光雷达的在使用中的实际特性也有所区别。这种区别既来自于雷达自身的区别,例如固态雷达和机械雷达、线数的多少等,也来自于其安装位置,例如车顶的雷达和车辆后侧的雷达,其点云的有效覆盖角度是不同的。因此多个雷达的情况下,部分雷达可能相比其他雷达更适合作为标定的基准,例如车顶的雷达就比车辆侧方的雷达更适合作为标定的基准。
接下来一般是以作为基准的激光雷达为基础,标定其它激光雷达和传感器,例如相机。
二、算法原理
1. rtk和激光雷达
rtk可以输出绝对坐标,激光雷达则只能输出相对坐标。因此往往通过绕圈或绕8字形同时得到rtk和激光雷达的轨迹。激光雷达的轨迹可以用ICP、NDT或者纯激光SLAM的方法得到。
理论上,两条轨迹经由rtk和激光雷达的相对位姿,可以互相推导。R=E*L
,其中R为rtk的轨迹点,L为激光雷达的轨迹点,E是rtk和激光雷达之间的相对位姿。现已知R和L,就可以求解E。通常由两种求解方法,一种是利用方程R-E*L=0
建立有关E的超定方程组,然后可以通过矩阵分解得到E。另一种是通过非线性优化的方法,使R-E*L
的总误差最小。
上述只是理论情况,在实际标定中,标定条件可能很差。例如,场地很小,不能绕8字形,甚至不能绕圈;场地颠簸,而激光雷达因为垂直分辨率较低,z方向和roll、pitch角度的定位不准确;激光雷达的扫描周期长,也没有和rtk时间同步;颠簸造成的跨多个雷达扫描周期的车体抖动,降低了激光雷达的定位精度;实际的标定环境结构化程度低,影响激光雷达的定位精度;车速跳变大,难以补偿点云畸变;等等。
另一种间接的方法,通过rtk和激光雷达对同一系列目标的观测得到。通过分别计算rtk<->目标
以及目标<->lidar
来得到rtk和激光雷达之间的标定参数。
2. 激光雷达间的标定
虽然上述提到的恶劣标定环境依然存在。但考虑到激光点云的匹配算法很成熟,所以激光雷达间的标定就简单很多。直接匹配的ICP和ndt就可以完成。不过如果把标定任务交由一线人员完成,需要的则是一套具备可行性的方案,而不是一份代码。
3. 激光雷达和相机的标定
相机缺少尺度信息,因此激光雷达和相机的标定会更复杂一些。
第一种方式是相机和雷达共同观测同一运动。对于方式一,通常会使用标定板作为相机和激光雷达的观测对象。(便宜的标定板几十块钱就行,因此可以假设标定时可以使用标定板。)相机通过检测角点得到标定板的边缘线和四个角点,激光雷达则直接通过点云找到标定板的边缘线。由于激光点云的稀疏性,四个角点则很难直接获取,需要通过拟合得到的边缘线计算出四个角的坐标。同样由于激光点云的稀疏性,通过点云找到的边缘线往往比实际的边缘线更靠近标定板内侧,这样产生的误差是均值非零的误差。如果把在标定板上的点和其不在标定板上的相邻点的中点作为边缘线上的点,这种方法的误差的均值为零。
第二种方式是相机和雷达共同观测同一平面。每个处于共视的平面可以提供三个约束,最少需要三个平面才能构成足够的约束。
第三种方式,是类似于rtk和激光雷达的标定,通过SLAM的方法得到轨迹,然后计算外参。误差主要取决于SLAM的误差。这种方式误差较大,对环境要求较高(需要同时具备较好空间结构和纹理)。
第四种方式,相机和雷达共同观测同一特制物体。该特制物体可以为一个立方体形状的箱子,箱子的表面相互正交,表面有可以用于相机识别的图案,例如棋盘格。如果已知标定板的信息,例如棋盘格的方格的尺寸,这种方式可以同时获取到箱子在相机坐标系下和雷达坐标系下的三维坐标。然后可以计算相机和雷达间的相对坐标。如果三个面是完全相同的,会有多个解,可以选取最接近的初始值的解。
4. 相机内参和畸变系数的标定
背景光照和标定板的光照不同,可能会显著影响标定结果,甚至标定错误。例如标定板的背景为光照强烈的环境,标定板的阳光被遮挡,在成像中和其它部分相比偏暗。这种情况就可能导致标定结果失效。
固定光照的标定环境对标定的稳定性很重要。在有大量标定结果的情况下,也更容易进行统计分析,找出影响标定精度的因素。
5. 相机间的标定
使用标定板。在已知标定板信息的前提下(例如棋盘格的方格的尺寸),可以用2D的成像通过PnP的方式得到3D的位置信息。
6. 激光雷达和毫米波雷达的标定
激光雷达和毫米波雷达的标定通常是观测同一静止物体来计算相对位姿。相比其它材质,毫米波雷达对金属物体可以得到更强的信号。因此通常会使用金属三角锥作为观测物。
7. 超声波雷达
超声波雷达
8. IMU内参标定
三、时间标定
1. 离散时间标定
把某个传感器作为时间的基准。将其它传感器的数据补偿到这个时间。例如用补偿的方法计算图像的像素,调整IMU的积分时间,把激光点云补偿到该时刻。