-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Auswertung eines "3D Kompass"

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355

    Auswertung eines "3D Kompass"

    Anzeige

    Hallo zusammen,

    durch Zufall bin ich an folgenden Sensor gekommen http://www.pnicorp.com/productDetail?nodeId=cMM3

    Damit kann ich bereits erfolgreich den Winkel zum Nordpol messen/berechnen . Wie halt auch bei einem normalen KompassModul wie z.b. dem CMPS03 o.ä.

    Ich würde nun gerne den Winkel unabhängig von der Neigung des Modules berechnen, allerdings hab ich nicht die leisteste Idee, geschweigedessen einen Ansatz, wie ich da vorgehen könnte.

    Kann mir da jemand auf die Sprünge helfen? Ich grüble schon seit Tagen, komm aber absolut nicht weiter.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    schade das es keine Antworten gibt. An was liegt es? Ist mein Problem einfach zu unklar geschildert?

  3. #3
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Es geht sicher darum, die gemessenen Koordinaten in Kugelkoordinaten umzurechnen:
    http://de.wikipedia.org/wiki/Kugelkoordinaten



  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    @Manf: Danke für den Wikipedia Link.

    Allerdings weis ich nicht, wie ich das ganze umsetzen kann.
    Mein Problem ist ja folgendes: Wenn ich mit den x/y Sensoren mit Hilfe des Arctan den Winkel zum Erdmagnetfeld berechne, ist ja alles in Butter.

    Wenn ich nun aber das Modul nach vorne, bzw. nach links kippe, erhalte ich ja nicht mehr den korrekten Winkel. Eben diesen Effekt will ich kompensieren.

    Später wäre es natürlich nicht schlecht, wenn ich auch die Kippung nach links bzw vorne messen könnte (wenn mein Bot z.b. an einer Steigung steht).

    @ voopster: Wie meinst du das mit dem Lagesensor? Meinst du mir reichen die Messwerte der 3 Magnetfeldsensoren nicht?

    Das Modul habe ich ja schon, vor Arbeit scheue ich mich nicht, und solange das Modul eben liegt, funktioniert es auch schon astrein.

  5. #5
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Kannst Du denn drei Komponenten der magnetischen Feldstärke messen?
    x, y, und z
    Aus denen sollte dann das Feld in Kugelkoordinaten ausgerechnet werden damit man die Komponenten r, phi und theta erhält.

    Ist das bis dahin noch machbar oder geht es um die Berechnung der Winkelfunktionen?
    Manfred

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    Ja, die drei Feldstärken kann ich messen.

    die Berechnung der Kugelkoordinaten leuchtet mir soweit auch ein.
    Ist zum Glück ja auch nicht wirklich aufwendig, so dass das mein µC locker erledingen kann.
    Aber wie komme ich von da aus zu meinen korregierten Winkeln?
    Mein Mathematikwissen reicht zwar, um gegebene Zusammenhänge zu verstehen, aber mir daraus jetzt die Formeln herzuleiten, die ich benötige, schaffe ich allein leider nicht. Ich denke dafür einfach zu 2 dimensional.

  7. #7
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Wenn die Richtung des Magnetfelds relativ zum Fahrzeug bekannt ist, dann kann es zum Beispiel wie links im Bild horizontal und in Richtung nach Norden stehen.
    Die gleiche Richtung des Magnetfelds relativ zum Fahrzeug ergibt sich bei einer Drehung des Fahrzeugs um eine Achse parallel zum Magnetfeld.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken kompass_3d.jpg  

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.09.2004
    Ort
    Darmstadt
    Alter
    47
    Beiträge
    166
    Hallo,

    leider bin ich auf dem Gebiet auch kein Profi, aber weil mich die Anwendung dieses Sensors auch interessiert, möchte ich mich mal an der Diskussion beteiligen. Ich kann mich erinnern, dass es vor einiger Zeit mal einen Thread bei mikrocontroller.net gab, wo jemand einen 3D-Magnetsensor im Modellflugzeug verwendet hat. Vielleicht suchst Du dort mal.

    Also erstmal kenn ich mich nicht mit der Beschaffenheit des Erdmagnetfeldes aus. Die Frage ist, ob das Magnetfeld homogen ist (überall gleich stark) und weiter, wie es der Sensor erfasst. Das müsstest Du Dir anlesen. Ich gehe erstmal davon aus, dass der Sensor in der Lage ist, die drei Raumachsen zu trennen, also z.B. keine Überlagerung der Y- und Z-Achse stattfindet.

    Wenn diese Voraussetzungen gegeben sind, würde ich vielleicht so vorgehen: Messe zunächst die Feldstärke der Z-Achse. Über den Arcus-Sinus von (Messwert / Maximalwert) erhält man die Neigung der Z-Achse zum Erdradius, also den Rollwinkel oder Gierwinkel oder die Kombination von beiden. Ob der Wert ein Rollwinkel oder Gierwinkel ist, stellt man dann durch analoge Berechung des Messwerts für die Y-Achse fest. Wenn man diesen Wert hat kann man schließlich den Messwert für die X-Achse interpretieren. Letztlich muss noch die Deklination des Erdmagnetfeldes herausgerechnet werden.

    Sorry für den etwas naiven und möglicherweise unvollständigen Ansatz. Ich hatte zwar im Studium Höhere Mathematik, aber das liegt alles schon recht lang zurück. Letztlich läuft es ja auf die Anwendung von Rotationsmatritzen hinaus. Bin mir auch nicht ganz sicher, ob der Ansatz richtig ist, weil das Magnetfeld ja nur eine Komponente hat und nicht drei unabhängige. Kann Dir nur empfehlen, bei Wikipedia mal Artikel zu "Erdmagnetfeld", aber auch "Eulersche Winkel", "Drehmatrix", "3D-Computergrafik", insbesondere "Rendering-Pipeline" und "Koordinatentransformation" anzuschauen und die externen Links zu verfolgen.

    Ich würde mich aber freuen, wenn Du hier nochmal über die Fortschritte mit dem Sensor berichtest.

    Gruß, Achim.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    Also anbei mal 3 Messreihen, eine Drehung ohne Kippen, mit 45° Kippen und mit 90° kippen. (Messfehler können entstanden sein, weil ich das Modul mit der Hand drehe!)

    Die Messwerte (X, Y,Z) gehen von -10 bis 10 im Idealfall (mache im µC *10 bei den Berechnungen, da sonst die Rundungsfehler zu groß wären).

    YWinkel und ZWinkel laut der Berechnung von voidpointer. Winkel und Xneu habe ich nur zum Testen drin, der Kippwinkel ganz oben in Zeile1 ist eine normalerweise unbekannte Größe!

    Ach ja die Diagramme verstecken sich ziemlich weit rechts.

    Bei mikrocontroller.net hab ich den erwähnten Thread leider nicht gefunden.
    Angehängte Dateien Angehängte Dateien

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.09.2004
    Ort
    Darmstadt
    Alter
    47
    Beiträge
    166
    Also jetzt habe ich mich auch nochmal belesen. Am besten, Ihr vergesst die Arcus-Sinus-Lösung! (vielleicht sollte ich sie löschen)

    Wie Manf schon richtig dargestellt hat, sind die Feldlinien des Erdmagnetfelds in unseren Breiten um 66 Grad geneigt (Inklination). Und das Feld hat keine drei orthogonalen Komponenten, sondern nur eine. Der 3D-Kompass misst lediglich die drei Anteile des Magnetfeldes. Die Gesamtstärke des Magnetfeldes ergibt sich dann wie folgt:
    B = Wurzel(x²+y²+z²)
    Diese Formel habe ich mal auf Deine Messwerte angesetzt und in der Grafik dargestellt. Der Wert liegt immer in der Nähe von 10 - die Formel würde also passen.

    Damit ergibt sich das Dilemma aus Manfs Grafik: Aus den gemessenen Werten lässt sich nicht eindeutig auf die Orientierung des Sensors im Raum schließen. @Manf: ist doch so gemeint, oder? Das heisst für mich, dass ein 3D-Kompass (auch 3D-Magnetometer genannt) allein nicht aussreicht, sondern nur eine Ergänzung zu Accelerometern und/oder Gyro-Sensoren sein kann...

    Bitte ergänzen. Gruß, Achim.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken drehen45.png  

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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