Isaac Sim 5.0 ROS2 Navigation doesn't work with ROS2 Jazzy on Ubuntu 24.04 with latest updates

Isaac Sim Version

5.0.0

Operating System

Ubuntu 24.04

GPU Information

  • Model: RTX4080 - Nvidia founder’s edition
  • Driver Version: Now back to 570.195.03, tried 580 which was worse (adding CUDA errors)

Topic Description

I have run Isaac Sim 5.0 successfully on the same system when enabling ROS2 humble libraries and running ROS2 humble using Docker. But enabling Jazzy libraries and following all your instructions doesn’t work with native (non-Docker) ROS2 Jazzy.

Detailed Description

The PC has a Core i9 14th gen, 64GB, with RTX4080. Isaac Sim compatibility checker shows it’s ok (result screenshot copied below). After starting Isaac Sim 5.0 with Jazzy libraries I load the unmodified ROS2 multirobot Navigation example, for example the Hospital scene. Then I hit play in Isaac Sim. But when I run ROS2 Jazzy natively I get error messages and RVIZ doesn’t show the keepout zones. If I exit out of Isaac Sim, enable Humble libraries, and run ROS2 Humble from Docker, it works as expected.

I have seen and followed all the instructions here:

I then reinstalled Isaac Sim 5.0, reinstalled ROS2 Jazzy, reinstalled the workspace, used the instructions to rebuild the workspace in Docker for the Python 3.11 issue, but it still works only with Humble libraries with ROS2 Humble through Docker and not with Jazzy libraries and ROS2 Jazzy without Docker.

Steps to Reproduce

  1. Install Isaac Sim 5.00 and Isaac Sim 5.00 compatibility test. (Note I installed Isaac Sim 5.0 to a folder named isaacsim_5.0 instead of just isaacsim because I also have 4.5 and 4.2 on the same system)

  2. Run Isaac Sim 5.0 compatibility test: results are ok, see below

  3. Install ROS2 Jazzy and the additional dependencies (ros-jazzy-vision-msgs, ros-jazzy-ackermann-msgs, python3-rosdep build-essential, python3-colcon-common-extensions)

  4. Clone the Isaac Sim ROS Workspace Repository from isaac-sim/IsaacSim-ros_workspaces.

  5. Standard workspace setup:

source /opt/ros/jazzy/setup.bash
cd jazzy_ws
git submodule update --init --recursive 
rosdep install -i --from-path src --rosdistro jazzy -y
colcon build
source /opt/ros/jazzy/setup.bash
cd jazzy_ws
source install/local_setup.bash

  1. following instructions for Python 3.11 compatibility:
cd IsaacSim-ros_workspaces

./build_ros.sh -d jazzy -v 24.04

In a new terminal:

cd IsaacSim-ros_workspaces
source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash
export ROS_DISTRO=jazzy
export isaac_sim_package_path=$HOME/isaacsim_5.0
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$isaac_sim_package_path/exts/isaacsim.ros2.bridge/jazzy/lib
export FASTRTPS_DEFAULT_PROFILES_FILE=/home/user/IsaacSim-ros_workspaces/jazzy_ws/fastdds.xml
$isaac_sim_package_path/isaac-sim.sh

In Isaac Sim, Window → Examples → Robotics

then in the Robotics Tab: ROS2 → NAVIGATION → MULTIPLE ROBOTS → Hospital Scene → Load Sample Scene.

Loads ok, viewport shows 3 robots in the hospital lobby. Then press play.

  1. In a new terminal:

source /opt/ros/jazzy/setup.bash

cd ~/IsaacSim-ros_workspaces/jazzy_ws

source install/local_setup.bash

ros2 launch carter_navigation multiple_robot_carter_navigation_hospital.launch.py

Error Messages

Lots of messages like the following:

[rviz2-7] [INFO] [1760652368.186463462] [carter3.rviz]: Message Filter dropping message: frame ‘front_3d_lidar’ at time 223.133 for reason ‘discarding message because the queue is full’
[rviz2-7] [INFO] [1760652368.218021344] [carter3.rviz]: Message Filter dropping message: frame ‘front_3d_lidar’ at time 223.150 for reason ‘discarding message because the queue is full’

Screenshots or Videos

Additional Information

What I’ve Tried

Every possible combination of starting Isaac Sim 5.0 with or without the selector, specifying internal Jazzy library through selector or through sourcing, with or without the special python 3.11 procedure, always same result of not working properly.

Actually it did work on this system a few weeks ago, but there were hundreds of Ubuntu system updates, and a Kernel update, and Nvidia driver update with CUDA 13, and things stopped working with Jazzy even after reinstalling ROS2, Isaac Sim, and the workspace. I even tried redownloading the workspace specifying the 5.00 branch in case some Isaac Sim 5.1 incompatibility crept in. No change in results.

But Humble with Docker just works and RVIZ shows the keepout zones and robots start moving in Sim if I select a new waypoint.

Related Issues

Additional Context

I am confused about exactly how I’m supposed to use the build_ws workspace. Your instructions only show that 2 source commands (used before starting Isaac Sim) refer to that workspace

source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash

Then your instructions say to use the default Jazzy workspace, which I assume is

IsaacSim-ros_workspaces/jazzy_ws

and not

IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws

If I try this sequence in a new terminal window I get a lot of error messages:

File “/usr/lib/python3.12/importlib/init.py”, line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named ‘rclpy._rclpy_pybind11’

Thanks for bringing up this issue. Let me reach out to the internal team.

But based on the error message, it looks like you have python3.12 installed but Isaac Sim 5.0 requires python 3.11.

Could you please check your python version in your environment?

Thank you for your response.

Yes the Isaac Sim 5.0.0 documentation says that an Ubuntu 24 system is expected to have Python 3.12, which conflicts with the Isaac Sim requirement of Python 3.11. That’s why Isaac Sim 5.0.0 has this elaborate procedure to build a workspace in Docker using Python 3.11. Quoting the docs:

Jazzy

To use the dockerfile to build ROS 2 and the workspace with Python 3.11:

1. Clone the Isaac Sim ROS Workspace.

2. Build the dockerfile:

        cd IsaacSim-ros_workspaces

        ./build_ros.sh -d jazzy -v 22.04

The minimal jazzy_ws needed to run Isaac Sim is under build_ws/jazzy/jazzy_ws. Additional workspaces can also be created and built in this dockerfile.

3. Open a new terminal and source the ROS 2 Python 3.11 build:

    source build_ws/jazzy/jazzy_ws/install/local_setup.bash

4. In the same terminal, source the built ROS 2 workspace:

    source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash

5. Run Isaac Sim from the same terminal. The sourced workspace contains the minimal ROS 2 Jazzy dependencies needed to enable the ROS 2 bridge.

6. Now rebuild the workspace in the default ROS distro as explained in this section: Setting Up Workspaces so you can run them in your stack outside of Isaac Sim.

And the documentation also says that once Isaac Sim is started using this workspace:

Running the external ROS nodes in the default configuration is acceptable because the DDS handles the data transport regardless of the Python version.

It is my impression that I followed this procedure exactly to the letter. I did use the ./build_ros.sh script, it completed without errors and copied several gigabytes of data to a new workspace under build_ws. Actually 2 new workspaces:

IsaacSim-ros_workspaces/build_ws/jazzy/isaac_sim_ros_ws/

IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/

and then of course there’s the original workspace:

IsaacSim-ros_workspaces/jazzy_ws/

The documentation is light on details on exactly how to use these 3 workspaces. All my attempts were unsuccessful, either loading without error and just not working, or not even loading due to the python3.12 related error message which should not have occurred when using the Docker script that Nvidia configured to build the workspace using python3.11.

