Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
68 Suchalgorithmen<br />
Euklidischer Abstand Kreisbogenabstand<br />
Weglänge in [m] 21,21 21,21<br />
Abstand zum Ziel [m] 0,45 0,45<br />
Berechnungszeit [ms] 287 717 132 596<br />
Expandierte Knoten 58 343 42 719<br />
Knoten auf dem Heap 291 710 213 590<br />
Knoten in Open Set 69 344 41 281<br />
Knoten in Closed Set 105 184 84 537<br />
(Tab. 6.6): Messdaten zu (Abb. 6.14).<br />
In beiden Simulationen, deren Messdaten in den Tabellen (Tab. 6.5) und (Tab. 6.6) aufgezeichnet<br />
sind, liefern sowohl A* mit euklidischem Abstand, als auch A* mit Kreisbogenabstand exakt den<br />
gleichen Weg. Anhand der Bilder (Abb. 6.13) und (Abb. 6.14) erkennt man nur minimale Abweichungen<br />
in den Suchbäumen, wohingegen die Messdaten deutlich zeigen, dass A* mit Kreisbogenabstand<br />
fast um den Faktor 2 schneller ist, als A* mit euklidischem Abstand und auch Ressourcensparender<br />
ist. Der Geschwindigkeitsschub ist zwar nicht enorm, wenn aber die Optimalität des Weges gewährleistet<br />
s<strong>ein</strong> soll, so bietet diese Heuristik <strong>ein</strong>e gute Alternative zum naiven Ansatz mit euklidischen<br />
Abständen.<br />
6.3 DATENSTRUKTUREN<br />
A* arbeitet auf zwei Listen, dem Open Set und dem Closed Set. In das Open Set kommen alle neu<br />
erstellten Knoten, diese sollten nach Möglichkeit nicht redundant s<strong>ein</strong>. Aufgrund mathematischer Ungenauigkeiten<br />
beim Rechnen (numerische Fehlerfortpflanzung), haben zwei Konfigurationen niemals<br />
die gleichen Werte, sondern es werden nahegelegene Konfigurationen zusammengefasst. Da<strong>für</strong> muss<br />
zunächst die gesamte Menge durchsucht werden, ob <strong>ein</strong> ähnlicher Knoten bereits vorhanden ist und<br />
wenn dies der Fall s<strong>ein</strong> sollte, so ist diese Konfiguration über mindestens zwei mögliche Pfade erreichbar,<br />
von denen der günstigste ausgewählt wird und der andere verworfen wird. Wie der Name Open<br />
Set (engl. offene Menge) bereits vermuten lässt, b<strong>ein</strong>haltet diese noch die nicht untersuchten, offenen<br />
Konfigurationen, aus denen die günstigste Konfiguration ausgewählt wird, um an dieser Stelle weiter<br />
zu expandieren. Wird <strong>ein</strong>e Konfiguration expandiert, oder wird an <strong>ein</strong>er neu expandierten Konfiguration<br />
<strong>ein</strong>e Kollision festgestellt, so kommt diese Konfiguration in das Closed Set (engl. geschlossene<br />
Menge). Beim Expandieren <strong>ein</strong>er Konfiguration werden alle neu entstandenen Konfigurationen getestet,<br />
ob diese bereits im Closed Set sind (oder ähnlich nah dran liegen). Wenn dieser Umstand erkannt<br />
wird, bedeutet dies, dass man <strong>ein</strong>e bereits bekannte Konfiguration erreicht hat, die bereits expandiert<br />
wurde und an dieser Stelle nicht weiter gemacht werden soll.<br />
Das Open Set muss <strong>ein</strong>e schnelle Auswahl der günstigsten Konfiguration gewährleisten und unter<br />
anderem auch <strong>ein</strong>e räumliche Sortierung vornehmen, um bereits vorhandene Konfigurationen finden<br />
zu können. Das Closed Set muss nur bereits vorhandene Konfigurationen ausschliessen, indem die<br />
Konfigurationen räumlich Sortiert werden, um diese schnell wieder zu finden. Eine schnelle Auswahl<br />
durch <strong>ein</strong>e Relation sortierbarer Elemente erfüllen so genannte Prioritätswarteschlangen (engl. priority<br />
queue), im folgenden Kapitel 6.3.1 Skew Heap wird <strong>ein</strong>e solche vorgestellt. Da Konfigurationen<br />
durch drei Parameter x, y und θ identifiziert werden, eignet sich <strong>für</strong> <strong>ein</strong>e räumliche Sortierung und<br />
schnelle Auswahl <strong>ein</strong> Octree, der im gleichnamigen Kapitel 6.3.3 vorgestellt wird.