Giter Site home page Giter Site logo

jishnuperiya / nd0013-self-driving-car-engineer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jonathanloganmoran/nd0013-self-driving-car-engineer

0.0 0.0 0.0 911.6 MB

This is the repository for the ND0013 - Self-Driving Car Engineer Nanodegree programme given at Udacity during the 2022 session.

Shell 0.01% C++ 4.41% Python 1.48% C 0.06% TeX 0.25% Gnuplot 0.01% Makefile 8.04% CMake 0.06% Jupyter Notebook 85.70% Dockerfile 0.01%

nd0013-self-driving-car-engineer's Introduction

Self-Driving Car Engineer Nanodegree

Udacity ND0013 | 2022 Cohort

This is the repository for the ND0013 - Self-Driving Car Engineer Nanodegree programme given at Udacity during the 2022 session.

Courses

Projects

Contents

The following topics are covered in course projects:

Course 1: Computer Vision
  • Training a SSD object detection model on the Waymo Open Dataset in TensorFlow
  • Fine-tuning strategies and making architectural optimisations for DNNs
  • Conducting exploratory data analysis (EDA) and training / evaluation error analysis
  • And so much more ... (see 1-Computer-Vision for full list of course topics).
Course 2: Sensor Fusion
  • Extract and transform LiDAR range images into 3D point clouds and bird's-eye view (BEV) maps;
  • Build and experiment with state-of-the-art 3D object detection nets;
  • Pre-process and perform multi-object tracking with multi-modal sensor data (LiDAR, RGB camera, radar);
  • Implement the Extended Kalman filter (EKF) and the Unscented Kalman filter (UKF) for multi-object tracking;
  • And so much more ... (see 2-Sensor-Fusion for full list of course topics).
Course 3: Localization
  • Master robot localisation from one-dimensional motion models to three-dimensional point cloud maps;
  • Master the fundamentals of Bayes' theorem and the Markov assumption applied to robot localisation;
  • Implement Markov localisation to perform 1D object tracking in C++;
  • Write and optimise two scan matching algorithms in C++: Iterative Closest Point (ICP) and Normal Distributions Transform (NDT);
  • Apply the scan matching algorithms to simulated LiDAR point clouds processed with the Point Cloud Library (PCL);
  • And so much more ... (see 3-Localization for full list of course topics).
Course 4: Planning
  • Design and implement weighted cost functions and behaviour planning systems in C++;
  • Perform structured trajectory generation in C++;
  • Implement the A* and Hybrid A* search algorithms in C++;
  • Use numerical approximation and discretisation to solve the Polynomial splines problem;
  • Generate optimal, feasible, collision-free paths;
  • And so much more ... (see 4-Planning for full list of course topics).
Course 5: Control
  • Design and implement feedback controllers (PID and MPC) for trajectory tracking;
  • Select design parameters to guarantee stability;
  • Use MPC to design a feedback controller for non-linear dynamics;
  • Test and evaluate the feedback controllers w.r.t. real-world perturbations using CARLA Simulator;
  • And so much more ... (see 5-Control for full list of course topics).

Material

Syllabus:

Literature:

  • See specific courses for related literature.

Datasets:

Lectures:

  • Lecture materials (videos, slides) available offline. Course lecture notes available on request.

Other resources

Companion code:

nd0013-self-driving-car-engineer's People

Contributors

jonathanloganmoran avatar

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.