The  goals of this lab are to

  • introduce the Robot Operating System (ROS)
  • get you started with a virtual machine that has ROS and simulation tools for our robotic arm pre-installed
  • understand the ROS message passing system


  • Experimental data for the average response time of the message passing framework
  • 1.5 weeks
Deliverables are due on a print-out and delivered at the beginning of the following class.


  1. Follow the instructions on how to install ROS Indigo on your computer. Indigo is already installed on the CSEL machines.
  2. Quick-read through the ROS tutorials 1-10
    • To 1: Verify that the last line of your ~/.bashrc script indeed sources the ROS initialization script.
    • To 4: You will need to go through this tutorial before you go through tutorial number 3.
    • To 3: Follow the instructions for “catkin”, the build system introduced from ROS Groovy onwards. Make sure you add source ~/catkin_ws/devel/setup.bash to the end of your .bashrc file
  3. Compile and run the examples from tutorials 11 and 14 (or their Python equivalents, 12 and 15)
  4. Measure the time it takes until a message reaches from a “publisher” to a “subscriber”.
  5. Measure the time it takes until an (empty) service gets executed from a client.
  6. Report a histogram of these times for at least 10 runs as well as their mean and standard deviation as PDF.

Use the comment function of this website to ask questions and share tips & tricks with your peers.


2 Responses to Lab #1: Introduction to ROS

  1. Snowboardjorge says:

    2 Things for David:
    1) When I run the ‘sudo apt-get install ros-electric-arm-navigation gtk2-engines-pixbuf ‘ command I get a ‘Unable to locate package ros-electric-arm-navigation’ message.2) What is the GitHub Repository called?Thanks,   Brian

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Set your Twitter account name in your settings to use the TwitterBar Section.