Autonomous Driving Software Engineering (Modul MW2472, online)
Contact
Contact: vl.adse.ftm(at)ed.tum.de
Available online
In the summer term, the lecture is held in-person and additionally recorded per video. In the winter term, the lecture is entirely held online, in addition to the recorded lecture, an online consulting session will be offered.
The course content is available via Moodle.
Lecturer (assistant) | |
---|---|
Number | 0000001646 |
Type | lecture |
Duration | 2 SWS |
Term | Wintersemester 2024/25 |
Language of instruction | English |
Position within curricula | See TUMonline |
Dates | See TUMonline |
Dates
-
(No dates found)
Admission information
Objectives
After participating in the course, students will have a comprehensive overview of the software modules and further essential components of autonomous driving. The students will be capable of selecting and applying the appropriate method from the state of the art for each software module. Moreover, they will have a deep understanding of the functionality. Students can describe further essential components of software development and apply them purposefully to the respective problem.
Description
In this lecture, all relevant aspects surrounding software development for autonomous driving are covered, and the associated practical application is demonstrated.
1. Introduction
Historical overview, levels of automation, modular software-stack, actuators and sensors
2. Software Tools
Git, ROS2, Docker
3. Perception I: Mapping
SLAM, HD maps
4. Perception II: Localization
GPS, filter, visual localization
5. Perception III: Object detection
Datasets, object types, detection algorithms (lidar, camera, etc.), sensor fusion
6. Prediction
Levels of prediction, knowledge- and learning-based approaches (graphs, transformer, etc.)
7. Planning I
Navigation task, search methods
8. Planning II
Cost function, decision function, trajectory generation
9. Control
Controlled variables, classic controllers, MPC
10. Safety assessment
Scenario tests, virtual safeguarding, supervisor principle
11. Teleoperated driving
Concept, connection approaches, user requirements
12. Simulation
Foundations and necessity, simulation environments, combining software modules
1. Introduction
Historical overview, levels of automation, modular software-stack, actuators and sensors
2. Software Tools
Git, ROS2, Docker
3. Perception I: Mapping
SLAM, HD maps
4. Perception II: Localization
GPS, filter, visual localization
5. Perception III: Object detection
Datasets, object types, detection algorithms (lidar, camera, etc.), sensor fusion
6. Prediction
Levels of prediction, knowledge- and learning-based approaches (graphs, transformer, etc.)
7. Planning I
Navigation task, search methods
8. Planning II
Cost function, decision function, trajectory generation
9. Control
Controlled variables, classic controllers, MPC
10. Safety assessment
Scenario tests, virtual safeguarding, supervisor principle
11. Teleoperated driving
Concept, connection approaches, user requirements
12. Simulation
Foundations and necessity, simulation environments, combining software modules
Prerequisites
Attending the lectures Basics of Automotive Technology, Artificial Intelligence in Automotive Technology, Advanced Driver Assistant Systems or similar offerings are recommended but not a prerequisite for participation in this course. However, basic knowledge of the Python programming language is necessary and a prerequisite for understanding the coding sessions during the exercise. If this is not the case, we recommend participating in an online Python course, such as learnpython.org (https://www.learnpython.org/).
Teaching and learning methods
In this course, theoretical foundations are conveyed through lectures and exercises. During the lecture, specific questions are posed that require a transfer of knowledge from the students, offering them the opportunity to participate in the discussion. This approach aims to foster critical thinking with respect to individual software modules for autonomous driving and to allow a transfer of the gained knowledge to additional problem statements. Software examples are explained in the lecture, which the students can actively program as part of the exercises. These code examples represent the practical applications of the methods outlined and link theory with practice. Hence, students are introduced to the holistic software development process.
Examination
In a written examination (duration 90 minutes), the competencies conveyed are to be applied to the problems of the functional modules for autonomous driving and transferred to further advanced tasks. As an example, within the exam students should be able to select appropriate methods and algorithms from the field of path planning and explain their functionality afterwards. Furthermore, the transfer to new problem statements is expected.
The allowed tool for this examination is a calculator (non-programmable).
The allowed tool for this examination is a calculator (non-programmable).
Recommended literature
S. Pendleton et al., “Perception, Planning, Control, and Coordination for Autonomous Vehicles”, Machines, vol. 5, no. 1, p. 6, 2017, doi: 10.3390/machines5010006.
M. Maurer, B. Lenz, H. Winner, and J. C. Gerdes, "Autonomous Driving: Technical, Legal and Social Aspects". s.l.: Springer, 2016.
D. Watzenig, M. Horn, "Automated Driving: Safer and More Efficient Future Driving", Springer International Publishing, 2017.
A. Faisal, T. Yigitcanlar, M. Kamruzzaman, and G. Currie, “Understanding autonomous vehicles: A systematic literature review on capability, impact, planning and policy,” JTLU, vol. 12, no. 1, 2019, doi: 10.5198/jtlu.2019.1405.
M. Maurer, B. Lenz, H. Winner, and J. C. Gerdes, "Autonomous Driving: Technical, Legal and Social Aspects". s.l.: Springer, 2016.
D. Watzenig, M. Horn, "Automated Driving: Safer and More Efficient Future Driving", Springer International Publishing, 2017.
A. Faisal, T. Yigitcanlar, M. Kamruzzaman, and G. Currie, “Understanding autonomous vehicles: A systematic literature review on capability, impact, planning and policy,” JTLU, vol. 12, no. 1, 2019, doi: 10.5198/jtlu.2019.1405.