You are on page 1of 8

LEVANTAMIENTO Y CONTROL DE UN PE

NDULO INVERTIDO CON UN ESQUEMA


DE CONTROL RECONFIGURABLE
F. Castanos 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 pendulo del punto


de equilibrio estable al punto de equilibrio inestable con un control de posicion
del carro que hace entrar al pendulo en resonancia, y al entrar a la posicion
vertical conmuta a un esquema de regulacion del pendulo. Para el diseno de
los controles se 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:
digital.

Pendulo invertido, Control optimo, Control

1. INTRODUCCIO N
Un mecanismo muy utilizado hoy en da
para realizar tanto practicas como proyectos de
inves- tigacion es el pendulo invertido. El
sistema mas comun es el que esta compuesto
por un carro que se mueve libremente a lo largo
de un eje y una barra que pende de el, pero
tambien los hay del tipo rotacional (Misawa et
al., 1995), de doble articulacion en un plano
inclinado (Furuta, 1992) y otros.
El pendulo invertido es un sistema mecanico,
de fase no mnima inestable en lazo abierto,
que emula la dinamica de un artefacto volador,
como puede ser un cohete o un misil. Este tipo
de sis- tema dinamico no lineal es ampliamente
utilizado para probar nuevas tecnicas de control,
tanto en simulacion como en la planta real. Los
elementos mecanicos de este sistema introducen
fenomenos de friccion no modelable, zonas
muertas y juego (backlash ), que son difciles de
incluir en el mod- elado basico del sistema.

Se describe en este documento el trabajo realizado para levantar y regular al pendulo


inver- tido en su punto de equilibrio inestable.
Para el levantamiento del pendulo se tienen
algunos antecedentes como el reportado por
Mori (Mori et al., 1976) que implica un control en
tiempo mnimo, y los de Astrom (Astrom
and Furuta,
1996) y Yoshida (Yoshida, 1999) que plantean el
levantamiento del pendulo como un sistema subactuado 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 control H . Nuestra propuesta consiste en
levantar al pendulo a partir de su posicion
vertical hacia abajo con un algoritmo sencillo
que contiene re- glas heursticas de tipo una
condicion una accion (if - then ), y regularlo en
su posicion vertical con una retroalimentacion
de estado con ubicacion de polos optima,
disenada con un regulador lineal cuadratico

(LQR) y el modelo del sistema lineal- izado en el


punto de equilibrio inestable.
1

Responsable para fines de correspondencia

M1 g

ls

M0 g

Fric

Fig. 1. Sistema Pendulo, Actuador,


Computadora
Personal.
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
desarrollo uno nuevo con el lenguaje de
programacion C, que por otro lado resulto ser
un tanto exhaustivo para su uso como
plataforma para probar algoritmos de control.
Para este trabajo se decidio utilizar un
lenguaje de programacion de alto nivel, como lo
es MATLAB en tiempo real en su opcion de
SIMULINK. Para poder usar esa herramienta fue
necesario desarrollar un driver dedicado para la
tarjeta interfaz que permite la comunicacion
entre la computadora personal anfitrion y el p
endulo.

2. DESCRIPCIO N DEL SISTEMA


El sistema se compone del pendulo invertido
LIP100 de la compana alemana amira GmbH,
su 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 pendulo una longitud de 56 cm.
En la computadora se encuentra el programa que
realiza
el control,
as como la tarjeta
interfaz amira; la PC se comunica con el p
endulo a traves de un actuador, que esta
integrado basicamente por: circuitera para
sensores, amplificador de po- tencia para el
motor de dc, acceso a senales de medicion y
control, potenciometros para provocar fallas y
LEDs de senalamiento de status de op- eracion.
Por otro lado, el pendulo esta constituido por
un motor de dc, conectado al carro, por medio de
una banda dentada, que se desliza sobre una

barra de acero de seccion circular, y de el


pende una barra que tiene una masa en su
extremo. Este subsistema, barra-masa (el p
endulo), oscila libremente sobre baleros; se tiene
un encoder in- cremental optico acoplado al p
endulo para medir su posicion angular, un tac
ometro para medir la velocidad del motor y un
potenciometro multi- vueltas de precision para
determinar la posicion lineal del carro.

Un diagrama simplificado del sistema carropendulo es mostrado en la figura 2, y con base


en
el se procede a obtener su modelo. F es la
fuerza
que ejerce el motor de DC sobre el carro y F ric
es la fuerza de friccion viscosa que opone la
barra al movimiento, M0 es la masa del carro, M1
es la masa del pendulo, ls es la distancia del
pivote al centro de masa del pendulo, r es el
desplazamiento del carro y la posicion angular
del pendulo.

Fig. 2. Diagrama de cuerpo libre del sistema carropendulo invertido


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 compana amira, y esta
con- stituida por convertidores A/D y D/A de
12 bits de resolucion, y un puerto paralelo para
entrada y salida de senales digitales; tambi
en contiene un contador en cuadratura para
contabilizar las transiciones de un encoder
optico.

3.1 Modelo no lineal

Se decidio usar MATLAB en su opcion de


tiempo real para relizar el control, pero como
la inter- faz de amira no esta entre los
manejadores con que cuenta MATLAB se tuvo
que escribir uno en lenguaje C, para su integraci
on en el programa de SIMULINK que lleva el
procedimiento de lev- antamiento y control.

El modelo se obtiene a partir de la segunda


ley de Newton para movimiento traslacional y
rotacional. El modelo no lineal resultante es

donde = s + M1 l2 y M = M0 + M1 , con s
s
el momento de inercia del pendulo, C la
constante de friccion en el pivote y Fr la
constante de friccion viscosa.

Tabla

mientras que x

y x

2. Haciendo = M1 ls

x 3
=

C cos x2

x 4
=

n2
52.27 V /rad n3
-7.64 V s/m n4
52.27 V s/rad Kf
2.60 N/V

se obtienen a partir de 1
y

x4
M 2 cos2 x2

u
+
M 2 cos2 x2
M g sin x2

Parametro
Valor
n1
14.90 V /m

2 =
x4

Fr
x3
2
2
M cos x2
sin x2
x2 +
+
M 2 cos2 x2

6.200 Kg/s
0.009 Kg m2 /s
0.440 m

Tabla 2. Parametros de normalizacion

1 =
x3

2 g sin x2 cos x2
2
2
M
cos x2

1.
Parametros del p
endulo invertido

Fr
C
ls

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

r
y la entrada u = F . x 1 y x 2 se definen de la
forma
usual

Parametro
Valor
M0
3.200 Kg
M1
0.329 Kg
s
0.008 Kg m2

La ecuacion de estado no lineal, de la forma x


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

M r + Fr r + M1 ls ( sen cos ) = F
(2)

3. MODELO MATEMA
TICO

+ C M1 ls (r cos gsen) = 0
(1)

Los parametros nominales para este pendulo,


pro- porcionados por el constructor, estan dados
en la tabla 1.

(3)

3.3 Modelo discreto

Fr cos x2
MC

M 2 cos2 x2


x2
+

M 2 cos2 x2
2 g sin x2 cos x2

x2 +
M 2 cos2 x2

M 2 cos2

u
cos x2
2
2
M cos x2

(4)

3.2 Modelo linealizado


El modelo a emplear es una representacion de estado obtenida a partir de una linealizacion
usando una expansion en series de Taylor. Se
linealizan las ecuaciones 3 y 4 alrededor del punto
de operacion xo = [0 0 0 0]T , dando como
resultado

0 0 1 0
0
0 0 0
0

x1 (t) =
x(t)
+
u(t)
0 a a a (5)
b3
32
33
34

0 a a a44
42 43
1 00 0
y(t) = 0 1 0 0 x(t)
(6)
00 1 0
donde
a32

b4

M1 ls Fr
a43 =

b3 =

M (M 1 ls )

, a44 =

1 s

(M l )
1s
M
enC

M (M l )

M1 l s
,
, b4 =
2
M (M1 ls )
M (M1 ls )2

y u = F.
4.1
Levantamiento
endulo

del

normalizadas

La figura 3 muestra el diagrama de flujo del


programa en Simulink que levanta y controla
al
pendulo. Inicia intentando levantar al p
endulo
haciendolo entrar en resonancia, verficando

1 s

, a42 =

ecuaciones 7 y 8 a partir de las ecuaciones 5 y 6

4. LEVANTAMIENTO Y CONTROL

2
M (M 1 ls )

El periodo de muestreo se estimo con base en


el polo mas rapido del pendulo, esto es -4.83
1/s. Con base en la propuesta de Franklin
(Franklin et
al., 1998), en la que propone 20 < sb < 40, s es
la frecuencia de muestreo y b el ancho de banda;
suponiendo b = 4.83 y el lmite superior da
como
resultado un periodo de 32.5 milisegundos. Se
tomo T = 30 ms. Considerando un retenedor
de orden cero sin retraso en la entrada de la
planta
y el periodo de muestreo anterior, se obtienen las

xn (k + 1) = Ad xn (k) + Bd un (k)
(7)
yn (k) = Cd xn (k) + Dd un (k)
(8)

(M1 ls ) g , a =
Fr
33
2
,
M
(M1 ls )
=
M (M1 ls )2
M1 l s C
M l Mg

a34 =

El modelo con el que se hace la sntesis


del controlador es el modelo discreto
normalizado,
para lo cual se define al estado normalizado como
xn (t) = N x(t), con N = diag(n1 , n2 , n3 , n4 ), y
la
entrada normalizada como un (t) = Kfu(t). Los
parametros de normalizacion estan dados en
la
tabla 2.

Una alternativa para levantar el pendulo es haci


endolo entrar en resonancia (Feynman et al.,
1969), al excitarlo con una senal que tuviera
la misma frecuencia natural del pendulo. Pero
esto solo funcionara para un pendulo ideal,
ya que un pendulo real es un sistema no lineal
con una friccion que no es constante, por lo que

cada ciclo si el angulo es menor a 10 sin


un tiempo lmite para ello; cuando
finalmente el
angulo esta dentro del rango, el programa
con- muta al algoritmo de control, como se
describe
abajo.
el periodo de oscilacion vara y
depende, entre otras causas, de las
condiciones iniciales y de la fricci
on seca.
Si bien el sistema carro-pendulo es
un sistema acoplado, esta propuesta
considera al carro como ente unico
y la presencia del pendulo como
una

Inicio
Angulo en cuadrantes
No

No

Velocidad angular
< umbral ?

Si

Si

ref = extemo derecho


ref = extremo izquierdo
ref = ref anterior

perturbacion. De esta manera se puede decir


que
el carro se mueve de forma independiente del p
endulo, pero a su vez la fuerza ejercida sobre
el pivote del pendulo tiene el mismo periodo
que la senal de excitacion del carro, as, de
manera
indirecta, se hace entrar en resonancia
endulo.

al p

La propuesta de este trabajo es hacer una identificacion en tiempo real del periodo natural del
pendulo, para que la senal de excitacion
tenga ese mismo periodo y haga entrar en
resonancia al
pendulo. Esta
medicion
indirecta del periodo consiste en determinar en
que momento la ve- locidad angular se hace
cero, cuando se detecta esta condicion la
referencia rd (t), que es una senal 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
m
1o4
La senal de referencia es un comando de posici
on para un control del carro, donde la presencia
del pendulo
es considerada como
una
perturbacion. rm es un valor constante
arbitrario menor que la

< 10

Si
Algoritmo
de control

2 o 3 ?

No

Levantamiento del
Pndulo

Generacion de comando
de control

Fin

Fig. 4. Diagrama de flujo del levantamiento del


pendulo.
semilongitud de la barra. El cuadrante 2 corresponde a [0, /2] en concordancia con la
figura
2, creciendo en sentido antihorario.

En cada ciclo, ver figura 4, se estima la velocidad


angular y cuando esta es menor que un cierto
umbral,
maneraal experimental,
significa determinado
que se esta de
llegando
lmite del medio

periodo, por lo que se enva el carro al


extremo contrario para aumentar el tamano de
las oscila- 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 pendulo pueda llegar a
la posicion vertical hacia arriba. Para la
asignacion de polos se utilizo tanto la formula
de Ackermann como LQR (con Qc = diag[300
10] y Rc =
1). Cuando el pendulo se encuentra dentro
del rango de 10 , ya no se pasa por esta
parte
del programa, se pasa al algoritmo de control del
pendulo; a no ser que se caiga el pendulo,
entonces se continua con el algoritmo
de
levantamiento.

4.2 Algoritmo de control

el levantamiento se hizo una ubicacion de polos


optima (ya que la ubicacion de polos usada
en simulacion no funciono en la practica),
quedando
estos en (6.7013101 j8.2049 102 ). En
la

0
20

0
50

0.5

1.5

2.5

3.5

1.5

2.5

3.5

1.5

2
2.5
TIEMPO (s)

3.5

(b)
50
0

0.5

0
(c)
200
300
0

0.5

Fig. 5. Resultado de la simulacion del


levan- tamiento y control del pendulo invertido
cuadratico lineal (LQR, por sus siglas en ingl
es), con ndice de desempeno
N
X
T
T
J=
(xn (k)Qxn (k) + u (k)Ru(k))
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, esta es
estimada por medio de un observador de
Luenberger.
La optimacion se realiza con la funcion lqrd
de Matlab, que resuelve la ecuacion de Riccati
re- sultante. La ley de control es u = K x,
donde K = r1 B T S, S la solucion de la
ecuacion de Riccati. Se uso Q = diag[650 100
20 10], y R = 1.
5. SIMULACIO
N
Con base en la propuesta para el levantamiento,
con una ubicacion de polos en (0.5 y 0.5) para
el control del carro y el control del pendulo
prop- uesto, se hicieron simulaciones con el
modelo no lineal de la planta y la friccion no lineal
reportada por Verde (Verde et al., 1996). La
simulacion se
realiz con SIMULINK y los resultados se muestran en la grafica
5.
En la curva (a) se muestra la senal de
control. donde se puede apreciar la conmutacion

grafica (a) se muestra el comportamiento de


la senal de control, en (b) los desplazamientos
del carro, y en (c) la posicion angular del p
endulo. Al tiempo t0 se inicia la operacion
y en t1 el
pendulo ingresa al rango de los 10 , por
lo
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
desempeno. La primera prueba se realizo al
tiempo t2 (ver graficas en la figura 7), en la
que se somete al pendulo a una perturbacion
equivalente a un im- pulso de fuerza actuante
sobre la masa del pendulo y perpendicular al
brazo. En t3 se da un comando de cambio de
posicion, donde se le ordena moverse del centro a
un extremo de la barra (40 cm). En t4 se
incrementa la masa del pendulo, sobreponiendo
una pesa, de aproximadamente el 20% de la masa
original, en el extremo superior del pendulo,
y se da un comando de cambio de posicion (se
le 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 regulacion.
El periodo teorico del pendulo es de 1.33 s, en
la practica se tuvo un periodo promedio de 1.6
s. El umbral para determinar que la velocidada
angular
se acerca a cero fue de 0.77 /s.
7. CONCLUSIONES
CONTROL (N)

(a)

Inicialmente se hicieron pruebas para levantar al


(a) con una senal de periodo constante
pendulo
igual
POSICIN (cm)

40
20

El control del sistema carro-pendulo consiste


en una retroalimentacion de estado con un
regulador

NGULO ()

NGULO ()

POSICIN (cm)

CONTROL (N)

Fig. 3. Diagrama de flujo del programa que levanta y controla al pendulo

50
0

(b)

a
l
c
o
t0

ntrol del pendulo a los 2.25 segundos.


En (b) se tiene la posicion del carro y
en (c) la posicion angular del pendulo.
En (c)
esta ultima se puedent1 apreciar

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


pendulo
queda
atrapado.

50
50
0
50

6. RESULTADOS EXPERIMENTALES

300
200
100
0

t4

t3

50

POSICIN (cm)

CONTROL (N)

50

t2

40
20
0

20
40

NGULO ()

5
0
5
10

14

16

18

20
22
TIEMPO (s)

24

26

28

Fig.
7. Control
del
pendulo
a
perturbacion
externa y a variacion de un par
ametro

14

15

16
TIEMPO (s)

17

18

19

Fig. 6. Levantamiento del pendulo. En t0 se


inicia la operacion y en t1 el pendulo ya se
encuen- tra levantado.

En la figura 6 se muestran las graficas del


proceso del levantamiento y control del p
endulo. Para

13

30

una

a la del pendulo ideal, pero este no se levanto


en ningun intento, cosa que s se logro con
nuestra propuesta. Desafortunadamente no se
tuvo exito en todos los casos, por lo que
consideramos seguir trabajando en afinar esta
propuesta; probable- mente el hecho de no tener
exito en el levan- tamiento se deba a la
suposicion de considerar solo el modelo de
segundo orden para el carro. En futuros trabajos
tendra que considerarse el acoplamiento del
carro con el pendulo.
Entre las bondades de este sistema esta el
hecho de que quien utilice esta plataforma no
tiene que desarrollar los manejadores de la
interfaz de entrada/salida, estos ya estan
integrados
en
el
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 mecanicos por medio de una
computadora personal
y a traves de una
interfaz electronica, que ha logrado que en este
momento, con la ayuda de MATLAB y el equipo

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
Auto- matic Control Council. Seattle. pp. 29
33.
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 pendulo
invertido. Estos algoritmos podran ser
realizados con cualquier teora: lqr, control no
lineal, logica difusa, redes neuronales, etc.
Ello con el fin de realizar proyectos de
investigacion aplicables a este tipo de plantas.

REFERENCI
AS
amira (1992). LIP 100 Inverted Pendulum.
amira
GmbH. Duisburg.
Astrom, 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.

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.

You might also like