Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá



Documentos relacionados
COMO PROGRAMAR SEU TIME

Desenvolvimento de Estratégia para Programação do Futebol de Robôs

Medição tridimensional

Configurando o Controle dos Pais no Windows Vista

4 Experimentos Computacionais

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS

Abordagens Matemáticas e Estatísticas para o Futebol

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Guia de utilização da notação BPMN

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Tecnologia de faixa para falha

1. Introdução. Avaliação de Usabilidade Página 1

6.1 A Simulação Empresarial tem utilização em larga escala nos cursos de Administração, em seus diversos níveis de ensino no Brasil?

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

DESENVOLVIMENTO DE UM ROBÔ MANIPULADOR INDUSTRIAL

Especificação do Trabalho Prático

BSI Letramento Digital Prof. André Di Thommazo. Organização pessoal

DDoS: como funciona um ataque distribuído por negação de serviço

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

Redes e Conectividade

EMENDAS ÀS REGRAS DO JOGO 2016/2017

Registrar senha, endereço de e contato

PREVISÃO DE DEMANDA - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS

XIX CONGRESSO DE PÓS-GRADUAÇÃO DA UFLA 27 de setembro a 01 de outubro de 2010

APLICAÇÕES E ANÁLISE DE SISTEMAS SUPERVISÓRIOS "SCADA"

Bem-vindo ao tópico sobre administração de listas de preços.

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

Software Livre e Engenharia Elétrica

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

Teste de Software Parte 1. Prof. Jonas Potros

Unidade didática de Futebol Objetivos gerais do Futebol

Simulado Informática Concurso Correios - IDEAL INFO

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

LEAN SIX SIGMA PARA O SERVICE DESK

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Ponte rolante: como escolher

QUALIDADE DE SOFTWARE

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

ALGORITMOS E FLUXOGRAMAS

Desenvolvimento de Veículos Autônomos em Escala, Sistemas de Comando, Visualização do Movimento e Aquisição de Dados.

DÚVIDAS E PERGUNTAS FREQUENTES - RASTREADOR

Descrição do Produto. Altus S. A. 1

CURSO DE APERFEIÇOAMENTO, ACTUALIZAÇÃO E AVALIAÇÃO ÁRBITROS ASSISTENTES DE 2.ª CATEGORIA Futebol de 11 TESTE ESCRITO PERGUNTAS

Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA

DESCRIÇÃO DE UMA ESTRATEGIA PARA COMPETIÇÃO DE FUTEBOL DE ROBOS

Manual do Aluno para o Curso do SEER à Distância

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

MEDIDAS DE PROTEÇÃO COLETIVA SISTEMAS DE SEGURANÇA 4 BARREIRAS ÓTICAS

PROGRAMAÇÃO BÁSICA DE CLP

MAPA GEOIDAL DE CAMPINAS

PROGRAMAÇÃO DE UM MICROPROCESSADOR

ipea políticas sociais acompanhamento e análise 7 ago GASTOS SOCIAIS: FOCALIZAR VERSUS UNIVERSALIZAR José Márcio Camargo*

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

O momento do gol. Parece muito fácil marcar um gol de pênalti, mas na verdade o espaço que a bola tem para entrar é pequeno. Observe na Figura 1:

Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2.

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Programação em papel quadriculado

1. A corrida de vetores numa folha de papel.

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

EDUCAÇÃO FÍSICA ANDEBOL

PSIU Protocolo Simples de Intercomunicação Unificado

ANEXO VI ESPECIFICAÇÃO DO SISTEMA DE MONITORAMENTO E CONTROLE OPERACIONAL

CPM Método do Caminho Crítico

PROCEDIMENTOS E RECOMENDAÇÕES POLO-AQUATICO

TÉCNICAS DE PROGRAMAÇÃO

MD-50 Plus. Com a senha mestre são permitidas todas as funções de programação do módulo. A senha de fábrica é

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro.

Desenvolvimento de jogo digital para ensino de português e matemática para crianças do ensino básico. 1. Introdução

Simulador CCNA Exame de Certificação da CISCO

Soluções que funcionam. Manual de Identidade Visual

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

PROCESSO DE COMPRA BTRIEVE 12

O Treino ANTF. Acção de Actualização para Treinadores de Jovens

c. Técnica de Estrutura de Controle Teste do Caminho Básico

ARQUITETURA DE COMPUTADORES

Manual do Usuário REV 2.0 MMD1 VSI VERSÃO 1.0 OPERAÇÃO

DESENVOLVIMENTO DE UM DINAMÔMETRO PARA MOTORES ELÉTRICOS EMPREGADOS EM VEÍCULOS EM ESCALA, COM MEDIDA DE DIRETA DE TORQUE E CARGA VARIÁVEL

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Versão para atualização do Gerpos Retaguarda

