1.相关教程文档

Nvidia官方教程文档:https://docs.isaacsim.omniverse.nvidia.com/latest/index.htmlhttps://docs.isaacsim.omniverse.nvidia.com/latest/index.html

Issac Sim/Lab安装文档(版本号5.1):https://docs.robotsfan.com/isaaclab/source/setup/quickstart.htmlhttps://docs.robotsfan.com/isaaclab/source/setup/quickstart.htmlIssca Sim入门教程:

https://www.guyuehome.com/detail?id=1951953052988669953https://www.guyuehome.com/detail?id=1951953052988669953

2.界面介绍

2.1:视口 ViewPort

视口是 Isaac Sim 中用于显示和操作场景的主要区域。它显示当前正在编辑/运行的3D场景,支持多个视图的观察,并且允许用户通过鼠标和键盘进行场景导航,如平移、旋转和缩放,也可以选择和操作场景中的对象,例如移动、旋转、缩放等。

2.1.1:创建蓝色地面:

2.1.2:蓝色的实验室地面上放置了一个灰色的方块:

2.2:舞台 Stage

舞台是场景(scene)的逻辑结构和内容的管理区域。
舞台窗口可以查看当前 USD 场景(scene)中的所有资产(assets)。舞台是树状的,其中的内容按层级(父/子)顺序列出的,这对于大型场景的资产导航是方便的。

注:USD(Universal Scene Description)是一种由皮克斯(Pixar)开发的开源框架,用于描述和管理复杂的3D场景。它旨在支持高效的场景数据交换、编辑和渲染,尤其是在大规模、复杂的视觉效果和动画制作中。USD 通过一种层级化的方式组织场景数据,使得场景中的资产(如模型、材质、光源、动画等)可以按层次结构进行管理和引用。

Isaac Sim 中,创建一个 Cube(或任何其他对象)在不同的父节点下,通常会影响对象在场景中的行为和作用,尤其是在物理模拟、渲染和场景结构组织方面。具体来说,/World/Environment 父节点之间的区别如下:

2.2.1. /World 父节点

  • 功能/World 通常是一个全局的场景根节点,代表整个模拟世界的基本框架。

  • 物理影响:如果一个物体(如 Cube)被创建在 /World 下,它通常是直接参与物理仿真(例如,碰撞、重力等)。/World 是场景的主要仿真区域,所有位于该节点下的物体都会受到世界坐标系的控制。

  • 变换:物体的变换(如位置、旋转、缩放)通常是相对于世界坐标系进行的,这意味着它们在全局空间中的位置是固定的,通常用于描述物理仿真中更大范围的元素。

2.2.2. /Environment 父节点

  • 功能/Environment 通常用于存放场景中的环境元素,如背景、灯光、地面等。它不是一个全局的物理仿真区域,而是用于组织场景中的视觉元素。

  • 物理影响:在 /Environment 下创建的物体不一定直接参与物理仿真。这个节点下的物体通常更多是作为视觉元素存在(如装饰物、场景中的参考元素等),不太依赖于与其他物体的物理交互。

  • 变换:物体的变换也可以在 /Environment 下设置,但这些变换可能相对于该节点的位置进行管理。这个父节点更多是用于组织场景中的静态元素。

2.3:属性 Property

属性面板显示和编辑选定对象的详细属性。这里将显示选定对象的所有属性,如位置、旋转、缩放、材质、物理属性等,同时也允许用户修改这些属性以调整对象的外观和行为。修改并确认的属性变动会实时反映在视口中,便于即时预览效果。

例如在舞台中选择刚才的灰色圆柱,此时在属性面板中发现它的基本对象(Prim)路径是/World/Cylinder,说明这个灰色方块是隶属于世界(World)对象的子对象。
并且可以看到这个灰色方块相对于它的父对象的变换(Transform)相关属性,它相对父对象世界(World)的高度为0.5m,并且没有相对于父对象的旋转和缩放,也没有被赋予材质(Material)。

2.3.1:Geometry模块

  • Mesh:对应模型的网格数据模块(包含之前看到的包围盒、半径、高度等几何参数)。
  • Refinement:对应细节细化模块(控制 LOD、模型精度等)。
  • Extra Properties额外属性模块(用于添加自定义的扩展属性)。
  • MaterialBindingAPI材质绑定 API 模块(负责关联模型与材质),右侧 “Remove” 按钮可移除这个模块(移除后模型将失去材质绑定功能)。

