本文参考知乎Alvin一路向东的《由粗到精学习LVI-SAM》专栏
1.为什么会产生畸变
与相机不同,相机的曝光时间都很短,每一帧之间的时间间隔很短,而且上一帧最后一个像素与当前帧第一个像素也没有连续关系,通常不考虑运动畸变。而激光雷达不同,激光雷达形成一帧点云,至少需要激光从一侧扫描到另一侧若干遍,而且激光雷达每一帧形成的时间都比较长,因此此过程中位姿变化也比较大,导致出现的点云与真实世界中差别很大,所以需要点云去畸变。
2.点云去畸变原理
上一帧点云的最后一个点就是当前帧点云的第一个点,这是点云去畸变的方便之处。
点云去畸变的基本原理依据:根据每个点云点采集时刻的激光雷达位姿,把点云点投影到同一个位姿下,从而让一帧点云中的所有点都表现出同一时刻采集的样子。
我们认为当前帧位姿就是当前帧点云中最后一个点采样时激光雷达本身的位姿,并且假定我们已经知道了上一帧和当前帧的位姿,也就是当前帧第一个点的位姿和最后一个点的位姿,因此我们就可以按照每个点的采样时间通过线性插值的方式拟合出该点采样时的激光雷达位姿,最后按照位姿变化将点云投影到最后一个点时刻的激光雷达坐标系当中。
3. 点云去畸变的步骤
- 计算每个点在当前扫描周期内的测量时间
- 计算当前点的测量时间占整个扫面周期的比例
- 计算当前扫描周期内激光雷达产生的运动(帧间的位姿变换)
- 计算当前点相对于扫描终点的运动
- 将当前点转换到扫描终点坐标系下