agentes y arquitecturas de control

13
Agentes y Arquitecturas de Control para Robots Autónomos Móviles Ma. Lucila Morales Rodríguez Instituto Tecnológico de Ciudad Madero Ave. 1º de Mayo y Sor Juana Inés de la Cruz S/N Col. Los Mangos (12) 10-04-15 Conmutador (12) 10-29-02 Centro de Cómputo e-mail [email protected]

Upload: raul-morales

Post on 19-Jan-2016

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Agentes y Arquitecturas de Control

Agentes y Arquitecturas de Control para Robots Autónomos Móviles

Ma. Lucila Morales Rodríguez

Instituto Tecnológico de Ciudad MaderoAve. 1º de Mayo y Sor Juana Inés de la Cruz S/N Col. Los Mangos

(12) 10-04-15 Conmutador(12) 10-29-02 Centro de Cómputo

e-mail [email protected]

Page 2: Agentes y Arquitecturas de Control

Resumen

El presente trabajo incursiona en el campo de los robots autónomos móviles como caso específico para el desarrollo de una propuesta de arquitectura de diseño que apoye a sistemas basados en agentes cooperantes. Se considera que el comportamiento de un robot ante una serie de situaciones es la meta que se desea lograr, y que para realizarla se ven involucrados una serie de factores que deben ser controlados y coordinados para que el robot pueda realizar su objetivo.

Existe una estrecha relación entre los agentes y la robótica, de hecho los paradigmas de diseño para cada uno de ellos siguen la misma tendencia. Esto se debe en gran medida a que un robot puede ser considerado como un agente físico.

Palabras Clave: Agentes, multiagentes, inteligencia artificial distribuida, arquitectura,

protocolos, cooperación, negociación, robótica móvil.

1. Introducción

Los agentes inteligentes están siendo empleados en diferentes escenarios, uno de éstos es la robótica.

Un agente es un ente , ya sea “software” o “hardware” que es capaz de realizar en forma autónoma e independiente, tareas que se consideran inteligentes, para lo cual debe contar con los siguientes atributos: ser autónomo, percibir y actuar sobre su ambiente, contar con objetivos o motivaciones , capaz de aprender de experiencias y de adaptarse a nuevas situaciones.

El robot Institute of América define un robot como un manipulador programable capaz de realizar diversas funciones diseñado para desplazar materiales, partes, herramientas o determinados artefactos mediante movimientos programados variables y cuyo objetivo es la realización de ciertas tareas. También un robot podría definirse simplemente como un agente artificial activo, cuyo entorno es el mundo físico.

2. Agentes

Un agente inteligente, considerando sus capacidades y creencias, evalúa un conjunto de alternativas para alcanzar la meta definida y toma una decisión. Ésta decisión determina el conjunto de acciones que debe llevar a cabo, las cuales, junto con lo que ha realizado anteriormente (historia pasada) influirá en su futuro.

Pattie Maes define una arquitectura de agentes como una metodología particular para construir agentes. Esta especifica como el agente puede descomponerse en la construcción de un conjunto de módulos de componentes y cómo éstos módulos deben interactuar. El conjunto total

Page 3: Agentes y Arquitecturas de Control

de módulos y sus interacciones deben proveer una respuesta a la pregunta de cómo los datos del sensor y el actual estado interno del agente determina las acciones y el futuro estado interno. Una arquitectura comprende técnicas y algoritmos que apoyan ésta metodología.

El enfoque clásico para construir agentes, es verlos como un tipo particular de sistemas basados en conocimiento. Este paradigma es conocido como IA Simbólica

Para diseñar el programa de un agente hay que formarse una idea de las posibles percepciones y las acciones, los objetivos o que medida de actuación puede alcanzar el agente, y además en que tipo de entorno se situará.

Los agentes que participan en sistemas multiagente pueden desarrollar diferentes actividades, entre las cuales se puede incluir la planeación, negociación, deliberación y toma de decisiones. Para definir un entorno en el que los agentes puedan ser añadidos y coexistir es necesaria una arquitectura.

El paradigma de los sistemas multiagente se fundamenta en la idea de superar las limitaciones inherentes a cualquier sistema inteligente, natural o artificial, formando agrupaciones de sistemas simples de tal forma que puedan compartir conocimientos y capacidades de la misma manera que la gente supera sus limitaciones individuales agrupándose en sociedades. Un agente estaría constituido por cada uno de éstos sistemas simples que se agrupan y la comunidad considerada globalmente formaría un sistema multiagente.

