NVIDIA Isaac Sim 入门教程(一)(下)

本文涉及的产品
资源编排,不限时长
简介: NVIDIA Isaac Sim 入门教程(一)(上)

NVIDIA Isaac Sim 入门教程(一)(上)+https://developer.aliyun.com/article/1585248

四、工作站安装

4.1 工作站设置

  1. 确保您的本地工作站符合运行 Omniverse Isaac Sim 的系统要求和 Isaac Sim 驱动程序要求。
  2. 下载Omniverse启动器。
  3. 安装 Omniverse 启动器
  4. 从 "Omniverse 启动器 " 安装 "Cache"。
  5. 从 Omniverse 启动程序安装 Nucleus。
  6. 安装 Visual Studio Code 以查看和调试源代码。

在 Linux 系统上:

  • 将 omniverse-launcher-linux.AppImage 文件移至文件夹或桌面,以防 -allow-root 意外删除。
  • 运行 sudo chmod +x omniverse-launcher-linux.AppImage,允许用户执行应用程序。
  • 双击 omniverse-launcher-linux.AppImage 文件,安装 Omniverse Launcher。

在工作站上运行 Isaac Sim 时,需要安装 Nucleus 和 Cache。

另请参阅 "系统监视器 "和 "清理工具"。

4.2 Omniverse Launcher

您可以在 "Omniverse Launcher "的 "Exchange "选项卡中找到并安装Omniverse Isaac Sim。为简化操作,请在搜索栏中输入 "isaac sim"。

安装完成后,进入 "库 "选项卡,在侧边栏中选择 Isaac Sim。

要运行 Isaac Sim 应用程序选择器,请单击 "启动 "按钮。

4.3 Isaac Sim 应用程序选择器

Isaac Sim 应用程序选择器是一款迷你窗口应用程序,可帮助您在不同模式下运行 Isaac Sim。

从 Omniverse Launcher 启动 Isaac Sim 时,Isaac Sim App Selector 将默认运行。

点击 "开始 "运行 Isaac Sim 主程序。

4.4 Isaac Sim 首次运行

恭喜您!您已完成本地工作站 Isaac Sim 的基本安装。

进入 Isaac Sim 界面,开始第一个基础教程。

注意事项

  • 首次运行 Isaac Sim 应用程序需要一些时间来预热着色器缓存。
  • 资产下载器对话框不再可用。Isaac Sim 资产现在位于 /NVIDIA/Assets/Isaac/2023.1.1 的每个 Nucleus 中。
  • 要验证 Isaac Sim 资产的位置,请转到 Isaac Utils > Nucleus Check 菜单。该检查默认为禁用。
  • 要以全新配置运行 Isaac Sim,请使用 --reset-user 标志。该标志可在 Isaac Sim 应用程序选择器的 "额外参数 "部分输入,或在命令行下运行 Isaac Sim 时输入。
  • 来自 /NVIDIA/Assets/Isaac/2023.1.1 文件夹的当前资产仅适用于最新的 Isaac Sim 2023.1.1 版本。

五、Python 环境安装

可以通过 Python 本机运行 Isaac Sim,而不是将其作为独立的可执行文件。这为如何初始化、设置和管理 Omniverse 应用程序提供了更多底层控制。

5.1 默认 Python 环境

Isaac Sim 提供了一个内置的 Python 3.10 环境,软件包可以使用该环境,类似于系统级的 Python 安装。我们建议在运行 Python 脚本时使用该 Python 环境。

从 Isaac Sim 根文件夹运行以下命令,即可在此环境中运行 Python 脚本:

./python.sh path/to/script.py

注意

  • 你可以直接在 Isaac Sim 应用程序选择器的 Isaac Sim 根文件夹下打开终端。
  • 如果需要通过 pip 安装其他软件包,请运行以下命令:
./python.sh -m pip install name_of_package_here

注意

  • 在 Windows 上使用 python.bat 而不是 python.sh

另请参见

  • 有关 python.sh 的更多详情,请参阅 Python 环境手册。

