sze-info / Lecture_ADSE

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lecture: Autonomous Driving Software Engineering

This is the official repository of the lecture "Autonomous Driving Software Engineering" by the Institute of Automotive Technology (Prof. Dr.-Ing. Lienkamp), TUM. You find the code from all the practice sessions in the related subdirectories. The following figure outlines the structure of the repository, which is based on the lecture's chapters:

alt text


The practice sessions are presented in jupyter notebooks (practice.ipynb). Note that there are recordings of each session on our YouTube-channel, link below. Comprehensive explanations of the code are given in these videos. Some useful links:

All recordings can be found on our YouTube-Channel.

The associated lecture slides are accessible on ResearchGate.

To get more information about our institute, visit our homepage.

Requirements

Setup

  1. First setup the anaconda environment by importing ADSE_conda_environment.yml into the anaconda navigator.
  2. Launch jupyter notebook via the anaconda navigator. Note to activate the installed environment.
  3. You can run all practice notebooks with the provided anaconda environment except the practice sessions 3, 6, and 11. These practice sessions have other dependencies, please check out the local readmes in the related sub-directories. Practice 3 runs in ROS, so Linux is recommended.

How to get started

The procedure of the lecture is as follows:

  1. Watch the video of a single lecture in the YouTube-Playlist and go through the slides in the ResearchGate-Project.
  2. Watch the video of the associated practice session in the YouTube-Playlist and test the related practice code in this repository on your own.
  3. Go to the next chapter and repeat step 1 and step 2.

Content

Number Session Description Video Lecture Slides
1 Python intro Some basics of programming in python for beginners. --- ResearchGate
2 Basics of mapping and localization Exemplary implementation of a Kalman filter and application for localization via GNSS-signal. YouTube ResearchGate
3 SLAM The google cartographer SLAM algorithm is applied to data from the KITTI-dataset. Note, that this lecture is held in Linux and has its own dependencies, please refer to the local readme. YouTube ResearchGate
4 Detection Overview about the YOLO-approach from network architecture to exemplary usage. YouTube ResearchGate
5 Prediction Implementation of the pipeline to setup a motion prediction algorithm based on a Encoder-Decoder architecture. YouTube ResearchGate
6 Global plannings A global optimal race line optimization is shown. This lecture has its own dependencies, please refer to the local readme. YouTube ResearchGate
7 Local planning A local planning algorithm based on a graph-based approach is presented. YouTube ResearchGate
8 Control The design of a velocity controller and numerical solver for differential equation are covered. YouTube ResearchGate
9 Safety assessment The evaluation of the criticality of planned trajectories based on various metrics and their sensitivity is discussed. YouTube ResearchGate
10 Teleoperated driving How to send and receive data via MQTT over network is shown in this practice session. YouTube ResearchGate
11 End-to-End The exemplary pipeline of data collection from expert demonstration, training and application are treated in this session. This lecture has its own dependencies, please refer to the local YouTube ResearchGate

Contributions

If you find our work useful in your research, please consider citing the associated lecture at our ResearchGate-Project.

About

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 78.4%Language:C++ 14.9%Language:Python 4.0%Language:Shell 0.9%Language:CMake 0.8%Language:JavaScript 0.4%Language:PowerShell 0.3%Language:Common Lisp 0.2%Language:C 0.1%Language:CSS 0.0%Language:EJS 0.0%Language:Batchfile 0.0%Language:Makefile 0.0%Language:Dockerfile 0.0%