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. By the end of this course, you will be able to:
- Understand the key methods for parameter and state estimation used for autonomous driving, such as the method of least-squares
- Develop a model for typical vehicle localization sensors, including GPS and IMUs
- Apply extended and unscented Kalman Filters to a vehicle state estimation problem
- Understand LIDAR scan matching and the Iterative Closest Point algorithm
- Apply these tools to fuse multiple sensor streams into a single state estimate for a self-driving car
For the final project in this course, you will implement the Error-State Extended Kalman Filter (ES-EKF) to localize a vehicle using data from the CARLA simulator.
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).

Avaliações

MM

A great Journey for anyone interested in Self Driving Cars. State estimation is vital in this field and this is a great course to start learning it!

RL

Apr 27, 2019

Filled StarFilled StarFilled StarFilled StarFilled Star

It provides a hand-on experience in implementing part of the localization process...interesting stuff!! Kind of time-consuming so be prepared.

Na lição

Module 0: Welcome to Course 2: State Estimation and Localization for Self-Driving Cars

This module introduces you to the main concepts discussed in the course and presents the layout of the course. The module describes and motivates the problems of state estimation and localization for self-driving cars.

Ministrado por

Jonathan Kelly

Steven Waslander

Transcrição

Hello, and welcome to the University of Toronto Self-Driving Cars Specialization. My name is Steven. My name is Jonathan. We'll be your instructors throughout this specialization. The self-driving car is the sleeping giant which can change everything; road safety, mobility for everyone, while dramatically reducing the costs of driving. This specialization will teach you what you need to know to kick start a career in the autonomous driving industry. Whether you're coming from academia or industry, these courses will provide you with the foundational knowledge and practical skills you need to help build a new future with self-driving cars. Throughout the courses, we'll show you real-world data and scenarios from our research, and from our own self-driving car or what we call the autonomous. After decades of applied and award winning research, we at the University of Toronto are excited to show you the nuts and bolts of autonomous driving. There are a total of four courses in this specialization. In the first course, I'll introduce you to the self-driving car software and hardware architectures. By the end of this course, you'll be able to design a basic hardware system for a self-driving car, identify the main components of the autonomous driving software stack, and create a safety assessment strategy for self-driving car program. You'll then learn to develop the complete model of a vehicles motion, define a PI controller for longitudinal control, define a path following controller for lateral vehicle control, and test out your control designs in a Carla simulator. In the second course of this specialization, I'll teach you about state estimation, sensing, and localization for autonomous vehicles. By the end of this course, you'll understand the key methods for perimeter and state estimation, develop and use models for typical vehicle localization sensors, apply extended and uncentered Kalman filters to a vehicle state estimation problem, and register point clouds created from LIDAR scans to a 3D map of a static environment. In the third course, I'll teach you about visual perception for self-driving cars. After completing this course, you'll be able to project 3D points onto the camera image plane, calibrate the pinhole camera model, apply feature detection description and matching algorithms for localization and mapping, develop and train neural networks for both object detection and semantic segmentation. You'll apply these methods to vehicle tracking and drivable surface estimation. In the fourth and final course, I'll teach you about motion planning for self-driving cars. By the end of this course, you'll be able to devise a trajectory roll out motion planning method, calculate the time to collision with static and constant velocity objects, plan routes over complex road networks, define high-level vehicle behaviors and transitions for vehicles navigating through intersections around parked cars and merging, and develop kinematically feasible paths through an environment with static obstacles, compute velocity profiles that satisfies speed, curvature and moving object motion planning constraints, plan behaviors and execute maneuvers to navigate safely through the world, and gain valuable experience in debugging and testing self-driving algorithms in the Carla simulator. So, by the end of this specialization, you will have a detailed understanding of the architecture and components of the autonomous driving software stack and you will program your own self-driving car. Since we're teaching you how to program your own self-driving car, the courses in this specialization have several prerequisites. First, you should be proficient in linear algebra and be familiar with matrices, vectors, matrix multiplication, rank, eigenvalues in vectors and inverses. This background will help you with control, state estimation, perception, and planning algorithms throughout the courses. You should also be comfortable with statistics. In particular, working with Gaussian probability distributions. This knowledge will be important for state estimation, and for perception when we're estimating vehicle speed and heading from GPS and inertial measurements for example. You should also be comfortable with basic calculus and physics, such as forces, moments, inertia, and Newton's laws. It's certainly helpful to know how to drive a car, but since the cars will be self-driving, it's not a hard requirement for this specialization. If you don't have these necessary pre-requisites, there are excellent robotics, AI, deep learning, and other courses that you can take on Coursera to prepare you for this specialization. Autonomous driving is a constantly evolving and changing field. So, keeping up not only with self-driving knowledge but also robotics, AI, and deep learning will help you keep your technical skills sharp. There's a long way to go, and we need pioneers to help us get there. So, are you ready for the ride?