Obtener coordenadas de un dispositivo en un espacio 3d

Quiero hacer un dispositivo que conozca sus coordenadas x e y en un espacio 3D, por ejemplo, en una habitación. Puedo mover el dispositivo a cualquier lugar de la habitación, pero solo necesito las coordenadas x e y. ¿Hay alguna forma de hacer esto usando acelerómetros y/o giroscopios? Si no, ¿cuál es la forma más fácil de hacer esto?

--Editar--

Aquí están los detalles. El dispositivo será una especie de bolígrafo electrónico. Cuando dibujo algo en la pared con ese dispositivo, quiero que también se dibuje en la pantalla de mi computadora. El tamaño de la pared es fijo. Entonces, ¿puede una IMU darme las coordenadas precisas en la pared durante un período de dibujo de unas pocas horas? En caso afirmativo, ¿cuál debería ser la precisión o sensibilidad de la IMU?

necesita agregar un montón más de detalles de lo que está tratando de hacer si desea obtener una respuesta útil ...
Agregué los detalles.
¿Un poco como una SMART Board? en.wikipedia.org/wiki/Smart_Board

Respuestas (3)

De hecho, publiqué un artículo sobre esto hace un par de años. De hecho, es difícil rastrear objetos en interiores con una IMU. Como se mencionó aquí anteriormente, la única forma práctica de hacerlo es con actualizaciones. Usé etiquetas RFID pasivas para actualizar la posición de mi IMU de muy bajo costo (menos de $100 prototipo). La IMU funciona con precisión durante períodos cortos, pero comenzará a desviarse, todo lo que necesita es pasar ocasionalmente cerca de una etiqueta RFID que tenga una identificación única y una ubicación asociada. En ese momento, no solo conoce su posición actual, sino que puede realizar una transformación afín en su ruta anterior para obtener una imagen más precisa de dónde estaba. Su pregunta es un poco vaga en su aplicación (estaba rastreando humanos), pero tal vez esta estimación con actualizaciones fiduciarias de RFID funcione para usted. El papel se llama "

Gracias por tu respuesta. Edité y agregué algunos detalles. ¿Podrías ayudar con eso?
Ah, dados los detalles, creo que una IMU fiduciaria actualizada no es la mejor implementación. En realidad, no necesita rastrear un espacio 3D y ese es un problema mucho más simple. Para una pizarra inteligente de bricolaje, una configuración de cámara infrarroja probablemente funcionaría mejor. Como referencia, consulte el trabajo de Johnny Chung Lee con Wiimotes. Creo que sería más fácil que ingresar al filtrado de Kalman requerido para las IMU.
Gracias por tu punto de vista diferente al problema. Pero no quiero usar una cámara. Entonces, si cree que es posible con una IMU, ¿cuál debería ser la precisión de la IMU? ¿Podrías ofrecerme un modelo?
Seguro. Creo que es mejor cuando estás empezando a ir con una IMU que tendrá una buena cantidad de apoyo de la comunidad, por ejemplo, esta de Sparkfun . Eso es un 9DOF, pero en realidad creo que encontrará el magnetómetro bastante inútil en interiores. También es grande, por lo que si se siente bastante cómodo con los sistemas integrados y le gustaría crear el suyo propio, le recomendaría el MPU60X0 de Invensense y un microcontrolador MSP430 de TI. El procesamiento es la parte más difícil. ¿Eres bueno con las matemáticas avanzadas?
El MPU-6050 es SPI o I2C, necesitará algún tipo de microcontrolador para comunicarse con él. Sé con certeza que puede funcionar. Sin embargo, tienes que darte cuenta de que esto no es solo un tipo de cosa que se conecta y hace lo que quieres. La IMU le dará valores brutos de acelerómetro y giroscopio que tendrá que integrar con respecto al tiempo (doble integración para aceleración y simple para el giroscopio debido a su velocidad angular). Si no tiene una experiencia significativa en diseño integrado y procesamiento de señales y no puede entender fácilmente el filtrado de Kalman, este proyecto puede estar fuera de su alcance.

Usar nada más que una unidad de medición inercial (IMU) construida con acelerómetros y giroscopios es una forma de determinar la ubicación, pero adolece de un error en la posición estimada que se acumula con el tiempo. La nave espacial Apolo tenía IMU extremadamente precisas, pero aún necesitaba recibir información actualizada de posición y velocidad de los rastreadores de radar en la Tierra y mediciones de ángulo a las estrellas para navegar con precisión. Las IMU funcionan muy bien para la localización a corto plazo, pero para la precisión a lo largo del tiempo, incluso las IMU costosas no son suficientes.

De alguna manera, necesita medir su posición en relación con los puntos de referencia en el entorno. Esto se hace comúnmente usando un telémetro láser o sonar para medir distancias, o usando una cámara de video para estimar ángulos. Si ni siquiera conoce las ubicaciones reales de los puntos de referencia que está utilizando, entonces la tarea se convierte en el problema más difícil de " localización y mapeo simultáneos " (SLAM).

ROS proporciona varios paquetes para localización y SLAM. Sugiero navegar a través de algunas de las demostraciones y videos para tener una idea de lo que es posible y lo que podría adaptarse mejor a su aplicación.

Obtenga dos (o más) cámaras web USB que observen la habitación desde diferentes ángulos y coloque un filtro de paso de banda que solo permita el paso de la luz IR (infrarroja) frente a ellas. Conecta las cámaras a una computadora y encuentra algún software que te permita capturar fotogramas como mapas de bits para que puedas leerlos. Esto funciona mejor si puede activar las cámaras simultáneamente, pero si el objeto rastreado no se mueve rápidamente, esto no es necesario. Instale LEDS IR o retrorreflectores IR pasivos en su dispositivo (y brille la luz IR sobre él). Dado que será el punto más brillante que verán las cámaras (gracias a los filtros de muesca IR), el algoritmo para rastrear este único punto brillante no debería ser demasiado complicado (especialmente en interiores, al aire libre complicará bastante las cosas (he hecho esto pulsando los LED muy brillantes en sincronismo con el obturador de la cámara, teniendo un tiempo de exposición muy corto, alrededor de 400us, pero no necesitas esto)). Luego, desarrolle un software para triangular la posición en el espacio desde la ubicación 2d que le brinda cada cámara. Esta posición se puede enviar de forma inalámbrica a su dispositivo, para que sepa dónde está. También debe garantizar de alguna manera que el marcador esté siempre visible, y esto se puede hacer colocando varias cámaras y solo utilizando datos de aquellas que pueden verlo en un momento determinado.