Abrufen von Koordinaten eines Geräts in einem 3D-Raum

Ich möchte ein Gerät bauen, das seine x- und y-Koordinaten in einem 3D-Raum kennt, zum Beispiel in einem Raum. Ich kann das Gerät überall im Raum bewegen, aber ich brauche nur x- und y-Koordinaten. Gibt es überhaupt eine Möglichkeit, Beschleunigungsmesser und/oder Gyroskope zu verwenden? Wenn nicht, wie geht das am einfachsten?

--Bearbeiten--

Hier sind die Einzelheiten. Das Gerät wird eine Art elektronischer Stift sein. Wenn ich mit diesem Gerät etwas an die Wand zeichne, möchte ich, dass es auch auf meinem Computerbildschirm gezeichnet wird. Die Wandgröße ist festgelegt. Kann mir also eine IMU die genauen Koordinaten an der Wand während ein paar Stunden Zeichenzeit geben? Wenn ja, wie hoch sollte die Genauigkeit oder Empfindlichkeit der IMU sein?

Sie müssen ein paar weitere Details hinzufügen, was Sie zu tun versuchen, wenn Sie eine hilfreiche Antwort erhalten möchten ...
Ich habe die Details hinzugefügt.
Ein bisschen wie ein SMART Board? de.wikipedia.org/wiki/Smart_Board

Antworten (3)

Ich habe tatsächlich vor ein paar Jahren eine Arbeit darüber veröffentlicht. Es ist in der Tat schwierig, Objekte in Innenräumen mit einer IMU zu verfolgen. Wie bereits erwähnt, ist die einzige praktische Möglichkeit, dies zu tun, Updates. Ich habe passive RFID-Tags verwendet, um die Position meiner sehr kostengünstigen IMU (Prototyp für weniger als 100 US-Dollar) zu aktualisieren. Die IMU arbeitet für kurze Zeit genau, beginnt jedoch zu driften. Sie muss lediglich gelegentlich an einem RFID-Tag vorbeikommen, dem eine eindeutige ID und ein Standort zugeordnet sind. An diesem Punkt kennen Sie nicht nur Ihre aktuelle Position, sondern können auch eine affine Transformation Ihres vorherigen Pfads durchführen, um ein genaueres Bild davon zu erhalten, wo Sie sich befanden. Ihre Frage ist in Bezug auf Ihre Anwendung etwas vage (ich habe Menschen verfolgt), aber vielleicht würde diese Koppelnavigation mit RFID-Passermarken-Updates für Sie funktionieren. Das Papier heißt „

Danke für deine Antwort. Ich habe einige Details bearbeitet und hinzugefügt. Könntest du dabei helfen?
Ah, angesichts der Details denke ich, dass eine Referenz-aktualisierte IMU nicht die beste Implementierung ist. Sie müssen einen 3D-Raum nicht wirklich verfolgen, und das ist ein viel einfacheres Problem. Für ein DIY-Smartboard würde ein Infrarotkamera-Setup wahrscheinlich am besten funktionieren. Sehen Sie sich als Referenz Johnny Chung Lees Arbeit mit Wiimotes an. Ich denke, das wäre einfacher, als in die für IMUs erforderliche Kalman-Filterung einzusteigen.
Danke für deine andere Sichtweise auf das Problem. Aber ich möchte keine Kamera verwenden. Wenn Sie also denken, dass es mit einer IMU möglich ist, wie sollte die Präzision der IMU sein? Können Sie mir ein Modell anbieten?
Sicher. Ich denke, es ist am besten, wenn Sie anfangen, sich für eine IMU zu entscheiden, die eine Menge Community-Unterstützung hat, zum Beispiel diese von Sparkfun . Das ist ein 9DOF, aber in Wirklichkeit denke ich, dass Sie das Magnetometer in Innenräumen ziemlich nutzlos finden werden. Es ist auch groß. Wenn Sie also mit eingebetteten Systemen ziemlich vertraut sind und Ihre eigenen entwickeln möchten, würde ich den MPU60X0 von Invensense und einen MSP430-Mikrocontroller von TI empfehlen. Die Verarbeitung ist der schwierigste Teil. Bist du gut in fortgeschrittener Mathematik?
Der MPU-6050 ist entweder SPI oder I2C, Sie benötigen eine Art Mikrocontroller, um mit ihm zu sprechen. Ich weiß genau, dass es funktionieren kann. Sie müssen sich jedoch darüber im Klaren sein, dass dies keine Sache ist, die Sie einfach anschließen und tun, was Sie wollen. Die IMU gibt Ihnen rohe Beschleunigungsmesser- und rohe Kreiselwerte, die Sie in Bezug auf die Zeit integrieren müssen (doppelte Integration für Beschleunigung und einfache für den Kreisel, da es sich um eine Winkelgeschwindigkeit handelt). Wenn Sie keine nennenswerte Erfahrung in Embedded-Design und Signalverarbeitung haben und die Kalman-Filterung nicht ohne Weiteres verstehen können, ist dieses Projekt möglicherweise überfordert.