Capítulo 12. Projeto 5 Controle de Motores de Passo Circuito e Funcionamento

A CIÊNCIA DOS PEQUENOS JOGOS Fedato Esportes Consultoria em Ciências do Esporte

TÍTULO: SIMULADOR DE SUSPENSÃO AUTOMOTIVA - SSA CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E TECNOLOGIAS SUBÁREA: ENGENHARIAS

Implementando uma Classe e Criando Objetos a partir dela

Nesta seção apresentamos protótipos que desenvolvemos com o objetivo de levantar os requesitos necessários para um sistema para apresentações

Manual do Usuário. Protocolo

Brasil. 5. Descrição da função dos principais ícones. A. Reproduzir o arquivo.avi.

KISSsoft 03/2014 Tutorial 6

18º Congresso de Iniciação Científica INTEGRAÇÃO CAD COM MÁQUINA DE MEDIR POR COORDENADAS PARA TROCA DE INFORMAÇÕES DE GD&T ATRAVÉS DO MODELO 3D

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

3 Qualidade de Software

Portal do Projeto Tempo de Ser

Suporte ao Desenvolvedor: STK (Start Kit DARUMA)

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

17/02/2016. Mestrando Dagnou Pessoa de Moura - Dog. A partida é supervisionada por três árbitros

Transcrição:

Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá Wânderson O. Assis, Alessandra D. Coelho, Marcelo M. Gomes, Cláudio G. Labate, Daniel F. Calasso, João Carlos G. C. Filho Escola de Engenharia Mauá Centro Universitário do Instituto Mauá de Tecnologia (CEUN - IMT) Praça Mauá, 1 CEP 09580-900 São Caetano do Sul SP Brasil A estratégia de jogo tem um papel fundamental no futebol de robôs. A estratégia é o raciocínio artificial do robô desenvolvido por meio de algoritmos de controle e inteligência artificial. Uma das principais dificuldades para as equipes de futebol de robôs é a de conseguir fazer com que os robôs apresentem na prática os resultados que seriam previstos ou desejados com a programação. Devido a um grande número de interferências no processo, o comportamento dos robôs acaba ficando comprometido. Diante disso, a utilização de softwares simuladores é uma alternativa interessante porque permite avaliar a eficiência dos algoritmos de controle sem a presença de interferências, tais como: distorções na imagem captada pela câmera, interferência da luminosidade externa, falhas no sistema de transmissão por radiofreqüência etc. Neste artigo apresenta-se, na primeira seção, a utilização do software Simurosot como ferramenta para a programação da estratégia do futebol de robôs. Na segunda seção, são apresentados vários aspectos adotados no desenvolvimento do programa que controla automaticamente o time de futebol de robôs da Mauá. 1 - SIMULAÇÃO DA ESTRATÉGIA A inteligência do sistema futebol de robôs, programada com linguagem de alto nível, funciona em forma de looping conforme ilustrado na Figura 1. O algoritmo tem a função de decidir as ações dos robôs com base na identificação da localização de cada componente (robôs e bola). Após a identificação, o algoritmo define as decisões do time (estratégia de jogo) e envia essas informações para o simulador de forma que seja atingido o objetivo. Para simular a estratégia do futebol de robôs da estratégia foi utilizado o software da Simurosot (Figura ), disponível no site da FIRA (Federação Internacional de Futebol de Robôs): http://www.fira.net/soccer/simurosot/overview.html.

Figura 1 Estrutura do Algoritmo de Inteligência Artificial Figura Simulador O software baseia-se em funções matemáticas para a movimentação de cinco robôs para serem integradas a um sistema de inteligência artificial que controlará a estratégia de jogo de um time de futebol de robôs. O programa conta com algumas funções já elaboradas como: Posicionar (posiciona o robô num ponto estabelecido), Girar com bola (para fazer o robô contornar a bola e levá-la para o campo adversário), Marcação (é calculada a posição que deverá ser ocupada pelo robô onde a bola é o ponto médio entre o robô e o robô do adversário que estiver mais próximo da bola), Barreira (os robôs tentam ficar no ponto médio entre a bola e uma média ponderada entre o ponto central, o canto superior, e o inferior do gol, onde os pesos são escolhidos de acordo com a proximidade dos robôs a esses), entre outras funções necessárias para um jogo de futebol de robôs. Foi necessária a inclusão de mais funções para o melhor desempenho dos robôs no campo. A Figura 3 mostra a tela principal de simulação de partidas de futebol de robôs:

Figura 3 Tela principal do programa simulador Uma grande vantagem desse simulador está em monitorar todas as coordenadas dos robôs e posição da bola, como se apresenta na Figura 4. Figura 4 Coordenadas dos robôs e bola Outra qualidade do simulador seria a possibilidade de rever a jogada da estratégia (Figura 5), essencial para analisar detalhes: Figura 5 Análise em replay

O programa da estratégia desenvolvido para a simulação do futebol de robôs está no Anexo. Esse algoritmo pode ser utilizado pelas equipes iniciantes para verificar o funcionamento do futebol de robôs e desenvolver novas estratégias. Para o desenvolvimento desse algoritmo foram considerados os mesmos aspectos utilizados na estratégia real do futebol de robôs da Mauá. A descrição desses aspectos será apresentada na próxima seção. - ESTRATÉGIA REAL A estratégia do futebol de robôs da Mauá, programada em Delphi, tem as funções de decidir as ações dos robôs com base em sua posição original informada pelo sistema de visão computacional, e de enviar os comandos de controle para desenvolver a estratégia de jogo. O diagrama de blocos do algoritmo de estratégia é apresentado na Figura 6. Cada uma das sub-rotinas que compõem o algoritmo serão descritas na seqüência. Figura 6 Fluxograma da Estratégia

Definição de Variáveis, Ajuste de Dimensões do Campo e Localização de Elementos Para executar a rotina de estratégia é necessário, antes de tudo, conhecer a localização de cada elemento (robôs e bola), seja no simulador, seja no sistema real. Foram definidas variáveis que identificam ângulo, velocidade, posição anterior da bola, posição atual da bola, posição futura da bola, coordenadas do campo (pontos extremos, gol, área, meio de campo), entre outras. Foram criadas constantes de dimensionamento do campo, para que haja um ajuste manual, caso a imagem captada com a câmera esteja torcida, ou fora de ângulo (Figura 7), fazendo que os valores captados pelo Módulo de Visão fossem diferentes dos reais. Figura 7 Ajuste de Dimensões do Campo Constantes de tolerância de posicionamento foram colocadas para que o destino de posições não seja pontual, mas uma área para que reduza a instabilidade do robô. Por exemplo, como se ilustra na Figura 8, se o destino de um robô for (50,50), é definida uma região em torno do ponto no qual o robô irá parar quando atingir essa região. Podemos definir regiões como (40<x<60) e (40<y<60). Figura 8 Utilização de Constantes de Tolerância para o Posicionamento dos Robôs

Predição da Posição da Bola Cada rotina demora um tempo (certo número de ciclos de máquina) para ser completa. No simulador, os módulos de Visão e Hardware são desenvolvidos virtualmente. Como todos os módulos são desenvolvidos diretamente no computador, isso pode ser efetuado muito mais rapidamente que no futebol de robôs convencional onde existe um atraso de resposta t considerável em cada etapa do sistema. Ainda assim, o tempo de processamento nesses módulos deve ser considerado. Por isso foi utilizado um algoritmo de predição. Nesta estratégia será apresentada apenas a previsão da bola, contudo deve-se também fazer a predição da localização dos robôs jogadores. Foi usado um conceito muito simples de semelhança de triângulo (Figura 9): Xfuturo = Xatual + x Yfuturo = Yatual + y Figura 9 Algoritmo de Predição A diferença entre o valor passado e o valor presente é muito pequena. Por isso foi definido um coeficiente que amplia a extrapolação, da seguinte maneira: Xfuturo = Xatual + coef x Yfuturo = Yatual + coef y Analisou-se o caso de rebatida como se mostra na figura abaixo: Figura 10 Predição no Caso de Rebatida Neste caso, temos: Xfuturo = Xatual coef x Yfuturo = Yatual + coef y

Estratégia IF-THEN-ELSE Para explicar a metodologia utilizada na programação da estratégia, apresentamse separadamente as rotinas que serão desenvolvidas para executar cada uma das seguintes ações: posicionamento dos robôs; colisão de jogadores; tirar o robô de situações de travamento nas bordas do campo (sair dos cantos); chute ao gol ou passe a bola; estratégias de defesa, ataque e goleiro (individuais para cada jogador). Posicionamento dos robôs A lógica de programação do algoritmo de posicionamento apresentada no fluxograma da Figura 11 será aplicado para cada robô, para definir a sua movimentação até o destino estabelecido. Será utilizada uma variável de tolerância (TOL) para garantir a aproximação e o adequado posicionamento do robô. Figura 11 Algoritmo de Posicionamento dos Robôs

Colisão de Jogadores (afasta robô) O algoritmo de colisão foi desenvolvido para impedir a colisão entre jogadores. Utiliza-se como conceito a paralisação do robô quando ele se aproxima de uma área prédefinida delimitada com base nas coordenadas dos outros robôs da mesma equipe. A lógica desenvolvida e o fluxograma correspondente são ilustrados nas Figuras 1 e 13. Figura 1 Ilustração do Afastamento do Robô para Evitar Colisões Figura 13 Fluxograma da Rotina de Afastamento do Robô para Evitar Colisões

