Wie kann man zwei ununterbrochene Spuren (Panzertritte) dazu bringen, sich mit der gleichen Geschwindigkeit zu bewegen?

12

Ich habe ein paar Vex 269-Motoren an einen Arduino Duemilanove angeschlossen . Diese Motoren laufen einige Vex Tank Treads . Die beiden Motoren werden auf dem Arduino unter Verwendung der Servobibliothek als Servos betrieben. Das Problem, das ich habe, ist, dass sich die beiden Spuren nicht mit der gleichen Geschwindigkeit drehen, wenn der gleiche Servowinkel gesendet wird. Dies ist eindeutig auf die Tatsache zurückzuführen, dass die durchgehenden Spuren so viele bewegliche Teile aufweisen, dass es schwierig ist, identische Reibungskräfte auf jede Spur zu bekommen.

Wie bringe ich sie dazu, sich mit der gleichen Geschwindigkeit zu bewegen? Sollten sie bei gleichem Servowinkel ungeachtet der Reibung die gleiche Geschwindigkeit bewegen und die Vex 269-Motoren sind einfach nicht stark genug (was bedeutet, dass ich den Vex 369 oder einen anderen stärkeren Motor verwenden sollte)? Ist es am besten, nur lange genug zu probieren, um herauszufinden, welcher Servowinkel bei jedem zu gleichen Geschwindigkeiten führt? Soll ich an den Tracks basteln, bis sie fast identische Reibungen haben? Vielen Dank!

Golmschenk
quelle

Antworten:

12

Die kurze Antwort lautet, dass Sie eine bessere Kontrolle (Feedback) benötigen, um dies zu tun. In der Praxis werden Sie das System niemals so genau kalibrieren können, dass es für mehr als ein paar Dutzend Längen von Roboterkörpern geradeaus läuft. Sobald Sie es für eine Reihe von Bedingungen perfekt gewählt haben, ändern sich die Umgebungs- oder Tragebedingungen und Sie müssen es erneut abstimmen.

Oberflächenbedingungen, Traktion, Fluglage, Motorisolation (die Verteilung der elektrischen Leistung an jeden Motor von einer gemeinsamen Stromquelle) und viele andere Echtzeit-Betriebsfaktoren wirken sich auf die Vorwärtsgeschwindigkeit für jede Seite des Bots aus.

Abhängig von Ihren Präzisionsanforderungen kann ein so einfacher Magnetkompass (Position so weit wie möglich vor dem Roboter, um die Reaktionsfähigkeit zu maximieren) Ihnen helfen, den Kurs während der Vorwärtsbewegung beizubehalten.

Oft ist es nicht entscheidend, in welche Richtung sich Ihr Bot bewegt. Vielmehr muss es lediglich darum gehen, bei einer Aufgabe Fortschritte zu erzielen (dem Anführer folgen, nach einem Ziel suchen usw.).

Wenn Sie mehr Details zu Ihrem Roboter und seinen Konstruktionszielen veröffentlichen, kann ich Ihnen weiterhelfen.

Ein Hinweis zur Platzierung des Magnetsensors

Aber warum sollte ich "den Magnetwandler so weit vorne wie möglich positionieren"? Ist es nicht wahr, dass der Winkel der gleiche ist? Jep. Das stimmt, aber die Stärke des Erdmagnetfeldes ist es nicht. Sie stehen an einem anderen Ort auf der Erde .

Stellen Sie sich vor, Ihr Roboter ist so groß wie ein Auto. Wenn Sie in der geometrischen Mitte des Autos sitzen und das Auto sich um Sie dreht, haben sich Ihre Koordinaten auf der Erde nicht geändert. nur deine einstellung hat. Wenn Sie nun auf der Motorhaube des Autos sitzen und das Auto die vorherige Bewegung wiederholt, haben sich sowohl Ihre Haltung als auch Ihre Koordinaten geändert. Das Ändern der Koordinaten führt zu einem größeren Unterschied in der Größe des Erdfelds als die alleinige Drehung.

In den letzten Jahren arbeitete ich in einem Team mit Dr. Dwight Veihland von Virginia Tech, dem wohl weltweit führenden Experten für hochempfindliche Magnetsensoren. Wenn ich den Körper seiner Arbeit kristallisieren würde ( wie in diesem Beispiel ), würde ich sagen, dass er immer größere Signal-Rausch-Verhältnisse bei der Erkennung immer kleinerer Größen anstrebt.

Jede Erhöhung der Magnitudendifferenz, die Sie erzeugen können, erleichtert Ihrem Sensor das Leben ... und in diesem Fall erhalten Sie sie kostenlos. Eine Reihe von DARPA-Robotern für große Herausforderungen platzierte den GPS-Sensor aus demselben Grund nach vorne.

DrFriedParts
quelle
1
Wenn Sie das hervorragende Ansprechverhalten von DrFriedParts erweitern möchten, informieren Sie sich unter "PID-Regelung" über eine häufig verwendete Art der Rückkopplungsregelung. Frage an DrFriedParts: Wie maximiert die weitestmögliche Vorwärtspositionierung des Kompasses die Reaktionsfähigkeit? Der Winkel wird derselbe sein, obwohl ich sehen kann, dass es hilfreich ist, ihn von den Metallteilen und Motoren zu entfernen.
ViennaMike
@ViennaMike - Danke! =) Ich habe meine Antwort erweitert, um Ihre Frage ausführlicher zu behandeln, als ich in einen Kommentar passen könnte.
DrFriedParts
Kennt jemand eine Veröffentlichung mit Experimenten, die zeigen, dass die Position des Magnetsensors am Roboter die Orientierungsgenauigkeit aufgrund der Position im Erdmagnetfeld verbessert? Es klingt plausibel, aber ich bin nicht überzeugt, dass der Effekt spürbar wäre. Ich würde vermuten, dass eine Bewegung des Sensors von anderen elektronischen Bauteilen des Roboters einen größeren Effekt hat. Ich würde mich freuen, die Ergebnisse von Experimenten dazu zu sehen!
Golmschenk
@ViennaMike - Die PID-Regelung der Motoren kann hier nicht zur Lösung des Problems verwendet werden. Sie haben keine Positions-, Geschwindigkeits- oder Stromrückmeldung und müssen daher nichts in den PID-Regelkreis eingeben. PID bietet die Möglichkeit, einen Zielwert reibungslos anzufahren, aber Sie haben keinen Zielwert ohne zusätzliche Rückmeldung über die Position des Roboters / die Differenzdrehzahl der beiden Spuren (z. B. benötigen Sie mehr Informationen als der Roboter / das Szenario des OP) zur Verfügung stellen).
DrFriedParts
@golmschenk - Werfen Sie einen Blick auf die erste große DARPA-Herausforderung und die von den verschiedenen Hochschulteams herausgegebenen Unterlagen zur Platzierung der GPS-Antenne an den Fahrzeugen (dasselbe Konzept) ... oder werfen Sie einen Blick auf die relevanten Unterlagen von Veihland. Der Effekt macht sich im Wesentlichen bei Fahrzeuggeschwindigkeiten oder bei kleinsten Magnetsensoren bemerkbar. Mit GPS macht sich dies auf fast jeder praktischen Roboterskala bemerkbar.
DrFriedParts