2010bEquipe07 Qualificação

De Wiki DAINF
Edição feita às 20h56min de 2 de outubro de 2010 por Matheus.araujo (disc | contribs)
(dif) ← Versão anterior | ver versão atual (dif) | Versão posterior → (dif)

2010bEquipe07

Tabela de conteúdo

Resumo

Este trabalho tem como objetivo aperfeiçoar o simulador de futebol de robôs Tewnta. Para isso, corrigiremos problemas de simulação física presentes na versão atual do software; por ser utilizado como ferramenta educativa na disciplina de Sistemas Inteligentes do curso de Engenharia de Computação e também pela equipe de Futebol de Robôs da Universidade Tecnológica Federal do Paraná, esses aperfeiçoamentos seriam de extrema importância para esses fins educativos.


Introdução

Em 2008, Gabriel Girardello Detoni, aluno da Universidade Federal do Rio Grande do Sul, iniciou um projeto de software de simulação para futebol de robôs pequenos, nos moldes da RoboCup, denominado Tewnta. O projeto tem como finalidade a execução em um ambiente simulado dos códigos criados para robôs reais, para que os mesmos possam ser testados antecipadamente. Este software, que atualmente é utilizado pela equipe de futebol de robôs da UTFPR para testes de algoritmos, ainda está incompleto e apresenta discrepâncias entre o comportamento real e o simulado. Baseados neste fato, pretendemos implementar maneiras de tornar o programa mais próximo à realidade do futebol de robôs, para que os códigos gerados possam ser testados com mais eficácia e garantia.


Objetivos

O Tewnta sofre de algumas limitações de simulação da realidade – conceitos físicos não implementados em sua maioria. Devido a isso, pretendemos inserir esses ajustes físicos na programação do software; tais ajustes se tratam de correções nas constantes de atrito, inclusão de inércia e peso dos robôs para melhor representação dos movimentos linear e angular de aceleração dos robôs e da bola. Além de ajustes lógicos nos limites da trave, para que o gol seja avaliado de maneira correta, no comportamento dos robôs após um gol, na simulação de laterais; e a possibilidade de realizar uma simulação completa em tempo menor, isto é, representar um intervalo de tempo maior a cada unidade de tempo do mundo real.


Justificativa

Esse software é utilizado na aprendizagem, como na disciplina de Sistemas Inteligentes da UTFPR, porém não pode ser empregado corretamente, devido aos erros que contém. Melhoramentos introduzidos no programa original tornariam sua utilização mais eficiente, pois o aproximaria da realidade. Além da melhor simulação física, uma das propostas apresentadas pela equipe é a criação de uma função “fast-forward”, que poderia acelerar o tempo de uma simulação. Isso seria útil nos testes de algoritmos inteligentes, já que o estudante/programador não precisaria aguardar os vinte minutos usuais de uma partida para observar os resultados de seus códigos. Esse trabalho também poderia auxiliar os treinamentos e dar mais chances para a equipe de futebol de robôs da UTFPR nas próximas edições da RoboCup.


A RoboCup

Originalmente chamada de Robot World Cup Initiative (Iniciativa Copa do Mundo de Robôs), a RoboCup é uma iniciativa de pesquisa e educação internacional. Foi criada com o objetivo de combinar pesquisas sobre Inteligência Artificial e Robôs Inteligentes, assim poderiam ser examinados de forma integrada. Com esse propósito, a RoboCup escolheu usar o futebol como campo de testes inicial e organizou a RoboCup World Championship and Conference (Conferência e Campeonato Mundial RoboCup). Para que um time de robôs participe de uma partida, várias tecnologias devem ser incorporadas, como: robótica, fusão de sensores, atuação em tempo real e estratégias de jogo. Ao contrário do que parece a RoboCup não é formada apenas por competições de futebol, esta é apenas uma das atividades proporcionadas por ela. Outras atividades são: conferências técnicas, competições, desafio de programas, programas educacionais e desenvolvimento de infra-estrutura. Atualmente existem cinco modalidades de competições na RoboCup. São elas:

• Liga de Simulação; • Liga de Robôs Pequenos; • Liga de Robôs Médios; • Liga de Robôs Com Quatro Pernas; • Liga de Humanóides.


Liga de Robôs Pequenos

Os robôs da modalidade Small Size League (SSL) também conhecida como F180, objetos do nosso projeto, devem ter no máximo 180 mm de diâmetro e 150 mm de altura. Eles jogam com uma bola alaranjada de golfe com aproximadamente 46 g de massa e 43 mm de diâmetro em um campo com tamanho 6050 mm x 4050 mm. As partidas têm dois tempos de 10 minutos cada, com um intervalo de no máximo 5 minutos. Os times são separados por cor e devem ter no máximo cinco robôs incluindo o goleiro. Essa liga tem o objetivo de analisar os trabalhos em grupo com um sistema híbrido central distribuído. Nessa modalidade, existem duas possibilidades de visão para os robôs. Na primeira e menos comum, cada robô possui uma câmera acoplada no topo de seu corpo; na segunda e mais amplamente utilizada, uma câmera global é posicionada em cima do campo e sua imagem é transmitida para um computador que identifica a posição de cada ente e retransmite para os robôs com conexão sem fio.


