penduloinvertido1.pdf

6
LEVANTAMIENTO Y CONTROL DE UN P ´ ENDULO INVERTIDO CON UN ESQUEMA DE CONTROL RECONFIGURABLE F. Casta˜ nos R. Carrera ∗∗,1 Facultad de Ingenieria, UNAM, [email protected] ∗∗ Instituto de Ingenieria, UNAM, AP 70-472, 04510 Coyoacan, D.F., [email protected] Abstract: Se propone un esquema sencillo que lleva al p´ endulo del punto de equilibrio estable al punto de equilibrio inestable con un control de posici´on del carro que hace entrar al p´ endulo en resonancia, y al entrar a la posici´on vertical conmuta a un esquema de regulaci´on del p´ endulo. Para el dise˜ no de los controles se us´ o LQR discreto. Se muestran los resultados por simulaci´on y experimentales. Como resultado de esta experiencia se tiene una plataforma que permite probar, de manera expedita, diferentes algoritmos de control en este sistema. Keywords: P´ endulo invertido, Control ´ optimo, Control digital. 1. INTRODUCCI ´ ON Un mecanismo muy utilizado hoy en d´ ıa para realizar tanto pr´acticas como proyectos de inves- tigaci´on es el p´ endulo invertido. El sistema m´as com´ un es el que est´ a compuesto por un carro que se mueve libremente a lo largo de un eje y una barra que pende de ´ el, pero tambi´ en los hay del tipo rotacional (Misawa et al., 1995), de doble articulaci´ on en un plano inclinado (Furuta, 1992) y otros. El p´ endulo invertido es un sistema mec´anico, de fase no m´ ınima inestable en lazo abierto, que emula la din´ amica de un artefacto volador, como puede ser un cohete o un misil. Este tipo de sis- tema din´ amico no lineal es ampliamente utilizado para probar nuevas t´ ecnicas de control, tanto en simulaci´on como en la planta real. Los elementos mec´ anicos de este sistema introducen fen´omenos de fricci´on no modelable, zonas muertas y juego (backlash ), que son dif´ ıciles de incluir en el mod- elado b´asico del sistema. 1 Responsable para nes de correspondencia Se describe en este documento el trabajo real- izado para levantar y regular al p´ endulo inver- tido en su punto de equilibrio inestable. Para el levantamiento del p´ endulo se tienen algunos antecedentes como el reportado por Mori (Mori et al., 1976) que implica un control en tiempo ınimo, y los de Astr¨om (Astr¨om and Furuta, 1996) y Yoshida (Yoshida, 1999) que plantean el levantamiento del p´ endulo como un sistema sub- actuado y emplea conceptos de energ´ ıa. Como an- tecedentes del control en la posici´ on vertical ten- emos los reportados por Verde (Verde et al., 1996), que consisten de una ubicaci´on de polos con com- pensaci´ on de fricci´on est´ atica y de un control H . Nuestra propuesta consiste en levantar al endulo a partir de su posici´on vertical hacia abajo con un algoritmo sencillo que contiene re- glas heur´ ısticas de tipo una condici´on una acci´on (if - then ), y regularlo en su posici´ on vertical con una retroalimentaci´on de estado con ubicaci´on de polos ´optima, dise˜ nada con un regulador lineal cuadr´atico (LQR) y el modelo del sistema lineal- izado en el punto de equilibrio inestable.

Upload: julio-barrera

Post on 25-Nov-2015

10 views

Category:

Documents


0 download

TRANSCRIPT

  • LEVANTAMIENTO Y CONTROL DE UNPENDULO INVERTIDO CON UN ESQUEMA

    DE CONTROL RECONFIGURABLE

    F. Castanos R. Carrera ,1

    Facultad de Ingenieria, UNAM, [email protected] Instituto de Ingenieria, UNAM, AP 70-472, 04510Coyoacan, D.F., [email protected]

    Abstract: Se propone un esquema sencillo que lleva al pendulo del punto deequilibrio estable al punto de equilibrio inestable con un control de posicion delcarro que hace entrar al pendulo en resonancia, y al entrar a la posicion verticalconmuta a un esquema de regulacion del pendulo. Para el diseno de los controlesse uso LQR discreto. Se muestran los resultados por simulacion y experimentales.Como resultado de esta experiencia se tiene una plataforma que permite probar,de manera expedita, diferentes algoritmos de control en este sistema.

    Keywords: Pendulo invertido, Control optimo, Control digital.

    1. INTRODUCCION

    Un mecanismo muy utilizado hoy en da pararealizar tanto practicas como proyectos de inves-tigacion es el pendulo invertido. El sistema mascomun es el que esta compuesto por un carro quese mueve libremente a lo largo de un eje y unabarra que pende de el, pero tambien los hay deltipo rotacional (Misawa et al., 1995), de doblearticulacion en un plano inclinado (Furuta, 1992)y otros.

    El pendulo invertido es un sistema mecanico, defase no mnima inestable en lazo abierto, queemula la dinamica de un artefacto volador, comopuede ser un cohete o un misil. Este tipo de sis-tema dinamico no lineal es ampliamente utilizadopara probar nuevas tecnicas de control, tanto ensimulacion como en la planta real. Los elementosmecanicos de este sistema introducen fenomenosde friccion no modelable, zonas muertas y juego(backlash), que son difciles de incluir en el mod-elado basico del sistema.

    1 Responsable para fines de correspondencia

    Se describe en este documento el trabajo real-izado para levantar y regular al pendulo inver-tido en su punto de equilibrio inestable. Parael levantamiento del pendulo se tienen algunosantecedentes como el reportado por Mori (Moriet al., 1976) que implica un control en tiempomnimo, y los de Astrom (Astrom and Furuta,1996) y Yoshida (Yoshida, 1999) que plantean ellevantamiento del pendulo como un sistema sub-actuado y emplea conceptos de energa. Como an-tecedentes del control en la posicion vertical ten-emos los reportados por Verde (Verde et al., 1996),que consisten de una ubicacion de polos con com-pensacion de friccion estatica y de un controlH. Nuestra propuesta consiste en levantar alpendulo a partir de su posicion vertical haciaabajo con un algoritmo sencillo que contiene re-glas heursticas de tipo una condicion una accion(if - then), y regularlo en su posicion vertical conuna retroalimentacion de estado con ubicacion depolos optima, disenada con un regulador linealcuadratico (LQR) y el modelo del sistema lineal-izado en el punto de equilibrio inestable.

  • Fig. 1. Sistema Pendulo, Actuador, ComputadoraPersonal.

    El equipo original consista de un software, actu-ador y pendulo invertido (amira, 1992). Su soft-ware era un tanto limitado por lo que se desarrollouno nuevo con el lenguaje de programacion C, quepor otro lado resulto ser un tanto exhaustivo parasu uso como plataforma para probar algoritmosde control. Para este trabajo se decidio utilizarun lenguaje de programacion de alto nivel, comolo es MATLAB en tiempo real en su opcion deSIMULINK. Para poder usar esa herramienta fuenecesario desarrollar un driver dedicado para latarjeta interfaz que permite la comunicacion entrela computadora personal anfitrion y el pendulo.

    2. DESCRIPCION DEL SISTEMA

    El sistema se compone del pendulo invertidoLIP100 de la compana alemana amira GmbH, suactuador y una computadora personal (PC), comolo muestra la figura 1. El eje por donde se deslizael carro tiene un metro de longitud, y la barra delpendulo una longitud de 56 cm.

    En la computadora se encuentra el programa querealiza el control, as como la tarjeta interfazamira; la PC se comunica con el pendulo a travesde un actuador, que esta integrado basicamentepor: circuitera para sensores, amplificador de po-tencia para el motor de dc, acceso a senales demedicion y control, potenciometros para provocarfallas y LEDs de senalamiento de status de op-eracion. Por otro lado, el pendulo esta constituidopor un motor de dc, conectado al carro, por mediode una banda dentada, que se desliza sobre unabarra de acero de seccion circular, y de el pendeuna barra que tiene una masa en su extremo.Este subsistema, barra-masa (el pendulo), oscilalibremente sobre baleros; se tiene un encoder in-cremental optico acoplado al pendulo para medirsu posicion angular, un tacometro para medir lavelocidad del motor y un potenciometro multi-vueltas de precision para determinar la posicionlineal del carro.

    0M g

    M g1

    Fric

    N r

    ls

    F

    Fig. 2. Diagrama de cuerpo libre del sistema carro-pendulo invertido

    La PC utilizada contiene un procesador PentiumII, con un reloj de 400MHz y 128MB de memoriaRAM. La interfaz que contiene es una tarjetadesarrollada por la compana amira, y esta con-stituida por convertidores A/D y D/A de 12 bitsde resolucion, y un puerto paralelo para entraday salida de senales digitales; tambien contieneun contador en cuadratura para contabilizar lastransiciones de un encoder optico.

    Se decidio usar MATLAB en su opcion de tiemporeal para relizar el control, pero como la inter-faz de amira no esta entre los manejadores conque cuenta MATLAB se tuvo que escribir uno enlenguaje C, para su integracion en el programade SIMULINK que lleva el procedimiento de lev-antamiento y control.

    3. MODELO MATEMATICO

    Un diagrama simplificado del sistema carro-pendulo es mostrado en la figura 2, y con base enel se procede a obtener su modelo. F es la fuerzaque ejerce el motor de DC sobre el carro y Frices la fuerza de friccion viscosa que opone la barraal movimiento, M0 es la masa del carro, M1 es lamasa del pendulo, ls es la distancia del pivote alcentro de masa del pendulo, r es el desplazamientodel carro y la posicion angular del pendulo.

    3.1 Modelo no lineal

    El modelo se obtiene a partir de la segundaley de Newton para movimiento traslacional yrotacional. El modelo no lineal resultante es

    + C

    M1ls(

    r cos gsen) = 0 (1)

    Mr + Fr

    r +M1ls(

    2

    sen cos) = F (2)

  • donde = s+M1l2s y M =M0+M1, con s elmomento de inercia del pendulo, C la constante defriccion en el pivote y Fr la constante de friccionviscosa.

    La ecuacion de estado no lineal, de la formax =

    f(x,u) se obtiene a partir de las ecuaciones 1 y 2

    y la siguiente definicion del estado x = [r r]T

    y la entrada u = F .x1 y

    x2 se definen de la forma

    usual

    x1 = x3x2 = x4

    mientras quex3 y

    x4 se obtienen a partir de 1 y

    2. Haciendo =M1ls

    x3 =

    2g sinx2 cosx2M 2 cos2 x2

    FrM 2 cos2 x2

    x3

    C cosx2M 2 cos2 x2

    x4 + sinx2

    M 2 cos2 x2x24 +

    +

    M 2 cos2 x2u (3)

    x4 =

    Mg sinx2M 2 cos2 x2

    Fr cosx2M 2 cos2 x2

    MCM 2 cos2 x2

    +2g sinx2 cosx2M 2 cos2 x2

    x24 +

    + cosx2

    M 2 cos2 x2u (4)

    3.2 Modelo linealizado

    El modelo a emplear es una representacion de es-tado obtenida a partir de una linealizacion usandouna expansion en series de Taylor. Se linealizan lasecuaciones 3 y 4 alrededor del punto de operacionxo = [0 0 0 0]

    T , dando como resultado

    x(t) =

    0 0 1 00 0 0 10 a32 a33 a340 a42 a43 a44

    x(t) +

    00b3b4

    u(t) (5)

    y(t) =

    1 0 0 00 1 0 00 0 1 0

    x(t) (6)

    donde

    a32 =(M1ls)

    2g

    M (M1ls)2, a33 =

    FrM (M1ls)2

    ,

    a34 = M1lsC

    M (M1ls)2, a42 =

    M1lsMg

    M (M1ls)2,

    a43 = M1lsFr

    M (M1ls)2, a44 =

    MC

    M (M1ls)2,

    b3 =

    M (M1ls)2, b4 =

    M1ls

    M (M1ls)2,

    y u = F.

    Tabla 1. Parametros del penduloinvertido

    Parametro Valor

    M0 3.200 KgM1 0.329 Kgs 0.008 Kg m2Fr 6.200 Kg/sC 0.009 Kg m2/sls 0.440 m

    Tabla 2. Parametros de normalizacion

    Parametro Valor

    n1 14.90 V/mn2 52.27 V/radn3 -7.64 V s/mn4 52.27 V s/radKf 2.60 N/V

    Los parametros nominales para este pendulo, pro-porcionados por el constructor, estan dados en latabla 1.

    3.3 Modelo discreto

    El modelo con el que se hace la sntesis delcontrolador es el modelo discreto normalizado,para lo cual se define al estado normalizado comoxn(t) = Nx(t), con N = diag(n1, n2, n3, n4), y laentrada normalizada como un(t) = Kfu(t). Losparametros de normalizacion estan dados en latabla 2.

    El periodo de muestreo se estimo con base en elpolo mas rapido del pendulo, esto es -4.83 1/s.Con base en la propuesta de Franklin (Franklin etal., 1998), en la que propone 20 < sb < 40, s esla frecuencia de muestreo y b el ancho de banda;suponiendo b = 4.83 y el lmite superior da comoresultado un periodo de 32.5 milisegundos. Setomo T = 30 ms. Considerando un retenedor deorden cero sin retraso en la entrada de la plantay el periodo de muestreo anterior, se obtienen lasecuaciones 7 y 8 a partir de las ecuaciones 5 y 6normalizadas

    xn(k + 1) = Adxn(k) +Bdun(k) (7)

    yn(k) = Cdxn(k) +Ddun(k) (8)

    4. LEVANTAMIENTO Y CONTROL

    La figura 3 muestra el diagrama de flujo delprograma en Simulink que levanta y controla alpendulo. Inicia intentando levantar al pendulohaciendolo entrar en resonancia, verficando encada ciclo si el angulo es menor a 10 sin untiempo lmite para ello; cuando finalmente elangulo esta dentro del rango, el programa con-muta al algoritmo de control, como se describeabajo.

  • 4.1 Levantamiento del pendulo

    Una alternativa para levantar el pendulo eshaciendolo entrar en resonancia (Feynman et al.,1969), al excitarlo con una senal que tuviera lamisma frecuencia natural del pendulo. Pero estosolo funcionara para un pendulo ideal, ya queun pendulo real es un sistema no lineal con unafriccion que no es constante, por lo que el periodode oscilacion vara y depende, entre otras causas,de las condiciones iniciales y de la friccion seca.

    Si bien el sistema carro-pendulo es un sistemaacoplado, esta propuesta considera al carro comoente unico y la presencia del pendulo como unaperturbacion. De esta manera se puede decir queel carro se mueve de forma independiente delpendulo, pero a su vez la fuerza ejercida sobreel pivote del pendulo tiene el mismo periodo quela senal de excitacion del carro, as, de maneraindirecta, se hace entrar en resonancia al pendulo.

    La propuesta de este trabajo es hacer una iden-tificacion en tiempo real del periodo natural delpendulo, para que la senal de excitacion tengaese mismo periodo y haga entrar en resonanciaal pendulo. Esta medicion indirecta del periodoconsiste en determinar en que momento la ve-locidad angular se hace cero, cuando se detectaesta condicion la referencia rd(t), que es una senalcuadrada de periodo variable, conmuta entre losvalores [rm, rm] bajo la siguiente ley

    rd(t) =

    rm si

    = 0 y en cuadrante 2 o 3

    rm si = 0 y en cuadrante 1 o 4

    La senal de referencia es un comando de posicionpara un control del carro, donde la presencia delpendulo es considerada como una perturbacion.rm es un valor constante arbitrario menor que la

    Levantamiento delPndulo

    < 10 ? No

    Si

    de controlAlgoritmo

    Fig. 3. Diagrama de flujo del programa que lev-anta y controla al pendulo

    Inicio

    Angulo en cuadrantes

    ref = extemo derecho

    ref = extremo izquierdo

    ref = ref anterior

    Generacion de comandode control

    Fin

    Si

    No

    Si

    No< umbral ?

    Velocidad angular

    2 o 3 ?

    Fig. 4. Diagrama de flujo del levantamiento delpendulo.

    semilongitud de la barra. El cuadrante 2 corre-sponde a [0,/2] en concordancia con la figura2, creciendo en sentido antihorario.

    En cada ciclo, ver figura 4, se estima la velocidadangular y cuando esta es menor que un cierto um-bral, determinado de manera experimental, sig-nifica que se esta llegando al lmite del medioperiodo, por lo que se enva el carro al extremocontrario para aumentar el tamano de las oscila-ciones. Cuando la velocidad angular no es cero semantiene la misma referencia.

    El carro es un sistema de segundo orden, en elque de manera arbitraria se ubican sus polos paravariar su velocidad de respuesta. El valor de lospolos depende de que el carro se desplace a unavelocidad tal que el pendulo pueda llegar a laposicion vertical hacia arriba. Para la asignacionde polos se utilizo tanto la formula de Ackermanncomo LQR (con Qc = diag[300 10] y Rc =1). Cuando el pendulo se encuentra dentro delrango de 10, ya no se pasa por esta partedel programa, se pasa al algoritmo de control delpendulo; a no ser que se caiga el pendulo, entoncesse continua con el algoritmo de levantamiento.

    4.2 Algoritmo de control

    El control del sistema carro-pendulo consiste enuna retroalimentacion de estado con un regulador

  • 0 0.5 1 1.5 2 2.5 3 3.5 44020

    02040

    CONT

    ROL

    (N)

    0 0.5 1 1.5 2 2.5 3 3.5 450

    0

    50

    POSI

    CIN

    (cm)

    0 0.5 1 1.5 2 2.5 3 3.5 4300

    200

    100

    0

    TIEMPO (s)

    NGU

    LO (

    )(a)

    (b)

    (c)

    Fig. 5. Resultado de la simulacion del levan-tamiento y control del pendulo invertido

    cuadratico lineal (LQR, por sus siglas en ingles),con ndice de desempeno

    J =NXk=0

    (xTn (k)Qxn(k) + uT (k)Ru(k))

    en donde en Q se le da mayor peso a r y .Como se tienen sensores para las posiciones linealy angular, as como para la velocidad lineal, perono para la velocidad angular, esta es estimada pormedio de un observador de Luenberger.

    La optimacion se realiza con la funcion lqrd deMatlab, que resuelve la ecuacion de Riccati re-sultante. La ley de control es u = Kx, dondeK = r1BTS, S la solucion de la ecuacion deRiccati. Se uso Q = diag[650 100 20 10], y R = 1.

    5. SIMULACION

    Con base en la propuesta para el levantamiento,con una ubicacion de polos en (0.5 y 0.5) para elcontrol del carro y el control del pendulo prop-uesto, se hicieron simulaciones con el modelo nolineal de la planta y la friccion no lineal reportadapor Verde (Verde et al., 1996). La simulacion serealizo con SIMULINK y los resultados se mues-tran en la grafica 5.

    En la curva (a) se muestra la senal de control.donde se puede apreciar la conmutacion al controldel pendulo a los 2.25 segundos. En (b) se tienela posicion del carro y en (c) la posicion angulardel pendulo. En esta ultima se pueden apreciarlas oscilaciones que van de los 180 a 0, donde elpendulo queda atrapado.

    6. RESULTADOS EXPERIMENTALES

    En la figura 6 se muestran las graficas del procesodel levantamiento y control del pendulo. Para

    el levantamiento se hizo una ubicacion de polosoptima (ya que la ubicacion de polos usada ensimulacion no funciono en la practica), quedandoestos en (6.7013101 j8.2049 102). En lagrafica (a) se muestra el comportamiento de lasenal de control, en (b) los desplazamientos delcarro, y en (c) la posicion angular del pendulo.Al tiempo t0 se inicia la operacion y en t1 elpendulo ingresa al rango de los 10, por loque el programa conmuta a la rutina de control,enviando el estado al reposo.

    Una vez levantado, el control LQR fue sometido auna serie de pruebas para observar su desempeno.La primera prueba se realizo al tiempo t2 (vergraficas en la figura 7), en la que se somete alpendulo a una perturbacion equivalente a un im-pulso de fuerza actuante sobre la masa del penduloy perpendicular al brazo. En t3 se da un comandode cambio de posicion, donde se le ordena moversedel centro a un extremo de la barra (40 cm). En t4se incrementa la masa del pendulo, sobreponiendouna pesa, de aproximadamente el 20% de la masaoriginal, en el extremo superior del pendulo, yse da un comando de cambio de posicion (se leregresa al origen).

    En todos los casos anteriores, se observa que antela presencia de perturbaciones, externas (impulso)e internas (cambio de masa), as como de coman-dos extremos, el control propuesto es capaz demantener la regulacion.

    El periodo teorico del pendulo es de 1.33 s, en lapractica se tuvo un periodo promedio de 1.6 s. Elumbral para determinar que la velocidada angularse acerca a cero fue de 0.77 /s.

    7. CONCLUSIONES

    Inicialmente se hicieron pruebas para levantar alpendulo con una senal de periodo constante igual

    50

    0

    50

    CONT

    ROL

    (N)

    50

    0

    50

    POSI

    CIN

    (cm)

    13 14 15 16 17 18 190

    100200300

    TIEMPO (s)

    NGU

    LO (

    )

    (a)

    (b)

    (c) t0 t1

    Fig. 6. Levantamiento del pendulo. En t0 se iniciala operacion y en t1 el pendulo ya se encuen-tra levantado.

  • 50

    0

    50CO

    NTRO

    L (N

    )

    4020

    02040

    POSI

    CIN

    (cm)

    14 16 18 20 22 24 26 28 3010

    5

    0

    5

    TIEMPO (s)

    NGU

    LO (

    )

    t2 t3 t4

    Fig. 7. Control del pendulo a una perturbacionexterna y a variacion de un parametro

    a la del pendulo ideal, pero este no se levanto enningun intento, cosa que s se logro con nuestrapropuesta. Desafortunadamente no se tuvo exitoen todos los casos, por lo que consideramos seguirtrabajando en afinar esta propuesta; probable-mente el hecho de no tener exito en el levan-tamiento se deba a la suposicion de considerarsolo el modelo de segundo orden para el carro.En futuros trabajos tendra que considerarse elacoplamiento del carro con el pendulo.

    Entre las bondades de este sistema esta el hechode que quien utilice esta plataforma no tieneque desarrollar los manejadores de la interfaz deentrada/salida, estos ya estan integrados en elmodelo SIMULINK correspondiente. Lo unico quetiene que hacer es generar las matrices y vectoresnecesarios para realizar el control en lazo cerrado.

    Se ha adquirido una experiencia invaluable en elmanejo de sistemas mecanicos por medio de unacomputadora personal y a traves de una interfazelectronica, que ha logrado que en este momento,con la ayuda de MATLAB y el equipo LIP 100,tengamos una plataforma con la que tanto investi-gadores como estudiantes puedan verificar algorit-mos avanzados para el levantamiento y/o controlde un pendulo invertido. Estos algoritmos podranser realizados con cualquier teora: lqr, control nolineal, logica difusa, redes neuronales, etc. Ellocon el fin de realizar proyectos de investigacionaplicables a este tipo de plantas.

    REFERENCIAS

    amira (1992). LIP 100 Inverted Pendulum. amiraGmbH. Duisburg.

    Astrom, K. J. and K. Furuta (1996). Swinging upa pendulum by energy control. In: 13th WorldCongress of IFAC. Vol. G. San Francisco.http://www.control.lth.se/ kja/furutapaper.pdf.

    Feynman, R., R. Leighton and M. Sands (1969).The Feynman lectures on physics. AdisonWesley. USA.

    Franklin, G., J. Powell and M. Workman (1998).Digital control of dynamic systems. AdisonWesley. Menlo Park.

    Furuta, K. (1992). A new inverted pendulumapparatus for education. In: 1992 AmericanControl Conference. Vol. 3. The AmericanAutomatic Control Council. pp. 191196.

    Misawa, E., M. Arrington and T. Ledgerwood(1995). Rotational inverted pnedulum: A newcontrol experiment. In: 1995 American Con-trol Conference. Vol. 1. The American Auto-matic Control Council. Seattle. pp. 2933.

    Mori, S., H. Hishihara and K. Furuta (1976). Con-trol of unstable mechanical system, control ofa pendulum. Int. J. Control 23, 673692.

    Verde, C., J. Ramos and R. Barrera (1996). Ex-periments for analysis and design of robustcontrollers: the inverted pendulum case. In:13th World Congress of IFAC. Vol. G. SanFrancisco. pp. 5358.

    Yoshida, K. (1999). Swing-up control of an in-verted pendulum by energy-based methods.In: 1999 American Control Conference. SanDiego, California. pp. 40454047.