Sensorização e percepção de multi-agentes robóticos jogadores de futebol Departamento de Electrónica Industrial Escola de Engenharia, Universidade do Minho, Guimarães, PORTUGAL Índice • • • • • • • RoboCup e suas modalidades Regras Robôs da Universidade do Minho Descrição mecânica e informática Estratégia Software Demonstrações Iniciativa RoboCup Até ao ano 2050, construir uma equipa de robôs futebolistas autónomos (humanóides), capaz de ganhar à equipa campeã do mundo de humanos. http://www.robocup.org Historial • 1993 - Ideia, Objectivos, regras iniciais desenvolver uma equipa de robôs futebolistas que joguem tão bem como os humanos. • • • • • • • • • Edições 1997 - Nagoya, Japão 1998 - Paris, França 1999 - Estocolmo, Suécia 2000 - Amsterdão, Holanda (Europeu) 2000 - Sydney, Austrália 2001 - Seattle, EUA 2002 - Fukuoka, Japão 2003 - Pádua, Itália 2004 - Portugal Modalidades de Futebol no RoboCup • • • • • • Robôs médios Robôs pequenos Cães da Sony Humanóides Júnior (Futebol e dança) Simulação • Salvamentos • Simulação de Salvamentos Modalidade / Robôs médios 80 Kg 80 cm 50 cm Modalidade / Robôs pequenos Modalidade / Cães da Sony Modalidade / Robôs Humanóides Modalidade / Júnior Modalidade / Simulação Regras • Regras idênticas às do futebol humano, com adaptações • Campo - 12 x 8 m • Cada equipa – 4-6 robôs (um guarda redes) • O jogo é feito numa base de cores • Robôs PRETOS, com uma marca colorida • Cilindros no canto com sequência de 3 cores • Duração do jogo - 2 x 10 minutos, (15 min intervalo) • Robôs completamente autónomos, não devem colidir com os adversários e devem marcar o maior número de golos Baliza A Baliza B Equipa A Equipa B Robôs Equipa MINHO • Surgiu em 1998 • Alunos do DEI • Extra-curricular • Patrocínios • Completamente desenvolvido in-house • Participações Solução Mecânica / Robô completo Solução Mecânica / Motorização Rodas omnidireccionais Solução Mecânica / Motorização Fn velocidade cosDireccaoRodan Direccao FA velocidade cos30 Direccao FB velocidade cos150 Direccao FC velocidade cos270 Direccao Solução Mecânica / Controlo da Bola Chuto magnético / Força -> Energia Solução Mecânica / Chuto COMPUTADOR 1 Bateria 12V / 7Ah para o PC 3 Baterias 12V / 7Ah para motores/chuto/electrónica Motherboard: VIA EPIA M 933 mini-itx Microprocessador: Baixo consumo (VIA C3 933MHz) RAM: 256MB (266MHz velocidade) Disco: FLASH 256Mb 1 Slot PCI expansível a 2 (placa captura + placa rede) Rede sem fios: ACX100, IEEE 802.11b, 11Mbps Memória não volátil: 256Mb IDE memoria flash Fonte de Alimentação: 50W ATX 12V Ambiente programação • • • • • • Linux Mandrake 9 Linguagem C (compilador gcc) LIB: vga, m, pthread, msock svgalib / memória linear Software escrito por nós (≈3000 linhas) Cerca de 14 fps (50 sem processamento) Sistema de Software Livrarias Básicas CONFIG.geral geral.c CONFIG.font font.c CONFIG.rede rede.c Aplicações - Nível 1 CONFIG.hardware CONFIG.hardware Hardware.c HardwareSimples.c filtros.c geometrias.c Aplicações - Nível 2 Video.c CONFIG.cores Cores.c CONFIG.sensores Sensores.c Aplicações - Nível 3 CONFIG.jogo Jogo.c Monitor.c Sistema de visão Espelho Esférico Câmara analógica Imagem vista pela câmara Sistema de visão Visão x f xi 0 radius sin( 180) y f yi 0 radius cos( 180) Xi0, Yi0 α radius Xf, Yf - coordenadas do centro da imagem - angulo do pixel / eixo central - distancia do pixel ao centro da imagem - coordenadas Cartesianas finais Visão / filtros Visão Estratégia / Atacante Robo sempre de frente para a bola (vel. Angular) direccao=(K1*((bolax-balizax)/90)*(distancia*K2)); velocidade=75.0+(110.0-bolay)*(1.0+abs((bolax-balizax)/180.0)); Visão / Jogo Estratégia / Guarda-Redes COM BOLA direccao_X=((bolax-180)*4); direccao_Y=((POSY_GR-dist_baliza)/4); direccao=180-(atan2(-direccao_X, direccao_Y); SEM BOLA direccao_Y=((POSY_GR-dist_baliza)/(20/RAPIDEZ)); direccao_X=(media_esq-media_dir)*(2*RAPIDEZ); velocidade=(abs(direccao_X)+abs(direccao_Y))/2 Estratégia / Defesa Idêntico ao guarda-redes Estratégia / Equipa completa 1 Guarda-redes 1 Defesa 2 Atacantes (nesta ordem…) Equipa - Comunicação Rede TCP/IP (sem fios) Monitor Monitor Monitor Hardware Localização largura comprimento Triangulação Vídeo (Trailer) Conclusões • • • • • • • • • Projecto não apenas de investigação mas de ensino Objectivos são científicos Área Multi-disciplinar (informática, electrónica, mecânica) Cooperação Sistema de Visão é muito importante Distorção da imagem (espelho) não é problema Fiabilidade do Hardware Beleza do jogo é importante Optimização do software é MUITO importante Sensorização e percepção de multi-agentes robóticos jogadores de futebol Departamento de Electrónica Industrial Escola de Engenharia, Universidade do Minho, Guimarães, PORTUGAL