Isaac ROS CLI を試す
「Isaac ROS CLI」を試したのでまとめました。
・Isaac ROS 4.3
前回
1. Isaac ROS CLI
Isaac ROS CLI は、NVIDIA が提供する Isaac ROS 向けの公式コマンドラインツールです。開発環境の初期化や設定管理、チュートリアルで利用する実行環境の整備を効率化できるのが特徴で、公式の Getting Started でも導入が案内されています。
つまり Isaac ROS CLI は、
・Isaac ROS の環境構築を標準化しやすい
・依存関係のズレを減らしやすい
・公式ドキュメントに沿って進めやすい
といった点で、これから Isaac ROS を触る人にとって重要なツールになります。
2. システム要件

Isaac ROSは、ROS 2 Jazzyとの互換性を考慮して設計およびテストされています。
3. セットアップ
Ubuntu 24.04 でのセットアップ手順は、次のとおりです。
3-1. Isaac ROS APT リポジトリの取得
(1) 最新のNVIDIA GPUドライバーをインストール。
(2) NVIDIA GPUドライバーが正しくインストールされていることを確認。
nvidia-smi(3) ワークスペースの作成。
mkdir -p ~/workspaces/isaac_ros-dev/src
echo 'export ISAAC_ROS_WS="${ISAAC_ROS_WS:-${HOME}/workspaces/isaac_ros-dev/}"' >> ~/.bashrc
source ~/.bashrc(4) Isaac ROS Aptリポジトリの設定。
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings(5) 依存関係のインストール。
sudo apt update && sudo apt install curl gnupg
sudo apt install software-properties-common
sudo add-apt-repository universe(6) Isaac ROS APT リポジトリの取得。
k="/usr/share/keyrings/nvidia-isaac-ros.gpg"
curl -fsSL https://isaac.download.nvidia.com/isaac-ros/repos.key | sudo gpg --dearmor \
| sudo tee -a $k > /dev/null
f="/etc/apt/sources.list.d/nvidia-isaac-ros.list"
sudo touch $f
s="deb [signed-by=$k] https://isaac.download.nvidia.com/isaac-ros/release-4.3 noble main"
grep -qxF "$s" $f || echo "$s" | sudo tee -a $f
sudo apt-get update3-2. Isaac ROS CLI の初期化
(1) Isaac ROS CLI のインストール。
sudo apt-get install isaac-ros-cli(2) Docker Engineのセットアップ。
(3) Docker用のnvidia-container-toolkit のインストール。
(4) ユーザーをdockerグループに追加。
sudo usermod -aG docker $USER
newgrp docker(5) Dockerのリスタート。
sudo systemctl daemon-reload && sudo systemctl restart docker(6) Dockerの事前チェックの実行。
「NVIDIA runtime OK」と表示されることを確認してください。
docker info | grep -E "Runtimes|Default Runtime"
docker run --rm hello-world
docker run --rm --gpus all ubuntu:24.04 bash -lc 'echo "NVIDIA runtime OK"'(7) Isaac Sim CLI の初期化。
sudo isaac-ros init docker4. クイックスタート
Ubuntu 24.04 でのクイックスタート手順は、次のとおりです。
4-1. ターミナル1
(1) Isaac ROS 用の作業環境に入る。
isaac-ros activate(2) クイックスタートデータをダウンロード。
AprilTag Quickstart デモを動かすためのサンプル入力データ一式を落とします。
・quickstart.tar.gz
sudo apt-get install -y curl jq tarNGC_ORG="nvidia"
NGC_TEAM="isaac"
PACKAGE_NAME="isaac_ros_apriltag"
NGC_RESOURCE="isaac_ros_apriltag_assets"
NGC_FILENAME="quickstart.tar.gz"
MAJOR_VERSION=4
MINOR_VERSION=3
VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC"
AVAILABLE_VERSIONS=$(curl -s \
-H "Accept: application/json" "$VERSION_REQ_URL")
LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r "
.recipeVersions[]
| .versionId as \$v
| \$v | select(test(\"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+$\"))
| split(\".\") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber}
| select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION)
| \$v
" | sort -V | tail -n 1
)
if [ -z "$LATEST_VERSION_ID" ]; then
echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION"
echo "Found versions:"
echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId'
else
mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \
FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\
versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \
curl -LO --request GET "${FILE_REQ_URL}" && \
tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \
rm ${NGC_FILENAME}
fi(3) AprilTag 検出パッケージ本体とQuickstart を起動するための examples パッケージのインストール。
・ros-jazzy-isaac-ros-apriltag : 処理本体を入れる
・ros-jazzy-isaac-ros-examples : デモ起動用の launch を入れる
sudo apt-get update
sudo apt-get install -y ros-jazzy-isaac-ros-apriltag
sudo apt-get install -y ros-jazzy-isaac-ros-examples(4) AprilTag のデモ構成の起動。
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=apriltag interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_apriltag/quickstart_interface_specs.json4-2. ターミナル2
(1) 別のターミナルでIsaac ROS 用の作業環境に入る。
isaac-ros activate(2) rosbagを実行して画像ストリームをシミュレート。
ros2 bag play -l ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_apriltag/quickstart.bag --remap image:=image_rect camera_info:=camera_info_rect4-3. ターミナル3
(1) 別のターミナルでIsaac ROS 用の作業環境に入る。
isaac-ros activate(2) AprilTag検出の出力を確認。
ros2 topic echo /tag_detectionsログが出力されます。
