11001Robot001100Robot11100 000Robot0000101010000Robot1001111111

CS189: Autonomous Robotic Systems

Building autonomous robotic systems requires understanding how to make robots that observe, reason, act and coordinate. Many programming and engineering principles come into play. For example, how to make sense of noisy and limited sensor inputs, how to control one's actions reliably and recover from failures, when to reason about the world and when to just react, how to balance short-term problems versus long-term goals, and how to efficiently coordinate to with others. Integrating these components into a working system requires other skills, for example how to compose many parallel behaviors into a modular and reusable software architecture.Ultimately though, the goal is to create embodied artificial intelligence: robots that solve complex problems without human intervention.

Fall 2013: a.k.a. We Love Robots!

WATCH the Class Video!
Course Website (2013) Course Website (2014)

We will study these questions using the E-puck robot platform. In the first third of the course we will concentrate on low-level autonomous control concepts, such as motion control, camera vision, and finite state machine controllers. You will create a robot that collects pucks and takes them to its nest, and gets a score based on how many pucks it collects vs its opponent. In the second third of the course, we will focus on higher-level autonomy for single robots, especially navigation tasks such as localization, coverage, and mapping. In this section, you will create a robot that can explore an unknown shaped environment and produce a map of that environment. Finally in the last third of the course, we will work on multi-robot control, in the context of a competition: The battle for Middle Earth begins!

Spring 2011: a.k.a. Can Robots Play Soccer?

Link to Course Website     OR     WATCH our class video!

In this first offering, we studied these questions in the context of a semester-long project to develop an Autonomous Robot Soccer Team. In the robot soccer competition, two teams of 5 robots compete against each other with rules that closely mimic real soccer. One key focus is the artificial intelligence that allows the team to choose actions and responses to an opponent during the game, without any human intervention. Another key focus is the design of a high-performance real-time hardware-software system. The goal of this course was to get a hands-on experience with the design and execution of a robotics engineering project, that combines CS sophistication with the uncertainty and complexity of hardware operating in the real world. Read more about how the course went on the website!

CS199r, Spring 2009: Special Topics in Computer Science

Course Website

Prior to cs189, we offered a version of this class in 2009 as a Special Topics class. The theme of the class was autonomous robot soccer, but the focus was on the low-level control for the robots (network, vision, low-level feedback control, etc). We also co-hosted the US Open Small-Size League at Harvard at the Hilles Penthouse, with teams from CMU and Georgia Tech Tech.