28.02.2014 Aufrufe

Bahnplanungsframework für ein autonomes Fahrzeug - oops ...

Bahnplanungsframework für ein autonomes Fahrzeug - oops ...

Bahnplanungsframework für ein autonomes Fahrzeug - oops ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!