Motion Planning for Self-Driving Cars (Coursera)

Offered by University of Toronto,
Motion Planning for Self-Driving Cars (Coursera)

Welcome to Motion Planning for Self-Driving Cars, the fourth course in University of Toronto’s Self-Driving Cars Specialization. This course will introduce you to the main planning tasks in autonomous driving, including mission planning, behavior planning and local planning. By the end of this course, you will be able to find the shortest path over a graph or road network using Dijkstra's and the A* algorithm, use finite state machines to select safe behaviors to execute, and design optimal, smooth paths and velocity profiles to navigate safely around obstacles while obeying traffic laws.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

You'll also build occupancy grid maps of static elements in the environment and learn how to use them for efficient collision checking. This course will give you the ability to construct a full self-driving planning solution, to take you from home to work while behaving like a typical driving and keeping the vehicle safe at all times.
For the final project in this course, you will implement a hierarchical motion planner to navigate through a sequence of scenarios in the CARLA simulator, including avoiding a vehicle parked in your lane, following a lead vehicle and safely navigating an intersection. You'll face real-world randomness and need to work to ensure your solution is robust to changes in the environment.
This is an intermediate course, intended for learners with some background in robotics, and it builds on the models and controllers devised in Course 1 of this specialization. To succeed in this course, you should have programming experience in Python 3.0, and familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses) and calculus (ordinary differential equations, integration).
Course 4 of 4 in the Self-Driving Cars Specialization.
Syllabus

WEEK 1
Welcome to Course 4: Motion Planning for Self-Driving Cars
This module introduces the motion planning course, as well as some supplementary materials.
The Planning Problem
This module introduces the richness and challenges of the self-driving motion planning problem, demonstrating a working example that will be built toward throughout this course. The focus will be on defining the primary scenarios encountered in driving, types of loss functions and constraints that affect planning, as well as a common decomposition of the planning problem into behaviour and trajectory planning subproblems. This module introduces a generic, hierarchical motion planning optimization formulation that is further expanded and implemented throughout the subsequent modules.

WEEK 2
Mapping for Planning
The occupancy grid is a discretization of space into fixed-sized cells, each of which contains a probability that it is occupied. It is a basic data structure used throughout robotics and an alternative to storing full point clouds. This module introduces the occupancy grid and reviews the space and computation requirements of the data structure. In many cases, a 2D occupancy grid is sufficient; learners will examine ways to efficiently compress and filter 3D LIDAR scans to form 2D maps.

WEEK 3
Mission Planning in Driving Environments
This module develops the concepts of shortest path search on graphs in order to find a sequence of road segments in a driving map that will navigate a vehicle from a current location to a destination. The modules covers the definition of a roadmap graph with road segments, intersections and travel times, and presents Dijkstra’s and A* search for identification of the shortest path across the road network.

WEEK 4
Dynamic Object Interactions
This module introduces dynamic obstacles into the behaviour planning problem, and presents learners with the tools to assess the time to collision of vehicles and pedestrians in the environment.

WEEK 5
Principles of Behaviour Planning
This module develops a basic rule-based behaviour planning system, which performs high level decision making of driving behaviours such as lane changes, passing of parked cars and progress through intersections. The module defines a consistent set of rules that are evaluated to select preferred vehicle behaviours that restrict the set of possible paths and speed profiles to be explored in lower level planning.

WEEK 6
Reactive Planning in Static Environments
A reactive planner takes local information available within a sensor footprint and a global objective defined in a map coordinate frame to identify a locally feasible path to follow that is collision free and makes progress to a goal. In this module, learners will develop a trajectory rollout and dynamic window planner, which enables path finding in arbitrary static 2D environments. The limits of the approach for true self-driving will also be discussed.

WEEK 7
Putting it all together - Smooth Local Planning
Parameterized curves are widely used to define paths through the environment for self-driving. This module introduces continuous curve path optimization as a two point boundary value problem which minimized deviation from a desired path while satisfying curvature constraints.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

User Research and Design (Coursera) Coursera
University of Minnesota

User Research and Design (Coursera)

In this course you will learn and practice techniques of user research and early UI design exploration. First, you will learn and practice several techniques for user research, including in-person research and survey and log-analysis techniques. Then, you will learn to analyze and deliver user research in forms that support UI design, including personas, use cases, tasks, and scenarios. Finally, you will learn and practice ideation techniques that start from user research and broadly generate potential design ideas.

