RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS...

6
RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS AUTÔNOMOS DA UNIVERSIDADE FEDERAL DE JUIZ DE FORA Afonso Henrique Souza de Almeida, Alice Pereira de Oliveira, Aline Rocha Silva, Amanda Faria Galvão de Oliveira, Ana Sophia Cavalcanti Alves Vilas Boas, Brenda Aparecida Loti de Barros, Carlos José de Oliveira, Caroline Messias do Amaral, Denis Ribeiro Maurício, Eduardo Leite Simões e Silva, Elias Ramos Vilas Boas, Felipe Bravo dos Santos, Gabriel Eduardo de Lima Machado, Gabriel José Costa Barros, Gabriella Garcia Pires, Gérson Fernando Rocha Oliveira, Guilherme Almeida Felix da Silva, Guilherme Neves Santos, Igor Pires do Santos, Ismar Luiz de Carvalho Filho, João Paulo Pires Pimentel, João Pedro Alfredo de Araújo, Julia Soldati Nicolato, Letícia Matos Mota, Luís Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus Pires Pimentel, Matheus Vilela Ávila Fressz, Mayra Urbieta Barbosa, Pablo Mendes Gal de Castro, Paulo Henrique Pereira Careli, Rafael Moreira Guedes, Rayssa Soares de Oliveira, Rodrigo Pereira Gonçalves, Thiago Augusto Pereira, Tiago da Rocha Alves, Vitor Aparecido Moreira, Vitor de Andrade. Resumo - Neste artigo serão abordadas informações de todas as etapas sobre a construção dos robôs de futebol da categoria IEEE Very Small Size pela equipe Rinobot. Palavras-Chave – VSSS, Controle, Estratégia, Montagem, Visão. I. INTRODUÇÃO A Rinobot Team é uma equipe fundada no ano de 2016 e tem como os seus maiores objetivos a construção de robôs para participar de diferentes categorias de competições autônomas e a disseminação da robótica entre as escolas públicas e privadas do ensino médio e fundamental de Juiz de Fora e região. É uma equipe que visa levar aos seus integrantes vivência prática de sua futura profissão. Atualmente é composta por alunos das Engenharias Elétrica e Mecânica e da Ciência da Computação. Tem como orientadores uma professora do departamento de Engenharia Elétrica e um técnico de laboratório e alguns professores auxiliadores de diferentes áreas. Dentre os integrantes da equipe, é subdivida em quatro áreas: Gestão (que é responsável pela parte burocrática, marketing, divulgação e financeira) e as três categorias de competição: Very Small Size Soccer (VSSS), Seguidor de Linha e Sumô Lego. A categoria VSSS é subdividida em Controle de Baixo Nível, Estratégia, Montagem e Visão Computacional. Este relatório está dividido da seguinte maneira: A seção II apresenta a descrição dos componentes utilizados para a montagem do robô; a seção III apresenta a descrição do sistema de visão; a seção IV descreve a estratégia utilizada para comandar os robôs; a seção V descreve o controle de velocidade utilizado nos robôs; a seção VI é uma breve conclusão. II. MONTAGEM O trabalho da montagem na equipe tem como objetivo principal aprimorar os robôs utilizados a cada competição, a partir da observação de possíveis melhorias mecânicas e eletrônicas nos robôs durante os testes e jogos. Portanto, existem duas vertentes de trabalho presentes, em que podemos tratar de adaptações em robôs antigos ou então projetos e ideias de novos modelos de robôs. As características do robô utilizado atualmente serão demonstradas com mais detalhes a seguir. A. DISPOSITIVOS ELETRÔNICOS 1) XBee: Foram utilizados XBEEs 802.15.4 (série 1) para fazer a comunicação entre o computador e os robôs, recebendo comandos do computador e enviando dados como a rotação dos motores, colhida através dos encoders. Figura 1: XBee. O computador fornece os comandos aos robôs através de um módulo XBEE, conectado a ele via USB. Cada robô possui um módulo acoplado à placa Arduino por meio de portas seriais. O XBEE possui as seguintes especificações: VCC de 3.3 V; Frequência de 2.4 GHz; Consumo 1 mW; Alcance de 30 a 90 m. 2) Arduino: O microcontrolador utilizado foi um Atmega328 acoplado a um Arduino Nano 3.0, pois é uma placa pequena e que supre todas as demandas do projeto, sendo basicamente controlar dois motores de corrente contínua, com o auxílio de uma ponte H e ler as informações de dois encoders, além de ter portas suficientes para utilizar um módulo XBEE (comunicação).

Transcript of RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS...

Page 1: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS AUTÔNOMOSDA UNIVERSIDADE FEDERAL DE JUIZ DE FORA

Afonso Henrique Souza de Almeida, Alice Pereira de Oliveira, Aline Rocha Silva, Amanda Faria Galvão de Oliveira,Ana Sophia Cavalcanti Alves Vilas Boas, Brenda Aparecida Loti de Barros, Carlos José de Oliveira, Caroline Messiasdo Amaral, Denis Ribeiro Maurício, Eduardo Leite Simões e Silva, Elias Ramos Vilas Boas, Felipe Bravo dos Santos,

Gabriel Eduardo de Lima Machado, Gabriel José Costa Barros, Gabriella Garcia Pires, Gérson Fernando RochaOliveira, Guilherme Almeida Felix da Silva, Guilherme Neves Santos, Igor Pires do Santos, Ismar Luiz de Carvalho

Filho, João Paulo Pires Pimentel, João Pedro Alfredo de Araújo, Julia Soldati Nicolato, Letícia Matos Mota, LuísGustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus Pires Pimentel, Matheus VilelaÁvila Fressz, Mayra Urbieta Barbosa, Pablo Mendes Gal de Castro, Paulo Henrique Pereira Careli, Rafael Moreira

Guedes, Rayssa Soares de Oliveira, Rodrigo Pereira Gonçalves, Thiago Augusto Pereira, Tiago da Rocha Alves, VitorAparecido Moreira, Vitor de Andrade.

Resumo - Neste artigo serão abordadasinformações de todas as etapas sobre a construção dosrobôs de futebol da categoria IEEE Very Small Sizepela equipe Rinobot.

Palavras-Chave – VSSS, Controle, Estratégia,Montagem, Visão.

I. INTRODUÇÃO

A Rinobot Team é uma equipe fundada no anode 2016 e tem como os seus maiores objetivos aconstrução de robôs para participar de diferentescategorias de competições autônomas e a disseminaçãoda robótica entre as escolas públicas e privadas do ensinomédio e fundamental de Juiz de Fora e região.

É uma equipe que visa levar aos seus integrantesvivência prática de sua futura profissão.

Atualmente é composta por alunos dasEngenharias Elétrica e Mecânica e da Ciência daComputação. Tem como orientadores uma professora dodepartamento de Engenharia Elétrica e um técnico delaboratório e alguns professores auxiliadores dediferentes áreas.

Dentre os integrantes da equipe, é subdivida emquatro áreas: Gestão (que é responsável pela parteburocrática, marketing, divulgação e financeira) e as trêscategorias de competição: Very Small Size Soccer(VSSS), Seguidor de Linha e Sumô Lego. A categoriaVSSS é subdividida em Controle de Baixo Nível,Estratégia, Montagem e Visão Computacional.

Este relatório está dividido da seguinte maneira:A seção II apresenta a descrição dos componentesutilizados para a montagem do robô; a seção III apresentaa descrição do sistema de visão; a seção IV descreve aestratégia utilizada para comandar os robôs; a seção Vdescreve o controle de velocidade utilizado nos robôs; aseção VI é uma breve conclusão.

II. MONTAGEM

O trabalho da montagem na equipe tem comoobjetivo principal aprimorar os robôs utilizados a cadacompetição, a partir da observação de possíveis melhoriasmecânicas e eletrônicas nos robôs durante os testes ejogos. Portanto, existem duas vertentes de trabalho

presentes, em que podemos tratar de adaptações em robôsantigos ou então projetos e ideias de novos modelos derobôs. As características do robô utilizado atualmenteserão demonstradas com mais detalhes a seguir.

A. DISPOSITIVOS ELETRÔNICOS

1) XBee:

Foram utilizados XBEEs 802.15.4 (série 1) parafazer a comunicação entre o computador e os robôs,recebendo comandos do computador e enviando dadoscomo a rotação dos motores, colhida através dosencoders.

Figura 1: XBee.

O computador fornece os comandos aos robôsatravés de um módulo XBEE, conectado a ele via USB.Cada robô possui um módulo acoplado à placa Arduinopor meio de portas seriais.O XBEE possui as seguintes especificações:

VCC de 3.3 V;

Frequência de 2.4 GHz;

Consumo 1 mW;

Alcance de 30 a 90 m.

2) Arduino:

O microcontrolador utilizado foi um Atmega328acoplado a um Arduino Nano 3.0, pois é uma placapequena e que supre todas as demandas do projeto, sendobasicamente controlar dois motores de corrente contínua,com o auxílio de uma ponte H e ler as informações dedois encoders, além de ter portas suficientes para utilizarum módulo XBEE (comunicação).

Page 2: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

Figura 2: Arduino.

3) Ponte H:

São muito importantes para o desenvolvimentode dispositivos robóticos, consistem em um circuitosimplificado capaz de controlar motores de correntecontínua, permitindo desde a definição do sentido de giroaté o controle de potência e velocidade. Este controle éfeito por meio de modulação por largura de pulso(PWM).

Figura 3: Ponte H MD08A

A ponte H MD08A foi escolhida visando atenderas especificações dos motores utilizados.

Seu funcionamento pode ser observado nasimagens a seguir:

Figura 4: A lógica de acionamento dos motores.

Figura 5: Variação da tensão utilizando PWM.

Figura 6: Modulação por largura de pulso no Arduino.

A ponte H possui as seguintes especificações: Tensão VCC 2.7 a 5.5V;

Tensão VMOT 4.5 a 13.5V;

Corrente de saída 1 A;

Pico de corrente de saída 3 A.

4) Bateria:

As baterias que alimentam os robôs são depolímero de lítio de duas células, e suas especificaçõestécnicas são as seguintes:

Capacidade de carga: 300 mAh;

Tensão: 7.4V (duas células de 3.7V cada, li-gadas em série).

Capacidade de descarga contínua: 35C.

5) Encoder:

É um sensor óptico, que faz a leitura davelocidade da roda. Sua finalidade é garantir que o robôestá seguindo os comandos recebidos corretamente apartir da análise das velocidades das rodas, ou seja, evitar,por exemplo, que uma roda gire mais do que a outraquando o comando fosse andar em linha reta, pois então orobô faria uma curva.

Figura 7: Encoder Plolu.

O encoder possui as seguintes especificações: Sensores infravermelhos;

12 dentes (roda utilizada com o encoder);

Ondas defasadas em 90º;

4 contagens por dentes;

Page 3: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

48 pulsos por volta;

VCC de 4.5 a 5.5V.

Porém, a real necessidade de seu uso ainda estásendo analisada, uma vez que a visão computacional podeser útil para tal objetivo. Todavia nada impede deusarmos o encoder se necessário.

6) Circuito:

A placa foi projetada no programa Protheus emuma face única. Foi necessário projetar duas placasencaixadas entre si por conta do espaço lateral reduzidodo nosso robô.

Figura 8: Esquema de ligação da placa de circuitointegrado.

Figura 9: Representação do circuito e componenteseletrônicos utilizados.

B. SISTEMA DE MOVIMENTAÇÃO

1) Motor:

Foram utilizados motores de corrente contínua da marca Pololu.

Figura 10: Motor Pololu.

Os motores possuem as seguintes especificações: Corrente a vazio de 120 mA;

Pico de corrente de 1.6 A;

Torque de 1 Kg x cm;

Tensão nominal 6V;

Funciona 3 a 9V;

Caixa de redução acoplada que disponibilizauma velocidade nominal de 625 rpm.

2) Rodas e pneus

As rodas utilizadas são da marca Pololu. Porém,o pneu foi retirado e foi feito um complemento para aroda impresso em 3D, além de um novo pneu deborracha.

Os novos pneus foram fabricados colando-se trêscamadas de borracha cortadas em máquina de corte alaser. Diversos estudos e testes estão sendo redigidos como objetivo de melhorar o desempenho dos pneus,procurando-se processos e materiais que podem serutilizados para aumento de precisão e minimização deerros decorrentes de fatores mecânicos.

Figura 11: Conjunto roda+anel+motor+encoder

C. ESTRUTURA

1) Carcaça:

A principal função da carcaça é a de proteger esustentar os componentes internos do robô, sendofabricada em chapa de aço inoxidável, cortada a laser edobrada, conferindo grande resistência a impactos eesforços mecânicos.

Com o objetivo de aumentar as chances decontrolar a bola e facilitar a estratégia de jogo, a carcaçatem duas aberturas para encaixe da bola, na partedianteira e na traseira.

Page 4: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

Para se fazer as aberturas, utiliza-se umamáquina policorte, que não confere grande precisão.Portanto, trabalha-se para se fazer um acabamento melhorna carcaça, a fim de evitar empenos e atrito com asuperfície.

