visualizar
Transcrição
visualizar
IMPLEMENTAÇÃO DE COMPORTAMENTOS PARA CONTROLE DE LOCOMOÇÃO DE ROBÔS MÓVEIS CANDOTI, MARLON W. (Estudante de IC); MARTINS, FELIPE N. (Orientador). Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo, Campus Serra, [email protected] Robôs são dispositivos capazes de realizar as mais diversas atividades com algum grau de autonomia. Além das aplicações convencionais, recentemente as pesquisas em robótica direcionam-se para aplicações relacionadas a robôs de serviço. Robôs de serviço normalmente são robôs móveis e, portanto, precisam se locomover de maneira autônoma em ambientes não estruturados e na presença de obstáculos. O crescimento das aplicações da robótica de serviço e a necessidade de interfaces que possibilitem a comunicação e a cooperação entre homens e robôs justificam este trabalho, que consistiu no desenvolvimento de comportamentos para permitir a locomoção do robô em ambientes parcialmente desconhecidos. O objetivo era que robô se locomovesse de maneira autônoma em ambientes não estruturados e na presença de obstáculos, por isso foram implementados comportamentos como seguimento de paredes, movimentação a um ponto de destino e desvio de obstáculos. Para este trabalho foi utilizado Arduino (placa física e interface de programação), Processing (interface de programação), Wixel Shield para comunicação do computador com o Arduino sem fio e um robô de tração diferencial. Primeiro foi estudado o modelo matemático do robô móvel de tração diferencial (tipo uniciclo). Depois, foram estudados os controladores de locomoção (comportamentos) e as plataformas de programação Arduino e Processing, bem como a comunicação entre os dois por porta serial via uma placa de rádio (Wixel Shield). Após o estudo, os comportamentos foram implementados. O primeiro foi o Go-to-Goal, cujo objetivo é fazer com que o robô se locomova até um ponto desejado (de coordenadas especificadas). Esse comportamento calcula, com base na posição e na orientação atuais do robô, a distância necessária para chegar ao destino e então define direção e sentido necessários, fazendo isso durante todo o tempo até a chegada no destino. Após, foi criado o Wall-Following, cujo objetivo é fazer com que o robô se alinhe a uma parede mantendo uma distância segura da mesma enquanto se dirige ao ponto de destino. Ele recebe as medidas dos sensores, calcula o erro entre eles e então tenta estabilizar o robô a distância limite. Assim que a parede termina, o robô troca de volta para o comportamento Go-to-Goal e traça uma nova rota ao ponto de destino. O comportamento Desvio de Obstáculos mescla os outros dois comportamentos de forma que o robô possa se locomover desviando de obstáculos. Ao detectar um objeto qualquer, o robô ativa o comportamento Wall-Following e começa a desviar e se alinhar ao objeto. Caso o objeto seja algo menor que uma parede, rapidamente o robô desvia do objeto e troca para o Go-to-Goal retomando a direção ao seu antigo ponto de destino. A comunicação entre o computador de controle e o robô é feita através de um link serial, via rádio. O comando é gerado no computador e enviado de forma serial para o Arduino que controla o robô. O Arduino, com o shield de comunicação sem fio, recebe essa informação e a usa de forma apropriada. Para mandar esse sinal, foi criada uma interface genérica no computador usando o programa Processing. A ideia da interface é simular um ambiente na qual o robô está situado. Então, através da aplicação da teoria de comportamentos para robôs móveis, foi possível projetar comportamentos para que um robô seja capaz de se locomover na presença de obstáculos em um ambiente não estruturado. Com a implementação de um arbitrador o robô é capaz de fazer a troca de comportamentos quando for necessário baseado na leitura dos sensores ultrassônicos dispostos nas laterais e na frente do robô. Palavras-chave: robôs móveis, controle de robôs, interação homem-máquina,