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

  1. Introduction to robotics and intelligent control
  2. Traditional robotics\\ Kinematics, dynamics, control intelligent control
  3. Behavior-based robotics\\ Subsumption architecture, reactive behaviors, behavioral composition, goal-based reasoning
  4. Sensor processing\\ Sensor-based control, shaft encoders
  5. Programming robotic behaviors\\ sensor control, multiprocessing (sensor fusion), effector control, programming complex behaviors
  6. 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.