Vous êtes sur la page 1sur 38

Robocup es una competencia de un torneo

de futbol simulado.
El objetivo de la competición RoboCup es
fomentar un enfoque interdisciplinario a la
robótica y el agente basado en IA
Servidor:
• Con el fin de iniciar realmente un partido de fútbol en
el servidor, el usuario debe conectar a algunos clientes
con el servidor (con un máximo de 11).
Cliente:
• Los clientes tienen que conectarse al servidor
utilizando los parámetros por defecto (host = localhost,
port = 6000). Por supuesto, estos parámetros del
servidor se pueden cambiar con los argumentos que
acepta fútbol servidor cuando se inicia.
Monitor:
• Soccermonitor proporciona una interfaz
visual. Utilización del monitor se puede ver un
partido claramente y controlar el proceso del
juego.
Log Player:
• La generación de logs por parte del servidor de
RoboCup se realiza en forma automática al
ejecutarse un juego y se forman tres archivos,
RCG, RCL y LOG
• Consta de 3 módulos a saber, un campo
simulador del módulo, un módulo de
árbitro y un módulo Message-Board.
• Campo simulador del módulo calcula los
movimientos de objetos en el campo y la
colisión entre ellos los controles.
• El módulo de árbitro controla un juego
de acuerdo a las reglas.
• El Message-Board gestiona la
comunicación entre los clientes.
• El servidor es un sistema que permite a varios equipos
para competir en un juego de fútbol. Desde el partido
se lleva a cabo en un estilo cliente-servidor, no hay
restricciones en cuanto a cómo los equipos se
construyen. El único requisito es que las herramientas
utilizadas para desarrollar un equipo de soporte de
cliente-servidor de comunicación a través de UDP / IP
sockets.
• Cada cliente es un proceso independiente y se conecta
al servidor a través de un puerto especial.
• Campo de fútbol y todos los objetos en ella son en 2D.
• El tamaño del campo es 105m x 68m y el ancho de las
metas es 14.64m.
• Los jugadores y el balón se tratan como círculos.
• Soccermonitor y soccerserver están conectados a
través de UDP / IP en el puerto 6000 (por
defecto). Cuando el servidor se conecta con el
monitor, que enviará la información al monitor de
cada ciclo.
• El monitor de fútbol es una herramienta de
visualización que permite a la gente para ver lo que
está sucediendo en el servidor durante un juego.
Actualmente el monitor viene en modos modos, el
cssmonitor y el clásico rcssmonitor.
• Incluyen la partitura, nombres de los equipos y las
posiciones de todos los jugadores y la pelota.
• Un agente de RoboCup tiene tres sensores de
diferentes.
• Modelo Aural Sensor:
• Aural Sensor se envía cuando un cliente o un
entrenador envían una say comando.
• El sensor visual de los informes de los objetos
en la actualidad vista por el jugador. La
información se envía automáticamente al
jugador en cada paso sentido, actualmente
150, milisegundos.
El Sensor Model realiza informes de la actual \
física "estado del jugador. La información se
envía automáticamente al jugador en cada
paso del cuerpo sentido, actualmente 100,
milisegundos. (sense body Time
(view mode ViewQuality ViewWidth)
(stamina Stamina E_ort)
(speed AmountOfSpeed DirectionOfSpeed)
(head angle HeadDirection)
(kick KickCount)
(dash DashCount)
(turn TurnCount)
(say SayCount)
(turn neck TurnNeckCount)
(catch CatchCount)
(move MoveCount)
(change view ChangeViewCount))
• El portero es el único jugador con la habilidad
de atrapar una pelota. El portero puede
atrapar el balón en el modo de reproducción
"jugar" en cualquier dirección, si el balón está
dentro del área capturadle y el portero se
encuentra dentro del área penal.
• Cada jugador tiene una cierta cantidad de energía
que se consume por los comandos del tablero.
• Al comienzo de cada mitad, la resistencia de un
jugador está en la resistencia máxima.
Si un jugador se acelera hacia adelante
(potencia> 0), la resistencia se reduce por el
poder.
• El comando kick toma dos parámetros, el
poder dejar el cliente jugador quiere utilizar
(entre minpower y maxpower) y el ángulo el
jugador patea el balón.
• El comando de move se puede utilizar para
colocar a un jugador directamente a la posición
deseada en el campo. mover existe para
configurar el equipo y no funciona durante la
reproducción normal. Está disponible en el
comienzo de cada mitad, o después de un gol.
• Usando el comando decir, los jugadores
pueden transmitir mensajes a otros jugadores.
• Mientras que el dash se usa para acelerar el
jugador en la dirección de su cuerpo, el
comando a su vez se utiliza para cambiar la
dirección del cuerpo los jugadores.
KICK OFF:
• Justo antes de una falta o (ya sea antes del inicio
del medio tiempo, o después de un gol), todos los
jugadores deben estar en su propia mitad. Para
permitir que esto ocurra, después de un gol, el
árbitro suspende el partido por un intervalo de 5
segundos.
GOALS:
• Cuando un equipo anota, el árbitro realiza una
serie de tareas. Inicialmente, se anuncia el
objetivo de transmitir un mensaje a todos los
jugadores. También actualiza la puntuación, se
mueve la bola a la marca central.
OUT OF FIELD
• Cuando el balón sale del campo, el árbitro se mueve la
bola a una posición adecuada (una línea de banda, de
esquina o área de portería) y cambia el juego en modo
kick in, corner kick (saque de esquina o saque de
meta).
PLAYER CLEARANCE
• Cuando el juego es el modo (tiro libre, tiro, o saque de
esquina) free kick, kick in, or corner kick, el árbitro
elimina todos los jugadores defensores encuentra
dentro de un círculo centrado en el balón.
• BACKPASSES
• Al igual que en los partidos de fútbol real, el portero no
se le permite atrapar una pelota que se ha pasado a él
por un compañero de equipo. Si esto ocurre, el árbitro
llama a un pase hacia atrás o hacia atrás y asigna un
tiro libre al equipo adversario.
• FREE KICK FAULTS
• Cuando se ejecuta un tiro libre, saque de esquina, tiro
libre del portero, o un tiro, un jugador no se le permite
pasar el balón a sí mismo. Si un jugador patea el balón
de nuevo después de realizar uno de esos tiros libres,
el árbitro llama a un free_kick_fault_l or
free_kick_fault_r y el equipo opuesto se le concede un
tiro libre.
• Un agente inteligente, es una entidad capaz de
percibir su entorno, procesar tales percepciones y
responder o actuar en su entorno de manera
racional, es decir, de manera correcta y
tendiendo a maximizar un resultado esperado.
• Los agentes deben cumplir con ciertas
características
• Reactividad
• Pro actividad
• Habilidad social
• Además cada uno de los agentes debe cumplir
con ciertas cualidades que son específicas de
esta investigación como lo son la interacción
con factores externos, la colaboración, el
aprendizaje sobre cada una de las situaciones
que se presenten dentro del ambiente y la
colaboración con otros agentes reflejadas en
estrategias adaptativas.
• Los agentes inteligentes son la base del desarrollo
de los sistemas multiagentes, debido a que
dependen completamente de estos ya que son
los encargados de llevar a cabo tareas pequeñas e
individualizadas para llegar a un objetivo de
mayor complejidad que requiere de su
colaboración para ser llevado a cabo con éxito.
• La interacción de los mismos con el medio en el
que se encuentran debido a que se espera que a
cada acción realizada dentro del ambiente
produzca una reacción en el mismo o una salida
del sistema.
• Los algoritmos de aprendizaje supervisado son
varios y según las pruebas realizadas sobre los
algoritmos más populares que incluyen SVMs
(máquinas de soporte vectorial), redes
neuronales, regresión logística, naive bayes,
árboles de decisión, etc.
• El uso del aprendizaje por refuerzo como una
posible técnica para la mejora del
comportamiento de los agentes dentro de los
sistemas multi-agentes debido a su capacidad de,
en un determinado lapso de tiempo, desarrollar
de cierta manera habilidades que permiten a los
actores de los sistemas desempeñarse.
• De esta forma utilizan este tipo de aprendizaje
en el ambiente de simulación 2D de RoboCup
para que los jugadores aprendan y en dado
caso mejoren su habilidad de interceptar
pases del rival. Se emplea el uso de
recompensas en el que el acierto (en este caso
la intercepción del balón) otorga una
recompensa (un valor de 1) y en otro caso se
da el valor mínimo (0).
•Posición inicial y final del balón.
•Posición inicial y final de los jugadores
propios/rivales.
•Cantidad de pases en la jugada.
•Número de jugadores involucrados en la jugada
•Duración de la jugada.
•Número de pases por jugada.
•Promedio de cercanía a los jugadores rivales
respecto al balón.
•Promedio de distancia recorrida por los jugadores.
• Las jugadas consisten de dos archivos XML. Uno
contiene las condiciones iniciales de las jugadas y
el otro el desarrollo de las mismas. El primer
archivo permite que la búsqueda de la jugada que
se acomode mejor a las circunstancias del terreno
de juego sea de manera eficiente al tener un
tamaño de archivo reducido.
<PlayBook> <Player unum=”1” side=”l”>
<Play id=”1” duration=”5”> <Zone>1<Zone>
<Start> </Player>
<Ball> .
<Zone>1</Zone> . (Todos los jugadores propios y del
</Ball> rival)
.
<Player unum=”1” side=”l”> <Player unum=”11” side=”r”>
<Zone>1<Zone> <Zone>1<Zone>
</Player> </Player>
<Player unum=”1” side=”l”> </Start>
<Zone>1<Zone> </Play>
</Player> </PlayBook>
Inician con un kick (Falta) de algún jugador del equipo al
que se esté siguiendo.
• Posición del equipo.
• Posición del rival.
• Posición del balón.
• Jugador que inicia la jugada.
Final de una jugada
• Kick o Catch (falta o caputa) de un oponente.
• El balón sale del terreno de juego.
• El árbitro marca una falta.
• Cambio en el estado de juego.
• El cliente puede enviar y recibir comandos de control
de un jugador a través del servidor.
• Enviar comandos disponibles son (move x y),
(turn Moment), (dash Power) y (say Message).
• Sensor (Recibir) incluye las funciones y la información
auditiva visual utilizando (See Time ObjInfo ObjInfo ...)
and (hear Time Direction Message).
• Cada cliente puede controlar sólo un jugador.
• El cliente puede ser programado en casi cualquier
lenguaje de programación bajo el sol (Java, C, C + +,
VisualBasic, Pascal, Delphi, dBASE, archivos por lotes
de DOS, etc) y cualquier plataforma (DOS, Windows,
Unix, Mac).
• 1. Se basa en la tecnología de JavaBeans, y nos permite
desarrollar sofisticados equipos de fútbol .
• 2. Se proporciona un reproductor de muchos de los
comportamientos (por ejemplo, corriendo, girando, goteo,
etc) y la decisión de los posibles criterios (por ejemplo, la
distancia de bolas, el número de opositores en el cierre, la
posición de uno mismo en el campo, etc) como los frijoles.
Puede desarrollar un jugador con sólo conectar juntos los
componentes necesarios.
• 3. Tenemos que diseñar simplemente árbol como los
planes de decisión para los jugadores individuales,
suponiendo que juegan del lado izquierdo. El resto de las
cosas que se maneja para nosotros por el marco.
• 4. Puede ser ampliado para incorporar otras conductas
jugador y las decisiones no se encuentra respaldada por el
marco.
Permite a los agentes de software controlar robots
humanoides para competir unos contra otros en una
simulación realista de las normas y la física de un
partido de fútbol. La plataforma se esfuerza por
reproducir los retos de programación de software
enfrentándose a la construcción real de robots físicos
para este propósito.
• Simulación para los sentidos
humanos, entre ellos tenemos los
siguientes:
• Sensor Aural.
• Sensor de Visión.
• Sensor Corporal.
• Carch: parar
• Dash: Correr
• Kick: Chutar
• Move: Tele transportar
• Say: Hablar
• Turn: Girar
• TrunNeck: Girar cuello
• Intervalo de Ejecucion
• Ciclos de accion
• Ciclos de percepcion:
|Entrenador: se usa on-line y
proporciona consejos e información a
los jugadores. Entre sus funciones
tenemos:

• Puede comunicarse con los jugadores.


• Puede obtener información libre de
ruidos.
• Puede organizar estrategias.
• Preparador: puede ejercer mas control sobre
el juego y se puede usar solamente ne la fase
de desarrollo. Entre sus funciones tenemos:

• Controlar el modo de juego.


• Enviar mensajes.
• Mover a los jugadores y la pelota en
cualquier posición y velocidad.
• Obtener información libre de ruido de los
objetos móviles.

Vous aimerez peut-être aussi