0 Daumen
598 Aufrufe

Aufgabe:

Bestimmung von roll und pitch (Roll- und Nick-) Winkel eines Beschleunigungssensors


Problem/Ansatz:

Ich suche nach einer guten Möglichkeit graphisch darzustellen, wie roll und pitch eines Beschleunigungssensors nur durch Anwendung von etwas Trigonometrie und Pythagoras ermittelt werden können.

Avatar von

Dazu müsstest du beschreiben, worum es dabei mathematisch genauerhin geht.

Ob hier jemand den Sachverhalt kennt, bezweifle ich ein wenig.

Dazu sind technische Kenntnisse notwendig und das Wissen um den Sachverhalt.

Mir sagt das überhaupt nichts, weil ich die Materie nicht kenne und viele andere wohl auch

nicht.

Vlt. kannst du den Sachverhalt so darstellen, dass sich auch ein Laie etwas darunter

vorstellen kann.

Damit verlasse ich dieses für mich böhmische Dorf.

Welche Art von Daten liefert denn der Sensor ?

Im Übrigen wäre wohl etwas Studium der Grundlagen von analytischer Geometrie (vektorielle Beschreibung von Kurven im Raum, Krümmung etc.) hilfreich.

https://de.wikipedia.org/wiki/Kurve_(Mathematik)

Ist das richtig, dass der Sensor gleichzeitig in allen drei Raumrichtungen die Beschleunigung messen kann?

Und ist das System, um das es hier geht (Sensor auf Tisch), in Ruhe? D.h. es bewegt sich nicht?

in meinem Kommentar vor vier Stunden habe ich

a.) beschrieben, dass das System in Ruhe ist

b.) dass der Beschleunigunsaufnehmer die Beschleunigung in allen drei Raumrichtungen aufnimmt.

Im Prinzip geht es doch nur darum, die Winkel, unter denen ein Koordinatensystem gegenüber einem erdfesten System gedreht ist, zu bestimmen unter der Randbedingung, dass die Vektorsumme der Beschleunigungswerte g ergibt und dieser Vektor die gleiche Orientierung hat wie die Beschleunigung des erdfesten Systems in z-Richtung.

Und dann geht es nicht darum, Formeln hinzuschreiben, sondern eine Darstellung, die die Herleitung eben dieser Formeln veranschaulicht.

Ich melde mich heute Abend. Im Augenblick habe ich zu viel zu tun.

2 Antworten

+1 Daumen

Hallo,

... die vorgeschlagenen Artikel gehen von der Existenz einer Rotationsmatrix aus. Was ich in meinem Fall aber habe, ist ein Beschleunigungssensor in Ruhe, aber in beliebiger Schieflage.

und damit kannst Du auf Teile der Rotationsmatrix schließen.

Die Spalten der Rotationsmatrix sind die Raumrichtungen der lokalen Koordinatenachsen des rotierten Objekts. Die drei Beschleunigungswerte geben die drei Koordinaten des (negativen) Z-Vektors des Raums an, bezogen auf die lokalen Koordinaten des Objekts. Also die inverse Information.

Wenn man also die Rotationsmatrix invertiert, entspricht die dritte Spalte (die Z-Achse) der Inversen der Richtung der Z-Achse im Raum aus Sicht des Objekts und damit genau der Richtung, die Dir die Beschleunigungssensoren liefern. Glücklicherweise sind Rotationsmatrizen orthogonale Matrizen, deren Inverse gleich ihrer Transponierten ist. Somit ist die Z-Richtung des Raums bezogen auf das Objekt die dritte Zeile der Ausgangsmatrix. Sind die Werte \(b_x\), \(b_y\) und \(b_z\) die drei gemessenen Beschleunigungen, so folgt daraus und aus dieser Matrix:$$\begin{pmatrix} b_x\\ b_y\\ b_z \end{pmatrix} = -g \begin{pmatrix} -\sin(\beta)\\ \cos(\beta)\sin(\gamma)\\\cos(\beta)\cos(\gamma) \end{pmatrix}$$Daraus lässt sich dann der Nickwinkel \(\beta\) und Rollwinkel \(\gamma\) in der dort beschriebenen Weise berechnen. Bei der Berechnung sollte man ausnutzen, dass die Länge des Vektors rechts (ohne \(-g\cdot\)) gleich 1 ist.


Ich suche nach einer guten Möglichkeit graphisch darzustellen, wie roll und pitch eines Beschleunigungssensors nur durch Anwendung von etwas Trigonometrie und Pythagoras ermittelt werden können.

Das ist nicht einfach. Ich habe da mal was im Geoknecht3D skizziert:

blob.png

Wenn Du auf das Bild klickst, dann öffnet sich die Webseite vom Geoknecht3D und Du kannst die Szene mit der Maus rotieren. So kommt das 3-dimensionale deutlich besser zu Geltung.

Das Gebilde, welches dort im Raum über der Ebene schwebt, soll ein Objekt darstellen, mit dem Nickwinkel \(\beta\) (grün)  und den Rollwinkel \(\gamma\) (blau). Der schwarze Vektor \(g\), der senkrecht nach unten zeigt, soll die Erdbeschleunigung darstellen. Ein (oder mehrere) Beschleunigunssensor im Objekt messen nun die drei Beschleunigungen im Koordinatensystem des Objekts. Das habe ich versucht durch den den achsenparallelen Quader darzustellen. Die drei Kanten des Quaders, die die Ecke im Koordinatenursprung des Objekts gemeinsam haben, bilden die drei gemessenen Beschleunigungen ab.

Wenn man nun eine ZX-Ebene im Raum(!) betrachtet, die durch den Ursprung des Objekts geht, so ergibt sich folgendes Bild:

blob.png

Der Winkel \(\beta\) taucht in dem Dreieck, was durch \(g\) und \(b_x\) gebildet wird, wieder auf. Und es gilt offensichtlich$$\sin(\beta) = \frac{b_x}{|g|} \quad |g|=\sqrt{b_x^2+b_y^2+b_z^2}$$Womit \(\beta\) zu berechnen wäre.

Mit \(\gamma\) ist es nicht ganz so einfach. Für den Rollwinkel \(\gamma\) betrachte ich die YZ-Ebene des Körpers, was der rückwärtigen Fläche des Quaders entspricht.

blob.png

Der Vektor, der nach unten zeigt, ist nun nicht \(g\) sondern die Projektion von \(g\) auf eben diese rückwärtige Fläche. Und da die Fläche um \(\beta\)  gekippt ist, hat der Vektor den Betrag \(|g|\cos(\beta)\). Der (oder die) Beschleunigungssensor misst nun anteilig die Werte in Richtung der (negativen) Achsen des objektfesten Koordinatensystems. Und hier gilt$$b_y = -|g|\cdot \cos(\beta) \cdot \sin(\gamma) \\ b_z = -|g|\cdot \cos(\beta) \cdot \cos(\gamma)$$woraus sich wiederum mit der Kenntnis von \(|g|\) und \(\beta\) der Rollwinkel \(\gamma\) eindeutig berechnen lässt.

Bitte melde Dich, falls Du dazu noch Fragen oder sonstigen Bemerkungen hast. Ich freue mich über jedes Feedback ;-)

Gruß Werner

Avatar von 48 k

Hallo Werner,

vielen Dank für den außergewöhnlich großen Einsatz bei der Suche nach einer Antwort auf meine Frage. Umso schwerer fällt es mir, auf die eingangs gestellte Frage zu verweisen: "Ich suche nach einer guten Möglichkeit grapisch darzustellen ..." s.o.

Man stelle sich einen Schwung von Interessierten vor mit Oberstufenmathematikkenntnissen und Interesse an Hintergrundwissen z. B. zum Bau von Modellubooten. Wenn ich denen die Prinzipien eines Beschleunigungsaufnehmers über Rotationsmatrizen und deren Inverse, die in dem Fall auch noch gleich der Transponierten ist ..., dann habe ich in nullkommanichts 95% der Zuhörer verloren. Vermutlich mehr.

