Monograph about Robot Soccer.
A control and strategies decision system through an environment mapping based on grids and a continuous planning is developed in this work. The continuos planning begins sending objects positioning data through serial interface to the strategy and simulation system, that makes all the calculus and projections to all objetcs. After that, data are transmitted to the robot closing the cicle. Based on grids, the strategy definition is made by the objects vectorial position in the environment, setting three basic strategies: defense, attack and sides.
3. Introdução
• Contextualização do Projeto
– Elaboração de um protótipo simplificado, constituído de dois agentes
robóticos, que irão competir, dentro de um campo de ação, no chamado jogo
“gol-a-gol”.
– Projeto global faz parte os trabalhos de Visão Artificial (Cardoso; Gomes,
2005) e de Hardware e Sistema Embutido (Villalobos, 2005).
• Objetivos
– Desenvolver um software capaz de controlar, definir estratégias, trajetórias e
ações para agentes robóticos jogadores de futebol em ambiente simulado e
real.
– Código comum e de fácil alteração entre ambientes.
– Ambiente simulado: simulação do agente robótico e do sistema de visão e suas
interações, planejar, decidir estratégias e controlar o agente. Propostas para
aprendizagem e evolução dos agentes com auxílio de algoritmos genéticos.
– Ambiente Real: adaptado do simulador para uso em ambiente real, realizando
a interação com os demais grupos temáticos formando o ciclo Visão-
Estratégia-Hardware.
4. Introdução
• Justificativa
– Estudo do tema Futebol de Robôs é uma oportunidade que o graduando de
ciência da computação tem de pesquisar temas atuais e avançados,
possibilitando aplicar estes conceitos nas formas teórica e prática.
• Materiais e Métodos
– Temas teóricos necessários ao desenvolvimento do trabalho foram estudados
através de uma revisão bibliográfica de livros, teses e artigos.
• Organização do Trabalho
– Introdução, objetivos, justificativas, materiais e métodos.
– Futebol de Robôs (Robocup): pesquisas no Brasil e no mundo, definição das
regras, os avanços e perspectivas para o futuro.
– Robótica: auxílio no desenvolvimento para Ambiente Simulado.
– IA: agentes, teoria dos jogos, planejamento, aprendizagem e PG e AG.
– Técnicas de Navegação: estudo das diversas técnicas.
– Programação OO e UML
5. Revisão Bibliográfica
• Futebol de Robôs • Robótica
– No Mundo – Robôs
– No Brasil – Percepção
– RoboCup – Sensores
– Gol-a-Gol – Atuadores
– Avanços e Aplicações
– Perspectivas para o Futuro • Técnicas de Navegação
– Grafo de Visibilidade
• Inteligência Artificial – Espaço Livre
– Agentes – Baseada em Grid
– Teoria dos Jogos – Transformada de Distância
– Planejamento – Campos Potenciais
– Aprendizagem – Heurística
– Introdução à PG e AG – Obstáculos Móveis
– Programação Genética
– Algoritmos Genéticos
11. Desenvolvimento
• Planejamento e Trajetórias
– Planejamento
• Contínuo
– Trajetória
• Baseada em Grids
– Vetorização
• Vetores de direção e velocidade
– Visada
• Simular Visão Local
• Aproximar mais rapidamente
– O ciclo Dentro da
Visada
Dire Efetuar
ção movimentação
Composta
Áre α
a de α
Visa
da Fora da
Visada α
Efetuar
somente
movimentação
Angular
12. Desenvolvimento
• Estratégias
Vetores de direção e velocidade dos agentes e da bola,
localização no campo de ação e distâncias entre os objetos.
– Estratégia Defensiva: Bola em sua direção ou no campo adversário
– Estratégia Ofensiva: Bola parada em seu campo ou em direção adversário
– Estratégia Lateral: Bola parada em seu campo, nas áreas laterais
– Comportamentos Específicos
• Gol Sofrido
• Falta por Invasão
• Conduzir Bola até Ataque
• Escanteio
• Contra Ataque
• Ataque desviando
– Sem colisão
– Com colisão
18. Desenvolvimento
• Controle do Agente
– Requisitos
– Tratamento de Colisões
VectA
h h r2
VectB r1
• Proposta para AG
V is a d a V e l. L . m ín . V e l. L . m á x . V e l. W . m ín . V e l. W . m á x . D is tâ n c ia
• Proposta de Aprendizagem
– Aprender a calibrar as variáveis de controle, como as variáveis de Velocidades Linear e
Angular, de forma a otimizar a relação existente entre os cálculos efetuados no sistema e
o ambiente real.
• Adaptando o Software em A. S. para A. R.
– Interações
– Protocolos
– Freqüências de Transmissão
19. Desenvolvimento
• Protocolos
Visão
• Dados Iniciais
Ponto 1 Ponto 2 Ponto n
S incroni- Iniciali- C heck- Finali-
zaç ão zação
X1 Y1 X2 Y2 ... Xn Yn
S um zação
• Dados Dinâmicos
Bola R obô 1 R ob ô 2
S incroni- Iniciali- X Y X Y X Y X Y C hec k- Finali-
X Y
zaç ão zação C entro C entro D ireção D ireç ão C entro C entro D ireção D ireção S um zaç ão
Hardware
Robô 1 Robô 2
Sincroni- Iniciali- Velocidade Velocidade Controle de Chute Velocidade Velocidade Controle de Chute Check- Finali-
zação zação Linear Angular e Domínio Linear Angular e Domínio Sum zação
Obs: Atualmente utilizando velocidades em Percentual de Potência
20. Desenvolvimento
• Interações
– Estratégia-Visão
• Recebe dados de Visão e simula a atuação.
– Simulador-Hardware
• Controle
• Simula Bola e envia velocidades ao agente robótico real
– Visão-Simulador-Hardware
• Executa o ciclo completo
– Demonstrações
• Grava e lê arquivo contendo pontos para que o simulador siga.
21. Conclusões
• Resultados
– POO trouxe rapidez nas modificações, código enxuto e fácil de ser lido.
– Utilização de grids e vetores desempenhou importante papel na decisão das estratégias.
– Utilizando Planejamento contínuo houve auto-correção das posições.
– As três estratégias básicas foram implementadas em Ambiente Simulado, alguns
comportamentos específicos também foram.
– Interação em Ambiente Real realizado e implementação de estratégias.
• Conclusões
– Decisão pode ser aperfeiçoada com uso de diferentes técnicas de trajetórias.
– Necessidade de elaborar e implementar inúmeros comportamentos específicos.
– É necessário reduzir a projeção de erros.
22. Conclusões
• Dificuldades Encontradas
– Bibliografia, grupo de pesquisa, custo, dificuldade em funções e procedimentos específicos e
utilização dos laboratórios.
• Trabalhos Futuros
Inúmeras são as possibilidades de trabalhos futuros, dentre os quais podemos destacar:
– Estudo e implementação de sistema gráfico mais eficiente para simulação gráfica dos agentes no
sistema desenvolvido.
– Visando as regras da Robocup (Smallsize, 2005), faz-se necessário a implementação de sistemas
multiagentes e colaborativos, permitindo que o sistema trabalhe com n robôs.
– Implementar diferentes planejamentos de trajetórias para verificar o algoritmo mais adequado a cada
situação.
– Em relação às estratégias elaborar e implementar comportamentos específicos, podendo até mesmo
abordar a decisão de estratégias através de lógica nebulosa (Nascimento; Yoneyama, 2002).
– Implementar as propostas de Aprendizagem e de Algoritmo Genético para constatar os resultados
esperados, assim como a elaboração de novas propostas e implementações.
– E finalmente, seguindo recomendações do artigo “Robocup: Yesterday, Today and Tomorrow”
(Burkhard; et. al., 2003), difundir para crianças e adolescentes e despertar o interesse nas áreas de
robótica e inteligência artificial, o que este grupo de pesquisa estará efetuando mesmo depois de
terminado os estudos na graduação.
23. Referência Bibliográfica
• BURKHARD, H.; ASADA, M.; BONARINI, A.; JACOFF, A.; NARDI, D.; RIEDMILLER, M.; SAMMUT, C.; SKLAR, E. VELOSO, M. (2003). RoboCup: Yesterday,
Today, and Tomorrow. Workshop of the Executive Committee in Blaubeuren, Outubro de 2003; pp. 15 - 34, RoboCup-2003: Robot Soccer World Cup VII, Springer, 2003.
• BYRNE, J. C.; JARVIS R. A.(1986). Robot navigation: touching, seeing and knowing. Proceedings of the 1st Australian Conference on Artificial Intelligence. Dezembro
de 1986.
• CANTÚ, M. (2002). Dominando o Delphi 6 - A Bíblia. Person Education.
• CARDIERI, M. A. C. A. (1998). Agentes inteligentes: Noções Gerais. Faculdade de Engenharia Elétrica e Computação, Unicamp.
• CARDOSO, D.; GOMES, V. V. (2005). Estudo de Sistemas de Visão Artificial e a implementação de um software de visão para o uso no Futebol de Robôs. Escola de
Engenharia de Piracicaba, Ciência da Computação.
• CHATTERGY, R. (1985). Some heuristics for the navigation of a robot. International Journal of Robotics Research, Vol. 4 No. 1, p. 59-66.
• COSTA, A.H.R. (2003). Robótica Móvel Inteligente. Universidade de São Paulo. USP.
• ÉPOCA (1999). Craques Eletrônicos. Revista Época; Disponível em: <http://epoca.globo.com/edic/19990802/ciencia3.htm>. Acessado em: 23 de Agosto de 2005
• FIGUEIREDO, M. (1999). Navegação Autônoma de Robôs. Universidade Estadual de Maringá. UEM.
• FOWLER, M., SCOTT, K. (1997). UML Essencial – Um breve guia para a liguagem-padrão de modelagem de objetos. ed. Bookman, 2ª edição.
• FUJIMURA, K.; SAMET, H. (1989). Hierarchical strategy for path planning among moving obstacles. IEEE Transactions on Robotics and Automation, Vol. 5, No. 1.
Fevereiro de 1989.
• GLOYE, A.; GÖKTEKIN, C.; EGOROVA, A.; TENCHIO, O.; ROJAS, R. (2005). Learning to Drive and Simulate Autonomous Mobile Robots. RoboCup 2004; LNAI
3276; pp.160-171; Springer-Verlag; 2005.
• GOLDBERG, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. University of Alabama, Addison-Wesley Publishing.
• GROOVER, M. P., WEISS, M.; NAGEL, R. N.; ODREY, N. G.; (1989). Robótica: tecnologia e programação. McGraw-Hill.
• HEINEN, F. J. (1999). Robótica Autônoma: Integração entre Planificação e Comportamento Reativo. Universidade do Vale do Rio do Sinos. Unisinos.
• HENRIQUES, R. V. B.; (2002). Robótica Industrial – Aplicação na Industria de Manufatura e de Processos. cap. 6; Edgard Blücher Ltda.
• KHOR, K. K., CHAVIS, N. L.; LOVETT, S. M.; WHITE, D. C. (1995). IBM Smalltalk Tutorial. North Carolina State University. Disponível em:
<http://www.inf.ufsc.br/poo/smalltalk/ibm/index.html>. Acessado em 24 de Agosto de 2005.
• KOZA, J. (1992a). Genetic Programming: On the Programming of Computers by Means of Natural Selection. Massachusetts Institute os Technology, MIT Press.
• KOZA, J. (1992b). Genetic Programming Animated Tutorial. Disponível em <http://www.genetic-programming.com/gpanimatedtutorial.html> Acessado em 15 de Maio
de 2005.
24. Referência Bibliográfica
• MACKWORTH, A. K. (1992). On Seeing Robots; University of British Columbia. Department of Computer Science, Vancouver, Canadá. Disponível em:
<http://www.cs.ubc.ca/nest/lci/papers/1992.html>. Acessado em 15 maio 2005.
• MATSUSHITA ELECTRIC WORKS LTDA. (2002). Press release. Otsu, Japão. Disponível em <http://www.mew.co.jp/e-press/0204_0206/0207-01.htm>. Acessado em 13
novembro 2005.
• MIRSHAWK, V (1978). Pesquisa Operacional. vol. 1, ed. Nobel.
• NASA. (2005). Mars Exploration Rover Mission. EUA. Disponível em <http://marsrovers.jpl.nasa.gov/home/>. Acessado em 15 novembro 2005.
• NASCIMENTO JR, C. L; YONEYAMA, T. (2002). Inteligência Artificial em Controle e Automação. Edgard Blücher Ltda.
• OSÓRIO, F.; HEINEN, F.J. (2002). Controle Inteligente de robôs móveis: Aplicações da Inteligência Artificial nas Pesquisas em Robótica. Mestrado, Unisinos.
• PIERI, E.R. (2002). Curso de Robótica Móvel. Apostila, UFSC, Universidade Federal de Santa Catarina.
• RAUSCH, W. A., LEVI, P. (1996). Asynchronous and Synchronous Cooperation – Demonstrated by Deadlock Resolution in a Distributed Robot System. Universiat
Stuttgart, Frakultat Informatik, Stuttgart, Alemanha.
• RICH, E. (1988). Inteligência Artificial. McGraw-Hill.
• RICH, E.; KNIGHT, K. (1990). Artificial Intelligence. McGraw-Hill, 2ª edição.
• RUNBAUGH, J., JACOBSON, I.; BOOCH, G. (1999). The Unified Modeling Language - Reference Manual. Addison Wesley Longman, Inc.
• RUSSEL, S.; NORVIG, P. (2003). Artificial Intelligence: A Modern Approach. Prentice Hall, 2ª edição.
• SEBESTA, R. W. (2000). Conceitos de Linguagens de Programação. ed. Bookman, 4ª edição.
• SIMÕES, E.V. (2004). Robótica Bioinspirada: Inteligência Artificial aplicada a Robôs Reais. Palestra Ministrada na Escola de Engenharia de Piracicaba, 05 de Outubro de
2004. Disponível em: <http://coteia.icmc.usp.br/coteia/get.php?swiki=45 &arq=eca.pdf>. Acessado em 15 de maio de 2005.
• SMALLSIZE (2004). Laws of the F180 League 2004 - Release 4.00. Disponível em: <http://www.itee.uq.edu.au/%7Ewyeth/F180%20Rules/ f180rules400.pdf>. Acessado em:
15 de maio de 2005.
• TAVARES, R. (2004). Robótica. Palestra ministrada durante a Semana da Computação 2004 da Escola de Engenharia de Piracicaba no dia 05 de outubro de 2004.
• UNESP (1999). Futebol de Robôs. Assessoria de Comunicação e imprensa. Disponível em: <http://www.unesp.br/aci/jornal/183/geral1.htm>. Acessado em: 04 de agosto de
2005.
• VELOSO, M.; STONE, P. (2000). Multi-Agent Systems: A Survey from a Machine Learning Perspective. Autonomous Robots, v.8, n.3, p.345–383, Kluwer Academic
Press, 2000. Disponível em: <http://www-2.cs.cmu.edu/~coral/ publinks/mmv/MASsurvey.pdf>. Acessado em: 15 de maio de 2005.
• VILLALOBOS, A. G. M. (2005). Projeto e Implementação de Agentes Robóticos Multiprocessados e com Controle PID Aplicado ao Futebol de Robôs. Escola de
Engenharia de Piracicaba, Ciência da Computação.
25. Apêndice A
Figura 1 - Interface Módulo Ambiente Simulado
Figura 2 - Interface Módulo Ambiente Real
26. Apêndice A
Figura 3 - Interface Módulo de Controle de Hardware
Figura 4 - Interface Módulo de Demonstração
Figura 7 - Interface Módulo de Configurações de Robôs
27. Anexo D
Figura 1 - Montando o Campo Figura 2 - Final da Montagem Figura 3 - Discutindo Soluções Figura 4 - Manutenção no Protótipo
Figura 5 - Programando Figura 6 - Programando Figura 7 – Primeiro Teste Real Figura 8 - Congressos
28. Anexo D
Figura 9 – Transporte do Campo
Figura 11 –Teste Real
Figura 12 – Preparação Finalizada
Figura 10 - Montagem
29. Anexos A e B
• Participações em Congressos deste Trabalho
– 8º CIC Unicep (SC) - 3 resumos
– 5º CONIC (Santos) - 1 resumo
– 13º SIICUSP (SC) - 3 resumos
• Participações em Congressos do Projeto (3 trabalhos)
– 8º CIC Unicep (SC) - 4 resumo
– 5º CONIC (Santos) - 3 resumo
– 13º SIICUSP (SC) - 4 resumos