Embodied.cpp: A Portable Inference Runtime of Embodied AI Models on Heterogeneous Robots
本文介绍了 Embodied.cpp,这是一种便携式 C++ 推理运行时,旨在通过提供一种模块化的五层架构,实现低延迟、多速率的闭环控制,同时显著提高内存效率和任务成功率,从而统一多样化具身 AI 模型(如 VLA 和 WAM)在异构边缘机器人上的碎片化部署。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你构建了一个极其聪明、高度智能的机器人大脑。它能看、能理解语言,还能规划如何移动手臂去拿起一个杯子。但现在,要把这个大脑真正应用到真实的机器人上,就像是试图用胶带和一把瑞士军刀,把一台一级方程式赛车引擎强行塞进一辆自行车的车架里。
目前,每当科学家构建一个新的机器人大脑时,他们都必须编写一套全新的“胶水代码”(即连接机器人大脑与传感器及电机的软件)。这些代码通常很混乱,是用 Python 编写的,且只能在特定的计算机上运行。如果你更换了机器人或大脑,就必须从头开始重建整个连接过程。
由此,诞生了 “Embodied.cpp”。
你可以将 Embodied.cpp 想象成一个通用的、高性能的适配器套件,用于连接机器人大脑。它是一段使用 C++(一种以快速和高效著称的语言)编写的软件,充当任何新机器人大脑与任何机器人躯体之间的桥梁,无论是一个微小的芯片级机器人,还是一个巨大的工作站机器人。
以下是它的工作原理,我们使用一些简单的类比:
1. 问题所在:“一刀切”的适配器
想象你有一个智能家居系统。有些灯每秒钟开关一次,恒温器每分钟检查一次温度,而安全摄像头则每小时记录一次。
- 旧方法: 你需要为每一个设备单独构建一个定时器、一个传感器和一个开关。如果你增加了一个新设备,就必须重新布线整个电路。
- 论文中的问题: 机器人大脑也是如此。某些部分(比如眼睛)不需要更新得那么快,而其他部分(比如电机控制)则需要更新得极快。现有的软件试图让所有部件都以相同的速度运行,这既低效又会导致延迟。
2. 解决方案:模块化的“乐高”系统
作者将 Embodied.cpp 设计得像一套高科技乐高套装,包含五个特定的层级:
- 输入适配器 (Input Adapters): 这些就像通用的插头。无论机器人看到的是摄像头画面、触觉传感器还是压力计,这一层都会将其转化为大脑能理解的语言。
- 序列构建器 (Sequence Builders): 它们负责组织数据,就像图书管理员在把书放上书架之前先进行分类整理一样。
- 骨干执行层 (Backbone Execution): 这是“引擎室”,也是主要思考发生的地方。
- 头部插件 (Head Plugins): 这些是专门的工具。一个机器人可能需要一个“抓取”工具,而另一个可能需要一个“行走”工具。你只需直接插上合适的插件,而无需重建整个引擎。
- 部署适配器 (Deployment Adapters): 这是输出层,负责与现实世界对话,向机器人的电机或模拟软件发送指令。
3. 三大超能力
论文强调了该系统优于现有系统的三个具体方面:
多速率执行(管弦乐指挥家):
在机器人中,“眼睛”不需要像“手指”那样快速闪烁。Embodied.cpp 扮演着指挥家的角色,让眼睛以较慢的节奏运行,让手指以较快的节奏运行,而这一切都在同一个系统中完成。旧软件试图让所有人步调一致,这既浪费能源又会导致滞后。延迟优先控制(赛车手):
在云计算(如 AI 聊天)中,速度是通过你能同时服务多少人来衡量的。但在机器人领域,速度取决于它对单个指令的反应有多快。如果一个机器人在接住掉落的物体,它不能等待“批处理”计算;它需要瞬间的反应。Embodied.cpp 旨在针对不同类型的硬件(从小型芯片到大型计算机)优先保证这种瞬时反应时间。可扩展接口(万能遥控器):
机器人输出的不只是“文字”或“Token”。它们输出的是复杂的指令,比如“手臂旋转 30 度”、“预测球在 2 秒后的位置”或“轻轻挤压”。Embodied.cpp 能够处理这些奇特的、自定义的输出,而无需在每次发明新机器人时都重写代码。
4. 结果:它奏效了吗?
作者使用两种不同类型的机器人大脑测试了这个系统:
- “视觉-语言”大脑 (VLA): 他们测试了两个模型(HY-VLA 和 pi0.5)。该系统成功控制机器人完成了任务。
- 结果: 其中一个模型成功率为 100%,另一个为 91%。这证明了该软件可以在真实硬件上运行复杂的脑部模型而不会崩溃。
- “世界-动作”大脑 (WAM): 这些是更新的模型,它们尝试预测未来(例如猜测球会滚向哪里)。他们测试了这种大脑的一个组成部分。
- 结果: 通过使用这款新软件,他们将运行该大脑部分所需的内存从 312 MiB 降低到了 88 MiB。这就像是将一个沉重的背包缩小成了一个小口袋,使得它更容易在更小、更便宜的机器人上运行。
核心总结
Embodied.cpp 是一个用于机器人智能的可移植、高速引擎。它让科学家们不再需要每当构建一个新机器人时都去重复造轮子。他们不再需要为每个新项目编写混乱的定制代码,而是可以将新的机器人大脑插入这个通用系统中,然后它就能直接运行——快速、高效,并且几乎可以在任何硬件上运行。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。