Sie sind auf Seite 1von 6

LABCONROB: LABORATORIO REMOTO DE CONTROL EN TIEMPO REAL DE SISTEMAS ROBOTIZADOS

A. Valera, M. Valls, J. Tornero Dpto. Ingeniera de Sistemas y Automtica Universidad Politcnica de Valencia Camino de Vera 14, 46022 Valencia (Spain) E-mail: giuprog@isa.upv.es, mvalles@isa.upv.es, jtornero@isa.upv.es

Resumen
El artculo presenta el desarrollo de un laboratorio remoto para el anlisis y la implementacin de controladores de sistemas robotizados. Con el entorno propuesto se puede primero simular la respuesta de cualquier sistema robotizado, utilizando para ello una serie de controladores no lineales agrupados en cuatro categoras. Una vez simulados y analizados, podemos obtener automticamente un programa ejecutable con la implementacin del controlador. La plataforma desarrollada presenta como ventajas ms importantes la simplicidad y la interactividad que se obtiene para la simulacin y generacin de controladores ya que al estar basado en el entorno Matlab/Simulink hereda todas sus caractersticas. Palabras Clave: Control de robots, Prototipado rpido, Sistemas de tiempo real, Control no lineal, Robots manipuladores sobre todo con tareas relacionadas con el control de estos sistemas o con la coordinacin de estos y otras mquinas y/o sistemas ya que son cuestiones complejas [6]. Por ello por lo que los ingenieros de control deben tener herramientas adecuadas que le permitan comprender y resolver cualquier cuestin relacionada con los sistemas robotizados en general y su control en particular. Por otra parte, cuando se intenta abordar el control de los sistemas robotizados nos solemos encontrar con problemas con la unidad de control de dichos dispositivos, ya que estos suelen ser sistemas completamente cerrados, resultando generalmente casi imposible modificar la estrategia de control, cambiar los parmetros del algoritmo de control, establecer de forma cmoda y fcil la sincronizacin entre distintos robots, utilizar sensorizacin externa etc. El artculo describe el desarrollo de un laboratorio remoto para el desarrollo, la simulacin, el anlisis y la implementacin de controladores de sistemas robotizados. En el laboratorio remoto disponemos de una librera de controladores no lineales desarrollada en el entorno de Matlab/Simulink. La librera proporciona ms de 25 controladores distintos agrupados en cuatro clases de controladores: basados en la pasividad, en la dinmica inversa, los controladores adaptativos y los controladores-observadores. Una vez que el controlador ha sido simulado y analizado, se puede obtener el cdigo para establecer el control en tiempo real del sistema robotizado. Para ello se utiliza la Real-Time Workshop (RTW), una extensin de Matlab.

INTRODUCCIN

En nuestros das, los robots industriales se utilizan en cualquier etapa de fabricacin industrial, lo que supone un incremento tanto la productividad como la calidad de los productos elaborados. Adems, en un futuro cercano veremos la utilizacin de los sistemas robotizados tanto en aplicaciones y servicios domsticos de nuestra vida cotidiana. A la hora de trabajar con aplicaciones relacionadas con los sistemas robotizados solemos encontrarnos con muchos problemas,

Con esta herramienta se puede obtener el cdigo directamente a partir de los modelos Simulink que puede ejecutarse en una gran variedad de entornos. El uso de la generacin automtica de cdigo a partir de esquemas editados grficamente permite una fcil implementacin de cualquier estrategia de control para sistemas robotizados. Adems, la utilizacin de computador en la unidad de control permite la conexin directa con la estructura de datos del control, lo que facilita enormemente las tareas de evaluacin y sintonizacin de las distintas estrategias de control. El laboratorio remoto se complementa con un sistema robotizado industrial. El robot, que se muestra en la figura 1, tiene tres ejes: X-Y-Z con unos recorridos aproximados de 2.5, 1.5 y 1 metros respectivamente. De esta forma los alumnos despus de simular los esquemas de control, pueden generar automticamente un programa que se ejecutar en el robot, lo que les permite validar los resultados obtenidos en las simulaciones.

Convertidor D/A Algoritmo Control

Etapa de Amplificacin

Motores C.C.

Convertidor A/D

Potencimetros

Tarjeta de Encoders

Encoder s

PC

Armario de Control

Robot Porticado

Figura 2: Arquitectura de control del robot

ESTRATEGIAS DE CONTROL DE ROBOTS

En los ltimos aos ha cobrado una gran importancia la metodologa de los controladores de sistemas robotizados. As podemos encontrarnos estrategias de control basadas en la pasividad, que afrontan el problema del control de robots explotando la estructura fsica del sistema, especialmente la propiedad de la pasividad (de ah su nombre). La idea de esta filosofa de diseo de controladores es modificar o modelar la energa natural del sistema robot de forma que se alcance el objetivo de control [3]. En el problema de control punto a punto (o regulacin), los controladores basados en la pasividad se pueden ver como casos particulares de la siguiente ley de control general,

