You are on page 1of 8

PLATAFORMA DE EXPERIMENTACION DE CONTROLADORES PARA ROBOTS INDUSTRIALES

R. Romero, I. Alcal y F.R. Rubio a Dept Ingenier de Sistemas y Automtica a a Escuela Superior de Ingenieros de Sevilla e-mail:(romevi,ismael,rubio)@cartuja.us.es

Resumen
El objetivo del proyecto es el desarrollo de un equipo de experimentacin para controladores de o robots industriales sustituyendo el controlador original del robot manipulador. La gestin de funo ciones auxiliares necesarias para el manejo real de un robot manipulador se trata de forma separada a la implementacin de controladores en o si, facilitando la prueba de nuevas estrategias de control. Con idea de simplicar el proceso de implementacin de controladores, se programa en o un ordenador el controlador a experimentar utilizando diagramas de bloques de Simulink. A continuacin, el controlador se carga en una taro jeta de control en tiempo real de la compa na dSPACE que adquiere las medidas de posicin y o aplica las seales de control al robot manipulador. n Mediante software es posible: supervisar el control implementado en la tarjeta dSPACE, modicar sus parmetros y seguir la evolucin de vaa o riables relevantes del sistema. Lo cual permitir a investigar nuevos controladores en una plataforma real. Palabras clave: Robot manipulador, Control por ordenador

una tarjeta de control en tiempo real instalada en un PC dotado con la herramienta Simulink de Matlab para la elaboracin de los controladores o que son cargados en la tarjeta de control. La tarjeta de control utilizada ha sido la DS1103 de la compa dSPACE [2] que consta na de un procesador PowerPC, un DSP esclavo T M S320F 240 y una memoria RAM de 32 MB. En la Tarjeta dSPACE se ejecuta el controlador diseado y se gestionan las posibles alarmas y n seales digitales de los circuitos electrnicos, as n o mismo lleva a cabo la aplicacin de las seales de o n control a los motores de un Robot Manipulador. El robot empleado es el brazo manipulador RM-10 para entornos industriales [4, 5]. El robot RM-10 tiene 6 grados de libertad, todos ellos de revolucin y con accionamiento indirecto con motores sin o escobillas. El robot dispone originalmente de controladores PID para cada motor de los que se ha prescindido considerando el objetivo del proyecto. En cambio, se ha conservado la etapa de potencia y los sensores resolver de posicin. Adems de o a las no linealidades en las ecuaciones dinmicas del a robot debidas a acoplamientos entre los distintos enlaces, el RM-10 presenta fenmenos de holgura o y friccin en los ejes que motivan su utilizacin o o como equipo de desarrollo de controladores. Este documento est organizado de la siguiente a manera: En la seccin 2 se comentan las moo dicaciones hardware realizadas en el robot manipulador y se describen las tarjetas de circuito impreso que han sido necesarias. La seccin 3 o explica el proceso de implementacin de un proo grama de control en tiempo real a partir de un modelo en Simulink, quedando descritos los bloques que componen el modelo en la seccin 4. o Los programas para modicar variables del controlador y supervisar el control estn comentados a en la seccin 5. Por ultimo, las conclusiones y posio bles v futuras de expansin de la plataforma de as o ensayos estn comentadas en la seccin 6. a o

INTRODUCCION

El inters en el estudio de nuevas metodolog e as de control avanzado en robtica industrial ha moo tivado la creacin de una plataforma que pero mita ensayar controladores de forma sencilla en un robot manipulador. La nalidad del proyecto consiste en probar distintas tcnicas de control en e un robot industrial, para lo cual resulta interesante centrarse en la s ntesis de controladores y evitar problemas asociados a la implementacin o f sica en un sistema real (alarmas, protecciones, etc). Adems, una mayor facilidad de prograa macin y rapidez en la implementacin de leyes o o de control permite reducir el tiempo de validacin o de las tcnicas de control diseadas. e n Estas consideraciones han llevado al empleo de un sistema basado en una representacin del controo lador en diagrama de bloques que se almacena en

MODIFICACIONES HARDWARE REALIZADAS

Para conseguir establecer la conexin entre el oro denador encargado del control y el robot manipulador se han implementado circuitos de interfaz en tarjetas electrnicas. Las tarjetas conectan el o armario de control del robot y la tarjeta de control en tiempo real dSPACE instalada en el ordenador. En el diseo de las tarjetas se han aislado n las seales del robot manipulador y de la tarjeta n dSPACE mediante el empleo de optoacopladores y amplicadores analgicos de aislamiento. o Las funciones desempeadas en las tarjetas aparen cen en la gura 1 y comprenden: adquisicin de o las medidas de posicin de los ejes, adquisicin de o o posibles alarmas del robot, aplicacin de seales o n digitales al armario del robot necesarias para realizar el control desde el ordenador y aplicacin de o la seal de control a cada regulador de velocidad n de los motores del robot manipulador, as como la conmutacin entre el controlador original del o RM-10 y el control por ordenador. Existen tres tipos de tarjeta de circuito impreso descritos en los siguientes apartados. 2.1 TARJETA DE CONMUTACION DEL CONTROL

la tarjeta dSPACE. Inicialmente se acondiciona la seal aplicando ltros pasivos RC, n una vez ltrada la seal, se procede a generar n las seales encoder. La conversin se basa en n o el circuito integrado AD2S90 de Analog Devices, que a partir de la seal de referencia n del sensor resolver, y de las seales inducidas n seno y coseno, realiza la conversin a seal de o n encoder. La salida transformada a seal de n encoder incremental se a antes de conecsla tarse a la entrada de la tarjeta dSPACE encargada de leer seales de este tipo. El aisn lamiento se realiza mediante optoacopladores de alta velocidad y para ello es necesaria una etapa amplicadora ya que las salidas de encoder incremental del AD2S90 no son capaces de suministrar suciente corriente para activar la etapa de optoaislamiento conectada a la tarjeta dSPACE. El segundo mdulo se encarga de aislar las o salidas analgicas de la tarjeta dSPACE geo neradas por los algoritmos de control en el ordenador. El aislamiento est basado en el a circuito integrado ISO122P de la rma BurrBrown que permite aislar seales analgicas n o con un rango 10 V y con un ancho de banda de 50kHz. En la gura 2 se muestra el diagrama de bloques de esta tarjeta. 2.3 TARJETA DE ENTRADAS-SALIDAS DIGITALES

Antes de efectuar ninguna modicacin en el robot o manipulador RM-10 el control de los ejes lo realizaba el armario de control del robot. Con objeto de poder controlar el robot manipulador desde el ordenador, se ha construido una tarjeta que conmuta la seal de los motores entre el arn mario de control del RM-10 y el PC. Esta tarjeta electrnica permite la conmutacin entre dos eso o tados: posibilitar/impedir control desde PC. Para impedir el control desde el ordenador la tarjeta de conmutacin del control interrumpe la alimentao cin de las tarjetas desarrolladas dejando el robot o con su control original aunque se indique lo contrario desde el software de control del ordenador. 2.2 CIRCUITO RESOLVER/ENCODER Y AISLAMIENTO DE SENALES ANALOGICAS

El robot manipulador utiliza una serie de entradas y salidas digitales que permiten conocer el estado de funcionamiento del sistema. Las entradas digitales a la tarjeta dSPACE provenientes del robot se corresponden con alarmas que permiten detectar fallos en la operacin del robot o manipulador. Las principales alarmas son: EM6. Emergencia. Tiene que estar a uno cuando el robot funciona normalmente y en caso de darse una emergencia se desactiva. IFR. Se activa cuando los frenos del robot manipulador quedan liberados, permitiendo comprobar el estado de los mismos. IN8. Alarma de la fuente de alimentacin por alo cance de mxima temperatura. a IN9. Alarma del fusible (fuente de alimentacin). o IN10. Alarma de prdida de fase en la fuente de e alimentacin. o

Para cada eje del robot manipulador es necesaria una tarjeta electrnica de este tipo. La tarjeta o consta de dos mdulos claramente diferenciados o segn la aplicacin que realizan: u o El primer mdulo realiza la conversin de la o o seal resolver del sensor de posicin del eje n o a seal de un encoder incremental de 1024 n pulsos por vuelta, para su lectura directa con

Seales Digitales del Robot Tarjeta de Entradas-Salidas Digitales


Seal de Conmutacin

Salidas Digitales

Conmutacin de la Seal de Control Seal de Control Aplicada Control Original del Robot Manipulador

Entradas Digitales Seal de Control PC

Tarjeta dSPACE
Salidas Analgicas

Aislamiento de Seales Analgicas Seales Encoder

Seales Resolver

Circuito Resolver-Encoder

Figura 1: Conexin entre el Robot Manipulador RM-10 y la tarjeta dSPACE. o En cuanto a las salidas digitales generadas en la tarjeta dSPACE se utilizan 3 seales que gobiern nan la activacin, frenado y limitacin de potencia o o del robot manipulador: ENABLE. Pone el robot en estado activo pudiendo darle consignas a los reguladores de velocidad de cada motor de los ejes del RM-10. BRAKE. Cuando est activada, habilita los contaca tores de los frenos permitiendo el movimiento de los motores. CIR5. Es la salida digital utilizada para limitar la potencia de los motores saturando la seal n que les aplica a un 10% de la mxima seal de a n control que se puede aplicar al RM-10. Para poder aprovechar al mximo la capacidad de a los motores tiene que estar desactivada. Adicionalmente en los ejes ms conictivos (ejes a 1, 2 y 3) se ha dotado al sistema de mayor seguridad con la introduccin de una seal digital o n adicional (VERIFICACIN CONTROL PC) que comO prueba la correcta conmutacin de control del aro mario a control desde el ordenador.

3
Figura 2: Esquema de la tarjeta de conversin reo solver/encoder y aislamiento de seal de control n analgica del motor. o

IMPLEMENTACION SOFTWARE DEL CONTROLADOR

En esta seccin se explica el proceso de proo gramacin para probar el controlador diseado. o n

Enable

[0 0 0 0 0 0] 1 q_ref 3 q Sum U_parado K Matrix Kp 5 Mover 1 u

2 qd_ref 4 qd Sum1

Sum2 K Matrix Kd

Switch2

Figura 5: Ejemplo de controlador PD independiente para cada eje implementado en el bloque de control de Simulink en forma matricial.

Figura 3: Esquema de programacin y supervisin o o de controladores en la tarjeta dSPACE. Dentro de este proceso hay que distinguir entre dos tipos de aplicaciones: aplicaciones utilizadas para implementar el controlador y aplicaciones encargadas de monitorizacin de resultados y sino tonizacin de variables del controlador implemeno tado. En la gura 3 aparece la relacin entre las o aplicaciones y la tarjeta de control en tiempo real dSPACE. Las aplicaciones del primer tipo suponen el primer paso para implementar el control en el ordenador. Bsicamente, se ha desarrollado un modelo de a Simulink con distintos bloques (gura 4) que simplica la introduccin de un nuevo controlador. o El controlador se construye con bloques de la biblioteca de Simulink dentro del denominado bloque de control de la gura 4, mientras que en el resto de bloques se desarrollan las tareas necesarias para la implementacin f o sica1 . La programacin en bloques de Simulink proporciona o un entorno familiar en la descripcin de controo ladores que evita la utilizacin de lenguajes de o programacin de bajo nivel y la necesidad de un o conocimiento por parte del ingeniero de control de las bibliotecas de la tarjeta dSPACE, lo cual incide de manera directa en un menor tiempo de implementacin de controladores. Una vez introducido o el controlador en el modelo de Simulink, se utiliza la herramienta Real Time Workshop Matlab. Esta herramienta traduce el modelo a cdigo C, o lo compila y descarga de forma automtica en la a tarjeta dSPACE. La ejecucin empieza cuando el o modelo compilado est en la tarjeta dSPACE. a Finalmente, se utilizan las aplicaciones Cockpit y
1 Los bloques de Simulink del modelo se explican en la seccin 4 o

