Einbaulage eines 3D-Sensors korrigieren

Gast #2703695
Lesenswert?

Ich habe hier einen 3D-Beschleunigungssensor, der in Ruhestellung und 
bei exakter Einbaulage einen Wert von ca. -9,81 für die Z-Richtung 
zurückliefern würde, X, und Y wären 0 (entsprechend der Gravitation in 
Z-Richtung, also von oben nach unten).

Allerdings kann es sein, dass der Sensor eben nicht exakt waagerecht 
eingebaut ist, sondern irgend wie schräg (allerdings keinesfalls um mehr 
als 180 Grad in irgend eine Richtung verdreht). Im Ergebnis misst dieser 
schief eingebaute Sensor in Ruhestellung dann irgend welche Werte für X, 
Y und Z, welche zusammen die nach unten gerichtete Gravitation bei 
dieser "schiefen" Einbaulage repräsentieren.

Diese Werte würde ich jetzt gerne verwenden, um daraus einen 
Korrekturwert zu errechnen, welcher mir aussagt, wie ich den Sensor in 
welche Richtung drehen müsste, um wieder eine exakt parallele und 
waagerechte Einbaulage zu erhalten. D.h. ich habe einen Sollvektor mit 
X=0, Y=0 und Z=-9,81 und einen Ist-Vektor mit X, Y und Z !=0 und müsste 
jetzt die Rotation ermitteln, die nötig ist um vom Istvektor auf den 
Sollvektor zu kommen. Nur: wie berechne ich das?
Gast #2703794
Lesenswert?

Hi, Zonaar,

> Ähm...ja? Wo/wie liefert mir das die Winkel?
Schau mal nach dem CORDIC-Prozess. Der ist bei der Rotation von 
Koordinaten besonders effizient, jedenfalls in Festkomma-Arithmetik.

Ciao
Wolfgang Horn
Gast #2705313
Lesenswert?

Zonaar schrieb:
> Ähm...ja? Wo/wie liefert mir das die Winkel?
Mit Hilfe des Skalarproduktes läßt sich der von zwei Vektoren 
eingeschlossene Winkel bestimmen:

Damit könnte man z.B. die Winkel der drei Ebenen (X,Y,Z) bestimmen, und 
anzeigen, in welche Richtung die Apparatur gedreht/-kippt werden muß, 
damit sie völlig waagerecht steht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren