Educational resources

We offer university-level classroom resources for teaching and learning robot autonomy. These materials have been used at MIT, ETH Zurich, the University of Montreal, amongst 200+ universities worldwide.

Community Resources

The Duckietown curriculum is structured in “modules”, each of which is supported by several types of materials to reinforce it.

All modules have slides. In the “Extra Materials” column below:

📚 are links to notes

📹 are links to additional videos

⚡ are links to short videos (MOOC format)

🚙 are links to learning activities to be run on in simulation and/or a Duckiebot

If you have resources you would like to share with the community, reach out to us!

Examples

Want ideas on how to structure your class?

Autonomy basics and traditional approaches

Introduction
Introduction - Duckietown
  • Duckietown project [pdf]
  • Duckietown Platform [pdf]
  • AI Driving Olympics [pdf]
Introduction - Autonomous Vehicles
  • Intro to AVs [pdf]
Introduction - Robotic Systems
  • Modern Robotic Systems [pdf]
  • Architectures [pdf]
  • Testing – part 1 [pdf]
Introduction - Software
  • Testing – part 2 [pdf]
  • Version control [pdf]
  • Containerization [pdf]
  • Networking [pdf]
  • Modern Signal Processing [pdf]
Middleware Architectures
  • Middleware and ROS [pdf]
  • Autonomy Architectures [pdf]
Modeling, Kinematics, and Dynamics
Modeling and Control
  • Representations – part 1 [pdf]
  • Modeling [pdf]
  • Odometry Calibration [pdf]
  • Intro to Control Systems [pdf]
  • Control in Duckietown [pdf]
Computer Vision
Principles of Vision
  • Computer Vision: Overview [pdf]
  • Image acquisition [pdf]
  • Pinhole Camera model [pdf]
  • Camera Calibration [pdf]
Feature Detection
  • Robust Fitting [pdf]
  • Image Filtering [pdf]
  • Image Gradients [pdf]
  • Edge and Corner Detection [pdf]
Estimation
Filtering
  • Representations – part 2 [pdf]
  • Bayes Filter [pdf]
  • Particle Filter [pdf]
  • Lane Filter [pdf]
RANSAC, Place Recognition
  • RANSAC [pdf]
  • Place Recognition [pdf]
SLAM
Planning

Advanced autonomy approaches

Multi-vehicle
Multi-vehicle Coordination
  • Coordination [pdf]
Fleet-Level Planning
  • Fleet Planning [pdf]
Autonomous Mobility on Demand
Machine Learning
ML in Robotics
  • ML in Robotics [pdf]
Reinforcement Learning
  • Reinforcement Learning [pdf]
Human-Machine Interaction and Safety
Introduction to Safety
Advanced Safety and Formal Methods
  • Advanced Safety [pdf]
Advanced Perception
Estimation from motion blur
  • Estimation from motion blur [pdf]
(Hidden Template)
  • Template [pdf]
📚 
📹 
💻 
🚙 

(hidden) Educational Resources

We have structured our curriculum in terms of “modules” where each module is supported by several types of materials to reinforce it. All modules have slides.

In the “Extra Materials” column below:
are links to notes in the duckiebook
are links to exercises in the duckiebook
are links to Jupyter notebooks in the duckiebook
are links to demos to be run on the Duckiebot
are links to additional videos that have been created

Want some ideas about how to structure your class?

Université de Montréal’s Fall 2019 syllabus
ETH Zürich Fall 2019 class outline

Topic
Lecture Slides
Lecture Recordings
Extra Materials

Autonomy Basics Material

Introduction

Introduction – Duckietown[keynote]
[pdf]
From TTIC 2017 (Matt Walter)
Introduction – Autonomous Vehicles[keynote]
[pdf]
Autonomous Vehicles
Introduction – Autonomy[keynote]
[pdf]
 
Introduction – Robotic Systems[keynote]
[pdf]
Modern Robotic Systems
From TTIC 2017 (Matt Walter)
Introduction – Systems Architectures[keynote]
[pdf]
System architecture basics
From MIT 2016 (Misha Novitzky)
Introduction – Autonomy Architectures[keynote]
[pdf]
Autonomy architectures
From MIT 2016 (Misha Novitzky)
Introduction – Representations[keynote]
[pdf]
Representations
Tools – Networking[keynote]
[pdf]
 
Tools – Version Control[keynote]
[pdf]
Git and Github
Tools – Middlewares (ROS)[keynote]
[pdf]
ROS installation and reference
Taking and verifying a log
From MIT 2016 (Shih-Yuan Liu)

Modeling, Kinematics, and Dynamics

Modeling[keynote]
[pdf]
Duckiebot modeling
From TTIC 2017 (Matt Walter)
Calibration – Odometry[keynote]
[pdf]
Wheel calibration
Signal Processing[keynote]
[pdf]
Modern signal processing

Computer Vision

Basics[keynote]
[pdf]
Basic image operations
Instagram filters
OpenCV basics
From TTIC 2017 (Matt Walter)
Augmented Reality
From TTIC 2017 (Matt Walter)
Feature Extraction[keynote]
[pdf]
 
Line Detection[keynote]
[pdf]
From TTIC 2017 (Matt Walter)
Place Recognition[keynote]
[pdf]
From TTIC 2017 (Matt Walter)
RANSAC[keynote]
[pdf]
 
Camera Calibration[keynote]
[pdf]
Camera calibration and validation

Estimation

Bayes Filter[pptx]
[pdf]
Probability basics
From TTIC 2017 (Matt Walter)
From MIT 2016 (John Leonard)
From MIT 2016 (Liam Paull)
Particle Filter[pptx]
[pdf]
Particle Filter
Lane Filter[pptx]
[pdf]
Lane Following
Kalman Filter[pdf]Lane Filtering – Extended Kalman Filtering
SLAM[keynote]
[pdf]
From TTIC 2017 (Matt Walter)

Planning and Control

Control[pptx]
[pdf]
Make Way for Duckiebots
Lane Following
Motion Planning[pptx]
[pdf]
Indefinite Navigation

Testing

Testing, Validation, Verification[keynote]
[pdf]
Who watches the watchmen?

Advanced Autonomy Material

Multi-Vehicle

Multi-Vehicle Coordination[pptx]
[pdf]
 
Fleet-level Planning[keynote]
[pdf]
Fleet planning
Introduction to Autonomous Mobility on Demand[keynote]
[pdf]
 

Machine Learning

Machine Learning and Deep Learning – Introduction[Google slides]How to install PyTorch on the Duckiebot
How to install Caffe and Tensorflow on the Duckiebot
How to use the Neural Compute Stick
Models vs. Data[keynote]
[pdf]
 
End-to-End Imitation Learning[pdf]Lane control with supervised learning
Sim to Real Transfer[Google slides] 

Human-Machine Interaction and Safety

Introduction to Safety[pptx]
[pdf]
 
Advanced Safety and Formal Methods[pptx]
[pdf]
 

Advanced Perception

Estimation from Motion Blur[pptx]
[pdf]