WikiDer > Algorithmus für virtuelle Kraftfelder

Virtual force field-algoritme

Im Robotik ist der virtueller Kraftfeldalgorithmus ein reaktiver Algorithmus das kann man gebrauchen Bewegungen planen Das hier Roboter zu einem bestimmten Ziel führen.

Operation

An bestimmten Stellen sammelt der Roboter Informationen von den Hindernissen um ihn herum. Für jedes Hindernis erzeugt der Roboter einen abstoßenden Kraftvektor (a Vektor die Richtung vom Hindernis zum Roboter nehmen), die direkt proportional zur Wahrscheinlichkeit ist, dass das Hindernis tatsächlich da ist (es ist immer möglich, dass die Sensoren habe einen Fehler gemacht). Darüber hinaus ist dieser abstoßende Kraftvektor auch umgekehrt proportional zum Quadrat der Entfernung, wodurch sich der Vektor verlängern kann, wenn das Hindernis nahe ist. Die Summe dieser abstoßenden Kraftvektoren ergibt einen resultierenden abstoßenden Vektor, der darauf abzielt, den Roboter von Hindernissen fernzuhalten.

Außerdem erstellt der Roboter einen Anziehungsvektor zum endgültigen Ziel. Die Summe dieses Anziehungsvektors und des Abstoßungsvektors gibt die Richtung an, in die sich der Roboter bewegen soll. Das Aktoren dann muss nur noch der Befehl gegeben werden, die aktuelle Bewegungsrichtung an der Summe dieser beiden Vektoren auszurichten.

Leistungen

  • Es ist ein reaktiver Algorithmus, der in einer dynamischen Umgebung seine Arbeit verrichten kann.
  • Einfach Implementierung.

Nachteile

  • Wenn sich der Roboter durch einen Korridor bewegen muss und sich nicht genau in der Mitte befindet, wird er von den Abstoßungskräften der nächsten Wand entlang der Achse zwischen den beiden Wänden geschickt, woraufhin dasselbe mit der anderen Wand passiert. Dadurch entsteht ein Effekt, bei dem sich der Roboter im Zickzack auf das Ziel zubewegt. Dies ist bei diesem Algorithmus durchaus üblich.
  • Der Algorithmus ist nicht immer in der Lage, eine Lösung zu finden. Der Roboter kann beispielsweise in einer Ruheposition landen, wenn sich ein Hindernis direkt zwischen ihm und dem Ziel befindet. An dem Punkt, an dem sich die abstoßende Kraft des Hindernisses und der Zug des Ziels gegenseitig aufheben, stoppt der Roboter.