Using the Canny Edge Detector and the Hough Transform to find the lane lines in videos captured by a camera placed in the front of a car.
Source code: https://github.com/maudzung/Finding-Lanelines
(i) Compute the camera calibration matrix and distortion coefficients given a set of chessboard images. (ii) Apply a distortion correction to raw images. (iii) Use color transforms, gradients, etc., to create a thresholded binary image. (iv) Apply a perspective transform to rectify binary image ("birds-eye view"). (v) Detect lane pixels and fit to find the lane boundary. (vi) Determine the curvature of the lane and vehicle position with respect to center. (vii) Warp the detected lane boundaries back onto the original image. (viii) Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.
Source code: https://github.com/maudzung/Advance-Finding-Lanelines
1. Use the simulator to collect data of good driving behavior
2. Build a convolution neural network using Keras
3. Train and validate the model with a training and validation set
4. Test that the model successfully drives around track one without leaving the road
Source code: https://github.com/maudzung/Behavior-Cloning
I utilized a Kalman filter to estimate the state of a moving object of interest with noisy LiDAR and RADAR measurements
Source code: https://github.com/maudzung/Extended-Kalman-Filter-CPP
Assuming that a robot has been kidnapped and transported to a new location! Luckily it has a map of this location, a (noisy) GPS estimate of its initial location, and lots of (noisy) sensor and control data.
The particle filter was given a map and some initial localization information (analogous to what a GPS would provide).
At each time step the filter also got observation and control data.
Source code: https://github.com/maudzung/Kidnapped-Vehicle-Particle-Filters
Goals: Safely navigate the car around a virtual highway with other vehicles that is driving ±10 MPH of the 50 MPH speed limit.
The car should try to go as close as possible to the 50 MPH speed limit
The car should pass slower traffic when possible
The car has to void hitting other cars at all cost
The car has to drive inside of the marked road lanes at all times
The car should be able to make one complete loop around the 6946m highway
The car should not experience total acceleration over 10 m/s^2 and jerk that is greater than 10 m/s^3.
Given:
The car's localization
The sensor fusion data
The sparse map list of waypoints around the highway.
Source code: https://github.com/maudzung/Path-Planning-CPP
Goals: Implement a PID controller that determines the steering angle in order to keep a car in the center of the lane track during driving.
Source code: https://github.com/maudzung/PID-Control-CPP
Goals: Navigate safely a self-driving car around a course. The car needs to keep the lane, stop in front of red lights and obstacles. The Robot Operative System (ROS) framework was used in the project.
Source code: https://github.com/maudzung/Self-Driving-Car-09-Programing-A-Real-Car