Ubuntu20.04 ISAAC SIM仿真下载使用流程

机器:华硕天选X2024

显卡:4060Ti

ubuntu20.04

安装显卡驱动版本:525.85.05

参考:

What Is Isaac Sim? — Omniverse IsaacSim latest documentation
Isaac sim Cache 2023.2.3 did not work_isaac cache stopped-CSDN博客

Isaac Sim详细安装使用教程-CSDN博客

在4.16的笔记中已经完成了ubuntu20.04安装、显卡驱动安装:

记录ubuntu20.04安装nvidia-525.85.05显卡驱动(学习笔记2024.4.15、4.16)-CSDN博客

一.Isaac Sim介绍

NVIDIA Isaac Sim 是一款可扩展的机器人仿真应用程序和合成数据生成工具,基于 NVIDIA Omniverse™ 平台构建。它利用 Omniverse Kit 强大的仿真技术,包括使用 PhysX 5 进行高级支持 GPU 的物理模拟、具有实时光线和路径追踪的照片级逼真度,以及对基于物理的渲染的 MDL 材质定义支持。

Isaac Sim 是一个物理精确的虚拟环境,用于开发、测试和管理基于 AI 的机器人,它为构建虚拟机器人实验提供了基本功能,包括导入机器人模型以及仿真 RGB-D、激光雷达、接触、超声波和 IMU 等传感器。

Isaac Sim 支持通过 Python、ROS 和 Isaac SDK 进行导航、操作、深度学习应用程序对于人工智能应用程序,有很多种类工具包,例如用于合成数据生成和域随机化的 Isaac Replicator、用于强化学习的 Isaac Gym 和用于高级决策编程的 Cortex。

1.1 平台支持

Isaac Sim中显示目前平台支持Windows和Linux。

在下方链接中写着“The Isaac Sim container is only supported on Linux.”是因为开发者支持的Windows为测试版本,这句提示没有修改,实际上windows是可以使用的。

而相对的,Linux有官方完整的Demo演示功能介绍和相关文档,相对完善,推荐使用Linux。

Isaac Sim Requirements — Omniverse IsaacSim latest documentation

1.2  系统架构

1.3 开发流程

1.4 Omniverse 工具包

Omniverse Isaac Sim 使用英伟达™ Omniverse™ Kit SDK,这是一个用于构建原生 Omniverse 应用程序和微服务的工具包。Omniverse Kit通过一系列轻量级插件提供了多种功能。插件采用C语言接口编写,以实现持久的API兼容性;不过,还提供了一个Python解释器,以方便用户编写脚本。

1.5 Omniverse Nucleus

Omniverse Isaac Sim 使用英伟达™ Omniverse™ Nucleus 访问环境和机器人的USD文件等内容。Omniverse Nucleus服务允许各种客户端应用程序、渲染器和微服务共享和修改Omniverse Isaac Sim中的虚拟世界。

Nucleus以发布/订阅模式运行。根据访问控制,Omniverse 客户端可以向 Nucleus 数据库(DB)发布对数字资产和虚拟世界的修改,也可以订阅他们的修改。更改会在连接的应用程序之间实时传输。数字资产可以包括几何图形、灯光、材料、纹理和其他描述虚拟世界及其随时间演变的数据。

1.6 USD

Omniverse Isaac Sim 使用 USD 交换文件格式来表示场景。通用场景描述(USD)是一种易于扩展的开源三维场景描述和文件格式,由皮克斯公司开发,用于内容创建和不同工具之间的交换。由于其强大的功能和通用性,USD 被广泛采用,不仅在视觉特效界,而且在建筑、设计、机器人、制造和其他学科也得到了广泛应用。

二.系统要求

截止2024.4.16,更新速度很快,说不定什么时候就换新了

驱动建议跟着官方文档来,这里我下载的525.85.05版本

2.1 下载Nvidia显卡驱动

1.下载NVIDIA-Linux-x86_64-525.85.05

sudo apt-get update
sudo apt install build-essential -y
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/525.85.05/NVIDIA-Linux-x86_64-525.85.05.run
chmod +x NVIDIA-Linux-x86_64-525.85.05.run
sudo ./NVIDIA-Linux-x86_64-525.85.05.run

如果在安装驱动时遇到以下报错内容

ERROR: An NVIDIA kernel module ‘nvidia-drm’ appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module’s usage count, for which the simplest remedy is to reboot your computer.

