TDP Equipe Pequi Mecânico VSSS - Futebol de Robôs...

Preview:

Citation preview

TDP Equipe Pequi Mecânico VSSS - Futebol de Robôs - CategoriaVerySmall

Bruno Brandão Soares Martins1, Daniel Faleiro Silva1, Elze Pinheiro Lima Neto1, François de Souza Martins 1

Kléber Macedo Cabral1, Leonel Gomes Leite Filho1, Lucas da Silva Assis1, Pedro Santos de Rezende Alves2,Thais Mendes Pires1, Vinicius Araújo Santos1, Vinícius Paulo Lopes de Oliveira1, Wálisson Gôbbo de Águas1

Abstract— Este trabalho descreve os robôs desenvolvidos pelaequipe PMEC da Universidade Federal de Goiás (UFG) para aCompetição Brasileira de Robótica (CBR) 2016 na categoriaIEEE Very Small Size. Primeiramente é apresentada umadescrição técnica, especificando os componentes utilizados naconstrução dos robôs, tais como a estrutura, rodas e atuadores.Posteriormente é abordado o sistema de visão computacional eas técnicas utilizadas no sistema de navegação e estratégia.

I. INTRODUÇÃO

O IEEE Very Small Size trata-se de uma categoria que temcomo objetivo promover uma partida de futebol robótico emdimensões e proporções reduzidas. Através dessa proposta épossível criar um ambiente desafiador para os competidores,estimulando o desenvolvimento das várias habilidades, tecno-logias e lógicas necessárias para se competir nesta categoria.

Nessa Categoria, cada time deve competir utilizando trêsrobôs com dimensões de, no máximo, 8x8x8 cm, durantedois tempos de 5 minutos cada, tendo como objetivo fazer omaior número de gols no time adversário, de modo que aofim da partida a equipe que obtiver maior número de gols éconsiderada vencedora. O esquemático da partida de futebolpode ser observado na figura 1.

Fig. 1: Esquemático de uma partida de futebol de robôs.

A configuração do jogo é bastante simples e em muitosaspectos é semelhante ao "futebol convencional". O timeé formado por três robôs: 1) um robô responsável pordefender o gol (goleiro); e 2) outros dois responsáveis porparticiparem do jogo como um todo, tendo como funçõesdefender, retirando a posse de bola do adversário, e atacar,pontuando (fazer gols). Os três robôs são idênticos, sendo

1 Graduandos em Engenharia Elétrica e Engenharia da Computaçãomembros do Núcleo de Robótica Pequi Mecânico da Universidade Federalde Goiás (UFG), Goiânia, Goiás, Brasil.

2Graduando em Engenharia da Computação pela UniversidadeFederal de Goiás e Capitão da equipe Pequi Mecânico VSSSpedrorezendesantos@gmail.com

compostos, resumidamente, por uma estrutura de alumínioe parafusos, duas rodas, dois motores, um comunicador,um microcontrolador, uma bateria e um uniforme (imagenscoloridas e coladas em cima de cada robô para distingui-los e distinguir os times). Algoritmos de visão, navegação eestratégia são executados em um computador para o controledesses robôs.

II. DESCRIÇÃO DO ROBÔ

A. Estrutura

Destinada a suportar os contatos entre os robôs duranteo jogo, a estrutura do robô foi projetada para suportar osimpactos que são inevitáveis quando se procura um mesmoobjeto em comum, a bola. A estrutura do robô foi confec-cionada em alumínio e foi toda usinada de modo a suportare manter todas as outras partes do robô fixas. Uma dasprincipais características é a possibilidade de poder manteruma estabilidade melhor devido ao peso da estrutura. Umaestrutura pesada é difícil de se iniciar o movimento, masa partir do momento que o robô entra em movimento seucontrole é mais fácil de ser feito, possuindo uma estabilidademelhor quando se comparado com estruturas mais leves.

Alguns dos principais recortes na estrutura do robô foramos recortes dianteiros e traseiros. Como mostrado na figura2, um corte superior do robô, pode-se notar que as curvasna frente e atrás do robô são curvas destinadas a auxiliar orobô a conduzir a bola até seu objetivo, o gol do adversário.Dependendo da aceleração o robô pode conduzir a bola semque esta escorra para as laterais, evitando assim a perca daposse de bola.

Outra característica básica é a altura da estrutura até opiso do campo. Pensando nesse quesito foi projetado umaestrutura de modo a manter a estrutura o mais rente possíveldo chão para uma melhor estabilidade. Conseguiu-se emmédia uma altura de 5mm do ponto mais baixo da estruturaaté o chão.

