APM PID's für Flächenmodelle

nique

Legal-LongRanger
#21
Danke für die aufbauenden Worte....
Dann müsste man wie in der realen Fliegerei den Baro-Offset während dem Flug anpassen können. Mit dem AC wäre das grundsätzlich möglich, jedoch müsste das ein Wert sein wie im richtigen Leben, dann könnte man auch die aktualisierten Werte vom Wetterdienst nehmen. Oder dann auch über die Groundstation einstellen.
Wenn das Innovation ist, wo müsste ich das einkippen?
 
Zuletzt bearbeitet:

kuvera

Erfahrener Benutzer
#22
Hi Severin,
...Habe einen 2,4m Super Sky Surfer/Cruiser mit Pixhawk und Arduplane 3.0.4 beta -> EKF ist an...
Hallo Yannick
Ich hab mal meinen Arcus ge-PID-tunded. Jetzt läuft er schon sehr anständig! Danke für die Hilfe.

Mein nächstes Sorgenkind ist nun die BigTurtle, auch dort hat das tunen sehr geholfen, aber 2 Dinge krieg ich noch nicht so richtig hin:
1. das Modell wackelt immer noch einiges, Es schaukelt sich zwar nicht auf, aber ein Gewackel bleibt. Wo muss ich drehen? Noch mehr I oder doch etwas D auf Roll? Hinweis - das Modell hat nur 1.25m Spannweite (also grad mal die Hälfte Deines Modelles ;-)
2. beim Steigflug bei Return to home oder auch bei Auto-Waypoints nach dem letzten Waypoint will das Modell immer viel zu Steil nach oben für den HOME-Point Loiter. Wie treib ich dem APM das aus?

Hier meine PID's der BigTurtle mit APM2.6:
pids.jpg
 

Yups

Erfahrener Benutzer
#23
Danke für die aufbauenden Worte....
Dann müsste man wie in der realen Fliegerei den Baro-Offset während dem Flug anpassen können. Mit dem AC wäre das grundsätzlich möglich, jedoch müsste das ein Wert sein wie im richtigen Leben, dann könnte man auch die aktualisierten Werte vom Wetterdienst nehmen. Oder dann auch über die Groundstation einstellen.
Wenn das Innovation ist, wo müsste ich das einkippen?
Gerne!

Ein vergleichendes Barometer könnte man z.B. mit dem MissionPlanner zusammen realisieren. Baro über eine serielle Schnittstelle an USB -> Laptop, mit dem MissionPlanner die Werte auslesen und über MavLink an den Flieger/Copter schicken.

Versuche dein Glück doch mal bei DIYDRONES, da tummeln sich zur Zeit noch die meisten Leute, oder direkt bei "drones-dicuss" google groups - dort sind hauptsächlich Entwickler und Spezis unterwegs.

@kuvera,

Schön, dass du erfolg hattest!

Eine große Rolle spielen immer die Servos und deren Anlenkungen. Zuerst solltest du schauen ob du Spiel in den Ruderhörnern hast, falls ja - das kann man nicht wegtunen ;-)

Kleine Modelle reagieren wesentlich schneller auf die Lenkeingaben. Ich würde da einfach mal probieren ob du mit dem D-Wert erfolg hast. D hoch bedeutet, dass die Regelung stärker auf kleine (= schnelle) Lageänderungen reagiert.
Falls du bissige Servos hast, kann es jedoch auch schon ein Aufschaukeln sein - ist schwierig das aus der Ferne zu beurteilen.
Der I-Wert ist der langsamste Teil der Regelung und führt eigentlich nur bei zu hohen Werten zu einem Aufschwingen.

Prinzipiell machst du aber so schnell nichts kaputt. Über manual bekommst du jederzeit wieder die volle Kontrolle über den Vogel. Im Gegensatz zum Copter ist das tunen also vieeeel ungefährlicher.

Um die Steigrate zu reduzieren musst du bei den TECS Werten was ändern. z.B. Climb Max auf 2,5 m/s.

--> fliegst du mit Airspeed?

Wenn ich mir so deine Werte anschaue, scheint der Vogel (65% Schub bei Reiseflug) recht schwach motorisiert zu sein. Von daher könntest du mit der niedrigeren Clim Max Geschwindigkeit erfolg haben. Ansonsten drehe den Navigationswinkel für Nicken (müsste Positiv für nach oben sein) etwas runter.
 

kuvera

Erfahrener Benutzer
#24
... Eine große Rolle spielen immer die Servos und deren Anlenkungen. Zuerst solltest du schauen ob du Spiel in den Ruderhörnern hast, falls ja - das kann man nicht wegtunen ;-)

Kleine Modelle reagieren wesentlich schneller auf die Lenkeingaben. Ich würde da einfach mal probieren ob du mit dem D-Wert erfolg hast. D hoch bedeutet, dass die Regelung stärker auf kleine (= schnelle) Lageänderungen reagiert.
Falls du bissige Servos hast, kann es jedoch auch schon ein Aufschaukeln sein - ist schwierig das aus der Ferne zu beurteilen.
Der I-Wert ist der langsamste Teil der Regelung und führt eigentlich nur bei zu hohen Werten zu einem Aufschwingen.

Um die Steigrate zu reduzieren musst du bei den TECS Werten was ändern. z.B. Climb Max auf 2,5 m/s.

--> fliegst du mit Airspeed?

Wenn ich mir so deine Werte anschaue, scheint der Vogel (65% Schub bei Reiseflug) recht schwach motorisiert zu sein. Von daher könntest du mit der niedrigeren Clim Max Geschwindigkeit erfolg haben. Ansonsten drehe den Navigationswinkel für Nicken (müsste Positiv für nach oben sein) etwas runter.
Hallo Yannick

1. D werde ich also noch weiter hoch schrauben! In welchen Steps gehe ich hier KEIN Risiko ein? Verstehe ich das richtig, dass grundsäzlich bei der Erhöhung der D-Werte schon ein Aufschwingen stattfinden könnte, oder?
2. Es sind bissige sehr schnelle Digitalservos drin mit grundsätzlich viel Ausschlag und grosser Ruderflächen bei wenig Spannweite.
Erstaunlich ist einfach, dass es mehr "kippelt" als ohne Steuerung. Ich nehme daher schon an, dass es ein Anteil Aufwieden ist, aber immer im Rahmen, d.h. die Schwingbewegung wird nicht grösser. Ich hoffe, ich kriege ich das Aufschwingen mit dem I-Wert noch weg.
3. Motorisierung: Das Modell kann fast senkrecht, daher ists nicht sooo schlimm mit der Motorisierung. 65% ist einfach ein Versuch.
4. Ja ich fliege mit Airspeed-Sensor.
5. Ok, ich mach mal den Climb Max auf 2.5m/s, kann ja nicht schaden.

und zuletzt: kein Ruder-Spiel, auch nicht einwenig ;)

Danke & Gruss, Severin
 

kuvera

Erfahrener Benutzer
#25
Hallo Yannick

Deine Tipps waren der Schlüssel zum Erfolg

Ich hab nun nochmals weiter 4h geflogen und getunt.
Mit dem D-Wert hab ich nun sämtliches Gewackel ausglätten können. Super cool.
Weiter hab ich den L1-Controll ziemlich zugeschnürt, und damit ist nun eine erstaunlich exakte Spurgenauigkeit möglich. Die Wegpunkte fliegt er nun sehr sehr genau.

Was mir noch ich soo passt, ist der FBWA. Irgendwas stimmt hier noch definitiv nicht.
Wenn ich Kurven fliege, dann veliert er irgendwie die "Level"-Position. D.h. jene Position, wo das Modell gerade liegt. Gar nicht gut.

Wenn ich auf "Stabilize" switche, dann geht er dann sofort wieder in die Gerade. Also weiss er "eigentlich" was gerade ist. Sehr komisch.

Und - es trifft nur bei FBWA auf, bei AUTO (Waypoints) passiert das nicht!

Any help? Gruss, Severin
 

Yups

Erfahrener Benutzer
#26
Hi!

Klingt doch gut! Hab deinen Post davor irgendwie übersehen, aber es hat ja auch so geklappt :)

Ich hoffe mal das hilft auch anderen. Zum Tuning der Coptersteuerung gibt es ja mittlerweile ne Menge Wissen hier um Forum, zum Flieger leider nicht.

Zu dem Level weiss ich gerade auch nichts. Hast du vielleicht TRIM_AUTO an? ... ich fliege eigentlich nur FBWA, gar kein STABILIZE und habe so ein Phänomen noch nicht gehabt.

Viel Spass beim Fliegen! Bei uns ist seit 2 Wochen nicht daran zu denken. Entweder Regen, viel Wind oder beides...

Grüße
Yannick
 

kuvera

Erfahrener Benutzer
#27
Hallo Yannick

Ich haben nochmals etwas gelesen, und ich hab irgendwie das Gefühl, dass ich dennoch zu hohe I-Werte habe.

"Integrator Gain (RLL2SRV_I)
This is the gain from the integral of bank angle to aileron. Increasing this gain causes the controller to trim out steady offsets due to an out of trim aircraft."

Ich bin fast bei 0.8 bei diesem Wert (max = 1.0 ) und was passiert? Bei lang anhaltenden Kurven (nicht kurzen Ausschlägen) in FBWA übernimmt der APM nun die Schräglage als neuen Neutralwert. Gar nicht gut, aber genau wie oben in den APM-Parametern beschrieben. Darum, ich hab wirklich das Gefühl, dass ich zuviel I habe.

Was meinst Du?

Gruss, Severin
 

Yups

Erfahrener Benutzer
#28
Hallo Severin,

das Zitat aus dem Wiki kann ich nun nicht ganz mit deiner Überlegung verbinden. Ich wüsste nicht, warum der I-Anteil der Regelung eine dauerhaften Fehler verursachen sollte - grundsätzlich sollte er ihn eher vermeiden. Falls I zu hoch ist, wirst du eher ein langsames Schwingen des Fliegers beobachten.
Aber ich will mich hier wirklich nicht allwissend präsentieren und bin auch eher dafür das Praxisnahe erforschen. Bevor du dir lange Gedanken machst, setze den I-Wert für Roll doch einfach mal auf die Hälfte. Falls es da einen Zusammenhang gibt, solltest du eigentlich eine Reaktion merken.

Kannst du vielleicht nochmal deine aktuellen Einstellungen posten?

Hier nochmal du grundlegende Funktionsweise eines PID Reglers für die Lageregelung für alle Mitlesenden, das gilt genauso für den Kopter:

Kopter/Flieger steht 5° Schräg (bezieht sich jetzt nur auf eine achse) und der Controller möchte den Kopter/Flieger wieder in die Neutrallage bringen.
In der Controllersoftware läuft die Regelschleife mit 50Hz, also 50mal pro Sekunde wird der Sensor ausgelesen und 50 mal pro Sekunde wird daraus ein neuer Steuerungswert berechnet.

(vereinfacht)
P-Anteil:
5° x P-Wert = Regelwert der an den Servo/Motor geschickt wird (linearer Zusammenhang)

D-Anteil:
5°/t x D-Wert = Regelwert der zu dem P-Anteil addiert wird -> Je schneller der Kopter/Flieger 5° schräg steht, desto größer der Regelwert -> hier spielt die Geschwindigkeit eine Rolle, besonders bei kleinen Fliegern/Koptern entscheidend

(t = time, also die Zeit)

I-Anteil
5° x t x I-Wert = Regelwert der zu dem P und I-Anteil addiert wird -> Je länger der Kopter/Flieger 5° schräg steht, in Folge von Wind, falscher Trimmung oder Gewichtsverlagerung, desto größer der Regelwert


Ein zu hoher P und D-Wert führt in der Regel zu einem hochfrequenten aufschaukeln, ein zu hoher I-Wert zu einem niederfrequenten Aufschaukeln des Kopters/Fliegers. Zu niedrige P und D-Werte führen ebenfalls zu einem aufschaukeln, aber relativ langsam. Man hat dann normalerweise kein direktes Steuergefühl.

Beim Flieger (sofern es kein Nuri ist) sollte man auch unbedingt den YAW I-Anteil hochdrehen, damit ein konstanter Seitenwind ausgeglichen werden kann.

Vielleicht hilft es ja dem ein oder anderen ;-)


Viele Grüße
Yannick
 

kuvera

Erfahrener Benutzer
#29
Hallo Yannick

Danke für Deine Ausführungen.

Ich zitiere nicht wiki, sonder die offiziellen AMP Arduplane Parameterbeschreibungen.
Zu finden hier:
http://plane.ardupilot.com/wiki/arduplane-parameters/#Integrator_Gain_RLL2SRV_I

"..,Increasing this gain causes the controller to trim out steady offsets due to an out of trim aircraft"
Und soweit meine english-Kenntnise reichen, trifft diese Parameterbeschreibung exakt auf das Verhalten zu, welches ich bei FBWA erlebe, denn durch die langgezogene Kurve interpretiert der APM die Kurve als out of trimed Aircraft...
Falsch überlegt?

So ich probiere es sicher mal, den I-Wert zu verringern....

Gruss, Severin
 
Zuletzt bearbeitet:

Yups

Erfahrener Benutzer
#30
Okay, das ist für mich die ardupilot wiki ;-)

Ich glaube ich kann deine Überlegung jetzt verstehen. Bin mal gespannt was dabei rauskommen wird.

Gegenargument: Wenn du die Kurve fliegst, erreicht der Flieger ja den Sollwert, es sollte also keine Winkelfehler geben. Warum sollte sich dann der I-Wert so auswirken?
Also Praxisgerecht: Du steuerst leicht Roll und möchtest eine Schräglage von 10°. Aufgrund des hohen P-Anteils erreicht der Flieger schnell die gewünschte Schräglage. Sollwert - Istwert = 0, alles gut.

Aber probiere ruhig mal aus, die ganze Lageregelung ist ja noch ein wenig aufwendiger - vielleicht spielen noch andere Dinge mit rein...

Grüße
Yannick

Edit:
Note that STABILIZE mode is not a good mode to use for tuning the control loops. You are far better off using FBWA for that.

http://plane.ardupilot.com/wiki/flying/flight-modes/#STABILIZE

Es wäre besser, wenn du das Tuning nur im FBWA Modus machst. STABILIZE scheint wohl anders auf die Regelung zu reagieren ...

Roll.jpg

Du kannst sehr gut den Log Browser verweden (im MissionPlanner) um die Regelung zu überprüfen. Im Bereich CTUN findest du NavRoll und Roll (Soll- und Istwert). Wenn du dir beide Werte anzeigen lässt, kann man schön sehen ob es Überschwinger gibt, hochfrequente Oszillierungen oder auch eine konstante Differenz (I = 0, hatte ich am Anfang). Das sind die Ergebnisse meines letzten Flugs, von dem ich auch die Settings gepostet habe.

Für den trägen Flieger ist das schon okay. Der Idealfall wären zwei deckungsgleiche Linien, die natürlich nicht zu erreichen sind.
 
Zuletzt bearbeitet:

kuvera

Erfahrener Benutzer
#31
...mein Yaw ist noch immer nicht zufriedenstellend in langen Kurven.
Warscheinlich schiebt es bei meinem unkonventionellen Flieger "den Arsch zuweit zur Seite", was dann als Side-Slip statt als Seitenruderwirkung interpretiert wird, statt als saubere Seitenruder-Bewegung....

Ich probier eine mechanische Differenzierung der Seitenruder (thematisch analog zur Probematik Querruderdifferenzierung).
 
Zuletzt bearbeitet:

kuvera

Erfahrener Benutzer
#32
...hat jemand eine Idee, an welchem Parameter ich schrauben muss, wenn der Arduplane immer beim Eindrehen auf die Linie zu nächsten Wegpunkt zuerst mal übeschiesst und erst nach der Korrekturkurve auf den korrekten Track findet?
 

kuvera

Erfahrener Benutzer
#34
....hab glaub grad gesehen, was der Fehler war. Ich hab einen viel zu kleinen Wert beim L1 drin gehabt (das ist der STEER2SRV_P), d.h. der versuchte eine unrealistisch enge Kurve zu machen. Ein Wendekreis, der gar nicht möglich war mit diesem Airframe. Im Wiki steht ja

"Steering turning gain (STEER2SRV_P)
The proportional gain for steering. This should be approximately equal to the diameter of the turning circle of the vehicle at low speed and maximum steering angle"

Und mein Wert war definitiv kleiner als der Durchmesser des potentiell engsten Kreises....

Danke für den Tipp!!
 
FPV1

Banggood

Oben Unten