Reconocimiento de muertos con acelerómetro y giro. ¿Posible?

11

Tengo un acelerómetro de 3 ejes y un giroscopio de 3 ejes. Se me ha encomendado el desarrollo de un sistema de reconocimiento de cuentas usando este hardware.

Esencialmente, lo que se necesita es que desarrolle un código para rastrear la posición en el espacio 3d del tablero en tiempo real. Entonces, si comienzo con la tabla sobre una mesa y la levanto 1 m hacia arriba, debería poder ver ese movimiento en la pantalla. Las rotaciones también deben tenerse en cuenta, por lo que si doy la vuelta al tablero a la mitad del mismo movimiento, todavía debería mostrar el mismo resultado ascendente de 1 m. Lo mismo debería ser válido para cualquier movimiento complejo en un período de unos pocos segundos.

Ignorando las matemáticas necesarias para calcular y rotar vectores, etc. ¿es esto posible con un dispositivo de tan bajo costo? Por lo que puedo decir, no podré eliminar la gravedad con una precisión del 100%, lo que significa que mi ángulo con respecto al suelo estará desactivado, lo que significa que las rotaciones del vector estarán desactivadas, lo que conduce a una medición de posición incorrecta.

También tengo que tener en cuenta el ruido del acelerómetro y el sesgo de giro.

¿Se puede hacer esto?

    
pregunta user41883

4 respuestas

10

Las respuestas y los comentarios que recibes son excelentes, por supuesto, pero puedo agregar un poco de color.

Para su valor, nuestro sistema sensorineural utiliza las mismas herramientas, ¡y no siempre da la respuesta correcta! Tenemos acelerómetros en 3D (los órganos otolíticos) y "giroscopios" en 3D (velocitómeros angulares, los canales semicirculares) y, sin embargo, sufrimos todo tipo de ilusiones cuando el sistema no puede obtener la "respuesta" correcta, como la ilusión del ascensor. y la ilusión oculográfica. A menudo, estas fallas ocurren durante aceleraciones lineales de baja frecuencia, que son difíciles de distinguir de la gravedad. Hubo un momento en que los pilotos se zambullían en el océano durante los despegues de catapultas en portaaviones debido a la fuerte percepción del tono resultante de la aceleración de baja frecuencia asociada con el lanzamiento, hasta que los protocolos de entrenamiento les enseñaron a ignorar esas percepciones.

Por supuesto, los sensores fisiológicos tienen diferentes cortes de frecuencia y niveles de ruido que los sensores MEMS, pero también tenemos una gran red neuronal lanzada por el problema, aunque poca presión evolutiva para resolver el problema correctamente a estos niveles bajos. extremos de frecuencia, siempre que los lanzamientos de catapultas sean bastante raros ;-).

Imagine este problema de "cómputo muerto" de sentido común que muchos han experimentado, y creo que verá cómo esto se traslada al mundo de MEMS. Sube a un avión, despega en América del Norte, acelera a la velocidad de crucero, cruza el océano, desacelera y aterriza en Europa. Incluso eliminando las ambigüedades de traslación de inclinación del problema, y suponiendo una rotación cero, habría muy pocas esperanzas de una implementación real de una doble integración de los perfiles de aceleración que produzca un perfil de posición en cualquier lugar lo suficientemente preciso para decirle que ha llegado a Europa . Incluso si tuviera un paquete muy preciso de giro / acelerómetro de 6 ejes sentado en su regazo durante el viaje, eso también tendría sus problemas.

Eso es un extremo. Hay mucha evidencia que sugiere que para los comportamientos cotidianos los animales utilizan una suposición simple de que las aceleraciones de baja frecuencia que se detectan probablemente son causadas por reorientaciones con respecto a la gravedad. Por supuesto, una combinación de giroscopios y acelerómetros que tienen respuestas de frecuencia más amplias que nuestro oído interno puede resolver el problema mucho mejor, pero aún así tendrán problemas en extremo debido al ruido del piso, los umbrales y demás.

Por lo tanto, para épocas cortas con aceleraciones no triviales, el cálculo de cuentas con la instrumentación correcta no es un problema tan grave. A largo plazo, con pequeñas aceleraciones y aceleraciones de baja frecuencia, el cálculo de cuentas es un gran problema. Para cualquier situación dada, necesita averiguar en qué parte de ese espectro se encuentra su problema particular, y qué tan exactas son sus necesidades de cómputo para determinar si lo mejor que puede hacer es lo suficientemente bueno. A eso le llamamos ingeniería de procesos.

    
respondido por el Scott Seidman
8

Los principales problemas con los cálculos fallidos que encontré al hacer un proyecto de diseño de alto nivel similar al suyo es que un acelerómetro solo mide la aceleración. Debe integrarse una vez para obtener la velocidad más una constante C. Luego, debe integrarse nuevamente para obtener la posición + Cx + D. Esto significa que una vez que calcula la posición a partir de los datos de un acelerómetro, termina con un desplazamiento, pero también tiene Un error que crece linealmente con el tiempo. Para el sensor del MEM que utilicé, en 1 segundo, se calculó que estaba a al menos un metro de donde estaba realmente. Para que esto sea útil, generalmente tiene que encontrar una manera de eliminar los errores muy a menudo para evitar la acumulación de errores. Algunos proyectos pueden hacer esto, pero muchos no.

Los acelerómetros brindan un buen vector de gravedad que no aumenta en error con el tiempo y las brújulas electrónicas brindan orientación sin acumular errores, pero en general el problema de los cálculos fallidos no se ha resuelto con toneladas de dinero gastado por la marina en toneladas Sensores en barcos. Son mejores que lo que puedes hacer, pero la última vez que leí, todavía se encontraban alejados a 1 km cuando viajaban 1000 km. En realidad, eso es bastante bueno para el cálculo de cuentas, pero sin su equipo, no podrá lograr nada parecido.

    
respondido por el horta
6

También tendrás sesgos en los acelerómetros y el ruido en los giroscopios para tratar también.

Y la gravedad no debería introducir errores en las mediciones de ángulos; por el contrario, el vector de gravedad proporciona una "referencia absoluta" que le ayuda a poner a cero el sesgo acumulado de los ángulos de "inclinación" y "balanceo".

Sí, lo que quiere hacer es posible, pero el bajo rendimiento de los dispositivos MEMS de bajo costo significa que los errores se acumularán rápidamente, tanto los cambios de sesgo como la "caminata aleatoria" generada por el ruido (tanto en los acelerómetros como en los gyros de velocidad) hará que los resultados se aparten de la realidad en segundos o minutos.

Para solucionar esto, necesita incorporar sensores adicionales en su sistema que no sufran este tipo de errores. Como mencioné anteriormente, usar el ángulo del vector de gravedad es una forma de corregir algunos de los errores de giro, pero debe tener en cuenta cuándo se realiza una medición precisa de la gravedad (de lo contrario, no se está acelerando el sistema) antes de poder usar it.

Otra forma de corregir la deriva angular es incorporar un magnetómetro para medir el campo magnético de la Tierra. Los magnetómetros tienen errores relativamente grandes, pero no sufren desviaciones a largo plazo.

La corrección de los errores de posición creados por los componentes de la deriva de las lecturas del acelerómetro requiere una referencia de posición absoluta de algún tipo. El GPS se usa comúnmente (cuando está disponible), pero también puede usar otros sensores, como barómetros (para altitud), odómetros (si tiene ruedas en el suelo), sensores de rango infrarrojos o ultrasónicos, o incluso sensores de imagen.

Independientemente de la combinación de sensores que termine usando, todos estos datos deben "fusionarse" en un modelo de software coherente del estado del sistema, que incluye no solo la posición y actitud actuales, sino también estimaciones de el sesgo actual, el factor de escala y los niveles de ruido de los sensores mismos. Un enfoque común es usar un filtro de Kalman, que se puede mostrar para proporcionar una estimación "óptima" (es decir, la mejor estimación disponible) del estado del sistema para un conjunto dado de lecturas de sensores.

    
respondido por el Dave Tweed
4

La respuesta corta es "no exactamente". La respuesta larga es que puede formular declaraciones como "Dadas las lecturas de mi giroscopio, tengo un 95% de confianza de que el dispositivo ha sido rotado entre 28 y 32 grados desde mi última lectura".

El problema es que terminas recopilando datos sobre una ecuación diferencial ruidosa. Para un giroscopio angular que mide la velocidad angular tiene la diferencia de ruido eq $$ \ frac {d \ theta (t)} {dt} = r (t) $$ y en el caso de un acelerómetro. $$ \ frac {d ^ 2p (t)} {dt ^ 2} = r (t) $$ donde \ $ r (t) \ $ es el valor de su sensor en el momento \ $ t \ $.

Estas ecuaciones diferenciales "ruidosas" suelen ir bajo el nombre de "ecuaciones diferenciales estocásticas" donde se supone que el ruido es el ruido blanco generado a través de una caminata aleatoria. Las matemáticas se pueden generalizar a otras situaciones en las que el ruido no proviene de una caminata aleatoria. En cualquier caso particular, el ruido tendrá una distribución que puede determinarse experimentalmente, cuyos parámetros dependerán de su dispositivo y aplicación específicos. Debido a la acumulación de ruido, no importa lo que haga para obtener buenas estimaciones durante períodos de tiempo relativamente largos, siempre deberá calibrar periódicamente una posición conocida. Ejemplos de referencias fijas son las bases domésticas, las lecturas de la brújula y la gravedad.

Si decides seguir esta vía, tienes que decidir algunas cosas:

  • ¿Qué es un nivel de error aceptable? ¿Quieres estar seguro al 95% de que está dentro de un grado después de 2 segundos o quieres estar seguro al 80% de que está en 5 grados después de 2 segundos?

  • Tome algunas lecturas de su giroscopio / acelerómetro. Esto se puede utilizar para calcular la distribución empírica del ruido que estima el ruido real. Use esto para resolver su ecuación diferencial ruidosa y calcular sus intervalos de confianza.

  • De lo anterior, debe quedar claro cómo la precisión de lectura (varianza) de la hoja de datos afecta la solución a su ecuación diferencial ruidosa. También quedará claro cómo afecta sus intervalos de confianza.

  • Elija un dispositivo con parámetros aceptables para obtener los intervalos de confianza que deseaba en el primer paso. Puede encontrar que los parámetros de precisión del dispositivo que desea / necesita no coinciden con lo que está disponible y / o su presupuesto. Por otro lado, es posible que se sorprenda de los resultados que obtiene con los dispositivos más baratos.

respondido por el SomeEE

Lea otras preguntas en las etiquetas