You are on page 1of 8

6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

Supervisión Basada en Sistemas


MultiAgentes Para el Control de Robots
Móviles
Carlos Vivas, Francisco Hidrobo, Addison Ríos

se implementan en diferentes niveles. Cuando un tipo de


Resumen— En este trabajo se presenta un Sistema Supervisor configuración incluye elementos con movilidad la capacidad
(SS), basado en Sistemas MultiAgentes (SMA), para el monitoreo de obtener y procesar información, así como la de generar
y control de robots móviles. El supervisor se construye a partir acciones de control, es variable y dependiente del tiempo. La
del paradigma de SMA, cuyo diseño e implementación sigue la
idea de usar distintos tipos de robot ofrece la ventaja de poder
metodología MASINA (MultiAgent Systems for INtegrated
Automation), bajo el entorno de desarrollo EDISMA (Entorno de aprovechar las características específicas de cada uno para
Desarrollo Integrado para la Creación de Sistemas lograr un objetivo en común, entonces es preciso definir una
MultiAgentes). El SS distribuido se ejecuta sobre un Medio de estructura de control jerarquizada que ayude al control y
Gestión de Servicios (MGS), con capacidades de ejecución en coordinación del sistema de forma que se asegure que las
tiempo real. El Sistema de Supervisión está compuesto por tres acciones de máxima prioridad se ejecuten a nivel local y las
agentes: SUPERVISOR, el cual realiza las tareas de monitoreo,
demás acciones se lleven a cabo a niveles superiores con
interacción con el usuario y gestión de consignas; CONTROL,
realiza las tareas de ejecución de la acción de control; ROBOT, menor prioridad. Los robots móviles pequeños son usados
representa una abstracción física del funcionamiento del robot como herramienta para la educación y la investigación,
para su integración en el paradigma de agentes. La funcionalidad generando aportes en el ámbito académico. En la
del SS se verifica en un robot NXT para control de seguimiento investigación, con éstos se hacen ensayos de algoritmos,
de trayectorias y detección de situaciones inesperadas (fallas y técnicas de inteligencia artificial, métodos de desplazamiento,
obstáculos). El diseño del control se realiza por evaluación del
tecnología de comunicaciones, entre otras. Esto ha permitido
modelo cinemático del robot con configuración diferencial. Los
resultados permiten disponer de todo un ambiente de control la implantación de robots en aplicaciones del mundo real,
supervisorio distribuido, a tiempo real, de robots móviles, en un como es en el caso de robots buscaminas basados en robots
enfoque de SMA. rastreadores, de exploración espacial como Pathfinder,
proyecto base para los robots Rovers utilizados en la
Palabras claves—Control, Robótica, Sistema de Supervisión, exploración marciana.
Sistemas MultiAgentes. La plataforma Lego Mindstorms NXT 2.0 es la segunda
generación de tecnología robótica de Lego. Consiste en una
I. INTRODUCCIÓN
completa solución de enseñanza, que incluye: informática,
Hoy en día, los robots se usan en la industria como un ciencia, tecnología, ingeniería y matemáticas [1], [2]. Para la
elemento indispensable en gran parte de los procesos de programación del microcontrolador, Lego ha lanzado un
manufactura. Sin embargo, existen otros sectores como la firmware, el cual está implementado en el lenguaje de
construcción, la industria nuclear, la medicina, la aeronáutica, programación ANSI C, por lo que algunos comportamientos
la agricultura, la telepresencia, la vigilancia y la seguridad en son heredados éste, y herramientas para desarrolladores con
donde es usada la robótica. La investigación en la robótica software abierto, junto con esquemas para todos los
móvil ha ido avanzando, en la actualidad se disponen de componentes de hardware. Esto convierte al ladrillo de Lego
sistemas formados con una gran cantidad de componentes NXT en un sistema de software abierto; aunque no se
conectados en red que sirven para el desarrollo de sistemas de comercializa con este fin. En este trabajo se presenta un
control distribuidos, donde las distintas funciones del control Sistema Supervisor (SS), basado en Sistemas MultiAgentes
(SMA), para el monitoreo y control del robot de Lego
Artículo recibido el 10 de Diciembre de 2014. Este artículo fue financiado Mindstorms NXT 2.0. El control supervisorio, que corresponde
por el CDCHTA-ULA proyecto No. I-1237-10-02-AA. a la función principal del SS, realiza tareas de monitoreo y
C.V. y A. R. están con la Universidad de Los Andes, Núcleo Universitario
“Pedro Rincón Gutiérrez”. La Hechicera. Facultad de Ingeniería, Escuela de control distribuido. El supervisor se construye a partir del
Ingeniería de Sistemas, Mérida, Estado Mérida, Venezuela, Teléfonos, +58- paradigma de SMA, cuyo diseño e implementación sigue la
274-2402981 / 2824, Fax: +58-274-2402979, E-mail: cguillermo@gmail.com, metodología MASINA (MultiAgent Systems for INtegrated
ilich@ula.ve.
F.H está con la Universidad de Los Andes, Núcleo Universitario “Pedro
Automation) [3-5], con el soporte de entorno EDISMA
Rincón Gutiérrez”. La Hechicera. Facultad de Ciencias, Departamento de (Entorno de Desarrollo Integrado para la Creación de Sistemas
Física, Mérida, Estado Mérida, Venezuela, Teléfono, +58-274-2401284 Fax: MultiAgentes) [5], [6]. El SS distribuido se ejecuta sobre un
+58-274-2401286, E-mail: hidrobo@ula.ve
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

