CS226 Statistical Techniques in Robotics


CS 226 is a graduate-level course that covers statistical techniques in robotics.

Probabilistic robotics is a hot research area in robotics these days. In the 1980, the dominant paradigm in robotics was model-based. In the 1990s, the paradigm shifted to behavior based. Now one of the key new direction in robotics takes place at the intersection of statistics and robotics. Statistical techniques define the state of the art in many robotic applications. They are robust in practice, and they also have a sound mathematical basis.

The goal of this course is to expose you to the basics in probabilistic robotics. Successful students will be able to understand the mainstream literature, derive and prove the correctness of statistical algorithms, and have gained in-depth experience with practical statistical algorithms.

As in past years, we seek to leverage student projects to a conference-publishable level. You can find the Web page for a previous version of this course here.

Who Should Attend?

The course should be of interest to anyone seeking to develop robust robot software, and anyone who is interested in real-world applications of statistical theory. Students participating in this course will acquire the skill of developing robust software for robots operating in real-world environments, and understanding the mathematical underpinnings of their software. Even though this course focuses on mobile robotics, the techniques covered in this course apply to a much brooder range of embedded computer systems, equipped with sensor and actuators.


The course involves three types of activities:
  • FAQive classroom sessions, where students together with the instructor explore the basic mathematical foundations behind a range of popular robotics algorithms. Some of the sessions will take the form of traditional-style teaching, whereas others will be dedicated to brainstorming on challenging open problems.
  • Homework assignments will provide an opportunity to deepen the problem solving skills acquired in class.
  • Robot programming assignments will enable students to develop practical robot software, while deepening their understanding of the relation of mathematical calculus and the "real world."


This is an advanced graduate level course. Familiarity with basic statistical concepts (Bayes rule, PDFs, Kalman filters, continuous distributions...) will be helpful for this course, as will be hands-on experience with software development in C or C++. But the most important prerequisite will be creativity and enthusiasm, and a desire to explore.

Course overview
Time and location
Course materials