¿Cómo puedo detectar movimientos angulares y hacer caso omiso de los movimientos laterales?

6

Estoy trabajando en un proyecto que involucra una plataforma plana que un usuario puede inclinar de lado a lado y hacia adelante y hacia atrás. Me gustaría un sensor que pueda monitorear la diferencia de ángulo entre la posición original de la plataforma y su orientación actual.

¿Quiero un sensor de inclinación, un acelerómetro, un giro o IMU?

Para proporcionar un poco más de fondo, se supone que este es un juego que el usuario jugará sosteniendo el avión con ambas manos e inclinándolo en los dos ejes. No esperaría que se moviera mucho, pero el usuario podría mover la plataforma si comienza a caminar (traducción en lugar de rotación). ¿Puede alguno de los dispositivos anteriores distinguir entre movimiento lateral y inclinación? Solo me importa la rotación y me gustaría ignorar cualquier traducción incidental.

    
pregunta Bill

2 respuestas

7

Usted puede filtrar con paso bajo una señal de acelerómetro. El vector de gravedad está en DC. Usar un acelerómetro de 2 ejes como el Analog Devices ADXL202 debería ser suficiente para un plano.

Aquí hay un excelente artículo sobre todas las matemáticas.

  

¿Qué sucede si el usuario mueve repentinamente la placa hacia adelante?

Confunde el concepto de traducción (cambio de posición) con actitud (orientación). Si la placa avanza repentinamente (traducción pura), lo ideal sería que no vea ningún cambio en la salida (la actitud no cambió).

Si el usuario de repente inclina la placa hacia adelante, luego de un período de tiempo infinito, el valor de DC también reflejará este cambio de forma correcta y exclusiva.

Un acelerómetro mide la aceleración. La aceleración es causada por la fuerza. La gravedad es una fuerza. La gravedad se basa en las relaciones de masa, la distancia de separación y el ángulo entre los vectores. Dado que ni la masa de la placa ni la masa de la Tierra están cambiando, la distancia de separación es (para todos los efectos y no cambia), para un ángulo específico (inclinación) la gravedad es una fuerza constante. Las cosas que son constantes tienen una frecuencia 0 (por ejemplo, "DC").

Cualquier ángulo de inclinación dado corresponderá a un (y solo un) vector de fuerza en la placa hasta 180 grados.

Elproblemaenunsistemaprácticoesquenopuedesesperarunacantidadinfinitadetiempoparanotarquelaactitudhacambiado.Asíquedebes,comotodoeningeniería,uncompromisoentrelosrequisitos.Esporesoquesugeríelenfoquedeunfiltrodepasobajo.Ellugardondesearrinconaelfiltrodeterminaráelequilibrioentreselectividadyprecisión(acortoplazo).

Enlossistemasprácticos,puedesacorralarenalgúnlugaralrededorde10Hzy,porlogeneral,hacerlobien(lamayoríadelosteléfonoscelularestomanesteenfoque).

  El

enlacequeproporcionaasumeunacelerómetrodetresejes

Eltercerejesoloesabsolutamentenecesariosinecesitadetectarlaorientacióndedesvío(atravésdeungiro)odesambiguaratravésdeamboshemisferios(medianteunacelerómetro),quelapreguntaoriginalparecedescartarexplícitamentecomomovimientonodeseado.Siesasuposicióndemiparteeserrónea,elOPpuedeusarunacelerómetrode3ejesoungiroscopiode2ejes+1eje,segúnsedesee.Poresodijeque"debería ser suficiente".

  

Iría con un giro ...

Si está intentando minimizar el costo / la energía, entonces usar un giroscopio por sí solo es una mala elección con respecto al acelerómetro como se propone. En la aplicación de detección de inclinación que describiste, el giroscopio desarrolla un error de inclinación que continúa aumentando sin límite , ya que mide solo las aceleraciones de rotación, que debes integrar para encontrar la posición ( inclinación).

Cuando inclina el giro, verá un cambio en el voltaje de salida, pero regresa rápidamente a su nivel de reposo si se mantiene la nueva actitud (inclinación). Esto conduce a dos problemas indeseables:

  1. Se vuelve extremadamente sensible a los empujones (sacudidas y otras perturbaciones transitorias)
  2. El error acumula muy rápidamente y, por lo tanto, debe "restablecerse" a algún valor conocido de vez en cuando correlacionándolo con alguna otra fuente de datos (como el acelerómetro como se propone).

Aquí están los datos de un experimento realizado por David Anderson en su robot de equilibrio automático :

Observe cómo el error (la diferencia entre la línea azul y la línea roja) se aleja rápidamente de la verdad fundamental.

En contraste, el acelerómetro mide la inclinación directamente para que el error no se acumule. En el giro, cada estimación de inclinación es una función de todas las mediciones anteriores (se acumula un error). En el acelerómetro, cada estimación de inclinación se basa únicamente en la lectura actual (en el primer orden).

    
respondido por el DrFriedParts
3

Herramienta correcta para el trabajo correcto. Si la naturaleza de su bestia en particular es tal que el filtrado de paso bajo haría el trabajo, el acelerómetro podría ser correcto. Sin embargo, si está intentando rastrear la dinámica, ese sensor debería estar en el centro de rotación, o tendrá que preocuparse sobre qué hacer con las aceleraciones centrípetas.

Sin embargo, si necesitas velocidad angular, y no una posición angular, iría con un giro. Si necesita una posición angular, debe preocuparse sobre cómo lidiar con los errores acumulados de integración, que (por definición) se irán acumulando con el tiempo. ¿Tal vez use un acelerómetro filtrado de paso bajo para eliminar los errores acumulados?

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas