Issues running ROS2 Humble with Isaac 2022.1.1

OS: Ubuntu 22.04
ROS Version: Humble

I installed Isaac 2022.1.1 and the application starts up as expected. If I run the ROS1 tutorial for Moveit I can get the Panda robot to appear and it moves to a retracted pose. I don’t have a ROS1 version installed so I stopped here.

If I disable the ROS1 bridge and start the ROS2 one I get the following errors in the terminal:

[17.684s] [ext: omni.isaac.sim-2022.1.1] shutdown
[17.684s] [ext: omni.isaac.sim.base-2022.1.1] shutdown
[17.684s] [ext: omni.isaac.ros_bridge-1.4.1] shutdown
[19.905s] [ext: omni.isaac.ros2_bridge-1.5.0] startup
2022-09-27 21:53:33 [19,902ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libddsc.so. Error: libssl.so.1.1: cannot open shared object file: No such file or directory
2022-09-27 21:53:33 [19,902ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_ac.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-09-27 21:53:33 [19,903ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_auth.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-09-27 21:53:33 [19,903ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_crypto.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-09-27 21:53:33 [19,905ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libfastrtps.so. Error: libssl.so.1.1: cannot open shared object file: No such file or directory

And then If I run the ROS2 Isaac Moveit example the robot appears and the terminal starts spewing errors then Isaac crashes and the terminal closes.

@marq.rasmussen

This is what I have from Isaac SIM group.

Thanks for the pointer @nvidia-orin! It weird according to this post in the same group Humble and 22.04 are supported. Is there anywhere I can check on the status or even test out the beta?
ROS2 version for isaac_sim

Another thing that seems odd to me. I don’t have ROS1 or 2 installed but the ROS1 sim still works. Is it more of an issues with 22.04 and the drivers required? If I installed Foxy on 22.04 do you think it would work?

@marq.rasmussen In your ROS2 Humble terminal, try settings:
RMW_IMPLEMENTATION=rmw_fastrtps_cpp
solved it for me, working with Ubuntu 22.04 and ROS2 Humble

Thanks for the suggestion @omers! I tried setting the RMW to FastRTPS but it does not fix loading the bridge library when I switch to the ros2 extension. Looking at the failed path you can see that the shared objects do exist but they fail to load for some reason :(
I even tried making all of the objects in that folder executable but it didn’t help.

Here is what I have in my ~/.bashrc

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
source /opt/ros/humble/setup.bash

So as another attempt I started with a fresh install of 22.04, installed Isaac (no ROS or any additional software) and attempted to run the tutorial. Out of the box Isaac sim throws the missing dynamic library errors even though the objects exist on disk…

[18.113s] [ext: omni.isaac.ros2_bridge-1.5.0] startup
2022-10-05 17:42:12 [18,122ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libddsc.so. Error: libssl.so.1.1: cannot open shared object file: No such file or directory
2022-10-05 17:42:12 [18,123ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_ac.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-10-05 17:42:12 [18,123ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_auth.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-10-05 17:42:12 [18,124ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libdds_security_crypto.so. Error: libddsc.so.0: cannot open shared object file: No such file or directory
2022-10-05 17:42:12 [18,126ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/mimic/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.ros2_bridge/bin/libfastrtps.so. Error: libssl.so.1.1: cannot open shared object file: No such file or directory

Isaac Sim 2022.1.1 is supported on Ubuntu 20.04, not necessarily Jammy 22.04. It looks like system libraries versions aren’t matching up here with OpenSSL and others for FastRTPS used by ROS2 Foxy which is what the ros2_bridge in Isaac Sim is using. Could you try on Focal 22.04?

After running into this error I made the machine dual boot 20.04 and 22.04.

When I am running a fresh install of Focal with Isaac and Foxy installed I am still unable to get a working configuration. I am able to start the ROS2 bridge (here is my console output when switching to the ROS2 bridge and starting the MoveIt example)

[14.364s] [ext: omni.isaac.sim-2022.1.1] shutdown
[14.364s] [ext: omni.isaac.sim.base-2022.1.1] shutdown
[14.364s] [ext: omni.isaac.ros_bridge-1.4.1] shutdown
[15.571s] [ext: omni.isaac.ros2_bridge-1.5.0] startup
2022-10-05 19:07:34 [21,680ms] [Warning] [omni.client.plugin]  Tick: authentication: Discovery(ws://localhost:3333): Auth/Credentials service not found!
2022-10-05 19:07:34 [21,739ms] [Warning] [omni.usd] Warning: in SdfPath at line 97 of /buildAgent/work/ca6c508eae419cf8/USD/pxr/usd/sdf/path.cpp -- Ill-formed SdfPath <>: syntax error

2022-10-05 19:07:34 [22,070ms] [Warning] [gpu.foundation.plugin] Requesting texture to use texture streaming, but the service isn't available.The texture will be created as a regular resource.
2022-10-05 19:07:34 [22,420ms] [Warning] [carb.flatcache.plugin] Type tag does not have a corresponding USD type
[WARN] [1664996854.782182407] [rclcpp]: logging was initialized more than once

But when I go to inspect the topics being published to ROS I cant see them and get FastRTPS errors…

$ ros2 topic list
2022-10-05 12:32:08.462 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7412: open_and_lock_file failed -> Function open_port_internal
2022-10-05 12:32:08.462 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7413: open_and_lock_file failed -> Function open_port_internal
/parameter_events
/rosout

I even made an issue on the FastRTPS repo to see if they have any suggestions.

Are you running ROS2 Humble or Foxy here though? The FastRTPS in ROS2 Foxy (which is what Isaac Sim 2022.1.1 is running internally) will have a daemon that clashes with the FastRTPS in ROS2 Humble. In Isaac ROS Dev base images, we install a FastRTPS profile for you that avoids this clash: isaac_ros_common/rtps_udp_profile.xml at main · NVIDIA-ISAAC-ROS/isaac_ros_common · GitHub

I have two setups I am trying to get working:

  • I have tried tried Isaac and Humble on Jammy 22.04 but cant get the ros2_bridge to work.
    • I get the error Could not load the dynamic library from ... as posted above
  • In the second configuration I’m running ROS2 Foxy on Ubuntu Focal 20.04.

For the 20.04 install with Foxy:
How does the user installed version of Foxy get configured to use that file? Did I miss a step in the setup process? Am I expected to use the copy of Foxy that Isaac installs? If so where is it located?

Okay for the 20.04 install with Foxy I have added the following to my ~/.bashrc so that I can easily source ROS2 but not have it included by default so that I don’t mess with Isaac’s environment variables…

alias sr2='
source /opt/ros/foxy/setup.bash &&
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml && 
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp'

and in the file ~/.ros/fastdds.xml I have placed the configuration you pointed out @hemals. Here are the instructions from FastRTPS on configuring via xml file that I followed.

After adding the DDS configuration and restarting Isaac I still cant see any topics published by the simulator.

Progress!!!

I pulled down the isaac_ros_common repo, build the container and can echo the ros topics produced by Isaac.

So when I run the container I’m mounting in the ros2_workspace included with Isaac that contains the package isaac_moveit. When I run rosdep to install dependencies it fails to get them so I cant build the examples.

/workspaces/isaac_ros-dev$ rosdep install --ignore-src --rosdistro=humble --from-paths . -y -r
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
isaac_tutorials: No definition of [joint_state_publisher] for OS version [focal]
carter_navigation: Cannot locate rosdep definition for [nav2_recoveries]
isaac_moveit: No definition of [control_msgs] for OS version [focal]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully

I’ve tried to pull some of the packages in from source but the workspace just keeps getting bigger and the container is missing a bunch of other libraries needed by MoveIt. Any suggestions on resolving this?

Unfortunately, Focal (Ubuntu 20.04) is a Tier 2 platform for ROS2 Humble, so it is source compatible but Open Robotics doesn’t build the binary packages which is why they are not getting resolved from rosdep. We created Dockerfile.nav2 to build from source most of Nav2 but do not have the same for MoveIt2 yet.

Well for some weird reason after I got the container communicating, my host started working too!. I was able to build the example code in Foxy against a binary install of MoveIt and I can command the simulated robot through Rviz!
isaac_moveit

1 Like