Está en la página 1de 6

LEVANTAMIENTO Y CONTROL DE UN PENDULO INVERTIDO CON UN ESQUEMA DE CONTROL RECONFIGURABLE F. Casta os R.

Carrera ,1 n

Facultad de Ingenieria, UNAM, fcas7@yahoo.com Instituto de Ingenieria, UNAM, AP 70-472, 04510 Coyoacan, D.F., racm@pumas.iingen.unam.mx

Abstract: Se propone un esquema sencillo que lleva al pndulo del punto de e equilibrio estable al punto de equilibrio inestable con un control de posicin del o carro que hace entrar al pndulo en resonancia, y al entrar a la posicin vertical e o conmuta a un esquema de regulacin del pndulo. Para el diseo de los controles o e n se us LQR discreto. Se muestran los resultados por simulacin y experimentales. o o Como resultado de esta experiencia se tiene una plataforma que permite probar, de manera expedita, diferentes algoritmos de control en este sistema. Keywords: Pndulo invertido, Control optimo, Control digital. e

1. INTRODUCCION Un mecanismo muy utilizado hoy en d para a realizar tanto prcticas como proyectos de invesa tigacin es el pndulo invertido. El sistema ms o e a comn es el que est compuesto por un carro que u a se mueve libremente a lo largo de un eje y una barra que pende de l, pero tambin los hay del e e tipo rotacional (Misawa et al., 1995), de doble articulacin en un plano inclinado (Furuta, 1992) o y otros. El pndulo invertido es un sistema mecnico, de e a fase no m nima inestable en lazo abierto, que emula la dinmica de un artefacto volador, como a puede ser un cohete o un misil. Este tipo de sistema dinmico no lineal es ampliamente utilizado a para probar nuevas tcnicas de control, tanto en e simulacin como en la planta real. Los elementos o mecnicos de este sistema introducen fenmenos a o de friccin no modelable, zonas muertas y juego o (backlash), que son dif ciles de incluir en el modelado bsico del sistema. a
1

Se describe en este documento el trabajo realizado para levantar y regular al pndulo invere tido en su punto de equilibrio inestable. Para el levantamiento del pndulo se tienen algunos e antecedentes como el reportado por Mori (Mori et al., 1976) que implica un control en tiempo m nimo, y los de Astrm (Astrm and Furuta, o o 1996) y Yoshida (Yoshida, 1999) que plantean el levantamiento del pndulo como un sistema sube actuado y emplea conceptos de energ Como ana. tecedentes del control en la posicin vertical teno emos los reportados por Verde (Verde et al., 1996), que consisten de una ubicacin de polos con como pensacin de friccin esttica y de un control o o a H . Nuestra propuesta consiste en levantar al pndulo a partir de su posicin vertical hacia e o abajo con un algoritmo sencillo que contiene reglas heur sticas de tipo una condicin una accin o o (if - then), y regularlo en su posicin vertical con o una retroalimentacin de estado con ubicacin de o o polos ptima, diseada con un regulador lineal o n cuadrtico (LQR) y el modelo del sistema lineala izado en el punto de equilibrio inestable.

Responsable para nes de correspondencia

M1 g

ls

Fig. 1. Sistema Pndulo, Actuador, Computadora e Personal. El equipo original consist de un software, actua ador y pndulo invertido (amira, 1992). Su softe ware era un tanto limitado por lo que se desarroll o uno nuevo con el lenguaje de programacin C, que o por otro lado result ser un tanto exhaustivo para o su uso como plataforma para probar algoritmos de control. Para este trabajo se decidi utilizar o un lenguaje de programacin de alto nivel, como o lo es MATLAB en tiempo real en su opcin de o SIMULINK. Para poder usar esa herramienta fue necesario desarrollar un driver dedicado para la tarjeta interfaz que permite la comunicacin entre o la computadora personal antrin y el pndulo. o e

M0 g N

Fric r

Fig. 2. Diagrama de cuerpo libre del sistema carropndulo invertido e La PC utilizada contiene un procesador Pentium II, con un reloj de 400MHz y 128MB de memoria RAM. La interfaz que contiene es una tarjeta desarrollada por la compa amira, y est conna a stituida por convertidores A/D y D/A de 12 bits de resolucin, y un puerto paralelo para entrada o y salida de seales digitales; tambin contiene n e un contador en cuadratura para contabilizar las transiciones de un encoder ptico. o Se decidi usar MATLAB en su opcin de tiempo o o real para relizar el control, pero como la interfaz de amira no est entre los manejadores con a que cuenta MATLAB se tuvo que escribir uno en lenguaje C, para su integracin en el programa o de SIMULINK que lleva el procedimiento de levantamiento y control.

2. DESCRIPCION DEL SISTEMA El sistema se compone del pndulo invertido e LIP100 de la compa alemana amira GmbH, su na actuador y una computadora personal (PC), como lo muestra la gura 1. El eje por donde se desliza el carro tiene un metro de longitud, y la barra del pndulo una longitud de 56 cm. e En la computadora se encuentra el programa que realiza el control, as como la tarjeta interfaz amira; la PC se comunica con el pndulo a travs e e de un actuador, que est integrado bsicamente a a por: circuiter para sensores, amplicador de poa tencia para el motor de dc, acceso a seales de n medicin y control, potencimetros para provocar o o fallas y LEDs de sealamiento de status de opn eracin. Por otro lado, el pndulo est constituido o e a por un motor de dc, conectado al carro, por medio de una banda dentada, que se desliza sobre una barra de acero de seccin circular, y de l pende o e una barra que tiene una masa en su extremo. Este subsistema, barra-masa (el pndulo), oscila e libremente sobre baleros; se tiene un encoder incremental optico acoplado al pndulo para medir e su posicin angular, un tacmetro para medir la o o velocidad del motor y un potencimetro multio vueltas de precisin para determinar la posicin o o lineal del carro.

3. MODELO MATEMATICO Un diagrama simplicado del sistema carropndulo es mostrado en la gura 2, y con base en e l se procede a obtener su modelo. F es la fuerza e que ejerce el motor de DC sobre el carro y F ric es la fuerza de friccin viscosa que opone la barra o al movimiento, M0 es la masa del carro, M1 es la masa del pndulo, ls es la distancia del pivote al e centro de masa del pndulo, r es el desplazamiento e del carro y la posicin angular del pndulo. o e

3.1 Modelo no lineal El modelo se obtiene a partir de la segunda ley de Newton para movimiento traslacional y rotacional. El modelo no lineal resultante es + C M1 ls (r cos gsen) = 0 M r + Fr r + M1 ls ( sen cos ) = F
2

(1) (2)

2 donde = s + M1 ls y M = M0 + M1 , con s el momento de inercia del pndulo, C la constante de e friccin en el pivote y Fr la constante de friccin o o viscosa.

Tabla

1.

Parmetros del pndulo a e invertido


Valor 3.200 Kg 0.329 Kg 0.008 Kg m2 6.200 Kg/s 0.009 Kg m2 /s 0.440 m

La ecuacin de estado no lineal, de la forma x = o f (x,u) se obtiene a partir de las ecuaciones 1 y 2 y la siguiente denicin del estado x = [r r ]T o y la entrada u = F . x1 y x2 se denen de la forma usual x1 = x3 x2 = x4 mientras que x3 y x4 se obtienen a partir de 1 y 2. Haciendo = M1 ls 2 g sin x2 cos x2 Fr x3 M 2 cos2 x2 M 2 cos2 x2 C cos x2 sin x2 x4 + x2 + M 2 cos2 x2 M 2 cos2 x2 4 + u (3) M 2 cos2 x2 M g sin x2 Fr cos x2 x4 = 2 cos2 x M M 2 cos2 x2 2 2 g sin x2 cos x2 2 MC + x + 2 cos2 x M M 2 cos2 x2 4 2 cos x2 + u (4) M 2 cos2 x2 x3 =

Parmetro a M0 M1 s Fr C ls

Tabla 2. Parmetros de normalizacin a o


Parmetro a n1 n2 n3 n4 Kf Valor 14.90 V /m 52.27 V /rad -7.64 V s/m 52.27 V s/rad 2.60 N/V

Los parmetros nominales para este pndulo, proa e porcionados por el constructor, estn dados en la a tabla 1.