Medio de Gestión de Servicios (MGS) [5], [7-9] con conceptos importantes: comunicación, cooperación y
capacidades de ejecución en tiempo real. coordinación. La comunicación se da en los SMA a través de
actos de habla (acto de comunicación entre dos o más agentes
II. SISTEMAS MULTIAGENTES en un momento dado), en el marco de una actividad colectiva
(de la comunidad de agentes) específica, para alcanzar un
A. Agente
objetivo global o individual. A ese grupo de actos de habla del
Los agentes son sistemas informáticos situados en un SMA que ocurre en la realización de una actividad dada, se le
entorno o ambiente, capaces de realizar acciones autónomas llama conversación y se han llegado a desarrollar lenguajes
dentro de ese entorno para alcanzar sus objetivos. Surgen específicos de descripción, entre los más conocidos
dentro del campo de la inteligencia artificial y, a partir de los Knowledge Interchange Format (KIF) [10] y Agent
trabajos desarrollados en el área de la inteligencia artificial Communication Language (ACL) [11]. La coordinación de
distribuida (DAI) se genera el paradigma de Sistemas acciones puede describirse como el conjunto de actividades
MultiAgentes (SMA) [5]. En la Fig. 1 se observa el esquema suplementarias necesarias a realizar en una comunidad de
básico de interacción de un agente. agentes para poder actuar colectivamente. La cooperación 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 coordinación y la cooperación, es
lograr una integración y un ajuste armonioso de los esfuerzos
de trabajo individual, en beneficio de una meta común. Hoy en
día existen una importante cantidad de implementaciones,
incluyendo propuestas en el área de supervisión, y propuestas
FIG. 1 Interacción de un agente de herramientas computacionales basadas en SMA para
soportar las actividades que van desde la formulación de
B. Inteligencia Artificial Distribuida y Sistemas MultiAgentes arquitecturas hasta la especificación de los sistemas listos para
La Inteligencia Artificial Distribuida (Distributed Artificial su implantación.
Intelligence) se concibe como la integración de dos campos de
conocimiento: la inteligencia artificial y los sistemas
C. Sistemas MultiAgentes para la Supervisión
distribuidos. A partir de esto, es entendida como el campo del
conocimiento que intenta construir entidades autónomas e Alcanzar los objetivos de supervisión en sistemas
inteligentes que se comunican por medio de mecanismos complejos y altamente automatizados es una tarea ardua que
basados en el envío y recepción de mensajes y cooperan para requiere de la incorporación de mecanismos que incorporen:
desarrollar un objetivo [5]. Se ha basado en tres áreas: los capacidades de aprendizaje, de acuerdo a la experiencia
Sistemas MultiAgentes (SMA), área en el cual se estudia el adquirida, capacidades adaptativas, según los cambios que
comportamiento de agentes inteligentes que resuelven surjan naturalmente de la dinámica propia de los procesos
problemas de forma cooperativa, la Inteligencia Artificial en internos y externos, autonomía en el proceso de la toma de
Paralelo (PAI = Parallel Artificial Intelligence), donde se decisiones y posibilidades de acceso al conocimiento e
busca el desarrollo de lenguajes y algoritmos paralelos para información distribuida. Los agentes inteligentes se presentan
sistemas concurrentes; y la Resolución Distribuida de como una alternativa para dotar a los sistemas de supervisión
Problemas (DPS = Distributed Problems Solving), en donde se de propiedades estructuralmente inteligentes y emergentes.
busca la división óptima de un problema para asignar las Las aplicaciones de agentes en la supervisión de procesos
partes a un conjunto de entidades independientes para que se diseñan a partir de los sistemas reactivos ya existentes, y a
hallen la solución. partir de allí se modelan los agentes para permitir la
Los SMA tienen como unidad funcional el agente y tienen comunicación entre dichos sistemas y la extracción de
que ver con el comportamiento de una colección de agentes información para ir creando su propio conocimiento. Con el
autónomos, tratando de resolver un problema dado, por lo cual fin de diseñar sistemas de supervisión concebidos desde sus
comparten conocimiento acerca del problema y sus inicios como sistemas inteligentes se han propuesto esquemas
soluciones. Un SMA está formado por un grupo de agentes para el desarrollo e implantación de SMA para la supervisión
que interactúan entre sí, utilizando protocolos y lenguajes de de procesos industriales, dotados de las capacidades propias de
comunicación de alto nivel, para resolver problemas que están los SMA, que permitan la operación segura y óptima en base a
más allá de las capacidades o del conocimiento de cada uno. los objetivos del control [5]. La Fig. 2 muestra la arquitectura
Algunas de las características de los SMA son: cada agente básica del SMA de supervisión propuesto para un entorno
tiene capacidad para solucionar parcialmente el problema, no multirobots.
hay un sistema global que los controla, los datos no están
centralizados, la computación es asíncrona [5]. Para la
integración de un conjunto de agentes se necesita de tres
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

