Observabilidade usando o filtro discreto estendido de Kalman (EKF)

10

Eu construí (vários) filtros Kalman estendidos (EKF) discretos. O modelo de sistema que estou construindo possui 9 estados e 10 observações. Vejo que a maioria dos estados converge, exceto um. Todos, exceto 1-2 da estimativa do estado EKF, parecem flutuar. Como o EKF depende de todos os estados serem convergentes, o restante dos estados é muito errado após a divergência.

Como verifico a observabilidade do EKF? Simplesmente verifico a classificação da medida jacobiana e ver se é menor que a classificação máxima da medida jacobiana?

Depois de adicionar mais medidas na minha simulação, consegui fazer com que as coisas convergissem. No entanto, minha pergunta sobre observabilidade ainda permanece!

Questão:

Os gráficos da verdade do solo e da estimativa do EKF podem ser encontrados aqui ou veja abaixo.

Notas:

  • O modelo é bastante não linear entre as etapas de tempo 400-600, portanto, há alguma divergência de alguns dos estados
  • Figura / Estado 6 é o que parece divergir
  • Por favor, ignore as plotagens de "leituras do sensor" das Figuras 8/9

Coisas que tentei:

  • Sei que em sistemas lineares de espaço de estados você pode usar o Teorema de Cayley Hamilton para verificar a observabilidade.
  • Tentei verificar o residual Inovação / medição ee todas as inovações convergem para 0
  • Também testei entradas diferentes e elas não parecem afetar a convergência do (s) estado (s) divergente (s)
  • Ajustei o EKF sem nenhum sinal de convergência para o (s) estado (s) divergente (s)
  • Gráficos para outro sinal de entrada: ou veja abaixo
  • Depois de conversar com um colega, ele sugeriu que eu investigasse outra questão que poderia ser a de que existe uma observação que depende linearmente de dois estados, por exemplo y = x1 + x2. Há um número infinito de valores que podem satisfazer o mesmo y, mas a observabilidade não deve capturar esse problema também?

Informe-me se houver mais alguma coisa que eu possa fornecer.


Verdade do solo e gráficos de estimativa EKF:
Clique na imagem para ampliá-la

imagem a imagem b imagem c imagem d imagem e imagem f imagem g imagem h imagem i


Sinal de entrada adicional:
Clique na imagem para ampliá-la

imagem m imagem f— imagem o imagem p imagem q imagem r imagem s imagem t imagem u

krisdestruction
fonte
Vejo que este site faz referência rank(O) = [H; HA...] = n. A única questão é que eu tenho algo como sin( x(3) )ou seno de estado 3. Eu o linearizo x(3)e o trato como parte da matriz A? Vou tentar isso de manhã e relatar de volta. Você pode usar o seguinte
código
@ChrisMuller Sim, pensei em incorporar as imagens à pergunta, mas não acho que funcione com várias imagens (álbuns). Obrigado pela atualização da tag. Eu verifiquei o link acima e não sei se devo linearizá-lo.
Krisdestruction
1
Tenho certeza que não. Você pode fazer isso criando um gif, mas pode ser uma grande dor de cabeça, dependendo de como você gerou os gráficos originalmente.
21415 Chris Mueller
@ChrisMueller Tudo Matlab, eu simplesmente tomou imagens dos gráficos no OS X.
krisdestruction
1
É possível trazer as imagens para a linha, mas é preciso um pouco de trabalho. Eu editei para separar as imagens do link imgur e configurei as imagens para que você possa clicar e ver a imagem maior.

Respostas:

1

Usando essa referência em filtros Kalman lineares discretos , parece que você pode aplicar um modelo de observabilidade padrão. Ou seja, para um sistema linear Kalman Filter definido como

xk+1=Axk+Bukyk=Cxk+Duk,

MobsMobs

Mobs=[CCACAn1]

e

[CCACAn1]x0=[y0y1yn1].

ABCD

deeroh
fonte
@grfrazee não percebeu que eu poderia usar o látex embutido - obrigado pela edição!
deeroh
Sem problemas. É um recurso bacana do Engineering.SE.
grfrazee
Acabou de atualizar a formatação para remover as imagens de látex. Obrigado novamente!
deeroh