Situação de travamento (sai dos cantos) Esse algoritmo (Figura 14) foi desenvolvido para afastar o jogador da parede quando ele está muito próximo das bordas do campo. Serão consideradas as seguintes situações: travamento próximo à linha do gol de ataque, travamento próximo ao limite inferior do campo (defesa), travamento próximo ao limite superior do campo (ataque) e travamento próximo à linha do gol de defesa. Figura 14 Fluxograma da Rotina Sai dos Cantos

Chute ao Gol ou Passe Esse algoritmo foi desenvolvido para movimentar o jogador para uma posição estratégica, direcionando-o para chutar e marcar o gol. Esse mesmo algoritmo serve para tocar a bola, por exemplo, do zagueiro para o atacante. O equacionamento foi elaborado dividindo-se a situação em quatro casos, como se mostra na Figura 15. Figura 15 Demonstração dos Casos considerados no Algoritmo de Chute ao Gol Vamos estudar apenas o equacionamento do caso A (Figura 16) para demonstrar as equações, já que os outros casos são somente variações de sinais: Figura 16 Estudo do Caso A para Desenvolvimento do Algoritmo de Chute ao Gol Por semelhanças de triângulos, temos: x = y x y y y = x (1) x x x = y () y A variável pos é uma constante definida pelo programador, e corresponde à distância com que o robô se posicionará atrás da bola antes de chutar. x = Substituindo as equações (1) e () em (3) teremos: x y y + y = pos + y pos (3) y x = x + x pos (4)

pos e: = x 1+ y y = pos x (5) y 1+ x Logo se posiciona o robô, para o caso A, da seguinte maneira: no eixo y, o robô estará a y (mm) abaixo da bola; no eixo x, o robô estará a x (mm) atrás da bola. Quando o robô estiver posicionado, ele irá chutar a bola. O fluxograma do algoritmo desenvolvido apresenta-se na Figura 17. Figura 17 Fluxograma da Rotina Chuta Bola

Algoritmos para Cada Jogador: Goleiro, Atacante e Defesa. Esse algoritmo foi desenvolvido para definir a estratégia para cada robô da equipe. O goleiro obviamente exige uma estratégia totalmente diferente das outras. Para os robôs atacantes, e de forma similar para os defensores, os algoritmos terão um aspecto similar. Entre jogadores (atacante ou defesa) terá prioridade para movimentar-se em direção à bola aquele que tiver maior proximidade, exceto em situações especiais. Para cada um dos jogadores foram consideradas as seguintes situações: Goleiro a bola está na frente ou atrás do goleiro; a bola está fora da área ou dentro da área; a bola está ao alcance do goleiro. Defesa a bola está próxima deste jogador de defesa ou de outro jogador; a bola está atrás ou à frente do jogador de defesa; a bola está na área ou há perigo de gol do adversário; a bola está na posição de passe para o atacante ou chute ao gol. Atacante a bola está mais próxima deste atacante ou de outro jogador; a bola está atrás ou à frente do atacante; a bola está ou não alinhada com o gol (está na posição de chute). Os fluxogramas dos algoritmos do goleiro, atacante e defesa são apresentados nas Figuras 18, 19 e 0.

Figura 18 Fluxograma do Algoritmo do Goleiro

Figura 19 Fluxograma do Algoritmo do Zagueiro (Defesa)

Figura 0 Fluxograma do Algoritmo do Atacante Definição das Tensões para Cada Motor e Transmissão dos Sinais de Controle A última etapa do controle autônomo dos robôs jogadores de futebol consiste em transmitir os sinais de controle. Para isso utiliza-se um algoritmo que converte os comandos de velocidade e ângulo obtidos pelo algoritmo de estratégia para valores de controle para os robôs. Esses valores de controle correspondem à direção e tensão (referência para o PWM) para cada um dos motores de cada robô. Um protocolo de comunicação é então desenvolvido para transmitir os dados através da porta serial do computador. Informações detalhadas sobre o protocolo de comunicação e os sinais de controle para os robôs podem ser obtidos no artigo Construção de robôs jogadores de futebol Parte da edição n. 9 da revista Mecatrônica Fácil (Editora Saber).

3 CONSIDERAÇÕES FINAIS Várias estratégias adicionais são continuamente avaliadas e introduzidas para garantir melhor eficiência na estratégia de jogo. O projeto deve apresentar uma evolução constante, permitindo cada vez mais a avaliação de novas tecnologias e o desenvolvimento de novos algoritmos de controle. De qualquer forma, o mais importante é que o projeto seja um incentivo ao aprendizado dos alunos e ao desenvolvimento da inteligência artificial e da programação em linguagem de alto nível.