Giter Club home page Giter Club logo

self_driving_car_engineer's Introduction

Self-Driving Car Engineer Nanodegree

This repository contains all the projects I completed as part of the first cohort of the Udacity self-driving car engineer nanodegree.

As detailed below, the program covers a wide range of topics including traditional computer vision, deep learning, sensor fusion, localization, path-planning, control, etc.

The Self-Driving Car Engineer Nanodegree is a 3-term online certification intended to prepare students to become self-driving car engineers. The program was developed by Udacity in partnership with Mercedes-Benz, Nvidia, Uber ATG, amongst others.

Program Outline:

Term 1: Computer Vision and Deep Learning (Fall 2016)

Traditional Computer Vision (Python)

  • Project 1 - Finding Lane Lines: Introductory project which used basic computer vision techniques like canny edge and hough transforms to detect lane lines
  • Project 4 - Advanced Lane Lines: Use of image thresholding, warping and fitting lanes lines to develop a more robust method of detecting lane lines on a road
  • Project 5 - Vehicle Detection: Use of HOG and SVM to detect vehicles on a road

Deep Learning (Python/Tensorflow)

  • Project 2 - Traffic Sign Classifier: Train a convolution neural network capable of detecting road side traffic signs.
  • Project 3 - Behavioral Cloning: Train a car to drive in a 3D simulator using a deep neural network (input to the network is an RGB image and the output is the corresponding steering angle).

Term 2: Sensor Fusion, Localization, and Control (Spring 2017)

Sensor Fusion (C++)

  • Project 1: Combine lidar and radar data to track objects with non-linear dynamics using Extended Kalman filter (EKF)
  • Project 2: Combine lidar and radar data to more accurately track objects with non-linear dynamics using Unscented Kalman filter (UKF)

Localization (C++)

  • Project 3: Localize the EGO vehicle relative to the world map using a particle filter.

Control (C++)

Term 3: Path Planning, Semantic Segmentation, and System Integration (Summer 2017)

Path Planning (C++)

  • Project 1: Using a finite-state machine (FSM), generated a smooth trajectory (as well as proper speed) to navigate the vehicle on a highway while avoiding obstacles and other vehicles.
    Additionally, used A* and Dynamic Programming to generate a sequence of steps to navigate unstructured environments e.g. parking lots, etc.

Semantic Segmentation (Python/Tensorflow)

  • Project 2: Using Fully-Convolutional Network (FCN) based semantic segmentation architecture, classified each pixel in the image into road, car, or everything else category.

Capstone Project (C++ and Python/Tensorflow)

  • Project 3: A system integration team project to run on Udacity's real self-driving car. My task was to develop a traffic light detection module using the Single-Shot Detection (SSD) network. The network would output the location of the traffic light (bounding box) as well as the traffic light state (red, green, yellow, or not working).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.