Agentes inteligentes en Unity

Castro Ginés, Mario (2021). Agentes inteligentes en Unity. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Agentes inteligentes en Unity
Author/s:
  • Castro Ginés, Mario
Contributor/s:
  • Mayor Márquez, Jesús
  • Díaz Álvarez, Alberto
Item Type: Final Project
Degree: Grado en Ingeniería de Computadores
Date: July 2021
Subjects:
Freetext Keywords: Agentes inteligentes; Videojuegos; Entornos 3D
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview

Abstract

En este Trabajo de Fin de Grado se propone diseñar un entorno y escenario, en Unity, con el fin de entrenar agentes inteligentes capaces de aprender a resolver un problema por ellos mismos tras un entrenamiento previo. En concreto se va a desarrollar y diseñar un videojuego completamente funcional de baloncesto, donde dos jugadores de equipos diferentes competirán por tener el balón y conseguir encestar la pelota en la canasta contraria. Los agentes inteligentes entonces, serán los jugadores y tendrán que aprender desde cero como jugar y luchar contra su contrincante. Para ello se han diseñado los modelos 3D de la pista de baloncesto y sus componentes como las canastas, pelota y finalmente los dos jugadores de cada equipo. Todo esto se ha creado con el motor gráfico de Unity. Los jugadores contarán con movimientos (acciones y decisiones) como: moverse hacia delante-atrás o derecha-izquierda, rotar sobre si mismos para moverse con más facilidad por la pista de baloncesto, coger la pelota o bien del suelo o robándosela al oponente y lanzar la pelota. Quien más puntuación tenga al final del juego ganara la partida como en un partido de baloncesto convencional. Para su entrenamiento se ha usado la librería ML-Agents, lanzada en 2017 por la propia plataforma de desarrollo Unity, cuya funcionalidad es gestionar el entrenamiento de estos agentes en función de los parámetros que se configuren para ello, facilitando al desarrollador ciertas etapas del proceso de entrenamiento. La metodología elegida para el entrenamiento de los agentes es, el aprendizaje por refuerzo. Dependiendo de las acciones y decisiones, obtienen un refuerzo positivo o negativo viéndose reflejado en su aprendizaje. Variando estos valores se han obtenido diferentes resultados, llegando finalmente a la configuración de refuerzos esperada. Finalmente se han obtenido los resultados y conclusiones de cada prueba, donde se muestran gráficas que reflejan las distintas etapas de entrenamiento, así como el refuerzo positivo acumulado de cada agente dependiendo de la prueba y del comportamiento aprendido por estos. Esta información ha sido obtenida gracias a la plataforma Tensorboard. Abstract: In this Final Degree Work it is proposed to design an environment and scenario, in Unity, to train intelligent agents capable of learning to solve a problem by themselves after a previous training. Specifically, a fully functional basketball videogame will be developed and designed, where two players from different teams will compete to have the ball and throw the ball in the opposite basket. The intelligent agents then, will be the players and they will have to learn from the beginning how to play and fight their opponent. For this purpose, the 3D models of the basketball field and its components such as baskets, ball and finally the two players of each team have been designed. All of this has been created with Unity's graphics engine. Players will have movements (actions and decisions) such as: move forward-backward or right-left, rotate on themselves to move more easily around the basketball field, take the ball either from the ground or steal it from the opponent and throw the ball. Whoever has the highest score at the end of the game will win the match as in a conventional basketball game. For its training has been used the ML-Agents library, launched in 2017 by the development platform Unity, whose functionality is to manage the training of these agents depending on the parameters that are configured for it, facilitating the developer certain stages of the training process. The methodology chosen for the training of agents is, reinforcement learning. Depending on the actions and decisions, they obtain a positive or negative reward being reflected in their learning. Varying these values have obtained different results, finally reaching the configuration of reinforcements expected. Finally, the results and conclusions of each test have been obtained, showing graphs and statistics that reflect the different stages of training, as well as the accumulated positive reinforcement of each agent depending on the test and the behavior learned by them. This information has been obtained thanks to the Tensorboard platform.

More information

Item ID: 68238
DC Identifier: https://oa.upm.es/68238/
OAI Identifier: oai:oa.upm.es:68238
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 20 Aug 2021 16:44
Last Modified: 20 Oct 2021 06:28
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM