Implementando um filtro Kalman para posição, velocidade, aceleração


9

Eu usei filtros Kalman para várias coisas no passado, mas agora estou interessado em usar um para rastrear posição, velocidade e aceleração no contexto de rastreamento de posição para aplicativos de smartphone. Parece-me que este deve ser um exemplo de livro de texto de um filtro Kalman linear simples, mas não consigo encontrar links on-line que discutam isso. Posso pensar em várias maneiras de fazer isso, mas, em vez de pesquisá-lo do zero, talvez alguém aqui possa me indicar a direção certa:

  1. Alguém sabe a melhor maneira de configurar este sistema? Por exemplo, dado o histórico recente de observações de posição, qual é a melhor maneira de prever o próximo ponto no espaço de estado do filtro Kalman? Quais são as vantagens e desvantagens de incluir a aceleração no espaço de estado? Se todas as medições estiverem em posição, se a velocidade e a aceleração estiverem no espaço de estados, o sistema pode se tornar instável? Etc ...
  2. Como alternativa, alguém conhece uma boa referência para esta aplicação de filtros Kalman?
obrigado


A Wikipedia tem um exemplo simples aqui . É simples o suficiente para você obter os detalhes. Para responder à sua primeira pergunta, você prevê o próximo estado usando o estado atual e seu modelo dinâmico do comportamento do sistema.
Jason R

@ JasononR obrigado pelo comentário, mas estou procurando mais do que o que está na Wikipedia. Eu já usei muito os filtros Kalman antes, então estou procurando o máximo de detalhes possível sobre as melhores abordagens e armadilhas desse aplicativo em particular.
Estocástico

2
Os filtros Kalman são um tópico maduro o suficiente para você ter dificuldade em encontrar um exemplo contemporâneo detalhado, como você gostaria. Resumidamente: mesmo se você medir apenas a posição, é valioso incluir derivadas como velocidade e aceleração no seu vetor de estado. A quantidade de derivadas que você rastreia está relacionada à ordem polinomial de alterações no estado que seu filtro poderá rastrear sem erro estático.
Jason R

@ Jasonon muito obrigado, na ausência de qualquer outra coisa, isso é certamente um ponteiro muito útil :-).
Estocástico

Não é exatamente isso que você procura, mas essa resposta a uma pergunta semelhante pode ajudar.
Peter K.

Respostas:


4

Este é o melhor que eu conheço

Derivação completa com explicação

Kalman

Este é um bom recurso para aprender sobre o filtro Kalman. Se você estiver mais preocupado em colocar o aplicativo para smartphone funcionando, sugiro procurar uma implementação preexistente do filtro Kalman. Por que reinventar a roda? Por exemplo, se você está desenvolvendo para o Android, o openCV possui uma implementação do filtro Kalman. Vejo Android OpenCV

Bradski e Kaehler são um bom recurso no processamento de imagens em geral e incluem uma seção no filtro Kalman, incluindo exemplos de código.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.