Lab #1: Introduction to ROS


The main objective of this lab is to familiarize you with the Robot Operating System (ROS). This lab will serve as a building block for the upcoming lab assignments and projects. The lab should be completed individually. I recommend you take your time: if you breeze through it, the next few labs will be much harder.

Warning: this will be the most borning lab of the entire class. There's a ton of information in the assignment and you'll need to do your best to absorb it. Of course, you'll also be able to refer back to this information throughout the semester. But without this core knowledge of ROS, we wouldn't be able to do fun projects on the physical robots.


Upon successful completion of this lab, you will be able to:

  1. Demonstrate knowledge of ROS nodes, messages, and services.
  2. Demonstrate knowledge of ROS tools.
  1. If you are not familiar with Linux, read through the following for commonly used terminal commands: When you encounter Linux problems, I suggest you 1) Google, 2) Ask other students, 3) Ask the TAs, 4) Ask Matt, and/or 5) Talk with our department's Linux User Group.
  2. Read the ROS/Introduction wiki:
  3. Install ROS on your computer. I suggest you install the version called "Kinetic." It should work with both Ubuntu 14.04 and 16.04.
  4. Now that ROS is installed, complete the ROS tutorials (beginner level) at
  5. After finishing the beginner tutorials, answer the questions in the questionnaire in a new file and submit the answers via Blackboard. The answers must be in either plain text format, or in a .pdf file. Please do not upload a MS Word, Open Office, etc., file.
  6. Read through the Intermediate Level tutorials. There's nothing to hand in for this part, but this knowledge will come in useful later.