Hi,
also zur Datenfusionierung gibts mehrere Ansätze, unteranderem einen Komplementärfilter (einfach und gut) und einen Kalmanfilter (schwierig und besser(?)). Ich selbst verwende einen Komplementärfilter. Ein Ansatz wäre:
a = 0.99
winkel = (a * (winkel + gyro * dt) + (1-a)*(acc_winkel)
Wobei a sozusagen die Grenzfrequenz der beiden Filter (Hochpass & Tiefpass) angibt, diese Variable musst du evtl. verändern, bis der Winkel stabil ist.
gyro ist der Wert vom Gyro (wer hätte das gedacht!?) und acc_winkel ist der Winkel berechnet aus den Daten des ACCs. Bis ca. 30° kannst du aber auch eine Kleinwinkelnäherung verwenden. dt ist die Zeit, die seit der letzten Berechnung vergangen ist, also 1 / f, wobei f die Frequenz deines Programms ist.
Gruß
Chris
Lesezeichen