1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. ·...

5
ROBOK VERY SMALL SIZE TDP Pedro Senna de Campos * , Luiz Ricardo Veloso Antunes * , Thiago Souza de Oliveira * , Vanessa Ayumi Maegima * , Lu´ ıs Paulo Manfr´ e Ribeiro * , Iago Benjamin Daniel Santana * , Caio Pinheiro Santana * , Paula Carvalho Mendon¸ ca * , Rafael Guimar˜ aes Avila * , Pedro Andrade de Oliveira * , Jo˜ ao Pedro Porto Teixeira * , Kleber Roberto da Silva Santos * * Universidade Federal de Itajub´a - UNIFEI Campus prof. Jos´ e Rodrigues Seabra, Itajub´a, Minas Gerais, Brasil Emails: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Abstract— This paper presents the Robok’s Very Small soccer team from Federal University of Itajub´a. The team consists of graduate students from various courses and is divided into mechanics, electronics, software and management sub-teams. Keywords— very small size, ROBOK, robotic soccer. Resumo— Este artigo apresenta a categoria Very Small de futebol de robˆos da Equipe Robok, da Universidade Federal de Itajub´ a. A equipe ´ e formada por alunos da gradua¸cao de diferentes cursos e ´ e dividida nas ´ area de mecˆanica,eletrˆ onica, software e gest˜ ao. Keywords— very small size, ROBOK, futebol de robˆ os. 1 Introdu¸c˜ ao O time da categoria Very Small Size de fute- bol de robˆ os ´ e formado por 3 robˆ os de medi- das 7,5x7,5x7,5cm controlados por um computa- dor sem a interven¸c˜ ao humana. O computador processa as imagens enviadas por uma cˆ amera, lo- calizada suspensa sobre o campo, decidindo quais a¸c˜ oes ser˜ ao tomadas atrav´ es de um algoritmo de- senvolvido pelas equipes previamente, enviando os comandos necess´ arios aos jogadores da estrat´ egia de jogo, que ent˜ ao os executar˜ ao. 2 Mecˆ anica O chassi do robˆ o foi usinada em alum´ ınio, com- pondo um ´ unico bloco que concentra a massa do robˆ o pr´ oxima ao ch˜ ao, com 19 mil´ ımetros de al- tura e suspenso a aproximadamente 1 mil´ ımetro do ch˜ ao. Tendo sido projetado e usinado pela equipe. A imagem 7 mostra o chassi do robˆ o. Os atuadores utilizados s˜ ao os micro motores DC, da marca Pololu, compactos e que j´ a pos- suem uma redu¸c˜ ao pr´ opria, de 30:1, garantindo uma ´ otima acelera¸ ao e tamanho reduzido. As ro- das possuem diˆ ametro de 42 mil´ ımetros, seu aro, com 12 dentes internos formam um disco que ´ e utilizado para leitura dos encoders, tamb´ em da marca Pololu. Para o equil´ ıbrio do robˆ e uti- lizado uma esfera deslizante, na regi˜ ao traseira do chassi, que minimiza a inclina¸c˜ ao durante as acel- era¸ oes e o atrito durante o movimento. A bateria ´ e posicionada abaixo dos motores, sendo superdi- mensionada para evitar constantes trocas, man- Figura 1: Imagem do lado do robˆ o. tendo a maior parte da massa do robˆ o abaixo dos 30 mil´ ımetros em rela¸c˜ ao ao ch˜ ao, isso garante es- tabilidade ao robˆ o, principalmente nas curvas ou durante as acelera¸c˜ oes[1]. A lateral foi feita em acril´ ıco, com 4 mm de espessura, permite a visu- aliza¸c˜ ao do interior do robˆ o. A foto 1 mostra o lado do rˆ obo. A placa eletrˆ onica foi posicionada na parte su- perior, exigindo que muitos fios cruzassem o inte- rior do robˆ o, dificultandoamanuten¸c˜ ao do dispos- itivo. Apesar dos resultados satisfat´ orios obtidos com o conjunto, pretendemos em projetos futuros aconstru¸c˜ ao de um robˆ o mais baixo e com mel- hordisposi¸c˜ ao da placa eletrˆ onica, reduzindo seu

Transcript of 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. ·...

Page 1: 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. · diagrama do software da equipe. Figura 5: Diagrama em alto n vel do software. 4.1 Visao

ROBOK VERY SMALL SIZE TDP