e = K p e K d v u
Figura 1: Robot porticado del laboratorio remoto El robot tiene un armario de control, donde se encuentran los variadores y las distintas etapas de potencia que se encargan de alimentar a los motores de corriente continua que generan el movimiento de los tres ejes. Adems, a este armario llegan las distintas seales del robot; tal como las seales de las tacos-dinamos (que nos dan una medida de la velocidad de giro de cada eje), las seales de los encoders (las seales A, B y paso por cero) que nos indican la posicin actual de cada elemento, as como un conjunto de seales digitales utilizadas para la deteccin de los finales de carrera, activacin de la herramienta del elemento terminal etc. Para establecer el control se ha utilizado un computador personal, as como una serie de tarjetas de entrada/salida, tal como se muestra de forma reducida en la figura 2.

(1)

donde e es el error entre la posicin actual y la deseada del robot. Otro tipo de controladores son los basados en la dinmica inversa (o controladores por par calculado) se pueden incluir en los problemas de linealizacin por realimentacin. Un sistema es linealizable por la realimentacin (los sistemas robotizados rgidos tienen esta propiedad) si existe una transformacin del espacio de estados y una realimentacin regular del estado que transforma el sistema no lineal en uno lineal [4]. La expresin general de estos controladores es la siguiente:

= M ( q, )v + C ( q, q, ) q + G ( q, ) (2)

Esta expresin tiene una cancelacin de la dinmica del robot, tanto en el caso del controlador punto a punto como en el caso de los controladores de seguimiento de trayectoria

Adems, en este ltimo caso tambin se le puede aadir una accin integral para evitar los problemas con los errores del modelo etc. Para la implementacin de los controladores mostrados anteriormente se necesita un conocimiento exacto del sistema. En la prctica generalmente hay incertidumbres en el modelo del robot (como la masa de la carga, las fuerzas de friccin etc.), de forma que estas incertidumbres limitan la aplicacin de los controladores. As, para relajar la necesidad de tener un conocimiento exacto del modelo del robot se puede usar los controladores adaptativos. Con la solucin del control adaptativo se puede disear un controlador que se adapte a las incertidumbres de forma que se cumplan las especificaciones de control. Los controladores adaptativos estudiados tienen la siguiente expresin:
= M 0 (u )a + C 0 (u , v)v1 + G 0 (u ) + Y (u , v, w, x )
K p e K d v 2 K f e s1
2

controlador que se desea simular. Despus de copiar los bloques necesarios en el nuevo esquema se deben realizar las conexiones apropiadas entre el controlador y el robot, fijando por ltimo los parmetros del modelo (como los tiempos de start y stop de simulacin, matrices de ganancia de los controladores no lineales etc.) [5]. Para facilitar su uso, en la librera tambin se ha proporcionado un modelo general de robot. Este modelo se compone bsicamente de tres Matlab functions: gravedad.m, coriolis.m e inercia.m. Estas tres funciones sern las encargadas de, con lenguaje Matlab, implementar el modelo dinmico general de un sistema robotizado de n grados de libertad:

 + C ( q, q  , ) q  + G ( q, ) (5) = M ( q, )q
donde: M(.): matriz simtrica de inercia C(.): vector de coriolis, y centrfugo G(.):vector de gravedad q: vector de coordenadas generalizadas : vector de fuerzas generalizadas En la librera se proporciona un ejemplo (almacenados en un fichero .mat) de cada tipo de controlador para un robot de dos articulaciones [2].

(3)

Por ltimo, los controladores basados en el modelo vistos hasta ahora necesitan la disponibilidad de la posicin y la velocidad del robot. Sin embargo, en los ltimos aos se ha tendido a suprimir los sensores de velocidad en los sistemas robotizados. Para controlar los robots utilizando slo medidas de velocidad se han modelado, simulado y analizado distintos controladores por realimentacin de la salida. Como en los casos anteriores, la expresin general de estos controladores-observadores es la siguiente:
e = M ( q, ) a + C ( q, q , )v1 + G (q, ) w K p e K d v 2 (4)

En este caso los controladores tienen un observador de la velocidad que reemplaza la seal de la velocidad real del sistema. Figura 3: Ventana principal de la Librera

3 LIBRERA DE CONTROLADORES NO LINEALES DE ROBOTS


Para hacer ms fcil la implementacin de los controladores no lineales descritos en el punto anterior, el laboratorio remoto proporciona una librera con dichos controladores. La Librera est desarrollada en el entorno de Matlab/Simulink, por lo que hereda todas las ventajas y caractersticas (facilidad de uso, entorno grfico de desarrollo de esquemas de simulacin, personalizacin mediante la programacin de macros y funciones etc.). De hecho, para utilizar la librera slo se tiene que crear una nueva ventana de modelo y copiar el

