ROS2 Control Manager#
Configures and starts a ros2_control ControllerManager bound to a USD articulation. On the first tick, walks the USD hierarchy under targetPrim, synthesizes a URDF, and spins up the in-process ControllerManager. Subsequent ticks are no-ops; the actual read/update/write loop runs from physics post-step callbacks at the configured controller-manager update rate, capped by the physics rate.
Installation#
To use this node enable isaacsim.ros2.nodes in the Extension Manager.
Inputs#
Name |
Type |
Descripton |
Default |
|---|---|---|---|
Controller Config (inputs:controllerConfig) |
|
Path to a standard ros2_control YAML (the same file you would pass to ros2_control_node on a real robot). |
|
Exec In (inputs:execIn) |
|
Execute |
None |
Namespace (inputs:namespace) |
|
ROS 2 namespace applied to the ControllerManager, all controllers, and the latched /robot_description publisher. |
|
Publish Robot Description (inputs:publishRobotDescription) |
|
If true, latch the synthesized URDF on /<namespace>/robot_description (transient_local QoS) so MoveIt 2 / RViz / external robot_state_publisher can pick it up. |
True |
Target Prim (inputs:targetPrim) |
|
A single ArticulationRootAPI prim, or a parent prim containing exactly one ArticulationRootAPI prim. |
None |
Urdf Path (inputs:urdfPath) |
|
Optional URDF path for sensor / hardware-param overlay. Auto-populated from customLayerData[“isaac:sourceUrdf”] if empty and the URDF importer set it at import time. |
|
Use Sim Time (inputs:useSimTime) |
|
If true, set use_sim_time on the ControllerManager. Provide /clock with a ROS2 Publish Clock node or another ROS clock source. |
True |
Outputs#
Name |
Type |
Descripton |
Default |
|---|---|---|---|
Exec Out (outputs:execOut) |
|
Fires once on the first tick after the ControllerManager is configured. Subsequent ticks are no-ops and do not fire this output. |
None |
State#
Name |
Type |
Descripton |
Default |
|---|---|---|---|
Configured (state:configured) |
|
True after successful setup; a timeline Stop schedules setup to run again on the next compute. |
False |
Metadata#
Name |
Value |
|---|---|
Unique ID |
isaacsim.ros2.control.ROS2ControlManager |
Version |
2 |
Extension |
isaacsim.ros2.nodes |
Has State? |
True |
Implementation Language |
Python |
Default Memory Type |
cpu |
Generated Code Exclusions |
None |
uiName |
ROS2 Control Manager |
Categories |
isaacRos2 |
Generated Class Name |
OgnROS2ControlManagerDatabase |
Python Module |
isaacsim.ros2.nodes |