| Instructor: | Ian Horswill <ian@cs.northwestern.edu> |
| TA: | Aaron Khoo <khoo@cs.northwestern.edu> |
| Meeting time: | MWF 2-3:00 |
| Location: | CS Classroom (3rd floor, CS Department) |
| Texts: | None. Just lecture notes. |
| Newsgroup: | cs.c95-robotics All course announcements will be sent to this group |
We will be using the GRL programming language. The compiler is written in scheme48, so you'll also need it. We usually run scheme (and GRL) inside of emacs. You can get these things here:
Course grades will be based on the following:
Group lab assignments 30% Individual homework assignments 30% Tests (2) 30% Group final project 10%
we reserve the right to adjust these percentages as the term progresses. There will be no final exam, however demos for the final project will take place during finals week, probably around mid-week (exact time to be determined).
| Introduction and administrivia (week 1) | |
|---|---|
| Topics: | Administration: grading, readings, safety,
getting halflife Course overview: what the course is about, what kinds of work we'll do, how robotics is different from other parts of computer science Robot demo: Hardware components, programming environment, vision system, freespace following, safety Building control systems: policies vs. programs; behaviors; behavior composition; state estimation |
| Readings: |
Introduction Scheme primer Coding clearly |
| Programming in GRL (October 2) | |
| Topics: | Brief overview of scheme Defining signals, GRL programs as parallel circuits, signal procedures |
| Readings: | GRL primer |
| Assignments: | Group assignment 0: Familiarizing yourself with the robot |
| Simple control loops (October 7) | |
| Topics: | Linear SISO control, integral action, frequency-space analysis, stability, lag and prediction, effects of non-linearities, dirty tricks for dealing with non-linearities |
| Readings: | Standard GRL library in the GRL
docs Simple control loops |
| Assignments: | Individual
assignment 1: Practice with GRL programming Group assignment 1: Wandering |
| Simple behaviors | |
| Topics: | Behaviors as guarded control loops, taxes and avoidance behaviors, following |
| Assignments: | Group assignment 2 |
| Readings: | Behavior design also lecture slides (optional) |
| Compound behaviors I: Bottom-up integration (Oct 31) | |
| Topics: | Parallelism as a means of combination, prioritization, linear combination, maximal activation, Tinbergen hierarchies |
| Readings: | Conflict resolution also lecture slides (optional) |
| Assignment: | Group
assignment 3 (due November 4) Individual assignment 2 (due November 6) |
| Compound behaviors II: Serial combination of controllers (Nov 1) | |
| Topics: | Discrete actions, a plan language, parallel combinations of serial controllers, finite-state machines, compiling the plan language to finite-state controllers |
| Readings: | Sequential control |
| Assignments: | Group assignment 4 (due November 20) |
| Flexbot Assignment (due December 4th) | |
| Quiz: | Quiz 1 Monday, November 11. In class, closed book. The quiz will cover everything up through sequential control. A practice exam is available that shows you the kinds of debugging questions we might ask, along with the answers. In addition, you should also be prepared to compare the different kinds of techniques we've discussed for combining controllers (arbitration techniques, and serial combination). However, the real quiz will be shorter than the practice quiz. |
| Symbolic control systems | |
| Topics: | Rule-based systems, explicit goals, planning, means-ends analysis, GPS, STRIPS, RAPS, GAPPS. |
| Readings: | Rule-based
control Goals, plans, and planning Means-ends analysis |
| Quiz: | Quiz 2, Monday, December 6 In class, closed book. The quiz will cover everything up through sequential control. A practice exam is available that shows you the kinds of debugging questions we might ask. Answers are here. In addition, you should also be prepared to compare the different kinds of techniques we've discussed for combining controllers (arbitration techniques, and serial combination). However, the real quiz will be shorter than the practice quiz. This quiz will contain one programming question, but we will include and relevant information on GRL, so you won't need to memorize anything. |