NVIDIA Omniverse Orbit 项目使用教程

NVIDIA Omniverse Orbit 项目使用教程

Orbit Unified framework for robot learning built on NVIDIA Isaac Sim Orbit 项目地址: https://gitcode.com/gh_mirrors/orbit2/Orbit

1. 项目目录结构及介绍

NVIDIA Omniverse Orbit 项目是一个用于机器人学习的统一框架,基于 NVIDIA Isaac Sim 构建。以下是项目的目录结构及其简要介绍:

  • aws/: 与 AWS 服务相关的配置和脚本。
  • .github/: 包含 GitHub Actions 工作流文件。
  • vscode/: 包含 Visual Studio Code 的配置文件。
  • apps/: 应用程序目录,包含具体的应用和工具。
  • docker/: 包含 Docker 相关的配置和脚本。
  • docs/: 文档目录,存放项目文档和相关资料。
  • scripts/: 脚本目录,包含项目运行所需的脚本文件。
  • source/: 源代码目录,包含项目的核心代码。
  • tools/: 工具目录,存放项目开发中使用的工具和库。
  • .dockerignore: Docker 构建时排除的文件列表。
  • .flake8: Python 代码风格检查工具 flake8 的配置文件。
  • .gitattributes: Git 属性配置文件。
  • .gitignore: Git 忽略文件列表。
  • CONTRIBUTING.md: 贡献指南,说明如何为项目贡献代码。
  • CONTRIBUTORS.md: 项目贡献者列表。
  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文件。
  • SECURITY.md: 安全策略文件。
  • VERSION: 项目版本文件。
  • isaaclab.bat: Windows 系统下的启动脚本。
  • isaaclab.sh: Linux 系统下的启动脚本。
  • pyproject.toml: Python 项目配置文件。

2. 项目的启动文件介绍

启动文件用于初始化和运行项目。根据操作系统不同,可以使用以下任一启动文件:

  • isaaclab.bat: 用于 Windows 系统的批处理文件,双击即可启动项目。
  • isaaclab.sh: 用于 Linux 系统的脚本文件,在终端中运行 sh isaaclab.sh 命令启动项目。

这两个文件会调用项目的主程序,开始运行仿真环境。

3. 项目的配置文件介绍

项目配置文件用于设置项目运行时的环境和参数。以下是主要的配置文件:

  • .gitignore: 配置 Git 忽略的文件和目录,以避免将不必要的文件提交到版本控制系统中。
  • .flake8: 配置 Python 代码风格检查工具 flake8 的规则,确保代码风格的统一。
  • pyproject.toml: Python 项目配置文件,可以定义项目依赖、构建系统和工具等。

项目可能还包含其他特定于应用程序的配置文件,这些文件通常位于项目的相应目录中,并包含特定于应用程序的设置。配置文件的详细内容通常在项目的文档中有说明,或者在文件顶部有注释说明每个配置项的作用。在修改配置文件之前,请确保理解每个设置的含义和影响。

Orbit Unified framework for robot learning built on NVIDIA Isaac Sim Orbit 项目地址: https://gitcode.com/gh_mirrors/orbit2/Orbit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

内容概要:本书《Deep Reinforcement Learning with Guaranteed Performance》探讨了基于李雅普诺夫方法的深度强化学习及其在非线性系统最优控制中的应用。书中提出了一种近似最优自适应控制方法,结合泰勒展开、神经网络、估计器设计及滑模控制思想,解决了不同场景下的跟踪控制问题。该方法不仅保证了性能指标的渐近收敛,还确保了跟踪误差的渐近收敛至零。此外,书中还涉及了执行器饱和、冗余解析等问题,并提出了新的冗余解析方法,验证了所提方法的有效性和优越性。 适合人群:研究生及以上学历的研究人员,特别是从事自适应/最优控制、机器人学和动态神经网络领域的学术界和工业界研究人员。 使用场景及目标:①研究非线性系统的最优控制问题,特别是在存在输入约束和系统动力学的情况下;②解决带有参数不确定性的线性和非线性系统的跟踪控制问题;③探索基于李雅普诺夫方法的深度强化学习在非线性系统控制中的应用;④设计和验证针对冗余机械臂的新型冗余解析方法。 其他说明:本书分为七章,每章内容相对独立,便于读者理解。书中不仅提供了理论分析,还通过实际应用(如欠驱动船舶、冗余机械臂)验证了所提方法的有效性。此外,作者鼓励读者通过仿真和实验进一步验证书中提出的理论和技术。
### Isaac Sim 中 Prim Path 的定义与用法 在 Isaac Sim 和 NVIDIA Omniverse 生态系统中,`Prim Path` 是用来唯一标识 USD (Universal Scene Description) 场景中的每一个 `Prim` 的路径。它类似于文件系统的路径结构,通过层次化的命名方式来定位特定的场景节点或对象[^1]。 #### Prim Path 的基本概念 - **绝对路径**: 在 USD 场景中,`Prim Path` 通常以 `/` 开头表示根目录下的某个 `Prim`。例如,`/World/Light` 表示名为 `Light` 的 `Prim` 存在于 `/World` 下。 - **相对路径**: 当涉及到动态环境生成时,某些路径可能依赖于变量(如 `ENV_REGEX_NS`),这些变量会在运行时被替换为具体的值。这种机制允许灵活地管理多个实例化环境[^2]。 #### 动态路径的应用 当创建多环境模拟时,`Prim Path` 被设计成支持自动扩展的功能。例如,如果某物体的路径包含占位符 `${ENV_REGEX_NS}`,那么该物体将在每个环境中被复制一次,并将其路径更新为实际的环境索引形式 `/World/envs/env_{i}/Object_Name`,其中 `{i}` 是当前环境的编号。 #### 示例代码展示如何设置 Prim Path 以下是 Python API 设置和查询 `Prim Path` 的简单例子: ```python from omni.isaac.core import World from omni.isaac.core.objects import DynamicCuboid world = World(stage_units_in_meters=1.0) # 添加一个立方体到世界中并指定其初始路径 cube = world.scene.add( DynamicCuboid( prim_path="/World/Cube", name="dynamic_cube", position=(0, 0, 1), scale=(1, 1, 1) ) ) print(f"Cube's path is {cube.prim_path}") # 输出 /World/Cube ``` 此脚本展示了如何向 USD 场景添加一个新的 `DynamicCuboid` 并为其分配唯一的 `Prim Path`。这使得后续对该物体的操作更加直观且易于维护。 #### 运行基础环境配置命令 为了验证上述理论知识以及实践操作效果,可以通过如下终端指令启动预设好的基础环境程序: ```bash ./orbit.sh -p source/standalone/tutorials/03_envs/create_cartpole_base_env.py --num_envs 32 ``` 这条命令会依据给定参数初始化具有 32 个独立仿真环境的基础杆状物实验场境[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯茵沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值