0 Daumen
2,5k Aufrufe

Ich habe bereits eine Elektronik welche mir, mittels Gyrometer und Kompass, die Daten für heading(Kompass Orientierung, Winkelangabe 0...360°) und Elevation (Neigungswinkel-90°... +90°) ausgibt.

Zudem bekomme ich die aktuellen Koordinaten (x,y,z) vom Standort der Elektronik (bis zu 10cm genau) zurück.


Die Geräte befinden sich mal einfachhalber alle auf einer Höhe von 2m, also alle in der Z-Ebene.


Nun meine theoretische Idee war es den Richtungsvektor aus Koordinaten, Winkel Richtung Z und Winkel in der XY-Ebene zu bestimmen und dann den Schnittpunkt zwischen der Ebene und dem Richtungsvektor (wo ich mit der Elektronik im 3D Raum hinziele) mit den Koordinaten des Geräts (fixe Koordinaten auf 2m Höhe) vergleiche.


Nun scheitere ich peinlicherweise schon beim Algorithmus um den Richtungsvektor im Raum zu bestimmen.


Könnt Ihr mir hier ein wenig auf die Sprünge helfen. Welcher Weg wäre der einfachste und mit welchen Formeln und Gesetzen?


Wie kann ich eine gewisse Toleranz einbauen? (Wegen Winkelfehler, Ortungsfehler etc.)

Avatar von

1 Antwort

+1 Daumen
 
Beste Antwort

Richtungsvektor ist \( \begin{pmatrix} \cos \alpha \cos \theta \\ \sin \alpha \cos \theta \\ -\sin \theta \end{pmatrix}\). Dabei ist \(\alpha \) die Kompassorientierung und \( \theta \) der Neigungswinkel.

Es gibt Drehmatrizen, die beschreiben was mit einem Punkt passiert, wenn er um wieviel Grad um eine bestimmte Achse gedreht wird. Zur Berechnung des resultierenden Punktes wird eine Matrix-Vektor-Multiplikation durchgeführt. Hintereinanderausfühung von Drehungen kann durch eine Matrixmultiplikation beschrieben werden.

Obiger Vektor ist entstanden indem der Vektor \(\begin{pmatrix} 1\\0\\0 \end{pmatrix}\) zunächst um \( \theta \) um die y-Achse und dann um \( \alpha \) um die z-Achse gedreht wurde.

Avatar von 106 k 🚀

Danke oswald für die schnelle Antwort und die Begründung!
Bringt mich nun wieder weiter.Schaue mir somit nochmals die Thematik an!

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community