You are on page 1of 6

LEVANTAMIENTO Y CONTROL DE UN

PÉNDULO INVERTIDO CON UN ESQUEMA


DE CONTROL RECONFIGURABLE

F. Castaños ∗ R. Carrera ∗∗,1


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 péndulo del punto de


equilibrio estable al punto de equilibrio inestable con un control de posición del
carro que hace entrar al péndulo en resonancia, y al entrar a la posición vertical
conmuta a un esquema de regulación del péndulo. Para el diseño de los controles
se usó LQR discreto. Se muestran los resultados por simulación 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éndulo invertido, Control óptimo, Control digital.

1. INTRODUCCIÓN Se describe en este documento el trabajo real-


izado para levantar y regular al péndulo inver-
Un mecanismo muy utilizado hoy en dı́a para tido en su punto de equilibrio inestable. Para
realizar tanto prácticas como proyectos de inves- el levantamiento del péndulo se tienen algunos
tigación es el péndulo invertido. El sistema más antecedentes como el reportado por Mori (Mori
común es el que está compuesto por un carro que et al., 1976) que implica un control en tiempo
se mueve libremente a lo largo de un eje y una mı́nimo, y los de Aström (Aström and Furuta,
barra que pende de él, pero también los hay del 1996) y Yoshida (Yoshida, 1999) que plantean el
tipo rotacional (Misawa et al., 1995), de doble levantamiento del péndulo como un sistema sub-
articulación en un plano inclinado (Furuta, 1992) actuado y emplea conceptos de energı́a. Como an-
y otros. tecedentes del control en la posición vertical ten-
emos los reportados por Verde (Verde et al., 1996),
El péndulo invertido es un sistema mecánico, de que consisten de una ubicación de polos con com-
fase no mı́nima inestable en lazo abierto, que pensación de fricción estática y de un control
emula la dinámica de un artefacto volador, como H∞ . Nuestra propuesta consiste en levantar al
puede ser un cohete o un misil. Este tipo de sis- péndulo a partir de su posición vertical hacia
tema dinámico no lineal es ampliamente utilizado abajo con un algoritmo sencillo que contiene re-
para probar nuevas técnicas de control, tanto en glas heurı́sticas de tipo una condición una acción
simulación como en la planta real. Los elementos (if - then), y regularlo en su posición vertical con
mecánicos de este sistema introducen fenómenos una retroalimentación de estado con ubicación de
de fricción no modelable, zonas muertas y juego polos óptima, diseñada con un regulador lineal
(backlash), que son difı́ciles de incluir en el mod- cuadrático (LQR) y el modelo del sistema lineal-
elado básico del sistema. izado en el punto de equilibrio inestable.

1 Responsable para fines de correspondencia


ls
M1 g Φ

M0 g
F Fric
Fig. 1. Sistema Péndulo, Actuador, Computadora
Personal. N r
El equipo original consistı́a de un software, actu-
ador y péndulo invertido (amira, 1992). Su soft-
Fig. 2. Diagrama de cuerpo libre del sistema carro-
ware era un tanto limitado por lo que se desarrolló
péndulo invertido
uno nuevo con el lenguaje de programación C, que
por otro lado resultó ser un tanto exhaustivo para La PC utilizada contiene un procesador Pentium
su uso como plataforma para probar algoritmos II, con un reloj de 400MHz y 128MB de memoria
de control. Para este trabajo se decidió utilizar RAM. La interfaz que contiene es una tarjeta
un lenguaje de programación de alto nivel, como desarrollada por la compañı́a amira, y está con-
lo es MATLAB en tiempo real en su opción de stituida por convertidores A/D y D/A de 12 bits
SIMULINK. Para poder usar esa herramienta fue de resolución, y un puerto paralelo para entrada
necesario desarrollar un driver dedicado para la y salida de señales digitales; también contiene
tarjeta interfaz que permite la comunicación entre un contador en cuadratura para contabilizar las
la computadora personal anfitrión y el péndulo. transiciones de un encoder óptico.
Se decidió usar MATLAB en su opción de tiempo
real para relizar el control, pero como la inter-
2. DESCRIPCIÓN DEL SISTEMA faz de amira no está entre los manejadores con
que cuenta MATLAB se tuvo que escribir uno en
lenguaje C, para su integración en el programa
El sistema se compone del péndulo invertido
de SIMULINK que lleva el procedimiento de lev-
LIP100 de la compañı́a alemana amira GmbH, su
antamiento y control.
actuador y una computadora personal (PC), como
lo muestra la figura 1. El eje por donde se desliza
el carro tiene un metro de longitud, y la barra del
péndulo una longitud de 56 cm. 3. MODELO MATEMÁTICO

En la computadora se encuentra el programa que Un diagrama simplificado del sistema carro-


realiza el control, ası́ como la tarjeta interfaz péndulo es mostrado en la figura 2, y con base en
amira; la PC se comunica con el péndulo a través él se procede a obtener su modelo. F es la fuerza
de un actuador, que está integrado básicamente que ejerce el motor de DC sobre el carro y F ric
por: circuiterı́a para sensores, amplificador de po- es la fuerza de fricción viscosa que opone la barra
tencia para el motor de dc, acceso a señales de al movimiento, M0 es la masa del carro, M1 es la
medición y control, potenciómetros para provocar masa del péndulo, ls es la distancia del pivote al
fallas y LED´s de señalamiento de status de op- centro de masa del péndulo, r es el desplazamiento
eración. Por otro lado, el péndulo está constituido del carro y Φ la posición angular del péndulo.
por un motor de dc, conectado al carro, por medio
de una banda dentada, que se desliza sobre una
barra de acero de sección circular, y de él pende 3.1 Modelo no lineal
una barra que tiene una masa en su extremo.
Este subsistema, barra-masa (el péndulo), oscila El modelo se obtiene a partir de la segunda
libremente sobre baleros; se tiene un encoder in- ley de Newton para movimiento traslacional y
cremental óptico acoplado al péndulo para medir rotacional. El modelo no lineal resultante es
su posición angular, un tacómetro para medir la ·· · ··
velocidad del motor y un potenciómetro multi- ΘΦ + C Φ − M1 ls (r cos Φ − gsenΦ) = 0 (1)
vueltas de precisión para determinar la posición ·· · ·2 ··
lineal del carro. M r + Fr r + M1 ls (Φ senΦ − Φ cos Φ) = F (2)
donde Θ = Θs + M1 ls2 y M = M0 + M1 , con Θs el Tabla 1. Parámetros del péndulo
momento de inercia del péndulo, C la constante de invertido
fricción en el pivote y Fr la constante de fricción Parámetro Valor
viscosa. M0 3.200 Kg
· M1 0.329 Kg
La ecuación de estado no lineal, de la forma x =
Θs 0.008 Kg · m2
f (x,u) se obtiene a partir de las ecuaciones 1 y 2 Fr 6.200 Kg/s
· · C 0.009 Kg · m2 /s
y la siguiente definición del estado x = [r Φ r Φ]T
· · ls 0.440 m
y la entrada u = F . x1 y x2 se definen de la forma
usual Tabla 2. Parámetros de normalización
·
x1 = x3 Parámetro Valor
· n1 14.90 V /m
x2 = x4 n2 52.27 V /rad
· · n3 -7.64 V · s/m
mientras que x3 y x4 se obtienen a partir de 1 y n4 52.27 V · s/rad
2. Haciendo α = M1 ls Kf 2.60 N/V

· α2 g sin x2 cos x2 Fr Los parámetros nominales para este péndulo, pro-


x3 = − x3 −
ΘM − α2 cos2 x2 ΘM − α2 cos2 x2 porcionados por el constructor, están dados en la
αC cos x2 α sin x2 tabla 1.
− x4 + x2 +
ΘM − α2 cos2 x2 ΘM − α2 cos2 x2 4
Θ
+ u (3)
ΘM − α2 cos2 x2 3.3 Modelo discreto
· αM g sin x2 αFr cos x2
x4 = 2 2
− −
ΘM − α cos x2 ΘM − α2 cos2 x2 El modelo con el que se hace la sı́ntesis del
MC α2 g sin x2 cos x2 2 controlador es el modelo discreto normalizado,
− + x +
ΘM − α cos x2 ΘM − α2 cos2 x2 4
2 2
para lo cual se define al estado normalizado como
α cos x2
+ u (4) xn (t) = N x(t), con N = diag(n1 , n2 , n3 , n4 ), y la
ΘM − α2 cos2 x2 entrada normalizada como un (t) = Kf u(t). Los
parámetros de normalización están dados en la
tabla 2.
3.2 Modelo linealizado El periodo de muestreo se estimó con base en el
polo más rápido del péndulo, esto es -4.83 1/s.
El modelo a emplear es una representación de es- Con base en la propuesta de Franklin (Franklin et
tado obtenida a partir de una linealización usando al., 1998), en la que propone 20 < ωωsb < 40, ωs es
una expansión en series de Taylor. Se linealizan las la frecuencia de muestreo y ωb el ancho de banda;
ecuaciones 3 y 4 alrededor del punto de operación suponiendo ωb = 4.83 y el lı́mite superior da como
xo = [0 0 0 0]T , dando como resultado resultado un periodo de 32.5 milisegundos. Se
tomó T = 30 ms. Considerando un retenedor de
⎡ ⎤ ⎡ ⎤ orden cero sin retraso en la entrada de la planta
0 0 1 0 0 y el periodo de muestreo anterior, se obtienen las
· ⎢0 0 0 1 ⎥ ⎢0⎥
x(t) = ⎢
⎣0
⎥ x(t) + ⎢ ⎥ u(t) (5) ecuaciones 7 y 8 a partir de las ecuaciones 5 y 6
a32 a33 a34 ⎦ ⎣ b3 ⎦
normalizadas
0 a42 a43 a44 b4
⎡ ⎤ xn (k + 1) = Ad xn (k) + Bd un (k) (7)
1 00 0
y(t) = ⎣ 0 10 0 ⎦ x(t) (6) yn (k) = Cd xn (k) + Dd un (k) (8)
0 01 0
donde
2 4. LEVANTAMIENTO Y CONTROL
(M1 ls ) g ΘFr
a32 = , a33 = − ,
ΘM − (M1 ls )2 ΘM − (M1 ls )2 La figura 3 muestra el diagrama de flujo del
M1 ls C M1 ls M g programa en Simulink que levanta y controla al
a34 = − 2 , a42 = ,
ΘM − (M1 ls ) ΘM − (M1 ls )2 péndulo. Inicia intentando levantar al péndulo
M1 ls Fr MC haciéndolo entrar en resonancia, verficando en
a43 = − 2 , a44 = − , cada ciclo si el ángulo es menor a 10◦ sin un
ΘM − (M1 ls ) ΘM − (M1 ls )2
tiempo lı́mite para ello; cuando finalmente el
Θ M1 ls
b3 = , b4 = , ángulo está dentro del rango, el programa con-
ΘM − (M1 ls )2 ΘM − (M1 ls )2 muta al algoritmo de control, como se describe
y u = F. abajo.
4.1 Levantamiento del péndulo Inicio

Una alternativa para levantar el péndulo es No


¿ Velocidad angular
haciéndolo entrar en resonancia (Feynman et al., < umbral ?
1969), al excitarlo con una señal que tuviera la
misma frecuencia natural del péndulo. Pero esto Si
sólo funcionarı́a para un péndulo ideal, ya que
un péndulo real es un sistema no lineal con una
fricción que no es constante, por lo que el periodo ¿ Angulo en cuadrantes
de oscilación varı́a y depende, entre otras causas, No 2o3?
de las condiciones iniciales y de la fricción seca.
Si
Si bien el sistema carro-péndulo es un sistema
acoplado, esta propuesta considera al carro como ref = extemo derecho
ente único y la presencia del péndulo como una
perturbación. De esta manera se puede decir que ref = extremo izquierdo
el carro se mueve de forma independiente del
ref = ref anterior
péndulo, pero a su vez la fuerza ejercida sobre
el pivote del péndulo tiene el mismo periodo que
la señal de excitación del carro, ası́, de manera
indirecta, se hace entrar en resonancia al péndulo. Generacion de comando

La propuesta de este trabajo es hacer una iden- de control

tificación en tiempo real del periodo natural del


péndulo, para que la señal de excitación tenga Fin
ese mismo periodo y haga entrar en resonancia
al péndulo. Esta medición indirecta del periodo Fig. 4. Diagrama de flujo del levantamiento del
consiste en determinar en qué momento la ve- péndulo.
locidad angular se hace cero, cuando se detecta
esta condición la referencia rd (t), que es una señal semilongitud de la barra. El cuadrante 2 corre-
cuadrada de periodo variable, conmuta entre los sponde a θ ∈ [0, π/2] en concordancia con la figura
valores [−rm , rm ] bajo la siguiente ley 2, creciendo en sentido antihorario.
⎧ En cada ciclo, ver figura 4, se estima la velocidad
·

rm si θ = 0 y θ en cuadrante 2 o 3 angular y cuando ésta es menor que un cierto um-
rd (t) =
⎩ −r si θ· = 0 y θ en cuadrante 1 o 4 bral, determinado de manera experimental, sig-
m
nifica que se está llegando al lı́mite del medio
La señal de referencia es un comando de posición periodo, por lo que se envı́a el carro al extremo
para un control del carro, donde la presencia del contrario para aumentar el tamaño de las oscila-
péndulo es considerada como una perturbación. ciones. Cuando la velocidad angular no es cero se
rm es un valor constante arbitrario menor que la 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
No velocidad tal que el péndulo pueda llegar a la
¿ Φ < 10 ? posición vertical hacia arriba. Para la asignación
de polos se utilizó tanto la fórmula de Ackermann
como LQR (con Qc = diag[300 10] y Rc =
Levantamiento del 1). Cuando el péndulo se encuentra dentro del
Si Péndulo rango de ± 10◦ , ya no se pasa por esta parte
del programa, se pasa al algoritmo de control del
Algoritmo péndulo; a no ser que se caiga el péndulo, entonces
se continua con el algoritmo de levantamiento.
de control

4.2 Algoritmo de control

Fig. 3. Diagrama de flujo del programa que lev- El control del sistema carro-péndulo consiste en
anta y controla al péndulo una retroalimentación de estado con un regulador
40 el levantamiento se hizo una ubicación de polos
CONTROL (N) 20 óptima (ya que la ubicación de polos usada en
(a)
0 simulación no funcionó en la práctica), quedando
−20
éstos en (6.7013×10−1 ± j8.2049 × 10−2 ). En la
−40
0 0.5 1 1.5 2 2.5 3 3.5 4 gráfica (a) se muestra el comportamiento de la
50
señal de control, en (b) los desplazamientos del
POSICIÓN (cm)

carro, y en (c) la posición angular del péndulo.


0
(b) Al tiempo t0 se inicia la operación y en t1 el
−50 péndulo ingresa al rango de los ±10◦ , por lo
0 0.5 1 1.5 2 2.5 3 3.5 4
que el programa conmuta a la rutina de control,
0 enviando el estado al reposo.
ÁNGULO (º)

(c)
−100
−200
Una vez levantado, el control LQR fue sometido a
−300
una serie de pruebas para observar su desempeño.
0 0.5 1 1.5 2 2.5 3 3.5 4
La primera prueba se realizó al tiempo t2 (ver
TIEMPO (s)
gráficas en la figura 7), en la que se somete al
Fig. 5. Resultado de la simulación del levan- péndulo a una perturbación equivalente a un im-
tamiento y control del péndulo invertido pulso de fuerza actuante sobre la masa del péndulo
y perpendicular al brazo. En t3 se da un comando
cuadrático lineal (LQR, por sus siglas en inglés), de cambio de posición, donde se le ordena moverse
con ı́ndice de desempeño del centro a un extremo de la barra (40 cm). En t4
N
X se incrementa la masa del péndulo, sobreponiendo
J= (xTn (k)Qxn (k) + uT (k)Ru(k)) una pesa, de aproximadamente el 20% de la masa
k=0 original, en el extremo superior del péndulo, y
en donde en Q se le da mayor peso a r y θ. se da un comando de cambio de posición (se le
Como se tienen sensores para las posiciones lineal regresa al origen).
y angular, ası́ como para la velocidad lineal, pero En todos los casos anteriores, se observa que ante
no para la velocidad angular, ésta es estimada por la presencia de perturbaciones, externas (impulso)
medio de un observador de Luenberger. e internas (cambio de masa), ası́ como de coman-
La optimación se realiza con la función lqrd de dos extremos, el control propuesto es capaz de
Matlab, que resuelve la ecuación de Riccati re- mantener la regulación.
sultante. La ley de control es u = −Kx, donde El periodo teórico del péndulo es de 1.33 s, en la
K = r−1 B T S, S la solución de la ecuación de práctica se tuvo un periodo promedio de 1.6 s. El
Riccati. Se usó Q = diag[650 100 20 10], y R = 1. umbral para determinar que la velocidada angular
se acerca a cero fue de 0.77 ◦ /s.

5. SIMULACIÓN
7. CONCLUSIONES
Con base en la propuesta para el levantamiento,
con una ubicación de polos en (0.5 y 0.5) para el Inicialmente se hicieron pruebas para levantar al
control del carro y el control del péndulo prop- péndulo con una señal de periodo constante igual
uesto, se hicieron simulaciones con el modelo no 50
CONTROL (N)

lineal de la planta y la fricción no lineal reportada


por Verde (Verde et al., 1996). La simulación se 0
(a)
realizó con SIMULINK y los resultados se mues-
−50
tran en la gráfica 5.
50
POSICIÓN (cm)

En la curva (a) se muestra la señal de control.


donde se puede apreciar la conmutación al control 0
(b)
del péndulo a los 2.25 segundos. En (b) se tiene
la posición del carro y en (c) la posición angular −50

del péndulo. En esta última se pueden apreciar 300


ÁNGULO (º)

las oscilaciones que van de los 180◦ a 0◦ , donde el 200


péndulo queda atrapado. 100 t1
t0 (c)
0
13 14 15 16 17 18 19
TIEMPO (s)
6. RESULTADOS EXPERIMENTALES
Fig. 6. Levantamiento del péndulo. En t0 se inicia
En la figura 6 se muestran las gráficas del proceso la operación y en t1 el péndulo ya se encuen-
del levantamiento y control del péndulo. Para tra levantado.
50 Feynman, R., R. Leighton and M. Sands (1969).
CONTROL (N)
The Feynman lectures on physics. Adison
0
Wesley. USA.
−50
t2 t3 t4 Franklin, G., J. Powell and M. Workman (1998).
Digital control of dynamic systems. Adison
40
POSICIÓN (cm)

20
Wesley. Menlo Park.
0 Furuta, K. (1992). A new inverted pendulum
−20 apparatus for education. In: 1992 American
−40
Control Conference. Vol. 3. The American
5 Automatic Control Council. pp. 191—196.
ÁNGULO (º)

0 Misawa, E., M. Arrington and T. Ledgerwood


−5 (1995). Rotational inverted pnedulum: A new
−10 control experiment. In: 1995 American Con-
14 16 18 20 22 24 26 28 30
TIEMPO (s) trol Conference. Vol. 1. The American Auto-
matic Control Council. Seattle. pp. 29—33.
Fig. 7. Control del péndulo a una perturbación Mori, S., H. Hishihara and K. Furuta (1976). Con-
externa y a variación de un parámetro trol of unstable mechanical system, control of
a pendulum. Int. J. Control 23, 673—692.
a la del péndulo ideal, pero éste no se levantó en Verde, C., J. Ramos and R. Barrera (1996). Ex-
ningun intento, cosa que sı́ se logró con nuestra periments for analysis and design of robust
propuesta. Desafortunadamente no se tuvo éxito controllers: the inverted pendulum case. In:
en todos los casos, por lo que consideramos seguir 13th World Congress of IFAC. Vol. G. San
trabajando en afinar esta propuesta; probable- Francisco. pp. 53—58.
mente el hecho de no tener éxito en el levan- Yoshida, K. (1999). Swing-up control of an in-
tamiento se deba a la suposición de considerar verted pendulum by energy-based methods.
sólo el modelo de segundo orden para el carro. In: 1999 American Control Conference. San
En futuros trabajos tendrá que considerarse el Diego, California. pp. 4045—4047.
acoplamiento del carro con el péndulo.
Entre las bondades de este sistema está el hecho
de que quien utilice esta plataforma no tiene
que desarrollar los manejadores de la interfaz de
entrada/salida, estos ya están integrados en el
modelo SIMULINK correspondiente. Lo único 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 mecánicos por medio de una
computadora personal y a través de una interfaz
electrónica, 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 control
de un péndulo invertido. Estos algoritmos podrán
ser realizados con cualquier teorı́a: lqr, control no
lineal, lógica difusa, redes neuronales, etc. Ello
con el fin de realizar proyectos de investigación
aplicables a este tipo de plantas.

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