You are on page 1of 23

DISEO E IMPLEMENTACIN DEL CONTROL DIGITAL DE

UN SISTEMA DE PNDULO INVERTIDO Y GRA PUENTE


MEDIANTE ALGORITMOS DE UBICACIN DE POLOS Y
PTIMOS CUADRTICOS
Arturo Rojas Moreno
Leonardo Daro Gushiken Gibu
Facultad de Ingeniera Elctrica y Electrnica, Seccin de Post-Grado
Universidad Nacional de Ingeniera

RESUMEN
Este artculo desarrolla el diseo e implementacin del control digital de un sistema de pndulo invertido y gra
puente mediante los algoritmos de ubicacin de polos y optimizacin cuadrtica lineal.
ABSTRACT
This article develops the design and implementation of the digital control of an inverted pendulum and a
crane systems by mean of pole placement and linear quadratic optimization algorithms.

I. INTRODUCCIN
El control por ubicacin de polos consiste en la ubicacin de los polos en lazo cerrado deseados para el sistema.
Este mtodo est basado en los requerimientos de respuesta transitoria y/o respuesta en frecuencia.
El control ptimo cuadrtico consiste en la minimizacin de un ndice de desempeo o funcin de costo
cuadrtico de tal forma que obtengamos del sistema una respuesta que se acerque lo ms posible a la ptima.
El presente artculo se enfocar en el diseo de un control por ubicacin de polos y un control ptimo
cuadrtico, ambos en tiempo discreto, para un sistema de pndulo invertido y un sistema de gra puente.
El pndulo invertido es un sistema conformado por un pndulo montado sobre un carro impulsado por un motor.
El objetivo a alcanzar es mantener el pndulo en posicin vertical tanto como sea posible y tener control sobre la
posicin del carro.
El sistema de gra puente a controlar est conformado por un carro, que se desplaza a lo largo de un carril, con
una varilla que cuelga de ste a modo de carga. El objetivo es mover el carro a una posicin determinada sin que
la varilla oscile demasiado
.
II. DESCRIPCIN DEL SISTEMA
El sistema pndulo invertido/gra puente consiste de un carro de metal con una varilla que hace la funcin de
pndulo. El carro se desplaza en un carril y es impulsado por un servomotor DC de imn permanente a travs de
un sistema de poleas. Para accionar el servomotor existe un actuador PWM (Pulse Wide Modulation), cuya
etapa de potencia consiste de 4 conmutadores electrnicos en configuracin H. Para la medicin de la posicin
del motor y de la varilla se usa un codificador ptico para cada uno. La informacin sensada se enva a un
contador por medio de dos trenes de pulsos desfasados en 90 grados.
El contador de pulsos transmite las seales digitales a una tarjeta de adquisicin de datos Lab-PC+. Asimismo,
la tarjeta Lab-PC+ enva la seal de control hacia el actuador. En la Fig.1 se observa un esquema general del
sistema.
Fig.1a Sistema pndulo invertido

Fig.1b Sistema gra puente


Fig.1c Esquema general del sistema

III. MODELAMIENTO MATEMTICO DEL SISTEMA DE PNDULO
INVERTIDO
A.Modelamiento del sistema pndulo invertido.-Para mayor comodidad se ha separado el sistema pndulo
invertido en dos subsistemas: el subsistema conformado por el carro y la varilla, y el subsistema conformado por
el motor y el sistema de poleas. Para modelar el sistema mecnico utilizamos la segunda ley de Newton para el
movimiento lineal y rotacional.

Fig.2 Subsistema carro-varilla
Aplicando la segunda ley de Newton al subsistema carro-varilla representado en la Fig.2, obtenemos:
De la figura tenemos:
donde:
(3) (4)
El subsistema motor-polea se encuentra representado en la Fig.3.
Fig.3 Subsistema motor - polea
El modelo del sistema elctrico se encuentra aplicando la ley de voltajes de Kirchhoff a la malla R - L de la
Fig.3. Adems, debido a que la inductancia de motores DC de magneto permanente es pequea, podemos
despreciar su efecto en el modelo. As obtenemos:
R
a
i
a
+ V
b
= KAu = V
a
(5)
El voltaje contraelectromotriz est representado por:
(6)
Ahora en el sistema mecnico del motor aplicamos la segunda ley de Newton para el movimiento rotatorio:
(7)
El torque producido en el eje del motor est dado por la ecuacin:
(8)
Para transformar el desplazamiento angular del motor en el desplazamiento horizontal del carro en funcin del
radio de la polea y el factor de reduccin del motor, tenemos:
(9)
Con las ecuaciones anteriores obtenemos:
(10)
Las ecuaciones obtenidas sern representadas en el espacio de estados mediante la siguiente asignacin de
variables:
(11) (12)
(13) (14)
Escribiendo las ecuaciones en el espacio de estados, tenemos:
(15)
donde:
(16)
(17)
(18) (19)
(20)
(21)
Y puesto que en nuestro sistema tenemos como salida disponible el desplazamiento angular de la varilla y el
desplazamiento del carro, tendremos como ecuacin de salida la siguiente expresin:
y = Cx (22)
donde:
(23)
Para poder analizar la ecuacin (15) por mtodos de control lineal es necesario obtener un modelo lineal de
sta. Esta aproximacin lineal se puede obtener mediante la expansin en series de Taylor despreciando los
trminos de orden superior. As la ecuacin (15) se convierte en:
(24)
donde:
(25)
(26)
Para la discretizacin del modelo podemos usar las siguientes ecuaciones[1]:
x(kT+T) = Gx(kT)+Hu(kT) (27)
y(kT)=Cx(kT)+Du(kT) (28)
donde:
(29)
(30)
(31)
o tambin con el comando c2d o c2dm de MATLAB[2].
IV. MODELAMIENTO MATEMTICO DEL SISTEMA DE GRA PUENTE
El modelamiento para el sistema gra puente es similar al caso del pndulo invertido. En este caso la varilla
apunta hacia abajo. El subsistema motor-polea es el mismo que para el caso del pndulo invertido, por lo que
podemos usar la frmula ya deducida anteriormente.
Aplicando la segunda ley de Newton, para el sistema lineal, tenemos:
(32)
Luego aplicamos la segunda ley de Newton para el movimiento rotatorio:
(33)
Representando el modelo en el espacio de estados:
(34)
donde M1, M2, J1, J2, Bx y Kx estn dados por las ecuaciones: (16), (17), (18), (19), (20) y (21).
y
y = Cx (35)
(36)
Linealizando el modelo:
(37)
(38)
(39)


Fig.4 Subsistema carro-varilla
El modelo en tiempo discreto se puede obtener mediante las ecuaciones (27), (28), (29), (30) y (31) o los
comandos c2d o c2dm de MATLAB.

V. DISEO DEL CONTROL POR UBICACIN DE POLOS
La tcnica de ubicacin de polos se basa en la realimentacin de todas las variables de estado en la
determinacin adecuada de una matriz de ganancia de realimentacin, de tal forma que todos los polos del
sistema en lazo cerrado queden ubicados en las localizaciones deseadas. En la mayora de los casos es necesario
estimar aquellas variables no medibles. Esta estimacin se realizar mediante la tcnica de observadores de
estado.
A.Diseo del controlador.- En primer lugar consideremos el caso de un sistema de control sin entrada de
referencia y donde las condiciones iniciales son llevadas a cero, para luego tratar el caso de servosistemas o
sistemas con entrada de referencia.
Considerando el siguiente sistema:
x(k+1) = Gx(k) + Hu(k) (40)
La seal de control u(k) dada por:
u(k) = -Kx(k) (41)
donde:
K = [ K
1
K
2
K
n
] (42)
es la matriz de ganacia de realimentacin de estados.
Los pasos para el diseo del controlador por ubicacin de polos son[3]:
1. Comprobar la completa controlabilidad del sistema, dada por la condicin:
rango de M = orden del sistema (43)
donde:
M = [H GH ... G
n-1
H] (44)
2. Definir cuales sern los polos deseados, los que debern cumplir con los requerimientos basados en la
respuesta transitoria y/o respuesta en frecuencia.
Con los polos deseados hallamos los coeficientes de la ecuacin caracterstica deseada:
( z - u
1
)( z u
2
) ( z u
n
) = z
n

n
+ a
1
z

n-1
+
a
2
z
n-2
+ + a
n
(45)
Donde u
1
, u
2
, , u
n
son los polos deseados y a
1
, a
2
, , a
n
son los coeficientes de la ecuacin caracterstica
deseada.
3. Dada la ecuacin caracterstica del sistema original:
|zI - G| = z
n

n
+ a
1
z

n-1
+ a
2
z
n-2
+ + a
n
(46)
Hallamos sus coeficientes dados por a
1
, a
2
, , a
n
.
4. Hallamos la matriz de transformacin T , dada por:
T = MW (47)
En donde M es la matriz de controlabilidad y W est dada por:
(48)
5. Por ltimo obtenemos la matriz de ganancia de realimentacin de estados K, dada por:
K = [a
n
- a
n
a
n-1
- a
n-1
a
2
- a
2
a
1
- a
1
]T
-1
(49)
O mediante la frmula de Ackermann:
K = [ 0 0 0 1 ][ HGH G
n-1
H ]
-1
f (G)
(50)
donde:
f (G) = G
n
+ a
1
G
n-1
+ + a
n-1
G + a
n
I
(51)
B. Diseo del servosistema.- Ahora extenderemos el caso anterior para servosistemas. Generalmente es
necesaria la inclusin de una accin integral en el servosistema para reducir los errores de estado estable. El
esquema del servosistema con accin integral est representado en la Fig.5.

Fig.5 Servosistema con accion integral
As definimos la variable v(k) como la integral del error:
v(k) = v(k -1) + r(k) - y(k) (52)
donde r(k) es la seal de referencia.
Luego tenemos las ecuaciones[3]:
(53)
(54)
donde:
(55)
(56)
(57)
Los mismos pasos anteriores usados para sistemas sin entrada de referencia pueden ser usados para el caso del
servosistema pero utilizando las ecuaciones (53) y (54).
C.Diseo del observador.- En la Fig.6 podemos ver que las seales de entrada al observador son las seales
y(k) y u(k), en donde y(k) es el vector que contiene las salidas directamente medibles de la planta y u(k) es la
seal de entrada de la planta. La salida del observador ser la seal x
e
(k), la cual corresponde al vector de
estado observado. Este vector x
e
(k) corresponde a la versin estimada del vector de estado x(k).

Fig.6 Observador de Estados
El modelo dinmico del observador de estados mostrado en la Fig.6 est dado por la siguiente ecuacin:
x
e
(k +1) = Gx
e
(k) + Hu(k) + K
e
[y(k) - y
e
(k)]
(58)
donde K
e
es la matriz de ganancia de realimentacin del observador. El objetivo del diseo es hallar una matriz
de ganancia adecuada de realimentacin del observador K
e
, de tal forma que los valores caractersticos de (G-
K
e
C) disminuyan el error del observador.
Antes de empezar el diseo del observador es necesario comprobar la completa observabilidad del sistema.
Para el diseo del observador usaremos la funcin place del MATLAB[2]. La funcin place est basada en
algoritmos que no son tema de esta tesis por lo que slo nos limitaremos a su uso directo sin detallar los
procedimientos usados en sta.
D. Diseo del sistema de control del pndulo invertido.- Tenemos el siguiente sistema de control:
x(k+1) = Gx(k) + Hu(k)
y(k) = Cx(k)
Para el diseo del servosistema de las ecuaciones (53) y (54) se hallan las matrices dadas por (55) y (56).
La matriz de controlabilidad est dada por:
M=[H
i
G
i
*H
i
G
i
2
*H
i
G
i
3
*H
i
G
i
4
*H
i
];
Y el rango de M es 5. El sistema es completamente controlable.
Se eligieron los siguientes polos de lazo cerrado deseados:
u1=0.9967 + 0.0058i u2=0.9967 - 0.0058i
u3=u4=u5=0.98
Usando la frmula de Ackermann dada por:
K
i
= [ 0 0 0 0 1 ] M
-1
f (G
i
)
donde:
f (G
i
)=G
i
5
+ a
1
G
I
4
+ a
2
G
I
3
+ a
3
G
I
2
+ a
4
G
I
+ a
5
K
i
=[-3.1340 -0.7103 -0.5770 -1.1688 0.0019]
De aqu tenemos que:
K =[-3.1340 -0.7103 -0.5770 -1.1688]
K
I
= -0.0019
Los polos del observador que se eligieron estn dados por:
u1=0.7165 u2=0.7165 u3=0.9000 u4= 0
Para hallar la matriz de realimentacin del observador usaremos la funcin place del MATLAB de la siguiente
manera:
jO=[ 0.7165 0.7165 0.9000 0];
C=[1 0 0 0
0 0 1 0];
Ke=place(G',C',jO)'
De aqu obtenemos:
E. Diseo del sistema de control de la gra puente.-Aplicamos los mismos pasos que en el caso anterior:
La matriz de controlabilidad est dada por:
M=[H
i
G
i
*H
i
G
i
2
*H
i
G
i
3
*H
i
G
i
4
*H
i
];
Y el rango de M es 5. El sistema es completamente controlable.
Se eligieron los siguientes polos de lazo cerrado deseados:
u1 =0.9933 + 0.0115i u2 =0.9933 - 0.0115i
u3 =u4 =u5 =0.9800
Usando la frmula de Ackermann dada por:
K
i
= [ 0 0 0 0 1 ] M
-1
f (G
i
)
donde:
f (G
i
)=G
i
5
+ a
1
G
I
4
+ a
2
G
I
3
+ a
3
G
I
2
+ a
4
G
I
+ a
5

K
i
=[1.3481 0.0372 1.7630 0.2277 -0.0079]
De aqu tenemos que:
K =[1.3481 0.0372 1.7630 0.2277]
K
I
=0.0079
Los polos del observador que se eligieron estn dados por:
uo1=0.1353 uo2=0.1353 uo3=0.9000
uo4=0
Para hallar la matriz de realimentacin del observador usamos la funcin place del MATLAB y obtenemos:

VI. DISEO DEL CONTROL PTIMO CUADRTICO LINEAL
A.Diseo del controlador.-El problema del control ptimo consiste en que dada una condicin inicial x(o), se
debe encontrar la secuencia adecuada de la seal de control ptima u(k) que transfiera el sistema a un estado
final x(N) para el cual se minimice una funcin denominada funcin de costo o ndice de desempeo, en este
caso cuadrtico, de tal forma que obtengamos del sistema una respuesta ptima.
Cuando el proceso de control es finito (N finita), la matriz de ganancia de realimentacin de estados K(k) es una
matriz variante en el tiempo.
Pero para el caso en el que el proceso contina sin fin, es decir para N=8, la solucin del control ptimo
cuadrtico pasa a ser una solucin de estado estacionario. En este caso la matriz K(k) se convierte en una matriz
constante K.
El ndice de desempeo cuadrtico que utilizaremos es el siguiente:
(59)
DondeQ es una matriz hermtica definida positiva o semidefinida positiva y R es una matriz hermtica definida
positiva.
Las matrices Q y R son matrices de ponderacin.
La solucin al problema de control ptimo cuadrtico de estado estacionario estar dada por las ecuaciones
siguientes[3]:
P = Q + G*PG - G*PH[R + H*PH]
-1
H*PG
(60)
u(k) = -Kx(k) (61)
K= [R + H*PH]
-1
H*PG (62)
Donde la ecuacin (60) se denomina ecuacin de Riccati, la ecuacin (61) es la ley de control y la ecuacin (62)
representa la matriz de ganancia de realimentacin de estados.
El valor mnimo del ndice de desempeo se puede hallar mediante la expresin:
Jmin = 1/2 x*(0)Px(0) (63)
Una forma de resolver la ecuacin (60) es usar la ecuacin de Riccati en estado no estacionario[3], pero
invirtiendo la direccin del tiempo, es decir:
P(k + 1) = Q + G*P(k)G - G*P(k)H[R + H*P(k)H]
-1
H*P(k)G (64)
Para resolver esta ecuacin empezamos con P(0) = 0, y vamos calculando en forma iterativa hasta obtener un
valor de P convergente. Luego de obtener la matriz P podemos calcular la matriz K, para luego obtener la ley de
control.
B. Diseo del observador.- En esta seccin se darn las pautas para el diseo del observador de estados
mediante la minimizacin de un ndice de desempeo cuadrtico.
El diagrama de bloques del observador de estados que disearemos es el mismo que el la seccin V y esta
representado en la Fig.6.
La ecuacin del observador de estados est dada por:
x
e
(k +1) = Gx
e
(k) + Hu(k) + K
e
[y(k) - y
e
(k)]
(65)
donde x
e
(k) y y
e
(k) representan el vector de estados y el vector de salida estimados, respectivamente, y K
e
es
la matriz de ganancia de realimentacin del observador.
Para el diseo del observador utilizaremos las siguientes ecuaciones auxiliares[4]:
a(k +1) = G
T
a(k)+ C
T
(k ) (66)
(k ) =-K
e
T
a(k) (67)
El ndice de desempeo ser:
(68)
La ecuacin de Riccati y la matriz K
e
estn dadas por:
P
e
= Q
e
+GP
e
G
T
-GP
e
C
T
[R
e
+CP
e
C
T
]
-1
CP
e
G
T
(69)
K
e
= [R
e
+ CP
e
C
T
]
-1
CP
e
G
T
(70)
Para resolver la ecuacin (69) podemos usar el mismo criterio que usamos para el diseo del control en estado
estacionario. Para ello utilizamos la siguiente ecuacin recursiva:
P
e
(k + 1) = Q
e
+ GP
e
(k)G
T
- GP
e
(k)C
T
[R
e
+ CP
e
(k)C
T
]
-1
CP
e
(k)C
T
(71)
C. Diseo del servosistema.- Para el diseo del sistema con entrada de referencia usaremos las ecuaciones
(53), (54), (55), (56) y (57).
D. Diseo del control del sistema del pndulo invertido
Se eligieron las siguientes matrices R y Q :
R=[100],
Y las matrices R
e
y Q
e
:
,
Para el clculo de la ecuacin de Ricatti utilizaremos la ecuacin (64) en forma recursiva y luego hallamos la
matriz K
i
con (62).
K
i
=[-7.7253 -1.7310 -2.9360 -2.6291 0.0097]
De aqu tenemos que:
K =[-7.7253 -1.7310 -2.9360 -2.6291]
K
I
=-0.0097
Para el clculo de la ecuacin de Ricatti del observador usamos la ecuacin (69) y obtenemos:
E. Diseo del sistema de gra puente
Se eligieron las matrices:
R=[1],
Y las matrices R
e
y Q
e
:
,
Para el clculo de la ecuacin de Ricatti y la matriz K utilizaremos la ecuacin (64) y (62):
K
i
=[8.2596 -4.3465 37.9206 10.3665 -0.2907]
En donde
K=[8.2596 -4.3465 37.9206 10.3665]
K
I
= 0.2907
Para el clculo de la ecuacin de Ricatti del observador usamos la ecuacin (69):

VII. RESULTADOS Y CONCLUSIONES
Las respuestas obtenidas se muestran en las Fig. 7, 8, 9 y 10. La seal de referencia para la posicin del carro
es un escaln de valor 1.5. Como se puede ver las respuestas son estables. En el caso del pndulo invertido se
observa en la respuesta estacionaria un ciclo lmite que podra reducirse usando sensores ms precisos con un
tamao de paso menor.
Ambos algoritmos de control lineal tienen una respuesta satisfactoria siempre que las desviaciones de las
variables alrededor de cero sean pequeas. El diseo del control se debe realizar de tal forma que las variables
no se salgan de la zona lineal dada por el modelo.
Se comprob que los sistemas de control diseados responden en forma adecuada para un ngulo mximo de la
varilla de unos 20 grados aproximadamente.
Los dos algoritmos de control, puesto que son lineales, no consideran el hecho que la seal de entrada pueda
presentar el fenmeno de saturacin. Debido a esto, para el caso del diseo por ubicacin de polos, debemos
escoger los polos o variar la frecuencia de muestreo de tal forma que la amplitud de la seal de entrada en lo
posible no llegue a la saturacin. Igualmente en el caso del control ptimo se debe variar la matriz que da peso a
la seal de entrada en la funcin de costo. Un peso mayor ocasiona un menor gasto de energa en la seal de
entrada.
La eleccin de los pesos en la funcin de costo del control ptimo cuadrtico se debe realizar considerando qu
seal queremos que tenga una mejor respuesta. Un mayor peso en una de las variables ocasionar una mejor
respuesta en sta; pero disminuir el desempeo de las dems. Entonces es necesario balancear de forma
adecuada los pesos de tal forma que obtengamos un desempeo general del sistema que se acerque lo ms
posible al ptimo.

Fig.7a


Fig.7b
Fig.7 Respuestas del control por ubicacin de polos del sistema de pndulo invertido. a.Posicin del carro.
b.ngulo de la varilla

Fig.8a

Fig.8b
Fig.8 Respuestas del control por ubicacin de polos del sistema de gra puente. a.Posicin del carro. b.ngulo
de la varilla.

Fig.9a

Fig.9b
Fig.9 Respuestas del control ptimo cuadrtico del sistema de pndulo invertido. a.Posicin del carro. b.ngulo
de la varilla.

Fig.10a

Fig.10b
Fig.10 Respuestas del control ptimo cuadrtico del sistema de gra puente. a.Posicin del carro. b.ngulo de
la varilla.

VIII. REFERENCIAS
[1] Philips, Charles L., Digital Control System Analysis and Design, Prentice Hall Inc., second edition, New
Jersey, 1990
[2] Matlab Reference Guide, The Math Works Inc., Massachussets, 1992
[3] Ogata, Katsuhiko, Sistemas de Control en Tiempo Discreto, Prentice Hall Hispanoamericana S.A., segunda
edicin, 1996
[4] Isermann, Rolf, Digital control Systems Volume 1, Springer-Verlag, second edition, Germany, 1989