Self-driving cars with Duckietown
The project
«Self-Driving Cars with Duckietown» is the first self-driving cars massive open online course (MOOC) where learners can use a real, hardware, model self-driving car to learn about vehicle autonomy. Covering from fundamentals of autonomy and automation to modeling, control, estimation, object detection, and planning, using simulation as well as real hardware self-driving cars, «Self-Driving cars with Duckietown» provides a hands-on «grand tour» of robotics and AI, focusing on the interconnection of all the sub-disciplines involved in making these complex systems operate autonomously rather than diving in-depth in any one of them.
The main motivation for this course was to provide the broadest possible access to hands-on learning in the fields of robotics and AI because learning happens by doing and robots are inherently physical, providing real-world vehicle autonomy challenges for the learners to solve while streamlining the nitty-gritty complexity of robotics implementation through the Duckietown infrastructure.
Implementation into teaching practice
«Self-Driving Cars with Duckietown» is the first of an intended sequence of courses to compose an online hands-on specialization in vehicle autonomy. The course was designed to have students go from installing Ubuntu on their computers to having a self-driving car (simulated and/or real) navigate a model urban environment with pedestrian-like obstacles (rubber duckies).
The course was deployed through a sequence of learning modules. Each learning module was characterized by a theoretical component presented through 3-6 short videos, followed by a sequence of software activities illustrating the practical implementation of the theoretical concepts. These software activities were divided into tutorials, or guided introductions to the problem where learners had to «fill in the blanks»‹ with solutions provided on the side, and actual exercises. Exercises were deliverables and designed to use concepts and functions from the activities to create functional robotic agents to be run on simulated and physical Duckiebots. No solutions were provided for the exercises, and the submissions were automatically graded online in a provided cloud-based simulator.
The course was prepared as an international collaboration with support from the University of Montreal (Prof. Liam Paull), the Duckietown Foundation, and the Toyota Technological Institute at Chicago (Prof. Matthew Walter).
Lessons learned and further impacts
This was the first iteration of a one-in-a-kind, «experimental grand-tour of vehicle autonomy» MOOC, where learners were exposed to the theory and implementation, both in simulation and on real-world hardware, of self-driving cars. The project goals were to (i) provide a curriculum that could tie the main themes of vehicle autonomy in a MOOC format, (ii) produce a stable working environment (software and hardware) that would work for the very diverse audience, and (iii) enable learners to leverage the Duckietown hardware ecosystem in a way that would be harmonized and reinforce the learning activities proposed.
Overall, albeit with technical and organizational challenges, the project goals were mostly achieved. 90% of the intended curriculum was covered; the technical ecosystem worked consistently, and tutorial activities and exercises were designed with an interface that worked smoothly between simulation and real-world interfaces, greatly enhancing the user experience.
We underestimated the time necessary for the instructors to complete the learning modules as well as learners to complete them, which led to schedule delays with respect to the nominal plan. In future editions, we will allocate more time for each course week and possibly further break down the syllabus over multiple courses to provide more concise learning experiences, better aligned with the MOOC delivery format.
One of the biggest challenges was supporting the diversity of the learning audience: ranging from field professionals (in academia and industry) to students or professionals in different (even non-STEM) fields.
The tools put in place for providing technical support (Stack Overflow private community) worked well to address the particular concerns of learners, and as an additional benefit, we created a knowledge database that will greatly reduce the future need for technical support. An unexpected benefit was seeing how learners contributed to help their peers in addressing technical challenges, which was great.
Another component of the course that worked well was the «evaluations» pipeline, a cloud and simulation-based infrastructure that allowed learners not only to receive virtually immediate feedback on the outcomes of their learning activities but even to compare – across high-level performance metrics defined for each challenge – their work with that of their peers. This soft «competition» motivated students to iteratively refine their homework submissions and ultimately spend more time learning.
In conclusion, this first edition of the course was a massive learning experience for both learners and instructors and it will be a solid base to build upon for future iterations.