This repository contains both the notes and the challenges that I have taken and done during my Self-Driving Car Nanodegree at Udacity. The big final projects of each module are in their own independent repositories in my profile (those starting by CarND-Pm). However, demos of many of them can be found in the following YouTube playlist:
The repository is divided in 3 main sub-folders. Each of them corresponding to one of the nanodegree parts. The first part of the course contains formation about Computer Vision, Deep Leaerning and sensor fusion (Kalman filters, EKFs, geometry, etc.). The second part focuses on localization, path planning, control and system integration. The last part are extracurricular materials (interviews, additional related content, career advice, etc.).
The two main folders are subdivided by modules. All the lessons related to each of the projects that the course involves is considered a module. These are the modules of the two main program parts:
-
Part 1: Computer Vision, Deep Learning and sensor fusion
- Lane Lines Finding: Color filters, region of interest, Canny edge detection, and Hough transformation
- Advanced Lane Finding: Camera calibration, perspective transformation, color spaces, gradients, and advanced Computer Vision (sliding windows based on histogram-prior, curvature estimation, and polynomial fitting).
- Traffic Sign Classifier: Neural networks (NNs), ceep NNs, convolutional NNs (CNNs), and TensorFlow.
- Behavior Cloning: Transfer Learning, common CNNs, Keras, and End-to-End CNNs.
- Sensor Fusion: Sensors, Kalman filters (KFs), C++, Geometry, Trigonometry, and Extended KFs (EKFs).
-
Part 2: Localization, path planning, control and system integration
- Kidnapped Vehicle: Markov localization, motion models, and particle filters.
- Highway Driving: Path planning, behavior prediction and planning, and trajectory generation.
- PID Control: Proportional, differential and integral control components, and P, PD and PID controllers.
- System Integration: Self-driving cars architecture, and ROS for system integration.