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 状态的无迹卡尔曼滤波器 (UKF) 来融合来自 IMU、轮式编码器和 GPS 的数据。关键技术特性包括:

  • 自适应噪声估计:根据创新序列(innovation sequence)持续更新噪声协方差,以应对变化的传感器质量。
  • IMU 环形缓冲区:重放缓冲的更新,以便在延迟的 GPS 定位到达时准确重建滤波器状态。
  • ECEF 融合:直接在地球中心地球固定 (ECEF) 坐标系中融合 GPS 数据,以避免 UTM 分区边界问题。
  • 非完整约束 (NHC):将横向和垂直速度归零,以防止轮式机器人的漂移。
  • 硬件优化:使用 Eigen 自动检测 ARM (NEON) 和 x86 (AVX) 指令,确保在 Raspberry Pi 和 Jetson 设备上的低延迟。

适用对象

机器人工程师和开发人员,正在构建在室外或混合环境中运行,并且在不需要大量手动调优的情况下需要稳定、高频定位的自主移动机器人 (AMR)。

亮点

  • 零手动调优:仅使用基础的 IMU 数据手册值即可实时适应传感器噪声。
  • 对现实世界噪声的鲁棒性:自动处理校准不良、GPS 延迟和轮式打滑。
  • 高性能:在 Raspberry Pi 4 上运行时间低于 1ms。
  • 即插即用替代方案:设计为 ROS 2 中 robot_localization 堆栈的直接替代方案。
  • 集成支持:兼容 RTK GPS,并与 Nav2 和 rtabmap_ros 等工具集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目