Die Verwendung von nichts anderem als einer aus Beschleunigungsmessern und Gyroskopen aufgebauten Trägheitsmesseinheit (IMU) ist eine Möglichkeit, den Standort zu bestimmen, leidet jedoch unter Fehlern in der geschätzten Position, die sich mit der Zeit ansammeln. Das Apollo-Raumschiff hatte extrem präzise IMUs, musste aber dennoch aktualisierte Positions- und Geschwindigkeitsinformationen von Radartrackern auf der Erde und Winkelmessungen zu Sternen erhalten, um genau navigieren zu können. IMUs eignen sich hervorragend für die kurzfristige Lokalisierung, aber für die Genauigkeit im Laufe der Zeit reichen selbst teure IMUs nicht aus.

Irgendwie müssen Sie Ihre Position relativ zu Orientierungspunkten in der Umgebung messen. Dies wird üblicherweise entweder mit einem Laser- oder Sonar-Entfernungsmesser zum Messen von Entfernungen oder mit einer Videokamera zum Abschätzen von Winkeln durchgeführt. Wenn Sie nicht einmal die wahren Standorte der von Ihnen verwendeten Orientierungspunkte kennen, wird die Aufgabe zum schwierigeren Problem der " gleichzeitigen Lokalisierung und Kartierung " (SLAM).

ROS bietet mehrere Pakete für Lokalisierung und SLAM. Ich schlage vor, durch einige der Demos und Videos zu stöbern, um eine Vorstellung davon zu bekommen, was möglich ist und was am besten zu Ihrer Anwendung passt.

Holen Sie sich zwei (oder mehr) USB-Webcams, die aus verschiedenen Winkeln in den Raum blicken, und platzieren Sie einen Bandpassfilter, der nur IR- (Infrarot-) Licht durchlässt, vor ihnen. Schließen Sie die Kameras an einen Computer an und finden Sie eine Software, mit der Sie Frames als Bitmaps erfassen können, damit Sie sie lesen können. Dies funktioniert am besten, wenn Sie die Kameras gleichzeitig auslösen können, aber wenn sich das verfolgte Objekt nicht schnell bewegt, ist dies nicht erforderlich. Installieren Sie entweder IR-LEDs oder passive IR-Retroreflektoren auf Ihrem Gerät (und strahlen Sie IR-Licht darauf). Da es der hellste Punkt sein wird, den die Kameras sehen werden (dank der IR-Kerbfilter), sollte der Algorithmus zum Verfolgen dieses einzelnen hellen Punkts nicht zu kompliziert sein (insbesondere im Innenbereich, im Freien wird die Sache ziemlich kompliziert (ich habe Tun Sie dies, indem Sie die LEDs synchron mit dem Kameraverschluss sehr hell pulsieren. Die Belichtungszeit ist sehr kurz, etwa 400 us, aber Sie brauchen das nicht)). Entwickeln Sie dann eine Software, um die Position im Raum von der 2D-Position zu triangulieren, die Ihnen jede Kamera gibt. Diese Position kann drahtlos an Ihr Gerät gesendet werden, sodass es weiß, wo es sich befindet. Sie müssen auch irgendwie garantieren, dass der Marker immer sichtbar ist, und dies kann erreicht werden, indem Sie mehrere Kameras platzieren und nur Daten von denen verwenden, die ihn zu einem bestimmten Zeitpunkt sehen können.