Abstract:
|
Este trabalho corresponde ao Projeto de Fim de Curso desenvolvido pelo
autor durante 5 meses no Instituto de Robótica do ETHZ (Swiss Federal Institute
of Technology). Durante este período um método para navegação de robôs
móveis foi estudado. Este método é descrito em mais detalhes na sequência.
Na navegação de robôs móveis uma das questões mais importantes diz
respeito à localização. Como determinar a posição do robô a partir de informações
a priori a respeito do ambiente e também dos dados provenientes de
sensores? No presente trabalho explora-se a solução deste problema aplicandose
a idéia da “fusão de sensores”. Um sistema de visão foi escolhido, mas
a mesma técnica pode ser utilizada com outros tipos de sensores como laser
scanners ou sonares por exemplo.
O processo de localização pode ser interpretado como a determinação das
coordenadas (x,y,0) do robô com relação a um sistema de coordenadas de
referência. Para um robô dotado de rodas, a forma mais natural, simples
e barata para realizar esta tarefa é usando a hodometria, ou seja, usando
as informações proveniente de encoders instalados em cada um dos motores
acoplados às rodas. O problema é que por vários fatores como imprecisões
no modelo, folgas mecânicas e irregularidades no chão, esta técnica gera um
acúmulo ilimitado de erros que leva o robô a perder sua referência.
Para superar este problema outros sensores devem ser incorporados ao robô
para possibilitar uma localização mais precisa e robusta. No caso de um sistema
de visão, marcas artificiais são instaladas em pontos predeterminados
do ambiente. As marcas escolhidas para a realização deste trabalho foram
lâmpadas fluorescentes. Por serem fontes de luz elas provêem um bom nível
de contraste nas imagens, facilitando a sua detecção.
A idéia de combinar as informações provenientes da hodometria com informações
do sistema de visão é implementada na prática utilizando-se um
filtro de Kalman. Este filtro é composto de dois modelos. Um é o modelo da
planta, que descreve como a posição do robô muda a cada intervalo de tempo.
O outro é o modelo do sensor, que descreve a relação entre a posição do robô
em um dado instante e a posição das marcas no ambiente.
A cada ciclo do algoritmo, a posição do robô e a incerteza associada a ela
são primeiramente calculadas a partir da hodometria. Em seguida calculam-se
os ângulos com relação a posição atual do robó, onde se espera encontrar as marcas do ambiente. Este cálculo é possível porque as posições das marcas são
conhecidas a priori pelo robó.
No passo seguinte obtém-se as informações do sistema de visão. Uma
imagem do ambiente é capturada e dela são extraídas as posições (ângulos)
das lâmpadas em relação ao robô. Compara-se então estes ângulos obtidos pelo
sensor com os ângulos esperados calculados anteriormente. Essa comparação
visa separar os ângulos que realmente correspondem às marcas do ambiente
daqueles que foram introduzidos de forma espúria.
Após este processo calcula-se o ganho do filtro de Kalman que é usado para
corrigir a posição atual do robô e a sua respectiva incerteza, finalizando assim
o ciclo.
O ponto chave para entender todo o processo é perceber que através da
hodometria tem-se sempre à disposição uma aproximação inicial da posição
atual do robô, mesmo que esta não seja muito precisa. À informação proveniente
do sistema de visão dirá então, que o robô está numa posição um pouco
diferente daquela estimada no início do ciclo. Neste momento entra o filtro de
Kalman, que combina estas duas informações de forma estatística atribuindo a
cada uma delas um peso correspondente às incertezas a elas associadas. O resultado
obtido é uma nova posição (agora corrigida) com uma menor incerteza
associada.
O algoritmo de localização desenvolvido neste trabalho foi implementado
em um robô chamado SmartRODB. Este robô é uma plataforma básica de robô
móvel totalmente desenvolvida no Instituto de Robótica do ETHZ. Os resultados
mostraram que quando se utiliza somente a hodometria para realizar o
processo de localização, existe um aumento ilimitado da incerteza em relação
à posição real do robó, inviabilizando assim uma navegação de precisão.
Por outro lado, quando se combina a hodometria com o sistema de visão,
consegue-se realizar uma navegação precisa, mantendo a incerteza sempre limitada.
À implementação realizada, apesar de não ter sido ótima, possibilitou
o entendimento e também a ilustração, na prática, do funcionamento de um
sistema simples de navegação de robôs móveis. |