Self-Driving Cars with Duckietown

Schliessen Icon

Duckietown's Self-Driving Cars MOOC is the pioneering robot autonomy online course, allowing global learners to engage with real hardware robots. The digital-physical-social learning environment, fostered by an international community, focuses on autonomous decision-making in robotics. With hands-on activities using model self-driving cars, the course facilitates effective learning and critical reflection. Originating from ETH Innovedum support, this trailblazing project, initiated pre-pandemic, has garnered approximately 10,700 enrollments by September 2023. Beyond robotics, the open learning ecosystem offers versatility for teaching various technology-related subjects like computer vision, coding, networks, modeling, control, recursive estimation, planning, and machine learning.

“Self-Driving Cars with Duckietown” is a massive open online course (MOOC), originally funded by ETH Innovedum, made in collaboration with international universities, built on the Duckietown technological platform and offered through edX, online.

The course is focused on the science and technology of robot autonomy, i.e., how to make machines take their own decisions. It offers a “grand-tour” of modern robotics, with the main intended learning outcome to convey the system level challenges of autonomy and make learners become proficient with the tools and workflows to address them in the real world.

Robot autonomy is a complex, multidisciplinary field, as “atoms and bits” must come together to obtain positive outcomes. Software and hardware, along with the science of autonomy, the technological challenges of implementation, the chosen tools to do so, the environments in which learning happens and the tasks that robots are to accomplish all must carefully align for things to “work”. Teaching robot autonomy through an online course presents additional challenges, notably the low average attention span, which for online learners is typically shorter than for in person classes. To address these challenges, we have deployed a learning ecosystem that is at the same time digital, physical, and social.

Learners interact with all the pedagogical resources online, with the course divided in modules, or «Learning Experiences» (LXs). LX are designed to be self-contained sets of different learning activities revolving around a certain topic, the equivalent of a week of a typical in-person course. The activities in each LX are designed to stimulate students in different ways: from short videos with activation tasks (e.g., quizzes), instruction sets with active checkpoints, interactive Jupyter-notebook based coding tutorials that work in simulation and on real-world robots, «homeworks» that get automatically assessed on the cloud offering (near) real time feedback, to pointers to additional resources for the most curious learners.

A distinctive element to reinforce the curriculum in the course is the presence of physical (model) self-driving cars: the Duckiebots. Duckiebots are available internationally and are tightly integrated in the Duckietown learning ecosystem, enabling seamless implementation of the LXs in the real-world. To the best of the instructors› knowledge, this course was the world’s first (and to date, only) robot autonomy MOOC with hardware. This hands-on learning is ideal for transferring competence to learners and having them critically reflect on the outcomes, and is particularly relevant in a robotics course where working with real robots is a fundamental part, albeit often neglected, of the learning process.

Learners are encouraged to interact with one-another and with the teaching staff, for clarifications and support, through several channels. For technical questions and answers, learners can access a private Stack Overflow space, which is a well known forum-like environment for Q&As in the software development community. As learners ask questions and receive answers from both their peers and the staff, a rich historical database of problems and solutions is created, which progressively reduces the time-requirement from the teaching staff for support while providing a great resource for learners. Moreover, students are encouraged to join the Duckietown Slack, a real-time communication environment where the community lives, and questions and answers can be provided in a more dynamic setting. These channels offer the opportunity for both communicating, receiving support, and encouraging the students to actively participate in the learning activities.

An additional feature of the course is the automatic grading of student assignments. Each LX in the course has a Jupyter notebook-based exercise, or «challenge», which is evaluated online. Learners can code their assignments, test them locally on a custom built Duckietown simulator, and once happy with the result submit them for grading on the «challenges server». This infrastructure provides a public leaderboard for each challenge with ordering based on a set of performance metrics, while at the same time providing technical insights on the performance of the submitted agent for the specific task. This infrastructure provides results a few minutes after submission, providing quick feedback to students, while introducing at the same time an element of gamification, which is a proven way to increase motivation and retention for online students.

Despite the teaching challenges, offering a course fully online presents opportunities too, e.g., related to the permanence and accessibility of the learning materials. After the initial effort to create the LXs and underlying infrastructure, it is possible to deliver iterations of the course virtually without additional active teaching, while focusing on providing support instead.


ETH Competence Framework