Welcome to Motion Planning For Self-Driving Cars. This is the fourth course in University of Toronto's Self-Driving Cars Specialization.
This course will cover the major planning tasks involved in autonomous driving. It includes behavior planning and mission planning. This course will teach you how to calculate the shortest route over a road network or graph using Dijkstra's algorithm and the A* algorithm. You also learn how to use finite state machines and select safe behaviors. Finally, you will be able design smooth, efficient paths and velocity profiles that allow you to navigate around traffic laws and obstacles safely. Additionally, you will learn how to create occupancy grid maps of static elements within the environment. This course will teach you how to create a complete self-driving plan that can take you from home and to work, while still being safe and acting like normal driving.
This course's final project will require you to implement a hierarchical motion plan in order to navigate through a series of scenarios in CARLA simulator. You will need to avoid vehicles parked in your lane and follow a lead vehicle while safely navigating intersections. Real-world randomness will be encountered and you'll need to adapt your solution to the changing environment.
This intermediate course is for those with some experience in robotics. It builds upon the models and controllers developed in Course 1. You will need to have some programming experience with Python 3.0 and knowledge of Linear Algebra (matrices/vectors, matrix multiplications, rank, Eigenvalues, vectors and inverses), and calculus (ordinary differential equations and integration).