New!
Nanodegree Program

Self-Driving Car Engineer

Self-driving cars are transformational technology, on the cutting-edge of robotics, machine learning and engineering. Learn the skills and techniques used by self-driving car teams at the most advanced technology companies in the world.
Enroll Now
  • DAYS
  • HRS
  • MIN
  • SEC
  • Estimated Time
    5 Months

    At 10 hours/week

  • Enroll by
    December 1, 2021

    Get access to the classroom immediately on enrollment

  • Prerequisites
    Python, C++, Linear Algebra and Calculus
Built in partnership with
  • Waymo
  • Mercedes-Benz

What You Will Learn

Syllabus

Self-Driving Car Engineer

In this program, you will learn the techniques that power self-driving cars across the full stack of a vehicle’s autonomous capabilities. Using Deep Learning with radar and lidar sensor fusion, you will train the vehicle to detect and identify its surroundings to inform navigation.

Learn the techniques that power self-driving cars across the full stack of a vehicle’s autonomous capabilities. Using Deep Learning with radar and lidar sensor fusion, you will train the vehicle to detect and identify its surroundings to inform navigation.

Related Nanodegrees
Prerequisite Knowledge

Python, C++, Linear Algebra and Calculus.

  • Computer Vision

    In this course, you will develop critical Machine Learning skills that are commonly leveraged in autonomous vehicle engineering. You will learn about the life cycle of a Machine Learning project, from framing the problem and choosing metrics to training and improving models. This course will focus on the camera sensor and you will learn how to process raw digital images before feeding them into different algorithms, such as neural networks. You will build convolutional neural networks using TensorFlow and learn how to classify and detect objects in images. With this course, you will be exposed to the whole Machine Learning workflow and get a good understanding of the work of a Machine Learning Engineer and how it translates to the autonomous vehicle context.

  • Sensor Fusion

    In this course, you will learn about a key enabler for self-driving cars: sensor fusion. Besides cameras, self-driving cars rely on other sensors with complementary measurement principles to improve robustness and reliability. Therefore, you will learn about the lidar sensor and its role in the autonomous vehicle sensor suite. You will learn about the lidar working principle, get an overview of currently available lidar types and their differences, and look at relevant criteria for sensor selection. Also, you will learn how to detect objects such as vehicles in a 3D lidar point cloud using a deep-learning approach and then evaluate detection performance using a set of state-of-the-art metrics. In the second half of the course, you will learn how to fuse camera and lidar detections and track objects over time with an Extended Kalman Filter. You will get hands-on experience with multi-target tracking, where you will learn how to initialize, update and delete tracks, assign measurements to tracks with data association techniques and manage several tracks simultaneously. After completing the course, you will have a solid foundation to work as a sensor fusion engineer on self-driving cars.

  • Localization

    In this course, you will learn all about robotic localization, from one-dimensional motion models up to using three-dimensional point cloud maps obtained from lidar sensors. You’ll begin by learning about the bicycle motion model, an approach to use simple motion to estimate location at the next time step, before gathering sensor data. Then, you’ll move onto using Markov localization in order to do 1D object tracking, as well as further leveraging motion models. From there, you will learn how to implement two scan matching algorithms, Iterative Closest Point (ICP) and Normal Distributions Transform (NDP), which work with 2D and 3D data. Finally, you will utilize these scan matching algorithms in the Point Cloud Library (PCL) to localize a simulated car with lidar sensing, using a 3D point cloud map obtained from the CARLA simulator.

  • Planning

    Path planning routes a vehicle from one point to another, and it handles how to react when emergencies arise. The Mercedes-Benz Vehicle Intelligence team will take you through the three stages of path planning. First, you’ll apply model-driven and data-driven approaches to predict how other vehicles on the road will behave. Then you’ll construct a finite state machine to decide which of several maneuvers your own vehicle should undertake. Finally, you’ll generate a safe and comfortable trajectory to execute that maneuver.

  • Control

    This course will teach you how to control a car once you have a desired trajectory. In other words, how to activate the throttle and the steering wheel of the car to move it following a trajectory described by coordinates. The course will cover the most basic but also the most common controller: the Proportional Integral Derivative or PID controller. You will understand the basic principle of feedback control and how they are used in autonomous driving techniques.

Icon - Dark upwards trend arrow

As a self-driving car engineer, you have the potential to help save over 1 million people per year!

All Our Programs Include

Real-world projects from industry experts

Real-world projects from industry experts

With real world projects and immersive content built in partnership with top tier companies, you’ll master the tech skills companies want.
Technical mentor support

Technical mentor support

Our knowledgeable mentors guide your learning and are focused on answering your questions, motivating you and keeping you on track.
Career Services

Career services

You’ll have access to resume support, Github portfolio review and LinkedIn profile optimization to help you advance your career and land a high-paying role.
Flexible learning program

Flexible learning program

Tailor a learning plan that fits your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.
Program OfferingsFull list of offerings included:
Enrollment Includes:
Class Content
Content Co-created with Mercedes-Benz
icon-checkmarkCheckmark
Real-world projects
icon-checkmarkCheckmark
Project reviews
icon-checkmarkCheckmark
Project feedback from experienced reviewers
icon-checkmarkCheckmark
Student Services
Technical mentor support
New
icon-checkmarkCheckmark
Student community
Improved
icon-checkmarkCheckmark
Career services
Resume support
icon-checkmarkCheckmark
Github review
icon-checkmarkCheckmark
Linkedin profile optimization
icon-checkmarkCheckmark
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Get timely feedback on your projects
Reviews By the numbers
1,400+ project reviewers
2.7M projects reviewed
88/100 reviewer rating
1.1 hours avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
Mentors available to answer your questions
Mentors by the numbers
1,400+ technical mentors
0.85 hours median response time
Mentorship Services
  • Support for all your technical questions
  • Questions answered quickly by our team of technical mentors

Learn with the best

Thomas Hossler
Thomas Hossler

Sr Deep Learning Engineer

Thomas is originally a geophysicist but his passion for Computer Vision led him to become a Deep Learning engineer at various startups. By creating online courses, he is hoping to make education more accessible. When he is not coding, Thomas can be found in the mountains skiing or climbing.

Antje Muntzinger
Antje Muntzinger

Self-Driving Car Engineer

Antje Muntzinger is a technical lead for sensor fusion at Mercedes-Benz. She wrote her PhD about sensor fusion for advanced driver assistance systems and holds a diploma in mathematics. By educating more self-driving car engineers, she hopes to realize the dream of fully autonomous driving together in the future.

Andreas Haja
Andreas Haja

Professor

Andreas Haja is an engineer, educator and autonomous vehicle enthusiast with a PhD in computer science. Andreas now works as a professor, where he focuses on project-based learning in engineering. During his career with Volkswagen and Bosch he developed camera technology and autonomous vehicle prototypes.

Aaron Brown
Aaron Brown

Senior AV Software Engineer

Aaron has a background in electrical engineering, robotics and deep learning. Currently working with Mercedes-Benz Research & Development as a Senior AV Software Engineer, he has worked as a Content Developer and Simulation Engineer at Udacity focusing on developing projects for self-driving cars.

Munir Jojo Verge
Munir Jojo Verge

Lead Autonomous & AI Systems Developer at MITRE

Before MITRE, Munir was a Motion Planning & Decision-Making Manager at Amazon. He also worked for a 2 Self-driving car companies and for WaltDisney Shanghai building TronLightcycle. Munir holds a B.Eng. in Aerospace, a M.S. in Physics, and a M.S. in Space Studies.

Mathilde Badoual
Mathilde Badoual

Fifth year PhD student at UC Berkeley

Mathilde has a strong background in optimization and control, including reinforcement learning and has an engineering diploma from the electrical engineering school Supelec, in France. Previously she worked at Tesla in the energy and optimization team.

David Silver
David Silver

Senior Software Engineer

Prior to working as a Senior Software Engineer in the autonomous vehicle industry, David Silver led School of Autonomous Systems at Udacity. David was also a research engineer on the autonomous vehicle team at Ford. He has an MBA from Stanford, and a BSE in computer science from Princeton.

Self-Driving Car Engineer Nanodegree

