CMSC 422: PROGRAMMING ROBOTS
Catalog Description
An examination of progamming issues
involved in creating
autonomous robots, which can interact with their environments in
"intelligent" ways. Topics include traditional robotics, behavior-based
robotics, sensor processing, sensor-based control, programming robotic
behaviors. Team programming project. Not for credit in graduate program
for Computer Science.
Objective
Students will learn how to program
robotics applications through a series of
lectures and demos and through a set of programming assignments using
simulated and real robots.
These parts will be a combination of electronics, Lego$^{TM$ and
electrical parts.
Prerequisites
CMSC 214 and permission of instructor.
Topics
- Introduction to robotics and intelligent control
- Traditional robotics\\
Kinematics, dynamics, control intelligent control
- Behavior-based robotics\\
Subsumption architecture, reactive behaviors, behavioral composition,
goal-based reasoning
- Sensor processing\\
Sensor-based control, shaft encoders
- Programming robotic behaviors\\
sensor control, multiprocessing (sensor fusion),
effector control, programming complex behaviors
- Beyond C\\
Behavior Language, Lisp-based approaches
Course Text
J. Jones and A. Flynn,
Mobile Robots: Inspiration to Implementation,
AK Peters Ltd, Wellesley, MA, 1993.
Typical Grading and Workload
Programs are written in Interactive C, a multi-processing variant of C
which can produce code which will run on a simulator and on
the microcontroller boards used to run the robots.
Assignments will be implemented by small teams of
three to four students.
Each team is responsible for creating a working robot, and
demonstrating its function. Each member of the team must also
write a separate laboratory report.
Grades are based on the demonstration and the report.
There is also a robot competition at the end of the term.
Although they are not required to
attend this playoff, students are encouraged to
participate.