Frage

Ich habe ein Feld mit Hindernissen gespickt, ich weiß, wo sie sich befinden, und ich kenne die Position des Roboters. Mit Hilfe eines Wegfindungsalgorithmus, berechne ich einen Weg für den Roboter zu folgen.

Nun mein Problem ist, ich bin den Roboter vom Netz zur Netzführung, aber das schafft eine nicht-so-glatte Bewegung. Ich bei A beginnen, drehen Sie die Nase nach Punkt B bewegen sich geradeaus, bis ich den Punkt B gelangen, spülen und wiederholen, bis der Endpunkt erreicht ist.

Also meine Frage ist: Was sind für die Navigation in einer solchen Umgebung Art von Techniken verwendet, so dass ich eine glatte Bewegung setzen

Der Roboter verfügt über zwei Räder und zwei Motoren. Ich wechsle die Richtung des Motors durch die Motoren in umgekehrter Richtung drehen.

EDIT: i. Die Geschwindigkeit der Motoren variieren kann grundsätzlich der Roboter ein Arduino zuzüglich ardumoto, I-Wert zwischen 0-255 an die Motoren auf beiden Richtungen liefern kann

War es hilfreich?

Lösung

Sie benötigen Feedback-Linearisierung für einen differentiell angetriebenen Roboter. Dieses Dokument erklärt es in Abschnitt 2.2. Ich habe relevant enthalten Abschnitt unter:

Der simulierte Roboter benötigte für die Projekt ist ein Differentialantrieb Roboter mit einer beschränkten Geschwindigkeit. Schon seit der Differentialantrieb Roboter nonholonomic werden die Schüler aufgefordert, Feedback zu verwenden, Linearisierung wandelt den kinematischen Steuerausgang von ihren Algorithmen der zur Steuerung Differentialantrieb Roboter. Das Transformation folgt:

Transformation

wobei v, ?, x y ist die lineare, Winkel und kinematischen Geschwindigkeiten. L eine o ff eingestellte Länge proportional zu dem Radstand Dimension des Roboters.

Andere Tipps

Ein Steuerungsalgorithmus Ich habe ziemlich gute Ergebnisse mit reiner Verfolgung . Grundsätzlich sind die Roboter versucht, zu einem Punkt bewegen sich entlang dem Weg in einem festen Abstand vor dem Roboter. So wie der Roboter bewegt sich auf dem Weg, der Vorgriffs Punkt geht auch. Der Algorithmus kompensiert nichtholonomen Einschränkungen durch die Modellierung möglicher Pfade als Bögen.

Größere Vorgriff Entfernungen werden glattere Bewegung. Jedoch können größere Vorgriff Strecken werden den Roboter geschnittene Ecken führen, die mit Hindernissen kollidieren. Sie können dieses Problem beheben, indem Sie Ideen von einem reaktiven Steuerungsalgorithmus namens Vektorfeld Histogramm (VFH) zu implementieren. VFH schiebt im Grunde den Roboter weg von der Nähe Wänden. Während dies in der Regel eine Reihe findet Sensor von einer Art verwendet, können Sie die relativen Positionen der Hindernisse extrapolieren, da Sie den Roboter Pose und das Hindernis Standorte kennen.

Meine erste Gedanken zu diesem Thema (ich bin bei der Arbeit, so dass nicht zu viel Zeit damit verbringen):

Es hängt davon ab, wie eng Sie wollen oder müssen Ihre Ecken sein (was würde davon abhängen, wie viel Abstand Ihren Weg finder Sie von den Hindernissen gibt)

Angesichts der Breite des Roboters Sie den Wenderadius der Geschwindigkeiten für jedes Rad gegeben berechnen können. Vorausgesetzt, dass Sie so schnell wie möglich gehen wollen und dass Schleuder- kein Problem, werden Sie immer halten das äußere Rad bei 255 und reduzieren das kurveninnere Rad bis auf die Geschwindigkeit, die Sie den gewünschten Kurvenradius gibt.

Da der Winkel für einen bestimmten wiederum auf Ihrem Weg und der Wenderadius, die Sie verwenden werden, können Sie den Abstand von diesem Knoten arbeiten, wo Sie das kurveninnere Rad verlangsamen wird.

Ein Optimierungsansatz ist eine sehr allgemeine Art und Weise zu handhaben.

Verwenden der berechneten Pfades als Eingabe für eine allgemeine nichtlineare Optimierungsalgorithmus (Ihre Wahl!) Mit einer Kostenfunktion aus der Nähe der Antwort Bahn auf die Eingangsbahn sowie die Einhaltung nichtholonomen Einschränkungen, und jeder andere Einschränkungen, die Sie erzwingen möchten (zB Fernbleiben von den Hindernissen weg). Der Optimierungsalgorithmus kann auch mit einer von der ursprünglichen Flugbahn konstruierte Bahn initialisiert werden.

Marc Tous der Robotik Kurs Noten sind eine gute Quelle für diese Art von Ansatz. Siehe insbesondere Vortrag 7: http://userpage.fu-berlin.de/mtoussai/teaching/10- Robotik /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top