ISAAC Lab 是 NVIDIA 提供的一个 GPU 加速的开源框架,专为简化机器人研究工作流程而设计,特别是在强化学习、模仿学习和运动规划等领域。
它基于 NVIDIA 的 ISAAC Sim 构建, 结合了高精度的物理和传感器仿真,成为了从仿真到现实应用的理想选择。
NVIDIA Isaac Sim™ 机器人开发者模拟平台和参考应用程序旨在帮助开发者在基于物理的虚拟环境中设计、模拟、测试和训练基于 AI 的机器人和自主机器。基于NVIDIA Omniverse ™ 构建的 Isaac Sim 具有完全可扩展性。这意味着您可以构建自己的基于通用场景描述 (OpenUSD)的自定义模拟器,或将核心 Isaac Sim 技术集成到您现有的测试和验证管道中。
本文介绍了全新的 Isaac Sim 4.0 版本,其中集成了 NVIDIA PhysX 5.4 和 Isaac Lab。Isaac Sim 4.0 基于 NVIDIA Omniverse Kit 106 构建,现已开放下载,为开发者提供了更加便捷的工作流控制体验。
NVIDIA Isaac Sim 4.0 的新功能
Isaac Sim 4.0 带来了强大的新功能,并对现有功能进行了全面优化,为您的机器人工作流提供有力支持。主要亮点包括:
-
加速安装:通过 PIP 实现更快速的安装流程
-
优化用户体验:改进了基于向导的导入功能和系统兼容性检查器的可用性
-
丰富的资源:新增资产、环境、机器人以及环境传感器
-
升级的 PhysX 功能:引入仿真关节、TGS 求解器、残差可视化等特性
-
强化学习支持:提供多 GPU 和多节点功能,进一步提升性能
以下将对这些新功能进行详细介绍,并介绍在仿真阶段使用的全新 PhysX 和传感器功能。
通过 PIP 安装更快地上手
现在,您可以通过 Python 包管理器(如 PIP)在本地或远程系统上轻松安装 Isaac Sim。这种方式大幅简化了安装流程,使其更快、更直观,同时允许开发者继续使用熟悉的开发环境。此外,您还可以在基于云的 IDE(如 Jupyter)中便捷部署 Isaac Sim。
为了进一步优化体验,兼容性检查器功能现已推出。它能够在安装前快速检测系统需求和兼容性,并提供即时反馈,让您的安装过程更加高效。
改进基于向导的导入的可用性
每次运行仿真都需要先搭建虚拟环境并设置其中的机器人。为加速这一过程,Isaac Sim 现推出一款向导工具,指导用户如何在预先设计的环境中导入和优化机器人。向导还附带丰富的文档资源,涵盖诸多实用工具,例如 CAD 导入器、传感器配置和机器人组装等,为用户提供全面支持。
▲图 1 Isaac Sim 中的导入向导
更多资产库
使用以下新资产进行仿真:
-
预建仓库模型
-
机器人模型:Franka FR3 机器人等
-
-
人形机器人:1X Neo、宇树 Unitree H1、Agility Digit、傅利叶 Fourier GR1、Sanctuary AI Phoenix、小鹏 PX5
-
传感器:Ouster、SICK、Velodyne
用于仿真和检查关节的
全新 PhysX 5.4 功能
当场景构建完成并且机器人已设置好后,您可以开始利用 NVIDIA PhysX 5.4 提供的一些新功能对机器人模型进行仿真。
例如,“仿真关节”功能允许对机器人的耦合关节位置进行精准建模。您可以使用该功能模拟平行夹爪机构、四连杆结构、平行夹爪或机械手的机械耦合组件。仿真关节还能够准确反映 URDF 规范中定义的关节关系,确保仿真结果的真实与可靠。
关节位置 = 倍增器*参考关节位置 + 补偿
关节速度受到类似约束,并且相互作用是双向的。仿真关节为满足约束条件而施加的力会根据倍增器反馈给参考关节(即齿轮传动装置)。
▲图 2 在 Isaac Sim 中仿真的用于机器人操作
可使用“仿真关节”功能
“物理检查器”功能允许在特定的仿真场景中将机械臂调整到特定姿态,支持单个关节到多关节的创建和设置。在实际运行仿真之前,团队还可以直观地检查碰撞情况和关节的自由度,以确保配置的准确性和可靠性。
▲图 3 “物理检查器”用户界面显示了
l 四足机器人的腿部定位调整情况
全新仿真功能
仿真阶段的一些新功能旨在帮助增强物理和传感器仿真。
增强的物理仿真
物理仿真在机器人的整体运动与性能优化中起着至关重要的作用。Isaac Sim 4.0 的全新增强功能为用户提供了更强大的仿真、可视化和调试工具。
最新的 TGS 求解器引入了一种新模式,显著提升了求解器的收敛性和碰撞模拟的精确度。通过新增的求解器选项,TGS 不仅能够综合考虑重力和其他外力,还能在每次位置迭代(子步骤)中动态调整关节动作,而非仅在时间步开始时进行计算,从而实现更逼真的物理表现。
在“物理场景高级”选项或 USD PhysxSceneAPI EnableExternalForcesEveryIteration 属性中启用该模式:
在高性能仿真中,平衡求解器迭代次数与仿真精度至关重要。Isaac Sim 4.0 引入的残差报告功能,可在每个时间步结束时提供与求解器收敛质量相关的数据,从而为仿真调优提供重要支持。
这些数据既可以在整个物理场景中进行汇总查询,也可以按关节或最大坐标关节进行详细分析,使开发者能够更精准地优化仿真性能与保真度之间的平衡。
▲图 4 机器人集群执行,
仿真数据可视化器显示相关仿真的残差数据
不仅可以查看求解器的残差数据,还能通过全新的“仿真数据可视化窗口”实时监测位置、方向等关键仿真数据。支持的属性包括身体的位置和方向、求解器残差等,为开发者提供了更直观的调试工具。欲了解更多详情,请参考相关的可视化工具文档。
此外,还可以使用统一的 API 来查询刚体和关节链接的线性加速度和角加速度。例如,报告的值可用于计算惯性测量单元的仿真输出。
其它功能包括 SDF 碰撞改进、接触摩擦力报告等。
更好地支持传感器仿真
传感器是机器人感知堆栈的核心组件。Isaac Sim 提供了一套不断扩展的真实传感器模型库,能够模拟真实世界的感知和基于物理的传感器行为。
在最新版本中,加入了对非可视材料的 RTX 支持,使材料的光学特性能够扩展到红外线、无线电波和紫外线等非可视光谱。这一功能为新型传感器建模带来了更多可能性。此外,基于 RTX 的雷达现已支持使用这些非可视材料功能集,能够精确模拟雷达对不同材料和环境的响应特性。
同时,IMU 传感器的后端现已兼容 Tensor API,统一了 IMU 的物理后端与其他 Isaac Sim 传感器和节点的接口,为访问最新的物理数据提供了更一致的方式。
基于 OmniGraph 的传感器管线也得到了性能优化。管线现在仅在需要时运行,而不是每一帧都执行,从而显著降低了计算开销,提高了运行效率。
利用 Isaac Lab 加速强化学习
Isaac Lab 基于 Isaac Sim,提供了一个统一、模块化且开源的机器人学习框架,旨在简化强化学习、仿真与演示学习、运动规划等常见工作流。它集成了由 NVIDIA、波士顿动力人工智能研究所、苏黎世联邦理工学院和多伦多大学联合开发的开源框架 Orbit。
Isaac Lab 利用 PyTorch 分布式框架,在 Linux 系统上支持多 GPU 和多节点训练,从而帮助团队扩展其训练规模。通过使用 OSMO,团队可以轻松地在异构环境中扩展这些训练作业。OSMO 是一个云原生协调平台,用于调度复杂的多阶段和多容器异构计算工作流。
在多个 GPU 上运行时,Isaac Lab 可以显著提高 rollout FPS(如图 5 所示)。FPS 的提升意味着在相同时间内可以生成更多轨迹和经验,为模型提供更加丰富的训练数据。这使得与单 GPU 训练相比,模型能够更快收敛并达到更高的性能水平。
▲图 5 使用多个 GPU 进行强化学习时
每秒生成帧数的性能比较
在强化学习中,机器人需要执行大量相互独立的场景。当多个机器人同时在不同摄像头下执行任务时,跟踪它们的进展并进行可视化可能变得非常复杂。此时,分块渲染技术可以大大简化这一过程,通过在单一视图中展示所有场景。
分块渲染的原理是将来自多个摄像头的图像串联成一张大图,而不是分别渲染每个摄像头生成的多张小图。这种方式有效地整合了各个视角的信息,提升了可视化的效率和可操作性。
生态系统的采用情况
领先的机器人开发商,如 1X、Agility Robotics、波士顿动力人工智能研究所、波士顿动力、傅立叶、银河通用、逐际动力、星动纪元、Sanctuary AI 和优必选等,正在将 Isaac Lab 融入其开发流程,用于打造下一代机器人和人形机器人。许多公司已经借助 Isaac Sim 在真实环境中测试机器人,并生成用于模型训练的合成数据。
了解波士顿动力公司与 NVIDIA 以及波士顿动力人工智能研究所合作开发的 Spot 强化学习研究工具包:
https://developer.nvidia.com/blog/closing-the-sim-to-real-gap-training-spot-quadruped-locomotion-with-nvidia-isaac-lab/;
https://bostondynamics.com/products/extras/reinforcement-learning-research-kit/
(复制链接至浏览器打开)
该工具包整合了先进的仿真、NVIDIA Jetson AI 技术和精准机器人控制,可高效地将四足机器人从虚拟环境过渡到真实世界的应用中。
Isaac Lab 在 BSD-3 许可下开源,可通过 GitHub 上的 isaac-sim/IsaacLab 获取:
https://github.com/isaac-sim/IsaacLab
(复制链接至浏览器打开)
在 Isaac Sim 中更好地支持 ROS 开发者
Isaac Sim 的最新版本为 ROS 开发者带来了丰富的新功能,使得在 Isaac Sim 中测试和仿真机器人变得更加简便。首先,新的版本更加易于使用,支持从 ROS2 节点导入 URDF,并能够在 URDF 文件与包含机器人描述的 ROS2 节点之间自由切换。此外,对于 Cyclone DDS 用户,Isaac Sim 还在 Linux 系统上提供对 Isaac ROS 和 Nav2 相关工作流的支持,进一步提升了开发和仿真效率。
其他新功能包括:
-
简化并改进了端到端工作流,现支持 ROS2 启动,提升了整体流程的效率。
-
ROS2 服务质量(QoS),用户可以通过 QoS 设置配置任意 ROS 订阅者或发布者,优化数据传输的可靠性和实时性。
-
全面支持 ROS2 发布者/订阅者和服务器/客户端,不仅支持系统中安装的任何可用消息类型,还可以处理自定义消息,实现更灵活的系统连接与交互。