191.119 Autonomous Racing Cars
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2022S, VU, 4.0h, 6.0EC
TUWEL

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to master all the hardware and software knowledge required for building a fully autonomous racing car. This includes the control hardware (e.g. RBG depth camera, LIDAR, electronic speed controller, WIFI control, sensor and power board, single 5000mAH LiPo battery, sensor chassis, NVIDIA Jetson TX2 GPGPU computer platform) and the software stack (e.g. ROS, F1/10 simulator, AV mapping and localisation, AV planning, learning and vision).

The goal of this course is to give students an up-to-date foundation in the technologies being deployed and tested on self-driving cars, and more general mobile autonomous systems.

Subject of course

The goal of this course is to give students an up-to-date foundation in the technologies being deployed and tested on self-driving cars, and more general mobile autonomous systems.

This hands-on, lab-centered course is for master students interested in the fields of artificial perception, motion planning, control theory, and applied machine learning. It is also for students interested in the burgeoning field of autonomous driving. This course introduces the students to the hardware, software and algorithms involved in building and racing an autonomous race car. Every week, (pre-recorded) lectures covering the relevant aspects are provided. Core of the lecture are the lab assignments. They are starting with the hard- and software that is needed to build and programme a 1/10th scale autonomous race car. Then fundamental principles in perception, planning and control and map-based approaches follow. At the end students develop and implement advanced racing strategies, computer vision and machine learning algorithms that will give their team the edge in the race that concludes the course.

The course has five learning modules that build on each other and include three races for evaluation:

  1. Introduction to ROS, F1/10 & the Simulator: Introduction to self-driving hardware and full autonomous vehicle software stack, automatic emergency braking, LiDAR, rigid body transformation, Laplace domain dynamics, PID control for wall following.
  2. Driving using Reactive Methods: Build vehicle, tune electronic speed controller, and implement reactive driving methods such as follow the gap.
  3. AV Mapping & Localization: Foundations of SLAM with scan matching and particle filters, Google Cartographer SLAM, implement pure pursuit driving.
  4. AV Planning: Raceline optimization, planning with rapidly exploring random trees (RRT) and understanding model-predictive control (MPC).
  5. Learning & Vision: Design and implement algorithms for detection and pose estimation, reinforcement learning and visual feature extraction.
  6. The final lab will include a project to implement planning and control race strategies.

Content details:

  • Introduction, using the F1/10 simulator.
  • Systems: Automatic Emergency Braking and notions of safety.
  • Sensing: LiDAR and rigid body transformations
  • Sensing and Actuation: Reference tracking, Laplace domain dynamics, PID.
  • Actuation: Electronic Speed Control tuning
  • Perception I: Localization by scan matching
  • Perception II: Mapping the world: SLAM and particle filters
  • Planning I: Pure pursuit
  • Planning II: Racing lines, navigation maps.
  • Advanced topics: Rapidly exploring random trees (RRT) and Model-Predictive Control (MPC) 
  • Computer vision: detection, pose estimation and visual feature extraction
  • Machine Learning: Neural network auto-pilots: can a machine learn to drive?
  • Learning: Reinforcement Learning and Autonomous vehicles research prototypes 
  • End-of-semester race

Please note that the content details might partially change due to current focus points and time constraints.

Teaching methods

  • Weekly lectures (pre-recorded as videos) covering the background.
  • Supplementary Lab-Lectures for the specific topics relevant for the lab assignments.
  • Accompanying lab assignments, deepening the understanding of the module content and increasing the individual problem-solving competence in autonomous racing cars.

Depending on the current situation lab assignments will either be carried out in simulation and/or on the actual racing car hardware at the institute. Further information on this will follow as soon as possible.

Mode of examination

Immanent

Additional information

ECTS Breakdown: 6 ECTS = 150 Hours

  • 1h | Introduction-Lecture
  • 148h | 8 Lab assignments, each 1h Lab-Lecture, 16.5h Work on assignments (incl. Preperation using pre-recorded lectures of fundamentals), 1h Lab-presentation
  • 1h | Recap

Please note that most of the lab assignments are to be solved by teams. This means you should distribute the total workload well among all team members.

Registration is done in TISS, all further communication in TUWEL. Register in time, s.t. you get access to the link for the lectures and all further material!

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Thu10:00 - 12:0003.03.2022 - 30.06.2022Seminarraum Techn. Informatik Lab-Lecture
Wed10:00 - 15:0006.04.2022Labor/Praktikum Lab
Thu10:00 - 12:0007.04.2022Labor/Praktikum Lab
Fri11:00 - 13:0008.04.2022Labor/Praktikum Lab
Mon10:00 - 11:0025.04.2022Seminarraum Techn. Informatik Lab-Lecture
Tue12:00 - 15:0014.06.2022Seminarraum Techn. Informatik Lab-Lecture
Autonomous Racing Cars - Single appointments
DayDateTimeLocationDescription
Thu03.03.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu10.03.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu17.03.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu24.03.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu31.03.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Wed06.04.202210:00 - 15:00Labor/Praktikum Lab
Thu07.04.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu07.04.202210:00 - 12:00Labor/Praktikum Lab
Fri08.04.202211:00 - 13:00Labor/Praktikum Lab
Mon25.04.202210:00 - 11:00Seminarraum Techn. Informatik Lab-Lecture
Thu28.04.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu05.05.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu12.05.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu19.05.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu02.06.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu09.06.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Tue14.06.202212:00 - 15:00Seminarraum Techn. Informatik Lab-Lecture
Thu23.06.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture
Thu30.06.202210:00 - 12:00Seminarraum Techn. Informatik Lab-Lecture

Examination modalities

Course grading:

  • The course grading will be based on lab assignments (individual- and group assignments). There will be at least 8 lab assignment sheets, where every sheet is worth the same amount of points. Every assignment sheet will indicate the maximum number of points for each sub-assignment.
  • Presentation of the lab results by student teams.

Course Evaluation:

  • For some labs, we will plug your code into a pre-set test (i.e., a benchmark).
  • The test should run with your code in it. You will be told what the test is in the assignment, so you can make sure that your code at least runs.
  • We will examine the performance of your car. On some labs, we might ask you for a code walk-through, or even code tracing.

A lab typically lasts two week, unless otherwise specified.

Group dates

GroupDayTimeDateLocationDescription
On-site lab groupsMon16:00 - 20:0002.05.2022 - 04.07.2022Informatikhörsaal - ARCH-INF 191.119 Autonomous Racing Cars On-site lab groups
On-site lab groupsThu14:00 - 18:0009.06.2022Informatikhörsaal - ARCH-INF 191.119 Autonomous Racing Cars On-site lab groups
On-site lab groupsTue13:00 - 18:0021.06.2022Informatikhörsaal - ARCH-INF 191.119 Autonomous Racing Cars On-site lab groups
On-site lab groupsThu15:00 - 19:0023.06.2022Informatikhörsaal - ARCH-INF 191.119 Autonomous Racing Cars On-site lab groups
On-site lab groupsMon17:00 - 21:0027.06.2022Informatikhörsaal - ARCH-INF 191.119 Autonomous Racing Cars On-site lab groups

Course registration

Begin End Deregistration end
10.02.2022 12:00 07.03.2022 23:59

Registration modalities

Registration is done in TISS, all further communication in TUWEL. Please register in time, s.t. you get access to the link for the lectures and all further material!

If the registration is already full, you may sign up for the waiting list. If other students drop out, you might get a spot. So you should also attend the introduction lecture, if you are registered on the waiting list.

Group Registration

GroupRegistration FromTo
On-site lab groups01.03.2022 00:00

Curricula

Study CodeObligationSemesterPrecon.Info
066 938 Computer Engineering Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

The most important technical pre-requisite is good programming skills in C++ and Python. You will be coding or reading code in both languages. Python is easy to learn if you don’t already know it, but you will have to do that on your own time. You will also need knowledge of frequency transform concepts (e.g., Fourier or Laplace), basic matrix algebra and differential equations.

Accompanying courses

Language

English