Term = Wert der aktiv ist, messbar in Blackbox-Log
Gain = eingestellter verstärkender Faktor in Betaflight
Gain, z.b.: D-Gain wird manchmal auch als D-Term-Gain bezeichnet. Nicht verwirren lassen, gemeint ist der Gain, nicht der Term.
Gehen wir von einem einfachen PID Regelkreis ohne erweiterte PID-Funktionen wie Feed Forward 2.0, Dmin und Antigravity aus. Der PID-Controller vergleicht den Setpoint (Soll) mit den Daten des Gyroskops (Ist). Je präziser die Ausgangswerte sind desto präziser wird das Ergebnis. Liegt hier eine Abweichung vor so ist dies der PID-Error. Der PID-Kontroller versucht nun den PID-Error so klein wie möglich zu halten.
Aus Mark Spatz (UAV_Tech) Tuning Guide 1
P-Term #
P-Term = PID-Error x P-Gain (Wert in Betaflight) x Scaling-Faktor
Der PID-Controller schiebt mit dem P-Term (Proportional) den Quadcopter in die richtige Richtung. Wie die Feder im Fahrwerk eines Autos oder das Kind auf der Wippe das sich nach oben abstößt. Der P-Term „the present“ agiert in Echtzeit.
Je weiter der Quadcopter von seinem Lage-Soll entfernt ist, desto stärker drückt der P-Term den Quadcopter in Richtung Lage-Soll.
[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]
Ein höherer P-Term bringt schärfere Kontrolle über den Quadcopter mit sich, neigt aber, wenn zu hoch, zum überschießen (Overshoot). Wenn er zu sehr überschießt kommt es zu P-Term-Oszillationen, diese sind hochfrequent und meist im oberen Throttlebereich.
D-Term #
D-Term = Anstiegssteilheit des Gyrosignals (= Neigung der Kurve in Blackbox) x D-Gain x Scaling-F.
Ohne Dämpfung würde der Quadcopter aber wie ein Auto ohne Dämpfer einfach weiter schwingen. Um diese Schwingung zu dämpfen wurde der D-Term (Derivative) eingeführt. Er bremst die überschießende Bewegung, sodass das Soll (gewünschte Lage des Quadcopters im Raum) erreicht, aber nicht übertroffen wird. Der Trick ist, dass D-Term etwas später anfängt und leicht Träger ist als der P-Term.
[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]
Je schneller das Gyroskopsignal sich ändert desto stärker drückt der D-Term gegen die Bewegung.
In Wirklichkeit schießt der Quadcopter aber trotzdem über den Zielwert hinaus und D fängt dieses Überschießen dann ein. Ein neues P in die Gegenrichtung kommt hinzu. Beides wird dabei so stark, dass der Quadcopter nun wieder überschießend zurücklenkt. Wäre nur P und D verfügbar würde der Quadcopter sich langsam auf den Sollwert einpendeln.
Ein Problem des D-Terms ist, dass er sehr sensibel auf Störungen (Noise) im Gyro-Signal oder Prop-Wash reagiert. Der D-Term verstärkt dieses 10-100-fach. Daher ist eine Filterung nur für den D-Term notwendig. Durch zu viel Aktivität des D-Terms werden die Motoren sehr schnell beschleunigt und abgebremst. Dies erzeugt Wärme. Zuviel davon und die dünnen Drähte der Motorspulen schmelzen und der Motor „brennt durch.“
Ein zu hoher D-Term erzeugt mittelfrequente Oszillationen im mittleren Throttlebereich. Zu wenig D-Term erlaubt Bounceback und verschlechtert Prop-Wash-Handling. D-Term ist für die Kontrolle des Prop-Wash der ausschlaggebende Term.
Um den D-Term dynamisch anzuheben, wenn man viel braucht (Prop-Wash) und niedrig zu halten, wenn man ihn nicht braucht (geradeaus Flug) wurde Dmin eingeführt.
I-Term #
Der I-Term ist von Zeit und PID-Error abhängig. Das heißt er wird stärker je länger der PID-Error anhält und je größer der PID-Error ist. Der I-Term ist im Vergleich zu P und D langsam. Er hält den Quadcopter stabil gegen äußere Einflüsse wie Wind in der Luft.
[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]
Dargestellt wird er hier durch das grüne Gewicht. Der I-Term wirkt sowohl dämpfend auf P und D als auch Richtungsgebend, wenn die Richtungsvorgabe durch P nicht ausreicht. In Betaflight ist der ITerm sehr stark, was dieses „locked in Gefühl“ oder „wie auf Schienen fliegen“ erzeugt. Ist der I-Term zu hoch fühlt sich der Quadcopter steif an, wie als würde ihn in der Luft jemand festhalten. Ist er deutlich zu hoch erzeugt das ganz langsame I-Term-Oszillationen. Ist der I-Term zu niedrig „rutscht“ der Quadcopter in der Luft weg wie auf einer Eisbahn. Manche beschreiben dies auch als Neigung zum Driften (wie bei The Fast & The Furious.)
Antigravity verstärkt den I-Term dynamisch, wenn er gebraucht wird (schnelle Throttleänderungen) und erlaubt einen niedrigeren I-Term, wenn er nicht gebraucht wird (konstanter Flug).
Wenn eine konstante Scherkraft von außen auf den Quadcopter einwirkt (Seitenwind beim Long-Rangeflug, Fliehkräfte bei einem Orbit, etc), wird der I-Term immer stärker und stärker. Um diesem entgegenzuwirken und ein kumulieren zu verhindern wurde I-Term Relax und I-Term Windup eingeführt.
PID-Controller-Wirkung #
Zusammen wirken P, I und D ungefähr so:
[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]
Wichtig ist die richtige Balance (P/D-Balance) und die richtige Stärke (P/D Gain) zu finden. Dies ist für jeden Quadcopter individuell.
Ändert man den Setpoint (Soll) von angenommen 0 auf 1 innerhalb unendlich kleiner Zeit reagiert der PID-Controller so: (vereinfachtes Modell)
[Quelle: https://commons.wikimedia.org/wiki/File:PID_Compensation_Animated.gif]
Wir wollen einen schnellen Anstieg ohne Überschwingen und dabei den Zielwert präzise treffen. Das wird nie passieren, daher müssen wir uns diesem Idealzustand soweit es geht annähern, aber werden mit einem Kompromiss leben müssen. Der eine mag weiche Übergänge ohne Überschießen für cinematischen Flug. Der nächste nimmt Überschießen gern in Kauf, denn ein klein wenig Bounceback ist nach dem Racegate zu verkraften.
[Quelle: Mark Spatz (UAV_Tech) Tuning Guide]
Optimal ist ein Kompromiss aus ausreichend starkem P, zurückhaltendem D und gut dosiertem I. Dieser ideale Zustand wird als „critically damped“ bezeichnet. Overdamped hat zu viel Dämpfung und ist langsam. Underdamped erzeugt Overshoot und Bounceback, ist dafür schnell. Natürlich wollen wir das Delay (Verzögerung) so klein wie möglich halten, damit der Quadcopter schnell reagiert. Die obere Grafik gut einprägen, die brauchen wir immer wieder.