.. und wie ist der Stand bei ChargerFR ?
Die letzten MONATE bin ich schier verzweifelt an meinen IMUs, die da sind MPU9250 und Adafruit Lis3mdl.
Ich könnte jetzt wahrscheinlich das Forum füllen, mit all dem was ich nicht hin bekommen oder auch falsch gemacht habe.
Die Probefahrt im Freien steht noch aus, die in der Werkstatt ist aber bereits positiv absolviert.
Nun, was waren (und hoffentlich sind auch nachhaltig) die Brustlöser gewesen.
Allem voran hat mir die Visualisierung der aufgenommenen Mag-Werte von den Magnetsensoren geholfen. Diese habe ich über die Serielle Schnittstelle geloggt und in Fusion360 importiert und damit erst einmal ein Verständnis über die Qualität und insbesondere die Offsets bekommen. Wenn man in Fusion360 die Punktewolke in den Ursprung verschiebt, hat man sofort die Offsets ermittelt - besser und einfacher als jeder Algorithmus. Hier liegt aus meiner Sicht eine ganz entscheidende Fehlerquelle die direkt abhängt von der Kreisverteilung der aufgenommenen Mag-Werte und dem Auswerteverfahren.
Der zweite Bringer ist das Lesen der Datenblätter - da erkennt man, daß auf den Chips die Koordinatenachsen unterschiedlich sind, insbesondere beim MPU9250, der zwei verschiedene für Beschleunigungs- /Gierratensensor und Magnetsensor benutzt. Die auf den Chips aufgedruckten Koordinatenpfeile sind nicht verläßlich.
Zum Dritten benötigt man eine gute Bibliothek. Hier ist entscheidend in welcher Einheit und in welchem Koordinatensystem die Werte bereitgestellt werden, man rate einmal, jede Bibliothek macht es anders (z.B. Gaus vs uTesla, rad/s vs °/s, g vs m/ss). Ich nutze jetzt die Bibliotheken von Bolder Flight Systems (siehe github).
Versucht man nun aus Beschleunigung, Gierrate und Feldstärke ein stabiles Heading zu erzeugen spielt wieder das Koordinatensystem eine große Rolle. Welcher Filter welches System benutzt ist oft nicht leicht oder garnicht ersichtlich.
Ich habe jetzt zwei Varianten umgesetzt:
1: Mahony-Filter mit acc, gyro und mag-Werten im Eingang
2: Tilt-Filter von Bolder Flight Systems (BFS) mit acc und mag-Werten, ohne gyro.
Und siehe da, wenn man wohl?? alles richtig gemacht hat, dann liefern beide IMUs stabile Werte, die sogar sehr nahe beieinander liegen.
Aktuell scheint der BFS-Filter bessere Signale zu liefern
Nebenbei: Ich habe den Esp-Webserver aufgebohrt, damit ich die Heading-Signale besser aufnehmen und beobachten kann.
Wer Bedarf hat kann sich gerne melden.
Es grüßt Fürst Ruprecht