Difference between pages "Contributions" and "Workstation Setup"

(Difference between pages)
Jump to: navigation , search
(Created page with "Placeholder for contributions page")
 
(Install Sawyer SDK)
 
Line 1: Line 1:
Placeholder for contributions page
+
 
 +
<div class="title-block">
 +
<span style="font-size:120%;">'''This tutorial describes the setup of a development workstation'''</span>
 +
</div>
 +
 
 +
{{TOClimit|limit=2}}
 +
 
 +
<div class="content-block">
 +
== Required Hardware ==
 +
* 1 Sawyer Robot
 +
* 1 Development Workstation (Meeting [[System_requirements | Minimum System Requirements]])
 +
</div>
 +
<div class="content-block">
 +
 
 +
== 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 "[http://releases.ubuntu.com/trusty/ Desktop CD]" image appropriate for your machine:
 +
** [http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.iso 64-bit (AMD64) .iso image (recommended)] / [http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-i386.iso 32-bit (Intel x86) .iso image]
 +
 
 +
* Create an Ubuntu LiveUSB installer by burning the installer image onto a USB stick.
 +
** [http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows Windows] / [http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-mac-osx Mac OS X] / [http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu Ubuntu]
 +
* Follow the [https://help.ubuntu.com/community/GraphicalInstall Ubuntu Installation Instructions]
 +
 
 +
 
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== Install ROS ==
 +
 
 +
Current supported version: ROS Indigo
 +
 
 +
=== Configure Ubuntu repositories ===
 +
 
 +
Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can follow [https://help.ubuntu.com/community/Repositories/Ubuntu the Ubuntu guide] for instructions on doing this.<br />
 +
 
 +
''Likely, they are already configured properly, and you only need to confirm the configuration.''
 +
 
 +
=== Setup your sources.list ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
 +
</syntaxhighlight>
 +
 
 +
=== Setup your keys ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
 +
</syntaxhighlight>
 +
 
 +
=== Verify Latest Debians ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ sudo apt-get update
 +
</syntaxhighlight>
 +
 
 +
=== Install ROS Indigo Desktop Full ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ sudo apt-get install ros-indigo-desktop-full
 +
</syntaxhighlight>
 +
 
 +
'''NOTE:''' You may get a prompt about 'hddtemp' during the installation. You can safely answer 'No'.
 +
 
 +
=== Initialize rosdep ===
 +
 
 +
rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ sudo rosdep init
 +
$ rosdep update
 +
</syntaxhighlight>
 +
 
 +
=== Install rosinstall ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ sudo apt-get install python-rosinstall
 +
</syntaxhighlight>
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== Create Intera Development Workspace ==
 +
 
 +
=== Create ROS Workspace ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ mkdir -p ~/ros_ws/src
 +
# ros_ws (short for ROS Workspace)
 +
</syntaxhighlight>
 +
 
 +
=== Source ROS and Build ===
 +
 
 +
'''ROS Indigo (Supported)'''
 +
 
 +
=== Source ROS Setup ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ source /opt/ros/indigo/setup.bash
 +
</syntaxhighlight>
 +
 
 +
=== Build ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cd ~/ros_ws
 +
$ catkin_make
 +
</syntaxhighlight>
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== Install Sawyer SDK Dependencies ==
 +
 
 +
ROS Indigo (Supported)
 +
 
 +
=== Install SDK Dependencies ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ 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 ros-indigo-xacro ros-indigo-tf2-ros ros-indigo-rviz ros-indigo-cv-bridge ros-indigo-actionlib ros-indigo-actionlib-msgs ros-indigo-dynamic-reconfigure ros-indigo-trajectory-msgs
 +
</syntaxhighlight>
 +
 
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== 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:
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cd ~/ros_ws/src
 +
$ wstool init .
 +
$ git clone https://github.com/RethinkRobotics/sawyer_robot.git
 +
$ wstool merge sawyer_robot/sawyer_robot.rosinstall
 +
$ wstool update
 +
</syntaxhighlight>
 +
 
 +
=== Source ROS Setup ===
 +
You must use ROS Indigo to use RSDK, use command below:
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
# ROS Indigo
 +
$ source /opt/ros/indigo/setup.bash
 +
</syntaxhighlight>
 +
 
 +
=== Build ===
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cd ~/ros_ws
 +
$ catkin_make
 +
</syntaxhighlight>
 +
 
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== Configure Sawyer Communication/ROS Workspace ==
 +
This step describes the configuration and setup of your [http://wiki.ros.org/ROS/EnvironmentVariables ROS environment]. This section assumes you have linked your workstation to the robot via Ethernet.<br/>
 +
 
 +
See [[Networking | Network Setup]] for recommended network configurations.
 +
 
 +
=== intera.sh ROS Environment Setup ===
 +
 
 +
The intera.sh script is a convenience 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.
 +
 
 +
=== Copy the intera.sh script ===
 +
 
 +
The intera.sh file already exists in intera_sdk repo, copy the file into your ros workspace.
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cp ~/ros_ws/src/intera_sdk/intera.sh ~/ros_ws
 +
</syntaxhighlight>
 +
 
 +
=== 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 ([https://wiki.gnome.org/Apps/Gedit gedit] used for example)
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cd ~/ros_ws
 +
$ gedit intera.sh
 +
</syntaxhighlight>
 +
 
 +
=== Edit the 'robot_hostname' field ===
 +
Sawyer's hostname is defaulted as the controller's serial number. The serial number can be located on the back of the robot's controller box. <br/>
 +
 
 +
=== Edit the 'your_ip' field ===
 +
 
 +
Modify where 'your_ip' is either your computer's hostname or the IP address of your PC.
 +
 
 +
<syntaxhighlight lang="bash" enclose="div">
 +
your_ip="192.168.XXX.XXX"
 +
</syntaxhighlight>
 +
 
 +
Useful command for identifying your IP address:
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ ifconfig
 +
# Result will be contained in the 'inet addr' field (Ubuntu) or 'inet' field (Gentoo Robot PC).
 +
</syntaxhighlight>
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
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.
 +
<div class="mw-collapsible-content">
 +
You may edit the 'your_hostname' field (only if not using 'your_ip'):
 +
<syntaxhighlight lang="bash" enclose="div">
 +
your_hostname="my_computer.local
 +
</syntaxhighlight>
 +
 
 +
 
 +
'''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.
 +
 
 +
</div>
 +
</div>
 +
 
 +
=== Verify 'ros_version' field ===
 +
 
 +
Verify that the the 'ros_version' field matches the ROS version you are running:
 +
 
 +
This field will default to "indigo"
 +
<syntaxhighlight lang="bash" enclose="div">
 +
ros_version="indigo"
 +
</syntaxhighlight>
 +
 
 +
=== 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:
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ cd ~/ros_ws
 +
$ ./intera.sh
 +
</syntaxhighlight>
 +
 
 +
</div>
 +
 
 +
<div class="content-block">
 +
 
 +
== Verify Environment ==
 +
 
 +
A useful command for viewing and validating your ROS environment setup is:
 +
<syntaxhighlight lang="bash" enclose="div">
 +
$ env | grep ROS
 +
</syntaxhighlight>
 +
 
 +
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.
 +
 
 +
or
 +
 
 +
'''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.
 +
 
 +
</div>

Revision as of 14:54, 2 December 2016

This tutorial describes the setup of a development workstation

Required Hardware

Install Ubuntu

Current required version: Ubuntu 14.04

Follow the standard Ubuntu Installation Instructions for 14.04 (Desktop):


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'.

Initialize rosdep

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

Install rosinstall

$ sudo apt-get install python-rosinstall

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

Build

$ cd ~/ros_ws
$ catkin_make

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 ros-indigo-xacro ros-indigo-tf2-ros ros-indigo-rviz ros-indigo-cv-bridge ros-indigo-actionlib ros-indigo-actionlib-msgs ros-indigo-dynamic-reconfigure ros-indigo-trajectory-msgs

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:

$ cd ~/ros_ws/src
$ wstool init .
$ git clone https://github.com/RethinkRobotics/sawyer_robot.git
$ wstool merge sawyer_robot/sawyer_robot.rosinstall
$ 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

$ cd ~/ros_ws
$ catkin_make

Configure Sawyer Communication/ROS Workspace

This step describes the configuration and setup of your ROS environment. This section assumes you have linked your workstation to the robot via Ethernet.

See Network Setup for recommended network configurations.

intera.sh ROS Environment Setup

The intera.sh script is a convenience 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.

Copy the intera.sh script

The intera.sh file already exists in intera_sdk repo, copy the file into your ros workspace.

$ cp ~/ros_ws/src/intera_sdk/intera.sh ~/ros_ws

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 controller's serial number. The serial number can be located on the back of the robot's controller box.

Edit the 'your_ip' field

Modify where 'your_ip' is either your computer's hostname or the IP address of your PC.

 your_ip="192.168.XXX.XXX"

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'):

 your_hostname="my_computer.local


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"

 ros_version="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

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.

or

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.