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 />
trifft die Entscheidung was für eine Reaktion erfolgen soll. Für die<br />
Implementierung dieser Entscheidungsfindung gibt es mehrere Möglichkeiten,<br />
die alle ihre Vor- und Nachteile haben.<br />
2.3.2. SimpleMind<br />
Die SimpleMind Klasse implementiert die einfachste Art wie man die<br />
Entscheidung für die kombinierte Steuerungskraft treffen kann. Jedes einzelne<br />
Verhalten erhält einen als „Einfluss“ bezeichneten Wert (im Code als<br />
m_influnce bezeichnet) zugeteilt. Je nachdem wieviel Einfluß ein<br />
bestimmtes Verhalten auf den kombinierten Kraftvektor haben soll, ist dieser<br />
Einfluß höher oder niedriger angesetzt. Der vom Verhalten generierte<br />
Kraftvektor wird mit dem Einfluss multipliziert und die Vektoren werden<br />
aufaddiert. Durch dieses System lassen sich die Prioritäten der einzelnen<br />
Verhalten auf einfache Art und Weise gegeneinander abstimmen.<br />
Behavior 1 Behavior 2 Behavior n<br />
.......<br />
+<br />
<strong>Steering</strong><br />
SimpleMind<br />
Abbildung 27: Arbeitsweise des SimpleMinds<br />
Für wichtigere Verhalten wie Separation und ObstacleAvoidance wählt man in<br />
den meisten Fällen höhere Prioritäten. Verhalten wie Wander, die nicht in allen<br />
Fällen wichtig sind, werden mit niedrigerem Einfluß belegt. Dadurch stellt man<br />
sicher, daß z.B. vor einem Hindernis zuerst an das Ausweichen gedacht wird,<br />
bevor ein anderes Verhalten eine Chance auf Einfluß auf die steuernde Kraft<br />
hat.<br />
2.3.3. PriorityMind<br />
Mit Hilfe der PriorityMind Klasse kann die Einwirkung eines oder mehrerer<br />
35