- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Winkelberechnung mit 3-Achsen-Beschleunigungssensor

  1. #1
    Unregistriert
    Gast

    Winkelberechnung mit 3-Achsen-Beschleunigungssensor

    Anzeige

    Praxistest und DIY Projekte
    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!

  2. #2
    HaWe
    Gast
    die Euler-Winkel ( engl. yaw, pitch, roll) tun doch genau das, oder nicht...?
    - bzw. was willst du außerdem wissen oder zusätzlich berechnen?
    https://de.wikipedia.org/wiki/Eulersche_Winkel

  3. #3
    Unregistriert
    Gast
    Ich möchte die absolute Winkeländerung im Raum haben und nicht nur für eine Achse?

    Ziel soll es sein, den Sensor an einem Profil zu befestigen und damit die Verformungen zu messen. Dafür brauche ich ja dann die absolute Winkeländerung in allen drei Achsen und nicht nur die Ausrichtung des Erdbeschleunigungsvektors.

  4. #4
    HaWe
    Gast
    und was geben deiner Meinung nach dann die Eulerwinkel wieder?

    (ps,
    ich diskutiere nicht gerne mit anonymen Unregistrierten - melde dich doch bitte unter deinem Nutzernamen an!)


    pps,
    ich glaube, ich verstehe was du willst .. die Eulerwinkel als ERGEBNIS aus den diskreten g-Werten, also quasi die Rückrechnung aus ihren senkrechten Projektionen auf die senkrechte "g-Achse" (z-Achse) des Bezugssystem...

    ich bin mir nicht sicher, ob das eine Funktion ist, ich vermute, sie ist eher eine Relation, d.h. sie könnte mehrere (also keine eindeutigen) Lösungen haben statt nur 1...


    der interne 3D Gyro im MPU könnte das Problem lösen, da er die absoluten Drehungen in allen 3 Achsen misst.
    Es gibt dazu diverse Libs, der MPU berechnet die Euler-Winkel i.P. sogar bereits intern, viele verrechnen diese aber zusätzlich mit einem Kalman-Filter (z.B. für Arduinos: https://github.com/TKJElectronics/KalmanFilter, wobei ich mit dieser lib noch nicht persönlich gerechnet habe).
    Geändert von HaWe (20.07.2016 um 22:03 Uhr)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.07.2017
    Beiträge
    16

    Winkelberechnung von X, Y und Z mit dem MPU6050 (GY-521)

    Hi HaWe,

    genau diese Anforderung habe ich auch. Ich benötige die exakten Winkel. ...oder ich verstehe das noch nicht

    Ich habe einen Raspberry Pi mit einem MPU6050 (GY-521) Sensor. Wenn ich die Programme starte, die ich gefunden und modifiziert habe, kann ich die Neigungen in X und Y sehen. Was ist mit Z?

    Was hab ich vor:
    ich möchte, wenn ich das Modul auf den Tisch lege und um die eigene Achse drehe, dass am Display diese Drehung in Grad angezeigt wird. Künftig habe ich vor, über eine Motorsteuerung den Roboter so lange zu drehen, bis der vorgegebene Winkel erreicht ist.

    Beispiel:
    ich habe einen Bot mit 2 Motoren. Ich gehe davon aus, dass der Bot weiss, wo er steht. Ich gehe mal von Null Grad aus. Ich gebe jetzt die Gradzahl ein, z.B. 245 grad, dann soll der Motor so lange drehen, bis dies erreicht wurde.

    Ausblicke:
    ich möchte eine Unterscheidung einbauen, ob es geschickter ist nach links oder rechts zu drehen, damit dieser Winkel am schnellsten erreicht werden kann.

    Zu meiner Person: Ich kann weder C noch Python richtig gut. Ich kann Skripte lesen und daran basteln. Ich bastle gerade an einem Bot und versuche diesen per Python anzusprechen. Ich habe ein Buch, doch in diesem Buch werden sehr teure Bauteile verwendet. Es muss doch möglich sein, das Teil ohne das Sense Hat und ohne den teuren Ultraschall Sensoren SRF08 zum Laufen zu bekommen.

    Ich habe mir überlegt, das über die günstigen HCSR04 und einem MPU6050 aufzubauen. Ich merkte gleich, dass ich an meine Grenzen gestoßen bin.

    Als Grundlage liegt mir ein Script vor. ich bin auf die folgende Seite gestoßen:https://github.com/brennoflavio

    Ich komme also nicht so richtig weiter.

    Wer kann mir in dieser Sache weiter helfen?

    Vielen Dank.

    Grüße
    V

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von VolkerPI Beitrag anzeigen
    Was hab ich vor:
    ich möchte, wenn ich das Modul auf den Tisch lege und um die eigene Achse drehe, dass am Display diese Drehung in Grad angezeigt wird. Künftig habe ich vor, über eine Motorsteuerung den Roboter so lange zu drehen, bis der vorgegebene Winkel erreicht ist.
    Um ein Objekt im Raum auszurichten, werden zwei Winkel gebraucht. Und zu den zwei Winkeln gehören auch zwei Referenzen, die Null-Werte. Der Winkel, in dem die Schwerkraft wirkt, könnte einer sein. Den kann ein Beschleunigungssensor messen. Jetzt braucht man noch eine zweite Referenz. Das kann z.B. das Erdmagnetfeld sein.

    Die Sache wird ein wenig einfacher, wenn sich das ganze nicht frei im Raum sondern nur in einer Ebene abspielt. Dann braucht man nur einen Winkel. Der muß aber dann auch in derselben Ebene liegen. Wenn dein Modul flach auf dem Tisch liegt, brauchst du eine Winkelreferenz die ebenfalls in dieser Ebene liegt. Dazu ist die Schwerkraft ungeeignet, da sie senkrecht zu dieser Ebene steht. Ein Kompass würde da passen. Dessen Vektor ist zwar nicht wirklich horizontal, er hat aber einen horizontalen Anteil, der ungleich Null ist und den man verwenden kann. Für dein Vorhaben brauchst du eigentlich nur einen Kompass, die Messung der Erdbeschleunigung ist überflüssig. Das hast du aber schon selber bemerkt

    Ich habe einen Raspberry Pi mit einem MPU6050 (GY-521) Sensor. Wenn ich die Programme starte, die ich gefunden und modifiziert habe, kann ich die Neigungen in X und Y sehen. Was ist mit Z?
    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. Wasserdichter 3-Achsen-Beschleunigungssensor
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 28.01.2014, 22:20
  2. Winkelberechnung aus ACC Daten
    Von Thalhammer im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 09.05.2012, 20:28
  3. Rechenkette? / Winkelberechnung mit Cosinus?
    Von Bammel im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 50
    Letzter Beitrag: 13.05.2009, 20:29
  4. Winkelberechnung
    Von kalletronic im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 14.04.2008, 19:58
  5. 3 Achsen Beschleunigungssensor per Induktion
    Von Peef im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 21.07.2007, 16:22

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress