notes
RosIsaac sim

Isaac Sim ROS 2 Bridge 接続

ROS 2 Bridge の有効化、DDS (RMW) の選択、通信できないときのチェックリスト

要点: ROS 2 を source したターミナルから Isaac Sim を起動し、拡張 isaacsim.ros2.bridge を有効化する。DDS はデフォルトの FastDDS を使う。topic が流れるのは Play 中のみ。

source /opt/ros/humble/setup.bash
cd ~/isaacsim
./isaac-sim.sh

# 別ターミナルで確認 (サンプルシーンをロードして Play した後)
ros2 topic list

セットアップ#

Bridge 拡張を有効化#

Window > Extensions で isaacsim.ros2.bridge を検索して Enable (4.2 以前の名前は omni.isaac.ros2_bridge)。App Selector から起動する場合は起動画面で bridge と distro を選べば済む。

システムに ROS 2 が無いマシンでも、Isaac Sim 同梱の内部 ROS 2 ライブラリ (humble / jazzy) で bridge は動く。ただし内部ライブラリを使う場合は ROS 2 を source していないクリーンなターミナルから起動すること。混在させると不安定になる。

DDS 設定 (FastDDS)#

~/.ros/fastdds.xml を作成し、公式ドキュメント記載のスニペットを貼る。スクリプト経由で起動するターミナルでは:

unset LD_LIBRARY_PATH
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml

サンプルシーンで疎通確認#

Robotics Examples > ROS2 > Navigation > Carter Navigation をロードして Play。別ターミナルで ros2 topic list に /cmd_vel や /clock が見えれば成功。/cmd_vel に Twist を流せばロボットが動く。

DDS (RMW) の選択#

RMW対応切替コスト
FastDDSデフォルト。公式推奨 (特に同一マシン内通信)なし
CycloneDDS公式対応 (Linux / Humble・Jazzy)。内部ライブラリにも同梱低 (環境変数 1 つ)
Zenoh新しいバージョンで Jazzy のみ対応中
Connext 等非対応-

Cyclone への切替自体は面倒ではない。Isaac Sim 起動前と ROS 2 側の両方で:

sudo apt install ros-humble-rmw-cyclonedds-cpp
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

ただし注意点が 2 つ。(1) Isaac Sim 側と ROS 2 側で RMW が不一致だと一切通信できない。切り替え忘れが典型的な事故。(2) カスタム cyclonedds.xml (サブネット跨ぎ等) が Isaac Sim 側で効かない事例が報告されている。

結論: Nav2 などでチームがすでに Cyclone に統一しているのでなければ FastDDS のままでよい。すでに Cyclone 運用なら Isaac Sim 側を合わせる方が楽。

通信できないときのチェックリスト#

  1. Play を押したか: publisher / subscriber は Play 中のみ有効
  2. ROS_DOMAIN_ID: Isaac Sim 側と ROS 2 側で一致しているか (未設定なら両方 0)
  3. RMW の不一致: echo $RMW_IMPLEMENTATION を両側で確認
  4. 内部/システム ROS 2 の混在: どちらを使うか決めて統一。内部ライブラリ利用時はクリーンなターミナルから起動
  5. 時刻ずれ: シミュレーション時刻を使う。/clock を publish し、ROS 2 ノード側は use_sim_time:=true
  6. 重くて落ちる: まずカメラ / LiDAR を無効化したシーンで動作確認してから有効化する

Windows + WSL2 構成では Windows Firewall が DDS を遮断していることが多い。WSL との通信を許可するか、Linux ネイティブに統一する。

関連#

  • /docs/ros/isaac-sim/isaac-sim-ui-basics
  • /docs/ros/isaac-sim/isaac-sim-action-graph
最終更新:

On this page