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.