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.

2023S, 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
Tue10:00 - 12:0007.03.2023 - 27.06.2023CPS Bibliothek Lecture
Thu10:00 - 12:0009.03.2023 - 29.06.2023CPS Bibliothek Lecture
Thu16:00 - 17:0029.06.2023Informatikhörsaal - ARCH-INF Final lab / Race
Autonomous Racing Cars - Single appointments
DayDateTimeLocationDescription
Tue07.03.202310:00 - 12:00CPS Bibliothek Lecture
Thu09.03.202310:00 - 12:00CPS Bibliothek Lecture
Tue14.03.202310:00 - 12:00CPS Bibliothek Lecture
Thu16.03.202310:00 - 12:00CPS Bibliothek Lecture
Tue21.03.202310:00 - 12:00CPS Bibliothek Lecture
Thu23.03.202310:00 - 12:00CPS Bibliothek Lecture
Tue28.03.202310:00 - 12:00CPS Bibliothek Lecture
Thu30.03.202310:00 - 12:00CPS Bibliothek Lecture
Tue18.04.202310:00 - 12:00CPS Bibliothek Lecture
Thu20.04.202310:00 - 12:00CPS Bibliothek Lecture
Tue25.04.202310:00 - 12:00CPS Bibliothek Lecture
Thu27.04.202310:00 - 12:00CPS Bibliothek Lecture
Tue02.05.202310:00 - 12:00CPS Bibliothek Lecture
Thu04.05.202310:00 - 12:00CPS Bibliothek Lecture
Tue09.05.202310:00 - 12:00CPS Bibliothek Lecture
Thu11.05.202310:00 - 12:00CPS Bibliothek Lecture
Tue16.05.202310:00 - 12:00CPS Bibliothek Lecture
Tue23.05.202310:00 - 12:00CPS Bibliothek Lecture
Thu25.05.202310:00 - 12:00CPS Bibliothek Lecture
Thu01.06.202310:00 - 12:00CPS Bibliothek 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 groupsTue12:00 - 15:0018.04.2023Labor/Praktikum On-site safety briefing
On-site lab groupsWed10:30 - 16:0019.04.2023Labor/Praktikum On-site safety briefing
On-site lab groupsThu12:00 - 16:0020.04.2023Labor/Praktikum On-site safety briefing

Course registration

Begin End Deregistration end
15.02.2023 12:00 08.03.2023 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 groups07.03.2023 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