Isaac-sim container and ROS noetic container connectivity issue

Hi,

I am running isaac-sim container version 4.1.0. I have some project developed within 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:

docker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e "ACCEPT_EULA=Y" --rm --network=host --ipc=host \
    -e "PRIVACY_CONSENT=Y" \
    -v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
    -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
    -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
    -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/documents:/root/Documents:rw \
    -v ~/catkin_ws:/root/catkin_ws \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    nvcr.io/nvidia/isaac-sim:4.1.0

Further, I am sourcing the setup.bash from ros_bridge as follows:

source /isaac-sim/exts/omni.isaac.ros_bridge/noetic/setup.bash

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?

root@demoPC:/isaac-sim: rostopic list
Traceback (most recent call last):
File "/isaac-sim/exts/omni.isaac.ros_bridge/noetic/bin/rostopic", line 34, in <module>
import rostopic
ModuleNotFoundError: No module named 'rostopic'

What kind of exports I need for ros 1 conenction, Do I need these exports inside a terminal out of container, or within container.

thanks,

The issue has been resolved. From within a python script that runs inside Isaac Sim container, I can successfully connect to the ROS container. Therefore, if I have a listener inside python script that receives data on topics being published in the ROS container, I am able to receive this data.
ā€“ Both containers are on the same machine; specify --network=host for both docker containers.
ā€“ I needed to set an environment variable in my Dockerfile to point to the list of packages.
export PYTHONPATH=/isaac-sim/exts/omni.isaac.ros_bridge/noetic/local/lib/python3.10/dist-packages:$PYTHONPATH

Thank you for sharing your resolution to the issue between the Isaac Sim container and ROS Noetic container. Your solution will be helpful for other users facing similar problems.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.