Figura 12: Simulação de construção dos robôs (comcarcaça à esquerda).

2) Base:

A base é responsável pelo suporte dos motores efixação da carcaça. Além disso, é um componente dorobô que está em contato direto com a bola no jogo. Porisso, possui faces côncavas para facilitar a condução dabola durante a partida.

Figura 13: Modelo proposto para a base.

III. VISÃO COMPUTACIONAL

O objetivo desse setor consiste em determinar o posicionamento da bola e de todos os robôs no campo e retornar essas informações com o menor delay e erro em relação à realidade possível.

O código vem sendo desenvolvido em C++,usando a biblioteca de código livre OpenCV paraprocessar as imagens obtidas pela câmera utilizandométodos de visão computacional e o sistema do futebolde robôs está rodando no sistema operacional UbuntuLinux OS. Como existem diversos fatores que podeminfluenciar a percepção do mundo real após a leitura dacâmera, como a iluminação e a incapacidade de o sensorrepresentar o que está captando com perfeição, foramdesenvolvidas estratégias para diminuir esses erros, porexemplo determinar um intervalo maior ou menor devalores de pixel baseados em certas premissas para umacor.

Figura 15: Sistema de visão computacional.

O sistema capta as imagens da câmera e asrepresenta em uma matriz. Primeiramente é feito oprocessamento dos elementos dessa matriz e aplicação defiltros para a suavização das intensidades dos pixels paradiminuir os ruídos captados pela lente da câmera, apósessa etapa de pré-processamento são detectados oscontornos dos objetos que compõem a imagem e sãoselecionados aqueles que estão dentro das restrições decada objeto de jogo, que são os intervalos dasintensidades dos pixels e os limites inferiores e superioresdas áreas dos mesmos.Após essa filtragem dos contornos, temos umsubconjunto de contorno onde os que são de interesse nojogo podem estar inseridos, com é feita uma busca queprocura por aqueles que melhor satisfazem ascaracterísticas de cada objeto de jogo, caso nenhumcandidato satisfaça as características necessárias, dizemosque há uma falha na detecção e retornamos a últimaposição encontrada para aquele objeto.

IV. ESTRATÉGIA

A estratégia de jogo consiste em, após terrecebido por meio da câmera e do programa de visãocomputacional os dados relativos à posição dos robôs(tanto do nosso time quanto do time adversário) e da bola,definir as ações que serão tomadas por cada um dosrobôs. Para definir esses comandos, contamos com umalgoritmo implementado em C++, que trabalha em temporeal, assim como o programa de visão computacional,enviando aos robôs sinais de saída (velocidade das rodasesquerda e direita dos robôs) de acordo com os sinais deentrada recebidos.

A. CAMPOS POTENCIAIS

O sistema de navegação da Rinobot Teamaborda o uso de Campos Potenciais baseados emProblemas de Valor de Contorno (PVC) [1], maisespecificamente Campos Potenciais Harmônicos (CPH) eCampos Potenciais Orientados (CPO).

1) CPH:

O CPH tem origem na resolução numérica daEquação de Laplace:

Page 5: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

A Equação de Laplace é responsável pormodelar o potencial gravitacional ou eletrostático empontos do espaço vazio. Para sistemas de navegação derobôs móveis, restringe-se a equação para somente duasdimensões (coordenadas x e y).

2) CPO:

O CPO tem origem na resolução numérica deuma modificação realizada na Equação de Laplace:

Onde:

ϵ: Taxa de influência do vetor de orientação v.

v: Vetor de orientação do Campo Potencial.

Ambas as equações são discretizadas utilizandoo método de Diferenças Finitas, desta forma, obtém-sesistemas de equações lineares que atuam sobre arepresentação discreta do ambiente (grid). Essas equaçõeslineares são relaxadas através de métodos iterativos, deforma a obter potenciais que melhor direcionem omovimento dos agentes em campo, valendo-se do cálculodo gradiente sobre as células do grid.

A seguir, ilustrações do comportamento via CPHe CPO:

Figura 16: Aplicação do CPH.

Figura 17: Aplicação do CPO com v = 0º

Com os comportamentos, torna-se possíveldefinir estratégias de jogo que sejam capazes de fazercom que os agentes robóticos da equipe ataquem,defendam ou atuem como goleiro.

Um sistema baseado em regras pode também sergerado através de métodos inteligentes como lógicaFuzzy ou outras técnicas de inteligência artificial.

