CS 485 / 001

Autonomous Robotics


Sean Luke


Tuesday and Thursday 12:00–1:15 PM, in Robinson Hall B204 (for the moment)


CS 310, 262, and 203. Be warned that this will be a difficult course.

About the Class

This course will cover a variety of topics in autonomous robotics, including but not limited to: basics in robot hardware, kinematics, dynamics and controls, agent architectures and behavior-based robotics, sensing and locomotion, planning, and multirobotics.

The course will involve projects working directly with robots of different kinds. Depending on class size, such projects may or may not be done by teams. The primary programming language will be C (or basic C++); but other languages will be used and you are expected to be able to come up to speed rapidly with languages you are unfamiliar with (such as Lua or Lisp).


At present there is no text: however things may change before the class begins.

Course Web Page



This course will consist of homework and projects, possibly including a final project, and two non-cumulative exams. The breakdown will be approximately:
Homework and Projects 50% with higher weight given to harder projects
Exams 25% Each
There will be no make-up tests for missed examinations. Penalties for lateness are severe. Late homework will be accepted but at a loss of 20% per day (homework later than 4 days, or after the last day of class, is worth nothing).

Honor Code

The class enforces the GMU Honor Code, and the more specific honor code policy special to the Department of Computer Science. You will be expected to adhere to this code and policy.


If you have a documented learning disability or other condition which may affect academic performance, make sure this documentation is on file with the Office of Disability Services and come talk to me about accommodations.


  1. An ability to interact with basic robot hardware at a physical and system level, such as various microcontrollers, sensors, effectors, mechanics, and software architectures.
  2. An ability to design and deploy basic forms of robot control.
  3. An ability to apply basic concepts in kinematics and dynamics to different kinds of autonomous robots.
  4. An ability to apply and combine advanced concepts in autonomous robotics, such as motion and trajectory planning, localization, task planning, learning and adaptation, modeling, and perception.
  5. An ability to implement robotics algorithms on physical robots.