4 CONTROL DE TIEMPO REAL

ROBOTS EN

Una vez simulada y validada la estrategia de control debemos programarla en el sistema, utilizando para ello cualquier lenguaje de alto nivel. El nico inconveniente que esto tiene es que a menudo la programacin de las estrategias de control no es una tarea trivial. En el laboratorio remoto se propone utilizar el paquete Matlab/Simulink con la extensin RealTime Workshop (RTW) para la implementacin automtica de los controladores del robot, ya

que como se ha comentado anteriormente, la librera RTW produce cdigo directamente desde modelos Simulink y genera programas automticamente que pueden ser ejecutados en varios entornos. Para ello basta con pulsar el botn "Build" de la pgina RTW del esquema Simulink. El cdigo generado posteriormente se compila y monta llamando simplemente la utilidad "make". As, lo nico que falta es establecer la transferencia de datos entre los modelos Simulink (que establecern el control de los elementos del robot) y el acceso a bajo nivel. En este caso se han programado una serie de S-Functions escritas en C que son las encargadas de realizar el acceso a las tarjetas de adquisicin de datos. En nuestro caso se opt por tarjetas PCLabCard por tratarse de unas tarjetas con una relacin precio/prestaciones muy buena, lo que les hace muy habituales en laboratorios docentes y de investigacin. De esta forma, las funciones de sistema SFunctions que se han programado son las siguientes: Entradas analgicas: Para poder leer la velocidad de cada elemento tenemos que medir tensiones generadas por las tacosdinamos que se tienen en el robot. Para ello se ha utilizado la tarjeta PCL-812PG, que tiene 16 canales de entrada de 12 bits. La S-Function programada recibe como parmetros de entrada (tal como se puede ver en la mscara de dicha funcin de la figura 4) la direccin base de la tarjeta, el rango de entrada, la ganancia programable, el nmero de canales de entrada que se quieren utilizar y el periodo de muestreo. El resto de tarjetas que se citarn a continuacin tienen una mscara parecida a la de la figura 4. Salidas analgicas: Para poder proporcionar las acciones de control a los actuadores del robot necesitamos las rutinas que se encarguen de las conversiones digital/analgico. Para ello se han programado dos tarjetas: la PCL-812PG y la PCL-726. Las S-Functions desarrolladas son muy parecidas, ya que la nica diferencia entre las tarjetas est en el nmero de canales y el rango (2 canales unipolares en la 812 y 6 canales bipolares en la 726). Las mscaras son muy parecidas, proporcionando en este caso la direccin base, el rango de salida y el perido de muestreo. Seales de los encoders: el robot utiliza encoders incrementales para obtener las

posiciones en las que se encuentran sus elementos, proporcionando cada uno tres seales: el canal A, canal B y el pulso de ndice. La tarjeta de lectura de encoders en la unidad de control es la PCL833. Entradas/Salidas Digitales: el robot tiene una serie de sensores encargados de detectar los finales de carrera, los pasos de sincronizacin, sobretemperatura etc. Adems, tambin necesita otras seales adicionales para, por ejemplo, activar o desactivar las herramientas, frenar los elementos del robot etc. Todas estas seales se pueden incluir en los esquemas Simulink mediante las S-Functions programadas para la realizacin de las entradas/salidas digitales.

Figura 4: Mscara para la entrada analgica A partir de estos bloques construir cualquier esquema de control es muy simple. Por ejemplo, en la figura 5 se muestra el esquema Simulink del controlador adaptativo propuesto en [1]
ref

ref_pos

Entrada Encoders PCL-833 Posicin

pos

vel s1

K -KA1

Convertidor Digital-Analgico PCL-726 Accin Control

Convertidor A/D 812 Velocidad

ref_ace
s1

du/dt ref_vel

Parte adaptativa

Figura 5: Controlador adaptativo Bayard-Wen En las figuras 6 y 8 aparecen las posiciones de las 2 primeras articulaciones (elementos X e Y del robot) ante referencias tipo escaln y senoidal, mostrndose en las figuras 7 y 9 las acciones de control generadas.

8.3905

x 10

8.39 Posicin X, Y (cuentas encoder)

8.3895

8.389

Tal como se ha comentado, en la librera de controladores tambin se han implementado controladores-observadores. En las figuras 10 se muestra por ejemplo la velocidad y la estimacin de un eje, as como el error de estimacin (figura 11).
5

8.3885

8.388 4 8.3875 Velocidad y Estimacin 3

8.387

5 Tiempo (seg)

10

15

Figura 6: Referencias (escaln) y posiciones X-Y

