Está en la página 1de 91

UNIVERSIDAD JUREZ AUTNOMA DE

TABASCO
DIVISIN ACADMICA DE INFORMTICA Y SISTEMAS

DESARROLLO DE ESTRATEGIAS BSICAS DE DEFENSA


PARA JUEGO DE FUTBOL ROBTICO BAJO AMBIENTE
SIMULADO
Trabajo recepcional bajo la modalidad de Tesis
Que para obtener el grado de

Licenciado en Sistemas Computacionales


Presentan:

Roxana Daz Aguilar


Emmanuel Palomera May
Directores de Trabajo Recepcional:

M. en C. Jose Luis Gmez Ramos


M.C. Guillermo de los Santos Torres
Cuerpo Acadmico:

Sistemas Inteligentes
Lneas de Generacin y Aplicacin del Conocimiento:

Agentes, Robtica y Visin Computacional

Cunduacn, Tabasco

Febrero 2012

UNIVERSIDAD JUREZ AUTNOMA DE


TABASCO
DIVISIN ACADMICA DE INFORMTICA Y SISTEMAS

DESARROLLO DE ESTRATEGIAS BSICAS DE


DEFENSA PARA JUEGO DE FUTBOL ROBTICO BAJO
AMBIENTE SIMULADO
Trabajo recepcional bajo la modalidad de Tesis
Que para obtener el grado de

Licenciado en Sistemas Computacionales


Presentan:

Roxana Daz Aguilar


Emmanuel Palomera May
Directores de Trabajo Recepcional:

M. en C. Jose Luis Gmez Ramos


M.C. Guillermo de los Santos Torres
Jurado Revisor:

M.I.S. Homero Alpuin Jimnez


M.C. Carlos Arturo Custodio Izquierdo
I.S.C. Mauricio Arturo Reyes Hernndez
L.I.A. Martha Patricia Silva Payr
M.I.S. Laura Beatriz Vidal Turrubiates
Cuerpo Acadmico:
ii

Sistemas Inteligentes
Cunduacn, Tabasco

Febrero 2012

Dedicatoria

A Dios
Por permitirme llegar hasta este punto importante en mi vida y
darme salud para lograr mis objetivos, adems de su infinita bondad
y amor. Gracias tambin por los momentos difciles que me han
enseado a valorarte cada da ms, por la experiencia adquirida y la
sabidura que me ha dado.
A mi Familia
Principalmente a mis padres quienes me han heredado el tesoro
ms valioso que puede drsele a un hijo: Amor. A quienes sin
escatimar esfuerzo alguno, han sacrificado gran parte de su vida
para formarme y educarme. A quienes la ilusin de su vida ha sido
en convertirme en persona de provecho. A quienes nunca podr
pagar todos sus desvelos ni aun con las riquezas ms grandes del
mundo. A mis hermanas que las amo como todo mi corazn y
gracias por apoyarme y quererme, a mi abuelita que siempre me
aconsejaba y a todos mis tos que de alguna u otra manera siempre
me apoyaron.
A mis Amigos
Alex, Carlos, Emma, Irving, Ise, Karen, Keane, Kike, Lalo, Loli, Migue,
Neto, Romn, Watson y a todos que no menciono pero que siempre
estuvieron en todos los momentos bellos y difciles, que hicieron
que las risas desahogaran mi estrs y pasar ratos agradables,
gracias pos su apoyo y consejos los llevo en mi corazn.
<Roxana >

iii

A Dios
Por darme la vida y fuerzas necesarias para salir adelante, sobre
todo por permitir culminar una de las etapas ms importante de mi
vida, nunca me ha dejado solo, me protege y gua en cada paso que
doy.
A mis Padres
Por la herencia ms valiosa que pudiera recibir, fruto del inmenso
apoyo y confianza que en mi se deposito, para que los esfuerzos y
sacrificios hechos por m no fueran en vano. Con admiracin y
respeto!
A mis Amigos
Alex, Carlos, Irving, Ise, Karen, Kike, Lalo, Loli, Migue, Neto, Romn,
Rox, Watson y a todos aquellos que hicieron que esos momentos
difciles fueran aliviados con ratos de sus alegras y compaa, los
llevo en mi mente y corazn.
<Emmanuel >

iv

Agradecimientos
Principalmente a Dios por darnos la vida y esta gran bendicin de
cumplir un logro ms en nuestras vidas, gracias por su sabidura que
nos regala a diario.
A nuestros padres que hicieron un gran esfuerzo y sacrificio para
darnos este gran regalo. Este logro tambin es de ustedes, gracias!
Al M. en C. Jos Luis Gmez Ramos por su comprensin, atencin y por
habernos confiado tan valioso proyecto. Al M. en C. Guillermo de los
Santos Torres por su apoyo y por brindarnos la oportunidad de adquirir
nuevos conocimientos al desarrollar el proyecto.
A nuestros revisores M.I.S. Homero Alpuin Jimnez, M.C. Carlos Arturo
Custodio Izquierdo, I.S.C. Mauricio Arturo Reyes Hernndez, L.I.A.
Martha Patricia Silva Payr, M.I.S. Laura Beatriz Vidal Turrubiates, por
su ayuda, tiempo y apoyo dedicado a las mejoras de esta tesis.
A todos nuestros amigos de la DAIS que fueron de apoyo en esta
etapa y que siempre se preocuparon por darnos nimo y algunos
consejos para seguir.
A nuestros compaeros que tambin trabajaron en la otra parte del
proyecto. Guadalupe, Gerardo, Caro y Tilo.
A todos aquellos de que de alguna manera siempre fueron de gran
apoyo y ayuda en el desarrollo de esta tesis.
v

Gracias!

vi

ndice

vii

Resumen.........................................................................................................................................19
Captulo I.

Generalidades.........................................................................................................20

1.1

Antecedentes...................................................................................................................20

1.2

Planteamiento del problema...........................................................................................23

1.3

Objetivo general.............................................................................................................24

1.4

Justificacin....................................................................................................................24

1.5

Delimitacin...................................................................................................................25

1.6

Metodologa a utilizar.....................................................................................................26

Captulo II.
2.1

Marco Terico.........................................................................................................28

Marco Legal....................................................................................................................29

2.1.1

Visual C++..................................................................................................................29

2.1.2

3D Robot Soccer Simulator........................................................................................29

2.2

Marco Conceptual..........................................................................................................30

2.2.1

Conceptos y teoras relacionados con la investigacin..............................................30

2.2.1.1.

Robtica..................................................................................................................30

2.2.1.2.

Futbol Robtico......................................................................................................31

2.2.1.3.

Estrategia de defensa..............................................................................................31

2.2.1.4.

SimuRoSot..............................................................................................................37

2.2.1.5.

Software de desarrollo............................................................................................38

2.3
2.3.1

Conceptos y teoras relacionados con el marco tecnolgico..........................................38

2.4

FIRA...........................................................................................................................38
Conceptos y teoras relacionados con el mtodo a utilizar.............................................40

2.4.1

POO............................................................................................................................40

2.4.2

UML...........................................................................................................................43

2.4.3

Desarrollo Adaptable de Software..............................................................................45

2.5

Marco Tecnolgico.........................................................................................................49

2.5.1

Simulador Robot Soccer.............................................................................................49

2.5.2

Interfaz de Usuario.....................................................................................................50
viii

2.5.3

Lenguaje de Programacin.........................................................................................55

Captulo III.
3.1

Aplicacin de la metodologa y desarrollo.........................................................56

Desarrollo de la metodologa..........................................................................................56

3.1.1

Especular....................................................................................................................56

3.1.2

Colaborar....................................................................................................................63

3.1.3

Aprender.....................................................................................................................65

Captulo IV.
4.1

Pruebas y Resultados..........................................................................................67

Elaboracin e implementacin de la estrategia de defensa basada en roles...................67

4.1.1

Pruebas de la estrategia de defensa basada en roles...................................................68

4.1.2

Anlisis de resultados de la estrategia de defensa basada en roles.............................72

4.2

Elaboracin e implementacin de la estrategia de defensa basada en reas..................73

4.2.1

Pruebas de la estrategia de defensa basada en reas...................................................74

4.2.2

Anlisis de resultados de la estrategia de defensa basada en reas............................79

Captulo V.

Conclusiones y trabajos futuros..............................................................................81

5.1

Conclusiones...................................................................................................................81

5.2

Trabajos futuros..............................................................................................................83

Bibliografa.....................................................................................................................................84
Glosario..........................................................................................................................................88
Anexos............................................................................................................................................90

ix

ndice de Ilustraciones

Ilustracin 1.1.- Ciclo de Vida del Modelo ASD............................................................................26


Ilustracin 2.1.- Estrategias de Defensa.........................................................................................33
Ilustracin 2.2.- Jerarqua de diagramas UML 2.0, mostrados como diagrama de clases..............43
Ilustracin 2.3.- Ejemplo de un Diagrama de Caso de Uso y su Simbologa.................................44
Ilustracin 2.4.- Ejemplo de un Diagrama de estado y su simbologa...........................................45
Ilustracin 2.5.- Ejemplo de un diagrama de secuencias y su simbologa.....................................45
Ilustracin 2.6.- Ciclo de Vida del Modelo ASD............................................................................48
Ilustracin 2.7.- Pantalla de bienvenida del Simulador Robot Soccer de la FIRA........................50
Ilustracin 2.8.- Men Strategies del Robot Soccer de la FIRA....................................................51
Ilustracin 2.9.- Men Time/Score del simulador Robot Soccer de la FIRA.................................52
Ilustracin 2.10.- Men en el juego Robot Soccer de la FIRA......................................................53
Ilustracin 2.11.- La barra de visin Robot Soccer de la FIRA.....................................................54
Ilustracin 2.12.- La barra de visin 2 del simulador Robot Soccer de la FIRA...........................54
Ilustracin 3.1.- Formacin estrategia basada en roles...................................................................57
Ilustracin 3.2.- Caso de uso de la estrategia basada en roles........................................................58
Ilustracin 3.3.- Diagrama de Estado de la estrategia Basada en Roles.........................................59
Ilustracin 3.4.- Formacin estrategia basada en reas..................................................................60
Ilustracin 3.5.- Caso de uso de la estrategia basada en reas.......................................................60
Ilustracin 3.6.- Diagrama de Estado de la estrategia basada en reas..........................................61
Ilustracin 3.7.- Entorno de trabajo de Microsoft Visual C++ 6.0.................................................63
Ilustracin 3.8.-Fragmento de cdigo de la funcin run................................................................64
Ilustracin 3.9.-Fragmento de cdigo de la funcin cerc...............................................................64
Ilustracin 3.10.-Fragmento de cdigo de la funcin go................................................................64
Ilustracin 3.11.-Fragmento de cdigo de la funcin kick.............................................................65
Ilustracin 4.1.-Ubicacin de los jugadores en el campo...............................................................68
Ilustracin 4.2.- Promedio de autogoles realizados en las pruebas................................................69
x

Ilustracin 4.3.-Promedio de goles a producidos durante las pruebas...........................................69


Ilustracin 4.4.-Promedio de goles recibidos.................................................................................70
Ilustracin 4.5.-Promedio del nmero de veces que el baln entr al rea....................................70
Ilustracin 4.6.-Promedio de despejes realizados de manera correcta...........................................71
Ilustracin 4.7.-Promedio del nmero de obstrucciones por los jugadores....................................71
Ilustracin 4.8.-Tiempo en promedio que se tuvo controlado el baln..........................................72
Ilustracin 4.9.-Ubicacin de los jugadores en el rea de juego....................................................74
Ilustracin 4.10.- Promedio de autogoles producidos por los jugadores........................................75
Ilustracin 4.11.- Promedio de goles a favor durante las pruebas..................................................76
Ilustracin 4.12.- Promedio de goles producidos por el equipo contrario.....................................76
Ilustracin 4.13.- Promedio del nmero de balones que se tuvieron en el rea defendida............77
Ilustracin 4.14.- Nmero de veces que se despej de manera correcta........................................77
Ilustracin 4.15.- Promedio del nmero de obstrucciones realizadas por los jugadores................78
Ilustracin 4.16.- Tiempo en promedio que se tuvo controlado en baln......................................79
Ilustracin 1.- Entorno de trabajo visual 6 C++.............................................................................91
Ilustracin 2.- Archivos de cdigo fuente.......................................................................................91
Ilustracin 3.- Entorno de trabajo visual 6 C++.............................................................................92
Ilustracin 4.- Archivos DLL.........................................................................................................92
Ilustracin 5.- Directorio para cargar las estrategias......................................................................93
Ilustracin 6.- Entorno del simulador.............................................................................................93
Ilustracin 7.- Panel de estrategias.................................................................................................94
Ilustracin 8.- Panel de estrategias.................................................................................................94
Ilustracin 9.- Panel de estrategias.................................................................................................95

xi

ndice de Tablas

Tabla 3.1.- Descripcin del caso de uso de la estrategia basada en roles.......................................59


Tabla 3.2.- Descripcin del caso de uso de la estrategia basada en reas......................................61
Tabla 4.1.- Resultados obtenidos en las pruebas de calidad...........................................................68
Tabla 4.2.- Tabla Comparativa de la estrategia basada en roles.....................................................73
Tabla 4.3.- Resultados obtenidos durante las pruebas de calidad...................................................75
Tabla 4.4.- Tabla Comparativa de la estrategia basada en reas.....................................................79
Tabla 1.- Resultados obtenidos en la prueba de control.................................................................90
Tabla 2.- Resultados obtenidos en la primera prueba de calidad....................................................96
Tabla 3.- Resultados obtenidos en la segunda prueba de calidad...................................................96
Tabla 4.- Resultados obtenidos en la tercera prueba de calidad.....................................................96
Tabla 5.- Resultados obtenidos en la primera prueba de calidad....................................................97
Tabla 6.- Resultados obtenidos en la segunda prueba de calidad...................................................97
Tabla 7.- Resultados obtenidos en la tercera prueba de calidad.....................................................97

xii

