sistema supervisor basado en sistemas multiagentes

Upload: carlos-vivas

Post on 06-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

En este trabajo se presenta un Sistema Supervisor (SS), basado en Sistemas MultiAgentes (SMA), para el monitoreo y control de robots móviles. El supervisor se construye a partirdel paradigma de SMA, cuyo diseño e implementación sigue la metodología MASINA (MultiAgent Systems for INtegratedAutomation), bajo el entorno de desarrollo EDISMA (Entorno deDesarrollo Integrado para la Creación de SistemasMultiAgentes). El SS distribuido se ejecuta sobre un Medio deGestión de Servicios (MGS), con capacidades de ejecución entiempo real. El Sistema de Supervisión está compuesto por tresagentes: SUPERVISOR, el cual realiza las tareas de monitoreo,interacción con el usuario y gestión de consignas; CONTROL,realiza las tareas de ejecución de la acción de control; ROBOT,representa una abstracción física del funcionamiento del robotpara su integración en el paradigma de agentes. La funcionalidaddel SS se verifica en un robot NXT para control de seguimientode trayectorias y detección de situaciones inesperadas (fallas yobstáculos). El diseño del control se realiza por evaluación delmodelo cinemático del robot con configuración diferencial. Losresultados permiten disponer de todo un ambiente de controlsupervisorio distribuido, a tiempo real, de robots móviles, en unenfoque de SMA.

TRANSCRIPT

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    Resumen En este trabajo se presenta un Sistema Supervisor (SS), basado en Sistemas MultiAgentes (SMA), para el monitoreo y control de robots mviles. El supervisor se construye a partir del paradigma de SMA, cuyo diseo e implementacin sigue la metodologa MASINA (MultiAgent Systems for INtegrated Automation), bajo el entorno de desarrollo EDISMA (Entorno de Desarrollo Integrado para la Creacin de Sistemas MultiAgentes). El SS distribuido se ejecuta sobre un Medio de Gestin de Servicios (MGS), con capacidades de ejecucin en tiempo real. El Sistema de Supervisin est compuesto por tres agentes: SUPERVISOR, el cual realiza las tareas de monitoreo, interaccin con el usuario y gestin de consignas; CONTROL, realiza las tareas de ejecucin de la accin de control; ROBOT, representa una abstraccin fsica del funcionamiento del robot para su integracin en el paradigma de agentes. La funcionalidad del SS se verifica en un robot NXT para control de seguimiento de trayectorias y deteccin de situaciones inesperadas (fallas y obstculos). El diseo del control se realiza por evaluacin del modelo cinemtico del robot con configuracin diferencial. Los resultados permiten disponer de todo un ambiente de control supervisorio distribuido, a tiempo real, de robots mviles, en un enfoque de SMA.

    Palabras clavesControl, Robtica, Sistema de Supervisin, Sistemas MultiAgentes.

    I. INTRODUCCIN Hoy en da, los robots se usan en la industria como un

    elemento indispensable en gran parte de los procesos de manufactura. Sin embargo, existen otros sectores como la construccin, la industria nuclear, la medicina, la aeronutica, la agricultura, la telepresencia, la vigilancia y la seguridad en donde es usada la robtica. La investigacin en la robtica mvil ha ido avanzando, en la actualidad se disponen de sistemas formados con una gran cantidad de componentes conectados en red que sirven para el desarrollo de sistemas de control distribuidos, donde las distintas funciones del control

    Artculo recibido el 10 de Diciembre de 2014. Este artculo fue financiado por el CDCHTA-ULA proyecto No. I-1237-10-02-AA.

    C.V. y A. R. estn con la Universidad de Los Andes, Ncleo Universitario Pedro Rincn Gutirrez. La Hechicera. Facultad de Ingeniera, Escuela de Ingeniera de Sistemas, Mrida, Estado Mrida, Venezuela, Telfonos, +58-274-2402981 / 2824, Fax: +58-274-2402979, E-mail: [email protected], [email protected].

    F.H est con la Universidad de Los Andes, Ncleo Universitario Pedro Rincn Gutirrez. La Hechicera. Facultad de Ciencias, Departamento de Fsica, Mrida, Estado Mrida, Venezuela, Telfono, +58-274-2401284 Fax: +58-274-2401286, E-mail: [email protected]

    se implementan en diferentes niveles. Cuando un tipo de configuracin incluye elementos con movilidad la capacidad de obtener y procesar informacin, as como la de generar acciones de control, es variable y dependiente del tiempo. La idea de usar distintos tipos de robot ofrece la ventaja de poder aprovechar las caractersticas especficas de cada uno para lograr un objetivo en comn, entonces es preciso definir una estructura de control jerarquizada que ayude al control y coordinacin del sistema de forma que se asegure que las acciones de mxima prioridad se ejecuten a nivel local y las dems acciones se lleven a cabo a niveles superiores con menor prioridad. Los robots mviles pequeos son usados como herramienta para la educacin y la investigacin, generando aportes en el mbito acadmico. En la investigacin, con stos se hacen ensayos de algoritmos, tcnicas de inteligencia artificial, mtodos de desplazamiento, tecnologa de comunicaciones, entre otras. Esto ha permitido la implantacin de robots en aplicaciones del mundo real, como es en el caso de robots buscaminas basados en robots rastreadores, de exploracin espacial como Pathfinder, proyecto base para los robots Rovers utilizados en la exploracin marciana.

    La plataforma Lego Mindstorms NXT 2.0 es la segunda generacin de tecnologa robtica de Lego. Consiste en una completa solucin de enseanza, que incluye: informtica, ciencia, tecnologa, ingeniera y matemticas [1], [2]. Para la programacin del microcontrolador, Lego ha lanzado un firmware, el cual est implementado en el lenguaje de programacin ANSI C, por lo que algunos comportamientos son heredados ste, y herramientas para desarrolladores con software abierto, junto con esquemas para todos los componentes de hardware. Esto convierte al ladrillo de Lego NXT en un sistema de software abierto; aunque no se comercializa con este fin. En este trabajo se presenta un Sistema Supervisor (SS), basado en Sistemas MultiAgentes (SMA), para el monitoreo y control del robot de Lego Mindstorms NXT 2.0. El control supervisorio, que corresponde a la funcin principal del SS, realiza tareas de monitoreo y control distribuido. El supervisor se construye a partir del paradigma de SMA, cuyo diseo e implementacin sigue la metodologa MASINA (MultiAgent Systems for INtegrated Automation) [3-5], con el soporte de entorno EDISMA (Entorno de Desarrollo Integrado para la Creacin de Sistemas MultiAgentes) [5], [6]. El SS distribuido se ejecuta sobre un

    Supervisin Basada en Sistemas MultiAgentes Para el Control de Robots

    Mviles Carlos Vivas, Francisco Hidrobo, Addison Ros

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    Medio de Gestin de Servicios (MGS) [5], [7-9] con capacidades de ejecucin en tiempo real.

    II. SISTEMAS MULTIAGENTES

    A. Agente Los agentes son sistemas informticos situados en un

    entorno o ambiente, capaces de realizar acciones autnomas dentro de ese entorno para alcanzar sus objetivos. Surgen dentro del campo de la inteligencia artificial y, a partir de los trabajos desarrollados en el rea de la inteligencia artificial distribuida (DAI= Distributed Artificial Intelligence) se genera el paradigma de Sistemas MultiAgentes (SMA) [5]. En la Fig. 1 se observa el esquema bsico de interaccin de un agente.

    FIG. 1 Interaccin de un agente

    B. Inteligencia Artificial Distribuida y Sistemas MultiAgentes La Inteligencia Artificial Distribuida (Distributed Artificial

    Intelligence) se concibe como la integracin de dos campos de conocimiento: la inteligencia artificial y los sistemas distribuidos. A partir de esto, es entendida como el campo del conocimiento que intenta construir entidades autnomas e inteligentes que se comunican por medio de mecanismos basados en el envo y recepcin de mensajes y cooperan para desarrollar un objetivo [5]. Se ha basado en tres reas: los Sistemas MultiAgentes (SMA), rea en el cual se estudia el comportamiento de agentes inteligentes que resuelven problemas de forma cooperativa, la Inteligencia Artificial en Paralelo (PAI = Parallel Artificial Intelligence), donde se busca el desarrollo de lenguajes y algoritmos paralelos para sistemas concurrentes; y la Resolucin Distribuida de Problemas (DPS = Distributed Problems Solving), en donde se busca la divisin ptima de un problema para asignar las partes a un conjunto de entidades independientes para que hallen la solucin.

    Los SMA tienen como unidad funcional el agente y tienen que ver con el comportamiento de una coleccin de agentes autnomos, tratando de resolver un problema dado, por lo cual comparten conocimiento acerca del problema y sus soluciones. Un SMA est formado por un grupo de agentes que interactan entre s, utilizando protocolos y lenguajes de comunicacin de alto nivel, para resolver problemas que estn ms all de las capacidades o del conocimiento de cada uno. Algunas de las caractersticas de los SMA son: cada agente tiene capacidad para solucionar parcialmente el problema, no hay un sistema global que los controla, los datos no estn centralizados, la computacin es asncrona [5]. Para la integracin de un conjunto de agentes se necesita de tres

    conceptos importantes: comunicacin, cooperacin y coordinacin. La comunicacin se da en los SMA a travs de actos de habla (acto de comunicacin entre dos o ms agentes en un momento dado), en el marco de una actividad colectiva (de la comunidad de agentes) especfica, para alcanzar un objetivo global o individual. A ese grupo de actos de habla del SMA que ocurre en la realizacin de una actividad dada, se le llama conversacin y se han llegado a desarrollar lenguajes especficos de descripcin, entre los ms conocidos Knowledge Interchange Format (KIF) [10] y Agent Communication Language (ACL) [11]. La coordinacin de acciones puede describirse como el conjunto de actividades suplementarias necesarias a realizar en una comunidad de agentes para poder actuar colectivamente. La cooperacin es un proceso por el cual un grupo de agentes generan deberes, mutuamente dependientes, para realizar actividades conjuntas. En este caso, cada agente resuelve localmente aquello que es posible, y recurre a otros agentes para el resto de las tareas.

    As, el objetivo de la coordinacin y la cooperacin, es lograr una integracin y un ajuste armonioso de los esfuerzos de trabajo individual, en beneficio de una meta comn. Hoy en da existen una importante cantidad de implementaciones, incluyendo propuestas en el rea de supervisin, y propuestas de herramientas computacionales basadas en SMA para soportar las actividades que van desde la formulacin de arquitecturas hasta la especificacin de los sistemas listos para su implantacin.

    C. Sistemas MultiAgentes para la Supervisin Alcanzar los objetivos de supervisin en sistemas

    complejos y altamente automatizados es una tarea ardua que requiere de la incorporacin de mecanismos que incorporen: capacidades de aprendizaje, de acuerdo a la experiencia adquirida, capacidades adaptativas, segn los cambios que surjan naturalmente de la dinmica propia de los procesos internos y externos, autonoma en el proceso de la toma de decisiones y posibilidades de acceso al conocimiento e informacin distribuida. Los agentes inteligentes se presentan como una alternativa para dotar a los sistemas de supervisin de propiedades estructuralmente inteligentes y emergentes.

    Las aplicaciones de agentes en la supervisin de procesos se disean a partir de los sistemas reactivos ya existentes, y a partir de all se modelan los agentes para permitir la comunicacin entre dichos sistemas y la extraccin de informacin para ir creando su propio conocimiento. Con el fin de disear sistemas de supervisin concebidos desde sus inicios como sistemas inteligentes se han propuesto esquemas para el desarrollo e implantacin de SMA para la supervisin de procesos industriales, dotados de las capacidades propias de los SMA, que permitan la operacin segura y ptima en base a los objetivos del control [5]. La Fig. 2 muestra la arquitectura bsica del SMA de supervisin propuesto para un entorno multirobots.

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    FIG. 2 SMA para la Supervisin de robots mviles

    D. Metodologa de Especificacin de Agentes Para el desarrollo del trabajo, se ha usado la metodologa

    MultiAgent Systems for INtegrated Automation (MASINA) [3], [4], [5], que ha surgido como una propuesta metodolgica para la especificacin e implementacin de sistemas basados en agentes en ambientes de automatizacin industrial.

    E. Entorno de Desarrollo Integrado para la creacin de Sistemas MultiAgentes

    En el marco de un proyecto general, que incluye los aspecto metodolgicos y el soporte de operacin de SMA, se ha se ha implantado un Entorno de Desarrollo Integrado para la creacin de SMA, (EDISMA) [5], [6], el cual es un IDE que permite crear agentes mediante una interfaz grfica. EDISMA est compuesto por un entorno grfico, un editor de textos y un analizador de diagramas de UML creados con Umbrello.

    F. Medio de Gestin de Servicios Para poner en funcionamiento los SMA es necesario tener

    una plataforma bsica que provea los servicios fundamentales para la operacin de los agentes. Estos servicios, en los sistemas distribuidos deben incluir: creacin, nombramiento, localizacin, comunicacin, entre otros. De este modo, se requiere de un Medio de Gestin de Servicio que permita la operacin de los agentes de una manera segura y eficiente, sin afectar los propios objetivos del Sistema MultiAgente (SMA) [5]. En este trabajo se usa el Medio de Gestin de Servicios (MGS) descrito en [5], [7-9] que contiene el conjunto bsico de mdulos de software que implementan las abstracciones mnimas para la especificacin, implementacin y manipulacin de agentes en un ambiente computacional.

    III. PROTOTIPO ROBOT NXT IMPLEMENTADO Los robots mviles se clasifican por el medio de

    movilizacin y el tipo de locomocin utilizado [12]. Para sta investigacin se ha optado por usar un robot mvil con ruedas.

    A. Configuracin para el robot mvil con ruedas La configuracin hace referencia a la forma en que se

    encuentra distribuidos los principales elementos que lo componen: plataformas, motores, ruedas, etc. [13]. Se trabaja con un robot mvil que posee una configuracin diferencial. La configuracin diferencial est formada por dos ruedas colocadas en el eje perpendicular a la direccin del robot donde cada rueda es controlada por un motor, de manera que el giro del robot queda determinado por la diferencia de velocidad de las ruedas. Uno de los problemas que tiene la configuracin diferencial es mantener el equilibrio del robot, ya que consta de dos ruedas, por lo cual se le agrega ruedas de libre giro (Ver Fig. 3). El problema que surge debido a ms de tres apoyos en el robot es la prdida de traccin y errores en los clculos de odometra.

    FIG. 3 Esquema del Robot Diferencial

    B. Robot NXT Seguidor de Trayectoria y Detector de Obstculos

    La construccin de un robot que siga una trayectoria integra muchas reas de las ciencias, permitiendo desarrollar un conocimiento emprico sobre el control automtico. A la configuracin del robot NXT seguidor de trayectorias y detector de obstculos, bajo el paradigma de SMA, lo llamaremos SMABOT, su diseo bsico, desde una vista superior, est representado en la Fig. 4.

    FIG. 4 Caractersticas del SMABOT desde una vista superior

    SMABOT es un robot de direccin diferencial, contiene dos servomotores, cada uno conectado a las ruedas izquierda y derecha respectivamente. SMABOT tiene un sensor de luz montado en la parte frontal, a 1 cm del suelo, que apunta directamente hacia abajo. Posee un sensor ultrasnico para

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    detectar obstculos y un bloque NXT el cual contiene los microprocesadores [14]. El objetivo es conseguir que el robot siga una trayectoria, de cualquier color, sobre una superficie plana y al detectar un obstculo se detenga, cuando se remueva el obstculo el robot continuar en la trayectoria. El robot mvil muestra todas las caractersticas de un robot real, utiliza sensores para recopilar informacin sobre el mundo que lo rodea y cambia su comportamiento en funcin de esa informacin.

    C. Modelo cinemtico de un Robot Diferencial Si se desea controlar el movimiento del robot se debe tener

    en cuenta la manera en que se mueven las ruedas, especficamente las velocidades angulares con las que stas rotan [15]. Tambin es de importancia conocer su posicin y orientacin, es decir, donde est el robot y hacia dnde se dirige. De este modo, el modelo que relaciona la posicin y la orientacin de un robot mvil diferencial con las velocidades angulares se obtiene mediante un anlisis cinemtico, donde se asume las siguientes condiciones: cada rueda es controlada por un motor y existe un solo punto de contacto entre las ruedas y la superficie. El robot se mueve sobre una superficie plana, sin irregularidades de nivel y textura. Los ejes de desplazamiento son perpendiculares a la superficie de trabajo. La estructura del robot es totalmente rgida, no se consideran en el diseo la existencia de partes flexibles. Los intervalos de tiempo de desplazamiento describirn trayectorias en arcos de circunferencia. El sistema de control asumir el posicionamiento y orientacin en su totalidad.

    FIG. 5 Localizacin y recorrido del robot mvil sobre el plano

    Dnde corresponde a la velocidad lineal del punto medio, mientras que se refiere a la velocidad angular del punto medio, a la velocidad angular de la rueda derecha, representa la velocidad angular de la rueda izquierda y por ltimo y que corresponde al radio de las ruedas y la longitud de separacin entre las ruedas respectivamente.

    En la Fig. 5 se muestra el modelo del robot mvil de configuracin diferencial, en el cual las variables de control son las velocidades del robot (velocidad angular y velocidad lineal ). El modelo cinemtico de un robot mvil diferencial puede expresarse en trminos de las variables de control (, ) como se observa en las ecuaciones (1), (2) y (3)

    = cos (1) = sin (2) = (3)

    Luego, en velocidades de control (, )como se muestra en las ecuacin (4), (5), (6) en donde es el radio de las ruedas y la longitud de separacin entre stas. y son las velocidades lineales en cada eje y es la velocidad angular.

    El modelo matemtico de la cinemtica del sistema de configuracin diferencial se muestra en las siguientes ecuaciones:

    =

    2( + ) cos

    (4)

    =

    2( +) sin

    (5)

    =

    ( )

    (6)

    Las ecuaciones anteriores, indican la forma en que la posicin (, ) y la orientacin del robot () cambian en el tiempo. La dificultad que existe con el modelo es el uso de las velocidades angulares para disear el controlador. Por esta razn el modelo de las ecuaciones (4), (5), (6), no es usado comnmente en el diseo, pero si en la implementacin del controlador. De esta forma, se hace el diseo del controlador con el modelo de las ecuaciones (1), (2), (3) y se implementara usando el modelo de las ecuaciones (4), (5), (6).

    D. Modelo odomtrico de un Robot Diferencial Siendo el estado del robot ( , ,), el cual representa la

    posicin y orientacin del robot; la odometra es la manera mediante la cual esa informacin puede ser estimada. Un sensor interno, utilizado ampliamente en robtica mvil es el sensor de rotacin o encoder, a partir del cual se busca conocer la cantidad de revoluciones que realizan las ruedas del robot, basado en pulsos generados por el sensor. Los pulsos indican cuantas veces ha girado la rueda en un periodo de tiempo y con sta informacin puede calcularse donde est el robot. En relacin a lo anterior, la odometra es la estimacin de la posicin del robot a partir de las rotaciones de sus ruedas. Entonces, se emplea un factor que convierte los pulsos del encoder en una descomposicin lineal de la rueda para poder calcular la velocidad o distancia de cada rueda. El factor de conversin es determinado en la ecuacin (7).

    =2

    (7)

    Dnde

    corresponde al factor de conversin que convierte los pulsos del encoder una descomposicin lineal de la rueda, mientras que se refiere al radio nominal de la rueda en milmetros (mm), es la resolucin del encoder en pulsos de revolucin y finalmente es la relacin de engranajes.

    Suponiendo que a intervalos de muestreo i, cada rueda est siguiendo un arco (Fig. 6), que significa que est girando a un ritmo constante, y en escalas de tiempo corto esto es vlido,

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    entonces, los encoders de la rueda izquierda y derecha muestran un incremento de pulsos, ! del encoder de la rueda derecha y " de la rueda izquierda, se puede calcular el incremento de la distancia recorrida por la rueda izquierda !" y !! derecha como se indica en la ecuacin (8).

    FIG. 6 Descripcin geomtrica del recorrido en arco del robot mvil diferencial en un momento dado

    "/! = "/! (8)

    El incremento lineal de la distancia recorrida por el centro del robot denotado como se calcula por medio de la ecuacin (9).

    = (! + "

    2)

    (9)

    As, se obtiene el incremento en el cambio de orientacin en la ecuacin (10).

    = (! "

    )

    (10)

    Dnde es la distancia entre los dos puntos de contacto de las ruedas con el piso. La nueva orientacin relativa del robot mvil puede ser calculada con la ecuacin (11).

    = %& + (11)

    De este modo, la posicin(, ) relativa del punto central del robot a la que se quera llegar queda expresada como las ecuaciones (12) y (13).

    = %& + cos (12) = %& + sin (13)

    Dnde: y es la posicin relativa del punto central del robot en un instante i.

    E. Algoritmo de Control El objetivo de aplicar una ley de control al robot mvil es

    hacer el seguimiento exacto o asinttico de una trayectoria preestablecida sobre el plano XY. Este seguimiento lo debe realizar con un punto gua fijo, definido y localizado en la plataforma del robot mvil. Hay que disear un control que permita llevar las variables de estado (, , )al valor deseado(, , ), bajo la condicin de que el robot se

    encuentre inicialmente sobre la trayectoria o en un punto de referencia cercano a ella. Para lograr el seguimiento de la trayectoria se propone una estrategia de control basada en un regulador PI (Proporcional-Integral). Para realizar el diseo del controlador se usa las ecuaciones (1), (2), (3), si la velocidad lineal es mantenida como constante, se desea controlar la direccin del robot, es decir, hacia donde gira. Por lo tanto, la ecuacin (3) es de mayor importancia. Si se usa un controlador PID se introduce un polo y un cero al sistema, que hace que aumente su orden. Con un controlador PI se puede reducir el error en estado estacionario del sistema realimentado.

    IV. PRUEBAS BSICAS DEL SISTEMA SUPERVISOR

    En esta seccin se detallan las pruebas bsicas realizadas para obtener un supervisor del seguimiento del robot. En particular, se comprueban los esquemas de comunicacin, el funcionamiento de la interfaz grfica y la efectividad del algoritmo de control.

    A. Protocolo de Comunicacin entre el Robot y el Computador

    En esta prueba se desarrolla todo lo relativo la comunicacin entre el robot y el computador. El bloque NXT que contiene los microprocesadores puede ser controlado a travs de bluetooth, por medio del perfil de puerto serie (SPP). El protocolo de comunicacin llamado NXT Direct Commands [16] o protocolo de comunicacin (LCP). Se utiliza para el control de NXT desde un dispositivo remoto. La comunicacin entre el computador con el SMABOT se realiza mediante el envo de telegramas o mensajes; stos contienen un comando y sus parmetros, listo para ser enviado al NXT, para ejecucin inmediata.

    El firmware que lleva el NXT permite acceder a su protocolo de comunicacin escribiendo o leyendo informacin directamente mediante el envo de telegramas. Se ha creado una biblioteca en lenguaje C para el control del SMABOT. Segn las especificaciones del protocolo bluetooth para el NXT, existe un retardo en el rango de (10,30) milisegundos. De esta manera, en el lazo de adquisicin de datos se debe tomar en cuenta tal retardo, puesto que ste representa un lmite inferior para el tiempo de interrogacin; si se intenta interrogar a mayor velocidad se obtiene datos errneos o existe perdida de informacin. Para mejorar el retardo que es causado por el cambio de modo de comunicacin se ha aadido la posibilidad de enviar comandos directos sin necesidad de respuesta, es decir, no se asegura que lo que se enve al NXT sea procesado. Con esto se evita el cambio de modo de transmisin y el retardo de hasta 30 ms se puede evitar. Para poder enviar los telegramas o mensajes, el robot debe estar conectado con la computadora mediante la tecnologa inalmbrica Bluetooth [17]. Primero se realiza el emparejamiento bluetooth del robot SMABOT con el computador, haciendo uso de la biblioteca Bluez-utils, usando los comandos que provee dicha biblioteca.

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    B. Diseo de la interfaz del usuario Se ha desarrollado una interfaz en QT (Versin 5) [18], la

    cual permite observar la posicin del robot y la trayectoria seguida. Como muestra la Fig. 7, la interfaz del Supervisor est conformada por los siguientes elementos.

    rea 1: Es el rea principal y es la que permite visualizar la posicin estimada del robot.

    rea 2: Permite visualizar si el robot encuentra un obstculo. El color verde significa que no hay un obstculo en la trayectoria, y el color rojo indica que se detect un obstculo a una distancia inferior a 15 cm; para esto se usa el sensor ultrasnico.

    rea 3: En esta rea se encuentran los botones que permiten iniciar y detener el robot. Al presionar el botn de inicio, se enva una seal para conectar el robot e iniciar el algoritmo o programa de recorrido en el robot NXT.

    FIG. 7 Interfaz utilizada para la Supervisin del Robot NXT

    C. Prueba Local con el control desde el computador

    FIG. 8 Prueba Local con el control desde el computador

    Para realizar la prueba local, se ha implementado el control desde el computador como se muestra en la Fig. 8, es decir, las seales de control son enviadas al robot desde el computador, el cual permite moverse al robot dependiendo de la velocidad angular deseada para seguir la trayectoria. Al presionar el botn de inicio (Iniciar) de la interfaz en su primera versin, el robot debe haber sido enlazado al computador va bluetooth. Una vez conectado, se envan los telegramas. Inicialmente el robot aprende el color de la lnea de la trayectoria a seguir,

    esto lo realiza mediante el sensor de luz, estos valores son tomados por el control como referencia para enviarle las potencias a cada motor. Realizando varias pruebas locales se obtienen trayectorias como las mostradas en la Fig. 9.

    La interfaz permite guardar los datos en un archivo llamado data.txt. Dichos datos pueden ser graficados posteriormente con otra herramienta.

    FIG 9 Prueba Local con el control desde el computador

    FIG 10 Grfica de la Trayectoria para Prueba Local con el control desde el computador

    Observando los resultados, en la trayectoria de la Fig. 10 se presenta pequeos saltos (zig-zags). Este error de posicionamiento se debe principalmente al retardo en el envo de la seal de control, el computador recibe la seal de los encoders y del sensor de luz, y luego enva las potencias a los motores. Debido a los resultados presentados anteriormente, se ha colocado el control del robot mvil en el microprocesador del NXT, para as lograr un control local en el robot y reducir los saltos (el zig-zag) en el recorrido que ejecuta el robot.

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    D. Prueba local con el control en el Microprocesador NXT del Robot SMABOT

    FIG 11 Prueba local con el control en el Microprocesador NXT

    La Fig. 11 muestra el esquema de la prueba. Para poder ejecutar esta prueba el algoritmo de control es implementado usando el BricxCC [19], Bricx Command Center es un conocido IDE que soporta programacin del NXT con C, C++, Pascal, Forth, y Java utilizando brickOS, pbForth y LeJOS. Con el BricxCC se pueden desarrollar programas en NXC [20], el cual es un lenguaje de alto nivel similar a C y utiliza el firmware original de LEGO y est disponible para Windows, Mac OSX y Linux. Este software est disponible en cdigo abierto [19]. Realizando varias pruebas locales se han obtenido mejoras en la trayectoria (Fig. 12 y Fig. 13). En la Fig. 12, se muestra la accin cuando el robot encuentra un obstculo; la interfaz muestra un cambio de color en la regin de deteccin de obstculos.

    FIG, 12 Control Local Trayectoria 1. Deteccin de obstculo

    FIG. 13 Control Local Trayectoria 1. Fase Final

    En la Fig. 13 el robot finaliz la trayectoria 1, el punto de color rojo dentro del crculo indica la posicin actual del robot.

    V. PRUEBAS DEL SUPERVISOR BASADO EN SMA Luego de realizar las pruebas presentadas locales, se

    procedi a integrar la interfaz con el paradigma de agentes. Se realizaron las pruebas con los cdigos generados por EDISMA y completados para agregarles las tareas del robot.

    A. Prueba en un nico computador En esta fase de prueba se utiliza un solo computador para

    probar el funcionamiento de la interfaz grfica de QT integrada con las tareas de los agentes como se muestra en la Figura 14. El Agente Supervisor (AS) pone en funcionamiento dicha interfaz y a su vez crea al Agente Control (AC) y al Agente Robot (AR). El AC se encarga de parar el robot en caso de detectar un obstculo.

    FIG. 14 Esquema de la Prueba del Supervisor basado en SMA

    Una vez que se han reubicado los archivos fuentes generados en EDISMA y se ha compilado el SMA Supervisor, se debe garantizar que el MGS est en ejecucin en el nodo, y que la configuracin es correcta, para esto se debe seguir los pasos del manual de instalacin y pruebas del MGS [49].

    La Fig. 15 muestra el escenario de ejecucin de la prueba y los resultados que va mostrando la interfaz.

    FIG. 15 Prueba Integrada del SS en el mundo de agentes.

  • 6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (VI CIBELEC 2015)

    B. Prueba Distribuida del Supervisor basado en SMA

    FIG. 16 Esquema de la Prueba Distribuida del Supervisor SMA

    Finalmente, una vez comprobado el funcionamiento de la interfaz y su integracin con los agentes del SMA, se usan tres computadores como se muestra en la Fig. 16.

    Cada computador es un nodo de la plataforma que presta servicio de procesamiento al SMA y en cada uno de ellos debera estar en ejecucin una instancia del MGS, siguiendo las indicaciones de configuracin y ejecucin del MGS. La prueba se distribuye de la siguiente manera:

    Equipo A: Agente Robot. Equipo B: Agente Supervisor. Equipo C: Agente Control.

    En este caso se obtienen los mismos resultados que para prueba local, logrando una integracin satisfactoria. Con lo cual el SS basado en SMA cumple con los requisitos establecidos.

    VI. CONCLUSIONES Se implant un supervisor basado en SMA que permite el

    control supervisorio distribuido para una comunidad de agentes robticos, donde cada robot es considerado como un agente. Para la especificacin del supervisor se utiliza la metodologa MASINA con la cual se logr modelar el robot mvil como un agente. De igual forma, se logr modelar los agentes para las tareas de supervisin: Agente Supervisor y Agente Control. El Supervisor se implant utilizando el entorno de desarrollo EDISMA, el cual gener un cdigo base de la estructura de los agentes del SMA y algunos aspectos de comunicacin y coordinacin. Se realizaron las pruebas ejecutando el SS sobre la plataforma del MGS, el cual provee una biblioteca con facilidades de programacin y de alta abstraccin para el intercambio de mensajes entre agentes en de tiempo real, y el manejo de operaciones basadas en

    eventos. Se desarroll una interfaz en Qt que permite visualizar la trayectoria seguida por el robot y permite la activacin de consignas de alarma en caso de deteccin de situaciones inesperadas (fallas y obstculos).

    REFERENCIAS BIBLIOGRFICAS [1] LEGO. Lego Mindstormsn NXT Hardware Developer Kit.

    http://www.lego.com/es-ar/mindstorms/downloads/nxt/nxt-hdk/. [2] Business Wire. Lego mindstormsnxt 2.0. [3] J. Aguilar, I. Bessembel, M. Cerrada, F. Hidrobo, and F. Narciso. Una

    Metodologa para el Modelado de Sistemas de Ingeniera Orientado a Agentes. Revista Iberoamericana de Inteligencia Artificial, Volumen 12, Nmero 38, PP: 3960, 2008.

    [4] J. Aguilar, F. Hidrobo, and M. Cerrada. A Methodology to Specify Multiagent Systems. Lecture Notes in Artificial Intelligence, 4496:92101, 2007.

    [5] J. Aguilar, A. Ros, F. Hidrobo, M. Cerrada. Sistemas MultiAgentes y sus Aplicaciones en Automatizacin Industrial. Universidad de los Andes, 2013.

    [6] Paola S. Rivero P. EDISMA: Entorno de Desarrollo Integrado para la creacin de Sistemas MultiAgentes. Tesis de Maestra. Universidad de Los Andes, Postgrado en Computacin, 2013.

    [7] J. Aguilar, M Cerrada, A. Ros, and F. Hidrobo. Diseo y Construccin de una Plataforma para el Desarrollo e Implantacin de Sistemas Multiagentes. Reporte Tcnico, Universidad de Los Andes, CDCHT, 2010.

    [8] V. Bravo, J. Aguilar, F. Rivas, y M. Cerrada. Diseo de un Medio de Gestin de Servicios para Sistemas Multiagentes. In XXX Conferencia Latinoamericana de Informtica, PP 431439, Arequipa, Per, Octubre 2004.

    [9] H. Morillo. Reporte de instalacin y pruebas del Medio de Gestin de Servicios. Informe Tcnico, Universidad de Los Andes, Venezuela, Junio 2012.

    [10] KSL Stanford University. Knowledge Interchange Format (KIF). [11] The Foundation for Intelligent Physical Agents (FIPA). Agent

    Communication Language Specifications. [12] B. D. Andrea-Novel, G. Campion, G. Bastin. Structural Properties and

    Classication of Kinematics and Dynamic Models of Wheeled Mobile Robots. IEEE Transactions on Robotics and Automation, 1991.

    [13] A. Ban. Anlisis y Diseo del Control de Posicin de un Robot Mvil con Traccin Diferencial. Universidad Rovira I Virgili. Tarragona, 2003.

    [14] LEGO. Lego Mindstorms NXT Ultrasonic Sensor I2C Communication protocol. http://www.lego.com/es-ar/mindstorms/downloads/nxt/.

    [15] G. Bastin C. Canudas de Wit, B. Siciliano. Theory of Robot Control. Springer Verlag, 1996.

    [16] The LEGO Group. Lego Mindstorms NXT Direct Commands. 2006. [17] Lawrence Harte, Introduction to Bluetooth, Althos, 2 Edition. 2009. [18] Qt 5. Ejemplos Qt y Tutoriales qtdoc 5.3. [19] John Hansen. Bricx Command Center. [20] John Hansen. NXC Guide