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

702 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
702
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 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. 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. 3. ¸˜ Integracao do Tracker ao Tewnta: A F´sica no Futebol de Robˆ s ı oAgnaldo Cesar CoelhoAndr´ Luiz Constantino Botta Leandro Alves dos Santos e Autor da imagem da capa: Rafael Jaime Sunyˆ Guinart e
  4. 4. RESUMOAgnaldo 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 oFederal do Paran´ . Campus Curitiba, 2011. aPretende-se neste projeto aperfeicoar o software simulador de Futebol de Robˆ s Tewnta, para ¸ oque 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 ¸˜ oAreas de Conhecimento:
  5. 5. AGRADECIMENTOS Agradecemos aos professores orientadores Jo˜ o Alberto Fabro e Nestor Cortez Saavedra aFilho 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 alunosGeison 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 eJ´ 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. 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). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14FIGURA 3 – LIGA INFANTIL - HUMANOID LEAGUE KIDSIZE. . . . . . . . . . . . . . . . . 18FIGURA 4 – MIDDLE SIZE LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 ˆFIGURA 5 – ROBOS UTILIZADOS NA SMALL SIZE LEAGUE. . . . . . . . . . . . . . . . . . 19FIGURA 6 – CAMPO OFICIAL DA SSL LEAGUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19FIGURA 7 – TELA DE UMA PARTIDA SOCCER SIMULATION LEAGUE 2D. . . . . 20FIGURA 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23FIGURA 12 – CAMPO DE FUTEBOL DE ROBOS ˆ UTILIZADO NAS FILMAGENS. 24FIGURA 13 – COMANDO IMPORT LOCALIZADO EM FILE → IMPORT → VIDEO. 25FIGURA 14 – COMANDO CLIP SETTINGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25FIGURA 15 – COMANDO CALIBRATION TAPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26FIGURA 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. . . . . . . . 28FIGURA 19 – ABA TEMPLATE DEFINE A IMAGEM A SER CAPTURADA EM CADA FRAME DE V´ IDEO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29FIGURA 20 – A ABA TARGET DETERMINA UM ”ALVO”COMO O PONTO PRIN- CIPAL A SER CAPTURADO EM CADA FRAME. . . . . . . . . . . . . . . . . . . . . . 29FIGURA 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. . . . 30FIGURA 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. 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). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42FIGURA 42 – DIAGRAMA DE FLUXO (APERFEICOAMENTO DO SIMULADOR DE ROBOS TEW ˆ 2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42FIGURA 43 – PROPETIES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44FIGURA 44 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45FIGURA 45 – CLASSE INDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46FIGURA 46 – ENCAPSULAMENTO ALTERADO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47FIGURA 47 – ISINDEPENDENTROBOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
  8. 8. FIGURA 48 – SETPLAYERROTATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49FIGURA 49 – SETPLAYERROTATIONVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49FIGURA 50 – SETPLAYERVELOCITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50FIGURA 51 – ADDROBOT.PNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51FIGURA 52 – ¸˜ MOVIMENTO DE TRANSLACAO E ROTACAO TERRESTRE. . . . . . . ¸˜ 55FIGURA 53 – DESLOCAMENTO DE UM CORPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FIGURA 54 – COMPONENTES DO VETOR , EM RELACAO AOS EIXOS Y E X. . . ¸˜ 57FIGURA 55 – ¸˜ REPRESENTACAO DE DOIS VETORES, E , E DO VETOR SOMA, . 57FIGURA 56 – EFEITO DA PRIMEIRA LEI DE NEWTON. . . . . . . . . . . . . . . . . . . . . . . . . . 59
  9. 9. LISTA DE TABELASTABELA 1 – DADOS PARA MOVIMENTO LINEAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33TABELA 2 – DADOS PARA MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . 34
  10. 10. LISTA DE SIGLASUTFPR Universidade Tecnol´ gica Federal do Paran´ o aSSL Small Size LeagueUFRGS Universidade Federal do Rio Grande do SulETL Electro Technical LaboratoryIJCAI Conferˆ ncia Internacional de Inteligˆ ncia Artificial e eGNU Genereal Public License
  11. 11. ´ SUMARIO ¸˜1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ¸˜1.1 DELIMITACAO DO TEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2 O PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4 OBJETIVOS ESPEC´ IFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ´1.6 METODOS DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ¸˜ ´2 INTRODUCAO TEORICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1 MOVIMENTO LINEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.1 Velocidade Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Velocidade M´ dia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 13Velocidade Instantˆ nea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 14 ¸˜2.1.2 Aceleracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 MOVIMENTO ANGULAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.1 Velocidade Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ¸˜2.2.2 Aceleracao Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 ROBOCUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ´3.1 UMA BREVE HISTORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.1 Categorias RoboCup Soccer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 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 . . . . 314.8 DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.3.1 Inicializar Robˆ Correspondente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 49 ˜6 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ˆREFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ˆ ´ ´7 APENDICE - TEORIAS FISICAS E MATEMATICAS . . . . . . . . . . . . . . . . . . . . . . . . 557.1 GRANDEZAS ESCALARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
  12. 12. 7.2 GRANDEZAS VETORIAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567.2.1 Somas Alg´ bricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 567.2.2 Soma Geom´ trica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 577.3 ESTUDO DO MOVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
  13. 13. 101 ¸˜ INTRODUCAO1.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 deum 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ˆ oTewnta, utilizado na categoria de robˆ s F-180 da RoboCup, assim como no programa Tracker. oPretende-se mostrar que e poss´vel melhorar o Tewnta atrav´ s dos dados coletados pelo Tracker, ı etornando 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, uGeison Dartora, Mayara Lorenzi e Cristiano Ribas, cujo foco foi melhorar o simulador, por´ m, e ı ´segundo as caracter´sticas de um unico robˆ . o1.2 O PROBLEMA o ´ ¸˜ O Futebol de Robˆ s e fonte de inspiracao, leva aos jovens o esp´rito da ciˆ ncia, pois pro- ı emove a interdisciplinaridade, envolvendo pesquisa principalmente em Inteligˆ ncia Artificial, eF´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 oRoboCup 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. 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 linearquanto 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 epara an´ lise e modelagem de v´deos, pode-se coletar esses dados de forma precisa e ent˜ o a ı aadicion´ -los ao Tewnta. a1.3 OBJETIVOS ´ O objetivo e aperfeicoar o software Tewnta, simulador de Futebol de Robˆ s para a liga ¸ oF-180, para que este reproduza com precis˜ o os movimentos de cada um dos cinco robˆ s que a ocomp˜ em a equipe de Futebol de Robˆ s da UTFPR. o o1.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ˆ . ¸˜ o1.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- ¸ asos: • Coleta de dados dos robˆ s em movimento retil´neo e angular, utilizando uma cˆ mera de o ı a
  15. 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. 16. 132 ¸˜ ´ INTRODUCAO TEORICA2.1 MOVIMENTO LINEAR2.1.1 Velocidade LinearVelocidade 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 ase 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 oqual 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. 17. 14que a reta est´ inclinada para baixo da esquerda para a direita (HALLIDAY DAVID; RESNICK, a2009).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 eda 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 xlimite da raz˜ o de a t quando t tende a zero (TIPLER, 2009). x dx v = lim = (2) t→0 t dt2.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- evalo de tempo ´ t e: v v2 − v1 amed = = (3) t t2 − t1
  18. 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 dt2.2 MOVIMENTO ANGULAR ¸˜ Para o movimento rotacional tem-se equacoes an´ logas ao do movimento linear: a2.2.1 Velocidade Angular ¸˜ ¸˜ Um corpo em rotacao est´ na posicao angular θ1 no instante t1 , e na angular θ2 no instante at2 . Define-se como velocidade angular m´ dia do corpo no intervalo de tempo e t (YOUNGHUGH 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 am´ dia quando e tt tende a zero (YOUNG HUGH D.; FREEDMAN, 2009): θ dθ ω = lim = (7) t→0 t dt2.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. 19. 16 ¸˜ ´A aceleracao angular (instantˆ nea) α e o limite dessa grandeza quando a t tende a zero (YOUNGHUGH D.; FREEDMAN, 2009): ω dω α = lim = (9) t→0 t dt
  20. 20. 173 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 acada 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 oJap˜ o. Este encontro os levou a crer que seria poss´vel usar o futebol para promover ciˆ ncia e a ı etecnologia. 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 opesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano, decidiu lancar ¸ ¸˜ ¸˜uma competicao, provisoriamente chamado de Robˆ J-League. Essa competicao teve reper- ocuss˜ 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”. Poucotempo depois, Itsuki Noda pesquisador da ETL, desenvolveu um simulador que mais tarde setornaria 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 oa (IJCAI-95) IJCAI realizada em Montreal, Canad´ , agosto de 1995. Mas a primeira Copa aoficial de robos ocorre 1997 e foi um sucesso. Mais de quarenta equipes de varias partes domundo participaram, al´ m disso o n´ mero de espectadores foi maior que cinco mil (ROBOCUP, e u2011a). Alcancando o Estado da Arte ¸ ¸˜ ´ A intencao dos fundadores da RoboCup e utilizar esta para promover a rob´ tica e pesquisa oem inteligˆ ncia artificial. Para eles, construir um robˆ para jogar futebol em si n˜ o gera impacto e o a
  21. 21. 18 ¸˜ ´social e econˆ mico significativo, mas a realizacao certamente e considerada como uma grande oconquista 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 dabola, por parte deles. Os melhores robˆ s human´ ides do mundo disputam nesta liga (HUMA- o oNOID LEAGUE, 2011). ´ Esta liga e divida em trˆ s subligas: KidSize (pequeno) com medidas 30 cm a 60 cm de ealtura, TeenSize (m´ dio) de 100 cm a 120 cm, e AdultSize (grande) de 130 cm ou maior (HU- eMANOID 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 am´ ximo seis, com bola de futebol de tamanho regular da FIFA em um campo similar a um acampo de futebol em escala humana. Todos os sensores s˜ o on-board e os robˆ s podem usar a a orede 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. 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 altamentedinˆ 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 an˜ o s˜ o maiores que 15 cm de altura. Os robˆ s jogam com uma bola de golfe laranja em um a a ocampo verde de dimens˜ es de 605 cm de comprimento por 405 cm de largura (SMALL SIZE LEAGUE, o2011). 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 acessa 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 amantido pela comunidade da liga (SMALL SIZE LEAGUE, 2011).
  23. 23. 20 Soccer Simulation League Nesta categoria n˜ o h´ robˆ s reais em cena. Jogadores virtuais e independentes (agentes) a a ojogam futebol num campo virtual dentro de um computador. H´ duas subligas: 2D e 3D (STAN- aDARD 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, o2011).
  24. 24. 214 TRACKER ´ O Tracker e um software open source licenciado sobre os termos de GNU General PublicLicense 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 acin´ 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 etrajet´ ria. Pode-se tamb´ m obter o trajeto do centro de massa de um sistema formado por o ev´ rios objetos. A figura 9 mostra uma trajet´ ria do centro de massa do sistema formado por a oduas 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. 25. 22 Figura 9: Trajet´ ria do centro de massa. omesmo, 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 avimento de cada robˆ , empregando o Tracker. o4.1 ¸˜ PREPARACAO DO AMBIENTE PARA FILMAGEM ¸˜ ´ Primeiramente, antes de iniciar as gravacoes dos robˆ s em movimento, e feito o ajuste ocorreto 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- eturamente configurado no Tracker. O software define uma medida, relacionando a quantidade
  26. 26. 23 ¸˜de pixels ao valor aferido para o objeto. Para a determinacao deste referencial recomenda-seo uso de algum objeto como, por exemplo, uma r´ gua de um metro ou mesmo marcas sobre o ecampo. O valor aferido ao objeto ser´ futuramente configurado no Tracker. Pois, este define auma 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,882metros. e ´ Figura 11: Um referencial m´ trico, canto superior esquerdo, e utilizado ao filmar os robˆ s. o4.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 ı ae 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 eisto, pode-se escolher um trajeto no qual o robˆ tende a reproduzir com mais frequˆ ncia. Nos o eexperimentos deste projeto, foi repetido por quatro vezes cada movimento (movimento linear eangular 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 avido 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 oem quest˜ o. a
  27. 27. 244.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-severificar 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- onor ou praticamente nula. Por exemplo, para a captura do movimento angular os robˆ s foram omantidos pr´ ximos ao c´rculo central do campo. o ı Figura 12: Campo de futebol de robˆ s utilizado nas filmagens. o4.4 ¸˜ OBTENCAO DOS DADOS UTILIZANDO O TRACKER4.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. 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 ainicial 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. 29. 26como 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 elhido (discutido anteriormente), arrastando-se a flecha ou qualquer uma de suas pontas. Ap´ s, odefine-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´ - alo 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 epara 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 ı odo 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. 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- etomaticamente, deve-se clicar sobre o novo Ponto de Massa criado, item destacado na JanelaTrack Control (figura 18). Nesta etapa determina-se automaticamente o trajeto do robˆ . Em o
  31. 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 acentro do c´rculo por padr˜ o (sinal de + no centro da (figura 20). Para alterar basta arrastar, para ı aqualquer lado, o ponto considerado como ”alvo”. ´ Na aba Accept e determinado um n´vel de precis˜ o para a captura do movimento. Redu- ı azindo 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 am´ 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. 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 cadaframe.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 oClicando 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 ı aobter manualmente o percurso do robˆ . o
  33. 33. 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 aprocura. Esse retˆ ngulo deve ter em m´ dia o tamanho do objeto procurado. a e4.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. 34. 31 ´ ¸˜ Figura 23: Icones de velocidade e acelaracao dentro do retˆ ngulo. a4.7 ¸˜ PASSOS PARA OBTENCAO DOS DADOS COM MOVIMENTO ANGULAR ¸˜ Para a obtencao dos dados com movimento angular, al´ m dos procedimentos j´ citados, e adeve-se fixar o referencial, para o sistema de coordenadas, no centro do ente rob´ tico, fazendo ocom que a origem do sistema acompanhe o centro do robˆ em movimento. Ou seja, a origem odo 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 percursoacompanha o centro do robˆ . Logo ap´ s, pode-se determinar o ponto de referˆ ncia para o plano o o ecartesiano 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). e4.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 aTracker 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 outrasvari´ 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. 35. 32 Figura 24: Robˆ em movimento angular. o ¸˜ Figura 25: Configuracao para o sistema de coordenadas acompanhar o centro do robˆ . o08 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 deslocamentodos 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. 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 deslocamentoangular 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 oconstante. 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 inferiordireito de cada figura):
  37. 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. aO 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. aO robˆ rotaciona no sentido hor´ rio com torque inicial. o a
  38. 38. 35 ¸˜Figura 29: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos aao quadrado. Este gr´ fico foi obtido ao linearizar o gr´ fico da figura anterior. O robˆ rotaciona no a a osentido hor´ rio com torque inicial. a ¸˜Figura 30: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. aO robˆ rotaciona no sentido anti-hor´ rio com velocidade constante. o a
  39. 39. 36 ¸˜Figura 31: Gr´ fico do movimento angular, em theta radianos, com relacao ao tempo em segundos. aO 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 aao quadrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 31. O robˆ rotaciona no a a osentido anti-hor´ rio com torque inicial. a
  40. 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- adrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 33. O robˆ se movimenta com a a o ¸˜aceleracao inicial.
  41. 41. 38 a ¸˜Figura 35: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se omovimenta com aceleraca¸ ˜ o inicial. ¸˜Figura 36: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua- adrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 35. O robˆ se movimenta com a a o ¸˜aceleracao inicial.
  42. 42. 39 a ¸˜Figura 37: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos. O robˆ se omovimenta com aceleraca¸ ˜ o inicial. ¸˜Figura 38: Gr´ fico do deslocamento, em Y (metros), em funcao do tempo em segundos ao qua- adrado. Este gr´ fico foi obtido linearizando o gr´ fico da figura 37. O robˆ se movimenta com a a o ¸˜aceleracao inicial.
  43. 43. 40 a ¸˜Figura 39: Gr´ fico do deslocamento, em X (metros), em funcao do tempo em segundos. O robˆ se omovimenta com velocidade constante.
  44. 44. 415 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 deestrat´ 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 ´ asimulacao f´sica e interpretacao das regras do Futebol de Robˆ s. Uma segunda camada atua ¸˜ ı ¸ ocomo Cliente e nela est˜ o denidas as acoes que devem ser tomadas pelos robˆ s. Para cada um a ¸˜ o
  45. 45. 42dos times h´ uma aplicacao cliente sendo executada. Essas duas camadas s˜ o executadas em a ¸˜ aaplicacooes diferentes que se comunicam atrav´ s de protocolo IP (Internet Protocol).” ¸˜ e ¸˜ Segue diagrama representativo para a comunicacao e funcionamento do programa figura 41e figura 42Figura 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. 46. 435.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.IndependentRsendo 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 ocada 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: o5.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 aesses valores no c´ digo do Tewnta. O arquivo Properties cont´ m as propriedades referentes ao o ediversos 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, acessehttp://dl.dropbox.com/u/12362738/monografia final.pdf
  47. 47. 44 Figura 43: Propeties. • Arquivo modificado – game.properties ¸˜ DESCRICAO As propriedades targetVelocityX e targetVelocityY representam as velocidades do robˆ em oseu 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. 48. 455.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. 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 queesses valores correspondam com o comportamento f´sico real dos robˆ s, os m´ todos: getRo- ı o etationAcceleration() e getAcceleration() foram sobrecritos para que estes retornassem o valorcontido no arquivo game.properties.
  50. 50. 47 O m´ todo getAcceleration() retorna a quem o chamou uma instˆ ncia da classe Vector (pa- e acote br.ufrgs.f180.math.Vector), que representa um vetor, contendo componentes no eixo dasabscissas e no eixo das ordenadas. O m´ todo getRotationAcceleration() retorna um double, esendo 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- alocity, que est´ presente na classe Robot, tendo sido alterado o tipo de encapsulamento deste, de aprivate para protected, permitindo assim, que classes derivadas tenham acesso a esta vari´ vel. aAl´ m de targetVelocity, protected static final double ROBOT MAX VELOCITY e protected estatic final double ROBOT MAX FORCE tiveram seus modificadores de acesso alterados deprivate 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 alinear 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 domovimento do robˆ . O m´ todo public void calculatePosition(double time-Elapsed), da classe o eRobot, foi sobrescrito para que considerasse apenas movimentos v´ lidos, evitando-se que ao ase dar o comando de andar para o robˆ , este tamb´ m rotacione indevidamente, atualizando em o e ¸˜seguida a posicao do robˆ no campo. o5.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 oque este respondesse corretamente aos comandos de movimentar-se linearmente ou rotacio- ` ¸˜ ¸˜nar, pois devido a implementacao original, a representacao do movimento tornava-se imprecisaquando este era uma instˆ ncia de uma das classes IndependentRobot, fazendo com que o robˆ a orotacionasse quando este deveria apenas mover-se linearmente, ou vice-versa.

×