Hallo!
Zitat:
An dieser Stelle hinzugehen und in jedem Durchlauf einen konstanten Wert abzuziehen, bzw. hinzuzufügen, sollte theoretisch eher schädlich sein.
Praktiisch schadet es vermutlich nicht, weil man damit in der Nähe vom Nullpunkt den konstanten Wert in einen Durchlauf dazu addiert, das Integral dann das Vorzeichen wechselt und dadurch schon im nächsten Durchlauf derselbe Wert wieder abgezogen wird.
D.h wenn die Regelung schnell genug ist, kommt die ganze Aktion gar nicht bei den Motoren an und schadet daher nicht.
Bei den Motoren kommen diese kleinen Schwankungen gar nicht an. Denn man addiert/ subtrahiert z.B. den Wert "5". Der Faktor K_i ist bei mir 0.003 und die Motoren bekommen am Ende einen Wert zwischen 0 (aus) und 255 (Vollgas). Die Integralschwankungen sind also so klein, dass die Auflösung der Motoren bei Weitem nicht reicht um eine Drehzahländerung zu bewirken.
Zitat:
Nach deiner Beschreibung weiter oben hast du ihn mit Ki=0.003 ja schon so klein gemacht, dass ich mich aus dem Bauch heraus eh wundere, wie der noch was bewirkt.
Meine Gyros messen Werte zwischen 0 und 1024. Wenn das Ganze mit 500Hz läuft und man den Wert aufintegriert, kannst du dir ausrechnen wie extrem hoch die Integralwerte während einer minimalen Drehung des Copters werden können. Daher der sehr kleine K_i Faktor.
Zitat:
Das stimmt so glaube ich nicht.
Dem Datenblatt nach misst dein Gyro-Sensor die Winkel-Geschwindigkeit (Angular Rate).
Das Integral aus der Winkelgeschwindigkeit müsste demnach der Winkel sein.
Ja, aber wenn du das Integral der Gyroskope direkt auf die Motoren gibst (vereinfacht ausgedrückt), dann steuert das Integral die Winkelgeschwindigkeit. Das ist aber auch sehr Missverständlich mit diesen ganzen Integralen....
Zitat:
Mit deiner Addition, bzw. Subtraktion oben, die ja auch 40 mal pro Sekunde durchgeführt wird, stellst du das Integral kontinuierlich Richtung Null zurück.
D.h. der Winkel den das Integral angibt ist eigentlich nach kürzester Zeit immer wieder Null Grad, selbst wenn der Copter auf dem Kopf steht.
Erstmal kurz um Missverständnisse vorzubeugen: Ich mache das nicht mit der Subtraktion/ Addition. Das habe ich nur kurz mal ausprobiert als mein ACC kaputt war. Man kann dann ca. 10 Sekunden den Knüppel loslassen, danach sollte man den Copter manuell wieder gerade stellen.
Das ist etwas schwer zu erklären warum das trotzdem sehr gut funktioniert... Ich müsste dir mal meinen Copter zeigen und die Messwerte die da raus kommen. Diese Addition/Subtraktion wirkt im Prinzip wie ein Hochpass. Schnelle Änderungen bewirkungen extrem große Änderungen des Gyropegels + Integrals, daher kommen sie (nahezu) unverändert durch und stabilisieren den Copter. Die schnellen Änderungen sind das, was einen Copter instabil fliegen lässt, auf diesen liegt also der Fokus bei der Regelung. Langsame Änderungen (Drift der Gyros, aber auch eine sehr langsame Drehung des Copters) werden durch das +/- herausgefiltert. Die sind aber so langsam, dass ein Mensch die sehr leicht aussteuern kann.
Zitat:
Das stimmt auf jedenfall insofern, dass ich deine Sprache verstehe, die Formelsprache der theoretischen Regelungstechniker eher nicht
Meine Sprache ist aber mangels Fachwissen nicht präzise genug um Missverständnisse vorzubeugen.... Um das zu verhindern müsste ich mich entweder mehr mit der Regelungstechnik auseinandersetzen (da habe ich aber wirklich besseres zu tun...!), oder das ganze an einem Anschauungsobjekt demonstrieren...
Auf jeden Fall eine interessante Diskussion :-D
Zitat:
Ausserdem hast du das überzeugende Argument, dass dein Copter fliegt, das was du machst also funktioniert.
Das stimmt wohl, er fliegt ja auch komplett von alleine. Zusammen mit dem ACC erledigt sich das Driftproblem (mit besseren Gyros (MEMS) kann ich aber so oder so praktisch keinen Drift feststellen)