Resumen
El ftbol robtico es una disciplina que exige al robot percibir su entorno, utilizar los datos para
razonar y emprender las acciones apropiadas, esto resulta til para personas que estn iniciando
en reas de la robtica porque les permite poner a prueba los conocimientos adquiridos.
Esta investigacin ser antecedente para crear en la Divisin Acadmica de Informtica y
Sistemas un banco de estrategias que pueda ser utilizada por alumnos de la institucin con fines
de investigacin.
Esta investigacin se realiz utilizando la metodologa Desarrollo Adaptable de Software (ASD),
la cual es una metodologa gil y consta de un ciclo de vida iterativo de constantes mejoras.
Apoyndose del Lenguaje Unificado de Modelado (UML), para la elaboracin de la
documentacin y planeacin, siendo muy til al momento de realizar la parte de programacin.
Las estrategias de defensa desarrolladas fueron probadas a largo de treinta partidos teniendo
como oponente la estrategia de ejemplo que trae el simulador, los resultados fueron mejorando
durante el desarrollo de las pruebas.
Es conveniente mencionar que la estrategia de defensa basada en roles en el proceso de las
pruebas demostr tener un mejor desempeo al realizar sus tareas, que la estrategia de defensa
basada el reas.
Para realizar las pruebas se tomaron en cuenta los siguientes aspectos: nmero de autogoles,
nmero de goles producidos, nmero de goles recibidos, nmero de veces que el baln estuvo en
el rea, numero de obstrucciones de los jugadores y el tiempo en posesin del baln; los
resultados obtenidos se presentan a travs de grficas, donde se muestra la eficiencia de la
estrategia de defensa basada en roles y la estrategia de defensa basada en reas.

13

Generalidades

I.1

Antecedentes

Desde el principio de los tiempos, el hombre ha deseado crear artefactos capaces de realizar
tareas diarias, pesadas, difciles y comunes para el ser humano, o bien, para facilitar las labores
cotidianas; se daban cuenta que haban tareas repetitivas que se podan igualar con un complejo
sistema, es as como se comienza a crear vida artificial con mquinas capaces de repetir las
mismas labores que el hombre realizaba; tal es el caso de los primeros modelos de ordenadores
analgicos, que comenzaron a construirse a principios del siglo XX, estas evaluaban las
aproximaciones numricas de ecuaciones demasiado difciles como para poder ser resueltas
mediante otros mtodos. Al paso de los aos hasta nuestros das, las ramas de la computacin
fueron tomando un giro revolucionario impresionante; tal es el caso de la robtica que a partir de
su aparicin se empezaron a desarrollar sistemas inteligentes capaces de desempear diversas
tareas que van desde la ms simple a la ms compleja. [Robtica, 1999]
El trmino robtica fue acuado en 1939 por Isaac Asimov para describir la tecnologa de los
robots. l mismo predijo hace aos el aumento de una poderosa industria robtica, prediccin
que ya se ha hecho realidad. La robtica es un rea interdisciplinaria formada por la ingeniera
mecnica, elctrica, electrnica y sistemas computacionales. La informtica provee de los
programas necesarios para lograr la coordinacin mecnica requerida en los movimientos del
robot, dar un cierto grado de inteligencia a la mquina, es decir, adaptabilidad, autonoma y
capacidad interpretativa y correctiva. [Gonzlez, 2002]
El trmino de robtica inteligente, combina cierta destreza fsica de locomocin y manipulacin,
que caracteriza a lo que conocemos como robot, con habilidades de percepcin y de
razonamiento residentes en una computadora [Alcal, 2005]. Recientemente se ha producido una
explosin en el desarrollo y uso industrial de los robots tal que se ha llegado al punto de hablar de
"revolucin de los robots" y "era de los robots". Los robots se han involucrado en una diversidad
de campos, es por ello que en al ao de 1992 se plantea la idea de construir robots jugadores de
14

futbol, en un artculo del profesor Alan Mackworth de la University of British Columbia en


Canad, titulado On Seeing Robots.
En el ao de 1993 un grupo de investigadores japoneses, deciden aplicar sus conocimientos de
informtica, electrnica e inteligencia artificial, en una competencia de futbol robtico, a la cual
le dieron tentativamente el nombre de Liga Profesional Japonesa de Ftbol Robtico (JLeague), a
lo largo del mes recibieron gran nmero de reacciones de investigadores fuera de Japn,
solicitando que esta iniciativa fuera ampliada ms all de las fronteras de Japn como un
proyecto de ndole internacional, gracias a este apoyo a nivel mundial naci lo que hoy
conocemos como Copa Mundial de Futbol Robtico (RoboCup).[RoboCup, s.f.]
En septiembre de 1993, el primer aviso pblico de la iniciativa fue hecho, y regulaciones
especficas fueron bosquejadas. Por consiguiente, las discusiones sobre organizacin y
especificaciones tcnicas eran sostenidas en las numerosas conferencias y talleres impartidos,
incluyendo el simposio de The Twelfth National Conference on Artificial Intelligence (AAAI94), de The Japanese Society for Artificial Intelligence (JSAI), y en varias reuniones de la
sociedad robtica.
Los primeros juegos y conferencias oficiales de RoboCup fueron llevados a cabo en 1997 con
gran xito. Alrededor de 40 equipos participaron (simulacin y reales combinados), y asistieron
alrededor de 5.000 espectadores. [RoboCup, s.f.]
Hoy en da son dos los campeonatos a nivel mundial que renen a los mejores equipos de futbol
robtico en sus diferentes categoras, la RoboCup y FIRA.
La Federation Internacional de Robot-Soccer Asociation (FIRA), surgi en 1995, su primer
campeonato se llev a cabo en KAIST, Daejeon, Corea en 1996. La FIRA fue fundada en el
espritu ciencia y la tecnologa de la robtica. El futbol robtico puede ser interpretado como una
competencia de la tecnologa de los robots en un espacio confinado. Ofrece un escenario difcil
para las nuevas generaciones y los investigadores que trabajan con sistemas autnomos mviles
de la robtica. [FIRA, 2004]
Con el paso de los campeonatos se ha requerido que nuevas categoras sean aadidas al torneo:

MiRoSoT: Micro-Robot Soccer Tournament (Torneo de Soccer de Micro. Robots).


15

HuRoSoT: Humanoid Robot Soccer Tournament (Torneo de Soccer de Robots


Humanoides).

NaRoSoT: Nano Robots Soccer Tournament (Torneo de Soccer de Nano Robots).

KheperaSoT: Khepera Soccer Tournament (Torneo de Soccer de robot Khepera).

RoboSoT: Robot Soccer Tournament (Torneo de Soccer de Robot).

SimuRoSot: Simulated Robot Soccer Tournament (Torneo de Soccer de Robots


Simulado). [FIRA,2004]

Las ramas en las que se encuentra dividido el torneo de la FIRA son dos: los robots fsicos y los
que trabajan mediante un ambiente simulado. Dentro de este ltimo, se tomar como caso de
estudio la Middle League SimuRoSot [FIRA, 2004], que consiste en un ambiente simulado donde
se llevan a cabo partidos de cinco robots contra cinco. El sistema comprende un servidor que
contiene el juego perse (cancha, robots, tanteador, etc.) y dos programas clientes con las
estrategias de juego. Los cuadros pueden construir su propia estrategia y competir entre s sin
hardware (robots) adicional. El servidor provee a los jugadores con la informacin de posicin de
jugadores y baln en todo instante. Vale la pena notar que el tiempo interno de la aplicacin no
corresponde al tiempo real (externo), dado que cada jugador es llamado una vez por iteracin y
puede demorar un lapso arbitrario en responder.

16

I.2

Planteamiento del problema

Las competencias de futbol robtico fueron creadas bsicamente para estimular la investigacin y
desarrollo en los campos de la robtica e inteligencia artificial, es por ello que muchas
investigaciones se han realizado en estos campos ya que existe una amplia gama de temas
relacionados. Muchas instituciones en Mxico forman parte de estas investigaciones, tal es el
caso del Tecnolgico de Monterrey que se ha esforzado en investigar ms en la categora de
simulacin y gracias a esto ha participado ya en varios torneos de la RoboCup desde hace varios
aos; los Pumas-UNAM, del Laboratorio de Bio-robtica de la Universidad Nacional Autnoma
de Mxico que participa en el torneo internacional de futbol con robots de forma humana y el
Instituto Tecnolgico Autnoma de Mxico(ITAM) que con su equipo de robots humanoides
llamado Eagle Knights participan desde el 2003 en la categora Small-Size y posteriormente
en las categoras Standard -Platform y @Home habiendo obtenido importantes logros a lo
largo de estos aos; por mencionar algunas.[Tri, 2009]
Dentro de los beneficios que las instituciones obtienen al realizar trabajos de investigacin dentro
del rea de la robtica se puede mencionar: el desarrollo de tecnologa robtica que pueden ser
aplicadas en la vida cotidiana e impulsar a los estudiantes a realizar investigaciones dentro de esta
rea, entre otras.
Es por esto que en la DAIS se ha tomado la iniciativa de crear Antecedentes ya que actualmente
este tipo de reas no cuentan con tal desarrollo, por eso se ha decidido seguir los ejemplos de las
universidades mencionadas que se han esforzado por sacar adelante proyectos de investigacin
aportando con esto una valiosa oportunidad de formar un equipo de futbol robtico capaz de
participar en competencias y torneos de acuerdo a las reglas establecidas y pueda desarrollar
eficientemente las estrategias de juego con el objetivo de anotar un gol y con esto ser reconocidos
como participantes en los torneos de la FIRA en la categora de SimuRoSot.

17

I.3

Objetivo general

Desarrollar estrategias bsicas de defensa que puedan ser aplicadas dentro del juego de futbol
robtico simulado, con la finalidad de jugar un partido de acuerdo a las reglas establecidas en la
Middle League de la categora SimuRoSot.

1.3.1 Objetivos especficos

Desarrollar estrategias de defensa que cumplan las funciones bsicas para cuidar la
portera, de los ataques del equipo contrario.

Identificar patrones de juego para poder utilizar una estrategia de juego apta.
Crear antecedentes y darlos a conocer como avances en el campo de la robtica dentro de
la DAIS.

I.4

Justificacin

El motivo de esta investigacin, es poder elaborar antecedentes de juego de futbol robtico


simulado en la DAIS, que sirvan para estimular y acelerar la educacin, la investigacin
acompaado de tecnologas en el campo de inteligencia artificial y robtica, con esto se pretende
que los estudiantes de la DAIS puedan llegar a formar un equipo de futbol robtico capaz de
desempearse como uno de los mejores hasta llegar a ser reconocidos a nivel mundial como una
de las universidades que cuenta con material tanto humano como tecnolgico capaz de dejar
huella ante la sociedad.
Un sistema de ftbol robtico es una disciplina que requiere de vastos conocimientos de
robtica;

los

estudios

conocimientos adquiridos en el desarrollo de estos sistemas

pueden servir como base para formular nuevos proyectos afines que puedan ser de gran
utilidad para aquellas instituciones que estn directa e indirectamente involucradas en este campo
de investigacin, como lo son: el Tecnolgico de Monterrey y el Tecnolgico de Guadalajara, que
son los que se encuentran activos en los torneos de la SimuRoSot.

18

Cabe

mencionar que

las tcnicas y mtodos implementados en el sistema de ftbol

robtico pueden ser aprovechados como base para ser aplicados

en diversos dominios,

como son: misiones espaciales, bsqueda y rescate (de informacin, personas, entre otros.),
mantenimiento de

hospitales

fbricas,

combates

en

el

campo

de

batalla,

exploracin submarina y enrutamiento de redes, pueden beneficiarse de las tcnicas usadas


en los sistemas de ftbol robtico.
Con esta investigacin la DAIS, podr ser representada en diferentes torneos de futbol robtico
por futuros investigadores con ayuda de los recursos que se aportan, como son las estrategias
programadas para la creacin de un banco de estrategias, recursos de programacin con que
fueron elaboradas las estrategia y el manejo de un simulador que no ha sido aprovechado de
manera amplia para fines de investigacin.

I.5

Delimitacin
1.5.1. Alcances

Desarrollar la estrategia bsica de defensa del juego de futbol robtico en el simulador de


Robot Soccer actualizado.

Brindar a la Divisin Acadmica de Informtica y Sistemas conocimientos que puedan ser


tiles para la formacin de un equipo de futbol robtico.

1.5.2. Limitaciones

Solamente se desarrollarn estrategias para el rol de defensa del equipo.

La ejecucin de las estrategias ser bajo ambiente simulado con el simulador vigente en el
torneo.

Los roles, portero, defensor y delantero, determinados para el partido desempearn la


misma labor desde que inicie hasta que finalice el encuentro.

19

I.6

Metodologa a utilizar

La metodologa que se decidi utilizar es Desarrollo Adaptable de Software (ASD), apoyndonos


de UML para la documentacin que sea requerida en la investigacin.
En la ilustracin 1.1 se muestra el proceso y etapas de ASD.

Ilustracin 1.1.- Ciclo de Vida del Modelo ASD.


Fuente: [Huarachi, 2009]

Especular
Inicio de la investigacin:
Investigar y documentarse sobre el tema, (se encuentra comprendido en el captulo 2), estudiar
las estrategias cargadas por defecto para ver la manera en que se pueden defender, identificando
los patrones o maneras de ataque adems de identificar las posibles maneras de defender el arco
de los ataques de los oponentes.

Documentarse sobre el tema.

Planeacin:
Definir las estrategias as como las funciones que sern realizadas en cada una de las estrategias y
documentadas mediante UML (lo cual est comprendido en el captulo 3), adems definir qu
tipos de pruebas sern realizadas, cantidad y tiempo de duracin.

20

Identificacin de patrones de juego.

Proponer estrategias a realizar.

Definicin de las funciones bsicas para la operacin de las estrategias.

Planeacin de las estrategias realizando diagramas UML.

Definir pruebas de calidad.

Colaborar
Comprende la construccin de las funciones definidas en la etapa de "planeacin", as como la
integracin de las mismas para la creacin de las estrategias propuestas (lo cual est comprendido
en el captulo 3).

Construccin de las estrategias.

Atender soluciones planteadas.

Aprender
Revisin de calidad:
Probar cada una de las estrategias creadas, as como identificar los problemas presentes que
deben de ser corregidos (se encuentra comprendido en el captulo 4). Realizar las pruebas que se
definieron, anotando cada uno de los resultados obtenidos.

Anlisis de resultados.

Identificacin de problemas y debilidades.

Plantear soluciones.

21

Captulo II. Marco Terico

El ftbol robtico, pretende estimular la investigacin en reas como la Inteligencia Artificial, la


robtica y la visin computacional.
En el campo de ftbol robtico existen diferentes situaciones a afrontar con los robots. Una de las
situaciones ms complejas es la estrategia de juego, aqu se desarrolla una estrategia para la
defensa del juego bajo un ambiente simulado. Cada defensor tiene como funcin primordial
evitar que su arco corra peligro de gol, realiza su tarea manteniendo la pelota fuera del rea penal
propia, ya sea interceptando, despejando, pasando, marcando, entre otros. Cuando una situacin
se sale de control debe extremar los cuidados ya que su actuacin podra derivar en perjuicios
para su equipo.
En la actualidad existen diversas competencias de ftbol robtico. El inters terico detrs de
estas experiencias es el uso del ftbol como un prototipo de sistema complejo y adaptativo que
permita el desarrollo de tcnicas para la construccin de robots capaces de llevar a cabo tareas
ms tiles.

