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?
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.