Publishing ROS2 Custom Message from Omniverse

Hi @jominga

I would like to share my experiences in creating the user extension External Extensions: ROS2 Bridge (add-on) that implements a custom message (add_on_msgs)

  • The message package (and everything compiled file related to Python) you want to load inside Omniverse must be compiled using the current Isaac Sim’s python version (3.7)… Your message is compiled using python3.8

  • In order to load the message, you need to include in the config/extension.toml file the binary files related to the message library like Isaac Sim (exts/omni.isaac.ros2_bridge/config/extension.toml) or omni.add_on.ros2_bridge do… and yes, the order matters

    Example (omni.add_on.ros2_bridge/config/extension.toml)

    [[native.library]]
    path = "bin/libadd_on_msgs__python.so"
    [[native.library]]
    path = "bin/libadd_on_msgs__rosidl_generator_c.so"
    [[native.library]]
    path = "bin/libadd_on_msgs__rosidl_typesupport_c.so"
    [[native.library]]
    path = "bin/libadd_on_msgs__rosidl_typesupport_fastrtps_c.so"
    [[native.library]]
    path = "bin/libadd_on_msgs__rosidl_typesupport_introspection_c.so"
    

That’s it… After fulfilling those points you will be able to import your custom ROS2 message… I think :)