´                     ´
     UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA
                    ˆ             ˆ             ´
DEPARTAMENTOS ACADEMICOS DE ELETRONICA E INFORMATICA
                                       ¸˜
         CURSO DE ENGENHARIA DE COMPUTACAO



                AGNALDO CESAR COELHO
                 ´
            ANDRE LUIZ CONSTANTINO BOTTA
              LEANDRO ALVES DOS SANTOS




          ¸˜                           ´
   INTEGRACAO DO TRACKER AO TEWNTA: A FISICA NO
                              ˆ
                FUTEBOL DE ROBOS



                             ˜
   PROJETO DE TRABALHO - VERSAO 0.2 - MONOGRAFIA 11A
                       29/06/2011




                    CAMPUS CURITIBA

                          2011
AGNALDO CESAR COELHO
             ´
        ANDRE LUIZ CONSTANTINO BOTTA
          LEANDRO ALVES DOS SANTOS




       ¸˜                           ´
INTEGRACAO DO TRACKER AO TEWNTA: A FISICA NO
                           ˆ
             FUTEBOL DE ROBOS




                                            `
              Este Projeto foi apresentado a Unidade Curricular
                                   ¸˜
              de Oficina de Integracao 1 do Curso de Engenharia
                          ¸˜
              de Computacao da Universidade Tecnol´ gica Fede-
                                                     o
                                                      ¸˜
              ral do Paran´ como requisito para aprovacao.
                          a

              Orientador:      Jo˜ o Alberto Fabro
                                 a

              Co-orientador: Nestor Cortez Savedra Filho




               CAMPUS CURITIBA
                        2011
¸˜
         Integracao do Tracker ao Tewnta: A F´sica no Futebol de Robˆ s
                                             ı                      o
Agnaldo Cesar CoelhoAndr´ Luiz Constantino Botta Leandro Alves dos Santos
                        e


           Autor da imagem da capa: Rafael Jaime Sunyˆ Guinart
                                                     e
RESUMO




Agnaldo Cesar Coelho; Andr´ Luiz Constantino Botta; Leandro Alves dos Santos. Integracao
                            e                                                             ¸˜
do Tracker ao Tewnta: A F´sica no Futebol de Robˆ s. 60 f. Projeto de Trabalho - Vers˜ o 0.2 -
                          ı                     o                                    a
                                                              ¸˜
Monografia 11a 29/06/2011 – Curso de Engenharia de Computacao, Universidade Tecnol´ gica o
Federal do Paran´ . Campus Curitiba, 2011.
                a

Pretende-se neste projeto aperfeicoar o software simulador de Futebol de Robˆ s Tewnta, para
                                    ¸                                         o
que o mesmo possa, da forma mais fiel poss´vel, representar as caracter´sticas e comportamen-
                                            ı                          ı
                              a           ¸˜
tos, tais como velocidade m´ xima, aceleracao e torque de cada robˆ simulado, quando compa-
                                                                  o
                                              ´
rado ao comportamento f´sico real. Para isso, e utilizado o software Tracker como ferramenta
                            ı
b´ sica para a obtenca
 a                  ¸ ˜ o de dados.

Palavras-chave: Simulacao, Futebol de Robˆ s, Tewnta, Tracker
                      ¸˜                 o

Areas de Conhecimento:
AGRADECIMENTOS




    Agradecemos aos professores orientadores Jo˜ o Alberto Fabro e Nestor Cortez Saavedra
                                               a
Filho por terem nos auxiliado durante todo o projeto. Ao aluno Leonardo Pressoto Oliveira
              ¸˜
pela contribuicao ao dividir conosco seus conhecimentos a respeito do Tracker. Aos alunos
Geison Dartora e Matheus Ara´ jo por nos auxiliarem, principalmente, no inicio deste projeto.
                            u
                                                             ¸˜
E tamb´ m aos professores da disciplina de Oficinas de Integracao: Arandi Ginane Bezerra
      e
J´ nior, Andr´ Fabiano Steklain e Luiz Ernesto Merkle por nos ensinarem como proceder na
 u           e
       ¸˜
realizacao de pesquisa cient´fica e na escrita de uma monografia.
                            ı
LISTA DE FIGURAS




                     ¸˜                  ¸˜
FIGURA 1 – VARIACAO DA POSICAO DE UM OBJETO EM FUNCAO DO TEMPO. 13                                    ¸˜
              ´                         ´
FIGURA 2 – METODO PARA O CALCULO DA VELOCIDADE INSTANTANEA (TI-                                                     ˆ
          PLER, 2009). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
FIGURA 3 – LIGA INFANTIL - HUMANOID LEAGUE KIDSIZE. . . . . . . . . . . . . . . . . 18
FIGURA 4 – MIDDLE SIZE LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
                  ˆ
FIGURA 5 – ROBOS UTILIZADOS NA SMALL SIZE LEAGUE. . . . . . . . . . . . . . . . . . 19
FIGURA 6 – CAMPO OFICIAL DA SSL LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
FIGURA 7 – TELA DE UMA PARTIDA SOCCER SIMULATION LEAGUE 2D. . . . . 20
FIGURA 8 – DESLOCAMENTO DE UMA BOLA EM FUNCAO DO TEMPO. . . . . . 21                    ¸˜
                       ´
FIGURA 9 – TRAJETORIA DO CENTRO DE MASSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
                                                               ˆ
FIGURA 10 – CAMPO DE FUTEBOL DE ROBOS UTILIZADO NAS FILMAGENS. 22
                                              ´
FIGURA 11 – UM REFERENCIAL METRICO, CANTO SUPERIOR ESQUERDO, E                                                                      ´
                                                                ˆ
          UTILIZADO AO FILMAR OS ROBOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
FIGURA 12 – CAMPO DE FUTEBOL DE ROBOS                          ˆ UTILIZADO NAS FILMAGENS. 24
FIGURA 13 – COMANDO IMPORT LOCALIZADO EM FILE → IMPORT → VIDEO. 25
FIGURA 14 – COMANDO CLIP SETTINGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
FIGURA 15 – COMANDO CALIBRATION TAPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIGURA 16 – SISTEMA DE COORDENADAS CARTESIANAS. . . . . . . . . . . . . . . . . . . . 27
                    ¸˜
FIGURA 17 – CRIACAO DE UM NOVO PONTO DE MASSA. . . . . . . . . . . . . . . . . . . . . . 27
                            ¸˜
FIGURA 18 – CONFIGURACAO DO NOVO PONTO DE MASSA CRIADO. . . . . . . . 28
FIGURA 19 – ABA TEMPLATE DEFINE A IMAGEM A SER CAPTURADA EM CADA
          FRAME DE V´     IDEO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FIGURA 20 – A ABA TARGET DETERMINA UM ”ALVO”COMO O PONTO PRIN-
          CIPAL A SER CAPTURADO EM CADA FRAME. . . . . . . . . . . . . . . . . . . . . . 29
FIGURA 21 – NA ABA ACCEPT DETERMINA-SE UM N´                                      IVEL DE PRECISAO PARA             ˜
          A CAPTURA DO MOVIMENTO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
                                     ´
FIGURA 22 – NA ABA SEARCH E DISPONIBILIZADO UM RETANGULO TRACE-                                    ˆ
                                                    ´
          JADO PARA DEMARCAR A AREA DE PROCURA. ESSE RETANGULO                                                      ˆ
                               ´
          DEVE TER EM MEDIA O TAMANHO DO OBJETO PROCURADO. . . . 30
FIGURA 23 – ´
            ICONES DE VELOCIDADE E ACELARACAO DENTRO DO RETANGULO. 31          ¸˜                                            ˆ
FIGURA 24 – ROBO  ˆ EM MOVIMENTO ANGULAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
                            ¸˜
FIGURA 25 – CONFIGURACAO PARA O SISTEMA DE COORDENADAS ACOM-
                                                        ˆ
          PANHAR O CENTRO DO ROBO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
                                ´
FIGURA 26 – TABELAS E GRAFICOS EXIBIDOS NO CANTO DIREITO DA TELA. 33
                ´
FIGURA 27 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                         ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA                                             ˆ
                                  ´
          NO SENTIDO HORARIO COM VELOCIDADE CONSTANTE. . . . . . . . . . 34
                ´
FIGURA 28 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                         ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA                                             ˆ
                                  ´
          NO SENTIDO HORARIO COM TORQUE INICIAL. . . . . . . . . . . . . . . . . . . . 34
                ´
FIGURA 29 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                         ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS AO QUADRADO. ESTE
´
          GRAFICO FOI OBTIDO AO LINEARIZAR O GRAFICO DA FIGURA                                        ´
          ANTERIOR. O ROBO                ˆ ROTACIONA NO SENTIDO HORARIO COM TOR-                             ´
          QUE INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
                ´
FIGURA 30 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                           ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA                                                    ˆ
                                                      ´
          NO SENTIDO ANTI-HORARIO COM VELOCIDADE CONSTANTE. . . 35
                ´
FIGURA 31 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                           ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA                                                    ˆ
                                                      ´
          NO SENTIDO ANTI-HORARIO COM TORQUE INICIAL. . . . . . . . . . . . . . 36
                ´
FIGURA 32 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS,
                           ¸˜
          COM RELACAO AO TEMPO EM SEGUNDOS AO QUADRADO. ESTE
              ´
          GRAFICO FOI OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??.                               ´
                  ˆ
          O ROBO ROTACIONA NO SENTIDO ANTI-HORARIO COM TORQUE                                       ´
          INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
                ´
FIGURA 33 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO        ˆ                                                                  ¸˜
          INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
                ´
FIGURA 34 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI                                                           ´
          OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE      ´                                                              ˆ
                                                                ¸˜
          MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 37
                ´
FIGURA 35 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO        ˆ                                                                  ¸˜
          INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
                ´
FIGURA 36 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI                                                           ´
          OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE      ´                                                              ˆ
                                                                ¸˜
          MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 38
                ´
FIGURA 37 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO        ˆ                                                                  ¸˜
          INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
                ´
FIGURA 38 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI                                                           ´
          OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE      ´                                                              ˆ
                                                                ¸˜
          MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 39
                ´
FIGURA 39 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO                                                                       ¸˜
          DO TEMPO EM SEGUNDOS. O ROBO                                       ˆ SE MOVIMENTA COM VELO-
          CIDADE CONSTANTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
                                       ´
FIGURA 40 – INTERFACE GRAFICA DO SIMULADOR TEWNTA. . . . . . . . . . . . . . . . 41
                                                                ¸˜
FIGURA 41 – DIAGRAMA DE COMUNICACAO (APERFEICOAMENTO DO SIMULADOR DE RO
          2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
FIGURA 42 – DIAGRAMA DE FLUXO (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEW                                                                        ˆ
          2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
FIGURA 43 – PROPETIES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
FIGURA 44 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
FIGURA 45 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
FIGURA 46 – ENCAPSULAMENTO ALTERADO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
FIGURA 47 – ISINDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
FIGURA 48   –   SETPLAYERROTATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            49
FIGURA 49   –   SETPLAYERROTATIONVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          49
FIGURA 50   –   SETPLAYERVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            50
FIGURA 51   –   ADDROBOT.PNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   51
FIGURA 52   –                                     ¸˜
                MOVIMENTO DE TRANSLACAO E ROTACAO TERRESTRE. . . . . . .     ¸˜                                                   55
FIGURA 53   –   DESLOCAMENTO DE UM CORPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           56
FIGURA 54   –   COMPONENTES DO VETOR , EM RELACAO AOS EIXOS Y E X. . .    ¸˜                                                      57
FIGURA 55   –               ¸˜
                REPRESENTACAO DE DOIS VETORES, E , E DO VETOR SOMA, .                                                             57
FIGURA 56   –   EFEITO DA PRIMEIRA LEI DE NEWTON. . . . . . . . . . . . . . . . . . . . . . . . . .                               59
LISTA DE TABELAS




TABELA 1   – DADOS PARA MOVIMENTO LINEAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
TABELA 2   – DADOS PARA MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . 34
LISTA DE SIGLAS




UTFPR   Universidade Tecnol´ gica Federal do Paran´
                           o                      a

SSL     Small Size League

UFRGS   Universidade Federal do Rio Grande do Sul

ETL     Electro Technical Laboratory

IJCAI   Conferˆ ncia Internacional de Inteligˆ ncia Artificial
              e                              e

GNU     Genereal Public License
´
                                                                   SUMARIO




                ¸˜
1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              10
                  ¸˜
1.1 DELIMITACAO DO TEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           10
1.2 O PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            10
1.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       11
1.4 OBJETIVOS ESPEC´          IFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              11
1.5 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           11
       ´
1.6 METODOS DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         11
                ¸˜           ´
2 INTRODUCAO TEORICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            13
2.1 MOVIMENTO LINEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      13
2.1.1 Velocidade Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         13
Velocidade M´ dia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
             e                                                                                                                                        13
Velocidade Instantˆ nea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    a                                                                                                                                 14
              ¸˜
2.1.2 Aceleracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    14
2.2 MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           15
2.2.1 Velocidade Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            15
              ¸˜
2.2.2 Aceleracao Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            15
3 ROBOCUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         17
                              ´
3.1 UMA BREVE HISTORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        17
3.1.1 Categorias RoboCup Soccer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   18
4 TRACKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       21
                 ¸˜
4.1 PREPARACAO DO AMBIENTE PARA FILMAGEM . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                        22
                                     ˆ
4.2 FILMAGEM DOS ROBOS EM MOVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                 23
              ¸˜
4.3 DISTORCOES NAS MEDIDAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                              24
             ¸˜
4.4 OBTENCAO DOS DADOS UTILIZANDO O TRACKER . . . . . . . . . . . . . . . . . . . . . . .                                                             24
                 ¸˜
4.4.1 Configuracao Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           24
           ¸˜
4.5 CRIACAO DO PONTO DE MASSA E OBTENCAO DOS DADOS MANUAL E                          ¸˜
     AUTOMATICAMENTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      26
                                      ¸˜
4.6 PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO LINEAR . . . . . . .                                                                                 30
                                      ¸˜
4.7 PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO ANGULAR . . . .                                                                                      31
4.8 DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31
5 TEWNTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      41
          ˜                        ´
5.1 VISAO GERAL DO CODIGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             43
                ¸˜
5.2 ALTERACOERS IMPLEMENTADAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                       43
            ¸˜
5.2.1 Criacao de novas propriedades no arquivo Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                     43
            ¸˜
5.2.2 Criacao da classe IndependentRobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          45
                   ¸˜                                                          ˆ
5.3 ATUALIZACAO DO MOVIMENTO DO ROBO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                  47
5.3.1 Inicializar Robˆ Correspondente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      o                                                                                                                               49
                 ˜
6 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             52
         ˆ
REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         53
       ˆ                                  ´                                     ´
7 APENDICE - TEORIAS FISICAS E MATEMATICAS . . . . . . . . . . . . . . . . . . . . . . . .                                                            55
7.1 GRANDEZAS ESCALARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             55
7.2 GRANDEZAS VETORIAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     56
7.2.1 Somas Alg´ bricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
               e                                                                                                                                56
7.2.2 Soma Geom´ trica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                 e                                                                                                                              57
7.3 ESTUDO DO MOVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       57
10




1            ¸˜
      INTRODUCAO




1.1            ¸˜
       DELIMITACAO DO TEMA


                          ¸˜ ´
      O ambiente de simulacao e amplamente utilizado em ambiente cient´fico. Simulam-se
                                                                      ı
   o                                e                                     a             `
fenˆ menos da natureza, circuitos el´ tricos e muitos outros desafios que s˜ o propostos a hu-
                  ¸˜
manidade. A simulacao proporciona resultados mais confi´ veis, agilidade nos experimentos,
                                                      a
                                                     e           a                       ¸˜
economia de recursos materiais e financeiros, etc. Por´ m tudo est´ condicionado a utilizacao de
um software que seja capaz de simular o evento em estudo de forma real e confi´ vel.
                                                                             a

      Os estudos envolvendo Rob´ tica se encaixam perfeitamente na vantagem de se utilizar um
                               o
                  ¸˜                                                  ¸˜
software de simulacao. Este trabalho esta focado no software de simulacao de Futebol de Robˆ
                                                                                           o
Tewnta, utilizado na categoria de robˆ s F-180 da RoboCup, assim como no programa Tracker.
                                     o
Pretende-se mostrar que e poss´vel melhorar o Tewnta atrav´ s dos dados coletados pelo Tracker,
                              ı                           e
tornando assim poss´vel obter como resultado final um simulador que seja capaz de representar
                   ı
cada robˆ de forma individual, sabendo que os robˆ s n˜ o apresentam as mesmas caracter´sticas
        o                                        o a                                   ı
de hardware, ou seja, eles respondem de forma diferente ao mesmo comando.

      Este projeto da continuidade ao trabalho realizado por uma equipe do segundo semestre
                                          ¸˜
de 2010 na disciplina de Oficina de Integracao I. A equipe era composta por Matheus Ara´ jo,
                                                                                      u
Geison Dartora, Mayara Lorenzi e Cristiano Ribas, cujo foco foi melhorar o simulador, por´ m,
                                                                                         e
                   ı             ´
segundo as caracter´sticas de um unico robˆ .
                                          o


1.2    O PROBLEMA


                      o ´                   ¸˜
      O Futebol de Robˆ s e fonte de inspiracao, leva aos jovens o esp´rito da ciˆ ncia, pois pro-
                                                                      ı          e
move a interdisciplinaridade, envolvendo pesquisa principalmente em Inteligˆ ncia Artificial,
                                                                           e
F´sica e Matem´ tica (FIRA, 2011).
 ı            a

      A UTFPR trabalha na pesquisa de um time de Futebol de Robˆ s da categoria F-180 da
                                                               o
RoboCup SSL. Para auxiliar no desenvolvimento de estrat´ gias de jogo a UTFPR utiliza o
                                                       e
                      ´
simulador Tewnta, que e um software open source da SSL, desenvolvido na UFRGS por Gabriel
11


                                                                       ¸˜            ¸˜
Girardello Detoni em 2008 (TEWNTA, 2011). No entanto, h´ algumas limitacoes na simulacao
                                                       a
                      o            o               ¸˜
dos movimentos dos robˆ s. Cada robˆ possui aceleracoes e velocidades diferentes, tanto linear
quanto angular. O Tewnta n˜ o leva em conta essas caracter´sticas, sendo que para uma melhor
                          a                               ı
      ¸˜
simulacao esses atributos devem ser considerados. Atrav´ s do Tracker, software open source
                                                       e
para an´ lise e modelagem de v´deos, pode-se coletar esses dados de forma precisa e ent˜ o
       a                      ı                                                        a
adicion´ -los ao Tewnta.
       a


1.3     OBJETIVOS


                  ´
       O objetivo e aperfeicoar o software Tewnta, simulador de Futebol de Robˆ s para a liga
                           ¸                                                  o
F-180, para que este reproduza com precis˜ o os movimentos de cada um dos cinco robˆ s que
                                         a                                         o
comp˜ em a equipe de Futebol de Robˆ s da UTFPR.
    o                              o


1.4     OBJETIVOS ESPEC´
                       IFICOS


      • Simulacao da aceleracao linear e angular, espec´fica de cada robˆ .
              ¸˜            ¸˜                         ı               o

      • Simulacao da velocidade linear e angular de cada robˆ .
              ¸˜                                            o


1.5     JUSTIFICATIVA


                       ´
       Duas principais areas do conhecimento est˜ o relacionadas no desenvolvimento deste pro-
                                                a
                         a           e            ¸˜
jeto, sejam elas a inform´ tica atrav´ s de aplicacao no desenvolvimento de software de compu-
                              ¸˜
tador na linguagem de programacao Java, afim de melhorar o simulador de Futebol de Robˆ s
                                                                                     o
                                                       ¸˜
Tewnta, assim como grandezas f´sicas, tais como aceleracao e velocidade, angular e linear.
                              ı
                            ¸˜                                                ´
Pois, para se ter uma simulacao virtual o mais pr´ xima poss´vel da realidade e preciso levar em
                                                 o          ı
         ¸˜
consideracao os efeitos de eventos f´sicos.
                                    ı


1.6      ´
        METODOS DE PESQUISA


       O m´ todo empregado neste projeto consiste em pesquisa experimental auxiliado pelo soft-
          e
                                                                                          ¸˜
ware Tracker, software este que a partir de v´deos fornece dados como velocidade e aceleracao
                                             ı
de um ou mais objetos. Para alcancar os objetivos deste projeto s˜ o seguidos os seguintes pas-
                                 ¸                               a
sos:


      • Coleta de dados dos robˆ s em movimento retil´neo e angular, utilizando uma cˆ mera de
                               o                     ı                               a
12


   ı                             ı    ´
  v´deo e o software Tracker. O v´deo e importado pelo programa Tracker. Este, por sua
                      ¸˜
  vez, fornece informacoes acerca dos movimentos de cada robˆ .
                                                            o

• Criacao de novas classes e m´ todos no c´ digo fonte do Tewnta para insercao dos dados
      ¸˜                      e           o                                ¸˜
  no c´ digo fonte afim de representar individualmente os robˆ s. Esses m´ todos reprodu-
      o                                                     o           e
                            ı              o                        ¸˜
  zem os movimentos caracter´sticos dos robˆ s, levando em consideracao toda e qualquer
  deficiˆ ncia existente.
       e

• Testes comparativos das aceleracoes e velocidades, angular e linear, de cada robˆ , no
                                 ¸˜                                               o
                                       ¸˜
  simulador, com as respectivas aceleracoes e velocidades dos robˆ s reais.
                                                                 o
13




2            ¸˜    ´
      INTRODUCAO TEORICA




2.1     MOVIMENTO LINEAR

2.1.1    Velocidade Linear

Velocidade M´ dia
            e

                              ¸˜                     ¸˜                 ¸˜
      Ao representar-se a posicao de um objeto em funcao do tempo ( notacao: x(t), sendo x
      ¸˜
a posicao e t o tempo), obt´ m-se um gr´ fico (figura 1), que revela com que rapidez o objeto
                           e           a
se move. V´ rias grandezas est˜ o associadas com a express˜ o “com que rapidez”, entre elas, a
          a                   a                           a
                       ´
velocidade m´ dia, que e a raz˜ o entre o deslocamento
            e                 a                            x e o intervalo de tempo    t, durante o
qual esse deslocamento ocorre (HALLIDAY DAVID; RESNICK, 2009):
                                                x x2 − x1
                                      vmed =      =                                            (1)
                                                t   t2 − t1
                                          ´
 A velocidade, assim como o deslocamento, e uma grandeza vetorial, portanto possui um




                               ¸˜         ¸˜                     ¸˜
                Figura 1: Variacao da posicao de um objeto em funcao do tempo.

                     ¸˜             ´                            ¸˜
m´ dulo e uma orientacao. O m´ dulo e o valor absoluto da inclinacao da reta, e um valor posi-
 o                           o
                        e                      ¸˜
tivo para a velocidade m´ dia (e para a inclinacao) significa que a reta est´ inclinada para cima da
                                                                           a
                                                                                    ¸˜
esquerda para a direita; um valor negativo para a velocidade m´ dia(e para a inclinacao) significa
                                                              e
14


que a reta est´ inclinada para baixo da esquerda para a direita (HALLIDAY DAVID; RESNICK,
              a
2009).


Velocidade Instantˆ nea
                  a

                                       `
    Analisando o gr´ fico da (figura 2), a medida que considera-se intervalos de tempo sucessiva-
                   a
                                                                                           ¸˜
mente menores, iniciando em tp, a velocidade m´ dia para o intervalo se aproxima da inclinacao
                                              e
da reta tangente em tp.




           Figura 2: M´ todo para o c´ lculo da velocidade instantˆ nea (TIPLER, 2009).
                      e              a                            a


                      ¸˜                                                               ´
    Define-se a inclinacao desta tangente como a velocidade instantˆ nea. Esta tangente e o
                                                                  a
                         x
limite da raz˜ o de
             a           t   quando   t tende a zero (TIPLER, 2009).

                                                        x dx
                                           v = lim        =                                 (2)
                                                t→0     t   dt


2.1.2           ¸˜
         Aceleracao

                                                                                            ¸˜
    Quando a velocidade de uma objeto ou part´cula varia, diz-se que este sofreu uma aceleracao
                                             ı
                                                             ¸˜
(ou foi acelerado) (HALLIDAY DAVID; RESNICK, 2009). A aceleracao m´ dia em um inter-
                                                                  e
valo de tempo       ´
                  t e:


                                                     v v2 − v1
                                          amed =       =                                    (3)
                                                     t   t2 − t1
15

                                                          v
               ¸˜               ´
      A acelerecao instantˆ nea e o limite da raz˜ o de
                          a                      a        t   quando   t tende a zero (TIPLER, 2009).

                                                      v dv
                                         a = lim        =                                         (4)
                                                t→0   t   dt

                      ¸˜ ´                                    ¸˜
      Assim, a aceleracao e a derivada da velocidade v em relacao ao tempo. Como a velocidade
´                   ¸˜           ¸˜                       ¸˜ ´
e a derivada da posicao x em relacao ao tempo t, a aceleracao e a derivada de segunda ordem de
         ¸˜
x em relacao a t (HALLIDAY DAVID; RESNICK, 2009).

                                            dv   d dx d 2 x
                                       a=      =       = 2                                        (5)
                                            dt   dt dt  dt

2.2     MOVIMENTO ANGULAR


                                             ¸˜
      Para o movimento rotacional tem-se equacoes an´ logas ao do movimento linear:
                                                    a


2.2.1    Velocidade Angular

                      ¸˜              ¸˜
      Um corpo em rotacao est´ na posicao angular θ1 no instante t1 , e na angular θ2 no instante
                             a
t2 . Define-se como velocidade angular m´ dia do corpo no intervalo de tempo
                                       e                                                 t (YOUNG
HUGH D.; FREEDMAN, 2009):
                                              θ2 − θ1          θ
                                         ω=           =                                           (6)
                                              t2 − t1          t
                                      ´                           ¸˜
A velocidade angular (instantˆ nea) ω e o limite da raz˜ o da equacao da velocidade angular
                             a                         a
m´ dia quando
 e                 tt tende a zero (YOUNG HUGH D.; FREEDMAN, 2009):
                                                      θ   dθ
                                        ω = lim         =                                         (7)
                                                t→0   t   dt


2.2.2           ¸˜
         Aceleracao Angular

                                                 ¸˜ a ´
      Se a velocidade angular de um corpo em rotacao n˜ o e constante, o corpo possui uma
       ¸˜
aceleracao angular. Sejam ω1 e ω2 as velocidades nos instantes t1 e t2, respectivamente. A
       ¸˜                                 ¸˜                         ´
aceleracao angular m´ dia do corpo em rotacao no intervalo t1 at´ t2 e definida atrav´ s da
                    e                                           e                   e
    ¸˜
equacao (8) (YOUNG HUGH D.; FREEDMAN, 2009):
                                                ω2 − ω1            ω
                                       αmed =            =                                        (8)
                                                 t2 − t1           t
16


         ¸˜                           ´
A aceleracao angular (instantˆ nea) α e o limite dessa grandeza quando
                             a                                           t tende a zero (YOUNG
HUGH D.; FREEDMAN, 2009):
                                                 ω   dω
                                    α = lim        =                                      (9)
                                           t→0   t   dt
17




3     ROBOCUP




      ´
      E jogado por robˆ s especializados em reproduzir diversos eventos que ocorrem em um jogo
                      o
                                      ¸˜
de futebol real. As principais competicoes s˜ o organizadas pela Fira e RoboCup e ocorrem a
                                            a
cada ano (ROBOT, 2011).


3.1                  ´
       UMA BREVE HISTORIA


      Em outubro de 1992 um grupo de pesquisadores japoneses, com o objetivo de discutir pro-
blemas desafiadores em inteligˆ ncia artificial, organizou um Workshop na cidade de T´ quio,
                             e                                                     o
Jap˜ o. Este encontro os levou a crer que seria poss´vel usar o futebol para promover ciˆ ncia e
   a                                                ı                                   e
tecnologia. Ap´ s muitos estudos sobre viabilidade financeira, tecnol´ gica e poss´veis impactos
              o                                                     o            ı
sociais eles decidiram dar inicio ao futebol de robˆ s, elaborando regras e inclusive desenvol-
                                                   o
          o                           ¸˜
vendo prot´ tipos e sistemas de simulacao. Ap´ s esse encontro em junho 1993, um grupo de
                                             o
pesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano, decidiu lancar
                                                                                    ¸
           ¸˜                                                         ¸˜
uma competicao, provisoriamente chamado de Robˆ J-League. Essa competicao teve reper-
                                              o
cuss˜ o internacional e diversos pesquisadores de outros pa´ses se interessaram na ideia. Devido
    a                                                      ı
a isso, eles alteraram o nome do projeto para Robot World Cup Initiative, ”RoboCup”. Pouco
tempo depois, Itsuki Noda pesquisador da ETL, desenvolveu um simulador que mais tarde se
tornaria o servidor de futebol oficial da RoboCup (ROBOT, 2011).

      O an´ ncio para realizar a primeira Copa do Mundo de Futebol de Robˆ s foi feita durante
          u                                                              o
a (IJCAI-95) IJCAI realizada em Montreal, Canad´ , agosto de 1995. Mas a primeira Copa
                                               a
oficial de robos ocorre 1997 e foi um sucesso. Mais de quarenta equipes de varias partes do
mundo participaram, al´ m disso o n´ mero de espectadores foi maior que cinco mil (ROBOCUP,
                      e            u
2011a).

      Alcancando o Estado da Arte
           ¸

             ¸˜                            ´
      A intencao dos fundadores da RoboCup e utilizar esta para promover a rob´ tica e pesquisa
                                                                              o
em inteligˆ ncia artificial. Para eles, construir um robˆ para jogar futebol em si n˜ o gera impacto
          e                                            o                           a
18


                                               ¸˜             ´
social e econˆ mico significativo, mas a realizacao certamente e considerada como uma grande
             o
conquista do campo (ROBOCUP, 2011b).

    A RoboCup possui atualmente as seguintes modalidades: RoboCup Rescue, RoboCup@Home,
                                            ´
RoboCup Junior e RoboCup Soccer, sendo esta ultima foco de nosso estudo.


3.1.1   Categorias RoboCup Soccer

    Humanoid League

    Nesta liga, robˆ s autˆ nomos parecidos com humanos disputam uns contra os outros. Est´
                   o      o                                                               a
´
e a categoria mais complexa da RoboCup, pois os robˆ s tem que chutar a bola, ter um andar
                                                   o
   a                                 ı        e                                   ¸˜
dinˆ mico e correr sem perder o equil´brio, al´ m da necessidade de haver a percepcao visual da
bola, por parte deles. Os melhores robˆ s human´ ides do mundo disputam nesta liga (HUMA-
                                      o        o
NOID LEAGUE, 2011).

              ´
    Esta liga e divida em trˆ s subligas: KidSize (pequeno) com medidas 30 cm a 60 cm de
                            e
altura, TeenSize (m´ dio) de 100 cm a 120 cm, e AdultSize (grande) de 130 cm ou maior (HU-
                   e
MANOID LEAGUE, 2011).figura 3




                      Figura 3: Liga infantil - Humanoid League KidSize.


    Middle Size League

    Robˆ s de tamanho m´ dio n˜ o superior a 50 cm de diˆ metro disputam em equipes de no
       o               e      a                         a
m´ ximo seis, com bola de futebol de tamanho regular da FIFA em um campo similar a um
 a
campo de futebol em escala humana. Todos os sensores s˜ o on-board e os robˆ s podem usar a
                                                      a                    o
rede sem fio para se comunicar (MIDDLE SIZE LEAGUE, 2011).figura 4

    Soccer Small Size League

    Nesta liga se encaixam os robˆ s da UTFPR, o objetivo de pesquisa deste trabalho. Esta
                                 o
19




                                Figura 4: Middle Size League.

                                           ´
categoria de tamanho pequeno ou liga F180, e uma das mais antigas da RoboCup. Incide sobre
                     ¸˜
o problema da cooperacao multi-robot agente inteligente e controle em um ambiente altamente
dinˆ mico, com um sistema h´brido centralizado/distribu´do.figura 5
   a                       ı                           ı




                       Figura 5: Robˆ s utilizados na Small Size League.
                                    o


    As equipes s˜ o formadas por no m´ ximo cinco robˆ s. Eles possuem 18 cm de diˆ metro e
                a                    a               o                            a
n˜ o s˜ o maiores que 15 cm de altura. Os robˆ s jogam com uma bola de golfe laranja em um
 a a                                         o
campo verde de dimens˜ es de 605 cm de comprimento por 405 cm de largura (SMALL SIZE LEAGUE,
                     o
2011). figura 6




                            Figura 6: Campo oficial da SSL league.


    Todos os objetos no campo s˜ o controlados por um sistema de vis˜ o padronizado que pro-
                               a                                    a
cessa os dados fornecidos pelas duas cˆ meras que est˜ o ligados a uma barra de cˆ mera locali-
                                      a              a                           a
                                                                ´
zada 4 m acima do campo. O sistema de vis˜ o chamado SSL-Vision e um projeto open source
                                         a
mantido pela comunidade da liga (SMALL SIZE LEAGUE, 2011).
20


   Soccer Simulation League

   Nesta categoria n˜ o h´ robˆ s reais em cena. Jogadores virtuais e independentes (agentes)
                    a a       o
jogam futebol num campo virtual dentro de um computador. H´ duas subligas: 2D e 3D (STAN-
                                                          a
DARD PLATFORM SOCCER, 2011).figura 7




                 Figura 7: Tela de uma partida Soccer Simulation League 2D.


   Soccer Standard Platform League

                                           o e                   a                   a ´
   Nesta liga todas as equipes utilizam robˆ s idˆ nticos e a vis˜ o omnidirecional n˜ o e permi-
tida. O campeonato substituiu o Four-Legged League, baseada em robˆ s c˜ es AIBO da Sony,
                                                                  o a
        ´
e agora e baseada em human´ ides Aldebaran de Nao (STANDARD PLATFORM SOCCER,
                          o
2011).
21




4   TRACKER




              ´
    O Tracker e um software open source licenciado sobre os termos de GNU General Public
License para an´ lise e modelagem de v´deos. Foi projetado por Douglas Brown com o objetivo
               a                      ı
de auxiliar no estudo da F´sica (TRACKER, 2011). Esta ferramenta pode ser utilizada em
                          ı
              ¸˜                                                                    ´
diversas situacoes onde se queira analisar o movimento de objetos no tempo. Com ele e poss´vel
                                                                                          ı
                         ¸˜
obter gr´ ficos da aceleracao angular e linear, velocidade angular e linear, deslocamento, energia
        a
cin´ tica, momento linear, etc. A figura 8 mostra o gr´ fico do deslocamento de uma bola em
   e                                                 a
   ¸˜
funcao do tempo, obtido com Tracker.




                                                            ¸˜
                   Figura 8: Deslocamento de uma bola em funcao do tempo.


    Para utilizar o Tracker basta gravar um v´deo do(s) objeto (s), em movimento, que se quer
                                             ı
                          ı                        a           ¸˜
analisar e importar este v´deo para o programa. Ent˜ o com a opcao Autotrack obt´ m-se a
                                                                                e
      o                                                          ´
trajet´ ria dos itens selecionados. O diferencial neste software e a eficiˆ ncia em capturar essa
                                                                         e
trajet´ ria. Pode-se tamb´ m obter o trajeto do centro de massa de um sistema formado por
      o                  e
v´ rios objetos. A figura 9 mostra uma trajet´ ria do centro de massa do sistema formado por
 a                                          o
duas part´culas, obtido com Tracker.
         ı

    A partir dos dados coletados, atrav´ s do Autotrack ou manualmente, o Tracker ent˜ o dispo-
                                       e                                             a
                                                             ¸˜
nibiliza tabelas e gr´ ficos com praticamente todas as informacoes referentes ao deslocamento
                     a
                                                                                 ¸˜
da(s) part´cula(s) em estudo. Para fazer o download do Tracker e manual de instrucao do
          ı
22




                            Figura 9: Trajet´ ria do centro de massa.
                                            o


mesmo, basta acessar http://www.cabrillo.edu/ dbrown/tracker/. Recomenda-se sempre veri-
                       ¸˜                         ¸˜
ficar por novas atualizacoes desse software. Nas secoes que seguem s˜ o descritos todos os
                                                                   a
                                    ¸˜                                            ¸˜
procedimentos utilizados at´ a obtencao dos dados para as tabelas, gr´ ficos e equacoes de mo-
                           e                                         a
vimento de cada robˆ , empregando o Tracker.
                   o


4.1           ¸˜
       PREPARACAO DO AMBIENTE PARA FILMAGEM


                                              ¸˜                            ´
      Primeiramente, antes de iniciar as gravacoes dos robˆ s em movimento, e feito o ajuste
                                                          o
correto da cˆ mera, de modo que seja poss´vel visualizar todo o campo figura 10. Neste caso, a
            a                            ı
cˆ mera fica posicionada a aproximadamente dois metros acima do centro do campo.
 a




                  Figura 10: Campo de futebol de robˆ s utilizado nas filmagens.
                                                    o


      O uso de uma superf´cie que diminui o reflexo da luz, como o carpete na figura 10, e uma
                         ı
 a                                 e                                        ¸˜ ´
cˆ mera de boa qualidade, de preferˆ ncia acima de oito megapixels de resolucao, e muito im-
                                   ¸˜
portante. Pois, facilita-se a obtencao da trajet´ ria dos robˆ s com uso do Autotrack, ferramenta
                                                o            o
       a                        ¸˜                o                  a              ´
que ser´ melhor detalhada nas secoes seguintes. Ap´ s os ajustes de cˆ mera e campo e definido
                                                                                      ´
um referencial m´ trico, como o mostrado no canto superior esquerdo da figura 11. Este e fu-
                e
turamente configurado no Tracker. O software define uma medida, relacionando a quantidade
23


                                                          ¸˜
de pixels ao valor aferido para o objeto. Para a determinacao deste referencial recomenda-se
o uso de algum objeto como, por exemplo, uma r´ gua de um metro ou mesmo marcas sobre o
                                              e
campo. O valor aferido ao objeto ser´ futuramente configurado no Tracker. Pois, este define
                                    a
uma medida, relacionando a quantidade de pixeis ao valor aferido para o objeto. No caso da
                                                                              ´
figura 11, o valor de 8.820E-1 significa que a medida entre os extremos da seta e de 0,882
metros.




                                 e                                 ´
      Figura 11: Um referencial m´ trico, canto superior esquerdo, e utilizado ao filmar os robˆ s.
                                                                                              o



4.2                     ˆ
        FILMAGEM DOS ROBOS EM MOVIMENTO


                ´
      A cˆ mera e, preferencialmente, conectada a um computador onde as imagens capturadas
         a
                                 ´                               ¸˜
s˜ o armazenadas. Desta maneira, e poss´vel parar e iniciar gravacoes sem a necessidade de
 a                                     ı
mexer na filmadora j´ devidamente ajustada. Para isso, utiliza-se um software de captura e
                   a
       ¸˜
reproducao de v´deos como, por exemplo, o Xuggle (programa usado pelo Tracker para an´ lise
               ı                                                                     a
e modelagem de v´deos). Observa-se tamb´ m, a facilidade em administrar os arquivos de v´deo
                ı                      e                                                ı
quando estes s˜ o armazenados, em tempo real, no computador.
              a

                            o ´
      Para a filmagem dos robˆ s, e ideal que se reproduza o mesmo movimento por no m´nimo
                                                                                    ı
                                                  ¸˜
trˆ s vezes. Pois, geralmente ocorre pequena variacao no percurso de cada um deles. Fazendo
  e
isto, pode-se escolher um trajeto no qual o robˆ tende a reproduzir com mais frequˆ ncia. Nos
                                               o                                  e
experimentos deste projeto, foi repetido por quatro vezes cada movimento (movimento linear e
angular para a direita e esquerda) dos robˆ s 03, 07, 08 e robˆ 10. O robˆ 04 n˜ o foi filmado de-
                                          o                   o          o     a
vido a este estar com problemas. Cada ente rob´ tico foi acionado por meio de um computador.
                                              o
          ¸˜                  o ´
A comunicacao deste com os robˆ s e feita atrav´ s de ondas de r´ dio FM. Para determinar em
                                               e                a
                                      ´
que sentido cada robˆ deve dirigir-se e utilizado software de controle instalado no computador
                    o
em quest˜ o.
        a
24


4.3           ¸˜
        DISTORCOES NAS MEDIDAS


      Foram realizadas medidas do campo filmado e comparado com as medidas, deste campo,
obtidas com o Tracker (figura 12). Observou-se ent˜ o, exceto no centro, algumas diferencas.
                                                 a                                     ¸
                            ¸˜
Isso ocorre devido as distorcoes causadas pela lente da filmadora. Quanto mais longe do centro
               ´            ¸˜
do campo maior e essa distorcao. Por exemplo, o comprimento real das linhas laterais do campo
´
e de 232,5 cm, enquanto que com o Tracker foi obtido uma medida de 224,4 cm. Pode-se
verificar outras medidas na figura 12.

                   ¸    a                             ¸˜
      Essas diferencas n˜ o foram levadas em consideracao. Por´ m, para minimizar este pro-
                                                              e
                                                           ´                     ¸˜ ´
blema, foram coletadas imagens dos robˆ s em movimento nas areas onde esta distorcao e me-
                                      o
nor ou praticamente nula. Por exemplo, para a captura do movimento angular os robˆ s foram
                                                                                 o
mantidos pr´ ximos ao c´rculo central do campo.
           o           ı




                  Figura 12: Campo de futebol de robˆ s utilizado nas filmagens.
                                                    o



4.4          ¸˜
        OBTENCAO DOS DADOS UTILIZANDO O TRACKER

4.4.1            ¸˜
         Configuracao Inicial

                       a             ı                      ´
      Para iniciar a an´ lise de um v´deo, o primeiro passo e carregar o v´deo, fazendo uma
                                                                          ı
importacao deste atrav´ s do comando import, localizado no menu file → import → video
       ¸˜             e
25




               Figura 13: Comando import localizado em file → import → video.


    Para an´ lise e modelagem dos v´deos o Tracker utiliza o Xuggle, software open source que
           a                       ı
”lˆ ”diversos formatos de arquivos de v´deo, inclusive AVI E MPG (j´ incluso no pacote de
  e                                    ı                           a
       ¸˜                                  ¸˜
instalacao do Tracker 4.0). Ap´ s a importacao do v´deo deve-se configurar o intervalo a ser
                              o                    ı
analisado. Isto e feito, definindo o frame inicial e final. Ao clicar no ´cone Clip Settings (´cone
                ´                                                      ı                    ı
de v´deo indicado pela flecha na figura 14) uma janela, Clip Settings, para os ajustes do v´deo
    ı                                                                                    ı
´
e aberta. Na primeira e terceira caixas de di´ logo, Start frame e End frame, define-se o frame
                                             a
inicial e o frame final, respectivamente.




                               Figura 14: Comando Clip Settings.


    Na caixa de di´ logo Step size determina-se a quantidade de frames que o programa deve
                  a
                    ¸˜                               ´
”pular”em cada iteracao, sendo o padr˜ o 1. Em Frame e mostrado a taxa de frames por segundo,
                                     a
                                         a ´
a ser considerado, sendo que o valor padr˜ o e o m´ ximo determinado pelo equipamento de fil-
                                                  a
                                         ¸˜
magem. Na sequˆ ncia, determina-se a relacao entre quantidade de pixels e unidades de medida,
              e
26


como cent´metros, metros, polegadas, etc. Para isto, basta clicar no ´cone (figura 15) ao lado
         ı                                                           ı
do ´cone de v´deo e escolher, preferencialmente, Calibration Tape. Ent˜ o uma seta com duas
   ı         ı                                                        a
       ´
pontas e mostrado. Os extremos da seta s˜ o fixados de acordo com o referencial m´ trico esco-
                                        a                                       e
lhido (discutido anteriormente), arrastando-se a flecha ou qualquer uma de suas pontas. Ap´ s,
                                                                                         o
define-se a medida de um extremo ao outro (metros, cent´metros ou qualquer outra unidade de
                                                      ı
medida) clicando no centro da seta ou pela caixa de di´ logo length.
                                                      a




                              Figura 15: Comando Calibration Tape.


        ´                                  ´
      O ultimo referencial a ser verificado e o sistema de coordenadas cartesianas. Para configur´ -
                                                                                               a
lo e necess´ rio clicar no ´cone mostrado na figura 16. Ap´ s isto, o sistema de coordenadas fica
   ´       a               ı                             o
                                     a       e       ¸˜
vis´vel, podendo-se em seguida arrast´ -lo at´ a posicao referenciada como origem ou at´ mesmo
   ı                                                                                   e
            ˆ                          ´
alterar seu angulo. Um ponto de origem e definido, arrastando-se o sistema de coordenadas. Da
             ´                                ˆ
mesma forma, e poss´vel, inclusive, alterar o angulo do sistema.
                   ı


4.5        ¸˜                           ¸˜
       CRIACAO DO PONTO DE MASSA E OBTENCAO DOS DADOS MANUAL E AU-
       TOMATICAMENTE


                      ¸˜                                                              ´
      Ap´ s a configuracao inicial, deve-se criar um novo Ponto de Massa. Este m´ todo e utilizado
        o                                                                      e
para an´ lise individual de objetos em movimento (se for necess´ rio analisar o movimento de um
       a                                                       a
                                            ¸˜
sistema de part´culas, pode-se utilizar a opcao Centro de Massa, abaixo de Point of Mass). Para
               ı
criar o Ponto de Massa (figura 17) deve-se clicar no menu Tracks → New → Point of Mass.
Logo ap´ s, a janela Track Control torna-se vis´vel, sendo ent˜ o poss´vel determinar a trajet´ ria
       o                                       ı              a       ı                       o
do Ponto de Massa mencionado.

      ´       a                                        o                         ´
      E necess´ rio, agora, relacionar o trajeto do robˆ ao Ponto de Massa. Isto e poss´vel fazer
                                                                                       ı
27




                        Figura 16: Sistema de coordenadas cartesianas.




                                       ¸˜
                        Figura 17: Criacao de um novo Ponto de Massa.


tanto manual quanto automaticamente. Para obter o percurso do robˆ manualmente, coloca-
                                                                 o
        o        ¸˜
se o robˆ na posicao inicial e ent˜ o com a tecla Shift pressionada clica-se, utilizando o bot˜ o
                                  a                                                           a
                                        o          o                     ´
esquerdo do mouse, sobre o centro do robˆ . Logo ap´ s, o frame seguinte e mostrado. Essa
     ¸˜                               ¸˜
operacao deve ser repetida at´ a obtencao do trajeto total desejado. Para obter o percurso au-
                             e
tomaticamente, deve-se clicar sobre o novo Ponto de Massa criado, item destacado na Janela
Track Control (figura 18). Nesta etapa determina-se automaticamente o trajeto do robˆ . Em
                                                                                   o
28


                                   ´
seguida, uma janela do Autotracker e aberta, sendo necess´ rio clicar sobre o robˆ para iniciar a
                                                         a                       o
        ¸˜
configuracao.




                                      ¸˜
                   Figura 18: Configuracao do Novo Ponto de Massa Criado.


    A aba Template, na janela Autotracker (figura 19), define a imagem a ser capturada em cada
          ı         ı      ´
frame de v´deo. Um c´rculo e disponibilizado para selecionar o objeto a ser capturado. Para um
                                                                              ´
melhor desempenho recomenda-se envolver, com esse c´rculo, apenas uma pequena area com
                                                   ı
maior contraste no objeto, como o que foi feito com o robˆ da (figura 19) . A barra Evolution
                                                         o
                                                `
