Introduction to Self-Driving Cars
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Introduction to Self-Driving Cars
This course is part of Self-Driving Cars Specialization
160,211 already enrolled
Included with
Learn more
2,936 reviews
Recommended experience
2,936 reviews
Recommended experience
What you'll learn
Understand commonly used hardware used for self-driving cars
Identify the main components of the self-driving software stack
Program vehicle modelling and control
Analyze the safety frameworks and current industry practices for vehicle development
Details to know
7 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 8 modules in this course
Welcome to Introduction to Self-Driving Cars, the first course in University of Torontoβs Self-Driving Cars Specialization.
This course will introduce you to the terminology, design considerations and safety assessment of self-driving cars. By the end of this course, you will be able to: - Understand commonly used hardware used for self-driving cars - Identify the main components of the self-driving software stack - Program vehicle modelling and control - Analyze the safety frameworks and current industry practices for vehicle development For the final project in this course, you will develop control code to navigate a self-driving car around a racetrack in the CARLA simulation environment. You will construct longitudinal and lateral dynamic models for a vehicle and create controllers that regulate speed and path tracking performance using Python. Youβll test the limits of your control design and learn the challenges inherent in driving at the limit of vehicle performance. This is an advanced course, intended for learners with a background in mechanical engineering, computer and electrical engineering, or robotics. To succeed in this course, you should have programming experience in Python 3.0, familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses), Statistics (Gaussian probability distributions), Calculus and Physics (forces, moments, inertia, Newton's Laws). You will also need certain hardware and software specifications in order to effectively run the CARLA simulator: Windows 7 64-bit (or later) or Ubuntu 16.04 (or later), Quad-core Intel or AMD processor (2.5 GHz or faster), NVIDIA GeForce 470 GTX or AMD Radeon 6870 HD series card or higher, 8 GB RAM, and OpenGL 3 or greater (for Linux computers).
This module will introduce you to the main concepts and layout of the specialization and discusses the major advances made in the field over the last two decades, highlighting the most recent progress made by major players in terms of safety and performance metrics, where available.
What's included
10 videos4 readings1 discussion prompt
10 videosβ’Total 45 minutes
- Welcome to the Self-Driving Cars Specialization!β’6 minutes
- Welcome to the Courseβ’3 minutes
- The Story of Autonomous Vehiclesβ’12 minutes
- Meet the Instructor, Steven Waslanderβ’6 minutes
- Meet the Instructor, Jonathan Kellyβ’2 minutes
- Meet Diana, Firmware Engineerβ’3 minutes
- Meet Winston, Software Engineerβ’4 minutes
- Meet Andy, Autonomous Systems Architectβ’2 minutes
- Meet Paul Newman, Founder, Oxbotica & Professor at University of Oxfordβ’5 minutes
- Why Should You Take This Course?β’3 minutes
4 readingsβ’Total 55 minutes
- Course Prerequisites: Knowledge, Hardware & Softwareβ’15 minutes
- How to Use Discussion Forumsβ’15 minutes
- Glossary of Termsβ’10 minutes
- How to Use Supplementary Readings in This Courseβ’15 minutes
1 discussion promptβ’Total 30 minutes
- Get to Know Your Classmatesβ’30 minutes
Self-driving cars present an extremely rich and inter-disciplinary problem. This module introduces the language and structure of the problem definition, defining the most salient elements of the driving task and the driving environment.
What's included
4 videos3 readings3 assignments
4 videosβ’Total 37 minutes
- Lesson 1: Taxonomy of Drivingβ’12 minutes
- Lesson 2: Requirements for Perceptionβ’8 minutes
- Lesson 3: Driving Decisions and Actionsβ’10 minutes
- Advice for Breaking into the Self-Driving Cars Industryβ’7 minutes
3 readingsβ’Total 75 minutes
- Lesson 1 Supplementary Reading: Taxonomy of Drivingβ’30 minutes
- Lesson 2 Supplementary Reading: Requirements for Perceptionβ’15 minutes
- Lesson 3 Supplementary Reading: Driving Decisions and Actionsβ’30 minutes
3 assignmentsβ’Total 110 minutes
- Lesson 1: Practice Quizβ’30 minutes
- Lesson 2: Practice Quizβ’30 minutes
- Module 1: Graded Quizβ’50 minutes
System architectures for self-driving vehicles are extremely diverse, as no standardized solution has yet emerged. This module describes both the hardware and software architectures commonly used and some of the tradeoffs in terms of cost, reliability, performance and complexity that constrain autonomous vehicle design.
What's included
5 videos4 readings1 assignment
5 videosβ’Total 51 minutes
- Lesson 1: Sensors and Computing Hardwareβ’12 minutes
- Lesson 2: Hardware Configuration Designβ’11 minutes
- Lesson 3: Software Architectureβ’14 minutes
- Lesson 4: Environment Representationβ’9 minutes
- The Future of Autonomous Vehiclesβ’7 minutes
4 readingsβ’Total 90 minutes
- Lesson 1 Supplementary Reading: Sensors and Computing Hardwareβ’15 minutes
- Lesson 2 Supplementary Reading: Hardware Configuration Designβ’30 minutes
- Lesson 3 Supplementary Reading: Software Architectureβ’30 minutes
- Lesson 4 Supplementary Reading: Environment Representationβ’15 minutes
1 assignmentβ’Total 50 minutes
- Module 2: Graded Quizβ’50 minutes
As the self-driving domain matures, the requirement for safety assurance on public roads become more critical to self-driving developers. You will evaluate the challenges and approaches employed to date to tackle the immense challenge of assuring the safe operation of autonomous vehicles in an uncontrolled public road driving environment.
What's included
8 videos4 readings1 assignment
8 videosβ’Total 71 minutes
- Lesson 1: Safety Assurance for Self-Driving Vehiclesβ’17 minutes
- Lesson 2: Industry Methods for Safety Assurance and Testingβ’17 minutes
- Lesson 3: Safety Frameworks for Self-Drivingβ’19 minutes
- Meet Professor Krzysztof Czarnecki, Safety Assurance Expertβ’2 minutes
- Prof. Krzysztof Czarnecki on Assessing and Validating Autonomous Safety: An Impossible Task?β’4 minutes
- Prof. Krzysztof Czarnecki's Lessons from Aerospace: Can the AV Industry Collaborate on Safety?β’4 minutes
- Paul Newman on the Trolley Problemβ’4 minutes
- How Companies Approach Autonomous Vehicle Safetyβ’5 minutes
4 readingsβ’Total 165 minutes
- Lesson 1 Supplementary Reading: Safety Assurance for Self-Driving Vehiclesβ’60 minutes
- Lesson 2 Supplementary Reading: Industry Methods for Safety Assurance and Testingβ’60 minutes
- Lesson 3 Supplementary Reading: Safety Frameworks for Self-Drivingβ’30 minutes
- How Many Miles of Driving Would It Take to Demonstrate Autonomous Vehicle Reliability?β’15 minutes
1 assignmentβ’Total 50 minutes
- Module 3: Graded Quizβ’50 minutes
The first task for automating an driverless vehicle is to define a model for how the vehicle moves given steering, throttle and brake commands. This module progresses through a sequence of increasing fidelity physics-based models that are used to design vehicle controllers and motion planners that adhere to the limits of vehicle capabilities.
What's included
8 videos7 readings2 programming assignments2 ungraded labs
8 videosβ’Total 74 minutes
- Lesson 1: Kinematic Modeling in 2Dβ’11 minutes
- Lesson 2: The Kinematic Bicycle Modelβ’8 minutes
- Lesson 3: Dynamic Modeling in 2Dβ’11 minutes
- Lesson 4: Longitudinal Vehicle Modelingβ’11 minutes
- Lesson 5: Lateral Dynamics of Bicycle Modelβ’8 minutes
- Lesson 6: Vehicle Actuationβ’10 minutes
- Lesson 7: Tire Slip and Modelingβ’11 minutes
- Challenges for the Industryβ’4 minutes
7 readingsβ’Total 225 minutes
- Supplementary Readings for Module 4β’30 minutes
- Lesson 2 Supplementary Reading: The Kinematic Bicycle Modelβ’30 minutes
- Lesson 3 Supplementary Reading: Dynamic Modeling in 3Dβ’30 minutes
- Lesson 4 Supplementary Reading: Longitudinal Vehicle Modelingβ’30 minutes
- Lesson 5 Supplementary Reading: Lateral Dynamics of Bicycle Modelβ’30 minutes
- Lesson 6 Supplementary Reading: Vehicle Actuationβ’45 minutes
- Lesson 7 Supplementary Reading: Tire Slip and Modelingβ’30 minutes
2 programming assignmentsβ’Total 20 minutes
- Kinematic Bicycle Modelβ’10 minutes
- Longitudinal Vehicle Modelβ’10 minutes
2 ungraded labsβ’Total 240 minutes
- Module 4 Programming Exercise: Kinematic Bicycle Modelβ’120 minutes
- Module 4 Programming Exercise: Longitudinal Vehicle Modelβ’120 minutes
Longitudinal control of an autonomous vehicle involves tracking a speed profile along a fixed path, and can be achieved with reasonable accuracy using classic control techniques. This week, you will learn how to develop a baseline controller that is applicable for a significant subset of driving conditions, which include most non-evasive or highly-dynamic motions.
What's included
4 videos3 readings1 assignment
4 videosβ’Total 34 minutes
- Lesson 1: Proportional-Integral-Derivative (PID) Controlβ’14 minutes
- Lesson 2: Longitudinal Speed Control with PIDβ’9 minutes
- Lesson 3: Feedforward Speed Controlβ’8 minutes
- Zoox's Approach to Self-Driving Carsβ’3 minutes
3 readingsβ’Total 90 minutes
- Lesson 1 Supplementary Reading: Proportional-Integral-Derivative (PID) Controlβ’30 minutes
- Lesson 2 Supplementary Reading: Longitudinal Speed Control with PIDβ’30 minutes
- Lesson 3 Supplementary Reading: Feedforward Speed Controlβ’30 minutes
1 assignmentβ’Total 50 minutes
- Module 5 Graded Quizβ’50 minutes
This week, you will learn about how lateral vehicle control ensures that a fixed path through the environment is tracked accurately. You will see how to define geometry of the path following control problem and develop both a simple geometric control and a dynamic model predictive control approach.
What's included
4 videos4 readings1 assignment
4 videosβ’Total 45 minutes
- Lesson 1: Introduction to Lateral Vehicle Controlβ’10 minutes
- Lesson 2: Geometric Lateral Control - Pure Pursuitβ’9 minutes
- Lesson 3: Geometric Lateral Control - Stanleyβ’13 minutes
- Lesson 4: Advanced Steering Control - MPCβ’14 minutes
4 readingsβ’Total 150 minutes
- Lesson 1 Supplementary Reading: Introduction to Lateral Vehicle Controlβ’30 minutes
- Lesson 2 Supplementary Reading: Geometric Lateral Control - Pure Pursuitβ’30 minutes
- Lesson 3 Supplementary Reading: Geometric Lateral Control - Stanleyβ’45 minutes
- Lesson 4 Supplementary Reading: Advanced Steering Control - MPCβ’45 minutes
1 assignmentβ’Total 50 minutes
- Module 6: Graded Quizβ’50 minutes
For the last week of the course, now you will get hands on with a simulation of an autonomous vehicle that requires longitudinal and lateral vehicle control design to track a predefined path along a racetrack with a given speed profile. You are encouraged to modify the speed profile and/or path to improve their lap time, without any requirement to do so. Work and play!
What's included
4 videos2 readings1 programming assignment1 discussion prompt
4 videosβ’Total 18 minutes
- Lesson 1: Carla Overview - Self-Driving Car Simulationβ’6 minutes
- Lesson 2: Final Project Overviewβ’5 minutes
- Final Project Solutionβ’4 minutes
- Congratulations on Completing Course 1!β’4 minutes
2 readingsβ’Total 90 minutes
- Lesson 1 Supplementary Reading: Carla Overview - Self-Driving Car Simulationβ’45 minutes
- CARLA Installation Guideβ’45 minutes
1 programming assignmentβ’Total 180 minutes
- Final Project: Self-Driving Vehicle Controlβ’180 minutes
1 discussion promptβ’Total 15 minutes
- Your Learning Journeyβ’15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Offered by
Explore more from Software Development
- Status: Free TrialU
University of Toronto
Specialization
Course
- Status: Free TrialU
University of Toronto
Course
- Status: Free TrialU
University of Toronto
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
81.27%
- 4 stars
14.81%
- 3 stars
1.87%
- 2 stars
0.47%
- 1 star
1.56%
Showing 3 of 2936
Reviewed on Jun 24, 2020
This Course is very useful .The lectures are well paced and the hands on coding exercises spread throughout the course make sure that you imbibe what is taught in the lectures.
Reviewed on Nov 27, 2023
The course is very helpful! It gives a good big picture overview and the hands-on lab forces the student to understand what is truly happening under the hood at a foundational level
Reviewed on Jun 27, 2020
This course is awesome ! This is one of the great courses for you who want to learn about self-driving cars for the first time. The assignments are challenging, especially the final project.
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you canβt afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, youβll find a link to apply on the description page.
More questions
Financial aid available,
