Isaac Sim ROS2 SetPrimAttribute Import Error

Isaac Sim Version

4.5.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: RTX 5000 Ada
  • Driver Version: 535

When I try to instantiate a subscriber node to later move the position of a robot, the script fails with an internal isaac sim import error.

Code:

import rclpy
from rclpy.node import Node
from isaac_ros2_messages.srv._set_prim_attribute import SetPrimAttribute

class TranslateClientAsync(Node):

def __init__(self):
    super().__init__('translate_client_async')
    self.client = self.create_client(SetPrimAttribute, 'set_prim_attribute')
    while not self.cli.wait_for_service(timeout_sec=1.0):
        self.get_logger().info('set_prim_attribute service not availible')
    self.req = SetPrimAttribute.Request()

Error:
2025-03-14 21:09:43 [139,114ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
2025-03-14 21:09:43 [139,114ms] [Error] [omni.kit.app._impl] [py stderr]: File “/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_generator_py/import_type_support_impl.py”, line 46, in import_type_support
2025-03-14 21:09:43 [139,114ms] [Error] [omni.kit.app._impl] [py stderr]: return importlib.import_module(module_name, package=pkg_name)
2025-03-14 21:09:43 [139,114ms] [Error] [omni.kit.app._impl] [py stderr]: File “/home/taylor/isaacsim/kit/python/lib/python3.10/importlib/init.py”, line 126, in import_module
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]: return _bootstrap._gcd_import(name[level:], package, level)
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]: File “”, line 1050, in _gcd_import
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]: File “”, line 1027, in _find_and_load
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]: File “”, line 1004, in _find_and_load_unlocked
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]: ModuleNotFoundError: No module named ‘isaac_ros2_messages.isaac_ros2_messages_s__rosidl_typesupport_c’
2025-03-14 21:09:43 [139,115ms] [Error] [omni.kit.app._impl] [py stderr]:
During handling of the above exception, another exception occurred:

2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: File “/home/taylor/isaacsim/frontiers_rl/src/RobotRL.py”, line 178, in
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: reset_node, random_pos_node, translate_subscriber, launcher = start_ros(simulation_app)
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: File “/home/taylor/isaacsim/frontiers_rl/src/RobotRL.py”, line 107, in start_ros
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: translate_subscriber = TranslateClientAsync()
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: File “/home/taylor/isaacsim/frontiers_rl/src/TranslateSubscriber.py”, line 10, in init
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: self.client = self.create_client(SetPrimAttribute, ‘set_prim_attribute’)
2025-03-14 21:09:43 [139,116ms] [Error] [omni.kit.app._impl] [py stderr]: File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/node.py”, line 1413, in create_client
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: check_is_valid_srv_type(srv_type)
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/type_support.py”, line 51, in check_is_valid_srv_type
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: check_for_type_support(srv_type)
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/type_support.py”, line 29, in check_for_type_support
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: msg_or_srv_type.class.import_type_support()
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: File “/home/taylor/IsaacSim-ros_workspaces/humble_ws/install/isaac_ros2_messages/lib/python3.12/site-packages/isaac_ros2_messages/srv/_set_prim_attribute.py”, line 316, in import_type_support
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: module = import_type_support(‘isaac_ros2_messages’)
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: File “/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_generator_py/import_type_support_impl.py”, line 48, in import_type_support
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: raise UnsupportedTypeSupport(pkg_name)
2025-03-14 21:09:43 [139,117ms] [Error] [omni.kit.app._impl] [py stderr]: rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import ‘rosidl_typesupport_c’ for package ‘isaac_ros2_messages’

I am unsure why this error is occurring, and if someone could point me in the right direction I would appreciate it.

Hi @tabergeron ! Thanks for bringing this issue up. Let me reach out to our internal team.

Based on the error, it looks like you have python 3.12 installed. Could you please downgrade it to python 3.10? Isaac Sim 4.5.0 requires python 3.10 (ref)

I am unsure why that is pointing to python 3.12 as I followed all the install instructions. I am now using env_isaacsim to ensure version control.

For setting up my conda env I followed:

  • conda create -n env_isaacsim python=3.10
  • conda activate env_isaacsim
  • pip install isaacsim[all]==4.5.0 --extra-index-url https://pypi.nvidia.com
    *pip install isaacsim[extscache]==4.5.0 --extra-index-url https://pypi.nvidia.com
  • ./setup_conda_env.sh

For installing ROS I followed:
Install Isaac Sim ROS2 Packages: ROS and ROS 2 Installation — Isaac Sim Documentation
* clone GitHub - isaac-sim/IsaacSim-ros_workspaces: Isaac Sim ROS Workspaces
* cd IsaacSim-ros_workspaces/humble_ws
* sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
* sudo apt install python3-colcon-common-extensions
* source /opt/ros/humble/setup.bash
* cd humble_ws
* rosdep install -i --from-path src --rosdistro humble -y
* pip install catkin_pkg empy==3.3.4 numpy lark
* colcon build
* echo 'source ~/IsaacSim-ros_workspaces/humble_ws/install/setup.bash' >> ~/.bashrc
* source ~/.bashrc

I run my python script by first activating my env conda activate env_isaacsim, and then calling the scriptpython frontiers_rl/src/RobotRL.py

Error:
Traceback (most recent call last):
File “/home/taylor/isaacsim/frontiers_rl/src/RobotRL.py”, line 13, in
import carb
File “/home/taylor/isaacsim/kit/kernel/py/carb/init.py”, line 29, in
from ._carb import *
ImportError: libcarb.so: cannot open shared object file: No such file or directory

Since I don’t need carb, I removed the import, and get an issue with rclpy:
Traceback (most recent call last):
File “/home/taylor/isaacsim/frontiers_rl/src/RobotRL.py”, line 14, in
import rclpy
File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/init.py”, line 49, in
from rclpy.signals import install_signal_handlers
File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/signals.py”, line 15, in
from rclpy.exceptions import InvalidHandle
File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/exceptions.py”, line 15, in
from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/impl/implementation_singleton.py”, line 32, in
rclpy_implementation = import_c_library(‘._rclpy_pybind11’, package)
File “/opt/ros/humble/lib/python3.10/site-packages/rpyutils/import_c_library.py”, line 39, in import_c_library
return importlib.import_module(name, package=package)
File “/home/taylor/miniconda3/envs/env_isaacsim/lib/python3.10/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: librcl_action.so: cannot open shared object file: No such file or directory
The C extension ‘/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so’ failed to be imported while being present on the system. Please refer to ‘https://docs.ros.org/en/{distro}/Guides/Installation-Troubleshooting.html#import-failing-even-with-library-present-on-the-system’ for possible solutions

Why do you need to install catkin_pkg if you are using ROS2?
Based on your error message, you might need to checkout this page Installation troubleshooting — ROS 2 Documentation: Rolling documentation

I don’t believe it is my ROS installation as I know that works, but to confirm I reinstalled and I got the same error, and I installed catkin as a part of another approach, but it does not impact my error. I am very familiar with ROS so I doubt that is the issue as I have had no other issues than this one.

@tabergeron I have reached out to the internal team and they will investigate the issue.