Suponha que eu queira rastrear a posição de um carro em 2D. O que eu recebo como dados do sensor é minha posição atual. Então meu estado é
Onde é a posição em m de distância de algum ponto predefinido, é a velocidade em m / s no momento inicial e é a aceleração em . As medições são
O que escolho é a minha aceleração a cada etapa do tempo (os intervalos de tempo têm a duração ):
Como o filtro Kalman é um filtro linear, meu modelo de estado é:
A medição depende do estado, com algum ruído :
com , . Como se pode decompor a aceleração / velocidade nas direções e a equação para a nova posição é
Portanto, dado o nosso modelo de estado, obtemos:
Até agora, este é um cenário / abordagem razoável para o filtro Kalman?
Como escolho a matriz de covariância inicial da incerteza / o estado inicial ? Ouvi dizer que a maioria torna os valores da matriz "grandes" - o que isso significa. Por exemplo, deve ser uma matriz diagonal
para alguns ? Por exemplo, como o diâmetro da terra é de cerca de e como indo mais do que nunca vai acontecer para um carro?Para o parâmetro de estado inicial, eu esperaria duas etapas de tempo:
Etapa de previsão
A previsão de estado funciona como acima:
Previsão de covariância:
- Onde obtenho a covariância de erros do processo de? Quais propriedades ele precisa ter? Eu acho positivo definitivo? O que essa matriz significa?
Etapa de inovação
Inovação, que compara a medida com a previsão:
- (resolvido) : Onde obtenho a matriz de observaçãode? O que isso significa?
EDIT :
Deixa comigo. No meu exemplo
Covariância da inovação:
Para a covariância do erro de medição Eu tenho que saber algo sobre o funcionamento dos meus sensores. Eu acho que isso geralmente será uma matriz diagonal, pois os sensores serão independentes (?).
Ganho de Kalman:
Agora, finalmente, a atualização de estado e covariância:
Fontes:
- http://greg.czerniak.info/guides/kalman1/ (Encontrei isso enquanto escrevia esta pergunta - ela já respondeu algumas das minhas perguntas, que espero removi.)
- Várias palestras no KIT