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 Tree | TF 配信 |
| ROS2 Publish Joint State / Subscribe Joint State | 関節状態の入出力 |
| ROS2 Camera Helper | RGB / depth / camera_info 配信 |
| ROS2 RTX Lidar Helper | LiDAR 点群・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
最終更新: