Futebol de RobôsRobot Soccer
Ivan Salera Guisini Santos e Thiago Richter
2005
Sumário Apresentação
• Introdução
• Desenvolvimento
• Conclusões
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.
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
Revisão Bibliográfica
• Futebol de Robôs– No Mundo
– No Brasil
– RoboCup
– Gol-a-Gol
– Avanços e Aplicações
– Perspectivas para o Futuro
• Inteligência Artificial– Agentes
– Teoria dos Jogos
– Planejamento
– Aprendizagem
– Introdução à PG e AG
– Programação Genética
– Algoritmos Genéticos
• Robótica– Robôs
– Percepção
– Sensores
– Atuadores
• Técnicas de Navegação– Grafo de Visibilidade
– Espaço Livre
– Baseada em Grid
– Transformada de Distância
– Campos Potenciais
– Heurística
– Obstáculos Móveis
Revisão Bibliográfica
• Técnicas de Navegação– Planejamento de Trajetória com Grafo de Visibilidade
Revisão Bibliográfica
• Técnicas de Navegação– Planejamento de Trajetória por Espaço Livre
Revisão Bibliográfica
• Técnicas de Navegação– Navegação Baseada em Grid
Revisão Bibliográfica
• Técnicas de Navegação– Transformada de Distância
Revisão Bibliográfica
• Técnicas de Navegação– Navegação de Campos Potenciais
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
Área de Visada
Direção
α
Fora da VisadaEfetuar somente
movimentação Angular
α
Dentro da VisadaEfetuar
movimentação Composta
α
Desenvolvimento
• EstratégiasVetores 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
Desenvolvimento
• Estratégia
Desenvolvimento
• Estratégia– Escanteio
Desenvolvimento
• Estratégia– Contra Ataque
Desenvolvimento
• Estratégia– Atacar desviando adversário
• Sem Colisão
Desenvolvimento
• Estratégia– Atacar desviando adversário
• Sem Colisão
Desenvolvimento
• Controle do Agente– Requisitos
– Tratamento de Colisões
• Proposta para AG
• 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
hVectA
VectBh
r1r2
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
Desenvolvimento
• Protocolos
Sincroni-
zação
Iniciali-
zaçãoX1 Y1 X2 Y2 ... Xn Yn
Check-
Sum
Finali-
zação
Ponto 2 Ponto nPonto 1
Sincroni-
zação
Iniciali-
zaçãoX Y
X
Centro
Y
Centro
X
D ireção
Y
D ireção
X
Centro
Y
Centro
X
D ireção
Y
D ireção
Check-
Sum
Finali-
zação
Robô 1 Robô 2Bola
Sincroni-
zação
Iniciali-
zação
Velocidade
Linear
Velocidade
Angular
Controle de Chute
e Domínio
Velocidade
Linear
Velocidade
Angular
Controle de Chute
e Domínio
Check-
Sum
Finali-
zação
Robô 1 Robô 2
Visão
• Dados Iniciais
• Dados Dinâmicos
Hardware
Obs: Atualmente utilizando velocidades em Percentual de Potência
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.
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.
Conclusões
• Dificuldades Encontradas– Bibliografia, grupo de pesquisa, custo, dificuldade em funções e procedimentos específicos e
utilização dos laboratórios.
• Trabalhos FuturosInú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.
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.
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. UniversiatStuttgart, 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.
Apêndice A
Figura 1 - Interface Módulo Ambiente Simulado
Figura 2 - Interface Módulo Ambiente Real
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
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 8 - CongressosFigura 7 – Primeiro Teste Real
Anexo D
Figura 9 – Transporte do Campo
Figura 10 - MontagemFigura 12 – Preparação Finalizada
Figura 11 –Teste Real
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
Fim