3.3 Modelo discreto El modelo con el que se hace la s ntesis del controlador es el modelo discreto normalizado, para lo cual se dene al estado normalizado como xn (t) = N x(t), con N = diag(n1 , n2 , n3 , n4 ), y la entrada normalizada como un (t) = Kf u(t). Los parmetros de normalizacin estn dados en la a o a tabla 2. El periodo de muestreo se estim con base en el o polo ms rpido del pndulo, esto es -4.83 1/s. a a e Con base en la propuesta de Franklin (Franklin et al., 1998), en la que propone 20 < s < 40, s es b la frecuencia de muestreo y b el ancho de banda; suponiendo b = 4.83 y el l mite superior da como resultado un periodo de 32.5 milisegundos. Se tom T = 30 ms. Considerando un retenedor de o orden cero sin retraso en la entrada de la planta y el periodo de muestreo anterior, se obtienen las ecuaciones 7 y 8 a partir de las ecuaciones 5 y 6 normalizadas xn (k + 1) = Ad xn (k) + Bd un (k) yn (k) = Cd xn (k) + Dd un (k) (7) (8)

3.2 Modelo linealizado El modelo a emplear es una representacin de eso tado obtenida a partir de una linealizacin usando o una expansin en series de Taylor. Se linealizan las o ecuaciones 3 y 4 alrededor del punto de operacin o xo = [0 0 0 0]T , dando como resultado 0 0 x(t) = 0 0 1 y(t) = 0 0 0 0 a32 a42 00 10 01
2

donde a32 =

0 1 0 0 0 1 x(t) + u(t) (5) b3 a33 a34 a43 a44 b4 0 0 x(t) (6) 0 Fr

, a33 = , M (M1 ls )2 M (M1 ls )2 M1 ls C M1 ls M g a34 = , 2 , a42 = M (M1 ls ) M (M1 ls )2 M1 ls Fr MC a43 = , 2 , a44 = M (M1 ls ) M (M1 ls )2 M1 ls b3 = , b4 = , M (M1 ls )2 M (M1 ls )2 y u = F.

(M1 ls ) g

4. LEVANTAMIENTO Y CONTROL La gura 3 muestra el diagrama de ujo del programa en Simulink que levanta y controla al pndulo. Inicia intentando levantar al pndulo e e hacindolo entrar en resonancia, vercando en e cada ciclo si el ngulo es menor a 10 sin un a tiempo l mite para ello; cuando nalmente el a ngulo est dentro del rango, el programa cona muta al algoritmo de control, como se describe abajo.

4.1 Levantamiento del pndulo e

Inicio

Una alternativa para levantar el pndulo es e hacindolo entrar en resonancia (Feynman et al., e 1969), al excitarlo con una seal que tuviera la n misma frecuencia natural del pndulo. Pero esto e slo funcionar para un pndulo ideal, ya que o a e un pndulo real es un sistema no lineal con una e friccin que no es constante, por lo que el periodo o de oscilacin var y depende, entre otras causas, o a de las condiciones iniciales y de la friccin seca. o Si bien el sistema carro-pndulo es un sistema e acoplado, esta propuesta considera al carro como ente unico y la presencia del pndulo como una e perturbacin. De esta manera se puede decir que o el carro se mueve de forma independiente del pndulo, pero a su vez la fuerza ejercida sobre e el pivote del pndulo tiene el mismo periodo que e la seal de excitacin del carro, as de manera n o , indirecta, se hace entrar en resonancia al pndulo. e La propuesta de este trabajo es hacer una identicacin en tiempo real del periodo natural del o pndulo, para que la seal de excitacin tenga e n o ese mismo periodo y haga entrar en resonancia al pndulo. Esta medicin indirecta del periodo e o consiste en determinar en qu momento la vee locidad angular se hace cero, cuando se detecta esta condicin la referencia rd (t), que es una seal o n cuadrada de periodo variable, conmuta entre los valores [rm , rm ] bajo la siguiente ley rm si = 0 y en cuadrante 2 o 3 rd (t) = r si = 0 y en cuadrante 1 o 4
m

Velocidad angular < umbral ? Si

No

Angulo en cuadrantes No 2o3? Si ref = extemo derecho

ref = extremo izquierdo ref = ref anterior

Generacion de comando de control

Fin

Fig. 4. Diagrama de ujo del levantamiento del pndulo. e semilongitud de la barra. El cuadrante 2 corresponde a [0, /2] en concordancia con la gura 2, creciendo en sentido antihorario. En cada ciclo, ver gura 4, se estima la velocidad angular y cuando sta es menor que un cierto ume bral, determinado de manera experimental, signica que se est llegando al l a mite del medio periodo, por lo que se env el carro al extremo a contrario para aumentar el tamao de las oscilan ciones. Cuando la velocidad angular no es cero se mantiene la misma referencia. El carro es un sistema de segundo orden, en el que de manera arbitraria se ubican sus polos para variar su velocidad de respuesta. El valor de los polos depende de que el carro se desplace a una velocidad tal que el pndulo pueda llegar a la e posicin vertical hacia arriba. Para la asignacin o o de polos se utiliz tanto la frmula de Ackermann o o como LQR (con Qc = diag[300 10] y Rc = 1). Cuando el pndulo se encuentra dentro del e rango de 10 , ya no se pasa por esta parte del programa, se pasa al algoritmo de control del pndulo; a no ser que se caiga el pndulo, entonces e e se continua con el algoritmo de levantamiento.

La seal de referencia es un comando de posicin n o para un control del carro, donde la presencia del pndulo es considerada como una perturbacin. e o rm es un valor constante arbitrario menor que la

< 10 ?
Si Algoritmo de control

No

Levantamiento del Pndulo

4.2 Algoritmo de control Fig. 3. Diagrama de ujo del programa que levanta y controla al pndulo e El control del sistema carro-pndulo consiste en e una retroalimentacin de estado con un regulador o

CONTROL (N)

40 20 0 20 40 0 50 0.5 1 1.5 2 2.5 3 3.5 4 (a)

(b) 0.5 1 1.5 2 2.5 3 3.5 4

50 0 0

NGULO ()

100 200 300 0

(c)

el levantamiento se hizo una ubicacin de polos o o ptima (ya que la ubicacin de polos usada en o simulacin no funcion en la prctica), quedando o o a stos en (6.7013101 j8.2049 102 ). En la e grca (a) se muestra el comportamiento de la a seal de control, en (b) los desplazamientos del n carro, y en (c) la posicin angular del pndulo. o e Al tiempo t0 se inicia la operacin y en t1 el o pndulo ingresa al rango de los 10 , por lo e que el programa conmuta a la rutina de control, enviando el estado al reposo. Una vez levantado, el control LQR fue sometido a una serie de pruebas para observar su desempeo. n La primera prueba se realiz al tiempo t2 (ver o grcas en la gura 7), en la que se somete al a pndulo a una perturbacin equivalente a un ime o pulso de fuerza actuante sobre la masa del pndulo e y perpendicular al brazo. En t3 se da un comando de cambio de posicin, donde se le ordena moverse o del centro a un extremo de la barra (40 cm). En t4 se incrementa la masa del pndulo, sobreponiendo e una pesa, de aproximadamente el 20% de la masa original, en el extremo superior del pndulo, y e se da un comando de cambio de posicin (se le o regresa al origen). En todos los casos anteriores, se observa que ante la presencia de perturbaciones, externas (impulso) e internas (cambio de masa), as como de coman dos extremos, el control propuesto es capaz de mantener la regulacin. o El periodo terico del pndulo es de 1.33 s, en la o e prctica se tuvo un periodo promedio de 1.6 s. El a umbral para determinar que la velocidada angular se acerca a cero fue de 0.77 /s. 7. CONCLUSIONES

POSICIN (cm)

0.5

1.5

2 TIEMPO (s)

2.5

3.5

Fig. 5. Resultado de la simulacin del levano tamiento y control del pndulo invertido e cuadrtico lineal (LQR, por sus siglas en ingls), a e con ndice de desempeo n J=
N X (xT (k)Qxn (k) + uT (k)Ru(k)) n

k=0

en donde en Q se le da mayor peso a r y . Como se tienen sensores para las posiciones lineal y angular, as como para la velocidad lineal, pero no para la velocidad angular, sta es estimada por e medio de un observador de Luenberger. La optimacin se realiza con la funcin lqrd de o o Matlab, que resuelve la ecuacin de Riccati reo sultante. La ley de control es u = Kx, donde K = r1 B T S, S la solucin de la ecuacin de o o Riccati. Se us Q = diag[650 100 20 10], y R = 1. o

5. SIMULACION Con base en la propuesta para el levantamiento, con una ubicacin de polos en (0.5 y 0.5) para el o control del carro y el control del pndulo prope uesto, se hicieron simulaciones con el modelo no lineal de la planta y la friccin no lineal reportada o por Verde (Verde et al., 1996). La simulacin se o realiz con SIMULINK y los resultados se mueso tran en la grca 5. a En la curva (a) se muestra la seal de control. n donde se puede apreciar la conmutacin al control o del pndulo a los 2.25 segundos. En (b) se tiene e la posicin del carro y en (c) la posicin angular o o del pndulo. En esta ultima se pueden apreciar e las oscilaciones que van de los 180 a 0 , donde el pndulo queda atrapado. e Inicialmente se hicieron pruebas para levantar al pndulo con una seal de periodo constante igual e n
CONTROL (N)

50

0 (a) 50 50

POSICIN (cm)

(b)

50 300 200 100 0


t0

NGULO ()

(c) 14 15 16 TIEMPO (s) 17

t1

13

18

19

6. RESULTADOS EXPERIMENTALES En la gura 6 se muestran las grcas del proceso a del levantamiento y control del pndulo. Para e Fig. 6. Levantamiento del pndulo. En t0 se inicia e la operacin y en t1 el pndulo ya se encueno e tra levantado.

CONTROL (N)

50

0 t2 t3 t4

50 40 20 0

20 40 5

0 5 10 14 16 18 20 22 TIEMPO (s) 24 26 28 30

Fig. 7. Control del pndulo a una perturbacin e o externa y a variacin de un parmetro o a a la del pndulo ideal, pero ste no se levant en e e o ningun intento, cosa que s se logr con nuestra o propuesta. Desafortunadamente no se tuvo xito e en todos los casos, por lo que consideramos seguir trabajando en anar esta propuesta; probablemente el hecho de no tener xito en el levane tamiento se deba a la suposicin de considerar o slo el modelo de segundo orden para el carro. o En futuros trabajos tendr que considerarse el a acoplamiento del carro con el pndulo. e Entre las bondades de este sistema est el hecho a de que quien utilice esta plataforma no tiene que desarrollar los manejadores de la interfaz de entrada/salida, estos ya estn integrados en el a modelo SIMULINK correspondiente. Lo unico que tiene que hacer es generar las matrices y vectores necesarios para realizar el control en lazo cerrado. Se ha adquirido una experiencia invaluable en el manejo de sistemas mecnicos por medio de una a computadora personal y a travs de una interfaz e electrnica, que ha logrado que en este momento, o con la ayuda de MATLAB y el equipo LIP 100, tengamos una plataforma con la que tanto investigadores como estudiantes puedan vericar algoritmos avanzados para el levantamiento y/o control de un pndulo invertido. Estos algoritmos podrn e a ser realizados con cualquier teor lqr, control no a: lineal, lgica difusa, redes neuronales, etc. Ello o con el n de realizar proyectos de investigacin o aplicables a este tipo de plantas.

Feynman, R., R. Leighton and M. Sands (1969). The Feynman lectures on physics. Adison Wesley. USA. Franklin, G., J. Powell and M. Workman (1998). Digital control of dynamic systems. Adison Wesley. Menlo Park. Furuta, K. (1992). A new inverted pendulum apparatus for education. In: 1992 American Control Conference. Vol. 3. The American Automatic Control Council. pp. 191196. Misawa, E., M. Arrington and T. Ledgerwood (1995). Rotational inverted pnedulum: A new control experiment. In: 1995 American Control Conference. Vol. 1. The American Automatic Control Council. Seattle. pp. 2933. Mori, S., H. Hishihara and K. Furuta (1976). Control of unstable mechanical system, control of a pendulum. Int. J. Control 23, 673692. Verde, C., J. Ramos and R. Barrera (1996). Experiments for analysis and design of robust controllers: the inverted pendulum case. In: 13th World Congress of IFAC. Vol. G. San Francisco. pp. 5358. Yoshida, K. (1999). Swing-up control of an inverted pendulum by energy-based methods. In: 1999 American Control Conference. San Diego, California. pp. 40454047.

NGULO ()

POSICIN (cm)

REFERENCIAS amira (1992). LIP 100 Inverted Pendulum. amira GmbH. Duisburg. Astrm, K. J. and K. Furuta (1996). Swinging up o a pendulum by energy control. In: 13th World Congress of IFAC. Vol. G. San Francisco. http://www.control.lth.se/ kja/furutapaper.pdf.

También podría gustarte