5 votos

Filtro de Kalman en la aceleración lineal de la distancia

En mi aplicación para calcular el desplazamiento de movimiento del acelerómetro, yo estoy usando el filtro de kalman para mejorar el desplazamiento de precisión. Por favor nota: soy consciente de la ineficacia de la aceleración del desplazamiento en el escenario real, pero en mi caso el desplazamiento es muy pequeño(como de 10 cm en 2 ó 3 segundos).

Estoy siguiendo este papel. En este hay 2 matrices Q y R para la elaboración de modelos de ruido y en ellas, de tal forma que el desplazamiento de error es mínimo. Ellos probaron el de arriba con aceleración sintético de datos de un conocido de covarianza para el uso de la misma en las matrices Q y R.

He decidido variar el particular co-varianza y encuentro correspondiente a un mínimo de error en el desplazamiento. Pero en mi caso no hay ningún cambio en el desplazamiento en cualquier valor de la co-varianza. Alguna ayuda?

2voto

Joe Puntos 113

En este hay 2 matrices Q y R para la elaboración de modelos de ruido y en ellas, de tal forma que el desplazamiento de error es mínimo.

En el Filtro de Kalman, Q y R (el proceso de covarianza del ruido y el ruido en la medición de covarianza, respectivamente) no son realmente sintonizable en el sentido de que el citado texto implica. Son caracterizaciones de un sistema que se puede medir (o estimación). Cuando el KF es descrito como óptima significa que minimiza la varianza de su salida. Esto se hace mediante un balance de lo conocido, estado de predicción y el recién medido del estado de acuerdo a la cantidad de ruido que piensa que hay en cada uno.

El filtro, obviamente, tendrá un resultado diferente si cambia de R, pero que implica que usted puede cambiar el comportamiento de los sensores (en este caso, el acelerómetro). Los valores de R viene directamente de la hoja de datos para su acelerómetro para la mayor parte. Donde se habla de "RMS de ruido" (raíz cuadrática media) que es la desviación estándar (sigma) del ruido en la ficha salida. La varianza de R sigma^2 (o simplemente "cuadrático") por lo que sólo puede cuadrado del valor y la puso sobre la diagonal de la R. a Veces la hoja de datos se especifica en términos de otra cosa (por ejemplo, ruido por sqrt(Hz)) y usted tendrá que hacer un cálculo basado en cómo se haya configurado el chip.

El ruido en la medición de covarianza R a menudo no tiene cotérminos distintos, de manera que todas fuera de la diagonal términos son 0), ya que el ruido de todos los sensores es independiente. Si tiene una matriz de sensores similares (por ejemplo, sondas de temperatura, con una brisa flotando a través de) que fueron objeto de un común perturbación, entonces usted podría tener la covarianza. Siempre se puede tomar largo de las mediciones de los sensores en ralentí y directamente calcular R con la mano o con recursos fácilmente disponibles herramientas como Excel o numpy.cov().

El ruido en el proceso de covarianza Q es más complicado. Esto es un poco de un sintonizable parámetro, pero usted debe mantener en mente lo que significa y lo que se representa mediante la configuración de la misma. Imagine que su sistema hace una predecir/actualización de paso de 100 veces por segundo. Entre las actualizaciones, cuando usted no está mirando a su sistema, puede cambiar. Si no puede cambiar (por ejemplo, medir el rumbo de la brújula de un sensor anclado en concreto), a continuación, su Q puede ser 0, lo que refleja la idea de que su creencia de que sólo se pone mejor con el tiempo y se repite en promedio. Si se puede cambiar (en su caso, mover), a continuación, utilice P para contar el filtro cuánto a erosionar su creencia en la posición encima de la 10ms cuando estaban durmiendo.

La razón por la que hacemos uso de las matrices de covarianza y no co-desviación matricies es que la varianza añade al agregar dos variables aleatorias independientes. Es por eso que podemos formulario de Q y añade que en durante el predecir paso cada vez. El filtro ha establecido la varianza de error para el estado que usted está tratando de estimar, y ahora algo desconocido le ha pasado que el KF se supone es ruido gaussiano con covarianza P.

Digamos que usted piensa que durante el 10ms a usted no le interesa, su seguimiento objeto será dentro de 1 mm de donde fue la última vez que el 68% de las veces. Esto es equivalente a decir que el sigma (o desviación estándar) de su posición es de 1mm. Eso significa que la asociada a la varianza (1mm)^2 (mente su decimales si sus unidades son metros!). Si usted está equivocado acerca de su asunción entonces una de dos cosas va a suceder:

  • En realidad mueve más que eso: El filtro de retraso de la posición, ya que se cree que su estimación más que el sensor de decirle acerca de la medida más grande.
  • Lo que realmente se mueve menos que eso: el filtro de la pista con un mínimo de retraso, pero más ruido del necesario será admitido debido a que más de la medida que se utiliza que es necesario.

Así que usted puede sintonizar moviendo Q arriba y abajo, pero el proceso tiene algo de verdadero valor Q, que se puede medir (por la posición de que no es posible encontrar la covarianza de la posición, pero la covarianza de los deltas en la posición).

Cuando se representan en vez de varios derivados de la posición (velocidad, aceleración, jerk), obviamente tiene co-términos distintos (es decir, valores distintos de cero fuera de la diagonal de P) porque no puede tener inesperado movimiento inesperado de la velocidad y así sucesivamente. Para una posición-velocidad modelo se parece a esto:

[ 1/3dt^3  1/2dt^2 ]
[ 1/2dt^2    dt    ] * q

Donde q es la velocidad de variación y dt es el intervalo de tiempo del filtro relativas a las unidades de q. Si la medida de uno mismo en su propio paso de tiempo, a continuación, dt=1 porque q ya está en (unidades/paso de tiempo)^2.

Para una posición-velocidad-aceleración modelo se parece a esto:

[ 1/20dt^5 1/8dt^4 1/6dt^3 ]
[  1/8dt^4 1/3dt^3 1/2dt^2 ] * q
[  1/6dt^3 1/2dt^2   dt    ]

Y ahora q es la aceleración de la covarianza. Ambas matrices tomado de la Estimación con Aplicaciones de Rastreo y Navegación por Bar-Shalom et. al.

Igual que R, se puede medir Q mediante la medición de los movimientos conocidos (tal vez con algún otro sensor, o en una grabación de vídeo del proceso y la medición de la velocidad).

Y por último debo señalar que si F, H, Q y R son constantes (que no puede ser, por ejemplo, si el intervalo de tiempo varía, o si su objeto es giratorio y debe girar el acelerómetro términos de todo), entonces el valor de P converge a un cierto valor fijo y se queda allí. El cálculo de P no depende en absoluto de su estado x o sus mediciones z, así que usted puede simplemente ejecutar el filtro para P y averiguar lo que el ruido de la covarianza de su salida del filtro será, aún no se tienen datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X