PRBonn/rko_lio

A Robust Approach for LiDAR-Inertial Odometry Without Sensor-Specific Modelling

RKO‑LIO – 강건한 LiDAR-관성 오도메트리

무엇인가요 – RKO‑LIO는 3D LiDAR 스캐너와 IMU를 융합하여 로봇의 자세(오도메트리)를 추정하는 오픈소스 라이브러리입니다. 센서별 캘리브레이션 모델이 필요 없으며, 원시 ROS 배그(ROS 1 또는 ROS 2)에서 작동 가능하며 순수한 Python 패키지로도 실행할 수 있습니다.

주요 기능

  • 센서 독립성: 특정 LiDAR나 IMU에 맞게 수동으로 조정된 모델이 필요 없으며, 단지 두 프레임 간의 외부 변환만 필요합니다.
  • 다중 플랫폼: 동일한 코드베이스로 4개의 다른 로봇과 환경에서 성공적으로 검증되었습니다.
  • 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_topic, lidar_topic, base_frame 또는 전체 설정 파일을 런치 인수로 제공.

일반적인 워크플로우

  1. LiDAR 스캔, IMU 데이터, TF 트리가 포함된 ROS 배그를 기록.
  2. IMU-기준 및 LiDAR-기준 외부 변환을 TF 트리에 포함하거나 YAML 파일로 제공.
  3. 패키지(파이썬 CLI 또는 ROS 런치)를 실행하여 지속적인 자세 추정을 얻음.
  4. Rerun(-v)으로 실시간 시각화하거나 PlotJuggler로 나중에 재생.

왜 중요한가 – 전통적인 LiDAR-관성 오도메트리는 센서별 캘리브레이션(예: 노이즈 모델, 편향 파라미터)이 필요합니다. RKO‑LIO는 이 부담을 제거하여 새로운 하드웨어에 쉽게 배포하거나 빠른 프로토타이핑 환경에서 사용할 수 있도록 하면서도 정확하고 드리프트가 적은 자세 추정을 제공합니다.

문서 및 지원

인용 RKO‑LIO를 연구에 사용할 경우, 함께 출판된 IEEE RA‑L 논문(2026)을 인용하세요. README에 전체 BibTeX 항목이 제공됩니다.


TL;DR – RKO‑LIO는 Rerun을 통해 실시간 시각화를 지원하는 즉시 사용 가능한 센서 독립 LiDAR-관성 오도메트리 라이브러리로, pip로 설치 가능한 Python 패키지와 ROS 2 패키지로 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트