Los agentes que participan en un sistema multiagentes pueden ser de diferentes clases, dependiendo de las actividades que puedan desarrollar, así como de la concepción de cual es el sistema multiagente que se está trabajando.

Una arquitectura es necesaria para crear un entorno abierto, es decir un entorno en el que puedan coexistir diferentes estructuras de datos o de control, en donde los agentes puedan ser añadidos en aplicaciones ya existentes, así como para la creación de sistemas en los que participan varios agentes. Las arquitecturas de agentes describen la interconexión de los módulos de software/hardware que permiten a un agente exhibir la conducta enunciada en la teoría de agentes.

En arquitecturas en las que participan diferentes agentes, cada actividad requiere un protocolo especial, esto es esencial, ya que los protocolos habilitan a los agentes a interactuar de una forma organizada.

Algunas de las ventajas de los sistemas multiagente con respecto a los sistemas centralizados y monolíticos son: solución de problemas con mayor rapidez, comunicación mínima, mayor flexibilidad, mayor confiabilidad

Los agentes que colaboran, dependiendo de su capacidad para resolver problemas, se pueden clasificar en :

Page 4: Agentes y Arquitecturas de Control

- Agentes Reactivos: reaccionan a cambios de su medio ambiente o a mensajes provenientes de otros agentes. No son capaces de razonar acerca de sus intenciones. Sus acciones se realizan como resultado de reglas que se disparan o de la ejecución de planes.

- Agentes Intencionales: son capaces de razonar acerca de sus intenciones y conocimientos, crear planes de acción y ejecutar dichos planes.

- Agentes Sociales: Poseen las capacidades de los agentes intencionales, y además poseen modelos explícitos de otros agentes.

Existe una gran variedad de arquitecturas, una primera clasificación de las arquitecturas se puede basar en el acceso de las capas hacia los sensores y actuadores. Si todas las capas tienen acceso a los sensores y actuadores es una arquitectura horizontal, si sólo la capa más baja tiene acceso a los sensores y o actuadores, es una arquitectura vertical.

También se pueden clasificar las arquitecturas según el tipo de procesamiento empleado en deliberativas, reactivas e híbridas.

3. Robots móviles

El robot Institute of América define un robot como un manipulador programable capaz de realizar diversas funciones diseñado para desplazar materiales, partes, herramientas o determinados artefactos mediante movimientos programados variables y cuyo objetivo es la realización de ciertas tareas. También un robot podría definirse simplemente como un agente artificial activo, cuyo entorno es el mundo físico.

La arquitectura de un robot definirá como se organiza la producción de acciones a partir de percepciones.

Los enfoques tradicionales para la programación de robots manejan los datos con un procedimiento conocido como fusión de sensores, la cual realiza un uso intensivo de los recursos computacionales.

El paradigma empleado en los primeros días de la robótica, estaba basado en las ideas de modelado del mundo y planificación. Este enfoque descompone el programa del robot en una secuencia ordenada de componentes funcionales.

Las arquitecturas tradicionales para el control de robots autónomos móviles se realizan de forma centralizada, se hacen planes y modelos los cuales muestran deficiencias al enfrentarse a ambientes dinámicos e incertidumbres.

Estos sistemas de control cuentan con sensores externos y actuadores que deben responder en tiempo real a una velocidad correspondiente a la que se presentan las actividades del medio ambiente.

Una nueva alternativa al paradigma modelado/planificación es el propuesto por Rodney Brooks (1986), la cual no se centra en la fusión de sensores, sino en la noción de fusión de

Page 5: Agentes y Arquitecturas de Control

conductas. Esta arquitectura provee una forma de combinar el control en tiempo-real distribuido con conductas disparadas por sensores. Las conductas son capas de sistemas de control que corren en paralelo cuando los sensores apropiados son disparados. Las conductas de más alto nivel tienen el poder de temporalmente suprimir a las conductas de más bajo nivel.

Brooks fue uno de los lideres iniciadores en el paradigma de la robótica puramente

reactiva. Su equipo empujó en enfoque con el desarrollo de la arquitectura Subsumption. El ha articulado el rumbo de la IA clásica y roto la vía del paradigma sensar-planear-actuar que dominó la IA de 1970-80.

El paradigma basado en conductas es una extensión de las arquitecturas reactivas y cae entre los extremos reactivos puros y basados en planes.

