Isaac Sim 5 最新版入门教程(一)Ubuntu 安装 Python ROS2 环境配置 云端部署
NVIDIA Isaac Sim™ 是基于Omniverse平台开发的机器人仿真工具,提供物理级虚拟环境用于AI机器人开发、测试和训练。主要功能包括:支持URDF/MJCF等格式的机器人导入;基于GPU的高保真PhysX引擎实现多传感器仿真;提供ROS2桥接和强化学习训练框架。支持Windows/Linux系统,推荐配置为RTX 4080显卡/16GB显存/64GB内存。安装方式包含工作站部署、容
系列文章目录
目录
2.7.4.2 在 Linux 上使用 Cyclone DDS
2.7.4.2.1 使用 Cyclone DDS 启用 ROS 桥接器
2.7.4.3 在 isaac-sim.sh 中禁用 ROS Bridge
前言

NVIDIA Isaac Sim™ 是一款基于 NVIDIA Omniverse 构建的参考应用程序,可帮助开发者在基于物理的虚拟环境中开发、模拟和测试人工智能驱动的机器人。
一、概述
1.1 设计
Isaac Sim 提供了一系列工作流,用于导入和调试采用最常见格式设计的机械系统,包括 Onshape、统一机器人描述格式 (URDF) 以及 MuJoCo XML 格式 (MJCF)。该功能依托通用场景描述(USD)实现——这种可轻松扩展的开源3D场景描述API作为Isaac Sim核心的统一数据交换格式。
1.2 调试与训练
Isaac Sim的核心功能在于仿真本身:其基于GPU的高保真PhysX引擎可支持工业级多传感器RTX渲染。Isaac Sim对GPU的直接访问能力,使其能够支持各类传感器的仿真,包括摄像头、激光雷达和接触传感器。这进而促进了数字孪生的仿真,让您的端到端流程在无需启动真实机器人前即可运行。Isaac Sim提供全套工具:通过Replicator采集合成数据,借助Omnigraph编排模拟环境,调优PhysX参数以贴近现实,最终利用Isaac Lab中的强化学习(RL)等方法训练控制代理。
1.3 部署
Isaac Sim预装所有必要组件,不仅能将代理部署至真实机器人,还能构建与这类系统完全兼容的应用程序。Omniverse提供应用基础设施API,涵盖图形界面创建与文件管理功能。Isaac Sim平台还提供ROS 2桥接API,实现真实机器人与仿真环境的直接通信,并支持NVIDIA Isaac ROS——这套高性能硬件加速ROS 2软件包专为自主机器人开发而设计。
1.4 入门指南
- 快速安装:一小时内完成初始部署的便捷方案。
- Isaac Sim基础教程:NVIDIA Isaac Sim入门实践指南。
- 工作站安装:本地工作站部署手册。
- 容器安装:远程无头服务器部署指南。
- 开发工具:调试与开发所需工具及环境。
- Python脚本编写:利用NVIDIA Isaac Sim核心Python API构建环境、机器人及任务的工具与教程。
- GUI参考:通过图形界面掌握NVIDIA Isaac Sim中的机器人学基础概念。
- 导入导出工具:支持多种文件格式导入导出机器人及资产的工具。
- 机器人配置:用于修改机器人的Isaac Sim工具。
- 机器人设置教程系列:使用机器人设置工具与工作流的教程系列。
- 机器人仿真:用于机器人仿真的控制器与运动生成工具。
- ROS 2:ROS 2 桥接器与接口。
- Isaac Lab:强化学习框架与克隆器 API。
- 合成数据生成:用于生成合成数据的工具与工作流集合。
- 数字孪生:用于构建和运营数字孪生的工具,如仓库物流、Cortex和地图绘制。
1.5 系统架构

Isaac Sim 的宗旨在于支持新型机器人工具的开发,并增强现有工具的功能。该平台为 C++ 和 Python 语言提供灵活的 API,可根据项目需求以不同程度集成至开发项目中。该平台并非旨在与现有软件竞争,而是致力于协同合作并实现功能增强。为此,Isaac Sim的众多组件均采用开源模式,可自由独立使用。您既可在OnShape中设计机器人,用Isaac Sim模拟其传感器数据,再通过ROS或其他消息系统控制实验平台;同样,您也可以完全基于Isaac Sim平台构建完整的独立应用程序!
1.6 Omniverse Kit
Isaac Sim 使用 Omniverse™ Kit 构建原生 Omniverse 应用程序和微服务。该工具包通过轻量级插件集提供丰富功能。插件采用 C 接口开发以确保持久的 API 兼容性,同时提供 Python 解释器支持便捷的脚本编写与定制。
Python API 可用于为 Omniverse Kit 编写新扩展,或为 Omniverse 开发全新体验。
1.7 开发工作流

Isaac Sim基于C++和Python构建,通常分别通过编译插件和绑定进行操作。这意味着该平台能够支持多种工作流程,用于构建和交互使用Isaac Sim的项目。Isaac Sim自带完整的独立Omniverse应用程序,用于与机器人交互和模拟,虽然这是用户交互平台最常见的方式,但绝非唯一途径。Isaac Sim还通过VS Code和Jupyter Notebooks扩展提供直接的Python开发支持。该平台不仅支持同步操作,还能通过ROS 2实现硬件在环(HIL)运行,从而促进仿真到实机的迁移及数字孪生应用。
1.8 USD
NVIDIA Isaac Sim 使用 USD 交换文件格式来表示场景。通用场景描述(USD)是由皮克斯开发的一种易于扩展的开源 3D 场景描述文件格式,用于内容创作以及不同工具之间的交换。由于其强大且多功能的特性,USD 不仅在视觉特效领域被广泛采用,在建筑、设计、机器人、制造等其他学科中也得到了广泛应用。
- 欲深入了解 Omniverse 中的 USD,请参阅 NVIDIA USD 入门指南《什么是 USD?》。
- 更多详情请参阅 USD API 文档。
- 有关我们围绕 USD 开发的 Python 封装库,请参阅 NVIDIA USD API。
- 更多术语与概念说明请参阅 USD 术语表。
- 逐步了解 USD 的入门指南请参阅 NVIDIA USD 教程。
二、安装
Isaac Sim安装程序支持Windows和Linux系统。它可部署于容器环境、工作站、云端、实时流媒体环境或Python运行环境中。您还可根据使用需求定制硬件配置。
快速安装是入门最便捷的方式。该流程将引导您完成Windows或Linux系统的Isaac Sim安装,并演示如何创建基础场景——在桌面上布置机械臂。
2.1 快速安装
快速安装适用于演示场景,可快速了解完整产品的功能。完成快速安装后,您可创建包含机器人的房间,从而更全面地体验产品能力。本指南适用于具备基础计算机知识的用户。
在 Windows 或 Linux 系统上进行快速安装:
- 下载以下其中一项:
Windows
Linux(x86_64)
Linux(aarch64) - 在C:/根目录或Linux根目录下创建名为isaac-sim的文件夹。
- 将下载的文件解压到isaac-sim文件夹中。
- 在isaac-sim文件夹内执行以下操作之一:
对于 Windows 系统,请双击 isaac-sim.selector.bat 文件。
对于 Linux 系统,请在命令行中依次运行 ./post_install.sh 和 ./isaac-sim.selector.sh 脚本。
此时将打开命令窗口并执行脚本。
- 在 Isaac Sim Application Selector 中,选择 Start。
有关应用程序选择器的详细信息,请参阅 Isaac Sim 应用程序选择器。此时将打开另一个命令窗口并运行脚本。此过程可能需要比预期更长时间。过程中可能会出现空白窗口,看起来像是安装失败,请继续等待。 - 待 Isaac Sim 开发环境完全启动后,请确认您能看到:

- 选择 Create > Environment > Simple Room。
- 选择 Create > Robots > Franka Emika Panda Arm。

