Ist es möglich, einen zweirädrigen Roboter ohne Gyroskope zu bewegen und zu stabilisieren?

15

Mit einem zweirädrigen Roboter wie diesem habe ich es geschafft, ihn zu stabilisieren, während er stillsteht. Dies wurde unter Verwendung eines digitalen Rückkopplungsregelungssystems durch Lesen der Position der Räder zur Bestimmung der Position durchgeführt, und die natürliche elektromotorische Gegenkraft von den Radmotoren wurde in der Rückkopplungsschleife zur Bestimmung der Geschwindigkeit verwendet. Es wurde mit einem PID-Regler stabil gehalten, der unter Verwendung eines Root-Locus-Algorithmus entworfen wurde, um es stabil zu halten und die Leistungsparameter (wie Prozentüberschwingen, Einschwingzeit usw.) zu modulieren. Ich wollte versuchen, es stabil zu halten und gleichzeitig vorwärts zu treiben, aber ich konnte nicht herausfinden, wie ich einen linearen Regler konstruieren sollte, der das kann. Ist es möglich, den Roboter sowohl vorwärts als auch rückwärts zu bewegen? Halten Sie es mit einem Rückkopplungsregler an den Rädern stabil, oder ist ein Gyroskop erforderlich?

Zetta Suro
quelle
1
Gibt es einen bestimmten Grund, warum Sie kein Gyroskop verwenden können? Nur aus Interesse.
Berry120
Hier geht es um eine Aufgabe, die ich in meinem letzten Semester erledigt habe. Wir bekamen den Roboter und konnten nur das benutzen, was uns gegeben wurde. Die Aufgabe bestand nur darin, es stationär zu halten, aber ich war einfach neugierig, ob (und wenn ja, wie) es sich vorwärtsbewegen und dennoch stabil halten konnte.
Zetta Suro

Antworten:

4

Sie können auch andere Arten der Orientierungsmessung verwenden, z. B. einen Beschleunigungsmesser, die optische Verfolgung von Markierungen oder einen auf den Boden gerichteten Tiefensensor.

AlcubierreDrive
quelle
Ein optischer Abstandssensor, der auf den Boden zeigt, ist ein guter Weg, um die Neigung des Roboters zu messen. Denken Sie daran, dass es die tatsächliche Neigung misst, während ein Kreisel die Änderungsrate der Neigung misst
Rocketmagnet
2

Wenn Sie es geschafft hätten, es in einer stationären Konfiguration stabil zu halten, sehe ich nicht wirklich, wie viel schwieriger es wäre, es bei einer konstanten Geschwindigkeit stabil zu halten. Vom Standpunkt des Systemmodells aus wäre es effektiv dasselbe, abgesehen von einigen Geschwindigkeitsversätzen. Wenn die Übergänge zwischen den Geschwindigkeiten nicht sehr groß sind, sollten sie in den Bereich der natürlichen Systemstörungen fallen.

Jakob
quelle
2

Sie benötigen einige Sensoren, um den Status des Systems zu erkennen.

Linearisieren Sie das System zunächst in eine Zustandsraumform und überlegen Sie dann, über welche Sensoren Sie verfügen. Überprüfen Sie dann, ob es beobachtbar ist. Wenn es beobachtbar ist, können Sie die geschätzten Zustände in Ihre Steuerung einspeisen.

Momentan klingt es so, als würden Sie die Radposition und die Gegen-EMK (für die Geschwindigkeit) als direkte Messungen verwenden. Ohne Überprüfung der Beobachtbarkeitsmatrix bin ich nicht sicher, ob das System beobachtbar ist.

ronalchn
quelle
2

Mathematisch gesehen eliminiert die Tatsache, dass Sie jetzt eine Rotation haben (meistens), diesen Parameter als möglichen Steuerparameter. Grundsätzlich müssten Sie Ihren Algorithmus so umgestalten, dass er eine große und variable Winkelgeschwindigkeitskomponente akzeptiert, während Sie weiterhin die Winkelgeschwindigkeit in Ihrem Feedback verwenden. Je leiser dies ist, desto besser ist das wahrscheinliche Ergebnis, weil Sie wahrscheinlich ein Positionsdifferential anwenden werden, um einen anderen Steuerparameter abzuleiten. Oder besser gesagt, das ist eine Möglichkeit. Es sieht also so aus, als ob Sie einen anderen Steuereingang benötigen, aber es muss kein Beschleunigungsmesser sein. Sie können einen Horizont, eine feste Markierungsposition oder sogar Neigungssensoren festlegen.

Platzhalter
quelle