Filtro de Kalman: ¿forma óptima de manejar las mediciones "derivadas"?

13

Es decir, si tiene como variables de estado la posición ( p ) y la velocidad ( v ), y hago mediciones de baja frecuencia de p , esto también indirectamente me da información sobre v (ya que es la derivada de p ). ¿Cuál es la mejor manera de manejar esa relación?

A) En el paso de actualización, ¿debería decir que he medido p y confiar en el proceso de filtrado y en mi matriz de covarianza de estado ( P ) acumulada para corregir v ?

B) ¿Debo crear un paso de predicción "extra", ya sea después o antes de mi paso de actualización para la medición de p , que usa mi p medido y el tiempo delta (relativamente grande) para hacer una predicción de alta varianza de v ?

C) En mi paso de actualización / medición, ¿debería decir que hice una medición de p y v , y luego de alguna manera codificar información sobre su interdependencia en la matriz de covarianza de medición ( R )?


Para un poco más de antecedentes, aquí está la situación específica en la que me he encontrado con el problema:

Estoy trabajando con un sistema donde quiero estimar la posición ( p ) de un objeto, y hago mediciones frecuentes de aceleración ( a ) y mediciones poco frecuentes y de alto ruido de p .

Actualmente estoy trabajando con una base de código que hace esto con un filtro de Kalman extendido, donde se mantiene como variables de estado p y v . Se ejecuta un paso "predicción" después de cada medición de la aceleración, en el que se utiliza la medida de un e-delta tiempo para integrar y predecir nueva p y v . A continuación, ejecuta un paso de "actualización" / "medición" para cada medición p (poco frecuente) .

El problema es este: obtengo mediciones ocasionales de alto error de a , lo que da como resultado una v muy errónea . Obviamente, las mediciones posteriores de a nunca corregirán esto, pero las mediciones de p deberían eliminarlo. Y, de hecho, esto parece suceder ... pero MUY lentamente.

Estaba pensando que esto puede deberse en parte a que la única forma en que p afecta a v en este sistema es a través de la matriz de covarianza P , es decir, el método A) desde arriba, que parece bastante indirecto. Me preguntaba si habría una mejor manera de incorporar nuestro conocimiento de esta relación entre p y v en el modelo, de modo que las mediciones de p corrijan v más rápido.

¡Gracias!

Paul Molodowitch
fuente
1
un
2
pagvpagk+1=pagk+vkΔt

Respuestas:

3

En el mundo ideal, tendrías el modelo correcto y lo usarías.
En su caso, el modelo no es perfecto.
Sin embargo, los pasos que sugiere se basan en un conocimiento que tiene sobre el proceso, que debe incorporar a su ecuación de proceso utilizando su matriz de modelo dinámico:

  1. La forma clásica y correcta dada la matriz F se construye correctamente de acuerdo con su conocimiento.

  2. Fyok=FyojFjkQR

  3. Si no mide V, deberá "Estimarlo" de alguna manera. Sin embargo, por definición, si su caso corresponde a los supuestos de Kalman utilizando el filtro de Kalman, obtendría los mejores resultados.

Con todo, quédese con el "clásico".

Royi
fuente