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
Nix für ungut. Meine Frage: Ist mit einer IMU alleine die absolute Richtungsdetektion überhaupt möglich, wenn magnetische Störfelder oder Abschirmungen auftreten?
Soweit ich weiß, wird der Kompasssensor als Driftkompensation für das Gyroskop verwendet. Mit dem Kalman-Filter multiplizierst Du vereinfacht gesehen Varianzen. Wenn allerdings die Varianz des Kompasses ungültig ist (was willst Du als Varianz annehmen, wenn ein Magnet durch die Wohnung springt?), kann auch der Kalman nix mehr machen. Der müsste den Kompassfehler detektieren und vorübergehend die Kalmanerei als Errorstate aussetzen.
Was passiert im dynamischen Fall bei der Vorbeifahrt am Magneten?
Kein Problem, wenn das Störfeld schnell genug verschwindet, dann sollte der Kalman wieder greifen, bevor der Drift ein Problem wird.
Was passiert aber jetzt, wenn ich meinen Roboter im Stillstand neben dem Magneten parke und der Kalman nicht greift? Dann müsste der Gyro anfangen zu driften! Oder ich kalibriere den Kompass im Störfeld durch einen Turnaround neu?!? Dann werde ich Gleiches tun müssen, wenn ich aus dem Störfeld wieder herausfahre.
Also ich bin der Meinung, ohne externes Zutun kann's nicht funktionieren. Die IMU kann's nicht alleine, egal was man da intern fusioniert oder filtert.
Kern von HaWe's Aussgae war ja nicht die Kalibrierung, sondern dass durch die Fusion der Messdaten bei stehendem Objet und wechselndem Magenetfeld der kompass trotzdem die Ruhe bewahrt ... ich denke es macht aber am emisten Sinn, alle Faktoren selber zu erfassen und auszuwerten. Ich glaube kaum das ein "Consumer Class" Produktjemals diesen Grrad der Störfestigkeit erreichen wird.
In meinem alten Institut hat man auch einen 100k teuren hochleistungs positionssensor-monoblock gekauft damit man auch die vibrationen der flugzeugmotoren aus dem messignal rausrechnen kann
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
genau,
den Roboter leer oder beladen zu kalibrieren bringt gar nichts, weil die wechselnde Beladung und jede Drehung des ferromagnetischen Roboterarms oben drauf sofort alles wieder zunichte macht.
Selber rechnen ist aber ebenso übermäßig aufwändig (mindestens, wenn nicht sogar komplett illusorisch) wie den Tinkerforge Sensor auf meinem Arduino oder Pi implementieren zu wollen.
Grundsätzlich zeigt aber Tinkerforge immerhin, dass sie es wohl ziemlich perfekt geschafft haben, und auch, dass es sicherlich einiges (!) an Gehirnschmalz erfordert hat, denn selbst die Version 1.0. war ja noch längst nicht so gut, und auch hier steckt sicher schon etliches an Entwicklungsarbeit drin, was ich alleine mit meinen Kenntnissen niemals erreichen könnte -
- hier nochmals der Link:
https://www.youtube.com/watch?v=Aq3SqVen5AQ
aber wie gesagt, dieses Topic geht ja um den Boschsensor mit eingebautem Signalprozessor, und es wäre ntl super, wenn der das auch so gut hinkriegen würde.
Aber im Falle dass nicht: was soll ich mit einem solchen Gerät samt Signalprozessor, wenn ich dann doch alles selber rechnen müsste? Ich Suche ja gerade eine Alternative zum Tinkerforge, die das eben schon kann.
Geändert von HaWe (17.07.2017 um 16:29 Uhr)
Wenn man den BNO055 mit der Adafruit library verwendet kann man die Kalibrierung ganz einfach speichern und wieder reinladen. Wenn man außerdem keine absolute Magnetorientierung sondern nur eine relative braucht kann man sich sogar das sparen.
ich hatte es jetzt vielleicht schon das ein oder andere Mal erwähnt, aber Kalibrierung nützt absolut nichts, denn es ist für einen Navigations-Roboter, da brauche ich eine absolut sichere Kurs-Ermittlung, und was soll ich kalibrieren, wenn sich die Fremdmagneteinflüsse alle paar Millisekunden unvorhersehbar komplett ändern können?
schau dir das Video an, Teil 3, sowas mit den Fremdmagneten passiert laufend, und dabei bewegt sich das Teil auch noch mit bis zu 10 km/h in alle möglichen Richtungen vorwärts, rückwärts, und in Kurven. Odometrie für Kursrichtung geht nicht, da teilweise rutschiger Untergrund mit ungleicher beidseitiger Traktion. Also muss es eine IMU sein, die absolut Fremdmagnet-stabilisiert ist (Temperatur ebenfalls wechselnd, s. Video Teil 4, aber nicht so extrem, vielleicht 20° absolut indoors vs. outdoors). Eine passende Sensor Fusion und Filterung (s. Video Teil 3) kann das Problem lösen, und wie gesagt, per on-board-Signalprozessor, wie beim IMU Brick 2, für Raspi u/o Arduino (C/C++).
Der Raspi ist übrigens für den Robi eh der Hauptprozessor, aber ein Arduino Due hängt als Huckepack MCU als IO-Muxer sowieso auch schon per UART dran, dadurch ist UART am Raspi besetzt, SPI ist für Fremdhardware reserviert, aber I2C ist noch frei am Raspi und USB/UART per CH341. Am Arduino sind je 1 i2c, SPI und UART frei.
Das Video oben stellt ziemlich gut die Anforderungen dar, in allen Belangen, bis auf die Treiber, die per C/C++ code über I2C (wiringI2C, Arduino Wire) oder UART (wiringSerial, Arduino Serial) abgefragt werden sollen.
Geändert von HaWe (18.07.2017 um 08:55 Uhr) Grund: typo
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.
Lesezeichen