¿Cuál es el mejor resultado para encontrar la posición angular del dispositivo utilizando el sensor IMU de 9 ejes?

1

Estoy usando un sensor de 9 ejes LSM9DSO que proporciona salida de acelerómetro, giroscopio y datos de salida de magnetómetro. Quiero encontrar la posición angular del dispositivo con este sensor.

actualmente estoy tratando de encontrar un ángulo del dispositivo del eje x, pero los datos fluctúan, por lo que he consultado algunos sitios web y documentos que muestran que se encuentran utilizando datos del acelerómetro también, pero tengo poca confusión acerca de cuál es Mejor solución para encontrar la posición angular del dispositivo.

    
pregunta Kalarav Parmar

4 respuestas

3

Necesita algún tipo de algoritmo para fusionar las lecturas de aceleración, velocidad de rotación y campo magnético. Hay varias formas diferentes de hacerlo, desde simples filtros HP / LP complementarios hasta filtros Kalman no lineales más avanzados basados en cuaterniones.

He utilizado, con gran éxito, el algoritmo AHRS de código abierto de Sebastian Madgwicks con un procesador LSM9DS1 y STM32F405. Puede descargar un documento que lo describe y un código fuente desde aquí:

enlace

    
respondido por el LHelge
3

En general, usted determina el ángulo usando las lecturas del acelerómetro. Esto solo funciona si la unidad no está acelerando en ese momento, pero puede hacer una comprobación rápida de que sqrt (x * x + y * y + z * z) = 1g +/- un margen de error. Si eso es cierto, entonces probablemente no estés acelerando.

Para cualquier eje dado, la cantidad que está alejada de apuntar hacia arriba estará dada por angle = cos -1 (leyendo en g).

Si sabes qué tan lejos está cada eje de la vertical, puedes calcular tu orientación con respecto al suelo.

Si está acelerando, suponiendo que conocía su orientación antes de tiempo, puede calcular su orientación actual utilizando las lecturas del giroscopio para medir el cambio de orientación. Sin embargo, cualquier cosa calculada de esta manera se desviará de la respuesta correcta, por lo que deberá corregirla una vez que deje de acelerar.

Puede usar el magnetómetro como un control de cordura y un método para rastrear la rotación, pero no es muy confiable para calcular el rumbo absoluto sin ser calibrado primero para su entorno actual.

Todas las lecturas de una IMU serán muy ruidosas a menos que esté usando una muy costosa, espere tener que promediar y filtrar mucho para obtener resultados sin problemas. En esta situación, caro significa que el precio tiene al menos 4 dígitos antes del punto decimal.

    
respondido por el Andrew
2

Muchas gracias a todos por su mayor apoyo. He encontrado algún sitio web de referencia interesante. que proporcionan el mejor método para implementar ambos para encontrar datos significativos como, pitch & Roll.

Guía para usar el acelerómetro

Guía para usar el giroscopio

Espero que sea útil para otros

    
respondido por el Kalarav Parmar
1

Considere un conjunto de bobinas de detección magnética I + Q. Digitalizar la salida de cada bobina; conocer la amplitud y la fase, frente a una fase de referencia, es un sensor alternativo. Use un solo cable en la pared para proporcionar una fuente de Hfield.

    
respondido por el analogsystemsrf

Lea otras preguntas en las etiquetas