ROS & ROS2 Bridge

About

The ROS / ROS2 Bridge Extensions connect Omniverse Isaac Sim to ROS or ROS2. The Robot Operating System (ROS) is a set of software libraries and tools to help build robot applications. This extension provides a common set of components to define the data being published/received between Omniverse Isaac Sim and ROS.

Note

Only one of the ROS Bridge Extensions can be enabled at any given time. See Enabling the ROS / ROS 2 Bridge Extension for more details.

Requirements

See ROS & ROS 2 Installation for requirements.

ROS Bridge

The ROS Bridge Extension enables publishing and subscribing of several rostopics and rosservices that are commonly needed for robotic simulation.

This extension is enabled by default. If it is ever disabled, it can be re-enabled from the Extension Manager by searching for omni.isaac.ros_bridge. ROS and ROS2 bridges cannot be enabled simultaneously. To enable one, make sure the other is disabled first.

Note

Internally the ROS bridge runs a custom roscpp build of ROS Noetic so that it works properly with the Omniverse framework and python 3. This is backwards compatible with ROS Melodic.

Note

If communicating with another host (i.e real robot, an existing ROS stack, etc) please set the ROS_IP and ROS_MASTER_URI environment variables before starting Isaac Sim

Prerequisites

This extension requires a ROS installation capable of running roscore. The extension will continually check if rosmaster is available before starting up.

Note

Omniverse Isaac Sim does not run roscore by default, this is to be more flexible for use cases where Omniverse Isaac Sim is being integrated with existing ROS workflows.

ROS Packages

We provide example ROS packages as part of your Omniverse Isaac Sim download. See Included ROS 1 Packages to learn more.

Next Steps

We recommend going through the ROS Tutorials.

ROS2 Bridge

Similar to the ROS Bridge, the ROS2 Bridge Extension enables publishing and subscribing of several rostopics and rosservices that are commonly needed for robotic simulation.

This extension is disabled by default. It can be enabled from the Extension Manager by searching for omni.isaac.ros2_bridge. Note ROS and ROS2 bridges cannot be enabled simultaneously. To enable one, make sure the other is disabled first.

ROS 2 Packages

We provide example ROS2 packages as part of your Omniverse Isaac Sim download. See Included ROS 2 Packages to learn more.

Next Steps

We recommend going through the ROS2 Tutorials.

Common Components For ROS and ROS2

All ROS related functions are in forms of Omnigraph Nodes. To use Omnigraph, go to Window > Visual Scripting > Action Graph. ROS (or ROS2) related nodes are listed under Isaac Ros (Isaac Ros2).