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 SimNVIDIA Omniverse™平台的一款机器人仿真工具包。Isaac Sim具备构建虚拟机器人世界和实验的关键功能。它为研究人员和从业人员提供了创建健壮、物理精确仿真和合成数据集所需的工具和工作流程。Isaac Sim通过ROS/ROS2支持导航和操控应用。它可以模拟RGB-D、Lidar和IMU等传感器的传感器数据,用于多种计算机视觉技术,如领域随机化、真值标签、分割和边界框。

1.检查配置

Isaac Sim推荐的表现较好的配置为:

CPU内存存储显卡显存显卡驱动
Intel Core i9系列 16核64GB1TB+GeForce RTX 4080/RTX Ada 600016GB/48GB535.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
  • 登录Nvidia账号
    登录你的Nvidia账号,按照引导,持续选择默认即可,进入Omniverse主页面
    在这里插入图片描述
  • 同意相关协议
    在这里插入图片描述
    在这里插入图片描述
  • 设置路径(按照默认即可)
路径英文作用
库路径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
    进入OmniverseEXCHANGE页面,选择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
  • 安装资产包(可选的)
    为方便本地使用USD资产素材,在Omniverse->EXCHANGE中搜索isaac sim assets pack,下载4个资产包,这些资产包专为本地系统存储而设计。
    对于多个用户的使用,同理可以通过将资产部署到Nucleus的服务器上,可以实现不同成员间的资产协作,同时可以在GUI左下角的Content中方便地显示资产缩略图。
    在这里插入图片描述
    在这里插入图片描述

注意:资产包对应的版本应当也是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 Navigatorlocalhost/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?

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