5.2 Jupyter 笔记本设置

使用 Isaac Sim 的 Jupyter 笔记本可按如下方式执行:

./jupyter_notebook.sh path/to/notebook.ipynb

注意

  • 首次运行 jupyter_notebook.sh 时,会将 Jupyter Notebook 软件包安装到 Isaac Sim Python 环境中,这可能需要几分钟时间。

注意事项

  • 目前,Jupyter 笔记本仅支持 Linux。

另请参见

  • 更多详情,请参阅 Jupyter Notebooks 文档。

5.3 支持 Visual Studio Code

Isaac Sim 软件包提供了一个 .vscode 工作区,该工作区具有预配置环境,可提供以下功能:

  • 以独立 Python 模式或交互式图形用户界面运行的启动配置
  • Python 自动完成环境

在 Visual Studio Code (VSCode) 中打开 Isaac Sim 软件包主文件夹,即可打开该工作区。

注意

  • 建议在学习教程和示例时使用 Visual Studio Code。

另请参见

  • 有关 VSCode 工作区的详细信息,请参阅 Visual Studio Code (VSCode) 支持文档。

5.4 高级: 在 Docker 中运行

按照 "容器部署 "中第 8 步的说明启动 Docker 容器。

Isaac Sim 容器运行后,就可以运行上述章节中的 Python 脚本或 Jupiter Notebook。

注意

  • 您可以通过 pip 安装其他软件包:
./python.sh -m pip install name_of_package_here
  • 请参阅 "保存 Docker 镜像",以提交镜像并持久安装 Python 设置。

5.5 高级: 使用 Anaconda 运行

使用以下命令创建一个新环境:

conda env create -f environment.yml
conda activate isaac-sim

如果您已有一个 conda 环境,请确保 environment.yml 中的软件包已安装。或者,也可以按照以下方法删除并重新创建 conda 环境:

conda remove --name isaac-sim --all
conda env create -f environment.yml
conda activate isaac-sim

最后,需要设置环境变量,以便正确定位 Isaac Sim python 软件包。在 Linux 上,可以按以下步骤进行设置:

source setup_conda_env.sh

然后就可以在 isaac-sim conda 环境下运行样本了:

python path/to/script.py

注意事项

  • 如果使用 isaac-sim Anaconda 环境,请使用 python 而不是 python.sh 运行示例。

六、ROS 和 ROS 2 安装

Omniverse Isaac Sim为ROS系统集成提供了ROS和ROS 2桥接器。同一套通用组件用于定义模拟器发布/接收的数据类型。

Platform

ROS

ROS 2

Ubuntu 20.04

Noetic

Foxy

Ubuntu 22.04

NA

Humble (recommended)

Windows 10

NA

Humble

在 ROS 桥接方面,Isaac Sim 在内部运行 ROS Noetic 的定制 roscpp 版本,以便与 Omniverse 框架和 Python 3 兼容。

在 ROS 2 桥接方面,Isaac Sim 目前与 ROS 2 Foxy 和 ROS 2 Humble 兼容。

6.1 运行本地 ROS

ROS noetic(Ubuntu 20.04)

按照官方网站上的说明下载 ROS:

  • ROS Noetic Ubuntu 20.04

在终端中创建 ROS 环境。每次使用任何 ROS 命令前都必须执行此步骤。

source /opt/ros/noetic/setup.bash

确保在 ROS 源终端中启动 roscore。Isaac Sim 默认不运行 roscore,以便更灵活地将 Isaac Sim 与现有 ROS 工作流程集成。

6.2 启用 ROS 桥扩展

ROS

要启用 ROS 桥扩展,请进入扩展管理器菜单 Window->Extensions 并搜索 ROS bridge。任何时候都只能启用一个 ROS 桥扩展,因此如果在两个桥之间切换,请先禁用一个,然后再启用另一个。

6.3 在 isaac-sim.sh 中选择 ROS Bridge 版本

