This course addresses the problem of controlling robots that will operate in dynamic, unpredictable environments. The emphasis is on adaptive approaches. Class time will be divided into two sessions: one for lecture and discussion and one for lab work.
In lab sessions, you will work in groups of four to build small, mobile robots and to program them to perform a variety of simple tasks such as obstacle avoidance and light following. You are expected to maintain a lab notebook to record progress made on your robot. As a part of completing a lab assignment, each team member must write their own summary report detailing what was accomplished, what remains to be done, and what could be improved on.
In lecture/discussion sessions, we will examine some of the major paradigms of robot control through readings. You are expected to write brief summaries of each reading in your lab notebooks including questions for the in-class discussion. Each of you must also lead the class discussion for one of the readings during the semester.
I will review your lab notebooks each week. You will turn them in after class on Mondays and can pick them up in the lab on Wednesday afternoons.
You will write robot programs on PCs in the Robotics lab on the first floor of Sproul (next to the Sun lab). There will be four teams and only two PCs so please be aware that you will need to share the equipment. The programs will be written in Micro C, a simplified version of C, and no previous knowledge of C is required. The robots will be constructed from Lego Technic parts and controlled with miniboards based on the MC68HC11 processor.
05% Class Participation
05% Leading class discussion
15% Written responses to reading assignments
15% Written lab reports
40% Lab assignments
20% Final exam
The reading should be done before class meets that week.
Week 1
Reading: None
Lecture: Introduction to Robotics
Lab: Lego gearing
Week 2
Lecture: Introduction to Lab
Reading: Miniboard reference (1-26)
Lab: Testing sensors and Programming robots
Week 3
Lecture: Deliberative Methods of Control
Reading: none
Lab: Mobile robot base
Week 4
Lecture: Reactive Methods of Control
Reading: DAA: Maes, Editorial and Vehicles: 1-4
Lab: Implement Braitenverg vehicles 2&3
Week 5
Lecture: Building Complexity Bottom-up
Reading: DAA: Agre & Chapman and Vehicles: 5-9, 10-14
Lab: Bumper sensors, obstacle avoidance
Week 6
Lecture: Current State of the Art
Reading: Packet: Nourbakhsh et. al., Thorpe
Week 7
*** FALL BREAK ***
Week 8
Lecture: Subsumption Architecture
Reading: DAA: Brooks
Lab: Light seeking with obstacle avoidance
Week 9
Lecture: Modeling Animals
Reading: DAA: Beer et. al., Anderson & Donath, Packet: Walter
Lab: Periodic light seeking and avoiding
Week 10
Lecture: Reasoning with Perceptions
Reading: DAA: Steels, Payton
Lab: Tethering robots, Turbo C
Week 11
Lecture: Introduction to Learning
Reading: none
Lab: Learn previous tasks
Week 12
Lecture: Reinforcement Learning
Reading: none
Lab: Learn previous tasks
Week 13
Lecture: Neural Networks
Reading: none
Lab: Compare learned solutions to programmed solutions
Week 14
Lecture: Neural Networks combined with Genetic Algorithms
Reading: none
Lab: none
Week 15
Lecture: Philosophy
Reading: Packet: Brooks, Kirsh
Lab: none