Differentialantriebsbahn nach Kontrolle

7

Ich habe eine Roboterplattform mit Differentialantrieb, die ihre Position und Ausrichtung kennt. Nehmen wir an, der Raum, durch den sich der Roboter bewegt, ist bekannt und weist nur statische Hindernisse auf. Die Aufgabe besteht darin, den Roboter von Punkt A und Richtung Alpha (auf dem er derzeit steht) zu Punkt B und Richtung Beta auf der Karte zu bewegen.

Sagen wir auch, dass ich eine vernünftige Flugbahn erhalten kann (in Bezug auf die Drehfähigkeiten des Roboters). Welche allgemeinen Ansätze gibt es, um einen solchen Roboter so zu steuern, dass er dem Pfad folgt, da sowohl der Roboter als auch die Sensoren inert sind? Es sollte natürlich bedacht werden, dass die letzte Aufgabe darin besteht, den Punkt B zu erreichen, ohne mit den Hindernissen zu kollidieren und nicht die perfekte Flugbahn zu verfolgen.

Ich hoffe die Frage ist nicht zu allgemein.

Damjan Dakic
quelle
Was meinen Sie damit, dass "der Roboter und die Sensoren inert sind"?
Ian
Sie reagieren nicht sofort, der Roboter ist physikalisch inert, während die Sensordaten aus der Fusion der Niederfrequenzkomponente eines Sensors und der Hochfrequenzkomponente eines anderen Sensors stammen, wodurch eine bestimmte Verzögerung und Schwingungen eingeführt werden.
Damjan Dakic
Können Sie die Frage umformulieren? Kennen Sie den Weg, den Sie einschlagen möchten, und möchten Sie den Roboter nur auf diesem Weg fahren, oder suchen Sie nach einem Planungsalgorithmus? Wenn dies nur ein Weg ist, dann sehen Sie sich eine Art Regler an. Welches Feedback haben Sie? (Sensoren usw.?)
Guy Sirton
Ja, ich möchte nur dem Weg folgen. Ich weiß, ich brauche einen Closed-Loop-Controller. Ich habe nur Probleme, herauszufinden, welcher. Nehmen wir an, ich habe Sensoren, die mir die Position und Ausrichtung des Roboters anzeigen (mit einigen möglichen Verzögerungen und natürlich Rauschen). Ich habe Probleme beim Entwerfen des Kontrollgesetzes, weil das Befolgen des Pfades nicht das Hauptziel ist, sondern das Erreichen des Zielpunkts.
Damjan Dakic

Antworten:

2

Reine Verfolgung ist die Standardmethode zum Verfolgen einer Flugbahn mit einem Roboter mit Differentialantrieb (oder Ackerman-Lenkung). Es ist eine sehr einfache Technik. Sie sollten in der Lage sein, danach zu suchen und einige (sehr alte) Papiere zu finden, die es beschreiben.

Ben
quelle
Ich werde dies als Antwort markieren, aber bitte (sowohl Sie als auch andere) fügen Sie einige weitere Ansätze hinzu, mit denen Sie möglicherweise vertraut sind. Vielen Dank.
Damjan Dakic
1
Nun, ich denke, alle Ansätze werden eine Art Karottenfolgetechnik verwenden. Suchen Sie also den Punkt auf der Flugbahn, der dem Roboter am nächsten liegt, suchen Sie einen Punkt auf der Flugbahn davor und zielen Sie dann mit Ihrem Roboter dorthin. Sie können dies mit PID-Regelung tun, wenn Sie möchten. Reine Verfolgung ist ein einfacher Weg, um all dies zu tun.
Ben
1
Beachten Sie auch, dass dieses Problem schwieriger ist, wenn Sie einen holonomen Antriebsroboter (z. B. mit Omni-Rädern) hatten, der separat fahren und sich selbst ausrichten kann. Weil Sie entscheiden müssen, wie viel Sie auf den Pfad übersetzen möchten und wie viel Sie den Roboter drehen möchten, um in Fahrtrichtung zu zeigen. Reine Verfolgung wird in diesem Fall nicht funktionieren und Sie müssen einige Kontrollgesetze aufstellen ...
Ben
Ermöglicht diese Methode dem Benutzer, einen Pfad zwischen der angegebenen Start- und Endkonfiguration zu generieren? (x1,y1,θ1) und (x2,y2,θ2)? Ich habe die MATLAB-Dokumentation für gesehen robotics.PurePursuitund es scheint mir, dass Sie die anfängliche Pose und den endgültigen Ort (nicht die Pose) angeben, während das OP dies verlangt, wenn beide Posen (Orte und Kursrichtungen) angegeben sind.
Lakshay Garg
Nein, reine Verfolgung folgt nur einer bestimmten Flugbahn. Es gibt Ihnen einfach den augenblicklichen Lenkwinkel, den Sie verwenden sollten. Wenn Sie Start- und Endkonfigurationen haben, können Sie einfach eine kubische Bezierkurve zwischen ihnen erstellen und dieser dann folgen. Das reine Streben wurde unter der Annahme einer Ackerman-Lenkung formuliert, was bedeutet, dass Ihr Kurs den Pfad tangiert.
Ben