05.10.2013 Aufrufe

Steering Behaviors

Steering Behaviors

Steering Behaviors

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Steering</strong> <strong>Behaviors</strong><br />

Autoren: Thomas Feilkas, Christian Schnellhammer<br />

Betreuer: Prof. Jürgen Sauer Regensburg<br />

Arbeitsweise<br />

Die Neighborhood Klasse verwendet zwei unterschiedliche Methoden für<br />

Fahrzeuge und Hindernisse, um räumliche Abfragen zu ermöglichen. Beide<br />

Methoden haben ihre Vor- und Nachteile, erfüllen aber beide die Vorgabe daß<br />

die Ergebnisse so schnell wie möglich vorliegen sollen.<br />

Die Abfrage für Fahrzeuge basiert auf einer Distanzmatrix. In dieser Matrix<br />

wird für jedes Fahrzeug die Distanz zu allen anderen Fahrzeugen hinterlegt.<br />

Eine Abfrage besteht dann nur noch in der Auswahl der Zeile des jeweiligen<br />

Fahrzeuges und dem Vergleich der einzelnen Distanzen mit dem vorgegebenen<br />

Grenzwert. Bei diesem System ist der Mittelpunkt des Objekts entscheidend<br />

bei der Auswahl. Um den Aufbau der Distanzmatrix zu beschleunigen, gibt es<br />

mehrere Möglichkeiten zur Optimierung.<br />

d5<br />

d1<br />

d4<br />

d2<br />

d3<br />

Abbildung 30: Distanzbestimmung für Neighborhood<br />

Die Bestimmung der Distanz zwischen zwei Fahrzeugen innerhalb eines<br />

zweidimensionalen Raumes geschieht anhand der Formel<br />

d +<br />

2 2<br />

= x y .<br />

Hierbei ist die Wurzel der langsamste Teil der Berechnung. Um diesen Teil der<br />

Berechnung zu umgehen, verwendet man für die Abfragen grundsätzlich die<br />

quadratische Distanz zwischen den Fahrzeugen. Hierbei ist die Distanz<br />

( ) 2<br />

2 2<br />

x y<br />

2 2 2<br />

d x + y = +<br />

= . Durch diese einfache Änderung an der Formel<br />

ergibt sich keinerlei Unterschied zu den Ergebnissen bei Verwendung der<br />

39

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!