encuentra distribuidos los principales elementos que lo


componen: plataformas, motores, ruedas, etc. [13]. Se trabaja
con un robot móvil que posee una configuración diferencial.
La configuración diferencial está formada por dos ruedas
colocadas en el eje perpendicular a la dirección 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
configuración 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 más de
tres apoyos en el robot es la pérdida de tracción y errores en
los cálculos de odometría.
FIG. 2 SMA para la Supervisión de robots móviles

D. Metodología de Especificación de Agentes


Para el desarrollo del trabajo, se ha usado la metodología
MultiAgent Systems for INtegrated Automation (MASINA)
[3], [4], [5], que ha surgido como una propuesta metodológica
para la especificación e implementación de sistemas basados
en agentes en ambientes de automatización industrial.

E. Entorno de Desarrollo Integrado para la creación de


Sistemas MultiAgentes
En el marco de un proyecto general, que incluye los
aspecto metodológicos y el soporte de operación de SMA, se FIG. 3 Esquema del Robot Diferencial
ha se ha implantado un Entorno de Desarrollo Integrado para
B. Robot NXT Seguidor de Trayectoria y Detector de
la creación de SMA, (EDISMA) [5], [6], el cual es un IDE que Obstáculos
permite crear agentes mediante una interfaz gráfica. EDISMA
está compuesto por un entorno gráfico, un editor de textos y La construcción de un robot que siga una trayectoria
un analizador de diagramas de UML creados con Umbrello. integra muchas áreas de las ciencias, permitiendo desarrollar
un conocimiento empírico sobre el control automático. A la
configuración del robot NXT seguidor de trayectorias y
F. Medio de Gestión de Servicios detector de obstáculos, bajo el paradigma de SMA, lo
Para poner en funcionamiento los SMA es necesario tener llamaremos SMABOT, su diseño básico, desde una vista
una plataforma básica que provea los servicios fundamentales superior, está representado en la Fig. 4.
para la operación de los agentes. Estos servicios, en los
sistemas distribuidos deben incluir: creación, nombramiento,
localización, comunicación, entre otros. De este modo, se
requiere de un Medio de Gestión de Servicio que permita la
operación 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 Gestión de Servicios
(MGS) descrito en [5], [7-9] que contiene el conjunto básico
de módulos de software que implementan las abstracciones
mínimas para la especificación, implementación y
manipulación de agentes en un ambiente computacional.

III. PROTOTIPO ROBOT NXT IMPLEMENTADO


