Você está na página 1de 8

REAL-TIME WORKSHOP EN LA INVESTIGACIN : IMPLEMENTACIN DE DIVERSOS CONTROLADORES SOBRE UN SISTEMA SISO NO LINEAL Y SOBRE UN ROBOT MVIL CON VISIN

ARTIFICIAL.

A. Oller , C. Pous , S. Esteva , J. Ll. de la Rosa


Grupo de Ingenieria de Sistemas y Automtica. Departamento de Electrnica, Informtica y Automtica Universitat de Girona E-mail : oller@ei.udg.es

Resumen En este artculo se muestra el trabajo que se est realizando en nuestra universidad en relacin a Real-Time Workshop. Con el objetivo de disponer de un entorno que permita completar el proceso de anlisis, diseo y implementacin, se han desarrollado drivers especficos para tarjetas de adquisicin de datos as como para permitir el acceso al puerto de comunicacin serie del ordenador. Con este entorno se han desarrollado diversas implementaciones orientadas a la investigacin y que se ejecutan sobre arquitecturas PC bajo MS-DOS. En concreto se van a mencionar los resultados obtenidos en un sistema SISO no lineal y en un robot mvil con visin artificial. En este ltimo, los problemas asociados a la falta de monitorizacin en tiempo real han dificultado el anlisis posterior de los datos. Debido a que la propia naturaleza del sistema no necesita de un anlisis posterior exhaustivo, el proceso final de implementacin ha pasado por un paso previo de reajuste de algunos parmetros, tarea que Real-Time Workshop ha facilitado enormemente. Finalmente, se explicar como se ha utilizado el compilador Microsoft C para realizar cdigo ejecutable con el fin de salvar problemas asociados con la portabilidad de libreras suministradas por otros productos comerciales.

1. INTRODUCCIN La aparicin en el mercado de Real-Time Workshop supone un gran ahorro de tiempo y facilita el proceso de implementacin de controladores on-line o en tiempo real ya que la fuerte componente de programacin desaparece casi por completo. La utilidad de MATLABSIMULINK como herramienta CASD (Computer Aided Systems Design ) posibilita la ejecucin de todo el proceso de desarrollo de controladores siguiendo los pasos de anlisis, diseo y implementacin .
SIMULACIN
ANALISIS

DISEO

IMPLEMENTACIN

SISTEMA REAL

Figura 1

La capacidad del Real-Time Workshop de generar cdigo ejecutable para MS-DOS ha posibilitado la implementacin real de diversos algoritmos de control sobre un mismo proceso con el fin de comparar tanto las diferencias entre controladores como las prestaciones del mismo Real-Time Workshop. En este trabajo se mencionarn los resultados obtenidos en relacin al desarrollo de nuevos drivers as como las posibilidades de realizar cdigo ejecutable con el compilador Microsoft C (ver. 4.0) [1].
1.1. Sistema SISO No Lineal

Este sistema consta de un motor elctrico CC, de dos hlices y de una lmina rgida rectangular sujeta a un eje transversal al flujo de aire (vase Figura 2). La velocidad del motor se regula mediante una seal analgica y para la lectura del ngulo de oscilacin se dispone de un potencimetro multivuelta cuya seal se amplifica adecuadamente de forma que el margen [0, 10] Voltios se corresponda al intervalo de oscilacin [0, /2] radianes.

Figura 2 : Maqueta del sistema SISO no lineal En este sistema se han realizado diversos ensayos de modelado mediante la conexin directa de SIMULINK a una tarjeta de adquisicin de datos. Con el objetivo de situar el ngulo a la consigna deseada, se han puesto a prueba diversos controladores : PID analgico y discreto, control borroso y control por redes neuronales. Posteriormente se han creado los correspondientes ficheros ejecutables para testear las prestaciones del control on-line y en tiempo real segn los casos.