Rate define a rapidez com que Template se adapta a mudanca de forma e cor do objeto com o
                                                       ¸
tempo, sendo 10 % a taxa padr˜ o.
                             a

                                                   ¸˜
    Na aba Target os passos ser˜ o marcados em relacao a Template. O Tracker seleciona o
                               a
centro do c´rculo por padr˜ o (sinal de + no centro da (figura 20). Para alterar basta arrastar, para
           ı              a
qualquer lado, o ponto considerado como ”alvo”.

                  ´
    Na aba Accept e determinado um n´vel de precis˜ o para a captura do movimento. Redu-
                                    ı             a
zindo o valor da barra Accept Scores Above aumenta a probabilidade de erros. Recomenda-se
                                   ´
utilizar o padr˜ o do software que e de quatro unidades.
               a

                 ´                             ´                                     ´
    A aba Search e utilizada para determinar a area de procura do objeto. Nesta guia e dispo-
                 a                                  ´
nibilizado um retˆ ngulo tracejado para delimitar a area de procura. Esse retˆ ngulo deve ter em
                                                                             a
m´ dia o tamanho do objeto procurado. A cada frame seguinte, o Tracker tenta atualizar essa
 e
´                        ¸˜
area de acordo com a posicao atual do objeto. Para melhorar a busca, recomenda-se demarcar o
                                                                    ¸˜
campo com, aproximadamente, as dimens˜ es do objeto. A caixa de selecao Look Ahead deve
                                     o
29




       Figura 19: Aba Template define a imagem a ser capturada em cada frame de v´deo.
                                                                                ı




Figura 20: A aba Target determina um ”alvo”como o ponto principal a ser capturado em cada
frame.

estar assinalada.

    Feito os devidos ajustes, pode-se agora determinar a trajet´ ria do robˆ , clicando no bot˜ o
                                                               o           o                  a
                               ´
Search (figura 22). Na figura 23 e mostrada a trajet´ ria de um robˆ obtida com o Autotracker.
                                                  o              o
Clicando sobre os ´cones de velocidade ou aceleracao (´cones envolvidos pela caixa retangular
                  ı                              ¸˜ ı
                 ´
preta, figura 23) e poss´vel visualizar ou ocultar os respectivos vetores.
                       ı

                                 ´ a
    Para utilizar o Autotracker, e v´ lido lembrar que o v´deo a ser analisado deve ter uma boa
                                                          ı
     ¸˜
definicao e conter imagens n´tidas, como citado anteriormente. Do contr´ rio, recomenda-se
                           ı                                          a
obter manualmente o percurso do robˆ .
                                   o
30




  Figura 21: Na aba Accept determina-se um n´vel de precis˜ o para a captura do movimento.
                                            ı             a




                            ´                                                      ´
Figura 22: Na aba Search e disponibilizado um retˆ ngulo tracejado para demarcar a area de
                                                     a
procura. Esse retˆ ngulo deve ter em m´ dia o tamanho do objeto procurado.
                 a                    e


4.6                     ¸˜
       PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO LINEAR


      Para obter o percurso do robˆ em movimento linear basta seguir os passos citados at´ aqui.
                                  o                                                      e
31




                            ´                             ¸˜
                 Figura 23: Icones de velocidade e acelaracao dentro do retˆ ngulo.
                                                                           a


4.7                     ¸˜
       PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO ANGULAR


                  ¸˜
      Para a obtencao dos dados com movimento angular, al´ m dos procedimentos j´ citados,
                                                         e                      a
deve-se fixar o referencial, para o sistema de coordenadas, no centro do ente rob´ tico, fazendo
                                                                                o
com que a origem do sistema acompanhe o centro do robˆ em movimento. Ou seja, a origem
                                                     o
do sistema de coordenadas acompanha o centro do robˆ em movimento. (figura 24).
                                                   o

      Para este procedimento deve-se criar um segundo Ponto de Massa, no qual seu percurso
acompanha o centro do robˆ . Logo ap´ s, pode-se determinar o ponto de referˆ ncia para o plano
                         o          o                                       e
cartesiano atrav´ s do menu Coordinate System → Reference Frame, onde e poss´vel escolher o
                e                                                     ´     ı
Ponto que acompanha o centro como referˆ ncia (figura 25).
                                       e


4.8    DADOS


    Ap´ s criar a trajet´ ria dos movimentos, o Tracker disponibiliza diversas tabelas e gr´ ficos
       o                o                                                                  a
                                        `
dos dados (canto direito), (figura 26). A direita s˜ o mostrados o gr´ fico e tabela gerados pelo
                                                   a                 a
Tracker a partir do deslocamento do robˆ , Neste projeto foram utilizados apenas os relacionados
                                       o
                                        ¸˜
ao deslocamento linear e angular em relacao ao tempo. Para obter dados referentes a outras
vari´ veis, basta clicar em Table no canto superior esquerdo da tabela e selecionar os itens.
    a

                                          ¸˜
      Seguindo o procedimento citado na secao anterior foram obtidos dados, dos quais utiliza-
                  ¸˜
mos para a construcao das tabelas 1 e 2, abaixo. Os dados mostrados s˜ o para os robˆ s 03, 07,
                                                                     a              o
32




                            Figura 24: Robˆ em movimento angular.
                                          o




                        ¸˜
     Figura 25: Configuracao para o sistema de coordenadas acompanhar o centro do robˆ .
                                                                                    o


08 e 10. O robˆ 04 n˜ o foi filmado devido a este apresentar problemas.
              o     a

                                                               `      ¸˜
    Os dados relativo ao movimento linear constante referem-se a variacao de deslocamento
dos momentos em que o robˆ inicia o movimento com velocidade constante at´ o momento
                         o                                               e
                                      ¸˜
anterior a este iniciar sua desaceleracao.

           ¸˜                                                   ¸˜
    Em relacao ao movimento linear inicial, levamos em consideracao apenas a trajet´ ria entre
                                                                                   o
      ¸˜                       ¸˜
a posicao de repouso at´ a posicao em que o robˆ atinge a velocidade constante.
                       e                       o
33




                    Figura 26: Tabelas e gr´ ficos exibidos no canto direito da tela.
                                           a

                                 Tabela 1: Dados para Movimento Linear.
                              MOVIMENTO LINEAR                                 MOVIMENTO LINEAR INICIAL
             Aceleracao em Y (m/s2 ) Velocidade constante em X (m/s)
                    ¸˜                                                 Aceleracao em Y (m/s2 ) Aceleracao em X (m/s2 )
                                                                              ¸˜                      ¸˜
   Robˆ 3
       o             0,8859                      0,0574                        0,0330                  0,7152
   Robˆ 7
       o             0,1241                      1,5835                        0,1636                  1,5938
   Robˆ 8
       o              0,154                      1,7789                        0,0676                  1,0932
   Robˆ 10
      o              0,2734                       1,674                        0,3194                   1,718



                                                              `      ¸˜
    Os dados relativo ao movimento angular inicial referem-se a variacao de deslocamento
angular dos momentos em que o robˆ inicia o movimento com velocidade constante at´ o mo-
                                 o                                               e
                                            ¸˜
mento anterior a este iniciar sua desaceleracao.

           ¸˜                                                    ¸˜
    Em relacao ao movimento angular inicial, levamos em consideracao apenas o deslocamento
                    ¸˜                       ¸˜
angular entre a posicao de repouso at´ a posicao em que o robˆ atinge a velocidade angular
                                     e                       o
constante.

    Utilizando os mesmos dados para criar as tabelas 1 e 2 foram plotados, para o robˆ 08,
                                                                                     o
     a                e                               ¸˜
os gr´ ficos abaixo. Al´ m disso, foram geradas as equacoes de cada movimento (canto inferior
direito de cada figura):
34



                                  Tabela 2: Dados para Movimento Angular
                    MOVIMENTO ANGULAR ESQUERDA                                MOVIMENTO ANGULAR DIREITA
              Torque inicial (rad/s2 ) Velocidade constante (rad/s)   Torque inicial (rad/s2 ) Velocidade constante (rad/s)
    Robˆ 3
        o            32,7286                     10,7878                    -18,8166                     -9,8331
    Robˆ 7
        o            35,8936                     21,0474                    -27,8734                    -18,7874
    Robˆ 8
        o            33,9293                     20,7332                    -30,1496                    -21,0915
    Robˆ 10
       o             59,7220                     22,5444                    -41,1899                    -20,4160




                                                                    ¸˜
Figura 27: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos.
              a
O robˆ rotaciona no sentido hor´ rio com velocidade constante.
     o                         a




                                                                    ¸˜
Figura 28: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos.
              a
O robˆ rotaciona no sentido hor´ rio com torque inicial.
     o                         a
35




                                                                         ¸˜
Figura 29: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos
               a
ao quadrado. Este gr´ fico foi obtido ao linearizar o gr´ fico da figura anterior. O robˆ rotaciona no
                     a                                 a                             o
sentido hor´ rio com torque inicial.
           a




                                                                    ¸˜
Figura 30: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos.
              a
O robˆ rotaciona no sentido anti-hor´ rio com velocidade constante.
     o                              a
36




                                                                    ¸˜
Figura 31: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos.
              a
O robˆ rotaciona no sentido anti-hor´ rio com torque inicial.
     o                              a




                                                                    ¸˜
Figura 32: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos
              a
ao quadrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 31. O robˆ rotaciona no
                        a                             a                        o
sentido anti-hor´ rio com torque inicial.
                a
37




             a                                           ¸˜
Figura 33: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos. O robˆ se
                                                                                        o
                       ¸˜
movimenta com aceleracao inicial.




                                                            ¸˜
Figura 34: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos ao qua-
               a
drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 33. O robˆ se movimenta com
                a                               a                       o
       ¸˜
aceleracao inicial.
38




             a                                           ¸˜
Figura 35: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se
                                                                                        o
movimenta com aceleraca¸ ˜ o inicial.




                                                            ¸˜
Figura 36: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua-
               a
drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 35. O robˆ se movimenta com
                a                               a                       o
       ¸˜
aceleracao inicial.
39




             a                                           ¸˜
Figura 37: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se
                                                                                        o
movimenta com aceleraca¸ ˜ o inicial.




                                                            ¸˜
Figura 38: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua-
               a
drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 37. O robˆ se movimenta com
                a                               a                       o
       ¸˜
aceleracao inicial.
40




             a                                           ¸˜
Figura 39: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos. O robˆ se
                                                                                        o
movimenta com velocidade constante.
41




5   TEWNTA




                      ´
    O software Tewnta e um simulador open source, sob a licenca GNU, com interface gr´ fica
                                                             ¸                       a
                           ¸˜
(figura 40), para a competiccao de Futebol de Robˆ s da categoria SSL, desenvolvido pelo aluno
                                                o
                                                           ¸˜
Gabriel Detoni da UFRGS, utilizando a linguagem de programacao Java. Sua principal fina-
       ´             ¸˜
lidade e prever situacoes reais de jogo. Desta maneira, reduz o tempo no desenvolvimento de
estrat´ gias, por permitir que diferentes t´ ticas de jogo sejam testadas concorrentemente, auxili-
      e                                    a
            ¸˜
ando na reducao do desgaste de hardware ocasionado pelos testes com os robˆ s.
                                                                          o




                        Figura 40: Interface gr´ fica do simulador Tewnta.
                                               a


    Segundo a monografia do semestre 2010.2
                                    ˆ
(APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA, 2011)

    ”O Tewnta trabalha em duas camadas, a primeira atua como Servidor e e respons´ vel pela
                                                                        ´        a
simulacao f´sica e interpretacao das regras do Futebol de Robˆ s. Uma segunda camada atua
      ¸˜ ı                   ¸                               o
como Cliente e nela est˜ o denidas as acoes que devem ser tomadas pelos robˆ s. Para cada um
                       a               ¸˜                                  o
42


dos times h´ uma aplicacao cliente sendo executada. Essas duas camadas s˜ o executadas em
           a           ¸˜                                               a
aplicacooes diferentes que se comunicam atrav´ s de protocolo IP (Internet Protocol).”
      ¸˜                                     e

                                                 ¸˜
    Segue diagrama representativo para a comunicacao e funcionamento do programa figura 41
e figura 42




Figura   41:         Diagrama    de                ¸˜
                                           comunicacao                       (APERFEICOA-
MENTO DO SIMULADOR DE ROBOSˆ TEWNTA, 2011).




                                                                ˆ
Figura 42: Diagrama de fluxo (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA,
2011).
43


5.1        ˜            ´
        VISAO GERAL DO CODIGO


      O c´ digo original est´ dividido em nove pacotes
         o                  a
                                    ˆ
(APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA, 2011)1 :

      br.ufrgs.f180.math

      br.ufrgs.f180.api

      br.ufrgs.f180.api.model

      br.ufrgs.f180.elements

      br.ufrgs.f180.guibr.ufrgs.f180.resources

      br.ufrgs.f180.server

      br.ufrgs.f180.teamcom.cloudgarden.resource

                          ¸˜
      As principais alteracoes realizadas por esta equipe foram criadas, via o pacote br.utfpr.f180.IndependentR
sendo que o c´ digo original modificado, em sua maior parte, foi alterado apenas para que se
             o
          `                        ¸˜
adaptasse as novas classes, sem adicao de funcionalidades novas.


5.2           ¸˜
        ALTERACOERS IMPLEMENTADAS


                                    ¸˜                                              ¸˜
      Visava-se por meio das modificacoes implementadas no c´ digo, a real representacao de
                                                           o
cada um dos quatro robˆ s, em funcionamento, que comp˜ em a equipe de Futebol de Robˆ s da
                      o                              o                              o
                                                          ¸˜
UTFPR. Para tanto, foram-se inseridas as seguintes modificacoes no c´ digo:
                                                                   o


5.2.1          ¸˜
           Criacao de novas propriedades no arquivo Properties

                   ¸˜             ¸˜              `         ¸˜
      Ap´ s a obtencao das informacoes referentes as aceleracoes e velocidades, angular e linear,
        o
                            ¸˜                                     ¸˜
para cada robˆ com a utilizacao do software Tracker (detalhes na secao 4), era necess´ rio inserir
             o                                                                       a
esses valores no c´ digo do Tewnta. O arquivo Properties cont´ m as propriedades referentes ao
                  o                                          e
diversos elementos que comp˜ em o jogo, incluindo o campo, a bola e os robˆ s. No arquivo
                           o                                              o
           ı                          ¸˜
foram inclu´dos os valores das aceleracoes e velocidades para cada robˆ (figura 43).
                                                                      o


      • Pacote

            – com.cloudgarden.resource
  1 Para                 ¸˜
             uma descricao completa dos Pacotes       e   Classes   presentes   no   Tewnta,   acesse
http://dl.dropbox.com/u/12362738/monografia final.pdf
44




                                     Figura 43: Propeties.


   • Arquivo modificado

         – game.properties


          ¸˜
    DESCRICAO

    As propriedades targetVelocityX e targetVelocityY representam as velocidades do robˆ em
                                                                                       o
seu movimento linear, assim como linearAccelerationX e linearAccelerationY representam as
       ¸˜
aceleracoes, respectivamente, nos eixos x e y. A propriedade rotationAcceleration representa a
       ¸˜
aceleracao angular do robˆ , e rotationVelocity sua velocidade angular.
                         o
45


5.2.2       ¸˜
        Criacao da classe IndependentRobot

    Classe para representar qualquer robˆ que tenha seus dados no arquivo game.properties
                                        o
(figura 44 e 45).




                            Figura 44: Classe IndependentRobot.
46




                             Figura 45: Classe IndependentRobot.


          ¸˜
    DESCRICAO O DA CLASSE IndependentRobot

            o                     ı         o                      ¸˜
    Cada robˆ precisa ter caracter´sticas pr´ prias para as aceleracoes linear e angular, para que
esses valores correspondam com o comportamento f´sico real dos robˆ s, os m´ todos: getRo-
                                                ı                 o        e
tationAcceleration() e getAcceleration() foram sobrecritos para que estes retornassem o valor
contido no arquivo game.properties.
47


      O m´ todo getAcceleration() retorna a quem o chamou uma instˆ ncia da classe Vector (pa-
         e                                                        a
cote br.ufrgs.f180.math.Vector), que representa um vetor, contendo componentes no eixo das
abscissas e no eixo das ordenadas. O m´ todo getRotationAcceleration() retorna um double,
                                      e
sendo ent˜ o necess´ rio que este simplesmente retorne o valor contido no arquivo game.properties
         a         a
              ¸˜
para a aceleracao angular do robˆ em quest˜ o.
                                o         a

                   ´
      A velocidade e representada por outra instˆ ncia da classe Vector, protected Vector targetVe-
                                                a
locity, que est´ presente na classe Robot, tendo sido alterado o tipo de encapsulamento deste, de
               a
private para protected, permitindo assim, que classes derivadas tenham acesso a esta vari´ vel.
                                                                                         a
Al´ m de targetVelocity, protected static final double ROBOT MAX VELOCITY e protected
  e
static final double ROBOT MAX FORCE tiveram seus modificadores de acesso alterados de
private para protected com a mesma finalidade (figura 46). Em raz˜ o da estruturac˜ o do c´ digo,
                                                               a                a       o




                               Figura 46: Encapsulamento Alterado.


teve-se que ser criada duas vari´ veis booleanas para especificar se o robˆ est´ em um movimento
                                a                                        o a
linear ou angular, protected boolean isLinearMovement e protected boolean isRotationalMove-
ment, respectivamente, ou em ambos. Aos m´ todos private void linearMovement (double ti-
                                         e
                                                                                     ¸˜
meElapsed) e private void rotationalMovement (double timeElapsed), compete a atualizacao do
movimento do robˆ . O m´ todo public void calculatePosition(double time-Elapsed), da classe
                o      e
Robot, foi sobrescrito para que considerasse apenas movimentos v´ lidos, evitando-se que ao
                                                                a
se dar o comando de andar para o robˆ , este tamb´ m rotacione indevidamente, atualizando em
                                    o            e
              ¸˜
seguida a posicao do robˆ no campo.
                        o


5.3            ¸˜                     ˆ
       ATUALIZACAO DO MOVIMENTO DO ROBO


                     ¸˜         ¸˜
      Para a atualizacao da posicao para os robˆ s da UTFPR, foi necess´ rio alterar o c´ digo para
                                               o                       a                o
que este respondesse corretamente aos comandos de movimentar-se linearmente ou rotacio-
                 `           ¸˜                        ¸˜
nar, pois devido a implementacao original, a representacao do movimento tornava-se imprecisa
quando este era uma instˆ ncia de uma das classes IndependentRobot, fazendo com que o robˆ
                        a                                                                o
rotacionasse quando este deveria apenas mover-se linearmente, ou vice-versa.
48


   • Arquivo Modificado

      br.ufrgs.f180.server.Game

         – M´ todos Alterados
            e
             public void setPlayerRotation(String id, Double force)
             public void setPlayerVelocity(String id, Double x, Double y)

         – M´ todo Criado
            e
             private booleanisUTFPR Robot ( final String id )


      ¸˜
DESCRICAO

                                                                                ¸˜
    O m´ todo isIndependentRobot ( final String id ) visa verificar se a identificacao deste ele-
       e
mento, representada pela String id, corresponde a String identificadora de um robˆ real (fi-
                                                                                o
                                                                       ¸˜
gura 47 isIndependentRobot), caso afirmativo, se o movimento for de rotacao, o m´ todo set-
                                                                               e
PlayerRotation (String id, Double force) (figura 48), chama o m´ todo setIsRotationalMovement
                                                              e
(boolean m) da classe IndependentRobot com o parˆ metro true, indicando que este robˆ est´
                                                a                                   o a
descrevendo um movimento rotacional e o m´ todo setPlayerRotationVelocity(String id, Double
                                         e
                   `                   ¸˜
velocity ) atribui a velocidade de rotacao deste robˆ o valor contido no arquivo game.properties
                                                    o
(figura 49)




                                 Figura 47: isIndependentRobot.


    j´ o m´ todo setPlayerVelocity(String id, Double x, Double y) (figura 50), chama outros dois
     a    e
m´ todos: setIsForwardMoving( boolean m ) da classe IndependentRobot com o parˆ metro true,
 e                                                                            a
indicando o tipo de movimento do robˆ e o m´ todo setTargetVelocity(Vector targetVelocity),
                                    o      e
passando por parˆ metro uma instˆ ncia de Vector, representando a velocidade deste robˆ no
                a               a                                                     o
eixo x e no eixo y.
49




                                       Figura 48: setPlayerRotation.




                                   Figura 49: setPlayerRotationVelocity.


5.3.1   Inicializar Robˆ Correspondente
                       o

                                ¸˜           a ´
    Ao inicializar-se uma simulacao, por padr˜ o, e inicializado uma instˆ ncia da classe Robot
                                                                         a
para representar cada um dos robˆ s competidores. Era necess´ rio alterar o c´ digo para possibi-
                                o                           a                o
litar instanciar objetos2 das classes da classe IndependentRobot.


   • Arquivo Modificado
  2 Objeto             ¸˜            ´           ¸˜
             em Orientacao a Objetos e uma abstracao de entidades reais ou de software.
50




                                Figura 50: setPlayerVelocity.


     br.ufrgs.f180.gui.MainWindow

        – M´ todos Alterados
           e
           public void addRobot(final String id, final double x, final double y, final Team team,
           final double mass, final double radius)

        – M´ todo Criado
           e
           private booleanIsIndependentRobot. ( final String id )


      ¸˜
DESCRICAO

             ¸˜                                ¸˜
    As alteracoes visam verificar se a identificacao deste elemento, representada pela String
                `                           ¸˜
id, corresponde a String definida para a criacao de um robˆ independent (c´ digo 47), em caso
                                                         o               o
afirmativo instancia-se um novo objeto de IndependentRobot (figura addRobot).(c´ digo 51).
                                                                             o
51




Figura 51: addRobot.png.
52




6          ˜
    CONCLUSAO




    O objetivo de fazer com que cada robˆ que comp˜ e a equipe de Futebol de Robˆ s da
                                        o         o                             o
                            ¸˜
UTFPR tivesse uma representacao no simulador foi alcancado, como apresentado no Cap´tulo
                                                      ¸                            ı
5, no qual o m´ todo desenvolvido consiste na an´ lise de v´deos, realizados experimentalmente,
              e                                 a          ı
                                               ¸˜                               ¸˜
por meio do software Tracker. Com estas informacoes, gr´ ficos, tanto para a posicao versus
                                                       a
                   ¸˜
tempo, como da posicao angular versus tempo, foram obtidos com sucesso e, por meio destes
  a                             ¸˜
gr´ ficos, calculou-se as aceleracoes, linear e angular, de cada robˆ , para ent˜ o, implementar
                                                                   o           a
    o                                          ¸˜
no c´ digo fonte do simulador Tewnta as modificacoes necess´ rias para definir cada robˆ da
                                                          a                          o
equipe, em conjunto com os dados calculados. Contudo, encontramos diversas dificuldades du-
rante o projeto, tais como a compreens˜ o do funcionamento do c´ digo, e a forma deste calcular
                                      a                        o
       ¸˜                          ¸˜                                   ¸˜
as posicoes dos elementos da simulacao, e a correta metodologia na obtencao das grandezas
 ı              ¸˜
f´sicas, aceleracoes angular e linear, para cada robˆ via o software Tracker, principalmente com
                                                    o
    ¸˜
relacao ao movimento rotacional. O projeto proporcionou aos integrantes da equipe uma vis˜ o
                                                                                         a
                                        ı                   o                        ¸˜
geral do funcionamento da pesquisa cient´fica. Na pesquisa te´ rica, ao buscar informacoes de
          a                   ¸˜
meios confi´ veis, como publicacoes cient´ficas e peri´ dicos t´ cnicos. J´ na pesquisa pr´ tica,
                                        ı           o        e          a               a
                                                                 ¸˜
realizando experimentos de filmagem de cada robˆ . Entre contribuicoes futuras para o desen-
                                              o
                ı                                             o                           ¸˜
volvimento e aux´lio na pesquisa relacionada ao Futebol de Robˆ s, podemos citar a utilizacao
                                                                     ¸˜
do Tracker, em tempo real, durante uma partida para conseguir informacoes sobre o funcio-
                                 ¸˜
namento dos robˆ s, tanto em relacao a algum problema ocorrido durante a partida para um
               o
robˆ da pr´ pria equipe, quanto a caracter´sticas dos robˆ s advers´ rios, como por exemplo saber
   o      o                               ı              o         a
                               ¸˜
qual robˆ tem uma maior aceleracao; propiciando assim, vantagens para, consequentemente, a
        o
conquista de melhores resultados.
53




                                           ˆ
                                      REFERENCIAS




APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA.    ˆ
Aperfeicoamento do Simulador de Robˆ s Tewnta. 2011.
        ¸                                    o                              Dispon´vel em:
                                                                                  ı
<http://dl.dropbox.com/u/12362738/monografiafinal.pdf>. Acesso em:            10 de Maio de
2011.

FIRA. 2011. Dispon´vel em: <http://www.fira.net/?mid=overview>.
                  ı

GALILEU. Galileu e o Nascimento da Ciˆ ncia Moderna. 2011. Dispon´vel em:
                                                    e                                 ı
<http://efisica.if.usp.br/Mecˆ nica/curioso/historia/galileu/>. Acesso em: 16 de Abril de 2011.
                            a

HALLIDAY DAVID; RESNICK, J. R. Fundamentos de F´sica I. 8. ed. [S.l.: s.n.], 2009.
                                               ı

HUMANOID LEAGUE.              Humanoid      League.     2011.      Dispon´vel
                                                                           ı              em:
<http://wiki.robocup.org/wiki/Humanoid League>. Acesso em: 09 de Abril de 2011.

MIDDLE SIZE LEAGUE.           Middle      Size   League.    2011.    Dispon´vel
                                                                              ı           em:
<http://wiki.robocup.org/wiki/Middle Size League>. Acesso em: 09 de Abril de 2011.

NEWTON. Mecˆ nica. 2011. Dispon´vel em: <http://efisica.if.usp.br/Mecˆ nica/curioso/historia/newton/>.
               a                ı                                   a
Acesso em: 16 de Abril de 2011.

PRELIMINAR,           H.      Hist´ ria
                                   o         Preliminar.        2011.    Dispon´vel
                                                                               ı    em:
<http://efisica.if.usp.br/Mecˆ nica/curioso/historia/preliminar/>. Acesso em: 16 de Abril
                            a
de 2011.

ROBOCUP.       A    Brief    History    of     RoboCup.       2011.   Dispon´vel
                                                                            ı    em:
<http://www.robocup.org/about-robocup/a-brief-history-of-robocup/>. Acesso em: 09 de
Abril de 2011.

ROBOCUP.       Pushing      the     State-Of-The-Art.        2011.   Dispon´vel
                                                                           ı             em:
<http://www.robocup.org/about-robocup/a-brief-history-of-robocup/>. Acesso em:         09 de
Abril de 2011.

ROBOT, S. Soccer robot. 2011. Dispon´vel em: <http://en.wikipedia.org/wiki/Soccerrobot>.
                                    ı
Acesso em: 09 de Abril de 2011.

SMALL SIZE LEAGUE.          Small     Size      League.     2011.     Dispon´vel
                                                                             ı       em:
<http://www.robocup.org/robocup-soccer/small-size/>. Acesso em: 09 de Abril de 2011.

STANDARD PLATFORM SOCCER.                     2011.           Dispon´vel
                                                                    ı         em:
<http://www.robocup.org/robocup-soccer/standard-platform/>. Acesso em: 09 de Abril
de 2011.

TEWNTA. This project is a software simulator for the Robocup Small Size League (SSL)
also known as F180. 2011. Dispon´vel em: <http://code.google.com/p/tewnta/>.
                                ı
54


TIPLER, P. A. F´sica para Cientistas e Engenheiros. 6. ed. [S.l.: s.n.], 2009.
               ı

TRACKER.        What        is     Tracker?                2011.       Dispon´vel
                                                                             ı            em:
<http://www.cabrillo.edu/ dbrown/tracker/>. Acesso em: 16 de Abril de 2011.

VETORES. Vetores. 2011. Dispon´vel em:
                                ı                <http://educar.sc.usp.br/fisica/vetores.html>.
Acesso em: 15 de Abril de 2011.

YOUNG HUGH D.; FREEDMAN, R. A. F. I. F´sica I - Mecˆ nica. 12. ed. [S.l.: s.n.], 2009.
                                      ı            a
55




7       ˆ                 ´             ´
      APENDICE - TEORIAS FISICAS E MATEMATICAS




         ı     ´           e                                              a          u       ´
      A F´sica e uma das ciˆ ncias mais fundamentais, sua aplicabilidade d´ -se em in´ meras areas,
instigando o pensamento racional daqueles que a utilizam, na busca da compreens˜ o da nossa
                                                                               a
     e                                                        ı     ´
existˆ ncia (YOUNG HUGH D.; FREEDMAN, 2009). Um dos ramos da F´sica e a cinem´ tica,
                                                                             a
que lida com as caracter´sticas do movimento, seja sua rapidez para deslocar-se ou a distˆ ncia
                        ı                                                                a
percorrida em um dado intervalo de tempo (TIPLER, 2009).Todas os objetos no mundo est˜ o
                                                                                     a
                                                  ¸˜           ¸˜
em constante movimento devido ao movimento de rotacao e translacao da Terra. adotando o
sol como referencial, qualquer ponto na Terra est´ em movimento (figura 52) (HALLIDAY
                                                 a
                                                              ¸˜
DAVID; RESNICK, 2009). Para descrever movimentos, a diferenciacao entre duas grandezas
faz-se necess´ rio ter o conhecimento:
             a




                                                     ¸˜        ¸˜
                      Figura 52: Movimento de translacao e rotacao terrestre.



7.1    GRANDEZAS ESCALARES


      Ao aferir-se a temperatura em qualquer local do planeta, o valor obtido, seu m´ dulo e
                                                                                    o
                                           ¸˜
unidade de medida, fornece todas as informacoes necess´ rias que se precisa para saber a tem-
                                                      a
peratura neste local. Estas grandezas, que necessitam apenas do conhecimento do m´ dulo e de
                                                                                 o
sua unidade de medida s˜ o conhecidas como grandezas escalares, como exemplo temos: tempo,
                       a
´
area, volume, etc (VETORES, 2011).
56


7.2     GRANDEZAS VETORIAIS


      Para verificar-se o deslocamento de um objeto, n˜ o basta apenas o conhecimento do m´ dulo
                                                     a                                   o
                                               a ´          ¸˜
deste, saber que um corpo deslocou-se 1 metro n˜ o e informacao suficiente para determinar o
                                                                                         ¸˜
ponto em que este objeto estar´ , para este conhecimento, necessita-se de maiores informacoes,
                              a
                ¸˜
como em que direcao se deu este deslocamento e seu sentido (figura 53), grandezas deste tipo
s˜ o conhecidas como grandezas vetoriais, e geralmente s˜ o representados por uma letra com
 a                                                      a
                             ¸˜                   ¸˜
uma flecha em cima A. As definicoes de m´ dulo, direcao e sentido s˜ o as seguintes (VETORES,
                                      o                          a
2011):


      •M´ dulo do vetor - e dado pelo comprimento do segmento em uma escala.
        o                 ´

      •Direcao do vetor - e dada pela reta suporte do segmento.
           ¸˜             ´

      •Sentido do vetor - e dado pela seta colocada na extremidade do segmento.
                          ´




                             Figura 53: Deslocamento de um corpo.


                                                                                  ¸˜
      Para descrever o deslocamento de um corpo, precisa-se do m´ dulo e a orientacao deste,
                                                                o
                                                                              ¸˜
com isso obt´ m-se o vetor deslocamento do corpo, que fornece todas as informacoes acerca do
            e
movimento.


7.2.1    Somas Alg´ bricas
                  e

                                                                             ¸˜
      Representa-se os vetores em termos de suas componentes em todas as direcoes (x, y, z),
                          ´        ¸˜
sendo que cada componente e a projecao de um dos vetores em um eixo. Para determinar a
     ¸˜                     ¸˜
projecao de um vetor em relacao a um eixo traca-se retas perpendiculares ao eixo a partir da
                                             ¸
origem e da extremidade do vetor (HALLIDAY DAVID; RESNICK, 2009). Seja o vetor d
(figura 54), suas componentes que correspondem aos eixos x e y s˜ o, respectivamente, dx e dy.
                                                               a
Para o c´ lculo das componentes utiliza-se:
        a
57




                                                            ¸˜
                  Figura 54: Componentes do vetor d, em relacao aos eixos y e x.


7.2.2    Soma Geom´ trica
                  e

      Dado dois deslocamentos, tendo como vetores a e b (figura 55), pode-se representar o des-
locamento total (independentemente da trajet´ ria seguida) (HALLIDAY DAVID; RESNICK,
                                            o
2009), estabelecendo um terceiro vetor c, com origem coincidindo com a origem de A, que une
A e B, sendo assim, c = a + b.




                                     ¸˜
                Figura 55: Representacao de dois vetores, a e b, e do vetor soma, c.



7.3     ESTUDO DO MOVIMENTO


      N˜ o se pode afirmar com exatid˜ o a origem da Mecˆ nica (estudo do movimento e os con-
       a                            a                  a
                                             ´       ´                                        `
ceitos relacionados de forca e massa), o que e certo e que sua origem est´ intimamente ligada as
                          ¸                                              a
                           ´                                         ¸˜
origens da Astronomia, que e a parte da ciˆ ncia que trata da observacao dos corpos celestes (TI-
                                          e
                              ¸˜
PLER, 2009). Todas as civilizacoes da hist´ ria tiveram interesse pelo movimento dos corpos
                                          o
celestes, seja por raz˜ es religiosas e/ou m´sticas, ou pela simples curiosidade (PRELIMINAR,
                      o                     ı
        ´
2011). E creditada aos eg´pcios a divis˜ o do dia em 24 horas, assim como o ano com 365 dias
                            ı             a
                   ¸˜
com base em observacoes dos astros. Entre grandes cientistas da antiguidade que estudaram o
movimento dos corpos, dois tˆ m destaque:
                            e


      •Galileu Galilei (1564 – 1642) e considerado por muitos o pai da ciˆ ncia moderna, aliando
                                     ´                                   e
               ¸˜                           ¸˜
        observacao experimental com a descricao dos fenˆ menos num contexto te´ rico, com leis
                                                       o                      o
                            ¸˜                                                        ¸˜
        expressas em formulacao matem´ tica. Pode-se dizer que Galileu marcou a transicao da
                                     a
58


                                    e           ı                            ¸˜
 filosofia natural da Antiguidade ao m´ todo cient´fico atual. Ele deu contribuicoes signifi-
 cativas para o conhecimento do movimento, dentre elas:

     –Movimento Uniforme: Galileu teceu importantes consideracoes sobre o movimento
                                                             ¸˜
                                   ¸˜
      uniforme, com base em observacoes formulou o chamado princ´pio da relatividade
                                                                ı
      de Galileu que estabelece que as leis f´sicas s˜ o as mesmas para observadores em
                                             ı       a
      movimento relativo uniforme, quando o espaco e o tempo s˜ o considerados inde-
                                                ¸             a
      pendentes entre si e absolutos.

     –Movimento de Proj´ teis: com uma s´ rie de estudos, estabeleceu as equacoes b´ sicas
                       e                e                                    ¸˜    a
      do movimento uniformemente acelerado (GALILEU, 2011).

•Isaac Newton: Newton revolucionou a ciˆ ncia com sua teoria sobre o movimento. Ele
                                       e
                      a                           a                     ¸˜
 desenvolveu as leis b´ sicas do movimento (da dinˆ mica) e a da gravitacao e estabeleceu
 a universalidade das leis f´sicas. Em sua obra publicada em 1687, com o t´tulo “Philo-
                            ı                                             ı
 sophiae Naturalis Principia Mathematica” (Princ´pios Matem´ ticos da Filosofia Natural),
                                                ı          a
 enunciou as trˆ s leis fundamentais da Mecˆ nica. Nessa obra, Newton procura como o
               e                           a
                                       ı          a                ¸˜
 nome da obra antecipa aplicar os princ´pios matem´ ticos na descricao dos fenˆ menos
                                                                              o
 naturais relacionados ao movimento, agora de uma forma geral. Os “Principia” se tor-
 naram um texto cl´ ssico da Mecˆ nica e a teoria de Newton, um paradigma de teoria em
                  a             a
  ı                                               ¸˜
 F´sica. Newton apresenta, em sua obra, oito definicoes b´ sicas para o entendimento do
                                                        a
 movimento:

     –A quantidade de mat´ ria e a medida da mesma, resultando da densidade e do volume
                         e ´
      conjuntamente.

     –A quantidade de movimento e a medida do mesmo, resultando da velocidade e da
                                ´
      quantidade de mat´ ria conjuntamente.
                       e

     –A vis insita ou forca inata da mat´ ria e um poder de resistˆ ncia, pelo qual cada
                         ¸              e ´                       e
      corpo, por quanto de si depender, continua no seu estado presente, seja de repouso
                                                                 ´
      ou de movimento para diante em linha reta. Essa vis insita e tamb´ m chamada de
                                                                       e
      forca de in´ rcia (vis inertiae).
         ¸       e

     –Uma forca impressa e uma acao exercida sobre um corpo para mudar seu estado de
             ¸           ´      ¸˜
      repouso ou de movimento uniforme em linha reta. Essa forca s´ existe enquanto
                                                              ¸ o
              ¸˜
      dura a acao.

     –Uma forca centr´fuga e a que atrai ou impele ou, de qualquer modo, faz tender os
             ¸       ı     ´
      corpos para um centro.
59


      –A quantidade absoluta de uma forca centr´fuga e a medida da mesma, proporcional
                                       ¸       ı     ´
       `
       a eficiˆ ncia da causa que a propaga do centro pelo espaco em redor.
             e                                                ¸

      –A quantidade aceleradora de uma forca centr´fuga e a medida da mesma, proporci-
                                          ¸       ı     ´
            `
       onal a quantidade de velocidade que gera num tempo dado.

      –A quantidade motora de uma forca centr´fuga e a medida da mesma, proporcional
                                     ¸       ı     ´
       ao movimento que gera num tempo dado (NEWTON, 2011).


  o                            ¸˜
Ap´ s enunciar estas oito definicoes, Newton exp˜ e suas leis:
                                               o


•1o Lei de Newton : Se nenhuma forca resultante atua sobre um corpo (Fres= 0), sua
                                  ¸
             a                                 a                      ¸˜
 velocidade n˜ o pode mudar, ou seja, o corpo n˜ o pode sofrer aceleracao (HALLIDAY
                                         e ´
 DAVID; RESNICK, 2009). Esta lei que tamb´ m e conhecida como Princ´pio da In´ rcia,
                                                                   ı         e
 exprime que se um corpo esta em movimento, este corpo tende a manter-se em movimento
                       ˆ
 (figura 56). Quando um onibus freia repentinamente, seus passageiros tendem a manter-se
                               ˆ
 na mesma velocidade com que o onibus estava deslocando-se




                     Figura 56: Efeito da primeira Lei de Newton.


•2o Lei de Newton : A forca resultante que age sobre um corpo e igual ao produto da
                         ¸                                    ´
                                ¸˜
 massa do corpo pela sua aceleracao (HALLIDAY DAVID; RESNICK, 2009).


                                         Fres = ma                                (10)

 Percebe-se que tomando-se a=0, obt´ m-se F= 0, que condiz com o fato de que se o corpo
                                   e
 n˜ o est´ acelerado, ele tende a se manter no seu estado atual.
  a      a
60


•3o Lei de Newton : Quando dois corpos interagem, as forcas que cada corpo exerce sobre
                                                        ¸
 o outro s˜ o sempre iguais em m´ dulo e tˆ m sentidos opostos (HALLIDAY DAVID; RES-
          a                     o         e
 NICK, 2009).

Integração do Tracker ao Tewnta: A Física no Futebol de Robôs

  • 1.
    ´ ´ UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA ˆ ˆ ´ DEPARTAMENTOS ACADEMICOS DE ELETRONICA E INFORMATICA ¸˜ CURSO DE ENGENHARIA DE COMPUTACAO AGNALDO CESAR COELHO ´ ANDRE LUIZ CONSTANTINO BOTTA LEANDRO ALVES DOS SANTOS ¸˜ ´ INTEGRACAO DO TRACKER AO TEWNTA: A FISICA NO ˆ FUTEBOL DE ROBOS ˜ PROJETO DE TRABALHO - VERSAO 0.2 - MONOGRAFIA 11A 29/06/2011 CAMPUS CURITIBA 2011
  • 2.
    AGNALDO CESAR COELHO ´ ANDRE LUIZ CONSTANTINO BOTTA LEANDRO ALVES DOS SANTOS ¸˜ ´ INTEGRACAO DO TRACKER AO TEWNTA: A FISICA NO ˆ FUTEBOL DE ROBOS ` Este Projeto foi apresentado a Unidade Curricular ¸˜ de Oficina de Integracao 1 do Curso de Engenharia ¸˜ de Computacao da Universidade Tecnol´ gica Fede- o ¸˜ ral do Paran´ como requisito para aprovacao. a Orientador: Jo˜ o Alberto Fabro a Co-orientador: Nestor Cortez Savedra Filho CAMPUS CURITIBA 2011
  • 3.
    ¸˜ Integracao do Tracker ao Tewnta: A F´sica no Futebol de Robˆ s ı o Agnaldo Cesar CoelhoAndr´ Luiz Constantino Botta Leandro Alves dos Santos e Autor da imagem da capa: Rafael Jaime Sunyˆ Guinart e
  • 4.
    RESUMO Agnaldo Cesar Coelho;Andr´ Luiz Constantino Botta; Leandro Alves dos Santos. Integracao e ¸˜ do Tracker ao Tewnta: A F´sica no Futebol de Robˆ s. 60 f. Projeto de Trabalho - Vers˜ o 0.2 - ı o a ¸˜ Monografia 11a 29/06/2011 – Curso de Engenharia de Computacao, Universidade Tecnol´ gica o Federal do Paran´ . Campus Curitiba, 2011. a Pretende-se neste projeto aperfeicoar o software simulador de Futebol de Robˆ s Tewnta, para ¸ o que o mesmo possa, da forma mais fiel poss´vel, representar as caracter´sticas e comportamen- ı ı a ¸˜ tos, tais como velocidade m´ xima, aceleracao e torque de cada robˆ simulado, quando compa- o ´ rado ao comportamento f´sico real. Para isso, e utilizado o software Tracker como ferramenta ı b´ sica para a obtenca a ¸ ˜ o de dados. Palavras-chave: Simulacao, Futebol de Robˆ s, Tewnta, Tracker ¸˜ o Areas de Conhecimento:
  • 5.
    AGRADECIMENTOS Agradecemos aos professores orientadores Jo˜ o Alberto Fabro e Nestor Cortez Saavedra a Filho por terem nos auxiliado durante todo o projeto. Ao aluno Leonardo Pressoto Oliveira ¸˜ pela contribuicao ao dividir conosco seus conhecimentos a respeito do Tracker. Aos alunos Geison Dartora e Matheus Ara´ jo por nos auxiliarem, principalmente, no inicio deste projeto. u ¸˜ E tamb´ m aos professores da disciplina de Oficinas de Integracao: Arandi Ginane Bezerra e J´ nior, Andr´ Fabiano Steklain e Luiz Ernesto Merkle por nos ensinarem como proceder na u e ¸˜ realizacao de pesquisa cient´fica e na escrita de uma monografia. ı
  • 6.
    LISTA DE FIGURAS ¸˜ ¸˜ FIGURA 1 – VARIACAO DA POSICAO DE UM OBJETO EM FUNCAO DO TEMPO. 13 ¸˜ ´ ´ FIGURA 2 – METODO PARA O CALCULO DA VELOCIDADE INSTANTANEA (TI- ˆ PLER, 2009). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 FIGURA 3 – LIGA INFANTIL - HUMANOID LEAGUE KIDSIZE. . . . . . . . . . . . . . . . . 18 FIGURA 4 – MIDDLE SIZE LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 ˆ FIGURA 5 – ROBOS UTILIZADOS NA SMALL SIZE LEAGUE. . . . . . . . . . . . . . . . . . 19 FIGURA 6 – CAMPO OFICIAL DA SSL LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 FIGURA 7 – TELA DE UMA PARTIDA SOCCER SIMULATION LEAGUE 2D. . . . . 20 FIGURA 8 – DESLOCAMENTO DE UMA BOLA EM FUNCAO DO TEMPO. . . . . . 21 ¸˜ ´ FIGURA 9 – TRAJETORIA DO CENTRO DE MASSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ˆ FIGURA 10 – CAMPO DE FUTEBOL DE ROBOS UTILIZADO NAS FILMAGENS. 22 ´ FIGURA 11 – UM REFERENCIAL METRICO, CANTO SUPERIOR ESQUERDO, E ´ ˆ UTILIZADO AO FILMAR OS ROBOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 FIGURA 12 – CAMPO DE FUTEBOL DE ROBOS ˆ UTILIZADO NAS FILMAGENS. 24 FIGURA 13 – COMANDO IMPORT LOCALIZADO EM FILE → IMPORT → VIDEO. 25 FIGURA 14 – COMANDO CLIP SETTINGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 FIGURA 15 – COMANDO CALIBRATION TAPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 FIGURA 16 – SISTEMA DE COORDENADAS CARTESIANAS. . . . . . . . . . . . . . . . . . . . 27 ¸˜ FIGURA 17 – CRIACAO DE UM NOVO PONTO DE MASSA. . . . . . . . . . . . . . . . . . . . . . 27 ¸˜ FIGURA 18 – CONFIGURACAO DO NOVO PONTO DE MASSA CRIADO. . . . . . . . 28 FIGURA 19 – ABA TEMPLATE DEFINE A IMAGEM A SER CAPTURADA EM CADA FRAME DE V´ IDEO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 FIGURA 20 – A ABA TARGET DETERMINA UM ”ALVO”COMO O PONTO PRIN- CIPAL A SER CAPTURADO EM CADA FRAME. . . . . . . . . . . . . . . . . . . . . . 29 FIGURA 21 – NA ABA ACCEPT DETERMINA-SE UM N´ IVEL DE PRECISAO PARA ˜ A CAPTURA DO MOVIMENTO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ´ FIGURA 22 – NA ABA SEARCH E DISPONIBILIZADO UM RETANGULO TRACE- ˆ ´ JADO PARA DEMARCAR A AREA DE PROCURA. ESSE RETANGULO ˆ ´ DEVE TER EM MEDIA O TAMANHO DO OBJETO PROCURADO. . . . 30 FIGURA 23 – ´ ICONES DE VELOCIDADE E ACELARACAO DENTRO DO RETANGULO. 31 ¸˜ ˆ FIGURA 24 – ROBO ˆ EM MOVIMENTO ANGULAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ¸˜ FIGURA 25 – CONFIGURACAO PARA O SISTEMA DE COORDENADAS ACOM- ˆ PANHAR O CENTRO DO ROBO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ´ FIGURA 26 – TABELAS E GRAFICOS EXIBIDOS NO CANTO DIREITO DA TELA. 33 ´ FIGURA 27 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA ˆ ´ NO SENTIDO HORARIO COM VELOCIDADE CONSTANTE. . . . . . . . . . 34 ´ FIGURA 28 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA ˆ ´ NO SENTIDO HORARIO COM TORQUE INICIAL. . . . . . . . . . . . . . . . . . . . 34 ´ FIGURA 29 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS AO QUADRADO. ESTE
  • 7.
    ´ GRAFICO FOI OBTIDO AO LINEARIZAR O GRAFICO DA FIGURA ´ ANTERIOR. O ROBO ˆ ROTACIONA NO SENTIDO HORARIO COM TOR- ´ QUE INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ´ FIGURA 30 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA ˆ ´ NO SENTIDO ANTI-HORARIO COM VELOCIDADE CONSTANTE. . . 35 ´ FIGURA 31 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS. O ROBO ROTACIONA ˆ ´ NO SENTIDO ANTI-HORARIO COM TORQUE INICIAL. . . . . . . . . . . . . . 36 ´ FIGURA 32 – GRAFICO DO MOVIMENTO ANGULAR, EM THETA RADIANOS, ¸˜ COM RELACAO AO TEMPO EM SEGUNDOS AO QUADRADO. ESTE ´ GRAFICO FOI OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. ´ ˆ O ROBO ROTACIONA NO SENTIDO ANTI-HORARIO COM TORQUE ´ INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ´ FIGURA 33 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO ˆ ¸˜ INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ´ FIGURA 34 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI ´ OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE ´ ˆ ¸˜ MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 37 ´ FIGURA 35 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO ˆ ¸˜ INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ´ FIGURA 36 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI ´ OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE ´ ˆ ¸˜ MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 38 ´ FIGURA 37 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS. O ROBO SE MOVIMENTA COM ACELERACAO ˆ ¸˜ INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ´ FIGURA 38 – GRAFICO DO DESLOCAMENTO, EM Y (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS AO QUADRADO. ESTE GRAFICO FOI ´ OBTIDO LINEARIZANDO O GRAFICO DA FIGURA ??. O ROBO SE ´ ˆ ¸˜ MOVIMENTA COM ACELERACAO INICIAL. . . . . . . . . . . . . . . . . . . . . . . . . 39 ´ FIGURA 39 – GRAFICO DO DESLOCAMENTO, EM X (METROS), EM FUNCAO ¸˜ DO TEMPO EM SEGUNDOS. O ROBO ˆ SE MOVIMENTA COM VELO- CIDADE CONSTANTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ´ FIGURA 40 – INTERFACE GRAFICA DO SIMULADOR TEWNTA. . . . . . . . . . . . . . . . 41 ¸˜ FIGURA 41 – DIAGRAMA DE COMUNICACAO (APERFEICOAMENTO DO SIMULADOR DE RO 2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FIGURA 42 – DIAGRAMA DE FLUXO (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEW ˆ 2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FIGURA 43 – PROPETIES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 FIGURA 44 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 FIGURA 45 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 FIGURA 46 – ENCAPSULAMENTO ALTERADO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 FIGURA 47 – ISINDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
  • 8.
    FIGURA 48 – SETPLAYERROTATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 FIGURA 49 – SETPLAYERROTATIONVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 FIGURA 50 – SETPLAYERVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 FIGURA 51 – ADDROBOT.PNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 FIGURA 52 – ¸˜ MOVIMENTO DE TRANSLACAO E ROTACAO TERRESTRE. . . . . . . ¸˜ 55 FIGURA 53 – DESLOCAMENTO DE UM CORPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 FIGURA 54 – COMPONENTES DO VETOR , EM RELACAO AOS EIXOS Y E X. . . ¸˜ 57 FIGURA 55 – ¸˜ REPRESENTACAO DE DOIS VETORES, E , E DO VETOR SOMA, . 57 FIGURA 56 – EFEITO DA PRIMEIRA LEI DE NEWTON. . . . . . . . . . . . . . . . . . . . . . . . . . 59
  • 9.
    LISTA DE TABELAS TABELA1 – DADOS PARA MOVIMENTO LINEAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 TABELA 2 – DADOS PARA MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . 34
  • 10.
    LISTA DE SIGLAS UTFPR Universidade Tecnol´ gica Federal do Paran´ o a SSL Small Size League UFRGS Universidade Federal do Rio Grande do Sul ETL Electro Technical Laboratory IJCAI Conferˆ ncia Internacional de Inteligˆ ncia Artificial e e GNU Genereal Public License
  • 11.
    ´ SUMARIO ¸˜ 1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ¸˜ 1.1 DELIMITACAO DO TEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 O PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 OBJETIVOS ESPEC´ IFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ´ 1.6 METODOS DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ¸˜ ´ 2 INTRODUCAO TEORICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1 MOVIMENTO LINEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1 Velocidade Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Velocidade M´ dia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 13 Velocidade Instantˆ nea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 14 ¸˜ 2.1.2 Aceleracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 Velocidade Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ¸˜ 2.2.2 Aceleracao Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 ROBOCUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ´ 3.1 UMA BREVE HISTORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Categorias RoboCup Soccer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4 TRACKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ¸˜ 4.1 PREPARACAO DO AMBIENTE PARA FILMAGEM . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ˆ 4.2 FILMAGEM DOS ROBOS EM MOVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ¸˜ 4.3 DISTORCOES NAS MEDIDAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ¸˜ 4.4 OBTENCAO DOS DADOS UTILIZANDO O TRACKER . . . . . . . . . . . . . . . . . . . . . . . 24 ¸˜ 4.4.1 Configuracao Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ¸˜ 4.5 CRIACAO DO PONTO DE MASSA E OBTENCAO DOS DADOS MANUAL E ¸˜ AUTOMATICAMENTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ¸˜ 4.6 PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO LINEAR . . . . . . . 30 ¸˜ 4.7 PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO ANGULAR . . . . 31 4.8 DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 TEWNTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ˜ ´ 5.1 VISAO GERAL DO CODIGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ¸˜ 5.2 ALTERACOERS IMPLEMENTADAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ¸˜ 5.2.1 Criacao de novas propriedades no arquivo Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ¸˜ 5.2.2 Criacao da classe IndependentRobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ¸˜ ˆ 5.3 ATUALIZACAO DO MOVIMENTO DO ROBO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.1 Inicializar Robˆ Correspondente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 49 ˜ 6 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ˆ REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ˆ ´ ´ 7 APENDICE - TEORIAS FISICAS E MATEMATICAS . . . . . . . . . . . . . . . . . . . . . . . . 55 7.1 GRANDEZAS ESCALARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
  • 12.
    7.2 GRANDEZAS VETORIAIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.2.1 Somas Alg´ bricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 56 7.2.2 Soma Geom´ trica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 57 7.3 ESTUDO DO MOVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
  • 13.
    10 1 ¸˜ INTRODUCAO 1.1 ¸˜ DELIMITACAO DO TEMA ¸˜ ´ O ambiente de simulacao e amplamente utilizado em ambiente cient´fico. Simulam-se ı o e a ` fenˆ menos da natureza, circuitos el´ tricos e muitos outros desafios que s˜ o propostos a hu- ¸˜ manidade. A simulacao proporciona resultados mais confi´ veis, agilidade nos experimentos, a e a ¸˜ economia de recursos materiais e financeiros, etc. Por´ m tudo est´ condicionado a utilizacao de um software que seja capaz de simular o evento em estudo de forma real e confi´ vel. a Os estudos envolvendo Rob´ tica se encaixam perfeitamente na vantagem de se utilizar um o ¸˜ ¸˜ software de simulacao. Este trabalho esta focado no software de simulacao de Futebol de Robˆ o Tewnta, utilizado na categoria de robˆ s F-180 da RoboCup, assim como no programa Tracker. o Pretende-se mostrar que e poss´vel melhorar o Tewnta atrav´ s dos dados coletados pelo Tracker, ı e tornando assim poss´vel obter como resultado final um simulador que seja capaz de representar ı cada robˆ de forma individual, sabendo que os robˆ s n˜ o apresentam as mesmas caracter´sticas o o a ı de hardware, ou seja, eles respondem de forma diferente ao mesmo comando. Este projeto da continuidade ao trabalho realizado por uma equipe do segundo semestre ¸˜ de 2010 na disciplina de Oficina de Integracao I. A equipe era composta por Matheus Ara´ jo, u Geison Dartora, Mayara Lorenzi e Cristiano Ribas, cujo foco foi melhorar o simulador, por´ m, e ı ´ segundo as caracter´sticas de um unico robˆ . o 1.2 O PROBLEMA o ´ ¸˜ O Futebol de Robˆ s e fonte de inspiracao, leva aos jovens o esp´rito da ciˆ ncia, pois pro- ı e move a interdisciplinaridade, envolvendo pesquisa principalmente em Inteligˆ ncia Artificial, e F´sica e Matem´ tica (FIRA, 2011). ı a A UTFPR trabalha na pesquisa de um time de Futebol de Robˆ s da categoria F-180 da o RoboCup SSL. Para auxiliar no desenvolvimento de estrat´ gias de jogo a UTFPR utiliza o e ´ simulador Tewnta, que e um software open source da SSL, desenvolvido na UFRGS por Gabriel
  • 14.
    11 ¸˜ ¸˜ Girardello Detoni em 2008 (TEWNTA, 2011). No entanto, h´ algumas limitacoes na simulacao a o o ¸˜ dos movimentos dos robˆ s. Cada robˆ possui aceleracoes e velocidades diferentes, tanto linear quanto angular. O Tewnta n˜ o leva em conta essas caracter´sticas, sendo que para uma melhor a ı ¸˜ simulacao esses atributos devem ser considerados. Atrav´ s do Tracker, software open source e para an´ lise e modelagem de v´deos, pode-se coletar esses dados de forma precisa e ent˜ o a ı a adicion´ -los ao Tewnta. a 1.3 OBJETIVOS ´ O objetivo e aperfeicoar o software Tewnta, simulador de Futebol de Robˆ s para a liga ¸ o F-180, para que este reproduza com precis˜ o os movimentos de cada um dos cinco robˆ s que a o comp˜ em a equipe de Futebol de Robˆ s da UTFPR. o o 1.4 OBJETIVOS ESPEC´ IFICOS • Simulacao da aceleracao linear e angular, espec´fica de cada robˆ . ¸˜ ¸˜ ı o • Simulacao da velocidade linear e angular de cada robˆ . ¸˜ o 1.5 JUSTIFICATIVA ´ Duas principais areas do conhecimento est˜ o relacionadas no desenvolvimento deste pro- a a e ¸˜ jeto, sejam elas a inform´ tica atrav´ s de aplicacao no desenvolvimento de software de compu- ¸˜ tador na linguagem de programacao Java, afim de melhorar o simulador de Futebol de Robˆ s o ¸˜ Tewnta, assim como grandezas f´sicas, tais como aceleracao e velocidade, angular e linear. ı ¸˜ ´ Pois, para se ter uma simulacao virtual o mais pr´ xima poss´vel da realidade e preciso levar em o ı ¸˜ consideracao os efeitos de eventos f´sicos. ı 1.6 ´ METODOS DE PESQUISA O m´ todo empregado neste projeto consiste em pesquisa experimental auxiliado pelo soft- e ¸˜ ware Tracker, software este que a partir de v´deos fornece dados como velocidade e aceleracao ı de um ou mais objetos. Para alcancar os objetivos deste projeto s˜ o seguidos os seguintes pas- ¸ a sos: • Coleta de dados dos robˆ s em movimento retil´neo e angular, utilizando uma cˆ mera de o ı a
  • 15.
    12 ı ı ´ v´deo e o software Tracker. O v´deo e importado pelo programa Tracker. Este, por sua ¸˜ vez, fornece informacoes acerca dos movimentos de cada robˆ . o • Criacao de novas classes e m´ todos no c´ digo fonte do Tewnta para insercao dos dados ¸˜ e o ¸˜ no c´ digo fonte afim de representar individualmente os robˆ s. Esses m´ todos reprodu- o o e ı o ¸˜ zem os movimentos caracter´sticos dos robˆ s, levando em consideracao toda e qualquer deficiˆ ncia existente. e • Testes comparativos das aceleracoes e velocidades, angular e linear, de cada robˆ , no ¸˜ o ¸˜ simulador, com as respectivas aceleracoes e velocidades dos robˆ s reais. o
  • 16.
    13 2 ¸˜ ´ INTRODUCAO TEORICA 2.1 MOVIMENTO LINEAR 2.1.1 Velocidade Linear Velocidade M´ dia e ¸˜ ¸˜ ¸˜ Ao representar-se a posicao de um objeto em funcao do tempo ( notacao: x(t), sendo x ¸˜ a posicao e t o tempo), obt´ m-se um gr´ fico (figura 1), que revela com que rapidez o objeto e a se move. V´ rias grandezas est˜ o associadas com a express˜ o “com que rapidez”, entre elas, a a a a ´ velocidade m´ dia, que e a raz˜ o entre o deslocamento e a x e o intervalo de tempo t, durante o qual esse deslocamento ocorre (HALLIDAY DAVID; RESNICK, 2009): x x2 − x1 vmed = = (1) t t2 − t1 ´ A velocidade, assim como o deslocamento, e uma grandeza vetorial, portanto possui um ¸˜ ¸˜ ¸˜ Figura 1: Variacao da posicao de um objeto em funcao do tempo. ¸˜ ´ ¸˜ m´ dulo e uma orientacao. O m´ dulo e o valor absoluto da inclinacao da reta, e um valor posi- o o e ¸˜ tivo para a velocidade m´ dia (e para a inclinacao) significa que a reta est´ inclinada para cima da a ¸˜ esquerda para a direita; um valor negativo para a velocidade m´ dia(e para a inclinacao) significa e
  • 17.
    14 que a retaest´ inclinada para baixo da esquerda para a direita (HALLIDAY DAVID; RESNICK, a 2009). Velocidade Instantˆ nea a ` Analisando o gr´ fico da (figura 2), a medida que considera-se intervalos de tempo sucessiva- a ¸˜ mente menores, iniciando em tp, a velocidade m´ dia para o intervalo se aproxima da inclinacao e da reta tangente em tp. Figura 2: M´ todo para o c´ lculo da velocidade instantˆ nea (TIPLER, 2009). e a a ¸˜ ´ Define-se a inclinacao desta tangente como a velocidade instantˆ nea. Esta tangente e o a x limite da raz˜ o de a t quando t tende a zero (TIPLER, 2009). x dx v = lim = (2) t→0 t dt 2.1.2 ¸˜ Aceleracao ¸˜ Quando a velocidade de uma objeto ou part´cula varia, diz-se que este sofreu uma aceleracao ı ¸˜ (ou foi acelerado) (HALLIDAY DAVID; RESNICK, 2009). A aceleracao m´ dia em um inter- e valo de tempo ´ t e: v v2 − v1 amed = = (3) t t2 − t1
  • 18.
    15 v ¸˜ ´ A acelerecao instantˆ nea e o limite da raz˜ o de a a t quando t tende a zero (TIPLER, 2009). v dv a = lim = (4) t→0 t dt ¸˜ ´ ¸˜ Assim, a aceleracao e a derivada da velocidade v em relacao ao tempo. Como a velocidade ´ ¸˜ ¸˜ ¸˜ ´ e a derivada da posicao x em relacao ao tempo t, a aceleracao e a derivada de segunda ordem de ¸˜ x em relacao a t (HALLIDAY DAVID; RESNICK, 2009). dv d dx d 2 x a= = = 2 (5) dt dt dt dt 2.2 MOVIMENTO ANGULAR ¸˜ Para o movimento rotacional tem-se equacoes an´ logas ao do movimento linear: a 2.2.1 Velocidade Angular ¸˜ ¸˜ Um corpo em rotacao est´ na posicao angular θ1 no instante t1 , e na angular θ2 no instante a t2 . Define-se como velocidade angular m´ dia do corpo no intervalo de tempo e t (YOUNG HUGH D.; FREEDMAN, 2009): θ2 − θ1 θ ω= = (6) t2 − t1 t ´ ¸˜ A velocidade angular (instantˆ nea) ω e o limite da raz˜ o da equacao da velocidade angular a a m´ dia quando e tt tende a zero (YOUNG HUGH D.; FREEDMAN, 2009): θ dθ ω = lim = (7) t→0 t dt 2.2.2 ¸˜ Aceleracao Angular ¸˜ a ´ Se a velocidade angular de um corpo em rotacao n˜ o e constante, o corpo possui uma ¸˜ aceleracao angular. Sejam ω1 e ω2 as velocidades nos instantes t1 e t2, respectivamente. A ¸˜ ¸˜ ´ aceleracao angular m´ dia do corpo em rotacao no intervalo t1 at´ t2 e definida atrav´ s da e e e ¸˜ equacao (8) (YOUNG HUGH D.; FREEDMAN, 2009): ω2 − ω1 ω αmed = = (8) t2 − t1 t
  • 19.
    16 ¸˜ ´ A aceleracao angular (instantˆ nea) α e o limite dessa grandeza quando a t tende a zero (YOUNG HUGH D.; FREEDMAN, 2009): ω dω α = lim = (9) t→0 t dt
  • 20.
    17 3 ROBOCUP ´ E jogado por robˆ s especializados em reproduzir diversos eventos que ocorrem em um jogo o ¸˜ de futebol real. As principais competicoes s˜ o organizadas pela Fira e RoboCup e ocorrem a a cada ano (ROBOT, 2011). 3.1 ´ UMA BREVE HISTORIA Em outubro de 1992 um grupo de pesquisadores japoneses, com o objetivo de discutir pro- blemas desafiadores em inteligˆ ncia artificial, organizou um Workshop na cidade de T´ quio, e o Jap˜ o. Este encontro os levou a crer que seria poss´vel usar o futebol para promover ciˆ ncia e a ı e tecnologia. Ap´ s muitos estudos sobre viabilidade financeira, tecnol´ gica e poss´veis impactos o o ı sociais eles decidiram dar inicio ao futebol de robˆ s, elaborando regras e inclusive desenvol- o o ¸˜ vendo prot´ tipos e sistemas de simulacao. Ap´ s esse encontro em junho 1993, um grupo de o pesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano, decidiu lancar ¸ ¸˜ ¸˜ uma competicao, provisoriamente chamado de Robˆ J-League. Essa competicao teve reper- o cuss˜ o internacional e diversos pesquisadores de outros pa´ses se interessaram na ideia. Devido a ı a isso, eles alteraram o nome do projeto para Robot World Cup Initiative, ”RoboCup”. Pouco tempo depois, Itsuki Noda pesquisador da ETL, desenvolveu um simulador que mais tarde se tornaria o servidor de futebol oficial da RoboCup (ROBOT, 2011). O an´ ncio para realizar a primeira Copa do Mundo de Futebol de Robˆ s foi feita durante u o a (IJCAI-95) IJCAI realizada em Montreal, Canad´ , agosto de 1995. Mas a primeira Copa a oficial de robos ocorre 1997 e foi um sucesso. Mais de quarenta equipes de varias partes do mundo participaram, al´ m disso o n´ mero de espectadores foi maior que cinco mil (ROBOCUP, e u 2011a). Alcancando o Estado da Arte ¸ ¸˜ ´ A intencao dos fundadores da RoboCup e utilizar esta para promover a rob´ tica e pesquisa o em inteligˆ ncia artificial. Para eles, construir um robˆ para jogar futebol em si n˜ o gera impacto e o a
  • 21.
    18 ¸˜ ´ social e econˆ mico significativo, mas a realizacao certamente e considerada como uma grande o conquista do campo (ROBOCUP, 2011b). A RoboCup possui atualmente as seguintes modalidades: RoboCup Rescue, RoboCup@Home, ´ RoboCup Junior e RoboCup Soccer, sendo esta ultima foco de nosso estudo. 3.1.1 Categorias RoboCup Soccer Humanoid League Nesta liga, robˆ s autˆ nomos parecidos com humanos disputam uns contra os outros. Est´ o o a ´ e a categoria mais complexa da RoboCup, pois os robˆ s tem que chutar a bola, ter um andar o a ı e ¸˜ dinˆ mico e correr sem perder o equil´brio, al´ m da necessidade de haver a percepcao visual da bola, por parte deles. Os melhores robˆ s human´ ides do mundo disputam nesta liga (HUMA- o o NOID LEAGUE, 2011). ´ Esta liga e divida em trˆ s subligas: KidSize (pequeno) com medidas 30 cm a 60 cm de e altura, TeenSize (m´ dio) de 100 cm a 120 cm, e AdultSize (grande) de 130 cm ou maior (HU- e MANOID LEAGUE, 2011).figura 3 Figura 3: Liga infantil - Humanoid League KidSize. Middle Size League Robˆ s de tamanho m´ dio n˜ o superior a 50 cm de diˆ metro disputam em equipes de no o e a a m´ ximo seis, com bola de futebol de tamanho regular da FIFA em um campo similar a um a campo de futebol em escala humana. Todos os sensores s˜ o on-board e os robˆ s podem usar a a o rede sem fio para se comunicar (MIDDLE SIZE LEAGUE, 2011).figura 4 Soccer Small Size League Nesta liga se encaixam os robˆ s da UTFPR, o objetivo de pesquisa deste trabalho. Esta o
  • 22.
    19 Figura 4: Middle Size League. ´ categoria de tamanho pequeno ou liga F180, e uma das mais antigas da RoboCup. Incide sobre ¸˜ o problema da cooperacao multi-robot agente inteligente e controle em um ambiente altamente dinˆ mico, com um sistema h´brido centralizado/distribu´do.figura 5 a ı ı Figura 5: Robˆ s utilizados na Small Size League. o As equipes s˜ o formadas por no m´ ximo cinco robˆ s. Eles possuem 18 cm de diˆ metro e a a o a n˜ o s˜ o maiores que 15 cm de altura. Os robˆ s jogam com uma bola de golfe laranja em um a a o campo verde de dimens˜ es de 605 cm de comprimento por 405 cm de largura (SMALL SIZE LEAGUE, o 2011). figura 6 Figura 6: Campo oficial da SSL league. Todos os objetos no campo s˜ o controlados por um sistema de vis˜ o padronizado que pro- a a cessa os dados fornecidos pelas duas cˆ meras que est˜ o ligados a uma barra de cˆ mera locali- a a a ´ zada 4 m acima do campo. O sistema de vis˜ o chamado SSL-Vision e um projeto open source a mantido pela comunidade da liga (SMALL SIZE LEAGUE, 2011).
  • 23.
    20 Soccer Simulation League Nesta categoria n˜ o h´ robˆ s reais em cena. Jogadores virtuais e independentes (agentes) a a o jogam futebol num campo virtual dentro de um computador. H´ duas subligas: 2D e 3D (STAN- a DARD PLATFORM SOCCER, 2011).figura 7 Figura 7: Tela de uma partida Soccer Simulation League 2D. Soccer Standard Platform League o e a a ´ Nesta liga todas as equipes utilizam robˆ s idˆ nticos e a vis˜ o omnidirecional n˜ o e permi- tida. O campeonato substituiu o Four-Legged League, baseada em robˆ s c˜ es AIBO da Sony, o a ´ e agora e baseada em human´ ides Aldebaran de Nao (STANDARD PLATFORM SOCCER, o 2011).
  • 24.
    21 4 TRACKER ´ O Tracker e um software open source licenciado sobre os termos de GNU General Public License para an´ lise e modelagem de v´deos. Foi projetado por Douglas Brown com o objetivo a ı de auxiliar no estudo da F´sica (TRACKER, 2011). Esta ferramenta pode ser utilizada em ı ¸˜ ´ diversas situacoes onde se queira analisar o movimento de objetos no tempo. Com ele e poss´vel ı ¸˜ obter gr´ ficos da aceleracao angular e linear, velocidade angular e linear, deslocamento, energia a cin´ tica, momento linear, etc. A figura 8 mostra o gr´ fico do deslocamento de uma bola em e a ¸˜ funcao do tempo, obtido com Tracker. ¸˜ Figura 8: Deslocamento de uma bola em funcao do tempo. Para utilizar o Tracker basta gravar um v´deo do(s) objeto (s), em movimento, que se quer ı ı a ¸˜ analisar e importar este v´deo para o programa. Ent˜ o com a opcao Autotrack obt´ m-se a e o ´ trajet´ ria dos itens selecionados. O diferencial neste software e a eficiˆ ncia em capturar essa e trajet´ ria. Pode-se tamb´ m obter o trajeto do centro de massa de um sistema formado por o e v´ rios objetos. A figura 9 mostra uma trajet´ ria do centro de massa do sistema formado por a o duas part´culas, obtido com Tracker. ı A partir dos dados coletados, atrav´ s do Autotrack ou manualmente, o Tracker ent˜ o dispo- e a ¸˜ nibiliza tabelas e gr´ ficos com praticamente todas as informacoes referentes ao deslocamento a ¸˜ da(s) part´cula(s) em estudo. Para fazer o download do Tracker e manual de instrucao do ı
  • 25.
    22 Figura 9: Trajet´ ria do centro de massa. o mesmo, basta acessar http://www.cabrillo.edu/ dbrown/tracker/. Recomenda-se sempre veri- ¸˜ ¸˜ ficar por novas atualizacoes desse software. Nas secoes que seguem s˜ o descritos todos os a ¸˜ ¸˜ procedimentos utilizados at´ a obtencao dos dados para as tabelas, gr´ ficos e equacoes de mo- e a vimento de cada robˆ , empregando o Tracker. o 4.1 ¸˜ PREPARACAO DO AMBIENTE PARA FILMAGEM ¸˜ ´ Primeiramente, antes de iniciar as gravacoes dos robˆ s em movimento, e feito o ajuste o correto da cˆ mera, de modo que seja poss´vel visualizar todo o campo figura 10. Neste caso, a a ı cˆ mera fica posicionada a aproximadamente dois metros acima do centro do campo. a Figura 10: Campo de futebol de robˆ s utilizado nas filmagens. o O uso de uma superf´cie que diminui o reflexo da luz, como o carpete na figura 10, e uma ı a e ¸˜ ´ cˆ mera de boa qualidade, de preferˆ ncia acima de oito megapixels de resolucao, e muito im- ¸˜ portante. Pois, facilita-se a obtencao da trajet´ ria dos robˆ s com uso do Autotrack, ferramenta o o a ¸˜ o a ´ que ser´ melhor detalhada nas secoes seguintes. Ap´ s os ajustes de cˆ mera e campo e definido ´ um referencial m´ trico, como o mostrado no canto superior esquerdo da figura 11. Este e fu- e turamente configurado no Tracker. O software define uma medida, relacionando a quantidade
  • 26.
    23 ¸˜ de pixels ao valor aferido para o objeto. Para a determinacao deste referencial recomenda-se o uso de algum objeto como, por exemplo, uma r´ gua de um metro ou mesmo marcas sobre o e campo. O valor aferido ao objeto ser´ futuramente configurado no Tracker. Pois, este define a uma medida, relacionando a quantidade de pixeis ao valor aferido para o objeto. No caso da ´ figura 11, o valor de 8.820E-1 significa que a medida entre os extremos da seta e de 0,882 metros. e ´ Figura 11: Um referencial m´ trico, canto superior esquerdo, e utilizado ao filmar os robˆ s. o 4.2 ˆ FILMAGEM DOS ROBOS EM MOVIMENTO ´ A cˆ mera e, preferencialmente, conectada a um computador onde as imagens capturadas a ´ ¸˜ s˜ o armazenadas. Desta maneira, e poss´vel parar e iniciar gravacoes sem a necessidade de a ı mexer na filmadora j´ devidamente ajustada. Para isso, utiliza-se um software de captura e a ¸˜ reproducao de v´deos como, por exemplo, o Xuggle (programa usado pelo Tracker para an´ lise ı a e modelagem de v´deos). Observa-se tamb´ m, a facilidade em administrar os arquivos de v´deo ı e ı quando estes s˜ o armazenados, em tempo real, no computador. a o ´ Para a filmagem dos robˆ s, e ideal que se reproduza o mesmo movimento por no m´nimo ı ¸˜ trˆ s vezes. Pois, geralmente ocorre pequena variacao no percurso de cada um deles. Fazendo e isto, pode-se escolher um trajeto no qual o robˆ tende a reproduzir com mais frequˆ ncia. Nos o e experimentos deste projeto, foi repetido por quatro vezes cada movimento (movimento linear e angular para a direita e esquerda) dos robˆ s 03, 07, 08 e robˆ 10. O robˆ 04 n˜ o foi filmado de- o o o a vido a este estar com problemas. Cada ente rob´ tico foi acionado por meio de um computador. o ¸˜ o ´ A comunicacao deste com os robˆ s e feita atrav´ s de ondas de r´ dio FM. Para determinar em e a ´ que sentido cada robˆ deve dirigir-se e utilizado software de controle instalado no computador o em quest˜ o. a
  • 27.
    24 4.3 ¸˜ DISTORCOES NAS MEDIDAS Foram realizadas medidas do campo filmado e comparado com as medidas, deste campo, obtidas com o Tracker (figura 12). Observou-se ent˜ o, exceto no centro, algumas diferencas. a ¸ ¸˜ Isso ocorre devido as distorcoes causadas pela lente da filmadora. Quanto mais longe do centro ´ ¸˜ do campo maior e essa distorcao. Por exemplo, o comprimento real das linhas laterais do campo ´ e de 232,5 cm, enquanto que com o Tracker foi obtido uma medida de 224,4 cm. Pode-se verificar outras medidas na figura 12. ¸ a ¸˜ Essas diferencas n˜ o foram levadas em consideracao. Por´ m, para minimizar este pro- e ´ ¸˜ ´ blema, foram coletadas imagens dos robˆ s em movimento nas areas onde esta distorcao e me- o nor ou praticamente nula. Por exemplo, para a captura do movimento angular os robˆ s foram o mantidos pr´ ximos ao c´rculo central do campo. o ı Figura 12: Campo de futebol de robˆ s utilizado nas filmagens. o 4.4 ¸˜ OBTENCAO DOS DADOS UTILIZANDO O TRACKER 4.4.1 ¸˜ Configuracao Inicial a ı ´ Para iniciar a an´ lise de um v´deo, o primeiro passo e carregar o v´deo, fazendo uma ı importacao deste atrav´ s do comando import, localizado no menu file → import → video ¸˜ e
  • 28.
    25 Figura 13: Comando import localizado em file → import → video. Para an´ lise e modelagem dos v´deos o Tracker utiliza o Xuggle, software open source que a ı ”lˆ ”diversos formatos de arquivos de v´deo, inclusive AVI E MPG (j´ incluso no pacote de e ı a ¸˜ ¸˜ instalacao do Tracker 4.0). Ap´ s a importacao do v´deo deve-se configurar o intervalo a ser o ı analisado. Isto e feito, definindo o frame inicial e final. Ao clicar no ´cone Clip Settings (´cone ´ ı ı de v´deo indicado pela flecha na figura 14) uma janela, Clip Settings, para os ajustes do v´deo ı ı ´ e aberta. Na primeira e terceira caixas de di´ logo, Start frame e End frame, define-se o frame a inicial e o frame final, respectivamente. Figura 14: Comando Clip Settings. Na caixa de di´ logo Step size determina-se a quantidade de frames que o programa deve a ¸˜ ´ ”pular”em cada iteracao, sendo o padr˜ o 1. Em Frame e mostrado a taxa de frames por segundo, a a ´ a ser considerado, sendo que o valor padr˜ o e o m´ ximo determinado pelo equipamento de fil- a ¸˜ magem. Na sequˆ ncia, determina-se a relacao entre quantidade de pixels e unidades de medida, e
  • 29.
    26 como cent´metros, metros,polegadas, etc. Para isto, basta clicar no ´cone (figura 15) ao lado ı ı do ´cone de v´deo e escolher, preferencialmente, Calibration Tape. Ent˜ o uma seta com duas ı ı a ´ pontas e mostrado. Os extremos da seta s˜ o fixados de acordo com o referencial m´ trico esco- a e lhido (discutido anteriormente), arrastando-se a flecha ou qualquer uma de suas pontas. Ap´ s, o define-se a medida de um extremo ao outro (metros, cent´metros ou qualquer outra unidade de ı medida) clicando no centro da seta ou pela caixa de di´ logo length. a Figura 15: Comando Calibration Tape. ´ ´ O ultimo referencial a ser verificado e o sistema de coordenadas cartesianas. Para configur´ - a lo e necess´ rio clicar no ´cone mostrado na figura 16. Ap´ s isto, o sistema de coordenadas fica ´ a ı o a e ¸˜ vis´vel, podendo-se em seguida arrast´ -lo at´ a posicao referenciada como origem ou at´ mesmo ı e ˆ ´ alterar seu angulo. Um ponto de origem e definido, arrastando-se o sistema de coordenadas. Da ´ ˆ mesma forma, e poss´vel, inclusive, alterar o angulo do sistema. ı 4.5 ¸˜ ¸˜ CRIACAO DO PONTO DE MASSA E OBTENCAO DOS DADOS MANUAL E AU- TOMATICAMENTE ¸˜ ´ Ap´ s a configuracao inicial, deve-se criar um novo Ponto de Massa. Este m´ todo e utilizado o e para an´ lise individual de objetos em movimento (se for necess´ rio analisar o movimento de um a a ¸˜ sistema de part´culas, pode-se utilizar a opcao Centro de Massa, abaixo de Point of Mass). Para ı criar o Ponto de Massa (figura 17) deve-se clicar no menu Tracks → New → Point of Mass. Logo ap´ s, a janela Track Control torna-se vis´vel, sendo ent˜ o poss´vel determinar a trajet´ ria o ı a ı o do Ponto de Massa mencionado. ´ a o ´ E necess´ rio, agora, relacionar o trajeto do robˆ ao Ponto de Massa. Isto e poss´vel fazer ı
  • 30.
    27 Figura 16: Sistema de coordenadas cartesianas. ¸˜ Figura 17: Criacao de um novo Ponto de Massa. tanto manual quanto automaticamente. Para obter o percurso do robˆ manualmente, coloca- o o ¸˜ se o robˆ na posicao inicial e ent˜ o com a tecla Shift pressionada clica-se, utilizando o bot˜ o a a o o ´ esquerdo do mouse, sobre o centro do robˆ . Logo ap´ s, o frame seguinte e mostrado. Essa ¸˜ ¸˜ operacao deve ser repetida at´ a obtencao do trajeto total desejado. Para obter o percurso au- e tomaticamente, deve-se clicar sobre o novo Ponto de Massa criado, item destacado na Janela Track Control (figura 18). Nesta etapa determina-se automaticamente o trajeto do robˆ . Em o
  • 31.
    28 ´ seguida, uma janela do Autotracker e aberta, sendo necess´ rio clicar sobre o robˆ para iniciar a a o ¸˜ configuracao. ¸˜ Figura 18: Configuracao do Novo Ponto de Massa Criado. A aba Template, na janela Autotracker (figura 19), define a imagem a ser capturada em cada ı ı ´ frame de v´deo. Um c´rculo e disponibilizado para selecionar o objeto a ser capturado. Para um ´ melhor desempenho recomenda-se envolver, com esse c´rculo, apenas uma pequena area com ı maior contraste no objeto, como o que foi feito com o robˆ da (figura 19) . A barra Evolution o ` Rate define a rapidez com que Template se adapta a mudanca de forma e cor do objeto com o ¸ tempo, sendo 10 % a taxa padr˜ o. a ¸˜ Na aba Target os passos ser˜ o marcados em relacao a Template. O Tracker seleciona o a centro do c´rculo por padr˜ o (sinal de + no centro da (figura 20). Para alterar basta arrastar, para ı a qualquer lado, o ponto considerado como ”alvo”. ´ Na aba Accept e determinado um n´vel de precis˜ o para a captura do movimento. Redu- ı a zindo o valor da barra Accept Scores Above aumenta a probabilidade de erros. Recomenda-se ´ utilizar o padr˜ o do software que e de quatro unidades. a ´ ´ ´ A aba Search e utilizada para determinar a area de procura do objeto. Nesta guia e dispo- a ´ nibilizado um retˆ ngulo tracejado para delimitar a area de procura. Esse retˆ ngulo deve ter em a m´ dia o tamanho do objeto procurado. A cada frame seguinte, o Tracker tenta atualizar essa e ´ ¸˜ area de acordo com a posicao atual do objeto. Para melhorar a busca, recomenda-se demarcar o ¸˜ campo com, aproximadamente, as dimens˜ es do objeto. A caixa de selecao Look Ahead deve o
  • 32.
    29 Figura 19: Aba Template define a imagem a ser capturada em cada frame de v´deo. ı Figura 20: A aba Target determina um ”alvo”como o ponto principal a ser capturado em cada frame. estar assinalada. Feito os devidos ajustes, pode-se agora determinar a trajet´ ria do robˆ , clicando no bot˜ o o o a ´ Search (figura 22). Na figura 23 e mostrada a trajet´ ria de um robˆ obtida com o Autotracker. o o Clicando sobre os ´cones de velocidade ou aceleracao (´cones envolvidos pela caixa retangular ı ¸˜ ı ´ preta, figura 23) e poss´vel visualizar ou ocultar os respectivos vetores. ı ´ a Para utilizar o Autotracker, e v´ lido lembrar que o v´deo a ser analisado deve ter uma boa ı ¸˜ definicao e conter imagens n´tidas, como citado anteriormente. Do contr´ rio, recomenda-se ı a obter manualmente o percurso do robˆ . o
  • 33.
    30 Figura21: Na aba Accept determina-se um n´vel de precis˜ o para a captura do movimento. ı a ´ ´ Figura 22: Na aba Search e disponibilizado um retˆ ngulo tracejado para demarcar a area de a procura. Esse retˆ ngulo deve ter em m´ dia o tamanho do objeto procurado. a e 4.6 ¸˜ PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO LINEAR Para obter o percurso do robˆ em movimento linear basta seguir os passos citados at´ aqui. o e
  • 34.
    31 ´ ¸˜ Figura 23: Icones de velocidade e acelaracao dentro do retˆ ngulo. a 4.7 ¸˜ PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO ANGULAR ¸˜ Para a obtencao dos dados com movimento angular, al´ m dos procedimentos j´ citados, e a deve-se fixar o referencial, para o sistema de coordenadas, no centro do ente rob´ tico, fazendo o com que a origem do sistema acompanhe o centro do robˆ em movimento. Ou seja, a origem o do sistema de coordenadas acompanha o centro do robˆ em movimento. (figura 24). o Para este procedimento deve-se criar um segundo Ponto de Massa, no qual seu percurso acompanha o centro do robˆ . Logo ap´ s, pode-se determinar o ponto de referˆ ncia para o plano o o e cartesiano atrav´ s do menu Coordinate System → Reference Frame, onde e poss´vel escolher o e ´ ı Ponto que acompanha o centro como referˆ ncia (figura 25). e 4.8 DADOS Ap´ s criar a trajet´ ria dos movimentos, o Tracker disponibiliza diversas tabelas e gr´ ficos o o a ` dos dados (canto direito), (figura 26). A direita s˜ o mostrados o gr´ fico e tabela gerados pelo a a Tracker a partir do deslocamento do robˆ , Neste projeto foram utilizados apenas os relacionados o ¸˜ ao deslocamento linear e angular em relacao ao tempo. Para obter dados referentes a outras vari´ veis, basta clicar em Table no canto superior esquerdo da tabela e selecionar os itens. a ¸˜ Seguindo o procedimento citado na secao anterior foram obtidos dados, dos quais utiliza- ¸˜ mos para a construcao das tabelas 1 e 2, abaixo. Os dados mostrados s˜ o para os robˆ s 03, 07, a o
  • 35.
    32 Figura 24: Robˆ em movimento angular. o ¸˜ Figura 25: Configuracao para o sistema de coordenadas acompanhar o centro do robˆ . o 08 e 10. O robˆ 04 n˜ o foi filmado devido a este apresentar problemas. o a ` ¸˜ Os dados relativo ao movimento linear constante referem-se a variacao de deslocamento dos momentos em que o robˆ inicia o movimento com velocidade constante at´ o momento o e ¸˜ anterior a este iniciar sua desaceleracao. ¸˜ ¸˜ Em relacao ao movimento linear inicial, levamos em consideracao apenas a trajet´ ria entre o ¸˜ ¸˜ a posicao de repouso at´ a posicao em que o robˆ atinge a velocidade constante. e o
  • 36.
    33 Figura 26: Tabelas e gr´ ficos exibidos no canto direito da tela. a Tabela 1: Dados para Movimento Linear. MOVIMENTO LINEAR MOVIMENTO LINEAR INICIAL Aceleracao em Y (m/s2 ) Velocidade constante em X (m/s) ¸˜ Aceleracao em Y (m/s2 ) Aceleracao em X (m/s2 ) ¸˜ ¸˜ Robˆ 3 o 0,8859 0,0574 0,0330 0,7152 Robˆ 7 o 0,1241 1,5835 0,1636 1,5938 Robˆ 8 o 0,154 1,7789 0,0676 1,0932 Robˆ 10 o 0,2734 1,674 0,3194 1,718 ` ¸˜ Os dados relativo ao movimento angular inicial referem-se a variacao de deslocamento angular dos momentos em que o robˆ inicia o movimento com velocidade constante at´ o mo- o e ¸˜ mento anterior a este iniciar sua desaceleracao. ¸˜ ¸˜ Em relacao ao movimento angular inicial, levamos em consideracao apenas o deslocamento ¸˜ ¸˜ angular entre a posicao de repouso at´ a posicao em que o robˆ atinge a velocidade angular e o constante. Utilizando os mesmos dados para criar as tabelas 1 e 2 foram plotados, para o robˆ 08, o a e ¸˜ os gr´ ficos abaixo. Al´ m disso, foram geradas as equacoes de cada movimento (canto inferior direito de cada figura):
  • 37.
    34 Tabela 2: Dados para Movimento Angular MOVIMENTO ANGULAR ESQUERDA MOVIMENTO ANGULAR DIREITA Torque inicial (rad/s2 ) Velocidade constante (rad/s) Torque inicial (rad/s2 ) Velocidade constante (rad/s) Robˆ 3 o 32,7286 10,7878 -18,8166 -9,8331 Robˆ 7 o 35,8936 21,0474 -27,8734 -18,7874 Robˆ 8 o 33,9293 20,7332 -30,1496 -21,0915 Robˆ 10 o 59,7220 22,5444 -41,1899 -20,4160 ¸˜ Figura 27: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. a O robˆ rotaciona no sentido hor´ rio com velocidade constante. o a ¸˜ Figura 28: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. a O robˆ rotaciona no sentido hor´ rio com torque inicial. o a
  • 38.
    35 ¸˜ Figura 29: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos a ao quadrado. Este gr´ fico foi obtido ao linearizar o gr´ fico da figura anterior. O robˆ rotaciona no a a o sentido hor´ rio com torque inicial. a ¸˜ Figura 30: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. a O robˆ rotaciona no sentido anti-hor´ rio com velocidade constante. o a
  • 39.
    36 ¸˜ Figura 31: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. a O robˆ rotaciona no sentido anti-hor´ rio com torque inicial. o a ¸˜ Figura 32: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos a ao quadrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 31. O robˆ rotaciona no a a o sentido anti-hor´ rio com torque inicial. a
  • 40.
    37 a ¸˜ Figura 33: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos. O robˆ se o ¸˜ movimenta com aceleracao inicial. ¸˜ Figura 34: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos ao qua- a drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 33. O robˆ se movimenta com a a o ¸˜ aceleracao inicial.
  • 41.
    38 a ¸˜ Figura 35: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se o movimenta com aceleraca¸ ˜ o inicial. ¸˜ Figura 36: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua- a drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 35. O robˆ se movimenta com a a o ¸˜ aceleracao inicial.
  • 42.
    39 a ¸˜ Figura 37: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se o movimenta com aceleraca¸ ˜ o inicial. ¸˜ Figura 38: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua- a drado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 37. O robˆ se movimenta com a a o ¸˜ aceleracao inicial.
  • 43.
    40 a ¸˜ Figura 39: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos. O robˆ se o movimenta com velocidade constante.
  • 44.
    41 5 TEWNTA ´ O software Tewnta e um simulador open source, sob a licenca GNU, com interface gr´ fica ¸ a ¸˜ (figura 40), para a competiccao de Futebol de Robˆ s da categoria SSL, desenvolvido pelo aluno o ¸˜ Gabriel Detoni da UFRGS, utilizando a linguagem de programacao Java. Sua principal fina- ´ ¸˜ lidade e prever situacoes reais de jogo. Desta maneira, reduz o tempo no desenvolvimento de estrat´ gias, por permitir que diferentes t´ ticas de jogo sejam testadas concorrentemente, auxili- e a ¸˜ ando na reducao do desgaste de hardware ocasionado pelos testes com os robˆ s. o Figura 40: Interface gr´ fica do simulador Tewnta. a Segundo a monografia do semestre 2010.2 ˆ (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA, 2011) ”O Tewnta trabalha em duas camadas, a primeira atua como Servidor e e respons´ vel pela ´ a simulacao f´sica e interpretacao das regras do Futebol de Robˆ s. Uma segunda camada atua ¸˜ ı ¸ o como Cliente e nela est˜ o denidas as acoes que devem ser tomadas pelos robˆ s. Para cada um a ¸˜ o
  • 45.
    42 dos times h´uma aplicacao cliente sendo executada. Essas duas camadas s˜ o executadas em a ¸˜ a aplicacooes diferentes que se comunicam atrav´ s de protocolo IP (Internet Protocol).” ¸˜ e ¸˜ Segue diagrama representativo para a comunicacao e funcionamento do programa figura 41 e figura 42 Figura 41: Diagrama de ¸˜ comunicacao (APERFEICOA- MENTO DO SIMULADOR DE ROBOSˆ TEWNTA, 2011). ˆ Figura 42: Diagrama de fluxo (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA, 2011).
  • 46.
    43 5.1 ˜ ´ VISAO GERAL DO CODIGO O c´ digo original est´ dividido em nove pacotes o a ˆ (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA, 2011)1 : br.ufrgs.f180.math br.ufrgs.f180.api br.ufrgs.f180.api.model br.ufrgs.f180.elements br.ufrgs.f180.guibr.ufrgs.f180.resources br.ufrgs.f180.server br.ufrgs.f180.teamcom.cloudgarden.resource ¸˜ As principais alteracoes realizadas por esta equipe foram criadas, via o pacote br.utfpr.f180.IndependentR sendo que o c´ digo original modificado, em sua maior parte, foi alterado apenas para que se o ` ¸˜ adaptasse as novas classes, sem adicao de funcionalidades novas. 5.2 ¸˜ ALTERACOERS IMPLEMENTADAS ¸˜ ¸˜ Visava-se por meio das modificacoes implementadas no c´ digo, a real representacao de o cada um dos quatro robˆ s, em funcionamento, que comp˜ em a equipe de Futebol de Robˆ s da o o o ¸˜ UTFPR. Para tanto, foram-se inseridas as seguintes modificacoes no c´ digo: o 5.2.1 ¸˜ Criacao de novas propriedades no arquivo Properties ¸˜ ¸˜ ` ¸˜ Ap´ s a obtencao das informacoes referentes as aceleracoes e velocidades, angular e linear, o ¸˜ ¸˜ para cada robˆ com a utilizacao do software Tracker (detalhes na secao 4), era necess´ rio inserir o a esses valores no c´ digo do Tewnta. O arquivo Properties cont´ m as propriedades referentes ao o e diversos elementos que comp˜ em o jogo, incluindo o campo, a bola e os robˆ s. No arquivo o o ı ¸˜ foram inclu´dos os valores das aceleracoes e velocidades para cada robˆ (figura 43). o • Pacote – com.cloudgarden.resource 1 Para ¸˜ uma descricao completa dos Pacotes e Classes presentes no Tewnta, acesse http://dl.dropbox.com/u/12362738/monografia final.pdf
  • 47.
    44 Figura 43: Propeties. • Arquivo modificado – game.properties ¸˜ DESCRICAO As propriedades targetVelocityX e targetVelocityY representam as velocidades do robˆ em o seu movimento linear, assim como linearAccelerationX e linearAccelerationY representam as ¸˜ aceleracoes, respectivamente, nos eixos x e y. A propriedade rotationAcceleration representa a ¸˜ aceleracao angular do robˆ , e rotationVelocity sua velocidade angular. o
  • 48.
    45 5.2.2 ¸˜ Criacao da classe IndependentRobot Classe para representar qualquer robˆ que tenha seus dados no arquivo game.properties o (figura 44 e 45). Figura 44: Classe IndependentRobot.
  • 49.
    46 Figura 45: Classe IndependentRobot. ¸˜ DESCRICAO O DA CLASSE IndependentRobot o ı o ¸˜ Cada robˆ precisa ter caracter´sticas pr´ prias para as aceleracoes linear e angular, para que esses valores correspondam com o comportamento f´sico real dos robˆ s, os m´ todos: getRo- ı o e tationAcceleration() e getAcceleration() foram sobrecritos para que estes retornassem o valor contido no arquivo game.properties.
  • 50.
    47 O m´ todo getAcceleration() retorna a quem o chamou uma instˆ ncia da classe Vector (pa- e a cote br.ufrgs.f180.math.Vector), que representa um vetor, contendo componentes no eixo das abscissas e no eixo das ordenadas. O m´ todo getRotationAcceleration() retorna um double, e sendo ent˜ o necess´ rio que este simplesmente retorne o valor contido no arquivo game.properties a a ¸˜ para a aceleracao angular do robˆ em quest˜ o. o a ´ A velocidade e representada por outra instˆ ncia da classe Vector, protected Vector targetVe- a locity, que est´ presente na classe Robot, tendo sido alterado o tipo de encapsulamento deste, de a private para protected, permitindo assim, que classes derivadas tenham acesso a esta vari´ vel. a Al´ m de targetVelocity, protected static final double ROBOT MAX VELOCITY e protected e static final double ROBOT MAX FORCE tiveram seus modificadores de acesso alterados de private para protected com a mesma finalidade (figura 46). Em raz˜ o da estruturac˜ o do c´ digo, a a o Figura 46: Encapsulamento Alterado. teve-se que ser criada duas vari´ veis booleanas para especificar se o robˆ est´ em um movimento a o a linear ou angular, protected boolean isLinearMovement e protected boolean isRotationalMove- ment, respectivamente, ou em ambos. Aos m´ todos private void linearMovement (double ti- e ¸˜ meElapsed) e private void rotationalMovement (double timeElapsed), compete a atualizacao do movimento do robˆ . O m´ todo public void calculatePosition(double time-Elapsed), da classe o e Robot, foi sobrescrito para que considerasse apenas movimentos v´ lidos, evitando-se que ao a se dar o comando de andar para o robˆ , este tamb´ m rotacione indevidamente, atualizando em o e ¸˜ seguida a posicao do robˆ no campo. o 5.3 ¸˜ ˆ ATUALIZACAO DO MOVIMENTO DO ROBO ¸˜ ¸˜ Para a atualizacao da posicao para os robˆ s da UTFPR, foi necess´ rio alterar o c´ digo para o a o que este respondesse corretamente aos comandos de movimentar-se linearmente ou rotacio- ` ¸˜ ¸˜ nar, pois devido a implementacao original, a representacao do movimento tornava-se imprecisa quando este era uma instˆ ncia de uma das classes IndependentRobot, fazendo com que o robˆ a o rotacionasse quando este deveria apenas mover-se linearmente, ou vice-versa.
  • 51.
    48 • Arquivo Modificado br.ufrgs.f180.server.Game – M´ todos Alterados e public void setPlayerRotation(String id, Double force) public void setPlayerVelocity(String id, Double x, Double y) – M´ todo Criado e private booleanisUTFPR Robot ( final String id ) ¸˜ DESCRICAO ¸˜ O m´ todo isIndependentRobot ( final String id ) visa verificar se a identificacao deste ele- e mento, representada pela String id, corresponde a String identificadora de um robˆ real (fi- o ¸˜ gura 47 isIndependentRobot), caso afirmativo, se o movimento for de rotacao, o m´ todo set- e PlayerRotation (String id, Double force) (figura 48), chama o m´ todo setIsRotationalMovement e (boolean m) da classe IndependentRobot com o parˆ metro true, indicando que este robˆ est´ a o a descrevendo um movimento rotacional e o m´ todo setPlayerRotationVelocity(String id, Double e ` ¸˜ velocity ) atribui a velocidade de rotacao deste robˆ o valor contido no arquivo game.properties o (figura 49) Figura 47: isIndependentRobot. j´ o m´ todo setPlayerVelocity(String id, Double x, Double y) (figura 50), chama outros dois a e m´ todos: setIsForwardMoving( boolean m ) da classe IndependentRobot com o parˆ metro true, e a indicando o tipo de movimento do robˆ e o m´ todo setTargetVelocity(Vector targetVelocity), o e passando por parˆ metro uma instˆ ncia de Vector, representando a velocidade deste robˆ no a a o eixo x e no eixo y.
  • 52.
    49 Figura 48: setPlayerRotation. Figura 49: setPlayerRotationVelocity. 5.3.1 Inicializar Robˆ Correspondente o ¸˜ a ´ Ao inicializar-se uma simulacao, por padr˜ o, e inicializado uma instˆ ncia da classe Robot a para representar cada um dos robˆ s competidores. Era necess´ rio alterar o c´ digo para possibi- o a o litar instanciar objetos2 das classes da classe IndependentRobot. • Arquivo Modificado 2 Objeto ¸˜ ´ ¸˜ em Orientacao a Objetos e uma abstracao de entidades reais ou de software.
  • 53.
    50 Figura 50: setPlayerVelocity. br.ufrgs.f180.gui.MainWindow – M´ todos Alterados e public void addRobot(final String id, final double x, final double y, final Team team, final double mass, final double radius) – M´ todo Criado e private booleanIsIndependentRobot. ( final String id ) ¸˜ DESCRICAO ¸˜ ¸˜ As alteracoes visam verificar se a identificacao deste elemento, representada pela String ` ¸˜ id, corresponde a String definida para a criacao de um robˆ independent (c´ digo 47), em caso o o afirmativo instancia-se um novo objeto de IndependentRobot (figura addRobot).(c´ digo 51). o
  • 54.
  • 55.
    52 6 ˜ CONCLUSAO O objetivo de fazer com que cada robˆ que comp˜ e a equipe de Futebol de Robˆ s da o o o ¸˜ UTFPR tivesse uma representacao no simulador foi alcancado, como apresentado no Cap´tulo ¸ ı 5, no qual o m´ todo desenvolvido consiste na an´ lise de v´deos, realizados experimentalmente, e a ı ¸˜ ¸˜ por meio do software Tracker. Com estas informacoes, gr´ ficos, tanto para a posicao versus a ¸˜ tempo, como da posicao angular versus tempo, foram obtidos com sucesso e, por meio destes a ¸˜ gr´ ficos, calculou-se as aceleracoes, linear e angular, de cada robˆ , para ent˜ o, implementar o a o ¸˜ no c´ digo fonte do simulador Tewnta as modificacoes necess´ rias para definir cada robˆ da a o equipe, em conjunto com os dados calculados. Contudo, encontramos diversas dificuldades du- rante o projeto, tais como a compreens˜ o do funcionamento do c´ digo, e a forma deste calcular a o ¸˜ ¸˜ ¸˜ as posicoes dos elementos da simulacao, e a correta metodologia na obtencao das grandezas ı ¸˜ f´sicas, aceleracoes angular e linear, para cada robˆ via o software Tracker, principalmente com o ¸˜ relacao ao movimento rotacional. O projeto proporcionou aos integrantes da equipe uma vis˜ o a ı o ¸˜ geral do funcionamento da pesquisa cient´fica. Na pesquisa te´ rica, ao buscar informacoes de a ¸˜ meios confi´ veis, como publicacoes cient´ficas e peri´ dicos t´ cnicos. J´ na pesquisa pr´ tica, ı o e a a ¸˜ realizando experimentos de filmagem de cada robˆ . Entre contribuicoes futuras para o desen- o ı o ¸˜ volvimento e aux´lio na pesquisa relacionada ao Futebol de Robˆ s, podemos citar a utilizacao ¸˜ do Tracker, em tempo real, durante uma partida para conseguir informacoes sobre o funcio- ¸˜ namento dos robˆ s, tanto em relacao a algum problema ocorrido durante a partida para um o robˆ da pr´ pria equipe, quanto a caracter´sticas dos robˆ s advers´ rios, como por exemplo saber o o ı o a ¸˜ qual robˆ tem uma maior aceleracao; propiciando assim, vantagens para, consequentemente, a o conquista de melhores resultados.
  • 56.
    53 ˆ REFERENCIAS APERFEICOAMENTO DO SIMULADOR DE ROBOS TEWNTA. ˆ Aperfeicoamento do Simulador de Robˆ s Tewnta. 2011. ¸ o Dispon´vel em: ı <http://dl.dropbox.com/u/12362738/monografiafinal.pdf>. Acesso em: 10 de Maio de 2011. FIRA. 2011. Dispon´vel em: <http://www.fira.net/?mid=overview>. ı GALILEU. Galileu e o Nascimento da Ciˆ ncia Moderna. 2011. Dispon´vel em: e ı <http://efisica.if.usp.br/Mecˆ nica/curioso/historia/galileu/>. Acesso em: 16 de Abril de 2011. a HALLIDAY DAVID; RESNICK, J. R. Fundamentos de F´sica I. 8. ed. [S.l.: s.n.], 2009. ı HUMANOID LEAGUE. Humanoid League. 2011. Dispon´vel ı em: <http://wiki.robocup.org/wiki/Humanoid League>. Acesso em: 09 de Abril de 2011. MIDDLE SIZE LEAGUE. Middle Size League. 2011. Dispon´vel ı em: <http://wiki.robocup.org/wiki/Middle Size League>. Acesso em: 09 de Abril de 2011. NEWTON. Mecˆ nica. 2011. Dispon´vel em: <http://efisica.if.usp.br/Mecˆ nica/curioso/historia/newton/>. a ı a Acesso em: 16 de Abril de 2011. PRELIMINAR, H. Hist´ ria o Preliminar. 2011. Dispon´vel ı em: <http://efisica.if.usp.br/Mecˆ nica/curioso/historia/preliminar/>. Acesso em: 16 de Abril a de 2011. ROBOCUP. A Brief History of RoboCup. 2011. Dispon´vel ı em: <http://www.robocup.org/about-robocup/a-brief-history-of-robocup/>. Acesso em: 09 de Abril de 2011. ROBOCUP. Pushing the State-Of-The-Art. 2011. Dispon´vel ı em: <http://www.robocup.org/about-robocup/a-brief-history-of-robocup/>. Acesso em: 09 de Abril de 2011. ROBOT, S. Soccer robot. 2011. Dispon´vel em: <http://en.wikipedia.org/wiki/Soccerrobot>. ı Acesso em: 09 de Abril de 2011. SMALL SIZE LEAGUE. Small Size League. 2011. Dispon´vel ı em: <http://www.robocup.org/robocup-soccer/small-size/>. Acesso em: 09 de Abril de 2011. STANDARD PLATFORM SOCCER. 2011. Dispon´vel ı em: <http://www.robocup.org/robocup-soccer/standard-platform/>. Acesso em: 09 de Abril de 2011. TEWNTA. This project is a software simulator for the Robocup Small Size League (SSL) also known as F180. 2011. Dispon´vel em: <http://code.google.com/p/tewnta/>. ı
  • 57.
    54 TIPLER, P. A.F´sica para Cientistas e Engenheiros. 6. ed. [S.l.: s.n.], 2009. ı TRACKER. What is Tracker? 2011. Dispon´vel ı em: <http://www.cabrillo.edu/ dbrown/tracker/>. Acesso em: 16 de Abril de 2011. VETORES. Vetores. 2011. Dispon´vel em: ı <http://educar.sc.usp.br/fisica/vetores.html>. Acesso em: 15 de Abril de 2011. YOUNG HUGH D.; FREEDMAN, R. A. F. I. F´sica I - Mecˆ nica. 12. ed. [S.l.: s.n.], 2009. ı a
  • 58.
    55 7 ˆ ´ ´ APENDICE - TEORIAS FISICAS E MATEMATICAS ı ´ e a u ´ A F´sica e uma das ciˆ ncias mais fundamentais, sua aplicabilidade d´ -se em in´ meras areas, instigando o pensamento racional daqueles que a utilizam, na busca da compreens˜ o da nossa a e ı ´ existˆ ncia (YOUNG HUGH D.; FREEDMAN, 2009). Um dos ramos da F´sica e a cinem´ tica, a que lida com as caracter´sticas do movimento, seja sua rapidez para deslocar-se ou a distˆ ncia ı a percorrida em um dado intervalo de tempo (TIPLER, 2009).Todas os objetos no mundo est˜ o a ¸˜ ¸˜ em constante movimento devido ao movimento de rotacao e translacao da Terra. adotando o sol como referencial, qualquer ponto na Terra est´ em movimento (figura 52) (HALLIDAY a ¸˜ DAVID; RESNICK, 2009). Para descrever movimentos, a diferenciacao entre duas grandezas faz-se necess´ rio ter o conhecimento: a ¸˜ ¸˜ Figura 52: Movimento de translacao e rotacao terrestre. 7.1 GRANDEZAS ESCALARES Ao aferir-se a temperatura em qualquer local do planeta, o valor obtido, seu m´ dulo e o ¸˜ unidade de medida, fornece todas as informacoes necess´ rias que se precisa para saber a tem- a peratura neste local. Estas grandezas, que necessitam apenas do conhecimento do m´ dulo e de o sua unidade de medida s˜ o conhecidas como grandezas escalares, como exemplo temos: tempo, a ´ area, volume, etc (VETORES, 2011).
  • 59.
    56 7.2 GRANDEZAS VETORIAIS Para verificar-se o deslocamento de um objeto, n˜ o basta apenas o conhecimento do m´ dulo a o a ´ ¸˜ deste, saber que um corpo deslocou-se 1 metro n˜ o e informacao suficiente para determinar o ¸˜ ponto em que este objeto estar´ , para este conhecimento, necessita-se de maiores informacoes, a ¸˜ como em que direcao se deu este deslocamento e seu sentido (figura 53), grandezas deste tipo s˜ o conhecidas como grandezas vetoriais, e geralmente s˜ o representados por uma letra com a a ¸˜ ¸˜ uma flecha em cima A. As definicoes de m´ dulo, direcao e sentido s˜ o as seguintes (VETORES, o a 2011): •M´ dulo do vetor - e dado pelo comprimento do segmento em uma escala. o ´ •Direcao do vetor - e dada pela reta suporte do segmento. ¸˜ ´ •Sentido do vetor - e dado pela seta colocada na extremidade do segmento. ´ Figura 53: Deslocamento de um corpo. ¸˜ Para descrever o deslocamento de um corpo, precisa-se do m´ dulo e a orientacao deste, o ¸˜ com isso obt´ m-se o vetor deslocamento do corpo, que fornece todas as informacoes acerca do e movimento. 7.2.1 Somas Alg´ bricas e ¸˜ Representa-se os vetores em termos de suas componentes em todas as direcoes (x, y, z), ´ ¸˜ sendo que cada componente e a projecao de um dos vetores em um eixo. Para determinar a ¸˜ ¸˜ projecao de um vetor em relacao a um eixo traca-se retas perpendiculares ao eixo a partir da ¸ origem e da extremidade do vetor (HALLIDAY DAVID; RESNICK, 2009). Seja o vetor d (figura 54), suas componentes que correspondem aos eixos x e y s˜ o, respectivamente, dx e dy. a Para o c´ lculo das componentes utiliza-se: a
  • 60.
    57 ¸˜ Figura 54: Componentes do vetor d, em relacao aos eixos y e x. 7.2.2 Soma Geom´ trica e Dado dois deslocamentos, tendo como vetores a e b (figura 55), pode-se representar o des- locamento total (independentemente da trajet´ ria seguida) (HALLIDAY DAVID; RESNICK, o 2009), estabelecendo um terceiro vetor c, com origem coincidindo com a origem de A, que une A e B, sendo assim, c = a + b. ¸˜ Figura 55: Representacao de dois vetores, a e b, e do vetor soma, c. 7.3 ESTUDO DO MOVIMENTO N˜ o se pode afirmar com exatid˜ o a origem da Mecˆ nica (estudo do movimento e os con- a a a ´ ´ ` ceitos relacionados de forca e massa), o que e certo e que sua origem est´ intimamente ligada as ¸ a ´ ¸˜ origens da Astronomia, que e a parte da ciˆ ncia que trata da observacao dos corpos celestes (TI- e ¸˜ PLER, 2009). Todas as civilizacoes da hist´ ria tiveram interesse pelo movimento dos corpos o celestes, seja por raz˜ es religiosas e/ou m´sticas, ou pela simples curiosidade (PRELIMINAR, o ı ´ 2011). E creditada aos eg´pcios a divis˜ o do dia em 24 horas, assim como o ano com 365 dias ı a ¸˜ com base em observacoes dos astros. Entre grandes cientistas da antiguidade que estudaram o movimento dos corpos, dois tˆ m destaque: e •Galileu Galilei (1564 – 1642) e considerado por muitos o pai da ciˆ ncia moderna, aliando ´ e ¸˜ ¸˜ observacao experimental com a descricao dos fenˆ menos num contexto te´ rico, com leis o o ¸˜ ¸˜ expressas em formulacao matem´ tica. Pode-se dizer que Galileu marcou a transicao da a
  • 61.
    58 e ı ¸˜ filosofia natural da Antiguidade ao m´ todo cient´fico atual. Ele deu contribuicoes signifi- cativas para o conhecimento do movimento, dentre elas: –Movimento Uniforme: Galileu teceu importantes consideracoes sobre o movimento ¸˜ ¸˜ uniforme, com base em observacoes formulou o chamado princ´pio da relatividade ı de Galileu que estabelece que as leis f´sicas s˜ o as mesmas para observadores em ı a movimento relativo uniforme, quando o espaco e o tempo s˜ o considerados inde- ¸ a pendentes entre si e absolutos. –Movimento de Proj´ teis: com uma s´ rie de estudos, estabeleceu as equacoes b´ sicas e e ¸˜ a do movimento uniformemente acelerado (GALILEU, 2011). •Isaac Newton: Newton revolucionou a ciˆ ncia com sua teoria sobre o movimento. Ele e a a ¸˜ desenvolveu as leis b´ sicas do movimento (da dinˆ mica) e a da gravitacao e estabeleceu a universalidade das leis f´sicas. Em sua obra publicada em 1687, com o t´tulo “Philo- ı ı sophiae Naturalis Principia Mathematica” (Princ´pios Matem´ ticos da Filosofia Natural), ı a enunciou as trˆ s leis fundamentais da Mecˆ nica. Nessa obra, Newton procura como o e a ı a ¸˜ nome da obra antecipa aplicar os princ´pios matem´ ticos na descricao dos fenˆ menos o naturais relacionados ao movimento, agora de uma forma geral. Os “Principia” se tor- naram um texto cl´ ssico da Mecˆ nica e a teoria de Newton, um paradigma de teoria em a a ı ¸˜ F´sica. Newton apresenta, em sua obra, oito definicoes b´ sicas para o entendimento do a movimento: –A quantidade de mat´ ria e a medida da mesma, resultando da densidade e do volume e ´ conjuntamente. –A quantidade de movimento e a medida do mesmo, resultando da velocidade e da ´ quantidade de mat´ ria conjuntamente. e –A vis insita ou forca inata da mat´ ria e um poder de resistˆ ncia, pelo qual cada ¸ e ´ e corpo, por quanto de si depender, continua no seu estado presente, seja de repouso ´ ou de movimento para diante em linha reta. Essa vis insita e tamb´ m chamada de e forca de in´ rcia (vis inertiae). ¸ e –Uma forca impressa e uma acao exercida sobre um corpo para mudar seu estado de ¸ ´ ¸˜ repouso ou de movimento uniforme em linha reta. Essa forca s´ existe enquanto ¸ o ¸˜ dura a acao. –Uma forca centr´fuga e a que atrai ou impele ou, de qualquer modo, faz tender os ¸ ı ´ corpos para um centro.
  • 62.
    59 –A quantidade absoluta de uma forca centr´fuga e a medida da mesma, proporcional ¸ ı ´ ` a eficiˆ ncia da causa que a propaga do centro pelo espaco em redor. e ¸ –A quantidade aceleradora de uma forca centr´fuga e a medida da mesma, proporci- ¸ ı ´ ` onal a quantidade de velocidade que gera num tempo dado. –A quantidade motora de uma forca centr´fuga e a medida da mesma, proporcional ¸ ı ´ ao movimento que gera num tempo dado (NEWTON, 2011). o ¸˜ Ap´ s enunciar estas oito definicoes, Newton exp˜ e suas leis: o •1o Lei de Newton : Se nenhuma forca resultante atua sobre um corpo (Fres= 0), sua ¸ a a ¸˜ velocidade n˜ o pode mudar, ou seja, o corpo n˜ o pode sofrer aceleracao (HALLIDAY e ´ DAVID; RESNICK, 2009). Esta lei que tamb´ m e conhecida como Princ´pio da In´ rcia, ı e exprime que se um corpo esta em movimento, este corpo tende a manter-se em movimento ˆ (figura 56). Quando um onibus freia repentinamente, seus passageiros tendem a manter-se ˆ na mesma velocidade com que o onibus estava deslocando-se Figura 56: Efeito da primeira Lei de Newton. •2o Lei de Newton : A forca resultante que age sobre um corpo e igual ao produto da ¸ ´ ¸˜ massa do corpo pela sua aceleracao (HALLIDAY DAVID; RESNICK, 2009). Fres = ma (10) Percebe-se que tomando-se a=0, obt´ m-se F= 0, que condiz com o fato de que se o corpo e n˜ o est´ acelerado, ele tende a se manter no seu estado atual. a a
  • 63.
    60 •3o Lei deNewton : Quando dois corpos interagem, as forcas que cada corpo exerce sobre ¸ o outro s˜ o sempre iguais em m´ dulo e tˆ m sentidos opostos (HALLIDAY DAVID; RES- a o e NICK, 2009).