Pregunta

Posibles Duplicados:
Combinar el Giroscopio y el Acelerómetro de Datos

He leído una serie de artículos sobre Kalman filters, pero parece ser que hay algunos buenos públicamente accesibles trabajado ejemplos de llegar de matemática papel actual código de trabajo.

Tengo un sistema que contiene un de tres ejes, acelerómetro y una sola giróscopo la medición de la rotación alrededor de uno de los ejes del acelerómetro.El sistema está diseñado para ser ocupado por un ser humano, y la mayor parte del tiempo el giróscopo será la medición de la rotación sobre el vector de gravedad o cerca de ella.(Las personas que trabajan en la misma industria es probable que reconocer de qué estoy hablando de eso ;)) me doy cuenta de que esto es underconstrained.

El gyros parecen tener un casi constante de sesgo que es ligeramente diferente para cada instancia del sistema.Cómo se podría ir sobre la codificación de un filtro a utilizar el acelerómetro lecturas para calibrar el giroscopio a veces cuando el sistema está inclinada para que el giroscopio, el eje no es colineal con la gravedad, y está siendo girado sobre el axis gyro?Parece que hay suficiente información para hacer eso, pero dicen que no hay y por qué sería una respuesta demasiado :)

¿Fue útil?

Solución

nBot, dos de balanceo de ruedas robot
Un poco de info y enlaces acerca de cómo este autor eligió para resolver el problema de equilibrio para sus dos ruedas del robot.

Otros consejos

Usted parece tener dos (o tres) separar los problemas de aquí.

1.Usted realmente no entiende filtros Kalman y/o las matemáticas detrás de ellos.Que va a hacer que sea muy difícil de implementar correctamente y utilizar uno.

2.No parecen entender la física básica implicada en el problema.(La física básica medios física subyacente, no física simple, porque no es simple.)

Te sugiero que pruebe a utilizar una forma mucho más simple integrador, tales como Runga-Kutta 4, para lo cual se pueden encontrar muchos libros con ejemplos de la aplicación y el uso.Esto debe ser suficiente para este problema.(Si el cliente especifica de Kalman, se trata de indagar por qué).

En cuanto a por qué el problema es que bajo restringido, a mí me parece que es no tener manera de asegurarse de que el dispositivo está en posición vertical y no hay manera de medir la orientación real.Olvidar el giróscopo, por el momento, y asume que el dispositivo no se puede girar alrededor de un eje vertical.Usted tiene tres acelerómetros, presumiblemente para la estimación de la posición en 3D.Así que si usted ve una aceleración en la dirección X, de aumentar el presupuesto de dónde usted está en la dirección X.Del mismo modo, si usted ve una aceleración en la dirección Z (que doy por sentado que es "arriba"), se incrementa la estimación de dónde usted está en la dirección Z.Ahora gire el dispositivo ligeramente, digamos 30 grados sobre el eje Y.Ahora, cuando el dispositivo se piensa que se está acelerando a lo largo de la dirección X, el dispositivo es de hecho acelerar un poco menos de lo que se indica en X y también está acelerando en la dirección Z.Por lo que su estimación de la posición ahora es incorrecta.

Las rotaciones son mucho más difíciles de integrar (las ecuaciones son más "rígidos", que requieren un menor tiempo de paso para mantener la precisión).Pero ellos van a sufrir problemas similares de la informática respuestas erróneas si el dispositivo se inclina (debido a que el dispositivo no se puede decir que es de punta).Se cree que la rotación sobre el eje vertical es más grande o más pequeño de lo que realmente es, debido a que parte de la rotación es alrededor de un eje diferente (como parte de la aceleración parte fue a lo largo de un eje diferente).

Tal vez usted necesita contratar a un consultor (no, no estoy en busca de un puesto de trabajo) para ayudar en la formulación de las matemáticas.

Dado su interés en el filtro de kalman, tal vez usted tiene la intención de aumentar los datos del GPS con la inercia de las mediciones.Acerca de tu pregunta:

"¿Cómo voy a ir yo acerca de la codificación de un filtro para utilizar el acelerómetro lecturas calibrar el giroscopio a veces, cuando el el sistema está inclinada para que el giróscopo eje es no colineal con la gravedad, y es ser girado sobre el axis gyro?Es parece como debería ser suficiente información para hacer eso"

Esto suena como una gyrocompasing alineación.Suponiendo que usted está haciendo una calibración de fábrica, y la unidad en un banco, usted será capaz de medir de forma independiente de la alineación.A continuación, ejecute la nivelación de código que se escribe y vuelve a salir el gyro sesgo de error a partir de la diferencia entre la medida y gyrocompased alineaciones.

Si desea actualizar gyro deriva en la marcha, entonces usted necesita el filtro de kalman.

Tan lejos como la aplicación va recomiendo el Capítulo 7, GPS e Inercial de Integración de Posición Global de la Teoría de sistemas y Aplicaciones, vol 2 tiene excelentes antecedentes sobre el tema.Se tiene la teoría y las matemáticas, pero no el código fuente.

He encontrado buenos artículos sobre el uso de acelerómetros y giroscopios en la navegación en este blog.La parte de filtrado de Kalman es un poco confusa, pero parece ser que hay ejemplos de código.

Usted también encontrará recursos generales sobre filtrado de Kalman en http://academic.csuohio.edu/simond/publications.html.El artículo hace referencia en (8) es una buena, no demasiado miedo, introducción a las matemáticas detrás de los filtros de Kalman.

Un caballero en Dinamarca acaba de publicar un ejemplo de la derivación de un filtro de Kalman para resolver casi exactamente este problema.

Si le sucede a ser el desarrollo de la Hélice uController, que el Paralaje de Intercambio de Objetos tiene algo de código.La gran pregunta ;-)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top