Hallo Rainer,
skydiver hat gesagt.:
Der Yaw-Fehler beträgt bei 20° unkompensiertem Roll- und Pitchwinkel bereits bis zu +/-150°.....
Jetzt verstehe ich, was Du gemeint hast
Die Kompensation des yaw Gyrodrifts erfolgt nach der Umrechnung der Sensorwerte (Bezugsystem Flieger) über die Matrix in das Bezugsystem Erde. Der Magnetometer kompensiert daher genaugenommen, den absoluten Nord-Richtungsfehler, der durch die Drift aller drei Gyros entsteht - da die roll und nickgyros ja bei nicht waagrechtem Flug darauf auch einen Einfluss haben.
....Hast Du mit dem Magnetometer bereits prakt. Erfahrungen?
Ich habe die Telemetriewerte der IMU über ACSII Telegramme auf der seriellen ausgeben lassen und sie mir mit der Visualisierungssoftware angesehen.
Roll- und Nick- und Yawwinkel driften leider etwas, wenn man die IMU heftig bewegt. Ich vermute, da kommen die Accelerometer an ihre Grenzen.
Auf Magnete vom Whiteboard wird bereits im Abstand von 10cm reagiert. Auf Magnete von www.supermagnete.de schon in einem Meter Abstand.
Die Richtung ändert sich auch, wenn ich mit der IMU auf der Schreibtischplatte näher an das Stahl- Vierkantrohr herangehe.
Zum Thema Heading aus dem GPS oder aus den Koordinaten selbst berechnen:
Ich habe mir mal einen GPS-Datenlogger gebaut um damit meine Kartfahrten aufzeichnen und auswerten zu können.
Bremspunkte, Beschleunigungsdiagramme, Geschwindigkeiten usw.
Als ich die Auswertesoftware begonnen habe, wollte ich die gefahrene Strecke berechnen und habe einfach die Strecke zwischen den letzten beiden Koordinaten aufsummiert.
Das Ergebnis war wegen der hohen Ungenauigkeit der Koordinaten total daneben. Auf eine Strecke von 65 km hatte ich einen Fehler von 15 km !!!
Ich rechnete dann mit der GPS Geschwindigkeit und der Samplerate die Strecken zwischen zwei Messpunkten aus und summierte diese auf.
Das Ergebnis passte bis auf wenige Meter.
Ich weiß nicht, wie der Algorithmus im Chipsatz des GPS aussieht, mit dem das heading (course) berechnet wird, aber ich nehme an, das wird nicht einfach nur mit sin und cos gerechnet.
Der course, der aus der RMC message kommt, ist m.E. mindestens gleich gut, wie eine eigene Berechnung.
Mit der V1_8_x Software habe ich auch noch keine Fortschritte gemacht.
Ich denke, es wäre das einfachste auf die Funktionen der FastSerial library zu verzichten und für boolean einen eigenen Datentyp zu definieren.
Ob es danach noch weitere Fehlermeldungen hat, weiß ich noch nicht.
Man könnte aber auch mal im Projekt Wiki der IMU eine entsprechende Frage posten.
Viele Grüße
Achim