Diseno e Implementacion Del Control Digital

download Diseno e Implementacion Del Control Digital

of 23

Transcript of Diseno e Implementacion Del Control Digital

  • DISEO E IMPLEMENTACIN DEL CONTROL DIGITAL DEUN SISTEMA DE PNDULO INVERTIDO Y GRA PUENTEMEDIANTE ALGORITMOS DE UBICACIN DE POLOS Y

    PTIMOS CUADRTICOS

    Arturo Rojas MorenoLeonardo Daro Gushiken Gibu

    Facultad de Ingeniera Elctrica y Electrnica, Seccin de Post-Grado

    Universidad Nacional de Ingeniera

    RESUMEN

    Este artculo desarrolla el diseo e implementacin del control digital de un sistema de pndulo invertido y grapuente mediante los algoritmos de ubicacin de polos y optimizacin cuadrtica 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. INTRODUCCIN

    El control por ubicacin de polos consiste en la ubicacin de los polos en lazo cerrado deseados para el sistema.

    Este mtodo est basado en los requerimientos de respuesta transitoria y/o respuesta en frecuencia.

    El control ptimo cuadrtico consiste en la minimizacin de un ndice de desempeo o funcin de costo

    cuadrtico de tal forma que obtengamos del sistema una respuesta que se acerque lo ms posible a la ptima.

    El presente artculo se enfocar en el diseo de un control por ubicacin de polos y un control ptimo

    cuadrtico, ambos en tiempo discreto, para un sistema de pndulo invertido y un sistema de gra puente.

    El pndulo invertido es un sistema conformado por un pndulo montado sobre un carro impulsado por un motor.

    El objetivo a alcanzar es mantener el pndulo en posicin vertical tanto como sea posible y tener control sobre la

    posicin del carro.

    El sistema de gra 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 posicin determinada sin que

    la varilla oscile demasiado

  • .II. DESCRIPCIN DEL SISTEMA

    El sistema pndulo invertido/gra puente consiste de un carro de metal con una varilla que hace la funcin de

    pndulo. El carro se desplaza en un carril y es impulsado por un servomotor DC de imn permanente a travs de

    un sistema de poleas. Para accionar el servomotor existe un actuador PWM (Pulse Wide Modulation), cuyaetapa de potencia consiste de 4 conmutadores electrnicos en configuracin H. Para la medicin de la posicin

    del motor y de la varilla se usa un codificador ptico para cada uno. La informacin sensada se enva a un

    contador por medio de dos trenes de pulsos desfasados en 90 grados.

    El contador de pulsos transmite las seales digitales a una tarjeta de adquisicin de datos Lab-PC+. Asimismo,

    la tarjeta Lab-PC+ enva la seal de control hacia el actuador. En la Fig.1 se observa un esquema general del

    sistema.

    Fig.1a Sistema pndulo invertido

    Fig.1b Sistema gra puente

  • Fig.1c Esquema general del sistema

    III. MODELAMIENTO MATEMTICO DEL SISTEMA DE PNDULOINVERTIDO

    A.Modelamiento del sistema pndulo invertido.-Para mayor comodidad se ha separado el sistema pnduloinvertido 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 mecnico utilizamos la segunda ley de Newton para elmovimiento 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 elctrico se encuentra aplicando la ley de voltajes de Kirchhoff a la malla R - L de la

    Fig.3. Adems, debido a que la inductancia de motores DC de magneto permanente es pequea, podemos

    despreciar su efecto en el modelo. As obtenemos:

    Ra ia + Vb = KAu = Va (5)

    El voltaje contraelectromotriz est representado por:

    (6)

    Ahora en el sistema mecnico 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 ecuacin:

    (8)

    Para transformar el desplazamiento angular del motor en el desplazamiento horizontal del carro en funcin del

    radio de la polea y el factor de reduccin del motor, tenemos:

    (9)

    Con las ecuaciones anteriores obtenemos:

    (10)

    Las ecuaciones obtenidas sern representadas en el espacio de estados mediante la siguiente asignacin 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 eldesplazamiento del carro, tendremos como ecuacin de salida la siguiente expresin:

    y = Cx (22)

    donde:

  • (23)

    Para poder analizar la ecuacin (15) por mtodos de control lineal es necesario obtener un modelo lineal desta. Esta aproximacin lineal se puede obtener mediante la expansin en series de Taylor despreciando los

    trminos de orden superior. As la ecuacin (15) se convierte en:

    (24)

    donde:

    (25)

    (26)

    Para la discretizacin 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 tambin con el comando c2d o c2dm de MATLAB[2].

    IV. MODELAMIENTO MATEMTICO DEL SISTEMA DE GRA PUENTE

  • El modelamiento para el sistema gra puente es similar al caso del pndulo invertido. En este caso la varillaapunta hacia abajo. El subsistema motor-polea es el mismo que para el caso del pndulo invertido, por lo que

    podemos usar la frmula 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 estn dados por las ecuaciones: (16), (17), (18), (19), (20) y (21).

    y

    y = Cx (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. DISEO DEL CONTROL POR UBICACIN DE POLOS

    La tcnica de ubicacin de polos se basa en la realimentacin de todas las variables de estado en la

    determinacin adecuada de una matriz de ganancia de realimentacin, de tal forma que todos los polos del

    sistema en lazo cerrado queden ubicados en las localizaciones deseadas. En la mayora de los casos es necesario

    estimar aquellas variables no medibles. Esta estimacin se realizar mediante la tcnica de observadores de

    estado.

    A.Diseo 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 osistemas con entrada de referencia.

    Considerando el siguiente sistema:

    x(k+1) = Gx(k) + Hu(k) (40)

    La seal de control u(k) dada por:

    u(k) = -Kx(k) (41)

    donde:

    K = [ K1 K2 Kn ] (42)

    es la matriz de ganacia de realimentacin de estados.

    Los pasos para el diseo del controlador por ubicacin de polos son[3]:

    1. Comprobar la completa controlabilidad del sistema, dada por la condicin:

    rango de M = orden del sistema (43)

    donde:

    M = [H GH ... Gn-1H] (44)

    2. Definir cuales sern los polos deseados, los que debern cumplir con los requerimientos basados en la

    respuesta transitoria y/o respuesta en frecuencia.

    Con los polos deseados hallamos los coeficientes de la ecuacin caracterstica 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 ecuacin caracterstica

    deseada.

    3. Dada la ecuacin caracterstica del sistema original:

    |zI - G| = zn n + a 1z n-1 + a 2 z

    n-2 + + a n

    (46)

    Hallamos sus coeficientes dados por a1, a2, , an.

    4. Hallamos la matriz de transformacin 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 realimentacin 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 frmula de Ackermann:

    K = [ 0 0 0 1 ][ HGH Gn-1 H ]-1 f (G)

    (50)

    donde:

    f (G) = Gn + a 1Gn-1 + + a n-1 G + a nI

    (51)

    B. Diseo del servosistema.- Ahora extenderemos el caso anterior para servosistemas. Generalmente es

    necesaria la inclusin de una accin integral en el servosistema para reducir los errores de estado estable. El

    esquema del servosistema con accin 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 seal 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.Diseo del observador.- En la Fig.6 podemos ver que las seales de entrada al observador son las seales

    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 laseal de entrada de la planta. La salida del observador ser la seal xe(k), la cual corresponde al vector de

    estado observado. Este vector xe(k) corresponde a la versin estimada del vector de estado x(k).

  • Fig.6 Observador de Estados

    El modelo dinmico del observador de estados mostrado en la Fig.6 est dado por la siguiente ecuacin:

    xe(k +1) = Gxe (k) + Hu(k) + Ke [y(k) - ye (k)]

    (58)

    donde Ke es la matriz de ganancia de realimentacin del observador. El objetivo del diseo es hallar una matriz

    de ganancia adecuada de realimentacin del observador Ke , de tal forma que los valores caractersticos de (G-

    KeC) disminuyan el error del observador.

    Antes de empezar el diseo del observador es necesario comprobar la completa observabilidad del sistema.

    Para el diseo del observador usaremos la funcin place del MATLAB[2]. La funcin place est basada enalgoritmos que no son tema de esta tesis por lo que slo nos limitaremos a su uso directo sin detallar los

    procedimientos usados en sta.

    D. Diseo del sistema de control del pndulo invertido.- Tenemos el siguiente sistema de control:

    x(k+1) = Gx(k) + Hu(k)

    y(k) = Cx(k)

    Para el diseo 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 Gi

    3*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 frmula de Ackermann dada por:

    Ki = [ 0 0 0 0 1 ] M-1 f (Gi)

    donde:

    f (Gi)=Gi5 + a 1GI

    4 + a 2GI3 + a 3GI

    2 + 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 estn dados por:

    u1=0.7165 u2=0.7165 u3=0.9000 u4= 0

    Para hallar la matriz de realimentacin del observador usaremos la funcin place del MATLAB de la siguientemanera:

    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. Diseo del sistema de control de la gra puente.-Aplicamos los mismos pasos que en el caso anterior:

    La matriz de controlabilidad est dada por:

    M=[Hi Gi*Hi Gi2*Hi Gi

    3*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 frmula de Ackermann dada por:

    Ki = [ 0 0 0 0 1 ] M-1 f (Gi)

    donde:

    f (Gi)=Gi5 + a 1GI

    4 + a 2GI3 + a 3GI

    2 + 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 estn dados por:

    uo1=0.1353 uo2=0.1353 uo3=0.9000

    uo4=0

    Para hallar la matriz de realimentacin del observador usamos la funcin place del MATLAB y obtenemos:

    VI. DISEO DEL CONTROL PTIMO CUADRTICO LINEAL

  • A.Diseo del controlador.-El problema del control ptimo consiste en que dada una condicin inicial x(o), se

    debe encontrar la secuencia adecuada de la seal de control ptima u(k) que transfiera el sistema a un estadofinal x(N) para el cual se minimice una funcin denominada funcin de costo o ndice de desempeo, en estecaso cuadrtico, de tal forma que obtengamos del sistema una respuesta ptima.

    Cuando el proceso de control es finito (N finita), la matriz de ganancia de realimentacin de estados K(k) es unamatriz variante en el tiempo.

    Pero para el caso en el que el proceso contina sin fin, es decir para N=8, la solucin del control ptimocuadrtico pasa a ser una solucin de estado estacionario. En este caso la matriz K(k) se convierte en una matriz

    constante K.

    El ndice de desempeo cuadrtico que utilizaremos es el siguiente:

    (59)

    DondeQ es una matriz hermtica definida positiva o semidefinida positiva y R es una matriz hermtica definida

    positiva.

    Las matrices Q y R son matrices de ponderacin.

    La solucin al problema de control ptimo cuadrtico de estado estacionario estar dada por las ecuacionessiguientes[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 ecuacin (60) se denomina ecuacin de Riccati, la ecuacin (61) es la ley de control y la ecuacin (62)representa la matriz de ganancia de realimentacin de estados.

    El valor mnimo del ndice de desempeo se puede hallar mediante la expresin:

    Jmin = 1/2 x*(0)Px(0) (63)

    Una forma de resolver la ecuacin (60) es usar la ecuacin de Riccati en estado no estacionario[3], pero

    invirtiendo la direccin 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 ecuacin empezamos con P(0) = 0, y vamos calculando en forma iterativa hasta obtener unvalor de P convergente. Luego de obtener la matriz P podemos calcular la matriz K, para luego obtener la ley de

    control.

  • B. Diseo del observador.- En esta seccin se darn las pautas para el diseo del observador de estadosmediante la minimizacin de un ndice de desempeo cuadrtico.

    El diagrama de bloques del observador de estados que disearemos es el mismo que el la seccin V y esta

    representado en la Fig.6.

    La ecuacin 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 realimentacin del observador.

    Para el diseo 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 desempeo ser:

    (68)

    La ecuacin de Riccati y la matriz Ke estn 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 ecuacin (69) podemos usar el mismo criterio que usamos para el diseo del control en estado

    estacionario. Para ello utilizamos la siguiente ecuacin recursiva:

    Pe(k + 1) = Qe + GPe(k)GT- GPe(k)C

    T[Re + CPe(k)CT]-1CPe(k)C

    T (71)

    C. Diseo del servosistema.- Para el diseo del sistema con entrada de referencia usaremos las ecuaciones(53), (54), (55), (56) y (57).

    D. Diseo del control del sistema del pndulo invertido

    Se eligieron las siguientes matrices R y Q :

  • R=[100],

    Y las matrices Re y Qe :

    ,

    Para el clculo de la ecuacin de Ricatti utilizaremos la ecuacin (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 clculo de la ecuacin de Ricatti del observador usamos la ecuacin (69) y obtenemos:

    E. Diseo del sistema de gra puente

    Se eligieron las matrices:

    R=[1],

    Y las matrices Re y Qe :

  • ,

    Para el clculo de la ecuacin de Ricatti y la matriz K utilizaremos la ecuacin (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 clculo de la ecuacin de Ricatti del observador usamos la ecuacin (69):

    VII. RESULTADOS Y CONCLUSIONES

    Las respuestas obtenidas se muestran en las Fig. 7, 8, 9 y 10. La seal de referencia para la posicin del carro

    es un escaln de valor 1.5. Como se puede ver las respuestas son estables. En el caso del pndulo invertido seobserva en la respuesta estacionaria un ciclo lmite que podra reducirse usando sensores ms precisos con un

    tamao de paso menor.

    Ambos algoritmos de control lineal tienen una respuesta satisfactoria siempre que las desviaciones de lasvariables alrededor de cero sean pequeas. El diseo 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 diseados responden en forma adecuada para un ngulo mximo de la

    varilla de unos 20 grados aproximadamente.

    Los dos algoritmos de control, puesto que son lineales, no consideran el hecho que la seal de entrada pueda

    presentar el fenmeno de saturacin. Debido a esto, para el caso del diseo por ubicacin de polos, debemosescoger los polos o variar la frecuencia de muestreo de tal forma que la amplitud de la seal de entrada en loposible no llegue a la saturacin. Igualmente en el caso del control ptimo se debe variar la matriz que da peso a

    la seal de entrada en la funcin de costo. Un peso mayor ocasiona un menor gasto de energa en la seal deentrada.

    La eleccin de los pesos en la funcin de costo del control ptimo cuadrtico se debe realizar considerando qu

  • seal queremos que tenga una mejor respuesta. Un mayor peso en una de las variables ocasionar una mejor

    respuesta en sta; pero disminuir el desempeo de las dems. Entonces es necesario balancear de formaadecuada los pesos de tal forma que obtengamos un desempeo general del sistema que se acerque lo msposible al ptimo.

    Fig.7a

    Fig.7b

    Fig.7 Respuestas del control por ubicacin de polos del sistema de pndulo invertido. a.Posicin del carro.

    b.ngulo de la varilla

  • Fig.8a

    Fig.8b

    Fig.8 Respuestas del control por ubicacin de polos del sistema de gra puente. a.Posicin del carro. b.ngulo

    de la varilla.

  • Fig.9a

    Fig.9b

    Fig.9 Respuestas del control ptimo cuadrtico del sistema de pndulo invertido. a.Posicin del carro. b.ngulo

    de la varilla.

  • Fig.10a

    Fig.10b

    Fig.10 Respuestas del control ptimo cuadrtico del sistema de gra puente. a.Posicin del carro. b.ngulo dela varilla.

    VIII. REFERENCIAS

    [1] Philips, Charles L., Digital Control System Analysis and Design, Prentice Hall Inc., second edition, NewJersey, 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., segundaedicin, 1996

    [4] Isermann, Rolf, Digital control Systems Volume 1, Springer-Verlag, second edition, Germany, 1989