[isaacsim.ros2.ui] ROS 2 UI Components#
Version: 1.9.2
Overview#
The isaacsim.ros2.ui extension provides pre-configured OmniGraph templates for publishing ROS 2 messages from Isaac Sim. These templates streamline the process of setting up common ROS 2 publishing workflows by providing ready-to-use graph configurations for sensors, robot data, and simulation state.
Functionality#
The extension offers eight graph template classes that create OmniGraph networks for different ROS 2 publishing scenarios:
Sensor Publishers
Ros2CameraGraph: Creates a graph for publishing camera image data to ROS 2 topicsRos2RtxLidarGraph: Creates a graph for publishing RTX lidar point cloud data to ROS 2 topicsRos2RtxRadarGraph: Creates a graph for publishing RTX radar point cloud data to ROS 2 topics
Robot State Publishers
Ros2JointStatesGraph: Creates a graph for publishing robot joint statesRos2OdometryGraph: Creates a graph for publishing odometry data including position, orientation, and velocitiesRos2TfPubGraph: Creates a graph for publishing transform tree information
Simulation Publishers
Ros2ClockGraph: Creates a graph for publishing simulation clock time to synchronize ROS 2 nodes with the simulatorRos2GenericPubGraph: Creates a graph for publishing custom message types to ROS 2 topics
Each graph class encapsulates the OmniGraph node configuration and connections required for its specific publishing task, eliminating the need to manually construct these graphs through the OmniGraph editor.
The same graph builders are available as public Python helper functions with dataclass configuration objects. Camera, RTX lidar, and RTX radar helpers accept an optional existing render product prim. When provided, the helper uses IsaacAttachHydraTexture to produce the render product path while leaving the render product’s authored camera, resolution, and RenderVar relationships unchanged.
Integration#
The extension adds a shortcuts menu to Isaac Sim that provides quick access to ROS 2 graph creation functionality. This menu integration uses omni.kit.menu.utils to register menu items that instantiate the graph templates, allowing users to add ROS 2 publishing capabilities to their scenes without writing code.
The graph templates depend on isaacsim.ros2.nodes and isaacsim.core.nodes, which provide the underlying OmniGraph nodes used within each template. The templates act as a convenience layer that assembles these nodes into functional publishing pipelines. The extension uses isaacsim.core.rendering_manager for viewport camera control.
Enable Extension#
The extension can be enabled (if not already) in one of the following ways:
Define the next entry as an application argument from a terminal.
APP_SCRIPT.(sh|bat) --enable isaacsim.ros2.ui
Define the next entry under [dependencies] in an experience (.kit) file or an extension configuration (extension.toml) file.
[dependencies]
"isaacsim.ros2.ui" = {}
Open the Window > Extensions menu in a running application instance and search for isaacsim.ros2.ui.
Then, toggle the enable control button if it is not already active.