Límites de la navegación a estima utilizando sensores MEMS

Estoy tratando de rastrear partes del cuerpo en relación con el torso de una persona. Veo bastantes preguntas sobre el uso de acelerómetros y giroscopios MEMS para la navegación a estima, y ​​confirman mis sospechas de que varios factores limitan en gran medida su utilidad para este tipo de aplicaciones, pero estoy buscando una aclaración de estos límites:

  • ¿Cuáles son exactamente estos límites?

    Otras respuestas han abordado por qué existen estos límites. Naturalmente, las especificaciones, las partes del sistema en cuestión y lo que se considera un "error aceptable" para el sistema cambiarán los límites exactos, pero ¿hay un solo orden de magnitud en el tiempo o la distancia en la que puedo esperar que funcione la navegación a estima? Soy muy consciente de que en distancias largas (unas pocas yardas más o menos) el error se vuelve demasiado grande para la mayoría de los propósitos prácticos, pero ¿qué pasa con unos pocos pies?

  • ¿Qué puedo hacer para mejorar estos límites?

    Actualmente estoy buscando usar un acelerómetro y un giroscopio. ¿Qué otros sensores puedo agregar al sistema para mejorar la tasa de error? Sé que en distancias más largas se puede usar un GPS, pero dudo que cualquier GPS de grado de electrónica de consumo tenga una resolución lo suficientemente fina como para ayudar en mi caso.

    Además, un consenso general parece que la única forma de mejorar estos límites más allá del punto de sensores mejorados es proporcionar una referencia que no esté sujeta a errores. Algunos sistemas resuelven esto usando cámaras y marcadores. ¿Qué tipo de puntos de referencia puede proporcionar un dispositivo portátil/vestible?

    He visto el uso de ondas de radio para medir largas distancias con precisión, pero no puedo decir si dicho sistema podría ser preciso en una escala tan pequeña (en términos de distancia medida) usando componentes "listos para usar".

Para la persona que marcó esto para el cierre, y cualquier otro de ese tipo, esta es una cuestión de diseño electrónico de primer orden. Está preguntando cómo construir una mejor unidad de navegación inercial usando partes COTS y cualquier otra cosa que sea posible, y cuáles son los límites actuales y qué se puede esperar de las mejoras sugeridas. La pregunta no se puede dividir razonablemente en preguntas más pequeñas para aquellos que no pueden manejar el alcance de la misma, ya que la idea central es la integración de todos los factores para obtener un resultado mejorado.
Se puede agregar un magnetómetro a un chip giroscópico y acelerómetro de 6 DOF.
De hecho, estaba considerando el hecho de que la pregunta se compone de dos preguntas más pequeñas, pero llegué a la conclusión exacta que señaló @RussellMcMahon.
Dudo que cualquier GPS de grado de electrónica de consumo tenga una resolución lo suficientemente buena como para ayudar en mi caso. De hecho, existe un GPS de consumo que proporciona una precisión centimétrica. No ha especificado si +/- 1 cm es lo suficientemente preciso para su aplicación. Y, por supuesto, cuesta bastante más que los típicos módulos GPS de precisión de +/- 3 m.
No había visto ninguno en mi búsqueda, ¿tienes los números de parte de alguno de ellos?

Respuestas (4)

  • ¿Qué son exactamente?

Las fuentes de error incluyen compensación cero (sesgo) y errores de escala (que tienden a variar lentamente) y ruido. Los precios de los sensores MEMS varían desde menos de $10 hasta más de $1000, y la magnitud de los términos de error cubre un amplio rango, dependiendo de la calidad del sensor.

El gran problema es que generalmente se requiere integración para pasar del valor del sensor (aceleración, velocidad angular) al valor deseado (posición, ángulo). Todas las fuentes de error se combinan, creciendo con el tiempo, cuando se integran. El valor de los datos para la navegación a estima decae con el tiempo, con sensores baratos que le brindan como máximo unos minutos de datos útiles y sensores de alta gama que son buenos para unas pocas horas.

  • ¿Qué puedo hacer para mejorar estos límites?

