Lab #2: Introduction to Turtlebots


The main objective of this lab is to familiarize you with basic control of the Turtlebot robot. Please write all your own code for this assignment (however, you may talk with others - just don't copy their code).


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

  1. Run the turtlebot simulator in Gazebo or Stage
  2. Control the turtlebot via ROS messages
  1. You can use Gazebo (realistic and identicial commands as the physical robot) or Stage (lower graphics requirements and very similar commands as the physical robot) for this lab.
  2. First, go through the tutorial on the Stage simulator:, or the Gazebo simulator: You can use either your own machine or on one of the machines in the lab. This will allow you to run a simulated turtelbot via the keyboard.
    Possible problems: if you get a problem on the command
    rosrun stage_ros stageros
    you can try to locate the file. First, make sure it's executable:
    sudo chmod +x
    second, you may want to include the absolute path when executing the rosrun command.
  3. Second, go through the tutorial on controling the turtlebot programatically: Faustino updated on Sunday the 7th - you may have to pull it from git. By running, or the equivalent file in C, you can see one of the turtlebots move and look at the code that does this.
  4. Third, create a new python or C file, square. Write code so that you can have the turtlebot move in a square.
  5. Fourth, create a new python or C file spiral. Write code so that you can have a turtlebot move outwards from a center point in a spiral pattern. spiral picture
  6. Fifth, for extra credit, get both turtlebots moving at the same time in some pattern.
Hand in
In Angel, please submit the following in a single compressed file (e.g., rar or zip):
  1. Your code for the 3rd, 4th, and 5th (optional) parts of the assignment
  2. Videos of parts 3, 4 and 5 (optional). This can be a screen capture (preferred) or just use your phone to caputer a video of the computer monitor. You can send the actual video or a text document with a link to the video.
Note: if you try to upload .py files directly into Angel, Matt won't be able to read them because Angel things you're trying to attack the webserver. Clearly built with CS students in mind....