Get Started Today

  • Monthly Access

    Pay as you go


    per

    /

    /

    Enroll Now
    • Maximum flexibility to learn at your own pace.
    • Cancel anytime.
  • - access

    Pay upfront and save an extra 0%


    for - access

    Enroll Now
    • Save an extra 0% vs. pay as you go.
    • 5 months is the average time to complete this course.
    • Switch to monthly price after if more time is needed.
    • Cancel anytime.
    Best Value
  • Learn

    Power self-driving vehicles by implementing detection, classification, prediction and path planning.
  • Average Time

    On average, successful students take 5 months to complete this program.
  • Benefits include

    • Real-world projects from industry experts
    • Technical mentor support
    • Career services

Program Details

PROGRAM OVERVIEW - WHY SHOULD I TAKE THIS PROGRAM?
  • Why should I enroll?
    The Self-Driving Car Engineer Nanodegree program is one of the only programs in the world to both teach students how to become a self-driving car engineer, and support students in obtaining a job within the field of autonomous systems. The program’s projects equip students with invaluable skills across a wide array of critical topics, including computer vision, sensor fusion, localization, motion control, and more. As part of their capstone project, students have the opportunity to run their code on the open source simulator CARLA.
  • What jobs will this program prepare me for?
    Our wide-ranging curriculum will prepare you for a variety of roles in the autonomous vehicle industry, including: System Software Engineer, Deep Learning Engineer, Vehicle Software Engineer, Localization and Mapping Engineer and many others. If you elect to work outside of automotive engineering, your foundation in deep learning and robotics will enable you to fill any number of related roles in artificial intelligence, computer vision, machine learning, and more.
  • How do I know if this program is right for me?
    This advanced Nanodegree program is ideal for anyone with a programming, technical, or quantitative background who is interested in obtaining a job within the field of autonomous systems, or refreshing or developing their skills within the realm of machine and deep learning, systems integration, sensor fusion, and many others.
  • What is the difference between the Intro to Self-Driving Cars Nanodegree program and the Self-Driving Car Engineer Nanodegree program?
    The Intro to Self-Driving Cars Nanodegree program is an intermediate program open to anyone with an interest in autonomous systems, who has some programming experience, and/or a quantitative background. The Self-Driving Car Engineer Nanodegree program is an advanced program focusing on in-depth knowledge of autonomous systems. The program is designed for those with moderate to high programming, technical, and/or quantitative skills.
ENROLLMENT AND ADMISSION
  • Do I need to apply? What are the admission criteria?
    There is no application. This Nanodegree program accepts everyone, regardless of experience and specific background.
  • What are the prerequisites for enrollment?

    A well prepared student will be able to:

    • Build object-oriented programs in any language (ideally Python or C++)
    • Compute integrals and derivatives of polynomial functions
    • Multiply matrices and understand related aspects of linear algebra
    • Calculate mean, median, and standard deviation of a dataset
    • Model the effects of forces on point masses
  • If I do not meet the requirements to enroll, what should I do?
    We have a number of Nanodegree programs and free courses that can help you prepare, including: Intro to Self-Driving Cars Nanodegree program, Robotics Software Engineer Nanodegree program, and AI for Robotics Course.
TUITION AND TERM OF PROGRAM
  • How is this Nanodegree program structured?
    The Self-Driving Car Engineer Nanodegree program is comprised of content and curriculum to support six (6) projects. We estimate that students can complete the program in five (5) months, working 10 hours per week.
    Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.
  • How long is this Nanodegree program?
    Access to this Nanodegree program runs for the length of time specified in the payment card above. If you do not graduate within that time period, you will continue learning with month to month payments. See the Terms of Use and FAQs for other policies regarding the terms of access to our Nanodegree programs.
  • Can I switch my start date? Can I get a refund?
    Please see the Udacity Program Terms of Use and FAQs for policies on enrollment in our programs.
  • I have graduated from the Self-Driving Car Engineer Nanodegree program but I want to keep learning. Where should I go from here?
    Once you have completed the Self-Driving Car Engineer Nanodegree program, the Robotics Software Engineer Nanodegree program and the Flying Car Nanodegree program are ideal for continuing your learning.
SOFTWARE AND HARDWARE - WHAT DO I NEED FOR THIS PROGRAM?
  • What software and versions will I need in this program?
    For this Nanodegree program, you will need to the minimum equipment requirements outlined here: https://www.udacity.com/tech-requirements.
  • Which libraries or languages are used in this program?

    The following versions are used in this program (subject to update):

    • Tensorflow version 2+
    • Python version 3
    • C++ version 14

Self-Driving Car Engineer Nanodegree

Enroll Now