[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:

Settings#

Extension Settings#

The table list the extension-specific settings.

Setting name

Description

Type

Default value

ros_distro

ROS 2 distributions to fallback onto if none were sourced.

str

'humble'

publish_without_verification

Whether ROS 2 publishers are allowed to publish even if there is no active subscription for their topics.

bool

False

publish_multithreading_disabled

Whether to disable multithreading use in the ROS2PublishImage OmniGraph node.

bool

False

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")