AEP - Autonomes Einparken: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 65: Zeile 65:


Alle weiteren Einstellungen sind optional und werden in diesem [[Fahrzeugsoftware#Hauptdatei start.m|Link]] erläutert.
Alle weiteren Einstellungen sind optional und werden in diesem [[Fahrzeugsoftware#Hauptdatei start.m|Link]] erläutert.
=== Auswahl der geeigneten Geschwindigkeit ===
[[Datei:InfrarotMesszeit.PNG|500px|Messzeiten des Infrarotsensors]] <ref> "Sharp-GP2D120" von Sharp, Sharp.</ref>
Der vorangegangenen Abbildung aus dem Datenblatt "Sharp-GP2D120.pdf"<ref> "Sharp-GP2D120" von Sharp, Sharp.</ref> (siehe [[Fahrzeughardware#Infrarot Sensor|Infrarot Sensor]]) ist zu entnehmen, dass maximal eine Zeit für eine Messung benötigt wird, von:
<math>t= 38,3\,ms + 9,6\,ms + 5\,ms = 52,9\,ms</math>.
Sicherheitshalber wird davon ausgegangen, dass sich in der größten Lücke ein weiteres Hindernis mit den Maßen 10cm x 10cm befindet. Um diese erkennen zu können, sollten mindestens drei Messungen im Bereich des Hindernisses stattfinden. Die benötigte Zeit für diese drei Messungen beträgt demnach:
<math>t=3\cdot 52,9\,ms = 158,7\,ms.</math>
Da sich die Geschwindigkeit aus dem Weg (s) geteilt durch die Zeit (t) berechnet und der Weg in diesem Fall der Länge des Hindernisses entspricht, resultiert daraus eine maximale Geschwindigkeit von:
<math>v= \frac{0,1\,m}{158,7\cdot10^{-3}\,s} =0,63\,\frac{m}{s}.</math>


=== Berechnung nötiger Größen ===
=== Berechnung nötiger Größen ===

Version vom 15. Juli 2020, 17:17 Uhr

Allgemeines

Innerhalb des Projektes SDE - Autonomes Fahrzeug arbeitet ein Teilteam an dem Thema 'Autonomes Einparken' (AEP). Dieser Artikel dient der Dokumentation der entwickelten Software und der für den Einparkvorgang benötigten Harwdare.

Anforderungen an den Einparkvorgang

Die folgenden Anforderung an den autonomen Einparkvorgang sind im Lastenheft unter '2.2.1 Einparken' festgehalten:

REQ10.2200 - Paralleles Einparken:
Das Fahrzeug muss auf einer geraden Straße - fahrend auf der rechten Straßenseite - eine passende Parklücke finden und in diese parallel zur Straße einparken.


REQ10.2210 - Start des Einparkmanövers:
Das Einparkmanöver muss durch einen Taster am Fahrzeug gestartet werden können.


REQ10.2220 - Durchführung des Einparkmanövers:
Das autonome Fahrzeug muss das Einparkmanöver in folgenden Schritten durchführen:

  • Das Fahrzeug muss an rechts stehenden Hindernissen, auf der Suche nach einer ausreichend großen Parklücke, vorbeifahren.
  • Sobald die erstmögliche Parklücke gefunden ist, muss das Einparken mit dem rechten Blinker signalisiert werden.
  • Beim Einparken dürfen weder Hindernisse berührt, noch die äußerste weiße Linie aif der rechten Seite überfahren werden.


REQ10.2230 - Erfolgreiches Einparkmanöver:
Das autonome Fahrzeug muss das Einparkmanöver so beenden, dass die folgenden Randbedingungen erfüllt sind:

  • Sobald das Parkmanöver beendet ist, muss das Fahrzeug parallel zur Fahrbahn und innerhalb der weißen Linien stehen.
  • Es ist eine max. Winkelabweichung von 5 Grad erlaubt.
  • Das Ende des Einparkmanövers ist durch Aufleuchten aller Fahrtrichtungsanzeiger anzuzeigen.
  • Der Abstand zum vorderen und hinteren Hindernis muss jeweils mindestens 10mm betragen.
  • Das Einparkmanöver muss innerhalb von 30 Sekunden abgeschlossen sein.

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:

AEP-Block eingebunden im Simulinkmodell

Autor: Valentin Rentzsch (Diskussion)

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.

Berechnung nötiger Größen

Das Fahrzeug besitzt einen maximalen Lenkeinschlag in eine Richtung von alpha = 23°. Kombiniert mit dem Radstand L = 0,265m ergibt dies einen Wendekreisradius um die Mitte der Hinterachse von:

Die folgende Abbildung zeigt eine Skizze zur Herleitung der Wendekreisradiusberechnung.

Skizze zur Berechnung des Wendekreisradius

Für die Berechnung der notwendigen Parklücke spielt der Wendekreisradius (r), die Breite des Fahrzeuges (w), die Länge des Fahrzeugs von der Mitte der hiteren Achse bis zum Heck (b) und der seitliche Abstand zum Hindernis (p) eine wichtige Rolle. Die nachfolgende Abbildung zeigt eine Skizze des Fahrzeugs und dessen Einparkmanövers.


Skizze zur Berechnung der notwendigen Parklücke [1]


Notwendige Größen für den Vorgang des Einparkens sind:

Die allgemeinen Maße des Fahrzeugs
Breite w = 0,290m
Radstand L = 0,265m
Abstand Mitte Vorderachse nach Vorne v = 0,065m
Abstand Mitte Hinterachse zum Heck b = 0,100m
Wendekreisradius r = 1,1318m
Der seitliche Abstand zum Hindernis p = variabel


Wird der Einparkvorgang gestartet, sobald die Mitte der Hinterachse des Fahrzeugs auf Höhe der Heckkante des vorderen Hindernisses liegt, müsste die Parklücke, wie der vorangegangenen Abbildung zu entnehmen ist, die Summe aus b, g1 und g2 sein. Die Abstände g1 und g2 sind dabei gleich groß und berechnen sich nach dem Satz des Pythagoras wie folgt:



Dies würde zu einer größeren Lücke führen, als eigentlich nötig, da die Möglichkeit besteht, nach Findung des vorderen Hindernisses eine weitere Strecke k nach vorne zu fahren. Dadurch wird gewährleistet, dass kein Platz verschenkt und während des Einparkvorgangs so nah wie möglich am Hindernis vorbeigefahren wird. Demnach wird für die Größe der nötigen Parklücke (g) folgende Formel verwendet:



Anhand dieser Formel wird deutlich, dass sich die nötige Parklücke danach richtet, wie groß der Abstand zum Hindernis ist. In der Regel ist der Abstand p nicht gleich 0. Dies würde bedeuten, dass das einparkende Fahrzeug bereits sich direkt am stehenden Fahrzeug befindet. Der Punkt, dass das Fahrzeug mittig der Straße fahren soll und die Tatsache, dass der Infrarotsensor erst ab einem Abstand von 4cm zuverlässige Werte zurückgibt (siehe GP2D120), setzt einen angenommenen Mindestabstand zur Berechnung voraus. In diesem Fall wird ein Abstand p = 15cm vorausgesetzt. Diese Annahme führt zu einer Mindestgröße der Parklücke von g = 1m. Durch geringe Vergrößerung des Abstandes p, Kürzung des Fahrzeugs oder Erhöhung des Einschlagwinkels würde auch eine kleinere Parklücke ausreichen. Der seitliche Abstand zum Hindernis darf allerdings nicht größer als die Hälfte des Wendekreisradius sein. Bei diesem Fall werden sämtliche oben genannten Berechnungen außer Kraft gesetzt.

Die Berechnung des Umschlagwinkels ist ebenfalls vom Abstand p abhängig und wird erst berechnet, wenn die Lücke gefunden und das Fahrzeug neben dem vorderen Hindernis steht.



Ebenso wird an dieser Stelle der Weg berechnet, den das Fahrzeug noch vorwärts fahren soll, um den vorhandenen Platz so effizient wie möglich zu nutzen. Je näher beim Einparken an dem vorderen Hindernis vorbeigefahren wird, desto weniger Platz wird während des gesamten Einparkvorgangs benötigt. Da sich beim Finden des vorderen Hindernisses die Vorderachse des RC Fahrzeuges auf höhe dessen Hecks befindet und der Einparkvorgang so kalkuliert wird, dass sich erst mal die Mitte der Hinterachse des RC Fahrzeuges auf Höhe des Hecks des vorderen Fahrzeugs befindet, muss auf jeden Fall die Strecke der Summe aus Radstand (L) und Mitte der Hinterachse zur Front (v) gefahren werden. Auf diesen Wert wird dann noch der Parameter k addiert, welcher sich wie folgt berechnet und bereits Teil der Parklückenberechnung ist:



Da bei allen Parkmanövern (offline- und online-Modus), das Fahrzeug eine zu weite Strecke nach vorne gefahren ist, ist die benötigte Länge der Vorausfahrt reduziert worden. Hier ist über Tests rausgekommen, dass der Abzug der Größe k weggelassen werden kann.

Offline-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. Ein Video des Einparkvorgangs in der Offline-Simulation ist auf der rechten Seite zu sehen.

Video des Einparkvorgangs in der Offline-Simulation

Online-Modell

Der aktuelle Softwarestand wurde bis jetzt noch nicht auf dem Fahrzeug getestet. Die Implementierung für das Online Modell steht für das WS 2019 an.

Autor: Valentin Rentzsch (Diskussion)

Lageregelung beim Einparken

Das Spezialthema soll zur Verbesserung der Ausrichtung des Fahrzeugs in der Parklücke beitragen. Aktuell befindet sich die Erweiterung aufgrund ausstehender Tests noch in einem SVN Branch.

Quellen / Weiterführende Literatur

  1. "Ein mathematisches Modell zum Parallelparken" von Nobert Herrmann, Univ. Hannover.

Autoren:

David Reger, Valentin Rentzsch und Vincent Holthaus


→ zurück zum Hauptartikel: Praktikum SDE