FIG. 4 Características del SMABOT desde una vista superior
Los robots móviles se clasifican por el medio de
movilización y el tipo de locomoción utilizado [12]. Para ésta SMABOT es un robot de dirección diferencial, contiene
investigación se ha optado por usar un robot móvil con ruedas. 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
A. Configuración para el robot móvil con ruedas
directamente hacia abajo. Posee un sensor ultrasónico para
La configuración hace referencia a la forma en que se
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

detectar obstáculos y un bloque NXT el cual contiene los = cos (1)


microprocesadores [14]. El objetivo es conseguir que el robot = sin (2)
siga una trayectoria, de cualquier color, sobre una superficie = (3)
plana y al detectar un obstáculo se detenga, cuando se
remueva el obstáculo el robot continuará en la trayectoria. El Luego, en velocidades de control ( , )como se muestra en
robot móvil muestra todas las características de un robot real, las ecuación (4), (5), (6) en donde es el radio de las ruedas y
utiliza sensores para recopilar información sobre el mundo que la longitud de separación entre éstas. y son las
lo rodea y cambia su comportamiento en función de esa velocidades lineales en cada eje y es la velocidad angular.
información. El modelo matemático de la cinemática del sistema de
configuración diferencial se muestra en las siguientes
ecuaciones:
C. Modelo cinemático de un Robot Diferencial
Si se desea controlar el movimiento del robot se debe tener (4)
en cuenta la manera en que se mueven las ruedas, = ( + ) cos
2
específicamente las velocidades angulares con las que éstas = ( + ) sin (5)
rotan [15]. También es de importancia conocer su posición y 2
orientación, es decir, donde está el robot y hacia dónde se = ( − ) (6)
dirige. De este modo, el modelo que relaciona la posición y la
orientación de un robot móvil diferencial con las velocidades Las ecuaciones anteriores, indican la forma en que la
angulares se obtiene mediante un análisis cinemático, donde posición ( , ) y la orientación del robot ( ) cambian en el
se asume las siguientes condiciones: cada rueda es controlada tiempo. La dificultad que existe con el modelo es el uso de las
por un motor y existe un solo punto de contacto entre las velocidades angulares para diseñar el controlador. Por esta
ruedas y la superficie. El robot se mueve sobre una superficie razón el modelo de las ecuaciones (4), (5), (6), no es usado
plana, sin irregularidades de nivel y textura. Los ejes de comúnmente en el diseño, pero si en la implementación del
desplazamiento son perpendiculares a la superficie de trabajo. controlador. De esta forma, se hace el diseño del controlador
La estructura del robot es totalmente rígida, no se consideran con el modelo de las ecuaciones (1), (2), (3) y se implementara
en el diseño la existencia de partes flexibles. Los intervalos de usando el modelo de las ecuaciones (4), (5), (6).
tiempo de desplazamiento describirán trayectorias en arcos de
circunferencia. El sistema de control asumirá el
posicionamiento y orientación en su totalidad. D. Modelo odométrico de un Robot Diferencial
Siendo el estado del robot ( , , ), el cual representa la
posición y orientación del robot; la odometría es la manera
mediante la cual esa información puede ser estimada. Un
sensor interno, utilizado ampliamente en robótica móvil es el
sensor de rotación 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 información puede calcularse donde está el
robot. En relación a lo anterior, la odometría es la estimación
de la posición del robot a partir de las rotaciones de sus
ruedas. Entonces, se emplea un factor que convierte los pulsos
del encoder en una descomposición lineal de la rueda para
FIG. 5 Localización y recorrido del robot móvil sobre el plano poder calcular la velocidad o distancia de cada rueda. El factor
de conversión es determinado en la ecuación (7).
Dónde corresponde a la velocidad lineal del punto medio,
mientras que se refiere a la velocidad angular del punto 2 (7)
medio, a la velocidad angular de la rueda derecha, =
representa la velocidad angular de la rueda izquierda y por
Dónde corresponde al factor de conversión que convierte
último y que corresponde al radio de las ruedas y la
los pulsos del encoder una descomposición lineal de la rueda,
longitud de separación entre las ruedas respectivamente.
mientras que se refiere al radio nominal de la rueda en
milímetros (mm), es la resolución del encoder en pulsos de
En la Fig. 5 se muestra el modelo del robot móvil de
configuración diferencial, en el cual las variables de control revolución y finalmente es la relación de engranajes.
son las velocidades del robot (velocidad angular y velocidad
Suponiendo que a intervalos de muestreo i, cada rueda está
lineal ). El modelo cinemático de un robot móvil diferencial
siguiendo un arco (Fig. 6), que significa que está girando a un
puede expresarse en términos de las variables de control
ritmo constante, y en escalas de tiempo corto esto es válido,
( , ) como se observa en las ecuaciones (1), (2) y (3)
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

