PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsbestimmung (IMU)



Smazze
15.05.2014, 16:18
Hallo Freunde,
um die Position eines Roboters zu bestimmen möchte ich gerne eine IMU (inertial measurement unit) benutzen.
Dieser soll Beschleunigungen und Drehraten aufzeichnen und am besten über einen Kalman-Filter korrigieren.
Am Ende möchte ich eig. nurnoch Daten (x-Position, y-Position, Winkel) über I2C, RS232 etc auslesen.
Optimal wäre wenn ich an ein paar Stellschrauben drehen könnte (zu erwartende Beschleunigung etc)

Hat einer von euch eine Idee welches Modul man da nehmen kann?
Eventuell eine andere Idee wie man die Position möglichst genau bestimmen kann?

Gruß
Smazze

Rabenauge
15.05.2014, 18:35
Fertige IMU, die auch noch aufzeichnet, wüsste ich keine-mal höflich bei Boeing anfragen, die bauen sowas in Flugzeugen ein.... ;)
Und: selbst die können keine absolute Position ermitteln!
Lediglich möglich ist damit, eine Position relativ zu einer (bekannten) Startposition zu ermitteln.
Wenn du nen reinen Sensor meinst, der -erstmal-nix weiter kann, davon ist Ebay voll: ich würd da zu einer Kombi aus Kompass, Beschleunigungs-und Rotationssensor greifen, die gibts für wenig Geld schon. Sowas z.B. http://www.dx.com/p/gy-85-6dof-9dof-imu-sensor-module-for-arduino-148436#.U3Tsu_xX18E
Praktischerweise spricht der auch gleich I2C- also einfach zu handlen.
Dann codest dir fix noch nen schnuckeligen Kalman-Filter und hast, was du haben möchtest. Nur aufzeichnen musste die Daten schon noch, das kann das Teil _auch_ nicht..

Defiant
16.05.2014, 20:15
Achtung: Mit den in den üblichen IMUs verbauten Beschleunigungssensoren lässt sich leider nur die Erdbeschleunigung messen, nicht die Fahrzeugbeschleunigung.

Warum verwendest du keine Odometrie mit Radencodern? Etwa Ketten verbaut?

- - - Aktualisiert - - -

Achtung: Mit den in den üblichen IMUs verbauten Beschleunigungssensoren lässt sich leider nur die Erdbeschleunigung messen, nicht die Fahrzeugbeschleunigung.

Warum verwendest du keine Odometrie mit Radencodern? Etwa Ketten verbaut?

Che Guevara
16.05.2014, 21:43
Hi,

jeder Beschleunigungssensor misst sowohl dynamische, als auch statische Beschleunigung. Wie kommst du darauf, solch ein Sensor sei intelligent genug, zwischen Erd- und Nicht-Erdbeschleunigung zu unterscheiden? Das wäre natürlich fantastisch, aber mir sind keine derartigen Sensoren bekannt. Wenn du da mehr weist, lass es mich wissen.
BTT:
Ein geeigneter Sensor wäre z.b. der MPU9000, ist 9-Dof, zusammen mit nem GPS-Modul und nem Luftdrucksensor hast du alle Freiheitsgrade integriert, die auf einem Roboter von Interesse sein können. Die Daten musst du allerdings selbst fusionieren, lediglich ACC, Gyro & Compass könntest du per DMP dem MPU überlassen, wie das geht kann ich dir aber nicht sagen (gibt aber wohl eingie Infos im Netz).

Gruß
Chris

seite5
17.05.2014, 11:26
Hi,
Um aus der Beschleunigung den Weg und damit quasi die relative Position zu bestimmen muss, wie wir aus der Physik wissen,
zweimal über die Zeit integriert werden, d.h., Fehler des Sensors werden über die Zeit aufsummiert, kann man sich leicht
mit ein paar Zahlenbeispielen ausrechnen, dass der Positionsfehler schon nach kurzer Strecke indiskutabel hoch wird.
mfg
Achim

Rabenauge
17.05.2014, 11:33
Ich benutze einen solchen Sensor ja im kleinen Segway (meiner ist allerdings _nur_ Gyroskop und Beschleunigungssensor, also die 6DoF-Ausführung), auch nach ner Stunde liefert er noch exakt das selbe Messergebnis. Kann also mit nem aufsummieren Messfehler so wild nicht sein.

Che Guevara
17.05.2014, 15:18
Hi,

ihr redet da gerade aneinander vorbei ;)
seite5 geht von der Positionsbestimmung per doppelter Integration aus, was wie schon gesagt wurde, unbrauchbar ist. Rabenauge geht von der Winkelbestimmung aus, bei welcher der Acc ja nicht doppelt integriert wird, lediglich eine einfache Integration des Gyros findet statt, dessen Werte dann vom Acc korrigiert werden, um eben den oben genannten Fehler, der auch bei einfacher Integration auftritt, zu korrigieren.
Es ist allerdings schon möglich, den Acc doppelt zu integrieren, um auf die Position zu kommen, allerdings muss dieser Wert dann per Filter / Datenfusion wieder korrigiert werden, zb. per Gps Modul oder Indoor per Kamera / Baken. Das hätte den Vorteil, dass der Acc sehr viel schneller auf Änderungen reagiert, als zb. das Gps Modul, welches zumeist eine begrenzte Ausgaberate hat.

Gruß
Chris

Smazze
20.05.2014, 19:04
Vielen Dank für eure Antworten!!

Hatte mir nun mal ein IMU rausgesucht:
http://www.watterott.com/de/9-DoF-Razor-IMU

Zu dem ITG-3200 Sensor..
Im Datenblatt steht das dieser Sensor +- 2000 °/s Skalar hat.
Ich möchte diesen Sensor für einen Roboter benutzen.
Dieser dreht sich vielleicht mit... ka.. 90°/s ??

Ist dieser Sensor dann für diesen Bereich überhaupt geeignet?
Lese im Datenblatt auch nicht das ich den Wertebereich Einschrenken kann??

Oder ist das egal??
eine Spannung von 2V würd ich auch nicht mit einem Spannungsmessbereich von 400V messen?!

Rabenauge
20.05.2014, 19:44
Wird schon gehen-mir wär das ding aber nun wirklich _entschieden_ zu teuer.
Hat zwar einiges drauf, aber das kann man auch selber machen.

Noch bisschen Lesestoff dazu-stand unter deinem Link..: https://www.sparkfun.com/pages/accel_gyro_guide