About this courseSkip About this course
Autonomy and AI are all around us, revolutionizing our daily lives. Autonomous vehicles have a huge potential to impact society in the near future. Have you ever wondered how autonomous vehicles cars really work?
With this course, you will start from a box of parts and finish with a scaled self-driving car that drives autonomously in your living room. In the process, you will use state-of-the-art approaches, the latest software tools and real hardware in an engaging hands-on learning experience.
Self-driving cars with Duckietown is a practical introduction to vehicle autonomy. It explores real-world solutions to the theoretical challenges of automation, including their implementation in algorithms and their deployment in simulation as well as on hardware. Using modern software architectures built with Python, Robot Operating System (ROS) and Docker, you will appreciate the complementary strengths of classical architectures and modern machine learning-based approaches. The scope of this introductory course is to go from zero to having a self-driving car safely driving on a road.
This course is presented by Professors and Scientists who are passionate about robotics and accessible education. It uses the Duckietown robotic ecosystem, an open-source platform created at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) and now used in over 80 universities worldwide.
We support a track for students to deploy their solutions in a simulation environment and an option for learners to engage in the tangible, hands-on learning experience by procuring a low-cost Jetson Nano-powered Duckiebot kit, e.g., from here.
This course is made possible thanks to the support of the Swiss Federal Institute of Technology in Zurich (ETH Zurich), in collaboration with the University of Montreal (Prof. Liam Paull), the Duckietown Foundation, and the Toyota Technological Institute at Chicago (Prof. Matthew Walter).
What you'll learnSkip What you'll learn
After this course you will be able to program your Duckiebots to navigate (without accidents!) in road lanes of a model city with rubber-duckies-pedestrians-obstacles using predominantly computer vision based techniques. Moreover, you will:
recognize essential robot subsystems (sensing, actuation, computation, memory, mechanical) and describe their functions
make your Duckiebot drive in arbitrary user-specified paths
understand how to command a robot to reach a goal position
make your Duckiebot do autonomous decision making according to "traditional approaches" (estimation, planning, control)
make your Duckiebot do autonomous decision making according to "modern approaches" (imitation learning, reinforcement learning, deep learning)
process streams of images
be able to set up an efficient software environment for robotics with state of the art tools (Docker, ROS, Python)
program your Duckiebot and make it safely drive in empty roads lanes
program your Duckiebot and make it recognize obstacles such as rubber duckies
program your Duckiebot and make it them avoid obstacles such as rubber duckies
program your Duckiebot and make it safely drive down roads with pedestrian duckies
Additional goals (require hardware)
independently assemble a Duckiebot and a Duckietown
remotely operate your Duckiebot and see with its eye(s)
be able to discuss differences between theory, simulation and real word implementation for different approaches
Meet your instructors
Course created with support from
Pursue a Verified Certificate to highlight the knowledge and skills you gain$50 USD
Official and Verified
Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects
Add the certificate to your CV or resume, or post it directly on LinkedIn
Give yourself an additional incentive to complete the course
Support our Mission
EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. EdX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.