Carnegie Mellon University Personal Robotics Lab

Machine Setup

This page explains how to configure a new Ubuntu 14.04 machine for running lab software. We currently use ROS indigo on Ubuntu 14.04, though our software is (for the most part) compatible with ROS hydro on Ubuntu 12.04 as well.

These instructions only need to be done once per machine; see the development environment guide for setting up our development environment and building our software.

Installing ROS

Install the full ROS distribution. If you are using a lab machine this step has already been completed for you. See the official ROS installation instructions for more information and troubleshooting help.

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
$ sudo apt-get update && sudo apt-get install ros-indigo-desktop-full

libcheese Error

If you get an error like the following while trying to install ROS:

Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
Depends: libcheese (>= 3.0.1) but it is not going to be installed

Install the following packages to resolve:

$ sudo apt-get install libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 \
      libclutter-gtk-1.0-0 libclutter-1.0-0 xserver-xorg-input-all

Install System Dependencies

Our development process makes heavy use of git, pip, wstool, and catkin-tools. To install these packages, run:

$ sudo apt-get install git python-pip python-catkin-tools python-wstool
$ sudo pip install -U pip # upgrade outdated pip in Ubuntu packages

Adding the Personal Robotics Apt Repository

Add our packages repo to your sources list:

$ sudo sh -c 'echo "deb http://packages.personalrobotics.ri.cmu.edu/public trusty main" > /etc/apt/sources.list.d/personalrobotics.list'
$ curl https://www.personalrobotics.ri.cmu.edu/files/personalrobotics.gpg | sudo apt-key add -
$ sudo apt-get update

Initializing rosdep

We use rosdep to install system dependencies used by our Catkin packages. To initialize rosdep and add our custom source entries, run:

$ sudo rosdep init
$ sudo wget -P /etc/ros/rosdep/sources.list.d https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/rosdep/10-pr.list

Configuring Git

Before you make your first commit, please set your username and email address. You should also add the same email address to your Github account by running:

$ git config --global user.name 'John Smith'
$ git config --global user.email 'john.smith@example.com'

Optionally, you may want to enable credential caching. This allows Git to temporarily "remember" your password, which is invaluable when using wstool to checkout a large number of private Git repositories. To enable this, run:

$ git config --global credential.helper 'cache --timeout=900'

Finally, you may want to set the default behavior of the git push command. This is necessary to suppress a warning in the version of Git distributed for Ubuntu 14.04. To do so, run:

$ git config --global push.default simple