F1TENTH: Autonomous Driving Hands-on

Lecturer (assistant)
  • Johannes Betz [L]
  • Felix Jahncke
TypePractical course
Duration4 SWS
TermWintersemester 2023/24
Language of instructionEnglish
Position within curriculaSee TUMonline
DatesSee TUMonline

Admission information


After attending the module, students will have a comprehensive overview of the algorithms used in autonomous driving in the areas of perception, path planning and control. They will be able to select the appropriate method and algorithm for various problems in autonomous driving and implement them with the corresponding code. Furthermore, you will be able to develop and program the software in such a way that it can efficiently and safely move a real, 1:10 autonomous model vehicle. In doing so, students will learn the basics of software development for real hardware use. Based on this, students will then be able to develop inter- and transdisciplinary approaches to combine the three elements (environmental, social and economic development).In addition, students will learn how to improve and optimise existing software and algorithms using real vehicle measurement data. By working together in teams of their own discipline, but also beyond that in interdisciplinary teams, students are able to understand each other's language, justify their own decisions and convince with arguments.


The course offers the opportunity to learn the basics of autonomous driving and robotics through hands-on experience with the F1TENTH vehicle. We will first teach the basics of autonomous driving by teaching the theory of perception (Perception), path planning (Planning) and regulation (Control) and their programming. After the theory, we will further deepen the most important software modules in a practical way in this practical course. This software must then be implemented and optimised by the students on real vehicle hardware. The central element here is the F1TENTH vehicle, a 1:10 vehicle platform that is equipped with sensors (camera, lidar), computer hardware (Nvidia Jetson) and further electronics to be able to drive fully autonomously. The goal of each term is to implement the theoretically learned algorithms on the real vehicle and then have the vehicle drive fully autonomously.


Basic knowledge of autonomous vehicle systems (Recommended TUM lectures: Fundamentals of Autonomous Vehicles or Software Development for Autonomous Driving or similar courses) are strongly recommended in order to be able to follow the range of contents. Since we work practically with embedded hardware, basic knowledge of Linux (Ubuntu), handling of the command line as well as programming skills (preferably C++ or Python) are assumed.

Teaching and learning methods

The module takes place in the form of a practical course. Each practical session includes the teaching of a software element for autonomous vehicles. Each session begins with an explanation of the theoretical basics of the algorithms of autonomous vehicles in a frontal knowledge transfer by means of a presentation. This is followed by a live programming session by means of a presentation, with the software being explained step by step and in detail. During the live programming, the students can integrate the software on their vehicle at the same time. Three students work together in a team on one vehicle. For the implementation of the software, support is provided by the teachers. Afterwards, there is a working part that deals with the improvement, tuning and optimisation of the software, which is worked on by the students independently and supervised by the teachers.


The student's assessment will focus on their understanding of the problem, the tools used, the solution developed to solve the problem and their ability to explain and justify the decisions made during the project work. The final mark for the module is made up of the following. 1. the students must perform the demonstration and presentation of a project carried out with the F1TENTH vehicle (70%). 2. students must give a short report (approx. 3 pages, 2000-2500 words) on the implementation and evaluation of the software that enabled the project (30%).

Recommended literature

• Pendleton et. al, Perception, Planning, Control, and Coordination for Autonomous Vehicles, Machines 2017, 5(1), 6; https://doi.org/10.3390/machines5010006 • Choset, Howie M. Principles of robot motion : theory, algorithms, and implementation. Cambridge, Mass: MIT Press, 2005. Print. • LaValle, Steven M. Planning algorithms. Cambridge New York: Cambridge University Press, 2006. Print. • Thrun, Sebastian, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. Cambridge, Massachusetts: The MIT Press, 2006. Print. • Ranjan, Sumit, and S Senthamilarasu. Applied deep learning and computer vision for self-driving cars : build autonomous vehicles using deep neural networks and behavior-cloning techniques. Birmingham: Packt Publishing, 2020. Print. • 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.