英伟达 Isaac Sim仿真平台体验

一、产品名称及版本

        Isaac Sim 是由 NVIDIA 开发的一款基于物理模拟的机器人仿真平台,旨在为机器人开发者和研究人员提供一个高效、真实的仿真环境。Isaac Sim 基于 NVIDIA 的 Omniverse 平台,结合了强大的图形渲染、物理引擎和深度学习能力,适用于机器人应用的研究、测试、开发和优化。

1.1 版本

Isaac Sim 4.2

1.2运行配置

Ubuntu22.04

CPU:13th Gen Intel(R) Core(TM) i9-13900KF 24核

内存:64G

GPU:4090 24G

二、安装

2.1下载

下载地址

2.2安装

./omniverse-launcher-linux.AppImage --proxy-server=127.0.0.1:7891

 

 2.3启动

直接点LAUNCH按钮或者进入安装目录下执行./isaac-sim.sh

 

 启动的时候较缓慢

 (过程会出现以下崩溃,有时候直接忽略等待就可以,有时候需要重新进入)

 启动成功后

三、 运行的过程记录

3.1常规操作

创建球体

Create->Shape->Shpere

->

 给球体添加物理特性

选中球体->右键->add->Physics->Rigid Body with Colliders Preset 

创建物理场景

Create->Physics->Physics Scene

 创建地面

Create->Physics->Ground Plane

检测球体下落情况

选中球体->向上拖动坐标轴将球体悬在空中->play->观察是否正常落地

->

快速复制球体

选中球体->右键->Duplicate

->

点击play后观察两个球体的运动

快速移动多个物体

选中多个物体->右键->Group Selected->观察选中情况->拖动坐标系轴进行移动

界面卡顿体验

先缩小->再逐渐放大->多次快速缩小快速放大

按住ctrl,滚动鼠标,放缩到很小的时候:

按住ctrl,滚动鼠标放大的时候

 继续放大

再继续放大

再再放大

3.2小球下落仿真测试流畅度

 

isaac sim小球掉落流畅测试

3.3.python代码集成

打开编辑器

Window->Script Editor

打印当前IsaaxSim安装路径

输入简单python代码->run->观察结果

import os
print('test print path:',os.getcwd())

测试cuda是否可用

import os
import torch
print('test print path:',os.getcwd())
print('cuda is avalibel:',torch.cuda.is_available())

测试调用resnet18预训练模型

# test  torch
import torch
import torchvision
from torchvision import transforms
from PIL import Image
import requests
from io import BytesIO
import matplotlib.pyplot as plt
import numpy as npmodel = torchvision.models.resnet18(pretrained=True)
model.eval()print(model)

四、整体体验

(1)高效的物理仿真;

(2)高效的数据处理;

(3)高质量渲染;

(4)在不增加球体数量时,物理仿真极其流畅。

        通过 GPU 加速、优化的物理引擎、高效的内存管理和动态计算资源分配等技术,Isaac Sim 能够在增加物体数量时仍然保持仿真流畅。这些优化使得仿真环境可以高效地处理更多物体的交互,避免了性能瓶颈,并能够动态调整计算资源以应对复杂度的增加。

五、综合分析

Isaac Sim 在 仿真效率、开发便利性 和 与AI框架的协同性方面具有显著优势:

(1)仿真效率:通过高效的物理引擎和 GPU 加速,能够快速运行复杂的仿真任务。

(2)开发便利性:提供了丰富的预构建资源、易用的开发工具和强大的可视化支持,降低了开发门槛。

(3)与AI框架的协同性:无缝集成 NVIDIA AI 工具及流行深度学习框架,支持深度强化学习、AI 模型训练和现实世界的迁移学习,促进了机器人智能化的提升。

        这些优势使得 Isaac Sim 成为机器人研发、自动驾驶、AI 训练等领域中不可或缺的工具,助力开发者提高工作效率,加速技术迭代。

Isaac Sim的潜在应用场景可能有以下几个:

(1)医美:模拟外科手术机器人、远程医疗设备等在手术环境中的表现。可以进行术前规划和机器人操作精度测试。

(2)健康护理:开发和测试用于患者康复的机器人设备,虚拟环境可以模拟不同的患者体征、动作和治疗方案,帮助进行康复过程中的个性化治疗方案设计。

(3)机器人自动规划和控制:在生产线上,使用 Isaac Sim 模拟工业机器人的动作、任务调度、协作等,可以优化效率、减少错误,并提前发现潜在的问题

六、运行体验与建议

        在操作体验,视觉效果,响应速度体验很好,但在4090显卡偶尔启动会崩溃,具体原因不方便排查,希望后期能找到原因进行改进。在安装完IsaacSim后,重新启动电脑,发现电脑上的所有挂载盘都无法写入数据,权限改动比较大,经过多次尝试都没有好的修复权限方案,希望官方能够针对这个问题给出解决办法。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

利用寄存器方式,点亮led3最小板

作业:利用寄存器方式,点亮led3小灯 1.通过观察原理图, led3, 是PA8, 一段接3.3v, 一端接io口, 所以PA8端口输出低电平, 就可以让小灯点亮了 2.利用keil创建最小工程 点击跳转博客 3.按照库函数的配置方式 #include "stdint.h" #include "stm32f10x.h" …

Helius:从数据出发,衡量 Solana 的真实去中心化程度

撰文:Lostin,Helius 编译:Yangz,Techub News 摘要 截至 Epoch 685,Solana 有 4514 个节点,包括 1414 个验证者和 3100 个 RPC。没有哪个验证者控制的质押份额超过 3.2%。 中本聪系数(NC&#…

SpringBoot 增量部署发布(第2版)

一、背景介绍 书接上一篇《SpringBoot 增量部署发布_springboot增量部署-CSDN博客》,上一篇内容实现了将静态资源与jar分离,但是即使是打包成**-exec.jar,解压jar文件,可以看到里面包含了static,resource目录&#xf…

一篇保姆式centos/ubantu安装docker

前言: 本章节分别演示centos虚拟机,ubantu虚拟机进行安装docker。 上一篇介绍:docker一键部署springboot项目 一:centos 1.卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest doc…

结构体的深入学习:内存对齐等

结构体的创建 //结构体类型的定义//学生 struct Stu {//学生的相关属性char name[20];int age; };结构体变量的创建 struct Stu {//学生的相关属性char name[20];int age; }s1, s2;//s1,s2全局变量int main() {struct Stu s3;//s3是局部变量return 0; }匿名结构体…

QString 转 char*问题与方法(const_cast的使用问题)

1、背景:今天有QString的变量,将QString的值传递给void func(char * ptr),于是就有了类似下面这一段离谱的代码 当时我还在想为什么var的值为空了,为什么呢。 2、原因:就是因为右边函数返回的是一个临时指针对象,给到了右边&…

【Redis】Redis实现的消息队列

一、用list实现【这是数据类型所以支持持久化】 消息基于redis存储不会因为受jvm内存上限的限制,支持消息的有序性,基于redis的持久化机制,只支持单一消费者订阅,无法避免消息丢失。 二、用PubSub【这不是数据类型,是…

PHP开发全新UI多语言多商户跨境商城源码、支持一键铺货、一键下单

商家可在平台产品库选品,一键铺货到自己商店,用户下单后,商家提交订单给平台,扣除商家供货价所需余额,提交后由平台发货,收货后订单金额结算给商家. 源码开源完整,一切能跑通的逻辑流程都可以二…

Matlab实现北方苍鹰优化算法优化随机森林算法模型 (NGO-RF)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 北方苍鹰优化算法(Northern Goshawk Optimization, NGO)是一种新颖的群智能优化算法,灵感源自北方苍鹰捕食时的策略。该算法通过模拟苍鹰的搜寻、接近和捕捉猎物的行为模式&am…

【TQ2440】01 ADS1.2 安装

TQ2440是一款基于Samsung S3C2440处理器的ARM9开发板,广泛应用于嵌入式系统学习和开发 TQ2440 开发配套资料 https://pan.baidu.com/s/1cMMK9HQdq1Ou8-K9fnw-DA?pwd5y5r ADS1.2安装包链接:https://pan.baidu.com/s/1BBJb4jYKLOYXIMD86WCycA?pwdf7zr 1、…

不完全微分PID控制算法

不完全微分PID控制算法是一种改进的PID控制方法,主要针对PID控制中的微分环节对高频噪声敏感的问题。通过对微分项进行优化和改造,减少其对噪声的放大作用,同时保留对系统动态变化的响应能力。 不完全微分PID控制原理 不完全微分的核心思想是…

IntelliJ IDEA常用快捷键

文章目录 环境快捷键外观编辑移动光标提示查找Live Templates列操作调试运行 环境 Ubuntu 24.04.1IntelliJ IDEA 2024.1.6 快捷键 外观 Alt 1:打开/关闭“项目”窗口(即左边的导航窗口) Alt 4:打开/关闭“运行”窗口 Alt …

标题gitLab如何打标签

标题gitLab打标签 1、首先进入到项目里面,找到Repository下的Tages,点击进入 如果是还没有创建过标签,会提示如何用命令创建 git tag -a v1.4 -m "version 1.4"2、也可以直接在界面创建,点击new Tag按钮 3、填写标签…

C++AVL平衡树

1.AVL平衡树节点定义 每一个节点都配左右孩子和父节点&#xff0c;以及平衡因子和其所对应的值。 template<class K, class V> struct AVLTreeNode {// 需要parent指针&#xff0c;后续更新平衡因子可以看到pair<K, V> _kv;AVLTreeNode<K, V>* _left;AVLTr…

Java进阶四-异常,File

异常 概念&#xff1a;代表程序出现的问题。 目的&#xff1a;程序出现了异常我们应该如何处理。 最高父类&#xff1a;Exception 异常分为两类 编译时异常&#xff1a;没有继承RuntimeException的异常,直接继承与Exception,编译阶段就会错误提示。运行时异常:RuntimeExc…

向量数据库FAISS之四:向量检索和 FAISS

来自 YouTube 1.相似度搜索的传统方法(Jaccard, w-shingling, Levenshtein) 1.Jaccard 距离 公式 Jaccard ( A , B ) 1 − ∣ A ∩ B ∣ ∣ A ∪ B ∣ \text{Jaccard}(A, B) 1 - \frac{|A \cap B|}{|A \cup B|} Jaccard(A,B)1−∣A∪B∣∣A∩B∣​ 其中&#xff0c; A 和 …

Stata17最新保姆级安装教程【附安装包】

文章目录 Stata介绍 Stata下载 Stata安装步骤 Stata介绍 Stata 是一套提供其使用者数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。它提供许许多多功能&#xff0c;包含线性混合模型、均衡重复反复及多项式普罗比模式等。 Stata下载 Stata 64位下载链接&…

jenkins离线安装插件

Jenkins 在线安装插件失败 报错&#xff1a; Caused: java.io.IOException: Failed to load https://updates.jenkins.io/download/plugins/login-theme/244.vd67c77f0c4c8/login-theme.hpi to /var/jenkins_home/plugins/login-theme.jpi.tmpat hudson.model.UpdateCenter$Up…

人工智能学习——前言

一、概论理解 首先何为人工智能&#xff1f;简单一句人话就是&#xff1a;人工操纵搭建出来的智能学习模型 那我们要用它干什么&#xff1f;简单一句话就是&#xff1a;我们给出指令 ——> 得到想要的结果 最简单的生活例子来看&#xff1a;就好比小狗&#xff0c;我们让它…

C++11——异常

1.异常概念 异常是一种处理错误的方式&#xff0c;当一个函数发现自己无法处理的错误时就会抛出异常&#xff0c;让函数的调用者处理这个错误 throw&#xff1a;当出现问题时&#xff0c;程序会抛出一个异常&#xff0c;通过 throw 来完成catch&#xff1a;catch 关键字捕获异…