Soweit ich das lese muss der nach jedem Power Up kalibiriert werden oder Klaibierdaten bekommen
ein MPU-6050 benötigt das meines Wissen nach nicht und hat glaube ich dieselben Funktionen wnen nicht vll. eine Spur mehr!
hallo,
hat jemand Erfahrung mit der IMU Bosch BNO055 (z.B. Arduino, Raspberry Pi)? Wie gut funktioniert Sensor Fusion mit seinen Einzel-Sensoren, und ist er mit seinem eingebauten Signal-Prozessor mit div. statistischen oder stochastischen Filtern unempfindlich gegen sich bewegende magnetische Störfelder?
https://learn.adafruit.com/adafruit-...ensor/overview
Soweit ich das lese muss der nach jedem Power Up kalibiriert werden oder Klaibierdaten bekommen
ein MPU-6050 benötigt das meines Wissen nach nicht und hat glaube ich dieselben Funktionen wnen nicht vll. eine Spur mehr!
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
hallo,
danke, wenn der immer kalibriert werden muss, dann scheidet er aus. Außerdem ändern sich die Magnet-Störfelder auch während des Betriebs, von daher ist eine Kalibrierung am Anfang nicht so hilfreich.
Der MPU6050 oder 9050 hat aber keinen Signalprozessor an Bord.
Ich habe den CMPS11, dessen Gyro ist sehr gut durch den Magnetfeldsensor stabilisiert, aber nicht umgekehrt, daher dreht der ermittelte Kurs (yaw, heading) bei Störfeldern um sage und schreibe bis zu 180°.
Ich Suche daher eine IMU, bei der der Kompass durch den Gyro stabilisiert wird und dessen (geringe, normale) Gyro-Drift per Filter (Highpass?) eliminiert wird, sodass man eine stabile Kursanzeige hat auch bei starken wechselnden Magnet-Störfeldern.
Es gibt tatsächlich bereits so einen Sensor (Thinkerforge IMU Brick 2), der ist aber leider von den Treibern her (kombiniert TCP/IP und USB) absolut nicht zu händeln für mich (Arduino oder Raspi C/C++).
Meine Hoffnung war daher einer dieser genannten Bosch Sensoren.
Sorry ich glaube das war der MPU 91irgendwas von sparkfun, der hat angeblich schon fusiondaten und embedded logic dafür drinne
den 6050 hab ich jetzt bei mir im einsatz, daher der gedankendreher, aber da reichen mir die üblichen daten schon aus
- - - Aktualisiert - - -
doppelkorrektur, es IST der 6050
https://www.sparkfun.com/products/13762 das ist der 9250 (9150 ist veraltet)
https://www.sparkfun.com/products/11028 das ist der 6050 ließ dir mal die ebschreibuing durch, hört sich schwer nach dem an was du suchst
---
- Digital Motion Processing™ (DMP™) engine offloads complex MotionFusion, sensor timing synchronization and gesture detection
- Embedded algorithms for run-time bias and compass calibration. No user intervention required
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
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
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