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 等工具集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目