Calibração de sistemas de Odometria

20/07/2016 19:04

Introdução

Sistema odométricos apesar de serem simples e barata sua implementação, possuem erros tanto sistemáticos quanto não sistemáticos. Os erros não sistemáticos são erros relacionados com as irregularidades do piso, obstáculos e erros relacionados ao escorregamento das rodas. Porém o método utilizado neste trabalho visa corrigir eventuais erro sistemáticos, isto é, erros relacionados com a diferença do diâmetro das rodas, raio nominal diferente do real ou erros relacionados a resolução dos encoders por ser finita ou diferente da nominal.

Tipos de Erros

Dentre as fontes de erros sistemáticos, serão abordados apenas dois tipos, os do tipo A e erros do tipo B [1]. Erros do tipo A são erros relacionados com a imperfeição na execução das curvas de 90º devido a incerteza associada ao comprimento do eixo entre as rodas. Já os erros do tipo B são erros associados ao diâmetro das rodas do robô que causam um desvio angular de sua trajetória quando o mesmo percorre em linha reta. A figura 1 exemplifica os tipos de erros tanto no sentido horário quanto no anti-horário.

Figura 1: Erros devido a incerteza no comprimento do eixo das rodas, tipo A e erros relacionados ao diâmetro das rodas, tipo B.

Método UMBmark

O método UMBmark, University of Michigan BenchMark [2], consiste em executar uma trajetória de forma quadrada N vezes no sentido horário (cw) e no sentido anti-horário (ccw) com o intuito de observar a diferença entre o ponto de partida e chegada do robô. Conforme visto na figura 1, após realizar um certo número N de amostras em ambos sentidos, pode-se prever o desvio angular do tipo A ou B e executar a determinada correção, calibrando assim os dados da hodometria.

Procedimento de correção dos dados

Primeiramente deve-se converter os dados dos encoders em distâncias. A relação dos pulsos do encoders com a revolução das rodas da-se por:

Onde:

  • r é o raio da roda. Foi considerado o raio de ambas rodas de r = 0.05m;
  • A representa o fator de acoplamento entre a engrenagem do motor e a roda sendo A = 5.9;
  • C é a quadratura do encoder, neste caso C = 4;
  • R é a resolução do encoder, neste caso R = 512;
  • de/d trata-se do incremento dos dados após o overflow dos encoders. 

Após ter os dados de todas as trajetórias, é realizado um procedimento que visa extrair o centro de gravidade da dispersão dos pontos de chegada, tanto no eixo x quanto no eixo y:

Com as coordenadas do centro de gravidade é possível identificar o ponto médio das amostras, conforme a figura 2.

Figura 2: Dispersão dos pontos de chegada no sentido cw e ccw em relação a origem.

Assim pode-se estabelecer uma equação relacionando o desvio angular α com os pontos de c.g, sendo um quadrado de lado L = 4 m:

Já o desvio β está relacionado com a diferença dos c.g:

Utilizando relações trigonométricas, o raio da trajetória pode ser encontrado por:

Assim o erro associado ao diâmetro das rodas, Ed , pode ser encontrado pela relação entre R e o Lrodas, o comprimento do eixo entre as rodas que neste caso Lrodas = 0.4 m.

Através do Ed encotra-se dois fatores de correção, cada qual relacionado com os encoders esquerdo e direito:

Encontrados os fatores de correção basta inserí-los na equação 1. Assim compensa-se erros do tipo B:

Porém deve-se corrigir ou "atualizar" o valor do Lrodas de forma que haja um novo que corresponda aos valores calibrados, ou seja:

O erro associado ao comprimento do eixo entre as rodas, Eb , trata-se da razão entre o Lrodasnovo e o nominal:

Logo:

Para compensar este erro, tipo A, basta relacionar o Lrodasnovo como se segue:

Resultados

Como verificou-se, tratou-se de erros do tipo A, pois tanto no sentido cw quanto no ccw o quadrado fechavase, conforme vê-se na figura 3 e 4:

Figura 3: Trajetória no sentido cw sem calibração.

Figura 4: Trajetória no sentido ccw sem calibração.

Após a calibração da hodometria, os resultados tornaram-se os vistos nas figuras 5 e 6:

Figura 5: Trajetória no sentido cw após a calibração.

Figura 6: Trajetória no sentido ccw após a calibração.

Deve-se observar que devido o α se comportar diferente da figura 1, foi invertido seu valor para que reduzir o erro, não para aumentar. Plotando as figuras 3 e 5 no mesmo gráfico, a título de comparação, o resultado é o visto na figura 7:

Figura 7: Trajetórias no sentido cw antes e após a calibração.

Analisando a dispersão dos pontos de chegada percebe-se a melhoria obtida, em contraste a figura 2 sem calibração, a figura 8 exprime os pontos após a calibração. Com a implementação da calibração da Hodometria, foi possível reduzir os desvios entre o quadrado real e ideal de 98.7 mm para 1.7 mm.

Figura 8: Dispersão dos pontos de chegada no sentido cw e ccw em relação a origem após a calibração.

Conclusões

Portanto apesar do presente método de calibração ter efeito apenas sobre erros sistemáticos, percebe-se a importância da calibração de medidas odométricas, pois a acumulação dos erros afetam significativamente a leitura dos dados causando assim uma fraca perceção do ambiente em análise.

Referências

[1] Alfredo Martins. Mobile robotics. In Instituto Superior de Engenharia do Porto, 2015.

[2] Johann Borenstein and Liqiang Feng. Correction of systematic odometry errors in mobile robots. In The University of Michigan, 1995.