IMU - Cómo calcular la orientación en un entorno sacudido

1

Estoy tratando de calcular la orientación en un sensor IMU. Hasta ahora lo estoy haciendo calculando el ángulo de inclinación y está funcionando bien:

float pitch = atan2(-obj.x, sqrt(obj.y*obj.y + obj.z*obj.z)) * 180/M_PI; .

Mi problema es cuando el sensor se sacude fuertemente (aunque se encuentre en la misma orientación), es decir, el tono cambia drásticamente y pierde la orientación correcta.

¿Hay una manera de evitar este comportamiento. Lo que pensé hacer, es almacenar el tono anterior y compararlo con el tono actual y si difieren entre + 20% *, entonces ignoro el valor de orientación. Obviamente, esto no funcionará si el sensor se sacude continuamente.

¡Gracias de antemano!

* 20 es solo un número aleatorio

    
pregunta Pompeyo

1 respuesta

1

Un acelerómetro MEMS está midiendo aceleraciones de todo tipo a través de sus tres ejes, y a través de este ruido se debe deducir el vector gravitacional. Cuando el sistema está en reposo total, entonces el ruido de aceleración es mínimo y las matemáticas simples funcionan bien. Pero cuando está en movimiento, o más específicamente en un entorno de energía de vibración que va en direcciones diferentes, se vuelve muy difícil.

Mi sugerencia es filtrar los valores de tu acelerómetro x, y, yz antes del cálculo de tu afinación, luego filtra la salida de tu cálculo de la afinación.

Si tiene una forma de descargar datos de su sistema en tiempo real, puede hacer un gráfico de lo que está haciendo la salida de su acelerómetro. Luego, puede simular y ajustar los filtros para que se adapten mejor a su aplicación.

Los filtros de ejemplo incluyen IIR, FIR, mediana, promedio, Kalman, etc. Cada uno lleva sus fortalezas y debilidades. También puede compilarlos un poco, dependiendo de lo que necesite su aplicación.

Lo que probablemente encontrará es que en realidad es muy difícil tener una lectura estable en el vector gravitacional en un entorno de gran vibración. Como resultado, el chip IMU incluye el giroscopio. El giro le proporcionará datos de velocidad angular que son muy útiles, pero están sujetos a cantidades muy significativas de deriva (como varios grados por segundo). Estos dos sensores muy imperfectos deben estar unidos para determinar su orientación en comparación con la gravedad. Los enfoques comunes son:

  • Filtro de paso alto, el giroscopio y filtro de paso bajo, el acelerómetro.
  • Confíe en el giro para la orientación a corto plazo e intente corregir los errores con los datos del acelerómetro a largo plazo.
respondido por el Smith

Lea otras preguntas en las etiquetas