ros2-bridge-nodes-present#
Code |
ROS.001 |
|---|---|
Validator |
Ros2BridgeNodesPresent |
Compatibility |
other |
Tags |
🔑 |
Summary#
The stage must contain at least one OmniGraph node whose node:type starts with isaacsim.ros2.bridge..
Description#
A stage is treated as having authored Isaac ROS 2 bridge wiring when any composed prim exposes an OmniGraph node type token beginning with:
isaacsim.ros2.bridge.
Typical examples include:
isaacsim.ros2.bridge.ROS2Contextisaacsim.ros2.bridge.ROS2PublishClockisaacsim.ros2.bridge.ROS2PublishJointStateisaacsim.ros2.bridge.ROS2SubscribeTwist
Detection is based on USD-authored OmniGraph node metadata (usually attribute
node:type on an OmniGraphNode prim), not on a live ROS 2 daemon.
This requirement does not validate topic names, QoS, TF correctness, or that ROS 2 is running.
Why is it required?#
ROS-ready Isaac stages need at least one bridge node so the simulation can publish/subscribe ROS 2 traffic through OmniGraph. Absence of all such nodes means no Isaac ROS 2 bridge wiring is authored on the stage.
Examples#
# Valid: Action Graph contains a ROS 2 bridge node
def OmniGraph "ActionGraph" {
def OmniGraphNode "PublishClock" {
uniform token node:type = "isaacsim.ros2.bridge.ROS2PublishClock"
int node:typeVersion = 1
}
}
# Invalid: graphs/nodes exist but none are isaacsim.ros2.bridge.*
def OmniGraph "ActionGraph" {
def OmniGraphNode "OnTick" {
uniform token node:type = "omni.graph.action.OnTick"
int node:typeVersion = 1
}
}
How to comply#
In Isaac Sim, create or open an Action Graph on the stage.
Add at least one node from the Isaac ROS 2 bridge set (
isaacsim.ros2.bridge.*).Save the stage so
node:typeis authored into USD.