CS91: Building Intelligent Robots
Swarthmore College
Fall 1995


Professor: Lisa Meeden
Office Hours: Tuesday, Thursday 2:00-4:00 or by appointment
Class meetings: Monday 1:15-4:00, Sproul 31 and Robotics Lab
Help sessions: Once a week for 2 hours, TBA
Texts:


Overview

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.

Grading

05% Class Participation
05% Leading class discussion
15% Written responses to reading assignments
15% Written lab reports
40% Lab assignments
20% Final exam

Schedule

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