[isaacsim.ros2.bridge] ROS 2 Bridge#
Version: 4.1.15
The ROS 2 Bridge extension enables communication between the Isaac Sim and ROS 2 systems. It allows for the publishing and subscribing of ROS 2 topics and services via OmniGraph nodes and Action graphs. ROS 2 publishers, subscribers and services are only active when play is pressed. To enable this extension, ensure ROS 2 libraries are sourced in the terminal before running Isaac Sim or source the lightweight ROS 2 libraries included with Isaac Sim as an alternative.
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.bridge
Define the next entry under [dependencies]
in an experience (.kit
) file or an extension configuration (extension.toml
) file.
[dependencies]
"isaacsim.ros2.bridge" = {}
Open the Window > Extensions menu in a running application instance and search for isaacsim.ros2.bridge
.
Then, toggle the enable control button if it is not already active.
Omnigraph Nodes#
The extension exposes the following Omnigraph nodes:
- ROS2 Camera Helper
- ROS2 Camera Info Helper
- ROS2 Context
- ROS2 Publish AckermannDrive
- ROS2 Publish Bbox2D
- ROS2 Publish Bbox3D
- ROS2 Publish Camera Info
- ROS2 Publish Clock
- ROS2 Publish Image
- ROS2 Publish Imu
- ROS2 Publish Joint State
- ROS2 Publish Laser Scan
- ROS2 Publish Odometry
- ROS2 Publish Point Cloud
- ROS2 Publish Raw Transform Tree
- ROS2 Publish Semantic Labels
- ROS2 Publish Transform Tree
- ROS2 Publisher
- ROS2 QoS Profile
- ROS2 RTX Lidar Helper
- ROS2 Service Client
- ROS2 Service Prim
- ROS2 Service Server Request
- ROS2 Service Server Response
- ROS2 Subscribe AckermannDrive
- ROS2 Subscribe Clock
- ROS2 Subscribe Joint State
- ROS2 Subscribe Transform Tree
- ROS2 Subscribe Twist
- ROS2 Subscriber
Settings#
Extension Settings#
The table list the extension-specific settings.
Setting name |
Description |
Type |
Default value |
---|---|---|---|
|
ROS 2 distributions to fallback onto if none were sourced. |
|
|
|
Whether ROS 2 publishers are allowed to publish even if there is no active subscription for their topics. |
|
|
|
Whether to disable multithreading use in the ROS2PublishImage OmniGraph node. |
|
|
The extension-specific settings can be either specified (set) or retrieved (get) in one of the following ways:
Define the key and value of the setting as an application argument from a terminal.
APP_SCRIPT.(sh|bat) --/exts/isaacsim.ros2.bridge/SETTING_NAME=SETTING_VALUE
Define the key and value of the setting under [settings]
in an experience (.kit
) file or an extension configuration (extension.toml
) file.
[settings]
exts."isaacsim.ros2.bridge".SETTING_NAME = SETTING_VALUE
Define the key and value of the setting using the carb framework (in Python).
import carb
settings = carb.settings.get_settings()
settings.set("/exts/isaacsim.ros2.bridge/SETTING_NAME", SETTING_VALUE)
Define the key to query the value of the setting using the carb framework (in Python).
import carb
settings = carb.settings.get_settings()
value = settings.get("/exts/isaacsim.ros2.bridge/SETTING_NAME")