Como ya descubrió, la mejor manera de deshacerse de los crecientes errores integrados es combinar los datos del sensor con otras fuentes de datos independientes que no tengan los mismos tipos de errores. Por ejemplo, el GPS puede brindarle un valor de posición absoluto que no se desvía a largo plazo, pero tiene un componente de "ruido" relativamente grande. Puede usar estos datos para estimar el sesgo y los errores de escala de sus acelerómetros, lo que le permite corregirlos en tiempo real. También le permite cancelar la "caminata aleatoria" creada por el ruido del sensor. Un filtro de Kalman es un método común utilizado para modelar el sistema (incluidos los términos de error del sensor) y combinar los datos para obtener una estimación óptima del estado del sistema en cualquier momento.

Otro ejemplo es usar el "vector de gravedad", medido por los acelerómetros, para cancelar la deriva angular de los giroscopios. El truco aquí es saber exactamente cuándo tienes un vector de gravedad válido; es decir, el sistema no está acelerando en ninguna dirección. Se utilizan varias heurísticas (por ejemplo, "actualización cero") para lograr esto. También se puede usar un magnetómetro para medir los errores del giroscopio, incluso si no conoce la dirección absoluta del campo magnético, siempre que pueda suponer que es constante.

La detección óptica es otra forma de obtener una estimación de la velocidad, el ángulo o la posición sin desviaciones, pero el procesamiento de imágenes requerido puede requerir muchos ciclos de CPU (o FPGA), y el desarrollo de dicho sistema es bastante complicado.

Esta es una respuesta realmente excelente, pero creo que pierde la intención de una parte de la pregunta (tal vez deba aclararla más arriba). "Cuáles son ellos" se refiere a cuáles son esos límites. Entro en detalles sobre lo que quiero decir con eso en la pregunta, ya que me doy cuenta de que los valores variarán según muchos factores.
No sabría decir si estabas preguntando sobre la naturaleza de los errores o la magnitud de los errores. Traté de abordar ambos en la primera parte de mi respuesta.
Oh, ya veo, así que el tiempo es probablemente un factor mayor que la distancia en este caso (me doy cuenta de que no siempre va a ser uno u otro)

Usted preguntó qué más se podría agregar. Un magnetómetro de 3 ejes debería ser útil. El campo magnético de la Tierra tiende a moverse sustancialmente más lento que el usuario promedio (afortunadamente).
Mira el fabuloso MPU6000/6050

Una versión proporciona interfaz SPI e IIC, la otra solo IIC.

Este contiene un giroscopio de 3 ejes + un acelerómetro de 3 ejes más entradas para permitirle integrar la señal de un magnetómetro externo de 3 ejes.
El IC contiene un 'procesador de movimiento digital' que integra las señales de la matriz de sensores de 3 x 3. Todavía no me he dado cuenta de la funcionalidad precisa provista, pero la intención es procesar las 3 fuentes de señal separadas en un útil sistema de análisis de movimiento.

Hoja de datos aquí

El IC cuesta alrededor de $10/1 de Digikey y una placa de evaluación cuesta alrededor de $50+ del fabricante. O puede comprar una placa completa de China; se venden aquí por alrededor de $ 6 de EE. UU. al por menor en 1: IC y PCB ensamblados.
Todavía no he averiguado cómo sucede eso o si son reales o... . Recibí uno ayer, pero no podré jugar con él por un tiempo. (Los 'mientras' varían mucho en magnitud, desde muy pequeños hasta, a veces, demasiado grandes, por desgracia). Hay una serie de artículos en la web sobre su uso, por ejemplo, con Arduinos.

¿Qué tan preciso?:

Probablemente haya mucha discusión sobre esto en la web.
Si leí la hoja de datos correctamente (y no es un tipo de dispositivo con el que esté demasiado familiarizado),
la Tabla 6.1 en la página 12 sugiere que el giroscopio tiene una deriva de +/- 20 grados/segundo como máximo a 25 C y otra vez igual - Rango de temperatura de 40 a +85C. Suponiendo una tasa real de 20 grados/segundo, es decir una vuelta completa en 18 segundos. Sin embargo, tanto el magnetómetro como el acelerómetro brindan acceso a vectores de referencia externos (gravedad y campo magnético terrestre) y las señales de estos pueden usarse para derivar la tasa de deriva del giroscopio a corto y largo plazo y compensar. Esto bien puede ser parte de lo que hace su "procesador de movimiento".

