Daten im NAZA System

Um das Gesamtsystem zu verstehen, muss man wissen, wo DJI Daten erzeugt und wie sie in deren System übertragen werden:
Alle Komponenten kommunizieren via einen CAN Bus (1Mb/s). In der vollen Ausbaustufe benötigt die Software der “NAZA” Main Unit auch GPS Daten und x/y/z Daten des Magnetfeldsensors, der sich im Gehäuse des “GPS” befindet (“GPS-Pilz”). Den Drucksensor für die barometrische Höhenformel beinhalt die NAZA selbst. Die NAZA sendet dann alle Daten, – repetierte GPS-Daten, vor allem aber solche aus ihrem eigenen Data Processing und prozessbezogene Daten auf den CAN Bus, den kompletten Datensatz nur, sofern ein “OSD” seine Anwesenheit gegenüber der NAZA durch Heartbeat Messages bekundete. Ohne Anwesenheit des “OSD” sendet die NAZA nur marginal flugbezogene Daten auf den Bus.
“GPS” ist kein CAN Bus Device sondern hat ein asynchron-serielles Interface. GPS kann an NAZA’s Multiport “EXP” angeschlossen werden, – aber wenn man “OSD” anschließen will, um besagte Daten zu empfangen, dann benötigt man den CAN Bus. Dafür verwendet man “PMU” an “EXP” der NAZA und schließt “GPS” an den asynchron-seriellen “GPS Port” der “PMU” an.
Die NAZA Main Unit benötigt “PMU”, um am CAN Bus teilnehmen zu können, sie ist aber auch der einzige Sender von CAN Messages mit Dateninhalt. NAZA Messages sind komplex, sie bemühen atomare CAN Bus Messages als Vehikel, – vergleichbar Layer 7 und 4 im TCP/IP Stack.  –  Will man nur die GPS-Daten in der Fasson, wie sie die Firmware des Microcontrollers im GPS-Pilz vom uBlox Empfänger abnimmt und weiterleitet, reicht es, am seriellen Interface des Pilzes zu sniffern. Das tut z.B. der Logger “Flytrex Core”. Will man mehr, und wenn auch nur einen Kompass, muss am CAN Bus gelauscht werden. Die rohen Magnetfelddaten des Sensors im Pilz sind für einen Kompass unbrauchbar, denn die Kompensation (Hard/Soft Iron Distortion) findet durch die Main Unit statt, und diese hat auch die für eine Neigungskompensation erforderlichen Daten, x/y/z vom Beschleunigungssensor (Gravitationsvektor) bzw. Roll/Pitch aus der IMU.
Leider stellt die Main Unit kaum Daten auf den Bus, die sie evtl. selbst aus solchen bildet, die GPS+Magnetfeld und ihre eigenen Sensoren roh bereitstellen. Offenbar muss ein OSD z.B. einen neigungskompensierten Kompass selbst implementieren. Damit befindet sich C2T in derselben Lage. “Altitude relative” (Höhe über Grasnarbe), “Heading” (tilt-compensated compass), “Heading to Home”, “Distance” und “Speed” (GPS SOG) bildet er selbst.
Odds
 – IMU
Es ist nicht bekannt, welchen Filter die IMU verwendet, – Calman, DCM,.., bzw. welche Parametrisierung dessen. Jedenfalls scheinen die Beschleunigungswerte eine ungewöhnlich hohe Wichtung zu haben vor denen des 3xGyros. “Rauschen” von x/y/z des Acc Sensors hat auf die Ausgangswerte Pitch/Roll der IMU einen ebenso hohen Effekt, wie es auf den raw und normierten Rohdaten des Acc-Sensors beobachtet werden kann.  – Der Filter (IMU) scheint auch sehr niederfrequent zu oszillieren, angestoßen durch das Acc-Rauschen, ablesbar am Log von Pitch/Roll. Außerdem benötigen Pitch/Roll nach Startup eine gewisse Zeit des “Warmup” zur Stabilisierung.
.
 – Kalibrieren des Magnetfeldsensors im GPS-Pilz
DJI beschreibt es so, und die Routine in der Main Unit verlangt es auch so:
Das kann leider keine vollständige Kompensation der Hard/Soft Iron Distortion geben, denn dazu muss der Wertebereich aller DREI Achsen bestimmt werden, Maxima/Minima.  Was hier zu kurz kommt, ist die Z-Achse. Und richtig.., später im neigungskompensierten Kompass macht es sich bemerkbar: Drehe ich den Copter auf den Kopf, bei gleicher Nasenrichtung und identischem Roll/Pitch, dann variiert das Heading beim Drehen von der “Missionars-” in die Kopfstellung um ca. 10°.
Wenn man Roll und Pitch der NAZA (vom CAN Bus) zur Neigungskompensation verwendet, stellt man fest, dass beide Werte die falsche Laufrichtung haben, +/- pi bzw. +/- pi/2 (+/-180°, +/-90°). C2T gibt daher beide Werte in invertierter Laufrichtung aus, so, wie sie der Kompass verwendet. IMU (NAZA Main Unit) und GPS-Pilz stehen nun mal in fixer räumlicher Beziehung zueinander.

Die Kommentarfunktion ist geschlossen.