Jump to content

Imu Brick2 Roll - Drift


Recommended Posts

Hallo. Ich möchte dem imu brick 2 benutzen um mein GPS zu korrigieren.

 

Ich brauche es für einen Landwirtschaftlichen Zweck. Dazu brauche ich ein stabiles Heading und Roll um den Hang auszugleichen. Bei unseren Test stellten wir ein relatives großen Drift beim Roll fest. Wir benutzen IMU_V2_CALLBACK_ORIENTATION um die Daten auszulesen.

 

Woran kann das liegen?

Roll.thumb.JPG.24550e9bc8a7e438c40b4932a31d23d6.JPG

Link to comment
Share on other sites

Ein Drift kommt oft Zustande wenn sich Magnetfelder in der Umgebung ändern. Welchen "Sensor Fusion Mode" verwendet ihr?

 

Gibt es irgendein spezielles Event bei ~1200 Sekunden welches dazu geführt hat das der Wert zurückspringt?

Link to comment
Share on other sites

Ich meinte die "set_sensor_fusion_mode" Funktion. Damit kann man einen Fusion-Modus ohne Magnetometer auswählen, dann kann es nicht mehr zu Drift auf Grund von Magnetfeldern kommen. Allerdings kann die IMU dann keine absoluten Werte mehr zurück geben sondern nur noch Veränderungen (ob das für eure Anwendung OK ist weiß ich nicht).

 

Dass das drei Vergleichswerte sind hab ich mir schon gedacht. Bei ~1200 Sekunden sieht es so aus als würden die IMU Brick Daten zurückspringen auf die anderen Daten. Die Frage ist warum das passiert dort?

Link to comment
Share on other sites

@aortner, ich kenn deinen Bericht im Emlid Forum über deinen autonom fahrenden Traktor (mit Reach RTK). Ich versuche mich auch seit einiger Zeit an einem autonom fahrenden Rasenmäher Roboter, hab aber die Investition in Reach RS bisher noch gescheut.

Was mich interessiert ist, warum und wie du die Tinkerforge IMU in Zusammenhang mit Reach verwenden willst? Für "Heading" würde doch auch ein einfacher Kompass reichen? 

Link to comment
Share on other sites

  • 2 months later...

Hallo

 

ich habe das gleiche Problem:

 

Roll wandert teilweise stark, obwohl sich die Neigung gar nicht ändert.

Auch im imu.SetSensorFusionMode(2) ist das noch zu beobachten

Man braucht nur die imu auf einen Tisch legen und seitlich verschieben.

Dann ändert sich teilweise auch Roll (bis zu 6°), obwohl die Neigung gar nicht geändert wird.

Ist das ein Software / Hardware Fehler ?

Ist der Sensor so ungenau ?

 

Ich suche nach Antworten, da an sich der Sensor für unsere Anwendungen perfekt wäre. Nur an der Genauigkeit hapert es etwas

 

Link to comment
Share on other sites

  • 3 years later...

Hallo Zusammen,

Ich hatte für ein studentisches Projekt auch den Versuch unternommen, mittels des IMU Bricks eine Rotationsbewegung aufzuzeichnen und kämpfe scheinbar mit einer Art Sensordrift, den ich aber mit imu.SetSensorFusionMode(2) wie hier vorgeschlagen, nicht wegbekomme.

Am orangen Graph der ermittelten Daten erkennt man das recht gut. Die Werte der Drehbewegung laufen nach dem Nulldurchgang wieder ins Positive, was ja bedeuten würde, dass Real eine Art "Wendung" stattfindet. Allerdings ist real der Bewegungsablauf abgeschlossen. Die Beschleunigungswerte (blauer Graph) und die visuelle Beobachtung entsprechen dem.

3.jpg

Den Versuchsaufbau habe ich mal vereinfacht dargestellt.IMU_Rotation.thumb.png.a29a9b79ac6d8fe3d38a26eefa32ed1d.png

Die Bewegung von Pos. 1.) nach Pos. 2.) soll aufgezeichnet werden. Nach dem Ablauf werden aber weiter Werte aufgezeichnet, die gegenläufig sind.

Sind das eigentlich die gleichen Werte, die den IMU in der 3D Anzeige des Brickviewers weiter drehen lassen, wenn er nach dem rumspielen wieder ruhig liegt? Und könnte ein Zusammenhang mit der Kalibrierung, bzw. automatischen Dauerkalibrierung bestehen?

Vielleicht hat wer einen Tip, was man prüfen könnte?

 

Gruß Tipsy

Edited by Tipsy Tinker
Pic Position Edit
Link to comment
Share on other sites

Wenn die IMU sich nach einer Zeit im Brick Viewer noch dreht liegt das für gewöhnlich am Magnetometer. Der Fusion-Algorithmus stellt dann fest, dass die absolute Position die durch Beschleunigungssensor/Gyroskop bestimmt wurde bezüglich der Richtung nicht mehr zum Magnetfeld passt und kalibriert sich entsprechend neu.

Das kann z.B. gut passieren wenn man die IMU bewegt und sie dabei näher an einen Monitor ranbringt der ein Magnetfeld ausstrahlt. Dies bezieht die IMU dann (fälschlicherweise) mit ein und kalibriert sich darauf. Das gleiche wieder umgekehrt wenn man sie wieder weiter weg bewegt.

Bezüglich des Graphen oben: Entweder die IMU hat sich wirklich erst rechtsrum um eine Achse gedreht und beim stoppen gibt es eine leichte Drehung zurück, oder es ist irgendeine Art Überschwingen des Gyroskops was dann wieder zurück schwingt.

Link to comment
Share on other sites

Moin,

vor 10 Stunden schrieb borg:

an einen Monitor ranbringt der ein Magnetfeld ausstrahlt

Ja, das konnte ich reproduzieren. Hatte ich in einem anderen Post von Dir schonmal wo gelesen. 

Mein Problem konnte ich lösen, in dem ich set_sensor_fusion_mode(0) gewählt habe. Hatte zunächst set_sensor_fusion_mode(2) versucht, allerdings hat das ja, wie oben beschrieben keine Abhilfe geschaffen. Hat wohl nicht ausgereicht, das Magnetometer abzuwählen.

Die Verwendung von unkalibrierten und unkompensierten Sensorwerten genügt wohl im dargelegten Anwendungsfall.

vor 10 Stunden schrieb borg:

eine leichte Drehung zurück

Im Zeitlupenvideo kann ich diese nicht erkennen. 

 

Naja, jetzt passt es ja.  :)

Trotzdem vielen Dank!

 

Gruß Tipsy

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...