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: https://github.com/bsb808/linux_setup
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.
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 https://jira.nps.edu. 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.
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.
Customizing the Install
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.
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.)
Git setup scripts
Now we'll make a new directory for our working copy of the repository.
You should see a set of directories and files equivalent to the web based view of the repository on github: https://github.com/bsb808/linux_setup
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
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.
You may want to look at the newinstall14_desktop.sh 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 http://wiki.ros.org/indigo/Installation/Ubuntu 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!
Next we'll setup our user environment including initiating a catkin development environment. This follows one of the first tutorials http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
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: http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes
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.
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 nps.edu 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 commandError 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.