Lern-RoadmapMittelstufe

PID-Regelung für Roboter: Ein Lernpfad

Aus verrauschten Messwerten ein glattes Fehlersignal machen und einen stabilen PID-Regler abstimmen, der ohne Schwingungen folgt.

Ein PID-Regler ist das Arbeitstier der Robotik: Er verwandelt die Lücke zwischen dem, wo ein Roboter ist, und dem, wo er sein soll, in eine Korrektur. Doch ein Regler ist nur so gut wie das Signal, auf das er wirkt – deshalb beginnt dieser Lernpfad mit dem Bereinigen verrauschter Sensormesswerte und lehrt dann, die Proportional-, Integral- und Differenzialanteile so abzustimmen, dass der Roboter ruhig folgt statt zu schwingen.

Bei den praktischen Stationen kommt es auf die Reihenfolge an. Zuerst eine einfache Regelschleife abstimmen, bei der ein einzelner Sollwert und eine einzelne Strecke Überschwingen, Schwingen und bleibende Regelabweichung isoliert sichtbar machen. Erst danach dieselben drei Verstärkungen auf den Linienfolger übertragen, wo die Strecke gegenhält und der Fehler von einem echten Sensor eintrifft – genau dort hört Abstimmung auf, sauber zu sein.

Danach endet der Pfad an einem Ort, den die früheren Stationen nicht erreichen. Jede Strecke bis dahin ist stabil: Ignoriert man sie, steht sie einfach da – Abstimmung ist also besser als nichts zu tun. Ein selbstbalancierender Roboter ist nicht stabil – lässt man ihn eine Sekunde allein, liegt er auf dem Boden. Diese eine Änderung macht gute Abstimmung zur Notwendigkeit statt zur Verbesserung und erzwingt die strukturelle Idee, mit der dieser Pfad schließt: Wenn man das, worauf es eigentlich ankommt, nicht direkt ansteuern kann, schachtelt man zwei Schleifen und lässt die äußere das Ziel der inneren verschieben.

Bevor du beginnst

Du solltest bereits einen Sensor auslesen und einen Motor mit vorgegebener Drehzahl antreiben können – der Lernpfad Motorregelung deckt beides ab. Bring einen Roboter oder einen Simulator mit, wo du eine Zahl ändern und sofort sehen kannst, was sie bewirkt.

Was du danach kannst

  • P, dann I, dann D in bewusster Reihenfolge abstimmen, statt drei Zahlen auf einmal zu ändern und zu hoffen.
  • Eine Antwortkurve lesen und an ihrer Form benennen, was falsch ist: Überschwingen, anhaltendes Schwingen oder bleibende Regelabweichung, die nie schließt.
  • Integral-Windup erkennen, wenn der Aktor sättigt, und durch Begrenzung beheben statt durch Senken der Verstärkung, bis das Symptom verschwindet.
  • Zwei Schleifen so schachteln, dass ein äußerer Regler den Sollwert eines inneren Reglers verschiebt.

Wo die meisten feststecken

Alle drei Verstärkungen gemeinsam abstimmen. Bei drei wechselwirkenden Stellschrauben und einem Ausgang lernt man aus dem Ergebnis nichts, wenn man alles auf einmal ändert. P erhöhen, bis es schwingt, und zurückgehen; erst dann D hinzufügen; I zuletzt und nur bei bleibender Abweichung.

Die Ableitung des Fehlers nehmen. Wenn der Sollwert springt, springt der Fehler mit, und seine Ableitung ist kurzzeitig riesig – der Roboter ruckt ohne physikalischen Grund. Stattdessen die Ableitung der Messung nehmen. Die Mathematik ist nahezu identisch und der Ruck verschwindet.

D mit verrauschtem Signal füttern. Differenzieren verstärkt Rauschen. Ist der Sensor zittrig, verwandelt D dieses Zittern in Motorbefehle. Erst filtern – weshalb dieser Pfad mit Sensorrauschen beginnt statt mit dem Regler.

Annehmen, Verstärkungen übertragen sich. Verstärkungen sind Eigenschaften einer bestimmten Strecke. Frische Akkus, ein schwereres Chassis oder ein anderer Untergrund ändern die Strecke – und die gestern perfekte Abstimmung gilt heute nicht mehr.

Eine ungleichmäßige Schleifenrate. I und D hängen von der vergangenen Zeit ab. Läuft die Schleife, wann immer sie gerade fertig wird, rechnen beide Anteile mit einer Lüge. Das Intervall festlegen oder die tatsächlich vergangene Zeit messen und in die Rechnung einfließen lassen.

Was du brauchst

Was Warum dieser Pfad es braucht Hinweise
Eine anregbare Strecke Etwas, das auf einen Befehl reagiert und sich einpendelt – ein Motor, eine Heizung, ein Roboter Die Simulatoren ersetzen alle drei, falls du keine hast
Eine Möglichkeit zum Plotten Abstimmung durch Beobachten eines Roboters ist Raten; Abstimmung durch Lesen einer Kurve nicht Serieller Plotter oder die Labore auf diesem Pfad
Ein festes Schleifenintervall I und D werden gegen die vergangene Zeit gerechnet. Eine Schleife, die läuft, wann immer sie fertig wird, rechnet beide gegen eine Lüge Das millis()-Muster
Geduld für einen Drehknopf nach dem anderen Die ganze Methode —

Jede Station dieses Pfads lässt sich im Browser absolvieren. Die drei Labore sind echte Regler auf echten (simulierten) Strecken, und das Abstimmungsverfahren überträgt sich direkt auf Hardware – genau darum geht es, es zuerst hier zu üben.

Warum der Pfad in dieser Reihenfolge läuft

Die Reihenfolge ist so gewählt, dass jede Stufe genau eine neue Schwierigkeit hinzufügt.

Filterung kommt zuerst, weil ein Regler nur so gut ist wie sein Eingang und D die Strafe fürs Auslassen ist. Differenzieren verstärkt Rauschen: Ein Sensor mit ±2 Zähleinheiten Zittern, alle 10 ms abgetastet, erzeugt eine Ableitungsschätzung, die um 200 Zähleinheiten pro Sekunde schwankt – und D verwandelt das direkt in Motorbefehle. Einen Regler auf ungefiltertem Signal abzustimmen lehrt die falsche Lektion – nämlich dass D nutzlos sei.

Die einfache Schleife kommt vor dem Roboter, weil sie den Regler isoliert. Ein Sollwert, eine Strecke, drei Verstärkungen – ohne Lenkgeometrie, ohne Sensorposition, ohne Radschlupf. Wenn die Antwort hier überschwingt, liegt die Ursache in den Verstärkungen, und woran sonst sollte sie liegen.

Der Linienfolger kommt danach, weil er zwei Dinge auf einmal hinzufügt, und beide sind ehrliche Ergänzungen: Der Fehler kommt nun von einem echten Sensor mit begrenztem Sichtfeld, und die Strecke wehrt sich – die Eigenbewegung des Roboters ändert den Fehler schneller, als der Regler erwartet. Hier hört eine Abstimmung, die fertig aussah, auf, fertig zu sein.

Der Balancierroboter kommt zuletzt, und er ist der Sinn des ganzen Pfads. Jede Strecke davor ist stabil: Ignoriert man sie, steht sie da – Abstimmung ist also Optimierung. Ein inverses Pendel ist nicht stabil – eine Sekunde allein gelassen und es liegt auf dem Boden. Diese eine Änderung macht aus guter Abstimmung eine Notwendigkeit statt einer Verbesserung und erzwingt die strukturelle Idee, mit der der Pfad schließt: Wenn man das, worauf es ankommt, nicht direkt ansteuern kann, schachtelt man zwei Schleifen.

Kontrollpunkte: Woran man merkt, dass eine Stufe sitzt