O simulador Tewnta

Tewnta é um software simulador do futebol de robôs, criado na Universidade Federal do Rio Grande do Sul (UFRGS), no ano de 2008, por Gabriel Girardello Detoni em linguagem Java com o objetivo de simular uma partida de futebol de robôs pequenos nos moldes da RoboCup. O Tewnta é utilizado no desenvolvimento de algoritmos de inteligência artificial de controle dos robôs, antes dos testes com os robôs reais pela equipe de Futebol de Robôs da UTFPR. O Software trabalha em duas camadas, uma primeira que atua como “Servidor”, e é responsável pela simulação física e lógica da partida entre futebol de robôs. Uma segunda camada, atuando como “Cliente”, onde estão definidas as ações que devem ser tomadas pelos robôs. Essas duas aplicações se comunicam através de protocolo IP (Internet Protocol). O fluxo básico da aplicação consiste em: 1. Iniciar servidor; 2. Iniciar cliente; 3. Conexão entre cliente-servidor; 4. Início da partida; 5. Servidor computa o estado da partida e o transmite para o cliente; 6. Cliente determina a próxima ação a ser tomada e a passa para o servidor; volta ao passo 5; Por se tratar de uma aplicação Java, o Tewnta é versátil em relação à plataforma em que é executado, bastando que o Sistema Operacional em que é executado possua uma JVM (Java Virtual Machine). No entanto, por utilizar pacotes de interface da biblioteca SWT, o Tewnta só é executado em plataformas 32 bits.


Conceitos Físicos

Atrito

Experimentalmente, quando um corpo repousando sobre uma superfície sofre a ação de uma força <math>\vec F</math> que tenta deslocá-lo sobre outra superfície, surgem três propriedades:

1) Se o corpo não se move, existe outra força contrária a primeira, chamada força de atrito estática <math>(\vec F_s)</math> , que mantém o corpo em repouso.

2) Quando a força <math>\vec F</math> aumenta a força também aumenta até um limite máximo que é dado por:

<math>\vec F_{smax}=\mu_sxN</math> (1)

onde <math>\mu_s</math> é o coeficiente de atrito estático e N a força normal que a superfície exerce sobre o corpo.

3) Quando a força <math>\vec F</math> ultrapassa o valor de <math>\vec F_s</math> então o corpo começa a deslizar e a força de atrito diminui para outro valor chamado força de atrito cinético <math>(\vec F_k)</math> que é dado por:

<math>\vec F_k=\mu_kxN</math> (2)

onde <math>\mu_k</math> é o coeficiente de atrito cinético.

A partir deste momento esta força <math>\vec F_k</math> sempre será oposta em sentido à <math>\vec F</math>.


Velocidade Média

Se uma partícula se move efetuando um deslocamento <math>\Delta r</math> em um intervalo de tempo <math>\Delta t</math>, então sua velocidade média <math>v_{med}</math> é representada por:

<math>v_{med}=\frac{\Delta r}{\Delta t}</math> (3)


Aceleração Média

Quando a velocidade da partícula varia de <math>v_1</math> para <math>v_2</math> em um intervalo de tempo <math>\Delta t</math>, sua aceleração média <math>a_{med}</math> durante <math>\Delta t</math> é dada por:

<math>a_{med}=\frac{\Delta v}{\Delta t}</math> (4)


Colisão

Uma colisão é um evento isolado no qual dois ou mais corpos (os corpos que colidem) exercem, uns sobre os outros, forças relativamente elevadas por um tempo relativamente curto. A impulsão em uma colisão simples pode ser calculada pela equação:

<math>V=\vec F_{med}x\Delta t</math> (5)

onde <math>\Delta t</math> é a duração da colisão.


Bibliografia

- Tewnta - Robocup Small Size League F180 Simulator. Disponível em : <http://code.google.com/p/tewnta/>. Acesso em: 01 de Setembro de 2010

- About RoboCup. Disponível em : <http://www.robocup.org/>. Acesso em: 11 de Setembro de 2010

- About the Small Size League. Disponível em: <http://small-size.informatik.uni-bremen.de/>. Acesso em: 12 de Setembro de 2010

- HALLIDAY, David; Resnick Robert; Walker Jearl. Fundamentos de Física – Mecânica, Vol.1, 6ª edição. Rio de Janeiro: Livros Técnicos e Científicos, 1996

- TIPLER, Paul A.;MOSCA,Gene. Física para Cientistas e Engenheiros, Vol.1, 6ª edição. Rio de Janeiro: Livros Técnicos e Científicos, 2009

Apêndice

Imagens utilizadas na apresentação

Fluxograma básico de execução do Software.

Tewnta qualificao 1.jpg

Diagrama conceitual da execução do progama.

Tewnta qualificao 2.jpg

Ferramentas pessoais