External Extensions: ROS Bridge UI (add-on)

omni.add_on.ros_bridge_ui: ROS Bridge UI (add-on)

This extension enables the menu and commands of the ROS interfaces that are used for general purpose and robot control

GitHub links:

2 Likes

Hi Toni,

I downloaded usd.shcema.add_on and this extension and enable it as you stated. However when I toggled “enabled”, no compressedcamera rostopic has shown similar as native ROS_Camera. Do you have any idea about how to fix it?

I am using Isaac Sim 2021.1.0. Thanks!

Best, Rosy

Hi @rosy.luo

The extensions I have created try to mimic Isaac Sim’s ROS system. Let me first explain (from my perspective 👀) how it works to try to provide you an answer.

The whole ROS system in Isaac Sim is structured in multiple extensions:

  • omni.usd.schema.isaac (omni.isaac.RosBridgeSchema): contains the definition/structure of the USD schemas. Prior to version 2021.1.0 this feature was embedded in the ROS extension (omni.isaac.ros_bridge). Because there is now support for ROS and ROS2 (and their activations are mutually exclusive) it was separated to avoid having duplicate code.
  • omni.isaac.ros_bridge_ui: generates the menus and commands calling omni.isaac.RosBridgeSchema to add the prims to the stage for both ROS and ROS2. Prior to version 2021.1.0 this feature was also embedded in the ROS extension (omni.isaac.ros_bridge). Because there is now support for ROS and ROS2 (and their activations are mutually exclusive) it was separated to avoid having duplicate code.
  • omni.isaac.ros_bridge and omni.isaac.ros2_bridge: takes care of executing the functionality of the prims defined in the stage.

So, based on these concepts, I have designed the following extensions:

  • omni.usd.schema.add_on (mimic omni.usd.schema.isaac).
  • omni.add_on.ros_bridge_ui (mimic omni.isaac.ros_bridge_ui)
  • omni.add_on.ros_control_bridge (mimic omni.isaac.ros_bridge) to use ROS Control

Currently no CompressedCamera rostopic is working because I don’t have published the corresponding extension (omni.add_on.ros_bridge) to execute the functionality yet 🙈. I had been to busy last weeks but today in the afternoon, I am going to publish this extension 😉

Please be patient (I will notify you), and many thanks for try it 😁

Kindly,
Toni

Hi @rosy.luo

In the next topic, you can find the extension (omni.add_on.ros_bridge) I mentioned above.

Some considerations to use it: the target prim (a Camera) used by the CompressedCamera must be open in a viewport window (the default viewport or any other created using Window > New Viewport Window menu)

I hope this helps,

Kindly,
Toni

This is carried over from our discussion on the previous thread.

My target is using ROS 1 and the Moveit library to control the Fetch robot in Isaac Sim. This platform is a mobile platform with a robotic arm. So far I have been working to build the functionality piece by piece but I have been running into issues with having multiple types of actuation in terms of drivetrain control and arm and other joint control.

https://docs.fetchrobotics.com/robot_hardware.html

Hi @comeauc

Great!

For ROS 1 and MoveIt you can use the GitHub - Toni-SM/semu.robotics.ros_bridge: ROS Bridge (external extension) for NVIDIA Omniverse Isaac Sim extension.
This extension is self-contained and does not require any other extension besides those already existing in Isaac Sim.

The configuration for the FollowJointTrajectory ROS actionlib is done via OmniGraph like Isaac Sim’s ROS components