Page tree
Skip to end of metadata
Go to start of metadata

This page is meant to be a working example of a particular development environment for NPS users.  As such, the step-by-step directions below are a single, particular path through the many excellent online tutorials and instructions.  As a reminder, this is a living document, so as you find errors or omissions, please edit this page!


In this example we'll make use of the files in the linux_setup git repository:
Using Git is covered elsewhere in our wiki, so you may want to review that material.  The directions below assume that you understand how to use Git.

Installing Ubuntu

Install Ubuntu 14.04 because it is a recent long term support (LTS) distribution and ROS Indigo is well supported.

There are many excellent installation guides for Ubuntu depending on your exact configuration.  In general, we make a bootable USB Stick and install from that.

You will need to provide a computer name (hostname) and a user account (username and password) during installation.

NPS Wired Network Connection

Connecting to the NPS network can be a challenge.  One fairly simple way is to use the wired network.  You will need to submit a request for MAC address authentication through the NPS wiki (MAC Authentication for Wired Network Devices Request).  One note about this is that I have found it challenging to use ITACS form on the wiki.  Most of the time when I click on the "Computers" button on the wiki to submit the request, nothing happens.    One way around this is to logon to the JIRA  This seems to make things work for me.

You can get the MAC address from the machine you are working with in a variety OS-dependent ways (or there might be a sticker on your machine).  For example, on Linux you can use the ifconfig command.  Under "eth0" the "HWaddr" is the MAC address for the worked network adapter.

Updating Installation

Before going further it is a good idea to update your installation.  You can do this in two different ways:

  • Via GUI: Run the "Software Updater" application to accomplish this.
  • Via Command-Line: 

    sudo apt-get update        # Fetches the list of available updates
    sudo apt-get upgrade       # Strictly upgrades the current packages
    sudo apt-get dist-upgrade  # Installs updates (new ones)

Customizing the Install

Get Connected

Once you have the base operating system installed you will want to install other software.  This requires a network connection.  If you are on the NPS wired network, you will need to register your MAC address (see above).  Then you will need to open Firefox.  It should automatically go to the safeconnect site and you'll need to click through the security questions.  Now google something to make sure you have a functional network connection.

Get Git

We can use the installation scripts in the Git repository (see Preliminaries) to make this more efficient.  First you will need to install the git software by clicking 'Start' at the top left of the screen, and typing in 'terminal' to get the prompt window out. (Alternatively the shortcut key of Cntrl-Alt-T should start  a new terminal.) 

sudo apt-get update
sudo apt-get install git

Git setup scripts

Now we'll make a new directory for our working copy of the repository.

mkdir ~/WorkingCopies
cd ~/WorkingCopies
git clone
cd linux_setup

You should see a set of directories and files equivalent to the web based view of the repository on github:

Now we'll run a bash script that installs a bunch of useful software for Ubuntu

Option 1: For robot computers, e.g., shuttle PCs

Here we will just install the basic packages, omitting many of the GUI packages that we don't need on a robot comptuer

cd ~/WorkingCopies/linux_setup/ubuntu
sudo ./

Option 2: For desktop/laptop computers

Here we install the basic packages, commonly used GUI packages, LaTeX and execute some tweaks in configuring the system.

cd ~/WorkingCopies/linux_setup/ubuntu
sudo ./

 You may want to look at the script (and the scripts it calls) to get a sense for what is being done. 

NPS Specific Configuration

  • Setup NTP Time Synchronization: Since the NPS network blocks the outside time servers, we need to configure NTP to keep our computer's time updated.

Installing ROS Indigo and Typical Packages

For installing ROS there is lots of great information online.   These directions are a particular path through those directions for our specific development environment.

Again, we'll use install scripts that are in the git repository.  First, we'll follow these directions using a script to automate things so we don't have to type as much.  It is encouraged that you read through the script so you know what it is doing!

cd ~/WorkingCopies/linux_setup/ubuntu
sudo ./

Next we'll setup our user environment including initiating a catkin development environment.  This follows one of the first tutorials

cd ~/WorkingCopies/linux_setup/ubuntu

Verifying the ROS Install

A good way to make sure that you have everything installed is to go through one of the ROS tutorials.  The Understanding Nodes is a good one to make sure the install went smoothly:

Installing ROS Packages from Source

Finally we have to install a few ROS package from source.  These are specific to NPS applications, e.g., the Rosaria driver for the Pioneer robots, NPS examples, etc.

cd ~/WorkingCopies/linux_setup/ubuntu

Installing MATLAB on Ubuntu for ROS - Only for Desktops

You will need a Mathworks account in order to install MATLAB.  I believe all NPS users should have (or can get) an account with their username. 

Once you have logged in to the Mathworks site, you should be able to "View My Licenses". 

The files downloaded from the website are the installer package.  Extract the files to a folder (in my case "Matlab" on the Desktop)

To install the files in the command terminal, run the command

Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
cd ~/Desktop/Matlab
sudo ./install






When you are done, install this package to get a convenient icon, etc.

sudo apt-get install matlab-support



  • No labels

1 Comment

  1. Bingham, Brian (CIV) Hi... I randomly came across this page because it showed as recently modified when I logged into the wiki. Yes, a user must be logged into JIRA to make a MAC authentication request, because that wiki page actually creates a JIRA ticket.