22

II.1

Marco Legal

Para el desarrollo correcto de este proyecto de investigacin se necesitar software que brinde
soporte al desarrollo de la programacin o a la metodologa usada para calcular tiempos y costos
del mismo.
Se presenta a continuacin una descripcin breve acerca de la situacin legal a la que los
desarrolladores se enfrentan a la hora de utilizar el software correspondiente.

II.1.1

Visual C++

Actualmente la Universidad Jurez Autnoma de Tabasco sostiene un convenio con la empresa


Microsoft Mxico la cual brinda licencias de tipo acadmico del programa MSDN a los
estudiantes de esta mxima casa de estudios.
La Librera MSDN es un recurso imprescindible para los programadores que trabajan con
herramientas, productos y tecnologas de Microsoft. Contiene una gran cantidad de informacin
tcnica de programacin, incluidos cdigo de ejemplo, documentacin, artculos tcnicos y guas
de referencia.
Como ya se mencion, para el desarrollo de la parte de programacin de esta investigacin,
utilizamos la herramienta Visual C++, misma que los alumnos de la UJAT pueden obtener de
manera gratuita.

II.1.2

3D Robot Soccer Simulator

El Robot Soccer Simulator desarrollado por el equipo de desarrollo de RSS es para uso exclusivo
del cliente y se ha emitido sin ningn tipo de garanta expresa o implcita, incluyendo pero no
limitada las garantas implcitas de comerciabilidad o aptitud para un propsito particular. La
totalidad del riesgo en cuanto a la calidad y el rendimiento de los datos, software o servicios
suministrados son con el cliente. Si los datos, software o servicio defectuoso, asume el coste de
cualquier servicio, reparacin o correccin. En ningn caso, menos que sea requerido por la ley
aplicable ser el equipo de desarrollo de RSS, es responsable ante usted por daos, incluyendo
cualquier prdida de beneficios, dinero perdido, o de otro dao especial, incidental, ejemplar o
23

consecuente que surja del uso o la imposibilidad de utilizar los datos, software o servicios
proporcionados por el Equipo de Desarrollo de RSS.
El uso de este software tambin est pensado para aquellos con un fondo o una cierta
comprensin de las tecnologas aplicables. Se seal de manera expresa que todos los individuos
que significa el desarrollo de este nuevo programa o desarrollar estrategias a su voluntad tengan
un conocimiento de trabajo de Director y su lenguaje de programacin, Lingo. Programacin de
las estrategias se incluye en el manual, sin embargo, se supone que el usuario tenga conocimiento
en lingo y el conocimiento bsico de programacin orientada a objetos en general. El diseo de
este programa se entiende como un motor para que otros puedan desarrollar estrategias, como tal,
el equipo de programacin en s an no comienza a comprender las infinitas formas posibles de
la programacin de los robots. El equipo, sin embargo, proporcionar los elementos bsicos para
desarrollar estrategias, algunas que son necesarias y otras sugerencias basadas en investigacin y
las pruebas hasta la fecha.

II.2
II.2.1

Marco Conceptual
Conceptos y teoras relacionados con la investigacin
2.2.1.1. Robtica

En el trmino robot confluyen las imgenes de mquinas para la realizacin de trabajos


productivos y de limitacin de movimientos y comportamientos de seres vivos. [Ollero, 2001]
En siglo XXI el desarrollo de mquinas ha estado fuertemente influido por el progreso
tecnolgico. De esta forma se pasa de mquinas que tienen como objetivo exclusivo la
amplificacin de la potencia muscular del hombre, sustituyndolo en si trabajo fsico, a mquinas
o instrumentos que son tambin capaces de procesar informacin, complementando, o incluso
sustituyendo, al hombre en algunas actividades intelectuales.
La nocin de robtica atiende a una idea de estructura mecnica universal capaz de adaptarse,
como el hombre, a muy diversos tipos de acciones. La robtica, en sentido general abarca una
amplia gama de dispositivos con muy diversas cualidades fsicas y funcionales asociada a la
24

particular estructura mecnica de aquellos, a sus caractersticas operativas y al campo de


aplicacin para el que sea concebido. Todos estos factores estn ntimamente relacionados, de
forma que la configuracin y el comportamiento de un robot condicionan su adecuacin para un
campo de aplicacin especifico. La robtica se apoya en gran medida en los progresos de la
microelectrnica y la microinformtica, as como en nuevas disciplinas como el reconocimiento
de formas y la inteligencia artificial. [Nocin, s.f.]

2.2.1.2. Futbol Robtico


Competencia de futbol llevada a cabo con robots tanto fsicos, como simulados, que tratan de
asemejarse lo ms posible a un juego de futbol de humanos.
Las competencias de ftbol con robots fueron creadas bsicamente para estimular la
investigacin y el desarrollo en los campos de la robtica y la inteligencia

artificial,

adems de las reas de visin computacional, procesamiento de imgenes, electrnica e


informtica por mencionar unas cuantas. Los competidores, estudiantes y cientficos de
universidades, deben disear robots equipados con sistemas de visin que detectan la pelota y
que distinguen entre los jugadores de su equipo y los del equipo contrario. Cada robot posee
inteligencia y acta individual o colectivamente de acuerdo a la situacin del juego,
siempre con el objetivo de meter gol al equipo oponente.

2.2.1.3. Estrategia de defensa.


Un defensor, en general, realiza su tarea manteniendo la pelota fuera del rea penal propia y
quitando la pelota al oponente. Cuando un defensor est en posesin de la pelota, la pasa a un
compaero en lo posible que est ms arriba dentro de la cancha, a un compaero que est libre
de manera de asegurar la pelota, o bien la despeja envindola a un lugar seguro lejos de los
rivales y del arco propio, evitando el centro de la cancha. El defensor debe mantener una posicin
defensiva dentro del campo de su equipo entre la pelota y el arco propio, aunque no siempre esto
es posible. Cuando un defensor ha sido superado por la pelota, debe tener especial cuidado de no
generar una jugada peligrosa que desemboque en un gol en contra. En esta situacin, algunos

25

defensores optan por slo obstruir el paso de los oponentes, sin acercarse a la pelota, lo que
permite que un compaero mejor posicionado pueda ir a controlar la pelota [Veloso, 1999].
Las tcticas de desplazamiento descriptas para el arquero son aplicables a los defensores. El
desplazamiento en lnea recta es ampliamente utilizado como tctica de defensa. Se pueden
organizar variantes teniendo en cuenta la coordenada X sobre la cual acta cada robot y la
amplitud de desplazamiento en coordenada Y. Es decir, se puede tener a ms de un defensor
desplazndose en forma paralela al arco, pero a distintas distancias del mismo, y adems puede
que estos defensores recorran todo el ancho de la cancha o slo el lateral que les toca defender.
La trayectoria curva slo puede ser ejecutada con centro en el arco por uno o ms defensores. El
radio de esta curva debe ser lo suficientemente amplio de manera de no entorpecer al arquero.
Una posible implementacin puede ser tener un defensor en trayectoria curva y uno o ms
defensores, o mediocampistas, en trayectoria recta, por delante del primero formando as dos
niveles de defensa.
Cuando un equipo tiene ms de un jugador cumpliendo con el rol de defensor, aparecen distintos
subroles o modos de comportamiento dependiendo de la situacin actual. En el equipo de
simulacin CMUnited-98 se definen los siguientes modos de comportamiento para los
defensores:
Defensa activa: el agente ir al encuentro de la pelota, decidiendo luego si la pasa, la

lleva o la despeja, dependiendo de sus posibilidades.


Defensa auxiliar: el jugador marca a un rival ubicndose cerca de l en una posicin

que le dificulte recibir o pasar la pelota.


Defensa pasiva: el defensor se interpone en la lnea entre un rival y el arco propio a una

distancia mayor a la de marcado, de manera de evitar un posible tiro al arco.


La tarea de defensa puede ser llevada en forma activa o pasiva como se observa en la Ilustracin
2.1.

26

Ilustracin 2.1.- Estrategias de Defensa. (a)Defensa activa de despeje (DAD) (b) Defensa activa de
encuentro (DAE) (c) Defensa pasiva en arco (DPA) (c) Defensa pasiva en trayectoria (DPT).
Fuente: [Castelo, 2002]

Se considera activa la defensa cuando el jugador va al encuentro de la pelota, ya sea para


apoderarse de ella ejecutando acciones tendientes a alejarla del arco propio y, de ser posible,
acercndola al arco rival (Defensa Activa de Despeje: DAD) o cuando intenta obstruir su paso
dirigindose a un punto sobre la trayectoria actual de la pelota para que no siga avanzando en
campo propio (Defensa Activa de Encuentro: DAE).
Es una defensa pasiva la que lleva a cabo un jugador cuando su comportamiento tiende a cubrir una
zona con su presencia. La estrategia de defensa pasiva tambin presenta dos posibilidades en la
implementacin actual: una es ubicarse sobre la lnea que va desde la posicin actual de la pelota y el
centro del arco, evitando as dejar libre el camino hacia el arco, sin importar hacia donde se mueve
actualmente la pelota (Defensa Pasiva en Trayectoria: DPT); la otra accin posible es ubicarse
frente al arco, ya sea para cubrir el centro o un lateral. Aqu tampoco se tiene en cuenta donde est la
pelota, ya que sta est siendo cubierta, supuestamente, por el otro defensor. De esta manera se trata
de dejar menos espacio libre frente al arco, ya que un pase o rebote puede hacer que la pelota
cambie bruscamente de direccin y quedar as el defensor principal mal ubicado (Defensa Pasiva en
Arco: DPA).
A diferencia del arquero, donde un nico jugador cubre el rol y por lo tanto ste es el responsable
de todas las acciones que el mismo requiere, al haber dos defensores sus tareas deben ser
complementarias y sus acciones coordinadas. Por ello, cada uno debe analizar que parte de la
defensa le toca llevar a cabo. El caso ms sencillo es aquel en el que la pelota est en poder del
27

equipo propio y en ataque. Aqu ambos defensores ejercen una defensa pasiva posicionndose a
ambos lados del frente del arco (DPA) por fuera del rea grande. Cuando la pelota est dentro del
campo propio o viene hacia l, ya los defensores deben

tomar acciones acordes a la

circunstancia.
En el caso que uno de los defensores resulta el mejor ubicado para llegar a la pelota, lleva a cabo
un comportamiento llamado Despejar Pelota convirtindose as en el defensor principal. El
segundo defensor deber ejecutar el comportamiento de Cubrir Arco convirtindose as en el
defensor secundario. Cuando ninguno de los dos defensores es el responsable de ir por la pelota,
ambos defensores desarrollan el comportamiento de Cubrir Arco, siendo aqu ms compleja la
decisin de cul ser el defensor principal y cual el secundario. En este caso se toman en cuenta
las siguientes condiciones:

Si uno de los defensores est ms lejos del arco propio que la pelota, es el defensor

secundario.
Si ambos estn ms lejos que la pelota del arco, el ms cercano a la pelota tomar el rol de

defensor principal ya que tiene ms posibilidades de llegar a interceptarla.


Si ambos defensores estn ms cerca de su arco que la pelota, entonces se analiza cual

est sobre el lateral al cual se proyecta la pelota.


Si slo uno est sobre este lateral, esto da el orden de los defensores.
En el caso que, por alguna circunstancia, ambos estn sobre el mismo lateral es defensor
principal aquel que est ms cerca del punto de intercepcin entre su trayectoria (en
direccin paralela al arco) y la trayectoria actual de la pelota.

Cuando el defensor tiene que acudir a la pelota como representante del equipo, se pueden dar
distintas situaciones. Las posibilidades contempladas en la implementacin tienen en cuenta los
siguientes factores: cercana de rivales a la pelota y posicin relativa del defensor con respecto a
la pelota. El caso ms simple es aquel en el que no hay rivales cerca y por lo tanto se cuenta con
tiempo suficiente para controlar de la mejor manera posible la pelota. Para hacer esto se utiliza el
comportamiento de patear la pelota al arco, el cual hace que el defensor lleve la pelota hacia el
arco rival, o al menos la deje mejor posicionada para este fin. Esta jugada es una DAD ideal.
Un caso ms complejo y ms habitual durante el juego, es cuando el defensor debe acudir a la
pelota y hay rivales cerca. Aqu no puede perder tiempo en conseguir una buena ubicacin. En
28

este caso lo que se trata de hacer es alejar la pelota de la zona de peligro para el arco propio. Si el
defensor est ms abajo que la pelota, es decir ms cerca del arco propio en coordenada X, o la
pelota super la lnea de defensa propio en coordenada Y pero por fuera del ancho del arco
(cercano a las paredes laterales de la cancha), entonces su tarea es ir directamente hacia el punto
donde est la pelota intentando colisionarla y as alejarla del arco propio, ambos casos son
variantes de Defensa Activa de Despeje (DAD). [Castelo, 2002]
Cuando ninguna de las situaciones antes mencionadas se presenta, significa que hay una situacin
de alto riesgo ya que si el defensor en cuestin es el mejor ubicado para ir a la pelota y no se
cumplieron las condiciones anteriores, o bien la pelota est muy cerca del arco o todos los
jugadores del equipo propio estn muy mal ubicados. En este caso lo que se intenta hacer es ir a
un punto intermedio entre la pelota y el arco propio, siempre y cuando haya lugar para tomar esta
ubicacin sin entrar en el rea chica, lo cual constituye una Defensa Pasiva en Trayectoria
(DPT). Si esta estrategia tampoco se puede ejecutar, el defensor vuelve a su posicin dejando ya
la tarea de defensa en manos del arquero evitando as entorpecer su tarea y que, eventualmente,
sea cobrado un penal por la presencia de ms de un jugador en el rea chica o que genere un
rebote que descoloque al arquero y termine en gol. Aqu el defensor principal se ve forzado por la
situacin a ejecutar una Defensa Pasiva en Arco (DPA).
Cuando, una vez determinado el defensor principal y el defensor secundario segn se detall con
anterioridad, tanto el uno como el otro deben cumplir con el comportamiento Cubrir Arco, las
acciones ejecutadas son las siguientes:
Defensor Principal: si la pelota y l mismo estn por delante del rea grande propia, se
ejecuta el comportamiento DAE. Caso contrario, si el jugador est ms cerca del arco que
la pelota, ejecuta DAD. Si no, se queda dnde est sin ejecutar accin alguna.
Defensor Secundario: ejecuta DPA, decidiendo el lugar donde se sita en base a donde
est el defensor principal. Si ste ltimo se encuentra fuera del radio del rea grande, el
defensor secundario se ubica frente al arco y en el centro del mismo. Caso contrario, se

