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,

Documentos relacionados