How to Change ROS_MASTER_URI of OmniIsaacRosBridge

I tried to change the ROS_MASTER_URI of OmniIsaacRosBridge in omni.isaac.ros_bridge.scripts.extension file so that i can connect to different host rather than the one running isaac sim(2022.2.0/2022.1.1)
but isaacSim is overriding my choice by just taking the local host name. as shown here


while the master uri is

It works well on a local machine running isaacSim and but can not connect to other host running ros master node.

Hi @amanuel.ergogo

What about setting the ROS_MASTER_URI from the terminal before launching Isaac Sim as follow?

export ROS_MASTER_URI=http://192.168.0.107:11311

Hi @toni.sm
ROS_MASTER_URI successfully changed to
ROS_MASTER_URI=http://192.168.0.107:11311
and I verified by echo $ROS_MASTER_URI or checking the .bashrc script file.
I think Isaac sim is not reading the ROS_MASTER_URI variable instead it generates in a format like http://hostname:port that is why i decided to edit omni.isaac.ros_bridge.scripts.extension file as I described in previous post.

Hi @amanuel.ergogo

Setting the ROS_MASTER_URI from the terminal works perfectly in my simulations…
It is recommended also set the ROS_IP or ROS_HOSTNAME environment variables for reporting the workstation URI to the master or other components

export ROS_MASTER_URI=http://192.168.0.107:11311
export ROS_IP=192.168.0.XXX

where 192.168.0.XXX is the workstation IP address that runs Isaac Sim

1 Like

we know

export ROS_MASTER_URI or ROS_IP

only affects the terminal which the commands are currently being executed. so, running ./isaac-sim.sh from that terminal it successfully connect to the ROS_MASTER_URI setup.(but i was running isaac sim from a launcher)

In case of running isaac sim from the launcher.
I added the above two commands in .bashrc file(a file executed when each terminal created).
Isaac sim app launcher may be do not source .bashrc file and not recognize the ros master change.

Hi @amanuel.ergogo

An option for setting the ROS_MASTER_URI when running Isaac Sim from the Omniverse Launcher could be to edit the launch scripts and add the export ROS_MASTER_URI=http://192.168.0.107:11311 there

For example, for Isaac Sim button in Isaac Sim App Selector in the launcher, edit the <path_to_isaac_sim/isaac-sim.sh file as follow:

#!/bin/bash
set -e
SCRIPT_DIR=$(dirname ${BASH_SOURCE})
export RESOURCE_NAME="IsaacSim"
export ROS_MASTER_URI=http://192.168.0.107:11311/
exec "$SCRIPT_DIR/kit/kit" "$SCRIPT_DIR/apps/omni.isaac.sim.kit" --ext-folder "$SCRIPT_DIR/apps"  "$@"