Laden...

gyro und Komplementärfilter

Erstellt von key-board vor 9 Jahren Letzter Beitrag vor 9 Jahren 3.406 Views
K
key-board Themenstarter:in
33 Beiträge seit 2013
vor 9 Jahren
gyro und Komplementärfilter

Hallo Leute
Ich experimentiere zur zeit mit meinem MPU-6050 (Gyro+Acclerometer)
die Daten hol ich mir über einen Arduino in den PC

Um sauber die Lage des Sensors zu ermitteln werden z.B. Komplementärfilter verwendet.
Winkel= a*(alter Winkel+Winkelgeschwdt)+(1-a)(Acc Winkel)

Was ich nicht verstehe ist warum immer gyro und acc winkel des selben messachse genommen werden un die zu einem Winkel zu machen

So wie ich das Verstehe und rangehe errechne ich einen Normalenvektor in einem festen Koordinatensystem mit den Winkelkomponenten zu X Y und Z Oder dem Gier, Nick und Rollwinkel was im prinzip ja die Winkel in den Ebenen sind.
Aber wenn das so ist verändert eine Drehung um die z.B. Y Achse den Z-Winkel in er X_Z Ebene des Vektors.
Ich komm nicht dahinter warum alle anderen einem Winkel und das Driften des selben durch eine Beschleunigung in Richtung der Drehachse herausrechnen???

könnt ihr mich da erleuchten?

so ich würde das so machen z.B. den Rollwinkel (Drehung um die X Achse*dt+alter rollwinkel)a +(1-a)((ACC Y Winkel+Z Winkel)/2).

So würde das für mich mehr sinn ergeben.

P
1.090 Beiträge seit 2011
vor 9 Jahren

Hi,

ich muss gestehen so ganz habe ich deine Frage jetzt nicht verstanden.

Soweit ich dich verstanden habe geht es um die Frage, wie so ich die Berechnungen immer im Bezug auf eine Achse mache und die anderen nicht direkt berücksichtige.

Wenn dem so ist.

In den meisten Fällen kann ich z.B. eine Achse ignorieren. Beim Labyrinth Spiel (mit dem Ball) kann ich z.B. die Z-Achse ignorieren. Mich interessieren also nur noch Abhängigkeiten von X- und Y-Achse. Hier für kann ich mir dann Gleichungen Aufstellen, die ich in anderen Situationen wieder verwenden kann. Grundlegend habe ich nichts anders gemacht als mein Koordinatensystem zu Normen um die Gleichungen wieder verwenden zu können. Was in manche Fällen aber zu komplizierten Berechnungen führen kann.

Ich könnte jetzt natürlich hingehen und meinen Bezugspunkt (Koordinatensystem) für den Einzelfall so wählen, das die Gleichungen einfacher werden. Wobei ich es dann immer für den Einzelfall anpassen muss.

Also einfach eine Abwägung zwischen Generalisierung und Spezialisierung.

Mit freundlichen Grüßen
Björn

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

P
157 Beiträge seit 2010
vor 9 Jahren

Hm wie sind deine Messgeräte denn verbaut? Also in welche Richtung beweglich und in welche nicht. Ich selbst hab mein FEZCerbot beigebracht auf den Hinterrädern zu "stehen", weil ich dass mal in einem Youtube-Video gesehen hab.
Dabei hab ich die gleiche Formel wie deine erste benutzt. Mein Cerbot selbst kann, wenn er steht, nur in eine Richtung kippen. Daher ist der Acc-Winkel. Auf der Y-Z-Koordinate abzulesen. (X-Achse = der Achse der Hinterräder)