Tengo la siguiente figura y las ecuaciones:
Tres ejes para medir la inclinación
Ecuaciones para medir la inclinación
El cuerpo de las figuras es un sensor acelerómetro triaxial, que mide la aceleración en metros/segundos².
El objetivo es calcular la inclinación de los siguientes ángulos usando valores de aceleración:
¿Alguien podría explicar cómo encontrar las ecuaciones 1, 2 y 3 de la figura anterior?
Fuente de las ecuaciones y figura: https://www.thierry-lequeu.fr/data/AN3461.pdf
Hay otra fuente similar y más detallada que usa las mismas ecuaciones, pero tampoco pude entender cómo encontrarlas: https://www.analog.com/en/app-notes/an-1057.html
Ya los he implementado y está funcionando, solo quiero ayuda para entender cómo obtener las ecuaciones. Aquí está el código:
let pitch = Math.atan(ax / Math.sqrt((Math.pow(ay,2) + Math.pow(az,2))) ); let roll = Math.atan(ay / Math.sqrt((Math.pow(ax,2) + Math.pow(az,2))) ); let theta = Math.atan(Math.sqrt((Math.pow(ax,2) + Math.pow(ay,2))) /az);Gracias por adelantado.
Este es el teorema de Pitágoras, encontrar la distancia 2D entre 0,0 y un punto representado por los dos números dados. Si asignamos eso a una nueva función, puede ser más claro:
distance(a, b) { return sqrt((pow(a,2) + pow(b,2))) }Luego, los ángulos se calculan usando la función tangente inversa con una distancia desde esa función que representa un lado del triángulo. Por ejemplo, el tono en su pregunta divide la aceleración x por la distancia entre 0,0 y la aceleración en el plano YZ.
pitch = atan(x / distance(y, z))