29

ubica desplazado hacia el lado de la cancha contrario al que se encuentra el defensor


principal.
En cualquiera de los casos, cuando un defensor ya est en el lugar que le corresponde ocupar por
el estado de juego actual, trata de orientarse paralelo al arco, 90 o 90, de manera que sea rpida
la ejecucin de la accin DAE, la cual es muy similar al comportamiento que implementa el
arquero salvo que a lo ancho de toda la cancha. Otra diferencia en comportamiento con el arquero
es que, generalmente, la accin de Defensa Activa de Encuentro desemboca en una defensa activa
de despeje ya que, al acercarse la pelota, el defensor pasa a ser el mejor ubicado para controlar la
pelota.
Otros comportamientos que poseen los defensores y que no estn directamente relacionados con
la tarea de defender son los siguientes:
Desbloquearse: cuando se detecta que el jugador est bloqueado, es decir que en varios
ciclos consecutivos se le ha dado velocidad a las ruedas y sin embargo no se obtuvo
desplazamiento, el jugador intenta girar sobre s mismo para poder destrabarse. Esto lo
hace slo si no tiene en su poder la pelota o s la tiene pero se est fuera del rea grande.
Se implementan estas restricciones para evitar perder el control de la pelota estando muy
cerca del arco propio.
Salir del Arco Propio: dado que desarrollan su tarea muy cerca del arco muchas veces,
ya sea por haber sido empujados o porque el algoritmo de navegacin al evitar obstculos
los llev por all, terminan entrando al arco propio. Cuando se detecta esta situacin se
activa un comportamiento que los enva con direccin hacia el centro de la cancha. Dicho
comportamiento se desactiva cuando ya han salido del arco restablecindose el
desempeo normal del defensor.
Pateo Lateral: cuando se est en contacto con la pelota bajo las condiciones de pateo
lateral, se ejecuta el mismo. [Castelo, 2002]

30

2.2.1.4. SimuRoSot.
Torneo Simulado de Soccer de Robots. La categora de simulacin Middle League SimuRoSot es
una competencia de ftbol entre agentes de software. En el simulador los agentes son una
representacin de los robots de la competicin Middle League MiRoSoT, de igual forma las
condiciones del ambiente (Campo), la bola y dems condiciones son modelos de esta
categora. El propsito del Robot Soccer Simulator es simular los trabajos implementados
fsicamente con los Robots Yujin Robots de todas las formas posibles en un ambiente virtual.
Se pretende el desarrollo de estrategias que
fsicos

puedan

ser

usadas

en

los

robots

el fortalecimiento de una nueva competencia virtual . El software es desarrollado

en la Universidad Griffith, Australia por los estudiantes del departamento de Tecnologa de


la informacin, bajo Macromedia Director.
El Software consta de dos equipos (Amarillo y Azul) cada uno de cinco jugadores. El equipo
es controlado por medio de una estrategia que

puede ser desarrollada en lenguaje Lingo

de Macromedia Director, la cual es llamada en un archivo TXT; o se puede desarrollar en


Lenguaje C/C++ como una Librera DLL.
SimuRoSot, consiste de un servidor que tiene un ambiente de ftbol y dos programas clientes
con las estrategias del juego. El partido es jugado en una computadora entre dos equipos.
Sin un robot fsico, el partido se decide por medio de complejas estrategias desarrolladas
usando tcnicas avanzadas de Inteligencia Artificial.

2.2.1.5. Software de desarrollo


Herramienta que permite crear programas y software, a continuacin se presentan programas los
cuales pueden ser utilizados para el desarrollo del cdigo de las estrategias, ya que son los
leguajes en los cuales se puede desarrollar el cdigo, y puede ser introducidos en el simulador.
C o C# es un lenguaje de programacin orientado a objetos desarrollado y estandarizado por
Microsoft como parte de su plataforma .NET.

31

3. Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET el


cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes (entre ellos
Delphi).

II.3
II.3.1

Conceptos y teoras relacionados con el marco tecnolgico


FIRA

Federacin Internacional del Robot-Soccer Asociation (FIRA) fue fundada en junio de 1997 con
un objetivo bsico deteniendo el espritu de la ciencia y la tecnologa de la robtica a los jvenes,
a travs del juego de ftbol de robots.

II.3.1.1

FIRA Cup

Competencia de futbol que realiza la FIRA anualmente, son organizadas en varias categoras,
incluyendo el Torneo de Ftbol de Microrobot (MiRoSoT), el Torneo de Ftbol de Robot
Simulado (SimuRoSot) y el Torneo de Ftbol de Robot Humanoide (HuRoSoT). Estos juegos son
jugados bajo los ojos vigilantes de un rbitro humano y los participantes que son los gerentes de
los jugadores (actores) de robot y entrenadores.
El ftbol de robot puede ser retratado como una competencia de tecnologa de robot avanzada
dentro de un espacio limitado. FIRA espera ayudar a entender y apreciar, con intereses, los
conceptos cientficos y acontecimientos tecnolgicos complicados. FIRA cree que algunos de
estos intereses abastecern de combustible habilidades cientficas y de la ingeniera que en ltima
instancia se desarrollan en resultados de investigacin para servir la humanidad de muchas
maneras.

II.3.1.2

Simulador.

El simulador provee el entorno que soporta las competencias entre equipos de ftbol virtuales,
considerando un ambiente con mltiples agentes, cambiante y con respuestas en tiempo real.
Estas herramientas tambin proveen una interfaz grfica que permite visualizar el desarrollo de
los partidos en una pantalla.
32

El ftbol en ambiente simulado presenta una ventaja importante con respecto al ftbol
implementado mediante robots fsicos: permite focalizar la investigacin en tcnicas de
cooperacin y aprendizaje, abstrayndose de los inconvenientes propios que pueden presentar los
robots y el entorno fsico. En este ambiente no es necesario considerar ni resolver problemas en el
hardware de los robots, en los mecanismos de comunicacin o en el reconocimiento de objetos.
Los simuladores desarrollados y disponibles en la actualidad son los utilizados en las
competencias de las categoras de simulacin de RoboCup y de FIRA. Aunque ambos
simuladores brindan el entorno necesario para que se desarrolle el juego, a la hora de definir las
caractersticas de los jugadores, cada uno ha aplicado distintos conceptos. En el caso de FIRA,
los jugadores simulan a los robots de la categora MiRoSoT, conservando la disposicin de las
ruedas, el tamao y el peso. Esto hace que tanto los movimientos como las estrategias de juego
deban planificarse teniendo en cuenta estas caractersticas especiales. En cambio para RoboCup,
los jugadores son agentes con caractersticas propias, que no responden en forma directa a ningn
modelo o formato de robot en particular. [Castelo, 2002]

II.3.1.3

Lenguaje C++.

C++ es heredero directo del lenguaje C que, a su vez, se deriva del lenguaje B. C se mantiene
como un subconjunto de C++.
C++ comenz su proyecto de estandarizacin ante el comit ANSI y su primera referencia es The
Annotated C++ Reference Manual [Joyanes, 2006].
C++ es una extensin de C con caractersticas ms potentes. Estrictamente hablando, es un
superconjunto de C. Al igual que sucede con java y C# que son superconjuntos de C++. El ANSI
C estndar no solo define el lenguaje C sino que tambin define una biblioteca de C estndar que
las implementaciones de ANSI c deben soportar. C++ tambin utiliza esa biblioteca. Adems de
su propia biblioteca estndar de clases.
C++ contina evolucionando y se haban realizado ya trabajos para producir la prxima versin
del estndar.

33

II.3.1.4

DLL.

DLL - Dynamic Link Library ("Biblioteca de vnculos dinmicos") es un archivo que contiene
funciones que se pueden llamar desde aplicaciones u otras DLL [Descripcin, s.f.]. Los
desarrolladores utilizan las DLL para poder reciclar el cdigo y aislar las diferentes tareas. Las
DLL no pueden ejecutarse directamente, es necesario llamarlas desde un cdigo externo.
Las bibliotecas DLL seran una evolucin de las bibliotecas estticas. Usarlos en el desarrollo de
programas trae ciertas ventajas como:
- Reduccin del tamao de los archivos ejecutables: pues parte del cdigo puede estar en las
bibliotecas y no en el ejecutable.
- Compartir bibliotecas entre aplicaciones.
- Facilitar la gestin y aprovechar la memoria del sistema.
- Brindar flexibilidad frente a cambios: la solucin de errores o la implementacin de mejoras
puede solucionarse slo con distribuir una nueva versin de la biblioteca. Esta correccin, en
general, ser vlida para todas las aplicaciones que la utilicen [DLL, 1998].

II.4

Conceptos y teoras relacionados con el mtodo a utilizar

II.4.1 POO
La programacin Orientada a objetos (POO) es una forma especial de programar, ms cercana a
como expresaramos las cosas en la vida real que otros tipos de programacin.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir
nuestros programas en trminos de objetos, propiedades, mtodos y otras cosas que veremos
rpidamente para aclarar conceptos y dar una pequea base que permita soltarnos un poco con
este tipo de programacin.
La tecnologa orientada a objetos se define como una metodologa de diseo de software que
modela las caractersticas de objetos reales o abstractos por medio del uso de clases y objetos
[ngeles, s.f.]. Hoy en da, la orientacin a objetos es fundamental en el desarrollo de software,
sin embargo, esta tecnologa no es nueva, sus orgenes se remontan a la dcada de los aos
34

sesenta. De hecho Simula, uno de los lenguajes de programacin orientados a objetos ms


antiguos, fue desarrollado en 1967.
El objeto, es el concepto principal sobre el cual se fundamenta la tecnologa orientada a objetos.
Un objeto puede ser visto como una entidad que posee atributos y efecta acciones.
En el mundo real podemos encontrar cientos de ejemplos que cumplen con sta definicin,
algunos de ellos son: una bicicleta, un automvil, una persona, una computadora, etctera.
Bases sobre las cuales se fundamenta la POO
Los elementos ms importantes que deben tener los objetos de software, para cumplir con el
paradigma de orientacin a objetos son:
Abstraccin:

La abstraccin es el proceso en el cual separamos las propiedades ms

importantes de un objeto, de las que no lo son. Es decir, por medio de la abstraccin definimos
las caractersticas esenciales de un objeto del mundo real, los atributos y comportamientos que lo
definen como tal, para despus modelarlo en un objeto de software.
En el proceso de abstraccin no debemos preocuparnos por la implementacin de cada mtodo o
atributo, solamente debemos definirlo de forma general. Por ejemplo, supongamos que deseamos
escribir un programa para representar el sistema solar, por medio de la abstraccin, podemos ver
a ste sistema como un conjunto de objetos, algunos de estos objetos son los planetas, que tienen
un estado, dado por sus caractersticas fsicas, digamos, tamao, masa, entre otras, estos objetos
tendrn tambin comportamientos: la translacin y la rotacin, pueden mencionarse como los
ms evidentes.
Modularidad:

Dentro de la programacin orientada a objetos, la modularidad juega un papel

muy importante. Una vez que hemos representado una situacin del mundo real en un programa,
tenemos regularmente como resultado, un conjunto de objetos de software que constituyen la
aplicacin. La modularidad, nos permite poder modificar las caractersticas de la clase que
definen a un objeto, de forma independiente de las dems clases en la aplicacin.

35

Encapsulamiento:

Tambin referido como ocultamiento de la informacin, el encapsulamiento

es la propiedad de la orientacin a objetos que nos permite asegurar que la informacin de un


objeto le es desconocida a los dems objetos en la aplicacin. Es muy frecuente referirse a los
objetos de software como cajas negras, esto se debe principalmente a que no necesitamos, dentro
de la programacin orientada a objetos, saber cmo esta instrumentado un objeto para que este
interacte con los dems objetos. Generalmente una clase se define en dos partes, una interfaz por
medio de la cual los objetos que son instanciados de la misma interactan con los dems objetos
en la aplicacin, y la implementacin de los miembros de dicha clase (mtodos y atributos).
Jerarqua:

Una vez que hemos definido una clase, por ejemplo la clase bicicleta, con sus

atributos y mtodos, tal vez necesitemos definir una nueva clase especfica para las bicicletas de
carreras.
Es obvio que sta nueva clases compartir elementos en comn con la clase bicicleta, es decir, la
clase bicicleta de carreras ser un subconjunto de la clase bicicleta.
Polimorfismo:

Dentro de la programacin orientada a objetos puede modelarse esta situacin

del mundo real, en objetos de software, gracias al polimorfismo. El polimorfismo es la propiedad


por la cual una entidad puede tomar diferentes formas. Generalmente est entidad es una clase, y
la forma en que se consigue que tome diferentes formas es por medio de nombrar a los mtodos
de dicha clase con un mismo nombre pero con diferentes implementaciones.

II.4.2 UML
El lenguaje unificado de modelado o UML (Unifield Modeling Language) es el sucesor de la
oleada de mtodos de anlisis y diseo orientados a objetos (OOA&D) que surgi a finales de la
dcada de 1980 y principios del siguiente. El UML unifica, sobre todo, los mtodos de Booch,
Rumbaugh (OMT) y Javcobson, pero su alcance llegara a ser mucho ms amplio. El UML es un
lenguaje de modelado, y no un mtodo. La mayor parte de los mtodos consisten, al menos en
principio, en un lenguaje y en un proceso para modelar. Las

tcnicas en el UML fueron

diseadas en cierta medida para ayudar a los usuarios a hacer un buen desarrollo de OO, pero
cada tcnica tiene distintas ventajas a las de las dems.
36

El lenguaje de modelado es la notacin (principalmente grfica) de que se valen los mtodos para
expresar los diseos. El proceso es la orientacin que nos dan sobre los pasos a seguir para hacer
el diseo [Fowler&Scott, 1999].
UML cuenta con diferentes tipos de diagramas, como se observa en la ilustracin 2.2, los cuales
muestran diferentes aspectos de las entidades representadas [Schumuller, 2001].

Ilustracin 2.2.- Jerarqua de diagramas UML 2.0, mostrados como diagrama de clases.
Fuente: [Schumuller, 2001].

