Course Information
Instructor | Man-Ki Yoon |
Class Room | 1229 EB2 |
Class Hours | M/W 4:30–5:45 pm |
Office Hours | M/W 3:30–4:30 pm (3254 EB2 or Zoom) |
Teaching Assistant | Dhruva Ungru Pulithaya, Yuheng Zhu |
Online Tools | Moodle, Slack, GitHub |
Course Description
This course explores the theory and practice of building self-driving cars using advanced computing technologies. It aims to provide students with opportunities to i) understand the introductory theory that enables autonomous driving and ii) gain extensive hands-on experience with various software and hardware tools. Topics include robotics software programming, sensor fusion, control theory, and introductory perception, planning, and navigation techniques using machine learning and computer vision. Over the course of the semester, students work in small groups to design and build software systems for miniaturized self-driving cars that autonomously navigate an indoor track resembling real road environments. Students demonstrate their learned skills through the final driving showcase.
Prerequisites
MA 305 (Introductory Linear Algebra and Matrices), ST 370 (Probability and Statistics for Engineers), and programming competence in Python in Linux environment.
Course Materials
Lecture Notes
Lecture notes will be uploaded on Moodle.
Optional Textbooks
There is no required textbook, and the following books are optional:
R. Siegwart, I. Nourbakhsh, D. Scaramuzza, Introduction to Autonomous Mobile Robots, 2/e, The MIT Press (2011).
S. Thrun, W. Burgard, D. Fox, Probabilistic Robotics, The MIT Press (2005).
Course Structure and Grading Policy
The table below shows the percentage-based breakdown of how each requirement will factor into the overall grade.
Programming Assignments (5 PAs) | 80% |
Exam (1 x 20%) | 20% |
Total | 100% |
See here for attendance and late assignment policies.