Steering Behaviors
Steering Behaviors
Steering Behaviors
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