El error del acelerómetro parece estar típicamente por debajo de +/- 5%.
Esperaría (y puede estar muy equivocado) que usar el acelerómetro y el magnetómetro para reducir los errores de deriva del giroscopio a esencialmente cero a largo plazo le permitiría usar las señales del giroscopio para navegar de segundos a minutos. El GPS también proporciona señales de velocidad y la combinación de posición + velocidad del GP con la unidad 9DOF suena muy útil.

Wooly: Lo anterior suena más lanoso de lo que me gustaría. Espero saber un poco más sobre esto en las próximas semanas. Me interesaría saber qué averiguas y, si aprendo cosas útiles, intentaré informarte.

.


Dependiendo de su aplicación, puede depositar un GPS de referencia y un receptor temporalmente en una ubicación conveniente. Esto podría ser extremadamente compacto: GPS + batería + TX. Una vez depositado, sabe dónde está y puede transmitir correcciones basadas en dónde dice el sistema que está. El uso de la misma constelación de satélites es 'probablemente una buena idea'. Si el usuario y el GPS de referencia están en el mismo punto cuando se deposita tanto mejor pero este sistema suele funcionar aunque estén siempre separados espacialmente.

... Dudo que cualquier GPS de grado de electrónica de consumo tenga una resolución lo suficientemente buena como para ayudar en mi caso.

No saber cuál es tu caso hace que sea difícil decirlo. Pero la resolución GPS relativa de muestra a muestra suele ser muy superior a lo que se logra en minutos u horas. Realicé pruebas en las que conduje por una ruta urbana y tracé las coordenadas del GPS y luego repetí el ejercicio varias horas después. En algunos casos, los dos caminos estaban separados por varios metros, pero cuando, por ejemplo, se conducía en línea recta a lo largo de una calle urbana, la trama era una línea recta con "ruido" a ambos lados de una línea recta de quizás menos de un metro. (Eso fue hace algunos años; es fácil intentarlo usted mismo. Acabo de registrar datos de una salida RS232 en serie de GPS (normalmente 4800 baudios) y en ese caso los tracé en Excel como un gráfico XY.

Se puede usar el GPS diferencial mediante el cual un receptor estacionario local de ubicación fija proporciona correcciones de errores en función de dónde sabe que está y dónde dice el sistema ahora que está. Hay muchos proveedores de tales sistemas, pero el concepto es lo suficientemente simple y fácil de implementar si con un presupuesto ajustado.

Quiero discutir esa deriva. Lo que mencionan en la hoja de datos no es la deriva, sino lo que el Gyro genera como valores mientras tiene una velocidad de rotación de 0. La segunda cifra sería entonces cuánto difiere ese valor en todo el rango de temperatura. ¿Crees que eso tiene sentido?
Estoy tratando de rastrear partes del cuerpo en relación con el torso de una persona (lo mencioné en la pregunta, pero probablemente debería moverlo a la introducción, lo enterré accidentalmente). Veo bastantes tableros de ruptura en E-bay, estoy a punto de pedir uno. Mirando por encima de la hoja de datos es un dispositivo muy prometedor. La nota sobre el GPS se refiere a qué tan corta es la distancia (<1 metro). Los dispositivos que he visto para ese tipo de medición usaban hardware muy especializado. Nunca había pensado en utilizar un sistema de GPS diferencial. He oído hablar de ellos, pero no sé mucho sobre ellos, así que leeré, ¡Gracias!
"El uso de la misma constelación de satélites es probablemente una buena idea". Así no es como funciona DGPS. La estación de referencia calcula las correcciones de pseudorango para los satélites individuales en su vista y las transmite. La otra estación solo usa las correcciones para aquellos satélites que también están en su propia vista.
Invensense ahora tiene su MPU-9250, que combina el MPU-6000 (Gyro/Accel) con un magnetómetro de 3 ejes (Asahi Kasei AK8963), dando 9 ejes en un chip. Y es más pequeño que el MPU-6000 :)
También tenía listados similares en e-bay, así que ordené uno ya que el precio promedio de los magnetómetros en las placas de conexión era casi el mismo (¡Estas placas son baratas!)

Algo que aún no está cubierto en estas respuestas es su aplicación específica, que en realidad ha sido abordada al menos una docena de veces por personas muy inteligentes. Las dos palabras clave aquí son cinemática inversa y filtros de Kalman.

A estas alturas, debería estar claro cuál es la fuente de errores para su aplicación y cómo solucionarlos. Pero cuando se trata de sensores que están esencialmente fijados a un ser humano, puede disminuir el rango de posiciones espaciales y angulares de sus sensores aplicando cinemática inversa a la ecuación. Básicamente, esto significa que realiza un seguimiento de las posiciones relativas de tantas articulaciones en el cuerpo como sea posible y le aplica un modelo cinemático del cuerpo humano. Por ejemplo, la longitud de los brazos de las personas no varía con el tiempo, ni su rango de movimiento cambia apreciablemente. Los huesos no se doblan (en circunstancias normales). Todo esto se puede usar para restringir las posiciones de sus sensores.

La otra solución es utilizar tantos sensores ortogonales como sea posible. Ortogonal en el sentido de: usar principios de medición fundamentalmente diferentes. Usando la mayor cantidad posible de datos de sensores, puede usar el llamado filtro de Kalman para determinar con la mayor precisión posible, dados los datos, dónde se encuentran sus sensores. Sin embargo, los filtros de Kalman no son una entidad mágica que arroja la mejor respuesta. Son modelos matemáticos que deben ajustarse y modificarse para su aplicación específica, y puede ser bastante complicado lograr que funcionen bien. Pero le permite, de una manera indirecta, combinar datos de sensores que de otro modo serían muy difíciles de correlacionar. Las entradas para este tipo de filtros pueden ser cualquier cosa: sensores de posición, aceleración y velocidad, pero también, por ejemplo, sensores de luz que pueden agregar información respondiendo a fuentes de luz que son visibles en ciertos ángulos.

Tanto empresas como universidades han demostrado algunos "guantes de poder" con este principio de funcionamiento (cinemática+filtros kalman). El más reciente que vi en TU Eindhoven usaba MPU6050 en sustratos flexibles tejidos en un guante, así como algunos sensores de apoyo (creo que en este momento son solo cámaras web), todos alimentados en un gran filtro Kalman alimentado por Matlab. Funciona con una repetibilidad de 1 mm.

Ya he examinado estos aspectos del problema hasta ahora para mi caso específico, así que estoy más interesado en lo que puedo hacer con el hardware, pero estos son puntos excelentes (especialmente usando IK para restricciones).

El problema fundamental

Naturalmente, las especificaciones, las partes del sistema en cuestión y lo que se considera un "error aceptable" para el sistema cambiarán los límites exactos, pero ¿hay un solo orden de magnitud en el tiempo o la distancia en la que puedo esperar que funcione la navegación a estima? Soy muy consciente de que en distancias largas (unas pocas yardas más o menos) el error se vuelve demasiado grande para la mayoría de los propósitos prácticos, pero ¿qué pasa con unos pocos pies?

Esto se puede abordar estudiando la dinámica de error a corto plazo de un sistema de navegación inercial. Está cubierto en detalle en muchos textos , pero aquí está la versión corta "sin ecuaciones".

La navegación inercial funciona de la siguiente manera:

  1. Conozca con precisión su posición inicial, velocidad y actitud (es decir, cabeceo y guiñada).

  2. Integre la salida de sus giroscopios ( velocidad angular ) durante un corto período de tiempo Δ t para obtener un incremento de cabeceo, balanceo y guiñada y agregarlos a su actitud actual.

  3. Usa tu nueva actitud que acabas de calcular para rotar matemáticamente las lecturas de tu acelerómetro para que estén niveladas con la tierra.

  4. Reste la gravedad de las lecturas del acelerómetro del nuevo nivel.

  5. Integre sus mediciones de aceleración-menos-gravedad en un corto período de tiempo Δ t para obtener un incremento de velocidad. Agregue esto a su velocidad actual.

  6. Integre su nueva velocidad calculada en un corto período de tiempo Δ t para obtener un incremento de posición. Agregue esto a su posición actual.

  7. Repita los pasos 2 a 6 todo el tiempo que desee.

