You are on page 1of 11

Desarrollo de estrategias en sistemas multiagentes

(Robots Futbolistas) con implementacin de visin


artificial
Universidad Pedaggica Nacional, Licenciatura en Electrnica

Juan Andrs Castiblanco lvarez. Jos Luis Surez Camargo


Febrero de 2010

Resumen soccer Association) la cual realiza anualmente una


Este artculo presenta el diseo y la implementacin competencia a nivel mundial y un congreso en el
de tres robots futbolistas con diferentes estrategias que todos los participantes presentan sus artculos
(delantero, defensa y arquero), basados en la sobre sus robots y esquemas. Su principal objetivo
categora MiroSot de FIRA y el concepto de es promover el desarrollo de sistemas autnomos
sistemas multiagentes. Adems describe los robticos multiagentes [23] y de esta forma reunir
mdulos de visin artificial, el ambiente de juego, investigadores calificados y estudiantes de
arquitectura de los agentes, sistema de diferentes niveles y campos de estudio.
comunicacin, y estrategias de juego.
En las competencias de ftbol de robots se manejan
Palabras Clave: Robots futbolistas, sistemas temticas como: navegacin autnoma del agente en
multiagente, visin artificial. el campo de juego, colaboracin multiagente,
procesamiento de imgenes, toma de decisiones en
tiempo real, estrategias de juego, comunicacin
1. Introduccin inalmbrica, robtica entre otras [25].
Uno de los juegos ms populares en el mundo es el
futbol, donde el ser humano se encuentra ante El objetivo de este trabajo es la implementacin de
situaciones diversas en las cuales tiene que tres robots diseados para jugar futbol, cada uno
reaccionar de una manera inteligente para alcanzar con diferentes estrategias de juego: delantero,
el objetivo del juego. arquero y defensa.
Desde el punto de vista de inteligencia artificial el Estos robots son controlados inalmbricamente en
ftbol presenta un escenario propicio para la un espacio determinado, el cual consta de una
investigacin en robtica, ciencia, tecnologa y cancha de juego proporcional al tamao de los
educacin, para logar que sistemas inteligentes robots con dimensiones basadas en la categora
jueguen al ftbol. MiroSot [17] de FIRA.
Una de las principales organizaciones a nivel
mundial que se dedica a la investigacin en ftbol Para saber la ubicacin de los agentes, la pelota y
de robots es la RoboCup [18], la cual realiza los arcos de notacin, se realiza a travs de una
eventos anuales con diversas categoras donde el cmara que est ubicada en la parte superior de la
objetivo es desarrollar mquinas y programas cancha (Figura-1) la cual toma varias imgenes por
inteligentes, capaces de jugar al ftbol sin que segundo de la cancha de juego en formato digital y
tengan que intervenir seres humanos durante el las transmite al software Matlab. Las matrices
transcurso del partido, integrado as diferentes obtenidas en formato RGB, se les aplica algoritmos
tecnologas, promoviendo la robtica y la de procesamiento de imgenes para encontrar las
inteligencia artificial. ubicaciones de los agentes, la pelota, limites de la
cancha y los arcos de anotacin. Los algoritmos
Otra organizacin dedicada al ftbol de robots es aplicados a cada fotograma capturado son:
FIRA [17] (Federation of International Robot- eliminacin del fondo o filtrado, umbralizacin,
filtro sal y pimienta y segmentacin de la imagen. independiente, es decir una alimentacin de 7V
Esta informacin la llevamos al algoritmo de para el L293B y una de 3.3V para el
planeacin de trayectorias y por ultimo al algoritmo microcontrolador.
de estrategias de juego.
Modulo de comunicacin inalmbrica de radio
2. Descripcin de la Aplicacin frecuencia con modulacin ASK RLP 434. Este
En general el ambiente de juego consta de diferentes modulo funciona a una frecuencia de 434MHz y
elementos tales como la cancha de juego, la pelota, con una comunicacin por RS232 con el
sistema de visin por computador, los robots microcontrolador a 2400bps.
jugadores de futbol, sistema de comunicacin y Dos motores DC a 3.3V a 12V.
sistema de control. En la Figura-1 se observa el
Dos sensores CNY70 y un disparador 74HC123
ambiente de juego.
para la construccin del Encoder.

La Figura-3 se muestra el diagrama de bloques de la


arquitectura del agente

Figura- 1 Ambiente de juego

3. Arquitectura de los agentes


Para la arquitectura de los agentes se tuvieron en
cuenta las dimensiones y caractersticas de la
categora MiroSot de FIRA, las cuales cada robot
debe tener un tamao de ,
donde el tamao de la antena no es relevante. En la Figura- 3 Diagrama de bloques del agente
Figura-2 se observa el diseo mecnico del agente y
su respectiva organizacin de los actuadores, Para medir y controlar la velocidad de las ruedas se
sistema de control, bateras y sensores. construy dos encoders con el sensor CNY70, cada
uno con 16 puntos reflectivos que estn acoplados
Sistema de en cada rueda.
Control
Para lograr que el agente realice todas las ordenes
Batera
s enviadas por el sistema de control se implementa en
el microcontrolador un algoritmo de recepcin de
Sensores informacin (El circuito integrado RLP 434A recibe
los datos y los enva al MCU en formato RS232).
Actuadores Tambin se realiza un algoritmo de control PWM
para cada actuador, teniendo en cuenta las seales
de los encoders. Este control realiza los cambios de
Figura- 2 Organizacin de los elementos del agente velocidad, giros y controla la velocidad en los
motores.
El agente tiene los siguientes elementos
electrnicos: 4. Comunicacin PC - Agentes
Modulo de control: Est compuesto por un En este proyecto se trabajo con un modulo de RF
microcontrolador Pic16F690 con encapsulado RLP y TLP 434A Figura-4 Este modulo trabaja en
tipo SSOP y driver para los motores L293B con una seal de portadora de 433.92 MHz y modula en
ASK, de tal manera que puede transmitir valores
encapsulado tipo DIP, con alimentacin
lgicos 1 y 0. Tienen un alcance de 100 metros con pixeles a 30fps y se realiza el procesamiento de la
camino despejado. imagen con el software Matlab en un procesador
AMD Dual-Core de 1.90GHz y una memoria RAM
de 2GB. Est cmara tiene un ngulo de visin de
80, se puede elegir velocidad de captura que va
desde 5fps hasta 90fps y tiene una resolucin
Figura- 4 mxima de 6 Mega Pixeles. La imagen capturada
por la cmara se muestra en la Figura 5.
En cuanto a su alimentacin el transmisor tiene un
rango de operacin de voltaje de 2V a 12V y un
nivel de potencia RF a 50 ohm de 9V a 12V de
16dBm, y de 5V a 6V de 14dBm, y una data rate de
hasta 2400 bits por segundo.
El receptor puede ser alimentado de 3.3V a 6V,
tiene una salida digital y lineal, maneja una
operacin en radio frecuencia de 315.418 y 433.92
MHz, y una sensibilidad de -110 dBm. Para incluir
el modulo a una aplicacin (transmisor y receptor)
es necesario tener una interfaz serial.

4.1. Codificacin Figura- 5 Imagen de la cancha con la cmara Phillips SPC


Para tener una comunicacin con todos los agentes 1300NC
se realizo una arquitectura Broadcast con una
codificacin que est organizada de la siguiente 5.1. Procesamiento Digital de la Imagen
forma: El procesamiento digital de las imgenes tomadas
por la cmara es el conjunto de tcnicas para
Comando: Sentido de Vel. Rueda Vel. Rueda facilitar la bsqueda de informacin, donde el
Agente Giro Izquierda Derecha
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
objetivo consiste en la adquisicin, procesamiento,
clasificacin y reconocimiento de imgenes
Comando: Sentido de Giro digitales. Entre las tcnicas para el procesamiento
Agente de la imagen estn las operaciones aritmticas y
Bit Bit Bit 5 Bit 4
7 6
transformaciones geomtricas [11]. Este
0 0 0 0 Atrs procesamiento se realiza en Matlab.
0 1 Defensa 0 1 Derecha El principal objetivo del mdulo de visin es
1 0 Arquero 1 0 Izquierda proporcionar a cada instante al mdulo de estrategia
1 1 Delantero 1 1 Adelante
las posiciones de los elementos en la cancha. Para
Velocidad Velocidad Rueda esto utiliza las imgenes capturadas por la cmara y
Rueda Derecha retorna la ubicacin y orientacin de los robots del
Izquierda propio equipo, la posicin de los robots contrarios y
Bit Bit 2 Bit 1 Bit 0
3 la posicin de la pelota.
0 0 0% 0 0 0%
0 1 33% 0 1 33% La cmara captura las imgenes en espacio de color
1 0 66% 1 0 66%
1 1 99% 1 1 99% RGB [6] y las enva a Matlab, all se realiza un
filtrado que elimina el fondo, luego pasa a una
Como se muestra se enva un byte en el cual se segmentacin por umbral segn los colores RGB
especifica al agente, el sentido de giro y las [13] [26], luego aplicamos un filtro para eliminar el
velocidades de cada rueda. ruido sal y pimienta [14] y por ltimo
identificacin de los agentes y la pelota.
5. Sistema de Visin Artificial
En el Sistema de Visin Artificial es un modulo de Para la identificacin de los agentes se realiza un
visin global como se muestra en la Figura-1. barrido en la nueva imagen, donde cada agente tiene
Se utiliza la cmara Phillips SPC 1300NC con dos colores que lo identifican en el campo, uno de
interfaz usb, con una resolucin de los colores es para identificar el equipo y el otro es
para identificar el agente. A cada color a identificar (6)
se le asignan unos valores mximos y mnimos de
El frente del robot es el color del agente, entonces
umbral en cada componente RGB dependiendo su
as se puede calcular los ngulos que tiene el agente
ubicacin en la cancha. Entonces si los
con respecto a los dems elementos del campo.
componentes de un pixel se encuentran entre los
En conclusin el procesamiento de imagen
valores del umbral de un determinado color, quiere
encuentra a la ubicacin de los agentes, la pelota,
decir que el pixel es de ese color.
los obstculos y los arcos.
Con el anterior mtodo identificamos primero el
color del agente, esto quiere decir que primero se
El siguiente diagrama muestra la secuencia en el
identifica si el agente es el arquero, defensa o
procesamiento de la imagen.
delantero, despus aplicamos el mismo mtodo para
identificar el equipo. Los colores de los agentes se Inicio
pueden visualizar en la Figura-6.

Configuracin
de la cmara

Capturar Imagen en
Formato RGB
a. b. c.
Figura- 6 a. Arquero. .b. Defensa. .c. Delantero
Eliminacin del Fondo
Cuando se identifica el color del agente se realiza
un barrido para contar la cantidad de pixeles del
Segmentacin por Umbral
color del agente, se hace una promedio de la
Segn colores RGB
cantidad de pixeles y de esta forma se encuentra las
coordenadas centrales del color. Teniendo en cuenta
la ubicacin del agente, definimos un sector de la
Eliminar Ruido
imagen para realizar el barrido y contar la cantidad
Sal y Pimienta
de pixeles del color del equipo, tambin se
promedia y se encuentra la coordenada central del
color. Se promedian nuevamente las dos Identificacin de los
coordenadas y de esta forma encontramos el centro Agentes y pelota
del robot.
La funcin que describe el barrido y encuentra el
centro del color: Ecuaciones (1),(2),(3) y (4)
6. Planeacin de Trayectorias
Es claro que un robot autmata no puede realizar
ningn movimiento deseado sin tener una
trayectoria, la cual se describe con una sucesin de
puntos generando una ruta de desplazamiento por la
que debe pasar el autmata para lograr ir de un
Donde son las coordenadas de los pixeles punto A hasta un punto B. Dicha planeacin o
con los umbrales determinados para cada color de clculo de las trayectorias debe solucionar algunos
cada agente o del color del equipo, y es el nmero posibles problemas tales como: encontrar la ruta
de pixeles que tienen el umbral. Las funciones son ms rpida, identificar obstculos, detectar posibles
iguales para encontrar el centro de los colores. colisiones, evitar obstculos y garantizar llegue al
Las funciones para las coordenadas de los agentes punto final.
son: Ecuacin (5) coordenada x Ecuacin (6) El problema bsicamente consiste en hacer que un
coordenada y autmata se desplace desde un punto A hasta un
punto B, evitando la colisin del mismo con otros
(5) objetos ubicados dentro de un mismo espacio. Para
eso es necesario tener conocimiento de la posicin
inicial, la posicin final y el entorno que le rodea Los mtodos de resolucin completa, utilizan
especificando la posicin exacta de los obstculos toda la informacin referente al espacio para
as como su forma fsica adems de los posibles generan un mapa discreto formando una malla
puntos libres por los cuales se pueda desplazar el de configuracin en los cuales se evidencia una
robot, estos parmetros pueden ser proporcionados solucin.
por el usuario o bien pueden ser calculados Los mtodos probabilsticamente completos,
mediante la informacin proporcionada por los adems de evidenciar si hay una posible
sensores. solucin, evalan la probabilidad de en funcin
El problema se hace mucho ms complejo si el del tiempo de procesamiento.
autmata se desenvuelve en un ambiente dinmico,
es decir que los obstculos tambin se mueven Despus de implementar el algoritmo
dentro del espacio, de esta forma no basta con probabilsticos como el mtodo que utiliza el
generar una posible trayectoria y seguirla, en algoritmo de Dijkstra [22], desarrollado para
cambio tenemos que utilizar un clculo encontrar el camino ms corto entre un vrtice
probabilstico para saber que tan pertinentes son los inicial ubicado dentro de un grafo hasta otro vrtice
movimientos a realizar adems de tener una ubicando la conexin de menor peso. Y el algoritmo
retroalimentacin para corroborar que efectivamente del descenso del gradiente [20] [12], el cual es un
si se desplaza correctamente y puede llegar al mtodo de resolucin completa para el cual se
destino final. desarrolla un algoritmo que consiste en discretizar
Entonces si tenemos coordenadas tanto de inicio el espacio de configuraciones generando una malla
como de final y figuras geomtricas, las cuales que representa una configuracin del espacio con un
pertenecen todas al mismo espacio, todo se puede anlisis tridimensional en el cual se evidencia una
ver como un problema geomtrico y desde este posible ruta solucin.
punto de vista encontramos numerosos mtodos y Se decidi realizar un mtodo ms rpido y sencillo,
algoritmos matemticos que buscan dar solucin al el cual gastara menos tiempo de procesamiento y se
problema de la planeacin de trayectorias. ajustara al ambiente dinmico. Este mtodo lo
llamamos rutas cartesianas donde el espacio de
Los mtodos de planeacin de trayectorias se configuracin es un plano cartesiano en el cual
clasifican por su alcance (donde encontramos los encontramos una pareja de coordenadas en X y
mtodos globales y locales) y por su precisin (los Y para cada posicin que pertenece a dicho
cuales se dividen en mtodos completos, espacio llamados nodos de ruta, de esta forma
heursticos, de resolucin completa y tenemos dos puntos ubicados en un plano donde se
probabilsticamente completos), los cuales se aplica que la distancia ms corta entre dos puntos en
definen a continuacin: una lnea recta [33] llamadas rutas, segn lo anterior
Los mtodos globales, procesan toda la el algoritmo matemtico se reduce a una geometra
informacin referente al espacio, los obstculos, analtica de la recta en el plano para encontrar una
la posicin inicial y la pocin final, calculando posible solucin de trayectoria para una
una trayectoria solucin. configuracin inicial y una configuracin final, en la
Los mtodos locales, procesan solo una parte de cual el procesamiento de la ruta depende de muy
la informacin del espacio total, realizando pocas instrucciones dentro del ciclo de maquina del
tareas especificas para un sector del espacio, a procesador del computador, y del software
menudo son utilizados como complemento de MATLAB.
mtodos globales. Bsicamente el mtodo toma la configuracin
Los mtodos completos, realizan los clculos inicial como un nodo de ruta inicial con
pertinentes evidenciando si existe una posible coordenadas y , para la cual se calculara una
solucin, en caso contrario evidencian un error ruta que conectase dicha posicin inicial hacia la
de clculo, dichos mtodos suelen utilizar configuracin final que se representa dentro del
grandes recursos de mquina para sus espacio como un nodo de ruta final con coordenadas
procedimientos. y como se ilustra en la siguiente figura
Los mtodos heursticos, son algoritmos (Figura-7).
diseados para generar soluciones de forma Dicha ruta solucin como es evidencia en la
rpida, sin embargo en algunas ocasiones dichas ilustracin anterior es la ruta ms corta entre la
soluciones son errneas. configuracin inicial y la configuracin final,
sencillo una recta describe la ruta, pero que sucede
si hay un obstculo ubicado donde se trazara la
recta: primero generamos otro nodo ruta, segundo se
establece la recta que conecta el nodo inicial con el
nuevo nodo, tercero de la misma forma se establece
la recta que conecta el nodo nuevo con el nuevo
final, por ltimo se evidencia la ruta.
El nuevo nodo no tiene una posicin aleatoria,
analticamente se puede hallar utilizando los nodos
inicial y final, para trazar una recta para la cual se
calcula su pendiente. Ecuacin (7) Figura- 7 Mtodo Rutas Cartesianas con un obstculo

(7) En la grafica se muestra algunas de las variables que


el sistema utiliza para generar la ruta del
Posteriormente calculamos la pendiente de una recta desplazamiento del agente, y como se puede
perpendicular a la rectan trazada anteriormente para apreciar es una trayectoria sin colisiones y
la cual se define por la ecuacin (8): relativamente de corto tiempo de recorrido. Figura-8

(8)

Siendo , donde es una constante, la cual


representa un cierto margen de tolerancia para el
cual cuando estn prximos los objetos no exista
una colisin cuya valor tomaremos como la
distancia en la cual se ubicara el nodo nuevo sobre
la recta perpendicular.

(9)
(10)
Figura- 8 Implementacin Mtodo Rutas Cartesianas

A continuacin 7. Modelo de Control de Movimiento


La teora de control esencialmente se refiere al
(11) conocimiento de la dinmica del proceso que se
(12) desea controlar, dicha dinmica es una
representacin matemtica que relaciona las seales
(13)
que se desean controlar para obtener una salida
(14) deseada y la seal de entrada al sistema llamada
funcin de transferencia la cual nos dice el
Siendo y la posicin en la que se encuentra el comportamiento de la planta o el proceso en
obstculo, entonces: dominio de la frecuencia.

(15) En el caso especifico de la implementacin de un


(16) control de movimiento para este proyecto se
implemento como primera medida un modelo de
Siendo y las coordenadas del nodo nuevo, de control lineal no realimentado, para el cual la
esta manera se evidencia la ruta solucin como una variable a controlar es el tiempo de encendido de
arista en la cual posicionados en el nodo nuevo se los motores, de esta forma se controlaba el giro y
cruzan las dos lneas (Figura-7). la distancia recorrida por el agente. Para efectos del
desarrollo del proyecto solo se realizara una breve
descripcin de este modelo y posteriormente se
profundizara en el modelo de control difuso.
Para el cual se calculaba el valor de la distancia la pelota, las cuales obtenemos del procesamiento
desde la coordenada en la cual se encuentra de imagen.
posicionado el agente y su ngulo con respecto a la
horizontal, tomando estos como datos de entrada y
realizando algunos clculos sencillos se obtiene una
constante de proporcionalidad que representa una
cantidad de tiempo determinada para realizar una
accin determinada, ya sea girar un ngulo
determinado o recorrer una distancia en lnea recta,
como se puede apreciar en la Figura-9 algunos
tiempos muertos como: los empleados por el
procesador y el software del computador encargado Figura- 10 Movimiento posibles del agente
de realizar la captura de la imagen y obtener
nuestros valores de entrada, los utilizados por la
cantidad determinada de datos para la codificacin
para la comunicacin por radio frecuencia a 2400
baudios, y por ltimo los tiempos de respuesta y
establecimiento de los motores de corriente
continua, fueron algunas de las constantes que para
el caso de un modelo de control deban tenerse en
cuenta.

Figura- 11 Conjunto difuso variable de entrada

En la Figura-11 se ilustra la estructura con la cual se


Figura- 9
definen los conjuntos difusos para la variable de
Debido a que el entorno en el cual se desarrolla cada entrada, ngulo, correspondiente a la orientacin del
agente es un ambiente dinmico, con muchas agente con respecto a la horizontal. El universo
variables y perturbaciones del ambiente las cuales difuso est comprendido por un rango de -90 a 90
en el momento de la implementacin no eran grados.
controlables, y alteraban la eficiencia en la respuesta Los grados de perteneca asociados al valor
del sistema. Un ejemplo de estos problemas se obtenido en el antecedente estn divididos en cinco
encuentra en los motores los cuales giraban a conjuntos difusos:
diferentes velocidades lo que produca un Tres con funciones triangulares:
desplazamiento similar a una semicircunferencia, en Pequeo negativo (Peq_Neg) delimitado
cambio de hacerlo en lnea recta como se deseaba, desde -30 hasta 0.
para la correccin de dicho problema de Cero delimitado desde -5 hasta 5.
desplazamiento, se incluye en el diseo un circuito Pequeo positivo (Ped_Pos) delimitado
dotado con el sensor apropiado con la capacidad de desde 0 hasta 30.
determinar la velocidad de giro de cada motor y con Uno con funcin tipo L:
el cual generar un control de traccin diferencial, Grande negativo (Grand_Neg) delimitado
para mejorar el desplazamiento rectilneo de cada desde -90 hasta -20.
agente. Uno con funcin tipo Gama:
Grande positivo (Grand_Pos) delimitado
Posteriormente utilizamos como herramienta el desde -20 hasta -90.
Fuzzy Logic Toolbox de Matlab para el
planteamiento, definicin e implementacin del Con la intencionalidad de controlar y corregir el
modelo de control difuso, proceso que se explicara a ngulo del agente con respecto a la coordenada de
continuacin: ubicacin de la pelota y para mayor rapidez del
Utilizamos la inferencia de Mamdani [2], definimos sistema, el agente no tiene cara frontal establecida,
los conjuntos difusos de variables de entrada: en cambio puede desplazarse adelante o atrs
Angulo a rotar y Distancia del agente con respecto a teniendo como mximo ngulo a rotar 90 dejando
al agente listo para desplazarse en lnea recta Dichos conjuntos difusos se definen de la misma
(Figura-10). forma para las dos variables de salida.
La segunda variable de entrada es la distancia a El desarrollo del control por lgica difusa se basa en
recorrer por el agente para un universo difuso de 0 a las siguientes reglas de inferencia:
270 pixeles (Figura-12).
Los grados de perteneca asociados al valor 1. If (Distancia is Pequea) and (AnguloRotar is Cero) then
obtenido en el antecedente estn divididos en tres (VelocidadDerecha is bajo)(VelocidadIzquierda is bajo)
2. If (Distancia is Pequea) and (AnguloRotar is Grand__Neg)
conjuntos difusos: then (VelocidadDerecha is medio)(VelocidadIzquierda is bajo)
Uno con funcin tipo L: 3. If (Distancia is Pequea) and (AnguloRotar is Grand__Pos)
Pequea, delimitado desde 15 hasta 75. then (VelocidadDerecha is bajo)(VelocidadIzquierda is medio)
Uno con funcin tipo Pi: 4. If (Distancia is Mediana) and (AnguloRotar is Cero) then
(VelocidadDerecha is medio)(VelocidadIzquierda is medio)
Mediana, delimitado desde 50 hasta 200. 5. If (Distancia is Mediana) and (AnguloRotar is Grand__Neg)
Uno con funcin tipo Gama: then (VelocidadDerecha is Alto)(VelocidadIzquierda is medio)
Grande, delimitado desde 165 hasta 250. 6. If (Distancia is Mediana) and (AnguloRotar is Grand__Pos)
then (VelocidadDerecha is medio)(VelocidadIzquierda is alto)
7. If (Distancia is Grande) and (AnguloRotar is Cero) then
(VelocidadDerecha is Alto)(VelocidadIzquierda is alto)
8. If (Distancia is Grande) and (AnguloRotar is Grand__Neg)
then (VelocidadDerecha is Alto)(VelocidadIzquierda is medio)
9. If (Distancia is Grande) and (AnguloRotar is Grand__Pos)
then (VelocidadDerecha is medio)(VelocidadIzquierda is alto)
10. If (Distancia is Pequea) and (AnguloRotar is Peq__Neg)
then (VelocidadDerecha is bajo)(VelocidadIzquierda is bajo)
11. If (Distancia is Pequea) and (AnguloRotar is Peq__Pos)
then (VelocidadDerecha is bajo)(VelocidadIzquierda is bajo)
12. If (Distancia is Mediana) and (AnguloRotar is Peq__Pos)
Figura- 12. Definicin de conjuntos difusos variable entrada then (VelocidadDerecha is medio)(VelocidadIzquierda is
Distancia medio)
13. If (Distancia is Mediana) and (AnguloRotar is Peq__Neg)
Por ltimo tenemos dos variables de salida: then (VelocidadDerecha is medio)(VelocidadIzquierda is
porcentaje de velocidad para el motor izquierdo y medio)
derecho, para los cuales el universo difuso est 14. If (Distancia is Grande) and (AnguloRotar is Peq__Neg)
then (VelocidadDerecha is Alto)(VelocidadIzquierda is alto)
comprendido entre 0% y 100%, conformado por 15. If (Distancia is Grande) and (AnguloRotar is Peq__Pos)
cuatro conjuntos difusos como se ilustra en la then (VelocidadDerecha is Alto)(VelocidadIzquierda is alto)
Figura-13.
Para un valor de entrada dado, las reglas utilizaran
los conjuntos difusos para calcular el valor del
consecuente, es decir el valor esperado en la salida
del sistema. De esta forma se realiza el control de
movimientos de cada agente.

8. Comportamiento de los agentes


El comportamiento de los agentes son las estrategias
especficas que se implementaron para cada agente.
Figura- 13 Definicin de conjuntos difusos de variable de salida Estos comportamientos fueron inicialmente
Angulo a rotar
postulados por Sotomonte [32] y Costelo [8]y
Uno con funcin tipo L: nosotros las tuvimos en cuenta para nuestro trabajo
realizando algunas modificaciones.
Cero, delimitado desde 0 hasta 1.
Arquero: La primera tarea que tiene que hacer el
Uno con funcin tipo Pi:
arquero es mantenerse en su rea de juego la cual
Bajo, delimitado desde 7 hasta 59.
nosotros determinamos. Oponerse al paso de la
Uno con funcin tipo Pi:
pelota. Reubicarse cuando se salga del rea o
Medio, delimitado desde 40 hasta 92. cambie drsticamente de ngulo. [21]
Uno con funcin tipo Triangular: Se realizo un algoritmo de prediccin de la pelota
Alto, delimitado desde 98 hasta 100. para aumentar la velocidad de respuesta del arquero
y que sea mucho ms exacta.
mantener el baln junto al robot es necesario
Comportamiento del Arquero mantener una aceleracin constante, esto se realiza
por medio del control difuso. Empujar, consiste en
Si (el arquero en su coordenada y es mayor o igual a la arrastrar el baln y luego hacer que el robot frene o
pelota en su coordenada y y el arqueo est adentro de cambie bruscamente su velocidad consiguiendo as
su rea) Entonces
que el baln salga impulsado por delante del robot.
El arquero busca la coordenada y de la pelota para
obstruirla su trayectoria
FinSi Comportamiento del Delantero

Si (el arquero est afuera de su rea) Entonces Si (la pelota la tiene un contrario) Entonces
El arquero vuelve a su rea Ir a atacar
FinSi FinSi

Si (el arquero est muy cerca a la pelota) Entonces Si (la pelota est cerca del oponente) Entonces
El arquero despeja la pelota Esquivar al oponente y pegarle a la pelota en
FinSi direccin al arco contrario
FinSi
Si (el arquero no est paralelo a su arco) Entonces
El arquero corrige su ngulo Si (la pelota est lejos del oponente) Entonces
Pegarle a la pelota en direccin al arco contrario
FinSi
FinSi
Defensa: El principal objetivo del defensa es evitar
que la pelota llegue al arco, entonces tiene que
9. Conclusiones
presentar un comportamiento de obstruccin que es
El proceso de comunicacin entre el servidor y los
oponerse al paso de la pelota cuando est en
agentes utilizamos RF con los mdulos TLP/RLP
direccin al arco. No dejar que los rivales se
434A por fcil adquisicin, implementacin y su
desplacen fcilmente en su rea.
rea de cobertura. En el envi de informacin se
Despejar la pelota de su rea golpendola en
implemento una forma de codificacin en la cual se
direccin al arco contrario.
enviaban tramas de cinco bytes: identificador del
Comportamiento del Defensa
agente, dato de inicio, sentido de giro de los
motores, tiempo de accin de los actuadores y dato
Si (el defensa est fuera de su rea) Entonces de finalizacin de la comunicacin. El tiempo de
Volver a su rea envi y recepcin de la trama a 2400 bps era muy
FinSi alto para las necesidades del proyecto, entonces se
decidi implementar una nueva codificacin de los
Si (la pelota est adelante de la posicin del defensa) datos organizados ahora en un solo byte, de esta
Entonces forma reducimos en un 80% el tiempo empleado en
Obstruir el paso de la pelota la comunicacin.
Si (la pelota est muy cerca al defensa) Entonces
En la implementacin del sensor de video se
Hacer Raqueteo para despejar la pelota
FinSi
presentaron inconvenientes como: la variacin de la
SinoSi (la pelota est detrs de la posicin del defensa) iluminacin en el ambiente, la velocidad de captura
Entonces de imgenes, el ngulo de visin de la cmara el
Ir tras la pelota y golpearla en direccin al arco cual no alcanzaba a cubrir toda la cancha y la
contrario resolucin.
FinSi
La solucin al problema de iluminacin fue la
Delantero: El delantero tiene como objetivo llevar ubicacin de dos lmparas dispuestas de forma
la pelota al arco contrario, teniendo en cuenta que estratgica iluminando completamente el rea de
debe esquivar al equipo contrario y siempre debe juego, el cambio de cmara y los ajuste de
llevar la pelota en direccin de gol. configuracin como: la saturacin, contraste, brillo
Para las formas de disparo por parte del delantero se y ganancia de blancos. En cuanto a la velocidad de
utilizan: el arrastre que es impulsar el baln de una captura de la imagen, la cmara Phillips en sus
posicin a otra, o llevrselo por delante. Para especificaciones da la posibilidad de configurar la
captura de imgenes hasta 90fps, pero desde Matlab involucrando una conexin con el sistema de
no se logro cambiar la configuracin de la cmara a monitoreo de las velocidades de cada uno de los
90fps y la mxima velocidad en que se trabajo fue motores.
de 30fps. Este problema se puede atribuir al En cuanto al diseo del PCB se tiene en cuenta que
software que controla la cmara. El ngulo de visin los motores generan ruido y la respuesta en
de la cmara Phillips al ser ms amplio nos dio la velocidad no es igual, por esta razn se decidi
posibilidad de capturar de forma directa el rea de utilizar fuentes independientes aislando las tierras
juego a diferencia de la cmara Genius en cual fue para evitar el ruido en la etapa de control y
necesario aadir un lente divergente, esto causa una recepcin de datos, adems se incluyo un sistema de
distorsin en la imagen y la correccin hace ms monitoreo de velocidad para cada uno de los
lento el procesamiento de imagen. Tambin se motores.
cambio la resolucin de captura de imgenes de
640x480 a 320x240, reduciendo el tiempo de Agradecimientos
ejecucin aproximadamente en un 70%. Se eligi la A la Universidad Pedaggica Nacional, Licenciatura
segmentacin por umbrales para la identificacin de en Electrnica, especialmente al director del
los agentes, basados en los antecedentes consultados proyecto de tesis Diego M. Acero por su valioso
en los cuales este mtodo de segmentacin por aporte e inters en el trabajo.
umbrales de color RGB, nos pareci ms acorde a
las necesidades del proyecto por sencillez y Referencias
efectividad en la deteccin de los colores. [1]. AMANDI, Anala. Desarrollo de Sistemas Multi_Agentes
En cuanto la planeacin de trayectorias se Inteligencia Artificial. Revista Iberoamericana de
implement: El mtodo descenso del gradiente Inteligencia Artificial N 13. Universidad Nacional del
presenta el inconveniente de caer en un mnimo Centro de la Pcia. Buenos Aires, Argentina. pp33-35
ISSN1137- 3601. 2001
local en lugar de caer en la configuracin final,
adems de emplear mucho recurso de mquina y [2]. ARMAGNO, Gustavo. BENAVIDES, Facundo.
tiempo en el procesamiento, por este motivo no fue ROSTAGNOL, Claudia.TEJERA GONZALO, Copello
muy til para este proyecto. El mtodo Ernesto. Toma de decisiones difusa y prediccin del
probabilstico de carreteras basado en el algoritmo comportamiento oponente. Instituto de Computacin.
de enrutamiento de Dijkstra, presenta un problema Facultad de Ingeniera. Universidad de la Repblica.
cuando el punto final est muy prximo a la Montevideo,Uruguay.
ubicacin del obstculo, el algoritmo es incapaz de
encontrar una conexin directa al objetivo y [3]. BLANCO MOLINA, Flix Arturo. CRDENAS
tampoco resulta ser til para el entorno dinmico. FLREZ, Jorge Hernn. Control de un equipo de ftbol
Debido a las dificultades presentadas por los robtico segn especificaciones de la categora small size
de RoboCup. Tesis de grado para obtener el ttulo de
anteriores mtodos y con la intencin de reducir la
ingeniero electrnico. Facultad de Ingeniera. Universidad
velocidad de procesamiento y clculos en la
Nacional de Colombia. Bogot. 2005
ejecucin, se decidi implementar el mtodo de
rutas cartesianas por rpido procesamiento en [4]. BURCHARDT, Armin. CIERPKA, Kai. FRITSCH,
clculos matemticos, adaptacin al entorno Sebastian. HUHN, Kamil. KIRILOV, Teodosiy. LAUE,
dinmico. Reduciendo en un 20% aproximadamente Tim. MARTENS, Alexander. MIEZAL, Markus.
la velocidad de ejecucin. NEHMIZ, Ulfert. SCHWARTING, Malte. SEEKIRCHER,
En el modelo de control de movimientos del agente Andreas. Bremen Small Multi Agent Robot Team (B-
se implementa un modelo de control clsico muy Smart). Universitt Bremen. Germany. 2009
bsico en el cual solo tenamos en cuenta los
tiempos de recepcin de la informacin, tiempo de [5]. CAI, Wenlan. CUI, Wei. GAO, Xiang. GUO, Buo. LIU,
Lian. TAO, Jun. AUA_Ares -Team descripton paper.
ejecucin del microcontrolador y el tiempo de
Department of control engineering. Aviation University of
respuesta de los motores, dicho modelo no resulta
Airforce. China. 2008
ser muy eficiente, por esta razn se implemento un
control difuso el cual es mucho ms apropiado para [6]. CAMPOS ACOSTA, Joaqun. La especificacin del color:
el tipo de planta, donde se tienen en cuenta variables espacios de representacin del color. Instituto de Fsica
como el ngulo y la distancia del agente con Aplicada (CSIC). Articulo 114.28006, Madrid.
respecto a la posicin deseada, para realizar un
control diferencial del movimiento del agente
[7]. CASTROMN, lvaro. COPELLO, Ernesto. Ftbol de [22]. LAVALLE, Steven. Planning algorithms. Published by
robots uruguayo para torneos: el equipo. Tesis de grado Cambridge University Press, 2006
para obtener el ttulo en ingeniera en computacin.
Facultad de Ingeniera, Universidad de la Republica de [23]. M. Wooldridge, An Introduction to MultiAgent Systems,
Uruguay. Mayo de 2004 May 2002

[8]. COSTELO, Claudia. FASSI, Hctor. SCARPETTINI, [24]. MARTN MATRN, Joaqun. Creacin de un jugador de
Flavio. Ftbol de robots: revisin del estado del arte y Robocup de simulacin y desarrollo de habilidades
desarrollo del equipo UBAsot de simulacin. Tesis para bsicas. Tesis de grado en Ingeniera en Informtica.
obtener el ttulo en Licenciatura en Electrnica. Facultad Facultad de Informtica Universidad Politcnica de
de ciencias exactas y naturales. Universidad de Buenos Madrid. 2004
Aires. Diciembre de 2002
[25]. ORTEGA MELO, Luis Fernando. Sistemas multiagentes y
[9]. CRAIG, John. Robotica. Editorial Pearson educacin. ftbol de robots: estado del arte. Articulo. Maestra en
Mexico, 2006 Ingeniera de Sistemas y Computacin. Universidad
Nacional de Colombia.
[10]. DIAZ COLLAZO, Adrin Marcelo. ESPEJO GMEZ,
Vctor. Robots de laberinto. Universidad de Alcal. [26]. OTSU, N., A Threshold Selection Method from Gray-
Noviembre de 2006. Level Histograms. IEEE Transactions on Systems, Man,
and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66.
[11]. FERNANDEZ, Gastn. STOCCO, Claudia. TOURN,
Natalia. Sistema de visin para futbol de robots. [27]. PETRILLI BARCEL, Alberto Elas. Control visual de un
Universidad de la Repblica Montevideo. Uruguay. Mayo robot mvil Khepera II. Tesis para obtener grado de
2004. Maestro en Ciencias de la Computacin. Instituto
Politcnico Nacional. Mxico D.F., Junio de 2007.
[12]. GE, S. CUI, J. Dynamic motion planning for mobile robots
using potential field method Auton. Robots, vol. 13, no. 3, [28]. REYES ALDASORO, Constantino Carlos. Prctica 5
pp. 207222, 2002. Modulaciones Digitales. Departamento de Sistemas
digitales, Laboratorio de Seales y Sistemas. ITAM
[13]. GIL, P. TORRES, F. ORTIZ, F. G. Deteccin de objetos
por segmentacin multinivel combinada de espacios de [29]. RODRIGUEZ GARAVITO, Cesar Hernn. DELGADO
color. XXV Jornadas de Automtica. Ciudad Real. 8 de RIVERA, Alberto. Plataforma autnoma inteligente para
septiembre de 2004. ftbol de robot. Artculo. Revista ingeniera e investigacin
Vol. 28 Abril 2008. Pg (81-98)
[14]. GONZALES, Rafael. WOODS, Richard. EDDINS,
Steven. Digital Imagen Processing Using Matlab. Second [30]. RUSELL, Stuart. NORVING, Peter. Agentes Inteligentes
Edition. Prentice Hall. 2004. Capitulo 2 .Inteligencia artificial un enfoque moderno.
Naucalpan de Jurez, Edo de Mxico: Pretice may
[15]. HASTLEY, Richard. ZISSERMAN, Andrew. Multiple Hisponoamericana, S.A. 1996. p. 33-53
View Geometry in Competer Vision. Second Edition 2003.
[31]. SANTOS, Erik. Heurstica para la generacin de
[16]. http://small-size.informatik.uni-bremen.de/ configuraciones en pasajes estrechos aplicada al problema
de los clavos. Tesis profesional para obtener el ttulo en
[17]. http://www.fira.net Maestra en Ciencias con Especialidad en Ingeniera en
Sistemas Computacionales. Universidad de las Amricas
[18]. http://www.robocup.org/ Puebla. Mxico 2004

[19]. http://www.textoscientificos.com/redes/modulacion/ask [32]. SOTOMONTE NIETO, Wilson Eduardo. Estrategias de


sistemas de agentes (simple y mltiples): caso de estudio
[20]. J.C. Latombe. Robot Motion Planning. Kluwer Academic
ftbol de robots. Tesis de grado para obtener el ttulo de
Publishers, 1991.
Magister en Ingeniera en Automatizacin Industrial.
[21]. LAPLAGNE, Ignacio. Aspectos de estrategia y control en Facultad de Ingeniera. Universidad Nacional de
Colombia. Bogot. 2005
un equipo de ftbol de robots. Tesis para obtener el ttulo
en Licenciatura en Electrnica. Facultad de ciencias
[33]. UMEZ, Eronini. Dinmica de sistemas de contol. Editorial
exactas y naturales. Universidad de Buenos Aires.
Thomson learnig. Mxico 2001
Diciembre de 2002

You might also like