Los requisitos que debe cumplir una arquitectura de robots móviles son:1. Permitir una conducta deliberativa y reactiva2. Permitir la incertidumbre3. Manejar riesgos inherentes a la operación del robot móvil.4. Permitir al diseñador flexibilidad, ya que las aplicaciones frecuentemente requieren de

experimentación y reconfiguración.

Un controlador inteligente para un robot autónomo impone al diseñador un conjunto de restricciones. La necesidad de que el aprendizaje se realice en línea requiere de algoritmos de alto rendimiento. En muchas situaciones no existe la posibilidad de entrenamiento previo. Otra limitación importante es la capacidad de recursos de procesamiento y memoria con que se cuenta. En general la cantidad de recursos de este tipo que se tienen en un robot autónomo es muy baja. Esta restricción limita las posibilidades del diseñador en el sentido de la cantidad de procesamiento y espacio de almacenamiento que puede utilizar. En éstas condiciones se requiere de arquitecturas que permitan integrar algoritmos de aprendizaje de alto rendimiento con un bajo consumo de recursos.

Ejemplos de Algunas arquitecturas tradicionales de robots autónomos móviles son las siguientes:- Control-Loop: Los controles inicializan las acciones del robot y monitorea sus consecuencias,

ajustando los planes futuros de acuerdo a la información monitoreada. Reduce la incertidumbre a través de la Iteración.

- Arquitectura de Capas: Se compone de 8 capas. Se definen niveles de abstracción para guiar el diseño; la dependencia de las capas es un obstáculo para el fácil reemplazo y adición de componentes.

- Arquitectura de Pizarrón: Es capaz de modelar la cooperación de tareas, permitiendo de una manera flexible el coordinar y resolver incertidumbre gracias a un mecanismo de invocación implícita basado en el contenido de la base de datos

Debido a que las arquitecturas totalmente reactivas o totalmente deliberativa presentan deficiencias, se han desarrollado arquitecturas híbridas reactivas/deliberativas para solucionar algunas de las deficiencias potenciales de los sistemas puramente reactivos. Estas permiten la

Page 6: Agentes y Arquitecturas de Control

incorporación de conocimiento del mundo y la construcción de representaciones globales, todavía conservando la ejecución reactiva y la respuesta a los cambios del ambiente.

Las arquitecturas híbridas permiten reconfigurar el sistema de control reactivo, basado en el conocimiento del mundo que se tiene disponible, agregando una considerable flexibilidad sobre los sistemas reactivos puros.

4. Arquitectura Propuesta

Debido a las semejanzas entre los conceptos de agentes y robots, muchos de las implementaciones de arquitecturas de agentes se llevan a cabo sobre robots. Considerando al robot como a un solo agente.

Ésta investigación se ubica en la propuesta y formalización de una arquitectura de diseño que apoye a los sistemas basados en Agentes Cooperantes, sustentado en programas orientados a objetos combinado con inteligencia artificial. Específicamente se enfoca al área de la robótica móvil, donde se conceptualiza que el robot se encuentra integrado por un conjunto de agentes, donde cada uno tiene asignado una tarea, la cual colabora en el cumplimiento de la meta del robot.

El objetivo de la arquitectura es servir de guía para el desarrollo de software controlador de un robot autónomo móvil, a través de la cual se desarrolle una estructura de programa modular y la representación de las relaciones de control entre los módulos.

A continuación se describen los componentes de la arquitectura propuesta.

Se presenta la arquitectura del sistema multiagente, a través del cual se pretende integrar una sociedad de agentes donde cada uno posea un grado de independencia y autonomía. Así como la arquitectura base de los agentes que componen al sistema multiagente.

Page 7: Agentes y Arquitecturas de Control

A A

2

5

4

3

7

8

AMBIENTE

111111

A

3

9

6

1 1

1

11

78

2

6

10A

12 3

9

45

U

4.1 Arquitectura Multiagente.

Los componentes que integran la arquitectura son:A. Ambiente1. Agentes Sensores: Es un agente

reactivo, el cual recibe información del ambiente y elementos externos. Ejecutan la interpretación del sensor.

2. Agente Integrador: Es un agente deliberativo, el cual recibe información de los diferentes agentes sensores para integrar su información y comunicarse con el módulo coordinador.

3. Agentes Actuadores: Es un agente reactivo, el cual trabajará sobre el ambiente basado en las tareas que se le asignaron.

4. Agente Controlador: Es un agente deliberativo, el cual determina la factibilidad de los movimientos.

5. Agente Planificador: Agente deliberativo, el cual determina como llevar a cabo los movimientos seleccionados.

6. Módulo Coordinador: Recibe la información proveniente de otros sensores y agentes. Es el módulo de comunicación interna

7. Módulo de Asignación de Tareas: Asigna y da prioridad a las tareas que realizan los actuadores.

8. Base de Datos Común9. Historia de Acciones10. Protocolos de Comunicación11. Protocolos de Negociación

A continuación se muestra la estructura de los agentes que se utilizan en el modelo multiagente.

A. AmbienteU. Usuario1. Interfaz con el usuario2. Percepción3. Peticiones4. Mensajes de otros Agentes5. Comunicación6. Actuador7. Razonamiento8. Metas9. Aportaciones

Page 8: Agentes y Arquitecturas de Control

10. Planes11. Base de Conocimientos12. Resultados

Donde la parte inteligente de cada agente le permitirá la autonomía de su comportamiento, así como un nivel de aprendizaje y adaptación que le permitirá interactuar con los otros agentes, para colaborar en la meta propuesta por el robot.

Para lograr éste comportamiento, los agentes deben contar con los siguientes elementos:- Toma de decisiones distribuidas- Contar con habilidades que le permitan planear globalmente- Coordinar planes cooperativos- Mantener comunicación mutua- Contar con inteligencia colectiva.

5. Conclusiones

Con la arquitectura propuesta se pretende facilitar la implementación de la programación que se desarrolle, proveer una respuesta más dinámica, permitir una mayor flexibilidad al diseñador, utilizando las características que ofrece una solución multiagente. Es una arquitectura híbrida ya que en su composición integra agentes deliberativos y reactivos para la realización de las tareas. Los agentes seleccionados y sus funciones también representan una arquitectura híbrida ya que se tomaron características y ventajas de las tres arquitecturas tradicionales que se mencionan.Proyecto apoyado por COSNET y DGIT

Referencias

[1] ARKIN, R. C. Behavior-Based Robotics. MIT Press; Cambridge, Massachusetts.1998. pp.15-20

[2] ARKIN, R. C. Reactive Robotics Systems. College of Computing, Georgia Institute of Technology. Atlanta Georgia. 11p.

[3] BROOKS, Rodney. A. Robust Layered Control System For A Mobile Robot. IEEE Journal of Robotics and Automation, Vol RA-2, No, 1 March 1986.

[4] IGLESIAS Carlos Angel Fernández. Fundamentos de Agentes Inteligentes. Depto. de Ingeniería de Sistemas Telemáticos de la Universidad Politécnica de Madrid. 1997

[5] JENNINGS, Nicholas R. y T.Wittig. ARCHON: Theory and Practice. . Dept. Electronic Engenieering del Queen Mary & Westfield College Reseach Departament, 8 p. : il.

Page 9: Agentes y Arquitecturas de Control

[6] KALENKA, Susanne. Formalising Social Agents Interactions. QMW: 1997, 2p. (Sussane en http://www.elec.qmw.ac.uk/dai/people/)

[7] KORTENKAMP, David. R. Peter Bonasso, and Robin Murphy. Artificial Intelligence and Mobile Robots:Case studies of successful Robots Systems. Cambridge, Mass.:MIT Press.

[8] MATARIC Maja J. Behavior-Based Control: Example from Navigation, Learning, and Group Behavior. Volen Center for Complex Systems Computer Science Department. Brandeis University, Waltham, MA. 1998.

[9] MATARIC Maja J. Behavior-Based Robotics as Tool for Synthesis of Artificial Behavior and Analysis of Natural Behavior. Computer Science Department and Neuroscience Program. University of Southern California.1998.

[10] SHAW Mary y David Garlan, Software Architecture Perspectives on an Emerging Disciplines, Upper Saddle River, New Jersey: Prentice Hall, 1996.

[11] SOFTWARE AGENT GROUP. Modeling Software Agents. MIT Media Lab: 1997, 4 p. (Papers.html en ttp://agents.www.media.mit.edu/groups/agents/)

[12] VREESWIJK, Gerard A.W. Open Protocol in Multi-agent System. University of Limburg, Department of Computer Science, 1995, 14p. : il.

[13] WOLDRIDGE, Michael. Michael Wooldrige Home Page. QMW: 1997, 2p. (MikeW.html en http://www.elec.qmw.ac.uk/dai/people/)