CMPT894 Directed Study: Autonomous Robots

Richard Vaughan []



The class consists of a 90-minute weekly reading group based on the reading list below, and a practical robotics research project. In each session the student will:


Each week, read the first two (sometimes three) papers listed. Then read and watch the extra material if you wish. Naturally, the books contain much more depth than the papers, but may take more time to read than you have available.

The more you read and think about this topic, the more successful the class will be. Further reading, thinking, movie watching and debate is recommended. Evidence of wider reading and tbought will be rewarded in the final grade.

Links are given to local copies where available. The raw directory of papers is here.


Design and implement an autonomous mobile robot system in a Stage simulation but suitable for porting to a real robot. The robot must perform the task described below indefinitely, recharging itself as necessary.


  1. Place a charging station in the centre of a large world
  2. Make a metric occupancy grid map of the environment - assume perfect localization and sensing. Make as complete a map of the area around the charging station as possible.
  3. Do not get stuck
  4. Return to recharge, then continue mapping.
You should aim to make the map as quickly as possible. Complete a final demonstration and 3-page report explaining the goals, key design decisions and technology you used, and an evaluation of your system.

Getting started

  1. Install Stage and familiarize yourself with the example controllers in (stage source dir)/examples/ctrl. The fasr example includes basic navigation and recharging.
  2. Write a new world file and a robot controller that explores the environment, recharging as necessary.


Final grade is based on a project including coding and an extended-abstract style project report.

Reading list

Week 1: Introduction


Week 2: AI, Robots and the Frame Problem


Week 3: Autonomy and Energy


Week 4: Behavior-based robots


Week 5: Navigation


Week 6: Localization and Mapping


Week 7: Multiple Robot Systems


Week 8: Minimalist and Nano-Robots


Week 9: Internal Dynamics, Emotion & Consciousness


Week 10: Biomimetics


Week 11: Evolutionary Robotics