2.3.2:Visual模块

  • Double Sided(双面渲染):未勾选模型默认只渲染正面,背面不会显示(若需要两面都显示,需勾选此选项)。
  • Single Sided(单面渲染):未勾选与 “Double Sided” 是互斥选项,这里未启用单面强制限制(通常默认就是单面,除非主动开双面)。
  • Purpose(用途)default定义该对象的渲染用途(如 “render” 表示用于最终渲染、“proxy” 表示用于预览代理,这里是默认用途)。
  • Visibility(可见性)inherited继承父对象的可见性(父对象可见则此对象可见,父对象隐藏则此对象也隐藏)。
  • Display Color(显示颜色):未设置编辑器中该对象的预览颜色(这里留空则用默认颜色)。
  • Display Opacity(显示不透明度):未设置编辑器中该对象的预览透明度(留空则用默认不透明度)。

2.3.3:Kind模块

  • Kind:未选择用于标记对象的类型(如 “component” 表示组件、“group” 表示组、“assembly” 表示装配体等,这里暂未分类)。

2.3.4:Semantics模块

  • 提示:This prim has no semantics该对象没有添加语义标签(语义用于给对象标记功能,比如 “door”“chair”,方便引擎 / 工具识别其用途)。

2.3.5:Prim Custom Data模块

  • 此处是预留区域,用于添加用户自定义的属性 / 数据(当前暂无内容)。

2.4:资产 Assets

资产面板用于管理和浏览项目中的所有资源和文件。这里将显示项目中所有的资产文件,包括模型、纹理、材质等。
面板提供了文件夹结构视图,方便用户查找和组织资产,也允许对资产进行预览、重命名、删除和移动、拖入视口等管理操作。

下图为资产面板,通过条件筛选和路径搜索或文件夹操作,可以对希望处理的资产进行操作。

2.5:菜单

菜单是 Isaac Sim GUI 界面中用于访问各种功能和命令的顶层导航元素。它通常位于界面的顶部,并包含多个下拉菜单,每个菜单中都有相关的选项和操作。例如新建/打开场景,创建常见的几何体、引入Isaac Sim自带的机器人等。

2.5.1:Edit编辑功能

核心功能分类:

  1. 撤销 / 重做

    • Undo(Ctrl+Z):撤销上一步操作
    • Redo(Ctrl+Y):恢复撤销的操作
    • Repeat(Ctrl+R):重复上一步操作
  2. 对象操作

    • Instance(Shift+Ctrl+I):创建对象的 “实例”(复用对象,不增加额外数据)
    • Duplicate(Ctrl+D):复制对象(含多种复制模式,如跨图层、折叠式复制)
    • Parent(P)/Unparent(Shift+P):设置 / 取消对象的父子层级
    • Group(Ctrl+G)/Ungroup:将多个对象成组 / 解组
    • Delete(Shift+Del/Del):删除对象(含 “跨所有图层删除” 选项)
    • Rename(F2):重命名对象
  3. 视图 / 显示

    • Toggle Visibility(H):切换对象可见性
    • Hide Unselected/Unhide All:隐藏未选中对象 / 显示所有对象
    • Focus(F):将视图聚焦到选中对象
    • Toggle Visualization Mode:切换视图的显示模式(如线框、实体等)
  4. 其他

    • Capture Screenshot(F10):截取当前视图
    • Preferences:打开软件设置

2.5.2:Windows窗口功能

功能分类及说明

  1. 基础工具类

    • Browsers:资源浏览器,用于管理 / 访问场景文件、资产库等
    • Examples:示例资源库,提供预设的场景、资产案例
    • Graph Editors:图形编辑器,用于编辑材质、动画曲线等可视化逻辑
    • Viewports:视图窗口控制,可调整视图布局、显示模式
  2. 场景管理类

    • Layer:USD 分层系统工具,用于管理场景的层级编辑、版本控制
    • Stage:场景(Stage)核心控制模块,管理场景中所有对象的加载、层级关系
  3. 开发与调试类

    • Console:控制台,用于输出日志、执行脚本命令
    • Hotkeys:快捷键设置面板,可自定义操作快捷键
    • Script Editor:脚本编辑器,支持编写 Python 等脚本扩展功能
    • Asset Validator:资产验证工具,检查资产是否符合 USD 规范
  4. 专业功能类

    • Property:属性编辑器,用于调整选中对象的参数
    • Render Settings:渲染设置,配置输出分辨率、渲染器参数等
    • Physics Stage Settings:物理场景设置,用于添加 / 调整刚体、碰撞体等物理属性

2.5.3:Tool窗口功能

模块分类与说明

  1. 专业功能模块

    • Animation:动画工具集,用于编辑关键帧、角色动画等
    • Physics:物理系统模块,提供刚体碰撞、柔体模拟等物理效果配置
    • Replicator:批量生成工具,支持快速创建大量重复资产(常用于虚拟仿真场景)
    • Robotics:机器人工具集,用于机器人模型导入、运动规划与仿真
    • Sensors:传感器模拟模块,可添加相机、激光雷达等虚拟传感器并获取数据
    • USD:通用场景描述工具集,用于 USD 文件的分层编辑、资产管理
  2. 工具栏模块

    • Main ToolBar:主工具栏(当前已启用),包含场景编辑的基础操作按钮
    • Physics Toolbar:物理工具栏,提供物理相关的快捷操作按钮

2.5.4:Utilities窗口功能

核心功能项说明

  • OmniGraph Tool Kit:OmniGraph 工具集,用于可视化编辑场景中的逻辑、数据流转(如事件触发、属性关联),是 Omniverse 中实现可视化编程的核心工具。

  • Physics Debugger:物理调试器,用于监测物理系统的运行状态(如碰撞检测过程、刚体运动数据),可定位物理模拟中的异常(如穿模、受力错误)。

  • Profiler(快捷键 F8):性能分析器,用于采集并展示场景运行时的性能数据(如 CPU/GPU 占用、帧率、资源加载耗时),帮助优化场景的运行效率。

  • Statistics:统计信息面板,实时显示场景的资源统计数据(如对象数量、材质数量、内存占用),辅助管理场景资源。

扩展功能项

  • Generate Extension Templates:生成扩展模板,用于快速创建 Omniverse 的自定义扩展插件,支持功能扩展开发。

  • Registered Actions:已注册操作列表,展示当前工具中已配置的可执行操作(如菜单命令、快捷键绑定),便于管理操作逻辑。

2.5.5:Layouts窗口功能

核心功能项说明:

1. 界面显示控制

  • UI Toggle Visibility(F7):切换界面控件的显示 / 隐藏,可快速隐藏 UI 以获得更简洁的视图。

  • Fullscreen Mode(F11):切换全屏模式,扩展视图显示区域。

2. 模板布局切换

  • Templates:用于快速切换预设的界面布局模板,适配不同工作流:

    • Default(Ctrl+1):默认布局,适用于通用场景编辑。

    • Visual Scripting(Ctrl+4):可视化编程布局,优化可视化逻辑编辑的界面排版。

    • Replicator(Ctrl+5):Replicator 工具布局,适配批量资产生成的工作流。

    • Occupancy Map Generation:占用图生成布局,适配场景占用图(如导航、空间分析)的生成工作流。

3. 布局与快速操作

  • Save/Load Layout:保存 / 加载自定义的界面布局,便于复用个人习惯的界面排版。

  • Quick Actions:快速操作:

    • Quick Save(Ctrl+7):快速保存当前场景。

    • Quick Load(Ctrl+8):快速加载场景文件。

2.6:工具栏

工具栏提供了一系列快捷工具和命令按钮,用于常见的操作。例如选择工具、移动工具、旋转工具、缩放工具等。也有播放、暂停、重置等时间操作。

例如通过移动工具,即可切换到移动模式,对于在视口中选中的对象,可以通过拖拽对象身上显示的坐标系进行移动操作。


3.基本操作逻辑

3.1:创建一个立方体

依次选择Create->Shape->Cube来创建一个基本的立方体

3.2:变换这个立方体(拖拽方式)

3.2.1:移动(MOVE)

鼠标点击物体,按下W可以切换到移动模式(分为Global/Local模式,再次按下W可切换)

通过鼠标拖拽物体上的三根轴,可以沿着轴所在的直线移动物体
通过鼠标拖拽物体上的红、绿、蓝三个小方格,可以使得物体在平面上移动
通过鼠标拖拽物体上中心原点,可以在三维空间中移动物体

3.2.2:旋转(ROTATE)

鼠标点击物体,按下E可以切换到旋转模式(分为Global/Local模式,再次按下E可切换)

通过鼠标拖拽物体上红、绿、蓝线,使得物体绕对应的轴旋转
通过鼠标拖拽物体上的灰色球体部分,使得物体旋转
通过鼠标拖拽物体上的外层蓝色圆环,使得物体绕当前视野相机点与物体所在空间点连线的轴旋转

3.2.3:缩放(SCALE)

