top of page

Self-driving Car Course

Link to Coursehttps://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd0013

​

I took Udacity’s Self-Driving Car Engineer Nanodegree Program to learn the science behind the magic of autonomous cars and strengthen my coding skills. The course covered topics such as:


•    Computer Vision (OpenCV, fundamentals, camera calibration, gradient and color spaces)
•    Deep Learning (deep/convolutional neural networks, TensorFlow/Keras)
•    Sensor Fusion (Kalman filters)
•    Localization (Markov localization, motion models, particle filters)
•    Path Planning (search, prediction, behavior planning, trajectory generation)
•    Control (PID control)
•    System Integration (Introduction to ROS, ROS nodes, packages and Catkin workspaces)


Having little familiarity with Python and Computer Science/Engineering fundamentals, the course proved to be more intensive in those fields than I had hoped. The lessons served as great introductions to get an understanding of the topic, but the projects went into extensive detail. Because of this, I prioritized the lessons and was unable to complete all the projects outlined in the syllabus in the allotted time. I do plan on finishing the remaining projects at a later date. The projects that I did complete can be found below. 

Finding Lane Lines on the Road

This project was my first introduction into Computer Vision. The code takes the raw video on the left as an input and returns the video on the right that highlights the lane lines on the road.

The code uses five main topics that were taught in the class: grayscale conversion, Gaussian smoothing, Canny edge detection, masking, and Hough lines. My Python code as well as a complete project writeup can be found on my GitHub linked below.

git.png

Advanced Lane Finding

This project built off the previous project. Like before, the input video is on the left and output on the right.

The first major advancement with this project is the camera calibration, which used a chessboard calibration method. This project also fits polynomials to the lane lines instead of linear equations, allowing for easier curve fitting. My Python code as well as a complete project writeup can be found on my GitHub linked below.

git.png

Traffic Sign Classifier

This project was my first taste of deep learning and the exciting world of Artificial Intelligence. The code is fed training, validation, and test data sets of German road signs. The images then undergo a 16 layer model that I designed.  


The model was then run on five more traffic signs that I downloaded from online. The model was able to correctly guess 4 of the 5 traffic signs, which gives an accuracy of 80%. This is lower than the accuracy on the test set of 93.5%. My Python code as well as a complete project writeup can be found on my GitHub linked below.

git.png
bottom of page