Trace suministradas por dSPACE que pertenecen al segundo tipo de aplicaciones. El programa Cockpit de dSPACE, permite crear pantallas con controles para modicar en tiempo de ejecucin o los parmetros del modelo de Simulink y mostrar a variables. Mientras que el programa Trace, se utiliza para supervisar los ensayos representando grcamente la evolucin de las variables del moa o delo.

BLOQUES DEL MODELO DE SIMULINK

Para establecer un entorno adecuado de programacin del controlador en un bloque de Simulink, o se ha dividido el modelo en distintos bloques encargados de funciones diferenciadas (ver gura 4). Esta separacin en bloques consigue simplicar o la programacin del controlador hacindola ms o e a transparente al emplear bloques que realizan funciones auxiliares independientes del controlador probado (protecciones, generacin de trayectorias, o alarmas,. . .). Los bloques que componen el modelo de Simulink se describen en las subsecciones siguientes. 4.1 BLOQUE CONTROL

Est dedicado a la implementacin de los controa o ladores desarrollados. En este bloque de Simulink se incluyen los controladores aplicados desde el PC al Robot RM-10. En la gura 5, se puede apreciar un ejemplo de controladores PD en cada eje del Robot. El ejemplo de la gura 5 hace uso de bloques bsicos de Simulink, aunque es a posible utilizar bloques pertenecientes a Toolbox de control de Matlab. El contenido del bloque de control puede ser sustituido por cualquier otro sin necesidad de modicar el resto de bloques (Mquina de estados, supervisor de alarmas,...) a

q_ref/r_ref qd_ref/rd_ref error_lineal FTRAY

[0 pi/2 0 0 0 0] RefArt
Mover refArt

[1.3 0.05 1.5 0 pi/2 pi] RefCart

refCart

Generador de Trayectoria

q_ref

CONTROLADOR_ACTIVO error_lineal

qd_ref

CONTROLADOR_ACTIVO u U_controlador U_Aplicada U_manual EnMovimiento

qd

qd

Mover FTRAY U_manual

Mover

CONMUTACION DEL CONTROL CONTROL

EnMovimiento

r U_Aplicada rd

Terminator

Terminator1 PROTECCIONES Y ROBOT

Figura 4: Modelo de Simulink con las funciones necesarias para el control del robot manipulador separadas en 4 bloques. 4.2 BLOQUE GENERADOR DE TRAYECTORIAS 4.4 BLOQUE PROTECCIONES Y ROBOT

Se encargar de suministrar las referencias de a posicin y velocidad de cada eje al bloque de cono trol. Ha sido denido para permitir una representacin tanto en el espacio articular como en o el lineal. Genera trayectorias con un polinomio de orden cinco para obtener referencias suaves de posicin y velocidad en cada eje del robot. o BLOQUE CONMUTACION DEL CONTROL

Incluido en este bloque est la adquisicin de las a o medidas de posicin de los ejes, adquisicin de eno o tradas digitales y aplicacin de salidas digitales al o robot manipulador para poder moverlo La parte dedicada a las protecciones del sistema, se encarga de comprobar el correcto funcionamiento y gobernar el bloque de conmutacin. o Las funciones de proteccin ms relevantes estn o a a desarrolladas en el Supervisor de Alarmas y en la Mquina de Estados. a El Supervisor de Alarmas. En la gura 6 se puede ver la implementacin de este bloque. Tiene o como misin comprobar la existencia de alarmas o y comunicarlo a la Mquina de Estados que se a encargar de evolucionar al estado Encendido aca cionando los frenos y deshabilitando el bloque de control en caso de emergencia. Las alarmas detectadas se registran en variables indicadoras monitorizadas por los programas de supervisin (deo scritos en el apartado 5). Dentro de este bloque Supervisor de Alarmas se han incluido las siguientes protecciones software: L mite de ngulo en las articulaciones: genera a una alarma cuando el ngulo de una articua lacin queda fuera de su rango. Los rangos o jados para cada eje pueden leerse en la tabla

4.3