Stufe Die Prüfung Wie Bestanden aussieht
Filterung Roh- und gefiltertes Signal auf denselben Achsen plotten, während der Sensor gestört wird Du kannst die Verzögerung deines Filters in Millisekunden beziffern und sagen, warum sie sich lohnt
Nur P P erhöhen bis zu gleichmäßigem Schwingen, Wert notieren, halbieren Du hast eine Zahl für die kritische Verstärkung, und die Antwort schwingt nun über und pendelt sich ein
D hinzufügen D erhöhen, bis das Überschwingen gedämpft ist Das Überschwingen sinkt, ohne dass die Antwort träge wird; zu viel D und sie wird zackig
I hinzufügen Nur bei bleibender Abweichung Die Abweichung schließt sich, und du hast den Begrenzer gesetzt, bevor du nahe der Sättigung testest
Kurve lesen Drei Antworten ansehen und benennen, was jeweils falsch ist Du unterscheidest Überschwingen, anhaltendes Schwingen und bleibende Regelabweichung allein an der Form
Windup Einen Sollwert befehlen, den der Aktor weit überfordert, dann loslassen Das System schießt beim Loslassen nicht darüber hinaus – wenn doch, fehlt dein Begrenzer
Schleifenrate Das tatsächliche Intervall über eine Minute ausgeben Es ist fest, oder du gibst die gemessene vergangene Zeit in die Rechnung
Kaskade Eine Position auf einer balancierenden Strecke befehlen Die innere Schleife läuft um ein Vielfaches schneller als die äußere, und du kannst das Verhältnis nennen

Wo dieser Pfad endet

PID ist das Arbeitstier, nicht das ganze Feld – und dieser Pfad sagt ehrlich, wo er endet.

Er endet bei Eingrößen-Regelung. Echte Roboter haben oft mehrere gekoppelte Schleifen, die sich gegenseitig stören, und dafür gibt es eine eigene Disziplin, die PID nicht abdeckt.

Er deckt kein Feedforward ab – die größte praktische Verbesserung, die den meisten Roboterschleifen fehlt. PID ist konstruktionsbedingt reaktiv – es kann erst wirken, wenn ein Fehler existiert. Kennt man die befohlene Bewegung bereits, lässt sich der Großteil der benötigten Stellgröße im Voraus berechnen und PID nur die Differenz korrigieren. Das Tutorial zu Bewegungsprofilen ist die erste Hälfte dieser Idee.

Er deckt keine modellbasierte Regelung ab – LQR, Polvorgabe oder irgendetwas, das mit den Gleichungen der Strecke beginnt. Die liefern bessere Ergebnisse, wenn man ein genaues Modell hat – und die meisten kleinen Roboter haben keines.

Und er deckt kein Gain-Scheduling ab, die Standardantwort auf die Tatsache, dass sich Verstärkungen nicht übertragen: mehrere Abstimmungen vorhalten und je nach Geschwindigkeit, Last oder Akkuspannung umschalten.

Lern-Roadmap

Der Pfad

Folge den Knoten der Reihe nach – jeder schaltet den nächsten frei, sobald du ihn erledigt hast. Dein Fortschritt wird auf diesem Gerät gespeichert.

0 / 7 erledigt

100%
Tutorial

Verrauschte Sensormesswerte filtern und fusionieren

Tutorial

Tutorial öffnen
Ziel

Einen stabilen Regler abstimmen

Fähigkeit freigeschaltet

Häufige Fragen

Häufig gestellte Fragen

In welcher Reihenfolge stimme ich die PID-Verstärkungen ab?

P, dann D, dann I – und immer nur eine auf einmal. Die Proportionalverstärkung erhöhen, bis die Antwort gleichmäßig schwingt, dann auf etwa die Hälfte dieses Werts zurückgehen – das ist der klassische Ziegler-Nichols-Startpunkt und bringt schnell in die Nähe. Danach D hinzufügen, um das Überschwingen zu dämpfen, das P hinterlässt. I zuletzt hinzufügen, und nur wenn eine bleibende Abweichung übrig bleibt, die P allein nicht schließt. Alle drei gleichzeitig zu ändern lehrt nichts, denn bei drei wechselwirkenden Stellschrauben und einem Ausgang lässt sich die beobachtete Änderung keinem Drehknopf zuordnen.