B. Rodas e Motores

As rodas e motores escolhidos para serem usados noprojeto foram de tal forma que o robô pudesse ter umbom torque associado com uma boa velocidade. Motoresde corrente contínua (CC) são bons, mas não possuem umtorque adequadamente bom para o tamanho do motor que sedeseja. Assim escolheu-se motores com caixa de redução

Fig. 2: Vista superior da estrutura dos robôs.

(os chamados Gearmotors). Esses motores possuem umavelocidade relativamente alta, cerca de 400 rpm. O papeldas engrenagens acopladas no eixo do motor é diminuia velocidade de rotação do eixo acoplado as rodas e emcompensação ganhar mais torque. A redução adequada parao peso e para a estrutura do robô desenvolvido é de 75:1, oque significa que a cada 75 voltas do eixo do motor a rodagira 1 volta completa.

O consumo médio dos motores chega em torno de umAmpere de pico sendo alimentado por uma tensão de apro-ximadamente seis Volts. Como se trata de um motor bempequeno o consumo médio é relativamente pequeno.

As rodas são de plástico e possuem um diâmetro de trêscentímetros. Para uma melhor aderência usa se pneus deborracha evitando assim o deslizamento em ocasiões ondese exige um grande torque de partida. A figura 3 mostra okit roda-motor utilizado no projeto.

Fig. 3: Conjunto roda-motor.

C. Comunicação

A comunicação entre robô e computador é feita utilizandomódulos xbee. Esses módulos possuem vários canais decomunicação que podem ser criptografados. A comunicaçãoentre módulo e robô é feita por comunicação serial.

O envio de informação é bem simples e é atualizada váriasvezes por segundo. A cada informação enviada um pacotecontendo as informações de cada robô é criado e enviada aos

respectivos robôs de modo que somente o robô correto recebea informação. Como o pacote de dados é criptografado,somente os módulos do respectivo time conseguem decifraros pacotes e vice-versa. Esse tipo de comunicação evitainterferências no recebimento da mensagem o que garanteque a mensagem recebida será a mensagem enviada.

O emissor de pacotes ligado ao computador também éum módulo xbee que funciona como módulo mestre, e osoutros três robôs, cada um com uma identificação diferente,funcionam como escravos. Assim o fluxo de dados é sempreentre comutador e robôs. O módulo xbee é mostrado nafigura 4.

Fig. 4: Módulo xbee utlizado no projeto.

D. Microcontrolador

Foi utilizado a plataforma Seeeduino que possui o micro-controlador ATMEGA 386P. Foi escolhido essa plataformadevido a sua espessura reduzida, seu número de portas sersuficientes para controlar todos os sensores e atuadores.Pode-se ter uma visão geral do Seeeduino na figura 5.

Fig. 5: Plataforma Seeduino.

Porém, foi observado que este microcontrolador geraalgumas limitações de performance e, por isso, está sendoestudada a possibilidade de migração para um sistema queutilize um microcontrolador PIC32MX.

E. Fonte de Energia

A fonte de energia mais viável atualmente são as bateriasde polímero de lítio (LIPO). Como o robô possui umaestrutura reduzida, a bateria não pode ser muito grande edeve caber no interior da estrutura do robô. Uma bateriaideal para o tamanho do robô é a de duas células do tipoLIPO. Cada uma das células da bateria possui cerca de 3.7Volts, totalizando 7.4 Volts. Essa fonte de energia é utilizadatanto pelos motores quanto pela parte controladora do robô.

Estudos estão sendo feitos a respeito de utilizar bateriasmais leves com um ciclo de recarga menor. Baterias dotipo Li-Ion são conhecidas por possuírem tamanhos menores,serem mais leves e armazenarem uma quantidade de energiamaior comparada as baterias de LIPO. A bateria utilizadanos robôs é aquela mostrada na figura 6.

Fig. 6: Bateria de LIPO 2S 1000mAh utilizada nos robôs.

III. SISTEMA DE VISÃO

