PRBonn/rko_lio
A Robust Approach for LiDAR-Inertial Odometry Without Sensor-Specific Modelling
RKO‑LIO – 健壯的雷達-慣性里程計
是什麼 – RKO‑LIO 是一個開源庫,將 3D 雷達掃描與 IMU 數據融合,以估計機器人的位姿(里程計),無需特定傳感器的校準模型。它可在原始 ROS 包(ROS 1 或 ROS 2)上運行,也可作為純 Python 套件使用。
主要特性
- 傳感器無關:無需為特定雷達或 IMU 手動調校模型;僅需兩個座標系之間的外參變換。
- 多平台支援:使用單一程式碼庫在四種不同機器人和環境中成功驗證。
- Python 與 ROS 接口:可透過
pip安裝以快速實驗,或作為 ROS 2 套件(apt install ros-<distro>-rko-lio)使用。 - 可視化:可選的即時可視化工具,使用 Rerun SDK(
-v標誌)。 - 可配置:外參透過小型 YAML 檔案提供;其他所有參數均有合理預設值。
- 已發表研究:配套發表於 2026 年的同行評審 IEEE RA‑L 論文及 arXiv 預印本。
Python 使用入門
pip install "rko_lio[all]" # 安裝 rko_lio、rosbags、rerun-sdk
rko_lio -v /path/to/rosbag_folder # 帶可視化執行
- 使用
rko_lio --dump_config > config.yaml產生範本。 - 編輯
config.yaml,設定extrinsic_imu2base_quat_xyzw_xyz和extrinsic_lidar2base_quat_xyzw_xyz(範例:[0,0,0,1,0,0,0])。 - 使用
rko_lio --config config.yaml執行。
ROS 2 使用入門
sudo apt install ros-$ROS_DISTRO-rko-lio # Humble、Jazzy 等版本的二進位安裝
# 或在 colcon 工作空間中從原始碼建置
colcon build --packages-select rko_lio
ros2 launch rko_lio odometry.launch.py # 自動偵測話題與座標系
- 若自動偵測失敗,可透過啟動參數提供
imu_topic、lidar_topic和base_frame(或完整設定檔)。
典型工作流程
- 記錄包含雷達掃描、IMU 數據和 TF 樹的 ROS 包。
- 確保 IMU 到基座和雷達到基座的外參在 TF 樹中,或透過 YAML 檔案提供。
- 執行該套件(Python CLI 或 ROS 啟動)以獲得連續的位姿估計。
- 使用 Rerun(
-v)即時可視化,或使用 PlotJuggler 後續回放。
為何重要 – 傳統雷達-慣性里程計通常需要針對每個傳感器進行校準(如雜訊模型、偏移參數)。RKO‑LIO 消除了此負擔,使在新硬體上部署或快速原型開發變得更容易,同時仍能提供準確且漂移較小的位姿估計。
文件與支援
- Python API 文件: https://prbonn.github.io/rko_lio/pages/python.html
- ROS 整合指南: https://prbonn.github.io/rko_lio/pages/ros.html
- 影片示範(點擊 README 中的圖片)展示了系統在四個平台上的運作情況。
引用 若在研究中使用 RKO‑LIO,請引用配套的 IEEE RA‑L 論文(2026)——README 提供完整的 BibTeX 項目。
TL;DR – RKO‑LIO 是一個即用型、傳感器無關的雷達-慣性里程計庫,支援透過 pip 安裝的 Python 套件和 ROS 2 套件,並可透過 Rerun 實現可選的即時可視化。
相關
- 專案
- 專案
- 專案
- 專案
- 專案