1.2. Robot Mvil Este sistema consiste en un robot mvil de laboratorio [2] que utiliza dos bandas rugosas como sistema de traccin con dos motores elctricos de velocidad regulable mediante el suministro de una seal de control. El robot tiene como fin perseguir a un objeto de un color concreto mantenindose a una distancia de 2 metros. Para ello dispone de una cmara RGB y, con la ayuda de un video-procesador especializado [3], calcula en tiempo real la posicin de dicho objeto relativa al centro de la imagen. El algoritmo de control y la generacin de las seales de control se realizan en un PC instalado en el mismo robot de forma que es completamente autnomo (vase Figura 3).

Figura 3 : Fotografa del robot mvil ROGER

1.3. Desarrollo de herramientas especficas Estos dos sistemas han sido desarrollados sobre arquitectura PC por lo que ha sido necesario usar una tarjeta de adquisicin de datos y, para el robot mvil, otras dos para el procesamiento de la seal de vdeo. Las especificaciones de dichas tarjetas han determinado los requerimientos hardware a partir de los cuales se ha ido desarrollando el trabajo posterior. Tarjeta de adquisicin de datos : En ambos casos se ha utilizado la tarjeta DAS-20 de Keythley-METRABYTE [4] y se ha creado una biblioteca de bloques con los drivers necesarios para un funcionamiento correcto tanto en analgico como en digital (vase Figura 4) :

CIO-DAS20
Computer Boards CIO-DAS16

CIO-DAS20 DAC

Data Translation DT2811

ADC

Analog Input

Analog Output

CIO-DAS20

CIO-DAS20

Digital Input

Digital Output

Figura 4. Biblioteca de bloques Simulink asociada a diferentes elementos hardware. Vanse por ejemplo los bloques asociados a la tarjeta DAS-20 Procesamiento de las imgenes : Este proceso pasa por una primera fase en la cual la imagen proporcionada por la cmara se filtra mediante el video-procesador de acuerdo a una configuracin de colores previamente especificada. El tratamiento posterior de dicha seal se realiza por programa usando la tarjeta PIP VIDEO

DIGITIZER de MATROX [5] que permite al ordenador realizar operaciones de digitalizacin mediante las funciones incluidas en las libreras run-time. En las secciones posteriores se explicar como se ha realizado todo el proceso de creacin de los distintos controladores y se mostrarn algunos de los resultados obtenidos.

2. ANLISIS Y DISEO : SIMULACIN La diferente complejidad de los dos procesos ha marcado una gran diferencia en las respectivas etapas de simulacin de forma que los trabajos desarrollados hasta ahora siguen lneas claramente diferenciadas.

2.1. Sistema SISO no lineal Se ha elaborado un modelo analtico basado en las ecuaciones fsicas que rigen su dinmica teniendo en cuenta diversas aproximaciones relacionadas tanto a la dinmica del aire como de las hlices. Dicho modelo debe linealizarse para un punto de trabajo determinado de forma que el diseo de un regulador PID ser vlido slo para un margen alrededor de dicho punto.
5 Consigna CIO-DAS20 ADC ADC f(u) Adecuacin de la seal

+ Sum

Mux Mux FLC 10 Constante

Mux Mux

CIO-DAS20 DAC DAC

Real-time Clock

Figura 5. Esquema de control con lgica borrosa La simplicidad tcnica de este sistema ha permitido conectarlo on-line con el entorno SIMULINK de forma que la comprobacin de la robustez de los algoritmos de control ha sido muy rpida. Dicha comprobacin se ha realizado sincronizando el tiempo de simulacin con el reloj interno del PC (usando el bloque Real-time Clock. Ver Figura 5) de forma que se han visto los problemas asociados al tiempo de muestreo que surgen en los controladores en tiempo real. El regulador PID ha necesitado de un diseo laborioso ya que se ha basado en un modelo aproximado y ha sido la base a partir de la cual se han elegido las situaciones (patterns) con las que se han entrenado diversas redes neuronales (Figura 6.A). Finalmente, para el diseo del controlador borroso, se ha utilizado la utilidad ANFIS a partir de los datos obtenidos con la mejor de las redes neuronales. En la Figura 6.B se muestra los resultados obtenidos con dicho controlador en modo ON-LINE y en tiempo real (con la inclusin del bloque Real-time Clock) :