目前,ROS2 桥接器默认已启用。如果您正在运行 isaac-sim.sh,并希望禁用两个 ROS 桥接器,或切换到自动加载 ROS 桥接器,请按照以下步骤操作:

  1. 打开位于 <YOUR_PACKAGE_PATH>/apps/omni.isaac.sim.base.kit 的文件。将 <YOUR_PACKAGE_PATH> 替换为应用程序选择器("在文件浏览器中打开 "和 "在终端中打开 "按钮上方)中显示的软件包路径。
  2. 找到 isaac.startup.ros_bridge_extension = "omni.isaac.ros2_bridge" 一行,将其更改为 isaac.startup.ros_bridge_extension = "" 以禁用两个桥接器,或 isaac.startup.ros_bridge_extension = "omni.isaac.ros_bridge" 以自动加载 ROS 桥接器。
  3. 保存并关闭文件。

6.4 设置工作区

https://github.com/NVIDIA-Omniverse/IsaacSim-ros_workspaces 克隆 Isaac Sim ROS 工作空间库。

通过 Isaac Sim ROS / ROS 2 系列教程需要一些 ROS 软件包。为了方便学习,我们提供了包含必要软件包的整个 ROS 和 ROS2 工作区。

ROS Noetic (Ubuntu)

如果你想直接使用所提供的工作区,请按照以下步骤构建它,并为该软件包的覆盖层提供源代码。您也可以将各个软件包复制并粘贴到自己的工作区,然后在那里构建,并确保该工作区位于 ROS_PACKAGE_PATH 内。

  1. 如果你的本地 ROS 还没有源代码,请确保已经源代码化:source /opt/ros/noetic/setup.bash你可以通过检查 ROS_PACKAGE_PATH 环境变量来检查源代码是否成功。
echo $ROS_PACKAGE_PATH/opt/ros/noetic/share
  1. Isaac Sim ROS 工作区中的一个软件包 isaac_moveit 在弗兰卡-埃米卡 "熊猫 "臂上使用 MoveIt。为确保该软件包能编译成功,请先从预编译的二进制文件(Debian)中安装 MoveIt:
sudo apt install ros-$ROS_DISTRO-moveit
  1. 然后按照这里概述的步骤,在你的 ROS 工作区安装 panda_moveit_config 软件包。
  2. 在 ROS 工作区的根目录下运行以下命令,解决任何软件包依赖关系:
cd noetic_ws
rosdep install -i --from-path src --rosdistro noetic -y
  1. 在 ROS 源终端中,构建 Isaac noetic_ws 文件夹,然后创建覆盖层。
catkin_make
source devel/setup.bash
  1. 这将把 Isaac Sim ROS 工作区放入你的 ROS_PACKAGE_PATH。你可以再次使用
echo $ROS_PACKAGE_PATH
  1. 来查看 Isaac Sim ROS 工作区的路径是否已经添加到原来的路径前面。
  2. 或者,你也可以将 noetic_ws/src 文件夹中的各个 ROS 软件包移到自己的 ROS 工作区中,然后构建它。请访问 ROS 网站,查看构建自己的 ROS 软件包的教程。如果你想让 Isaac Sim 访问你现有的软件包,请确保在启动 Omniverse Isaac Sim 之前,在同一终端设置 ROS_PACKAGE_PATH 环境变量,使其包含所需的 ROS 工作区。

6.5 包含 ROS 软件包

ROS

