You need to enable JavaScript to run this app.
机器学习平台

机器学习平台

复制全文
具身智能
Isaac 仿真环境搭建与基本应用
复制全文
Isaac 仿真环境搭建与基本应用

概述-文档目标

通过阅读本篇文档,您能够实现:

  1. 了解 Isaac Sim
  2. 启动 Isaac Streaming 可视化,使用3D资产搭建环境
  3. 使用 Isaac Sim 核心功能 Replicator 随机化环境
  4. 使用可视化验证效果

概述-背景介绍

Isaac Sim 是一款基于 NVIDIA Omniverse 构建的开源参考应用,使开发者能够在基于物理的虚拟环境中模拟和测试 AI 驱动的机器人开发解决方案。用户可以构建自己的基于通用场景描述 (OpenUSD) 的自定义模拟器,或将核心 Isaac Sim 技术集成到现有的测试和验证流程中。
IsaacSim 提供了三种主要使用方式,在配有 GPU 和显示器的工作站部署、在 Headless 的服务器部署并配合带有显示器的终端串流使用、完全在 Headless 服务器上使用(纯 python环境,无 GUI),其中前两种适合交互式建模渲染、最后一种适合大规模数据合成和训练。

本文主要在开发机上进行演示第一种场景,帮助大家开箱即用地使用云上3D资产,并使用 IsaacSim Replicator 工具做一个简单的环境随机化演示。效果预览如下视频(V1),包括位置,角度,大小,光源方向,颜色的随机改变。


使用步骤

开发机连接 Isaac Streaming

配置 API 网关与安全组

创建资源组、队列后,需要配置 API 网关和安全组以连接 Isaac Streaming。

说明

Isaac 可视化功能请参考以下规则检查并设置。

  1. 检查全局配置的私有网络 VPC,API网关选择专享网关;检查资源组的网络模式,选择专享网络+VPC互通 ,参考文档
  2. API 网关实例的版本号需要≥ 3.1.0,升级文档
  3. API 网关消费者数量上限为:100个,申请配额链接
  1. 创建API网关(若已创建跳过该步骤)

该处带宽将用于Isaac可视化的网络连接,推荐按照需求设置。默认1080p 60FPS画质,推荐15Mbps。

  1. 在机器学习平台左侧导航栏选择“全局配置”,进入开发机所在的私有网络,编辑网络VPC授权,选择“公网配置”为允许公网访问;“公网类型”为专享网络;并设置“API网关”为已有的API网关。
  2. 配置安全组:在私有网络左侧导航栏选择“安全组”,选择开发机私有网络对应的安全组或创建安全组。进入“安全组”的“访问规则”,根据 Isaac 版本设置监听端口。

描述

协议类型

版本:端口

Isaac 可视化指令

TCP

4.5:49100
5.0:49100
5.1:49100

Isaac 可视化媒体

UDP

4.5:1024
5.0:47998
5.1:47998

启动 Isaac Streaming

在火山引擎上使用开发机进行 Isaac Streaming 连接。

  1. 在开发机设置中开启 Isaac 可视化。

Image

  1. 登录 WebIDE 启动以下命令,就能够在 Isaac Streaming 可视化远程使用串流显示。
# 进入 isaac-sim.streaming.sh 所在目录
cd /workspace/isaaclab/_isaac_sim && ./isaac-sim.streaming.sh --allow-root
  1. 点击“公网连接Isaac”访问 Isaac Streaming。

另一种连接方法是在开发机上设置 RDP, 详见 开发机上使用 Isaac Sim 工具实践--机器学习平台-火山引擎

搭建仿真环境

使用火山引擎已有的3D资产,可以搭建个性化的仿真环境。

P1-场景搭建示例-仓库(WareHouse)

如上图,直接拖拽 Assets/ArchVis/Industrial/Stages/IsaacWarehouse.usd 资源搭建一个仓库。

3D 资产目录

资产位置如下图 P2,3D 云端资产位于 https://omniverse-content-staging.s3.us-west-2.amazonaws.com/,您可以直接查看资产,拖动并加载到场景。
同时,火山引擎自带上万个资产 (P3),在 Content 面板能够看到已经下载的位于 /preset-datasets/robotics/omniverse-content-production/ 的资产目录,其下结构同 AWS 云端资产 (P2) 一致。由于 AWS 的资源需要下载。推荐在 NVIDIA Assets 和 Isaac Assets (Beta) 面板仅作搜索,而直接加载Content 面板下的资源。

P2-资源位置-NVIDIA
P3-资产位置-preset-datasets

Replicator 环境随机化

采用 自带的 Replicator 可以实现环境随机化,Replicator 能对包括不限于对象的材质、颜色、大小、位置、角度、摄像机角度等属性进行随机化。
点击 Isaac 的 Window->Script Editor,调出代码编辑器界面,可直接在外部 py 文件编写代码。
书写一个 Python 脚本,调用 Replicator 使用 rep.create. 建立可复制生成的对象,或者在已有资产加上 semantic 标签,通过 rep.get.prims(semantics=[...]) 获得 Prim 对象。可以参考 Nvidia 文档 Omniverse Replicator
下图 (P4) 是一个使用 Replicator 构造的场景。其主体是一个咖啡桌,运行脚本时,左侧书本的位置/角度、盘子的大小、前景光源方向、背景光颜色会发生变化;摄像机角度也可以发生变化。

P4-Replicator 示例-CoffeeTable
P5-偏红色的背景光
P7-不同的相机角度-1
P6-偏绿色的背景光
P8-不同的相机角度-2

效果验证

视频 (V1) 展示了运行 Replicator 脚本触发随机化场景对象。下面视频(V2)展示了随机化相机的角度和位置。


还可以通过添加摄像机的运动路径实现动态拍摄 (V3)。通过设置 Writer,能够捕获信息到输出目录。对比 RDP,Isaac Streaming 上流畅度有明显提升

V3-Isaac Streaming 上的相机漫游
V4-RDP上的相机漫游

使用火山引擎提供的资产可以快速搭建 Isaac Sim 物理仿真渲染环境,进行大规模的物理仿真数据合成,为具身智能等训练提供大规模数据,助力提升大模型的研发效能;同时Nvidia官方也提供了更加丰富的教程和用例,借助这些资源,也可以在机器学习平台快速实践。

最近更新时间:2026.01.15 22:26:22
这个页面对您有帮助吗?
有用
有用
无用
无用