TORCS Training Interface: Uma Ferramenta Auxiliar Ao Desenvolvimento De Pilotos Do TORCS
Total Page:16
File Type:pdf, Size:1020Kb
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação TORCS Training Interface: Uma ferramenta auxiliar ao desenvolvimento de pilotos do TORCS Clara Marques Caldeira Monograa apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Orientador Prof. Dr. Guilherme Novaes Ramos Brasília 2013 Universidade de Brasília UnB Instituto de Ciências Exatas Departamento de Ciência da Computação Bacharelado em Ciência da Computação Coordenadora: Prof.a Dr.a Maristela Holanda Banca examinadora composta por: Prof. Dr. Guilherme Novaes Ramos (Orientador) CIC/UnB Prof.a Dr.a Carla Denise Castanho CIC/UnB Prof. Dr. Rodrigo Bonifácio de Almeida CIC/UnB CIP Catalogação Internacional na Publicação Caldeira, Clara Marques. TORCS Training Interface: Uma ferramenta auxiliar ao desenvolvi- mento de pilotos do TORCS / Clara Marques Caldeira. Brasília : UnB, 2013. 115 p. : il. ; 29,5 cm. Monograa (Graduação) Universidade de Brasília, Brasília, 2013. 1. TORCS, 2. inteligência articial, 3. jogos digitais CDU 004.4 Endereço: Universidade de Brasília Campus Universitário Darcy Ribeiro Asa Norte CEP 70910-900 BrasíliaDF Brasil Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação TORCS Training Interface: Uma ferramenta auxiliar ao desenvolvimento de pilotos do TORCS Clara Marques Caldeira Monograa apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Prof. Dr. Guilherme Novaes Ramos (Orientador) CIC/UnB Prof.a Dr.a Carla Denise Castanho Prof. Dr. Rodrigo Bonifácio de Almeida CIC/UnB CIC/UnB Prof.a Dr.a Maristela Holanda Coordenadora do Bacharelado em Ciência da Computação Brasília, 13 de dezembro de 2013 Dedicatória Dedico à minha família e amigos, tão frequentemente negligenciados em favor dos meus estudos, mas que ainda assim mantiveram o tão necessário e motivador apoio ao longo dos últimos anos. i Agradecimentos A todos os grandes professores e professoras que contribuíram para a minha formação e para o meu crescimento intelectual e prossional, a minha grande admiração e um muito obrigada. Agradeço especialmente o professor Guilherme Ramos, pela orientação e incentivo para ir além do esperado ou estritamente necessário, ao professor Claus Aranha e a Bernhard Wymann, pelas valiosas contribuições a este trabalho. ii Resumo A ineciente maneira como pilotos são testados e desenvolvidos para jogo e simulador de corrida TORCS é um problema relevante por conta das limitações impostas sobre tra- balhos de desenvolvimento de pilotos, i.e., algoritmos que determinam o comportamento dos carros não controlados por jogadores humanos. Porque este software tem um pa- pel de plataforma para benchmark de diferentes abordagens de Inteligência Articial, é importante que se procure mitigar tal problema. Aqui desenvolveu-se a TORCS Training Interface, uma ferramenta que oferece au- tomatizações para melhorar a eciência das chamadas de simulações e retornar dados mais completos - ambos fatores importantes para as necessárias avaliações que têm como objetivo estimar habilidades de pilotos. Os resultados dos testes comparativos realiza- dos indicam que o uso da ferramenta é uma alternativa viável às abordagens observadas na literatura, apresentando vantagens que podem torná-la a forma mais adequada para processos similares aos considerados neste trabalho. Palavras-chave: TORCS, inteligência articial, jogos digitais iii Abstract The inecient manner in which drivers are tested and developed for the racing game and simulator TORCS is a relevant problem because of the limitations imposed over projects of development of drivers, i.e., algorithms that determine the behavior of cars that are not controlled by human players. Because this software has a role of benchmark for dierent techniques of Articial Intelligence, it is important to work on mitigating this problem. The TORCS Training Interface was developed, a tool that oers automatizations in order to improve the eciency of simulation calls and return more complete data - both of which are important for the necessary evaluations that have as a goal estimating the tness of drivers. Results of the comparative tests performed indicate that the use of the tool is a viable alternative to the approaches seen in the literature, presenting advantages that can make it the most tting to processes that are similar to the ones considered here. Keywords: TORCS, articial intelligence, digital games iv Sumário 1 Introdução1 1.1 Inteligência Articial em jogos.........................2 1.2 Jogos em Inteligência Articial.........................3 1.3 Simulated Car Racing Championship .....................4 1.4 Denição do Problema.............................4 2 Fundamentação teórica7 2.1 O simulador TORCS..............................7 2.1.1 Terminologia..............................9 2.1.2 Os controladores............................9 2.1.3 Sensores e atuadores.......................... 12 2.1.4 Circuitos e modos de corrida...................... 13 2.1.5 Formas de execução: GUI e CL.................... 14 2.2 Estado da arte no desenvolvimento de pilotos................ 15 2.2.1 Denições iniciais............................ 15 2.2.2 A escolha dos circuitos......................... 16 2.2.3 Ordenação e intervalo considerado................... 17 2.2.4 Informações auxiliares......................... 18 2.2.5 Inuência sobre os resultados..................... 18 2.3 Software Livre e a licença GPL........................ 19 3 TORCS Training Interface 21 3.1 Proposta..................................... 21 3.2 Estrutura da TTI................................ 22 3.3 Congurações.................................. 23 3.3.1 Circuitos................................. 23 3.3.2 Duração das corridas.......................... 23 3.3.3 Término adiantado........................... 23 3.3.4 Congurações implícitas........................ 24 3.3.5 Geração dos arquivos XML...................... 25 3.4 Simulação.................................... 26 3.4.1 Interação com o servidor........................ 26 3.4.2 Execução dos clientes.......................... 27 3.4.3 Interface gráca............................. 27 3.4.4 Dados retornados............................ 28 3.5 Implementação................................. 29 v 3.6 Como utilizar.................................. 29 4 Testes 31 4.1 Controlador usado............................... 31 4.2 Descrição dos testes............................... 32 4.2.1 Teste manual.............................. 33 4.2.2 Teste online ............................... 33 4.2.3 Teste com a TTI............................ 34 4.3 Resultados dos testes.............................. 34 4.3.1 Tempo gasto.............................. 34 4.3.2 Esforços envolvidos........................... 34 4.3.3 Tempos retornados........................... 35 4.4 Discussão.................................... 35 4.5 Limitações.................................... 37 4.6 Observações................................... 37 5 Conclusão 38 5.1 Trabalhos futuros................................ 39 5.1.1 Comparação com modelos de referência................ 40 Referências 42 A Relação de circuitos do TORCS 44 B Exemplo de arquivo de conguração 48 C E-mails trocados com Bernhard Wymann 49 vi Lista de Figuras 2.1 Captura de tela de uma corrida realizada no TORCS [11]..........8 2.2 Arquitetura cliente-servidor do simulador TORCS [13]............ 10 2.3 Hierarquia das classes BaseDriver, WrapperBaseDriver e SimpleDriver (atri- butos de SimpleDriver, retorno e argumentos dos métodos omitidos).... 11 2.4 Ilustração dos sensores angle, track (conguração padrão), trackPos, op- ponents e das direções relativas aos sensores speedX e speedY. Adaptado de [14]....................................... 12 2.5 Informação enganosa do sensor track, quase idêntica para situações que exigem ações diferentes [18]........................... 16 2.6 Wheel-2, um circuito com alta diversidade de curvaturas e velocidades [12] 17 3.1 Interações da TTI com o simulador TORCS e com o programa que a utiliza 27 4.1 Tempo gasto por cada forma de testes (em segundos)............. 35 5.1 Ilustração das trajetórias calculadas: a de menor comprimento em azul (shortest path) e a de menor curvatura em vermelho (minimum curvature path)[5]..................................... 41 A.1 Categoria oval .................................. 44 A.2 Categoria dirt, todas têm 10m de largura................... 45 A.3 Categoria road parte 1............................. 46 A.4 Categoria road parte 2............................. 47 vii Capítulo 1 Introdução Ao passo que são desenvolvidas novas tecnologias na área de Inteligência Articial (IA), tornam-se necessárias formas de se estimar os avanços feitos, observar como estes se comparam com o que existia até então e que novas possibilidades trazem. Para tanto, pode-se utilizar como base de comparação, ou meta a ser alcançada, o desempenho ob- servado em seres humanos, tomados como referência no quesito de inteligência. O jogo de xadrez é frequentemente usado como ferramenta de benchmark para IAs. A habili- dade de jogá-lo bem é ligada à inteligência em humanos [8] e, nesse caso, uma análise dos resultados de partidas nas quais a máquina joga contra pessoas com diferentes níveis de habilidade proporciona informações a respeito da habilidade da própria IA. Para que seja possível realizar efetivamente tais comparações com intuitos avaliativos, é essencial que exista um ambiente no qual diferentes IAs e humanos possam atuar