Nanodegree key: nd313-cn
Version: 1.0.0
Locale: en-us
Learn to fuse lidar point clouds, radar signatures, and camera images using Kalman Filters to perceive the environment and detect and track vehicles and pedestrians over time.
Content
Part 01 : Welcome to the Nanodegree Program
-
Module 01: 学前指导 / First 5 mins
-
Lesson 01: 服务说明 / Service Overview
本部分包含重要的课程服务说明,请务必仔细阅读后,再展开后续内容学习。
Below provides detailed descriptions of our services. Please read through before starting with subsequent learning.
-
Part 02 : Lidar Obstacle Detection
-
Module 01: Lessons
-
Lesson 01: Introduction to Lidar and Point Clouds
Learn about lidar and point clouds. Use a simulation highway environment to explore lidar sensing and generate point clouds.
- Concept 01: Welcome!
- Concept 02: MBRDNA Introduction
- Concept 03: What is Lidar?
- Concept 04: Lidar Sensors
- Concept 05: What is a Point Cloud?
- Concept 06: Point Clouds
- Concept 07: Point Cloud Tools
- Concept 08: The PCL Library
- Concept 09: Using Lidar on an Autonomous Vehicle
- Concept 10: The Course Starter Code
- Concept 11: Compiling the Lidar Simulator
- Concept 12: Running the Simulator
- Concept 13: The PCL Viewer
- Concept 14: Representing Lidar in a Simulator
- Concept 15: Creating the Lidar Object
- Concept 16: Using the Lidar Object
- Concept 17: Templates and Different Point Cloud Data
- Concept 18: Adjusting Lidar Parameters
- Concept 19: Examining the Point Cloud
- Concept 20: Outro
-
Lesson 02: Point Cloud Segmentation
In this lesson, you will be using Ransac with a plane model to segment point cloud data and separate it into points that are part of the road and points that are not.
- Concept 01: Segmentation
- Concept 02: Michael on Detection and Segmentation
- Concept 03: Point Processing
- Concept 04: Segmenting the Plane with PCL
- Concept 05: Separating Point Clouds
- Concept 06: RANSAC
- Concept 07: Implementing RANSAC for Lines
- Concept 08: Extending RANSAC to Planes
- Concept 09: Michael on Segmenting the Plane
- Concept 10: Outro
-
Lesson 03: Clustering Obstacles
Perform Euclidean clustering, and learn how to build KD-Trees to use them to do efficient nearest neighbor search for clustering.
- Concept 01: What is Clustering?
- Concept 02: Clustering Obstacles
- Concept 03: Euclidean Clustering with PCL
- Concept 04: Implementing KD-Tree
- Concept 05: Inserting Points into KD-Tree
- Concept 06: Insert Points
- Concept 07: Searching Points in a KD-Tree
- Concept 08: Euclidean Clustering
- Concept 09: Bounding Boxes
- Concept 10: Michael on Bounding Boxes
- Concept 11: Extra Challenge: PCA Boxes
- Concept 12: Outro
-
Lesson 04: Working with Real PCD
Take what you have learned in the previous lessons and apply it to real pcd being played back in a video.
- Concept 01: Load Real PCD
- Concept 02: Load PCD
- Concept 03: Challenges with Real World Lidar
- Concept 04: Downsampling
- Concept 05: Filtering with PCL
- Concept 06: Steps For Obstacle Detection
- Concept 07: Stream PCD
- Concept 08: Lidar Obstacle Detection Project
- Concept 09: Tracking and Challenge Problem
- Concept 10: Outro
-
Lesson 05: Lidar Obstacle Detection Project
In this lesson, students will submit the project that they have developed over the previous lessons.
-
Part 03 : Radar
-
Module 01: Lessons
-
Lesson 02: Radar Principles
Review Radar functionality, FMCW waveform, Radar Hardware, Schematic and the Radar Equation
-
Lesson 03: Range-Doppler Estimation
Estimate the range and velocity of the target using the FMCW radar
-
Lesson 04: Clutter, CFAR, AoA
Discuss - Clutter formation and then its removal using CFAR technique. After that
Part 04 : Camera
-
Module 01: Lessons
Part 05 : Kalman FIlters
-
Module 01: Lessons
-
Lesson 01: Introduction and Sensors
Meet the team at Mercedes who will help you track objects in real-time with Sensor Fusion.
-
Lesson 02: Kalman Filters
Learn from the best! Sebastian Thrun will walk you through the usage and concepts of a Kalman Filter using Python.
- Concept 01: Introduction
- Concept 02: Tracking Intro
- Concept 03: Gaussian Intro
- Concept 04: Variance Comparison
- Concept 05: Preferred Gaussian
- Concept 06: Evaluate Gaussian
- Concept 07: Maximize Gaussian
- Concept 08: Measurement and Motion
- Concept 09: Shifting the Mean
- Concept 10: Predicting the Peak
- Concept 11: Parameter Update
- Concept 12: Parameter Update 2
- Concept 13: Separated Gaussians
- Concept 14: Separated Gaussians 2
- Concept 15: New Mean and Variance
- Concept 16: Gaussian Motion
- Concept 17: Predict Function
- Concept 18: Kalman Filter Code
- Concept 19: Kalman Prediction
- Concept 20: Kalman Filter Land
- Concept 21: Kalman Filter Prediciton
- Concept 22: Another Prediction
- Concept 23: More Kalman Filters
- Concept 24: Kalman Filter Design
- Concept 25: Kalman Matrices
- Concept 26: Conclusion
-
Lesson 03: Lidar and Radar Fusion with Kalman Filters in C++
In this lesson, you'll build a Kalman Filter in C++ that's capable of handling data from multiple sources. Why C++? Its performance enables the application of object tracking with a Kalman Filter in real-time.
- Concept 01: Kalman Filters in C++
- Concept 02: Intro
- Concept 03: Lesson Map and Fusion Flow
- Concept 04: Lesson Variables and Equations
- Concept 05: Estimation Problem Refresh
- Concept 06: Kalman Filter Intuition
- Concept 07: Kalman Filter Equations in C++ Part 1
- Concept 08: Kalman Filter Equations in C++ Part 2
- Concept 09: State Prediction
- Concept 10: Process Covariance Matrix
- Concept 11: Laser Measurements Part 1
- Concept 12: Laser Measurements Part 2
- Concept 13: Laser Measurements Part 3
- Concept 14: Laser Measurements Part 4
- Concept 15: Radar Measurements
- Concept 16: Mapping with a Nonlinear Function
- Concept 17: Extended Kalman Filter
- Concept 18: Multivariate Taylor Series Expansion
- Concept 19: Jacobian Matrix Part 1
- Concept 20: Jacobian Matrix Part 2
- Concept 21: EKF Algorithm Generalization
- Concept 22: Sensor Fusion General Flow
- Concept 23: Evaluating KF Performance Part 1
- Concept 24: Evaluating KF Performance 2
- Concept 25: Outro
-
Lesson 04: Unscented Kalman Filters
While Extended Kalman Filters work great for linear motion, real objects rarely move linearly. With Unscented Kalman Filters, you'll be able to accurately track non-linear motion!
- Concept 01: Introduction
- Concept 02: The CTRV Model
- Concept 03: The CTRV Model State Vector
- Concept 04: CTRV Differential Equation
- Concept 05: CTRV Integral 1
- Concept 06: CTRV Integral 2
- Concept 07: CTRV Zero Yaw Rate
- Concept 08: CTRV Process Noise Vector
- Concept 09: CTRV Process Noise Position
- Concept 10: UKF Process Chain
- Concept 11: What Problem Does the UKF Solve?
- Concept 12: UKF Basics Unscented Transformation
- Concept 13: Generating Sigma Points
- Concept 14: Generating Sigma Points Assignment 1
- Concept 15: Generating Sigma Points Assignment 2
- Concept 16: UKF Augmentation
- Concept 17: Augmentation Assignment 1
- Concept 18: Augmentation Assignment 2
- Concept 19: Sigma Point Prediction
- Concept 20: Sigma Point Prediction Assignment 1
- Concept 21: Sigma Point Prediction Assignment 2
- Concept 22: Predicted Mean and Covariance
- Concept 23: Predicted Mean and Covariance Assignment 1
- Concept 24: Predicted Mean and Covariance Assignment 2
- Concept 25: Measurement Prediction
- Concept 26: Predict Radar Measurement Assignment 1
- Concept 27: Predict Radar Measurement Assignment 2
- Concept 28: UKF Update
- Concept 29: UKF Update Assignment 1
- Concept 30: UKF Update Assignment 2
- Concept 31: Parameters and Consistency
- Concept 32: What to Expect from the Project
- Concept 33: Story Time
- Concept 34: Outro
- Concept 35: Bonus Round: Sensor Fusion [Optional]
-
Lesson 05: Unscented Kalman Filter Highway Project
In this lesson, students will submit the project that they have developed over the previous lessons.
-