Regelung
Regelungstechnik sorgt dafür, dass ein System tut, was Sie ihm befehlen – trotz Lasten, Rauschen und Modellfehlern –, indem gemessen wird, was es tatsächlich tut, und die Differenz korrigiert wird. Diese Seite behandelt Steuerung und Regelung, PID- und PD-Regelung, Übertragungsfunktionen und Sprungantworten, Abtastraten, den internen Regelkreis des Hobbyservos und Nachgiebigkeit, mit den Servos von Strido und seinem MuJoCo-Modell als Beispielen.
In Strido
- Raten: Die Firmware betreibt eine Regel- und IMU-Schleife mit
( kControlPeriodUs = 5000) und aktualisiert die Servos mit( kServoFrequencyHz; der SPT5435LV akzeptiert bis zu). Sie streamt den Zustand mit an den Host (alles in firmware/strido_esp32s3/src/board_config.h). Der Gelenkbefehlsstrom läuft mit( strido_sim/walk.py), die gelernte Policy mit( strido/policy.py). - Servomodell in der Simulation: MuJoCo-Positionsaktuatoren mit
kp="25" kv="0.4" forcerange="-3.432 3.432", dazu Gelenk-damping="0.25" armature="0.012" frictionloss="0.05"(models/mujoco/strido.xml). - Hardware: 12 SPT5435LV-180W-Positionsservos, angesteuert von einem PCA9685-PWM-Board (Servos, Firmware).
Steuerung und Regelung
Steuerung (offener Kreis) legt einen vorab berechneten Eingang an und prüft das Ergebnis nie. Ein Trot-Gait, der Fußtrajektorien über inverse Kinematik abspielt, ist bezüglich des Körpers eine Steuerung: Rutscht der Roboter, bemerkt der Gait es nicht.
Regelung (geschlossener Kreis, Rückkopplung) misst den Ausgang
Strido stapelt mehrere Regelkreise, jeder schneller als der darüber:
Die Servos geben dem Host keine Positionsrückmeldung (strido_sim/rl/env.py). Der einzige Regelkreis auf Gelenkebene schließt sich also innerhalb jedes Servos. Die Policy schließt den Regelkreis auf Körperebene über die IMU.
PID-Regelung
Der klassische Regler kombiniert drei Anteile:
- P drückt proportional zum Fehler, wie eine Feder.
- I summiert vergangene Fehler auf und beseitigt bleibende Regelabweichungen, auf Kosten von Überschwingen und Wind-up.
- D wirkt der Änderungsrate entgegen, wie ein Dämpfer. In der Praxis wirkt er auf
statt auf , was einen Stoß bei einem Sprung der Führungsgröße vermeidet.
Für Gelenke ist die übliche Wahl PD mit Soll-Geschwindigkeit null:
Das ist genau MuJoCos <position kp kv>-Aktuator. Das Ergebnis wird dann auf den Kraftbereich begrenzt,
Übertragungsfunktionen und die Sprungantwort
Modellieren Sie ein Gelenk als Trägheit
Dieses Standardsystem zweiter Ordnung erklärt das meiste, was Sie in einer Sprungantwort sehen:
bestimmt die Geschwindigkeit. Anstiegszeit und Bandbreite für nahe . bestimmt die Form. Unter 1 schwingt die Antwort über und klingt nach. Das Überschwingen beträgt . Über 1 ist sie träge, aber monoton. - Eine Erhöhung von
beschleunigt die Antwort, senkt aber , also erhöhen Sie mit. - Die statische Steifigkeit ist
: Eine konstante Last hinterlässt einen Fehler von . Nur ein Integralanteil beseitigt ihn.
Rechenbeispiel: das MuJoCo-Knie
Aus models/mujoco/strido.xml: mass_report.yaml), also
Das sagt eine Anstiegszeit von etwa
Im Stand trägt das Knie
Die Policy kann lernen, leicht über den Sollwert hinaus zu kommandieren, um das auszugleichen. Da die RL-Umgebung die Servosteifigkeit in jeder Episode randomisiert (env.py), kann sich die Policy nicht auf einen exakten Wert verlassen.
Abtastung, Verzögerung und Bandbreite
Digitale Regler tasten ab. Die Nyquist-Grenze besagt, dass Sie mehr als zwei Abtastwerte pro Periode des schnellsten relevanten Signals brauchen. Für gute Regelung lautet die Faustregel: eine Schleife 10–20-mal schneller als die Bandbreite des geschlossenen Kreises. Verzögerung zählt genauso: Eine reine Totzeit
Für Strido:
| Schleife | Rate | Periode / zusätzliche Verzögerung im ungünstigsten Fall |
|---|---|---|
| Policy | ||
| Gelenkbefehlsstrom | ||
| ESP32-Regelung + IMU | ||
| Servo-PWM-Frame | ||
| MuJoCo-Physik |
Ein klassischer analoger Servo nimmt nur alle GAIT_PERIOD_S in strido/policy.py). Das ergibt 20 Policy-Schritte pro Zyklus, während die schnellen Schleifen darunter die steife Arbeit leisten.
Der interne Regelkreis des Hobbyservos
Ein Hobbyservo ist ein kleines Regelsystem in einer Box: ein Gleichstrommotor, ein Getriebe, ein Potentiometer am Abtrieb und ein Regler-Chip. Die Pulsbreite kodiert den Sollwinkel. Der Chip vergleicht ihn mit dem Potentiometerwert und treibt den Motor mit annähernd proportionaler (oft PD-ähnlicher) Regelung an, begrenzt durch das Blockiermoment. Sie können weder seine Position auslesen noch seine Verstärkungen einstellen. Von außen verhält er sich wie ein steifes PD-Gelenk mit Momentbegrenzung, Geschwindigkeitsbegrenzung (im Leerlauf MAX_JOINT_SPEED_RAD_S), damit plötzliche Sprünge keinen Strom nahe dem Blockierstrom ziehen.
Impedanz und Nachgiebigkeit
Ein Positionsregler mit den Verstärkungen
Über
Impedanzregelung wählt diese Steifigkeit gezielt. Ein Laufroboter will seine Füße beim Aufsetzen nachgiebig, damit Stöße absorbiert werden und kleine Geländefehler den Körper nicht erschüttern, und steif während der Standphase. Roboter mit drehmomentgeregelten Motoren (zum Beispiel der MIT Cheetah) setzen
Selbstkontrolle
- Warum erreicht ein PD-geregeltes Gelenk unter konstanter Last seinen Sollwert nicht exakt?
- Was passiert mit
und , wenn Sie verdoppeln und beibehalten? - Warum würde ein
-Servo-Frame mehr schaden als eine -Policy? - Wo befindet sich am realen Roboter der einzige Rückkopplungskreis für die Gelenkposition?
Antworten
- Im stationären Zustand muss der P-Anteil das Lastmoment aufbringen, also ist
. Nur ein Integralanteil beseitigt ihn. wächst um den Faktor . sinkt um den Faktor , es gibt also mehr Überschwingen. - Die Frame-Verzögerung liegt innerhalb der schnellen, steifen Gelenkschleife, deren Bandbreite mehrere Hertz beträgt. Die Policy formt langsamere Körperbewegungen (den
-Gangzyklus) und stützt sich auf die Gelenkschleifen darunter. - Innerhalb jedes Servos, zwischen seinem Potentiometer und seinem Regler-Chip. Host und ESP32 sehen den Gelenkwinkel nie.
Weiterführende Literatur
- K. J. Åström und R. M. Murray, Feedback Systems: An Introduction for Scientists and Engineers, 2. Aufl., Princeton University Press, 2021. Kostenlos online
- K. M. Lynch und F. C. Park, Modern Robotics, Cambridge University Press, 2017, Kap. 11 (Roboterregelung, einschließlich Impedanzregelung).
- N. Hogan, „Impedance Control: An Approach to Manipulation“, ASME J. Dynamic Systems, Measurement, and Control, 107(1), 1985.
- MuJoCo-Dokumentation: Aktuatoren.
- Servos und Firmware in diesem Wiki.