Dabei ist das Problem einfach: Zwei rechtwinklige Koordinatensystem mit gleichem Ursprung, das eine gegenüber dem anderen verdreht. Die Herausforderung ist, das auf einem Blatt Papier so darzustellen, dass sich Winkel und trigonometrische Zusammenhänge einfach daraus ableiten lassen.

Ich muss zugeben, ich hatte gehofft, dass es in der Mathelounge jemanden geben könnte, der mir ein 3D-pdf (das gibt es) aus einem CAD-Programm erzeugen könnte, mit dem man am PC die Winkel-Verhältnisse studieren und sich die trigonometrischen Verhältnisse ableiten könnte.

Hat noch nicht geklappt, aber trotzdem vielen lieben Dank für deinen Einsatz!!!

Gruß,

Wilfried

Hallo Wilfried,

schade, dass Du Dich jetzt erst meldest.

Umso schwerer fällt es mir, auf die eingangs gestellte Frage zu verweisen: "Ich suche nach einer guten Möglichkeit grapisch darzustellen ..." s.o.

das hatte ich nicht überlesen, sondern bereits dran gearbeitet, das ist aber zeitintensiv und ích bin gerade echt busy. Mir schwebt eine Darstellung mit Geoknecht3D vor. 3D-pdf ist mir nicht vertraut.

Ich bin voraussichtlich frühestens Mittwoch Abend wieder in der Lage irgendwas zu liefern.

So long & Gruß Werner

Antwort vervollständigt (s.o.)

wow, Werner. Was für eine Arbeit. Vielen Dank dafür!

Ich habe gerade nicht die Zeit, die Lösung zu Ende zu durchdenken, aber ich komme z. Zt. auf
beta = arctg (|bx| / sqrt (by^2 + bz^2))

und aus Symetriegründen auf

gamma = arctg (|by| / sqrt (bx^2 + bz^2))

Heute abend werde ich mehr Zeit darauf verwenden können. Bis dahin noch mal herzlichen Dank!! Die Grafik ist genau das, wonach ich gesucht hatte (auch, wenn unsere daraus abgeleiteten Formeln noch unterschiedlich sind; aber das lässt sich klären).

Gruß,

Wilfried

... ich komme z. Zt. auf beta = arctg (|bx| / sqrt (by2 + bz2))

es sieht zwar nicht so aus, ist aber identisch zu meinem Ergebnis. Nur die Betragsstriche bei \(|b_x|\) sind zu viel. Mit Betragsfunktion geht Dir die Information über das Vorzeichen verloren.

In dem von mir gewählten Koordinatensystem ist der Nickwinkel positiv, wenn die lokale X-Achse nach unten dreht. Und dann ist auch \(b_x\gt 0\).


... und aus Symetriegründen ...

Symmetrie gibt es hier nicht und kann es auch nicht geben. Das hängt damit zusammen, dass Rotationen nicht kommutativ sind. D.h. man kann sie nicht ohne weiteres in der Reihenfolge vertauschen ohne das Ergebnis zu verändern. Einen kleinen Einblick in diese Problematik kann vielleicht dieser Artikel von mir geben.
Bedenke, dass der Rollwinkel \(\gamma\) um die bereits gedrehte lokale X-Achse des Objekts dreht.

gamma = arctg (|by| / sqrt (bx2 + bz2))

ein Weg seine Ergebnisse zu prüfen, besteht darin, sehr große oder sehr kleine (=0) Werte in eine Formel einzusetzen und dann zu checken, ob das Ergebnis sinnvoll ist.

Solange \(b_x=0\) ist, liefert die Formel einen sinnvollen Wert für \(\gamma\). Sehen wir mal vom Vorzeichen ab, das müsste dann \(-b_y\)  heißen.

