Nvidia Isaac Sim 入门教程 2024(2)安装与配置

Isaac Sim 安装与环境配置

版权信息

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.

如需企业内训、项目开发或个人学习支持与定制,请联系:hermanye233@icloud.com

学习目标

  • 熟悉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
  • 检查工作站配置是否满足Isaac Sim的硬件性能要求。
  • 检查显卡驱动是否满足Isaac Sim的显卡驱动要求。

提示: 配置步骤为工作站、个人电脑的配置方式,对于云端或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
  • 安装资产包(可选的)
    为方便本地使用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

当看到这个画面时,恭喜你,已经配置好了Isaac相关的环境和本地资产,现在你可以正常地在Omniverse生态中使用Nvidia的Isaac Sim了。
在这里插入图片描述

云端部署(可选的)

注意:
以上安装及配置步骤是适用于工作站的,如果需要在云上部署,请参考Isaac Sim的云端部署。

相关资料

Nvidia Omniverse Isaac Sim Documentation
Isaac Sim ROS2 tutorial
How to use Isaac Sim with your own robot?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/721452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git快速上手

初识Git 是一个免费开源, 分布式的代码版本控制系统, 帮助开发团队维护代码 作用: 记录代码内容,切换代码版本,多人开发时高效合并代码内容 Git和GitHub Git是一个软件, Github是一个网站,两者的功能都是提供版本控制服务. 官网: GitHub: Let’s build from here GitHub …

【多模态大模型教程】在自定义数据上使用Qwen-VL多模态大模型的微调与部署指南

Qwen-VL 是阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM)。Qwen-VL 可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。 Qwen-VL-Chat 大语言模型(Qwen-7B) 视觉图片特征编码器(Openclip ViT-bigG) 位置…

工业物联网关为智能制造业提供哪些支撑?天拓四方

随着科技的飞速发展,智能制造业已成为工业领域的转型方向。在这一转变中,工业物联网关发挥着至关重要的作用。作为连接物理世界与数字世界的桥梁,工业物联网关不仅实现了设备与设备、设备与云平台之间的互联互通,更通过实时数据采…

Spring AOP 基于注解实现用户权限校验

主要注解 interface:继承了 Annotation 接口的自定义注解,定义注释类型。 Target:表示这个注解可以应用的地方,此处做权限校验是用在方法上的,所以此处的值为 Target(ElementType.METHOD) …

【docker 如何自定义镜像】

查看容器列表 首先是查看容器:在命令台中键入 docker ps -a 命令,得到如下界面。 从容器创建一个新镜像 接着,dockers commit 容器名 要保存成的镜像名:版本名(若没有 :版本名 则直接默认为latest&#x…

【CVPR2021】LoFTR:基于Transformers的无探测器的局部特征匹配方法

LoFTR:基于Transformers的局部检测器 0. 摘要 我们提出了一种新的局部图像特征匹配方法。我们建议先在粗略级别建立像素级密集匹配,然后再在精细级别细化良好匹配,而不是按顺序进行图像特征检测、描述和匹配。与使用成本体积搜索对应关系的密…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-11暂退法Dropout

11暂退法Dropout #Dropout 是一种正则化技术,主要用于防止过拟合, #通过在训练过程中随机丢弃神经元来提高模型的泛化能力。 import torch from torch import nn from d2l import torch as d2l import liliPytorch as lpdef dropout_layer(X, dropout):…

安全宣传咨询日活动向媒体投稿记住这个投稿好方法

在信息爆炸的时代,作为单位的信息宣传员,我肩负着将每一次重要活动,特别是像“安全宣传咨询日”这样的公益活动,有效传达给公众的重任。这份工作看似简单,实则充满了挑战,尤其是在我初涉此领域时,那段曲折而又难忘的投稿经历,至今记忆犹新。 初探投稿之海,遭遇重重困难 起初,我…

这些数据可被Modbus采集,你还不知道???

为什么要用Modbus采集模块 Modbus采集模块之所以被广泛使用,是因为它提供了标准化的通信协议,确保了不同设备间的兼容性。它支持多种通信方式,易于实现,并且能够适应不同的网络环境。Modbus模块能够收集和传输各种工业数据&#x…

【产品经理】订单处理6-审单方案

电商系统中订单管理员会对特殊类型的订单进行审核,普通订单则自动审核,本节讲述自动审单方案、手动审单以及加急审单。 一、自动审单 自动审单方案可按照方案形式制定,可一次性制定多套审单方案。 1. 审单通过条件有 执行店铺&#xff…

大模型的分类:探索多样化的人工智能模型

随着人工智能技术的飞速发展,大型预训练模型(以下简称“大模型”)已经在自然语言处理、计算机视觉、语音识别等多个领域取得了显著的成果。这些模型通过在海量数据上进行预训练,能够捕捉到丰富的特征信息,为各种下游任…

Linux操作系统学习:day03

内容来自:Linux介绍 视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试]( 目录 day0317、创建删除目录创建目录删除目录 18、文件的拷贝19、mv 命令20、查看文件内容的相关命令21、给文件创建软连接或硬链接 day03 …

MFC绘制哆啦A梦

OnPaint绘制代码 CPaintDC dc(this); // 用于绘画的设备上下文CRect rc;GetWindowRect(rc);int cxClient rc.Width();int cyClient rc.Height();// 辅助线HPEN hPen CreatePen(PS_DOT, 1, RGB(192, 192, 192));HPEN hOldPen (HPEN)SelectObject(dc, hPen);MoveToEx(dc, cxC…

使用Vue中的<TransitionGroup/>进入动画不生效不显示问题

Vue中有两个过渡动画组件分别是&#xff1a;<TransitionGroup/> <TransitionGroup/>进入动画不生效不显示问题 &#xff0c;在渲染列表上加上v-if&#xff0c;看代码&#xff0c;让他每次渲染都重新渲染 加上v-if即可 <template> <TransitionGroup nam…

Perforce静态代码分析专家解读MISRA C++:2023®新标准:如何安全、高效地使用基于范围的for循环,防范未定义行为

MISRA C&#xff1a;2023——MISRA C 标准的下一个版本来了&#xff01;为了帮助您了解 MISRA C&#xff1a;2023相比于之前版本的变化&#xff0c;我们将继续为您带来Perforce首席技术支持工程师Frank van den Beuken博士的博客系列&#xff0c;本期为第三篇。 在前两篇系列文…

和服务器建立联系——6.10山大软院项目实训1

下面介绍我如何在自己的项目中&#xff0c;根据aigc组的接口&#xff08;如下图&#xff09;&#xff0c;在Unity中和服务器建立联系并发出接受请求的&#xff1a; 这是一个通过HTTP POST方法调用的接口&#xff0c;需要发送JSON格式的数据。在Unity中实现这样的功能&#xff0…

文字炫酷祝福 含魔法代码

效果下图&#xff1a;&#xff08;可自定义显示内容&#xff09; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…

SpringBoot + Maven 项目的创建

文章目录 1、Maven2、SpringBoot3、二者之间的联系4、项目的创建 在创建项目之前&#xff0c;肯定要知道他们之间的区别 1、Maven maven是一个跨平台的项目管理工具。它是Apache的一个开源项目&#xff0c;主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 比如说…

QT day04

一、思维导图 二、登录界面优化 代码&#xff1a; 界面&#xff1a; *{background-color: rgb(255, 255, 255); }QFrame#frame{border-image: url(:/Logo/shanChuan.jpg);border-radius:15px; }#frame_2{background-color: rgba(110, 110, 110, 120);border-radius:15px; }Q…

线代的学习(矩阵)

1.矩阵的乘法 矩阵实现满足&#xff1a;内标相等 矩阵相乘之后的结果&#xff1a;前行后列 需要注意&#xff1a;1.矩阵的乘法不具有交换律&#xff1a;AB!BA 2.矩阵的乘法满足分配律&#xff1a;A(BC) AB AC 抽象逆矩阵求逆矩阵 方法1.凑定义法、 方法2.长除法 数字型矩阵…