Desenvolvimento de um Robô Autônomo Móvel

por Sérgio Roberto Gonsalves Tourino

Durante o período de agosto-98 a julho-99 trabalhei no desenvolvimento de um robô móvel (ainda sem nome, o coitado...), para uma bolsa de Iniciação Científica PIBIC.

A seguir mostro alguns resultados obtidos nesse período, incluindo a construção do robô e o algoritmo de navegação desenvolvido.

1. Construção

O robô foi construído no laboratório SG-9 do Departamento de Engenharia Mecânica da Universidade de Brasília. Sua estrutura baseia-se na modularização vertical, contendo em cada "andar" os seguintes componentes:

  • Motores, sensores e fonte de energia;
  • Computador PC (controlador);

    Os motores utilizados são motores de passo obtidos de impressoras matriciais, acoplados às rodas (de aeromodelos) por meio de engrenagens plásticas (redução de 5:1). A interface de controle dos motores é realizada através da porta paralela do computador. Os sensores são "antenas" ligadas a chaves liga-desliga, enviando sinais através da porta paralela.

    O computador PC utilizado é um Pentium 90 com 32 MB e sistema operacional Linux, sendo programado na linguagem C.

    A seguir tem-se algumas fotografias do sistema implementado:

    Na figura ao lado podemos ver a estrutura geral do robô móvel. No "andar" inferior pode-se ver os sensores, o sistema de locomoção e os circuitos eletrônicos de controle dos motores e dos sensores. No "andar" superior temos a placa mãe do Pentium.
    Nesta figura observa-se o sistema de transmissão desenvolvido, com os motores de passo (1.8o por passo) acoplado ao eixo da roda através de uma redução.
    Nesta figura pode-se observar o robô em seu ambiente de testes, assim como as suas dimensões em relação aos demais objetos.

    2. Características do Robô

    3. Algoritmo de Navegação

    O algoritmo desenvolvido baseia-se na teoria de Escoamento Potencial, da mecânica dos fluidos. Os obstáculos são modelados como fontes (repelindo o robô) e vórtices (desviando o robô). O objetivo do robô é modelado como um sorvedouro (atraindo o robô). Através do princípio da superposição o movimento do robô é calculado a cada ponto, sendo então gerada a trajetória. A seguir podem ser vistas simulações realizadas através do MatLab.
    Na figura ao lado vemos a simulação para obstáculos conhecidos (através de sensores de longa distância). Os obstáculos foram gerados aleatoriamente pelo MatLab.
    Nesta figura temos a simulação para obstáculos desconhecidos, ou seja, reconhecido pelo sistema apenas no momento da colisão (sensores de toque). O obstáculo real é o retângulo, enquanto os pequenos círculos em sua superfície são os obstáculos virtuais gerados pelo algoritmo.

    4. Desenvolvimentos Futuros

    5. Referências