191.119 Autonomous Racing Cars
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2020S, VU, 4.0h, 6.0EC
Diese Lehrveranstaltung wird nach dem neuen Modus evaluiert. Mehr erfahren

LVA-Bewertung

Merkmale

  • Semesterwochenstunden: 4.0
  • ECTS: 6.0
  • Typ: VU Vorlesung mit Übung

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage alle Hardware- und Softwarekenntnisse zu beherrschen, die für den Bau eines vollständig autonomen Rennwagens erforderlich sind. Dazu gehören die Steuerungshardware (z.B. RBG-Tiefenkamera, LIDAR, elektronischer Geschwindigkeitsregler, WIFI-Steuerung, Sensor und Leistungsplatine, einzelne 5000mAH-Lipo-Batterie, Sensorchassis, NVIDIA Jetson TX2 GPGPU-Computerplattform) und der Software-Stack (z.B. ROS, F1/10-Simulator, AV-Mapping und -Lokalisierung, AV-Planung, Lernen und Vision).

Inhalt der Lehrveranstaltung

 

Ziel dieses Kurses ist es, den Studenten eine aktuelle Grundlage in den Technologien zu vermitteln, die an selbstfahrenden Autos und allgemein an mobilen autonomen Systemen eingesetzt und getestet werden.

Dieser praktische, laborzentrierte Kurs richtet sich an Master-Studenten, die sich für die Bereiche künstliche Wahrnehmung, Bewegungsplanung, Steuerungstheorie und angewandtes maschinelles Lernen interessieren. Er richtet sich auch an Studierende, die sich für das aufstrebende Gebiet des autonomen Fahrens interessieren. Dieser Kurs macht die Studenten mit der Hardware, Software und den Algorithmen vertraut, die beim Bau und beim Rennen eines autonomen Rennwagens zum Einsatz kommen. Jede Woche nehmen die Studenten an zwei Vorlesungen teil und absolvieren ein umfangreiches praktisches Labor. Bis Woche 6 werden die Studenten einen autonomen Rennwagen im Maßstab 1:10 gebaut, programmiert und gefahren haben. Bis Woche 10 werden die Studenten grundlegende Prinzipien der Wahrnehmung, Planung und Kontrolle gelernt haben und mit kartenbasierten Ansätzen Rennen fahren. In den letzten 6 Wochen entwickeln und implementieren sie fortgeschrittene Rennstrategien, Computer-Vision und Algorithmen des maschinellen Lernens, die ihrem Team einen Vorsprung in dem Rennen verschaffen, das den Kurs abschließt.

Der Kurs besteht aus fünf aufeinander aufbauenden Lernmodulen, die drei Bewertungsrennen umfassen:

  1. Einführung in ROS, F1/10 & den Simulator: Einführung in die selbstfahrende Hardware und den vollständig autonomen Software-Stack des Fahrzeugs, automatische Notbremsung, LiDAR, Starrkörpertransformation, Laplace-Domänendynamik, PID-Regelung für die Wandfolge.
  2. Fahren mit reaktiven Methoden & RACE! Bauen Sie das Fahrzeug, stimmen Sie den elektronischen Geschwindigkeitsregler ab und implementieren Sie reaktive Fahrmethoden wie das Folgen der Lücke und das komplette Rennen 1.
  3. AV-Abbildung und Lokalisierung: Grundlagen von SLAM mit Scan-Matching und Partikelfiltern, Google Cartographer SLAM, Implementierung reiner Verfolgungsfahrten und Vervollständigung von Rennen 2 mit Hilfe von Karten.
  4. AV-Planung: Moralische Entscheidungsfindung für autonome Systeme, Optimierung der Rennlinie, Planung mit der schnellen Erforschung von Zufallsbäumen (RRT) und dem Verständnis der modellprädiktiven Steuerung (MPC).
  5. Lernen & Vision: Entwurf und Implementierung von Algorithmen zur Erkennung und Posenschätzung, Verstärkungslernen und Extraktion visueller Merkmale.
  6. F1/10 Großer Preis! Rennen 3 wird ein Projekt zur Implementierung von Strategien zur Planung und Steuerung von Rennen beinhalten.

Wochen-/Sitzungsplan:

  • Woche 01: Einführung, unter Verwendung des F1/10-Simulators. Übung 1: Einführung in ROS
  • Woche 02: Systeme: Automatische Notbremsung und Sicherheitskonzepte. Labor 2: Sicherheits-Co-Pilot 
  • Woche 03: Empfinden: LiDAR und Starrkörpertransformationen
  • Woche 04: Empfindung und Betätigung: Referenzverfolgung, Laplace-Domänendynamik, PID. Labor 3: Wall Following Roboter-Labor 
  • Woche 05: Aktuation: Abstimmung der elektronischen Geschwindigkeitsregelung und Labor 4: Follow the Gap
  • Woche 06: Rennvorbereitung und Rennen 1.
  • Woche 07: Wahrnehmung I: Lokalisierung durch Scan-Matching
  • Woche 08: Wahrnehmung II: Kartierung der Welt: SLAM und Partikelfilter
  • Woche 09: Planung I: Reine Verfolgung
  • Woche 10: Planung II: Rennstrecken. Mitte des Semesters Rennen 2 mit Navigationskarten.
  • Woche 11: Ethik: Moralische Entscheidungsfindung und Studentendebatte
  • Woche 12: Fortgeschrittene Themen: Rasche Erforschung von Zufallsbäumen (RRT) und Modell-Prädiktionskontrolle (MPC) 
  • Woche 13: Computer Vision: Erkennung, Posenschätzung und visuelle Merkmalsextraktion
  • Woche 14: Maschinelles Lernen: Neuronale Netzwerk-Autopiloten: Kann eine Maschine das Fahren lernen?
  • Woche 15: Gastvorträge: Verstärkungslernen und Autonome Fahrzeuge - Forschungsprototypen 
  • Woche 16: Semesterende-Rennen

Methoden

Wöchentliche Vorlesung mit kontinuierlich begleitenden Laboraufgaben, die das Verständnis der Modulinhalte vertiefen und die individuelle Problemlösungskompetenz in autonomen Rennwagen erhöhen. Vorlesung und Labor: 2 x 3 Stunden/Woche. Dienstag und Donnerstag 9-12 Uhr, CPS-Bibliothek.

Prüfungsmodus

Mündlich

Weitere Informationen

Schauen Sie bitte auch hier und hier nach.

Vortragende

Institut

Leistungsnachweis

Bewertung der Kurse: Die Endnote wird wie folgt berechnet

  • 50% Laboratorien:
  • 30% Wettbewerbsleistung (Mitte und Ende des Semesters) und öffentliche Kommunikation
  • 5% Wettbewerbsdokument: ein 10-seitiges Dokument, das Ihren Ansatz für den Wettbewerb zusammenfasst (Software-Architektur, Algorithmen, Hardware, Tests usw.), Beispiele für Leistungsergebnisse usw.
  • 5% Peer-Review: eine anonyme Bewertung Ihrer Arbeit, die von Ihren Teamkollegen durchgeführt wurde. [10%] Teilnahme an der Klassen- und TA-Bewertung

Kursbewertung:

  • Für die meisten Labore werden wir Ihren Code in einen vorgegebenen Test (d.h. einen Benchmark) einbauen.
  • Der Test sollte mit Ihrem Code darin laufen. Ihnen wird mitgeteilt, was der Test in der Aufgabe ist, so dass Sie sicherstellen können, dass Ihr Code zumindest läuft. Wenn Sie die Testbeschreibung in der Aufgabe nicht finden, sagen Sie uns Bescheid!
  • Wir werden die Leistung Ihres Autos untersuchen. Bei einigen Labors werden wir Sie um eine Codebegehung oder sogar um eine Codeverfolgung bitten. Die Qualität der Software (z.B. Kommentare, Code-Struktur, Modularität, usw.) zählt für die Bewertung.

Ein Labor dauert normalerweise eine Woche, sofern nicht anders angegeben. Es wird an der ersten Vorlesung der Woche zugewiesen und ist vor der ersten Vorlesung der folgenden Woche fällig. Wir werden alle eingereichten Lösungen vor der Vorlesung herunterladen. Wir werden auch den Lösungscode gleichzeitig mit dem Download Ihrer Einreichungen freigeben, so dass es wirklich keinen Platz für verspätete Einreichungen gibt. Sie werden die freigegebenen Lösungen, die im Folgenden als Referenzimplementierung bezeichnet werden, in den folgenden Laboratorien verwenden. Auf diese Weise beginnt jeder jedes Labor mit dem gleichen Basiscode, von dem wir wissen, dass er gut funktioniert.

LVA-Anmeldung

Von Bis Abmeldung bis
06.02.2020 12:00 15.03.2020 12:00

Curricula

StudienkennzahlSemesterAnm.Bed.Info
066 938 Technische Informatik

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

Die wichtigste technische Voraussetzung sind gute Programmierkenntnisse in C++ und Python. Sie werden in beiden Sprachen programmieren oder Code lesen. Python ist leicht zu erlernen, wenn Sie es nicht bereits kennen, aber Sie müssen das in Ihrer eigenen Zeit tun. Sie benötigen auch Kenntnisse über Frequenztransformationskonzepte (z.B. Fourier oder Laplace), grundlegende Matrixalgebra und Differentialgleichungen.

Sprache

Englisch