Aceleración en la dirección Z en el marco de la Tierra independientemente de la orientación

0

Tengo lecturas de aceleración en 3 ejes desde un acelerómetro. Estoy tratando de encontrar una manera de obtener la aceleración en la dirección vertical, independientemente de la orientación actual del sensor. He estado intentando buscar en google y buscar en foros, pero me cuesta mucho encontrar una respuesta coherente. Gracias

    
pregunta

4 respuestas

0

Para restar la aceleración que contrarresta la gravedad, debe conocer su orientación actual (es decir, necesita un acelerómetro de seis ejes). Luego, el problema se reduce a restar un vector de longitud \ $ 9.81 \ frac {\ textrm {m}} {\ textrm {s} ^ 2} \ $ en la dirección apropiada (y de manera realista, también debe determinar los errores de ganancia y compensación para cada sensor de eje, pero es probable que lo haga un filtro de paso alto para la mayoría de las aplicaciones).

Sin conocer su orientación, no es posible encontrar una solución, porque el problema está poco definido.

    
respondido por el Simon Richter
0

Se puede resolver por el teorema de pitágoras y por proyección de vectores

a² + b² = c²

y

proj u  v = (< u.v >/< v.v >) * v

use 9.81 m / s² como vector de aceleración (si está trabajando con proyección vectorial, puede usar proyección vectorial - enlace )

reste la proyección del valor del ángulo al eje que necesita

de esta manera, puede conocer en los tres ejes x, y, z, los valores para la aceleración de la gravedad

    
respondido por el Mateus Felipe
0

Conociendo la actitud, puedes hacer una suma vectorial. Lo que necesitas es un sensor 9DOF (acc, gyro, mag) y un algroitmo de fusión - Sebastian Madgwick. Su algoritmo dará salida a cuaterniones de actitud. Deberá rotar el vector de aceleración con actitud y luego extraer solo el componente del eje z.

    
respondido por el Marko Buršič
0

Encontré una solución que funcionó para calcular la componente vertical de la aceleración en el marco de la Tierra dados los ángulos de orientación:

$$ \ beta, \ gamma = pitch, roll \\ z = -a_ {x} sin (\ beta) + a_ {y} sin (\ gamma) cos (\ beta) + a_ {z} cos (\ gamma) cos (\ beta) $$

    
respondido por el user204581

Lea otras preguntas en las etiquetas