Code:
k = Gyroz / 1600000
xtemp = (y-x)*k + x
y = -(y+x)*k + y
x = xtemp
Mir ist übrigens grad erst aufgefallen, dass (x,y) -> (-y, x) eine Drehung eines Vektors um 90° beschreibt. Heißt für den Fall besonders, dass das für 90° stimmt, dazwischen nicht, die Winkelfunktionen sind natürlich nicht linear im Winkel.
Außerdem frag ich mich, ob es nicht genauso gut oder besser wäre, den Komplementärfilter so einzustellen, dass er neue Werte schneller annimmt. Was genau erhoffst du dir von der Vorgehensweise? Verpfuscht du dir damit nicht die Trägheitsnavigation?
edit: ok, vergessen wir den anderen Ansatz, das sind keine Winkel ...
Lesezeichen