Networking - RethinkRobotics/sdk-docs GitHub Wiki

Summary

The Baxter Research Robot uses ROS to communicate with the user's Development Workstation. This requires an ethernet network to be established between Baxter and the Workstation with full bi-directional connectivity. If you have trouble connecting to your Baxter, see this page for our Recommended Network Setup and other common network debugging steps.

Basic Requirements

Baxter must be connected to a development workstation which uses ROS over an ethernet network to communicate bi-directionally.

Baxter's hostname can be configured using the [Field Service Menu (FSM)]] if you do not like the one given out at the factory which matches its [serial number.

Also, the MAC address of Baxter can be found with the same Field Service Menu.

Network Configurations

Simple Network Configuration

If you do not have a DHCP server or other networking infrastructure, or would just prefer to connect your development workstation directly to Baxter, you can do so using the following network configuration and steps.

width=600px|height=600px

Avahi Configuration Steps:

These steps assume your ethernet connection to the robot is on eth0.

  • Shutdown Baxter and disconnect ethernet cable.

  • Connect the laptop/workstation to Baxter using a Category-5 ethernet cable.

  • Power up Baxter.

  • Disable firewall on laptop if necessary:

    $ sudo ufw disable  
    
  • Turn off the Ubuntu Network-Manager to prevent interference:

    • Go to the Networking Icon drop-down menu in the top-right of the Desktop.
    • Make sure 'Enable Networking' is unchecked (if checked, select the option in the menu to disable)
  • Check status of eth0:

    $ ifconfig eth0  
    

    You should not see any IP addresses under 'inet'.

  • Use Avahi to designate an IP address to eth0 (do not close the terminal after running avahi-autoipd):

    $ sudo avahi-autoipd eth0  
    
  • Make sure an IP address is successfully claimed. eg:

    Found user 'avahi-autoipd' (UID 104) and group 'avahi-autoipd' (GID 111).
    Successfully called chroot().
    Successfully dropped root privileges.
    Starting with address 169.254.8.16
    Callout BIND, address 169.254.8.16 on interface eth0
    Successfully claimed IP address 169.254.8.16
    

    Keep this Terminal running in the background.

  • Open a New Terminal to continue.

  • Find the local hostname of the robot by running avahi-browse:

    $ avahi-browse -a -r  
    

    The default local hostname of the robot is the Serial Number followed by local. Ex: '011303P0017.local'.

Recommended Network Configuration

The recommended network configuration is to connect your development workstation and your Baxter to an all in one SOHO router/firewall similar to the Linksys EA-Series routers. This type of router provides DHCP and other networking services, and has the benefit of keeping the network traffic off of your main network. It also allows the development workstation access to internet in particular, the Rethink Robotics github repo for code and documentation.

width=600px|height=600px

Connect Directly To Corporate Or University Network

Another viable networking configuration is to connect Baxter directly to your corporate or university network. Here you need to make sure that a DHCP server is available, and that your name server can resolve baxter's hostname to an IP address. If you plan on using DHCP reservation using Baxter's MAC address, you can get the MAC address by using the Field Service Menu (FSM).

Configuring Baxter to use a manually assigned IP address is not possible at this time.

Troubleshooting

See the ROS Network Setup Guide for common ROS network issues and helpful debugging steps to check your base ROS connectivity.