A visão computacional é responsável por coletar os dadossobre o jogo em cada instante e passa-las de forma maissimplificada possível para o módulo/programa responsávelpela estratégia. Este processo é dividido em algumas etapas:primeiro a câmera, colocada perpendicularmente ao campo áaproximadamente 2 metros acima do mesmo, faz uma sériede capturas de frames e os envia para o computador, estasimagens chegam como fotos, sem nenhuma informação alémde uma foto. A partir daí é utilizado um algoritmo para otratamento destas "fotos". Este algoritmo foi desenvolvidotendo como base a biblioteca OpenCV [6]. A imagem étratada através de filtros que retiram partes da imagem quenão são necessárias, deixando apenas o que é realmenteimportante: as tags, que identificam os robôs, e a bola. Emseguida são utilizados mais alguns filtros para redução deruidos e diminuição de erros de medição. Após a imagemestar "limpa", um algoritmo de rastreamento é utilizadopara encontrar, através de um histograma de cor, a posiçãoabsoluta de cada robô e da bola. Após todos estes elemen-tos serem encontrados, o algoritmo utiliza um processo derastreamento local para diminuir o tempo de processamento.

Com isto, a cada 30 milisegundos é possível saber a posiçãodos três robôs e da bola, estas informações são guardadasem memória e enviadas ao algoritmo que traça a estratégiaque cada robô deve tomar.

IV. ESTRATÉGIA DE JOGO E TÉCNICAS DE CONTROLE

A estratégia, assim como em um jogo real, deve avaliara situação do jogo e tomar decisões que possam otimizar ocomportamento dos jogadores. O papel do módulo de estra-tégia é analisar os dados coletados pela visão computacionale decidir quais serão as ações a serem tomadas por cada robôno próximo instante de tempo. As estratégias normalmenteutilizadas no futebol de robôs seguem uma estrutura fixa,compostas normalmente de um sistema supervisor que recebeinformações do algoritmo de visão computacional, decidequal ação os robôs devem fazer e , por fim, repassa essaação para um sistema de controle [2][4]. Esse sistema éconfiável, mas apresenta uma performance não tão fluida,transformando as ações dos jogadores em jogadas pré-moldadas pelos criadores da estratégia. A proposta do time écriar uma estratégia simplificada, de modo a consumir menosrecursos computacionais e ser de rápida execução em termoscomputacionais, mas que consiga reagir de forma dinâmicacom o ambiente de jogo.

Para fundir a camada de decisão com a camada decontrole, procuramos técnicas computacionais que propor-cionassem esse fato com o mínimo custo computacionale com moderada flexibilidade de aplicação. Encontramosessas qualidades no emprego da Estratégia Evolutiva de tipo(1+1). A solução encontrada para relacionar o processo dedecisão tática, com o controle do robô, foi a introdução domodelo diferencial que exprime a reação do robô ao aplicardeterminadas velocidades em suas rodas. Este modelo podeser definido obtendo a velocidade angular de orientação dorobô e a velocidade linear de translação do robô, conformerepresentado na figura 7.

Fig. 7: Modelo diferencial aplicado ao robô.

A. Defesa

O robô defensor é responsável por evitar que o adversériomarque um gol. O simples comportamento de reagir aosmovimentos da bola garante uma relativa segurança nadefesa, mas é recomendado atribuir algumas tarefas maiscomplexas ao goleiro, tais como antecipar a posição futurada bola e reagir aos movimentos do jogador adversário.

Estratégias como seguir a coordenada ordenada da bolafornecem uma certa garantia de defesa, e esta estratégia évastamente utilizada em vários outros trabalhos. Porém, emalguns casos, movimentos mais complexos desempenhariammelhor a função de defesa e possuem grande potencial dedesencadear um contra ataque. Para ponderar tais possibili-dades, a função de avaliação das soluções necessita analisaro comportamento da bola durante a partida. Isto é, sãonecessários parâmetros de velocidade e posição a fim deobter a trajetória da bola. Além disso, parâmetros comoposição dos adversários podem fornecer informações paraque o robô possa antecipar uma bola que esteja em direçãoao gol. Com a trajetória da bola o robô poderá realizarmovimentos para acompanhar o seu movimento, e por, fiminterceptá-la em um ponto externo ao gol. Nesta abordagem,são evoluídas as velocidades das rodas do robô defensor afim de obter a melhor combinação que obedeça a função deavaliação descrita. Inicialmente as velocidades são evoluídasseguindo o modelo diferencial ideal do robô. Durante aexecução de cada solução, é realizada a realimentação dosistema e o modelo diferencial é corrigido. Dessa forma, afunção de avaliação torna-se mais precisa ao longo do tempomesmo que ocorra mudanças no sistema físico do robô, comoqueda na tensão de alimentação ou imprevistos mecânicos.

B. Ataque

Os robôs atacantes devem trabalhar juntos a fim de man-ter a posse de bola e, eventualmente, marcar o gol. Paraexecutar esta tarefa os atacantes devem se posicionar deforma inteligente e, quando com a posse de bola, devemevitar investidas do adversário para chegar ao gol. Parasimplificar a execução do desafio, usamos uma solução queminimiza o custo computacional e que, ao mesmo tempo, daflexibilidade ás ações possíveis dos jogadores. Esse conjuntofoi encontrado no uso da estratégia evolutiva do tipo (1+1)aplicada na otimização das velocidades nas rodas do robô[7]. A estrutura do algoritmo dos atacantes se assemelha áusada no defensor, se diferenciando somente na função deseleção. Para a concepção da função seletiva dos atacantes foicriado um campo potencial local, em uma área limitada nasproximidades do jogador, gerando uma base para as açõese reações com o ambiente. Nesse raio de visão, o jogadorreage aos objetos dependendo da sua natureza. A bola possuium campo espiral que converge para uma posição atrás damesma, este campo tem o intuito de melhorar o controlee a posse de bola dos atacantes. Já os robôs adversáriosproduzem um campo de repulsão circular, planejado parafacilitar situações de drible [5]. As características dos campospotenciais podem ser observadas nas figuras 8 e 9.

Utilizando dessa técnica na função seletiva, juntamentecom a distância entre o jogador e o objetivo, temos umaestratégia básica de buscar a bola e levar ao gol evitandoo goleiro adversário, com uma consciência reativa ao meio,como pode ser visto na Figura 9.

Fig. 8: Modelo diferencial aplicado ao robô.

Fig. 9: Modelo diferencial aplicado ao robô (defesa).

V. CONCLUSÃO

Através de toda a descrição ao longo deste documentoé possível observar que através deste projeto várias áreasdo conhecimentos são abordadas dentre elas robótica, visãocomputacional, inteligência artificial, técnicas de controleentre outras. Esta configura-se como uma chance para osintegrantes do Núcleo de Robótica Pequi Mecânico colo-carem em prática conceitos teóricos adquiridos ao longoda graduação. É visível que a participação neste projeto,além de estimular os alunos a buscarem e aplicarem outrosconhecimentos também está auxiliando na formação de in-divíduos preocupados com a sociedade, que visam atravésdo conhecimento adquirido darem retornos á sociedade.Visto isso, alguns dos alunos do grupo estão envolvidoscom atividades extra- curriculares, voltados á pesquisa edesenvolvimento da robótica na sociedade, dentre eles estãoorganização de eventos de robótica e ministração aulas doassunto para escolas de ensino fundamental e médio nacidade de Goiânia. Quanto ao projeto ainda possui muitoa evoluir, tanto tem termos de hardware, quanto em termosde estratégia, porém baseados nos resultados apresentados

na última CBR e durante o processo de desenvolvimento, háuma perspectiva excelente para melhorias e desenvolvimento.

REFERENCES

[1] G. O. Young, Synthetic structure of industrial plastics (Book style withpaper title and editor), 2nd ed. vol. 3 Peters, Ed.New York: McGraw-Hill, 1964.

[2] ALVES, Silas F. R.; PEGORARO, Renê; FERASOLI FILHO, Hum-berto; CALDEIRA, Marco A. C.; YONEZAWA, Wilson M. CarrosselCaipira, o time de futebol de robôs da UNESP.

[3] HAN , Kuk-Hyun; LEE, Kang-Hee; Moon, Choon-Kyoung; LEE,Hoon-Bong; and KIM, Jong-Hwan Robot Soccer System of SOTY 5for Middle League MiroSot.

[4] ABRAHAM, Ajith; JAN, Martinovic; VACLAV, Snasel; OCHOD-KOVA, Eliska; ZOLTA Lucie; WU, Jie Robot Soccer - Strategy Des-cription and Game Analysis.

[5] ALVES, Silas F. R.; ROSÁRIO, João M.; FERASOLI FILHO, Hum-berto; RINCÓN, Liz K. A.; and YAMASAKI, Rosana A. T. Concep-tual Bases of Robot Navigation Modeling, Control and ApplicationsUnicamp e USP, 2010.

[6] OpenCV, acesso em: http://opencv.org/, na data: 22 de Agosto de 2014.[7] BAECK, T. SCHWEFEL An Overview of Evolutionary Algorithms for

Parameter Optimization Evolutionary Computation pp. 1-23

Recommended