Este bloque supone una medida de proteccin o necesaria. En caso de que el controlador a prueba no consiga seguir la trayectoria de referencia es necesario utilizar otro controlador para detener el robot manipulador. Cuando el bloque de protecciones detecta este tipo de situacin, cambia el o controlador experimental por un PID incluido en el bloque de protecciones y robot. El PID est sua cientemente probado y pasa a ser el encargado de parar el robot. El bloque de conmutacin cambia o la seal del bloque de control por la seal del conn n trolador PID, que se env al bloque de Simulink a de salidas analgicas de la tarjeta dSPACE. o Adems de situaciones de emergencia, la cona mutacin del controlador tambin se realiza o e cuando se quiere mover el robot en modo manual

6 Movimiento 1 Goto1 [B] [D] From8


BIT #8 EM6

[Operacion] Goto3 [A] Goto


EM2 S R Q !Q In1 Operacion

Operacion
Movimiento EM1 IFR VERIFICACION_CONTROL_ PC EM_Sin_Movimiento

Subsystem

NOT Not2
In1

SR FlipFlop

IndicadorSinMovimiento OR Or1 NU5 3 1 EM

NOT Not1

BIT #9

IFR

2 IFR

[Operacion] From5

Operacion

IndicadorEM6

BIT #10

IN8

error_lineal

NU4

BIT #11

IN9

NU6 OR

BIT #12

IN10

Or8
BIT #13 VERIFICACION_CONTROL_PC

OR

[C] Goto2
In1

BIT #14

NU2
BIT #15

[Operacion] From4

Operacion

IndicadorInX

Or2
In1

DS1103BIT_IN_G1 2 q [Operacion] From7 5 POS_CAR

NU3
q LimiteAnguloArticulaciones Operacion

[Operacion] From6

Operacion

IndicadorFrenosActivados

LIMITE ANGULO ARTICULACIONES


POS_CAR Operacion LimiteEspaciotrabajo

[B] [A] From From3 [C] From2

NOT Not3

AND

LIMITE ESPACIO DE TRABAJO 4 qd


qd LimiteVelocidad Operacion

NOT Not4

AND

In1 Operacion

LIMITE VELOCIDAD
qd EM_Sin_Movimiento

[Operacion] [D] Goto4 From1

IndicadorSinControlPC

7 U_Aplicada

U_Aplicada

Subsystem1

Figura 6: Construccin del Bloque de Simulink para supervisin de alarmas. o o 1. L mite de espacio de trabajo: esta emergencia se activar si la garra del robot se sale del a espacio de trabajo denido. L mite de velocidad: ja la velocidad mxima a de las articulaciones. Sin Movimiento: Alarma que se activa en caso de no detectarse movimiento en algn u eje cuando se le aplica un par sucientemente grande. Esta situacin, puede deberse a una o incorrecta lectura por parte del encoder, o a una inadecuada desactivacin de los frenos. o Sin Control PC: aparecer esta alarma si se a han quitado los frenos del robot y la tarjeta de conmutacin no ha activado el control desde o PC. Frenos Activados: produce una emergencia en caso de intentar controlar desde PC con los frenos activados. Error lineal: activa una alarma si el error cometido entre la posicin real del robot y o la posicin de referencia es excesivo. Indica o que el controlador experimental no es capaz de llevar al robot manipulador por la trayectoria de referencia. La Mquina de Estados. Este bloque se ena carga de efectuar las transiciones entre los distintos estados del sistema y habilita al bloque de Eje del Robot 1 2 3 4 5 6 Angulo m nimo -260 -100 -50 -140 -80 -140 Angulo mximo a 260 0 50 140 80 140

Tabla 1: L mites de los ngulos de las articulaa ciones del robot RM-10 en grados. control en caso de que el supervisor de alarmas no detecte un comportamiento anormal. Los distintos estados de funcionamiento estn descritos a a continuacin: o Encendido. En el estado de reposo del sistema, el control est habilitado y los frenos estn a a activos. Operacion. El robot est habilitado y en espera a de recibir seales de control en los reguladores n de velocidad. los frenos siguen activos. Movimiento Manual. Permite el control en velocidad de los motores del RM-10 por separado mediante unos pulsadores localizados en el panel del programa de control supervisor que se ver en la seccin 5. No tiene a o aplicacin desde el punto de vista de impleo mentacin de controladores, pero es imporo

tante para situar el robot en posiciones iniciales Movimiento Trayectoria. Es el estado que hay que habilitar para utilizar los controladores desarrollados. El controlador que se est probando sigue la referencia generada en a el generador de trayectorias a partir de la posicin inicial de los ejes. Es posible permitir o que deje de controlar al nalizar la trayectoria o bien que contine manteniendo el robot u esttico en la posicin nal. a o Movimiento Frenado. durante la permanencia en este estado se pretende conseguir un correcto frenado del RM-10 tanto al nalizar un movimiento manual correcto como al producirse alguna alarma durante un movimiento (manual o automtico). a Espera Frenos. Se ha introducido este estado intermedio para posibilitar una situacin de o espera que asegure la entrada efectiva de los frenos del robot antes de nalizar el control.

En la aplicacin Trace de dSPACE se representa o la evolucin de cualquier variable denida preo viamente en el modelo de Simulink. Esta herramienta permite representar grcamente vaa lores relevantes del ensayo y comprobar el funcionamiento del controlador. En la gura 8 puede observarse la pantalla donde se representan los valores de posicin angular, veo locidad angular y seal de control para los ejes n 4 a 6. En concreto, en dicha gura, aparecen sealadas la evolucin de la velocidad angular y n o la seal de control aplicada del eje 6. Con la pann talla de seleccin se puede elegir, para represeno tar grcamente, cualquier variable del modelo de a Simulink.

DESARROLLOS FUTUROS

CONTROL SUPERVISOR Y ADQUISICION DE DATOS EN EL ORDENADOR

Para llevar a cabo las tareas de supervisin duo rante los ensayos con el robot manipulador, se ha hecho uso de los programas Cockpit y Trace que proporciona dSPACE. Cockpit es un programa SCADA que permite, mediante un editor grco, disear pantallas de a n explotacin de variables del modelo as como su o modicacin en tiempo real. En este proyecto se o ha desarrollado un panel de control que permite: visualizar medidas, como por ejemplo: lecturas de encoders, medidas de posicin, error o en posicin y seal de control. Tambin preo n e senta la mquina de estados e indicadores de a alarma de posibles fallos detectados. Modicar variables del modelo de Simulink. A travs de elementos de edicin se pueden e o variar parmetros del controlador. Mediante a pulsadores se controla en el panel el posicionamiento manual de cada eje en sentido positivo o negativo, la activacin del robot o pasando a estado habilitado y el comienzo del seguimiento de la trayectoria con el controlador experimental al activar el modo automtico. a En la gura 7 aparece la composicin de la pano talla del panel de control.

La biblioteca Clib de la tarjeta dSPACE abre nuevas posibilidades de ampliacin y mejora del o equipo. En esta biblioteca estn incluidas funa ciones en C que permiten la lectura y escritura (en tiempo de ejecucin) de variables de la taro jeta de control dSPACE desde el ordenador. En esta l nea de trabajo, se est empezando a desaa rrollar un sistema de seguimiento visual para el brazo manipulador mediante la incorporacin de o un sistema de visin. Asimismo, se pretende hacer o uso de esta plataforma para la implementacin de o diversos controladores en v de investigacin en as o los campos del control robusto, no lineal, etc. que incluyen el estudio de modelos de friccin. o Agradecimientos Este trabajo ha sido nanciado por el proyecto CICYT TAP98-0541 y por el proyecto FEDER 1FD97-C

Referencias
[1] John J. Craig, Introduction to robotics: Mechanics and control, Addison Wesley, 1989. [2] dSPACE, Matlab-dspace interface libraries, Manual, 1999. [3] K.S. Fu, R.C. Gonzalez, and C.S.G. Lee, Robtica, control, deteccin, visin e inteligeno o o cia, McGraw Hill, 1989. [4] C. Prez, Simulacin y control de un robot e o manipulador, Escuela Superior de Ingenieros, Universidad de Sevilla, 1999. [5] System Robot, Manuale duso rm10, 1991.

Figura 7: Programa SCADA para la supervisin de ensayos con el Robot Manipulador de experio mentacin. o

Figura 8: Aplicacin para visualizar la evolucin de variables denidas en el modelo de Simulink. o o

You might also like