Sei sulla pagina 1di 7

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/237657336

ENDULO INVERTIDO CON UN ESQUEMA DE


CONTROL RECONFIGURABLE

Article

CITATIONS READS

0 60

2 authors, including:

Rolando Carrera
Universidad Nacional Autnoma de Mxico
4 PUBLICATIONS 3 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Semi-active Control of Structures View project

All content following this page was uploaded by Rolando Carrera on 25 October 2016.

The user has requested enhancement of the downloaded file. All in-text references underlined in blue are added to the original document
and are linked to publications on ResearchGate, letting you access and read them immediately.
LEVANTAMIENTO Y CONTROL DE UN
PENDULO 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: Pendulo invertido, Control optimo, Control digital.

1. INTRODUCCION Se describe en este documento el trabajo real-


izado para levantar y regular al pendulo inver-
Un mecanismo muy utilizado hoy en da para tido en su punto de equilibrio inestable. Para
realizar tanto practicas como proyectos de inves- el levantamiento del pendulo se tienen algunos
tigacion es el pendulo invertido. El sistema mas antecedentes como el reportado por Mori (Mori
comun es el que esta 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 mnimo, y los de Astrom (Astrom and Furuta,
barra que pende de el, pero tambien los hay del 1996) y Yoshida (Yoshida, 1999) que plantean el
tipo rotacional (Misawa et al., 1995), de doble levantamiento del pendulo como un sistema sub-
articulacion en un plano inclinado (Furuta, 1992) actuado y emplea conceptos de energa. Como an-
y otros. tecedentes del control en la posicion vertical ten-
emos los reportados por Verde (Verde et al., 1996),
El pendulo invertido es un sistema mecanico, de que consisten de una ubicacion de polos con com-
fase no mnima inestable en lazo abierto, que pensacion de friccion estatica y de un control
emula la dinamica de un artefacto volador, como H . Nuestra propuesta consiste en levantar al
puede ser un cohete o un misil. Este tipo de sis- pendulo a partir de su posicion vertical hacia
tema dinamico no lineal es ampliamente utilizado abajo con un algoritmo sencillo que contiene re-
para probar nuevas tecnicas de control, tanto en glas heursticas de tipo una condicion una accion
simulacion como en la planta real. Los elementos (if - then), y regularlo en su posicion vertical con
mecanicos de este sistema introducen fenomenos una retroalimentacion de estado con ubicacion de
de friccion no modelable, zonas muertas y juego polos optima, disenada con un regulador lineal
(backlash), que son difciles de incluir en el mod- cuadratico (LQR) y el modelo del sistema lineal-
elado basico 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 Pendulo, Actuador, Computadora
Personal. N r
El equipo original consista de un software, actu-
ador y pendulo invertido (amira, 1992). Su soft-
Fig. 2. Diagrama de cuerpo libre del sistema carro-
ware era un tanto limitado por lo que se desarrollo
pendulo invertido
uno nuevo con el lenguaje de programacion C, que
por otro lado resulto 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 decidio utilizar RAM. La interfaz que contiene es una tarjeta
un lenguaje de programacion de alto nivel, como desarrollada por la compana amira, y esta con-
lo es MATLAB en tiempo real en su opcion de stituida por convertidores A/D y D/A de 12 bits
SIMULINK. Para poder usar esa herramienta fue de resolucion, y un puerto paralelo para entrada
necesario desarrollar un driver dedicado para la y salida de senales digitales; tambien contiene
tarjeta interfaz que permite la comunicacion entre un contador en cuadratura para contabilizar las
la computadora personal anfitrion y el pendulo. transiciones de un encoder optico.
Se decidio usar MATLAB en su opcion de tiempo
real para relizar el control, pero como la inter-
2. DESCRIPCION DEL SISTEMA faz de amira no esta entre los manejadores con
que cuenta MATLAB se tuvo que escribir uno en
lenguaje C, para su integracion en el programa
El sistema se compone del pendulo invertido
de SIMULINK que lleva el procedimiento de lev-
LIP100 de la compana 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
pendulo una longitud de 56 cm. 3. MODELO MATEMATICO

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


realiza el control, as como la tarjeta interfaz pendulo es mostrado en la figura 2, y con base en
amira; la PC se comunica con el pendulo a traves el se procede a obtener su modelo. F es la fuerza
de un actuador, que esta integrado basicamente que ejerce el motor de DC sobre el carro y F ric
por: circuitera para sensores, amplificador de po- es la fuerza de friccion viscosa que opone la barra
tencia para el motor de dc, acceso a senales de al movimiento, M0 es la masa del carro, M1 es la
medicion y control, potenciometros para provocar masa del pendulo, ls es la distancia del pivote al
fallas y LEDs de senalamiento de status de op- centro de masa del pendulo, r es el desplazamiento
eracion. Por otro lado, el pendulo esta constituido del carro y la posicion angular del pendulo.
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 3.1 Modelo no lineal
una barra que tiene una masa en su extremo.
Este subsistema, barra-masa (el pendulo), 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 optico acoplado al pendulo para medir rotacional. El modelo no lineal resultante es
su posicion angular, un tacometro para medir la
velocidad del motor y un potenciometro multi- + C M1 ls (r cos gsen) = 0 (1)
vueltas de precision para determinar la posicion 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. Parametros del pendulo
momento de inercia del pendulo, C la constante de invertido
friccion en el pivote y Fr la constante de friccion Parametro Valor
viscosa. M0 3.200 Kg
M1 0.329 Kg
La ecuacion 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 definicion 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. Parametros de normalizacion

x1 = x3 Parametro 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 parametros nominales para este pendulo, pro-


x3 = x3
M 2 cos2 x2 M 2 cos2 x2 porcionados por el constructor, estan 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 sntesis 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
parametros de normalizacion estan dados en la
tabla 2.
3.2 Modelo linealizado El periodo de muestreo se estimo con base en el
polo mas rapido del pendulo, esto es -4.83 1/s.
El modelo a emplear es una representacion de es- Con base en la propuesta de Franklin (Franklin et
tado obtenida a partir de una linealizacion usando al., 1998), en la que propone 20 < sb < 40, s es
una expansion 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 operacion suponiendo b = 4.83 y el lmite superior da como
xo = [0 0 0 0]T , dando como resultado 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
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 pendulo. Inicia intentando levantar al pendulo
M1 ls Fr MC haciendolo entrar en resonancia, verficando en
a43 = 2 , a44 = , cada ciclo si el angulo es menor a 10 sin un
M (M1 ls ) M (M1 ls )2
tiempo lmite para ello; cuando finalmente el
M1 ls
b3 = , b4 = , angulo esta 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 pendulo Inicio

Una alternativa para levantar el pendulo es No


Velocidad angular
haciendolo entrar en resonancia (Feynman et al., < umbral ?
1969), al excitarlo con una senal que tuviera la
misma frecuencia natural del pendulo. Pero esto Si
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 el periodo Angulo en cuadrantes
de oscilacion vara y depende, entre otras causas, No 2o3?
de las condiciones iniciales y de la friccion seca.
Si
Si bien el sistema carro-pendulo es un sistema
acoplado, esta propuesta considera al carro como ref = extemo derecho
ente unico y la presencia del pendulo como una
perturbacion. De esta manera se puede decir que ref = extremo izquierdo
el carro se mueve de forma independiente del
ref = ref anterior
pendulo, 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 al pendulo. Generacion de comando

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

tificacion en tiempo real del periodo natural del


pendulo, para que la senal de excitacion tenga Fin
ese mismo periodo y haga entrar en resonancia
al pendulo. Esta medicion indirecta del periodo Fig. 4. Diagrama de flujo del levantamiento del
consiste en determinar en que momento la ve- pendulo.
locidad angular se hace cero, cuando se detecta
esta condicion la referencia rd (t), que es una senal 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 esta 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 esta llegando al lmite del medio
La senal de referencia es un comando de posicion periodo, por lo que se enva el carro al extremo
para un control del carro, donde la presencia del contrario para aumentar el tamano de las oscila-
pendulo es considerada como una perturbacion. 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 pendulo pueda llegar a la
< 10 ? 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 =
Levantamiento del 1). Cuando el pendulo se encuentra dentro del
Si Pndulo rango de 10 , ya no se pasa por esta parte
del programa, se pasa al algoritmo de control del
Algoritmo pendulo; a no ser que se caiga el pendulo, 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-pendulo consiste en
anta y controla al pendulo una retroalimentacion de estado con un regulador
40 el levantamiento se hizo una ubicacion de polos
CONTROL (N) 20 optima (ya que la ubicacion de polos usada en
(a)
0 simulacion no funciono en la practica), quedando
20
estos en (6.7013101 j8.2049 102 ). En la
40
0 0.5 1 1.5 2 2.5 3 3.5 4 grafica (a) se muestra el comportamiento de la
50
senal de control, en (b) los desplazamientos del
POSICIN (cm)

carro, y en (c) la posicion angular del pendulo.


0
(b) Al tiempo t0 se inicia la operacion y en t1 el
50 pendulo 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 desempeno.
0 0.5 1 1.5 2 2.5 3 3.5 4
La primera prueba se realizo al tiempo t2 (ver
TIEMPO (s)
graficas en la figura 7), en la que se somete al
Fig. 5. Resultado de la simulacion del levan- pendulo a una perturbacion equivalente a un im-
tamiento y control del pendulo invertido pulso de fuerza actuante sobre la masa del pendulo
y perpendicular al brazo. En t3 se da un comando
cuadratico lineal (LQR, por sus siglas en ingles), de cambio de posicion, donde se le ordena moverse
con ndice de desempeno del centro a un extremo de la barra (40 cm). En t4
N
X se incrementa la masa del pendulo, 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 pendulo, y
en donde en Q se le da mayor peso a r y . se da un comando de cambio de posicion (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, esta 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 optimacion se realiza con la funcion lqrd de dos extremos, el control propuesto es capaz de
Matlab, que resuelve la ecuacion de Riccati re- mantener la regulacion.
sultante. La ley de control es u = Kx, donde El periodo teorico del pendulo es de 1.33 s, en la
K = r1 B T S, S la solucion de la ecuacion de practica se tuvo un periodo promedio de 1.6 s. El
Riccati. Se uso 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. SIMULACION
7. CONCLUSIONES
Con base en la propuesta para el levantamiento,
con una ubicacion de polos en (0.5 y 0.5) para el Inicialmente se hicieron pruebas para levantar al
control del carro y el control del pendulo prop- pendulo con una senal de periodo constante igual
uesto, se hicieron simulaciones con el modelo no 50
CONTROL (N)

lineal de la planta y la friccion no lineal reportada


por Verde (Verde et al., 1996). La simulacion se 0
(a)
realizo con SIMULINK y los resultados se mues-
50
tran en la grafica 5.
50
POSICIN (cm)

En la curva (a) se muestra la senal de control.


donde se puede apreciar la conmutacion al control 0
(b)
del pendulo a los 2.25 segundos. En (b) se tiene
la posicion del carro y en (c) la posicion angular 50

del pendulo. En esta ultima se pueden apreciar 300


NGULO ()

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


pendulo queda atrapado. 100 t1
t0 (c)
0
13 14 15 16 17 18 19
TIEMPO (s)
6. RESULTADOS EXPERIMENTALES
Fig. 6. Levantamiento del pendulo. En t0 se inicia
En la figura 6 se muestran las graficas del proceso la operacion y en t1 el pendulo ya se encuen-
del levantamiento y control del pendulo. 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
POSICIN (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. 191196.
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. 2933.
Fig. 7. Control del pendulo a una perturbacion Mori, S., H. Hishihara and K. Furuta (1976). Con-
externa y a variacion de un parametro trol of unstable mechanical system, control of
a pendulum. Int. J. Control 23, 673692.
a la del pendulo ideal, pero este no se levanto en Verde, C., J. Ramos and R. Barrera (1996). Ex-
ningun intento, cosa que s se logro con nuestra periments for analysis and design of robust
propuesta. Desafortunadamente no se tuvo exito 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. 5358.
mente el hecho de no tener exito en el levan- Yoshida, K. (1999). Swing-up control of an in-
tamiento se deba a la suposicion de considerar verted pendulum by energy-based methods.
solo el modelo de segundo orden para el carro. In: 1999 American Control Conference. San
En futuros trabajos tendra que considerarse el Diego, California. pp. 40454047.
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 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.

REFERENCIAS
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.
View publication stats

Potrebbero piacerti anche