Diseño e Implemantación Digital - Facultad de Ingeniería Eléctrica y

Anuncio
DISEÑO E IMPLEMENTACIÓN DEL CONTROL DIGITAL DE
UN SISTEMA DE PÉNDULO INVERTIDO Y GRÚA PUENTE
MEDIANTE ALGORITMOS DE UBICACIÓN DE POLOS Y
ÓPTIMOS CUADRÁTICOS
Arturo Rojas Moreno
Leonardo Darío Gushiken Gibu
Facultad de Ingeniería Eléctrica y Electrónica, Sección de Post-Grado
Universidad Nacional de Ingeniería
RESUMEN
Este artículo desarrolla el diseño e implementación del control digital de un sistema de péndulo invertido y grúa
puente mediante los algoritmos de ubicación de polos y optimización cuadrática lineal.
ABSTRACT
This article develops the design and implementation of the digital control of an inverted pendulum and a
crane systems by mean of pole placement and linear quadratic optimization algorithms.
I. INTRODUCCIÓN
El control por ubicación de polos consiste en la ubicación de los polos en lazo cerrado deseados para el sistema.
Este método está basado en los requerimientos de respuesta transitoria y/o respuesta en frecuencia.
El control óptimo cuadrático consiste en la minimización de un índice de desempeño o función de costo
cuadrático de tal forma que obtengamos del sistema una respuesta que se acerque lo más posible a la óptima.
El presente artículo se enfocará en el diseño de un control por ubicación de polos y un control óptimo
cuadrático, ambos en tiempo discreto, para un sistema de péndulo invertido y un sistema de grúa puente.
El péndulo invertido es un sistema conformado por un péndulo montado sobre un carro impulsado por un motor.
El objetivo a alcanzar es mantener el péndulo en posición vertical tanto como sea posible y tener control sobre la
posición del carro.
El sistema de grúa puente a controlar está conformado por un carro, que se desplaza a lo largo de un carril, con
una varilla que cuelga de éste a modo de carga. El objetivo es mover el carro a una posición determinada sin que
la varilla oscile demasiado
.
II. DESCRIPCIÓN DEL SISTEMA
El sistema péndulo invertido/grúa puente consiste de un carro de metal con una varilla que hace la función de
péndulo. El carro se desplaza en un carril y es impulsado por un servomotor DC de imán permanente a través de
un sistema de poleas. Para accionar el servomotor existe un actuador PWM (Pulse Wide Modulation), cuya
etapa de potencia consiste de 4 conmutadores electrónicos en configuración H. Para la medición de la posición
del motor y de la varilla se usa un codificador óptico para cada uno. La información sensada se envía a un
contador por medio de dos trenes de pulsos desfasados en 90 grados.
El contador de pulsos transmite las señales digitales a una tarjeta de adquisición de datos Lab-PC+. Asimismo,
la tarjeta Lab-PC+ envía la señal de control hacia el actuador. En la Fig.1 se observa un esquema general del
sistema.
Fig.1a Sistema péndulo invertido
Fig.1b Sistema grúa puente
Fig.1c Esquema general del sistema
III. MODELAMIENTO MATEMÁTICO DEL SISTEMA DE PÉNDULO
INVERTIDO
A.Modelamiento del sistema péndulo invertido.-Para mayor comodidad se ha separado el sistema péndulo
invertido en dos subsistemas: el subsistema conformado por el carro y la varilla, y el subsistema conformado por
el motor y el sistema de poleas. Para modelar el sistema mecánico utilizamos la segunda ley de Newton para el
movimiento lineal y rotacional.
Fig.2 Subsistema carro-varilla
Aplicando la segunda ley de Newton al subsistema carro-varilla representado en la Fig.2, obtenemos:
De la figura tenemos:
donde:
(3)
(4)
El subsistema motor-polea se encuentra representado en la Fig.3.
Fig.3 Subsistema motor - polea
El modelo del sistema eléctrico se encuentra aplicando la ley de voltajes de Kirchhoff a la malla R - L de la
Fig.3. Además, debido a que la inductancia de motores DC de magneto permanente es pequeña, podemos
despreciar su efecto en el modelo. Así obtenemos:
Ra ·ia + Vb = KA·u = Va (5)
El voltaje contraelectromotriz está representado por:
(6)
Ahora en el sistema mecánico del motor aplicamos la segunda ley de Newton para el movimiento rotatorio:
(7)
El torque producido en el eje del motor está dado por la ecuación:
(8)
Para transformar el desplazamiento angular del motor en el desplazamiento horizontal del carro en función del
radio de la polea y el factor de reducción del motor, tenemos:
(9)
Con las ecuaciones anteriores obtenemos:
(10)
Las ecuaciones obtenidas serán representadas en el espacio de estados mediante la siguiente asignación de
variables:
(11)
(12)
(13)
(14)
Escribiendo las ecuaciones en el espacio de estados, tenemos:
(15)
donde:
(16)
(17)
(18)
(19)
(20)
(21)
Y puesto que en nuestro sistema tenemos como salida disponible el desplazamiento angular de la varilla y el
desplazamiento del carro, tendremos como ecuación de salida la siguiente expresión:
y = C·x (22)
donde:
(23)
Para poder analizar la ecuación (15) por métodos de control lineal es necesario obtener un modelo lineal de
ésta. Esta aproximación lineal se puede obtener mediante la expansión en series de Taylor despreciando los
términos de orden superior. Así la ecuación (15) se convierte en:
(24)
donde:
(25)
(26)
Para la discretización del modelo podemos usar las siguientes ecuaciones[1]:
x(kT+T) = Gx(kT)+Hu(kT) (27)
y(kT)=Cx(kT)+Du(kT) (28)
donde:
(29)
(30)
(31)
o también con el comando c2d o c2dm de MATLAB[2].
IV. MODELAMIENTO MATEMÁTICO DEL SISTEMA DE GRÚA PUENTE
El modelamiento para el sistema grúa puente es similar al caso del péndulo invertido. En este caso la varilla
apunta hacia abajo. El subsistema motor-polea es el mismo que para el caso del péndulo invertido, por lo que
podemos usar la fórmula ya deducida anteriormente.
Aplicando la segunda ley de Newton, para el sistema lineal, tenemos:
(32)
Luego aplicamos la segunda ley de Newton para el movimiento rotatorio:
(33)
Representando el modelo en el espacio de estados:
(34)
donde M1, M2, J1, J2, Bx y Kx están dados por las ecuaciones: (16), (17), (18), (19), (20) y (21).
y
y = C·x (35)
(36)
Linealizando el modelo:
(37)
(38)
(39)
Fig.4 Subsistema carro-varilla
El modelo en tiempo discreto se puede obtener mediante las ecuaciones (27), (28), (29), (30) y (31) o los
comandos c2d o c2dm de MATLAB.
V. DISEÑO DEL CONTROL POR UBICACIÓN DE POLOS
La técnica de ubicación de polos se basa en la realimentación de todas las variables de estado en la
determinación adecuada de una matriz de ganancia de realimentación, de tal forma que todos los polos del
sistema en lazo cerrado queden ubicados en las localizaciones deseadas. En la mayoría de los casos es necesario
estimar aquellas variables no medibles. Esta estimación se realizará mediante la técnica de observadores de
estado.
A.Diseño del controlador.- En primer lugar consideremos el caso de un sistema de control sin entrada de
referencia y donde las condiciones iniciales son llevadas a cero, para luego tratar el caso de servosistemas o
sistemas con entrada de referencia.
Considerando el siguiente sistema:
x(k+1) = Gx(k) + Hu(k) (40)
La señal de control u(k) dada por:
u(k) = -Kx(k) (41)
donde:
K = [ K1 K2 ··· Kn ] (42)
es la matriz de ganacia de realimentación de estados.
Los pasos para el diseño del controlador por ubicación de polos son[3]:
1. Comprobar la completa controlabilidad del sistema, dada por la condición:
rango de M = orden del sistema (43)
donde:
M = [H GH ... Gn-1H] (44)
2. Definir cuales serán los polos deseados, los que deberán cumplir con los requerimientos basados en la
respuesta transitoria y/o respuesta en frecuencia.
Con los polos deseados hallamos los coeficientes de la ecuación característica deseada:
( z - u1 )( z – u2) ··· ( z – un ) = zn n + a 1z n-1 +
a 2 zn-2 + ··· + a n (45)
Donde u1, u2, ··· , un son los polos deseados y a 1, a 2, ··· , a n son los coeficientes de la ecuación característica
deseada.
3. Dada la ecuación característica del sistema original:
|zI - G| = zn n + a 1z n-1 + a 2 zn-2 + ··· + a n
(46)
Hallamos sus coeficientes dados por a1, a2, ··· , an .
4. Hallamos la matriz de transformación T , dada por:
T = MW (47)
En donde M es la matriz de controlabilidad y W está dada por:
(48)
5. Por último obtenemos la matriz de ganancia de realimentación de estados K, dada por:
K = [a n - a n ¦ a n-1 - a n-1 ¦ ··· ¦ a 2 - a2 ¦ a 1 - a1]T-1
(49)
O mediante la fórmula de Ackermann:
K = [ 0 0 ··· 0 1 ][ H¦GH¦ ··· ¦ Gn-1 H ]-1 f (G)
(50)
donde:
f (G) = Gn + a 1Gn-1 + ··· + a n-1 G + a n I
(51)
B. Diseño del servosistema.- Ahora extenderemos el caso anterior para servosistemas. Generalmente es
necesaria la inclusión de una acción integral en el servosistema para reducir los errores de estado estable. El
esquema del servosistema con acción integral está representado en la Fig.5.
Fig.5 Servosistema con accion integral
Así definimos la variable v(k) como la integral del error:
v(k) = v(k -1) + r(k) - y(k) (52)
donde r(k) es la señal de referencia.
Luego tenemos las ecuaciones[3]:
(53)
(54)
donde:
(55)
(56)
(57)
Los mismos pasos anteriores usados para sistemas sin entrada de referencia pueden ser usados para el caso del
servosistema pero utilizando las ecuaciones (53) y (54).
C.Diseño del observador.- En la Fig.6 podemos ver que las señales de entrada al observador son las señales
y(k) y u(k), en donde y(k) es el vector que contiene las salidas directamente medibles de la planta y u(k) es la
señal de entrada de la planta. La salida del observador será la señal xe(k), la cual corresponde al vector de
estado observado. Este vector xe(k) corresponde a la versión estimada del vector de estado x(k).
Fig.6 Observador de Estados
El modelo dinámico del observador de estados mostrado en la Fig.6 está dado por la siguiente ecuación:
xe(k +1) = Gxe (k) + Hu(k) + Ke [y(k) - ye (k)]
(58)
donde Ke es la matriz de ganancia de realimentación del observador. El objetivo del diseño es hallar una matriz
de ganancia adecuada de realimentación del observador Ke , de tal forma que los valores característicos de (GKeC) disminuyan el error del observador.
Antes de empezar el diseño del observador es necesario comprobar la completa observabilidad del sistema.
Para el diseño del observador usaremos la función place del MATLAB[2]. La función place está basada en
algoritmos que no son tema de esta tesis por lo que sólo nos limitaremos a su uso directo sin detallar los
procedimientos usados en ésta.
D. Diseño del sistema de control del péndulo invertido.- Tenemos el siguiente sistema de control:
x(k+1) = Gx(k) + Hu(k)
y(k) = Cx(k)
Para el diseño del servosistema de las ecuaciones (53) y (54) se hallan las matrices dadas por (55) y (56).
La matriz de controlabilidad está dada por:
M=[Hi Gi*Hi Gi2*Hi Gi3*Hi Gi4*Hi];
Y el rango de M es 5. El sistema es completamente controlable.
Se eligieron los siguientes polos de lazo cerrado deseados:
u1=0.9967 + 0.0058i u2=0.9967 - 0.0058i
u3=u4=u5=0.98
Usando la fórmula de Ackermann dada por:
Ki = [ 0 0 0 0 1 ] M-1 f (Gi)
donde:
f (Gi)=Gi5 + a 1GI4 + a 2GI3 + a 3GI2 + a 4GI + a 5
Ki =[-3.1340 -0.7103 -0.5770 -1.1688 0.0019]
De aquí tenemos que:
K =[-3.1340 -0.7103 -0.5770 -1.1688]
KI = -0.0019
Los polos del observador que se eligieron están dados por:
u1=0.7165 u2=0.7165 u3=0.9000 u4= 0
Para hallar la matriz de realimentación del observador usaremos la función place del MATLAB de la siguiente
manera:
jO=[ 0.7165 0.7165 0.9000 0];
C=[1 0 0 0
0 0 1 0];
Ke=place(G',C',jO)'
De aquí obtenemos:
E. Diseño del sistema de control de la grúa puente.-Aplicamos los mismos pasos que en el caso anterior:
La matriz de controlabilidad está dada por:
M=[Hi Gi*Hi Gi2*Hi Gi3*Hi Gi4*Hi];
Y el rango de M es 5. El sistema es completamente controlable.
Se eligieron los siguientes polos de lazo cerrado deseados:
u1 =0.9933 + 0.0115i u2 =0.9933 - 0.0115i
u3 =u4 =u5 =0.9800
Usando la fórmula de Ackermann dada por:
Ki = [ 0 0 0 0 1 ] M-1 f (Gi)
donde:
f (Gi)=Gi5 + a 1GI4 + a 2GI3 + a 3GI2 + a 4GI + a 5
Ki =[1.3481 0.0372 1.7630 0.2277 -0.0079]
De aquí tenemos que:
K =[1.3481 0.0372 1.7630 0.2277]
KI =0.0079
Los polos del observador que se eligieron están dados por:
uo1=0.1353 uo2=0.1353 uo3=0.9000
uo4=0
Para hallar la matriz de realimentación del observador usamos la función place del MATLAB y obtenemos:
VI. DISEÑO DEL CONTROL ÓPTIMO CUADRÁTICO LINEAL
A.Diseño del controlador.-El problema del control óptimo consiste en que dada una condición inicial x(o), se
debe encontrar la secuencia adecuada de la señal de control óptima u(k) que transfiera el sistema a un estado
final x(N) para el cual se minimice una función denominada función de costo o índice de desempeño, en este
caso cuadrático, de tal forma que obtengamos del sistema una respuesta óptima.
Cuando el proceso de control es finito (N finita), la matriz de ganancia de realimentación de estados K(k) es una
matriz variante en el tiempo.
Pero para el caso en el que el proceso continúa sin fin, es decir para N=8, la solución del control óptimo
cuadrático pasa a ser una solución de estado estacionario. En este caso la matriz K(k) se convierte en una matriz
constante K.
El índice de desempeño cuadrático que utilizaremos es el siguiente:
(59)
DondeQ es una matriz hermítica definida positiva o semidefinida positiva y R es una matriz hermítica definida
positiva.
Las matrices Q y R son matrices de ponderación.
La solución al problema de control óptimo cuadrático de estado estacionario estará dada por las ecuaciones
siguientes[3]:
P = Q + G*PG - G*PH[R + H*PH]-1H*PG
(60)
u(k) = -Kx(k) (61)
K= [R + H*PH]-1H*PG (62)
Donde la ecuación (60) se denomina ecuación de Riccati, la ecuación (61) es la ley de control y la ecuación (62)
representa la matriz de ganancia de realimentación de estados.
El valor mínimo del índice de desempeño se puede hallar mediante la expresión:
Jmin = 1/2 x*(0)Px(0) (63)
Una forma de resolver la ecuación (60) es usar la ecuación de Riccati en estado no estacionario[3], pero
invirtiendo la dirección del tiempo, es decir:
P(k + 1) = Q + G*P(k)G - G*P(k)H[R + H*P(k)H]-1H*P(k)G (64)
Para resolver esta ecuación empezamos con P(0) = 0, y vamos calculando en forma iterativa hasta obtener un
valor de P convergente. Luego de obtener la matriz P podemos calcular la matriz K, para luego obtener la ley de
control.
B. Diseño del observador.- En esta sección se darán las pautas para el diseño del observador de estados
mediante la minimización de un índice de desempeño cuadrático.
El diagrama de bloques del observador de estados que diseñaremos es el mismo que el la sección V y esta
representado en la Fig.6.
La ecuación del observador de estados está dada por:
xe(k +1) = Gxe(k) + Hu(k) + Ke [y(k) - ye(k)]
(65)
donde xe(k) y ye(k) representan el vector de estados y el vector de salida estimados, respectivamente, y Ke es
la matriz de ganancia de realimentación del observador.
Para el diseño del observador utilizaremos las siguientes ecuaciones auxiliares[4]:
a(k +1) = G Ta(k)+ C Tß(k ) (66)
ß(k ) =-Ke T a(k) (67)
El índice de desempeño será:
(68)
La ecuación de Riccati y la matriz Ke están dadas por:
Pe = Qe +GPe G T-GPe C T[R e+CPe C T]-1CPeG T
(69)
Ke = [Re + CPe C T]-1CPe G T (70)
Para resolver la ecuación (69) podemos usar el mismo criterio que usamos para el diseño del control en estado
estacionario. Para ello utilizamos la siguiente ecuación recursiva:
Pe(k + 1) = Qe + GPe(k)GT- GPe(k)CT[Re + CPe(k)CT]-1CPe(k)CT (71)
C. Diseño del servosistema.- Para el diseño del sistema con entrada de referencia usaremos las ecuaciones
(53), (54), (55), (56) y (57).
D. Diseño del control del sistema del péndulo invertido
Se eligieron las siguientes matrices R y Q :
R=[100],
Y las matrices Re y Qe :
,
Para el cálculo de la ecuación de Ricatti utilizaremos la ecuación (64) en forma recursiva y luego hallamos la
matriz Ki con (62).
Ki =[-7.7253 -1.7310 -2.9360 -2.6291 0.0097]
De aquí tenemos que:
K =[-7.7253 -1.7310 -2.9360 -2.6291]
KI =-0.0097
Para el cálculo de la ecuación de Ricatti del observador usamos la ecuación (69) y obtenemos:
E. Diseño del sistema de grúa puente
Se eligieron las matrices:
R=[1],
Y las matrices Re y Qe :
,
Para el cálculo de la ecuación de Ricatti y la matriz K utilizaremos la ecuación (64) y (62):
Ki=[8.2596 -4.3465 37.9206 10.3665 -0.2907]
En donde
K=[8.2596 -4.3465 37.9206 10.3665]
KI = 0.2907
Para el cálculo de la ecuación de Ricatti del observador usamos la ecuación (69):
VII. RESULTADOS Y CONCLUSIONES
Las respuestas obtenidas se muestran en las Fig. 7, 8, 9 y 10. La señal de referencia para la posición del carro
es un escalón de valor 1.5. Como se puede ver las respuestas son estables. En el caso del péndulo invertido se
observa en la respuesta estacionaria un ciclo límite que podría reducirse usando sensores más precisos con un
tamaño de paso menor.
Ambos algoritmos de control lineal tienen una respuesta satisfactoria siempre que las desviaciones de las
variables alrededor de cero sean pequeñas. El diseño del control se debe realizar de tal forma que las variables
no se salgan de la zona lineal dada por el modelo.
Se comprobó que los sistemas de control diseñados responden en forma adecuada para un ángulo máximo de la
varilla de unos 20 grados aproximadamente.
Los dos algoritmos de control, puesto que son lineales, no consideran el hecho que la señal de entrada pueda
presentar el fenómeno de saturación. Debido a esto, para el caso del diseño por ubicación de polos, debemos
escoger los polos o variar la frecuencia de muestreo de tal forma que la amplitud de la señal de entrada en lo
posible no llegue a la saturación. Igualmente en el caso del control óptimo se debe variar la matriz que da peso a
la señal de entrada en la función de costo. Un peso mayor ocasiona un menor gasto de energía en la señal de
entrada.
La elección de los pesos en la función de costo del control óptimo cuadrático se debe realizar considerando qué
señal queremos que tenga una mejor respuesta. Un mayor peso en una de las variables ocasionará una mejor
respuesta en ésta; pero disminuirá el desempeño de las demás. Entonces es necesario balancear de forma
adecuada los pesos de tal forma que obtengamos un desempeño general del sistema que se acerque lo más
posible al óptimo.
Fig.7a
Fig.7b
Fig.7 Respuestas del control por ubicación de polos del sistema de péndulo invertido. a.Posición del carro.
b.Ángulo de la varilla
Fig.8a
Fig.8b
Fig.8 Respuestas del control por ubicación de polos del sistema de grúa puente. a.Posición del carro. b.Ángulo
de la varilla.
Fig.9a
Fig.9b
Fig.9 Respuestas del control óptimo cuadrático del sistema de péndulo invertido. a.Posición del carro. b.Ángulo
de la varilla.
Fig.10a
Fig.10b
Fig.10 Respuestas del control óptimo cuadrático del sistema de grúa puente. a.Posición del carro. b.Ángulo de
la varilla.
VIII. REFERENCIAS
[1] Philips, Charles L., Digital Control System Analysis and Design, Prentice Hall Inc., second edition, New
Jersey, 1990
[2] Matlab Reference Guide, The Math Works Inc., Massachussets, 1992
[3] Ogata, Katsuhiko, Sistemas de Control en Tiempo Discreto, Prentice Hall Hispanoamericana S.A., segunda
edición, 1996
[4] Isermann, Rolf, Digital control Systems Volume 1, Springer-Verlag, second edition, Germany, 1989
Descargar