PID Tuning bei Librepilot, So wirds gemacht!

Da es vielen wohl extrem schwer fällt ihre Librepilot FCs vernünftig einzustellen, versuche ich hier mal etwas Klarheit zu schaffen. Hierbei handelt es sich nicht um ein „Hexenwerk“ oder eine Kunst, lediglich das Verständnis zu dem was die gewissen Werte auslösen hinkt bei der Mehrheit wohl etwas nach. Dazu gibts nun ein paar Tipps die gerade Anfängern helfen werden.

Die Librepilot CC3D ist eine gute & günstige Alternative zur DJI Naza und die gibt es hier.

 

In dem Post behandle ich folgende Punkte:
1) Wofür überhaupt PIDs / was machen die PIDs?
2) Ich flieg doch im Attimodus, wieso muss ich da auch die Rate PIDs einstellen?
3) Was macht „P“, „I“ und „D“
4) Wie komme ich vom abgeschlossenen Setup Wizard zu den passenden PIDs für meinen Copter?
5) TPS – Thrust PID Scaling – Was ist das?

Vorwort:
Ich habe bisher sooo viele Posts von Usern aus allerwelt in diversen Foren gelesen die folgendes aussagten:
„Ich habe an meinen PIDs nichts verändert und mein Copter fliegt solide!“

Das ist fast unmöglich. Klar kann ein Copter auch mit den Default werten im Atti Modus von Links nach Rechts schweben solang der P-Wert nicht massiv zu hoch ist (was im Default eben nicht der Fall ist), aber mit „solidem fliegen“ hat das NICHTS zu tun. Spätestens wenns dann mal im Manuellen Modus (Rate/Acro+) bei leichtem Wind und anderen Einflüssen schneller umhergeht, dann schwimmt der Copter durch die Luft wie eine Nudel im Topf. Die perfekten PIDs sind für jeden Copter individuell.

-> Phantom-Like rumschweben ist also KEINE Herrausvorderung an die FC, das schafft sie selbst auf Werkseinstellungen

Nun aber an die PIDs  



1) Wofür überhaupt PIDs / was machen die PIDs?

Der Controller weiß zwar, das er sich nach den Befehlen der Fernsteuerung bewegen soll, aber nicht jeder Copter ist gleich, sprich jeder braucht auch seine eigenen PIDs damit die Flugsteuerung weiß wie sich das gerät in der Luft verhält. Hier wirken Faktoren wie Gewichtsverteilung, Antriebskraft, Luftwiederstand… Und alles was euren Copter sonst noch von einem anderen Unterscheidet.

Der Unterschied zwischen einem X-Quad (F450, Phantom, Warpquad…) und einem H-Quad (ZMR250, QAV250,Blackout MiniH…) ist die Geweichtsverteilung auf dem Frame. Auch wenn der Mittelpunkt zentral im Schnittpunkt der Motorachsen liegt, ist das Gewicht bei einem H Quad dennoch auf der Pitchachse (Längsachse). Bei einem „X-Quad“ können die PIDs für die Roll und Pitchachse gleich sein, da die Masse zentral auf der Mitte des X liegt. Demnach benötigt ein „H-Quad“ in der Regel auf der Roll-Achse auch niedrigere Stabilisationswerte (PIDs) als auf der schwereren Pitch-Achse.

->In der Librepilot GCS kann man im Tab „Vehicle“ die Bauform des Quadcopters einstellen. Dadurch verändert sich der Mix-Level (rechts daneben). Diese Funktion dient lediglich dazu das man Pitch und Roll PIDs auch bei einem H-Quad (mix level 50/75/50) gleich wählen kann, die FC dann grob bescheid weiß und damit besser umgehen kann.

!!!Diese Funktion ist eher der „Noob-Trick“, grundsätzlich ist es ratsam die Einstellung auf „X-Quad“ zu lassen, auch wenn man ein „H-Quad“ hat, und Pitch&Roll einzeln zu tunen!!!
(Wer dennoch das Bildchen gern als H-Quad in der GCS möchte, der kann einfach auf „H-Quad“ stellen und den Mix dennoch auf 50/50/50 korregieren)

Klicke auf die Grafik für eine größere Ansicht Name:	Hquad.jpg Hits:	9 Größe:	196,2 KB ID:	118974



2) Ich flieg doch im Attimodus, wieso muss ich da auch die Rate PIDs einstellen?

->“Wieso musst du in deinen Wanderschuhen noch Socken anziehn?“

Da der Attitude-Mode über die Stabilisation des Rate-Modes läuft, ist es zwingend notwendig eben diese „Rate PIDs“ zu tunen. Das ist fast so essentiell wie das Kalibrieren des Boards. Die Rate-PIDs sind die Basis auf der die gesamte Stabilisation aufbaut!

Also zuerst diese Werte einstellen:


Klicke auf die Grafik für eine größere Ansicht Name:	RateStabi.jpg Hits:	17 Größe:	22,4 KB ID:	118975,

dann die Attitude Stabilization „P“ anpassen, „I“ auslassen.

3) Was macht „P“, „I“ und „D“

P: „Proportional“
„P“ ist für das Nachsteuern/Korregieren eures Copters zuständig, während einer Bewegung auf der jeweiligen Achse.

I: „Integral“
„I“ ist für das halten des Winkels verantwortlich, ohne weiteren „Stick Input“

D: „Derivative“
„D“ dämpft die wirkung von P ab, damit das „einrasten“ in einem bestimmten Winkel nicht zu „hackig/grob“ ist.

4) Wie komme ich vom abgeschlossenen Setup Wizard zu den passenden PIDs für meinen Copter?

Vorab: Die PIDs werden im Manuellen Modus eingestellt, da der Copter sonst nicht ohne Input den Winkel hält. Wie oben schon erwähnt, hier nochmal: Die Rate-PIDs sind die Basis auf der die gesamte Stabilisation aufbaut!

Flugmodus: Rate, Rate, Rate/Axislock
Wäre hier „Stabilized 2“


-> Mit den Default PIDs sollte so gut wie jeder Copter schonmal schweben/fliegen können, ist dies nicht der Fall, „P“ bei Pitch und Roll soweit runterschrauben bis der Copter fliegbar wird.

Jetz gehts an „tunen“!
Also heben wir nun vor uns mit etwas Sicherheitsabstand ab und ermitteln dann:

P: „Proportional“
Nun fliegt man mit scharfen Knüppelbewegungen zuerst auf der Roll-Achse und dann auf der Pitch-Achse hin und her. „Wobbelt“ es hierbei beim ändern des Winkels auf einer Achse, so ist der P-Wert zu hoch gewählt – P also etwas runterschrauben, erneut fliegen…

-> knapp unterm „nachwobbeln“ ist P optimal gewählt. Angenommen euer Copter steuert bei „Roll P= 300“ noch minimal nach wenn ihr die Richtung ändert, dann wählt „Roll P=~280“ um in die richtige Richtung zu kommen.

Habt ihr nun für die Roll-und Pitchachse den P-Wert ermittelt (der bei einem „H-Quad“ auf der Pitch-Achse wie erwähnt höher als der „Roll-P“ sein sollte), gehts an den „I-Wert“

I: „Integral“
Da I zum halten der Ausrichtung/des Winkels zuständig ist, ist I dann perfekt gewählt, wenn der Copter ohne weiteren Steuerinput zu geben den Winkel hält.
Um das einzustellen geht ihr am besten dort hin, wo wirklich genug Platz ist. Stellt ihr den Copter nun auf der Roll-Achse schräg & lasst den Knüppel los, dann sollte er bei optimalen I-Wert diesen Winkel halten und NICHT selbst ausleveln/ weiter absacken.

Levelt der Copter von allein aus, dann muss der „I-Wert“ kleiner gewählt werden.
„Fällt“ der Copter immer weiter durch Schwerkraft in die Richtung die ihr gelenkt habt, dann muss der“I-Wert“ größer gewählt werden.

Diese Prozedur wird nun auch für die Pitch-Achse durchgeführt. Somit hätten wir unsere beiden „I-Werte“.

D: „Derivative“
Ist euch das „einrasten“ in den Winkel zu „starr/knackig“, jedoch KEIN wobbeln aufgrund von Überkorrektur(„P“ zu hoch), dann könnt ihr etwas P hinzugeben.
Grundsätzlich kann etwas D nie schaden, gerade auf der Pitch-Achse bei einem „H-Quad“ machts sich bemerkbar. Zwischen 0.000030 und 0.000055 sollte dieser ungefähr liegen.

->Und was ist mit den Yaw PIDs?


Die Defaults funktionieren meist sehr gut. Hier ist es aber genau das gleiche wie bei beiden anderen Achsen:

P: Steuert der Copter beim abrupten Yaw nach? Wenn ja, P zu hoch.
I: Hält der Copter die Yaw-Ausrichtung? Wenn nicht, I anpassen.
D: Rastet der Copter zu stark in die Yaw-Position ein? -> etwas D dazu.

Nun habt ihr die PIDs für Pitch/Roll und Yaw für euren Copter bestimmt. Diese Werte könnt (und werdet!) ihr noch weiter verfeinern. Das geschieht am besten beim aktiven Fliegen. Spürt ihr etwa das der Copter im Vorwärtsflug von allein nach unten pitcht/nickt, so wisst ihr nun das der „Roll I“ zu klein ist. Dies gilt natürlich für sämtliche Werte, egal ob P,I oder D.

Hier mal die Stabilisationswerte für meinen QAV250:



(FW: 15.02+Oneshot)

5) TPS – Thrust PID Scaling – Was ist das?

Seit dem Update Firmwareupdate 14.10 -Mini me- gibt es bei Librepilot nun die TPS Funktion.
Diese Bewirkt das die PIDs bei steigendem Gasinput heruntergeregelt werden.

Hier mal meine TPS Kurve vom 4S QAV250 Setup:


Sinnvoll ist es also wenn man seinen Copter an der obersten Grenze kurz vorm „wobbeln“ eingestellt hat, diese Funktion zu aktivieren.

Dazu wählt man bei Source „Actuator Desired Thrust“ und bei Targets „P and D“. Kein „I“, dieser Wert muss nicht geändert werden wenn er stimmt.

Mit der Kurve kann etwas herumgespielt werden, je „überpowerter“ euer Copter ist, desto eher sollte diese Kurve beginnen, und desto tiefer sollte sie enden. Auch diese ist vergleichbar mit den PIDs individuell für euren Copter, jedoch kein „must have“.
Fliegt der Copter auch ohne, fangt damit an rumzutesten sobald ihr verstärktes wobbeln bei hohem Gasinput bemerkt.

Mit freundlicher Genehmigung von PodRacer

Wer trotz dieser ausführlichen Anleitung so seine Probleme hat, kann natürlich meinen Service nutzen

Wenn dir das Projekt gefällt, habe ich natürlich nichts gegen eine kleine Spende.

 

Von heckmic

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.