Course Description

Title: IFT 6757 Autonomous Vehicles (aka. Duckietown)

Instructor: Liam Paull - Office AA3341 (but probably best contact me some other way)

Class TAs: Anthony Courchesne, Rey Reza Wiyatno

Special Student: Charlie Gauthier

Email: paulll@iro.umontreal.ca

Lab Space: AA3256

Website: duckietown.org, liampaull.ca/ift6757, studium page

Background and Description:

Self-driving vehicles are poised to become one of the most pervasive and impactful applications of autonomy, and have received a great deal of attention recently.

This course considers problems in perception, navigation, planning and control, and their systems-level integration in the context of self-driving vehicles through an open-source curriculum for autonomy education that emphasizes hands-on experience. Integral to the course, students will collaborate to implement concepts covered in lecture on a low-cost autonomous vehicle with the goal of navigating a model town complete with roads, signage, traffic lights, obstacles, and citizens.

Important Note 1: Every student will be given their own robot to personalize and love for the semester.

Important Note 2: The course will be taught in conjunction with the AI Driving Olympics live competition that will take place at NeurIPS 2020. Students will submit entries to the competition as part of the class.

Important Note 3: This is a completely open source class. As a result, this class will never be the same twice since we always build on what already exists. Students who do a great job have the potential that their work will become the new repository standard for others to try and beat in subsequent iterations.

Outcomes:

The teaching objectives that we most care about are:

  • Have the students learned the basic abstractions that comprise an autonomous vehicle? For example, if they pick up a new research paper they be able to put it in context.

  • The students should understand how methods from heterogeneous disciplines such as control theory, machine learning, computer vision, and artificial intelligence are integrated together to create a complex autonomous system.

  • The students should familiarize themselves with the standard tools that are used in the class, such as Git, ROS, Docker, and others.

Syllabus:

The course will cover the theory and application of probabilistic techniques for autonomous mobile robotics with particular emphasis on their application in the context of self-driving vehicles. Topics include probabilistic state estimation and decision making for mobile robots; stochastic representations of the environment; dynamic models and sensor models for mobile robots; algorithms for mapping and localization; planning and control in the presence of uncertainty; cooperative operation of multiple mobile robots; mobile sensor networks.

Following is a list of topics discussed in the class:

  • Autonomy architectures

  • Sensors, models, and representations (projective geometry, kinematics/dynamics)

  • Computer vision (intrinsic/extrinsic calibration, illumination invariance, feature extraction, line detection, place recognition)

  • Nonlinear filtering and state estimation (Bayes filter, Kalman filter, particle filter, SLAM)

  • Navigation and planning (mission planning, motion planning and control basics)

  • Complex perception pipelines (use of object detection, reading traffic signs, and tracking)

  • Tools for making robots work (Docker, ROS, Git, network basics)

  • Reinforcement learning and sim2real transfer

  • Deep learning for perception

Details

Meeting Times: M 10:30-12:30, W 11:30am–1:30pm

Location: Online

Pre-requisites: Permission of the instructor. Please come to the first class and fill out an application and/or email the instructor to discuss.

Intended Enrollment: 18 students

Intended Degree Level: Senior Undergraduates and Graduates

Grading Scheme:

Coming soon…