ROS2 Extension not selected between Sim restarts, causes corruption of USD, crash of Sim

Everytime i start up isaac sim I have to go into extensions and deselect ROS bridge extension then select ROS2 Bridge extension. This is annoying because also when i go to edit my Action Graphs all the ROS2 nodes are dissapeared so then i have to restart Isaac Sim then select ROS2 and deselect ROS1 before i open the action graph for edit. Also if i save my USD if i forget to select ROS2 before loading it then i save with the nodes missing and have to recreate.
Finally i cannot run multiple instances of ISaac Sim because the ROS bridge sits on a port and this causes an error that makes ISaac Sim crash on start.

Hi @juan.suero

A possible solution to make the ROS2 Bridge extension persistent is to replace "omni.isaac.ros_bridge" = {} with "omni.isaac.ros2_bridge" = {} in ~/.local/share/ov/pkg/isaac_sim-2022.1.1/apps/omni.isaac.sim.base.kit line 481


File ~/.local/share/ov/pkg/isaac_sim-2022.1.1/apps/omni.isaac.sim.base.kit line 481

#linux only extensions
[dependencies."filter:platform"."linux-x86_64"]
"omni.isaac.ros2_bridge" = {}
2 Likes

thanks that worked to keep ros2 selected but im sure i cannot run multiple instances of issaac sim

Hi @juan.suero

Mmmm… I can run multiple instances of Isaac Sim 2022.1.1 with ROS2 on a local workstation without any problems…

If you are using docker on a remote workstation, please check this post:

Yeah you didnt look in the logs and probably havent tried to run code that talks to ROS yet

2022-09-02 18:31:46 [6,472ms] [Error] [carb.scripting-python.plugin] OSError: [Errno 98] Address already in use

At:
/home/meta/.local/share/ov/data/Kit/Isaac-Sim/2022.1/pip3-envs/default/prompt_toolkit/contrib/telnet/server.py(294): _create_socket
/home/meta/.local/share/ov/data/Kit/Isaac-Sim/2022.1/pip3-envs/default/prompt_toolkit/contrib/telnet/server.py(304): start
/home/meta/.local/share/ov/pkg/isaac_sim-2022.1.1/exts/omni.isaac.repl/omni/isaac/repl/extension.py(36): on_startup
/home/meta/.local/share/ov/pkg/isaac_sim-2022.1.1/kit/plugins/bindings-python/omni/ext/impl/_internal.py(135): _startup_ext
/home/meta/.local/share/ov/pkg/isaac_sim-2022.1.1/kit/plugins/bindings-python/carb/profiler/init.py(80): wrapper
/home/meta/.local/share/ov/pkg/isaac_sim-2022.1.1/kit/plugins/bindings-python/omni/ext/impl/_internal.py(186): startup
/home/meta/.local/share/ov/pkg/isaac_sim-2022.1.1/kit/plugins/bindings-python/omni/ext/impl/_internal.py(268): startup_extension
PythonExtension.cpp::startup()(2):

2022-09-02 18:31:46 [6,472ms] [Error] [omni.ext.plugin] [ext: omni.isaac.repl-1.0.3] Failed to startup python extension.

im not running docker container.
sounds like thats required for multiple instances.
isnt there a configuration file i can edit instead of using docker?
i dont mind docker im just saying it probably should be an easy config file switch
i did a search for the ports but couldnt find any references under the
~/.local/share/ov/pkg/isaac_sim-2022.1.1
directory

Hi @juan.suero

This error is because omni.isaac.repl extension (3. Interactive Scripting — Omniverse Robotics documentation) is enabled by default on both application instances and has nothing to do with ROS2

Disable the extension AUTOLOAD or launch the second Isaac Sim instance by changing the extension port (default: 8223), for example, passing the following as argument…

--/exts/omni.isaac.repl/port=8227

so i guess the point of exposing this on a port is to allow you to remotely control the stage for example if one had to integrate with out systems on the factory floor or isaac sim was being used to run a digital twin that helps drive the functionality?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.