Nvidia Isaac sim 安装与配置(1)

在这里插入图片描述

1. Isaac Sim 是什么?

Isaac Sim 是一个从头开始构建的软件平台,旨在为日益机器人化和自动化的世界提供支持。其目标是让开发者尽可能轻松地为真实的物理机器人设计、调整、训练和部署自主控制代理。

设计:
Isaac Sim 随附一系列工作流程,用于导入和调整以最常见格式设计的机械系统,包括 OnshapeUnified Robotics Description Format (URDF)和 MuJoCo XML 格式 (MJCF)。这是通过使用Universal Scene Description (USD)实现的,通用场景描述是一种易于扩展的开源 3D 场景描述 API,是 Isaac Sim 核心的统一数据交换格式。

调整与训练

Isaac Sim 的核心功能是模拟本身:基于 GPU 的高保真 PhysX engine,能够支持工业规模的多传感器 RTX 渲染。Isaac Sim 对 GPU 的直接访问使该平台能够支持各种传感器的模拟,包括摄像头激光雷达接触式传感器。这反过来又促进了数字孪生的模拟,使端到端管道在需要打开真正的机器人之前就可以运行。Isaac Sim 提供了一套工具,用于使用 Replicator 收集合成数据,通过 Omnigraph 协调模拟环境,调整 PhysX simulation参数以匹配现实,最后通过 Isaac Lab 的强化学习(RL)等各种方法训练控制代理。

部署
Isaac Sim 预装了所有必要组件,不仅可将代理部署到真实机器人上,还能构建可与此类系统完全集成的应用程序。Omniverse 为应用程序基础设施提供应用程序接口,包括图形用户界面创建和文件管理。Omniverse Nucleus允许用户构建自己的云,利用实时同步和数据托管功能创建协作应用程序。Isaac Sim 平台还提供了连接 ROSROS2 的桥接应用程序接口(用于实时机器人与模拟之间的直接通信),以及英伟达 Isaac ROS(用于制造自主机器人的高性能硬件加速 ROS 2 软件包集合)

2. Isaac Sim 架构

在这里插入图片描述
输入
Isaac Sim可以接受来自不同来源的输入,比如Onshape、URDF、MJCF、USD,其中USD直接导入Isaac Sim,其他类型的输入则会通过对应的importer插件进行导入。

Onshape 是一种基于云的计算机辅助设计(CAD)软件,用于进行三维建模和设计工作。应该类似于Fusion360。

URDF(Unified Robot Description Format) 是一种XML文件格式,用于描述机器人模型的几何形状、连接性、关节、传感器和其他相关信息。URDF 常在ROS2中被使用(Robot Operating System),作为机器人的描述信息。

MJCF是用于描述多关节机器人和其他物体的XML文件格式。它是用于在MuJoCo模拟器中,一起使用,用于模拟机器人的动力学和物理属性。MJCF 模型可以表示具有广泛特征和模型元素的复杂动力系统。

USD,Omniverse Isaac Sim 使用 USD 交换文件格式来表示场景。USD(Universal Scene Description)是由Pixar开发的一种易于扩展的开源3D场景描述和文件格式,用于在不同工具之间进行内容创建和交换。由于其强大和多才多艺,USD正在广泛应用,不仅在视觉效果社区,还在建筑、设计、机器人技术、制造和其他领域中得到采用。
值得一提的是,USD是皮克斯、Adobe、苹果和Autodesk等厂家联合起来搞的OpenUSD联盟产物。

处理
Isaac Sim借助Nvidia公司此前既有的技术,如RTX和Physx等,能够为机器人生成逼真的仿真环境、物理现象、传感器数据。再利用Isaac Lab、数据生成器、RL以及用户自己研究的算法实现调整与训练。

RTX ,NVIDIA RTX是NVIDIA公司开发的一系列图形处理器(GPU)和技术,旨在提供高性能的实时光线追踪和AI增强图形处理。RTX代表“实时光线追踪”(Real-Time Ray Tracing),它标志着计算机图形技术的重大进步,能够实现更加逼真的视觉效果,方便了传感器数据的渲染。

PhysX是由NVIDIA公司开发的物理引擎,用于在实时计算机图形中模拟物理现象。PhysX可以处理各种复杂的物理效果,使得虚拟环境中的物体运动和交互更加逼真。包括了动力学、布料毛发、粒子系统等,能够实现在Sim中较为真实的物理现象。

Sensor,Isaac Sim内置多种类型的传感器,包括深度相机、激光雷达等。

RL(Reinforcement Learning,强化学习)是一种机器学习方法,用于训练机器人通过与环境的互动来自主学习和优化其行为策略。强化学习在机器人领域的应用可以帮助机器人在动态和未知的环境中自主完成任务。

Isaac Lab
Isaac Lab是一个统一的模块化机器人学习框架,旨在简化机器人研究中的常见工作流程(例如 RL、从演示中学习和运动规划)。它基于 NVIDIA Isaac Sim构建,提供了更高级的功能,利用最新的模拟功能实现较为真实的场景以及快速准确的模拟。

Replicator,Omniverse Replicator 是一个开发定制合成数据生成管道和服务的框架,它也是Nvidia 的Omniverse生态的一部分。开发人员可以生成物理上精确的3D合成数据,这些数据在增强用于自动驾驶汽车、机器人和智能视频分析应用中的AI感知网络的训练和性能方面具有重要价值,它在isaac sim中有一个类似的封装,名为Isaac Replicator。

输出
ROS2,是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统,提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。

Database,Omniverse Isaac Sim 具有生成数据集(dataset)的能力,因此它的输出也可以是虚拟的仿真数据集。这些数据集可以用于训练机器学习模型、测试算法或进行其他仿真实验。

部署,Isaac Sim里的成果可以在本地部署。也可以可以在云端部署。
在这里插入图片描述

Isaac Sim 的目的是支持创建新的机器人工具并增强现有工具的能力。该平台为 C++ 和 Python 提供了灵活的 API,可以根据您的需求不同程度地集成到项目中。该平台的目标不是与当前或现有的软件竞争,而是与其协作并增强它。为此,Isaac Sim 的许多组件都是开源的,并且免费可供独立使用。您可能想在 OnShape 中设计机器人,使用 Isaac Sim 模拟其传感器,并通过 ROS 或其他消息系统控制舞台。同样,也可以完全在 Isaac Sim 提供的平台上构建完整的、独立的应用程序。

总的看来讲:Isaac Sim 是一个机器人开发软件平台:Design,可以导入或者设计场景模型,包括 USD,URDF,CAD, MJCF. USD 是isaac sim 统一的数据格式;

Tune, Isaac sim 的核心功能是simulation ,所以这里使用基于 GPU 的高保真 PhysX引擎,能够支持工业规模的多传感器 RTX 渲染,直接访问平台支持的传感器,摄像头,激光雷达,接触传感器;

Train, Isaac sim 提供的 replicator 工具可以收集合成数据。通过 OmniGraph 调整模拟环境,调整 PhysX simulation 参数,最后通过 Isaac Lab 中的RL 来控制 agents;

Deploy,最后将代理部署到真人机器上。Isaac sim提供了连接 ROS或者 ROS2的桥接应用程序接口,用于实时机器人与模拟环境通信,英伟达自己的Isaac ROS.

Isaac Lab 是Isaac Sim 的一个官方的机器人学习框架,提供了 Reinforcement leaning,imitation learning 等 API和实例,基于Isaac lab 就可以轻松高效地创建机器人学习环境。
核心功能:

  1. 模块化:定制和添加新的环境,机器人和传感器 ;
  2. 开放性:开源框架 ;
  3. 支持不同的强化学习和模仿学习库
  4. 可以连接到外围设备,游戏手柄和键盘 收集数据
    \

Isaac Lab 取代之前发布的 Isaac Gym 预览版 IsaacGymEnvs,用于Isaac Sim的 OmniIsaacGymEnvs和 用于 Isaac sim的 Orbit,官方提供了迁移文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值