以下是您要求的英文文章的中文翻译,已按照要求保留原文结构、技术术语和代码块,并输出为 Markdown 格式。
物理 AI 仿真现状:概述
为什么需要仿真
图 1:人形机器人运动仿真。 机器人的姿态由跟踪的身体关键点(绿色标记)表示,连续的机器人实例展示了其随时间推移的运动。方向箭头指示指令运动,展示了基于物理的仿真环境在训练和评估机器人运动与控制策略中的应用。
构建物理 AI 系统的主要挑战在于数据可用性。大型语言模型(LLM)和视觉语言模型(VLM)可以在互联网规模的数据集上进行训练,但机器人和物理 AI 系统并不具备同样的优势。要训练一个物理 AI 系统,机器人必须学习与物理世界交互的后果。例如,它需要理解杯子滑落、线缆弯曲或夹爪以错误角度接触物体时会发生什么。在现实世界中收集这类数据速度慢、成本高、风险大,有时甚至因任务的破坏性而不可行。
仿真提供了一座桥梁,使开发者能够生成大量逼真且基于物理的数据。通过在仿真中远程操作机器人,并利用 GPU 并行性扩展数据收集,开发者可以以远低于现实世界收集的成本,生成数千小时的机器人经验数据。
早期的机器人仿真器通常主要用于调试几何结构、测试控制器或可视化机器人运动。如今,仿真已成为模型开发流程的一部分。团队利用它来生成感知数据集、训练强化学习策略、收集演示数据、增强现实世界数据、对模型进行基准测试,以及针对罕见或对抗性场景测试策略。这一转变正是工业研究实验室和学术团体越来越多地贡献或开发能够满足这些新需求的仿真引擎的原因。
这些需求可以通过“三计算机范式”来理解:
- 训练计算机:一个大型 GPU 集群,用于处理数据并训练基础 AI 模型。
- 仿真计算机:一个 GPU 工作站或集群,利用 GPU 加速的物理引擎和 RTX 渲染来生成机器人经验、传感器数据和模拟交互。
- 机器人端计算机:一个边缘设备,例如 NVIDIA Jetson AGX Thor 级系统,在部署期间运行训练好的策略或模型。
图 2:物理系统(地球和机器人)持续与其虚拟表示(数字模型)交换数据,通过双向反馈回路实现监控、分析、预测和控制。
每台计算机根据任务的延迟、吞吐量、准确性和部署要求扮演不同的角色。目前有许多可用的仿真引擎,各自针对不同的用例,例如人形机器人、飞行器、地面机器人、自动驾驶车辆、四足机器人和灵巧机械臂。这些引擎在强化学习支持、批量仿真、接触丰富的物理模拟、逼真渲染和传感器仿真方面也各不相同。请参考图 2,了解按机器人领域和加速特性分类的仿真引擎。
我应该使用哪个仿真引擎?
开发者常常纠结于针对自己的用例应该使用哪个仿真引擎。这通常归结为几个基本问题,例如:
- 我是否需要可扩展的合成数据生成工作流?
- 我是否需要做强化学习?
- 给定的仿真引擎支持哪些类型的传感器?
- 仿真引擎支持哪些 3D 资产格式?
- 需要什么样的环境保真度和规模?
这些因素将帮助开发者根据自身开发需求决定使用哪个仿真引擎。
NVIDIA Isaac Sim 和 Isaac Lab、MuJoCo、PyBullet、Drake 以及 Genesis 是用于人形机器人和双臂灵巧操作的一些最流行的仿真引擎。每个仿真引擎都针对特定用例,例如扩展强化学习、生成合成数据、在仿真中测试算法和/或模型。这里我们将简要介绍 MuJoCo、MuJoCo Warp、NVIDIA Isaac Sim 和 Isaac Lab。
MuJoCo
MuJoCo,全称 Multi-Joint dynamics with Contact(带接触的多关节动力学),是一个快速、准确、开源的物理引擎,主要面向机器人学、生物力学、强化学习、控制和铰接系统的仿真。与主要专注于游戏或视觉真实感的引擎不同,MuJoCo 围绕精确动力学、接触丰富的运动和基于模型的优化而设计。MuJoCo 强调在物理正确性至关重要的系统中实现速度、准确性和建模能力。
图 3:在 MuJoCo 中仿真的机械臂。 该图展示了一个带有平行夹爪的多关节机械臂在基于物理的仿真环境中运行。MuJoCo 用于对机器人的动力学、运动学和接触交互进行建模,从而能够在实际部署之前开发和评估运动规划、操作和控制算法。
虽然 MuJoCo 并非总是逼真渲染或大规模 GPU 并行仿真的最佳选择,但它一些广为人知的核心特性包括:确定性管线、定义明确的带接触的逆动力学、强大的接触建模以及广义坐标仿真。
MuJoCo Warp
MuJoCo Warp,也称为
注意: 原文在“MuJoCo Warp”部分后中断,因此翻译在此处结束。如果后续有完整内容,可以继续提供。