I have not modified the scripts in any way and using all defaults for all installation steps except that I used isaacsim_5.0 as the installation folder for isaac sim because I also have other isaac sim versions on the same PC.

@infox22oo This issue has been fixed in Isaac Sim 5.1.0. The Isaac Sim 5.1.0 OSS is available on github GitHub - isaac-sim/IsaacSim: NVIDIA Isaac Sim™ is an open-source application on NVIDIA Omniverse for developing, simulating, and testing AI-driven robots in realistic virtual environments.

The stable version will be released soon!

Thank you so much.

I was going to try 5.1 on my Ubunt24.04 system, but encountered the issue that a newer gcc is installed:

BuildError: GCC version check failed: expected 11.. but found 13.3.0

Hopefully when version 5.1 is stable and ready to release, there will be a way to install it on Ubuntu 24.04 with the latest updates.

Just for fun I tried compiling Isaac Sim 5.1 on Ubuntu 24.04 with the flag to suppress compiler version mismatch.

Worked until there was an undefined reference to uint32_t. Seemed easy enough to take care of, and I fixed the include file with
#include <stdint.h>

That allowed the compilation to proceed much further but eventually lots of references to maybe uninitialized variables like this:

extensions/isaacsim.ros2.bridge/nodes/OgnROS2ServicePrim.cpp:1887:80:
../../../_build/target-deps/usd/release/include/pxr/base/vt/value.h:1172:53: warning: ‘*(const short unsigned int*)((char*)&<unnamed> + offsetof(pxrInternal_v0_24__pxrReserved__::GfQuath, pxrInternal_v0_24__pxrReserved__::GfQuath::_imaginary.pxrInternal_v0_24__pxrReserved__::GfVec3h::_data[1].pxrInternal_v0_24__pxrReserved__::pxr_half::half::_h))’ may be used uninitialized [-Wmaybe-uninitialized]
 1172 |         return IsHolding<T>() ? UncheckedGet<T>() : def;
      |                                                     ^~~

and eventually lots of messages relating to undefined _Float32 like this:

/usr/include/x86_64-linux-gnu/bits/mathcalls.h(110): error: identifier "_Float32" is undefined

Error limit reached.
100 errors detected in the compilation of "../../../source/extensions/isaacsim.core.nodes/cuda/CameraKernels.cu".

Since ROS2 Humble works with Docker, this is not super critical.

I just thought I’d provide this info so that the developer team can see what kinds of issues are encountered when trying Isaac Sim 5.0 or 5.1 on an Ubuntu 24 system where all updates are installed.

1 Like

Thank you so much @infox22oo.
The stable version of 5.1.0 has been released. Not sure if you have the chance to try it with ROS2 Jazzy?

I will pass down the errors you have encountered to the internal team and see if they are aware of it.

Thanks very much for the notification that Isaac Sim 5.1 is now stable. I followed the installation steps exactly, except for naming the folder isaacsim_5.1. In the selector I enabled the ROS2 bridge and as a first experiment I selected the humble library, which worked with Isaac Sim 4.2, 4.5, and the developer pre-release of 5.1.

I tried the Kaya example, it worked.

Then I tried the ROS2 navigation → multiple robots → hospital, and the Nova Carter robot looked distorted. I had seen that in previous versions of Isaac Sim before, but in those cases the issue resolved itself as soon a I clicked on Play for the first time. However, now with the stable 5.1, the issue is still there and now clicking on Play doesn’t fix the appearance of the Nova Carter robot. I also tried the warehouse scene, same result. Please see screenshots below. The title at the very top of the simulation screen confirms this is Isaac Sim 5.1 and referencing Isaac Sim 5.1 assets through AWS.

So it looks like there may be an asset mismatch of some kind ? I did use the clear caches script and tried again, same result.

Note that all of this is before even starting any version of ROS2. And starting ROS2 humble did seem like it wanted to make the Nova Carter robot move, but it seemed confused.

This also happened in the Isaac ROS2 → Isaac ROS -Sample Scene. Again, this was without even starting Isaac ROS or ROS2 in additional windows, just Isaac Sim 5.1 by itself and even after clearing caches.

Then I clicked on those odd protrusions from the Nova Carter robot and found those items are cameras, somehow in disproportionate scale to the rest of the scene. I then selected each one of the cameras and scaled them down manually to 0.1, and that fixed the appearance

So in summary Isaac Sim 5.1 seems to have some kind of asset mismatch in the cameras of the Nova Carter robot model in the Isaac Sim 5.1 assets on AWS.

I then clicked on one of the protrusions and pulled it out of the Nova Carter model and found it looks like an old fashioned video camera. I have not modified any files, don’t know where this shape came from

Then I investigated further by clicking on that item and “open in content browser” by itself. Interesting results, there are duplicate meshes for the camera:

So then if I click on the eye icon to make the highlighted item invisible, that extra camera shape disappears and we’re left with the correct mesh for the LI Owl

That’s as far as I can investigate this. Maybe this can help the dev team to fix the appearance of the Nova Carter robot, or anything that has those cameras. The Carter V1 is not affected but you don’t have a ready made ROS2 navigation example for it.

So this issue prevents proper testing with ROS2 in both the single robot and multi robot Navigation scenarios.

Looks like perhaps a simple fix in the Isaac 5.1 assets for ROS cameras ?

And the other issue still persists as well. Following all the steps for ROS2 workspace setup, it doesn’t work for ROS2 Jazzy on Ubuntu 24

I deleted the previous workspace and started from scratch:

git clone https://github.com/isaac-sim/IsaacSim-ros_workspaces
Cloning into 'IsaacSim-ros_workspaces'...
remote: Enumerating objects: 932, done.
remote: Counting objects: 100% (80/80), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 932 (delta 61), reused 56 (delta 56), pack-reused 852 (from 1)
Receiving objects: 100% (932/932), 1.40 MiB | 10.11 MiB/s, done.
Resolving deltas: 100% (471/471), done.

then:

cd IsaacSim-ros_workspaces
./build_ros.sh -d jazzy -v 24.04
Updating git submodules...
Using Ubuntu 24.04 with ROS Jazzy
[+] Building 6.3s (44/44) FINISHED                               docker:default
 => [internal] load build definition from ubuntu_24_jazzy_python_311_mini  0.0s
 => => transferring dockerfile: 7.42kB                                     0.0s
 => [internal] load metadata for docker.io/library/ubuntu:24.04            0.2s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load build context                                          0.0s
 => => transferring context: 674.13kB                                      0.0s
 => [ 1/39] FROM docker.io/library/ubuntu:24.04@sha256:66460d557b25769b10  0.0s
 => CACHED [ 2/39] WORKDIR /workspace                                      0.0s
 => CACHED [ 3/39] RUN apt-get update &&     apt-get install -y --no-inst  0.0s
 => CACHED [ 4/39] RUN apt update && apt upgrade -y && apt clean           0.0s
 => CACHED [ 5/39] RUN apt update &&     apt install --no-install-recomme  0.0s
 => CACHED [ 6/39] RUN apt update && apt install locales                   0.0s
 => CACHED [ 7/39] RUN locale-gen en_US en_US.UTF-8 &&     update-locale   0.0s
 => CACHED [ 8/39] RUN update-alternatives --install /usr/bin/python3 pyt  0.0s
 => CACHED [ 9/39] RUN curl -s https://bootstrap.pypa.io/get-pip.py -o ge  0.0s
 => CACHED [10/39] RUN wget https://raw.githubusercontent.com/ros/rosdist  0.0s
 => CACHED [11/39] RUN sh -c 'echo "deb [arch=$(dpkg --print-architecture  0.0s
 => CACHED [12/39] RUN apt update && apt install -y     pkg-config     py  0.0s
 => CACHED [13/39] RUN apt update && apt install -y     libboost-all-dev   0.0s
 => CACHED [14/39] RUN apt update && apt install -y     libqhull-dev       0.0s
 => CACHED [15/39] RUN apt update && apt install -y     libeigen3-dev      0.0s
 => CACHED [16/39] RUN apt update && apt install -y     libx11-dev     li  0.0s
 => CACHED [17/39] RUN apt update && apt install -y     qtbase5-dev     q  0.0s
 => CACHED [18/39] RUN pip3 install setuptools==70.0.0                     0.0s
 => CACHED [19/39] RUN apt update && apt install -y   python3-pip   pytho  0.0s
 => CACHED [20/39] RUN python3.11 -m pip uninstall -y em empy || true      0.0s
 => CACHED [21/39] RUN python3.11 -m pip install empy==3.3.4               0.0s
 => CACHED [22/39] RUN python3 -m pip install -U --ignore-installed   arg  0.0s
 => CACHED [23/39] RUN python3.11 -m pip uninstall numpy -y                0.0s
 => CACHED [24/39] RUN python3.11 -m pip install --ignore-installed --upg  0.0s
 => CACHED [25/39] RUN python3.11 -m pip install --ignore-installed numpy  0.0s
 => CACHED [26/39] RUN ln -sf /usr/include/python3.11 /usr/include/python  0.0s
 => CACHED [27/39] RUN python3.11 -m pip install --ignore-installed "pybi  0.0s
 => CACHED [28/39] RUN mkdir -p jazzy_ws/src &&     cd jazzy_ws &&     ro  0.0s
 => CACHED [29/39] RUN find /workspace/jazzy_ws/src -name rclpy -type d |  0.0s
 => CACHED [30/39] RUN rosdep init && rosdep update                        0.0s
 => CACHED [31/39] RUN cd jazzy_ws && colcon build --cmake-args     "-DPy  0.0s
 => CACHED [32/39] RUN cp /usr/lib/x86_64-linux-gnu/libtinyxml2.so* /work  0.0s
 => CACHED [33/39] RUN cp /usr/lib/x86_64-linux-gnu/libssl.so* /workspace  0.0s
 => CACHED [34/39] RUN cp /usr/lib/x86_64-linux-gnu/libcrypto.so* /worksp  0.0s
 => CACHED [35/39] RUN mkdir -p /workspace/build_ws/src                    0.0s
 => [36/39] COPY jazzy_ws/src /workspace/build_ws/src                      0.1s
 => [37/39] RUN rm -rf /workspace/build_ws/src/moveit                      0.2s
 => [38/39] WORKDIR /workspace                                             0.1s
 => [39/39] RUN /bin/bash -c "source jazzy_ws/install/setup.sh && cd buil  5.1s
 => exporting to image                                                     0.2s
 => => exporting layers                                                    0.2s
 => => writing image sha256:f17ff05e04657458b7cc7c1cb3399fc81c08d930d7834  0.0s
 => => naming to docker.io/library/isaac_sim_ros:ubuntu_24_jazzy           0.0s
~/IsaacSim-ros_workspaces/build_ws/jazzy ~/IsaacSim-ros_workspaces
Successfully copied 4.46GB to /home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws
Successfully copied 22.8MB to /home/user/IsaacSim-ros_workspaces/build_ws/jazzy/isaac_sim_ros_ws
~/IsaacSim-ros_workspaces
Build complete for jazzy on Ubuntu 24.04

So building the container for ROS2 Jazzy on Ubuntu 24.04 with Python 3.11 worked.

In same terminal:

source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash

no errors.

Then:

ros2 launch carter_navigation multiple_robot_carter_navigation_hospital.launch.py

Lots of errors:

