目录
激光雷达为什么会存在运动畸变
激光雷达如何运动去畸变
C++实践激光雷达运动补偿(辅助传感器)
实践激光雷达ICP运动补偿
参考文献
激光雷达为什么会存在运动畸变
首先要理解为什么会产生运动畸变。激光雷达扫描物体形成点云的过程自身伴随着旋转运动,每次激光线束发射之后立刻接收完成1个角度的扫描,根据不同的激光雷达配置,360度扫描的次数由每次的旋转角度决定。当车辆静止并且目标静止的时候,扫描一周得到的点云不会存在任何变形,但是考虑一种情况:激光的发射和反射的耗时微乎其微,当自车是以较大的速度前进时,激光雷达旋转运动的起始时刻T1前方目标的距离为D1,但是当激光雷达旋转360度后最后时刻T2扫描到同一目标点的时候,此时自车已经前进了delta_D=V*(T2-T1),其中V是自车在T1~T2时间内的平均前进速度,对于同一目标点来讲,T2时刻其距离变成了D2=D1-delta_D。因此,产生了激光的运动畸变。显然,当我们检测的目标如果本身也是运动的,那畸变可能会更为严重。
激光雷达如何运动去畸变
为了补偿诸如上述由于自车的自身运动产生的点云偏差,需要寻找方法进行运动补偿,目前普遍的思路是将一个扫描周期内不同时刻的点云坐标统一到同一时刻的坐标下,通常往初始时刻的坐标统一形成补偿,而业内对于激光雷达的运动去畸变的方法主要包括两种,或者说三种:
- 纯估计方法,比较典型的是ICP
- 利用其他传感器进行辅助补偿,Odom和IMU的方式都有
- 结合上述两种方法进行补偿
对于上述的纯估计的方法,需要利用前帧与当前帧的点云匹配计算其速度信息,在当前帧中做运动补偿。通常它主要是针对目标物体运动导致的点云畸变,在点云障碍物检测跟踪的基础上,利用前后帧匹配计算速度信息,加入当前帧中做运动目标的点云畸变补偿。