Exporting a ROS Master to a Local Machine

How to import all of the ROS messages from a remote machine to your machine (for visualization, for example).

Step-by-step guide

  1. Sometimes, you can't have a direct connection to the machine running the ROS Master you need access to...
    1. You could ssh into it, and see nothing OR
    2. You can export the ROS Master to your Machine.

  2. You can do this in three easy steps. (Or, you can write an alias for it! More on that later).

  3. To Export the ROS Master to your local machine:

    $ export ROS_MASTER_URI=http://<ip of machine running ROS Master>:11311
    $ export ROS_IP=<ip of machine running ROS Master>
    $ source ~/.bashrc
  4. If you want to write an alias, do the following on your local machine

    $ sudo nano ~/.bash_aliases
    # at the bottom of the .bash_aliases file, append the following
    alias <name of macnine running ROS Master>='export ROS_MASTER_URI=http://<ip of machine running ROS Master>:11311 && export ROS_IP=<ip of machine running ROS Master>'
    
    # REMEMBER: you MUST update the IP of the machine running the ROS Master in this alias each time it changes (about once per day)

Special Instruction for BANSHEE

  1. BANSHEE is special. She doesn't like talking to other computers, so
  2. From your host machine, ping BANSHEE as per the ssh'ing into a Jetson how-to article.
  3. On your host machine:

    $ sudo nano /etc/hosts
  4. append "<BANSHEE's IP address> BANSHEE" to the /etc/hosts file. For example, on MALICE:

    127.0.0.1	localhost
    127.0.1.1	MALICE
    <IP address>	BANSHEE
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
  5. You MUST update this every time you ssh into BANSHEE, as it's IP address changes everyday.