Omniverse、Isaac Sim、Isaac Lab入门必会之 Nucleus 部署

新手入门Omniverse、Isaac Sim、Isaac Lab时经常发现,要想跑通例程,总是usd等资源加载不出来,软件傻傻的进程阻塞卡在那里,点两下就崩溃,这对新手来说非常的不友好,这都是由于没有安装 Nucleus  或者 Nucleus 没有配置好造成的。

比如,运行手臂示例:

python source/standalone/demos/arms.py

 发现抛出警告,Could not open asset @http://omniverse-content-production.s3-us-west-2.amazonaws.com之类:

Could not open asset @http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.0/Isaac/Props/Mounts/SeattleLabTable/table_instanceable.usd@

等了很久isaac sim也一直卡着

还比如要跑宇树的人形机器人H1,那么就需要H1的USD文件,这个定义在 H1_CFG

from omni.isaac.lab_assets import H1_CFG  # isort:skip

跳转到 H1_CFG,资源就定义在 

usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd"

"""Configuration for the Unitree H1 Humanoid robot."""
H1_CFG = ArticulationCfg(
    spawn=sim_utils.UsdFileCfg(
        usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd",
        activate_contact_sensors=True,
        rigid_props=sim_utils.RigidBodyPropertiesCfg(
            disable_gravity=False,
            retain_accelerations=False,
            linear_damping=0.0,
            angular_damping=0.0,
            max_linear_velocity=1000.0,
            max_angular_velocity=1000.0,
            max_depenetration_velocity=1.0,
        ),

我们看到如果 ISAACLAB_NUCLEUS_DIR 配置的不对,那么由于科学上网等原因,资源就获取不到了,简单办法是,资源下载到本地,然后改 ISAACLAB_NUCLEUS_DIR ,如找到H1的目录,然后给这个 变量直接赋值,如我的是:

ISAACLAB_NUCLEUS_DIR = "D:/omniverse/Downloads/Assets/Isaac/4.0/Isaac/IsaacLab"

有的资源是用的 ISAAC_NUCLEUS_DIR,同理修改成

ISAAC_NUCLEUS_DIR = "D:/omniverse/Downloads/Assets/Isaac/4.0/Isaac"


 无NUCLEUS方法(只针对 ISAAC LAB

我们可以改Lab 里关于 ISAAC_NUCLEUS_DIR 配置变量的值,文件在source\extensions\omni.isaac.lab\omni\isaac\lab\utils\assets.py,

可以从类似这里跳转 from omni.isaac.lab.utils.assets import NVIDIA_NUCLEUS_DIR

# 修改下面 配置变量或者环境变量代理 值到本地
NVIDIA_NUCLEUS_DIR = f"{NUCLEUS_ASSET_ROOT_DIR}/NVIDIA"
"""Path to the root directory on the NVIDIA Nucleus Server."""

ISAAC_NUCLEUS_DIR = f"{NUCLEUS_ASSET_ROOT_DIR}/Isaac"
"""Path to the ``Isaac`` directory on the NVIDIA Nucleus Server."""

ISAACLAB_NUCLEUS_DIR = f"{ISAAC_NUCLEUS_DIR}/IsaacLab"
"""Path to the ``Isaac/IsaacLab`` directory on the NVIDIA Nucleus Server."""

这个方法虽然简单,但是要改代码,而且不符合  NUCLEUS 设计理念

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

Nvidia Nucleus 概括介绍

Nvidia Nucleus 是 Nvidia Omniverse 的数据库和协作引擎,它允许多个用户跨多个应用程序实时连接,共享和修改虚拟世界的数据,从而实现高级协作工作流程。Nucleus 提供了一组基本服务,支持不同客户端应用程序、渲染器和微服务之间的实时交互和协作。

设计理念

  1. 实时协作:Nucleus 的核心设计理念是实现实时协作,通过提供跨多个工作站和多个用户的实时连接,让创作者能够无缝地共享和修改项目数据。

  2. 高效迭代:支持快速迭代是 Nucleus 的另一重要设计理念。通过检查点功能和版本控制,创作者可以安全地保存变更历史记录,并在多个版本之间迭代,从而提高工作效率。

  3. 灵活性和可扩展性:Nucleus 提供了多种安装方式和灵活的许可选项,以满足不同用户和企业的需求。无论是个人用户还是大型企业,都可以根据自己的需求部署 Nucleus。

  4. 安全性:安全性是 Nucleus 设计中的重要考虑因素。通过访问控制列表(ACLs)、单点登录(SSO)和安全传输协议(如 SSL/TLS),Nucleus 确保数据在传输和存储过程中的安全性。

  5. 集成和兼容性:Nucleus 旨在与各种现有的3D应用程序和工作流集成,通过提供连接器和扩展程序,让创作者能够继续在他们熟悉的工具中工作,同时享受 Omniverse 带来的协作和实时渲染优势。

综上所述,Nvidia Nucleus 通过提供实时协作、高效迭代、灵活性和可扩展性、安全性以及集成和兼容性等设计理念,为3D创作者和开发者打造了一个强大的协作平台。

好了,下面开始正式 Nucleus 部署之旅。

PS:我试图改过isaac sim里 nucleus 配置,以为有可以改这个全局变量的方法,而不用一个个改,我电脑文件位置在 D:\omniverse\pkg\isaac-sim-4.0.0\exts\omni.isaac.nucleus\config\extension.toml中的内容,希望能够把 nucleus 指向本地,发现没有起作用。

[settings]
persistent.isaac.asset_root.default = "omniverse://localhost/NVIDIA/Assets/Isaac/4.0"
persistent.isaac.asset_root.nvidia = "omniverse://localhost/NVIDIA"
persistent.isaac.asset_root.isaac = "omniverse://localhost/NVIDIA/Assets/Isaac/4.0/Isaac"
persistent.isaac.asset_root.cloud = "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.0"
persistent.isaac.asset_root.timeout = 5.0 


一、搜索安装  Nucleus Navigator

安装好后启动

Nucleus Navigator — Omniverse Nucleus 最新文档 --- Nucleus Navigator — Omniverse Nucleus latest documentation (nvidia.com)icon-default.png?t=N7T8https://docs.omniverse.nvidia.com/nucleus/latest/config-and-info/navigator_v3.html

二、本地服务器的初始设置

点击Create Local Server,然后NEXT,填入个人信息,完成本地服务器的初始设置

此时,Nucleus服务器已在本地成功部署,Isaac Sim将自动从该服务器中获取资源作为默认操作,实现资产的无缝接入与管理。

 三、下载资源包

下载资源包到本地,这里下载 4.0里面的包,文件很大,注意硬盘空间,

后续步骤也可以参考官方教程,只是这个教程再FAQ里:

Setup FAQ — Omniverse IsaacSim latest documentation (nvidia.com)icon-default.png?t=N7T8https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_faq.html#assets-pack

还有一种最全的下载方法是下载这4个Pack,然后合并在一起,我嫌这个麻烦,直接用上面的方法下载的4.0的资源。

 注意:资产包对应的版本应当也是Isaac Sim 4.0.0版本。

 下载后,将每个包的内容合并到一个根文件夹中。例如,将资源包 2、3 和 4 中的内容合并或复制到资源包 1 文件夹 (isaac_sim-assets-1-4.0.0) 中。

此根文件夹 (Downloadsisaac_sim-assets-1-4.0.0AssetsIsaac4.0) 必须同时包含 NVIDIA 和 Isaac 文件夹。 

四、创建本地目录

点击LIBRARY,omniverse://localhost/Library/目录下创建名为NVIDIA的文件夹(也可以按照自己喜好创建文件夹名)

 为了说明是Asserts以及Isaac的资源,又接着往下创建了两级目录,如图

 五、将下载资源包拖入到localhost对应目录里

然后右下角开始出现上传进度(这里是拷贝,会占用硬盘资源): 

PS: 其实不用拷贝过来也行,设置default为本地文件夹,如:

.\isaac-sim.bat --/persistent/isaac/asset_root/default="C:\Users\<username>\Downloads\isaac_sim-assets-1-4.0.0\Assets\Isaac\4.0"

 我没有试过,官方教程里的方法,应该可行。

 六、Isaac Sim指定默认的资产根路径

在windows下: 

.\isaac-sim.bat --/persistent/isaac/asset_root/default="omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0"

 上面指令的目的是改掉 user.config.json 这个文件,这个文件所在目录在你的DATA PATH下,

如我的在:

 D:\omniverse\data\Kit\Isaac-Sim\4.0\user.config.json

 后续再运行 isaac-sim.bat 的时候就不需要加上了,因为配置文件已经改掉了。​

七、检查本地资产路径是否已经设置成功

打开isaac-sim,在Isaac Utils里点击Nucleus Check,如果显示是

omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0/

那就代表成功了

八、关于Isaac Lab配置

本以为一切都好了,这时我们再次运行isaac lab里的demo程序,发现还是不行,又以为改json文件,d:/omniverse/pkg/isaac-lab/isaaclab/_isaac_sim/kit/data/Kit/Isaac-Sim/4.0/user.config.json,修改里面的 default字段为omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0就可以了,发现还是不行,每次运行还是会被刷写掉

于是觉得一定有程序在Lab里启动isaac sim的时候修改了 "/persistent/isaac/asset_root/default"

参数,果然 app_launcher.py 负责修改启动参数,把这里改成这个,就好了。

"omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.0",

 九、FAQ假如遇到问题如何查找原因

点击这里的LOGS LOCATION

 然后isaac sim的运行日志在这里:

然后搜索 Checking path ,如果有 Failure就是有问题,比如我当时4.0下面没下NVIDIA资源,简单在4.0目录下创建一个NVIDIA就解决了


部署感觉还是挺麻烦的,欢迎加QQ群一起交流学习:723139415

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

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

相关文章

14. Java中 volatile 关键字

1. 前言 本节内容主要是对 volatile 关键字进行讲解&#xff0c;具体内容点如下&#xff1a; volatile 关键字概念介绍&#xff0c;从整体层面了解 volatile 关键字&#xff1b;volatile 关键字与 synchronized 关键字的区别&#xff0c;这是本节的重点内容之一&#xff0c;了…

一种非凸全变差正则化的信号降噪方法(以模拟信号和轴承振动信号为例,MATLAB)

以旋转机械振动信号为例&#xff0c;由于旋转机械运行中背景噪声较强&#xff0c;振动信号需要进行降噪处理。常用的小波阈值降噪会在信号的不连续处产生虚假的波峰和伪吉布森震荡&#xff0c;而奇异值分解SVD去噪容易产生虚假分量&#xff0c;全变差去噪则不会出现这样的情况&…

解锁科研新动力,QtiPlot for Mac——您的数据可视化与分析首选工具!

QtiPlot for Mac&#xff0c;一款专为科研工作者和数据分析爱好者打造的数据可视化与分析神器&#xff0c;它如同科研道路上的得力助手&#xff0c;让复杂的数据分析变得简单直观。&#x1f52c;&#x1f4c8; 这款软件拥有强大的数据导入与处理能力&#xff0c;支持多种数据格…

Unity 3D软件下载安装;Unity 3D游戏制作软件资源包获取!

Unity3D&#xff0c;它凭借强大的功能和灵活的特性&#xff0c;在游戏开发和互动内容创作领域发挥着举足轻重的作用。 作为一款顶尖的游戏引擎&#xff0c;Unity3D内置了先进的物理引擎——PhysX。这一物理引擎堪称业界翘楚&#xff0c;能够为开发者提供全方位、高精度的物理模…

如何使用python网络爬虫批量获取公共资源数据教程?

原文链接&#xff1a;如何使用python网络爬虫批量获取公共资源数据教程&#xff1f;https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608240&idx4&snef281f66727afabfaae2066c6e92f792&chksmfa826657cdf5ef41571115328a09b9d34367d8b11415d5a5781dc4c…

【C++】vector的底层原理及实现

文章目录 vector的底层结构迭代器容量操作size()capacity()reserve()resize() 默认成员函数构造无参构造函数带参构造函数 析构拷贝构造赋值重载 operator[ ]插入删除操作insert()任意位置插入erase()任意位置删除push_back()尾插pop_back()尾删 vector的底层结构 我们的目的不…

海外注册 | 欧盟医疗器械法规下免除临床试验的条件与要求

在欧盟医疗器械法规&#xff08;MDR&#xff09;的严格监管下&#xff0c;植入性医疗器械和III类医疗器械通常需要进行临床试验来证明其安全性和性能。 然而&#xff0c;MDR也规定了一些特定情况下免除临床试验的可能性。以下是免除临床试验的条件和要求的详细说明&#xff1a…

offer150-16:数值的整数次方

题目描述:实现函数double Power(double base,int exponent),求base 的exponent次方。不得使用库函数&#xff0c;同时不需要考虑大数问题。 分析&#xff0c;题目要求实现库函数pow(),由于不需要考虑大数问题&#xff0c;不必担心溢出&#xff0c;那么就需要对输入的各种情况进…

CesiumJS【Basic】- #053 绘制渐变填充多边形(Entity方式)-使用canvas

文章目录 绘制渐变填充多边形(Entity方式)-使用canvas1 目标2 代码2.1 main.ts绘制渐变填充多边形(Entity方式)-使用canvas 1 目标 使用Entity方式绘制绘制渐变填充多边形 - 使用canvas 2 代码 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesium…

antd+vue——实现table组件跨页多选,已选择数据禁止第二次重复选择

需求场景&#xff1a;点击【新增】按钮可以在分页弹窗中跨页多选选择数据后添加到页面中&#xff0c;再次点击【新增】&#xff0c;已经选择过的数据则置灰不让重复选择。 选择后&#xff0c;置灰 点击【确定】数据添加到页面中&#xff0c;可再次点击【新增】进行添加数据 …

一篇文章入门主成分分析PCA

文章目录 基本概念事件随机变量独立同分布离散型随机变量伯努利分布&#xff08;两点分布&#xff09;二项分布几何分布泊松分布 连续型随机变量正态分布 期望方差标准化协方差相关系数线性组合特征值和特征向量特征值分解对称矩阵的特征值分解 齐次线性方程组单位向量基向量矩…

算法体系-25 第二十五节:窗口内最大值或最小值的更新结构

一 滑动窗口设计知识点 滑动窗口是什么&#xff1f; 滑动窗口是一种想象出来的数据结构&#xff1a; 滑动窗口有左边界L和有边界R 在数组或者字符串或者一个序列上&#xff0c;记为S&#xff0c;窗口就是S[L..R]这一部分 L往右滑意味着一个样本出了窗口&#xff0c;R往右滑意味…

Markdown+VSCODE实现最完美流畅写作体验

​下载VSCODE软件 安装插件 Markdown All in One &#xff1a;支持markdown的语言的&#xff1b; Markdown Preview Enhanced &#xff1a;观看写出来文档的效果&#xff1b; Paste IMage :添加图片的 Code Spell Checker检查英文单词错误&#xff1b; 基础语法 标题 #一个…

Batch Size 不同对evaluation performance的影响

目录 问题描述如果是bugbatch size的设置问题尝试使用GroupNorm解决batchsize不同带来的问题归一化的分类 参考文章 问题描述 深度学习网络训练时&#xff0c;使用较小的batch size训练网络后&#xff0c;如果换用较大的batch size进行evaluation&#xff0c;网络的预测能力会…

In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking

文章目录 In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking背景关键点内容预处理Long-Term Recurrent CNNsLSTM-RNN模型训练实验data启示In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking 会议:2018 IEEE International…

如何选择适合自己的巴比达内网穿透方案

选择适合自己的巴比达内网穿透方案&#xff0c;需要考虑几个关键因素&#xff0c;包括您的具体需求、安全性要求、技术水平以及预算。以下是一些选择巴比达内网穿透方案的建议步骤&#xff1a; 1. 确定需求和用途 首先&#xff0c;需要明确您希望通过内网穿透实现的具体目标和…

【Python网络通信】基于Bypy调用百度网盘api实现自动上传和下载网盘文件

网盘对于大家的生活工作可以说是息息相关&#xff0c;但是如果每天都重复去上传下载文件就会很浪费时间&#xff0c;所以有没有什么办法可以解放双手&#xff1f;那就是网盘接口&#xff0c;本文通过Bypy库实现百度网盘的自动上传和下载文件。 原创作者&#xff1a;RS迷途小书童…

ubuntu 安装并启用 samba

环境&#xff1a;ubuntu server 24.04 步骤如下&#xff1a; sudo apt update sudo apt install samba修改配置文件&#xff1a; sudo vi /etc/samba/smb.conf新增内容&#xff1a; [username]path /home/[username]available yesvalid users [username]read only nobrow…

Squid配置用户名密码的方法

环境 Centos7.9 Squid 3.5.20 步骤 1 使用htpasswd工具&#xff0c;生成用户名密码。 例如这里添加用户名peter, 密码123. yum install httpd-tools htpasswd -c /etc/squid/squid_user peter New password: 123 Re-type new password: 123 Adding password for user peter…

人工智能在软件开发中的角色:助手还是替代者?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…