O filtro de Kalman, também conhecido como estimativa quadrática linear, é um algoritmo em estatística e teoria de controle que estima variáveis desconhecidas a partir de uma série de medições observadas ao longo do tempo. Ele leva em conta ruído estatístico e outras imprecisões para produzir estimativas que são tipicamente mais precisas do que aquelas baseadas em uma única medição. O filtro opera recursivamente, estimando uma distribuição de probabilidade conjunta sobre as variáveis para cada etapa de tempo, e recebe esse nome em homenagem ao engenheiro húngaro Rudolf E. Kálmán, que introduziu o método em 1960. A filtragem de Kalman encontrou uso generalizado em orientação, navegação e controle de veículos, como aeronaves, espaçonaves e navios, bem como em análise de séries temporais, processamento de sinais, econometria e robótica. Também é aplicada para modelar o controle do movimento pelo sistema nervoso central, onde compensa atrasos entre comandos motores e feedback sensorial. O algoritmo é projetado para operação em tempo real, usando apenas a medição presente, o estado previamente calculado e sua matriz de incerteza, não exigindo nenhuma informação passada adicional. O filtro é ótimo sob certas condições: se as covariâncias do processo e da medição são conhecidas e os erros têm uma distribuição gaussiana de média zero, ele é o melhor estimador linear possível no sentido de erro quadrático médio mínimo. Extensões como o filtro de Kalman estendido e o filtro de Kalman sem cheiro (unscented) lidam com sistemas não lineares, e o filtro tem sido usado efetivamente em fusão multi-sensor e redes de sensores distribuídas. O filtro recebe esse nome em homenagem a Rudolf E. Kálmán, um emigrante húngaro, embora Thorvald Nicolai Thiele e Peter Swerling tenham desenvolvido algoritmos semelhantes anteriormente. Richard S. Bucy contribuiu para a teoria, levando ao nome às vezes usado de filtro Kalman–Bucy. Kálmán baseou sua derivação em variáveis de espaço de estados aplicadas ao problema de filtragem de Wiener. A primeira implementação é atribuída a Stanley F. Schmidt, que percebeu que o filtro poderia se ajustar a problemas não lineares durante uma visita de Kálmán ao Centro de Pesquisa Ames da NASA. Isso levou à incorporação do filtro no computador de navegação da missão Apollo, usando apenas 2k de memória de núcleo magnético, 36k de memória de cabo de aço e uma velocidade de clock abaixo de 100 kHz. O filtro digital também é um caso especial de um filtro não linear mais geral desenvolvido por Ruslan Stratonovich, e às vezes é chamado de filtro Stratonovich–Kalman–Bucy. O método foi descrito pela primeira vez em artigos de Swerling (1958), Kalman (1960) e Kalman e Bucy (1961). Os filtros de Kalman têm sido essenciais nos sistemas de navegação de submarinos nucleares de mísseis balísticos da Marinha dos EUA e mísseis de cruzeiro, bem como na orientação, navegação e controle de veículos de lançamento reutilizáveis e na atracação de espaçonaves na Estação Espacial Internacional.
Algoritmo e Estrutura Matemática
O filtro de Kalman é fundamentado em um modelo oculto de Markov com um espaço de estados contínuo, onde tanto as variáveis latentes quanto as observadas seguem distribuições normais. O filtro estima o estado de um sistema dinâmico por meio de um processo de duas fases: predição e atualização. Na fase de predição, o filtro usa o modelo dinâmico do sistema e entradas de controle conhecidas para projetar o estado atual e sua incerteza (covariância) para a próxima etapa de tempo. Na fase de atualização, o filtro incorpora uma nova medição, que é corrompida por ruído, para refinar a estimativa. O refinamento é uma média ponderada, onde os pesos atribuem maior confiança a fontes com menor incerteza. Os pesos são calculados a partir de uma matriz de covariância, levando a uma nova estimativa de estado que fica entre o estado previsto e o valor medido. O filtro é recursivo, permitindo processamento em tempo real com memória e computação limitadas. A otimização do filtro é que, quando os ruídos do processo e da medição têm média zero e são gaussianos com covariâncias conhecidas, o filtro de Kalman é o estimador de erro quadrático médio mínimo. Mesmo que o ruído não seja gaussiano, ele permanece o melhor estimador linear no sentido de erro quadrático médio mínimo, desde que as médias e covariâncias sejam conhecidas. Um equívoco comum é que o filtro exige ruídos gaussianos, mas ele pode ser aplicado de forma mais ampla, embora não como um estimador ótimo.
Desenvolvimento e História do Filtro de Kalman
O método de filtragem recebe esse nome em homenagem a Rudolf E. Kálmán, que foi inspirado a aplicar variáveis de estado ao problema de filtragem de Wiener. A teoria foi desenvolvida em parte por Peter Swerling e Kalman, com Kalman e Bucy estendendo-a em 1961. Stanley F. Schmidt, trabalhando no sistema de orientação e navegação Apollo, é creditado com a primeira implementação. Ele dividiu o filtro em duas partes: uma para períodos de tempo entre saídas de sensores e outra para incorporar medições. Essa implementação rodou no computador de navegação Apollo, que tinha uma memória de núcleo de 2K e uma memória de cabo de aço de 36k, com uma unidade central de processamento construída com circuitos integrados rodando a menos de 100 kHz. A capacidade de executar um filtro de Kalman em um hardware tão limitado foi uma conquista notável de engenharia. O filtro tem sido essencial na orientação e navegação de mísseis de cruzeiro balísticos nucleares da Marinha dos EUA e do míssil de cruzeiro Tomahawk e do míssil de cruzeiro lançado do ar, bem como em lançadores reutilizáveis e espaçonaves que atracam na Estação Espacial Internacional.
Fusão de Sensores e Integração Multimodal
Uma força-chave do filtro de Kalman é sua capacidade de fundir dados de múltiplos sensores, também conhecida como fusão de sensores ou fusão de dados. Ele produz uma estimativa de estado com base em dados de sensores ruidosos, aproximações nas equações do sistema e outros fatores externos. O filtro lida com incerteza proveniente de ruído de sensores e distúrbios externos aleatórios, fornecendo um método robusto para rastreamento de sistemas. Por exemplo, em um sistema de navegação veicular, o filtro pode aproveitar GPS, leituras de unidade de medição inercial e modelos para ajustar estimativas. Em redes de sensores distribuídas, algoritmos de consenso podem ser construídos, permitindo que sistemas coordenem rastreamento descentralizado. A estimativa de estado é uma média ponderada do estado previsto e das medições, com pesos calculados a partir da covariância, que representa a incerteza. Isso garante que dados mais confiáveis tenham um efeito maior na estimativa final.
Extensões e Generalizações
Embora o filtro de Kalman básico seja restrito a sistemas lineares com ruído gaussiano, muitas extensões foram desenvolvidas para lidar com não linearidades. O filtro de Kalman estendido (EKF) lineariza a dinâmica do sistema e os modelos de medição via expansão em série de Taylor em torno da estimativa atual, permitindo uso em contextos não lineares. O filtro de Kalman unscented (UKF) usa uma técnica de amostragem determinística para propagar a distribuição de estado através de um sistema não linear, alcançando precisão melhorada para certos problemas. Esses métodos são aplicados em campos como robótica, navegação autônoma e análise de séries temporais. Além disso, filtros de Kalman são usados em econometria para estimar modelos de espaço de estados e em processamento de sinais para filtragem e predição. Na realidade, o modelo do filtro é sempre uma aproximação, e a capacidade do filtro de corrigir erros por meio da etapa de atualização permanece crucial.
Links Externos e Referências
O filtro de Kalman é uma ferramenta fundamental nas ciências da engenharia e aplicado em áreas como robótica, navegação autônoma e análise de séries temporais. Seu desenvolvimento foi inspirado pelo filtro de Wiener, e sua base teórica está profundamente ligada à teoria de controle e ao processamento de sinais. Em inteligência artificial e aprendizado de máquina, conceitos de filtragem são integrados a técnicas modernas de estimativa de estado e assimilação de dados. O filtro também é utilizado na modelagem do sistema nervoso central para controle de movimento, onde é proposto como um mecanismo para o cérebro lidar com atrasos entre comandos motores e feedback sensorial.