V. CONTROLE DE BAIXO NíVEL

O controle de baixo nível é responsável pordesenvolver um sistema para o controle da velocidadedos motores encarregados pelo deslocamento dos robôsautônomos que seja eficaz e preciso. O objetivo dessaárea é trabalhar com informações externas, as quais sãoprovenientes do controle de alto nível conforme mostradofigura abaixo, de tal modo que o controlador a serdesenvolvido seja capaz de processar os dados de entradae aplicá-los corretamente no robô.

Figura 18: Comunicação entre áreas.

Esse controle de velocidade é feito por umcontrolador PI(Proporcional-Integral) projetado de modoque as ações delegadas ao robô chegue ao seu destinoseguindo a trajetória esperada, sem oscilações e erros, no

Page 6: RINOBOT TEAM - EQUIPE DE COMPETIÇÃO DE ROBÔS …redmine.roboime.com.br/attachments/download_inline... · Gustavo de Almeida, Manuella Cruz de Oliveira, Mateus Coutinho Marin, Matheus

menor tempo possível. O projeto dos controladores ébaseado na Função de Transferência do nosso sistema,neste caso, são os motores dos nossos robôs e seuscomponentes auxiliares como ilustrado na Fig.2, osmotores elétricos CC podem ser descritos em termos deuma Função de Transferência de Primeira Ordem [2],conforme mostrado abaixo:

Onde k é a constante do sistema e T é o tempo de respostado sistema.

Figura 19: Sistema Embarcado do Robô. Fonte: [3]

E o Controlador PI é descrito pela seguinte lei decontrole:

Onde kp é o ganho proporcional; ki é o ganhointegral.

Logo, o controle de velocidade consistebasicamente em corrigir os erros entre a velocidadedesejada para as rodas e a velocidade real das mesmas.Desse modo, o controlador recebe o sinal de erro davelocidade dado por:

Com o erro gera um sinal PWM para a Ponte H e esteúltimo converte na tensão desejada para os motores, asaída de cada motor é a velocidade da roda, que é obtidaatravés do encoder. O encoder acoplado ao eixo do motorfaz as leituras de pulso e envia para o Arduino no qual écalculado a velocidade real, logo, os pulsos lidos peloencoder são a realimentação do nosso sistema. O ciclo serepete a cada tempo de amostragem escolhido para osistema. O diagrama do nosso sistema é mostrado nafigura abaixo:

Figura 20: Controle de Velocidade em Malha Fechada.Fonte: [2]

Como já descrito, a camada de baixo nível trocainformações com a camada de alto nível, essa troca de

dados é feita através de uma comunicação serial entreArduino e o Software QT e consiste em umacomunicação sem fio do tipo wireless. Em nossaaplicação o robô móvel comunica com o computador e oSoftware através da placa de desenvolvimento, porintermédio de uma conexão serial feita por umtransmissor dedicado acoplado ao computador e umreceptor embarcado em nosso robô, sendo utilizado paraessas funções os módulos de Radiofrequência Xbee, afigura abaixo mostra o exemplo de um transmissorcomunicando com 3 receptores, conforme utilizamos parao futebol de robôs:

Figura 21: Comunicação wireles. Fonte: [3]

VI. CONCLUSÃO

Este artigo apresenta uma breve introdução dotrabalho desenvolvido pela Rinobot Team no futebol derobôs da categoria Very Small Size Soccer (VSSS).Possíveis melhorias serão sempre necessárias, a fim detornar a equipe cada vez mais competitiva.

O principal objetivo deste projeto é promover eincentivar a pesquisa na área de robótica na UniversidadeFederal de Juiz de Fora e permitir o desenvolvimentotécnico dos alunos envolvidos. As expectativas deresultados são boas, visto os resultados alcançados nasúltimas competições e ao empenho e dedicação dosmembros da equipe.

VII. REFERÊNCIAS

[1] PIRES, Pedro Antônio Alcântara; Navegação deRobôs Móveis através de Campos Potenciais Baseadosem Problemas de Valor de Contorno. Graduate thesis,Universidade Federal de Juiz de Fora, 2016.

[2] OLIVEIRA , Leandro Luiz Resende de; Controle deTrajetória Baseado em Visão Computacional Utilizando oFramework ROS, Dissertação de Mestrado, UniversidadeFederal Juiz de Fora, Novembro de 2013.

[3] VILAS BOAS, Ana Sophia; Notas de AulaLaboratório de Robótica; UFJF