Cleanflight PID-Controller

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • TheKiter
    Senior Member
    • 06.12.2010
    • 1695
    • Frank
    • Duisburg

    #1

    [Sonstige] Cleanflight PID-Controller

    Ich hab ja nun meinen ersten selbstkonfigurierten WarpQuad fertig (Infos dazu siehe hier) und habe mich heute durch Cleanflight und zig Video/Infos durchgehangelt bezüglich der verchiedenen Einstellungen, besonders hinsichtlich der unterschiedlichen PID-Controller und deren individuellen Einstellwerten und bin leidlich gefrustet.

    Was ich (fliegerisch) will, sind schnelle Flips, Rollen, Loops, halt das ganze Programm so ähnlich wie in den Warthox oder quadmovr-Videos (naja, ob ich deren Perfektion erreiche wage ich zu bezweifeln). Dafür habe ich mir den Quad gebaut (also kein FPV, kein originärer RaceQuad, da sind die Einstellungen sicher anders). Fliegen will ich aber im Moment außschließlich im Horizon-Modus, Acro beherrsche ich trotz leidlicher Heli-Erfahrung am Copter irgendwie nicht so gut, das liegt mir hier gar nicht (mit dem 550er Heli fliege ich flotten Rundflug mit Turns und Loops relativ sicher und zumindest ohne Crash bisher).

    Begonnen habe ich mit dem Controller 0, mit RC-Rate von 1,0 und Roll-Pitch-Rates ab 0,6 aufwärts gelingen da zumindest Flips halbwegs, größere Rates als 0,7 hab ich mich noch nicht getraut, teste gerade im Garten, der ist nicht so groß.
    Mir wurde aber "geraten", auf Controller 1 (MultiWii rewright) zu wechseln, da dort die Drehraten unabhängig von den PIDs sind, ok, probiert. Der Copter fliegt mit sonst unveränderten Einstellungen auch, nur der Horizon-Mode stabilisert gar nicht merkbar, im Angle-Mode ist er dazu kaum fliegbar, alle Stick-Moves kommen extrem direkt am Copter an. Also wieder gelesen, diesmal in der Original Cleanflight Doku zum Thema PID-Tuning. Dort steht dann auch was zu den Parametern, die das Auto-Level beeinflussen. Ich habe dann die Paramter Level_P auf die empfohlenen 2.0 (=20) reduziert und für Level_I und Level_D ebenfalls die empfohlenen Werte eingetragen (0,03 und 0), Ergebnis: im Angle-Mode gehts jetzt wieder ruhiger zu, im Horizon-Mode aber immer noch keine merkbare Stabilisierung. Der Level_D Parameter ist mir im Englischen Original nicht ganz klar, also mal das andere Extrem (255) ausprobiert, ich merke da kaum einen Unterschied.
    Fazit soweit: Mit Level_P auf 4.0 (=40) geht Angle ganz gut, Stabilisierung ist gut, Ansprechverhalten auch, im Horizon bekomme ich eine merkbare Stabilisierung nur hin, wenn ich Level_I auf nahe Maximum (=0.255) hochschraube, dann gelingen mir aber keine Flips, weil er sobald ich Roll-Stick nicht mehr auf Vollausschlag habe sofort irgendwas stabiliserendes macht, der Copter schaukelt sich aber auf und das hat direkt zwei Props gekostet.
    Alle übrigen PID-Controller führen bei mir zu keinem stabilen Flugverhalten, auch wenn ich die Hinweise und Einstellungen im Cleanflight Dokument einhalte. Der Copter ist schon im Acro-Modus "zittrig", da stimmen dann wohl die PID-Parameter gar nicht mehr.

    Ich würde gerne einen der "moderneren" PID-Controller nutzen, hier fehlen mir aber scheinbar die richtigen Einstellungen. Kann jemand Licht ins Dunkel bringen?
    Mein "Flughafen" steht in meinem Profil
    FSC Duisburg Rheinhausen
  • shiman
    Member
    • 21.08.2006
    • 643
    • norbert
    • Wildflieger Mannheim

    #2
    AW: Cleanflight PID-Controller

    Vielleicht hilft dir das weiter.

    Mir hat es sehr geholfen.

    PID-Regler eines Quadrocopters richtig einstellen
    Grüße Norbert
    Wildflieger Mannheim
    FPV Racing Team Flying Dragons Kurpfalz

    Kommentar

    • fftunes
      Senior Member
      • 21.09.2014
      • 1564
      • Fabi

      #3
      AW: Cleanflight PID-Controller

      Hab ausser Controller 1 nur mal kurz den Harakiri ausprobiert... im Vergleich zu den default-PID musste ich mit P auf rund die Hälfte runter (2-2.5), um mal testfliegen zu können. Hab dann aber nicht länger dran 'rumgemacht.

      Forummember sixchannel hat hoffentlich noch ein paar Tipps zum Luxfloat-Controller, der soll gut sein

      Kommentar

      • TheKiter
        Senior Member
        • 06.12.2010
        • 1695
        • Frank
        • Duisburg

        #4
        AW: Cleanflight PID-Controller

        Da ich ja im Moment im Urlaub verweile, hatte ich auch etwas Zeit, zu lesen. Die Probleme, die ich beobachtet habe, sind in Cleanflight bekannt, es gibt mehrere Pull-Requests dazu und eine geänderte Fassung für den Horizon-Mode in der Pre-Release 1.9.0 (ich habe 1.8.1 auf dem Board).
        PID Controller 1 empfand ich etwas "knackiger" im Ansprech- und Regelverhalten, aber ohne funktionierenden Horizon-Mode ist das nicht nutzbar für mich. Bei den übrigen Contollern muss man teilweise schon erheblich an den PID-Werten spielen, damit die gut laufen, dazu habe ich jetzt keine Lust. Die Diskussionen sind aber schon recht interessant (für einen interessierten Menschen), natürlich alles auf Englisch.

        Ich bin wieder auf Controller 0 gewechselt und hab meine Rates jetzt so angepasst, dass er ganz brauchbar fliegt und auch schön schnell flipt (RC-Rate auf 1.0, Expo auf 0.35, R/P-Rate auf 0.7, kein TPA). Als nächstes werde ich jetzt erst mal OneShot aktivieren, das soll ja das Ansprechverhalten noch mal deutlich verbessern (auch wenn das jetzt schon nicht schlecht ist), mal sehen, was das bringt.

        Andere Controller werde ich dann noch mal ausprobieren, wenn die 1.9.0 released ist und ich verstanden habe, was die da im Detail verändert haben, noch begreif ich da nicht alles. Der Quellcode ist mir zu hoch, C habe ich nicht gelernt, rudimentär kann ich da erkennen, was passiert, im Detail muss ich passen und ohne da rein zu schauen, hat man kaum eine Chance, zu verstehen, was die Entwickler gerade meinen und machen.

        Controller 2 (Luxfloat) werde ich mit anderen P-Parametern noch mal probieren, der sieht mir von der Programmierung am saubersten aus.
        PID-Parameter zu erfliegen ist halt sehr müssig, wenn man jedesmal landen muss, um Parameter zu ändern. Werd mich auch noch mal bei Gelehenheit mit dem In-Flight-Tuning beschäftigen, die Möglichkeiten sind ja nahezu unbegrenzt. Jetzt wird aber erst mal geflogen, Fein-Tuning kann man auch im Winter machen .

        @shiman: Danke für den Link und den Hinweis, aber es ging mir nicht um die Einstellung der Regler sondern um einen - wie jetzt ermittelt - Bug im Horizon-Mode für Controller 1, der ist eben für Acro optimiert und da funktioniert er auch super (besser als Controller 0).
        Mein "Flughafen" steht in meinem Profil
        FSC Duisburg Rheinhausen

        Kommentar

        • phiphi
          Senior Member
          • 01.12.2009
          • 3974
          • Philipp
          • Beromünster ( LU ) CH

          #5
          AW: Cleanflight PID-Controller

          Hallo

          Zitat von TheKiter Beitrag anzeigen
          Als nächstes werde ich jetzt erst mal OneShot aktivieren
          Das hab ich am Naze32 mit den Afro ESC`S auch gemacht, mit oder ohne OneShot - das sind Welten ! Ich hätts nie geglaubt.

          Wichtig ist, das deine ESC das vertragen und die passende Software ( BLHeli ) auf den ESC drauf ist. Weiter ist es wichtig, das du reine n-FET ESC`s verwendest, die anderen rauchen sofort ab mit aktivem Oneshot.

          Grx Phi

          Edit: Du hat KISS ESC - alles super, zu spät gelesen...

          Ich wäre lieber am fliegen...

          Kommentar

          • TheKiter
            Senior Member
            • 06.12.2010
            • 1695
            • Frank
            • Duisburg

            #6
            AW: Cleanflight PID-Controller

            Zitat von phiphi Beitrag anzeigen
            Das hab ich am Naze32 mit den Afro ESC`S auch gemacht, mit oder ohne OneShot - das sind Welten ! Ich hätts nie geglaubt.
            Also meine Kiss laufen jetzt auch problemlos mit OneShot, hab aber noch weitere Fragen, die stelle ich aber hier, da sie in diesem Controller-Thread eigentlich nichts zu suchen haben.
            Mein "Flughafen" steht in meinem Profil
            FSC Duisburg Rheinhausen

            Kommentar

            • fftunes
              Senior Member
              • 21.09.2014
              • 1564
              • Fabi

              #7
              AW: Cleanflight PID-Controller

              Ich zitiere hier nochmal sixchannel's Luxfloat-setup, daran kann man sich gegebenenfalls orientieren. Aber Achtung, die Roll/Pitch rate ist vermutlich schon IRRE hoch...

              Zitat von sixchannel Beitrag anzeigen
              Meine Pid sind so.

              Hammer v3 cobras 1960kv 2204 4s
              Gemfan Nylon verstärkt 6045

              Naze32 acro

              roll & pitch

              P 1,6 I 0,030 D 0,30

              YAW

              P 5,5 I 0,015 D 0

              Roll pitch rate 0,60
              Yaw rate 0,28

              Rc rate 1,10
              Expo 0,60

              Das ganze fliegt obergeil geschmeidig

              Kommentar

              • sixchannel
                Senior Member
                • 10.11.2011
                • 3258
                • Paul
                • Pfaffstätten

                #8
                AW: Cleanflight PID-Controller

                Zitat von fftunes Beitrag anzeigen
                Ich zitiere hier nochmal sixchannel's Luxfloat-setup, daran kann man sich gegebenenfalls orientieren. Aber Achtung, die Roll/Pitch rate ist vermutlich schon IRRE hoch...
                Danke, um das ganze zu zähmen. Einfach weniger rc rate. Zb 0.90 oder 1.00. Dazu Expo auf 0.70 auch roll und pitch rate kann man etwas verkleinern. So Zb 0,40

                Kommentar

                • TheKiter
                  Senior Member
                  • 06.12.2010
                  • 1695
                  • Frank
                  • Duisburg

                  #9
                  AW: Cleanflight PID-Controller

                  Hab ich gerade mal eingestellt und ausprobiert, fliegt gut, große Unterschiede merke ich nicht (zu Controller 0). Hab mal Looptime auf 1250 gesetzt, auch da merke ich kaum einen Unterschied zu den 2000 von vorher, oder ich bin zu blöd, das zu merken .
                  Zumindest funktionieren Angle und Horizon.

                  Hab noch ne kleine Frage zu den ganzen Throttle-Werten, das verwirrt mich auch noch etwas:
                  In der Funke sind bei mir ALLE Wege (bis auf AUX) auf 1000-2000 eingestellt, auch Throttle. Ich hab nun
                  MIN_CHECK = 1050
                  MIN_THROTTLE = 1075
                  MID_RC = 1500
                  MAX_THROTTLE = 1925
                  MAX_CHECK = 1950

                  Kann ich das so lassen, ich lese immer was von 1150/1850 für MIN/MAX_Throttle, hab das erhöht, weil ich denke, man verliert damit was an Gas, oder?
                  Mein "Flughafen" steht in meinem Profil
                  FSC Duisburg Rheinhausen

                  Kommentar

                  • Schöni
                    Schöni

                    #10
                    AW: Cleanflight PID-Controller

                    Zitat von TheKiter Beitrag anzeigen
                    Hab noch ne kleine Frage zu den ganzen Throttle-Werten, das verwirrt mich auch noch etwas:
                    In der Funke sind bei mir ALLE Wege (bis auf AUX) auf 1000-2000 eingestellt, auch Throttle. Ich hab nun
                    MIN_CHECK = 1050
                    MIN_THROTTLE = 1075
                    MID_RC = 1500
                    MAX_THROTTLE = 1925
                    MAX_CHECK = 1950

                    Kann ich das so lassen, ich lese immer was von 1150/1850 für MIN/MAX_Throttle, hab das erhöht, weil ich denke, man verliert damit was an Gas, oder?
                    Das würde mich auch sehr interessieren, was dazu gesagt/erklärt wird, weil genau das verwirrt mich auch noch!

                    Wichtig für dieses Thema wäre auch noch wie du deine Regler angelernt hast, also mit 1000-2000 oder 1075-1925 (Kommt ja drauf an, ob Du beim anlernen der Regler Min_ und Max_Throttle schon auf 1075-1925 hattest!)?
                    Zuletzt geändert von Gast; 01.06.2015, 15:32.

                    Kommentar

                    • sixchannel
                      Senior Member
                      • 10.11.2011
                      • 3258
                      • Paul
                      • Pfaffstätten

                      #11
                      AW: Cleanflight PID-Controller

                      Hallo, habe heute ein bullnose prop Profil erflogen.

                      naze 32
                      Controller 2 luxfloat
                      Regler thro min-max 1000-1950 mit oneshot
                      damped mode low
                      Cobra 2204 1960kv an 4s

                      Hammer v3

                      P roll pitch 2.0 I 0,034 D 0
                      Yaw P 6 I 0,030 D 0

                      Rc rate 1,10 Expo 60

                      TPA 0,10

                      Das ganze is super smooth und keinerlei aufbäumen über Yaw. Der copter dreht bei Geradeausflug schön um die eigene Achse ohne wegkippen zu drohen. Das erlaubt schnelle geradeaus Flüge apprupt zu stoppen mit einer Kehrwende

                      Mfg Paul

                      Kommentar

                      • TheKiter
                        Senior Member
                        • 06.12.2010
                        • 1695
                        • Frank
                        • Duisburg

                        #12
                        AW: Cleanflight PID-Controller

                        Hi,
                        stell meine Frage hier auch noch mal rein, habe ich auch schon in meinem Eigenbau-Thread, aber hier wird mir vielleicht schneller geholfen.

                        Hab heute mal auf 5040er Props gewechselt, mit Controller 0 und Standard-PIDs werden 2 der vier Motoren leicht warm, die anderen sind kalt, mit Controller 2 und PIDs von sixchannel (hier gepostet) werdne die beiden gleichen Motoren HEISS, die anderen bleiebn kalt. Bis auf ein leichtes zittern merke ich in der Luft nichts, keine Tendenz zum Wegdrehen oder so. Mit den 5030ern war das mit gleichen Einstellungen definitiv nicht so.

                        Was habe ich geändert? Meine Min/Max-Werte von oben eingesetzt bei 1000-2000 Ausgang auf ALLEN Kanälen in der Funke und Looptime=1400 gesetzt, damit und den 5030 flog er gestern "normal" und unterschiedlich warme Motoren sind mir nicht aufgefallen.

                        Weiß jemand dazu was? sixchannel?
                        Mein "Flughafen" steht in meinem Profil
                        FSC Duisburg Rheinhausen

                        Kommentar

                        • sixchannel
                          Senior Member
                          • 10.11.2011
                          • 3258
                          • Paul
                          • Pfaffstätten

                          #13
                          AW: Cleanflight PID-Controller

                          Zitat von TheKiter Beitrag anzeigen
                          Looptime=1400 gesetzt,
                          Bist du dir sicher mit deiner Looptime?

                          3500 - 286Hz 3000 - 333Hz 2500 - 400Hz 2000 - 500Hz 1600 - 600Hz

                          Changing looptime will have an effect on your PID values, so don-t expect everyting will just magically get better if you reduce looptime, you will still need to re-tune PID. Generally lower looptime allows higher PID gains. A low looptime*should make the copter more sensitive and responsive, but more affected by vibrations.

                          A common value is around 2500 for most multicopters. That-s because most ESCs have a maximum update rate of 400Hz. Some ESCs even have 600Hz update rate so looptime can be set at 1600. Some argue if the looptime is faster than the max ESC update rates, there is no point to lower looptime further as it won-t have any effect on it. Some even suggest it would result in syncing issues.

                          Kommentar

                          • TheKiter
                            Senior Member
                            • 06.12.2010
                            • 1695
                            • Frank
                            • Duisburg

                            #14
                            AW: Cleanflight PID-Controller

                            Ja, bin ich, mit den 5030ern flog er damit auch problemlos und ruhig. Ich habe OneShot125 aktiviert, Regler sind KISS (mit Lötbrücke natürlich). Das sollte mit OneShot125 doch gehen, oder? Hab schon Beiträge gelesen, wo Looptime auf 1200 gesetzt wurde, ohne beschriebene Probleme (Controller 0, der ist etwas schneller). Mit Controller 2 und Looptime=0 pendelt meine Zykluszeit zwischen 1240 und 1300, da wäre mit 1400 ja noch Reserve und die ESCs im OneShot125 sollten das doch auch mitmachen, hier liegt die theoretische Rate doch höher durch die schnellere Datenannahme.

                            Zum Thema unterschiedlich heißer Motoren weiß keiner was? Der Unterschied war sehr deutlich bei den 5040ern.
                            Mein "Flughafen" steht in meinem Profil
                            FSC Duisburg Rheinhausen

                            Kommentar

                            • sixchannel
                              Senior Member
                              • 10.11.2011
                              • 3258
                              • Paul
                              • Pfaffstätten

                              #15
                              AW: Cleanflight PID-Controller

                              Zitat von TheKiter Beitrag anzeigen
                              Ja, bin ich, mit den 5030ern flog er damit auch problemlos und ruhig. Ich habe OneShot125 aktiviert, Regler sind KISS (mit Lötbrücke natürlich). Das sollte mit OneShot125 doch gehen, oder? Hab schon Beiträge gelesen, wo Looptime auf 1200 gesetzt wurde, ohne beschriebene Probleme (Controller 0, der ist etwas schneller). Mit Controller 2 und Looptime=0 pendelt meine Zykluszeit zwischen 1240 und 1300, da wäre mit 1400 ja noch Reserve und die ESCs im OneShot125 sollten das doch auch mitmachen, hier liegt die theoretische Rate doch höher durch die schnellere Datenannahme.

                              Zum Thema unterschiedlich heißer Motoren weiß keiner was? Der Unterschied war sehr deutlich bei den 5040ern.
                              Doch, setze Bitte deine looptime mal auf 2000-2100 von Freunden und berichten siehe unten. Funktioniert dass am besten.

                              Ich würde es probieren Du bewegst dich da zwischen synchron Problemen denke ich.
                              The 1300 looptime idea is total hogwash and even the person who came up with the idea is no longer doing it. There is no benifit to making the FC calculate faster than the speed of the esc, in fact it's bad as it's increases error in the control loop. The kiss ESC's run at 500 htz so there is no point in going below a looptime of 2000. That is what I use and have found good success.*

                              With all the other questions, treat the kiss ESC's just like a normal esc as it operates the same.
                              Zuletzt geändert von sixchannel; 01.06.2015, 21:08.

                              Kommentar

                              Lädt...
                              X