I can run the container and start Isaac Sim with ./runheadless.native.sh -v per the instructions. But the ROS2 bridge is failing in the container. I was hoping that using the Dockerized version would prevent any issues with having a host system running a different ROS2 version and OS version.
Here’s the error in the container when I run Isaac Sim:
RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/isaac-sim/exts/omni.isaac.ros2_bridge/humble/lib
Before starting Isaac Sim
2024-07-13 20:18:34 [18,417ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] ROS2 Bridge startup failed
[Error] [omni.isaac.ros2_bridge.scripts.extension] ROS2 Bridge startup failed
To resolve this error in our Isaac Sim Docker version, I followed these steps:
We edit the .bashrc file using nano inside the Docker container:
Thank you for sharing the solution that worked for you.
According to ROS and ROS 2 Installation — Omniverse IsaacSim latest documentation, it’s important to set specific environment variables before running Isaac Sim, especially if you do not have a system-level ROS 2 installation. Isaac Sim includes a minimal set of ROS 2 libraries, and to use the Humble ROS 2 libraries, you should set the following environment variables in a new terminal or command prompt before launching Isaac Sim:
Are these variables not set in the container installation? This post is specifically for the container version of IsaacSim. It seems odd that you would need to set these on your host system, then run the container for it to work. Doesn’t that defeat the purpose of using containers somewhat?
InstallationGuide.docx (133.8 KB)
If you follow this guide I made, the bridge problem will disappear after installing ROS2. The explanations are in Spanish, but you can easily translate them with ChatGPT.
I am running isaac-sim container version 4.1.0. I am working with ROS noetic. I followed this link that states what you should do to enable isaac-sim container talking to a ROS container. In particular, I accessed the following file from my isaac sim container: /isaac-sim/apps/omni.isaac.sim.base.kit
and I made the suggested changes as: isaac.startup.ros_bridge_extension = "omni.isaac.ros_bridge"
The run command for my docker looks like following:
I am running roscore in my ROS container, and I have a node that is publishing on some topics, I cannot seem to access those within my isaac container. rostopic list, rosnode list commands are not recognized. What can be done?
What kind of exports I need for ros 1 conenction, Do I need these exports inside a terminal out of container, or within container.
Thank you for reaching out with your question. It seems that you’re experiencing a different issue than the one discussed in this topic, which is specifically about the ROS2 bridge startup failure in Isaac Sim 2023.1.1.
To better address your concerns regarding ROS1 (Noetic) integration with Isaac Sim 4.1.0, I recommend creating a new forum topic. This will allow us to focus on your specific setup and provide more targeted assistance.