manankharwar/fusioncore

ROS 2 sensor fusion SDK: UKF, 3D native, proper GNSS, zero manual tuning. Apache 2.0.

해결하는 문제

FusionCore는 IMU 보정 드리프트, 타임스탬프 지터, GPS 신호 지연, 휠 슬립과 같은 일반적인 하드웨어 문제를 해결하여 실제 환경의 로봇을 위한 견고한 센서 퓨전을 제공합니다. 적응형 고주파(100 Hz) 상태 추정 시스템을 제공함으로써 수동의 번거로운 파라미터 튜닝 및 robot_localization + navsat_transform과 같은 복잡한 스택의 필요성을 대체합니다.

작동 원리

23개 상태의 Unscented Kalman Filter (UKF)를 사용하여 IMU, 휠 인코더 및 GPS의 데이터를 융합합니다. 주요 기술적 특징은 다음과 같습니다:

  • 적응형 노이즈 추정: 이노베이션 시퀀스를 기반으로 노이즈 공분산을 지속적으로 업데이트하여 변화하는 센서 품질에 대응합니다.
  • IMU 링 버퍼: 버퍼링된 업데이트를 재생하여 지연된 GPS 보정값이 도착할 때 필터 상태를 정확하게 재구성합니다.
  • ECEF 융합: UTM 존 경계 문제를 피하기 위해 GPS 데이터를 지구 중심 지구 고정(ECEF) 좌표계에서 직접 융합합니다.
  • 비홀로노믹 제약 (NHC): 바퀴형 로봇의 드리프트를 방지하기 위해 측면 및 수직 속도를 0으로 만듭니다.
  • 하드웨어 최적화: Eigen을 사용하여 ARM (NEON) 및 x86 (AVX) 명령어를 자동 감지하여 Raspberry Pi 및 Jetson 장치에서 낮은 지연 시간을 보장합니다.

대상 사용자

실외 또는 혼합 환경에서 작동하며, 광범위한 수동 튜닝 없이 안정적인 고주파 위치 추정이 필요한 자율 주행 로봇 (AMR)을 구축하는 로봇 엔지니어 및 개발자.

주요 특징

  • 수동 튜닝 제로: 기본 IMU 데이터시트 값만 사용하여 센서 노이즈에 실시간으로 적응합니다.
  • 실제 노이즈에 대한 견고성: 잘못된 보정, GPS 지연, 휠 슬립을 자동으로 처리합니다.
  • 고성능: Raspberry Pi 4에서 1ms 미만으로 실행됩니다.
  • 즉시 교체 가능: ROS 2를 위한 robot_localization 스택의 직접적인 대안으로 설계되었습니다。
  • 통합 지원: RTK GPS와 호환되며 Nav2 및 rtabmap_ros와 같은 도구와 통합됩니다.

관련

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