Está en la página 1de 11

8º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA

Cusco, 23 al 25 de Octubre de 2007

“MODELADO, SIMULACIÓN Y CONTROL DE UN PÉNDULO INVERTIDO USANDO


COMPONENTES ANÁLOGOS SIMPLES”

Tinoco Romero R.F., Orcés Pareja E.H.

Facultad de Ingeniería Mecánica, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador
Km. 30.5 Vía Perimetral, Campus G. Galindo.
eorces@espol.edu.ec

RESUMEN.

En el presente artículo se describe el diseño, simulación y pruebas realizadas con un péndulo invertido que será
usado en el laboratorio de sistemas de control como un elemento didáctico sencillo y de bajo costo.
El péndulo invertido es un dispositivo que simula algunos sistemas prácticos como brazos robóticos, grúas, etc., y
consiste en una barra cilíndrica 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 propósito final es conservar el péndulo en
posición vertical ante la presencia de perturbaciones, aplicando para esto una fuerza de control apropiada. La fuerza
correcta es establecida a través de las mediciones de los valores instantáneos de la posición horizontal y el ángulo de
inclinación del péndulo.
Se diseña un observador de orden mínimo usando Matlab, y se lo comprueba usando simulación. Se describe la
construcción de un prototipo y un controlador mediante el uso de componentes análogos simples, y la comparación
con el sistema simulado. Se analiza el efecto de factores reales tales como fricción, ruido y no linealidades del
sistema.

PALABRAS CLAVE: Sistemas de control, Modelado, Simulación.

CÓDIGO 842

0
INTRODUCCIÓN.

El péndulo invertido es un problema de control clásico, normalmente cubierto en clases introductorias de controles
y dinámica, además es muy conocido por su excelente analogía para el diseño de un controlador de vibraciones en
las plataformas para el lanzamiento de un cohete, como también para la estabilización de grúas, edificaciones,
robótica y sobre todo para aplicaciones didácticas, por ser un excelente medio de comprobación y evaluación de las
diferentes metodologías de control. Muchos péndulos invertidos modernos usan sensores giroscópicos, codificadores
ópticos con microprocesadores o computadoras completas para implementar sus algoritmos de control. Mientras la
sofisticación de esos sensores y poder de estimación de estos dispositivos tiene sus ventajas, estos generan un
problema de control que no es accesible para el estudiante sin conocimiento de técnicas avanzadas de control.
Con el objeto de hacer más accesible la solución del problema de control a estudiantes de clases introductorias de
sistemas de control, se procuró diseñar un sistema mediante el uso de componentes análogos simples tales como
potenciómetros y amplificadores operacionales [1]. El propósito de este proyecto es el de diseñar un controlador que
permita la estabilización del péndulo en una posición vertical bajo el control del posicionamiento del carro. Se siguió
el modelo de Shahian [2] en una implementación lo más simple posible del sistema de control.
El comportamiento dinámico se lo describe mediante un modelo matemático obtenido a partir de las leyes físicas
fundamentales, para así llegar a la ley de control que permita obtener un sistema estable. Se utiliza la metodología
de Ubicación de Polos y Regulador Cuadrático Lineal para hacer el diseño usando Matlab.

MODELO DINÁMICO DEL SISTEMA

Definición del sistema a controlar

El Péndulo Invertido es un sistema conformado por un péndulo montado sobre un carro impulsado por un actuador.
El objetivo a alcanzar es mantener el péndulo en posición vertical tanto como sea posible y tener control sobre la
posición del carro. El sistema puede ser modelado como un sistema lineal considerando que las desviaciones
angulares del péndulo son muy pequeñas. La bondad del diseño está dada por los movimientos que el carro necesita
hacer para posicionarse sin que el péndulo se desvíe desde su posición vertical más de un cierto ángulo, lo cual debe
darse en un tiempo razonable.
El sistema de control tendrá dos salidas: inclinación del péndulo y posición del carro. Dichas salidas serán
procesadas por el sistema de control a diseñar el cual dará como respuesta la fuerza y el sentido a aplicar al
movimiento del carro, por ende la aplicación de un modelo en el espacio de estados será el apropiado. No obstante
para fines didácticos se ha hecho énfasis también en el control convencional.

Modelo Dinámico del Péndulo Invertido

Con la finalidad de entender el comportamiento de los sistemas dinámicos y controlar los sistemas complejos, es
necesario obtener modelos matemáticos para representarlos. A continuación 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 péndulo invertido, (b) Diagrama de cuerpo libre.

1
Las ecuaciones linealizadas para pequeñas oscilaciones alrededor de la posición
vertical son las siguientes:

M  m  x  bx  m  u (1)


 
I  m   B  mg  mx
2
(2)

Tomando la Transformada de Laplace, se obtiene la función de transferencia entre la posición angular Θ(s)
del péndulo y la fuerza de control U(s):

m
S
 s  q

U  s  B M  m   b I  m2
S3  
  S 2  Bb   M  m  mg
 S
bmg
 
 q   q  q
(3)

donde:   
q   M  m  I  m2   m
2

Modelado del Péndulo 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 dinámica del sistema y las ecuaciones de salida.
x1  
x  
2  y     x 
y   1      1
x3  X  y 2   X   x3  (4)
x  X
4

 0 1 0 0   0 
 x 1    M  m  m B M  m  mb   x1   m 
 x   g  0   x   q 
  q q q
2
   2   
 x 3   0 0 0 1   x3   0 2 
    m
2

Bm
0 

b I  m2    x   I  m 
 x 4   g
  4   q 
 q q q

(5)

 x1 
 
 y1  1 0 0 0  x2  0
 y  0 0 1 0  x   0.
 .
 2   3  
 
 x4 
(6)

Determinación de la estabilidad del sistema en lazo abierto usando Matlab

2
La estabilidad del sistema en lazo abierto se puede determinar hallando los polos a partir de la ecuación
característica del sistema de la Ec. (3). Usando valores numéricos para los parámetros del sistema, los cuales serán
obtenidos en la siguiente sección, se puede trazar el lugar geométrico de las raíces 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.

Fig. 2: Lugar geométrico de las raíces para el sistema en lazo abierto

DETERMINACIÓN DE LOS PARÁMETROS DEL SISTEMA

Tomando en cuenta factores tales como disponibilidad, costo, seguridad, peso, tamaño, confiabilidad y precisión se
seleccionó como actuador del prototipo un motor de corriente continua de imán permanente, el cual mueve al carro a
través 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 péndulo invertido.

Tabla 1: Valores de los parámetros del sistema

3
PARÁMETRO DESCRIPCIÓN VALOR
M Masa del Carro 0,435 Kg.
m Masa del Péndulo 0,270 Kg.
l Longitud media del Péndulo 0,165 m.
b Coeficiente de Fricción Viscosa del Carro 0,1 N.s/m
B Coeficiente de Fricción Viscosa del Péndulo 0,05 N.m/rad/s
K1 Constante del Par Motriz 0,27173 N.m/A
K2 Constante de la Fuerza Contra electromotriz 0,15584 V/rad/s
Ra Resistencia de Armadura del Motor 3,69 W
Kq Ganancia del Potenciómetro del Péndulo 1,637 V/rad
Kx Ganancia del Potenciómetro del Carro 3,183 V/m
D Diámetro de la Polea 0,075 m
n Reducción de la caja Reductora 10
Jo Inercia reducida al eje del Motor 2
2,77e-3 Kg.m

Conexión dinámica del péndulo con el motor

La transmisión de movimiento del motor al carro se realiza a través de un cable inelástico el cual está unido a una
polea impulsora y una conducida según el esquema que se muestra en la Fig. 4.

Fig. 4: Conexión del motor con el péndulo

Considerando la dinámica del motor e incluyéndola en las ecuaciones linealizadas del movimiento (1) y (2), se
obtienen las siguientes ecuaciones diferenciales que describen el comportamiento del sistema.

 I  m  b  2KRKr
2 1 2


x   a
2 2

 x   m g   Bm  K1 I  m e
2

q q q 2 Ra rq
(7)

 J   J   KK 
B M  m  o2  m M  m  o2   b  1 22 m
2r   2r  2 Ra r  mK1
     g   x  e
q q q 2 Ra rq
(8)

 2
Donde:
J 

q   M  m  o2  I  m2   m  
 2r  

4
DISEÑO DEL SISTEMA DE CONTROL

Diseño mediante ubicación de polos

Se controla tanto la posición del carro como la desviación angular del péndulo. Las especificaciones de desempeño
que se establecen para una entrada escalón de la fuerza de control son:
 Tiempo de estabilización de las variables menor a 2 segundos.
 Relación de amortiguamiento en lazo cerrado de 0.5.
 Error de estado estable cero.
Para cumplir las especificaciones de desempeño, los polos de la función de transferencia de lazo cerrado, deben ser
de -2  i3 y -20. Mediante el uso de Matlab se verifica que el problema de estado es completamente controlable;
luego se aplica la fórmula de Ackermann para obtener la siguiente matriz de retroalimentación de estados la cual
proporciona los polos deseados. En la Fig. 5 se muestra el esquema de retroalimentación de estados que se ha usado
[3].

Fig. 5: Diagrama de bloques mostrando la retroalimentación de estados

Las ganancias del control retroalimentado son las siguientes:

K = [135.3076 12.6423 -72.1959 -38.8514] (9)

Por lo que la señal de control toma la siguiente forma:

μ = -135.3076  - 12.6423 ´ + 72.1959 X + 38.8514 X´ (10)

Diseño de un observador de estado

Considerando que se miden solo dos de las cuatro variables de estado, se procede a diseñar un observador de
estados que permita tener una medición ‘virtual’ de las variables no medidas. En primer lugar se diseña 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 característicos del observador para que su respuesta sea
estable y más rápida 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)

5
Fig. 6: Diagrama de bloques incluyendo el observador de orden completo

Con la implementación 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 desviación angular del péndulo se estabilizan en un
tiempo menor a 2 segundos y con cero errores de estado estable.

Diseño de un observador de orden reducido

La señal de control se la obtiene de la medición de dos variables de salida solamente (posición del carro y
desviación angular del péndulo) lo cual se hace mediante el uso de dos potenciómetros. Es entonces necesario
diseñar un observador de orden reducido para obtener las señales de las variables de estado.
Usando la metodología del regulador cuadrático lineal (LQR) se puede obtener un observador de orden mínimo
[3]. Esto se ha implementado en los siguientes programas de Matlab, mediante el uso de los cuales se obtiene la
matriz de retroalimentación K y la del observador L.

6
%.....Regulador Cuadrático Lineal para determinar K.. %..Regulador Cuadrático Lineal para determinar L..
M = 0.435; M = 0.435;
m = 0.270;
m = 0.270;
b = 0.10;
B = 0.05; b = 0.10;
g = 9.80; B = 0.05;
l = 0.165; g = 9.80;
I = m*l^2/3; %..Inercia del péndulo. l = 0.165;
r = 0.0375; %..Radio de la polea I = m*l^2/3;
K1 = 0.27173;
r = 0.0375;
K2 = 0.15584;
Ra = 3.69; K1 = 0.27173;
N = 10; %...ganancia del tren de engranajes K2 = 0.15584;
Jm = 0.00178 %...Inercia del motor Ra = 3.69;
Jo = Jm+(M+m)*r^2 %...Inercia referida al eje del motor N = 10; %...ganancia del tren de engranajes
E = 0.6; %..amplificador del driver del motor Jm = 0.00178 %...Inercia del motor
q = (M+m+Jo/(2*r^2))*(I+m*l^2)-(m*l)^2; % Denominador para las Matrices A y B
Jo = Jm+(M+m)*r^2 %...Inercia referida al eje del motor
A = [0 0 1 0;
0 0 0 1;
E = 0.6; %..amplificador del driver del motor
(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; q = (M+m+Jo/(2*r^2))*(I+m*l^2)-(m*l)^2; % Denominador para las Matrices A y B
(m*l)^2*g/q 0 -B*m*l/q -(b+(N*K1)*K2/(2*Ra*r^2))*(I+m*l^2)/q]; Aaa = [0 0; 0 0];
B=[ 0; Aab = [1 0; 0 1];
0; Aba = [(M+m+Jo/(2*r^2))*m*l*g/q 0;
E*m*l*N*K1/(q*Ra*r); (m*l)^2*g/q 0];
E*(I+m*l^2)*N*K1/(q*Ra*r)];
C = [1 0 0 0; 0 1 0 0];
Abb = [-B*(M+m)/q -m*l*(b+(N*K1)*K2/(2*Ra*r^2))/q;
D = [0; 0]; -B*m*l/q -(b+(N*K1)*K2/(2*Ra*r^2))*(I+m*l^2)/q];
x = 1000; % asignacion a prueba y error de las matrices Q y R. Ba = [0;0];
y = 1000; Bb = [ E*m*l*N*K1/(2*q*Ra*r);E*(I+m*l^2)*N*K1/(2*q*Ra*r)];
Q = [x 0 0 0; x = 10; % asignación arbitrario de las matrices Q y R.
0 y 0 0; y = 10;
0 0 1 0;
0 0 0 1];
Qo = [x 0;
R = 1; 0 y];
K = lqr(A,B,Q,R) Ro = [1 0;0 1];
Ac = [(A-B*K)]; L = lqr(Abb',Aab',Qo,Ro)
Bc = [B];
Cc = [C]; P =eig(Abb-L*Aab)
Dc = [D];
p=eig(Ac)
sys_cl = ss(Ac,Bc,Cc,Dc);
T = 0:0.01:4; % Tiempo de simulación = 10 seg
U = ones(size(T)); % u = 1, entrada escalón.
X0 = [0 0 0 0]; % condición inicial
[Y,T,X]=lsim(sys_cl,U,T,X0); % simulate
plot(T,Y)
legend('Pendulo [rad]','Carro [m]')

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 mínimo se muestra en la Fig. 9.

Fig. 9 Comportamiento del sistema con un observador reducido

7
El comportamiento observado (Fig. 9) muestra un mayor sobrepaso en la oscilación inicial del péndulo pero el
tiempo de estabilización 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 señal de control:

  169.41   41.91 x   8.141   31.39 2 


(14)

El correspondiente diagrama de flujo de señales a partir del cual se implementó el circuito electrónico de
compensación se muestra en la Fig. 8 [2].

Fig. 8: Diagrama de flujo de señales del compensador

RESULTADOS

Se construyó el equipo usando un motor de CD como actuador, el cual a través de un sistema de poleas impulsaba
al carro con el péndulo montado encima de él (Fig. 3). Se usaron potenciómetros de precisión para obtener señales de
retroalimentación de la posición del carro y de la inclinación del péndulo. Estas señales eran procesadas por un
compensador diseñado de acuerdo al diagrama de flujo de señales de la Fig. 8.

CONCLUSIONES

Se simuló, diseñó y construyó un prototipo de un sistema de péndulo 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 diseñado. Aunque se logró
mantener el péndulo estabilizado en la posición vertical cumpliendo con las especificaciones de diseño, surgieron
problemas en algunos casos, los cuales ocasionaron que este finalmente se cayera. Los principales problemas
surgieron por la saturación de los componentes del sistema de control y problemas de ruido generados en los
potenciómetros. Estos problemas, sin embargo, fueron superados disminuyendo la ganancia para evitar saturación y
usando potenciómetros de precisión para disminuir la generación de ruido.
Para futuras mejoras del sistema se hace necesaria la obtención de ganancias significativas para la
retroalimentación 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, Diseño y Simulación de un Sistema de Control de Péndulo Invertido, Tesis Ing. Mec., Facultad de
Ingeniería Mecánica, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador, 2005

8
2. B. Shahian y M. Hassul, Control System Design using Matlab, Prentice-Hall, New Jersey, 1993.

9
3. K. Ogata, Ingeniería de Control Moderna, Tercera edición, Prentice-Hall Hispanoamérica, México D.F., 1995.
4. W. Messner, Control Tutorials for Matlab and Simulink, Addison Wesley Longman, 2001.

UNIDADES Y NOMENCLATURAS

B Coeficiente de Fricción Viscosa equivalente del Reductor


b Coeficiente de Fricción Viscosa equivalente del Péndulo
xcg Abscisa del Centro de Gravedad del Péndulo
ycg Ordenada del Centro de Gravedad del Péndulo
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 Diámetro de la Polea
r Radio de la Polea
φ(s) Polinomio Característico de la Matriz de estados
θ Desplazamiento Angular del Péndulo
X Desplazamiento Lineal del Carro
ζ Relación de Amortiguamiento Relativo
ωo Frecuencia Natural
ωa Frecuencia Natural Amortiguada
ω Frecuencia Excitadora
Fd Fuerza Excitadora
G(s) Función de Transferencia del Sistema Péndulo Invertido
ΔV Ganancia de Voltaje
g Aceleración de la Gravedad
Lm Inductancia
Jc Inercia de Carga
Jm Inercia del Motor
I Inercia del Péndulo
l Longitud del Péndulo
A Matriz de Estado
B Matriz de Entrada
K Matriz de Ganancia de Retroalimentación del Estado
L Matriz de Ganancia del Observador
C Matriz de Salida
D Matriz de Transición Directa
M Masa del Carro
m Masa del Péndulo
i Unidad Imaginaria
n Número de Estados
T Par desarrollado por el Motor
τo Par desarrollado en la Polea
τ Período Fundamental
μi Polos del Sistema a Lazo Cerrado
N Reducción de Velocidad
Ra Resistencia de Armadura del Motor
μ Señal de Control
Mp Sobrepaso máximo
ts Tiempo de Estabilización
tr Tiempo de Levantamiento
s Variable Compleja
xi Variable de Estado
ea Voltaje aplicado a la Armadura del Motor
eb Fuerza Contra-electromotriz

También podría gustarte