4003-590 / 4005-759 Mobile Robot Programming

Zack Butler

70-2590, MW 10-12

Course description: This course covers standard and novel techniques for mobile robot motion programming, including software architectures, reactive motion control, map building, localization and path planning. Other topics include multi-robot systems, robot vision, and non-traditional and dynamic robots. Students will implement various algorithms in simulation as well as on a real robot, and investigate and report on several pieces of current research in the area.

Textbook: "Autonomous Mobile Robots" by Siegwart and Nourbakhsh. Another decent book is "Computational Principles of Mobile Robotics" (2nd ed) by Dudek and Jenkin. We may also read some of "Planning Algorithms" by LaValle and "Robot Motion Planning" by Choset et al.

Robots: As mentioned above, the assignments will primarily be in simulation, but we also have some robots in the RND Lab (70-3405) which we will use for some assignments. I expect that we will primarily (if not exclusively) use our two Pioneer 3-DX robots named Lewis and Clark (get it?). These are both equipped with forward-facing sonar rings and bump sensors, well simulated in Player/Stage (details below). One of them will also be mounted with a laser rangefinder that gives us much better sensor information, so we will use that as well.

Simulation environment: Simulations (and robot experiments) will be done using Player/Stage. This is available on the CS department Linux machines, and you should feel free to install it on your own (Unix/Mac) machine if you like. I will spend some class time in Week 1 describing the system, but you should also play around with it yourself to get a feel for it. Here are some notes to get you started with Player/Stage as well as some coding guidelines for assignments.

Tentative schedule and links to assignments

Presentation Schedule and Survey Links

Somewhat vague assessment-opportunity list: