PID Tuning bei Openpilot, So wirds gemacht!

 

Da es vielen wohl extrem schwer f√§llt ihre Openpilot 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 OpenPilot 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 Openpilot 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 Openpilot 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.

 

 

Kommentare   

0 #4 Philipp 1 2016-05-31 14:05
Vielen Dank :-)
Aber wie heißt denn die RC-Rate bei Openpilot?
Dem Administrator melden
0 #3 Florian 2016-04-09 16:56
Mahlzeit.
Habe meine cc3d openpilot in Betrieb genommen. Flug ist ruhig und f√ľr mich als Anf√§nger gut.
Habe mir dann die flugmodis vorgenommen. ..Auch alles ziemlich einfach mit op.
Das Problem ist das nach dem Akku wechseln alles programmierte verschwunden ist. Bin da ratlos...
Hab was im www gefunden das man disarmen soll ...Sonst werden die Werte nicht gespeichert.
Bin f√ľr jede Hilfe dankbar da mich dieses Hobby fesselt
Dem Administrator melden
0 #2 valentin 2015-08-23 08:03
:lol: :lol: :lol: :lol: :lol:
Vielen dank f√ľr die INFOS.
die sind auch super zusammengefasst und erklären die themen SUPER.
vielen vielen dank solche leute kommen in den himmel (und das sagt jmd der keinen glauben hat haha)
Gr√ľ√üe Valentin
Dem Administrator melden
+2 #1 matze 2015-04-11 11:56
hallo kann man nicht die werte I und D auf Pitch und Roll auf 0 stellen zum einfliegen des P wertes?


hätte mir das fpv copter fieber nicht so langwierig vorgestellt!



meiner is nur unruhig wobbelt nicht mehr aber korregiert wohl zu langsam und fliegt hin wo er will

gr√ľ√üe,

Matze
Dem Administrator melden

Kommentar schreiben

Sicherheitscode
Aktualisieren