Atualmente, tenho um robô estilo triciclo que usa um filtro kalman estendido para rastrear 6 variáveis de estado. As entradas para o sistema são um codificador de direção, um codificador de distância e um laser rotativo que retorna com apenas informações para pontos de referência conhecidos. Atualmente, os dois codificadores estão localizados na roda principal (a que dirige e também é alimentada).
As 6 variáveis rastreadas pelo filtro Kalman são X, Y, Rumo, Escala de distância (calibração do codificador de distância), Calibração de direção (deslocamento do codificador de direção) e, finalmente, uma calibração de rolamento de um laser em rotação.
Com esse tipo de sistema, montamos um veículo, fornecemos uma boa localização conhecida com muitos pontos de referência, dirigimos um pouco e terminamos com um veículo bem calibrado que pode percorrer longas distâncias de maneira confiável com poucos pontos de referência. É simples e funciona muito bem. Com o tempo, se um codificador deriva, ele seguirá automaticamente a deriva e ajustará.
Agora, estamos tentando aplicar os mesmos princípios a um robô com várias rodas de direção e tração. Nesse caso, o veículo poderá se mover em qualquer direção, girar no lugar, etc. Cada roda de direção / acionamento terá seu próprio codificador de direção e distância que cada um precisa ser calibrado.
Posso esperar obter o mesmo tipo de confiabilidade e desempenho do sistema mais complexo? Existem armadilhas comuns a serem observadas ao expandir um filtro kalman para incluir mais variáveis? Existe o risco de ele optar por valores abaixo do ideal?
fonte