This tutorial describes the setup of a development workstation
- 1 Sawyer Robot
- 1 Development Workstation (Meeting Minimum System Requirements)
Step 1: Install Ubuntu
Current required version: Ubuntu 14.04
Follow the standard Ubuntu Installation Instructions for 14.04 (Desktop):
- Download the Installer Image file, by picking the "Desktop CD" image appropriate for your machine:
- 32-bit (Intel x86): http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-i386.iso
- 64-bit (AMD64): http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.iso
- Create an Ubuntu LiveUSB installer by burning the installer image onto a USB stick.
- Follow the Ubuntu Installation Instructions here: https://help.ubuntu.com/community/GraphicalInstall
Step 2: Install ROS
Current supported version: ROS Indigo
Configure Ubuntu repositories
Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can follow the Ubuntu guide for instructions on doing this.
Likely, they are already configured properly, and you only need to confirm the configuration.
Setup your sources.list
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
Setup your keys
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
Verify Latest Debians
$ sudo apt-get update
Install ROS Indigo Desktop Full
$ sudo apt-get install ros-indigo-desktop-full
NOTE: You may get a prompt about 'hddtemp' during the installation. You can safely answer 'No'.
rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.
$ sudo rosdep init $ rosdep update
$ sudo apt-get install python-rosinstall
Step 3: Create Intera Development Workspace
Create ROS Workspace
$ mkdir -p ~/ros_ws/src # ros_ws (short for ROS Workspace)
Source ROS and Build
ROS Indigo (Supported)
Source ROS Setup
$ source /opt/ros/indigo/setup.bash
$ cd ~/ros_ws $ catkin_make
Step 4: Install Sawyer SDK Dependencies
ROS Indigo (Supported)
Install SDK Dependencies
$ sudo apt-get update $ sudo apt-get install git-core python-argparse python-wstool python-vcstools python-rosdep ros-indigo-control-msgs ros-indigo-joystick-drivers
Step 5: Install Sawyer Research Robot SDK
Install Sawyer SDK
Checkout all required Github Repositories into your ROS workspace source directory: Use git clone or download the packages directly from Github (need github account) https://github.com/RethinkRobotics/intera_sdk.git https://github.com/RethinkRobotics/intera_common.git https://github.com/RethinkRobotics/sawyer_moveit.git https://github.com/RethinkRobotics/sawyer_robot.git
$ cd ~/ros_ws/src $ wstool init . $ git clone https://github.com/RethinkRobotics/intera_sdk.git $ git clone https://github.com/RethinkRobotics/intera_common.git $ git clone https://github.com/RethinkRobotics/sawyer_moveit.git $ git clone https://github.com/RethinkRobotics/sawyer_robot.git $ wstool update
Source ROS Setup
You must use ROS Indigo to use RSDK, use command below:
# ROS Indigo $ source /opt/ros/indigo/setup.bash
Build and Install
$ cd ~/ros_ws $ catkin_make $ catkin_make install
Step 6: Configure Sawyer Communication/ROS Workspace
The current recommended environment setup: intera.sh ROS Environment Setup
"intera.sh ROS Environment Setup (Recommended)"
The intera.sh script is a convenient script which allows for intuitive modification of the core ROS environment components. This user edited script will allow for the quickest and easiest ROS setup.
Further information and a detailed description is available on the SDK_Shell page.
Download the intera.sh script
intera.sh file already exists in intera_sdk repo, copy then move the file into your ros workspace.
$ chmod u+x intera.sh
Customize the intera.sh script
Please edit the intera.sh shell script making the necessary modifications to describe your development PC.
Using your favorite editor (gedit used for example)
$ cd ~/ros_ws $ gedit intera.sh
Edit the 'robot_hostname' field
Sawyer's hostname is defaulted as the robot's serial number. The serial number can be located on the back of the robot, next to the power button.
Alternatively, you can find your robot's hostname by plugging a USB keyboard into the controller of Sawyer and pressing Ctrl+Alt+F3.
Edit the 'your_ip' field
Modify where 'your_ip' is the IP address of your PC.
Useful command for identifying your IP address:
$ ifconfig # Result will be contained in the 'inet addr' field (Ubuntu) or 'inet' field (Gentoo Robot PC).
Alternatively, you may choose to use the hostname of your development PC rather than the PC's IP address. For instructions, press Expand on the right.
You may edit the 'your_hostname' field (only if not using 'your_ip'):
Important: This hostname must be resolvable to Sawyer. To test if your hostname is resolvable to Sawyer, please visit the development PC Hostname Validation page.
Important: Only set either ROS_IP *OR* ROS_HOSTNAME.
Setting of both ROS_IP and ROS_HOSTNAME will result in ROS_HOSTNAME taking priority, resulting in confusing environment setups. Comment out the unused method using the '#' as leading character.
Verify 'ros_version' field
Verify that the the 'ros_version' field matches the ROS version you are running:
This field will default to "indigo"
Save and Close intera.sh script
Please save and close the intera.sh script.
Initialize your SDK environment
From this point forward, your ROS environment setup should be as simple as sourcing the intera.sh script from the root of your Catkin workspace:
$ cd ~/ros_ws $ ./intera.sh
Step 7: Verify Environment
A useful command for viewing and validating your ROS environment setup is:
$ env | grep ROS
The important fields at this point:
ROS_MASTER_URI - This should now contain your robot's hostname.
ROS_IP - This should contain your workstation's IP address.
ROS_HOSTNAME - If not using the workstation's IP address, the ROS_HOSTNAME field should contain your PC's hostname. Otherwise, this field should not be available.
We will verify your network setup in the next section. Hello Robot!