Bimanual Manipulation Within an 8 GB Budget: Zero-Copy Sensing and Quantized ACT on an Entry-Level Jetson
本文证明,通过采用零拷贝 GStreamer 感知技术以释放 CPU 资源,并利用在收敛性和延迟方面均优于 Diffusion Policy 的 TensorRT 量化 ACT,在桌面级 GPU 上训练的双臂操控系统可以成功完全运行在入门级的 8 GB Jetson Orin Nano Super 上,从而实现对易变形物体的实时抓取与放置。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个机器人不再仅仅是工厂里笨重的机器,而是能够折叠衣服、递给你饮料,或者用双手同时拿起一个软绵绵豆袋的灵巧助手。长期以来,教这些机器人完成此类精细任务需要“遥操作”,即由人类远程引导机器人的手臂来展示如何操作。随后,机器人通过模仿这些动作来学习,这个过程被称为“模仿学习”。但问题在于:直到现在,这些机器人的“大脑”通常都需要一台庞大且昂贵的计算机——比如配备了巨型显卡的超级工作站——来进行思考和移动。这意味着机器人往往被束缚在一台沉重且耗电量巨大的机器上,难以在真实的家庭或移动场景中使用。研究人员提出的核心问题是:我们能否将这个巨大的大脑缩小,使其能够装进一个住在机器人身上的微小、廉价的计算机芯片中?
这篇论文向着这个方向迈出了大胆的一步。研究人员构建了一个双手的机器人系统,它完全运行在 NVIDIA Jetson Orin Nano Super 上,这是一款仅有 8 GB 内存(大约相当于大型智能手机存储容量)的小型入门级计算机芯片。他们在一项棘手的任务上对其进行了测试:用两只手臂抓起一个可变形的豆袋并将其移动到目标位置。他们想看看是否能让机器人足够快且足够聪明,从而在不需要任何大型计算机帮助的情况下独立工作。
三个大惊喜
团队从三个关于实现这一目标最难部分的假设开始。他们预计会遇到内存限制,预计必须在两种不同的“大脑”架构之间做出选择,并且预计提高机器人的速度需要牺牲准确性。但实验结果推翻了他们的这些猜测。
1. 内存的神话:不是 RAM 的问题,而是 CPU 的问题
研究人员原以为从三个摄像头(一个在机器人头部,两个在手腕上)传输视频流会填满机器人 8 GB 的内存,导致其崩溃或掉帧。他们构建了一个特殊的“零拷贝”(zero-copy)流水线,旨在将视频数据保留在图形内存中,而不必在主处理器之间来回搬运,希望以此节省空间。
- 现实情况: 他们对内存的判断错了。标准的视频数据移动方式完美地适配了 8 GB 的限制,没有掉落任何一帧。
- 真正的胜利: “零拷贝”技巧节省的不是空间,而是时间与脑力。通过阻止机器人的主处理器浪费能量去搬运视频数据,他们释放了大量的 CPU 算力。单个处理器核心的峰值使用率从精疲力竭的 98.0% 下降到了轻松的 77.0%。这就像给跑步者卸下了一个沉重的背包;跑步者本身并没有变大,但他们可以跑得更快、更顺畅。这种额外的“余量”对于保持机器人控制循环平稳运行、不掉链子至关重要。
2. 大脑竞赛:速度 vs. 耐心
团队在完全相同的演示数据集上训练了两种不同类型的机器人大脑:ACT(基于 Transformer 的动作分块)和 Diffusion Policy(扩散策略)。
- 设置: 他们给了 ACT 100,000 次训练步数(这类大脑的标准训练量),并给了 Diffusion Policy 200,000 次步数(由于 Diffusion 通常需要更多时间学习,所以是两倍)。
- 结果: ACT 完美掌握了任务,在 20 次试验中成功了 19 次。尽管获得了两倍的训练时间,Diffusion Policy 却完全没能学会可用的策略(0 出 10)。
- 启示: 这并不是因为 Diffusion 是一个“坏”大脑。而是因为 Diffusion 的成本太高。在有限的预算下,那个“学得更快”的(ACT)是唯一能跑完比赛的选手。研究人员强调,这并不意味着 Diffusion 永远不如它,只是目前的设置下,它的“梯度步数”(训练时间)成本太高,在实际应用中并不现实。
3. 速度技巧:当“足够好”其实就是“完美”时
为了让机器人足够快以实现实时反应,团队将 ACT 大脑转换为在名为 TensorRT 的专门引擎上运行,并尝试使用较低的精度(使用 FP16 和 INT8 数学运算,而非超精确的 FP32)来运行它。
- 速度提升: 降低精度让机器人的思考速度大幅提升。做出决策所需的时间从全精度的 114.02 毫秒 降至 FP16 的 17.93 毫秒,甚至降至 INT8 的 12.65 毫秒。这几乎快了 9 倍。
- 惊喜: 通常情况下,当你通过降低精度让计算机变“笨”时,它会犯错。但在这种情况下,即使使用“最笨”的数学运算(INT8),机器人仍然在 20 次试验中成功了 19 次。数值误差非常大(某些数字的偏差高达 16.98%),但机器人依然抓住了豆袋。
- 代价: 研究人员发现,是否需要这种速度技巧取决于机器人的规划方式。如果机器人一次性规划一整块(共 100 个动作)的路径(它确实是这么做的),那么它可以承受较慢的速度。但如果它需要每一步都重新规划(一种称为“时间集成”的技术),那么缓慢的全精度版本就会错过截止时间,此时快速的低精度版本就成了必须项。
最终结论
论文得出结论,你确实可以在一台只有 8 GB 的微型计算机上运行一个复杂的双手机器人。秘诀不仅在于节省内存,更在于管理处理器的负载,使其不至于过载。
他们为任何想要构建类似机器人的开发者推荐了一套特定的配置:
- 使用 GStreamer 视频流水线来释放 CPU 算力。
- 训练 ACT 策略(对于这项任务,它比 Diffusion 学得更快)。
- 以 FP16 精度运行策略(这既快又足够精确),或者如果需要更快的速度,则使用 INT8。
最重要的教训是什么?不要假设最大的计算机是唯一的途径。有时,让机器人变得聪明的最佳方式,是停止让它在不需要的事情上浪费精力,让它专注于手头的任务。机器人不需要超级计算机;它只需要一点点效率。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。