以下是为 Omniverse Isaac Sim 创建的 ROS 软件包示例列表:

  • carter_2dnav: 包含英伟达卡特机器人所需的启动文件和 ROS 导航参数。
  • carter_description: 英伟达卡特机器人模型的描述。
  • cortex_control: 用于在 Cortex 与控制器之间建立通信的工具。
  • cortex_control_franka: 包含启动文件和 python 节点,用于使用 Cortex 控制物理弗兰卡机器人。
  • isaac_moveit: 包含运行 ROS MoveIt 所需的启动和配置文件。
  • isaac_ros_messages: 一组自定义的 2D/3D 边框和姿势服务信息。
  • isaac_ros_navigation_goal: 用于在 ROS Navigation 中自动设置随机或用户自定义的目标姿势。
  • isaac_tutorials: 包含启动文件、RViz 配置文件以及教程系列的脚本。
  • isaac_vins: 包含与 Unitree A1 四足机器人一起运行 VINS Fusion 所需的启动、参数和配置文件。
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
2月前
|
传感器 机器人 Linux
NVIDIA Isaac Sim 入门教程(二)
NVIDIA Isaac Sim 入门教程(二)
85 1
|
2月前
|
XML 传感器 机器人
Isaac Sim详细安装使用教程
NVIDIA Isaac Sim 4.0版本的安装和使用教程,包括了下载、安装、配置环境、使用ROS/ROS2扩展、设置工作空间以及编译和运行示例程序的步骤。同时,还提供了Isaac Sim的架构图和USD文件格式的介绍,以及相关的资源链接和教程视频。
124 0
Isaac Sim详细安装使用教程
|
2月前
|
传感器 机器学习/深度学习 算法
Isaac Sim教程01 Isaac Sim介绍
这篇文章是Isaac Sim的入门教程,介绍了NVIDIA Omniverse平台上的Isaac Sim机器人仿真工具包。内容包括Isaac Sim的背景、特点、应用场景、架构和工作流程,以及近期的更新情况。Isaac Sim支持物理精确的仿真和合成数据集的创建,与ROS/ROS2兼容,并能模拟多种传感器数据,适用于机器人导航、操作应用、计算机视觉研究和数据集生成等多种场景。
137 0
Isaac Sim教程01 Isaac Sim介绍
|
2月前
|
传感器 机器学习/深度学习 固态存储
NVIDIA Isaac ROS - 入门教程(二)
NVIDIA Isaac ROS - 入门教程
130 3
|
2月前
|
Ubuntu 固态存储 Docker
NVIDIA Isaac ROS - 入门教程(一)
NVIDIA Isaac ROS - 入门教程(一)
133 2
|
2月前
|
传感器 机器学习/深度学习 算法
Nvidia Isaac Sim介绍 入门教程 2024(1)
Nvidia Isaac Sim是一个为NVIDIA Omniverse平台开发的机器人仿真工具包,提供高保真度的物理仿真和多传感器RTX渲染,支持ROS2并能够生成合成数据集,用于机器人的设计、调试、训练和部署。
85 0
|
2月前
|
存储 传感器 缓存
Nvidia Isaac Sim安装与配置 入门教程 2024(2)
本文是Nvidia Isaac Sim安装与配置的入门教程,指导用户如何检查系统配置、安装Omniverse环境、配置Nucleus服务器、安装Isaac Sim软件包、设置命令行环境和编辑器环境,以及如何启动Isaac Sim仿真和加载机器人与环境。
226 0
|
2月前
|
传感器 数据可视化 机器人
Nvidia Isaac Sim图编程OmniGraph 入门教程 2024(6)
本文是Nvidia Isaac Sim图编程OmniGraph的入门教程,介绍了OmniGraph的概念、图的分类、以及如何利用ActionGraph创建可视化编程流程来控制仿真中的机器人动作和物体跟随,包括键盘控制小车的流程分析、Graph的创建、节点添加与连接,以及测试和Python实现方法。
54 0
|
2月前
|
算法 机器人 API
Nvidia Isaac Sim代码编程 入门教程 2024(7)
Nvidia Isaac Sim 2024年的代码编程入门教程,涵盖了Isaac Sim环境的配置、核心API的使用以及如何利用Python API搭建基本仿真demo。
77 0
|
2月前
|
存储 机器人 API
Nvidia Isaac Sim图形界面 入门教程 2024(3)
本文是Nvidia Isaac Sim图形界面的入门教程,介绍了Isaac Sim GUI的界面组件、基本操作、物体和视角调整方法,并通过实例演示了如何创建和变换物体、构造铰接式物体以及调整环境和视角。
70 0