AEP - Autonomes Einparken: Unterschied zwischen den Versionen
Zeile 6: | Zeile 6: | ||
*[[AEP - Einparkalgorithmus| AEP - Einparkalgorithmus]] | *[[AEP - Einparkalgorithmus| AEP - Einparkalgorithmus]] | ||
*[[AEP - Einparksensorik| AEP - Einparksensorik]] | *[[AEP - Einparksensorik| AEP - Einparksensorik]] | ||
== Grundlagen == | |||
=== Auswahl der Sensoren === | === Auswahl der Sensoren === |
Version vom 8. Februar 2021, 14:17 Uhr
Allgemeines
Innerhalb des Projektes SDE - Autonomes Fahrzeug arbeiten im SoSe 2020 zwei Teams an dem Thema 'Autonomes Einparken' (AEP). Das Teilteam AEP - Einparkalgorithmus an der Implementierung des Parkvorgangs und das Teilteam AEP - Einparksensorik mit der zugehörigen Fahrzeughardware. Dieser Artikel dient der Dokumentation der entwickelten Software und der für den Einparkvorgang benötigten Harwdare.
Weiterführende Artikel
Grundlagen
Auswahl der Sensoren
Die Sensoren wurden in Anlehnung an gängige Lösungen des Carolo Cups ausgewählt. Für den Einparkvorgang werden vier Infrarotsensoren (nachfolgend: IR), ein Gierratensensor und mehrere Hallsensoren zur Geschwindigkeitsermittlung eingesetzt. Eine Übersicht der Hardware des Fahrzeugs ist in dem Artikel Fahrzeughardware zu finden.
Infrarotsensoren:
Die Positionen der IR sind im Artikel Infrarotsensoren festgehalten. Die IR werden während des Einparkvorgangs zur Entfernungsmessung verwendet. Mit Hilfe der Messungen der seitlich montierten IR werden Parklücken erfasst und ausgemessen und der seitliche Abstand zu den am Straßenrand parkenden Fahrzeugen ermittelt. Die hinten am Fahrzeug montierten IR dienen zur Kollisionsvermeidung und der Positionierung innerhalb der Parklücke.
Gierratensensor:
Um geregelt an den parkenden Fahrzeugen vorbeifahren zu können und um erfolgreich ein eine Parklücke einparken zu können, wird die aktuelle Winkellage des Fahrzeugs benötigt. Zur Bestimmung dieser wird ein Gierratensensor eingesetzt.
Hallsensoren:
Die Geschwindigkeitsermittlung erfolgt durch die Auswertung der im Motor verbauten Hallsensoren. Die Streckenmessung erfolgt über die Ableitung der Geschwindigkeit. Die bereits zurückgelegte Strecke wird hauptsächlich für das Vermessen der Parklücken benötigt. Die weiteren Details der Hardware, sowie das physikalische Messprinzip sind in dem Artikel Hall-Sensor beschrieben.
Einbindung des Einparkalgorithmus in die Simulink Umgebung
Die Umsetzung des Einparkvorgangs erfolgt in einer eigenen Bibliothek der Fahrzeugsoftware.
Die Einbindung des AEP Blocks (gelb umrandet) in die Software des Fahrzeugs ist in der folgenen Abbildung dargestellt:
Schnittstellen zu anderen Softwaremodulen
Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021
Bibliothek "bib_Fahrtmodus.mdl"
Der Zustandsautomat des Einparkalgorithmus gibt ausgangsseitig die Variablen ...
- Famo_Modi_Schalter_Lw_int (1 = Lenkwinkelvorgabe durch BSF-Querregelung ; 2 = Lenkwinkelvorgabe durch AEP)
- Famo_Modi_Schalter_Vx_int (1 = Geschwindigkeitsvorgabe durch BSF-Längsregelung ; 2 = Geschwindigkeitsvorgabe durch AEP)
... auf den CCF-Bus. Diese beiden Werte werden vom "FAMO"-Block verwendet, um die Lenkwinkel- und Geschwindigkeitsvorgabe für BSF oder AEP zu konfigurieren.
Im Fall AEP, wird der Lenkwinkel zunächst über den "BSF"-Block vorgegeben (geregelt geradeaus fahren: Famo_Modi_Schalter_Lw_int = 1) bis eine Parklücke gefunden wurde. Daraufhin wird im Zustandsautomaten des Einparkalgorithmus auf die AEP-Vorgabe gewechselt (Famo_Modi_Schalter_Lw_int = 2), um die Kurven des Einparkvorgangs fahren zu können. Die Geschwindigkeitsvorgabe erfolgt im Fall AEP dauerhaft durch den Zustandsautomaten des Einparkalgorithmus (Famo_Modi_Schalter_Vx_int = 2).
Bibliothek "bib_Sensoren_Aktoren_offline.mdl"
Im Offline-Modell (Simulation) bekommt der Zustandsautomat des Einparkalgorithmus eingangsseitig simulierte Sensorsignale aus dem Block "SEN" (Sensoren) über den CCF-Bus:
- SenVx_sx_K_f64 (simulierte gefahrene Strecke des Fahrzeugs aus dem Kinematikmodell)
- SenGier_psi_filt_K_f64 (simulierter Gierwinkel des Fahrzeugs)
- SenAbs_xVR_K_f64 (simulierter Abstandswert des vorderen rechten IR-Sensors)
- SenAbs_xHR_K_f64 (simulierter Abstandswert des hinteren rechten IR-Sensors)
- SenAbs_yHR_K_f64 (simulierter Abstandswert des rechten hinteren IR-Sensors)
- SenAbs_yHL_K_f64 (simulierter Abstandswert des linken hinteren IR-Sensors)
Ausgangsseitig wird der Solllenkwinkel (AEP_LwSoll_f64) und die Sollgeschwindigkeit (AEP_vx_K_soll_f64) auf den CCF-Bus gelegt. Durch o.g. Konfiguration mittels "FAMO"-Block wird initial die Lenkwinkelvorgabe aus dem Block "BSFQuer - Querfuehrung" an den Block "AKT" (Aktoren) weitergegeben (Lücke suchen). Beim Einparken wird die Lenkwinkelvorgabe des AEP-Blocks direkt an den Block "AKT" (Aktoren) weitergegeben. Die Geschwindigkeitsvorgabe erfolgt während AEP dauerhaft durch den "AEP"-Block via "FAMO" -> "BSFLaengs - Laengsfuehrung" an den Block "AKT" (Aktoren). Der Block "AKT" (Aktoren) gibt die Vorgaben für den Lenkwinkel und die Geschwindigkeit an das Kinematikmodell weiter.
Bibliothek "bib_Sensoren_Aktoren_online.mdl"
Im Online-Modell (reales Fahrzeug) bekommt der Zustandsautomat des Einparkalgorithmus eingangsseitig die realen Sensorsignale aus dem Block "SEN" (Sensoren) über den CCF-Bus:
- SenVx_sx_K_f64 (gefahrene Strecke des Fahrzeugs)
- SenGier_psi_filt_K_f64 (Gierwinkel des Fahrzeugs)
- SenAbs_xVR_K_f64 (Abstandswert des vorderen rechten IR-Sensors)
- SenAbs_xHR_K_f64 (Abstandswert des hinteren rechten IR-Sensors)
- SenAbs_yHR_K_f64 (Abstandswert des rechten hinteren IR-Sensors)
- SenAbs_yHL_K_f64 (Abstandswert des linken hinteren IR-Sensors)
Ausgangsseitig wird der Solllenkwinkel (AEP_LwSoll_f64) und die Sollgeschwindigkeit (AEP_vx_K_soll_f64) auf den CCF-Bus gelegt. Durch o.g. Konfiguration mittels "FAMO"-Block wird initial die Lenkwinkelvorgabe aus dem Block "BSFQuer - Querfuehrung" an den Block "AKT" (Aktoren) weitergegeben (Lücke suchen). Beim Einparken wird die Lenkwinkelvorgabe des AEP-Blocks direkt an den Block "AKT" (Aktoren) weitergegeben. Die Geschwindigkeitsvorgabe erfolgt während AEP dauerhaft durch den "AEP"-Block via "FAMO" -> "BSFLaengs - Laengsfuehrung" an den Block "AKT" (Aktoren). Der Block "AKT" (Aktoren) gibt die Vorgabe für den Lenkwinkel an den Lenkservo des Fahrzeugs weiter und die Vorgabe der Geschwindigkeit an den Fahrtenregler weiter.
Auswahl des Einparkmodus
Um das Einparkmanöver zu starten, muss zu Beginn das Simulink-Modell start.m Datei in MATLAB geöffnet werden. Für den Einparkmodus bestehen die Möglichkeiten, nach der Lückenfindung direkt einzuparken (Simulinkmodus = 3) oder stehen zu bleiben (Simulinkmodus = 2). Beim Online-Model muss beachtet werden, dass vor der Betätigung des AEP-Tasters, die Aktuatoren ausgeschaltet werden, damit die Kalibrierung des Gierratensensors gemacht wird. Hierzu muss der Hebel, der sich hinten am Fahrzeug befindet, in die Mittelstellung gebracht werden.
Alle weiteren Einstellungen sind optional und werden in diesem Link erläutert.
Offline-Simulation
Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021
--> Beschreibung durchführen der Simulation
Das Fahrzeug startet nach einer kurzen Verzögerung zur Kalibrierung des Gierratensensors seine Fahrt entlang der Parklücken. Während des gesamten Suchvorgangs ist die geregelte Geradeausfahrt aktiv. Um dies zu zeigen startet das Fahrzeug im aktuellen Stand der Simulation leicht schräg und findet dann wieder auf seine Spur zurück. Nach dem es eine Parklücke gefunden hat, fährt es an dieser noch vorbei, bis die Hinterachse auf gleicher Höhe wie das Heck des vorderen Fahrzeugs der Parklücke ist. Nach dem Finden der Parklücke parkt das Fahrzeug ein und positioniert sich in der Parklücke. Alle Vorraussetzungen wurden erfüllt.
Online-Modell
Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021
--> Beschreibung, wie sich der AEP starten lässt
Der aktuelle Softwarestand wurde bis jetzt noch nicht auf dem Fahrzeug getestet. Die Implementierung für das Online Modell steht für das Wintersemester 2020/21 an.
Quellen / Weiterführende Literatur
- Tipps zum Schreiben eines Wiki-Artikels
- Beispiel-Artikel von Prof. Göbel
- Beispiel-Artikel von Prof. Schneider
→ zurück zum Hauptartikel: Praktikum SDE
→ zum Artikel Einparkalgorithmus: AEP - Einparkalgorithmus
→ zum Artikel Einparksensorik: AEP - Einparksensorik