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_xyzextrinsic_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_topiclidar_topicbase_frame(或完整設定檔)。

典型工作流程

  1. 記錄包含雷達掃描、IMU 數據和 TF 樹的 ROS 包。
  2. 確保 IMU 到基座和雷達到基座的外參在 TF 樹中,或透過 YAML 檔案提供。
  3. 執行該套件(Python CLI 或 ROS 啟動)以獲得連續的位姿估計。
  4. 使用 Rerun(-v)即時可視化,或使用 PlotJuggler 後續回放。

為何重要 – 傳統雷達-慣性里程計通常需要針對每個傳感器進行校準(如雜訊模型、偏移參數)。RKO‑LIO 消除了此負擔,使在新硬體上部署或快速原型開發變得更容易,同時仍能提供準確且漂移較小的位姿估計。

文件與支援

引用 若在研究中使用 RKO‑LIO,請引用配套的 IEEE RA‑L 論文(2026)——README 提供完整的 BibTeX 項目。


TL;DR – RKO‑LIO 是一個即用型、傳感器無關的雷達-慣性里程計庫,支援透過 pip 安裝的 Python 套件和 ROS 2 套件,並可透過 Rerun 實現可選的即時可視化。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案