Sensorização e percepção de multi-agentes robóticos jogadores de futebol Departamento de...

Post on 16-Apr-2015

104 views 1 download

Transcript of Sensorização e percepção de multi-agentes robóticos jogadores de futebol Departamento de...

Sensorização e percepção demulti-agentes robóticos

jogadores de futebol

Departamento de Electrónica Industrial

Escola de Engenharia, Universidade do Minho,Guimarães, PORTUGAL

•RoboCup e suas modalidades•Regras•Robôs da Universidade do Minho•Descrição mecânica e informática•Estratégia•Software•Demonstrações

Índice

Iniciativa RoboCup

http://www.robocup.org

Até ao ano 2050, construir uma equipa de robôs futebolistas autónomos (humanóides), capaz de ganhar à equipa campeã do mundo de humanos.

•1993 - Ideia, Objectivos, regras iniciaisdesenvolver 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

Historial

•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

Modalidades de Futebol no RoboCup

80 cm

50 cm

80 Kg

Modalidade / Robôs médios

Modalidade / Robôs pequenos

Modalidade / Cães da Sony

Modalidade / Robôs Humanóides

Modalidade / Júnior

Modalidade / Simulação

• 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

Regras• 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 Rodas omnidireccionaisomnidireccionais

Solução Mecânica / Motorização

DireccaodaDireccaoRovelocidadeF nn cos DireccaovelocidadeFA 30cos

DireccaovelocidadeFB 150cos

DireccaovelocidadeFC 270cos

Solução Mecânica / Controlo da Bola

Chuto magnético / Força -> Energia

Solução Mecânica / Chuto

COMPUTADOR

Motherboard: VIA EPIA M 933 mini-itxMicroprocessador: Baixo consumo (VIA C3 933MHz)RAM: 256MB (266MHz velocidade)Disco: FLASH 256Mb1 Slot PCI expansível a 2 (placa captura + placa rede)Rede sem fios: ACX100, IEEE 802.11b, 11MbpsMemória não volátil: 256Mb IDE memoria flashFonte de Alimentação: 50W ATX 12V

1 Bateria 12V / 7Ah para o PC

3 Baterias 12V / 7Ah para motores/chuto/electrónica

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

CONFIG.geral

geometrias.c

CONFIG.font

CONFIG.rede

Livrarias BásicasCONFIG.hardware Hardware.c

Aplicações - Nível 1

Video.c

CONFIG.cores Cores.c

CONFIG.sensores Sensores.c

CONFIG.jogo Jogo.c

Monitor.c

Aplicações - Nível 2 Aplicações - Nível 3

CONFIG.hardware HardwareSimples.c

geral.c

font.c

rede.c

filtros.c

Sistema de visão

Espelho Esférico

Câmara analógica

Imagem vista pela câmara

Sistema de visão

Visão

)180cos(

)180sin(

0

0

radiusyy

radiusxx

if

ifXi0, Yi0 - coordenadas do centro da imagemα - angulo do pixel / eixo centralradius - distancia do pixel ao centro da imagemXf, Yf - coordenadas Cartesianas finais

Visão / filtros

Visão

Estratégia / Atacante

direccao=(K1*((bolax-balizax)/90)*(distancia*K2));velocidade=75.0+(110.0-bolay)*(1.0+abs((bolax-balizax)/180.0));

Robo sempre de frente para a bola (vel. Angular)

Visão / Jogo

Estratégia / Guarda-Redes

direccao_Y=((POSY_GR-dist_baliza)/(20/RAPIDEZ));direccao_X=(media_esq-media_dir)*(2*RAPIDEZ);

velocidade=(abs(direccao_X)+abs(direccao_Y))/2

SEM BOLA

direccao_Y=((POSY_GR-dist_baliza)/4);

COM BOLA

direccao_X=((bolax-180)*4);

direccao=180-(atan2(-direccao_X, direccao_Y);

Estratégia / Defesa

Idêntico ao guarda-redes

1 Guarda-redes1 Defesa2 Atacantes

(nesta ordem…)

Estratégia / Equipa completa

Rede TCP/IP (sem fios)

Monitor

Equipa - Comunicação

Monitor

Monitor

Hardware

Localização

Triangulaçãolargu

ra

comprimento

Distancia AzulDistancia Amarela

Vídeo (Trailer)

• 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

Conclusões

Sensorização e percepção demulti-agentes robóticos

jogadores de futebol

Departamento de Electrónica Industrial

Escola de Engenharia, Universidade do Minho,Guimarães, PORTUGAL