Toni-SM / semu.robotics.ros2_bridge

ROS2 Bridge (external extension) for NVIDIA Omniverse Isaac Sim
MIT License
4 stars 0 forks source link
isaac-sim nvidia omniverse omniverse-kit-extension python ros2

ROS2 Bridge (external extension) for NVIDIA Omniverse Isaac Sim

This extension enables the ROS2 action server interfaces for controlling robots (particularly those used by MoveIt to talk to robot controllers: FollowJointTrajectory and GripperCommand) and enables services for agile prototyping of robotic applications in ROS2


Target applications: NVIDIA Omniverse Isaac Sim

Supported OS: Linux

Changelog: CHANGELOG.md

Table of Contents:



Prerequisites

All prerequisites described in ROS & ROS2 Bridge must be fulfilled before running this extension. In addition, this extension requires the following extensions to be present in Isaac Sim:


Extension setup

  1. Add the extension using the Extension Manager or by following the steps in Extension Search Paths

    • Git url (git+https) as extension search path

      git+https://github.com/Toni-SM/semu.robotics.ros2_bridge.git?branch=main&dir=exts

      To install the source code version use the following url

      git+https://github.com/Toni-SM/semu.robotics.ros2_bridge.git?branch=main&dir=src
    • Compressed (.zip) file for import

      semu.robotics.ros2_bridge.zip

  2. Enable the extension using the Extension Manager or by following the steps in Extension Enabling/Disabling


Extension usage

Enabling the extension initializes a ROS node named /SemuRos2Bridge (configurable in the extension.toml file). This node will enable, when the simulation starts, the ROS topics, services and actions protocols according to the ROS prims (and their configurations) existing in the current stage

Disabling the extension shutdowns the ROS node and its respective active communication protocols

Note: The current implementation only implements position control (velocity or effort control is not yet supported) for the FollowJointTrajectory and GripperCommand actions


Supported components

The following components are supported: