Universidad Nacional de Rosario
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica
Ingeniería del Conocimiento
Trabajo Práctico Nº 1
Introducción a la Inteligencia Artificial
Grupo de trabajo
Nombre y Apellido Nº de Legajo
Ratti, Alejandro R-2642/5
Litta, Diego L-1687/0
Corrigió Calificación
Año 2011
2
Índice
Enunciado Pág. 3
Historia Pág. 4
Introducción Pág. 4
Objetivo Pág. 5
Temas de Investigación en Robocup Pág.5
Ligas Pág.6
1. Liga de simulación Pág. 6
2. Liga de Robots pequeños Pág.6
3. Liga de Robots medianos Pág.6
4. Liga de Robots en 4 patas Pág.7
5. Liga Humanoide Pág.7
6. Liga de Plataforma Estándar Pág.7
Borregos Robocup Pág.8
El proyecto RoboCup del Tecnológico de Monterrey Pág.11
Descripción funcional Pág. 12
Grupo de trabajo Pág. 14
Bibliografía Pág. 15
Ingeniería del Conocimiento Ingeniería Electrónica
Práctica 1 – Introducción a la Inteligencia Artificial
Para exponer:
Investigue acerca de algún proyecto de Inteligencia Artificial vinculado a su campo de especialidad: cuál es la motivación/problema que se busca solucionar, cuál es el grupo de trabajo y en qué Instituto/Empresa se desarrolla, cuáles son las líneas de investigación y las técnicas aplicadas, cuáles son los resultados obtenidos hasta el momento (teorías, programas, implementaciones), etc. Busque bibliografía relacionada.
Realice una síntesis de lo encontrado basada en una descripción funcional.
Prepare una presentación de 15-20 minutos para exponerla ante sus compañeros en horario a convenir con la cátedra.
Entregue la síntesis en formato impreso y electrónico.
Algunos links sugeridos:
http://www.aaai.org/AITopics/
http://www-formal.stanford.edu/jmc/whatisai/
http://www.eecs.berkeley.edu/Research/Areas/AI/
4
P P r r o o y y e e c c t t o o R R o o b b o o c c u u p p
El proyecto Robocup se desarrolla en el Tecnológico de Monterrey. El Tecnológico de Monterrey, Campus Cuernavaca es una universidad privada mexicana ubicada en el municipio de Xochitepec, Morelos, que forma parte del Sistema Tecnológico de Monterrey (el sistema universitario privado más grande de México).
Historia
El año de 1997 es considerado, por la comunidad de la inteligencia artificial, como un año de cambios. En mayo de 1997 la computadora Deep Blue venció al campeón mundial en ajedrez, consolidando 40 años de investigación en esta área. El 4 de Julio, la misión “pathfinder” de la NASA realizó un aterrizaje exitoso del primer sistema robótico autónomo, Sojourner, en la
superficie de Marte. Conjuntamente, RoboCup realizaba sus primeros pasos hacia el desarrollo de jugadores robóticos de fútbol.
La idea de jugadores robóticos de fútbol fue iniciada por el profesor Alan Mackworth, de la universidad de British Columbia de Canadá, en un artículo titulado On seen robots presentado en 1992 y publicado un año después. En forma independiente, un grupo de investigadores japoneses organizaron un seminario de “Grandes retos” en inteligencia artificial, llevado a cabo en Tokio de 1992. En este seminario se discutió seriamente el juego de fútbol para promover la ciencia y la tecnología.
En 1993, investigadores japoneses lanzaron la primera competencia robótica llamada Robot J- League. Poco tiempo después se decidió invitar al resto de la comunidad científica a esta
competencia por lo que su nuevo nombre fue Robot World Cup Initiative o simplemente RoboCup.
A partir de esta fecha, se realizaron varios encuentros para el desarrollo de esta gran empresa, siendo hasta 1997 cuando la primera competencia oficial de RoboCup se llevó a cabo. Desde entonces, cada año se reúne parte de la comunidad científica y académica presentando sus respectivos avances.
Introducción
RoboCup (originalmente llamado Robot World Cup Initiative) es una iniciativa internacional de investigación y educación. Con la finalidad de promover la investigación en robótica y la inteligencia artificial (IA) se provee un problema estándar en donde una amplia gama de tecnologías pueden integrarse y examinarse, así como utilizarse en proyectos educativos.
Con este propósito, RoboCup escogió el juego de fútbol como el dominio de prueba y organiza RoboCup que consiste en una copa mundial de juegos de fútbol robotizados y un ciclo de conferencias.
El problema de la Robo Copa es sumamente interesante y complejo ya que hay múltiples robots moviéndose a gran velocidad en tiempo real en un ambiente altamente dinámico e incierto.
Algunas de las técnicas de Inteligencia Artificial utilizadas son por ejemplo: el diseño de agentes autónomos, algoritmos de coordinación y colaboración multiagente, de razonamiento y
aprendizaje automático en tiempo real, robótica y visión entre muchas otras.
Las actividades que conforman la iniciativa de RoboCup son:
• Conferencias técnicas
• Competencia mundial
• Competencias solucionando retos
• Programas educativos
• Desarrollo de infraestructura
La Robo Copa no sólo tiene que ver con la investigación y desarrollo del “hardware” de los robots, también tiene que ver con el “software” de su inteligencia, usando algoritmos y técnicas de Inteligencia Artificial y Sistemas Inteligentes.
Esta competencia internacional es organizada año a año por la “RoboCup Federation”3,
organización internacional con el principal objetivo de organizar el esfuerzo mundial de promover la ciencia y tecnología usando el fútbol como plataforma de desarrollo para robots y agentes de software.
Objetivo
La intención de RoboCup es promover la investigación en inteligencia artificial y robótica al utilizar, como dominio de prueba, un juego mundialmente conocido. Una de la formas más efectivas para promover la investigación en ingeniería, además de los desarrollos orientados a una aplicación específica, es la de establecer una meta a largo plazo. Además, cuando el cumplimiento de esta meta logra un impacto social significativo, se dice que el proyecto es parte de un gran reto.
Tal vez pensemos que lograr que un grupo de robots jueguen fútbol no representa un gran impacto social o económico; sin embargo, el conseguirlo ciertamente será un logro importante en el campo de la investigación científica.
El objetivo final de esta iniciativa es desarrollar un equipo de robots humanoides totalmente autónomos que puedan ganar al equipo de seres humanos campeón de fútbol para el año 2050.
Este objetivo quizá suene muy ambicioso e irrealista hoy en día, pero la idea es precisamente que este objetivo sirva para alentar y acelerar la educación, investigación y tecnologías en Inteligencia Artificial y Robótica
Temas de investigación en RoboCup
Es un problema específico en donde una gran variedad de especialidades pueden ser integradas:
Sistemas multiagentes
• Aprendizaje distribuido
• Negociación y equilibrio de Nash
• Modelado de comportamientos cooperativos y competitivos
• Coordinación de actividades
• Razonamiento en tiempo real Robótica
• Modelos tradicionales para la segmentación de color
• Modelos basados en técnicas de inteligencia artificial para el reconocimiento de formas y la segmentación de color
• Estrategias de procesamiento de imágenes
6 Locomoción
• Control multivariable
• Fusión multisensorial
Ligas
Los partidos en la Robo Copa ofrecen buenas oportunidades para probar y experimentar nuevas técnicas y/o algoritmos de Inteligencia Artificial. Existen diferentes ligas en la Robo Copa
dependiendo de las características de los robots o agentes de software y los partidos a jugar:
Liga de Simulación
En esta liga dos equipos de 11 agentes de software juegan fútbol en un campo virtual dentro de una computadora. Esta liga inició desde el primer año de la Robo Copa en 1997 con agentes en un mundo virtual en 2D (dos dimensiones), hace algunos años se empezó a competir con un mundo virtual en 3D (tres dimensiones) donde los agentes eran esferas y últimamente se introdujeron agentes humanoides de software en tres dimensiones.
Liga de Robots Pequeños (f-180)
En esta liga juegan equipo de 5 robots de no más de 18 cm. de diámetro en una cancha un poco más grande que una mesa de ping-pong. El control de los robots es un sistema híbrido
centralizado/distribuido utilizando una cámara de video aérea central. Los partidos son en tiempos de 10 minutos.
Liga de Robots Medianos (f-2000)
En esta liga juegan equipos de 4 robots con un balón de fútbol en un campo de 12x8 metros. El control de los robots es totalmente distribuido, todos los sensores de los robots deben ir a bordo y pueden utilizar comunicación inalámbrica. Los partidos se dividen en tiempos de 15 minutos.
Liga de Robots en 4 patas (Aibo)
En esta liga juegan equipos de 4 robots AIBO (unos perritos robóticos fabricados por Sony) en una cancha de 3x5 metros. Los robots también usan red inalámbrica para comunicarse. Los partidos se dividen en tiempos de 10 minutos. Está liga es ahora sólo de exhibición y fue reemplazada por la liga de plataforma estándar.
Liga Humanoides
La liga de humanoides es una de las ligas que más ha progresado y la más cercana hacia el objetivo del 2050 de RoboCup. En esta liga, robots autónomos con un cuerpo similar al humano así como percepciones similares a las humanas, juegan futbol entre ellos. Los robots son divididos en dos categorías de tamaño: "KidSize" (30-60 cm de alto) y "TeenSize" (100-160 cm de alto). El caminar, correr, patear la pelota mientras se mantiene el equilibrio, percepción visual de la pelota, otros jugadores y el campo, auto-localización, juego de equipo son algunos de los muchos problemas abordados en esta liga.
Liga de Plataforma Estándar (Nao)
8 En esta liga todos los equipos utilizan robots idénticos (Nao robot). Por tal motivo los equipos se concentran únicamente en el desarrollo del programa controlador del robot. Estos robots son capaces de actuar autónomamente sin necesidad de ningún control externo.
Borregos Robocup
Los Borregos Robocup, forman parte del proyecto internacional en Inteligencia Artificial y Robótica
"Robocup", realizado en el Tecnológico de Monterrey.
Evolución de los Borregos Robocup y su participación en diversas ligas
Borregos Robocup ha participado en varios torneos de la Robo Copa desde hace varios años. En particular, ha participado en varias categorías de la liga de simulación, en la cual dos equipos de agentes de software juegan en forma totalmente autónoma y con un control totalmente distribuido.
Actualmente el Equipo borregos ya no participa en la categoría 2D de simulación en RoboCup debido a que la Liga 3D representa un entorno mucho mas retador en el que hay una gran variedad de problemas para investigar y resolver.
Desde el 2006 el equipo se ha inclinado en mayor medida a la investigación en la categoría de simulación en 3D, con el fin de afrontar problemas más realistas en un ambiente virtual, ahora en tres dimensiones. En este ambiente existen mayores retos en cuanto a los algoritmos de
inteligencia artificial por investigar, desarrollar y experimentar. Los problemas por resolver van desde algoritmos de auto localización y aprendizaje de modelos del mundo, hasta algoritmos para la planificación y coordinación de múltiples agentes.
En los últimos años el equipo Borregos RoboCup también ha iniciado su participación en Ligas de simulación en tercera dimensión alternas a las ligas de RoboCup. Estas ligas alternas corresponden a la competición de Microsoft y Robotstadium.
Finalmente expandirse es uno de los objetivos del equipo, aumentando el número de miembros del equipo y compitiendo en ligas de robots reales como la liga de humanoides y la liga de plataforma estándar. Debido a que en las ligas simuladas en tercera dimensión se simula al Robot Nao, y en gran medida las reglas de la liga de plataforma estándar, la posibilidad de competir en dicha liga representa una gran oportunidad para implementar la investigación realizada con los simuladores en equipos de Robots Reales y poder experimentar físicamente las técnicas desarrolladas en el simulador.
Borregos Robocup en la liga de 2 Dimensiones
Borregos Robocup, ha participado en diferentes torneos de la Robo Copa, tanto en el mundial como en otros torneos regionales en diferentes partes del mundo. La primera participación fue en el "Robocup 2004 Lisboa", en Portugal. En el 2004 se logró estar entre los primeros 32 equipos calificados en la categoría de 2D. Posteriormente se logró calificar entre los mejores 24 equipos en el "Robocup 2005, Osaka", en Japón, también en la misma categoría de dos dimensiones.
Actualmente el Equipo borregos ya no participa en la categoría 2D de simulación en RoboCup debido a que la Liga 3D representa un entorno mucho mas retador en el que hay una gran variedad de problemas para investigar y resolver.
Investigación sobre la liga 2D
El equipo que ha participado en la liga de 2D se ha desarrollado utilizando varias técnicas de inteligencia artificial, para que los agentes de software puedan hacer planificación de su acción en línea, utilizando un algoritmo que planea las acciones del agente creando un árbol de las posibles acciones actuales y un nivel más de acciones sucesoras en el siguiente ciclo; además, se han utilizado otras técnicas de inteligencia artificial para modelar los agentes oponentes mediante el uso de un algoritmo de aprendizaje en línea para la clasificación de modelos del oponente, ya que los equipos oponentes pueden comportarse de manera diferente en diversas situaciones. Además se han utilizado algoritmos de aprendizaje automático fuera de línea para el aprendizaje de funciones de factibilidad de las acciones de los agentes.
Borregos Robocup en la liga de 3 Dimensiones
Desde el 2006 el equipo se ha inclinado en mayor medida a la investigación en la categoría de simulación en 3D, con el fin de afrontar problemas más realistas en un ambiente virtual, ahora en tres dimensiones. En este ambiente existen mayores retos en cuanto a los algoritmos de
inteligencia artificial por investigar, desarrollar y experimentar. Los problemas por resolver van desde algoritmos de auto localización y aprendizaje de modelos del mundo, hasta algoritmos para la planificación y coordinación de múltiples agentes.
El equipo logró calificar entre los mejores 32 equipos de esta nueva categoría en 3D del "Robocup 2006 Bremen", en Alemania. Para el desarrollo de este equipo se han reutilizado algunos de los algoritmos que desarrollados para la versión de Borregos en dos dimensiones. Además, se han introducido nuevas técnicas híbridas de aprendizaje probabilista, mediante el uso de un clasificador de Bayes y conjuntos difusos para aprender y tomar decisiones en este nuevo ambiente incierto y dinámico; y también se han desarrollado modelos físicos para la dinámica de los objetos, analizando y resolviendo las ecuaciones diferenciales para predecir las posiciones y velocidades de los objetos en el mundo tridimensional.
El equipo de Borregos en 3D también ha participado en otros torneos regionales como: "USA Open 2006", "Iran IA Games 2005", "China Open 2006", "Brazil Open 2006" y el "Iran Open 2007". En el abierto de Iran se logró pasar a la tercera ronda del torneo y en el de Brasil se finalizó en tercer lugar del torneo.
10 En el 2007 Borregos RoboCup clasificó para participar en el "Robocup 2007 Atlanta", donde se compitió con una nueva versión del equipo 3D y se utilizó por primera vez robots humanoides simulados en un ambiente virtual de tres dimensiones.
En el 2008 Borregos RoboCup clasificó para participar en el "Robocup 2008 China", en donde se implementaron un conjunto básico de movimientos como caminar, patear, girar y levantarse. Se logró desarrollar un caminado muy veloz utilizando osciladores acoplados. Además se realizaron ajustes para la autolocalización y el modelado del mundo para manejar las percepciones con ruido del entrono. Gracias a estas habilidades, el equipo logró avanzar hasta tercera ronda y finalizar entre los primeros ocho equipos del torneo.
Actualmente Borregos está aceptado para competir en RoboCup 2009 en Graz. El equipo se está preparando para obtener un buen resultado.
Investigación sobre la liga 3D
Para el desarrollo de este equipo se han reutilizado algunos de los algoritmos que desarrollados para la versión de Borregos en dos dimensiones. Además, se han introducido nuevas técnicas híbridas de aprendizaje probabilista, mediante el uso de un clasificador de Bayes y conjuntos difusos para aprender y tomar decisiones en este nuevo ambiente incierto y dinámico; y también se han desarrollado modelos físicos para la dinámica de los objetos, analizando y resolviendo las ecuaciones diferenciales para predecir las posiciones y velocidades de los objetos en el mundo tridimensional.
Actualmente se están actualizando los elementos de autolocalización y de la representación del mundo para ajustarse a la nueva visión restringida de los objetos. Actualmente el equipo esta trabajando en el mejoramiento de las habilidades básicas, especialmente el giro y el tiro ya que fueron puntos débiles en RoboCup 2008. El equipo de Borregos logrará un mejor resultado mejorando en primera instancia las habilidades básicas. Además se espera que para la versión de este año se puedan implementar mejores habilidades para el portero así como algunos
comportamientos cooperativos que den ventaja al equipo como los pases y el posicionamiento en el campo de juego.
Para la versión del año 2010, los agentes de la Liga de Simulación de 3D tuvieron una cámara de video simulada por lo que será necesario que Borregos implemente técnicas de visión
computacional.
Robostadium
A partir de la presencia de los Borregos en este torneo los miembros han colaborado en el diseño de nuevas secuencias de movimientos pendientes como: lanzarse (arquero) y tirar, así como en la mejora de otras como: paso lateral y giros. Debido a todo ese trabajo, borregos cuenta con un equipo muy competitivo. Algunas de las principales características del controlador son: una colección muy completa de movimientos, el reconocimiento de la pelota y los arcos, y la implementación de comunicación wireless entre los robots para ir por la pelota de manera coordinada.
El proyecto RoboCup del Tecnológico de Monterrey
Borregos Salvajes del Tecnológico de Monterrey Campus Estado de México es el primer equipo Iberoamericano en participar dentro de la liga de fútbol de robots cuadrúpedos de Sony. En este primer año, los esfuerzos del equipo están dirigidos a diseñar un robusto y altamente
parametrizado jugador de fútbol. La idea principal es desarrollar un software que pueda reaccionar lo más pronto posible y concentrar su atención en encontrar soluciones más sofisticadas para poder jugar. El objetivo es hacer jugar a 4 robots (1 arquero, 1 defensa y 2 delanteros) contra sus rivales.
El software está dividido en 4 módulos básicos: Modulo de visión, de locomoción, de comunicación y finalmente de decisión (quien controla o maneja a los demás).
Un aspecto importante a señalar es el hecho que la liga de robots cuadrúpedos está auspiciada por la empresa Sony, la cual ha desarrollado los robots que emplean todos los participantes, de tal forma que todos compiten bajo el mismo soporte de hardware pero se distinguen por el nivel de programación alcanzado. En la figura 1 se ilustra el modelo actual de los robots AIBO de Sony con el cual se compite en esta liga.
Figura 1. Robot Aibo de Sony
12 Podríamos pensar que hacer que los robots jueguen fútbol es cosa sencilla; sin embargo, la
realidad es muy diferente. Por ejemplo, la sencilla actividad de caminar significa que el robot es capaz de articular cada una de sus extremidades en forma coordinada para obtener un
movimiento rápido y sin tropiezos. Otro ejemplo es buscar la pelota lo cual significa que mediante una cámara de video, el robot es capaz de analizar cada porción de la imagen que está observando e identificar que lo que está mirando es una pelota sin confundirla con un jugador rival o
compañero. Comportamientos más complejos como caminar con la pelota y disparar al arco contrario se descomponen en tareas simples como buscar la pelota, caminar hacia la pelota, evitar obstáculos, buscar el arco contrario, caminar con la pelota y finalmente disparar. Por el contrario, el comportamiento de un arquero es diferente y se puede también descomponer en tareas sencillas como buscar la pelota, buscar a los atacantes, alinearse entre la pelota y el arco
defendido, interceptar la pelota, y/o lanzar la pelota lejos. Pensemos ahora en la cooperación; la cual es una tarea aun más complicada, pues significa que los robots de un mismo equipo se pueden comunicar entre ellos. En este caso deberán intercambiar mensajes como: yo tengo la pelota o ¿quién tiene la pelota?, necesito ayuda, veo uno (dos o tres) robots enemigos con posibilidad de disparar, entre otras.
Hacer que los robots jueguen fútbol de forma ordenada y cooperativa no es una tarea simple; y se complica aún más porque todo debe ser realizado en tiempo real, es decir, reaccionar al mismo tiempo que suceden las cosas y no veinte segundos después.
Descripción funcional
La arquitectura utilizada se muestra en la figura 2. Cada uno de los robots tiene 3 módulos principales (locomoción., visión y decisión). El módulo de comunicación es usado utilizando los micrófonos y audífonos localizados en los robots y utilizando la memoria de cada robot (donde hay información relevante de su interacción con el entorno). A continuación se mencionará
brevemente cada uno de los módulos.
Figura 2. Arquitectura del equipo Borregos Salvajes
Módulo de Locomoción
El módulo de locomoción es el responsable de controlar cada una de las articulaciones en el nivel más bajo. Esto significa que el módulo no ejecuta tareas de alto nivel, tales como seguimiento, planificación de trayectorias o evitamiento de obstáculos. Este módulo recibe peticiones del modulo de decisión para realizar algún movimiento de bajo nivel y envía un mensaje de acknowledge o una excepción en caso de que la tarea no pueda realizarse. El modulo de locomoción tiene comunicación directa con VRComm, el cual permite un mejor ajuste de los movimientos del robot y una mayor rapidez.
Módulo de Visión
El modulo de visión está compuesto de 2 actividades principales: el procesamiento de la imagen y el reconocimiento de patrones. El primero es usado para filtrar el color y el segundo es para estimar la posición del robot en base a los marcos de referencia que se encuentran en la cancha.
Este módulo tiene la responsabilidad de localizar a cada uno de los robots en la cancha, de ahí que la labor de este módulo sea estratégica.
La segmentación por color es realizado utilizando la cámara del robot Aibo, mediante YUV.
Diversos factores son necesarios de regular para este módulo, uno de ellos es la intensidad de la luz; una mala intensidad puede hacer que el robot no pueda localizarse ni encontrar la pelota. El tratamiento de la imagen se realiza a altas velocidades (cercanas al tiempo real, 24Hz), estimamos que el procesamiento de la imagen es de alrededor de 10 imágenes por segundo.
Módulo de Decisión
El módulo de visión tiene el propósito de coordinar los demás módulos. El realiza peticiones al módulo de visión y en base a esto le indica al módulo de locomoción las acciones a ejecutar.
Decisión realiza una operación, cada vez que se tiene alguna información adicional con respecto al escenario que tenía. Adicionalmente a esto, el módulo de decisión tiene un mapa global para posicionar al robot dentro de la cancha. Este mapa global contiene información necesaria para cada uno de los módulos.
Módulo de Comunicación
Este modulo utiliza el micrófono y la bocina que se encuentran dentro del robot, este modulo se desarrollo de esta manera ya que nuestro equipo no contará con tarjetas inalámbricas en este torneo (se piensan adquirir para las próximas competencias). La comunicación entre los robots es bastante robusta (cada mensaje enviado y recibido es codificado y decodificado) y no importa el ruido o frecuencias similares.
14
Grupo de trabajo
Los miembros que actualmente integran al equipo Borregos RoboCup son:
• David García: Liga 3D y Robotstadium.
• Efrén Carbajal: Robotstadium.
• Carlos Bustamante: Liga 3D.
Todos ellos trabajan bajo la dirección de Dr. Leonardo Garrido.
Y los miembros que han pasado por el equipo son:
• Yamanqui García: Robotstadium.
• César Flores: Liga 3D y Microsoft.
• Iván Fuentes: Liga Microsoft.
• Humberto Quijano: Liga Microsoft.
• Juan Tamez: Liga 3D y Microsoft.
• César Marín: Liga 2D.
• Emmanuel Martinez: Liga 2D.
• Mario Ocho: Liga 2D.
• Lourdes Peña: Liga 2D
Todos ellos trabajaron bajo la dirección del Dr. Ramón Brena y el Dr. Leonardo Garrido.
Bibliografía
“Borregos Robocup-Sitio Oficial”. http://robocup.mty.itesm.mx/
“Tecnológico de Monterrey Campus Estado de México”.
http://www.cem.itesm.mx/robocup/
“RoboCup: El reto”. Paper realizado por María de los Angeles Junco Rey, Ricardo Swain Oropeza, Alejandro Aceves López y Jorge Ramírez Uresti ; todos pertenecientes al Tecnológico de Monterrey, presentado en el Congreso Latinoamericano de Sistemas, Informática, Telemática, Electrónica y Computación,.