Der Hype um immer schnellere Regelschleifen (Looptime) bei Flightcontrollern ist ungebrochen. Dabei war ich der Meinung bei 8kHz wird wohl Schluss sein, weil selber konnte ich ab 1kHz schon keinen Unterschied mehr fühlen. Nun geht es weiter bis 32kHz. Aber was ist wirklich dran an den aktuellen Betaflight und Cleanflight kompatiblen Flightcontrollern?
Ist das nur geschicktes Marketing oder gibt es echt einen nachweisbaren Grund für die bessere Performance. Tja, das Nachweisbare fehlt im Moment noch. Mir sind zumindest keine Daten oder Fakten bekannt die das belegen würden. Also habe ich mich selbst daran gemacht es zu berechnen.
Zahlen sagen einfach die Wahrheit, da gibt es keinen Placeboeffekt.
Performance:
Wie bewertet man aber die Performance? Nun, da halte ich mich an die Argumentation der Befürworter. Die behaupten ja, dass sie mit kürzeren Loopzeiten die PIDs erhöhen können und damit ein knackigeres Verhalten, also schnellere Einschwingzeit bekommen. In einem ersten Schritt wird also die Verbesserung der Stabilität bei kleinerer Looptime berechnet. Danach die PIDs erhöht, bis wieder die gleiche Stabilität erreicht ist und dann die Einschwingzeit der beiden Loopzeiten mit gleicher Stabilität verglichen.
Zur Stabilität:
Die Stabilität einer Regelschleife wird üblicherweise mit dem Phasenrand bewertet. Weil sich aber die wenigsten unter Phasenrand irgend etwas vorstellen können, werde ich hier die Stabilität durch die Höhe des Überschwingers bei der Sprungantwort bewerten. Je höher der Überschwinger desto instabiler die Regelschleife. Als Beispiel für die Berechnung nehme ich einen üblichen 4s Racecopter mit ca. 500 Gramm Abfluggewicht.
Es wurden die Sprungantworten bei 4kHz und 8kHz Loop berechnet. Das Ergebnis ist in folgender Grafik eingezeichnet (rot=4kHz, blau=8kHz). Wie man sieht, sieht man nicht viel. Der Unterschied im Überschwinger ist nur 0.7%, in der Grafik gerade noch zu sehen. Wer da behauptet, er könne das im Flug fühlen, der hört auch das Gras wachsen.
Delta zwischen 4kHz und 8kHz nur 0.7%
Eigentlich könnte ich mir jetzt die restliche Rechnung sparen, denn was soll da noch überraschendes heraus kommen. Aber spielen wir es bis zum bitteren Ende durch. Der Überschwinger bei 4kHz ist 10.4% und bei 8kHz ist er 9.7%. Ich konnte die PIDs bei 8kHz nur um 1.5% erhöhen um wieder auf 10.4% Überschwinger zu kommen. So kleine Schritte kann ich bei meinem realen Copter gar nicht einstellen. Wie sieht es nun mit den Einschwingzeiten aus: Berechnet wurde die Verzögerungszeit bis die Sprungantwort 50% erreicht hat.
Herausgekommen ist:
- 0.009266 s für 4kHz Loop
- 0.009206 s für 8kHz Loop
Übrig bleibt eine Verbesserung von 60μs für die 8kHz Loop. Wenn man das in Relation zur gesamten Latenzzeit beim FPV-Fliegen sieht, also inklusive Videoübertragung und Fernsteuerung (insgesamt ca. 40-80ms), dann liegen da 3 Zehnerpotenzen dazwischen. Wer soll da noch einen Unterschied fühlen können?
Fazit der hohen Looptime:
Man sollte nicht alles glauben was einem in der FPV Racer Szene vorgesetzt wird.
Da steckt jetzt auch schon eine Menge Kommerz drin. Wer aber meinen Zahlen nicht traut, der sollte zumindest eigene Tests durch führen, bevor er viel Geld für neue Hardware ausgibt. Nochmal einen Schritt zurück (z.B. von 4kHz auf 2kHz) gehen und vergleichen. Dabei Filter und PIDs gleich lassen, sonst weiß man ja wieder nicht an was es lag. Wenn da im Flug kein Unterschied festzustellen ist, dann kann man mit ruhigem Gewissen den Hype Zug an sich vorbei rauschen lassen. Denn die Verbesserungsschritte werden bei noch kürzeren Loopzeiten auch immer kleiner.
22 Kommentare
geht es denn nur um das fühlen oder kann durch die erhöhte Looptime am Ende das Gesamtsystem / Zusammenspiel der Komponenten dadurch profitieren / “runder laufen”?
Klar verkauft wird das unter anderem Banner und ich bin bei dir, ich spüre da null Unterschiede, bin technisch in der Hinsicht aber auch nicht so versiert meinen Einwand ausschließen zu können 😉
Von Naze, F1 und Co zu heute ist halt eine Menge passiert und durch die aktuelle Tech, ist es schon einfacher geworden, stabile Quads in die Luft zu bringen ohne großen Tuningaufwand betreiben zu müssen. Jemand der schwer auf Zack ist kriegt den “alten” Kram aber auch sauber in die Luft…
just my 2 cent
Gruß Sascha
Ich habe den Eindruck gewonnen, dass sich doch einige von dem Hype anstecken lassen und ihr System überreizen, so dass es nicht mehr rund läuft. Mein Beitrag soll eine Entscheidungshilfe für diejenigen sein, die es selber nicht bewerten können oder unsicher sind. Mir ist schon klar, die richtigen Looptime Fans werde ich damit nicht überzeugen können.
Gruß Hans
Servus. Das ist ja eine sehr wagemutige Behauptung die du da aufstellst mit der Looptime… Das Fluggefühl fühlt sich mit der höheren Looptime um längen besser an, als mit der niedrigen.
Tja, es ist auch nachgewiesen, dass Placebo wirkt. Der Glaube kann Berge versetzen. Wer sich damit besser fühlt, den will ich auch gar nicht davon abhalten.
Gruß Hans
Super Beitrag und trifft es genau auf den Punkt.Immer höhere kHz braucht kein Mensch
hmmm, also mich hat looptime noch nie wirklich interessiert aber dieser Artikel scheint mir auch nicht die ganze Wahrheit… Zahlen lügen nicht, ja, aber wie man sie interpretiert ist dann doch immer noch eine andere Sache 😏 Thema “Traue keiner Statistik die du nicht selbst gefälscht hast” 🤔 Ich denke die Looptime allein wirds auch nicht bringen, aber um so flotter der ganze Driss wird um so weniger spielt der PID Regler eine Rolle, und das wäre doch mal ne feine Sache wenn PIDs einstellen unnötig wird. Weshalb ich den Bezug auf die Latenzen des Systems von wegen Video und Steuerung auch schwachsinnig finde. Darum gehts doch schon lange nimmer wenn es um Looptime DShot und Co geht. Eigentlich gehts doch nur noch darum das möglichst jeder sinnvolle Aufbau auch so Stabil wie möglich fliegt, quasi so geringe Verfälschungen der Steuerbefehle wie möglich.
Wie gesagt hab nicht wirklich Ahnung was das eigentliche Thema angeht, so ist nur mein Eindruck oder so 🙂
Wie soll man denn die Zahlen anders interpretieren? Egal ob man Stabilität, PID-Änderung oder Einschwingzeit nimmt. Die Änderung ist in allen drei Fällen so gering, dass sie nur rechnerisch nachweisbar sind. Wer meine Zahlen anzweifelt, sollte zumindest einen Gegenbeweis, wie z.B. ein BB-Log liefern können. Habe ich bisher noch nicht gesehen.
Natürlich gibt es Leute die auch das letzte Prozent einer Verbesserung mit nehmen wollen auch wenn man es nicht mehr spürt. Das kann man denen gar nicht absprechen. Nur so Aussagen, wie “Welten besser” oder “PIDs konnten massiv erhöht werden” kann ich mit meiner Berechnung nicht bestätigen.
Gruß Hans
ZITAT: “Übrig bleibt eine Verbesserung von 60μs für die 8kHz Loop. Wenn man das in Relation zur gesamten Latenzzeit beim FPV-Fliegen sieht, also inklusive Videoübertragung und Fernsteuerung (insgesamt ca. 40-80ms), dann liegen da 3 Zehnerpotenzen dazwischen. Wer soll da noch einen Unterschied fühlen können?”
Der unterschied macht sich ja nicht in der Latenz der Steuerung bemerkbar sondern im Regelverhalten der FC … Wenn das ein guter Grund wäre dann hätten wir OneShot schon nicht gebraucht, oder sehe ich da was falsch?
PS Wenn ich mit meiner letzten Aussage richtig liege (wovon ich schwer ausgehe) dann fehlt doch schon ein Teil des Grundverständnisses, wie soll der Author dann richtige Interpretationen von Messwerten anstellen? So viel zum Thema „Traue keiner Statistik die du nicht selbst gefälscht hast“…
Wie gesagt bin ich sicher kein Experte und möchte lediglich meine Kritik hier anbringen bei welcher ich nicht die Notwendigkeit sehe einen Gegenbeweis zu erbringen, meine Intention ist es zum Denken anzuregen und nicht etwas zu widerlegen…
PPS Aussagen wie “Um Welten Besser” bzgl dieses Themas halte ich übrigens auch für vollkommen überzogen…
Ich hab doch auch das Regelverhalten berechnet. Da war die Verbesserung auch nur 0.7%. Wenn du trotzdem der Meinung bist, dass der Unterschied größer ist, dann sollte das auch mit einem Blackbox Log nachweisbar sein. Ist es aber nicht. Ich hab bis jetzt zumindest noch keinen Gegenbeweis gesehen.
Oneshot in Kombination mit der synchronisierten 1kHz loop war noch ein großer Schritt. Das Delay konnte um etwa 3.5ms verbessert werden. Das war deutlich spürbar. Ich kann das auch in der Rechnung nachvollziehen. Das Regelverhalten wird sehr viel stabiler, die PID-Werte können um ca. 50% erhöht werden.
Die Schritte werden aber mit kleiner werdenden Loopzeiten auch immer kleiner. So verbessert sich das Delay beim Schritt von 4kHz auf 8kHz nur noch um 62.5µs. Das ist gegenüber 3.5ms vernachlässigbar. Im Übrigen scheint mir auch meine Berechnung mit der 60µs Latenzverbesserung in der Sprungantwort plausibel, wenn durch die Looptime das Delay nur um 62.5µs verbessert wird.
Thanks, great article.
Hallo zusammen,
es geht bei den looptimes meiner Meinung nach nicht darum, die Reaktionszeit der Quads auf unsere Eingabe zu verbessern, sondern darum, dass der Quadcopter auf äußere Einflüsse (wind, propwash etc.) schneller reagieren kann.
Beispiel: Bei kurzen looptimes in ABS steuergeräten, geht es auch nicht darum, schneller auf das Bremsen des Fahrers reagieren zu können. Viel mehr geht es darum die Regelzeit des ABS selbst zu verkürzen, damit ein blockieren des Rades verhindert werden kann um die langsamen Eingabe befehle des Fahrers besser umsetzen zu können.
Beste Grüße
Kalle
Kleiner Nachtrag: Das meint nicht, das unendlich kurze Looptimes was bringen. Es gibt irgendwo einen Sweetspot (keine Ahnung wo der ist, dafür bin ich zu kurz dabei). Mir kommt es darauf an, die Looptimes aus einer anderen Richtung zu betrachten…
Beste Grüße
Kalle
Hi Kalle,
ich bin ja nur der Argumentation der Looptime-Fans gefolgt. Aber ich kann auch das Störverhalten (was Propwash betrifft) berechnen. Die Verbesserung ist nur eine Strichbreite im Diagramm, also auch nicht besser als im Übertragungsverhalten. Man kann es drehen und wenden wie man will, da kommt nichts besseres heraus. Die großen Schritte wurden mit 1kHz-sync-loop und oneshot125 gemacht. Das konnte man wirklich noch feststellen und ich kann das auch mit einer Berechnung nachvollziehen. Aber mit kürzer werdenden Loopzeiten werden die Verbesserungen ebenfalls immer geringer. Irgendwann lohnt es sich nicht mehr. Wann es sich nicht mehr lohnt, soll jeder selbst entscheiden. Meine Zahlen sollen die Sache nur etwas ins rechte Licht rücken.
Gruß Hans
Hallo,
Mich würde es interessieren, wie du zu den Ergebnissen gekommen bist. Also welche Gleichungen du verwendet hast und womit diese gelöst wurden. Die sprunghafte Anregung als Beispiel zu verwenden ist auch ziemlich praxisfern. Sinnvoller wären da eher ein sinusförmiger oder zumindest linearer Anstieg und Abfall der Beschleunigung. Aber insgesamt ein sehr interessantes Thema. Würde ich auch gerne mal nachrechnen.
Ich habe das auch schon mit sinusförmiger Anregung oder linearem Anstieg berechnet. Aber da tut sich noch weniger als bei der Sprungantwort. Die Sprungantwort ist schon der Härtetest und auch ein übliches Verfahren in der Regelungstechnik.
Die Formel für die gesamte Übertragungsfunktion ist eine Gleichung 15. Ordnung. Die hier herzuleiten würde wohl den Rahmen sprengen. Aber als Beispiel hier die z-Übertragungsfunktion eines Notchfilters aus betaflight mit Mittenfrequenz=200Hz, Grenzfrequenz=100Hz und Samplerate=4kHz:
G(z) = (0.8118 z^2 – 1.544 z + 0.8118)/(z^2 – 1.544 z + 0.6237)
So muss das für jedes einzelne Glied der Regelschleife gemacht werden. Wenn man dann alles zusammen fügt, kann man nicht nur die Sprungantwort berechnen, sondern auch Stabilitätskriterien wie Phasenrand und Amplitudenrand. Du darfst das gerne selber nach rechnen, würde es sogar begrüßen. Dann hätten wir gleich die Probe aufs Exempel.
Hi, echt Mal schön es nach gerechnet zu haben 🙂
Ein vllt nachvollziehbarer Vergleich.
Wenn man sich ein copter Video auf YouTube anschaut, und das mit maximaler Zeitlupe, dann sieht man jedes einzelne Bild. Das sind 30-60fps also quasi 30-60hz. Schnellere Kameras im bezahlbaren verrechnet machen so 400-1000 Bilder. Wenn man sich jetzt 1000fps so anguckt, das man jedes Bild einzeln sieht, sind sogar quadmovrs Videos schon sehr langweilig ;)… Ich will damit sagen das so ein kopter einfach nicht unendlich schnell ist und auch nicht wird. Ab einer gewissen Geschwindigkeit sieht man nicht mehr. Z.b. mit 32k (32000fps) sieht man schon die meisten Kugeln fliegen. Und deren Geschwindigkeit ist fernab von dem was ein kopter in seinen kühnsten träumen schwingen kann.
Eins sei noch gesagt, im Punkt Filter kann eine hohe gyro Abtastrate bis zu einem gewissen Grad helfen. Grade um hichfrequente Schwingungen filtern zu können. Aber auch hier gibt es wie bei fast allem sinnfreie Geschwindigkeiten.
Hi Felix,
In puncto Filter ist es eine neue Herausforderung wenn mit mehr als 1kHz gearbeitet wird. Der Gyro hat sehr gute interne Filter incl. Antialiasing Filter solange man den auf 1kHz laufen lässt. Wird der Gyro mit 8kHz oder gar 32kHz ausgelesen (Filter umgangen), dann muss man sich selber um die Filterung kümmern. Die hochfrequenten Störungen sind nicht zu unterschätzen. Sehr problematisch wird es, wenn mit 2, 4 oder 16 kHz ausgelesen wird. Da kommt es dann unweigerlich zu Aliasing.
Gruß Hans
Ich lasse das auch die MPU machen. Aber ist ja nicht ausgeschlossen das man manuell besser filtern kann.
Aber du hast bestimmt zu den MPU-Filter zusätzlich noch eigene SW-Filter. Ist das ein IIR oder FIR Filter?
Krass, was es alles gibt
hallo .wer können mir helfen mit betafly bitte bitte bitte!!!! DANKESCHÖN