You are on page 1of 10

8 CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA

Cusco, 23 al 25 de Octubre de 2007


MODELADO, SIMULACIN Y CONTROL DE UN PNDULO INVERTIDO USANDO
COMPONENTES ANLOGOS SIMPLES
Tinoco Romero R.F., Orcs Pareja E.H.
Facultad de Ingeniera Mecnica, Escuela Superior Politcnica del Litoral, Guayaquil, Ecuador
Km. 30.5 Va Perimetral, Campus G. Galindo.
eorces@espol.edu.ec
RESUMEN.
En el presente artculo se describe el diseo, simulacin y pruebas realizadas con un pndulo invertido que ser
usado en el laboratorio de sistemas de control como un elemento didctico sencillo y de bajo costo.
El pndulo invertido es un dispositivo que simula algunos sistemas prcticos como brazos robticos, gras, etc., y
consiste en una barra cilndrica con libertad de oscilar alrededor de un pivote fijo. En el presente caso, el pivote es
montado sobre un carro el cual puede desplazarse horizontalmente. El propsito final es conservar el pndulo en
posicin vertical ante la presencia de perturbaciones, aplicando para esto una fuerza de control apropiada. La fuerza
correcta es establecida a travs de las mediciones de los valores instantneos de la posicin horizontal y el ngulo de
inclinacin del pndulo.
Se disea un observador de orden mnimo usando Matlab, y se lo comprueba usando simulacin. Se describe la
construccin de un prototipo y un controlador mediante el uso de componentes anlogos simples, y la comparacin
con el sistema simulado. Se analiza el efecto de factores reales tales como friccin, ruido y no linealidades del
sistema.
PALABRAS CLAVE: Sistemas de control, Modelado, Simulacin.

CDIGO 842
INTRODUCCIN.
El pndulo invertido es un problema de control clsico, normalmente cubierto en clases introductorias de controles
y dinmica, adems es muy conocido por su excelente analoga para el diseo de un controlador de vibraciones en
las plataformas para el lanzamiento de un cohete, como tambin para la estabilizacin de gras, edificaciones,
robtica y sobre todo para aplicaciones didcticas, por ser un excelente medio de comprobacin y evaluacin de las
diferentes metodologas de control. Muchos pndulos invertidos modernos usan sensores giroscpicos, codificadores
pticos con microprocesadores o computadoras completas para implementar sus algoritmos de control. Mientras la
sofisticacin de esos sensores y poder de estimacin de estos dispositivos tiene sus ventajas, estos generan un
problema de control que no es accesible para el estudiante sin conocimiento de tcnicas avanzadas de control.
Con el objeto de hacer ms accesible la solucin del problema de control a estudiantes de clases introductorias de
sistemas de control, se procur disear un sistema mediante el uso de componentes anlogos simples tales como
potencimetros y amplificadores operacionales [1]. El propsito de este proyecto es el de disear un controlador que
permita la estabilizacin del pndulo en una posicin vertical bajo el control del posicionamiento del carro. Se sigui
el modelo de Shahian [2] en una implementacin lo ms simple posible del sistema de control.
El comportamiento dinmico se lo describe mediante un modelo matemtico obtenido a partir de las leyes fsicas
fundamentales, para as llegar a la ley de control que permita obtener un sistema estable. Se utiliza la metodologa
de Ubicacin de Polos y Regulador Cuadrtico Lineal para hacer el diseo usando Matlab.
MODELO DINMICO DEL SISTEMA
Definicin del sistema a controlar
El Pndulo Invertido es un sistema conformado por un pndulo montado sobre un carro impulsado por un
actuador. 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 puede ser modelado como un sistema lineal considerando que las desviaciones
angulares del pndulo son muy pequeas. La bondad del diseo est dada por los movimientos que el carro necesita
hacer para posicionarse sin que el pndulo se desve desde su posicin vertical ms de un cierto ngulo, lo cual debe
darse en un tiempo razonable.
El sistema de control tendr dos salidas: inclinacin del pndulo y posicin del carro. Dichas salidas sern
procesadas por el sistema de control a disear el cual dar como respuesta la fuerza y el sentido a aplicar al
movimiento del carro, por ende la aplicacin de un modelo en el espacio de estados ser el apropiado. No obstante
para fines didcticos se ha hecho nfasis tambin en el control convencional.
Modelo Dinmico del Pndulo Invertido
Con la finalidad de entender el comportamiento de los sistemas dinmicos y controlar los sistemas complejos, es
necesario obtener modelos matemticos para representarlos. A continuacin se describe el sistema analizado, el cual
consiste en una barra articulada en el punto P al carro, el cual es impulsado por una fuerza de control, como se ve en
la Fig. 1. El movimiento se restringe al plano vertical.
Fig. 1: (a) Sistema del pndulo invertido, (b) Diagrama de cuerpo libre.
2
Las ecuaciones linealizadas para pequeas oscilaciones alrededor de la posicin
vertical son las siguientes:

