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 />

geometrischen Körpern wie sie bei diesem Verhalten benötigt werden. Als<br />

nachteilig erweist sich die meist schlechte Annäherung an das Hindernis durch<br />

den Kreis.<br />

Abbildung 12: Beispiel für gute und schlechte Annäherung durch einen Kreis<br />

Da die Nachteile für die Verwendung von Kreisen als Platzhalter für<br />

Hindernisse die Vorteile überwiegen, wurden statt dessen Polygone verwendet.<br />

Diese bieten den Vorteil, das ein bestimmtes Hindernis aus der realen Welt,<br />

wie z.B. ein Tisch oder Stuhl, dadurch beliebig genau angenähert werden kann.<br />

Die im zweidimensionalen Raum erzielten Ergebnisse lassen sich auch ohne<br />

weiteres in den dreidimensionalen Raum übertragen.<br />

Das Obstacle Avoidance Verhalten muß im ersten Schritt herausfinden, welche<br />

Hindernisse sich in der nächsten Umgebung befinden. Dazu bedient es sich des<br />

Neighborhood Objektes, das diese Informationen bereitstellt. Diese<br />

Eingrenzung der zu überprüfenden Hindernisse ist notwendig, da sich dadurch<br />

der Zeitaufwand für die weiteren Tests schon im voraus verringern läßt. Bei<br />

großen und komplexen Szenerien mit vielen Hindernissen ist der Aufwand der<br />

Vorauswahl im Vergleich zu den eigentlichen Überschneidungstests des<br />

Verhaltens als gering anzusehen.<br />

Ermitteln des Schnittwinkels und der Entfernung<br />

Die Methode getCollisionDetails(…) liefert den Schnittwinkel und<br />

die Entfernung zum Hindernis zurück. Anhand dieser Werte wird der<br />

Gegensteuerungsvektor berechnet.<br />

21

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!