Multi-IMU Sensor Fusion for Legged Robots

📄 arXiv: 2507.11447v1 📥 PDF

作者: Shuo Yang, Zixin Zhang, John Z. Zhang, Ibrahima Sory Sow, Zachary Manchester

分类: cs.RO, eess.SY

发布日期: 2025-07-15

备注: 16 pages

🔗 代码/项目: GITHUB


💡 一句话要点

提出一种多IMU融合的腿式机器人状态估计方法,解决复杂运动下的低漂移问题。

🎯 匹配领域: 支柱一:机器人控制 (Robot Control)

关键词: 腿式机器人 状态估计 多传感器融合 惯性测量单元 扩展卡尔曼滤波 因子图优化 视觉惯性里程计

📋 核心要点

  1. 传统腿式机器人本体感受里程计易受地面冲击和足部滑动影响,导致状态估计漂移。
  2. 利用多个IMU,分别安装在机器人不同连杆上,以校正本体感受里程计中的主要误差。
  3. 通过硬件实验验证,即使在剧烈地面冲击和足部滑动场景下,也能实现最小的位置偏差。

📝 摘要(中文)

本文提出了一种用于腿式机器人的状态估计解决方案,该方案利用一组低成本、紧凑且轻量级的传感器,在具有挑战性的运动条件下实现低漂移的姿态和速度估计。核心思想是利用机器人不同连杆上的多个惯性测量单元来校正标准本体感受里程计中的主要误差源。我们将惯性传感器信息和关节编码器测量值融合到扩展卡尔曼滤波器中,然后将来自该滤波器的速度估计与相机数据在基于因子图的滑动窗口估计器中结合,形成一种视觉-惯性-腿里程计方法。我们通过全面的理论分析和使用真实机器人数据在各种具有挑战性的运动任务中进行的硬件实验来验证我们的状态估计器。我们的算法始终如一地实现了最小的位置偏差,即使在涉及大量地面冲击、足部滑动和突然身体旋转的情况下也是如此。C++实现以及大规模数据集可在https://github.com/ShuoYangRobotics/Cerberus2.0 获得。

🔬 方法详解

问题定义:腿式机器人在复杂地形和剧烈运动中,由于地面冲击、足部滑动等因素,传统的基于关节编码器和单个IMU的本体感受里程计会产生较大的漂移误差,影响导航和控制的精度。现有方法难以在低成本、轻量化的前提下,实现高精度的状态估计。

核心思路:论文的核心思路是利用多个IMU,将它们分别安装在机器人不同的连杆上。通过融合这些IMU的数据,可以更全面地捕捉机器人的运动状态,从而有效地校正由地面冲击和足部滑动引起的误差。这种多传感器融合的方法能够提供更鲁棒和精确的状态估计。

技术框架:整体框架包含两个主要阶段。首先,使用扩展卡尔曼滤波器(EKF)融合多个IMU的惯性测量数据和关节编码器的测量数据,得到初步的速度估计。然后,将EKF的速度估计与视觉信息(来自相机)结合,输入到基于因子图的滑动窗口估计器中,进行全局优化,得到最终的姿态和速度估计。

关键创新:最重要的创新点在于利用多个IMU来提高状态估计的鲁棒性。与传统的单IMU方法相比,多IMU能够提供更多的运动约束信息,从而更好地抑制误差累积。此外,将EKF和因子图优化相结合,实现了局部精度和全局一致性的平衡。

关键设计:EKF部分,需要仔细设计状态向量和测量模型,以准确描述IMU和关节编码器之间的关系。因子图优化部分,需要选择合适的视觉特征和优化策略,以保证计算效率和精度。论文中开源了代码和数据集,方便其他研究者复现和改进。

🖼️ 关键图片

img_0

📊 实验亮点

实验结果表明,该算法在各种具有挑战性的运动任务中均能实现最小的位置偏差,即使在涉及大量地面冲击、足部滑动和突然身体旋转的情况下也是如此。开源代码和数据集的发布,为其他研究者提供了便利,促进了腿式机器人状态估计领域的发展。

🎯 应用场景

该研究成果可应用于各种腿式机器人,尤其是在复杂地形和动态环境中作业的机器人,例如搜索救援、物流运输、巡检等。高精度的状态估计能够提升机器人的导航、控制和任务执行能力,使其在更广泛的领域发挥作用。未来,该技术有望进一步推广到其他类型的移动机器人。

📄 摘要(原文)

This paper presents a state-estimation solution for legged robots that uses a set of low-cost, compact, and lightweight sensors to achieve low-drift pose and velocity estimation under challenging locomotion conditions. The key idea is to leverage multiple inertial measurement units on different links of the robot to correct a major error source in standard proprioceptive odometry. We fuse the inertial sensor information and joint encoder measurements in an extended Kalman filter, then combine the velocity estimate from this filter with camera data in a factor-graph-based sliding-window estimator to form a visual-inertial-leg odometry method. We validate our state estimator through comprehensive theoretical analysis and hardware experiments performed using real-world robot data collected during a variety of challenging locomotion tasks. Our algorithm consistently achieves minimal position deviation, even in scenarios involving substantial ground impact, foot slippage, and sudden body rotations. A C++ implementation, along with a large-scale dataset, is available at https://github.com/ShuoYangRobotics/Cerberus2.0.