Uma Dupla da Pesada – Café-com-Byte Felipe Maxsuel Carvalho; Gustavo Campos Almeida; Henrique Luis Pereira de Almeida; Jonas Sousa Santos; José Márcio Santos Mendes; Talles Gabriel Sousa Caputo; Yuri Reis de Castro Orientadores: Alda de Paiva Castro e Ronaldo Antônio de Castro. ESCOLA ESTADUAL “AFONSO PENA JÚNIOR” Praça Ministro Gabriel Passos, 587, Centro 36350-000 – São Tiago – MG [email protected] Abstract: This article deals with the assembly strategies and programming autonomous robots footballers, called Stain and Kenny: A pair of heavy, emphasizing some technical specifications and explaining in detail that it is the project. The article highlights how the programming of robots was done using the environment Bricx Command Center, as is the challenge proposed by the RoboCup Soccer Junior Open, referring to the conditions of the matches, and how the Cafécom-Byte team built the their robot soccer, which in the case, was using the pieces of LEGO Kit. Keywords : CBR 2015, BricxCC, Stain, Kenny, RoboCup, Café-com-Byte. Resumo: Este artigo trata das estratégias de montagem e programação de robôs autônomos jogadores de futebol, denominados Stain e Kenny: Uma dupla da pesada, ressaltando algumas especificações técnicas e explicando detalhadamente de que se trata o projeto. O artigo destaca como foi feita a programação dos robôs, utilizando o ambiente Bricx Command Center, como é o desafio proposto pela RoboCup Soccer Junior Open, referindo-se as condições das partidas, e como a equipe Café-com-Byte construiu os seus robôs de futebol, que, no caso, foi utilizando as peças do Kit LEGO. Palavras-chave : CBR 2015, BricxCC, Stain, Kenny, RoboCup, Café-com-Byte. I - INTRODUÇÃO A equipe Café-com-Byte é formada por alunos do ensino fundamental e médio (9º ano do ensino fundamental, 1º e 2° ano ensino médio). Por meio desse artigo temos como objetivo descrever o projeto desenvolvido para competir na LARC/CBR 2015[5] (XIV Competição Latina Americana de Robótica e XIII Competição Brasileira de Robótica) na categoria RoboCup Soccer Junior Open. Para isso, a equipe desenvolveu robôs autônomos capazes de participar de um jogo de futebol, onde deverão atuar como goleiro (Stain) e atacante (Kenny). II – O DESAFIO A competição consiste na simulação de uma partida de futebol, onde dois times de dois robôs cada se enfrentam. O objetivo é marcar gols no time adversário e dominar os oponentes dentro do campo de jogo, ou seja, formar um sistema defensivo que não deixe o time adversário joguem e ataquem, para que, assim, não façam gols. A - O campo O campo de jogo é de 122 cm por 183 centímetros. O campo é marcado por uma linha branca no qual é parte do campo de jogo. Ao redor do campo de jogo, além da linha branca, existe uma área exterior de largura 30 cm. O total das dimensões do campo, incluindo a área exterior, é 182 centímetros por 243 centímetros. No campo existem dois gols de 60 cm largura, 10 cm de altura e 74 mm de profundidade, em forma de caixa. Eles têm uma barra transversal na parte superior (para impedir a entrada de robôs a objetivo e permitem verificar se a bola marcou). Existem cinco pontos neutros definidos no campo. Um é no centro do campo. Os outros quatro são adjacentes a cada canto, localizados a 45 centímetros ao longo da borda longa do campo, alinhado com cada poste do gol. B – A Bola A bola vai emitir raios infravermelhos (IR) de luz. Esses raios farão com que os robôs encontrem a bola, através do sensor de infravermelho presente nos mesmos. C – O jogo O jogo é composto de duas metades. A duração de cada tempo é de 10 minutos. Haverá um intervalo de 5 minutos entre as metades. Outros detalhes sobre as partidas da competição podem ser vistos nas regras da competição [6]. D – Restrições de montagem dos robôs Quanto ao tamanho: Os robôs podem ter no máximo vinte e dois centímetros de diâmetro. Quanto à altura: Os robôs podem ter até vinte e dois centímetros de altura. (a alça para pegar o robô pode ultrapassar os vinte e dois centímetros). Quanto ao peso: Cada robô pode pesar até no máximo 2,400 gramas (2,4 quilogramas). Quanto à comunicação: Os robôs não estão autorizados a usar qualquer tipo de comunicação durante o jogo, a menos que a comunicação entre dois robôs é via Bluetooth classe 2 ou classe 3 (intervalo inferior a 20 metros) ou via ZigBee. Os robôs possuem uma zona de captura de bola para efetuar o “domínio” da bola, com a ajuda do “dribbler”. Essa zona de captura pode ter, no máximo, três centímetros. III – OS ROBÔS Os robôs, Stain e Kenny, possuem controladores lógicos programáveis, do kit Mindstorms NXT[3] da LEGO, conhecidos como o cérebro do robô (blocos), onde é processada a lógica, que foi criada em programas específicos, no nosso caso, Bricx Command Center. O NXT, ao receber informação dos sensores, a processa de acordo com a programação, o que possibilita a tomada de decisões. O robô estando pronto para realizar todos os objetivos de uma partida de futebol como, procurar a bola, chutar ao gol e se comunicar com o companheiro (um de nossos maiores objetivos). Stain e Kenny foram projetados utilizando kits de montagem LEGO Mindstorms NXT (Figura 1) e peças confeccionadas pela equipe. Estes contêm cinco servos motores, um sensor de bússola, um sensor infravermelho e quatro sensores ultrassônicos, cada robô. Figura 1 - Principais peças dos robôs A – O robô atacante Kenny, o robô atacante, foi desenvolvido utilizando os seguintes itens: cinco servo-motores : sendo três para a movimentação do robô, ou seja, as rodas, um para o chute do robô, e um para o domínio da bola. A utilização de três motores para a movimentação do robô permite movimentos mais elaborados. Ou seja, ao invés de poder andar apenas para frente e para trás, e virar (únicos movimentos permitidos utilizando apenas dois motores), o robô será capaz também de andar de lado, por exemplo. um sensor de bússola : responsável por retornar a localização do robô no campo, o que possibilita saber se o robô está no ataque, na defesa ou no meio do campo. um sensor infravermelho : responsável por retornar a posição da bola em relação ao robô. Dessa forma, o robô poderá saber se a bola está a sua frente, ao seu lado ou atrás de si. quatro sensores ultrassônicos : responsáveis pela localização do robô no campo, e por retornar se há ou não algum obstáculo na frente do robô, possibilitando uma tentativa de drible ao obstáculo. B – O robô goleiro Stain, o robô goleiro, foi projetado da mesma forma que o robô atacante. Kenny, com cinco motores, quatro sensores ultrassônicos (dois desses, agora com função de manter o robô no centro do gol, dependendo da situação de jogo), um sensor de bússola e um sensor infravermelho. A ideia de utilizar o robô goleiro idêntico ao robô atacante veio da estratégia de tentar fazer um goleiro linha capaz de jogar junto ao atacante, o que proporcionaria uma estratégia mais complexa e melhor, já que, dessa forma, haveriam mais possibilidades de se fazer jogadas, uma vez que, essas seriam mais planejadas. IV – ESTRATÉGIAS Este item falará sobre as estratégias utilizadas pela equipe no desenvolvimento dos robôs, dando destaque aos meios usados nas programações dos mesmos, os sensores que foram utilizados para que fosse possível a realização do projeto, e como foi estabelecido os meios de comunicação entre os robôs durante a partida. ultrassônicos detectam a distância de certo objeto em relação ao robô. No atacante, depois que ele se posiciona com o auxílio da bússola no gol calcula a distância para poder efetuar o chute , além de detectar a distancia de jogadores de outros times. No goleiro, para que ele possa sempre ficar posicionado em frente o gol e identificar outros robôs adversários. Sensores Infravermelhos (Figura 2): como a bola do futebol emite raios infravermelhos, este sensor é utilizado estrategicamente para localizá-la, evitando assim que ele fique “cego” e possa dessa forma efetuar um maior numero de gols. Estas ondas de frequência são abaixo do vermelho, portanto invisível aos olhos humanos, esse sensor atribui diferentes números para a posição de onde a onda infravermelha é emitida. A - Programação Atacante: utilizando dois blocos programáveis, quatro sensores ultrassônicos, um sensor de bússola e um infravermelho, Kenny é programado utilizando linguagem de programação NXC[1], no ambiente Bricx Command Center[2]. Este por sua vez necessita de um espaço interno para que possa se movimentar juntamente com a bola (estratégia mais conhecida como dribbler) também faz uso de dois servos motores, um para auxílio deste movimento e um para chute quando for localizado o gol do adversário. Para movimento e localização do robô na pista fizemos uso de três servos motores e rodas omnidirecionais e um sensor de bússola. Possui também um sensor infravermelho que será explicado no próximo ícone. Goleiro: utilizando o ambiente de programação Bricx, na linguagem C, Stain contém dois blocos programáveis, quatro sensores ultrassônicos, um sensor de bússola e um sensor infravermelho. Na tentativa de deixálo ágil e compacto foi estruturado com três servos motores para locomoção na pista (campo), um motor para o domínio e um para o chute. B - Sensores Sensores de Bússola: estes cooperam para o posicionamento dos robôs no campo, que define graus às posições onde ele se encontra sempre em relação ao Norte Geográfico, útil para localizar a posição exata do gol adversário, para evitar gols contras e no caso do goleiro para permanecer sempre “de frente” para o campo. Sensores Ultrassônicos: os sensores Figura 2 - Valores do sensor infravermelho C – Comunicação Utilizamos a comuncação Bluetooth[4] presente nos blocos NXTs para fazer com que os blocos de cada robô se comuniquem, e os robôs também se comuniquem entre si. A primeira comunicação acontece para que um bloco possa receber informações do outro. Como cada bloco suporta apenas quatro sensores, foi necessária uma divisão entre os dois. Ou seja, se um sensor conectado ao Bloco 2 recebe alguma informação importante para o funcionamento do robô, mas o motor que necessita dessa informação para agir está conectado ao Bloco 1, o Bloco 2 envia essa informação via Bluetooth ao Bloco 1, que ao recebê-la e interpretá-la irá ordenar ao servomotor que execute a ação de acordo com a programação. O mesmo processo ocorre caso o Bloco 1 tenha uma informação que o Bloco 2 precise. Já a segunda comunicação, que é feita entre os dois robôs, serve para que eles possam executar as jogadas dentro campo. Ou seja, caso o robô atacante queira passar a bola para o goleiro, ou vice-versa, o destinatário da bola enviará a informação de sua atual posição ao possuidor da bola, para que, assim, esse possa se virar de forma correta e mandar a bola para a posição certa. V – PROSPOSTAS FUTURAS Os objetivos da equipe para o futuro envolvem a criação de robôs mais desenvolvidos, que não sirvam apenas para competições de robótica, mas, também, para o bem estar da população e para aplicações de alta tecnologia. Entre os exemplos, podemos citar a criação de drones, computadores inteligentes e exos esqueletos. Dentro da área de competições de robóticas, pretendemos implementar os robôs de futebol, para que possam simular melhor uma partida de futebol. Além disso, pretendemos utilizar os conhecimentos adquiridos com o atual projeto para desenvolver outro robôs para competições diferentes, como a dança, o CoSpace e o resgate. VI – CONSIDERAÇÕES FINAIS. Com o atual projeto, a equipe Cafécom-Byte aprendeu o como é importante o trabalho em equipe para o desenvolvimento de atividades, já que, várias “cabeças” pensam muito melhor que uma. Além disso, pudemos perceber o quão necessário é a persistência quando os problemas acontecem, pois sem ela, a equipe teria se rendido ao desafio no primeiro problema, dos muitos que foram encontrados durante o desenvolvimento. REFERÊNCIAS BIBLIOGRÁFICAS [1]http://nera.sr.ifes.edu.br/wpcontent/uploads/2012/01/ProgramandoRob%C3%B4s-Lego-NXT-comNXC1.pdf Programando Robôs Lego NXT usando NXC Apostila utilizada pela equipe para a programação do robôs. [2]http://bricxcc.sourceforge.net/ Bricx Command Center Ambiente de programação utilizado na programação [3]http://www.lego.com/enus/mindstorms/?domainredir=mindstor ms.lego.com LEGO Mindstorms Kit de peças utilizados pela equipe [4]http://kixaberatech.blogspot.com.br/2 010/09/conhecendo-comunicacaobluetooth-com.html Bluetooth no LEGO NXT Exemplo de conexao bluetooth utilizado no aprendizado da técnica. [5]http://www.cbrobotica.org/?lang=pt Competição Brasileira de Robótica 2015 Site oficial da competição. [6]http://www.cbrobotica.org/wpcontent/uploads/soccer_2015.pdf Regras da RoboCup Soccer Junior Utilizadas para entendimento do desafio.