Aber angenommen, es liegt ein sehr großer Nickwinkel vor - z.B. \(\beta \approx 89°\) - d.h. die 'Nase' des Objekts zeigt fast senkrecht nach unten, dann werden \(b_z\) und \(b_y\) ebenso sehr klein gegenüber \(b_x\). $$\gamma \approx 0 \Leftrightarrow b_x\approx g $$

Daran ändert sich dann auch nichts, wenn das Objekt anschließend um seine lokale X-Achse rollt. D.h. das Objekt kann einen großen Rollwinkel \(\gamma\) einnehmen, ohne dass sich an dem \(\gamma\) nach der Formel irgendetwas großartig ändert.

Daraus folgt: Ist der Rollwinkel so definiert, wie in dem Wiki-Artikel (ZY'X''-Konvention), so passt diese Formel nicht dazu. Man kann Nick- und Rollwinkel anders definieren, aber dann passt die Formel für \(\beta\) nicht mehr. Beides gemeinsam kann nicht korrekt sein (s. Bem. in meinem vorhergehenden Kommentar)

Hallo Werner,

sorry, dass ich mich erst jetzt wieder melde. Ich denke, ich habe es jetzt verstanden. Leuchtet nicht auf Anhieb ein (zumindest nicht mir:-)). Unter der Annahme, dass cos (beta) nicht gleich 90° beträgt, lässt sich gamma demnach als arctg (by / bz) ausdrücken, richtig? Und atan2 ist wohl die Funktion, die auch mit by/0 umgehen kann.

Noch mal ganz herzlichen Dank für deinen Einsatz und dass du mir nicht einfach nur "etwas Studium der Grundlagen von analytischer Geometrie " anempfohlen hast. Derartige Kommentare sind eher wenig hilfreich und sollten eigentlich in der Mathelounge keinen Platz haben.

Danke nochmals und alles Gute,

Wilfried

Unter der Annahme, dass cos (beta) nicht gleich 90° beträgt, lässt sich gamma demnach als arctg (by / bz) ausdrücken, richtig?

Ja - das ist korrekt!

Und atan2 ist wohl die Funktion, die auch mit by/0 umgehen kann.

Dafür ist die Funktion gemacht ;-)

... und dass du mir nicht einfach nur "etwas Studium der Grundlagen von analytischer Geometrie " anempfohlen hast. Derartige Kommentare sind eher wenig hilfreich und sollten eigentlich in der Mathelounge keinen Platz haben.

und damit hast Du ja sooo Recht!

Viel Erfolg & Gruß Werner

0 Daumen

Helfen vielleicht die Formeln bei

https://de.wikipedia.org/wiki/Roll-Nick-Gier-Winkel

weiter?

Avatar von

die vorgeschlagenen Artikel gehen von der Existenz einer Rotationsmatrix aus. Was ich in meinem Fall aber habe, ist ein Beschleunigungssensor in Ruhe, aber in beliebiger Schieflage. Ich weiß also, dass die Wurzel aus der Summe der Quadrate der Beschleunigungen die Erdbeschleunigung ergibt. Ich suche jetzt eine geeignete Darstellung, anhand derer sich die Winkel von erdfestem zu körperfestem Koordinatensystem anschaulich herleiten lassen.

vermutlich sollte ich noch ergänzen, dass ein Beschleunigungssensor Beschleunigungswerte in x, y und z-Richtung liefert. Liegt er in Ruhe auf dem Tisch sind die Beschleunigungen in x- und y- Richtung gleich 0, die in z-Richtung gleich g.

Wenn dieser Sensor jetzt in beliebiger Schieflage im Raum liegt, gibt er Beschleunigungswerte für die x-, y- und z-Richtung aus, die sich in der (Vektor-) Summe zu g addieren.

Es gilt jetzt die Winkel zu bestimmen, die das Koordinatensystem Tisch gegenüber dem Koordinatensystem mit der Schieflage hat.

Dazu genügen einfache trigonometrische Zusammenhänge. Aber das ist hier nicht die Frage. Die Frage ist vielmehr, wie sich so etwas geeignet darstellen lässt, damit man das Ergebnis nachvollziehbar erklären kann.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community