( ) u m x b x m M + +


(1)

( ) x m mg B m I

+ +
2
(2)
Tomando la Transformada de Laplace, se obtiene la funcin de transferencia entre la posicin angular (s)
del pndulo y la fuerza de control U(s):

( )
( ) ( ) ( ) ( )
q
bmg
S
q
mg m M Bb
S
q
m I b m M B
S
S
q
m
s U
s

1
]
1

+
+
1
]
1

+ + +
+

2
2
3
(3)
donde: ( ) ( ) ( ) [ ]
2 2
m m I m M q + +
Modelado del Pndulo Invertido en el Espacio de Estados.
Para obtener el modelo en el espacio de estados, primero se definen las variables de estado y las variables de
salida, luego las ecuaciones diferenciales de la dinmica del sistema y las ecuaciones de salida.

X x
X x
x
x

4
3
2
1


1
]
1

1
]
1

1
]
1

3
1
2
1
x
x
X y
y
y

(4)

( ) ( )
( ) ( )

1
1
1
1
1
1
]
1

+
+
1
1
1
1
]
1

1
1
1
1
1
1
]
1

1
1
1
1
]
1

q
m I
q
m
x
x
x
x
q
m I b
q
Bm
g
q
m
q
b m
q
m M B
g
q
m m M
x
x
x
x
2
4
3
2
1
2 2
4
3
2
1
0
0
0
1 0 0 0
0
0 0 1 0

(5)

.
0
0
.
0 1 0 0
0 0 0 1
4
3
2
1
2
1
1
]
1

+
1
1
1
1
]
1

1
]
1

1
]
1

x
x
x
x
y
y
(6)
Determinacin de la estabilidad del sistema en lazo abierto usando Matlab
La estabilidad del sistema en lazo abierto se puede determinar hallando los polos a partir de la ecuacin
caracterstica del sistema de la Ec. (3). Usando valores numricos para los parmetros del sistema, los cuales sern
obtenidos en la siguiente seccin, se puede trazar el lugar geomtrico de las races como se ve en la Fig. 2. El sistema
claramente es inestable pues tiene un polo en el semiplano derecho. Esto muestra la necesidad de un compensador
apropiado para poder controlar el sistema.
3
Fig. 2: Lugar geomtrico de las races para el sistema en lazo abierto

DETERMINACIN DE LOS PARMETROS DEL SISTEMA
Tomando en cuenta factores tales como disponibilidad, costo, seguridad, peso, tamao, confiabilidad y precisin se
seleccion como actuador del prototipo un motor de corriente continua de imn permanente, el cual mueve al carro a
travs de una caja reductora y un sistema de poleas (Fig.3).
Las constantes del motor se midieron experimentalmente [1], y se muestran en la Tabla 1.


Fig. 3: Componentes del prototipo del sistema de pndulo invertido.
Tabla 1: Valores de los parmetros del sistema
4
PARMETRO DESCRIPCIN VALOR
M Masa del Carro 0,435 Kg.
m Masa del Pndulo 0,270 Kg.
l Longitud media del Pndulo 0,165 m.
b Coeficiente de Friccin Viscosa del Carro 0,1 N.s/m
B Coeficiente de Friccin Viscosa del Pndulo 0,05 N.m/rad/s
K
1
Constante del Par Motriz 0,27173 N.m/A
K
2
Constante de la Fuerza Contra electromotriz 0,15584 V/rad/s
R
a
Resistencia de Armadura del Motor 3,69 W
K
q
Ganancia del Potencimetro del Pndulo 1,637 V/rad
K
x
Ganancia del Potencimetro del Carro 3,183 V/m
D Dimetro de la Polea 0,075 m
n Reduccin de la caja Reductora 10
Jo Inercia reducida al eje del Motor
2,77e-3 Kg.m
2
Conexin dinmica del pndulo con el motor
La transmisin de movimiento del motor al carro se realiza a travs de un cable inelstico el cual est unido a una
polea impulsora y una conducida segn el esquema que se muestra en la Fig. 4.
Fig. 4: Conexin del motor con el pndulo
Considerando la dinmica del motor e incluyndola en las ecuaciones linealizadas del movimiento (1) y (2), se
obtienen las siguientes ecuaciones diferenciales que describen el comportamiento del sistema.

( )
( ) ( )
e
rq R
m I K
q
Bm
q
g m
x
q
r R
K K
b m I
x
a
a
2
2
2
1
2 2
2 1 2


+
+

,
_

+ +
+
(7)

e
rq R
K m
x
q
m
r R
K K
b
g
q
r
J
m M m
q
r
J
m M B
a
a
o o
2
2
2 2
1
2
2 1
2 2

,
_

+
+

,
_

+ +

,
_

+ +
+
(8)
Donde:
( ) ( )
1
]
1

+
,
_

+ +
2 2
2
2
m m I
r
J
m M q
o
5
DISEO DEL SISTEMA DE CONTROL
Diseo mediante ubicacin de polos
Se controla tanto la posicin del carro como la desviacin angular del pndulo. Las especificaciones de desempeo
que se establecen para una entrada escaln de la fuerza de control son:
Tiempo de estabilizacin de las variables menor a 2 segundos.
Relacin de amortiguamiento en lazo cerrado de 0.5.
Error de estado estable cero.
Para cumplir las especificaciones de desempeo, los polos de la funcin de transferencia de lazo cerrado, deben ser
de -2 t i3 y -20. Mediante el uso de Matlab se verifica que el problema de estado es completamente controlable;
luego se aplica la frmula de Ackermann para obtener la siguiente matriz de retroalimentacin de estados la cual
proporciona los polos deseados. En la Fig. 5 se muestra el esquema de retroalimentacin de estados que se ha usado
[3].
Fig. 5: Diagrama de bloques mostrando la retroalimentacin de estados
Las ganancias del control retroalimentado son las siguientes:
K = [135.3076 12.6423 -72.1959 -38.8514] (9)

Por lo que la seal de control toma la siguiente forma:
= -135.3076 - 12.6423 + 72.1959 X + 38.8514 X (10)
Diseo de un observador de estado
Considerando que se miden solo dos de las cuatro variables de estado, se procede a disear un observador de
estados que permita tener una medicin virtual de las variables no medidas. En primer lugar se disea un
observador de orden completo, como si no se midiera ninguna de las variables de estado. Usando Matlab se confirma
la observabilidad del sistema. Se seleccionan los valores caractersticos del observador para que su respuesta sea
estable y ms rpida que la respuesta del sistema en lazo cerrado. Se seleccionan los polos del observador como -10,-
11,-12 y -13, con lo cual la matriz de ganancias del observador resulta la siguiente:
L = [ 15.0940 -1.2452; 78.9617 -16.6433; -1.7567 23.9477; -18.3909 145.4249] (11)
6
Fig. 6: Diagrama de bloques incluyendo el observador de orden completo
Con la implementacin de este observador se obtiene el siguiente comportamiento de las variables controladas
(Fig. 7).
Fig. 7: Comportamiento del sistema con un observador de estado completo

Se observa que tanto el desplazamiento del carro como la desviacin angular del pndulo se estabilizan en un
tiempo menor a 2 segundos y con cero errores de estado estable.
Diseo de un observador de orden reducido
La seal de control se la obtiene de la medicin de dos variables de salida solamente (posicin del carro y
desviacin angular del pndulo) lo cual se hace mediante el uso de dos potencimetros. Es entonces necesario
disear un observador de orden reducido para obtener las seales de las variables de estado.
Usando la metodologa del regulador cuadrtico lineal (LQR) se puede obtener un observador de orden mnimo
[3]. Esto se ha implementado en los siguientes programas de Matlab, mediante el uso de los cuales se obtiene la
matriz de retroalimentacin K y la del observador L.
7
%.....Regulador Cuadrtico Lineal para determinar K..
M = 0.435;
m = 0.270;
b = 0.10;
B = 0.05;
g = 9.80;
l = 0.165;
I = m*l^2/3; %..Inercia del pndulo.
r = 0.0375; %..Radio de la polea
K1 = 0.27173;
K2 = 0.15584;
Ra = 3.69;
N = 10; %...ganancia del tren de engranajes
Jm = 0.00178 %...Inercia del motor
Jo = Jm+(M+m)*r^2 %...Inercia referida al eje del motor
E = 0.6; %..amplificador del driver del motor
q = (M+m+Jo/(2*r^2))*(I+m*l^2)-(m*l)^2; % Denominador para las Matrices A y B
A = [0 0 1 0;
0 0 0 1;
(M+m+Jo/(2*r^2))*m*l*g/q 0 -B*(M+m+Jo/(2*r^2))/q -m*l*(b+(N*K1)*K2/(2*Ra*r^2))/q;
(m*l)^2*g/q 0 -B*m*l/q -(b+(N*K1)*K2/(2*Ra*r^2))*(I+m*l^2)/q];
B = [ 0;
0;
E*m*l*N*K1/(q*Ra*r);
E*(I+m*l^2)*N*K1/(q*Ra*r)];
C = [1 0 0 0; 0 1 0 0];
D = [0; 0];
x = 1000; % asignacion a prueba y error de las matrices Q y R.
y = 1000;
Q = [x 0 0 0;
0 y 0 0;
0 0 1 0;
0 0 0 1];
R = 1;
K = lqr(A,B,Q,R)
Ac = [(A-B*K)];
Bc = [B];
Cc = [C];
Dc = [D];
p=eig(Ac)
sys_cl = ss(Ac,Bc,Cc,Dc);
T = 0:0.01:4; % Tiempo de simulacin = 10 seg
U = ones(size(T)); % u = 1, entrada escaln.
X0 = [0 0 0 0]; % condicin inicial
[Y,T,X]=lsim(sys_cl,U,T,X0); % simulate
plot(T,Y)
legend('Pendulo [rad]','Carro [m]')
% . . R e g u l a d o r C u a d r t i c o L i n e a l p a r a d e t e r m i n a r L . .
M = 0 . 4 3 5 ;
m = 0 . 2 7 0 ;
b = 0 . 1 0 ;
B = 0 . 0 5 ;
g = 9 . 8 0 ;
l = 0 . 1 6 5 ;
I = m * l ^ 2 / 3 ;
r = 0 . 0 3 7 5 ;
K 1 = 0 . 2 7 1 7 3 ;
K 2 = 0 . 1 5 5 8 4 ;
R a = 3 . 6 9 ;
N = 1 0 ; % . . . g a n a n c i a d e l t r e n d e e n g r a n a j e s
J m = 0 . 0 0 1 7 8 % . . . I n e r c i a d e l m o t o r
J o = J m + ( M + m ) * r ^ 2 % . . . I n e r c i a r e f e r i d a a l e j e d e l m o t o r
E = 0 . 6 ; % . . a m p l i f i c a d o r d e l d r i v e r d e l m o t o r
q = ( M + m + J o / ( 2 * r ^ 2 ) ) * ( I + m * l ^ 2 ) -( m * l ) ^ 2 ; % D e n o m i n a d o r p a r a l a s M a t r i c e s A y B
A a a = [ 0 0 ; 0 0 ] ;
A a b = [ 1 0 ; 0 1 ] ;
A b a = [ ( M + m + J o / ( 2 * r ^ 2 ) ) * m * l * g / q 0 ;
( m * l ) ^ 2 * g / q 0 ] ;
A b b = [ -B * ( M + m ) / q -m * l * ( b + ( N * K 1 ) * K 2 / ( 2 * R a * r ^ 2 ) ) / q ;
-B * m * l / q -( b + ( N * K 1 ) * K 2 / ( 2 * R a * r ^ 2 ) ) * ( I + m * l ^ 2 ) / q ] ;
B a = [ 0 ; 0 ] ;
B b = [ E * m * l * N * K 1 / ( 2 * q * R a * r ) ; E * ( I + m * l ^ 2 ) * N * K 1 / ( 2 *q * R a * r ) ] ;
x = 1 0 ; % a s i g n a c i n a r b i t r a r i o d e l a s m a t r i c e s Q y R .
y = 1 0 ;
Q o = [ x 0 ;
0 y ] ;
R o = [ 1 0 ; 0 1 ] ;
L = l q r ( A b b ' , A a b ' , Q o , R o )
P = e i g ( A b b -L * A a b )
Fig. 8: Programas de Matlab para calcular las matrices K y L
Los valores obtenidos son:
K =[ 76.9728 -31.6228 6.8075 -28.0053] (12)

L = [ 9.3186 -0.2527; -0.2527 0.0555] (13)
El comportamiento del sistema con el observador de orden mnimo se muestra en la Fig. 9.

Fig. 9 Comportamiento del sistema con un observador reducido
El comportamiento observado (Fig. 9) muestra un mayor sobrepaso en la oscilacin inicial del pndulo pero el
tiempo de estabilizacin es menor que el obtenido antes (Fig. 7) y el error de estado estable es cero.
Usando los valores obtenidos para las matrices K y L se llega a la siguiente seal de control:

( ) ( ) ( ) ( )
2 1
39 . 31 14 . 8 91 . 41 41 . 169 + + x (14)
El correspondiente diagrama de flujo de seales a partir del cual se implement el circuito electrnico de
compensacin se muestra en la Fig. 8 [2].


+13.62

+17.10
-31.39

+27.67

-1.00
+124.39

+8.14

-0.42

+3.96

-12.43

-1.22

-9.05

-1/ S

-1/ S

1.637

-103.49

-4.369

-9.88

-1.00
4.244

2
2
1
1

U



Fig. 8: Diagrama de flujo de seales del compensador
RESULTADOS
8
Se construy el equipo usando un motor de CD como actuador, el cual a travs de un sistema de poleas impulsaba
al carro con el pndulo montado encima de l (Fig. 3). Se usaron potencimetros de precisin para obtener seales de
retroalimentacin de la posicin del carro y de la inclinacin del pndulo. Estas seales eran procesadas por un
compensador diseado de acuerdo al diagrama de flujo de seales de la Fig. 8.
CONCLUSIONES
Se simul, dise y construy un prototipo de un sistema de pndulo invertido, el cual sirve para hacer
demostraciones de estrategias de control usando variables de estado en un curso de sistemas de control. El sistema
construido es de bajo costo y cumple parcialmente los objetivos para los cuales fue diseado. Aunque se logr
mantener el pndulo estabilizado en la posicin vertical cumpliendo con las especificaciones de diseo, surgieron
problemas en algunos casos, los cuales ocasionaron que este finalmente se cayera. Los principales problemas
surgieron por la saturacin de los componentes del sistema de control y problemas de ruido generados en los
potencimetros. Estos problemas, sin embargo, fueron superados disminuyendo la ganancia para evitar saturacin y
usando potencimetros de precisin para disminuir la generacin de ruido.
Para futuras mejoras del sistema se hace necesaria la obtencin de ganancias significativas para la
retroalimentacin de los estados medidos en las zonas de baja frecuencia para lograr disminuir los efectos de los
disturbios tanto internos como externos. No obstante para las regiones de alta frecuencia debe atenuarse la ganancia
para as reducir los efectos del ruido.
REFERENCIAS
1. R. Tinoco, Diseo y Simulacin de un Sistema de Control de Pndulo Invertido, Tesis Ing. Mec., Facultad de
Ingeniera Mecnica, Escuela Superior Politcnica del Litoral, Guayaquil, Ecuador, 2005
2. B. Shahian y M. Hassul, Control System Design using Matlab, Prentice-Hall, New Jersey, 1993.
9
3. K. Ogata, Ingeniera de Control Moderna, Tercera edicin, Prentice-Hall Hispanoamrica, Mxico D.F., 1995.
4. W. Messner, Control Tutorials for Matlab and Simulink, Addison Wesley Longman, 2001.

UNIDADES Y NOMENCLATURAS
B Coeficiente de Friccin Viscosa equivalente del Reductor
b Coeficiente de Friccin Viscosa equivalente del Pndulo
xcg Abscisa del Centro de Gravedad del Pndulo
ycg Ordenada del Centro de Gravedad del Pndulo
K1 Constante del Par Motriz
K2 Constante de la Fuerza Contra-electromotriz
ia Corriente de Armadura del Motor
if Corriente de Campo del Motor
d Dimetro de la Polea
r Radio de la Polea
(s) Polinomio Caracterstico de la Matriz de estados
Desplazamiento Angular del Pndulo
X Desplazamiento Lineal del Carro
Relacin de Amortiguamiento Relativo
o Frecuencia Natural
a Frecuencia Natural Amortiguada
Frecuencia Excitadora
Fd Fuerza Excitadora
G(s) Funcin de Transferencia del Sistema Pndulo Invertido
V Ganancia de Voltaje
g Aceleracin de la Gravedad
Lm Inductancia
Jc Inercia de Carga
Jm Inercia del Motor
I Inercia del Pndulo
l Longitud del Pndulo
A Matriz de Estado
B Matriz de Entrada
K Matriz de Ganancia de Retroalimentacin del Estado
L Matriz de Ganancia del Observador
C Matriz de Salida
D Matriz de Transicin Directa
M Masa del Carro
m Masa del Pndulo
i Unidad Imaginaria
n Nmero de Estados
T Par desarrollado por el Motor
o Par desarrollado en la Polea
Perodo Fundamental
i Polos del Sistema a Lazo Cerrado
N Reduccin de Velocidad
Ra Resistencia de Armadura del Motor
Seal de Control
Mp Sobrepaso mximo
ts Tiempo de Estabilizacin
tr Tiempo de Levantamiento
s Variable Compleja
xi Variable de Estado
ea Voltaje aplicado a la Armadura del Motor
eb Fuerza Contra-electromotriz

You might also like