9.1 Isaac ROS 环境与设置

Isaac ROS 环境

注意:某些 Seeed Jetson 镜像可能已经包含预先准备好的 Isaac ROS 环境,因此您可能无需从头开始重新构建所有内容。

在 Jetson 设备上运行以下命令,以确认 Isaac ROS 是否已经可用:

bash

sudo docker images

Isaac ROS 概述

Isaac ROS 是 NVIDIA 面向 Jetson 上加速机器人技术的 ROS 2 软件栈。它将 GPU 加速的感知、立体深度、分割、姿态估计、SLAM 及相关工作流封装在标准的 ROS 接口之后,以便该栈能够集成到熟悉的机器人管线中。

系统要求

项目要求
Jetson 软件栈Jetson 上的 JetPack 6.2
ROS 发行版ROS 2 Humble
容器运行时buildx 插件的 Docker
存储用于开发镜像、模型和 rosbag 资源的足够可用空间;推荐 SSD/NVMe
NVIDIA 服务用于经过身份验证的容器和资源下载的 NGC 帐户和 API 密钥
电源模式设置和基准测试期间推荐 MAXN SUPER

ROS 兼容性

Isaac ROS 3.2 版本是围绕 Jetson 上的 ROS 2 Humble 设计的。

如果您更广泛的项目仍包含 ROS 1 Noetic 组件,可以使用 Isaac ROS NITROS Bridge 桥接选定的工作流,但本章中的设置侧重于 ROS 2。

注意:某些 Isaac ROS 镜像和资源需要通过 NVIDIA NGC 进行身份验证访问。

快速安装

  1. 确认设备运行 JetPack 6.2,并且电源模式设置为 MAXN SUPER

  2. 安装 Docker

Docker 设置参考:模块 3.7 Docker

添加 Docker 的官方 GPG 密钥:

bash

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

将 Docker 仓库添加到 APT 源:

bash

echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt install docker-buildx-plugin
  1. 添加 docker 用户组
bash

sudo usermod -aG docker $USER
newgrp docker
  1. 添加公共 NVIDIA Jetson APT 仓库
bash
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc
sudo add-apt-repository 'deb https://repo.download.nvidia.com/jetson/common r36.4 main'
sudo apt-get update
sudo apt-get install -y pva-allow-2
  1. 准备工作空间并克隆 isaac_ros_common
bash

cd ${ISAAC_ROS_WS}/src && \
  git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
  1. 使用 run_dev.sh 启动 Isaac ROS 开发容器:
bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && ./scripts/run_dev.sh

等待容器镜像下载完成并等待开发环境启动。

Isaac ROS 开发镜像通常需要 NVIDIA NGC 身份验证。

使用您的 NGC API 密钥,而不是 GitHub 令牌:

bash
docker login nvcr.io
  • 用户名:$oauthtoken
  • 密码:您的 NGC API 密钥