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.

2021S, VU, 4.0h, 6.0EC
TUWEL

Properties

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

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, students take two lectures and complete an extensive hands-on lab. By Week 6, the students will have built, programmed and driven a 1/10th scale autonomous race car. By Week 10, the students will have learned fundamental principles in perception, planning and control and will race using map-based approaches. In the last 6 weeks, they 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 & RACE!: Build vehicle, tune electronic speed controller, and implement reactive driving methods such as follow the gap and complete Race 1.
  3. AV Mapping & Localization: Foundations of SLAM with scan matching and particle filters, Google Cartographer SLAM, implement pure pursuit driving, and complete Race 2 using maps.
  4. AV Planning: Moral Decision Making for autonomous systems, 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. F1/10 Grand Prix! Race 3 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.
  • Ethics: Moral decision making and student debate
  • 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 lecture with continually accompanying lab assignments, deepening the understanding of the module content and increasing the individual problem-solving competence in autonomous racing cars. Lecture and lab: 2 x 3 hours/week.

Depending on the Covid-related 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

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!

 

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue10:00 - 12:0002.03.2021 - 29.06.2021 Zoom link see TUWEL (LIVE)ARC-Course
Thu10:00 - 12:0004.03.2021 - 24.06.2021 Zoom link see TUWEL (LIVE)ARC-Course
Thu09:00 - 10:0018.03.2021 - 17.06.2021 Zoom link see TUWEL (LIVE)ARC Lab Information Lecture
Autonomous Racing Cars - Single appointments
DayDateTimeLocationDescription
Tue02.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu04.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue09.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu11.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue16.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu18.03.202109:00 - 10:00 Zoom link see TUWELARC Lab Information Lecture
Thu18.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue23.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu25.03.202109:00 - 10:00 Zoom link see TUWELARC Lab Information Lecture
Thu25.03.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue13.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu15.04.202109:00 - 10:00 Zoom link see TUWELARC Lab Information Lecture
Thu15.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue20.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu22.04.202109:00 - 10:00 Zoom link see TUWELARC Lab Information Lecture
Thu22.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue27.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Thu29.04.202109:00 - 10:00 Zoom link see TUWELARC Lab Information Lecture
Thu29.04.202110:00 - 12:00 Zoom link see TUWELARC-Course
Tue04.05.202110:00 - 12:00 Zoom link see TUWELARC-Course

Examination modalities

Course grading:

  • The course grading will be based on lab 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.

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 one week, unless otherwise specified.

Group dates

GroupDayTimeDateLocationDescription
On-site Labs00:00 - 23:5917.05.2021 - 30.06.2021Seminarraum Techn. Informatik 191.119 Autonomous Racing Cars On-site Labs

Course registration

Begin End Deregistration end
04.02.2021 12:00 07.03.2021 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!

Group Registration

GroupRegistration FromTo
On-site Labs01.05.2021 12:0003.05.2021 12: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.

Language

English