Ubuntu20.04 ISAAC SIM仿真下载使用流程(4.16笔记补充)

机器:华硕天选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博客

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. See

credentials-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,能用,还行

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

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

相关文章

LeetCode in Python 704. Binary Search (二分查找)

二分查找是一种高效的查询方法&#xff0c;时间复杂度为O(nlogn)&#xff0c;本文给出二分查找的代码实现。 示例&#xff1a; 代码&#xff1a; class Solution:def search(self, nums, target):l, r 0, len(nums) - 1while l < r:mid (l r) // 2if nums[mid] > ta…

C++11 数据结构1 线性表的概念,线性表的顺序存储,实现,测试

一 线性表的概念 线性结构是一种最简单且常用的数据结构。 线性结构的基本特点是节点之间满足线性关系。 本章讨论的动态数组、链表、栈、队列都属于线性结构。 他们的共同之处&#xff0c;是节点中有且只有一个开始节点和终端节点。按这种关系&#xff0c;可以把它们的所有…

MC9S12A64 程序烧写方法

前言 工作需要对MC9S12A64 单片机进行程序烧写。 资料 MC9S12A64 单片机前身属于 飞思卡尔半导体&#xff0c;后来被恩智浦收购&#xff0c;现在属于NXP&#xff1b; MC9S12A64 属于16位S12系列&#xff1b;MC9S12 又叫 HCS12。 数据手册下载连接 S12D_16位微控制器 | N…

[大模型]TransNormerLLM-7B 接入 LangChain 搭建知识库助手

TransNormerLLM-7B 接入 LangChain 搭建知识库助手 环境准备 在 autodl 平台中租赁一个 3090/4090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其…

简单实用的备忘录小工具 记事提醒备忘效果超好

在这个信息爆炸的时代&#xff0c;我们每个人都需要处理大量的信息和任务。有时候&#xff0c;繁忙的生活和工作会让我们感到压力山大。幸运的是&#xff0c;现在有很多简单实用的软件工具&#xff0c;像得力的小助手一样&#xff0c;帮助我们整理思绪&#xff0c;提高效率&…

Redis系列1:深刻理解高性能Redis的本质

1 背景 分布式系统绕不开的核心之一的就是数据缓存&#xff0c;有了缓存的支撑&#xff0c;系统的整体吞吐量会有很大的提升。通过使用缓存&#xff0c;我们把频繁查询的数据由磁盘调度到缓存中&#xff0c;保证数据的高效率读写。 当然&#xff0c;除了在内存内运行还远远不够…

Docker 和 Podman的区别

文章目录 Docker 和 Podman的区别安装架构和特权要求运行容器方面安全性(root的权限)镜像管理方面命令方面Docker常用命令Podman常用命令 Docker 和 Podman的区别 安装 Docker安装&#xff1a;官方文档 Podman安装&#xff1a;官方文档 架构和特权要求 Docker使用client-se…

11、电科院FTU检测标准学习笔记-越限及告警上送功能

作者简介&#xff1a; 本人从事电力系统多年&#xff0c;岗位包含研发&#xff0c;测试&#xff0c;工程等&#xff0c;具有丰富的经验 在配电自动化验收测试以及电科院测试中&#xff0c;本人全程参与&#xff0c;积累了不少现场的经验 ———————————————————…

git 快问快答

我在实习的时候&#xff0c;是用本地开发&#xff0c;然后 push 到 GitHub 上&#xff0c;之后再从 Linux 服务器上拉 GitHub 代码&#xff0c;然后就可以了。一般程序是在 Linux 服务器上执行的&#xff0c;我当时使用过用 Linux 提供的命令来进行简单的性能排查。 在面试的时…

详解爬虫基本知识及入门案列(爬取豆瓣电影《热辣滚烫》的短评 详细讲解代码实现)

目录 前言什么是爬虫&#xff1f; 爬虫与反爬虫基础知识 一、网页基础知识 二、网络传输协议 HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HTTP Secure&#xff09;请求过程的原理&#xff1f; 三、Session和Cookies Session Cookies Session与…

抖音小店流量差怎么办?做好这三大细节,就可以完美解决!

