notes
RosIsaac sim

Isaac Sim Action Graph

ROS 2 の topic 入出力を Action Graph のノードで組む方法

要点: Isaac Sim の ROS 2 入出力はコードではなく Action Graph (ノードグラフ) で定義する。起点は常に On Playback Tick。

開き方: Window > Graph Editors > Action Graph → New Action Graph。左のノード一覧から検索してドラッグで配置し、ポート同士を接続する。

最小構成: /clock を publish#

これだけで Play 中に /clock が流れる。接続は execution (実行順) と data (値) の 2 種類があり、両方つながないと動かない。ここが最初のつまずきポイント。

差動駆動ロボットを cmd_vel で動かす#

  • Differential Controller: 車輪半径・トレッド幅をプロパティに設定
  • Articulation Controller: 対象ロボットの prim と車輪 joint 名を指定

よく使うノード#

ノード用途
On Playback Tick毎フレーム実行の起点
ROS2 Publish Clock/clock 配信 (sim time 同期に必須)
ROS2 Subscribe Twist/cmd_vel 受信
ROS2 Publish Transform TreeTF 配信
ROS2 Publish Joint State / Subscribe Joint State関節状態の入出力
ROS2 Camera HelperRGB / depth / camera_info 配信
ROS2 RTX Lidar HelperLiDAR 点群・scan 配信
Articulation Controller関節への指令適用

各ノードの Property で topic 名・namespace・QoS を変更できる。

補足#

  • グラフも prim なので Stage ツリーに現れ、USD に保存される
  • サンプルシーン (Carter 等) のグラフを開いて読むのが最速の学習法
  • 同じグラフは Python API (standalone workflow) からも構築できる。CI や再現性が要る場面はそちら

関連#

  • /docs/ros/isaac-sim/isaac-sim-ros2-bridge
  • /docs/ros/isaac-sim/isaac-sim-urdf-import
最終更新:

On this page