Habe einen MPU 6050 der nur einen Winkel misst. Incl. Kalman Filter usw. In Ruhe funktioniert das prächtig. Beim Testen auf dem Fahrrad (Längsneigung soll gemessen werden) stelle ich fest dass der Winkel auch dann Auslenkung anzeigt wenn der Sensor nur linear beschleunigt wird, also Fahrrad vor und zurück schieben. Sobald die Beschleunigung / Bewegung in Längsrichtung weg ist, geht auch der Winkelausschlag zurück bzw. passt wieder zur aktuellen Lage im Raum. Ich vermute mal das hängt damit zusammen dass der Einbau nicht ganz horizontal bzw. in Längsachse ist und korrigiert werden muss - rechnerisch ...
Beitrag #7002773 wurde von einem Moderator gelöscht.
Markus K. schrieb: > Habe einen MPU 6050 der nur einen Winkel misst. Incl. Kalman Filter usw. Wie soll er das machen? In dem MPU6050 ist kein Winkelsensor vorhanden. Alles was er tun kann, ist Beschleunigungen zu messen. Der Sensor kann nicht unterscheiden, ob es sich um die Erdbeschleunigung oder eine Beschleunigung des Fahrrades handelt. Für die Berechnung des Winkels werden der Beschleunigungsvektor in Längsrichtung und der lotrecht dazu stehende verrechnet. Natürlich führt eine Beschleunigung des Fahrrades zu einer Längskomponente, die dann für den Sensor genauso wie ein bergauf fahrendes Rad aussieht, nur der Betrag des Vektors ist größer als der des reinen Schwerevektors. Aber das interessiert die Winkelberechnung nicht.
Beitrag #7002799 wurde von einem Moderator gelöscht.
Pepe T. schrieb im Beitrag #7002773:
> Was macht denn der genau?
Filtern
Wolfgang schrieb: > In dem MPU6050 ist kein Winkelsensor vorhanden klar doch. Drehbeschleunigung halt. Integrieren du musst !!
Markus K. schrieb: > Drehbeschleunigung Nope. Ein (MEMS-)Gyroskop misst die Winkelgeschwindigkeit, und zwar über die Zentrifugalbeschleunigung .
Pepe T. schrieb im Beitrag #7002799:
> Doch, da sind 3 gyros drin.
Das sind auch Beschleunigungssensoren, nur anders angeordnet.
Uiuii viel gefährliches Halbwissen hier. Gyros sind keine Beschleunigungssensoren! Was dein Problem angeht, so ist das leider leicht erklärbar. Gyros rauschen und geben die Winkelgeschwindigkeit an. Um auf den Winkel zu kommen musst du integrieren. Dafür braucht man aber einen Startwert. Den liefert die Schwerkraft und damit die Beschleunigungssensor. Weil eine rauschende Quelle, die integriert wird auch noch driftet, wird der Winkel von der Schwerkraft dauerhaft mit reingemixt. Das macht das Kalman Filter. Und wenn du dich bewegst wirkt mehr Beschleunigung als nur die Schwerkraft, daher der Winkelfehler. Ist nicht dauerhaft lösbar. Für kurze Zeiträume kannst du den gyro höher Gewichten, aber auf beliebig lange Zeit geht es physikalisch nicht ohne Zusatz Information wie Radgeschwindigkeit oder GPS
Beitrag #7003228 wurde von einem Moderator gelöscht.
Jan K. schrieb: > Uiuii viel gefährliches Halbwissen hier. Gyros sind keine > Beschleunigungssensoren! Dann mal Butter bei die Fische. Es wäre gut, wenn du dein Vollwissen teilen könntest: Auf welchem physikalischen Grundprinzip funktionieren den deiner Ansicht nach die Drehratensensoren eines MPU6050 (Quelle)? Ein MEMS Gyro misst meist die Kraft, die durch Scheinkräfte im mitbewegten Koordinatensystem auftreten (Zentripetalkraft). Das kann z.B. über die Kopplung von MEMS-Schwingern oder über die Kapazitätsbrücke eines federnd aufgehängten Massenelements passieren. IMHO sitzt in einem MPU6050 jedenfalls kein Laser-Kreise, der zugegebenermaßen andere Effekte nutzt.
Beitrag #7003286 wurde von einem Moderator gelöscht.
Pepe T. schrieb im Beitrag #7003228: > Jan K. schrieb: >> Und wenn du dich bewegst wirkt mehr Beschleunigung als >> nur die Schwerkraft, daher der Winkelfehler. > > Nur wenn das sehr schlecht eingestellt ist. D.h. acc filter viel zu > kurz. > Oder wenn jemand vergessen hat den gefilterten acc vektor zu rotieren. Der Fehler kann grundsätzlich unbeschränkt wachsen. Egal wie du das Filter einstellst. Es ist physikalisch nicht möglich, zwischen Zusatzbeschleunigung und Gravitation zu unterscheiden. Es mag sein, dass bestimmte Filter Einstellungen für bestimmte Applikationen in einem bestimmten Winkelbereich akzeptabel funktionieren, aber es ist unmöglich, über einen beliebig langen Zeitraum ohne Zusatzinformationen eine akkurate Orientierung aus 6-dof Sensoren zu berechnen. Insbesondere nicht die Längsneigung aka Straßen Steigung. Dass der Sensor vermutlich nicht kalibriert ist, macht die Sache nicht besser ;) Wolfgang schrieb: > Dann mal Butter bei die Fische. Es wäre gut, wenn du dein Vollwissen > teilen könntest: Auf welchem physikalischen Grundprinzip funktionieren > den deiner Ansicht nach die Drehratensensoren eines MPU6050 (Quelle)? > Das konkrete Prinzip ist natürlich IP vom Hersteller. > Ein MEMS Gyro misst meist die Kraft, die durch Scheinkräfte im > mitbewegten Koordinatensystem auftreten (Zentripetalkraft). Das kann > z.B. über die Kopplung von MEMS-Schwingern oder über die > Kapazitätsbrücke eines federnd aufgehängten Massenelements passieren. > IMHO sitzt in einem MPU6050 jedenfalls kein Laser-Kreise, der > zugegebenermaßen andere Effekte nutzt. Mit den Scheinkräften hast du Recht. Nur wird meistens nicht Zentripetal-, sondern Corioliskraft als Messprinzip verwendet. Ja, es ist MEMS und es sind auch Masseelemente, aber das Konzept ist dennoch komplizierter, da die Kämme aktiv angeregt werden, siehe z.B. https://en.wikipedia.org/wiki/Vibrating_structure_gyroscope Von mir aus stimme ich dir aber zu, grundsätzlich sind es gefederte Masseelemente, die meistens kapazitiv ausgelesen werden und eine Kraft messen. Ich wollte mit meiner Aussage primär sagen, dass die Ausgangsmessgrößen der genannten Sensoren fundamental unterschiedlich sind. Gyro messen differenzielle Größen aka Geschwindigkeiten, Beschleunigungssensoren eben nicht. Das hat Konsequenzen in der Filterung.
:
Bearbeitet durch User
Pepe T. schrieb im Beitrag #7003286: > woher hast du das denn? Keine Referenz, aber anschaulich erklärt: https://youtu.be/ti4HEgd4Fgo?t=145
Beitrag #7003329 wurde von einem Moderator gelöscht.
Pepe T. schrieb im Beitrag #7003329: > Praktisch ist das durchaus möglich. Eine beschleunigung eines autos von > 0 auf 100 ist ein zeitlich begrenztes event. Ebenso eine bodenwelle. > Oder eine rakete. Ein entsprechend langes filter kann das glätten. Das setzt aber voraus, dass das Filter passend zu den Systemeigenschaften parametriert ist. Das Zeitfenster für das Glätten muss dann so groß sein, dass Beschleunigungs- und Bremsphase beide drin liegt - sonst bleibt ein Bias. Die superschlaue Antwort von Markus auf deine Frage hilft da natürlich wenig weiter. Markus K. schrieb: > ... > Filtern
Hast du das praktisch schon mal gemacht? Ich arbeite tagtäglich auf der Arbeit mit IMUs und glaub' mir, Komplementärfilter werden aus guten Gründen nicht in kommerziellen IMUs benutzt. Und auch Kalmanfilter sind nicht in der Lage, zwischen niederfrequenten Zusatzbeschleunigungen und Orientierungsänderungen zu unterscheiden. Jetzt ist natürlich hier auch die Frage nach der Genauigkeit noch nicht gestellt worden, ich befinde mich da eher im Bereich < 0.5°. Was möchte der OP? Und vor allem: Wie schnell möchte der OP seinen Winkel haben? Natürlich kann man alles totfiltern...
Beitrag #7003369 wurde von einem Moderator gelöscht.
Generell lässt sich ein Winkel (eine Steigung oder Neigung) am besten mit einem (idealerweise 2-achsigen) Beschleunigungsmesser messen. Überlagerte Linearbeschleunigungen lassen sich dabei nicht von der Neigungsinformation trennen und müssen deshalb herausgerechnet werden. Filter schaffen das höchstens bei kurzzeitigen Beschleunigungen, machen dann aber die Neigungsmessung "träge". Eine technisch saubere Lösung ist, die Geschwindigkeit über einen anderen Sensor (beim Rad über die Raddrehung) zu messen und über die Geschwindigkeitsänderung die Beschleunigung zu ermitteln und diese dann zum Herausrechnen des Beschleunigungsanteils zu verwenden. Drehratensensoren (Gyros) messen zwar die Drehrate und (über Integration) den zurückgelegten Winkel. Dabei muss aber der Anfangswinkel bekannt sein oder eingegeben werden. Allerdings haben Drehratensensoren eine Drift und so kann man sich schon nach relativ kurzer Zeit auf den Winkel nicht mehr verlassen. Magnetfeldsensoren können zumindest theoretisch auch die Achse des Sensors im Raum messen. Aber das Erdfeld wird oft durch Störungseinflüsse (in der Erde verbuddelte Leitungen, Rohre oder - bei Brücken - Träger) so gestört, dass diese Information ohne Verwendung zusätzlicher Sensorinformationen kaum nutzbar ist.
Jan K. schrieb: > Pepe T. schrieb: >> Jan K. schrieb: >>> Und wenn du dich bewegst wirkt mehr Beschleunigung als >>> nur die Schwerkraft, daher der Winkelfehler. >> >> Nur wenn das sehr schlecht eingestellt ist. D.h. acc filter viel zu >> kurz. >> Oder wenn jemand vergessen hat den gefilterten acc vektor zu rotieren. > > Der Fehler kann grundsätzlich unbeschränkt wachsen. Egal wie du das > Filter einstellst. Es ist physikalisch nicht möglich, zwischen > Zusatzbeschleunigung und Gravitation zu unterscheiden. Es mag sein, dass > bestimmte Filter Einstellungen für bestimmte Applikationen in einem > bestimmten Winkelbereich akzeptabel funktionieren, aber es ist > unmöglich, über einen beliebig langen Zeitraum ohne Zusatzinformationen > eine akkurate Orientierung aus 6-dof Sensoren zu berechnen. Insbesondere > nicht die Längsneigung aka Straßen Steigung. Soweit war zumindest mir das schon immer klar... Aber - sollte das nicht irgendwie an's Fahrrad dran getüddelt werden? Und wozu war das gleich nochmals gedacht? Um zu sehen, wann der Buckel zu steil wird und ob man sich schon die Blöse geben kann, auf Schieb-Betreib umzustellen?
Beitrag #7005478 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.