"Se você não consegue explicar algo de modo simples é porque não entendeu bem a coisa"
Albert EinsteinO Filtro de Kalman é um tópico fácil. Entretanto, muitos tutoriais não são fácieis de entender. A maioria deles requer uma base matemática extensa que torna difícil de entender. Além disso, a maioria dos tutoriais carecem de exemplos numéricos práticos.
Eu decidi escrever um tutorial que é baseado em exemplos numéricos e proporcionam explicações fáceis e intuitivas.
Algum dos exemplos são no uso dos radares, onde a Filtragem de Kalman é usada extensivamente (principalmente para o rastreamento de alvos), no entanto, os princípios que são apresentados aqui podem ser aplicados em qualquer campo onde a estimativa e predição são necessárias.
O tutorial inclue três partes:
"Longo é o caminho através de regras e normas, curto e eficaz através do exemplo."
Lucius SenecaMeu nome é Alex Becker. Eu sou de Israel. Sou engenheiro com mais de 15 anos de experiência na área de tecnologias wireless. Como parte do meu trabalho, tive que lidar com Filtros de Kalman, principalmente para aplicações de rastreamento.
Críticas construtivas são sempre bem vindas. Eu apreciaria muito seus comentários e sugestões. Por favor, me mande um e-mail.
A maioria dos sistemas modernos são equipados com vários sensores que fornecem estimativas de variáveis ocultas (desconhecidas) com base em uma série de medições. Por exemplo, o receptor GPS fornece a estimativa de localização e velocidade, onde a localização e a velocidade são as variáveis ocultas e o tempo diferencial de chegada dos sinais do satélite são as medições.
Um dos maiores desafios do sistema de rastreamento e controle é fornecer uma estimativa exata e precisa das variáveis ocultas na presença de incerteza. No receptor GPS, a incerteza das medições depende de muitos fatores externos, como ruído térmico, efeitos atmosféricos, pequenas mudanças nas posições dos satélites, precisão do relógio do receptor e muitos mais.
O Filtro de Kalman é um dos algoritmos de estimativa mais importantes e comuns. O Filtro de Kalman produz estimativas de variáveis ocultas com base em medições imprecisas e incertas. Além disso, o Filtro de Kalman fornece uma predição do estado futuro do sistema, com base nas estimativas anteriores.
O nome do filtro é uma homenagem a Rudolf E. Kalman (19 de maio de 1930 - 2 de julho de 2016). Em 1960, Kalman publicou seu famoso artigo descrevendo uma solução recursiva para o problema de filtragem linear de dados discretos.
Hoje, o filtro de Kalman é usado em alvos de rastreamento (radar), sistemas de localização e navegação, sistemas de controle, computação gráfica e muito mais.
Antes de adentrar na explicação do Filtro de Kalman, vamos primeiro entender a necessidade do algoritmo preditivo.
Como exemplo, vamos supor um algoritmo de rastreamento de um radar.
O radar envia um feixe cônico na direção do alvo. Suponha que o ciclo de rastreamento seja de 5 segundos. Assim, a cada 5 segundos, o radar revisita o alvo, enviando um feixe de rastreamento dedicado na direção desse alvo.
Depois de enviar o feixe, o radar estima a posição e a velocidade atual do alvo. Da mesma forma, o radar estima (ou prevê) a posição do alvo no próximo feixe de rastreamento.
A posição futura do alvo pode ser facilmente calculada usando as equações de movimento de Newton:
\( x \) | é a posição do alvo |
\( x_{0} \) | é a posição inicial do alvo |
\( v_{0} \) | é a velocidade inicial do alvo |
\( a \) | é a aceleração do alvo |
\( \Delta t \) | é o intervalo de tempo (5 segundos em nosso exemplo) |
Em três dimensões, as equações de movimento de Newton podem ser escritas como um sistema de equações:
Os parâmetros do alvo \( \left[ x, y, z, v_{x},v_{y},v_{z},a_{x},a_{y},a_{z} \right] \) são chamados de Estado do Sistema. O estado atual é a entrada para o algoritmo de predição e o próximo estado (os parâmetros do alvo no próximo intervalo de tempo) é a saída do algoritmo.
O conjunto de equações acima é chamado de Modelo Dinâmico (ou Modelo de Espaço de Estados). O Modelo Dinâmico descreve a relação entre entrada e saída.
Voltemos ao nosso exemplo. Como podemos ver, se o estado atual e o modelo dinâmico forem conhecidos, o próximo estado do alvo pode ser facilmente previsto.
Bem, não é. Em primeiro lugar, a medição do radar não é absoluta. Ela inclui um erro aleatório (ou incerteza). A magnitude do erro depende de muitos parâmetros, como calibração do radar, largura do feixe, magnitude do eco de retorno, etc. O erro incluído na medição é chamado de Ruído de Medição.
Além disso, o movimento do alvo não está estritamente alinhado às equações de movimento devido a fatores externos, como vento, turbulência do ar, manobras do piloto, etc. O erro do modelo dinâmico (ou incerteza) é chamado de Ruído do Processo.
Devido ao Ruído de Medição e ao Ruído do Processo, a posição estimada do alvo pode estar longe de sua posição real. Nesse caso, o radar enviará o feixe de rastreamento na direção errada e errará o alvo.
Para melhorar o desempenho do radar, é necessário um algoritmo de predição que leve em consideração a incerteza do processo e a incerteza da medição.
O algoritmo de predição mais amplamente utilizado é o Filtro de Kalman.