探索精准定位新境界:Cerberus 视觉惯性腿式里程计
项目简介
Cerberus 是一个专为 Unitree A1 和 Go1 机器人设计的视觉惯性腿式里程计(VILO)开源项目。它的目标是提供一种紧凑且低成本的长期位置感知解决方案,只需一个 IMU、一个立体相机和腿部传感器,总成本低于 $1000 美元。该项目采用 VINS-Fusion 的优化框架,并在此基础上增加了独特的接触预积分项,以增强在腿式机器人的应用中准确性的提升。
技术剖析
Cerberus 的核心在于融合了图像、IMU 测量模型以及腿部关节传感器计算出的身体速度,同时对可能存在的动力学参数误差进行在线校准。它引入了一个特殊的接触预积分项,实现了在各种数据集上的位置估计漂移小于 1% 的卓越性能。该算法的理论贡献已在两篇论文中详细阐述:
-
在线腿式机器人动力学参数标定,杨硕、何晖、曼彻斯特·扎卡里,《IEEE 机器人与自动化快报》(& IROS 2022),PDF
-
Cerberus:低漂移视觉惯性腿式里程计用于敏捷运动,杨硕、张子信、傅正宇、曼彻斯特·扎卡里,接受发表于 ICRA 2023,PDF
应用场景
Cerberus 可广泛应用于需要高精度移动定位的腿式机器人领域,包括但不限于室内和室外环境下的自主导航、动态避障、地形适应行走等复杂任务。其低漂移特性使得它尤其适用于长距离、长时间的运行环境,确保机器人能持续稳定地感知自身位置。
项目特点
- 集成创新:将视觉、惯性和腿部传感器数据相结合,减少了传统方法中的漂移问题。
- 经济高效:通过低成本硬件实现高精度定位,降低了系统的整体成本。
- 高性能:实测数据显示位置估计漂移小于 1%,对比度明显优于同类方案。
- 易部署:提供了基于 Docker 的开发环境配置,支持快速编译和测试,兼容 Linux、Mac 和 Windows 平台。
为了更直观地展示 Cerberus 的效果,我们提供了两个视频链接,比较了 Cerberus VILO 与 VINS-Fusion 在不同场景的表现。
安装与使用
要安装 Cerberus,请克隆仓库并初始化子模块:
git clone --recurse-submodules git@github.com:ShuoYangRobotics/Cerberus.git
接下来,利用 Docker 和 VSCode "Remote - Containers" 插件设置开发环境。如有 NVIDIA GPU,Docker 配置文件会自动启用 GPU 支持,便于在容器内运行 RVIZ。如无 GPU,则需手动修改配置。
项目还提供了多个示例数据集,涵盖了各种实际场景,帮助用户评估和测试 Cerberus 的性能。配合详细的运行指令,您可以轻松体验到 Cerberus 强大的定位能力。
总的来说,Cerberus 是一款颇具创新力的开源项目,它为腿式机器人的定位带来了新的可能。无论是学术研究还是实际应用,Cerberus 都值得一试。