则意味着你已经有一个显卡驱动了,如果你要装新的,就需要将上一个完全卸载掉,不留痕迹。然后重启计算机就可以下载了。

2.2 设置Docker

1.使用脚本快速安装Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

2.Docker安装后续步骤

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

3.验证Docker是否安装成功

docker run hello-world

2.3 安装NVIDIA工具包

1.配置仓库

这是一行里面的,别拆

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

2.安装工具包

sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

3.验证工具包是否安装成功

docker run --rm --gpus all ubuntu nvidia-smi

注意:对于远程用户,仍需要安装显卡驱动、docker、NVIDIA工具包,可以根据1.1中的链接进行下载安装

2.4 容器部署(可做可不做,不耽误后面进入isaacsim)

Isaac Sim 容器仅支持以无界面模式运行 Python 应用程序和独立示例。

如果需要运行全部功能,可以将2.4跳过直接看第三章。

nvidia-smi
docker login nvcr.io  #只输入这行就行,下面不用复制过去Username: $oauthtoken
Password: <Your NGC API Key>
WARNING! Your password will be stored unencrypted in /home/username/.docker/config.json.
Configure a credential helper to remove this warning. Seecredentials-store
Login Succeeded

这句代码会让你输入一些东西,分别是username,password。username输入$oauthtoken就行,password需要去NVIDIA官网里,跟着这个教程来:NGC User Guide - NVIDIA Docs

不想看英文就跟着我来(和官网内容是一样的):

1.进入NVIDIA NGC

2.在里面输入高贵的邮箱信息

3.等待加载结束后,在右上角的个人信息中点击Setup

4.里面第一个和第二个都是钥匙,选第二个私人的

5.点击右上角的Generate Personal Key

第一个随便填,第二个随便填反正立刻就要用,第三个选NGC Catalog

6.得到一串key,这串key可以先放到哪个记事本里,一会儿如果不小心点错了还有机会补救(就显示这一次,关掉之后就再也看不见它了)

7.回到终端那步,输入完了username,password中将这一长串复制进去,OK,输出这东西

然后在终端中:(这个建议挂梯子,不然会因为网络不稳定经常下载失败)

docker pull nvcr.io/nvidia/isaac-sim:2023.1.1

接下来进入root根目录(这些是一行里面的,直接全复制走)

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/kit:/isaac-sim/kit/cache:rw \-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \-v ~/docker/isaac-sim/documents:/root/Documents:rw \nvcr.io/nvidia/isaac-sim:2023.1.1

下面这行命令会加载一段时间,不用担心,最后会编译着色器,打游戏的都知道,这玩意更新最慢了。

官方文档:(首次加载 Isaac Sim 将需要一段时间来缓存着色器。一旦着色器被缓存并且容器运行时挂载了缓存,后续运行 Isaac Sim 将会很快。请参阅在使用容器时将 Isaac Sim 配置和缓存保存到本地磁盘,以便使 Isaac Sim 配置和缓存持久化。)

./runheadless.native.sh -v

最后输出  Isaac Sim Headless Native App is loaded.  就没问题了

接下来,输入运行 Isaac Sim 容器的机器或实例的 IP 地址,然后点击“连接”按钮。就可以前往Isaac Sim界面了。

Isaac Sim 容器仅支持以无界面模式运行 Python 应用程序和独立示例。

如果需要运行全部功能,还是需要下载的。

三.下载Isaac Sim

下载时建议全程使用科学上网保证网速,下载东西不小,下载失败就不好了

3.1 Isaac sim下载

下载链接:

Isaac Sim - Robotics Simulation and Synthetic Data | NVIDIA Developer

3.2 Omniverse Launcher及后续下载

步骤3.1登记个人信息后,下载Nvidia Omniverse Launcher的安装包,ubuntu系统下载得到的是一个后缀为.AppImage的文件(omniverse-launcher-linux.AppImage)

下载后,将文件修改为可执行文件,就可以在终端中启动了

(因为 Isaac Sim 是依赖Nvidia Omniverse的,因此首先下载的不是Isaac Sim本身)

3.3 后续准备

在EXCHANGE中搜索Isaac Sim,下载

在EXCHANGE中搜索Cache,下载(本地缓存,加快Nucleus的交互速度)

在EXCHANGE中搜索Nucleus,下载

下载后,在NUCLEUS中,保证Local Nucleus Service的setting中所有东西都是正在运行中的 (如果出现某些选项是红色或是黄色的,reset all即可解决)

(我的图片里面不全,有些东西还在下,这里用一下别人的)

Isaac sim Cache 2023.2.3 did not work_isaac cache stopped-CSDN博客

3.4 上传文件

Local host的project,点击New Folder,将usd相关文件放上去即可(第一次可能会需要连接,输入账号密码后按指示来即可)

3.5 运行 Isaac Sim

导航栏中LIBRARY,点击LAUNCH/启动

第六个中ros选第一个就行,其余不用变,START

如果遇到警告:Failed to create any GPU devices, including an attempt with compatibility mode.

告诉你未能创建GPU,这意味着显卡驱动安装不完整,或者是CUDA安装不完整,卸载干净后重装就行了(这个报错网上你查不到解决办法,还不告诉你哪儿出了问题,我在这里卡了一天,就是因为之前有一个550的显卡驱动没卸载干净,有残留)。

四.Python环境

Isaac Sim 提供了一个内置的 Python 3.10 环境,建议使用python脚本的时候使用这个python环境

在从 Isaac Sim 根文件夹运行命令:    ./python.sh path/to/script.py

可以直接在 Isaac Sim 应用程序选择器的 Isaac Sim 根文件夹下打开终端

通过 pip 安装其他软件包时,使用:    ./python.sh -m pip install name_of_package_here

五.ROS环境

下载前关闭科学上网

我用的小鱼的一键下载,很是方便

sudo apt-get update
wget http://fishros.com/install -O fishros && . fishros

我使用的是ROS noetic,能用,还行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 安装openjdk-1.8

安装命令 yum install java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64查看安装路径 find / -name java 默认的安装路径 /usr/lib/jvm 查看到jre 以及java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 配置环境变量 vim /etc/profile 添加的内容 export JAVA_HOME/usr/li…

每日一题:地下城游戏

恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0…

基于非线性控制策略的电力电子电路——DC-DC电路的3种滑模控制器【MATLAB/simulink】

第一种&#xff0c;滞环滑模控制器Buck电路 在滑模控制系统中&#xff0c;采用滞环技术&#xff0c;直接将切换函数转换成开关控制信号&#xff0c;滞环技术被看做一种降低系统结构的切换频率的调制方法&#xff0c;业界也把基于滞环滑模技术实现的滑模控制称为直接滑模控制技…

分类网络总结

欢迎大家订阅我的专栏一起学习共同进步&#xff0c;主要针对25届应届毕业生 祝大家早日拿到offer&#xff01; lets go http://t.csdnimg.cn/dfcH3 目录 4. 经典分类网络与发展 4.1 AlexNet 4.2 VGGNet 4.3 GoogLeNet Inception 4.4 ResNet 4.5 DenseNet 4.6 MobileN…

Python基础04-操作系统中的文件与目录操作

在与操作系统交互时&#xff0c;我们经常需要执行文件和目录的操作。Python提供了丰富的库来帮助我们完成这些任务。以下是一些常见的操作&#xff0c;以及如何使用Python代码来实现它们。 1. 导航文件路径 在不同的操作系统中&#xff0c;文件路径的格式可能不同。Python的o…

提取出图像的感兴趣区域

这是我们的原图像 将图像的数值统计后进行条形图展示 import matplotlib.pyplot as plt from PIL import Image import numpy as np# 图像路径 image_path r"D:\My Data\Figure\OIP.jpg"# 打开图像 image Image.open(image_path)# 将图像转换为numpy数组 image_ar…

关于实验报告添加题注为0以及页面断层的解决办法

1.事情起源于最近在写实验报告和课设说明书时出现图的题注是图0-1等不遵循设置的章节标号&#xff0c;于是我在查询和个人尝试后发现必须设置多级编号并且自定义设置对应的样式为标题几 另外注意设置后必须题注也要设置对应的样式&#xff0c;否则还是0-1&#xff0c;不用编辑域…

全球30米100%水陆覆盖高程

数据是GIS的血液。 熟悉水经注的朋友都应该知道&#xff0c;我们可以为大家提供全球30米和全球12.5米的高程数据&#xff0c;但这两种数据都无法达到全球覆盖。 你可以从《40TB全球12.5米高程DEM原始数据》与《700G全球30米高程DEM原始数据》等文中了解这两种数据的详细说明。…

git简介及安装

Git | Git简介与安装 文章目录 Git | Git简介与安装一、Git简介二、Git安装Linux-centosLinux-ubuntu 一、Git简介 存在需求&#xff1a;对于一个文档&#xff0c;由于编写思路或者当前文档丢失&#xff0c;可能存在想要历史版本的需求&#xff0c;并且需要知道每个版本都修改了…