Traceback (most recent call last):
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/bin/ros2", line 33, in <module>
    sys.exit(load_entry_point('ros2cli==0.32.6', 'console_scripts', 'ros2')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/bin/ros2", line 25, in importlib_load_entry_point
    return next(matches).load()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/ros2cli/cli.py", line 22, in <module>
    from rclpy.executors import ExternalShutdownException
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/__init__.py", line 49, in <module>
    from rclpy.signals import install_signal_handlers
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/signals.py", line 15, in <module>
    from rclpy.exceptions import InvalidHandle
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/exceptions.py", line 16, in <module>
    from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/impl/implementation_singleton.py", line 32, in <module>
    rclpy_implementation = import_c_library('._rclpy_pybind11', package)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rpyutils/import_c_library.py", line 39, in import_c_library
    return importlib.import_module(name, package=package)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'rclpy._rclpy_pybind11'
The C extension '/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/_rclpy_pybind11.cpython-312-x86_64-linux-gnu.so' isn't present on the system. Please refer to 'https://docs.ros.org/en/jazzy/How-To-Guides/Installation-Troubleshooting.html#import-failing-without-library-present-on-the-system' for possible solutions

So in summary, the build_ws in the very latest released isaac sim workspace looks like it almost works since almost everything references Python 3.11 but it looks like there is at least one instance where it is looking for the 3.12 version of a library and as expected it cannot be found, since the whole point of this build procedure is to utilize only Python 3.11. At least that’s my understanding.

@infox22oo just a side note, you can toggle the cameras mesh visibility using either of the following shortcuts if it helps to eliminate the confusion:

  1. Shift + C

  2. via your viewport display mode setting:

as long as there’s a camera prim in the stage, you will be able toggle those meshes. i normally keep it off so the meshes don’t interfere with my selection/scene interactions (or cause confusion, like you’ve experienced); and will use the stage panel to select them should i need to make any modifications.

1 Like

Thank you, that was helpful and using the single checkbox in that menu is definitely a lot faster than deselecting all the cameras in all 3 robots.

Here’s the hospital scene before using your suggestion:

and here’s after unchecking the box for the cameras… the robots look like robots again.

Maybe the developers could make sure the initial installation would have this option off ? I can’t think of any reason why you’d want to see the scene like in the top picture as a default.

@Simplychenable , thanks again for this suggestion.

So now we’re back to the situation that prompted this thread:

On Ubuntu 24.04.03 LTS:

  • Isaac Sim 5.x works with ROS2 humble using Docker
  • Isaac Sim 5.x, including the full release of 5.1, doesn’t work with ROS2 Jazzy using the steps outlined in the documentation.

Maybe I’m missing a step, but when I tried sourcing the natively installed ROS2 Jazzy it appears the costmap isn’t transmitted from sim to RVIZ, and when I tried sourcing the special “build_ws” workspace, there seems to be at least one dependency that isn’t resolved for Python 3.11 and that’s preventing the launch.

On Ubuntu 24.04.03 with latest updates, I tried Isaac Sim 5.1 with ROS2 Jazzy from Docker as described in the documentation, same result as using ROS2 Jazzy installed natively. The Navigation example loads but does not receive costmap in RVIZ.

I used the clear caches script and also started isaac sim 5.1 once with the –reset-user argument to get it back to all default settings.

Previously in this thread I showed how I used the build_ws workspace, which did not end up launching due to a dependency. But according to the documentation the build_ws is only required for custom ROS2 packages. So assuming there are no custom packages, here are the specific steps I’m taking on Ubuntu 24.04 without build_ws:

In a new terminal:

export isaac_sim_package_path=$HOME/isaacsim_5.1
export ROS_DISTRO=jazzy
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$isaac_sim_package_path/exts/isaacsim.ros2.bridge/jazzy/lib
$isaac_sim_package_path/isaac-sim.sh

This starts up Isaac Sim 5.1. The following are the last few messages in the terminal window:

[6.256s] Attempting to load system rclpy
[6.256s] Could not import system rclpy: No module named 'rclpy'
[6.256s] Attempting to load internal rclpy for ROS Distro: jazzy
[6.266s] rclpy loaded
2025-10-28T00:46:02Z [6,424ms] [Warning] [omni.fabric.plugin] Warning: attribute viewportHandle not found for bucket id b

[6.523s] app ready
[8.256s] Isaac Sim Full App is loaded.

Then at the top of the GUI, I select Window → Examples → Robotics Examples.

In the Robotics Examples tab, I select ROS2 → Navigation → Nova Carter and then I load the scene.

Then in a new terminal window:

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
cd IsaacSim-ros_workspaces
cd jazzy_ws
source /opt/ros/jazzy/setup.sh
colcon build
source install/local_setup.sh
ros2 launch carter_navigation carter_navigation.launch.py

and I get an RVIZ display that is almost correct, and looks like it has a functioning Lidar, but no costmap

If I use ROS2 Jazzy from Docker, I get the exact same results.

If I use ROS2 Humble from Docker, it works.

The documentation says Jazzy is fully supported in Isaac Sim 5.1 on Ubuntu 24.04, so please let me know what I should try or if I have anything wrong in starting Isaac Sim or launching ROS2.

Hi @infox22oo thanks for your detailed description. I wonder if you have done the steps for Enabling rclpy, Custom ROS 2 Packages, and Workspaces with Python 3.11 for Jazzy?

Hi, thanks for your response, yes, I have done those steps in several different ways. Nothing made a difference. It is not clear if it is expected to do those steps both for the terminal that starts Isaac sim and also for the second terminal that launches ROS2 but I tried both approaches.

If I do it only in the terminal that starts Isaac Sim, there is no difference in behavior. RVIZ loads but doesn’t see costmap.

If I also do it in the terminal that launches ROS2, then there are error messages indicating that importlib is looking for something related to Python 3.12 even though the build_ws workspace is supposed to run entirely with Python 3.11

Maybe I’m not doing the steps correctly. Here is exactly what I’m doing to enable those steps:

Terminal 1:

cd IsaacSim-ros_workspaces

./build_ros.sh -d jazzy -v 24.04

Terminal 2:

cd IsaacSim-ros_workspaces
source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash
export ROS_DISTRO=jazzy
export isaac_sim_package_path=$HOME/isaacsim_5.0
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$isaac_sim_package_path/exts/isaacsim.ros2.bridge/jazzy/lib
export FASTRTPS_DEFAULT_PROFILES_FILE=/home/user/IsaacSim-ros_workspaces/jazzy_ws/fastdds.xml
$isaac_sim_package_path/isaac-sim.sh

Terminal 3:

cd IsaacSim-ros_workspaces
cd jazzy_ws
source /opt/ros/jazzy/setup.sh
source install/local_setup.sh
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export FASTRTPS_DEFAULT_PROFILES_FILE=/home/user/IsaacSim-ros_workspaces/jazzy_ws/fastdds.xml
ros2 launch carter_navigation carter_navigation.launch.py

Same result, RVIZ loads but no costmap

However, if I try the following in a new terminal, RVIZ doesn’t even launch:

cd IsaacSim-ros_workspaces
source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export FASTRTPS_DEFAULT_PROFILES_FILE=/home/user/IsaacSim-ros_workspaces/jazzy_ws/fastdds.xml
ros2 launch carter_navigation carter_navigation.launch.py

Error message: ModuleNotFoundError: No module named ‘rclpy._rclpy_pybind11’

The C extension ‘/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/_rclpy_pybind11.cpython-312-x86_64-linux-gnu.so’ isn’t present on the system.

I also tried with and without this command

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$isaac_sim_package_path/exts/isaacsim.ros2.bridge/jazzy/lib

and with and without this:

export FASTRTPS_DEFAULT_PROFILES_FILE=/home/user/IsaacSim-ros_workspaces/jazzy_ws/fastdds.xml

No difference.

@infox22oo, you should be sourcing either jazzy_ws or internal libs. Not both.
The internal team suggests you try sourcing jazzy_ws (python 3.11) and Isaac sim Ros ws (python 3.11) and not set internal libs. Please check out ROS 2 Installation — Isaac Sim Documentation

Thank you very much for checking with the internal team. Yes I believe I tried all possible combinations, but I’m probably missing something.

I downloaded the latest Isaac Sim workspace and rebuilt the python 3.11 workspace using the included script:

cd IsaacSim-ros_workspaces

./build_ros.sh -d jazzy -v 24.04

There are no errors, at the end it says “successfully copied…”

Then as it says in the documentation I start Isaac Sim in a new terminal. Here’s the bare minimum:

cd IsaacSim-ros_workspaces
source build_ws/jazzy/jazzy_ws/install/local_setup.bash
export isaac_sim_package_path=$HOME/isaacsim_5.0
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
$isaac_sim_package_path/isaac-sim.sh

Is that correct ?

This starts Isaac Sim, says “rclpy loaded”, then “app ready”, and I can load any of the ROS2 navigation examples, click on play, and it looks visually ok.

Then to try to run ROS2 Jazzy from the Python 3.11 workspace I use the following steps in a new terminal:

cd IsaacSim-ros_workspaces
source build_ws/jazzy/jazzy_ws/install/local_setup.bash
source build_ws/jazzy/isaac_sim_ros_ws/install/local_setup.bash
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
ros2 launch carter_navigation carter_navigation.launch.py

But this doesn’t launch at all, with the error message:

Traceback (most recent call last):
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/bin/ros2”, line 33, in
sys.exit(load_entry_point(‘ros2cli==0.32.6’, ‘console_scripts’, ‘ros2’)())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/bin/ros2”, line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/importlib/metadata/init.py”, line 205, in load
module = import_module(match.group(‘module’))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/importlib/init.py”, line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 1387, in _gcd_import
File “”, line 1360, in _find_and_load
File “”, line 1331, in _find_and_load_unlocked
File “”, line 935, in _load_unlocked
File “”, line 995, in exec_module
File “”, line 488, in _call_with_frames_removed
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/ros2cli/cli.py”, line 22, in
from rclpy.executors import ExternalShutdownException
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/init.py”, line 49, in
from rclpy.signals import install_signal_handlers
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/signals.py”, line 15, in
from rclpy.exceptions import InvalidHandle
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/exceptions.py”, line 16, in
from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rclpy/impl/implementation_singleton.py”, line 32, in
rclpy_implementation = import_c_library(‘._rclpy_pybind11’, package)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/rpyutils/import_c_library.py”, line 39, in import_c_library
return importlib.import_module(name, package=package)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/importlib/init.py”, line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named ‘rclpy._rclpy_pybind11’
The C extension ‘/home/user/IsaacSim-ros_workspaces/build_ws/jazzy/jazzy_ws/install/lib/python3.11/site-packages/_rclpy_pybind11.cpython-312-x86_64-linux-gnu.so’ isn’t present on the system.

That’s why I tried the other approaches I mentioned

Could you tell me more specifically what I should be doing differently ?

Or if you’re able to run any of the ROS2 navigation examples with ROS2 Jazzy, could you share the exact commands you used to start Isaac Sim 5.0 or 5.1 in one terminal, and the exact commands you used in the other terminal to launch ROS 2 ?

I know the error message looks like there is Python 3.11 and 3.12 mixed but I didn’t do anything that should cause that. I just followed the documentation exactly. But maybe I did something wrong, so your insight or example would be appreciated.

Thank you

I wonder if the “./build_ros.sh -d jazzy -v 24.04” script is somehow not including the correct Python 3.11 version of importlib, and that this is causing it to look for Python 3.12 modules instead of Python 3.11.

Please note that I have not modified anything, I’m using the build_ros script directly from the workspace downloaded from Github. So I wonder why nobody else is running into this issue.

Since I have the same issue with Isaac Sim 5.0 and 5.1, it has been requested by the moderator to close one of the 2 almost duplicate topics for tracking purposes.

So this topic will be marked as solved, with the solution hopefully being found in this thread: