Você não conectar todos esses sensores diretamente a um microcontrolador. O filtro Kalman não é um filtro eletrônico como um filtro LRC que fica entre os sensores e o microcontrolador. O filtro Kalman é um filtro matemático implementado como rotina de software dentro do microcontrolador.
Os sensores que você listou fornecem ao microcontrolador 14 ou 15 números brutos cada vez que são atualizados.
Quando piloto um pequeno avião, o que realmente quero saber é sua posição e orientação e a que distância está do solo - 7 números.
Eu preciso de algo que me dê esses 7 números.
Idealmente, quero uma nova estimativa desses 7 números todas as vezes através do meu loop de controle. As atualizações de uma vez por segundo que recebo do meu GPS barato não são rápidas o suficiente. (As pessoas em que frequência meu loop de atualização de saída com sentido e cálculo de saída com quadricóptero precisam permanecer estáveis? Estão me dizendo que mesmo 50 vezes por segundo não será rápido o suficiente).
De alguma forma, vou ter que reduzir os 14 ou 15 números brutos que tenho, alguns dos quais apenas ocasionalmente atualizados, em (estimativas) dos 7 números que eu realmente quero.
Como Josh apontou, existem muitas maneiras ad-hoc de converter esses números brutos em dados utilizáveis. Qualquer rotina que converta 15 números em 7 números pode ser descrita como um "filtro".
Você não precisa usar o filtro ideal. Mas você usará algum tipo de filtro - ou seja, algo que converta dos 15 números de dados brutos que você possui (estimativas) dos 7 números que você realmente deseja.
O filtro Kalman é, em algumas condições, o filtro "ideal", a melhor maneira de converter esses dados brutos nos 7 números que eu realmente quero.
Pode levar menos trabalho da sua parte usar um filtro Kalman que outra pessoa já tenha escrito e depurado, do que escrever outro filtro a partir do zero, depurá-lo e continuar adicionando coisas até que seja utilizável - um filtro que inevitavelmente se mostra abaixo do ideal.
Os dados do sensor estão com ruído. Se você não filtrá-lo, seu veículo agiria pelo menos de maneira irregular se fosse estável o suficiente para voar. A filtragem, por meio de um filtro Kalman ou de outra forma, pode reduzir o ruído quando feita corretamente, melhorando a estabilidade.
Um filtro Kalman é um filtro particularmente poderoso. É necessário um modelo do sistema e modelos de ruído para o sistema e seus sensores. Em seguida, estima o estado do veículo com base em uma estimativa de estado fornecida e nos controles aplicados a qualquer momento. Esse estado estimado será mais preciso do que o relatado pelos sensores.
fonte
Você também pode usar filtros de partículas. Para a introdução básica aos Filtros de Partículas, você pode dar uma olhada nos vídeos do Professor Thrun em Programming a Robotic Car.
http://www.youtube.com/watch?v=H0G1yslM5rc
http://www.youtube.com/watch?v=QgOUu2sUDzg
Os filtros de partículas são mais robustos e têm uma probabilidade muito menor de erro de fechamento do loop, o que geralmente ocorre durante a implementação de um EKF.
Os vídeos descrevem o funcionamento de um filtro de partículas.
fonte
Um filtro Kalman é um algoritmo comumente usado em UAVs para fundir várias medições de sensores para fornecer uma estimativa "ideal" da posição e / ou orientação do UAV. Por exemplo, um filtro Kalman pode fundir medições de acelerômetro, giroscópio e magnetômetro com uma estimativa de velocidade para estimar a guinada, inclinação e rotação do UAV.
Para obter mais informações sobre os sensores e algoritmos usados na estimativa do estado do UAV, tente o artigo autônomo Fundamentos do voo de pequenas aeronaves não tripuladas .
O artigo também vincula o código Matlab que acompanha a implementação dos algoritmos de estimativa de estado do UAV do Kalman Filter descritos.
fonte