Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Bahnplanungsframework für ein autonomes Fahrzeug - oops ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6.1 A* 55<br />
A* operiert auf zwei Listen, die zu Beginn beide leer sind und in die offene Liste (engl. open set)<br />
kommt die Startkonfiguration. Das Open Set stellt die Menge aller noch möglichen Konfigurationen<br />
dar, die noch nicht untersucht wurden und aus denen das kostengünstigste Element ausgewählt wird.<br />
Ist das Open Set leer, so wurden alle Möglichkeiten untersucht und es existiert k<strong>ein</strong> Pfad zur Endkonfiguration.<br />
Dieser Fall ist sehr unwahrsch<strong>ein</strong>lich, da in der Einleitung bereits erklärt wurde, dass die<br />
Anzahl der Konfigurationen exponentiell wächst und schnell den Rahmen sprengt, es ist nur möglich<br />
wenn der befahrbare Bereich stark <strong>ein</strong>geschränkt ist und k<strong>ein</strong>e Lücken aufweist. In der geschlossenen<br />
Liste (engl. closed set) befinden sich Elemente, die bereits untersucht wurden oder Elemente, wo Kollisionen<br />
mit der Umgebung erkannt wurden, so dass diese nicht mehr untersuch werden. Dadurch dass<br />
immer das kostengünstigste Element aus dem Open Set ausgewählt wird, breitet sich A* zielgerichtet<br />
aus. Da aber die Anzahl der Nachfolgekonfigurationen begrenzt ist und diese nicht immer perfekt in<br />
Zielrichtung zeigen, untersucht A* mit euklidischer Distanz als Heuristikfunktion auch nahegelegene<br />
Nachbarn, da diese oft Kostengünstiger wegen den Kurven werden (Abb. 6.2).<br />
(Abb. 6.2): A* mit euklidischem Abstand als Heuristikfunktion. Grau (open set), rot (closed set), grün (Pfad)<br />
Der Algorithmus (6.1) zeigt auf, wie der A*-Algorithmus arbeitet. Dazu sei angemerkt, dass die<br />
Methode public Node GetNode(List set, Node node) den Knoten zurückliefert,<br />
der nach Parameter<strong>ein</strong>stellungen nah genug am übergebenen Knoten ist und nahezu die gleiche<br />
Orientierung hat. Aufgrund mathematischer Ungenauigkeit und Fehlerfortpflanzung beim Rechnen<br />
werden so ähnliche Knoten unifiziert. Wird k<strong>ein</strong> ähnlicher Knoten in der Menge gefunden, so wird<br />
null geliefert.