15

-1

10

-2

10 Tiempo (seg)

15

20

Acciones Control X, Y (v)

Figura 10: Referencia y posicin del elemento Z


0

-5

-10
Error Estimacin de Velocidad

-1

-15

5 Tiempo (seg)

10

15

-2

Figura 7: Acciones de control X-Y ante escalones


x 10
6

-3

-4

8.391

-5

8.3905 Posicin X, Y (cuentas encoder)

-6

10 Tiempo (seg)

15

20

8.39

8.3895

Figura 11: Referencia y posicin del elemento Z

8.389

8.3885

8.388

5 LABORATORIO REMOTO DE CONTROL DE ROBOTS


0 5 Tiempo (seg) 10 15

8.3875

Figura 8: Referencias (senoidal) y posiciones X-Y


10

Acciones Control X, Y (v)

La configuracin del laboratorio remoto de control de robots es la que se muestra en la figura 12 que se muestra a continuacin. El laboratorio consta por una parte de un conjunto de ordenadores en los que se tiene el paquete de Matlab con las extensiones de Simulink y RealTime Workshop. Adems, cada uno de ellos tiene la librera de control no lineal de robots. Gracias a estos paquetes los alumnos pueden primero modelar cualquier tipo de robot, y simular posteriormente su comportamiento con el esquema de control deseado. Una vez analizado y validado el sistema de control lo nico que se debe hacer es utilizar las facilidades de la Real-Time Workshop para obtener un programa ejecutable con el controlador. Para ello debemos quitar del esquema Simulink el modelo del robot e

-2

5 Tiempo (seg)

10

15

Figura 9: Acciones de control X-Y ante senoidales

incorporar las S-Functions que realizan el acceso al medio fsico, para poder obtener las salidas del sistema (lectura de posiciones y velocidades) y proporcionar las acciones de control. Una vez que se tiene el programa ejecutable, el fichero se transfiere (mediante la red de ordenadores) al ordenador que est conectado con el robot porticado, ejecutndose directamente desde ste. Al terminar la ejecucin se genera un fichero de datos (formato ".mat" de Matlab) con todas las variables especificadas en el esquema de Simulink, por lo que es tambin muy simple analizar el comportamiento del robot real, y compararla con la obtenida en la simulacin de ste.

implementacin automtica y la evaluacin de esquemas de control avanzados. Adems, la conexin directa de Matlab con el sistema robotizado durante las ejecuciones reales es muy interesante, tanto para el anlisis de las seales medidas como para el ajuste de los distintos parmetros del controlador.

Referencias [1] D. S. Bayard, J.T. Wen. New Class of Control Laws for Robotic Manipulators: Part 2. Adaptative Case. Int. J. of Control, Vol.47, pp. 1387-1406, 1988 [2] H. Berghuis. Model-based Robot Control: from Theory to Practice. Tesis Doctoral. Dept. of Applied Mathematics, Univertity of Twente, Enschede, The Netherlands, 1995. R. Ortega, M.W. Spong. Adaptive Motion Control of Rigid Robots: a Tutorial. Automatica, Vol. 25, pg. 877-888. 1989 J.J.E. Slotine, W. Li (1991) Applied Nonlinear Control. Prentice-Hall Int. Editions, ISBN 0-13 040049-1 A. Valera. Anlisis Comparativo de Tcnicas de Control de Robots Rgidos y Flexibles. Tesis Doctoral. Dpto. Ingeniera de Sistemas y Automtica. Universidad Politcnica de Valencia, 1998 A. Valera, J. Vergara, J. Tornero, E. Garcia. Control a PUMA 500 using a new open architecture. 3rd Portuguese Conf. On Automatic Control. Coimbra (Portugal), 1998.

CONCLUSIONES
[3]

El artculo ha mostrado la configuracin de un laboratorio remoto de control de robots. El laboratorio consta bsicamente de una librera de control de robots desarrollada en el entorno de Matlab/Simulink y de la extensin de Real-Time Workshop. Esta librera proporciona 26 controladores no lineales diferentes agrupados en cuatro clases: pasividad, dinmica inversa, adaptativos y controladores-observadores, proporcionando una plataforma muy fcil, simple e interactiva para el modelado, la simulacin y el anlisis del control de robots. A partir del esquema grfico Simulink con el controlador, junto con unas S-Functions desarrolladas para el acceso a bajo nivel, podemos obtener un programa ejecutable simplemente apretando un botn. El laboratorio remoto es un sistema totalmente abierto y flexible. Esta flexibilidad permite la

[4]

[5]

[6]

Red de comunicaciones

Tarjetas acceso al medio fsico

Robot Porticado

Matlab + RTW + Librera Control Robots Figura 12: Configuracin del laboratorio remoto

Das könnte Ihnen auch gefallen