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:

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.
ADSE_conda_environment.yml into the anaconda navigator.The procedure of the lecture is as follows:
| 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 |
If you find our work useful in your research, please consider citing the associated lecture at our ResearchGate-Project.
Jupyter Notebook
78.4%
C++
14.9%
Python
4.0%
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:

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.
ADSE_conda_environment.yml into the anaconda navigator.The procedure of the lecture is as follows:
| 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 |
If you find our work useful in your research, please consider citing the associated lecture at our ResearchGate-Project.
Jupyter Notebook
78.4%
C++
14.9%
Python
4.0%