Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract—This paper presents a description of a modular processamento e a partir da leitura dos sensores ele envia para o Arduino
omnidirectional robot to be used on the 2016 RoboCupJunior Nano quais movimentos dos motores devem ser feitos; assim, o Arduino
Nano controla os motores e faz a leitura dos encoders para garantir a
Rescue Maze[1] competition. The algorithm used to control the
precisão do movimento.
robot was written in C++[2] and encompasses DFS[3] (Depth-
First Search) and a simplified ideia of PID[4] (proportional-
integral–derivative controller). It runs in an Arduino Mega[5] II. OBJETIVO
board. This Arduino board is responsible for the distance and O objetivo do projeto é construir um robô autônomo capaz
temperature sensors readings, and is connected to an Arduino
de percorrer um labirinto e identificar vítimas caracterizadas
Nano[6] board that uses this data to control the motor and their
encoders resulting in a higher accuracy. For the robot por pontos de calor que serão distribuídas ao longo das
alignment and obstacle detection, eight ultrasonic distance paredes do labirinto. Ao identificar uma vítima, o robô deve
sensors were used, two in each side of the squared chassi. The liberar um LED acesso simulando um kit de socorro.
robot mechanical structure was built using both acrylic and
III. EQUIPE
aluminum pieces in a modular frame so any necessary changes
are conducted easily. It has four omnidirectional wheels[7] that Visando um melhor aproveitamento dos membros da
allow the robot to move in any direction without the need of equipe, decidimos dividir as tarefas relacionadas à
turning itself. The robot was entirely designed, built and construção do robô. Cada pessoa ficou responsável pela área
programmed by the team students.
onde pudesse gerar melhor desempenho. Enquanto um
I. INTRODUÇÃO membro era responsável pelo planejamento da estrutura
mecânica do robô, outro desenvolvia o algoritmo utilizado
Este TDP foi feito para explicar a estratégia que a equipe
pelo mesmo. Dessa maneira fomos capazes de otimizar
Delta Robotics escolheu para resolver os desafios propostos
tempo e projetar um robô com uma maior qualidade, visto
pela competição RoboCupJunior Rescue Maze. O robô é
que cada membro atuava em sua área de melhor
basicamente feito a partir de um chassi de acrílico, é
desempenho.
utilizado o microcontrolador Arduino Mega e também um
IV. Ambiente
Arduino Nano, ambos programados com a programação
O desafio ocorre em uma arena modular, indicado na
original do Arduino, a arduino IDE[8]. Os arduinos se
figura 2, composta por dois andares e quatro salas
comunicam pelo protocolo I2C[9], como pode ser observado
principais. A disposição das paredes do labirinto, assim
na figura 1, a maneira como cada um está relacionado.
como seu desenho, são previamente desconhecidos.
Entretanto, o tamanho total da arena é conhecido, de forma
que o robô consegue se orientar lá. Simulando vítimas em
um resgate, serão colocados pontos de calor, alimentados
eletricamente, em algumas paredes desse labirinto. A
localização dessas vítimas é desconhecida, criando, assim,
um desafio ao robô: encontrá-las.
Além das paredes e dos pontos de calor, o labirinto
também possui os denominados black tiles, quadrados pretos
no chão que serão dispostos aleatoriamente antes do robô
começar o desafio. Esses quadrados indicam áreas que o robô
não pode cruzar, se ocorrer de ele passar por cima de um
quadrado desses, ele deve sair pelo mesmo lado que entrou.
Por fim, temos os checkpoints, quadrados prateados usados
para caso o robô se perca no labirinto. Nessas situações, ele
pode ser colocado de volta no último checkpoint visitado.
V. ESTRATÉGIA
Pensando na constante manutenção que deve ser feita ao
robô, decidimos construí-lo de maneira modular, isto é, ele é
dividido em módulos responsáveis por funções distintas;
assim, no momento em que precisemos modificar algo em
uma determinada função, fazê-lo-emos sem maiores
complicações.
Sua estrutura é composta basicamente por acrílico e
alumínio, materiais escolhidos por sua facilidade de
customização e resistência. O alumínio foi usado
especificamente para estruturas em que é necessária uma
melhor relação peso/resistência. Para evitar interferências
dos sensores ultrassônicos, as laterais do robô são cobertas
com espuma, que abafa o som.
Visando a uma maior precisão e eficiência energética,
optamos por construir um robô omnidirecional. Para tal,
utilizados as denominadas Mecanum Wheels[10], indicado na
figura 3. Devido ao sistema omnidirecional escolhido,
possuímos quatro motores de 5kgf, um indicado na figura 4,
com encoders e uma caixa de redução 80:1, que aumenta
bastante precisão, para controlar individualmente cada roda.
Na figura 5 é possível verificar a estrutura do robô.
VI. PROGRAMAÇÃO
A. Mapeamento
C. Check Point
Figura. 6 Representa um esquema básico de como funciona o DFS. Cada No labirinto, haverá determinados módulos prateados que
círculo representa um módulo da pista e aqueles pintados de cinza, são indicam um checkpoint; no momento em que o robô perceber
equivalentes aos caminhos sem saída encontrados pelos sensores a cor diferente no piso, ele classifica aquele módulo como
ultrassônicos.
"especial". Caso o robô falhe em algum momento de seu
percurso e precisemos retorná-lo ao último checkpoint, ao
B. Alinhamento fazê-lo, pressionaremos um botão no chassi, de forma que o
robô saiba, ao ter aquele botão pressionado, que está
A partir de um algoritmo de controle, nosso robô é capaz localizado no módulo “especial”. Toda vez que ele se deparar
de alinhar-se continuamente às paredes do labirinto. Cada com um piso prateado, ele fará daquele o local do módulo
lateral do chassi é equipada com dois sensores ultrassônicos especial, esquecendo do último checkpoint pelo qual possa já
e, de acordo com a diferença entre os valores encontrados ter passado.
por esses sensores, o programa sabe se o robô está alinhado.
Caso não esteja, ele posiciona-se automaticamente partir de VII. CONCLUSÃO
um sistema de controle similar ao PID, como pode ser
observado nas figuras 7 e 8. Com o uso do DFS, nenhum módulo da arena deixa de ser
visitado, consequentemente, evitando que possíveis vítimas
sejam esquecidas. Além disso com a estrutura modular do
robô é possível fazer qualquer alteração ou conserto de
maneira rápida e eficiente, no caso de algum imprevisto.
VIII. AGRADECIMENTOS
A equipe Delta Robotics gostaria de agradecer ao colégio
Farias Brito[11], por todo o apoio fornecido, e ao professor
Israel Dourado que nós orientou durante a execução desse
escopo.