Überblick
- Zeitraum und Rahmen — April bis Juli 2026, Kognitive Automobile Labor am Institut für Mess- und Regelungstechnik (MRT) des KIT, Teamprojekt
- Meine Rolle — hauptsächlich Wahrnehmung (Datensatz, Detektionsmodell, 3D-Lokalisierung und Tracking mit RGB-D); außerdem Mitarbeit an Planung, Regelung und Tests am Fahrzeug
- Aufgabe — auf der rechten Fahrspur einer Strecke mit unbekannter Rundenzahl fahren, ein geparktes Hindernisfahrzeug über die Gegenspur überholen, in eine Pylonengasse einfahren und an ihrem Ende anhalten
- Plattform — Versuchsfahrzeug auf MuSHR-Basis mit Intel-RealSense-RGB-D-Frontkamera, ROS 2 Jazzy
Meine Beiträge
- Wahrnehmung von klassischer Bildverarbeitung auf YOLO mit RGB-D umgestellt — die erste Version nutzte OpenCV für Pylonen (HSV-Segmentierung), Fahrbahnmarkierungen (Canny / Hough) und das Hindernisfahrzeug (RANSAC-Bodenebene und Höhensegmentierung). Ein Offline-Replay von 6 Aufzeichnungen mit 1.770 Bildern lief mit 8,1–9,6 ms pro Bild, zeigte aber versetzte RGB- und Tiefenbilder, als Fahrzeuge erkannte Heizkörper und Wände sowie in Randfällen nur 1,5 % gültige Fahrspurerkennungen. Ersetzt durch Tiefenausrichtung, YOLO-Detektion und Bestätigung über mehrere Bilder
- Datensatz aufgebaut und Detektor iteriert — 400 Bilder vom Versuchsfahrzeug (334 Training / 66 Validierung) mit 1.232 Boxen in 3 Klassen: Pylone, Hindernisfahrzeug, Verkehrszeichen (die Zeichenklasse verhindert nur Verwechslungen mit Pylonen). Vom vorherigen Modell weitertrainiert: Auf demselben Validierungssatz stieg mAP50 von 67,7 % auf 97,4 % und der Recall von 57,4 % auf 96,7 %
- YOLOv8n für ferne Pylonen verbessert — eine ferne Pylone belegt bei 640er-Eingabe nur etwa 4×8 Pixel. Deshalb Coordinate Attention in die mittleren und tiefen C2f-Blöcke eingefügt und einen hochauflösenden P2-Detektionskopf ergänzt; im kontrollierten Vergleich stieg der Recall von 91,6 % auf 99,4 % und mAP50-95 von 56,8 % auf 59,6 %, bei 2,0 statt 1,5 ms pro Bild. Die eingesetzten Gewichte enthalten Coordinate Attention; eine kleine Kompatibilitätsschicht lässt die unveränderte Ultralytics-Laufzeit auf dem Fahrzeug die eigenen Module laden
- 3D-Lokalisierung und Tracking mit RGB-D — Rohtiefe der RealSense (848×480) in das Farbbild (1280×720) reprojiziert, die Vordergrundtiefe in jeder Box geclustert und Objekte erst nach 3 aufeinanderfolgenden Bestätigungen an die Planung weitergegeben; die Wahrnehmung veröffentlicht JSON-Ereignisse mit 10 Hz
- Tests — 18 Unit-Tests für die Wahrnehmungskette (Tiefenausrichtung, 3D-Projektion, Track-Bestätigung, JSON-Schnittstelle u. a.); Offline-Replay von Aufzeichnungen zur Fehlersuche
- Über die Wahrnehmung hinaus — Mitarbeit an Planung, Regelung und Tests am Fahrzeug
Technische Details
Architektur: fünf ROS-2-Pakete
| Paket | Sprache | Aufgabe |
|---|---|---|
kal_perception_yolo |
Python | RGB-D-Synchronisation, Tiefenausrichtung, YOLO-Inferenz, 3D-Nachverarbeitung, Tracking, JSON-Ausgabe |
trajectory |
Python | Pfadauswahl, Verhaltens-Zustandsautomat, Überholen, Pylonengedächtnis und Mittellinie der Gasse, Zeitstempel der Trajektorie |
kal_controller_PID |
C++ | ROS-unabhängiges Regelgesetz aus Pure Pursuit und PID |
kal_controller_ros_tool_PID |
C++ | ROS-2-Komponente um den Regler: Parameter, TF, Sicherheitsprüfungen, Verlangsamung an Pylonen |
autonomous_car_bringup |
Python | Gemeinsamer Start von Wahrnehmung, Planung und Regelung |
Datenfluss: RGB + Rohtiefe + Kalibrierung → Tiefenausrichtung → YOLO-Boxen → 3D-Position und Mehrbildbestätigung → JSON-Ereignisse → Zustandsautomat und Trajektorie → Pure Pursuit + PID → Ackermann-Lenk- und Geschwindigkeitsbefehle.
Planung und Regelung (Teamarbeit mit meiner Beteiligung)
- Pfadauswahl — zwei vorab aufgezeichnete Rundkurse; eine Abstandsabstimmung wählt den, auf dem das Fahrzeug fährt
- Verhaltens-Zustandsautomat — Pfad folgen → überholen → Pylonengasse → anhalten
- Überholen — gaußförmiger seitlicher Versatz (bis 0,4 m) entlang der linken Normalen im Bereich von 3,5 m vor und nach dem Hindernis; innerhalb von 1,5 m wird der Pfad eingefroren, damit Fehldetektionen im toten Winkel das laufende Manöver nicht verzerren; 2 m nach dem Passieren wird der ursprüngliche Pfad wiederhergestellt
- Pylonengasse — ein eigenes Topic bremst den Regler zuerst auf Pylonengeschwindigkeit; nach Track-ID gespeicherte Pylonen werden in eine linke und eine rechte Reihe geclustert, eine beschränkte Parabel liefert die Mittellinie, die in den Hauptpfad eingefügt wird; ist nur eine Reihe sichtbar, gilt sie als Barriere, und das Fahrzeug hält davor
- Regelung — Pure Pursuit lenkt, PID korrigiert die Querabweichung; fehlt die Trajektorie, ist sie veraltet oder fällt TF aus, werden sofort Geschwindigkeit und Lenkwinkel null gesendet
Iterationen des Detektors
| Version | Trainingsdaten und Vorgehen | mAP50 | Recall |
|---|---|---|---|
| v1 | Früherer Datensatz | 67,7 % | 57,4 % |
| v2 | 400 Fahrzeugbilder, von v1 weitertrainiert | 97,4 % | 96,7 % |
Beide Zeilen wurden auf demselben Validierungssatz (66 Bilder, 213 Boxen) ausgewertet.
Vergleich zur Kleinobjekterkennung, gleicher Datensatz und gleiche Einstellungen (640er-Eingabe, Batch 8, 100 Epochen):
| Modell | Recall | mAP50 | mAP50-95 | Pro Bild |
|---|---|---|---|---|
| YOLOv8n | 91,6 % | 96,7 % | 56,8 % | 1,5 ms |
| YOLOv8n + CA + P2 | 99,4 % | 99,2 % | 59,6 % | 2,0 ms |
Die Tabelle zeigt Ergebnisse aus dem Verbesserungszweig; auf dem Fahrzeug läuft der v3-Checkpoint mit Coordinate Attention.
Grenzen und Lehren
- Keine automatisierten Tests für den Regler — die Wahrnehmung hat 18, das Pylonengedächtnis 11 Unit-Tests, der Kern aus Pure Pursuit und PID und seine ROS-Hülle dagegen keine; das ist die deutlichste Lücke im Projekt
- Einfaches Überholen — immer nach links, ohne zu prüfen, ob die linke Seite frei ist, und ohne Bewegungsprognose des Hindernisses (das Hindernisfahrzeug in der Aufgabe steht)
- Lehre aus der ersten Version — die klassische Bildverarbeitung lief schon mit 8,1–9,6 ms pro Bild, Geschwindigkeit war also nie der Engpass; die eigentlichen Probleme waren versetzte Tiefe und Fehldetektionen. Deshalb waren Tiefenausrichtung und Mehrbildbestätigung in der neuen Lösung genauso wichtig wie der Wechsel des Detektors