WARNING
本页面内容经 AI 翻译生成,仅供参考。具体细节请以英文原文为准。
使用 Isaac Lab 运行机器人仿真
Isaac Lab 是 NVIDIA 开源的机器人学习框架。在 Olares 上,它以终端应用的形式运行,你可以从命令行启动演示、训练任务或捆绑的 Isaac Sim 仿真器。
使用本指南安装 Isaac Lab、运行 Isaac Lab 工作负载、启动 Isaac Sim、连接 WebRTC 流式传输,以及管理后台进程。
学习目标
在本指南中,你将学习如何:
- 在 Olares 上安装 Isaac Lab。
- 准备 Isaac Lab 终端并获取 WebRTC 端点地址。
- 运行 Isaac Lab 演示和强化学习任务。
- 启动捆绑的 Isaac Sim 仿真器。
- 使用 NVIDIA WebRTC Streaming Client 连接仿真。
- 管理后台工作负载、GPU 进程和运行时日志。
前提条件
在开始之前,请确保:
- Olares 运行在配备 NVIDIA GPU 的机器上。
- 如果要使用 WebRTC 流式传输,Olares 主机使用 AMD64 架构。ARM64 主机(如 DGX Spark)仅支持非流式传输工作负载。
- 本地计算机上已安装 NVIDIA WebRTC Streaming Client。
主机与本地计算机架构
AMD64 要求适用于运行 Isaac Lab 的 Olares 主机,而非用于流式传输的本地计算机。
例如,如果 Isaac Lab 运行在配备 Intel CPU 和 NVIDIA GPU 的 Olares One 上,则 Olares 主机为 AMD64。你的本地计算机可以使用不同的架构,但必须能够运行 NVIDIA 的 WebRTC Streaming Client。
推荐的 GPU 模式
Isaac Lab 和 Isaac Sim 使用大量 GPU 资源。为了获得更好的稳定性,请将 GPU 模式设置为 应用独占,并在运行工作负载前将 GPU 关联到 Isaac Lab。这有助于减少与其他 GPU 应用的资源争用。
了解 Isaac Lab 和 Isaac Sim
Isaac Lab 和 Isaac Sim 服务于不同的目的:
| 组件 | 描述 | 使用场景 |
|---|---|---|
| Isaac Lab | 基于 Isaac Sim 构建的机器人学习框架。 | 运行预定义演示、强化学习任务或训练脚本。 |
| Isaac Sim | 与 Isaac Lab 捆绑的底层仿真器。 | 直接启动仿真器进行场景探索、仿真测试或交互式使用。 |
- 要运行 Isaac Lab 演示或训练任务,请使用 运行 Isaac Lab 工作负载 中的命令。
- 要启动 Isaac Sim 仿真器本身,请使用 运行 Isaac Sim 中的命令。
安装 Isaac Lab
打开 Market 并搜索 "IsaacLab"。

点击 获取,然后点击 安装,等待安装完成。
准备 Isaac Lab 终端
每当你打开 Isaac Lab 或想要切换到新任务时,请先准备终端环境。
从 Launchpad 打开 Isaac Lab,访问其终端界面以运行命令行脚本。

获取用于 WebRTC 流式传输的公共端点地址。
bashecho $PUBLIC_IP示例输出:
plain192.168.50.169保存输出值。稍后连接 WebRTC Streaming Client 时需要用到它。
检查 GPU 状态并查找现有工作负载。
bashnvidia-smi- 如果没有工作负载在运行,
Processes部分将显示No running processes found。

- 如果
Processes部分列出了 Isaac Lab 或 Isaac Sim 进程,请在启动新工作负载前记下其PID。在此示例中,活动进程使用 PID2314。

- 如果没有工作负载在运行,
如果现有工作负载正在运行,请在启动新工作负载前停止它:
bashkill -9 <PID>将
<PID>替换为终端中显示的实际进程 ID。可选:在启动新工作负载前清除现有日志文件。
bash> nohup.out
运行 Isaac Lab 工作负载
Isaac Lab 工作负载从终端启动。使用的命令取决于安装 Isaac Lab 的 Olares 主机的架构。
在启动新演示或任务前,停止任何现有工作负载。
以 & 结尾的命令在后台运行。类似 [1] 580 的消息表示工作负载已启动。终端中的数字可能有所不同。
运行演示
运行强化学习任务
有关更多脚本、任务和环境配置,请参阅:
运行 Isaac Sim
Isaac Lab 包含 Isaac Sim 仿真器。当你想要使用仿真器本身而不是运行特定的 Isaac Lab 演示或训练脚本时,直接启动 Isaac Sim。
在启动 Isaac Sim 前,停止任何现有工作负载。
终端命令参考
使用 nohup ... & 启动的 Isaac Lab 和 Isaac Sim 命令在后台运行。关闭 WebRTC Streaming Client 不会停止正在运行的工作负载。
使用以下命令进行快速终端管理和故障排除:
| 任务 | 命令 |
|---|---|
| 获取 WebRTC 端点地址 | echo $PUBLIC_IP |
| 检查 GPU 进程 | nvidia-smi |
| 停止后台进程 | kill -9 <PID> |
| 清除旧日志 | > nohup.out |
| 跟踪实时日志 | tail -f nohup.out |
故障排除
WebRTC Client 无法连接
检查以下内容:
确保工作负载仍在运行:
bashnvidia-smi确认你输入了正确的
PUBLIC_IP值:bashecho $PUBLIC_IP确保只有一个 WebRTC Streaming Client 已连接。
检查日志中的致命错误:
bashtail -f nohup.out
查找以下错误:
Error
Traceback
CUDA out of memory
Segmentation fault
Killed如果没有出现这些错误且进程仍在运行,请等待日志稳定,然后重新连接或点击 WebRTC Streaming Client 中的 重新加载。
流式传输视图变为灰色
加载复杂场景时,流式传输视图可能会暂时变为灰色或停止响应。等待终端日志稳定。根据场景复杂度,这可能需要一到几分钟。
日志稳定后,在 WebRTC Streaming Client 中点击 视图 > 重新加载 以重新连接到流。

启动时日志显示警告
工作负载启动期间可能会出现来自 Isaac Sim、Omniverse 或 PyTorch 的警告。这些警告并不总是意味着工作负载已失败。
如果进程在 nvidia-smi 中保持运行且日志中没有出现致命错误,请继续执行 WebRTC 连接步骤。
了解更多
- Isaac Lab 文档:官方 Isaac Lab 文档,包括教程、环境、强化学习工作流和 API 参考。
- Isaac Sim 文档:NVIDIA Isaac Sim 用户指南。