文章目录
- 激光雷达扫描畸变背景与运动补偿方法整理
-
- 一、问题背景
- 二、目标
- 三、解决方法:基于IMU运动积分进行点云去畸变
-
- [处理流程(对齐到帧尾 ref_t)](#处理流程(对齐到帧尾 ref_t))
- 最终效果
激光雷达扫描畸变背景与运动补偿方法整理
一、问题背景
- 车辆向前匀速行驶,速度 10 m/s
- 激光雷达旋转扫描频率 10 Hz
- → 每帧扫描周期 100 ms (0.1s)
扫描期间车辆在运动,因此同一帧点云中的点并非采集于同一时刻:
| 时刻 | 激光扫描位置 | 车辆位置 |
|---|---|---|
| t = 0 ms(帧头) | 扫描到前方树,坐标 (10,0) | 车辆位置 A |
| t =100 ms(帧尾) | 扫描到后方房子,坐标(-10,0) | 车辆位置 B(前进1m) |
若直接拼成一个点云帧 = 不同时间点对应不同车辆位姿 → 必然畸变(扭曲)
失真原因
同一帧点云包含来自不同时间的扫描点,而车辆在这一段时间内发生了运动,导致整个点云处于不同坐标系下。
二、目标
将一帧点云中所有点的坐标对齐到同一个时间坐标系(统一参考时刻)
常用选择:对齐到该帧扫描结束的时刻(帧尾)
三、解决方法:基于IMU运动积分进行点云去畸变
核心思想:
对每个点使用 IMU 姿态解算和位移积分,求出其采样时刻相对于参考时刻的位姿变化,并反向补偿至统一坐标系。
处理流程(对齐到帧尾 ref_t)
对每个激光点 cur_p(其采样时间为 cur_t)处理如下:
-
找到参考时间戳 ref_t 在 IMU 数据中的区间
(ref_t_imu_left, ref_t_imu_right] -
找到每个点 cur_t 对应的 IMU 时间区间
(cur_t_imu_left, cur_t_imu_right] -
IMU插值:计算 cur_t → cur_t_imu_right 的位姿变换矩阵
-
IMU积分:计算 cur_t_imu_right → ref_t_imu_right 的位姿变换矩阵
-
IMU插值:计算 ref_t_imu_right → ref_t 的位姿变换矩阵
-
将所有位姿相乘得到:
T(cur_t → ref_t) -
对点坐标进行补偿,统一变换到 ref_t 坐标系下
最终效果
所有点的空间位置均被校正到 同一参考时刻的车辆坐标系
解决扫描周期内运动引起的点云畸变,得到真实无扭曲的点云帧。