The projects for this course will introduce you to some of the practical aspects of robotics.

More specifically we will work through a graduated series of projects that use the Player/Stage suite, and sometimes we'll run these programs on real robots.

I'll provide computers with all the necessary software installed. If you want to set up your own machine (either to bring to class or to work on the projects at home), then here are some instructions.

We'll start with a simple simulated robot running in a simple environment.

Project I

The first project is to write a controller for a Roomba robot, both simulated as here:

and for the real robot (as we will see, they differ somewhat).

Project II

The second project explores the joys of navigating a robot that is restricted to dead-reckoning navigation when we do this in simulation.

Project III

The third project looks at what you can do when the robot knows where it is, and has more sophisticated sensors than a Roomba usually has at its disposal.

Project IV

For the fourth project we went back to the setup for project 1 and looked at how hard it is to do dead-reckoning navigation on a real robot.

This is especially hard on the Roomba

Project V

For the fifth project we looked at getting the simulated Roomba to localize using data from the laser rangefinder

This is always tricky. How do you know when the robot has figured out where it is? There's nobody to tell you "now it knows!".

Project VI

Project VI built on Project V, working towards getting the robot to navigate.

Navigation like this is what the whole course was building towards.