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)

string

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)

execution

Execute

None

Namespace (inputs:namespace)

string

ROS 2 namespace applied to the ControllerManager, all controllers, and the latched /robot_description publisher.

Publish Robot Description (inputs:publishRobotDescription)

bool

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)

target

A single ArticulationRootAPI prim, or a parent prim containing exactly one ArticulationRootAPI prim.

None

Urdf Path (inputs:urdfPath)

string

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)

bool

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)

execution

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)

bool

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