Rosbee+2a+Setup+Guide

toc =Hardware=


 * Rosbee2a Robot Platform with notebook
 * Workstation Computer
 * Router

=Installation Guide=

Both the workstation and the notebook require an installation of Ubuntu. The version used for this project is Ubuntu 12.10. Version 12.10 solves USB 3.0 compatibility issues and is the last version to support ROS Groovy.

Installation of Ubuntu 12.10 from DVD

 * Download the [|64-bit PC (AMD64) desktop image]
 * Instructions to burn the image to dvd can be found here.
 * Boot workstation / notebook from dvd and follow the installation instuctions

Installation of Ubuntu 12.10 from USB

 * Instructions to create a bootable Ubuntu installation from USB can be found here.
 * Next boot from USB to start the Ubuntu installation procedure.

Post Ubuntu install
sudo apt-get update sudo apt-get upgrade code sudo usermod -a -G dialout $USER code
 * Install updates:
 * Open a terminal window (ctrl-alt-t)
 * code format="bash"
 * Add current user to dialout group (needed for USB-serial communication)
 * code format="bash"

Installation of ROS Groovy
sudo apt-get install python-wstool code
 * Installation instuctions for ROS Groovy in Ubuntu can be found here.
 * In step 1.2 use the command for Ubuntu 12.10
 * In step 1.4 use the command for Desktop-Full
 * When step 1.7 is completed run the following command:
 * code format="bash"

Setup ROS Workspaces
mkdir ros cd ros wget http://lectoraatmechatronica.wikispaces.com/file/view/makerosws.sh/484250364/makerosws.sh chmod +x makerosws.sh ./makerosws.sh code
 * The ROS wiki has a tutorial on creating a ROSBUILD workspace.
 * To make things easy a [[file:makerosws.sh|script]] is provided to create the workspaces automatically:
 * Open a terminal window (ctrl-alt-t)
 * code format="bash"
 * 1) Create directory:
 * 1) Enter directory:
 * 1) Download script to create workspaces:
 * 1) Make script executable:
 * 1) Run script:

Installation of Rosbee Packages
**SVN Checkout** rosws set -y rosbee2 --svn https://rosbee-2.googlecode.com/svn/trunk/ROS code rosws update code
 * From a terminal window:
 * code format="bash"
 * code format="bash"

Install Dependencies
sudo apt-get install ros-groovy-turtlebot ros-groovy-turtlebot-apps code sudo apt-get install ros-groovy-urdf ros-groovy-xacro code sudo apt-get install ros-groovy-openni-camera ros-groovy-openni-launch code sudo apt-get install ros-groovy-dynamixel-motor code sudo apt-get install ros-groovy-arbotix code sudo apt-get install ros-groovy-depthimage-to-laserscan code
 * Before the packages can be build using rosmake several other packages need to be installed for dependencies:
 * Turtlebot apps (provides a package to manually control the robot with keyboard):
 * code format="bash"
 * Urdf and Xacro support (needed for the rosbee_description package):
 * code format="bash"
 * Openni-launch (needed for kinect support):
 * code format="bash"
 * Dynamixel (needed to control the servos in the pan-tilt base of the kinect):
 * code format="bash"
 * Arbotix drivers:
 * code format="bash"
 * depthimage-to-laserscan (Generates a 2d laserscan from the kinect depthimage)
 * code format="bash"

Build Rosbee Packages
rosmake rosbee2 rosmake rosbee2_configs rosmake rosbee_description code
 * From a (new) terminal window:
 * code format="bash"
 * 1) Rosbee2 package:
 * 1) Rosbee2 Configs:
 * 1) Rosbee Description:

Network Configuration
To facilitate network communication between the notebook on the platform and the workstation it is advised to setup a local network. Communication over a wider network (Fontys, Eduroam) or the internet is possible but this suffers from reliability issues. Make sure the IP addresses of the notebook and workstation are either configured as static addresses, or setup you router in such a way that the notebook and workstation get assigned the same ip- address based on their mac address. The ip-address are used in several configuration files, making sure the addresses don't change prevents having to change these configurations with each address change.

ROS Network Configuration
The notebook will act as a ROS Master to make sure the ROS nodes that are run on the workstation communicate with the ROS Master on the notebook and not a local master, several lines can be added to the bashrc script. sudo nano ~/.bashrc code export ROS_MASTER_URI=http://_ipofnotebook_:11311 export ROS_IP=_ipofnotebook_ code export ROS_MASTER_URI=http://_ipofnotebook_:11311 export ROS_IP=_ipofworkstation_ code
 * First open a terminal and open the bashrc script:
 * code format="bash"
 * For the notebook add the following lines to bottom of the file:
 * code format="bash"
 * For the workstation add the following lines:
 * code format="bash"
 * Exit the editor with ctrl-x (save changes and overwrite file)

Time synchronization with Chrony
Chrony is used to synchronize the system times of both the notebook and workstation. Synchronized system times are necessary for TF calculations within ROS. The guide on chrony written for the first Rosbee is still valid although the IP addresses in the guide should be replaced with the addresses used in your own configuration.

SSH Configuration
SSH is a useful tool to remotely access a networked computer. A SSH server can be installed on the notebook of the robot-platform to execute terminal commands from the workstation (Start / Stop ROS nodes etc). To install a SSH server execute the following steps: sudo apt-get install openssh-server code ssh _usernameAtNotebook_@_ipOfNotebook_ code ssh robot@192.168.1.100 code exit code
 * Open a new terminal window on the notebook
 * Use the following command:
 * code format="bash"
 * To access the notebook from the workstation use the following command from a terminal on the workstation (PS: make sure both notebook and workstation are part of the same network):
 * code format="bash"
 * Note that both _usernameAtNotebook_ and _ipOfNotebook_ should be replaced with you own values. Example:
 * code format="bash"
 * Enter the password of the account when prompted.
 * To exit a SSH session type:
 * code format="bash"

Parallax Setup
The Parallax Propeller microcontroller used on the Rosbee 2a platform requires specific software to be able to communicate with the ROS system.

Setting up the Parallax Propeller board

 * Download and install the propeller-tool-software
 * (propeller tool requires a **Windows** environment )
 * Make a SVN checkout of the Rosbee 2a Project
 * (A useful tool to manage SVN in windows is TurtoiseSVN )
 * (TurtoiseSVN Checkout Manual)

TODO: installation of optional ROS packages installation of Rosbee specific packages from SVN network configuration between notebook and workstation Chrony configuration ssh configuration installation of parallax software and code

startup procedure