PID-Tuning für Quadrocopter

Fast jeder der sich mit dem Selbstbau eines Copters oder eines Flächenflugzeugs mit einem Flight-Controller befasst hat, wird schon einmal vom ominösen „PID“-Tuning gehört haben. In diesem Artikel wollen wir ein für alle mal Licht ins Dunkel bringen, wobei wir uns ausschließlich auf Copter beschränken werden.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 19 Min.
Von
  • Roman Radtke
Inhaltsverzeichnis

Wenn man einen Copter gebaut hat und dieser mehr oder weniger dem entspricht was andere bauen, so fliegt er oft mit den Standard-Einstellungen der Flight-Controller-Firmware schon sehr gut. Der 250er Race Copter, welcher in der Make 6/16 zusammengestellt wurde, ist dafür ein gutes Beispiel: er fliegt auch ohne weitergehendes Tuning richtig gut.


Wenn der Copter nicht so fliegt wie man möchte, oder man das letzte Quäntchen an Stabilität und Reaktivität heraus holen will, muss man jedoch tiefer in die Materie einsteigen - PID-Tuning steht auf dem Programm!


Da jeder Copter einzigartig ist, sind die PID-Werte, welche man für seine Plattform im Internet findet meist nicht perfekt, zumal diese auch von den eigenen Vorlieben abhängen.
Wenn man an etwas „herumschrauben“ will sollte man als erstes wissen, WORAN man denn herumschraubt und dann noch WIE man denn herumschraubt- und mit welchem Werkzeug dies am besten geht.

Ohne zu weit auf die dahinterliegende Mathematik und Regelungstechnik einzugehen, kann man den Control-Loop, welcher im Flight-Controller abläuft, anschaulich wie folgt erklären: Man hat einen Wassertank unter der Erde, welcher bis zu einem gewissen Stand aus der Leitung mit Wasser gefüllt werden soll. Der Zulauf ist mit einem Ventil versehen, das sich regeln lässt. Um den Wasserstand zu bestimmen wird man nun Messungen durchführen. So lange der Wasserstand niedrig ist wird man das Ventil am Schlauch weit aufdrehen, um möglichst schnell den gewünschten Soll-Zustand zu erreichen.

Da die Messung des Wasserstandes nicht unendlich schnell erfolgen kann, und man auch etwas Zeit braucht um das Ventil zu schließen, wird der Wasserstand etwas über den Soll-Wert hinausschießen. Man muss also nun am Ablauf etwas Wasser ablassen. Der Wasserstand wird sinken - vermutlich aufgrund der begrenzten Messgeschwindigkeit und der endlichen Zeit die es braucht das Ventil zu verschließen unter den gewünschten Stand. Durch erneutes Zugeben und Ablassen von Wasser wird man nun versuchen den Pegelstand möglichst genau auf den Soll-Wert einzustellen. Wollen wir diese Aufgabe nicht selbst lösen, so können wir einen Regler zur Steuerung des Systems einsetzen. Seine Aufgabe ist, anhand der „Beobachtung“ des Wasserstands zu ermitteln, wie viel Wasser er zugeben beziehungsweise ablassen muss.

Der PID-Regler regelt am genauesten und schnellsten auf den gewünschten Soll-Wert ein

Je schneller der Regler in der Lage ist den Füllstand zu messen, und je schneller er die Ventile bedienen kann, desto schneller und genauer wir er den Ist-Zustand dem Soll-Zustand annähern können.
Auf den Multicopter bezogen bedeutet dies, dass die Ist-Position mit Hilfe von geeigneten Sensoren erfasst wird, mit der Soll-Position verglichen wird und mit Hilfe der Anpassung des Schubs der einzelnen Motoren, schnellst möglich die gewünschte Position erreicht wird.

Um die benötigte Motordrehzahl aus der Lageinformation und den Steuereingaben zu bestimmen wird meist ein PID (proportional-integral-derivative) Regler verwendet. Wie der Name schon impliziert hängt das Verhalten dieses Reglers von den Variablen P, I und D ab.

Um diese Werte geht es hauptsächlich

Der Proportional-Wert bestimmt, wie stark die Regelung auf eine Abweichung vom Ziel-Wert reagiert. Generell lässt sich sagen, dass dies der für das Tuning wichtigste Faktor ist. Der P-Wert sollte so hoch wie möglich eingestellt werden, ohne dass der Copter anfängt mit hoher Frequenz zu oszillieren oder nach starken Steuerbefehlen übersteuert. Je schneller die Regelung ist (schnellere ESCs und schnellererRegelkreis auf dem FC), desto höher lässt sich dieser Wert meist einstellen. Dies führt dazu, dass der Copter „knackiger“ fliegt, da die Steuerung Korrekturen schneller und präziser ausführen kann.Ist dieser Wert zu klein, so reagiert der Copter nur langsam und fliegt sich „schwammig“.
Da dies der so zu sagen „Grundlegende“ Wert für das Tuning ist wird auch immer mit dem ermitteln dieses angefangen.

I steht für Integral- und das ist genau wofür der I-Faktor zuständig ist: den Fehler über die Zeit integrieren. Einfach gesagt bedeutet dies, dass ein Fehler der lange Zeit anhält mit immer größerer Kraft korrigiert wird, was praktisch bedeutet, dass er dem Drift des Copters entgegenwirkt.
Wird dieser Wert zu hoch eingestellt wird es auch zu Oszillationen kommen, welche jedoch deutlich langsamer sind als die, die ein zu hoher P-Wert bewirkt.


Der D-Wert, welcher prinzipiell dem P-Wert entgegenwirkt hat auf die Regelung normalerweise keinen dramatischen Einfluss; bei manchen Plattformen lässt sich dieser Wert daher nicht einmal ändern.
Ein höherer D-Wert bewirkt, dass der Copter etwas „softer“ fliegt. Man kann mit ihm auch gegen Oszillationen durch zu hohe P- oder I-Werte entgegen wirken. Erhöht man den Wert stark, so fliegt der Copter „breiig“ und unpräzise.

Mit den falschen Parametern fängt eine P-Regelung an zu schwingen.


Achtung: man sollte den D-Wert immer so klein wie möglich wählen. Schlimmstenfalls kann es zu kaum spürbaren Einkopplungen in die Regelschleife kommen, welche den ESC und den Motor überlasten können- bis hin zum Totalversagen.