Welcome to the webpage for Self-driving Vehicles: Models and Algorithms for Autonomy (TTIC 31240), which is informally known as “Duckietown”. This is the first time that the course is being offered at TTIC, following the extremely successful first edition at MIT in 2016.

Read below about what makes this a special class.

We are looking for people to help with the course. Please see the available positions below.

Duckietown MIT Duckietown Duckiebot

For students interested in taking the class

The number of spots available is extremely limited due to resource constraints (e.g., each student gets a robot). Consequently, registration is subject to instructor approval.

Please read this page thoroughly and sign up only if you think the class is right for you. If you are not sure whether you would like to take the class, we would encourage you to:

If you’d like to register for the course, you must first complete this questionnaire, which helps us fine-tune the class to your background. Please be verbose with the long-answer questions and include anything that might help you stand out. This class is a collaborative learning experience and we’re looking for a good mix of talents and personalities.

We invite everyone to come to the first class on Monday September 25 at 9:00am in TTIC Room 530. We will decide on enrollment following the first class.

Note that there are no official prerequisites for the course and, while desirable, previous experience with robotics is not required. However, a strong background in programming is important, and at least a basic familiarity with computer vision and estimation are beneficial.

NB: You need to have your own laptop to take this course, and you need to be willing to install a fresh Ubuntu 16.04 partition on it for the duration of the class (we can help you with this)

For non-students who want to get involved

University Professors and Postdocs in the Chicago area

We are looking for excellent guest lectures to include in the class. Lecture topics are flexible, but if you see something that is already in the syllabus then that’s even better. Please contact me asap if you are interested.

Additionally, we are looking for people to act as mentors in the course project phase of the class. In the MIT version, we had about 15 or so of these magical mentors helping with the class. It is not impossible that you get your name on a paper out of it! (But no promises..). Please contact me asap.

Anyone else who wants to help

We have many needs from small to large. Whatever your expertise, it is likely that we can use your help. Not least of all would be other students who want to act as teaching assistants. Please contact me asap.


See the official course syllabus for more details on the class.

Dates and times

Lecture times:

Monday 9am-11am TTIC 530
Wednesday9am-11am TTIC 530


Learning assistants:

  • Andrea Daniele
  • Zhongtian (Falcon) Dai
  • Jonathan Michaux

We are looking for more learning assistants. Please contact Matthew Walter if you are interested.

Guest lecturers:

  • TBD
  • TBD

We are looking for postdocs to give guest lectures on their specialties. Please contact Matthew Walter if you are interested.


The grade is based on:

  • the realization of a project (percentage TBD);
  • a project report (percentage TBD); and
  • a project presentation (percentage TBD). The projects will be group-based, but we will assess the contribution of each student individually.


  • Familiarity with the GNU/Linux development environment.
  • Access to a laptop with Ubuntu 16.04 installed.

The most relevant course at TTIC is:

  • Planning, Learning, and Estimation for Robotics and Artificial Intelligence (aka Robot Learning and Estimation). If you cannot get into Self-driving Vehicles: Models and Algorithms for Autonomy, the Robot Learning and Estimation class will give you a solid introduction to robotics. Because the content and format are different than this course, it would be most beneficial to take Robot Learning and Estimation first, but the two can be taken in either order.

What makes this a special class?

Class philosophy

The best engineers are the ones who have solid theoretical foundations as well as practical experience.

In autonomous robotics, it is important to also get the “feeling” of what actually makes a robot work. The way to do this is not to study every component in isolation, but rather to integrate the components as part of a complex system.

For more information about the class philosophy, please refer to this paper:

Jacopo Tani, Liam Paull, Maria Zuber, Daniela Rus, Jonathan How, John Leonard, and Andrea Censi. Duckietown: an innovative way to teach autonomy. In EduRobotics 2016. Athens, Greece, December 2016. pdf

A personal experience

Each student gets their own personal Duckiebot and can bring it home.

Collaboration/competition with twin institutions

This class is offered at the same time at two others institutions:

The three institutions will develop the autonomous fleets together, and there will be a (very friendly) competition at the end.


We are grateful to TTIC, whose support made this class possible.