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.