Unregistriert
20.07.2016, 18:49
Hallo,
ich möchte mit Hilfe eines 3-Achsen-Beschleunigungssensor (MPU6050) die Winkeländerung mit Hilfe des Gravitationsvektors berechnen.
Wenn der Sensor auf dem Tisch liegt zeigt er (0,0,g) an, die z-Achse steht vertikal nach oben.
Drehe ich den Sensor in die X-Achse um 90 Grad werden Werte von (0,g,0) angezeigt, da nun die Y-Achse in Richtung des Gravitationsvektors zeigt.
Ich habe mir jetzt überlegt, dass ich durch die Euler Drehwinkelmatrix die Winkeländerung zeigen kann.
Für die x-Achse wäre das:
1 0 0
0 cos a sin a
0 - sin a cos a
Diese Matrix mit dem Ausgangsvektor (0,0,g) multipliziert, zeigt mir die Anteile von g in den drei Achsen.
Bei 0Grad als der Ausgangslage wäre das (0, sin 0 * g, cos 0 *g) = (0,0,g)
Bei 90 Grad also Ende der Drehung (0, sind 90 *g, cos 90 * g) = (0,g,0)
Die Vektoren werden also richtig angezeigt.
Mir ist jedoch nicht ganz klar, wie das ganze funktioniert wenn der Sensor eine Schräglage hat, so dass theoretisch alle 3-Achsen einen g-Anteil zeigen müssten. In meinem Beispiel hat die X-Achse ja keinen g-Anteil, weil um diese gedreht wird.
Bei meinem Beispiel weiß ich demtensprechend nur dass eine 90 Grad Drehung des gesamten Systems um die X-Achse stattgefunden hat.
Wird der Sensor jedoch auch in der X-Achse gekippt, würde eine komplette Schräglage im Raum entsteht.
Welche Möglichkeit gibt es diese Schräglage im Raum als absolute Winkeländerung in allen drei Koordinatenachsen mit dem Werten des Beschleunigungssensors zu berechnen?
Wird dafür zusätzlich ein Magnetometer benötigt um einen zusätzlichen "Referenzpunkt" zu erzeugen und damit die absolute Winkeländerung zu berechnen?
Vielen Dank schonmal für eure Hilfe!
ich möchte mit Hilfe eines 3-Achsen-Beschleunigungssensor (MPU6050) die Winkeländerung mit Hilfe des Gravitationsvektors berechnen.
Wenn der Sensor auf dem Tisch liegt zeigt er (0,0,g) an, die z-Achse steht vertikal nach oben.
Drehe ich den Sensor in die X-Achse um 90 Grad werden Werte von (0,g,0) angezeigt, da nun die Y-Achse in Richtung des Gravitationsvektors zeigt.
Ich habe mir jetzt überlegt, dass ich durch die Euler Drehwinkelmatrix die Winkeländerung zeigen kann.
Für die x-Achse wäre das:
1 0 0
0 cos a sin a
0 - sin a cos a
Diese Matrix mit dem Ausgangsvektor (0,0,g) multipliziert, zeigt mir die Anteile von g in den drei Achsen.
Bei 0Grad als der Ausgangslage wäre das (0, sin 0 * g, cos 0 *g) = (0,0,g)
Bei 90 Grad also Ende der Drehung (0, sind 90 *g, cos 90 * g) = (0,g,0)
Die Vektoren werden also richtig angezeigt.
Mir ist jedoch nicht ganz klar, wie das ganze funktioniert wenn der Sensor eine Schräglage hat, so dass theoretisch alle 3-Achsen einen g-Anteil zeigen müssten. In meinem Beispiel hat die X-Achse ja keinen g-Anteil, weil um diese gedreht wird.
Bei meinem Beispiel weiß ich demtensprechend nur dass eine 90 Grad Drehung des gesamten Systems um die X-Achse stattgefunden hat.
Wird der Sensor jedoch auch in der X-Achse gekippt, würde eine komplette Schräglage im Raum entsteht.
Welche Möglichkeit gibt es diese Schräglage im Raum als absolute Winkeländerung in allen drei Koordinatenachsen mit dem Werten des Beschleunigungssensors zu berechnen?
Wird dafür zusätzlich ein Magnetometer benötigt um einen zusätzlichen "Referenzpunkt" zu erzeugen und damit die absolute Winkeländerung zu berechnen?
Vielen Dank schonmal für eure Hilfe!