entonces, los encoders de la rueda izquierda y derecha encuentre inicialmente sobre la trayectoria o en un punto de
muestran un incremento de pulsos, ! del encoder de la rueda referencia cercano a ella. Para lograr el seguimiento de la
derecha y " de la rueda izquierda, se puede calcular el trayectoria se propone una estrategia de control basada en un
incremento de la distancia recorrida por la rueda izquierda ∆!" regulador PI (Proporcional-Integral). Para realizar el diseño
y ∆!! derecha como se indica en la ecuación (8). del controlador se usa las ecuaciones (1), (2), (3), si la
velocidad lineal es mantenida como constante, se desea
controlar la dirección del robot, es decir, hacia donde gira. Por
lo tanto, la ecuación (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 BÁSICAS DEL SISTEMA SUPERVISOR

En esta sección se detallan las pruebas básicas realizadas


para obtener un supervisor del seguimiento del robot. En
particular, se comprueban los esquemas de comunicación, el
FIG. 6 Descripción geométrica del recorrido en arco del robot funcionamiento de la interfaz gráfica y la efectividad del
móvil diferencial en un momento dado algoritmo de control.
A. Protocolo de Comunicación entre el Robot y el
∆ = (8) Computador
"/! "/!
En esta prueba se desarrolla todo lo relativo la
El incremento lineal de la distancia recorrida por el centro comunicación entre el robot y el computador. El bloque NXT
del robot denotado como ∆ se calcula por medio de la que contiene los microprocesadores puede ser controlado a
ecuación (9). través de bluetooth, por medio del perfil de puerto serie (SPP).
∆ !+∆ " (9) El protocolo de comunicación llamado NXT Direct Commands
∆ =( ) [16] o protocolo de comunicación (LCP). Se utiliza para el
2
control de NXT desde un dispositivo remoto. La
Así, se obtiene el incremento en el cambio de orientación comunicación entre el computador con el SMABOT se realiza
en la ecuación (10). mediante el envío de telegramas o mensajes; éstos contienen
∆ !−∆ " (10) un comando y sus parámetros, listo para ser enviado al NXT,
∆ =( )
para ejecución inmediata.

Dónde es la distancia entre los dos puntos de contacto de El firmware que lleva el NXT permite acceder a su
las ruedas con el piso. La nueva orientación relativa del protocolo de comunicación escribiendo o leyendo información
robot móvil puede ser calculada con la ecuación (11). directamente mediante el envío de telegramas. Se ha creado
= %& + ∆ (11) una biblioteca en lenguaje C para el control del SMABOT.
Según las especificaciones del protocolo bluetooth para el
De este modo, la posición( , ) relativa del punto central NXT, existe un retardo en el rango de (10,30) milisegundos.
del robot a la que se quería llegar queda expresada como las De esta manera, en el lazo de adquisición de datos se debe
ecuaciones (12) y (13). tomar en cuenta tal retardo, puesto que éste representa un
= %& + ∆ cos (12) límite inferior para el tiempo de interrogación; si se intenta
= %& + ∆ sin (13) interrogar a mayor velocidad se obtiene datos erróneos o
existe perdida de información. Para mejorar el retardo que es
Dónde: y es la posición relativa del punto central del causado por el cambio de modo de comunicación se ha
robot en un instante i. añadido la posibilidad de enviar comandos directos sin
necesidad de respuesta, es decir, no se asegura que lo que se
E. Algoritmo de Control envíe al NXT sea procesado. Con esto se evita el cambio de
El objetivo de aplicar una ley de control al robot móvil es modo de transmisión y el retardo de hasta 30 ms se puede
hacer el seguimiento exacto o asintótico de una trayectoria evitar. Para poder enviar los telegramas o mensajes, el robot
preestablecida sobre el plano XY. Este seguimiento lo debe debe estar conectado con la computadora mediante la
realizar con un punto guía fijo, definido y localizado en la tecnología inalámbrica Bluetooth [17]. Primero se realiza el
plataforma del robot móvil. Hay que diseñar un control que emparejamiento bluetooth del robot SMABOT con el
permita llevar las variables de estado ( , , ) al valor computador, haciendo uso de la biblioteca Bluez-utils, usando
deseado ( , , ), bajo la condición de que el robot se los comandos que provee dicha biblioteca.
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

esto lo realiza mediante el sensor de luz, estos valores son


tomados por el control como referencia para enviarle las
B. Diseño de la interfaz del usuario
potencias a cada motor. Realizando varias pruebas locales se
Se ha desarrollado una interfaz en QT (Versión 5) [18], la obtienen trayectorias como las mostradas en la Fig. 9.
cual permite observar la posición del robot y la trayectoria
seguida. Como muestra la Fig. 7, la interfaz del Supervisor La interfaz permite guardar los datos en un archivo
está conformada por los siguientes elementos. llamado data.txt. Dichos datos pueden ser graficados
• Área 1: Es el área principal y es la que permite posteriormente con otra herramienta.
visualizar la posición estimada del robot.
• Área 2: Permite visualizar si el robot encuentra un
obstáculo. El color verde significa que no hay un
obstáculo en la trayectoria, y el color rojo indica que
se detectó un obstáculo a una distancia inferior a 15
cm; para esto se usa el sensor ultrasónico.
• Área 3: En esta área se encuentran los botones que
permiten iniciar y detener el robot. Al presionar el
botón de inicio, se envía una señal para conectar el
robot e iniciar el algoritmo o programa de recorrido
en el robot NXT.

FIG 9 Prueba Local con el control desde el computador

FIG. 7 Interfaz utilizada para la Supervisión del Robot NXT

C. Prueba Local con el control desde el computador


FIG 10 Gráfica de la Trayectoria para Prueba Local con el control
desde el computador

Observando los resultados, en la trayectoria de la Fig. 10


se presenta pequeños saltos (zig-zags). Este error de
posicionamiento se debe principalmente al retardo en el envío
de la señal de control, el computador recibe la señal de los
encoders y del sensor de luz, y luego envía las potencias a los
motores. Debido a los resultados presentados anteriormente, se
ha colocado el control del robot móvil en el microprocesador
FIG. 8 Prueba Local con el control desde el computador 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.
Para realizar la prueba local, se ha implementado el control
desde el computador como se muestra en la Fig. 8, es decir, las
señales 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
botón de inicio (Iniciar) de la interfaz en su primera versión, el
robot debe haber sido enlazado al computador vía bluetooth.
Una vez conectado, se envían los telegramas. Inicialmente el
robot aprende el color de la línea de la trayectoria a seguir,
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

D. Prueba local con el control en el Microprocesador NXT En la Fig. 13 el robot finalizó la trayectoria 1, el punto de
del Robot SMABOT color “rojo” dentro del círculo indica la posición 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 códigos generados por EDISMA
y completados para agregarles las tareas del robot.
A. Prueba en un único computador
FIG 11 Prueba local con el control en el Microprocesador NXT En esta fase de prueba se utiliza un solo computador para
probar el funcionamiento de la interfaz gráfica de QT
La Fig. 11 muestra el esquema de la prueba. Para poder integrada con las tareas de los agentes como se muestra en la
ejecutar esta prueba el algoritmo de control es implementado Figura 14. El Agente Supervisor (AS) pone en funcionamiento
usando el BricxCC [19], Bricx Command Center es un dicha interfaz y a su vez crea al Agente Control (AC) y al
conocido IDE que soporta programación del NXT con C, Agente Robot (AR). El AC se encarga de parar el robot en
C++, Pascal, Forth, y Java utilizando brickOS, pbForth y caso de detectar un obstáculo.
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
código 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 acción cuando el robot encuentra un
obstáculo; la interfaz muestra un cambio de color en la región
de detección de obstáculos.

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 ejecución
en el nodo, y que la configuración es correcta, para esto se
debe seguir los pasos del manual de instalación y pruebas del
MGS [49].

FIG, 12 Control Local Trayectoria 1. Detección de obstáculo La Fig. 15 muestra el escenario de ejecución de la prueba y
los resultados que va mostrando la interfaz.

FIG. 13 Control Local Trayectoria 1. Fase Final


FIG. 15 Prueba Integrada del SS en el mundo de agentes.
6TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (VI CIBELEC 2015)

B. Prueba Distribuida del Supervisor basado en SMA eventos. Se desarrolló una interfaz en Qt que permite
visualizar la trayectoria seguida por el robot y permite la
activación de consignas de alarma en caso de detección de
situaciones inesperadas (fallas y obstáculos).

REFERENCIAS BIBLIOGRÁFICAS
[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
Metodología para el Modelado de Sistemas de Ingeniería Orientado a
Agentes. Revista Iberoamericana de Inteligencia Artificial, Volumen 12,
Número 38, PP: 39–60, 2008.
[4] J. Aguilar, F. Hidrobo, and M. Cerrada. A Methodology to Specify
Multiagent Systems. Lecture Notes in Artificial Intelligence, 4496:92–
101, 2007.
[5] J. Aguilar, A. Ríos, F. Hidrobo, M. Cerrada. Sistemas MultiAgentes y sus
Aplicaciones en Automatización Industrial. Universidad de los Andes,
2013.
[6] Paola S. Rivero P. EDISMA: Entorno de Desarrollo Integrado para la
creación de Sistemas MultiAgentes. Tesis de Maestría. Universidad de
Los Andes, Postgrado en Computación, 2013.
[7] J. Aguilar, M Cerrada, A. Ríos, and F. Hidrobo. Diseño y Construcción de
una Plataforma para el Desarrollo e Implantación de Sistemas
FIG. 16 Esquema de la Prueba Distribuida del Supervisor SMA Multiagentes. Reporte Técnico, Universidad de Los Andes, CDCHT,
2010.
[8] V. Bravo, J. Aguilar, F. Rivas, y M. Cerrada. Diseño de un Medio de
Finalmente, una vez comprobado el funcionamiento de la Gestión de Servicios para Sistemas Multiagentes. In XXX Conferencia
interfaz y su integración con los agentes del SMA, se usan tres Latinoamericana de Informática, PP 431–439, Arequipa, Perú, Octubre
computadores como se muestra en la Fig. 16. 2004.
[9] H. Morillo. Reporte de instalación y pruebas del Medio de Gestión de
Cada computador es un nodo de la plataforma que presta Servicios. Informe Técnico, Universidad de Los Andes, Venezuela, Junio
servicio de procesamiento al SMA y en cada uno de ellos 2012.
debería estar en ejecución una instancia del MGS, siguiendo [10] KSL Stanford University. Knowledge Interchange Format (KIF).
[11] The Foundation for Intelligent Physical Agents (FIPA). Agent
las indicaciones de configuración y ejecución del MGS. La Communication Language Specifications.
prueba se distribuye de la siguiente manera: [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.
• Equipo A: Agente Robot. [13] A. Banó. Análisis y Diseño del Control de Posición de un Robot Móvil
• Equipo B: Agente Supervisor. con Tracción Diferencial. Universidad Rovira I Virgili. Tarragona, 2003.
• Equipo C: Agente Control. [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.
En este caso se obtienen los mismos resultados que para Springer Verlag, 1996.
prueba local, logrando una integración satisfactoria. Con lo [16] The LEGO Group. Lego Mindstorms NXT Direct Commands. 2006.
cual el SS basado en SMA cumple con los requisitos [17] Lawrence Harte, Introduction to Bluetooth, Althos, 2 Edition. 2009.
establecidos. [18] Qt 5. Ejemplos Qt y Tutoriales — qtdoc 5.3.
[19] John Hansen. Bricx Command Center.
[20] John Hansen. NXC Guide

VI. CONCLUSIONES
Se implantó un supervisor basado en SMA que permite el
control supervisorio distribuido para una comunidad de
agentes robóticos, donde cada robot es considerado como un
agente. Para la especificación del supervisor se utiliza la
metodología MASINA con la cual se logró modelar el robot
móvil como un agente. De igual forma, se logró modelar los
agentes para las tareas de supervisión: Agente Supervisor y
Agente Control. El Supervisor se implantó utilizando el
entorno de desarrollo EDISMA, el cual generó un código base
de la estructura de los agentes del SMA y algunos aspectos de
comunicación y coordinación. Se realizaron las pruebas
ejecutando el SS sobre la plataforma del MGS, el cual provee
una biblioteca con facilidades de programación y de alta
abstracción para el intercambio de mensajes entre agentes en
de tiempo real, y el manejo de operaciones basadas en

You might also like