Hallo,

ich möchte die Daten eines 3-Achs Beschleunigungssensors (Körpersystem) in das Erdsystem übertragen.
Ich kenne die beiden Winkel der Auslenkung aus der Ruhelage, diese in Euler-Winkeln (es treten max. Winkel von 89° auf, also kein Gimbal Lock etc..).
Leider stehe ich etwas auf dem Schlauch und weiß nicht so recht, nach was ich suchen soll.

Vorgestellt hätte ich mir eig folgendes:
Code:
NickSin = Sin(NickAngle);
NickCos = Cos(NickAngle);
RollSin = Sin(RollAngle);
RollCos = Cos(RollAngle);

VertWinkel = Sqrt(NickAngle * NickAngle) + Sqrt(RollAngle * RollAngle);
VertSin = Sin(VertWinkel);
VertCos = Cos(VertWinkel);

XAcc = SensorX*NickCos + SensorZ*NickSin;
YAcc = SensorY*RollCos + SensorZ*RollSin;
ZAcc = SensorZ*VertCos + SensorX*NickSin + SensorY*RollSin;
Wird nur in eine Richtung geneigt (also Nick ODER Roll), so stimmen die Werte für ZAcc (vertikale Beschl). Werden aber beide Achsen geneigt, so ist der Wert um bis zu 10% zu klein...
Die Sensoren sind kalibriert, daran kanns nicht liegen.

Vielen Dank & Gruß
Chris