Vous êtes sur la page 1sur 12

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

Diseo e Implementacin de Controladores para


un Pndulo Invertido con Simulacin Virtual 3D
Daro Fernando Lema Vela, Mara Gabriela Campoverde Robles, Xavier Ivn Aguas Haro
Ingeniera en Electrnica y Control, Escuela Politcnica Nacional, Quito, Ecuador
dario.lema@epn.edu.ec
maria.campoverde@epn.edu.ec
xavier.aguas@epn.edu.ec

ResumenEn este artculo se presenta el desarrollo de


diferentes controladores para la estabilizacin de un pndulo
invertido, basado en realimentacin de estados a partir de un
regulador lineal ptimo, PID, tiempo finito, tiempo mnimo y
Ragazzini. Dicho estudio consistir en una primera parte en la
que se realice un modelado matemtico del sistema, obteniendo
las ecuaciones que lo describen y realizando un modelo del
mismo a partir de ellas. En la segunda parte se realizar varios
diseos de control utilizando la herramienta Simulink de Matlab
de tal forma que partiendo del reposo mantenga una posicin
vertical. En el ejemplo propuesto se demuestra que la barra se
puede mantener en posicin vertical para una perturbacin
dada lo suficientemente pequea. Como resultado de esta
experiencia se tiene una plataforma que permite evidenciar el
control PID.
Palabras clave Regulador lineal ptimo, Pndulo invertido,
Ragazzini, Controladores.

I. INTRODUCCIN

L desarrollo de controladores es muy importante en el


mundo para la automatizacin de los diferentes procesos
industriales. De manera que disear controladores que
funcionen correctamente para sistemas fsicos lineales y no
lineales, es el reto de un ingeniero para generar grandes
avances en la industria. El control de un pndulo invertido
constituye un problema clsico dentro del campo del control
no lineal. Existe una amplia gama de controladores ya sea
lineales, no lineales, ptimos, robustos, predictivos, etc. que
han sido diseados para esta aplicacin en especfico. El
objetivo es disear un controlador que permita estabilizar un
pndulo invertido as como el desarrollo de una aplicacin
capaz de simularlo. El carro deber moverse para compensar
el desplazamiento del pndulo y mantenerlo, as, en
equilibrio. Su aplicacin en la vida cotidiana va desde el
control de estabilidad de gras, hasta la construccin de
vehculos de desplazamiento para humanos que implementan
este problema, como es el vehculo segway.
II. MODELAMIENTO DEL PNDULO INVERTIDO
Para obtener el comportamiento del sistema de estudio, se
plantea el modelo matemtico del pndulo invertido sobre un
carro y se analiza el modelo matemtico a partir de las leyes
de la dinmica de Newton, de la cual se obtiene el modelo no
lineal y las ecuaciones de estado lineales que representa el
comportamiento del pndulo invertido.

Fig. 1. Sistema de estudio Pndulo Invertido

El sistema a analizarse se compone de un pndulo cuya


masa se concentra en un punto a determinada longitud unido
a un carro el cual se mueve en una sola direccin (eje x). El
pndulo rota libremente en torno a un eje paralelo al eje z y
un punto fijo en el mvil, su posicin de equilibrio es en 0
radianes con respecto al eje y.
En este sistema se consideran la masa de la barra cuyo
signo es m y tiene un valor de 0.32 Kg, adems se tiene la
masa del carro denotado como M y con valor de 1.2 Kg. Por
otro lado, se considera la friccin del carro, el cual depende
de la velocidad de este, con smbolo b y valor de 0.11
N/m/seg. Como ltimo parmetro del sistema se tiene l la
longitud de la varilla cuyo valor es de 0.36 m. Es importante
mencionar que el momento de inercia del sistema se
considera despreciable. Una variable que aparece
internamente al momento de efectuar las operaciones de las
leyes de Newton es N la fuerza Normal que ejercen
recprocamente entre s el carro y la masa. La seal de entrada
de control es la fuerza horizontal ejercida sobre el carro y las
seales de salida es el ngulo y el desplazamiento en x del
pndulo.
El modelamiento matemtico del sistema permite
analizarlo y establecer sus parmetros de entrada y salida, se
puede utilizar un modelamiento lineal para poder simplificar
dicho anlisis pero se debe tomar en cuenta que el sistema se
estabilice alrededor de un punto, que para este caso es en el
ngulo con el eje e igual a 0 radianes (=0 []), adems se

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016


debe considerar que el sistema no vara en gran medida
alrededor de este punto, y para este caso el sistema se
considera lineal.

Considerando esto se procede a linealizar el sistema


alrededor del punto de equilibrio, por lo que se plantea el
siguiente modelo:
Fig. 3. Fuerzas influyentes sobre el pndulo

TABLA I
PARMETROS QUE INTERVIENEN EN EL PNDULO INVERTIDO
Smbolo

Descripcin

Valor

Masa del carro

1.2 [Kg]

Masa de la barra

0.32 [Kg]

En donde:
=ngulo entre el pndulo y eje y de referencia
m=masa de la barra
N=Fuerza normal por el carro

Friccin del carro, que


depende de la velocidad

0.11
[N/m/seg]

Fuerzas en el eje horizontal:

Longitud de la varilla

0.36 [m]

gravedad

9.8 [m/ 2 ]

Fuerza Normal entre el


carro y la varilla

Planteando las ecuaciones de fuerzas influyentes en el carro:

Fuerzas en el eje vertical:

Fig. 2. Fuerzas influyentes sobre el carro

En donde:
F=Fuerza que empuja el mvil hacia adelante
b=Constante de friccin entre el mvil y el piso
N=Fuerza normal por el pndulo
M=Masa del mvil

Sustituyendo (1) en (3):

Sustituyendo (3) en (5):


Planteando las ecuaciones de fuerzas influyentes en el
pndulo:
Analizando en el punto de equilibrio, en donde:

En (6):

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

Por lo tanto las funciones de transferencia de posicin del


carro y ngulo del pndulo son:
En (7):

Sustituyendo (9) en (8):

IV. CARACTERSTICAS ESTACIONARIAS DE LA PLANTA


El sistema cuenta con un espacio de estados de cuatro
dimensiones, cuyos estados son:
1: Desplazamiento en X
2: Velocidad en X
3: ngulo del pndulo
4: Velocidad angular del pndulo
III. VARIABLES DE ESTADO
Una vez obtenido el modelo matemtico linealizado del
sistema se puede representarlo en variables de estado, de esta
manera se puede saber el comportamiento dinmico del
sistema en un conjunto pequeo de variables.

El carro se desplaza en el nicamente en el eje X. La


entrada de control es la Fuerza en el eje horizontal aplicada
en el carrito, mientras que las salidas son la posicin angular
del pndulo y la posicin horizontal del carro X.

De esta manera se determina las variables de estado de


este sistema, las cuales son:

De las ecuaciones (9) y (10) se tiene:

Fig. 4. Representacin en variables de estado SIMULINK

Reemplazando los datos del problema:

Fig. 5. Evolucin de los estados del pndulo

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

La estructura de un controlador PID es simple pero en


ocasiones su sencillez puede ser tambin su debilidad.
Considerando un lazo de control de una entrada y una salida
(SISO) de un grado de libertado obtenemos el siguiente
diagrama:

Fig. 7. Diagrama de bloques para un controlador PID

Fig. 6. Salida de desplazamiento y ngulo

La forma de disear este PID es haciendo uso del mtodo


de ajuste de Nichols-Ziegler. Bsicamente consiste en lograr
unos valores para la I (integral) y D (derivados) de modo que
la ganancia sea cero.

V. CONTROLADORES
A continuacin se realiza un diseo, implementacin y
anlisis de diferentes controladores del sistema lineal
discretizado del pndulo invertido, por lo que su diseo
se ve afectado por el tiempo diferentes parmetros con
los cuales se lleg a la funcin de transferencia del sistema
discreto, como el tiempo de muestreo, el mtodo de
discretizacin, etc, as como la estabilidad del sistema
lineal alrededor del punto de equilibrio.
Vale recalcar que el sistema tiene dos salidas por lo que el
anlisis de los controladores se los realiza a partir de una
funcin de transferencia, la cual es la que relaciona la
entrada con el ngulo del pndulo, ya que el fin de este
sistema es controlar que el ngulo se mantenga en cero
con respecto al eje vertical, de esta manera la posicin se
ve afectada y no llega ser controlada totalmente, esto con
los controladores que usan funciones de transferencia
como son los controladores de Ragazzini, Tiempo Mnimo
y PID.
Para poder realizar un adecuado control tanto de la
posicin como del ngulo se recurre a un control por
realimentacin de estados en el cual se logra estabilizar
tanto el ngulo del pndulo como la posicin del carro
sobre el cual se encuentra el pndulo, debido a que este
controlador realiza una realimentacin directa de cada
estado del sistema. El uso de este tipo de controlador es
muy usado para sistemas MIMO de entradas y salidas
mltiples.

Fig. 8. Mtodo de Nichols-Ziegler.

A pesar de que el controlador PID estabiliza el ngulo del


pndulo, este diseo no es til para el objetivo que se pretende
alcanzar. Por ello, el siguiente paso es intentar un diseo en
espacio de estado

B. Controlador tiempo finito


Este controlador permite eliminar rpidamente el error
entre la salida del sistema y la seal de referencia, evitando
al mismo tiempo el fenmeno de oscilaciones ocultas que
se puede producir en los controladores de tiempo mnimo.
Se desea que C(z) debe ser tal que se cumplan
simultneamente las siguientes especificaciones:

El sistema compensado debe tener error nulo para la


entrada especfica a partir de un nmero finito de
muestras.

C(z) debe ser fsicamente realizable.

La salida continua del sistema en rgimen


permanente no debe poseer oscilaciones entre
muestras cuando el sistema discreto lleg a rgimen
permanente.

A. Controlador PID
Los controladores PID han logrado colocarse en un sector
importante en la industria pues han demostrado ser muy
robusto para muchas de sus aplicaciones. El objetivo de este
apartado es lograr disear un PID capaz de estabilizar el
pndulo invertido y analizar posteriormente si el controlador
diseado ser el ms adecuado para el sistema.

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016


Con los respectivos clculos se tiene la siguiente funcin de
transferencia:

La cual la implementamos de dos diferentes maneras: con el


sistema lineal continuo y discreto, como se muestra a
continuacin:

Se debe tomar en cuenta que el diseo de este controlador se


basa en condiciones de la funcin de transferencia del
controlador y de sta en lazo cerrado, por lo que se debe tener
especificaciones de la funcin en lazo cerrado.
A continuacin se determinan los polos deseados del sistema
a partir de los requerimientos del mismo que son parmetros
sobre los cuales se basan los controladores en estudio, por lo
que estos polos se usarn tambin en controladores
posteriores.
. = 3.5
. = 3.5/30
0.1

Se considera un mximo sobrepico menor al 10%:


= 10%

Fig. 9. Sistema con controlador de tiempo mnimo

1 2

100%

1 2

0.1 =
= 0.5911

Del tiempo de establecimiento se tiene:


4
=
= 3.5

4
=
= 1.93326
3.5
Como:
= 1 2 = 1.55937
De esta manera se tiene los polos deseados en lazo cerrado en
el plano z, definidos por:
Fig. 10. Inestabilidad del sistema con controlador de tiempo mnimo

Para lo cual se tiene un sistema inestable, esto debido a que


el sistema no responde para un tiempo mnimo debido a que
es inestable.
Con el sistema completamente en discreto el sistema tambin
es inestable.

1,2 =

1,2 = (cos( ) ( ))

(cos(1.55937 ) (1.55937

))

1,2 = 0.89201 (0.9878 0.15531)


1,2 = 0.881187 0.138534

Debido a que el sistema es de 4to rden se necesitan 2 polos


ms y stos se toman de tal manera que no afecten a los polos
deseados, por lo que se toman polos en el plano s alejados
del eje jw: s=-30 y s=-20. Y estos polos se los pasa al plano
z por correspondencia:
= 20 = 20 = 0.13534 3 = 0.13534
= 30 = 30 = 0.04979 4 = 0.04979

Fig. 11. Sistema discreto con controlador ragazzini

Una vez obtenidos los polos deseados en lazo cerrado, se


procede a calcular la ecuacin caracterstica del sistema en
base a estos polos.

C. Controlador Ragazzini
Si se desea realizar una estrategia de control a travs de un
Controlador Ragazzini nos permite tener una serie de
ventajas.

() = ( 1 ) ( 2 ) ( 3 ) ( 4 )
() = 4 1.948 3 + 11287 2 0.1592 + 0.005362

Es una alternativa a la discretizacin de


controladores, se disea directamente en discreto.
Se imponen condiciones a la funcin de
transferencia del controlador y a la de bucle
cerrado.
La idea es obtener una funcin de bucle cerrado
deseada C(z) y a partir de ah obtener el
controlador necesario.

Para el controlador se tiene la siguiente ley de control:


() =

Donde Gaz es la funcin de transferencia del ngulo del


pndulo y Gw es la funcin de lazo cerrado deseada, cuyo
numerador est en funcin del orden del sistema y el
denominador se forma por la ecuacin caracterstica de lazo
cerrado:

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

0 4 1 3 + 2 2 3 + 4
= 4
1.948 3 + 11287 2 0.1592 + 0.005362
Para determinar los valores de bn se tiene las siguientes
restricciones o parmetros: restriccin de causalidad, de
estabilidad y de exactitud, obtenindose las siguientes
ecuaciones:
0 = 0
5.8048 1 + 3.2299 2 + 1.7972 3 + 4 = 2.4895
1 + 2 + 3 + 4 = 0.0269
1 + 1.4568 2 + 1.9749 3 + 2.5542 4 = 0
1 + 1.1547 2 + 1.3094 3 + 1.4642 4 = 0
De esta manera se obtiene que:
b1=2.8751
b2=-7.35974
b3=6.347
b4=-1.83545
=

1 3 + 2 2 3 + 4
4 1.948 3 + 11287 2 0.1592 + 0.005362

Este controlador es el ms adecuado cuando se necesita


controlar ms de una salida, ya que permite tener una
ganancia de realimentacin adecuada para cada estado y de
esta manera el sistema est completamente controlado.
La realimentacin de estados consiste en una matriz K 1xn
donde n es el orden del sistema el cual se lo calcula a partir
de la frmula de Ackerman, el cual viene dado por:
= [0 0 0 1] [ 2 3 ]1 ()
Donde:
() = 4 + 1 3 + 2 2 + 3 + 4
Y los coeficientes an son los correspondientes a la ecuacin
caracterstica del sistema deseado en lazo cerrado Q(z).
Esto se resuelve con la herramienta adecuada de Matlab, la
cual permite manejar fcilmente matrices, de esta manera se
obtiene el siguiente valor de K de realimentacin.
K=[-11.7766 -9.3456 -63.6865 -10.1493]

Por lo que el controlador queda de la siguiente manera:


()
242.12 ( 0.9928) ( 0.7644) ( 0.5553) ( 1.797) (^2 1.795 + 0.8351)
=
( + 0.9969) ( 1) ( 0.9564) ( 1.797) (^2 2.07 + 1.071)

Y se implementa el siguiente diagrama de bloques:

Este controlador es implementado en el sistema no lineal


continuo el cual se lo realiza con ecuaciones no lineales,
senos y cosenos, que definen el sistema.
Esto se lo realiza debido a que este controlador debe usar las
seales de los estados del sistema para realimentar.

Fig. 12. Implementacin del sistema con Controlador por el mtodo de


Ragazzini y perturbacin al carro

Fig. 14. Sistema Controlado por Realimentacin de Estados

Como se observa el sistema tiene 4 realimentaciones


correspondientes a los cuatro estados del sistema, estas
seales se realimentan y se pueden ver los estados del sistema
en la siguiente grfica.

Fig. 13. Comportamiento del sistema con controlador de Ragazzini.

D. Controlador por Realimentacin de Estados


Fig. 15. Estados del sistema realimentado con estado inicial y perturbacin
al carro

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

De igual manera se implementa una perturbacin al sistema


para que se observe que el sistema responde adecuadamente
llegando al punto de estabilidad en 0 radianes en el caso del
eje de rotacin, y en 0 cm en el caso de la posicin del carro.
De igual manera se puede obtener una realimentacin de
estados con el sistema discreto, para lo cual se usa los bloques
adecuados en Simulink de Matlab.

Fig. 16. Control por realimentacin de estados al sistema discreto lineal

Este controlador se lo implementa usando la herramienta


de Matlab, la misma que tiene funciones adecuadas que
clculan el K ptimo para el sistema. A continuacin se
presentan los comando necesarios para obtener la K de
realimentacin en Matlab.
%DATOS DEL SISTEMA
M=1.2;
m=0.32;
b=0.11;
l=0.36;
g=9.8;
%% Matrices de la ecuacin de estados
del sistema
A=[0 1 0 0;0 -b/M -m*g/M 0;0 0 0 1;0
b/(M*l) (M+m)*g/(M*l) 0];
B=[0;1/M;0;-1/(M*l)];
%% LQR
Q=[500 0 0 0;0 0 0 0;0 0 500 0;0 0 0 0];
R=1;
K=lqr(A,B,Q,R)
El sistema implementado en simulink es el mismo que se us
en el anterior controlador, yla nica diferencia es que el K de
realimentacin es distinto, para lo cual se tiene el siguiente
resultado.

Fig. 17. Estados del sistema discreto con realimentacin de estados, con
estado inicial y perturbacin al carro

Fig. 19. Estados del sistema discreto con realimentacin de estados, con
estado inicial y perturbacin al carro

Fig. 18. Salidas del sistema discreto con realimentacin de estados, con
estado inicial y perturbacin al carro

E. Regulador LQR
La ventaja de tener el sistema representado en el espacio
de estados es que el diseo de un controlador LQR resulta
ms sencillo. La idea es establecer una retroalimentacin
completa mediante una combinacin lineal de las variables de
estado.

Fig. 20. Salidas del sistema discreto con realimentacin de estados, con
estado inicial y perturbacin al carro

Se observa que el sistema tiene ms oscilaciones, esto se


puede corregir mediante la matriz Q usada para calcular K,
ya que mientras ms grande sean os valores de Q, mejor ser

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

la respuesta.

VI. COMUNICACIN ENTRE SIMULINK Y CONTROLADOR


Simulink es un entorno de programacin visual, que funciona
sobre el entorno de programacin Matlab. La programacin
es de ms alto nivel de abstraccin que el lenguaje
interpretado Matlab (archivos con extensin .m). Este
software es una herramienta de simulacin de modelos o
sistemas, con cierto grado de abstraccin de los fenmenos
fsicos involucrados en los mismos.

Fig. 21. Arduino Due para realizar la comunicacin entre la computadora y


tarjeta.
Fig. 21. Simulink para la comunicacin serial.

La ejecucin en modo externo permite ejecutar el modelo


de simulacin simultneamente en el hardware externo y en
el computador para hacer la simulacin interactiva,
mostrando valores y graficas de evolucin de las variables, y
tambin para modificar valores de parmetros del modelo, lo
que permite depuracin y ajuste de controladores durante el
funcionamiento del sistema.
Esto se efecta de manera transparente, mediante un
protocolo propio, sin necesidad de programar cdigo para
ello. Son necesarios ms recursos por lo que no es compatible
con los Arduino UNO o nano, debido a su reducida memoria
de programa.
Se opt por usar el ARDUINO DUE el cual presenta las
siguientes caractersticas.
Caractersticas:
Microcontrolador: AT91SAM3X8E
Voltaje de operacin: 3.3V
Voltaje de entrada recomendado: 7-12V
Voltaje de entrada min/max: 6-20V
Digital I/O Pins: 54 (de los cuales 12 proveen salida
PWM)
Analog Input Pins: 12
Analog Outputs Pins: 2
Corriente total de salida DC en todas las lineas I/O:
130 mA
Corriente DC para el Pin de 3.3V: 800 mA
Corriente DC para el Pin de 5V: 800 mA
Memoria Flash: 512 KB disponibles para
aplicaciones del usuario.
SRAM: 96 KB (two banks: 64KB and 32KB)
Velocidad de reloj: 84 MHz

En nuestro caso se muestra el diagrama de bloques


utilizado en Simulink para llevar a cabo la conexin serial con
parmetros que se detallan a continuacin (115200 baudios,
8bits, 1 bit de parada).
Con el uso del Simulink como herramienta para la
simulacin de modelos o sistemas, mejoran de manera ptima
su operatividad y ejecucin de un graficador basado en
MatLab, de modo que facilita la
visualizacin de
comportamiento de cada uno de los bloques del sistema para
la incorporacin de seales.

VII. IMPLEMENTACIN EN GUI DE MATLAB


El sistema se implementa por medio de una interfaz grfica
de Matlab y por medio del uso de VLR de Matlab que permite
crear figuras en 3D y las cuales se las puede manejar
fcilmente por medio de ecuaciones.

Fig. 22. Panel frontal del GUI implementado

Fig. 23. Ejemplo de uno de los controladores usados para la simulacin en


el GUI

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

Fig. 24. Interfaz 3D para la simulacin virtual del pndulo invertido

Xavier Ivn Aguas. naci en Quito,


Ecuador, estudi en el Instituto
Nacional Meja, uno de sus
principales logros fue participar en
concursos internos y jornadas de
puertas abiertas de la fsica, las
matemticas y las reas sociales y
sobre todo muy buena con las palabras
que ganaron la mejor historia de ciencia ficcin concurso y la
ejecucin de programas en Visual Basic 6.0 est llevando a
cabo actualmente un grado en Ingeniera Electrnica y de
control de la Escuela Politcnica Nacional..

VIII. CONCLUSIONES
Gracias
a
SIMULINK
se
ha
cumplido
satisfactoriamente lo esperado, logrando as, facilitar la
comunicacin entre la tarjeta y la planta que se
encuentra dentro del computador y poder observar cmo
se va comportando la planta con los diversos
controladores diseados.
No se recomienda realizar el proceso de Grafica en
tiempo real ya que al estar tomando ms datos, requiere
un mayor esfuerzo de la mquina y pueden llegar a
presentarse retardos en la adquisicin y traficacin y
posteriores fallos en los resultados, por lo tanto se
recomienda primero tomar todos los datos que se
requieran y luego de esto si graficar al final en un solo
proceso.

REFERENCES
[1]
[2]
[3]

L. E. Garca, Control Digital, Teora y Prctica, 3ra ed., MedellnColombia, Politcnico Colombiano, 2010.
K. Ogata, Sistemas de Control en Tiempo Discreto, 2da ed., New
York-Estados Unidos, Prentice Hal, 1996.
S. Dominguez, Control en el Espacio de Estados, 2da ed.,
Madrid-Espaa, Prentice Hal, 2006.

Daro Fernado Lema naci en la


ciudad de Quito, Ecuador, el 22 de abril
de 1994. Se gradu de instruccin
primaria en la Escuela Paulo VI,
mientras que su instruccin secundaria
la realiz en el Colegio Experimental
Juan Po Montfar en el cual obtuvo el
ttulo de Abanderado del Pabelln
Nacional. Actualmente se encuentra en
sexto semestre de la carrera de
Ingeniera en Electrnica y Control de
la Escuela Politcnica Nacional. reas de Inters: Electrnica
de Potencia, Control y Comunicacin de Redes Industrial

Mara Gabriela Campoverde: Naci en


Quito-Ecuador de padres lojanos, sus
estudios fueron realizados en el Instituto
Tecnolgico Superior Consejo Provincial
de Pichincha. Su principal logro fue ser
escolta del pabelln de Quito adems tuvo
reconocimientos por sus logros deportivos
en el cual la represento a la provincia en la disciplina de
taekwondo.

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

10

ANEXO
Cdigo en Matlab
clc
clear all
close all
%DATOS DEL SISTEMA
M=1.2;
m=0.32;
b=0.11;
l=0.36;
g=9.8;
%% CLCULO DE LA FUNCIN DE TRASFERENCIA
A=[0 1 0 0;0 -b/M -m*g/M 0;0 0 0 1;0
b/(M*l) (M+m)*g/(M*l) 0]
B=[0;1/M;0;-1/(M*l)]
C=[1 0 0 0;0 0 1 0]
Cp=[1 0 0 0]
Ca=[0 0 1 0]
D=0
%%sim('diagrama_flujo_proyecto')
[numP,denP]=ss2tf(A,B,Cp,D)
[numA,denA]=ss2tf(A,B,Ca,D)
[zerosP, polosP, kteP] =
tf2zp(numP,denP)
[zerosA, polosA, kteA] =
tf2zp(numA,denA)
%Funcin de trasferencia de la posicin
en lazo abierto
Gp=tf(numP,denP)
%Funcin de trasferencia del ngulo en
lazo abierto
Ga=tf(numA,denA)
%condiciones iniciales
X0=[0;0.15];
%% CARACTERSTICA EN ESTADO TRANSITORIO
DE LA PLANTA SIN CONTROLADOR
% Funcin de trasferencia de la posicin
en lazo cerrado
Gplc=feedback(Gp,1)
% Sistema sin controlador
figure(1)
step(Gplc)
legend('POSICIN SIN CONTROLADOR ')

%% ___________________________%Seccin de clculos posicion


s=tf('s')
Gpp=1/s*Gp
Gpp.num{1}
Gpp.den{1}
% Calcula fracciones parciales
[r,p,k]=residue(Gpp.num{1},Gpp.den{1})
%% ___________________________%Seccin de clculos posicion ngulo
Gaa=1/s*Ga
Gaa.num{1}
Gaa.den{1}
[n,d,k]=tf2zp(Gaa.num{1},Gaa.den{1})
% Calcula fracciones parciales
[r,p,k]=residue(Gaa.num{1},Gaa.den{1})
%% DISCRETIZACIN DE LA FUNCIN DE
TRASFERENCIA
s=tf('s')
Gpz=c2d(Gp,0.1,'zoh')
figure(3)
impulse(Gpz)
[c,p,k]=tf2zp(Gpz.num{1},Gpz.den{1})
figure(4)
Gaz=c2d(Ga,0.1,'zoh')
impulse(feedback(Gaz,1))
%[cA,pA,kA]=tf2zp(Gaz.num{1},Gaz.den{1})
%figure(5)
%rlocus(Ga)
%sisotool(Ga)
%%
Ki=-63.7505
Kp=-10.5195;
Kd=-5.7373
Gc=Kp+Kd*s+Ki/s
Gaclc=feedback(Ga,Gc)
figure(5)
nyquist(Gaclc)
figure(6)
nyquist(Ga)
Gcz=c2d(Gc,0.1,'tustin')

% Funcin de trasferencia del ngulo en


lazo cerrado
Galc=feedback(Ga,1)
% Sistema sin controlador
figure(2)
step(Galc)
legend('NGULO SIN CONTROLADOR ')

Gaclcz=feedback(Gaz,Gcz)
figure(7)
rlocus(Gaclcz)
Gcz
Gaz
Gpz

% Datos del ejercicio


Ai=0.15
Xi=0
F=10
tss=3.5
Tm=tss/30
Tm=round(Tm,1)

%% VARIABLESDE ESTADO DISCRETAS


v=eig(A);
I=eye(4);
z1=((A-(v(2))*I)*(A-(v(3))*I)*(A(v(4))*I))/((0-v(2))*(0-v(3))*(0-v(4)))
z2=((A-(v(1))*I)*(A-(v(3))*I)*(A(v(4))*I))/((v(2)-v(1))*(v(2)v(3))*(v(2)-v(4)))

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016


z3=((A-(v(1))*I)*(A-(v(2))*I)*(A(v(4))*I))/((v(3)-v(1))*(v(3)v(2))*(v(3)-v(4)))
z4=((A-(v(1))*I)*(A-(v(2))*I)*(A(v(3))*I))/((v(4)-v(1))*(v(4)v(2))*(v(4)-v(3)))
T=0.1;
Ad=z1*exp(v(1)*T)+z2*(exp(v(2)*T))+z3*(e
xp(v(3)*T))+z4*(exp(v(4)*T))
Bd=z1*B*T+z2*B*((1-exp(v(2)*T))/(v(2)))+z3*B*((1-exp(v(3)*T))/(v(3)))+z4*B*((1-exp(v(4)*T))/(-v(4)))
Cd=C;
%% Controlador por Realimentacin de
Estados
%polos deseados en el plano z
P1=0.881187+0.138534i;
P2=0.881187-0.138534i;
P3=0.13534;
P4=0.04979;
%matriz de realimentacin de estados
P=[P1 P2 P3 P4];
polos=(s-P1)*(s-P2)*(s-P3)*(s-P4)
alfas=polos.num{1}
phi=Ad^4+(alfas(:,2))*(Ad^3)+(alfas(:,3)
)*(Ad^2)+(alfas(:,4))*Ad+(alfas(:,5))*(e
ye(4))
Q=ctrb(Ad,Bd);
Qin=inv(Q);
K=[0 0 0 1]*Qin*phi
%comprobacin de resultados
K=place(Ad,Bd,P)

%% Controlador ptimo LQR


Q=[500 0 0 0;0 0 0 0;0 0 500 0;0 0 0 0];
R=1;
K = lqr (A ,B ,Q , R );

%% Controlador de Ragazzini para el


ngulo
z=zpk('z',0.1)
b1=2.8751;
b2=-7.35974;
b3=6.347;
b4=-1.83545;
Gw=(b1*z^3 + b2*z^2 + b3*z +b4)/(z^4 1.948*z^3 + 1.1287*z^2 - 0.1592*z +
0.005362)
Gcz=(1/Gaz)*(Gw/(1-Gw))
Gcz=minreal(Gcz)
z=tf('z')
Gcz=(-242.12* (z-0.9928)* (z-0.7644)*
(z-0.5553)* (z-1.797)* (z^2 - 1.795*z +
0.8351))/((z+0.9969) *(z-1)* (z-0.9564)*
(z-1.797)* (z^2 - 2.07*z + 1.071));
numGc=Gcz.num{1}
denGc=Gcz.den{1}

11

Pndulo Invertido, Escuela Politcnica Nacional, Quito, Agosto de 2016

12

Vous aimerez peut-être aussi