Issue with ROS2 Publish Joint State in GPU mode

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: RTX A4000
  • Driver Version: 535.183.01

Hello,
I trained a quadruped robot with IsaacLab 2.0.2 and I can play the policy in Isaac Sim 4.5.0. I have a simple ActionGraph to publish joint states on a ROS2 topic :

When the simulation is executed in CPU mode (i.e., with --device cpu), there is no issue. I can retrieve the data from the topic with ros2 topic echo joint_targets :

However, when the simulation is executed in GPU mode (i.e., without --device cpu), I get the following error

and data from the topic are invalid :

Please note that this follows a previous topic I posted some time ago (Problem subscribing to omni.isaac.ros2_bridge.ROS2PublishJointState with direct GPU API enabled). It was on IsaacSim 4.2 and IsaacLab 1.4.0 and the behavior was different.

Thanks in advance for any help with this.

Thank you for your interest in Isaac Lab. Unfortunately, Isaac Lab does not support graphs currently.

To ensure efficient support and collaboration, please submit your topic to its GitHub repo following the instructions provided on Isaac Lab’s Contributing Guidelines regarding discussions, submitting issues, feature requests, and contributing to the project.

We appreciate your understanding and look forward to assisting you.

@grocher , are you using a multi-gpu setup? The error seems to be related to incompatible device id An additional sanity check would be to verify if the error persists when you are not publishing to ROS 2, to verify if this is a physics or setup error.

Hello,
Indeed, I have two RTX A4000 GPUs. The error only appears when subscribing to the topic, i.e., runningros2 topic echo /joint_targets.

Regards.

maybe try using a specific GPU when starting Isaac Sim? Setup Tips — Isaac Sim Documentation

Ok, I will give it a try.
Thanks for your support.

Regards.

1 Like

Sorry for the late answer. I tried using --device cuda:0, but with no luck.
Regards.

no worries, can you please share the log?

Hello rchadha,

Here it is. Please let me know if you need more info.
Regards.

**+---------------------------------------------------------------------------------------+**
**| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |**
**|-----------------------------------------+----------------------+----------------------+**
**| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |**
**| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |**
**|                                         |                      |               MIG M. |**
**|=========================================+======================+======================|**
**|   0  NVIDIA RTX A4000               Off | 00000000:01:00.0  On |                  Off |**
**| 41%   42C    P8               9W / 140W |    675MiB / 16376MiB |      0%      Default |**
**|                                         |                      |                  N/A |**
**+-----------------------------------------+----------------------+----------------------+**
**|   1  NVIDIA RTX A4000               Off | 00000000:02:00.0 Off |                  Off |**
**| 41%   28C    P8               7W / 140W |     13MiB / 16376MiB |      0%      Default |**
**|                                         |                      |                  N/A |**
**+-----------------------------------------+----------------------+----------------------+**
**                                                                                         **
**+---------------------------------------------------------------------------------------+**
**| Processes:                                                                            |**
**|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |**
**|        ID   ID                                                             Usage      |**
**|=======================================================================================|**
**|    0   N/A  N/A      2123      G   /usr/lib/xorg/Xorg                          269MiB |**
**|    0   N/A  N/A      2239    C+G   ...libexec/gnome-remote-desktop-daemon      161MiB |**
**|    0   N/A  N/A      2292      G   /usr/bin/gnome-shell                        129MiB |**
**|    0   N/A  N/A      3677      G   ...onEnabled --variations-seed-version       98MiB |**
**|    1   N/A  N/A      2123      G   /usr/lib/xorg/Xorg                            4MiB |**
**+---------------------------------------------------------------------------------------+**