Anais do 15O Encontro de Iniciação Científica e Pós-Graduação do ITA – XV ENCITA / 2009 Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, Outubro, 19 a 22, 2009. GarrinchaBot: Uma proposta de robô para Robocup Small size League Acrisio Domiciano Dias Instituto Tecnológico de Aeronáutica - CEP 12228-900, CTA – São José dos Campos, SP- Brasil Bolsista PIBIC-CNPq [email protected] Jackson Paul Matsuura Instituto Tecnológico de Aeronáutica - CEP 12228-900, CTA – São José dos Campos, SP- Brasil [email protected] Resumo. A Robocup é uma iniciativa internacional de pesquisa e educação que visa à propagação de pesquisas no campo da Robótica e Inteligência Artificial através de competições ( Leagues ), nas quais um problema padrão é proposto, tendo as equipes liberdade para identificarem as melhores tecnologias para as respectivas competições. No projeto estamos interessados nos robôs utilizados na Small-Size League, que será apresentada na próxima secção do presente relatório.O objetivo do projeto é o estudo e uma análise dos diversos módulos que formam o robô e a criação de uma possível especificação para um futuro protótipo de um robô Small-size. Foram estudados os mecanismos de chute, locomoção e comunicação, bem como alguns algortimos para o sistema de posicionamento e visão do time. Palavras chave: Robótica, Controle 1. Introdução A Robocup é uma iniciativa internacional de pesquisa e educação que visa à propagação de pesquisas no campo da Robótica e Inteligência Artificial através de competições ( Leagues ), nas quais um problema padrão é proposto, tendo as equipes liberdade para identificarem as melhores tecnologias para as respectivas competições. No projeto estamos interessados nos robôs utilizados na Small-Size League, que será apresentada na próxima secção do presente relatório. O objetivo do projeto é o estudo e uma análise dos diversos módulos que formam o robô e a criação de uma possível especificação para um futuro protótipo de um robô Small-size. Foram estudados os mecanismos de chute, locomoção e comunicação, bem como alguns algortimos para o sistema de posicionamento e visão do time. Como bibliografia utilizou-se basicamente os TDP ( Team Description Paper) enviado pelas equipes participantes da Small-size League nos anos anteriores, bem como artigos apresentados no SBA ( Simpósio Brasileiro de Automação ). Tais artigos forneceram informações importantes para a concepção dos modelos aqui propostos. 2. Robocup Small-size League A Robocup Smal-size League é uma liga das importantes divisões da Robocup e uma das que apresentou crescente evolução nos últimos anos. Como citamos anteriormente a Robocup tem como objetivo promover pesquisa na área de robótica a partir da resolução de um problema padrão. No caso da Small-size, o foco é o problema da cooperação inteligente de agentes múltiplos ( intelligent multi-agent cooperation) e o controle de sistemas altamente dinâmicos utilizando um sistema híbrido, no caso dividindo o processamento em um computador e os robôs. A competição trata-se de uma partida de futebol entre dois times formados por cinco robôs que possuem um controle centralizado. As dimensões do robôs são tais que ele deve caber em um cilindro de 180mm de diametro e não pode ter mais de 15cm de altura, a não ser que use um sistema de visão embarcado. As partidas são realizadas num campo verde de 6.05m de compreimento e 4.05m de largura, sendo a bola utilizada laranja. As cores são bem distintas para facilitar o reconhecimento dos objetos por parte dos robôs.[1] O sistema de visão pode ser de dois tipos, local e global. No sistema global, o mais utilizado, uma câmera é posicionada a aproximadamente 4m de altura do campo, tendo um angulo de visão que ocupa todo o campo. Como os robô são identificados por um sistema de cores, um computador externo, processa as informação recebidas e e envia via FM as informações necessárias a cada robô. Já no sistema local temos informações vindo de cada robô. Tais informações podem ser processadas localmente, ou em um computador fora do campo. Vale resaltar que a competição encontra-se bastante amadurecida e os robôs precisam serem robustos para podermos diminuirmos os erros. Um exemplo de partida é mostrado na figura 1. Anais do XV ENCITA 2009, ITA, Outubro, 19-22, 2009 , Figura 1 – Jogo da Robocup Small-size League 2.1. Módulo de locomoção Como visto na breve descrição da liga temos um espaço bastante limitado para os componentes do robô, tendo em vista as limitações de tamanho. Daí, os motores que impulsionam nosso agente deve ser bem dimensionados, para evitarmos o consumo desnecessário de espaço e potência. Atualmente na Small size são utilizados basicamente dois tipos de sistemas de deslocamento, o omnidirecional puro e o pseudo-omnidirecional. 2.1.1. Sistema omnidirecional puro O sistema omnidirecional, como o próprio nome já diz, é um sistema no qual podemos movimentar o robô livremente em qualquer direção. No caso da Small size, são utilizadas rodas esféricas. Entretanto o controle desse sistema é bastante complexo e uma implementação deste tipo de sistema não faz-se necessária num primeiro protótipo. 2.1.2. Sistema pseudo-omnidirecional Esse é o sistema mais utilizado atualmente. Como no sistema omnidirecional, aqui também podemos deslocar o robô em qualquer direção. Entretando, não utilizamos rodas esféricas, e sim rodas comums, que possuiem como pequenas argolas como pneus, que proporcionam a possibilidade de movimentar a roda tanto para frente quanto para os lados. A figura 2 mostra um exemplo dessas rodas. Figura 2. Rodas Pseudo-omnidirecionais Anais do XV ENCITA 2009, ITA, Outubro, 19-22, 2009 , A implementação desse sistema pode utilizar três ou quatro rodas, sendo esta última a mais comum. As rodas são dispostas em eixos perpendiculares, como mostrado na figura 3. Os motores recebem cargas de potência diferentes dependendo da posição para qual se deseja levar o robô[2]. Figura 3 – Visão inferior do robô da equipe CMDragons do ano de 2006 2.1.3. Sistema Diferencial e Segway Uma idéia de implementação ousada proposta pelo professor Jackson Matsuura, seria usar um sistema diferencial, no qual usa-se apenas duas rodas, como mostrado na figura 4, mas usando o mesmo artifício de equilíbrio utilizado no segway. Com isso conseguiríamos robôs mais ágeis e rápido, sendo que a capacidade de drible poderia ser aumentada. Figura 4 – Sistema de movimento diferencial O Segway é basicamente um patinete que utiliza movimento diferencial, mas que mantém o equilíbrio através de um complexo sistema de controle que recebe informações de diversos giroscópios e acelerômetros distribuídos pela sua estrutura. Figura 5 – Segway Anais do XV ENCITA 2009, ITA, Outubro, 19-22, 2009 , No projeto anterior a este, havia sido concebido o modelo mostrado na figura 6. Note que diferentemente dos modelos mostrados até aqui, as rodas está no interior do chassi e existe uma “roda morta”. Tal roda tem apenas a função de equilibrar o robô, mas representa um perda de potência desnecessária, caso o controle de equilíbrio baseado no segway seja implementado. Figura 6 – Modelo concebido pelo aluno Jorge Gripp em 2006 Os hardware utilizado tem que ser robusto o suficiente, pois as equipes atuais consegue velocidades relativamente altas para seus robôs, algo entre 2m/s e 3m/s. O ideal seria a utilização de motores DC Fualhaber e de encoders que fornecessem medições precisas da direção e velocidade das rodas[3]. 2.2. Módulo de Chute Como vimos, a idéia da Small size pe uma partida de futebol, logo um importante mecanismo é o de chute. O mecanismo atual usa basicamente solenódides para realizar o chute. No entanto, temos que ter um mínimo de condições de controlar a bola para podermos ter uma eficiência maior na precisão do chute e dos passes. Um idéia é fazermos uma entrada para bola, mas como mostrado pela figura 7, as regras impõem limitações quanto ao tamanho dessa entrada, possibilitando então que novas formas de controle sejam desenvolvidas. Figura 6 – Demosntração da regra para possíveis geometrias do mecanismo de chute A idéia inicial do nosso protótipo será a mesma. Entretanto aqui também temos uma idéia inovadora. Atualmente o mecanismo de chute é fixo, o que reduz a agilidade do robô, pois terá que fazer movimentos desnecessários dependendo da direção em que se encontra a bola. Foi-se concebida a idéia de um mecanismo de chute móvel, um mecanismo que ficaria por fora da carcaça do robô. No entanto, essa idéia apresenta um mecanismo que provavelmentenão será possível de ser aplicado no protótipo, uma vez que temos limitações de tamanho do robô e poderíamos peder áreas preciosas com essa montagem. Uma visão de como o solenóide ficaria posicionado no robô é mostrada na figura 8. Anais do XV ENCITA 2009, ITA, Outubro, 19-22, 2009 , Figura 7 – Mecanismo de chute visível do robô da equipe B-Smart usado em 2006 Figura 8 – Modelo mostrando o mecanismo de chute inicialmente concebido Note que para conseguirmos impulsos significativos na bolinha o solenóide deve ser potente e o circuito controlador preciso. O solenóide que se encaixaria bem seria alimentado com capacitores de 5000µF a 100V. 2.3. Módulo de Comunicação Como os robôs agem em time, eles devem comunicar-se entre si ou com o computador central. Na verdade existe um protocolo a ser seguido. A cada intevalo de tempo o computador que fica fora de campo atualiza as informações recebidas dos robôs e/ou da câmera central, no caso de um sistema de visão global, como será comentado na próxima secção, e, após a tomada de decisão, envia a cada robôs as instruções. Na Small size, pelas regras, deverá ser usado um sistema de comunicação via Rádio Frequência. Protocolos wireless mais sofisticados, como o Bluetooh ainda não são permitidos. Pelo visto no estudo dos artigos, uma implementação suficiente usaria comunicadores bidirecionais BiM2-433-160, que possuem alcance de 50m no interior de construções, mais que o suficiente para a Small size. Note que teríamos que escolher o protocolo de forma cuidadosa. No caso, uma identificação com um número de série e senha seria suficiente. Isso faz-se necessário para que não haja disperdício de processamento local e o robô decodifique apenas a parte que lhe interessa do sinal. 2.4. Módulo de Visão O sistema de visão é vital para a definição da estratégia da equipe. As principais montagens para esse módulo são a global e o local. Anais do XV ENCITA 2009, ITA, Outubro, 19-22, 2009 , 2.4.1. Sistema de Visão Global Nesse sistema, a câmera é instalada sobre o campo, de maneira que tenha o campo inteiro em seu campo de visão, como ilustrado pela figura 9. Para termos uma identificação eficaz de cada robô, são pintados círculos na parte superior do chassi, sendo que cada robô possui uma distribuição de cores. No processamento da imagem, temos a posição relativa de cada robô e, aliando essa informação àquelas recebidas via rádio frequência, como velocidade e trajetória do robô, a tomada de decisão pode ser feita de forma mais precisa e mais ressistente a erros. Figura 9 – Ilustração do sistema de visão global 2.4.2. Sistema de Visão Local Nesse sistema temos uma câmera instalada em cada robô, sendo que pelas regras as equipes que utilizam tal método podem usar um robô um pouco mais alto. Aqui temos informações coletadas sobre a posição do jogador em relação ao campo, à bola e a seus adversários, ou seja, um maior fluxo de informação é transmitida via rádio frequência. Esse modelo não deverá ser utilizado no protótipo a ser construído. Ele representa uma maior perda de energia por parte do robô, já que uma câmera deverá ser adicionada ao chassi e uma maior quantidade de processamento deverá ser utilizada na codificação do sinal. 3. Agradecimentos Agradeço ao CNPq, que por meio do PIBIC proporcionou ao autor a possibilidade de dedicar tempo ao projeto. Agradeço ao ITA, que na pessoa do professor Jackson Matssura, proporcionou o apoio acadêmico para a realização do projeto. 4. Referências [1] www.small-size.informatik.uni-bremen.de/start [2] I.,Edgar David Sotelo. “DISEÑO E IMPLEMENTACIÓN DE LOS ROBOTS F180 DEL ITAM”, Trabalho de graduação, ITAM, México, 2006 [3] L., Tim e outros. “B-Smart (Bremen Small Multi-Agent Robot Team) Team Description for RoboCup 2006”, Team description paper for qualification on Robocup Small size League 2006.