| Autor | Neuer Beitrag |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Wie der Titel schon andeutet - ich arbeite seit knapp zwei Wochen an einem neuen Höhenregler. Warum ich das tue? Ganz einfach weil mir den Höhenregler nie ausgereift genug war  Keine Frage er hat funktioniert, ABER folgende Dinge gefallen mir nicht: 1) Der Höhenregler arbeitet nicht stationär genau. Das heißt der MK fliegt immer höher als er soll. Die Abweichung ist dabei von der Reglerparametern, die im MK-Tool eingestellt sind, abhängig. Bei den Standardparametern war der Kopter bei mir also auf 5 Metern 1 Meter zu hoch und auf 40 Metern etwa 5 Meter höher. Das stört vorallem dann,wenn man im Wegpunktflug auf eine exakte Höhe angewiesen ist. 2) Aus 1 resultiert das Verhalten, das mir auch missfällt. Szenario: Sehr langsamer Sinkflug - Wunschhöhe ist erreicht - Gasknüppel lasse ich los - Kopter steigt etwa 1 Meter hoch. Das Spiel lässt sich immer wieder wiederholen, der MK bleibt nie auf der Wunschhöhe. Am besten lässt sich das nachvollziehen wenn man auf Kopfhöhe sinkt. Exaktes justieren der Höhe ist also "etwas tricky". Das liegt wie gesagt an Punkt 1. 3)Der MK hält auch nach dem Steigflug nicht wirklich sein Höhe und sackt gerade bei schnellem Steigen sehr stark ab. 4)Der MK hat Probleme bei Wind seine Höhe zu halten. 5)Der MK hat Probleme bei schnellen Flugmanövern seine Höhe zu halten. Ziel war es also nun all diese Problemchen zu beseitigen oder wenigstens zu lindern. Zu großen Teilen ist mir das auch schon gelungen. Die neuesten Änderungen kann ich dank des schlechten Wetters momentan nicht testen :/ Hoffentlich geht das nächste Woche. PS: Was macht eigentlich dieses Oktoberwetter hier im November? |
| | |
| Mitglied Registriert seit: Oct 2008 Beiträge: 446 Ort: Zürich | Du meinst Dezember? |
| | |
| Mitglied Registriert seit: Jun 2010 Beiträge: 4784 Ort: 48268 Greven | Coooni meinte Wie der Titel schon andeutet - ich arbeite seit knapp zwei Wochen an einem neuen Höhenregler. ...
Ist das jetzt ein neuer Sensor, oder wird an der Software geschraubt? . |
| | |
| Mitglied Registriert seit: Mar 2008 Beiträge: 1750 Ort: CH | Wieviele Betatester gibt es denn?  |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Der Höhenregler ist ein Softwareregler. Das bedeutet dass man nur ein Firmwareupdate für die Flightcontrol benötigt. Der Betatester bin natürlich ich  Und ich teste auch nur auf einem Okto - vorerst. |
| | |
| Mitglied Registriert seit: Mar 2009 Beiträge: 1937 | cool. wenn der so gut arbeitet wie der DJI regler, bist du mein persönlicher hero! |
| | |
| Mitglied Registriert seit: Mar 2011 Beiträge: 1104 | das wäre wirklich gut, der arbeitet um einiges besser als der MK regler. =) |
| | |
| Mitglied Registriert seit: Feb 2011 Beiträge: 1564 Ort: D-15378 Hennickendorf | Hallo Coooni, zum Punkt 3,4 und 5 denke ich, dass es daran liegt, dass alle schnellen Flugmanöver immer (Unter)-Druckschwankungen mit sich bringen. Das wird wohl auch durch einen anderen Regler schwer zu beheben sein  . Evt. wäre hier eine andere Plazierung von Vorteil... Grüße Stephan |
| | |
| MK-Betatester Registriert seit: Apr 2007 Beiträge: 4477 | Hi Coooni, legst du den Code offen? |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Hi Stephan, der Drucksensor ist tatsächlich Luftdruckschwankungen ausgesetzt. Meine Erfahrung ist allerdings dass der Luftdrucksensor die Höhe recht zuverlässig misst - das Problem ist jedoch, wie der Höhenregler auf eine Sollwertabweichung (zb Sinken) reagiert. Einzig die Landung bleibt ein Problem für den Luftdrucksensor, da er den Staudruck unter der Haube misst, also Mist misst  Ohne Haube - und alles ist paletti |
| | |
| MK-Betatester Registriert seit: Jul 2007 Beiträge: 616 | Hallo Cooni, hast Du diesen Höhenregler schon einmal probiert? http://forum.mikrokopter.de/topic-post292839.html#post292839..... > Höhenregler wurde modifiziert: Insbesondere gibt es nun die Möglichkeit eine Beschleunigungskompensation des Höhensensors einzustellen (siehe Erklärungen zu UserParam4). weiterhin wurde das Regelverhalten im Vario- Mode modifiziert, um das Überschwingen bei Höhenänderungen im Vario-Mode zu verringern. Bei den getesteten MK's funktioniert damit die Höhenregelung deutlich besser (eventuell den P- und D- Wert etwas anpassen , ich fliege P=8, Barometric-D= 35) Der Z-ACC Part bei der Höhenregelung ist deaktiviert .... Martin |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Hallo Martin, ich erinnere mich daran. Wir hatten vor rund einem Jahr schonmal über den Höhenregler gesprochen. Mir gefällt die Idee mit der Kompensierung des Beschleunigungseffekts der auf den Luftdrucksensor wirkt. Deine aktuellste Version habe ich aber noch nicht getestet. Die habe ich aber sowiso fest vor auf meinem Quadro zu nutzen damit ich endlich in den Genuss deines HH-Umschaltmodus komme  Wie zufrieden bist du mit deinem Höhenregler? |
| | |
| MK-Betatester Registriert seit: Jul 2007 Beiträge: 616 | Coooni meinte Wie zufrieden bist du mit deinem Höhenregler?
Der Höhenregler funktioniert bei mir schon ganz gut (mit den angegebenen Parametern). Weitere Verbesserungen sind aber auch noch denkbar. Martin |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Kleines Update. Ich habe einige Fortschritte gemacht Das Wetter hier ist etwas flugunfreundlich, denn es schneitregnet, also nutze ich die Gelegenheit kurz über den Fortschritt zu berichten. Mit dem großteil der Punkten die ich bearbeiten wollte bin ich schon ganz zufrieden. Je mehr ich daran arbeite, desto mehr Details tauchen allerdings auch auf, die auch verbessert gehören. Außerdem ist der Regler als ganzes zu betrachten, denn die einzelnen Punkte beeinflussen sich auch untereinander. Genug gelabert, jetzt zu den Punkten: - Stationäre Genauigkeit: Erledigt - Sollwert ist jetzt immer gleich Istwert - Bessere justierbarkeit der Höhe: Verbessert - Nach einer Höhenänderung bleibt der MK auf der eingestellten Höhe - Nach schnellem Steigen verliert der MK unkontrolliert an Höhe: Verbessert - Der Höhenregler ist in seine Begrenzung gelaufen. Die Begrenzung ist jetzt 2 Sekunden lang nach einer Höhenänderung ausgeschaltet. - Bei Wind oder schnellen Flugmanövern verliert der MK stark an Höhe: Verbessert - Wieder läuft der Regler in die Begrenzung. Die Begrenzung ist jetzt so angepasst, dass die Regelung nicht beeinträchtigt wird. Außerdem sind die Regelparameter jetzt angepasst. Noch bin ich mit den Ergebnissen nicht zufrieden. Das System verhält sich nicht symmetrisch zwischen Steigen und Sinken. Das macht dem Regler Probleme. Man sieht das sehr schön in der Grafik wenn der MK sinkt. Die Regelung schwingt und der MK hat keine konstante Sinkgeschwindigkeit. Die Firmware mit dem Ausgleich für das asymmetrische Verhalten steht bereits in den Startlöchern, allerdings fehlt noch die Parametrierung, die ich wegen des Weters leider nichtvornehmen kann  Da ich keine Zeit habe Videos zu machen kann ich leider nur meine Fluglogauswertungen präsentieren. Hier ein kleiner Ausschnitt vom Steigen - Schweben - Sinken.  Für den technisch versierten Leser hier das gleiche mit allen relevanten Debugdaten:  Viele Grüße, Coooni |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Es gibt neuigkeiten. Auch das Asymmetrische Verhalten ist jetzt kompensiert. Allerdings ist mir wieder mal was neues aufgefallen  Der D-Anteil , im Code Variometer, wird etwas unorthodox berechnet. Normal sollte der D-Anteil die Differenzierte Höhenabweichung sein. Im MK code ist das allerdings nicht der Fall. Hier ist der D-Anteil die Differenz zwischen dem ungeglätteten und dem geglätteten Wert der Höhe. Das macht aus Sicht der Regelungstechnik überhaupt keinen Sinn. Ich habe mir die Berechnungen im Code mal wieder in Excel visualisiert: Sprungantwortden des D-Anteils:  Konstante Höhenänderung:  Wenn mir jemand erklären kann, was damit bezweckt werden könnte der möge sich hier äußern  Viele Grüße, Coooni |
| | |
| Mitglied Registriert seit: Feb 2011 Beiträge: 187 | wow Coooni, Hut ab ! das ist sicher viel Arbeit... gehörst du zum MK-Entwicklerteam? Grüße  |
| | |
| Mitglied Registriert seit: Jun 2008 Beiträge: 522 Ort: Offenbach am Main | Zitat Der D-Anteil , im Code Variometer, wird etwas unorthodox berechnet. Normal sollte der D-Anteil die Differenzierte Höhenabweichung sein. Im MK code ist das allerdings nicht der Fall. Hier ist der D-Anteil die Differenz zwischen dem ungeglätteten und dem geglätteten Wert der Höhe
Das ist mir auch schon aufgefallen. Ich meine, das hatte ich in einem thread schon mal mit jemandem diskutiert. Ich persönlich glaube aber nicht, dass du darauf eine qualifizierte Antwort aus der Softwarenetwicklung erhalten wirst. Die Variable "Variometer" ist hier in der FC-Software nicht das Variometer wie man es zum Beispiel aus einem Luftfahrzeug kennt. Dort ist es in der Tat die differenzierte Höhenabweichung ausgedrückt in Steigen oder Fallen [m/sec] Der Gedanke, der hier vermutlich dahinter stand, ist die Idee, die Druckdose in einem Variometer nachzuahmen. Die Druckdose stellt den geglätteten Luftdruck dar. Das dünne Röhrchen duch das die Luft ein oder ausströmt wird hier in der Software durch die Differenz zwischen dem ungeglätteten und dem geglätteten Wert der Höhe dargestellt. So könnte ich mir vorstellen, warum das so programmiert wurde. Ist aber nur meine persönliche Vermutung. Nachtrag: In deinem Schaubild: "Konstante Höhenänderung" verhält sich die Variable "Variometer" aber durchaus, wie man es erwarten würde. Konstanter Höhenzuwachs = Steigen konstant im plus Vielleicht könntest du mal 1 bis 4 m/sec Steigen - Höhe halten - dann Sinken gegen die Variable "Variometer" legen « Bearbeitet von dk9nw am 21.12.2011 16:54. » |
| | |
| Mitglied Registriert seit: Sep 2011 Beiträge: 19 | Hi, ist der code in irgend nem repository zugaenglich? Wuerde mir den hoehenregler gerne mal an schauen (und ggf. verwenden  ) Liebe gruesse |
| | |
| Mitglied Registriert seit: Jun 2010 Beiträge: 4784 Ort: 48268 Greven | jodar meinte ..... Wuerde mir den hoehenregler gerne mal an schauen (und ggf. verwenden  ) ....
Ich glaube nicht, das das hier eine "Codeschnipselsammlung" zur freien Verfügung ist, oder? |
| | |
| Mitglied Registriert seit: Jul 2011 Beiträge: 269 | Coooni meinte Wenn mir jemand erklären kann, was damit bezweckt werden könnte der möge sich hier äußern  Viele Grüße, Coooni
Hallo Coooni, ich versuch mich mal an einer Erklärung, denn ich bin auch gerade dabei das Variofilter verstehen zu lernen. Was wirklich damit bezweckt wird, kann wohl nur Holger klären. Vielleicht will er ja nur die Funktionsweise damit verschleiern. Im Prinzip funktioniert das Filter schon, vorausgesetzt die Grenzfrequenz passt. Durch die Differenzbildung wird aus einem Tiefpass (gefiltertes Signal) ein Hochpass. Das sieht man auch in deinem Exceldiagramm "Sprungantwort des D-Anteils:" sehr schön. Die dunkelblaue Kurve "tmp" ist das differenzierte Signal vom Höhenwert. Das kann gut als D-Anteil verwendet werden. Das Ausgangssignal "Variometer" ist dann nur noch mal gefiltert und verstärkt. Die Funktionsweise ist schon etwas kompliziert, aber im Prinzip funktioniert es. Ich hätte den D-Anteil aber einfacher realisiert. Nachdem ich mich nun eine Weile damit beschäftigt habe, glaube ich, dass das Variofilter kaum eine Wirkung als D-Glied hat. Die Problematik sieht man aber erst im Frequenzbereich. Nur ist es äußerst schwierig, die ganzen Filter und Skalierungen im Sourcecode ausfindig zu machen, um den Höhenregler richtig zu analysieren. Deshalb bin ich mir noch nicht sicher. Wenn mir jemand die Taktfrequenz von 74 Hz beim Variofilter bestätigen kann, dann stell ich die Frequenzgänge für weitere Diskussionen hier rein. Viele Grüße Hans |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | Guten Abend miteinander, Zitat In deinem Schaubild: "Konstante Höhenänderung" verhält sich die Variable "Variometer" aber durchaus, wie man es erwarten würde. Konstanter Höhenzuwachs = Steigen konstant im plus
@dk9nw: Du hast recht, das Variometer gibt anscheinend die Steigrate wieder. Aber dann hat dieser Wert nichts mit einem normalen D-Anteil aus der Regelungstechnik zu tun. Der D-Anteil soll das Schwingen um den Sollwert dämpfen. Das funktioniert mit dem Variometer nicht wirklich. Im Variohöhenregler vom MK wirkt der D-Anteil einfach nur entgegengesetzt der Steigrate des MKs. Ich habe mal eine neue Firmwareversion aufgesetzt, in der ein richtiger D-Anteil berechnet und ausgegebn wird. So jetzt aber ab ins Weihnachtsgetümmel |
| | |
| Mitglied Registriert seit: Jul 2011 Beiträge: 269 | Ich habe nun das Variometer-Filter im Frequenzbereich analysiert. Als Taktrate für das Filter habe ich 74 Hz angenommen. Ich hoffe das stimmt so und ich hab da nichts übersehen. Dann kommt da folgender Frequenz- und Phasengang heraus:  Wie man sieht, ist das gar kein reiner Hochpass sondern ein Resonanzfilter. Das wäre aber nicht so schlimm wenn die Resonanzfrequenz höher liegen würde. So ist im interessierenden Frequenzbereich (0.5Hz bis 1 Hz) kein Hochpassverhalten vorhanden, d.h. die Phase kann nicht mehr angehoben werden, wie es ein normales D-Glied im Regler machen würde. Man sieht, dass die Phase schon ab 0.5Hz in den negativen Bereich geht. Ein übliches D-Glied hätte da noch annähernd +90 Grad. Falls ich mich jetzt bei der Taktrate (74Hz) nicht ganz vertan habe, dann würde ich auch sagen da ist noch wesentliches Verbesserungspotential vorhanden. @coooni Wenn Du das D-Glied neu machst, kann es sein, dass Werte in die Begrenzung gehen. Nicht umsonst wird Holger da so viel gefiltert haben. Alles was vom D-Anteil über dem Begrenzerlimit ist, darf nicht verworfen werden, sondern muss bei den nächsten Zyklen verwendet werden. Solange bis es aufgebraucht ist. Sonst verliert der D-Anteil seine Wirkung. Bin gespannt auf deine neue Version. Viele Grüße Hans Nachtrag: korrekte Taktrate ist 108Hz, neues Diagramm weiter unten « Bearbeitet von Qopter am 25.12.2011 20:35. » |
| | |
| Mitglied Registriert seit: Apr 2010 Beiträge: 223 | @ Qopter Jaja das mit den Frequenzen im Code ist nicht so toll dokumentiert  Ich weiß nur dass der Mainloop mit 1kHz rennt. Aber selbst beim Motorregler, der Hauptschleife in der fc.c, wirds schon interessant. Der würde auch mit 1kHz laufen, wartet allerdings auf neue Werte vom Analogwandler. Ich hatte noch nicht die Muße das genauer unter die Lupe zu nehmen. Mit welcher Frequenz das Vario läuft - kein Plan. Wenn ich raten müsste würde ich sagen mit der Frequenz mit der die Analogwerte kommen  Wenn ich demnächst mal wieder Langeweile habe schaue ich mal in den Code und gucke auf welche Frequenz ich komme. Achso - frohe Weihnachten übrigens  |
| | |
| Mitglied Registriert seit: Jul 2011 Beiträge: 269 | Uups, ist denn scho wieder Weihnachten.
Wünsche auch allen ein frohes Weihnachtsfest! |
| | |
| Mitglied Registriert seit: Jul 2011 Beiträge: 269 | Update Bevor ich mich lange durch die SW wühle, habe ich jetzt einfach die Taktrate des Variometers nach gemessen. Sie ist 108Hz (SW-Stand 0.86d). Da war ich mit meiner Schätzung oben etwas daneben. Aber das macht die Sachlage auch nicht sehr viel besser. Um als richtiges D-Glied zu wirken müsste die Grenzfrequenz des Filters schon um den Faktor 10 höher liegen. Damit alles seine Richtigkeit hat, hier nochmal das Bodediagramm mit korrekter Taktrate:  Viele Grüße Hans |