(A) Control con redes neuronales

(B) Control difuso

60

60

45

45

30

30

ON-LINE

0 0 100 200 300 400 500 600

0 0 200 400 600

Real-time Clock 800 1000

Figura 6. Evolucin del ngulo para una consigna de 45 con tiempo de muestreo de 0.25seg.

2.2. Robot mvil Se ha construido un modelo que reproduce el comportamiento cinemtico a partir de la dinmica de los motores y se ha desarrollado un entorno de simulacin que permite visualizar el movimiento del robot o ver un esquema de la imagen captada por la cmara. En este entorno puede modificarse la velocidad del objeto a perseguir, pueden seleccionarse tres tipos de trayectorias (Figura 7) y se ha animado la simulacin con la ToolBox ANSIM para visualizar una aproximacin de la imagen de la cmara. Una vez definido el modelo se han diseado diversos tipos de controladores y la modularidad del entorno SIMULINK ha permitido cambiar de controlador de forma sencilla (Figura 8). Para el control se han usado como variables de entrada las coordenadas del objeto a seguir relativas al centro de la imagen y como seales de control los voltajes de control aplicados a cada motor.
Y Axis 10 X Y Plot

Y Axis 10 5 0 -5 -10 -10

X Y Plot
10

Y Axis

X Y Plot

-5

-5

-10 -10

-5

0 X Axis

10

-5

0 X Axis

10

-10 -10

-5

0 X Axis

10

Figura 7. Trayectorias disponibles en el entorno de simulacin Se ha diseado un controlador con lgica borrosa basado en el hecho que la imagen de la cmara puede cuadricularse en diversas zonas donde la accin de los motores es sensiblemente diferente. Posteriormente se ha diseado una red neuronal entrenndola a partir del resultado obtenido en la simulacin del controlador borroso.

De acuerdo a la lnea de investigacin de nuestro grupo, tambin se ha diseado un controlador basado en razonamiento cualitativo [6][7]. El algoritmo para control

cualitativo est diseado para un tiempo de muestreo de 1 segundo por lo que la ejecucin en tiempo real es de suma importancia.

Clock XY-target x Trajectory y Relative Distance Relative Orientation CONV x cam y cam Camera Controller XYCAMERA v_left v_right XY-Roger ROGER Dynamics X Y

Figura 8. Diagrama SIMULINK para la simulacin del robot mvil En esta etapa de simulacin se han obtenido resultados satisfactorios de forma que el paso a la fase de implementacin se ha reducido a cambiar ligeramente los parmetros de control y generar de nuevo el cdigo ejecutable. Para el control borroso solamente ha sido necesario cambiar los parmetros en los ficheros FIS de forma que la nueva generacin de cdigo ejecutable no ha sido necesaria. Sin embargo, en los dems controladores dicho cambio de parmetros ha necesitado de nueva generacin de cdigo ejecutable por lo que el proceso de implementacin ha sido ms laborioso.

3. PROCESO DE IMPLEMENTACIN EN EL ROBOT MVIL A partir de los ficheros template que indican como debe obtenerse el cdigo ejecutable para DOS con Watcom [8], se han trasladado las opciones de compilacin al compilador de Microsoft [1] . Este cambio de compilador se ha debido a que las libreras de gestin de la tarjeta de vdeo no son portables a Watcom e introducen errores en el proceso de link. Respecto tanto al control con red neuronal como al cualitativo, el proceso de implementacin ha pasado por diversos pasos : generacin de cdigo C con la opcin Generate Code , inclusin manual de funciones de acceso a la tarjeta de vdeo y, finalmente, proceso de compilacin y link. En relacin al control borroso, la generacin de cdigo ejecutable ha sido muy diferente a causa de la imposibilidad de compilarlo correctamente. Para ello, se ha implementado usando el programa que Mathworks suministra para la ejecucin standalone, ligeramente modificado para incluir tanto el acceso a la tarjeta de adquisicin de datos como a la de vdeo. A continuacin se muestra la lnea de rdenes correspondiente a la generacin de cdigo ejecutable para Non-real time con el compilador de Microsoft : C:> cl /c /AL /Zp /Ot /DNRT /DTSTART=0.0 /DTFINAL=9999 /DMAXSTEP=1 /DMINSTEP=0.01 /DTOLERANCE=1e-2 simulink_control_block.c

C:> link /M /ST:8192 ( * ) nrt_main+nrt_sim+simstruc+nrt_rk45+simulink_control_block+...,,,user_lib; ( * ) -> La opcin Stack Size debe usarse para controladores que usen gran cantidad de datos. Dichas opciones de compilacin son vlidas para un PC 386 con coprocesador con 2Mb de RAM. Los posibles problemas relacionados a las vibraciones del robot a causa del movimiento han desaconsejado el uso de un disco duro por lo que la ejecucin del cdigo ejecutable se realiza desde disquetera. La variacin de los parmetros de compilacin permite variar el tiempo de respuesta y permite comparar el comportamiento de los diferentes controladores una vez ajustados los tiempos de respuesta. La posibilidad de generacin de cdigo ejecutable que ofrece Real-time Workshop permite comprobar el buen funcionamiento de dichos controladores y confirma su utilidad como herramienta de trabajo en trabajos de investigacin, tal y como se mostr en Budapest[6].

4. TRABAJO FUTURO En la misma lnea de desarrollo de drivers especficos, se ha desarrollado otro conjunto de bloques para permitir el acceso al puerto de comunicacin serie del ordenador (para modo half-dplex y full-dplex) con el fin de comunicar diversos entornos MATLABSIMULINK o comunicar el ordenador a sensores y displays externos de medida. Con esta lnea se quiere potenciar la conectividad del entorno MATLAB-SIMULINK a procesos reales complejos y buscar las posibilidades en teleoperacin as como de monitorizacin en tiempo real. Asimismo, la posibilidad de conexin a sistemas reales puede enfocarse hacia problemas de identificacin on-line de sistemas o a la abstraccin de caractersticas cualitativas de las seales para supervisin.

5. AGRADECIMIENTOS La implementacin real sobre el robot mvil ha sido posible gracias a la colaboracin y al soporte tcnico del grupo de Visin de la Universitat de Girona. Este trabajo se financia con el proyecto CICYT n TAP96- 1114-C03-03 Plataformas integradas CAD de supervisin y metodologas. 6. REFERENCIAS [1] Microsoft C Reference, version 6.0. Microsoft Corporation [2] El robot mvil de laboratorio responde a las siglas ROGER, acrnimo cataln de "Robot Operacional Genrico de Experimentacin y Investigacin".

[3] El video-procesador especializado y el software ha sido desarrollado por el Grupo de Visin de la Universitat de Girona. [4] DAS-20 de Keithley-Metrabyte. User Guide for the DAS-20 A/D & D/A Data Acquisition Boards. Keithley Instruments, Inc. Data Acquisition Division. [5] PIP VIDEO DIGITIZER es un producto comercial suministrado por MATROX Electronic Systems Limited. [6] Ll de la Rosa, J. Batlle, A. Oller, S. Esteva, J. A. Ramn, J. Melndez, J. Colomer, J. Veh, Conferencia invitada en el symposium QUALITATIVE SYSTEM MODELLING, QUALITATIVE FAULT DIAGNOSIS and FUZZY LOGIC CONTROL celebrado en Budapest bajo el ttulo "A Comparison of Fuzzy, Neural Networks and Qualitative Control Techniques applied to a mobile robot". [7] N.Agell, J.C. Aguado, and N. Piera, 1995, "A Qualitative Mobil Tracking", Current Trends in Qualitative Reasoning and Applications, Monografa CIMNE N 22,pp. 102107. [8] WATCOM C/C++ version 10.5. Watcom International Corp.and others.

Nota de los autores Este trabajo ha sido presentado parcialment como parte del curso El ordenador en el control de procesos industriales correspondiente a la Universidad de verano de la Universitat Rovira i Virgili de Tarragona bajo el epgrafe Ejemplos con el Real-Time Workshop de MATLAB.

Você também pode gostar