
Zitat von
Che Guevara
Hi,
ich hab mal sowas ähnliches programmiert, nämlich eine Datenfusionierung von Kompass & Gyro. Dabei hab ich den Wertebereich vom Kompass von 0° - 360° auf -Unendlich - +Unendlich verschoben (natürlich nur theoretisch). Ich weiß ja nicht, inwiefern du das in dein Programm einbauen kannst, aber es funktioniert sehr gut und benötigt sogut wie keine Rechenzeit.
Im Prinzip prüft man einfach immer, ob der letzte Messwert < 360° und der neue Messwert >= 0° bzw. andersrum ist. Wenn das der Fall ist, kann man davon ausgehen, dass der Kompass einmal über die 360° bzw. 0° hinausgedreht wurde. Dann inkrementiert bzw. dekrementiert man eine Variable, die die Umdrehung seit dem Start angibt. Somit kannst du dann einen Winkel bilden: Winkel = (Umdrehungen * 360°) + akt. Winkel
Das funktioniert allerdings nur, wenn der Kompass regelmäßig ausgelesen wird und sich das Objekt nicht zu schnell dreht, sodass die Erkennung der Umdrehung noch funktioniert.
Gruß
Chris
Lesezeichen