忘记宝塔账号密码 如何解决

cd /www/server/panel && btpython tools.py panel testpasswd参考 https://www.bt.cn/bbs/thread-1172-1-1.html

(C++) 树状数组

目录 一、介绍 二、一维树状数组 2.1 区间长度 2.2 前驱和后继 2.3 查询前缀和 2.4 点更新 三、一维数组的实现 3.1 区间长度函数 3.2 前缀和 3.3 插入/更新 3.4 封装成类 一、介绍 树状数组&#xff08;Binary Indexed Tree&#xff0c;BIT&#xff09;&#xff0c;又称为 …

39. UE5 RPG角色释放技能时转向目标方向

在上一篇&#xff0c;我们实现了火球术可以向目标方向发射&#xff0c;并且还可以按住Shift选择方向进行攻击。技能的问题解决&#xff0c;现在人物释放技能时&#xff0c;无法朝向目标方向&#xff0c;接下来我们解决人物的问题。 实现思路&#xff1a; 我们将使用一个官方的…

大一考核题解

在本篇中&#xff0c;将尽力使用多种解法&#xff0c;来达到一题多练的效果。 1&#xff1a; 1.原题链接&#xff1a; 238. 除自身以外数组的乘积 - 力扣&#xff08;LeetCode&#xff09; 这道题首先一眼肯定想到拿整体的积除以当前元素&#xff0c;将结果作为ans&#xff0c;…

Redis的主从复制

引入&#xff1a;分布是系统涉及到一个非常关键的问题&#xff1a;单点问题&#xff08;如果摸个服务器程序&#xff0c;只有一个节点&#xff08;只搞一个物理服务器&#xff0c;来部署这个服务器程序&#xff09;会出现&#xff1a; 1.可用性问题&#xff0c;如果这个机器挂…

轧铝机液压站比例阀控制器

轧铝机液压站是用于铝材轧制过程中提供动力和控制的系统&#xff0c;它对于确保铝材的质量至关重要。轧铝机液压站通常包含以下几个关键组成部分&#xff1a; 液压泵&#xff1a;为系统提供压力油&#xff0c;是液压系统的动力源。 控制阀组&#xff1a;包括方向控制阀、压力控…

由于磁盘空间不够导致服务无法访问的情况

昨天服务出现了一些“小状况”&#xff0c;这里做下记录&#xff0c;为了以后类似的问题&#xff0c;可以作为参考。 具体情况是&#xff0c;如下&#xff1a; 本来一直访问都好好的服务突然间访问不到了&#xff0c;首先确定了下服务器上的 docker 服务是否正常运行。确认正…

【触摸案例-触摸事件介绍 Objective-C语言】

一、触摸事件 1.接下来,我们来说这个,触摸事件, iOS当中的事件,可以分为三大类: 1)触摸事件 2)加速计事件 3)远程控制事件 事件呢,这个里面呢,使用app的过程当中呢,产生各种各样的事件,事件呢,分为三大类,在iOS里边儿啊,分为三大类,首先,有一个叫做触摸事…

MySQL中的“IS NULL”优化

MySQL中的“IS NULL”优化 在MySQL数据库中&#xff0c;查询性能的优化是保持应用高效运行的关键。一个常见的情况是处理空值&#xff08;NULL&#xff09;&#xff0c;尤其是在查询条件中使用IS NULL时。 理解IS NULL 在MySQL中&#xff0c;IS NULL运算符用于检查列中的值是…

2024年学浪视频怎么保存到本地相册

2024年已至&#xff0c;学浪应用上的视频购买人数持续攀升&#xff0c;然而一些课程已不再提供永久回放&#xff0c;这对那些在学浪购买了课程的人来说确实是一大困扰。在这里&#xff0c;我将为大家提供一种方法&#xff0c;让我们能够将学浪视频中那些非永久回放的内容下载到…

游戏录屏软件免费使用,超高清画质,让你爱不释手!

“最近迷上了一款动作冒险游戏&#xff0c;里面的剧情和打斗场面简直太燃了&#xff01;就想通过录屏的方式&#xff0c;把我自己的游戏过程保存下来。可是我发现市面上的录屏软件不是免费的就是功能有限&#xff0c;你们有没有用过什么好用又免费的游戏录屏软件啊&#xff1f;…