大家好&#xff0c;我是电商糖果 很多刚开店的朋友&#xff0c;遇到的第一个难题就是店铺流量差。 没有流量&#xff0c;也就不会出单&#xff0c;更别提起店了。 糖果做抖音小店四年多了&#xff0c;也开了很多家小店。 很多新店没有流量&#xff0c;其实主要原因是这三个…

在mysql函数中启动事物和行锁/悲观锁实现并发条件下获得唯一流水号

业务场景 我有一个业务需求&#xff1a;我有一个报卡表 report里面有一个登记号字段 fcardno、地区代码 faddrno和发病年份 fyear&#xff0c;登记号由**“4位地区代码”“00”“发病年份”“5位流水号”**组成&#xff0c;我要在每次插入一张报卡&#xff08;每一行数据&#…

【MATLAB源码-第46期】基于matlab的OFDM系统多径数目对比,有无CP(循环前缀)对比,有无信道均衡对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 OFDM&#xff08;正交频分复用&#xff09;是一种频域上的多载波调制技术&#xff0c;经常用于高速数据通信中。以下是关于多径数目、有无CP&#xff08;循环前缀&#xff09;以及有无信道均衡在OFDM系统中对误码率的影响&am…

自如电费均摊问题

3月份搬了次家&#xff0c;嫌麻烦租了自如&#xff0c;第一个月的电费账单出来了&#xff0c;由于我是中途搬进去的&#xff0c;于是乎就好奇他会如何计算均摊&#xff0c;这个月电费账单出来了&#xff0c;算了下发现了点东西。 先说结论&#xff1a;按照我的这个均摊的方式&a…

刻度清晰耐酸碱腐蚀PFA材质实验室用塑料量具特氟龙量筒量杯

PFA量筒为上下等粗的直筒状&#xff0c;特氟龙量杯是上大下小的圆台形&#xff0c;底座均有宽台设计&#xff0c;保证稳定性&#xff0c;两者均可在实验室中作为定量量取液体的量具&#xff0c;上沿一侧有弧嘴设计&#xff0c;便于流畅地倾倒液体。 规格参考&#xff1a;5ml、…

主线程捕获子线程异常

正常情况下使用多线程出现异常时&#xff0c;都是按照单个任务去处理异常&#xff0c;在线程间不需要通信的情况下&#xff0c;任务之间互不影响&#xff0c;主线程也不必知道子线程是否发成异常。 那么只需要处理子线程异常即可 Task.Run(() > {try{throw new Exception(&…

【Vision Pro应用】分享一个收集Apple Vision Pro 应用的网站

您是否也觉得 Vision Pro 应用程序商店经常一遍又一遍地展示相同的几个 VisionOS 应用程序?许多有趣、好玩的应用程序似乎消失得无影无踪,让人很难发现它们。为了帮助大家更轻松地探索和体验最新、最有趣的 Vision Pro 应用程序,这里分享一个网站https://www.findvisionapp.…

IDEA @Autowired不显示红线

IDEA 中&#xff0c;Autowired 显示红线一般情况是注入 Mapper 或者 Dao 时出现的&#xff0c;如下图&#xff1a; 这个报错是因为 Mapper 或者 Dao 上没有加 Repository 或者 Mapper&#xff0c;Autowired 注入时就判断为这不是一个 Bean。 不建议通过加上面两个注解的方式解…

Java面试八股之hashCode()和equals()方法的重要性

hashCode()和equals()方法的重要性 逻辑判断&#xff1a;equals()方法用于定义对象逻辑上的相等标准&#xff0c;即当两个对象在业务意义上被视为“相同”时&#xff0c;equals()应返回true。 哈希表支持&#xff1a;hashCode()返回一个整数哈希码&#xff0c;用于在哈希表&a…

【电路笔记】-数字逻辑门总结

数字逻辑门总结 文章目录 数字逻辑门总结1、概述2、逻辑门真值表3、总结 数字逻辑门有三种基本类型&#xff1a;与门、或门和非门。 1、概述 我们还看到&#xff0c;数字逻辑门具有与其相反或互补的形式&#xff0c;分别为“与非门”、“或非门”和“缓冲器”&#xff0c;并且…