vorbeibewegte magneten stören sogar eine mechanischen kompass, sowas kann man nicht "kurzfristig" kompensieren!
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
doch, kann man, denn der Gyro reagiert ja NICHT darauf, also kann man den Kompasswert durch die sich dann nicht ändernden Gyro / Acc Werte dadurch stabilisieren - man braucht nur die passenden Filter und Prozessoren dafür.
Der Thinkerforge IMU Brick 2 kann das sehr gut, aber wie gesagt....
Hi,
sowas kann man sich relativ leicht selbst machen:
Die Länge des Vektors des gemessenen Magnetfeldes gibt Auskunft darüber, wie stark das aktuell vorliegende Magnetfeld ist. Bei einem kalibrierten Magnetometer sollte der Wert, egal in welcher Orientation, immer gleich 1 sein. Befindet sich nun eine Störquelle in der Nähe, so verändert sich die Stärke des Magnetfeldes und dementsprechend die Länge des Vektors.
Somit kann man nun entweder den Winkel nur dann abgleichen, wenn |M|==1 oder eine Variable benutzen:
Vielleicht hilfts ja weiter.Code:a = ConstrainF(absf(1.0f - |M|),0.0f,0.1f); Coeff = 0.99f + a; Winkel = ((Winkel+(Gyro*dt)) * (Coeff)) + (MagWinkel * (1.0f-Coeff));
Gruß
Chris
nein, ganz bestimmt nicht, und auch nicht out-doors, denn der Robot hat ja Eisen- und Magnetteile in sich und an sich, und er wird auch mit Eisen- und Magnet-Teilen beladen oder sie werden an ihm vorbeibewegt (z.B. durch den Greifer, oder sie bewegen sich selbstständig), Elektromagnete wie Motoren etc. außerdem noch mit wechslender Stromzufuhr.
Hi,
also je nach Umgebung funktioniert das natürlich besser oder schlechter, aber mit einer Hard-Iron Kalibrierung (die man immer machen sollte, MINIMUM) hat man schon mal die ferromagnetischen Störfaktoren des eigenen "Körpers" ausgeblendet.
So ähnlich läuft bei mir eine Fusion auf meiner Drone, die ist natürlich fast immer Outdoor, aber da gibts auch Störquellen, welche so keinen Einfluss haben!
Je genauer man kalibriert, desto genauer lassen sich Störfelder erkennen und ausblenden. Zusätzlich gäbe es noch eine dynamische Kalibrierung, die eben solche Einflüsse (zb. Indoor) korrigiert, da muss ich aber passen.
Gruß
Chris
Hardware ist angekommen @HaWe .. mal schauen was ich heute Nachmittag so schaffe, habe noch ein Problem mit meinem Datalogger zu lösen, zum Glück übernimmt Petrus gerade die Bewässerung meines Balkons
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Video:
https://www.youtube.com/watch?v=Aq3SqVen5AQ
(hat sich überschnitten)
die Kompass-Kompensation ist nicht trivial, denn der Robot bewegt sich ja dabei, also müssen die Gyro-Werte mit berücksichtigt werden, aber dessen Drift muss herausgerechnet werden (Extended Kalman, Madgwick, Mahony Filter etc.)
Aber der Thinkerforge IMU 2.0 scheidet wegen Treiber-Monstern ja aus, meine Idee daher ob der von Bosch das auch kann.
Lesezeichen