- 在屏幕最左侧,找到一个箭头按钮,按下它即可播放一段简短的模拟演示。
2.2 Isaac Sim 系统要求
提示
通过安装 Isaac Sim,您可以运行轻量级应用程序 Isaac Sim 兼容性检查器,以确认您的设备是否满足系统要求及兼容性。
2.2.1 x86_64 系统要求
Element
Minimum Spec
Good
Ideal
OS
Ubuntu 22.04/24.04
Windows 10/11
Ubuntu 22.04/24.04
Windows 10/11
Ubuntu 22.04/24.04
Windows 10/11
CPU
Intel Core i7 (7th Generation)
AMD Ryzen 5
Intel Core i7 (9th Generation)
AMD Ryzen 7
Intel Core i9, X-series or higher
AMD Ryzen 9, Threadripper or higher
Cores
4
8
16
RAM
32GB
64GB
64GB
Storage
50GB SSD
500GB SSD
1TB NVMe SSD
GPU
GeForce RTX 4080
GeForce RTX 5080
RTX PRO 6000 Blackwell
VRAM
16GB
16GB
48GB
Driver
Linux: 580.65.06
Windows: 580.88
Linux: 580.65.06
Windows: 580.88
Linux: 580.65.06
Windows: 580.88
- 建议为Isaac Sim的高级应用配置更多内存和显存。使用Isaac Lab进行训练时,需额外增加内存和显存资源。
- 显存低于16GB的GPU可能无法流畅运行每帧渲染超过1600万像素的复杂场景。若您有此类需求,请考虑升级更高规格的显卡。
- Isaac Sim已在下列驱动版本上完成测试。推荐驱动版本请参阅技术要求。
注意:
- Isaac Sim 容器仅在 Linux 系统上受支持。
- 访问 Isaac Sim 在线资源及运行部分扩展功能需要互联网连接。
- 不支持未配备 RT 核心的 GPU(如 A100、H100)。
- 受显存限制影响,部分教程和基准测试可能无法在低于最低配置要求的GPU上运行。涉及大量传感器的流程尤其容易受此影响。
- 请参阅Linux故障排除指南解决Linux系统中的驱动安装问题。
- 若您使用新型GPU或当前驱动存在问题,建议通过Unix驱动存档中的.run安装程序在Linux系统安装最新生产分支版本驱动。
- Windows 10支持将于2025年10月14日终止。此后微软将不再为Windows 10提供免费的安全、功能或技术更新。因此,为确保软件安全性和功能完整性,Isaac Sim后续版本将停止支持Windows 10系统。
2.2.2 aarch64 系统要求
Element
Specifications
Device
NVIDIA DGX™ Spark
OS
NVIDIA DGX OS 7.2.3
Driver
580.95.05
Isaac Sim 已在这些驱动程序版本上进行过测试。推荐驱动程序版本请参阅技术要求。
注意
- Isaac Sim aarch64 构建版本目前仅支持 DGX Spark 系统。
- Isaac Sim 容器仅支持 Linux 系统。
- 访问 Isaac Sim 在线资源及运行某些扩展功能需要互联网连接。
2.2.3 限制事项
警告
在DGX Spark上运行Isaac Sim 5.1存在以下限制:
- 不支持Hub工作站缓存。
- 不支持实时流媒体功能。
- 不支持导入OBJ文件。这将影响使用URDF导入器处理包含OBJ网格的资产。
- 不支持应用程序模板功能。
- 不支持cuRobo和cuMotion功能。
- 不支持Isaac Sim应用程序选择器功能。
2.3 下载 Isaac Sim
警告
- Omniverse Launcher、Nucleus Workstation 和 Nucleus Cache 将于 2025 年 10 月 1 日起停止支持并停止提供。
- 若需在 2025 年 10 月 1 日后继续使用 Nucleus 和实时同步功能,请改用企业版 Nucleus 服务器。
- Nucleus Cache 将由 Hub Workstation Cache 替代。
注意
- 建议使用最新版本的 Isaac Sim 以获取最新的安全补丁和错误修复。
- 下载或使用 NVIDIA Isaac Sim WebRTC 流媒体客户端即表示您同意《NVIDIA Isaac Sim WebRTC 流媒体客户端许可协议》。
2.3.1 最新发布
|
Name |
Version |
Release Date |
Links |
|---|---|---|---|
|
Isaac Sim |
5.1.0 |
October 2025 |
|
|
Isaac Sim WebRTC Streaming Client |
1.1.5 |
October 2025 |
|
|
Isaac Sim Assets |
5.1.0 |
October 2025 |
|
2.4 工作站安装
若需在配备GPU的Windows或Linux系统上以图形界面应用程序形式运行Isaac Sim,建议采用工作站安装方式。
另请参阅
- 工作站与Docker的区别
- 本地资源包
- Isaac Sim启动脚本(含预热脚本等扩展脚本),可在运行Isaac Sim前预先加载着色器缓存。
注意事项
- Omniverse启动器、Nucleus工作站及Nucleus缓存将于2025年10月1日起停止支持并逐步淘汰。
- 若需在2025年10月1日后继续使用Nucleus和实时同步功能,请转用企业版Nucleus服务器。
- Nucleus缓存将由Hub工作站缓存替代。
- 若在Windows系统安装Hub工作站缓存时遇到问题,请运行:
mklink /d %APPDATA%\ov %LOCALAPPDATA%\ov
2.4.1 Isaac Sim 兼容性检查器
Isaac Sim 兼容性检查器是一款轻量级应用程序,可通过编程方式检查上述要求,并指出哪些要求在该机器上运行 NVIDIA Isaac Sim 时有效或无效。
该应用程序可通过二进制安装(工作站、容器或开源存储库)或 Python 包(pip install)运行,具体如下:
- 二进制安装(工作站或开源仓库环境):
1. 根据目标环境工作流安装/构建Isaac Sim。
2. 在Linux系统运行isaac-sim.compatibility_check.sh脚本,在Windows系统运行isaac-sim.compatibility_check.bat脚本。
- 从 Python 包安装(pip install):
按照说明从 Python 包安装 Isaac Sim。
提示: 您可以使用
pip install isaacsim[compatibility-check]安装兼容性检查器的精简版,而非完整版本。
运行 isaacsim isaacsim.exp.compatibility_check 命令。
- 来自容器:
以无头模式运行:docker run --entrypoint bash -it --gpus all --rm --network=host \ nvcr.io/nvidia/isaac-sim:5.1.0 ./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-window以图形用户界面运行:
xhost +local: docker run --entrypoint bash -it --gpus all --rm --network=host \ -e "PRIVACY_CONSENT=Y" \ -v $HOME/.Xauthority:/isaac-sim/.Xauthority \ -e DISPLAY \ nvcr.io/nvidia/isaac-sim:5.1.0 ./isaac-sim.compatibility_check.sh
2.4.1.1 兼容性验证
该应用程序通过颜色标注以下状态:
- 绿色:优秀
- 浅绿色:良好
- 橙色:勉强够用,建议升级
- 红色:不足/不支持
应用程序检查项目:
- NVIDIA GPU:驱动程序版本、支持RTX的GPU、GPU显存
- CPU、内存和存储:CPU处理器、CPU核心数、内存、可用存储空间
- 其他:操作系统、显示器

测试套件按钮将启动一个精简套件应用程序(无头模式),并检查其执行是否成功,结果将在其旁边的面板上显示。
2.4.2 工作站设置
- 请查阅系统要求。详见Isaac Sim系统要求。
- (可选)若需完整开发环境,请确保安装Visual Studio Code以查看和调试源代码。
2.4.3 Isaac Sim安装与启动
可通过命令行直接运行Isaac Sim应用程序,使用命令isaac-sim.bat或./isaac-sim.sh。
首次运行需预热着色器缓存,耗时较长。
若需使用全新配置运行Isaac Sim,请添加--reset-user参数。该参数可在Isaac Sim应用选择器的“附加参数”区域输入,或在命令行运行时添加。
运行Isaac Sim无需Nucleus、Cache和Hub组件。
- 请将 Isaac Sim 最新版本下载至您平台的 Downloads 文件夹。
- 在 c:/ 或 Linux 环境根目录创建名为 isaacsim 的文件夹。
- 将压缩包解压至该文件夹。
- 导航至该文件夹。
- 为教程创建extension_examples符号链接时,请运行post_install脚本。该脚本可在当前阶段或安装后执行。
在Linux系统中运行./post_install.sh。
在 Windows 上,双击 post_install.bat。
- 使用以下任一方法运行 Isaac Sim 应用选择器:
在 Linux 上,运行 ./isaac-sim.selector.sh。
在 Windows 上,双击 isaac-sim.selector.bat。

- 在弹出窗口中选择 Isaac Sim Full。
- 点击 START 运行 Isaac Sim 主应用程序。
命令窗口将开启并执行脚本。
您可能需要登录Omniverse平台。
命令窗口持续运行脚本。
随后Isaac Sim图形界面窗口将打开,初始状态为空白。此过程可能需要5-10分钟完成。
- 请前往快速教程开始首个基础教程。
注意
某些情况下,内部冲突可能导致Isaac Sim的缓存和配置系统出现故障(例如源安装与Python包安装版本不匹配)。若发生此类情况,以下操作可能有效:
- 使用 --reset-user 标志可将用户配置重置为默认状态。
- clear_caches.sh 和 .bat 脚本分别用于在 Linux 和 Windows 系统中清除缓存。
2.4.4 示例安装
例如,在命令行中执行以下命令:
Linux (x86_64)
mkdir ~/isaacsim cd ~/Downloads unzip "isaac-sim-standalone-5.1.0-linux-x86_64.zip" -d ~/isaacsim cd ~/isaacsim ./post_install.sh ./isaac-sim.selector.sh
Linux (aarch64)
mkdir ~/isaacsim cd ~/Downloads unzip "isaac-sim-standalone-5.1.0-linux-aarch64.zip" -d ~/isaacsim cd ~/isaacsim ./post_install.sh ./isaac-sim.selector.sh
Windows
mkdir C:\isaacsim cd %USERPROFILE%/Downloads tar -xvzf "isaac-sim-standalone-5.1.0-windows-x86_64.zip" -C C:\isaacsim cd C:\isaacsim post_install.bat isaac-sim.selector.bat
最终加载消息示例:

2.5 容器安装
建议在远程无头服务器或云端部署Isaac Sim的容器安装,使用运行Linux的Docker容器。
2.5.1 容器设置
- 确保您的系统满足运行 NVIDIA Isaac Sim 的系统要求。
- 安装 Docker:
Docker installation using the convenience script curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh Post-install steps for Docker sudo groupadd docker sudo usermod -aG docker $USER newgrp docker Verify Docker docker run hello-world另请参阅
- 安装 NVIDIA 容器工具包:
Configure the repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
&& \
sudo apt-get update
Install the NVIDIA Container Toolkit packages
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
Configure the container runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Verify NVIDIA Container Toolkit
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
注意
- 安装最新版本的 NVIDIA Container Toolkit 以获取安全修复程序。
2.5.2 容器部署
本节说明如何以无头模式运行 NVIDIA Isaac Sim 容器并启用实时流媒体功能。
步骤:
- 设置并安装容器先决条件。请参阅上文的“容器设置”。
- 运行以下命令确认您的 GPU 驱动程序版本:
nvidia-smi - 拉出 Isaac Sim 容器:
docker pull nvcr.io/nvidia/isaac-sim:5.1.0 - 在主机上创建缓存卷挂载点:
mkdir -p ~/docker/isaac-sim/cache/main/ov mkdir -p ~/docker/isaac-sim/cache/main/warp mkdir -p ~/docker/isaac-sim/cache/computecache mkdir -p ~/docker/isaac-sim/config mkdir -p ~/docker/isaac-sim/data/documents mkdir -p ~/docker/isaac-sim/data/Kit mkdir -p ~/docker/isaac-sim/logs mkdir -p ~/docker/isaac-sim/pkg sudo chown -R 1234:1234 ~/docker/isaac-sim - 在交互式Bash会话中运行Isaac Sim容器:
docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \ -e "PRIVACY_CONSENT=Y" \ -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \ -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \ -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \ -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \ -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \ -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \ -u 1234:1234 \ nvcr.io/nvidia/isaac-sim:5.1.0注意:
1. Isaac Sim 容器现以无特权用户身份运行。
2. 该容器现支持多架构,同一标签可在Linux x86_64与aarch64系统上运行。
3. 使用-e “ACCEPT_EULA=Y”参数即表示您接受NVIDIA Omniverse许可协议中的许可条款。
4. 使用 -e “PRIVACY_CONSENT=Y” 标志即表示您同意《数据收集与使用》中的数据收集协议。若不设置此标志则视为拒绝同意。
5. 可选设置 -e “PRIVACY_USERID=<邮箱>” 标志用于标记会话日志。
6. 若容器内无法检测到GPU,请添加--runtime=nvidia标志。
7. 企业用户请参阅企业版Nucleus服务器。
8. 当无可用Nucleus服务器时,Isaac Sim容器将使用云端资源。
使用独立Nucleus服务器时:
1. 参见《连接Docker容器问题》以暴露容器所有端口并连接外部Nucleus服务器。
2. 参见《设置默认Nucleus服务器》以配置默认Nucleus服务器。
3. 参见《设置连接Nucleus服务器的默认用户名和密码》以配置任意Nucleus服务器的默认凭证。
- 请检查您的系统是否兼容Isaac Sim:
./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-window注意
要单独运行兼容性检查器:
docker run --entrypoint bash -it --gpus all --rm --network=host \ nvcr.io/nvidia/isaac-sim:5.1.0 ./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-window若您的系统兼容,应显示文本“系统检查结果:通过”。
- 以原生直播模式启动Isaac Sim:
./runheadless.sh -v警告
DGX Spark等aarch64系统不支持Isaac Sim 5.1.0的直播功能。
请参阅带GUI的容器部署指南。
注意
运行直播客户端前,必须先加载并准备好Isaac Sim应用程序。
Isaac Sim完全加载可能需要几分钟时间。
使用-v参数可在着色器缓存预热期间显示更多日志。
确认方法:在控制台或日志中查找以下行:
Isaac Sim Full Streaming App is loaded.首次加载Isaac Sim时,着色器缓存过程耗时较长。后续运行速度更快,因着色器已缓存且容器启动时会自动加载缓存。
参见《将Isaac Sim配置保存至本地磁盘》,了解如何在容器环境中实现配置与缓存的持久化存储。
- 从最新版本部分下载并安装Isaac Sim WebRTC流媒体客户端。
- 运行Isaac Sim WebRTC流媒体客户端。
- 输入运行Isaac Sim容器的机器或实例的IP地址,点击连接按钮开始实时流媒体传输。
- 前往快速教程开始您的首个教程。
注意
当Isaac Sim容器未连接Nucleus时,部分使用内容浏览器的教程可能无法运行。
建议通过Omniverse启动器中的工作站版Isaac Sim运行所有教程。
Isaac Sim容器仅支持无头模式运行Python应用程序及独立示例。
部分功能(如实时流媒体)可能无法完全兼容最新NVIDIA驱动程序。推荐驱动程序请参阅技术要求。
另请参阅Isaac Sim Dockerfile文件以构建自定义Isaac Sim容器。
您可调试在Docker中运行的Python脚本。
2.5.3 带图形界面的容器部署
本节介绍如何运行带图形界面的NVIDIA Isaac Sim容器。
步骤:
- 设置并安装容器先决条件。请参阅上文的容器设置部分。
- 运行以下命令确认GPU驱动程序版本:
nvidia-smi - 拉取Isaac Sim容器:
docker pull nvcr.io/nvidia/isaac-sim:5.1.0 - 在主机上创建缓存卷挂载点:
mkdir -p ~/docker/isaac-sim/cache/main/ov mkdir -p ~/docker/isaac-sim/cache/main/warp mkdir -p ~/docker/isaac-sim/cache/computecache mkdir -p ~/docker/isaac-sim/config mkdir -p ~/docker/isaac-sim/data/documents mkdir -p ~/docker/isaac-sim/data/Kit mkdir -p ~/docker/isaac-sim/logs mkdir -p ~/docker/isaac-sim/pkg sudo chown -R 1234:1234 ~/docker/isaac-sim - 在交互式Bash会话中运行Isaac Sim容器:
xhost +local: docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \ -e "PRIVACY_CONSENT=Y" \ -v $HOME/.Xauthority:/isaac-sim/.Xauthority \ -e DISPLAY \ -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \ -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \ -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \ -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \ -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \ -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \ -u 1234:1234 \ nvcr.io/nvidia/isaac-sim:5.1.0 - 检查您的系统是否兼容Isaac Sim:
./isaac-sim.compatibility_check.sh - 启动带图形界面的Isaac Sim:
./runapp.sh - 前往快速教程开始您的第一个教程。
警告
- 通常不建议在容器中运行带图形界面的Isaac Sim。
- 应用程序体验可能与预期不符。如需完整的图形界面应用体验,请通过工作站安装方式运行Isaac Sim。
2.6 Python环境安装
本节包含以下内容:
- 在(虚拟)Python环境中使用PIP安装Isaac Sim
- 使用Isaac Sim默认Python环境
2.6.1 使用PIP安装Isaac Sim
注意
- Isaac Sim要求Python 3.11版本。请访问Python下载页面获取适用版本。
- 在 Linux 系统中,pip 需兼容 GLIBC 2.35+(如 manylinux_2_35_x86_64)版本才能识别并安装 Python 包。请使用 ldd --version 命令检查 GLIBC 版本。
- 在 Windows 系统中,可能需要启用长路径支持以避免因操作系统限制导致的安装错误。
Isaac Sim 提供多个 Python 命名空间包,支持通过 Python 包管理器(如 pip)分模块构建 Isaac Sim 应用。下表列出了可用的 Isaac Sim - Python 包。
|
Package |
Description |
|---|---|
|
|
一个元包,用于定义安装其他 Python 包时可选的依赖项 |
|
|
Isaac Sim 内核 |
|
|
Isaac Sim 应用程序设置组件 |
|
|
Isaac Sim 资产导入、创建与管理组件 |
|
|
Isaac Sim 基准测试组件 |
|
|
Isaac Sim 脚本编写与代码编辑组件 |
|
|
Isaac Sim 核心扩展与 API |
|
|
Isaac Sim 智能机器人行为决策框架组件 |
|
|
Isaac Sim 示例 |
|
|
Isaac Sim 图形用户界面 (GUI) 组件 |
|
|
Isaac Sim 组件:启用 Replicator 框架以构建合成数据生成管道与服务 |
|
|
Isaac Sim 组件:强化学习 |
|
|
Isaac Sim 机器人模型与 API |
|
|
Isaac Sim 组件:运动生成管道与算法 |
|
|
Isaac Sim 组件:机器人配置 |
|
|
Isaac Sim 组件:ROS 2 系统集成 |
|
|
Isaac Sim 组件:传感器仿真 |
|
|
Isaac Sim 组件:存储系统 |
|
|
Isaac Sim 模板 |
|
|
Isaac Sim 组件:测试 |
|
|
Isaac Sim 实用工具 |
|
Package |
Description |
|---|---|
|
|
Isaac Sim套件扩展缓存 |
|
|
Isaac Sim套件SDK扩展缓存 |
|
|
Isaac Sim物理扩展缓存 |
2.6.1.1 使用PIP进行安装
- 创建并激活虚拟环境(可选,但强烈推荐):
venv moduleUbuntu
python3.11 -m venv env_isaacsim source env_isaacsim/bin/activate请确保在激活环境后、继续安装之前更新 pip(执行命令:pip install --upgrade pip)。
Condaconda create -n env_isaacsim python=3.11 conda activate env_isaacsim请确保在激活环境后、继续安装之前更新 pip(执行命令:pip install --upgrade pip)。
- 安装 Isaac Sim - Python 包:
(Virtual) Python environment
Full Isaac Simpip install isaacsim[all,extscache]==5.1.0 --extra-index-url https://pypi.nvidia.com安装路径可通过命令 pip show isaacsim 进行查询。
2.6.1.2 运行Isaac Sim
注意
您必须同意并接受Omniverse许可协议(EULA)才能使用Isaac Sim。该协议可通过两种方式接受:设置系统环境变量或响应提示:
运行时提示
首次导入isaacsim时,系统会弹出提示要求您在运行时接受最终用户许可协议(EULA)。接受EULA后,该提示将不再出现。若未接受EULA,程序执行将被终止。
By installing or using Omniverse Kit, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA) in https://docs.omniverse.nvidia.com/platform/latest/common/NVIDIA_Omniverse_License_Agreement.html Do you accept the EULA? (Yes/No):
警告
- 某些Isaac Sim扩展或示例所需的Python包可能未作为依赖项包含在内。不过,可通过命令`pip install DEPENDENCY_NAME`进行安装。
- 在 DGX Spark / aarch64 架构上,某些模块加载时可能需要预加载 (LD_PRELOAD) libgomp 共享库。导入 isaacsim 包时将进行检测,随后可能显示包含预加载说明的提示信息。
2.6.1.2.1 启动Isaac Sim体验程序
提示
若要启动(标准版)Isaac Sim应用程序,请在终端中运行isaacsim命令。
安装程序会注册一个 Python 入口点(isaacsim),用于启动体验文件(.kit)。体验文件可通过以下方式定义:
- 绝对或相对文件路径
- 文件名(可带或不带 .kit 扩展名,搜索路径:isaacsim/apps, omni/apps)
isaacsim path/to/experience_file.kit [arguments]
下表列出了启动体验时最常用的 Isaac Sim - Python 软件包命令:
|
Command |
Description |
|---|---|
|
|
兼容性检测应用:一款轻量级程序,可自动检测Isaac Sim运行需求。 |
|
|
标准Isaac Sim应用,通过二进制文件执行。若未指定体验文件(例如:isaacsim),则默认采用此模式。 |
|
|
无头直播Isaac Sim(WebRTC协议)。详情请参阅Isaac Sim WebRTC流媒体客户端。 警告:不支持DGX Spark/aarch64架构。 |
2.6.1.2.2 运行 Python 脚本
执行以下命令可在(虚拟)环境中运行 Python 脚本:
python path/to/script.py
2.6.1.2.3 在交互式解释器或笔记本中运行
在交互式解释器或笔记本(例如:Jupyter、Colab)中运行时,必须导入 isaacsim 包才能访问 SimulationApp 类。为方便起见,isaacsim 包将该类(实现于 isaacsim.simulation_app 扩展中)公开出来。
使用 isaacsim
from isaacsim import SimulationApp simulation_app = SimulationApp({"headless": True}) # perform any Isaac Sim / Omniverse imports after instantiating the class在笔记本上调用 SimulationApp.close 方法会导致内核中断并终止。
2.6.1.2.4 生成 VS Code 设置
由于安装产生的结构,VS Code IntelliSense(代码补全、参数信息和成员列表)默认情况下无法正常工作。要进行配置(定义导入解析的搜索路径、默认 Python 解释器的路径及其他设置),请针对特定工作区文件夹运行以下命令:
python -m isaacsim --generate-vscode-settings注意
该命令将在工作区文件夹中生成一个 .vscode/settings.json 文件。若该文件已存在,则会覆盖原文件(操作前会显示确认提示)。
2.6.2 默认 Python 环境
Isaac Sim 可直接在 Python 中运行,而非作为独立可执行程序。这为 Omniverse 应用程序的初始化、设置和管理提供了更底层的控制权。Isaac Sim 内置了 Python 3.11 环境,类似于系统级 Python 安装,可供软件包使用。我们建议在运行 Python 脚本时使用此 Python 环境。
在 Isaac Sim 根目录执行以下命令即可在此环境中启动 Python 脚本:
./python.sh path/to/script.py
注意
- 您可通过Isaac Sim应用选择器直接在Isaac Sim根目录下打开终端。
- 在Windows系统中请使用python.bat替代python.sh。
- 若需使用pip安装额外包,请执行以下命令:
./python.sh -m pip install name_of_package_here
有关 python.sh 的更多详细信息,请参阅 Python 环境手册。
2.6.2.1 Jupyter Notebook 设置
Jupyter Notebook 仅在 Linux 上受支持。
使用 Isaac Sim 的 Jupyter Notebook 可按以下方式执行:
./jupyter_notebook.sh path/to/notebook.ipynb
2.6.2.2 Visual Studio Code 支持
建议使用 Visual Studio Code 进行教程和示例操作。
Isaac Sim 包提供了一个预配置环境的 .vscode 工作区,包含以下功能:
- 用于独立 Python 模式或交互式 GUI 运行的启动配置
- 支持 Python 自动完成的环境
您可在 Visual Studio Code(VS Code)中打开 Isaac Sim 主包文件夹来启用此工作区。
有关 VS Code 工作区的详细信息,请参阅 Visual Studio Code(VS Code)文档。
2.6.2.3 高级操作:在 Docker 中运行
按照《容器部署》中的说明启动 Docker 容器,直至第 7 步。
当 Isaac Sim 容器运行后,即可运行上述章节中的 Python 脚本或 Jupyter Notebook。
注意
- 您可以使用 pip 安装其他软件包:
./python.sh -m pip install name_of_package_here- 参见《保存 Docker 镜像》以提交镜像并使 Python 环境安装持久化。
2.6.2.4 高级:使用Anaconda运行
警告
此配置(在安装Isaac Sim - Python包之前)已弃用,将在下个版本中移除。若要在Conda(或其他Python环境)中安装/使用Isaac Sim,请参阅《改用PIP安装Isaac Sim》。
2.7 ROS 2 安装
NVIDIA Isaac Sim 为 ROS 系统集成提供了 ROS 2 桥接器。模拟器发布和接收的数据类型均通过同一组通用组件进行定义。
Isaac Sim 支持的 ROS 发行版如下所示:
|
Platform |
ROS 2 |
|---|---|
|
Ubuntu 24.04 |
Jazzy (recommended) |
|
Ubuntu 22.04 |
Humble (recommended), Jazzy |
|
Windows 10 |
Humble |
|
Windows 11 |
Humble |
对于ROS 2桥接器,Isaac Sim兼容ROS 2 Humble和ROS 2 Jazzy版本。
2.7.1 安装概要步骤
本节将根据您的ROS配置,指导您识别并选择不同的Isaac Sim ROS 2桥接器运行方式。本节中的每个步骤均对应本指南其余部分包含的详细操作步骤。实施任何步骤前请完整阅读本指南。
重要提示
Isaac Sim仅兼容Python 3.11版本。ROS 2桥接器的启用与交互方式已更新。
2.7.1.1 配置 ROS 接口和软件包
对于 Isaac Sim ROS 2 桥接器,您有以下选项:
2.7.1.1.1 默认ROS接口
若您的工作流仅需通过默认或通用接口(例如std_msgs、geometry_msgs、nav_msgs)与ROS 2 Bridge对接,可按以下方式运行Isaac Sim:
- 完成默认ROS安装。在默认配置下运行外部ROS节点是可行的,因为DDS会处理数据传输,且不受Python版本限制。
以下配置可用:Platform
ROS Distro
ROS Installation Notes
Ubuntu 24.04
Jazzy (recommended)
Use default installation (Python 3.12)
Ubuntu 22.04
Humble (recommended)
Use default installation (Python 3.10)
Ubuntu 22.04
Jazzy
Build from source (Python 3.10)
Windows 10
Humble
Use default installation in WSL
Windows 11
Humble
Use default installation in WSL
- 运行Isaac Sim时启用内部Jazzy或Humble库,请参阅《配置选项与启用内部ROS库》。
内部库采用Python 3.11版本,因此尝试加载ROS默认安装会导致错误。
2.7.1.2 设置 ROS 工作区
启用 ROS Bridge 后,即可开始发布和订阅 ROS 主题。请参阅 ROS 2 指南。为完成这些操作,请务必先设置 Isaac Sim ROS 工作区:
2.7.1.2.1 仅限默认ROS接口
在Ubuntu 22.04、Ubuntu 24.04和WSL2中,您可以按照说明设置Isaac Sim ROS工作区。
2.7.2 安装 ROS 2
ROS 2 的安装方式决定了可使用的功能特性。Isaac Sim 默认搭载 Python 3.11。
若您使用其他版本的 Python 安装了 ROS 2,可使用 rclpy。该工具已预先打包在 Isaac Sim 中,并基于 Python 3.11 编译。更多信息请参阅启用 rclpy、自定义 ROS 2 软件包以及 Python 3.11 工作区。
ROS_DISTRO环境变量用于判断是否加载ROS 2及使用哪个发行版。若未设置该变量,则使用ROS 2内部构建的发行版。不同版本的ROS 2可能存在消息定义差异,因此系统会根据加载的ROS发行版动态加载相应的ROS 2后端。
重要提示
使用ROS 2桥接器时,请务必在运行Isaac Sim前,通过终端加载Isaac Sim内部库,或加载基于Python 3.11构建的ROS 2安装环境。若您的bashrc文件已包含ROS 2或内部库的加载指令,则可直接运行Isaac Sim。
2.7.2.1 Ubuntu 22.04
2.7.2.1.1 Humble
- 请按照官方网站上的说明下载ROS 2:
ROS 2 Humble Ubuntu 22.04 - (可选)ROS 2 Bridge 中某些消息类型(用于发布边界框的 Detection2DArray 和 Detection3DArray)依赖于 vision_msgs_package。请在系统上运行以下命令安装该软件包。若您是从源代码构建 ROS 2,请在重新构建前克隆该软件包并将其纳入 ROS 2 安装工作区。若无需运行 vision_msgs 发布者,可跳过此步骤。
sudo apt install ros-humble-vision-msgs - (可选)ROS 2 Bridge 中某些消息类型(如用于发布和订阅阿克曼转向命令的 AckermannDriveStamped)依赖于 ackermann_msgs_package 包。请执行以下命令在系统中安装该包。若您是从源代码构建 ROS 2,请在重新构建前克隆该包并将其纳入 ROS 2 安装工作区。若无需运行 Ackermann 消息发布者/订阅者,可跳过此步骤。
sudo apt install ros-humble-ackermann-msgs - 请确保在终端或~/.bashrc文件中加载ROS环境。每次使用ROS命令前都必须执行此步骤。
source /opt/ros/humble/setup.bash
注意
在 Linux 系统中,您不能在运行 Isaac Sim 的同一终端中加载此安装环境。请在运行 Isaac Sim 之前,使用 Isaac Sim 内部 ROS 库和 Python 3.11 进行加载。
2.7.3 配置选项并启用内部ROS库
在支持Python 3.11版本的ROS环境中运行Isaac Sim的推荐方式,是加载Isaac Sim内置的内部ROS库。
2.7.3.1 推荐的ROS 2发行版
若使用推荐的ROS 2发行版,无需额外步骤即可加载ROS 2 Bridge所需库文件。
在 Ubuntu 22.04 中,若未加载其他 ROS 库,Isaac Sim 会自动加载 ROS 2 Humble 的内部库。在 Ubuntu 24.04 中,若未加载其他 ROS 库,Isaac Sim 会自动加载 ROS 2 Jazzy 的内部库。请使用常规启动命令运行启用了 ROS 2 Bridge 的 Isaac Sim。
./isaac-sim.sh
注意
ROS_DISTRO 环境变量用于检查 ROS 是否已被加载。
2.7.3.1.1 使用终端
要在终端中启用特定的 ROS 2 内部库,请按照以下说明操作:
Isaac Sim自带一套精简的ROS 2库。若要使用其内置ROS 2库,请在运行Isaac Sim前于新终端或命令提示符中设置以下环境变量。若Isaac Sim安装在非默认路径,请将isaac_sim_package_path环境变量替换为Isaac Sim应用选择器中显示的包路径(参见“在文件浏览器中打开”和“在终端中打开”按钮)。
export isaac_sim_package_path=$HOME/isaacsim
export ROS_DISTRO=humble
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
# Can only be set once per terminal.
# Setting this command multiple times will append the internal library path again potentially leading to conflicts
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$isaac_sim_package_path/exts/isaacsim.ros2.bridge/humble/lib
# Run Isaac Sim
$isaac_sim_package_path/isaac-sim.sh
2.7.4 启用 ROS 2 桥接器
在 Linux 系统上使用 Fast DDS 的说明是启用 ROS 2 桥接器的推荐方法。
2.7.4.1 在搭载Fast DDS的Linux系统上
若使用ROS 2 Bridge与同一台机器上运行的ROS 2节点通信,请采用FastDDS的默认配置。这将确保使用共享内存传输机制,从而获得最佳的仿真性能。
2.7.4.2 在 Linux 上使用 Cyclone DDS
Isaac Sim 支持 Cyclone DDS 中间件在 Linux、ROS 2 Humble 和 Jazzy 上的运行。要使用 Cyclone DDS,必须禁用默认使用 Fast DDS 的桥接器。禁用后,即可启用 Cyclone DDS 桥接器。
2.7.4.2.1 使用 Cyclone DDS 启用 ROS 桥接器
- 请遵循 ROS 2 Humble 安装步骤或 ROS 2 Jazzy 安装步骤,为您的 ROS 2 环境配置 Cyclone DDS。
注意
Isaac Sim ROS 2 Humble 和 Jazzy 内置库包含使用 Python 3.11 编译的 Cyclone DDS。
- 运行 Isaac Sim 前,请确保设置 RMW_IMPLEMENTATION 环境变量。后续若遇到示例中将环境变量设置为 rmw_fastrtps_cpp 的情况,可替换为以下命令:
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
2.7.4.3 在 isaac-sim.sh 中禁用 ROS Bridge
禁用 ROS Bridge 请执行以下步骤:
- 打开位于~/isaacsim/apps/isaacsim.exp.full.kit的文件。
- 找到行:isaac.startup.ros_bridge_extension = “isaacsim.ros2.bridge”。
- 将其修改为:isaac.startup.ros_bridge_extension = “” 以禁用ROS 2桥接器。
- 保存并关闭文件。
2.7.5 设置工作区
运行ROS 2教程和示例时,需在工作终端中加载ROS 2安装工作区。
- 构建Isaac Sim ROS工作区前,请确保系统已安装ROS 2。
您也可参照《在Docker容器中运行ROS》文档,通过ROS Docker容器构建工作区。
重要提示
若在Ubuntu 22.04系统上运行ROS 2 Jazzy版本,必须在Docker容器内构建工作区——因Isaac Sim ROS工作区引用的部分软件包不支持Jazzy在Ubuntu 22.04的本地安装。请参照《在Docker容器中运行ROS》所述,在Docker容器内执行以下步骤:
- 从isaac-sim/IsaacSim-ros_workspaces克隆Isaac Sim ROS工作区仓库。
完成Isaac Sim ROS 2教程系列需安装若干ROS软件包。完整ROS 2工作区已包含所有必需软件包。 - 若您已从源代码构建ROS 2,请在构建其他工作区前将source /opt/ros/<ros_distro>/setup.bash命令替换为source <path_ros2_ws>/install/setup.bash。
注意
以下步骤不适用于在 Ubuntu 22.04 上从源代码安装 Jazzy 的情况。后续操作请遵循《在 Docker 容器中运行 ROS》中的步骤。
2.7.5.1 Ubuntu
Humble
- 要构建 ROS 2 工作区,您可能需要安装以下附加软件包:
# For rosdep install command sudo apt install python3-rosdep build-essential # For colcon build command sudo apt install python3-colcon-common-extensions - 确保已加载原生ROS 2环境:
source /opt/ros/humble/setup.bash - 通过运行以下命令,从ROS 2工作区根目录解决所有包依赖关系:
cd humble_ws git submodule update --init --recursive # If using docker, perform this step outside the container and relaunch the container rosdep install -i --from-path src --rosdistro humble -y - 构建工作区:
colcon build在根目录下,创建了新的构建、安装和日志目录。
- 要开始使用此工作区内构建的ROS 2软件包,请打开新终端并使用以下命令加载工作区:
source /opt/ros/humble/setup.bash cd humble_ws source install/local_setup.bash
更多推荐


所有评论(0)