Suponga que su giroscopio tiene algún error, por ejemplo, un sesgo b gramo . El error se integrará una vez para la actitud, se integrará nuevamente para la velocidad y luego se integrará nuevamente para la posición. Así, ese error crece con b gramo × Δ t × Δ t × Δ t = b gramo ( Δ t ) 3 de un solo paso de tiempo.

Además, ese sesgo se acumulará en la actitud, lo que hará que los acelerómetros se nivelen incorrectamente, lo que hará que la aceleración se nivele en la dirección incorrecta, que luego se integrará en la dirección incorrecta: tres niveles de errores.

Esto significa que los errores de giroscopio hacen que los errores de posición crezcan con el cubo de tiempo .

Por la misma lógica, el error del acelerómetro hace que los errores de posición crezcan con el cuadrado del tiempo .

Debido a esto, obtendrá solo unos segundos de navegación inercial útil (pura) de los sensores MEMS de grado de teléfono móvil.

Incluso si tiene sensores de inercia extremadamente buenos, por ejemplo, de calidad aeronáutica, entonces todavía está limitado fundamentalmente a un poco menos de diez minutos de navegación inercial (pura). La razón es el Paso 3: la gravedad cambia con la altura. Obtenga su altura incorrecta y su gravedad será incorrecta, lo que hace que su altura sea incorrecta, lo que hace que su gravedad sea más incorrecta y así sucesivamente: crecimiento exponencial del error. Por lo tanto, incluso un sistema de navegación inercial "puro", como los que se encuentran en los aviones militares, generalmente tendrá algo así como un altímetro barométrico. fuente _

Soluciones

Además, un consenso general parece que la única forma de mejorar estos límites más allá del punto de sensores mejorados es proporcionar una referencia que no esté sujeta a errores.

Incluso si tiene una actitud de referencia (por ejemplo, un magnetómetro para proporcionar rumbo y algo más para proporcionar un cabeceo y balanceo precisos), aún estará limitado por la t 2 Error en acelerómetros. Por lo tanto, es necesario algún tipo de posicionamiento.

Algunos sistemas resuelven esto usando cámaras y marcadores. ¿Qué tipo de puntos de referencia puede proporcionar un dispositivo portátil/vestible?

Hay productos de investigación y comerciales que pueden hacer esto.

Conceptualmente, funciona como visión estéreo: tiene una línea de base conocida entre cámaras y un ángulo diferente para cada marcador visto desde cada cámara. A partir de esto, se puede calcular la posición 3D de cada marca (en relación con la cámara). Puede funcionar mejor con más cámaras.

He visto el uso de ondas de radio para medir largas distancias con precisión, pero no puedo decir si dicho sistema podría ser preciso en una escala tan pequeña (en términos de distancia medida) usando componentes "listos para usar".

Usando hardware barato, decawave UWB podría ser de alguna utilidad (rango de 10 cm más o menos). Tendrás que idear tus propios algoritmos.

Sé que en distancias más largas se puede usar un GPS, pero dudo que cualquier GPS de grado de electrónica de consumo tenga una resolución lo suficientemente fina como para ayudar en mi caso.

Junto al cuerpo, un sistema GPS tendrá problemas. Obtener un GPS de nivel cm se basa en el seguimiento continuo de la fase de las señales GPS (muy, muy débiles), lo cual es extremadamente difícil si la antena está al lado del cuerpo y el cuerpo se está moviendo. Para los sistemas de solo L1, independientemente de si son baratos o caros, el seguimiento debe ser durante mucho tiempo (más de 10 minutos) y, por lo tanto, no es práctico para este problema. Un receptor de doble frecuencia puede funcionar a veces , pero estos no son realmente baratos (miles de dólares).