鼠标点击物体,按下R可以切换到缩放模式
通过鼠标拖拽物体上的三根轴,可以沿着轴所在的直线缩放物体
通过鼠标拖拽物体上的红、绿、蓝三个小方格,可以使得物体在构成对应平面的两根轴上等比例缩放
通过鼠标拖拽物体上中心原点,可以在三维空间中等比例整体缩放物体

3.3:变换这个立方体(通过属性面板)

通过拖拽来变换物体有时候无法达到精确的要求,因此通常也会采用属性面板的调整方法。
在Isaac Sim的右下角有Transform面板,其中TranslateOrientScale可以分别调整物体的平移、旋转、缩放。


值得一提的是,通过左右拖拽属性值,也可以像拖拽方式一样去修改属性值。


通过双击属性,可以手动输入调整属性的值

通过点击Orient可以切换ROTATION的表示方式为四元数

通过点击属性后面的小方块,可以将属性值恢复为默认值

3.4:调整视角

通过刚才学习的属性调整的办法,将球体放置在[0,2,0]位置

通过选中物体并按下F(Focus)来将相机居中对准所选的物体

通过按下鼠标左键+Alt绕球旋转调整视野
通过按下鼠标右键+Alt缩放视野
通过按下鼠标中键来进行平移视野

在不选中任何目标时按下F将会缩放整个场景

3.5:创建一个Xform:

依次选择Create->Xform来创建一个基本的Xform,这个Xform默认是在World(defaultPrim)下。

在Isaac Sim所使用的USD体系中,基本对象被称为"Prim" ,简而言之,“Prim” 在 USD 中是用来组织场景数据的基本单元,"Prim"可以包含其他 “Prim” 和属性Property,用于构建场景的层次结构和存储数据。最简单的说法就是:“基本对象

A Prim is the primary container object in USD: prims can contain (and
order) other prims, creating a “namespace hierarchy” on a Stage, and
prims can also contain (and order) properties that hold meaningful
data. Prims, along with their associated, computed indices, are the
only persistent scenegraph objects that a Stage retains in memory, and
the API for interacting with prims is provided by the UsdPrim class.

从图中可以看到,Cube是它的父对象World的子对象。

在通用场景描述 (USD) 的上下文中,“Xform” 是一种特殊的 “prim”,它用于表示物体的变换信息,用于控制场景中物体的位置、旋转和缩放。

Xform是 transform的缩写,代表一个变换矩阵,用于表示场景中对象的变换。
Xform提供了一种分层组织和构建场景的方法,支持变换的继承,为之后将会遇到的某些场景提供便利。

The Xform (short for “transform”) is a fundamental concept in USD
(Universal Scene Description), which is the underlying technology used
by Omniverse Kit. An Xform is a type of USD prim that represents a
transformation matrix. It can be used to control the position,
rotation, and scale of objects in a scene.

3.5.1:构造铰接式物体( articulated objects)

Articulated objects是指那些由多个互相连接的部分(如关节或链节)组成的物体。这些关节或链节允许对象在其内部构建中进行运动和变形。Articulated objects常常用于机器人

为了让Sphere和Cube相关联,可以添加两个Xform将Cube和Sphere按照下图的方式组织,此时Sphere的Transform是相对于它的父对象Xform_01,而Cube的Transform是相对于它的父对象Xfrom,同时Xform_01也是树中的一个子对象,它的父对象也是Xform。

  • 将Cube的属性面板中的Transform的Translate部分设置为(1,1,0.5)
  • 将Sphere的属性面板中的Transform的Translate部分设置为(-1,-1,0.5)
  • 拖拽Xform_01,感受铰接的关系
  • 再拖拽Xform,感受多层铰接的关系

同理,对于机器人而言,机械臂不同的关节在Isaac Sim里也是类似的关系。
假设有一台铰接关系的六轴机械臂,当拖动机械臂底座(base_link)时,整台机械臂也会被拖着做相同的运动,这是因为机械臂底座(base_link)通常是机械臂的根坐标系所在,它是机械臂这个个体的最高级父对象。

3.6:感受环境

除了world中的各个单位,在Stage舞台里还有和World平级的Environment,可以看到一个defaultLight,它提供了环境的基本光源

感受环境默认平行光照
按下鼠标中键将相机视野不断拉远,可以发现默认环境光是平行光(Directional Light),其中一个原因是太阳光是平行光,主要原因是为了在没有明确定义的光源时,确保场景中的对象仍然可见

3.6:调整窗口
如果对于Isaac Sim UI上的各类窗口需要调节,就按照符合直觉的边缘拖拽、吸附、或者是在Windows里去指定需要展示的窗口

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