Hi,

nein, da denkst du falsch
Der Kopter steht dann mit Nick bei 0° und Roll bei 20° nach rechts.
Überleg mal:
Wenn du den Kopter, wenn dieser nicht waagerecht ist, um die Yaw Achse drehst, verändert sich dessen Winkel (wie beim Gedankenexperiment). Der Acc bekommt diese Veränderung mit, die Gyros aber nicht, weil sie nur die Drehung um die Yaw Achse registrieren. Folge: Es dauert eine ganze Weile, bis sich die Komplementärfilter Winkel wieder an die Acc Winkel angleichen.
Du musst also die Gyro-Drehungen (welche im Körpereigenen Koordinatensystem "stattfinden") in das gleiche Bezugssystem wie die Acc Winkel bringen, welche im Erdkoordinatensystem arbeiten.
Hier hab ich mal einen Code für dich, kann sein, dass du manche Vorzeichen wechseln musst:
Code:
GyroZSin = Sin(GyroZ*0.01745) 'Drehung um Yaw Achse von Deg zu Rad konvertieren
GyroZCos = Cos(GyroZ*0.01745)

'Drehmatrix
KompFilterXTmp = (GyroZCos * KompFilterX) - (GyroZSin * KompFilterY)
KompFilterYTmp = (GyroZSin * KompFilterX) + (GyroZCos * KompFilterY)

'Werte zurückschreiben
KompFilterX = KompFilterXTmp
KompFilterY = KompFilterYTmp
Die Variablen KompFilterXYTmp brauchst du, damit nach der ersten Zeile der Drehmatrix die Variable KompFilterX noch gleich bleibt, weil der Wert noch in der zweiten Zeile gebraucht wird.
Die grundsätzliche Formel stimmt, es kann aber sein, je nachdem, in welche Richtung deine Winkel ausgelegt sind (also ob Nick positiv vorne oder hinten, Roll positiv vorne oder hinten, Yaw positiv UZ oder GUZ).
Dein oben beschriebenes Verhalten, der Kopter steuere immer von dir weg (wie zb. MK Carefree), wird damit nicht erreicht!
Um das zu realisieren braucht man zwar auch eine Rotationsmatrix, aber auch einen Kompasssensor, welchen du glaube ich nicht verbaut hast?

Ich denke, dein beschriebenes Verhalten (rühren) hängt mit der fehlenden Rotationsmatrix zusammen. Probier das mal aus und berichte dann.

Gruß
Chris

EDIT:
Achja, deine Homepage funktioniert irgendwie nicht?