固態雷達(如Livox、禾賽等非旋轉式激光雷達)與IMU(慣性測量單元)的外參標定(Extrinsic Calibration)是自動駕駛、機器人定位(如LIO-SAM、FAST-LIO)的關鍵步驟。
1. 標定原理
外參標定的目標是找到雷達與IMU之間的相對位姿(平移 (t)( \mathbf{t} )(t) 和旋轉 (R)( \mathbf{R} )(R)),即:
TLiDARIMU=[Rt01] \mathbf{T}_{\text{LiDAR}}^{\text{IMU}} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0} & 1 \end{bmatrix} TLiDARIMU?=[R0?t1?]
2. 標定方法分類
(1) 基于目標物的標定(Target-Based)
適用場景:實驗室或可控環境,精度高。
工具:棋盤格、AprilTag、標定板。
步驟:
- 安裝標定板:固定棋盤格或AprilTag在墻面/支架上。
- 同步采集數據:
- 雷達點云(檢測標定板角點/平面)。
- IMU數據(提供姿態信息)。
- 標定流程:
- 通過標定板在雷達坐標系下的3D點云擬合平面,計算標定板位姿 (TBoardLiDAR)( \mathbf{T}_{\text{Board}}^{\text{LiDAR}} )(TBoardLiDAR?)。
- 通過相機或手動測量獲取標定板在IMU坐標系下的位姿 (TBoardIMU)( \mathbf{T}_{\text{Board}}^{\text{IMU}} )(TBoardIMU?)。
- 計算外參:
TLiDARIMU=TBoardIMU?(TBoardLiDAR)?1 \mathbf{T}_{\text{LiDAR}}^{\text{IMU}} = \mathbf{T}_{\text{Board}}^{\text{IMU}} \cdot (\mathbf{T}_{\text{Board}}^{\text{LiDAR}})^{-1} TLiDARIMU?=TBoardIMU??(TBoardLiDAR?)?1
工具推薦:
- Livox_Calibration(Livox官方工具,支持棋盤格標定)。
- lidar_align(基于點云與IMU軌跡對齊)。
(2) 基于運動的方法(Motion-Based)
適用場景:無標定板,依賴設備運動。
原理:IMU和雷達對同一運動的觀測應一致。
步驟:
- 數據采集:
- 手持設備做劇烈運動(旋轉+平移,激勵充分)。
- 錄制雷達點云(
rosbag record /points
)和IMU數據(/imu
)。
- 標定工具:
- LIO-SAM/FAST-LIO:直接運行SLAM,在線優化外參。
- Kalibr(擴展支持雷達-IMU標定)。
- LI_Init(專為固態雷達設計,見GitHub)。
- 優化目標:
- 最小化雷達點云匹配誤差與IMU預積分誤差。
代碼示例(LI_Init):
git clone https://github.com/Livox-SDK/LI_Init
cd LI_Init
roslaunch li_init li_calib.launch
(3) 聯合標定(SLAM-Based)
適用場景:長時間運行SLAM,自動優化外參。
方法:
- LIO-SAM:在配置文件中啟用
optimizeExtrinsic
:
optimizeExtrinsic: 1# 1=在線優化, 2=固定外參
- FAST-LIO2:修改配置文件的
extrinsic_est_en
:
extrinsic_est_en: true# 在線估計外參
3. 標定驗證
- 點云對齊檢查:
- 在Rviz中疊加雷達點云和IMU坐標系,運動時觀察是否一致。
- 軌跡對比:
- 運行SLAM,對比純IMU積分和雷達建圖軌跡。
- 重投影誤差:
- 將雷達點云投影到IMU坐標系,檢查靜止場景點云是否穩定。
4. 注意事項
- 時間同步:
- 確保雷達和IMU時間戳同步(硬件同步或軟件對齊)。
- 運動激勵:
- 標定時需充分激勵(旋轉+加速度變化)。
- 初始值設置:
- 外參初始值盡量接近真實值(如CAD模型測量)。
- 多傳感器標定順序:
- 先標定IMU-相機(如Kalibr),再標定雷達-IMU。
5. 開源工具對比
工具 | 適用傳感器 | 方法 | 特點 |
---|---|---|---|
LI_Init | Livox雷達+IMU | 運動激勵 | 專為固態雷達設計 |
lidar_align | 機械雷達+IMU | 軌跡對齊 | 簡單易用 |
Kalibr | 相機+IMU+雷達 | 多模態標定 | 支持多傳感器 |
LIO-SAM | 雷達+IMU | SLAM優化 | 在線標定 |
6. 常見問題解決
- 標定發散:檢查IMU噪聲參數(
accelerometer_noise_density
等)。 - 點云抖動:確認時間同步或降低雷達運動畸變。
- 外參不準:嘗試不同初始值或增加運動多樣性。
如果使用Livox雷達,推薦優先嘗試 LI_Init;若已部署LIO-SAM/FAST-LIO,可直接在線優化外參。
有用的鏈接:https://zhuanlan.zhihu.com/p/674902669