Warum schwingt mein PID-Regler?

Meist ist die Proportionalverstärkung zu hoch für die Verzögerung der Strecke. Jede Schleife hat Totzeiten – Sensorfilterung, Motorträgheit, das Schleifenintervall selbst – und P wirkt auf einen Fehler, der bereits veraltet ist. Ab einer gewissen Verstärkung kommt die Korrektur so spät, dass sie alles verschlimmert, und die Schleife schwingt. P senken und D hinzufügen, das auf die Änderungsgeschwindigkeit wirkt und so vorausschaut. Ist die Schwingung schnell und zackig statt weich, steckt eher Rauschen auf D dahinter: Differenzieren verstärkt Rauschen, und ein zitternder Sensor wird zu zitternden Motorbefehlen.

Was ist Integral-Windup und wie behebe ich es?

Wenn der Aktor sättigt – Motoren bereits auf Volllast –, schrumpft der Fehler nicht mehr, aber der I-Anteil sammelt ihn weiter auf. Bis der Sollwert erreicht ist, hält das Integral einen großen gespeicherten Wert, der erst abgebaut werden muss – das System schießt weit darüber hinaus und braucht lange, um zurückzukommen. Die Lösung ist, den Integralanteil auf einen sinnvollen Bereich zu begrenzen oder die Aufsummierung zu stoppen, sobald der Ausgang sättigt. Was man nicht tun sollte: die I-Verstärkung senken, bis das Symptom verschwindet – das tauscht das Überschwingen gegen eine Abweichung, die nie schließt.

Übertragen sich meine PID-Verstärkungen auf einen anderen Roboter?

Nein – oft nicht einmal morgen auf denselben Roboter. Verstärkungen sind Eigenschaften der Strecke, nicht des Algorithmus, und zur Strecke gehören Ladezustand des Akkus, Masse des Chassis, Untergrund und Getriebetemperatur. Eine Abstimmung, die mit frischen Akkus perfekt war, wirkt mit leeren träge, weil dieselbe Einschaltdauer nun weniger Drehmoment erzeugt. Deshalb besteht dieser Pfad auf Abstimmung nach Verfahren statt auf Kopieren von Zahlen – das Verfahren überträgt sich, auch wenn die Verstärkungen es nicht tun.

Warum die Ableitung des Messwerts statt des Fehlers nehmen?

Weil beim Sprung des Sollwerts der Fehler mitspringt und die Ableitung eines Sprungs kurzzeitig riesig ist. Der Roboter ruckt heftig aus einem Grund, der nichts mit Physik zu tun hat – nichts hat sich tatsächlich bewegt, man hat nur etwas anderes verlangt. Die Ableitung des Messwerts liefert dieselbe Information darüber, wie schnell sich das System tatsächlich ändert, ganz ohne den Sollwertsprung. Die Änderung ist eine Codezeile und fast immer die richtige.

Was ist kaskadiertes PID und wann brauche ich es?

Zwei verschachtelte Schleifen, bei denen der Ausgang der äußeren der Sollwert der inneren ist. Man braucht es immer dann, wenn man die eigentlich interessierende Größe nicht direkt ansteuern kann. Bei einem selbstbalancierenden Roboter will man die Position regeln, aber die Motoren steuern das Raddrehmoment, und die einzige Fortbewegung gelingt durch bewusstes Neigen – also hält eine innere Schleife die Neigung auf dem vorgegebenen Winkel, und eine äußere befiehlt die Neigung, um zu fahren. Die innere Schleife muss um ein Vielfaches schneller laufen als die äußere, sonst jagt die äußere einem Ziel hinterher, das die innere noch nicht erreicht hat.