UML define 13 diagramas, que se dividen en tres categoras: estructura (clases, objetos,
componentes, estructura de composicin, paquetes, despliegue), que representan los elementos de
una especificacin sin tomar en consideracin el tiempo, comportamiento (casos de uso, mquina
de estados y actividades), que describen las caractersticas dinmicas de un objeto, tales como sus
operaciones y mtodos, e interaccin , que se derivan de los diagramas de comportamiento y que
hacen nfasis en la manera como los objetos interactan entre s [Zapata, 2008]. A continuacin,
se detallan algunos de los diagramas:
Diagrama de casos de uso. Ayuda al cliente, al interesado y a los desarrolladores a utilizar el
sistema. Cada tipo de usuario se representa mediante un actor, quien utiliza el sistema al
interactuar con los casos de uso, los cuales representan los requisitos funcionales del sistema. En
la Ilustracin 2.3 se muestra un ejemplo del diagrama de casos de uso.
37

Ilustracin 2.3.- Ejemplo de un Diagrama de Caso de Uso y su Simbologa.


Fuente: [Zapata, 2008]

Diagrama de estado: Los diagramas de estado muestran el conjunto de estados por los cuales
pasa un objeto durante su vida en una aplicacin en respuesta a eventos (por ejemplo, mensajes
recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones. Tambin ilustran qu
eventos pueden cambiar el estado de los objetos de la clase. Normalmente contienen: estados y
transiciones [Otero, s.f.]. Los estados y las transiciones incluyen, a su vez, eventos, acciones y
actividades. En la ilustracin 2.4 se muestra un ejemplo:

Ilustracin 2.4.- Ejemplo de un Diagrama de estado y su simbologa.


Fuente: [Otero, s.f.]

Diagrama de secuencias: Hace nfasis en la ordenacin temporal de los mensajes. Muestra


cmo el control se transmite de un objeto a otro a medida que se envan mensajes. Un mensaje
enviado por un objeto dispara la toma del control en el objeto receptor y la realizacin de las
38

operaciones de su clase. En la Ilustracin 2.5 se presenta ejemplo del diagrama de secuencias, en


el cual tambin se definen sus principales smbolos.
Ilustracin 2.5.- Ejemplo de un diagrama de secuencias y su simbologa.
Fuente: [Zapata, 2008]

II.4.3 Desarrollo Adaptable de Software


El mtodo gil Desarrollo Adaptable de Software (ASD) es un modelo de implementacin de
patrones giles para desarrollo de software. Al igual que otras metodologas giles, su
funcionamiento es cclico y reconoce que en cada iteracin se producirn cambios e incluso
errores. [Huarachi, 2009]
El ASD es una metodologa de desarrollo que hace nfasis en aplicar las ideas que se originaron
en el mundo de los sistemas complejos, adaptacin continua del proceso al trabajo.
Sus principales caractersticas del ASD son:

Iterativo.
Orientado a los componentes de software (la funcionalidad que el producto va a
tener, caractersticas, etc.) ms que a las tareas en las que se va a alcanzar dicho

objetivo.
Tolerante a los cambios.
Guiado por los riesgos
La revisin de los componentes sirve para aprender de los errores y volver a
iniciar el ciclo de desarrollo
39

Ciclo de vida
ASD utiliza un "cambio orientado hacia el ciclo de vida", que tiene tres componentes que son:
especular colaborar y aprender.
Especular
Una primera fase de iniciacin para establecer los principales objetivos y metas del proyecto en
su conjunto y comprender las limitaciones (zonas de riesgo) con las que operar el proyecto.
En ASD se realizan estimaciones de tiempo sabiendo que pueden sufrir desviaciones. Sin
embargo, estas son necesarias para la correcta atencin de los trabajadores que se mueven dentro
de plazos de forma que puedan priorizar sus tareas.
Se decide el nmero de iteraciones para consumir el proyecto, prestando atencin a las
caractersticas que pueden ser utilizadas por el cliente al final de la iteracin. Son por tanto
necesarios,

marcar

objetivos

prioritarios

dentro

de

las

mismas

iteraciones.

Estos pasos se puede volver a examinar varias veces antes de que el equipo y los clientes estn
satisfechos con el resultado.
Colaborar

Es la fase donde se centra la mayor parte del desarrollo manteniendo una componente cclica. Un
trabajo importante es la coordinacin que asegure que lo aprendido por un equipo se transmite al
resto y no tenga que volver a ser aprendido por los otros equipos.
Aprender
La ltima etapa termina con una serie de ciclos de colaboracin, su trabajo consiste en capturar lo
que se ha aprendido, tanto positivo como negativo. Es un elemento crtico para la eficacia de los
equipos.
Jim Highsmith identifica cuatro tipos de aprendizaje en esta etapa:
40

Calidad del producto desde un punto de vista del cliente. Es la nica medida legtima de xito,
pero adems, dentro de las metodologas giles, los clientes tienen un valor importante.
Calidad del producto desde un punto de vista de los desarrolladores. Se trata de la evaluacin de
la calidad de los productos desde un punto de vista tcnico. Ejemplos de esto incluyen la
adhesin a las normas y objetivos conforme a la arquitectura.
La gestin del rendimiento. Este es un proceso de evaluacin para ver lo que se ha aprendido
mediante el empleo de los procesos utilizados por el equipo.

Situacin del proyecto. Como paso previo a la planificacin de la siguiente iteracin del
proyecto, es el punto de partida para la construccin de la siguiente serie de caractersticas.
Ilustracin 2.6.- Ciclo de Vida del Modelo ASD.
Fuente: [Huarachi, 2009]

Ventajas

La tercera fase del ciclo de vida, revisin de los componentes, sirve para aprender de los
errores y volver a iniciar el ciclo de desarrollo.

Apunta hacia el Rapid Application Development (RAD), el cual enfatiza velocidad de


desarrollo para crear un producto de alta calidad, bajo mantenimiento involucrando al
usuario lo ms posible.

Utiliza informacin disponible acerca de cambios para mejorar el comportamiento del


software.
41

Promulga colaboracin, la interaccin de personas.

Anticipa cambios y trata automticamente con ellos dentro de un programa en ejecucin,


sin la necesidad de un programador.

Desventajas

Aunque el ciclo entre el aprendizaje y la especulacin es bueno permitindonos entregar


productos con alta calidad, la prolongacin de dicho ciclo por errores o cambios que no
son detectados en reuniones anteriores afecta tanto a la calidad del producto como a su
costo total.

Dado a que es una metodologa gil implica no realizar procesos que son requeridos en las
metodologas tradicionales o por lo menos no realizarlos en procesos diferentes, lo cual
implica que empresas grandes las cuales necesitan llevar un mayor control a procesos y
personas, tener tareas asignadas a un estado o proceso especifico, y en las cuales dicho
incremento de procesos no afectan en gran medida al costo final del producto, para dichas
empresas el elegir una metodologa tradicional resulta mucho ms rentable tanto por el
gran volumen de personal, de productos, y de costos que se manejan y para los cuales se
tendr un mayor control.

II.5

Marco Tecnolgico

II.5.1 Simulador Robot Soccer


El simulador a utilizar es

3D Robot Soccer Versin 1.5 el cual est desarrollado en

Macromedia Director 8.5 ShockWave Studio, por el equipo de desarrollo del cual forman parte
Roger Smith, Annabel Rodwell, Mathew Clarke y Shaw Truesdell dirigido por el Doctor Jun Jo,
de la Universidad Griffith, Australia, para el juego de futbol robtico simulado en la categora
Middle la cual consiste en equipos de cinco jugadores.
Uno de los propsitos del 3D Robot Soccer Simulator es simular el funcionamiento en todo
entorno posible a los robots fsicos Yujin. As como tambin el desarrollo de estrategias que
42

puedan ser aplicadas en competencias de robots fsicos de tipo Yujin en futuras competencias de
la FIRA. [Help, s.f.].
Los requerimientos fsicos para el funcionamiento adecuado de simulador son:

Procesador Pentium III 600 MHz

256 megabytes de memoria RAM

Tarjeta de video de 64 megabytes

Lector de CD-ROM24x

Pantalla con resolucin de 800 x 600

16 bit en Tarjeta de sonido

10 megabytes libres de espacio en disco

Los requerimientos de software para el requerimiento del simulador son:

Microsoft Windows 98

Direct X 8.0

Los requerimientos de software para poder continuar desarrollando el simulador son:

Director 8.5

Experiencia de programacin en Lingo

El libro Director 8.5 Shockwave Studio: training from the source

43

II.5.2 Interfaz de Usuario


Al iniciar la ejecucin se presenta una pantalla de bienvenida, que se muestra en la ilustracin
2.7.

Ilustracin 2.7.- Pantalla de bienvenida del Simulador Robot Soccer de la FIRA

El campo se muestra, junto con la barra de mens e informacin del juego. El usuario puede
seleccionar la posicin inicial de los robots en el campo para el inicio del juego, las instrucciones
de esta sern cubiertas en Inicio del juego.
El usuario puede hacer clic en cualquier cosa en la barra de men para abrir una lista de opciones.
Este men tambin se muestra cuando hay una parada del juego y el rbitro debe llamar a faltas y
tomar decisiones.
Mens
A continuacin se detalla cada uno de los mens que se encuentran en el interfaz del usuario:

Strategies - El usuario debe hacer clic aqu para acceder al men para la carga de las
estrategias para cada equipo de robots, como se observa en la Ilustracin 2.8.

Las estrategias son escritas en cdigo Lingo y se colocan en un archivo de texto o en un archivo
DLL de C + +.
1

Los cuadros de texto se usan para escribir el nombre de los archivos de texto o
archivos DLL que contienen las estrategias de los equipos de azul o amarillo. La
estrategia debe ser colocado en la carpeta que se crea al instalar el programa. Estas
carpetas se crean en la direccin C: \Strategy, en la cual se crean dos carpetas con el
44

nombre de los equipos, para cargar la estrategia simplemente escriba el nombre del
2

archivo en el cuadro sin la extensin.


Haga clic en la palabra LINGO (para archivos de texto) para alternar y C + + (para

DLL's).
Send - Una vez que haya ingresado en los nombres de los archivos de texto o archivo
DLL que contiene las estrategias clic en Send para cargar los archivos con las

estrategias de juego.
Open Viewer - Abre un visor que permite ver los valores de variables cuando el juego
se ejecuta.

Ilustracin 2.8.- Men Strategies del Robot Soccer de la FIRA

Falta y botones de posicin - Estos son para el rbitro debern utilizarse para comunicar
una falta sobre un equipo especfico, y declarar que estarn en posesin de la pelota. Una
vez hecho clic en el mensaje correspondiente se mostrar en la ventana de mensaje en una
nueva lnea. (Las variables globales y Gamestate WhosBall son establecidos por estos

botones - ver Gua de Estrategia / Elementos sugerida)


Start inicia el juego.
Tiempo - El tiempo de juego actual.
Puntuacin - La puntuacin actual.

Time/Score - Este botn muestra el minuto la de la anotacin o anotaciones. Si por


motivos de tiempo o puntuacin es necesario realizar cualquier cambio, el rbitro puede
usar esta interfaz para realizar ajustes, mostrada en la ilustracin 2.9.

45

Time: El rbitro puede ajustar el tiempo con cualquiera de estos botones, se pueden sumar
o restar por intervalos de un segundo o por intervalos de un minuto.

Time: Este muestra el tiempo de juego actual despus de la modificacin.

Score: Aqu es donde el puntaje se altera. El rbitro slo debe marcar la puntuacin que
desea cambiar y escriba un nuevo nmero.

Ilustracin 2.9.- Men Time/Score del simulador Robot Soccer de la FIRA

Una vez hecho los cambios el rbitro debe marcar la continuacin del juego.

New Game - reinicia todo y se prepara para un nuevo juego.


Help - El usuario puede hacer clic en el botn Help para acceder a una versin electrnica
de este manual de usuario, mientras que en el juego.

Men del juego


Este men es mostrado cuando el juego est en ejecucin, el men del juego se muestra en la
ilustracin 2.10.

Ilustracin 2.10.- Men en el juego Robot Soccer de la FIRA

46

REPLAY: Te lleva a la interfaz de reproduccin

PAUSE: Pausa el juego

STOP: Sirve para detener el juego y te lleva a los mens para tomar decisiones.

Mens de la Interfaz de repeticin

La barra de visin: Localizada a la derecha de la pantalla de repeticin es donde el

usuario puede seleccionar el punto de vista deseado mientras ve la repeticin, que es mostrado en
la ilustracin 2.11 y la ilustracin 2.12.

Ilustracin 2.11.- La barra de visin Robot Soccer de la FIRA

Este selecciona el punto de vista de la bola y la sigue mientras se mueve por todo el
campo.

Este elige el punto de vista arriba y abajo, que es muy similar a la vista por defecto
del juego.

Este elige el punto de vista mirando hacia abajo en la meta de equipo azul.

Este elige el punto de vista mirando hacia abajo en la meta de equipo amarillo.
47

e
f
g

Esto elige la vista mirando a travs del campo de la meta azul.


Esto elige la vista mirando a travs del campo de la meta amarilla.
(G Y H) Muestra la vista desde los diferentes lados del campo, uno con el lado del
equipo azul por el lado izquierdo y el amarillo por el derecho y el otro con el equipo
azul en el lado derecho y el equipo amarillo con el lado izquierdo.

Ilustracin 2.12.- La barra de visin 2 del simulador Robot Soccer de la FIRA

Hace retroceder la repeticin del partido al principio del juego.

Rebobina los ltimos 300 frames y las repeticiones.

Reproducciones las repeticiones a velocidad normal.

Reproducciones a la repeticin en cmara lenta.

Le permite reproducir el men en el modo de parada frame.

A continuacin, puede utilizar los botones de adelante y atrs en el men para avanzar o
retroceder fotograma a fotograma. Alternativamente, puede utilizar la izquierda y la
derecha teclas de flecha para el mismo efecto, pero si se mantiene presionada la tecla se
obtiene una reproduccin sper cmara lenta.

Sale de la reproduccin.

Sale de la reproduccin sin acepar anotacin (si la reproduccin no ha sido causada por un
gol, entonces simplemente sale de la repeticin).

II.5.3 Lenguaje de Programacin


El lenguaje de programacin en el cual se programarn las estrategias ser C++, debido que
cuenta con la posibilidad de crear y manipular objetos. La introduccin de las estrategias en el
simulador se har a travs de un archivo DLL (Librera de Enlace Dinmico) el cual contendr las
estrategias elaboradas y programadas.
48

Captulo III. Aplicacin de la metodologa y


desarrollo

III.1

Desarrollo de la metodologa

La metodologa que se decidi utilizar es ASD, para la elaboracin del proyecto, es una
metodologa gil la cual permite por medio de sus tres etapas (especular, colaborar y aprender) y
un ciclo de vida repetitivo, realizar constates cambios en cuanto a requerimientos y cambios en la
programacin cuando sea necesario con la finalidad de que la entrega final sea de la mejor
calidad.

III.1.1

Especular

Antes de poder proponer alguna estrategia fue necesario observar a los defensas en un juego, y
as identificar sus patrones de juego, debilidades y fortalezas, para poder tomar una decisin ms
adecuada.
Para la identificacin de los patrones de juego, fue necesario observar las estrategias cargadas en
el simulador como ejemplo a lo largo de un partido, para que de esta manera se pudieran
identificar debilidades en la estrategia de defensa, identificar los puntos fuertes de la estrategia de
defensa, y poder tener nocin de las posibles manera en que puede ser defendido el arco por
medio de estrategias de defensa.
Los patrones que la defensa presento fueron las siguientes:
La defensa en ningn momento del partido intentan despejar del rea defendida.
1. No exista colaboracin, lo que resulta mltiples colisiones entre los defensas y los
delanteros.
2. La defensa se realiza en base a reas
3. No existe intercambio de rea
4. No se retoma posicin al ser movido
49

5. Los delanteros son los encargados de despejar el baln


De acuerdo a los patrones, debilidades y fortalezas que se lograron observar en la prueba de
control, se noto que tuvieron deficiencias es por eso que se propone dos tipos de estrategias:
Estrategia de defensa basada en roles: Consistir en asignar a los defensas roles diferentes para
defender de manera ms ordenada, y as tener mayor control en el rea de defensa.
Estrategia de defensa basada en reas: en dividir el campo en reas para que cada robot sea el
encargado de defender un rea, de esta manera aminorar el nmero de colisiones entre los
jugadores.
Planeacin

Estrategia de defensa basada en roles

La estrategia de defensa basada en roles consiste en asignaran prioridades a los defensores, para
que de esta manera el robot secundario sirva de apoyo o soporte al momento tratar de despejar el
baln cuando defensor principal no pueda cumplir del todo con su tarea que consiste en impedir
que el baln se acerque al arco propio.
Como se muestra en la Ilustracin 3.1, el robot secundario se ubicara detrs del robot principal,
siguiendo siempre la posicin del baln pero sin entrar en accin hasta que este se encuentre en
direccin hacia el arco despejando o impidiendo que el baln sobre pase su posicin.

Principal
Secundario

Ilustracin 3.1.- Formacin estrategia basada en roles.

50

Defensa principal: Ser el encargado de interceptar el baln para evitar que se acerque al arco
propio y despejar permitindole a los delanteros tener posibilidades para anotar un gol.
Defensa secundario: Ser el jugador cuya funcin ser brindar un apoyo cuando el defensor
principal no sea capaz de evitar que el baln se acerque al arco, interceptando el baln y
despejndolo, siempre y cuando el baln no sea interceptado por el defensor principal.
A continuacin en la ilustracin 3.2, se muestra el diagrama UML de caso de uso de la estrategia
de defensa basada en roles.

Ilustracin 3.2.- Caso de uso de la estrategia basada en roles.

CASO DE USO: Estrategia basada en roles


DESCRIPCIN: se asignan las posiciones a los defensas, ya sea principal o secundario, es necesario
que se revise constantemente la trayectoria del baln con la finalidad de que el defensa principal,
intercepte el baln en un rea ms alejada del campo, dado caso que el defensa principal no pueda
cumplir esta tarea el defensa auxiliar ser el encargado de esto.
ACTOR: Defensa.
PRECONDICIONES:
1. El defensa toma su posicin
2. Esta constantemente revisando la ubicacin de la pelota
3. Verifica la trayectoria del baln
Flujo normal
1. El defensa verifica que la trayectoria del
baln entra en su rea

Flujo alternativo
1. Al no poder despejar adecuadamente
procede a notificar al defensa auxiliar

51

2. Procede a interceptar el baln


para que este sea el encargado de
3. Despeja el baln
despejar
POS CONDICIONES: al despejar el baln del rea, el defensa procede a tomar nuevamente su
posicin
Tabla 3.1.- Descripcin del caso de uso de la estrategia basada en roles.

A continuacin se muestra en la ilustracin 3.3 el diagrama de estado de la estrategia de defensa


basada en roles.

Ilustracin 3.3.- Diagrama de Estado de la estrategia Basada en Roles.

Estrategia de defensa basada en reas

La estrategia de defensa basada en reas consiste en dividir el campo de juego de tal manera que
los defensores sean los encargados de resguardar cada un rea asignada, estas deben de ser
respetadas con la finalidad evitar interferir con la tarea del otro defensor.
De esta manera cada uno debe de evitar que la pelota se acerque al arco propio y despejar hacia el
arco contrario o simplemente alejarlo del rea.
En la ilustracin No. 3.4, se muestra la distribucin en la que el campo estar dividido.

52

Ilustracin 3.4.- Formacin estrategia basada en reas.

A continuacin en la ilustracin 3.5 se muestra el diagrama UML de caso de uso de la estrategia


de defensa basada en reas.

Ilustracin 3.5.- Caso de uso de la estrategia basada en reas.

CASO DE USO: Estrategia basada en reas


DESCRIPCIN: A cada defensa debe de consultar su posicin para respetar los lmites del rea, si el
baln se encuentra cerca de esta, o con direccin al rea, el defensa procede a despejarla de la misma,
retornando a la posicin de la cual parti.
ACTOR: Defensa.

53

PRECONDICIONES:
1. El defensa toma su posicin
2. Esta constantemente revisando la ubicacin de la pelota
Flujo normal
Flujo alternativo
1. El defensa verifica que la trayectoria de la
Al no poder despejar adecuadamente
pelota entre en su rea
procede a pasar el baln al rea del
2. Procede a interceptar el baln
otro defensa, quien despeja
3. Despeja el baln
POS CONDICIONES: al despejar el baln del rea, el defensa procede a tomar nuevamente su
posicin
Tabla 3.2.- Descripcin del caso de uso de la estrategia basada en reas.

A continuacin se muestra en la ilustracin 3.6 el diagrama de estado de la estrategia de defensa


basada en reas.

Ilustracin 3.6.- Diagrama de Estado de la estrategia basada en reas.

Definicin de pruebas de calidad


Las pruebas de calidad de las estrategias radic en analizar las estrategias programadas, y detectar
las fallas y errores, de lo cual se tom registro, para darle una solucin a dicho problema, de esta
manera realizar mejoras constantes.
Los puntos a tomarse en cuenta para analizar las estrategias son:
54

1. Nmero de autogoles: En este punto se analizar las veces que los defensas anotan
autogoles, lo que no favorece al partido y por ello se pretende en la pruebas de calidad
que el nmero de estos se vea reducido.
2. Nmero de goles producidos: Cabe la posibilidad de que los defensas puedan anotar goles
sin ayuda de los delanteros, este dato puede indicar que los defensas pueden influir en el
marcador del partido.
3. Nmero de goles recibidos: El nmero de goles que se el equipo contrario anote, nos
permitir saber cuan eficaz es la estrategia al momento de defender.
4. Nmero de veces que el baln estuvo en el rea: este dato permitir saber las veces que el
baln entr al rea defendida y la reaccin de los defensas.
5. Nmero de de veces que se despejo de manera correcta: en conjunto de las veces que se
tuvo el baln en el rea defendida nos permitir saber la efectividad de los defensas al
momento de despejar el baln.
6. Nmero de obstrucciones de los jugadores: podremos verificar que tan bien desempean
su labor los defensas al momento de despejar el baln del rea defendida y regresar a sus
lugares.
7. El tiempo en posesin del baln: este dato nos permitir saber cunto tiempo, por medio
de las estrategias de defensa, se tiene la posesin del baln durante el partido.
Cada una de las estrategias fueron probadas a lo largo de cinco partidos, que comprende de
dos tiempos de cinco minutos, tomando nota de cada uno de los aspectos mencionados.
Adems se realiz el mismo tipo de prueba a la estrategia cargada por defecto en el
simulador, los resultados de estas pruebas se muestran en el anexo A.

III.1.2

Colaborar

En esta etapa es donde las estrategias son programadas mediante el entorno de trabajo Microsoft
Visual C++ 6.0, el entorno de trabajo se muestra en la ilustracin 3.7.
55

Ilustracin 3.7.- Entorno de trabajo de Microsoft Visual C++ 6.0

Al tener las estrategias programadas en un archivo DLL se procede a introducirlas en el


simulador Robot Soccer v1.5 (ver Anexo B), que es el simulador oficial del torneo (ver Anexo
C).
Alguna de las estrategias tienen funciones que son utilizadas en las otras estrategias, al tener
realizadas ya estas partes de cdigo fue til para la programacin de otras estrategias como por
ejemplo:
La funcin run es la que proporciona a los robots la velocidad mxima al momento de dirigirse
a un punto determinado, ya sea interceptar el baln o cuando es necesario que tome una posicin
lo ms rpido posible, el cdigo se muestra en la ilustracin 3.8.

Ilustracin 3.8.-Fragmento de cdigo de la funcin run

56

Funcin cerc es la que determina cual es la distancia de un punto al robot, ya sea el baln o de
un robot oponente, que es tomada para poner a los defensas en estado de espera o determinar
cundo entrara en accin, esta funcin se muestra en la ilustracin 3.9.

Ilustracin 3.9.-Fragmento de cdigo de la funcin cerc

Funcin go la encargada de indicar a qu punto del campo se debe dirigir el robot as como la
velocidad en apoyo con la funcin rotateTo para darle la direccin, esta es mostrada en la
ilustracin 3.10.

Ilustracin 3.10.-Fragmento de cdigo de la funcin go

Funcin kick la encargada evitar los bloqueos cuando el paso se ve obstruido por parte de
algn robot oponente, gira sobre su propio eje siempre y cuando el baln se encuentre cerca, en
caso de que el baln se encuentre atrs del robot se posiciona detrs del baln y de esta manera
evitar un autogol, el fragmento de cdigo se muestra en la ilustracin 3.11.

57

Ilustracin 3.11.-Fragmento de cdigo de la funcin kick

De esta manera reutilizando cdigo se logr reducir el tiempo de programacin de las estrategias.

III.1.3

Aprender

Esta etapa ha sido aplicada al terminar la etapa de colaborar, radic en analizar las estrategias
programadas, y detectar las fallas y errores, de lo cual se tom registro, para darle una solucin a
dicho problema, de esta manera realizar mejoras constantes.
Lo que se tom en cuenta para poder analizar las estrategias ser:

Nmero de autogoles

Nmero de goles producidos

Nmero de goles recibidos

Nmero de veces que el baln estuvo en el rea

Nmero de de veces que se despejo de manera correcta

Nmero de obstrucciones de los jugadores

El tiempo en posesin del baln

58

El porcentaje de efectividad de la estrategia ser medido utilizando una regla de tres simple, y
comparando los resultados sern comparado con los resultados de la estrategia de control y
posteriormente comparando entre las mismas para identificar cual tuvo un mejor desempeo.
Es decir, el porcentaje de la efectividad de despeje ser igual a:

X 100
El porcentaje de la efectividad de la estrategia ser medido mediante:

(Numero de goles recibidos + Autogoles) X100

59

Captulo IV.Pruebas y Resultados

En este captulo se presentan los resultados de las pruebas de calidad realizadas a las estrategia
de defensa basada en roles y a la estrategia de defensa basadas en reas.

IV.1

Elaboracin e implementacin de la estrategia de defensa basada en

roles.
Se realizaron tres pruebas de calidad de la estrategia, en la primera la rotacin y el avance se
realizaron de manera adecuada; pero, se observ que no se tena control de acercamiento por lo
tanto no era preciso al momento de dirigirse a un punto o al tratar de interceptar el baln, por este
motivo no se lograba despejar de manera adecuada; adems, el nmero de autogoles producidos
era mayor al nmero de goles recibidos, y en mltiples ocasiones los robots se obstruan
mutuamente al tratar de retomar su posicin.
En la segunda prueba se implement el control de acercamiento y el mtodo de despeje
obteniendo buenos resultados, el nmero de goles se vio reducido, as como el de autogoles; pero,
se detect que cuando el robot secundario despeja de manera adecuada y se ubica adelante del
robot que desempea la tarea de robot primario, se ve interferido por el robot secundario
impidiendo que ejecute su rol de manera adecuada.
En la tercer prueba de calidad se implement el cambio de roles de manera que si el defensa
secundario lograba despejar el baln y se posicionaba en una posicin ms cerca que el defensa
principal el robot secundario se vea obligado a ceder su rol y tomar el rol de defensa principal, y
as se lograban realizar despejes correctos y los bloqueos entre ellos disminuy de una manera
muy notoria.
En la ilustracin 4.1 se muestra la ubicacin que toma cada jugador de acuerdo con el rol que
desempean, defensa principal y secundario.
60

Secundario
Primario

Ilustracin 4.1.-Ubicacin de los jugadores en el campo

IV.1.1

Pruebas de la estrategia de defensa basada en roles

A continuacin se presentan los resultados obtenidos en las diversas pruebas realizadas. El total
de las pruebas se muestran en el anexo D. En la tabla 4.1 se pueden observar los promedios
obtenidos de estas pruebas y enseguida las grficas con los resultados logrados.

Autogoles
Goles Producidos
Goles Recibidos
Baln en rea
Despejes Correctos
Obstrucciones
Tiempo con el
Baln

Prueba de
calidad(1)
12.8
0.2
11
61.4
15
32.4
02:08:24

Prueba de
calidad(2)
4
0.8
4.2
42.8
25.6
20.4
02:10:48

Prueba de
calidad(3)
0.8
1.2
1.6
41.8
35.2
4
04:17:36

Tabla 4.1.- Resultados obtenidos en las pruebas de calidad.

En la ilustracin 4.2 se muestra una grfica donde el nmero de autogoles en la primera prueba
de calidad tuvo un promedio de 12.8 autogoles, el cual se ve mejorado desde la segunda prueba al
momento de implementar el mtodo de acercamiento y despeje, logrando que en la tercera estos
resultados se vieran reducidos hasta realizar solamente un autogol.

61

14

12.8

12
10
8

Prueba de calidad(1)
Prueba de calidad(2)
Prueba de calidad(3)

6
4

4
2

0.8

0
Autogoles

Ilustracin 4.2.- Promedio de


autogoles realizados en las pruebas.

En la ilustracin 4.3 se muestra una grfica del promedio de goles producidos durante las pruebas
de calidad, donde podemos observar que a partir de la segunda prueba de calidad cuando se
aplic el mtodo de despeje se pudieron producir goles sin participacin de los delanteros.
1.4
1.2

1.2
1
0.8

0.8

Prueba de calidad(2)

0.6

Prueba de calidad(3)

0.4
0.2

Prueba de calidad(1)

0.2

0
Goles Producidos
Ilustracin 4.3.-Promedio de goles a producidos durante las pruebas.

En la ilustracin 4.4 se muestra una grfica con el promedio de goles recibidos por el equipo
contrario, que se vieron reducidos hasta un promedio de 1.6 goles recibidos en la tercer prueba
gracias a que se implement el cambio de roles y se mejor el mtodo de despeje logrando que al
equipo contrario le fuese ms difcil de anotar.
62

12

11

10
8
Prueba de calidad(1)

Prueba de calidad(2)

4.2

Prueba de calidad(3)

4
1.6

2
0

Goles Recibidos
Ilustracin 4.4.-Promedio de goles recibidos

En la ilustracin 4.5 se muestra una grfica donde se puede observar el promedio de las veces que
el baln entr al rea defendida, cabe mencionar que la manera de despejar intervino en el
nmero de veces que el baln ingreso al rea, por este motivo se nota que de la primera a la
tercera prueba se redujo las veces que el baln estuvo en el rea defendida.
70

61.4

60
50

42.8

41.8

40

Prueba de calidad(1)

30

Prueba de calidad(2)
Prueba de calidad(3)

20
10
0
Baln en rea

Ilustracin 4.5.-Promedio del nmero de veces que el baln entr al rea.

En la ilustracin 4.6 se muestra una grfica donde se puede observar que la implementacin del
mtodo de despeje en la segunda prueba mejor muy notoriamente los resultados, se observa que
en la tercer prueba se obtuvo un promedio de 41.8 balones en el rea, en promedio de 35.2 de
ellos fueron despejados correctamente.
63

40

35.2

35
30

25.6

25

Prueba de calidad(1)

20

Prueba de calidad(2)

15

15

Prueba de calidad(3)

10
5
0
Despejes Correctos
Ilustracin 4.6.-Promedio de despejes realizados de manera correcta.

En la ilustracin 4.7 se puede observar una grfica con el promedio de obstrucciones entre s
producidas por los jugadores, donde podemos notar, que debido a que se implement el
intercambio de roles dependiendo de la distancia en que se encontraban los defensas con respecto
al baln y su ubicacin con respecto al otro defensa, stos se vieron reducidos en un promedio de
32.4 obstrucciones en la primera prueba hasta lograr un promedio de 4 obstrucciones en la tercer
prueba.
35

32.4

30
25
20

Prueba de
calidad(1)

20.4

15

Prueba de
calidad(2)

10

Prueba de
calidad(3)

5
0
Obstrucciones

Ilustracin 4.7.-Promedio del nmero de obstrucciones por los jugadores.

64

En la ilustracin 4.8 se muestra una grfica donde se puede observar que en las pruebas de
calidad se tuvo el control del baln en un promedio de 4:17 minutos por partido, debido en parte
a que los defensas interceptaban en una manera ms adecuada el baln, as como en la manera de
recuperarlo cuando los delanteros del equipo contrario tenan el control de ste en el rea
defendida.
04:48:00

04:17:36

04:19:12
03:50:24
03:21:36

Prueba de
calidad(1)

02:52:48
02:10:48

02:24:00
01:55:12

02:08:24

01:26:24
00:57:36

Prueba de
calidad(2)
Prueba de
calidad(3)

00:28:48
00:00:00
Tiempo con el Baln
Ilustracin 4.8.-Tiempo en promedio que se tuvo controlado el baln.

Como se muestra en cada una de las grficas esta estrategia dio resultados favorables durante el
desarrollo de las pruebas realizadas, los despejes correctos, los goles producidos y el tiempo que
se tuvo controlado el baln mejoraron; el nmero de obstrucciones, los autogoles y los goles
recibidos disminuyeron notablemente; mientras que el tiempo en que el baln estuvo en el rea
defendida tambin se vio reducido.

IV.1.2

Anlisis de resultados de la estrategia de defensa basada en roles

Como se aprecia en cada una de las grficas que se presentan en el apartado de pruebas de la
estrategia de defensa basada en roles, la estrategia dio resultados favorables durante el desarrollo
de las pruebas realizadas, los despejes correctos, el tiempo que se tuvo en baln en el rea
defendida y el tiempo que se tuvo controlado el baln mejoraron; el nmero de obstrucciones, los

65

autogoles y los goles recibidos disminuyeron notablemente; mientras los goles producidos no
tuvo cambio alguno.

Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos
Tiempo con el baln
Tiempo sin el baln

Estrategia de
Control
17
6.8
0.4
31.6
52.4
14.4
1:50:00
08:10:00

Estrategia
Basada en roles
1.6
0.8
1.2
4
41.8
35.2
04:17:36
05:42:24

Tabla 4.2.- Tabla Comparativa de la estrategia basada en roles

Como se muestra en la tabla 4.2, la estrategia basada de defensa basada en roles demostr tener
un 82.62% de efectividad al despejar el baln de manera adecuada del rea defendida lo que nos
indica una mejora ya que la estrategia de control solo mostro el 24.32% de efectividad, y la
posibilidad de que se recibiera un gol por parte del equipo contrario fue de nicamente de 4.45%,
adems en la estrategia de control los defensas tuvieron el control del baln el 18% del tiempo y
con la estrategia basada en roles los defensas tuvieron el control del baln el 43.8% del tiempo.

IV.2

Elaboracin e implementacin de la estrategia de defensa basada en

reas.
De igual manera para esta estrategia se realizaron tres pruebas de calidad, en la primera la
rotacin y el avance se realizaron de manera adecuada; pero, se observ la imprecisin que haba
entre los jugadores al momento de interceptar el baln o al tratar de tomar la posicin , lo que
provocaba que los despejes no sucedieran de manera adecuada; adems, en mltiples ocasiones
los robots se obstruan mutuamente en su tarea cuando el robot al momento de interceptar el
baln e intentaba despejar invadan el rea que tena a su cargo el otro defensor impidiendo as
que el defensa desempeara su tarea de manera adecuada.

66

En la segunda prueba se implement el control de acercamiento y el mtodo de despeje, el


nmero de goles se vio reducido, as como el de autogoles, pero al estar en completa inmovilidad
en el centro del rea no poda anticipar y despejar de manera correcta.
En la tercer prueba se pudo tener el control en el cambio de posicin el cual se produca cuando
el robot ocupado de proteger el rea se encontraba ms lejos, y as se lograban realizar despejes
correctos y los bloqueos entre ellos disminuy de una manera muy notoria. En la ilustracin 4.9
se muestra el rea que corresponde a cada jugador.

Ilustracin 4.9.-Ubicacin de los jugadores en el rea de juego.

IV.2.1

Pruebas de la estrategia de defensa basada en reas

A continuacin se presentan los resultados obtenidos en las diversas pruebas realizadas. El total
de las pruebas se muestran en el anexo E. En la tabla 4.3 se pueden observar los promedios
obtenidos de estas pruebas y enseguida las grficas con los resultados logrados.

Prueba
Prueba
Prueba
de
de
de
calidad(1 calidad(2 calidad(3
)
)
)

67

Autogoles
Goles
Producidos
Goles Recibidos
Baln en rea
Despejes
Correctos
Obstrucciones
Tiempo con el
Baln

6.2

2.6

1.6

0.4

0.6

0.4

13.4
55.2

9
67

4.4
64

17.4

42

50.8

32

16.2

4.6

02:08:00 02:45:12 04:06:24

Tabla 4.3.- Resultados obtenidos durante las pruebas de calidad.

En la ilustracin 4.10 se muestra una grfica donde podemos observar el promedio de los
autogoles producidos por los jugadores, se puede hacer notar que cuando se implement el
mtodo de despeje en la segunda prueba de calidad y el intercambio de rea a partir de la tercera
prueba de calidad, los jugadores estaban ms activos y despejaban de manera correcta logrando
con esto reducir el nmero de autogoles.

6.2

6
5
4
3

Prueba de calidad(1)
Prueba de calidad(2)

2.6
1.6

Prueba de calidad(3)

1
0
Autogoles
Ilustracin 4.10.- Promedio de autogoles producidos por los jugadores.

En la ilustracin 4.11 se puede notar en la grfica el promedio de goles producidos tras


implementar en los defensas mejoras en el cubrimiento del rea, rotacin de posiciones y el
mtodo de despeje, se produjeron anotaciones por los defensas sin participacin de los delanteros.

68

0.7
0.6

0.6
0.5
0.4

0.4

0.4

Prueba de
calidad(1)

0.3

Prueba de
calidad(2)

0.2

Prueba de
calidad(3)

0.1
0
Goles Producidos
Ilustracin 4.11.- Promedio de goles a favor durante las pruebas.

En la ilustracin No 4.12 se muestra una con el promedio de los goles recibidos durante las
pruebas, se nota que se vieron reducidos a solo una tercera parte de los recibidos en la prueba de
calidad uno, cuando no se contaba con el mtodo de despeje, y el intercambio de reas.

16
14

13.4

12
10

Prueba de calidad(1)

8
6

Prueba de calidad(2)
4.4

Prueba de calidad(3)

4
2
0
Goles Recibidos
Ilustracin 4.12.- Promedio de goles producidos por el equipo contrario

En la ilustracin 4.13 se muestra una grfica con el promedio de las veces que el baln estuvo en
el rea defendida, el mtodo de despeje y cambio de reas result ser de utilidad al

69

implementarlos puesto que gracias a ellos los jugadores no se obstruan el paso y podan controlar
el baln con mejor precisin.
80
67

70
60

64

55.2

50

Prueba de calidad(1)

40

Prueba de calidad(2)

30

Prueba de calidad(3)

20
10
0
Baln en rea
Ilustracin 4.13.- Promedio del nmero de balones que se tuvieron en el rea defendida.

En la ilustracin 4.14 se muestra una grfica donde se observa el promedio de los despejes
logrados de manera correcta durante las pruebas, al implementar el mtodo de despeje se obtuvo
un mejor desempeo de los jugadores en su rea, por que en vez de pasar el problema al otro
defensor se lograba despejar el baln del rea defendida.
60
50.8

50

42

40
Prueba de calidad(1)

30
20

Prueba de calidad(2)
17.4

Prueba de calidad(3)

10
0
Despejes Correctos
Ilustracin 4.14.- Nmero de veces que se despej de manera correcta

70

En la ilustracin 4.15 se observa una grafica con el promedio de obstrucciones que producan los
defensas por partido, pudimos notar que desde la primera prueba de calidad los jugadores tenan
problemas entre ello impidiendo que defendieran y despejaran de manera correcta, al
implementar el cambio de reas se pudo tener un mejor desempeo ya que los jugadores no
interrumpan el camino de el otro defensor.
35

32

30
25
20

Prueba de calidad(1)

16.2

Prueba de calidad(2)

15

Prueba de calidad(3)

10
4.6

5
0

Obstrucciones
Ilustracin 4.15.- Promedio del nmero de obstrucciones realizadas por los jugadores.

En la ilustracin 4.16 se muestra una grfica del promedio del tiempo en que se tuvo controlado
el baln en el rea defendida por los defensas, se puede notar que con respecto a la primera
prueba se tuvo el control casi el doble de tiempo en la tercera prueba de calidad, gracias a que los
mtodos implementados dieron resultados favorables por los jugadores logrando defender,
recuperar el baln y despejar de una manera ms adecuada.
04:06:24

04:19:12
03:50:24
03:21:36
02:52:48
02:24:00

02:45:12
02:08:00

Prueba de calidad(1)

01:55:12

Prueba de calidad(2)

01:26:24

Prueba de calidad(3)

00:57:36
00:28:48
00:00:00
Tiempo con el Baln

71

Ilustracin 4.16.- Tiempo en promedio que se tuvo controlado en baln.

IV.2.2

Anlisis de resultados de la estrategia de defensa basada en reas

Como se aprecia en cada una de las grficas, la estrategia defensa basada en reas dio resultados
favorables durante el desarrollo de las pruebas realizadas, los despejes correctos, el tiempo que se
tuvo en baln en el rea defendida y el tiempo que se tuvo controlado el baln mejoraron; el
nmero de obstrucciones, los autogoles y los goles recibidos disminuyeron; mientras los goles
producidos por los defensas se vieron disminuidos.

Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos
Tiempo con el baln
Tiempo sin el baln

Estrategia de
Control
17
6.8
0.4
31.6
52.4
14.4
1:50:00
08:10:00

Estrategia
Basada en reas
4.4
1.6
0.4
4.6
64
50.8
04:06:24
05:53:36

Tabla 4.4.- Tabla Comparativa de la estrategia basada en reas

En la tabla 4.4 la estrategia basada en reas tuvo un 77.43% de efectividad al despejar el baln
de manera adecuada del rea defendida, lo que indica la mejora ya que la estrategia de control
solo mostro el 24.32% de efectividad, y la posibilidad de que se recibiera un gol por parte del
equipo contrario fue solamente de 8.66%, adems en la estrategia de control los defensas
tuvieron el control del baln el 18% del tiempo y con la estrategia basada en reas los defensas
tuvieron el control del baln el 41% del tiempo.

72

II Conclusiones y trabajos futuros

IV.3

Conclusiones

Las soluciones planteadas en esta investigacin permiten afirmar que fue posible desarrollar
estrategias de defensa aplicables para el juego de futbol robtico, con un porcentaje de
efectividad aceptable.
Durante el desarrollo del presente trabajo, se identificaron los siguientes patrones de juego:

La defensa en ningn momento del partido intentan despejar del rea defendida.
No exista colaboracin, lo que resulta mltiples colisiones entre los defensas y los

delanteros.
La defensa se realiza en base a reas
No existe intercambio de rea
No se retoma posicin al ser movido
Los delanteros son los encargados de despejar el baln

Dichos patrones permitieron identificar las debilidades con las que contaba la estrategia de
control, lo que facilito el trabajo al proponer las estrategias desarrolladas en esta investigacin.
Adems con esta investigacin, se aportan importantes recursos lo que permite afirmar, que se
han creado bases en el tema de ftbol robtico que quedarn a disposicin para aquellos que
decidan continuar con el desarrollo de esta investigacin y se pueda formar en la DAIS un equipo
que explote favorablemente las estrategias de defensa en un juego de ftbol robtico.
De acuerdo con los resultados obtenidos y mostrados en las tablas 4.3 y 4.4 podemos afirmar que
la estrategia de defensa basada en roles logr el mejor desempeo, a lo largo de las pruebas:

73

El promedio de los goles que recibi la estrategia de defesa basada en reas fue de 4.4 por
partido, cuando la estrategia de defensa basada el roles presento un promedio nicamente

de 1.6 goles por partido, lo que indica que se recibe un 63.63% menos de goles.
El promedio de autogoles realizados por los defensas con la estrategia de defensa basada
en reas fue de 1.6 autogoles mientras que la estrategia de defensa basada en roles solo
logr producir 0.8 autogoles por partido, lo que indica que la estrategia de defensa basada

en roles produce 50% menos de autogoles con respecto a la estrategia basada en reas.
En promedio los defensas ejecutando la estrategia de defensa basada en reas produjeron
en promedio 0.4 goles por partido y ejecutando la estrategia de defensa basada en roles
produjeron en promedio 1.2 goles por partido lo que significa un aumento del 200% en

cuanto a goles producidos por los defensas


Aunque el nmero de despejes realizados de manera correcta fue mayor por parte de la
estrategia de defesa basada en reas, su efectividad para despejar la pelota fue de tan solo
77.43% mientras que la estrategia de defesa basada en roles obtuvo un 82.62% de
efectividad al realizar la misma tarea.

Adems la metodologa ASD en conjunto con UML, fueron un gran acierto, gracias a los cuales
la documentacin y elaboracin del proyecto, resultaron ms fcil de elaborar, es muy acertado
sealar que esta metodologa puede ser aplicada en proyectos de elaboracin de software, debido
a su simplicidad.

74

IV.4

Trabajos futuros

Se recomienda que esta investigacin sirva para incentivar a jvenes a participar en este tipo de
competencia y de esta manera desarrollar sus habilidades en programacin.
Como trabajos futuros se proponen:

Integrar todos los casos de estudio del juego de futbol robtico


Crear estrategias colaborativas con los otros miembros del equipo
Desarrollar nuevas estrategias
Integrar mtodos predictivos del baln
Planificacin de rutas
Desplazamiento mediante trayectorias ortogonales
Adaptar la estrategia para 11 jugadores del SimuRoSot
Generar aprendizaje relacionados al tema

75

Bibliografa

Referencias Impresas
[Cceres, 1996] lvarez Cceres R. (1996) El mtodo cientfico en las ciencias de la salud. Las
bases de la investigacin biomdica. Madrid: Daz de Santos. Pg. 56
[Fowler&Scott, 1999] Fowler Martin, Scott Kendall (1999) UML Gota a Gota, Addison Wesley
Longman de Mxico, S.A. de C.V. Pg. 1
[Joyanes, 2006] Joyanes Aguilar Luis, 2006, Programacin en C++: Algoritmos, estructuras de
datos y objetos, 2. Edicin, McGraw-Hill, pg. 39, 40.
[Ollero, 2001] Ollero Baturone Anbal, 2001,Robtica: Manipuladores y robots mviles,
coedicin MARCOMBO S.A. pg. 1
[Sampieri, 2008] Hernndez Sampieri Roberto, Fernndez Collado Carlos, Baptista Lucio Pilar
(2008), Metodologa de la Investigacin, 4ta.Edicin, Editorial McGraw-Hill,
Pg. 587
[Sommerville, 2005] Sommerville Ian Ingeniera del Software, Sptima Edicin, Pearson
Educacin, S. A. Madrid 2005. Pg. 76.
[Schumuller, 2001] Joseph Schumuller, Prentice Hall, Aprendiendo UML en 24 horas, 2001.
[Veloso, 1999] M. Veloso, M. Bowling, S. Achim, K. Han, P. Stone. TheCMUnited-98
ChampionSmall-Robot Team. M. Asada, H. Kitano (Eds.), RoboCup-98: Robot
Soccer World Cup II, pginas 77-92.Springer, 1999.

76

Referencias electrnicas
[Alcal, 2005] Tesis Diseo y construccin de un robot manipulador de dos grados de libertad,
M.C. Janeth Aurelia Alcal Rodrguez, M.I. Norberto Lpez Luiz, recuperado del
da30 de abril del 2010 en la web con direccin electrnica:
http://www.ucol.mx/acerca/coordinaciones/cgic/cuii/pdf/McJanet.pdf
[ngeles, s.f.] Artculo Introduccin a la Programacin Orientada a Objetos recuperado el da
25 de mayo del 2010 en la web por Jos Arturo de los ngeles con direccin
electrnica:
http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf
[Castelo, 2002] Tesis Futbol de Robots: Revisin del Estado del Arte y Desarrollo del Equipo
UBASot de Simulacin Castelo C., H. Farsi y F. Scarpettini. Facultad de Ciencias
Exactas y Naturales, Universidad de Buenos Aires, recuperado el 29 de abril del
2010 en la direccin electrnica:
http://www-2.dc.uba.ar/cafr2003/arc/TesisFutboldeRobots.zip
[Descripcin, s.f.] Artculo Descripcin DLL recuperado el da 17 de mayo del 2010 en la web
con direccin electrnica:
http://www.svetlian.com/dll/articulos_descripcion_dll.htm
[DLL, 1998] Artculo DLL; recuperado el da 17 de mayo del 2010 en la web con direccin
electrnica:
http://www.alegsa.com.ar/Dic/dll.php
[FIRA, 2004] Federation of International Robot-Soccer Association (FIRA) Homepage
recuperado el 28 de abril del 2010 en la direccin electrnica:
http://www.fira.net
77

[Gonzlez, 2002] Artculo Introduccin a la robtica recuperado el da 9 de marzo del 2010 en


la web por Vctor R. Gonzlez con direccin electrnica:
http://cfievalladolid.net/tecno/ctrl_rob/robtica/intro.htm
[Help, s.f.]Artculo 3D Robot Soccer Help recuperado el da 15 de abril del 2010 en la web con
direccin de electrnica:
http://www.fira.net/~fira/?module....

[Huarachi, 2009] Trabajo de Investigacin y Exposicin, Maritza Huarachi, Universidad Unin


Bolivariana. Recuperado el 11 de Junio del 2010 en la direccin.
http://www.adolfo.mex.tl/images/18149/informe.doc
[Nocin, s.f.] Artculo Nocin de la Robtica recuperado el da 17 de mayo del 2010 en la web
con direccin electrnica:
http://www.ilustrados.com/
[Otero, s.f.] Parte de un artculo Diagramas de estado Mari Carmen Otero Vida, recuperado el
da 10 de diciembre del 2011 en la web con direccin electrnica:
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r33019.PDF
[RoboCup, s.f.] Pgina principal de RoboCup Robot World Cup, recuperado el 20 de mayo del
2010 en la web con direccin electrnica:
www.robocup.org
[Robtica, 1999] Artculo La Robtica como Herramienta del Hombre, recuperado el 9 de
marzo del 2010 en la web del Instituto Tecnolgico de Durango con direccin
electrnica:
http://montelpz.htmlplanet.com/robot/antecede.html

78

[Tri, 2009] Artculo el Tri del mundial RoboCup, recuperado el 10 de marzo del 2010 en la
web con direccin electrnica:
http://www.cnnexpansion.com/tecnologia/2009/09/09/siguiente-el-tri-delmundialrobocup
[Zapata, 2008] Zapata Jaramillo, Carlos Mario y Duarte Herrera, Mary Ins autores de la Revista
Consistency game: a didactic strategy for software engineering, publicado en el
2008, recuperado el da 16 de mayo el 2010 en un artculo publicado en la web con la
direccin electrnica:
http://www.scielo.org.ve/pdf/rtfiuz/v31n1/art02.pdf

79

Glosario

A
Agente: Entidad que toma decisiones dependiendo del estado de su entorno.
E
Electrnica: Es el campo de la ingeniera y de la fsica aplicada relativo al diseo y aplicacin de
dispositivos, por lo general circuitos electrnicos, cuyo funcionamiento depende del flujo de
electrones para la generacin, transmisin, recepcin, almacenamiento de informacin, entre
otros.
F
FIRA: Siglas en ingles de la federacin internacional de robot soccer y asociados (Federation
International robot soccer Asociation).
I
Informtica: es la ciencia aplicada que abarca el estudio y aplicacin del tratamiento automtico
de la informacin, utilizando dispositivos electrnicos y sistemas computacionales.
Inteligencia Artificial: Disciplina que se encarga de construir procesos que al ser ejecutados
sobre una arquitectura fsica produce acciones o resultados que maximizan una medida de
rendimiento determinada, basndose en la secuencia de entradas percibidas y el conocimiento
almacenado en tal arquitectura.
J
JLeague: Fue la primera competencia de futbol robtico, la cual se celebr en Japn, esta tomo
el nombre de la liga japonesa de futbol profesional.
L
LeJOS: Java for LEGO MindStorms.
M
Multiagentes: Es un sistema en el cual pueden ser aplicados ms de un agente para resolver
cierta tarea o problema.
P
80

Perse: De por s, por s mismo.


R
Robot: Es un sistema electromecnico que, por su apariencia y sus movimientos, ofrece la
sensacin de tener un propsito propio.
Robtica: Es la ciencia y la tecnologa de los robots. Se ocupa del diseo, manufactura y
aplicaciones de los robots.
V
Visin Computacional: El objetivo de la visin computacional (VC) es tomar decisiones tiles
acerca de los objetos fsicos reales del mundo (de escenas) en base a imgenes adquiridas
digitalmente.

81

Anexos

Anexo A Resultados de prueba de control


Nmero de
pruebas
Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes
Correctos
Tiempo con el
Baln

p1
15
8
1
30
40
12

p2
11
5
0
35
51

20
01:5
01:06
6

p3
10
8
0
29
55

p4
18
6
0
30
60

p5
14
7
1
34
56

16
02:1
0

14
01:5
0

10
01:3
7

Promedi
o
17
6.8
0.4
31.6
52.4
14.4
1:50

Tabla 1.- Resultados obtenidos en la prueba de control

82

Anexo B Creacin del archivo DLL.


Paso 1.- Al tener elaborado las estrategias se procede a su compilacin

Ilustracin 1.- Entorno de trabajo visual 6 C++

Paso 2.- El archivo con extensin dll se encuentra con la carpeta debug ubicada en el directorio
de nuestro cdigo.

Ilustracin 2.- Archivos de cdigo fuente

83

Anexo C Introducir las Estrategias en el Simulador.


Paso 1.- Se compila el cdigo para crear el archivo con las estrategias cargadas con extensin dll.

Ilustracin 3.- Entorno de trabajo visual 6 C++

Paso 2.- Se copia el archivo strategy.dll ubicado en la carpeta debug de nuestro proyecto.

Ilustracin 4.- Archivos DLL

84

Paso 3.- Se pega el archivostrategy.dll en la direccin C:\Strategy\blue o C:\Strategy\yellow


segn el color del nuestro equipo.

Ilustracin 5.- Directorio para cargar las estrategias

Paso 4.- Se ejecuta el simulador.

Ilustracin 6.- Entorno del simulador

85

Paso 5.- En la opcin Strategies se elige el lenguaje de programacin en el cual se programaron


las estrategias en nuestro caso se elije C++.

Ilustracin 7.- Panel de estrategias

Paso 6.- Se introduce el Nombre del archivo donde se encuentran programadas las estrategias

.
Ilustracin 8.- Panel de estrategias

Paso 7.- Se Cargan las Estrategias en el simulador.


86

Ilustracin 9.- Panel de estrategias

Paso 8.- Se inicia el partido con la opcin Start

87

Anexo D Pruebas de calidad de la estrategia basada en roles.


Nmero de pruebas
Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos

p1
10
13
0
35
63
19

Tiempo con el Baln

02:13

p2
11
12
1
37
65
15
02:1

p3
12
11
0
33
59
13

p4
9
13
0
28
67
12

p5
13
15
0
29
53
16

Promedio
11
12.8
0.2
32.4
61.4
15

8 01:57 02:03 02:11

02:08:24

Tabla 2.- Resultados obtenidos en la primera prueba de calidad.

Nmero de pruebas
Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos
Tiempo con el Baln

p1
4
5
2
23
43
25

p2
p3
p4
p5 Promedio
5
3
5
4
4.2
4
3
5
3
4
1
0
1
0
0.8
22
17
19
21
20.4
41
39
44
47
42.8
28
27
23
25
25.6
01:5
02:08 9 02:17 02:19 02:11 02:10:48

Tabla 3.- Resultados obtenidos en la segunda prueba de calidad.

Nmero de
pruebas

Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes
Correctos
Tiempo con el
Baln

p1

p2

p3

p4

p5

1
0
1
6
38
33

3
0
1
3
45
37

1
1
2
5
43
35

2
2
1
3
37
32

1
1
1
3
46
39

04:2
1

04:1
7

04:0
9

04:1
3

04:2
8

Promed
io
1.6
0.8
1.2
4
41.8
35.2
04:17:36

Tabla 4.- Resultados obtenidos en la tercera prueba de calidad.

88

89

Anexo E Pruebas de calidad de la estrategia basada en reas.


Nmero de pruebas
Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos
Tiempo con el Baln

p1
13
6
0
37
46
17

p2
11
5
1
33
51
23

p3
14
7
0
31
57
19

p4
17
6
0
27
63
15

p5 Promedio
12
13.4
7
6.2
1
0.4
32
32
59
55.2
13
17.4
02:3
02:03 01:56 02:11 01:53 7
02:08:00

Tabla 5.- Resultados obtenidos en la primera prueba de calidad.

Nmero de pruebas
Goles Recibidos
Autogoles
Goles Producidos
Obstrucciones
Baln en rea
Despejes Correctos
Tiempo con el Baln

p1
7
3
1
17
71
43

p2
9
4
0
15
57
38

p3
p4
p5 Promedio
11
8
10
9
2
1
3
2.6
0
1
1
0.6
19
14
16
16.2
69
65
73
67
41
49
39
42
02:3
02:4
02:43 02:57 8 02:41 7
02:45:12

Tabla 6.- Resultados obtenidos en la segunda prueba de calidad.

Nmero de
pruebas

Goles Recibidos
Autogoles
Goles
Producidos
Obstrucciones
Baln en rea
Despejes
Correctos
Tiempo con el
Baln

p1

p2

p3

p4

p5

4
2
1

3
1
0

5
1
0

4
3
1

6
1
0

Promed
io
4.4
1.6
0.4

6
65
48

5
67
51

4
64
47

5
63
53

3
61
55

4.6
64
50.8

03:58

04:0
3

04:1
3

04:11

04:0
7

04:06:24

Tabla 7.- Resultados obtenidos en la tercera prueba de calidad.

90

91