Nvidia Isaac Sim 入门教程 2024
版权信息
Copyright 2023-2024 Herman Ye@Auromix. All rights reserved.
This course and all of its associated content, including but not limited to text,
images, videos, and any other materials, are protected by copyright law.
The author holds all rights to this course and its contents.
Any unauthorized use, reproduction, distribution, or modification of this course
or its contents is strictly prohibited and may result in legal action.
This includes, but is not limited to:
Copying or distributing course materials without express written permission.
Reposting, sharing, or distributing course content on any platform without proper attribution and permission.
Creating derivative works based on this course without permission.
Permissions and Inquiries
If you wish to use or reproduce any part of this course for purposes other than personal learning,
please contact the author to request permission.
The course content is provided for educational purposes, and the author makes no warranties or representations
regarding the accuracy, completeness, or suitability of the course content for any specific purpose.
The author shall not be held liable for any damages, losses,
or other consequences resulting from the use or misuse of this course.
Please be aware that this course may contain materials or images obtained from third-party sources.
The author and course creator diligently endeavor to ensure that these materials
are used in full compliance with copyright and fair use regulations.
If you have concerns about any specific content in this regard,
please contact the author for clarification or resolution.
By enrolling in this course, you agree to abide by the terms and conditions outlined in this copyright notice.
学习目标
- 熟悉Isaac Sim的安装
- 熟悉Isaac Sim的环境配置
难度级别
初级 | 中级 | 高级 |
---|---|---|
√ |
预计耗时
30 mins
学习前提
对象 | 类型 | 状态 |
---|---|---|
Isaac Sim基本概念 | 知识 | 已了解 |
Ubuntu22.04操作系统 | 软件 | 已确认 |
NVIDIA Omniverse™ Isaac Sim
是NVIDIA Omniverse™
平台的一款机器人仿真工具包。Isaac Sim
具备构建虚拟机器人世界和实验的关键功能。它为研究人员和从业人员提供了创建健壮、物理精确仿真和合成数据集所需的工具和工作流程。Isaac Sim
通过ROS/ROS2
支持导航和操控应用。它可以模拟RGB-D、Lidar和IMU等传感器的传感器数据,用于多种计算机视觉技术,如领域随机化、真值标签、分割和边界框。
1.检查配置
Isaac Sim推荐的表现较好的配置为:
CPU | 内存 | 存储 | 显卡 | 显存 | 显卡驱动 |
---|---|---|---|---|---|
Intel Core i9系列 16核 | 64GB | 1TB+ | GeForce RTX 4080/RTX Ada 6000 | 16GB/48GB | 535.129.03 |
提示: 配置步骤为工作站、个人电脑的配置方式,对于云端或Docker部署,可参考本章的云端部署部分或Isaac官方关于Docker的部署说明。
如果不确定环境是否适配,可以尝试继续进行下一步骤,在下一步骤中我们将通过工具对配置进行检查。
2.配置Omniverse环境
- 下载omniverse launcher
Isaac Sim
是依托于NVIDIA Omniverse
平台的仿真工具包,因此需要先安装Omniverse启动器来安装Isaac Sim GUI。
# Install fuse
sudo apt install fuse -y
# Install wget
sudo apt install wget -y
# Download Omniverse Launcher
wget https://install.launcher.omniverse.nvidia.com/installers/omniverse-launcher-linux.AppImage
- 运行Omniverse Launcher
# Granting execution permission
sudo chmod +x omniverse-launcher-linux.AppImage
# Run Omniverse Launcher
./omniverse-launcher-linux.AppImage
路径 | 英文 | 作用 |
---|---|---|
库路径 | library path | 此位置指定在Omniverse启动器里安装的应用程序、连接器和工具的安装位置,比如Isaac Sim。 |
数据路径 | data path | 数据路径是Omniverse Nucleus服务器(local版本)存储所有内容的位置。 |
资源路径 | content path | 资源路径是Omniverse下载一些资产到本地时默认的下载位置。 |
缓存路径 | cache path | 缓存数据库(Omniverse Cache)用于存储其缓存文件的位置(如果要安装Omniverse Cache的话)。 |
- 下载Omniverse Nucleus Navigator
在 EXCHANGE目录下搜索NUCLEUS NAVIGATOR
进行下载。
Omniverse Isaac Sim
使用NVIDIA Omniverse™ Nucleus
来访问环境和机器人的USD文件等内容。Omniverse Nucleus
服务允许各种客户端应用程序、渲染器和微服务在Omniverse Isaac Sim
中共享和修改虚拟世界的表示。
Nucleus
采用发布/订阅模型。在访问控制的前提下,Omniverse客户端可以将数字资产和虚拟世界的修改发布到Nucleus数据库(DB),或订阅其变化。更改在连接的应用程序之间实时传输。数字资产可以包括描述虚拟世界及其随时间演变的几何形状、灯光、材料、纹理和其他数据。
这使得各种Omniverse-enabled
客户端应用程序(Apps, Connectors等)能够共享和修改虚拟世界的权威表示。
简而言之,NUCLEUS可以被简单理解为一个管理虚拟资产的文件管理器。
- 配置Nucleus
依次点击Library
->Nucleus Navigator
->LAUNCH
启动Nucleus导航工具
依次点击Create Local Server
->NEXT
,随后填入个人信息,完成本地服务器的初始设置
此时,本地Nucleus服务器就创建好了,Isaac Sim将默认从Nucleus服务器读取资产。
- 下载Omniverse Cache(可选的)
在 EXCHANGE目录下搜索CACHE
进行下载。
注意: 根据Richard3D(Omniverse Community Manager)在2024年5月的社区回复,现在的Omniverse App都内置了Cache,因此它可以是不被需要的。
- 再次检查工作站配置
在 EXCHANGE目录下搜索ISAAC SIM COMPATIBILITY CHECKER
进行下载。
利用ISAAC SIM COMPATIBILITY CHECKER
工具进行工作站环境检测。
依次点击Library
-> Isaac Sim Compatibility Checker
->LAUNCH
启动Isaac Sim兼容性检查工具。
兼容性工具将通过颜色提示哪些硬件性能是不足的。
注意: 如果这个兼容性检查工具打不开也没关系,可以跳过该步骤。
3.配置Isaac Sim环境
- 安装ISAAC SIM
进入Omniverse
的EXCHANGE
页面,选择ISAAC SIM
,选择对应的版本,点击install
,等待自动下载安装完成。
注意:在本教程中所使用的是
4.0.0
版本,该版本在2024年6月
为最新版本。
- 配置命令行omni python别名
设置Isaac Sim所使用的python的环境变量,Isaac Sim的根文件夹位于~/.local/share/ov/pkg/isaac-sim-4.0.0
,复制以执行以下由Auromix提供的便捷脚本进行Isaac Sim的命令行环境配置,以便你可以通过omni_python
别名来运行python程序。
script_name="config_isaac_sim_environment.sh" && directory_name="/tmp" && download_url="https://raw.githubusercontent.com/Auromix/auro_sim/main/scripts" && full_script_path="${directory_name}/${script_name}" && wget -O $full_script_path $download_url/$script_name && sudo chmod +x $full_script_path && clear && bash $full_script_path && rm -rf $full_script_path
- 配置编辑器(IDE)Isaac环境(可选的)
Isaac Sim的相关包路径无法正确地被VS Code之类的IDE识别,这是因为Isaac Sim的相关包并非完全按照标准Python包组织,因此需要添加脚本来设置环境,使得在正常的编辑器环境中,Isaac Sim的相关包能够被找到。
打开终端,进入到你的项目的根目录下执行这个脚本,可以让编辑器的python分析正确地识别Isaac Sim相关包。
如果你尚未创建项目工作区,请跳过这个步骤,它将在后面的代码编程章节被再次提及。
script_name="setup_isaac_sim_ide_environment.sh" && directory_name="/tmp" && download_url="https://raw.githubusercontent.com/Auromix/auro_sim/main/scripts" && full_script_path="${directory_name}/${script_name}" && wget -O $full_script_path $download_url/$script_name && sudo chmod +x $full_script_path && bash $full_script_path && rm -rf $full_script_path
注意:资产包对应的版本应当也是Isaac Sim 4.0.0版本。
注意:Isaac Sim的资产通常放置于
/NVIDIA/Assets/Isaac/4.0
文件夹中,但当前其中的资产仅适用于最新的 Isaac Sim 4.0.0 版本。
通过由Auromix提供的便捷脚本将多个资产包合并为同一个包:
script_name="copy_isaac_sim_local_assets.sh" && directory_name="/tmp" && download_url="https://raw.githubusercontent.com/Auromix/auro_sim/main/scripts" && full_script_path="${directory_name}/${script_name}" && wget -O $full_script_path $download_url/$script_name && sudo chmod +x $full_script_path && clear && bash $full_script_path && rm -rf $full_script_path
在将资产包合并为isaac_sim_assets_final_package
后,将isaac_sim_assets_final_package
目录下的Assets
文件夹上传到 Nucleus 服务器的omniverse://localhost/Library/NVIDIA
目录下。
依次点击LIBRARY
->Nucleus Navigator
来在omniverse://localhost/Library/
目录下创建名为NVIDIA
的文件夹
将isaac_sim_assets_final_package
目录下的Assets
文件夹拖动到Nucleus Navigator
的localhost/Library/NVIDIA
里,或者右键添加文件夹到该位置。
随后运行一次isaac sim,并指定默认的资产根路径:
isaac_sim --/persistent/isaac/asset_root/default="omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0"
随后验证 Isaac Sim 资源位置是否设置成功,请在打开的Isaac Sim GUI
中转到Isaac Utils
> Nucleus Check
菜单。
应当提示资产位置为刚才所设置的内容,此时说明本地资产路径已经成功设置。
注意:如果仍存在问题,请参考官方关于资产包的说明文档。
4.启动Isaac Sim仿真
在LIBRARY
中找到Isaac Sim
,点击Launch
启动,按照默认选项,点击START
继续启动
注意:过程中可能会遇到一些依赖安装、着色器缓存预热,光追编译、加载等情况,根据个人电脑性能情况,无响应情况恢复的速度不同,等待即可。
观察ISAAC SIM主界面
在成功启动并完成编译、配置等过程后,Isaac Sim的空主界面应当为如下状态:
若终端中并无报错,并且页面如图所示,说明Isaac Sim配置成功。加载机器人
在GUI下方三分之一处的地址栏内输入:
omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0/Isaac/IsaacLab/Robots/Unitree/H1/
在找到Unitree
公司的h1.usd
机器人文件,将其拖拽入视口。
- 加载环境
依次选中Create
->Isaac
->Environments
->Flat Grid
来加载一个简单的带光照的实验室场景。
- 观察Isaac Sim
当看到这个画面时,应当已经完成了正常的配置。
5. 云端部署(可选的)
以上安装及配置步骤是适用于工作站的,如果需要在云上部署,请参考Isaac Sim的云端部署。
结尾语
恭喜你,已经配置好了Isaac相关的环境和本地资产,现在你可以正常地在Omniverse生态中使用Nvidia的Isaac Sim了。
在下一章节,你将学习Isaac Sim的图形界面的基本使用。
如需企业内训定制、项目开发合作或个人学习支持,请联系:hermanye233@icloud.com
相关资料
Nvidia Omniverse Isaac Sim Documentation
Isaac Sim ROS2 tutorial
How to use Isaac Sim with your own robot?