Jun 1st 2026
4 Weeks
Spatial Analysis and Satellite Imagery in a GIS (Coursera) Coursera
University of Toronto

Spatial Analysis and Satellite Imagery in a GIS (Coursera)

In this course, you will learn how to analyze map data using different data types and methods to answer geographic questions. First, you will learn how to filter a data set using different types of queries to find just the data you need to answer a particular question. Then, we will discuss simple yet powerful analysis methods that use vector data to find spatial relationships within and between data sets.

Jun 1st 2026
5-12 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Jun 1st 2026
5-12 Weeks
Android App Components - Intents, Activities, and Broadcast Receivers (Coursera) Coursera
Vanderbilt University

Android App Components - Intents, Activities, and Broadcast Receivers (Coursera)

This MOOC builds upon the overview of Java and Android covered in Course 1 by delving deeper into core Android components, such as Activities, Broadcast Receivers, Intents, and Intent Filters. You will learn by example how to program these core Android components together with basic Java file I/O classes (such as File, InputStream, OutputWriter, etc.) and Android storage mechanisms (such as Shared Preferences).

Jun 1st 2026
4 Weeks
Database Management Essentials (Coursera) Coursera
University of Colorado System

Database Management Essentials (Coursera)

Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy.

Jun 1st 2026
5-12 Weeks
Project Planning and Machine Learning (Coursera) Coursera
University of Colorado Boulder

Project Planning and Machine Learning (Coursera)

This course can also be taken for academic credit as ECEA 5386, part of CU Boulder’s Master of Science in Electrical Engineering degree. This is part 2 of the specialization. In this course students will learn : * How to staff, plan and execute a project; * How to build a bill of materials for a product; * How to calibrate sensors and validate sensor measurements; * How hard drives and solid state drives operate; * How basic file systems operate, and types of file systems used to store big data; * How machine learning algorithms work - a basic introduction; * Why we want to study big data and how to prepare data for machine learning algorithms.

Jun 1st 2026
4 Weeks
Capstone Project: Teaching Impacts of Technology (Coursera) Coursera
University of California, San Diego

Capstone Project: Teaching Impacts of Technology (Coursera)

In this project-based course you’ll review the Advanced Placement Computer Science Principles course and exam description guide to prepare for the “Explore Task”, where students must research a recent computing innovation and and analyze its impacts on the world. You’ll also review the description of this task from the student perspective and complete the task yourself. Then you’ll assess sample secondary student work by following the APCSP scoring guidelines as well as provide feedback to a fellow learner on their submitted task and receive the same from fellow learners.

Jun 3rd 2026
5-12 Weeks
State Estimation and Localization for Self-Driving Cars (Coursera) Coursera
University of Toronto

State Estimation and Localization for Self-Driving Cars (Coursera)

Welcome to State Estimation and Localization for Self-Driving Cars, the second course in University of Toronto’s Self-Driving Cars Specialization. We recommend you take the first course in the Specialization prior to taking this course. This course will introduce you to the different sensors and how we can use them for state estimation and localization in a self-driving car.

Jun 1st 2026
5-12 Weeks
How Computers Work (Coursera) Coursera
University of London,Goldsmiths, University of London

How Computers Work (Coursera)

Computers are everywhere, they aren't just the desktops and laptops we use for work but the phones in our pockets and even the watches on our wrists are also computers. You probably use a computer every day and in fact you are reading this on a computer! Just because we use computers all the time, doesn't mean that we understand them, or find them easy to use. Computer Science is the science of computers, it is the field of knowledge that experts use to understand computer systems. Knowing a little computer science will help you understand the computers all around you.

Jun 1st 2026
4 Weeks
Python Data Representations (Coursera) Coursera
Rice University

Python Data Representations (Coursera)

This course will continue the introduction to Python programming that started with Python Programming Essentials. We'll learn about different data representations, including strings, lists, and tuples, that form the core of all Python programs. We will also teach you how to access files, which will allow you to store and retrieve data within your programs. These concepts and skills will help you to manipulate data and write more complex Python programs.

Jun 1st 2026
4 Weeks
GIS Data Acquisition and Map Design (Coursera) Coursera
University of Toronto

GIS Data Acquisition and Map Design (Coursera)

In this course, you will learn how to find GIS data for your own projects, and how to create a well-designed map that effectively communicates your message. The first section focuses on the basic building blocks of GIS data, so that you know what types of GIS files exist, and the implications of choosing one type over another.

Jun 1st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Jun 1st 2026
5-12 Weeks