Pedro Senna de Campos∗, Luiz Ricardo Veloso Antunes∗, Thiago Souza de Oliveira∗,Vanessa Ayumi Maegima∗, Luıs Paulo Manfre Ribeiro∗, Iago Benjamin Daniel Santana∗,Caio Pinheiro Santana∗, Paula Carvalho Mendonca∗, Rafael Guimaraes Avila∗, PedroAndrade de Oliveira∗, Joao Pedro Porto Teixeira∗, Kleber Roberto da Silva Santos∗

∗Universidade Federal de Itajuba - UNIFEICampus prof. Jose Rodrigues Seabra, Itajuba, Minas Gerais, Brasil

Emails: [email protected], [email protected],

[email protected], [email protected], [email protected],

[email protected], [email protected], [email protected],

[email protected], [email protected], [email protected],

[email protected]

Abstract— This paper presents the Robok’s Very Small soccer team from Federal University of Itajuba. Theteam consists of graduate students from various courses and is divided into mechanics, electronics, software andmanagement sub-teams.

Keywords— very small size, ROBOK, robotic soccer.

Resumo— Este artigo apresenta a categoria Very Small de futebol de robos da Equipe Robok, da UniversidadeFederal de Itajuba. A equipe e formada por alunos da graduacao de diferentes cursos e e dividida nas area demecanica, eletronica, software e gestao.

Keywords— very small size, ROBOK, futebol de robos.

1 Introducao

O time da categoria Very Small Size de fute-bol de robos e formado por 3 robos de medi-das 7,5x7,5x7,5cm controlados por um computa-dor sem a intervencao humana. O computadorprocessa as imagens enviadas por uma camera, lo-calizada suspensa sobre o campo, decidindo quaisacoes serao tomadas atraves de um algoritmo de-senvolvido pelas equipes previamente, enviando oscomandos necessarios aos jogadores da estrategiade jogo, que entao os executarao.

2 Mecanica

O chassi do robo foi usinada em alumınio, com-pondo um unico bloco que concentra a massa dorobo proxima ao chao, com 19 milımetros de al-tura e suspenso a aproximadamente 1 milımetrodo chao. Tendo sido projetado e usinado pelaequipe. A imagem 7 mostra o chassi do robo.

Os atuadores utilizados sao os micro motoresDC, da marca Pololu, compactos e que ja pos-suem uma reducao propria, de 30:1, garantindouma otima aceleracao e tamanho reduzido. As ro-das possuem diametro de 42 milımetros, seu aro,com 12 dentes internos formam um disco que eutilizado para leitura dos encoders, tambem damarca Pololu. Para o equilıbrio do robo e uti-lizado uma esfera deslizante, na regiao traseira dochassi, que minimiza a inclinacao durante as acel-eracoes e o atrito durante o movimento. A bateriae posicionada abaixo dos motores, sendo superdi-mensionada para evitar constantes trocas, man-

Figura 1: Imagem do lado do robo.

tendo a maior parte da massa do robo abaixo dos30 milımetros em relacao ao chao, isso garante es-tabilidade ao robo, principalmente nas curvas oudurante as aceleracoes[1]. A lateral foi feita emacrilıco, com 4 mm de espessura, permite a visu-alizacao do interior do robo. A foto 1 mostra olado do robo.

A placa eletronica foi posicionada na parte su-perior, exigindo que muitos fios cruzassem o inte-rior do robo, dificultando a manutencao do dispos-itivo. Apesar dos resultados satisfatorios obtidoscom o conjunto, pretendemos em projetos futurosa construcao de um robo mais baixo e com mel-hor disposicao da placa eletronica, reduzindo seu

Page 2: 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. · diagrama do software da equipe. Figura 5: Diagrama em alto n vel do software. 4.1 Visao

tamanho e melhorando a disposicao dos fios inter-namente ao robo.

3 Eletronica

Figura 2: Imagem da placa confeccionada pelaequipe.

Responsavel pela interface entre computa-dor/robo e o controle de movimentacao, aeletronica da categoria Very Small e baseada naplataforma de desenvolvimento Arduino Nano,que utiliza o ATmega328 como microcontrolador.A facilidade de programacao, a compatibilidadecom o circuito de comunicacao ZigBee, as suas es-pecificacoes (16Mhz de clock e 32Kb de memoriaflash) e o tamanho reduzido fez com que o grupoescolhesse esta placa. O firmware utilizado foifeito em C/C++, e Assembly para a otimizacaode algumas funcoes crıticas, como a leitura dossensores de rotatividade.

Os encoders usados sao da Pololu e, pro-gramados, geram 48 pulsos por rotacao, aimagem 3 mostra um desenho do conjuntoroda/encoder/motor utilizados. O controle de ve-locidade das rodas e baseado em um algoritmode controle PID implementado em software. Apotencia para controlar os dois motores DC dorobo vem do L293D, um CI que possui duaspontes-h e uma corrente de 0.6mA por canal. Umaplaca de circuito impresso foi confeccionada paraagregar todos os componentes eletronicos, a fimde mante-los dentro das dimensoes adequadas dorobo.

A Imagem 2 mostra a placa confeccionadapela equipe.

As baterias sao do tipo LiPo, com duas celulasque juntas fornecem 7.4V e 500mAh. As dimen-soes da bateria de 55x33x13 mm sao adequadasao porte do robo, a imagem 4 mostra o comparti-mento da bateria na parte inferior do robo.

Para a comunicacao, apos pesquisas sobre osmelhores componentes para o robo, optou-se por

Figura 3: Desenho do conjunto roda, encoder emotor.

um shield do arduino que corresponde as preten-soes da equipe, que utiliza comunicacao ZigBee,o Xbee. O circuito de comunicacao e responsavelpelo recebimento sem fio de comandos do com-putador.

Para a proxima competicao pretende-se uti-lizar outro microcontrolador, uma vez que o Ar-duino utilizado e limitado quanto ao processa-mento. Alem disso, os novos motores possibil-itariam um controle mais preciso da movimen-tacao.

Figura 4: Visao inferior do robo.

4 Software

O projeto do software foi dividido em duas cat-egorias: Inteligencia Artificial e Visao. Todo osistema foi desenvolvido utilizando o sistema op-eracional Linux pela facilidade de integracao coma biblioteca OpenCV e pela estabilidade do sis-tema. Todo o sistema foi desenvolvido utilizandoa linguagem C/C++ e assembly, e focado parauso de multithreads. Os modulos se comunicamusando o protocolo UDP. A imagem 5 mostra um

Page 3: 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. · diagrama do software da equipe. Figura 5: Diagrama em alto n vel do software. 4.1 Visao

diagrama do software da equipe.

Figura 5: Diagrama em alto nıvel do software.

4.1 Visao

A visao computacional e responsavel por realizara identificacao e classificacao dos objetos do jogo.Para isso usamos uma webcam Logitech C270 quepossui taxa de captura de 30 quadros por segundoe resolucao de 1280 x 720 pixels. Por motivo dedesempenho, as imagens utilizadas foram reduzi-das para a resolucao de 640 x 480.

Para a aquisicao da imagem pela camerae pre-processamentos foi utilizada a bibliotecaOpenCV. Para se ter um algoritmo mais robustoas nossas necessidades, a parte de identificacaoe rastreio dos robos e bola foram implementadospela equipe.

O algoritimo de identificacao trata cada corindividualmente. E utilizado a biblioteca OpenCVpara capturar a imagem, operacooes de suaviza-cao e threshold. Depois as imagens sao varridasem busca de pixels que pertencam a cor calibrada.Quando um pixel com a cor desejada e encontrada,e utilizada uma busca em largura considerando ospixels acima e abaixo dele como vizinhos. Comessa busca determina-se o centro e o tamanho daconcentarcao de pixels. As concentracoes encon-tradas sao ordenadas utilizando como criterio seutamanho. Sao retornadas as n maiores concen-tracoes, onde n e a quantidade de objetos comessa cor que existem no campo. Essa informacaoe utilizada para calcular a posicao dos robos e dabola e a direcao dos roboos. Essas informacoes saoenviadas para o modulo de estrategia para deter-minar as acoes dos robos.

4.2 Inteligencia artificial

A Inteligencia Artificial e responsavel por definiras estrategias de jogo e planejar as trajetorias que

serao seguidas pelos robos. Nossa estrategia di-vide o time em tres classes de jogadores: goleiro,atacante e zagueiro. Suas estrategias para cadauma dos jogadores estao abaixo:

• Goleiro: Responssavel por defender o gol, eledeve ficar no centro do gol virado para a bola,caso a bola esteja proxima do nosso gol, eledeve sair para afastar a bola.

• Zagueiro: Deve impedir que a bola se aprox-ime da nossa area, ele fica a aproximadamente28 cm de distancia do nosso fundo de campoe deve ficar alinhado com a bola para evitarque ela passe por ele.

• Atacante: Deve sempre levar a bola para maisproximo do gol adverssario, ele se posicionaem uma regiao que proxima a linha da bolacom o gol e vai em direcao a bola para coloca-la sempre mais proxima do gol adverssario.Esse ano nao utilizaremos estrategias paradriblar o goleiro adversario.

Os jogadores podem trocar de posicao dinami-camente no jogo. Quem define a posicao do jo-gador e o software, que analisa a situacao do jogoe calcula quem esta mais bem posicionado pararealizar as tarefas.

Depois de diversas pesquisas[2][3] escolhemosutilizar como base para a determinacao do cam-inho ate o objetivo o algoritmo de campos poten-ciais, devido aos seus resultados nos nossos testese na bibliografia. O metodo de campos potenciase utilizado para gerar forcas repulsivas e atrativassobre o robo.

As forcas repulsivas referem-se aos obstacu-los e tem como objetivo permitir que os robos seafastem e, consequentemente, desviem dos mes-mos, chegando ate a meta, ou seja, a bola. Esta,por sua vez, exerce forcas de atracao, levando osrobos a movimentarem-se em sua direcao.

Alem da bola e dos robos adversarios, outrosobjetos do campo tambem exercem forcas sobresos robos, para evitar que ele nao fique preso naparede e faca gol contra.

No inıcio do desenvolvimento, devido a faltade robos, foi utilizado o simulador disponibilizadopela equipe USPdroids em 2008, a imagem 6.

5 Conclusoes

Obtivemos melhores resultados com o conjunto emrelacao ao ano passado, uma mecanica e eletronicamais organizada facilitou os reparos e tornou orobo menos sujeito a falhas. A utilizacao de ro-das com o disco do encoder embutido forneceumelhores dados, uma bateria melhor dimension-ada possibilitou a eletronica interna maior e a uti-lizacao do Arduino Nano (em 2012 foi utilizado aplataforma Arduino Mega) poupou muito espaco,permitindo a utilizacao de rodas mais robustas

Page 4: 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. · diagrama do software da equipe. Figura 5: Diagrama em alto n vel do software. 4.1 Visao

Figura 6: Simulador utilizado no inıcio do desen-volvimento.

que melhoraram a tracao, um chassi macico sub-stituindo as chapas de aco utilizadas no projetoanterior, e uma placa unificando os componenteseletronicos.

O conjunto permite avancos sem grandes es-forcos, principalmente pelo espaco excedente e aocontrolador Arduino, que permite facil alteracaodo codigo. Ainda esperamos obter mais dados dorobo, principalmente do controle de motores DCatraves do PID antes de alterarmos o hardware.

Um gargalo encontrado foi a quantidade depulsos gerados pelas rodas quando em altas ro-tacoes. Solucionamos este problema limitandoa velocidade dos motores pelo software. Outrasolucao possıvel, e mais atrativa, seria a alteracaoda relacao da reducao mecanica, atualmente em30:1, mas por razoes financeiras, mantivemos estaestrutura.

O software da equipe apresentou resultadosmelhores em testes comparado ao utilizado no anoanterior. Nossa visao ficou mais robusta e con-segue identificar os uniformes dos robos indepen-dente do formato e mesmo com o robo em movi-mento. Devido as limitacoes motoras do robo,levamos um bom tempo buscando metodos quetivessem bons resultados. Esse ano decidimosusar como estrategia o campo potencial, que ap-resentou bom resultado em testes, mas para oano seguinte pretendemos colocar capacidade deaprendizado e adaptacao para que nossa estrate-gia se adeque ao adversario no decorrer da partida.

bibliografia

[1] Arkin, R. C. (1989). Motor schema-based mo-bile robot navigation. The International Journalof Robotics Research, 4(8), 92 to 112.

[2] Khatib, O. (1985). Real-time obstacleavoidance for manipulators and mobile robots. InIEEE International Conference on Robotics andAutomation (pp. 500 to 505). St. Louis, Mis-

souri.[3] Kitano, H., Kuniyoshi, Y., Noda, I.,

Asada, M., Mat- subara, H., & Osawa, H. (1997).Robocup: A challenge problem for ai. AI Maga-zine, 1(18), 73 to 85.

Page 5: 1 Introdu˘c~aosistemaolimpo.org/midias/uploads/4e9ccff0620d20de3128a11... · 2014. 4. 22. · diagrama do software da equipe. Figura 5: Diagrama em alto n vel do software. 4.1 Visao

Figura 7: Chassi do robo.