Está en la página 1de 6

1

Proyecto Final
Mtro. Perez Mayesffer Azcarraga Enrique Eugenio

Otoño 2021
Fecha de entrega: 30 de noviembre del 2021
Hernández Alfaro Cesar 201841315
Hernández Ramos María Fernanda 201861902
Herrera Rojas Citlalli Belén 201861980
Montero Pérez Luis David 201727226

Resumen: En el presente proyecto final, se desarrolla y se Suponga que


estudia el sistema del péndulo invertido. También, se presenta
las variables de estado de este sistema y su desarrollo. Se M= 2 kg, m=0.5kg, l=1m
utilizará MATLAB para comprobar los resultados obtenidos
de manera teórica. Defina las variables de estado como

𝑥1 = 𝜃, 𝑥2 = 𝜃, 𝑥3 = 𝑥,̇ 𝑥4 = 𝑥̇
I. INTRODUCCIÓN
Y las variables de salida como
E n el presente trabajo, se analiza el sistema del péndulo
invertido que se presenta en el libro Ogata, 5ta edición. El 𝑦1 = 𝜃 = 𝑥1 , 𝑦2 = 𝑥 = 𝑥3
péndulo invertido es un sistema mecánico clásico para probar
nuevas ideas en la disciplina del control. Una ventaja de este Obtenga las ecuaciones en el espacio de estado para este sistema.
sistema es que tiene un mecanismo relativamente sencillo, y por
el otro lado, tiene puntos inestables. Se requiere tener polos en lazo en

𝑠 = −4 + 𝑗4, 𝑠 = −4 − 𝑗4, 𝑠 = −20, 𝑠 = −20


Problema: Sea el sistema del péndulo invertido que se muestra
en la ilustración 1.
A. Ecuaciones

[1] 𝑊 = 𝑚𝑔

[2] 𝑥̇ = 𝐴𝑥 + 𝐵𝑢

[3] 𝑢 = −𝑘𝑥

[4] 𝑥̇ = (𝐴 − 𝐵𝑘)𝑥

[5] |𝑆𝐼 − 𝐴 + 𝐵𝑘| = |𝑆𝐼 − 𝐴̂|

[6] |𝑆𝐼 − 𝐴̂| = (𝑠 − 𝜇1 )(𝑠 − 𝜇2 ) … (𝑠 − 𝜇𝑛 )

[7] 𝜙𝐴̂ = 𝐴̂𝑛 + 𝛼1 𝐴̂𝑛−1 + ⋯ + 𝛼𝑛 𝐼

[8] 𝑀 = [𝐵 ⋮ 𝐴𝐵 ⋮ ⋯ ⋮ 𝐴𝑛−1 𝐵]

[9] 𝑘 = [000 … 1][𝑀−1 ][𝜙𝐴̂]

Ilustración 1. Sistema del péndulo invertido.

El trabajo fue realizado en forma colaborativa y se apoyó en las referencias


que se encuentran en este mismo formato, como se puede ver al final este
documento.
2

II. DESARROLLO Ahora para la segunda ecuación que relaciona a u con las 2
variables que se relacionan con la ecuación i
A. Representación Matemática del modelo de Péndulo
Inverso
𝐼𝜃̈ = 𝑚𝑔𝑙𝜃 − 𝑚(𝑥̈ + 𝑙𝜃̈)𝑙
VAMOS A ENCONTRAR LAS ECUACIONES QUE DESCRIBEN AL
Simplificando tenemos la segunda ecuación
SISTEMA

(𝐼 + 𝑚𝑙 2 )𝜃̈ + 𝑚𝑙𝑥̈ = 𝑚𝑔𝑙𝜃 (𝑣𝑖)


El sistema tiene un
movimiento de inercia
Para el movimiento B. Representación en espacio de estados
rotacional, las que fuerzas De las ecuaciones que modelan el péndulo invertido, obtenidas
afectan a esta rotación previamente, se busca encontrar su representación en el
espacio de estados.

(𝑀 + 𝑚)𝑥̈ + 𝑙𝑚𝜃̈ = 𝑢 (𝑣𝑖𝑖)


(𝐼 + 𝑚𝑙 2 )𝜃̈ + 𝑚𝑙𝑥̈ = 𝑚𝑔𝑙𝜃 (𝑣𝑖𝑖𝑖)
𝐼𝜃̈ = 𝑉𝑙𝑆ⅇ𝑛𝜃 − 𝐻𝑙 cos 𝜃
Primero despejamos 𝑥̈ de la ecuación (vii)
Linealizamos y queda de la siguiente forma
(𝑢 − 𝑙𝑚𝜃̈)
𝑥̈ =
𝐼𝜃̈ = 𝑉𝑙𝜃 − 𝐻𝑙𝜃 (𝑖) 𝑀+𝑚

Vamos a considerar al momento de inercia (I) muy pequeño y


Para el movimiento de translación tenemos la siguiente
por tanto despreciable, y sustituimos 𝑥̈ en la ecuación (viii),
ecuación obtenemos entonces
𝑢 − 𝑙𝑚𝜃̈
𝑚𝑑 2 𝑚𝑙 2 𝜃̈ + 𝑚𝑙 ( ) = 𝑚𝑔𝑙𝜃
(𝑥 + 𝑙 𝑠𝑖𝑛 𝜃) = 𝐻 𝑀+𝑚
𝑑𝑡 2
(𝑀 + 𝑚)𝑚𝑙 2 𝜃̈ + 𝑚𝑙(𝑢 − 𝑙𝑚𝜃̈) = 𝑚𝑔𝑙𝜃(𝑀 + 𝑚)
o bien 𝑚𝑙[(𝑀 + 𝑚)𝑙𝜃̈ + (𝑢 − 𝑙𝑚𝜃̈)] = 𝑚𝑔𝑙𝜃(𝑀 + 𝑚)
𝑀𝑙𝜃̈ + 𝑚𝑙𝜃̈ − 𝑙𝑚𝜃 +̈ 𝑢 = (𝑀 + 𝑚)𝑔𝜃
𝑚(𝑥̈ + 𝑙𝜃̈) = 𝐻 (𝑖𝑖)
𝑀𝑙𝜃̈ = (𝑀 + 𝑚)𝑔𝜃 − 𝑢 (𝑖𝑥)
Para el movimiento vertical tenemos la siguiente ecuación
Ahora multiplicamos la ecuación (vii) por 𝑙 y la restamos de
𝑚𝑑 2 la ecuación (viii).
(𝑙 𝑐𝑜𝑠 𝜃) = 𝑉 − 𝑤 (𝑀 + 𝑚)𝑙𝑥̈ + 𝑙 2 𝑚𝜃̈ = 𝑙
𝑑𝑡 2

La cuando θ tiende a 0, la derivada tiende a 0 por lo que tenemos (𝐼 + 𝑚𝑙 2 )𝜃̈ + 𝑚𝑙𝑥̈ = 𝑚𝑔𝑙𝜃
lo siguiente: ➔
(𝑀 + 𝑚)𝑙𝑥̈ − 𝑚𝑙𝑥̈ = 𝑢𝑙 − 𝑚𝑔𝑙𝜃
𝑙[(𝑀 + 𝑚)𝑥̈ − 𝑚𝑥̈ ] = 𝑙(𝑢 − 𝑚𝑔𝜃)
0 = 𝑉 − 𝑚𝑔 (𝑖𝑖𝑖)
(𝑀 + 𝑚)𝑥̈ − 𝑚𝑥̈ = 𝑢 − 𝑚𝑔𝜃
𝑀𝑥̈ + 𝑚𝑥̈ − 𝑚𝑥̈ = 𝑢 − 𝑚𝑔𝜃
Por ultimo las ecuaciones del carro
𝑀𝑥̈ = 𝑢 − 𝑚𝑔𝜃 (𝑥)
𝑀𝑥̈ = 𝑢 − 𝐻 (𝑖𝑣)

Para simplificar esta ecuación ocuparemos la numero ii Ahora, tenemos que las variables de estado 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 son
𝑥1 = 𝜃
Sustituyendo 𝑥2 = 𝜃̇
𝑚(𝑥̈ + 𝑙𝜃̈) = −𝑀𝑥̈ + 𝑢 𝑥3 = 𝑥
Desarrollando tenemos la siguiente ecuación 𝑥4 = 𝑥̇

(𝑀 + 𝑚)𝑥̈ + 𝑙𝑚𝜃̈ = 𝑢 (𝑣)


3

El ángulo 𝜃 indica la rotación de la varilla del péndulo ➔


respecto al punto P, mientras 𝑥 es la posición del carro.
Considerando 𝜃 y 𝑥 como las salidas del sistema, entonces. 𝑥1̇ 0 1 0 0 𝑥1 0
𝑥2̇ 12.2625 0 0 0 𝑥2 −0.5
𝑦1 𝑥1 𝑥̇ = [ ] = [ ][ ]+ [ ]𝑢
𝜃
𝑦 = [𝑦 ] = [ ] = [𝑥 ]
𝑥3̇ 0 0 0 1 𝑥3 0
2 𝑥 3 𝑥4̇ −2.4525 0 0 0 𝑥4 0.5
𝑥1
𝑥1 𝑥1̇ 1 0 0 0 𝑥2
𝑥2 𝑥2̇ 𝑦=[ ][ ]
𝑥 = [ ], 𝑥̇ = [ ] 0 0 1 0 𝑥3
𝑥3 𝑥3̇ 𝑥4
𝑥4 𝑥4̇
C. Cálculo de la matriz de ganancias k
𝑥1̇ = 𝜃̇ = 𝑥2
Se calcula La matriz M dado por 𝑀 = [𝐵 ⋮ 𝐴𝐵 ⋮ 𝐴2 𝐵 ⋮ 𝐴3 𝐵]
𝑥2̇ = 𝜃̈ 12.2625 0 0 0
De la ecuación (ix) despejamos 𝜃̈, teniendo en cuenta que 𝜃 = 0 12.2625 0 0
𝐴2 = [ ]
𝑥1 −2.4525 0 0 0
(𝑀 + 𝑚)𝑔𝜃 − 𝑢 𝑀+𝑚 1 0 −2.4525 0 0
𝜃̈ = =( ) 𝑔𝑥1 − 𝑢 0 12.2625 0 0
𝑀𝑙 𝑀𝑙 𝑀𝑙 150.3689 0 0 0
𝐴3 = [ ]
−2.4525 0 0 0
𝑀+𝑚 1
𝑥2̇ = 𝜃̈ = ( ) 𝑔𝑥1 − 𝑢 0 −2.4525 0 0
𝑀𝑙 𝑀𝑙 150.3689 0 0 0
4 0 150.3689 0 0
𝑥3̇ = 𝑥̇ = 𝑥4 𝐴 =[ ]
−30.073 0 0 0
0 −30.073 0 0
𝑥4̇ = 𝑥̈ 0 0 1 0 0 0
De la ecuación (x) despejamos 𝑥̈ , teniendo en cuenta que 𝜃 = −0.5 12.2625 0 0 0 −0.5
𝑥1 𝑀= [ ]⋮[ ][ ]
0 0 0 0 1 0
1 𝑚
𝑥̈ = 𝑢 − 𝑔𝑥1 [ 0.5 −2.4525 0 0 0 0.5
𝑀 𝑀 12.2625 0 0 0 0
0 12.2625 0 0 −0.5
𝑚 1 ⋮[ ][ ]
𝑥4̇ = 𝑥̈ = − 𝑔𝑥1 + 𝑢 −2.4525 0 0 0 0
𝑀 𝑀 0 −2.4525 0 0 0.5
0 12.2625 0 0 0
La representación en espacio de estados es
150.3689 0 0 0 −0.5
⋮[ ][ ]
0 1 0 0 0 −2.4525 0 0 0 0
𝑥1̇ 𝑀+𝑚 𝑥1 1 0 −2.4525 0 0 0.5 ]
𝑥̇ ( )𝑔 0 0 0 𝑥 − 0 −0.5 0 −6.13125
𝑀𝑙 [ ]+ 𝑀 𝑢
2
𝑥̇ = [ 2 ] =
𝑥3̇ 0 0 0 1 𝑥3 0 𝑀= [
−0.5
]⋮[
0
]⋮[
−6.13125
]⋮[
0
]
𝑥4̇ 𝑚 𝑥4 1 0 0.5 0 1.22625
[ − (𝑀 ) 𝑔 0 0 0]
[ 𝑀 ] [ 0.5 0 1.22625 0 ]
𝑥1
1 0 0 0 𝑥2 0 0 −0.5 0 −6.13125
𝑦=[ ][ ] + [ ]𝑢
0 0 1 0 𝑥3 0 −0.5 0 −6.13125 0
𝑥4 𝑀=[ ]
0 0.5 0 1.22625
0.5 0 1.22625 0
Ahora sustituimos valores tomando a 𝑔 = 9.81 y obtenemos
El rango de M es igual a 4 Por lo que podemos decir que el
0 1 0 0 0 sistema es completamente controlable, entonces Para los polos
𝑥1̇ 2 + 0.5 𝑥1 1
( ) (9.81) 0 0 0 𝑥 − 𝑠 = −4 + 𝑗4, 𝑠 = −4 − 𝑗4, 𝑠 = −20, 𝑠 = −20
𝑥̇ (2)(1)
[ ]+ 2 𝑢
2
𝑥̇ = [ 2 ] =
𝑥3̇ 0 0 0 1 𝑥3 0 (𝑠 − 𝜇1 )(𝑠 − 𝜇2 )(𝑠 − 𝜇3 )(𝑠 − 𝜇4 )
𝑥4̇ 0.5 𝑥4 1
= 𝐴4 + 𝛼1 𝐴3 + 𝛼2 𝐴2 + 𝛼3 𝐴 + 𝛼4 𝐼
[ − ( 2 ) (9.81) 0 0 0] [ 2 ]

𝑥1 Entonces
1 0 0 0 𝑥2 (𝑠 − (−4 + 𝑗4))(𝑠 − (−4 − 𝑗4))(𝑠 − (−20))(𝑠 − (−20))
𝑦=[ ][ ] ⇔ (𝑠 + 4 − 𝑗4)(𝑠 + 4 + 𝑗4)(𝑠 + 20)(𝑠 + 20)
0 0 1 0 𝑥3
𝑥4 ⇔ (𝑠 + 4 − 𝑗4)(𝑠 + 4 + 𝑗4)(𝑠 + 20)2
4

⇔ (𝑠 + 4 − 𝑗4)(𝑠 + 4 + 𝑗4)(𝑠 2 + 40𝑠 + 400) 𝐴𝑑𝑗(𝑀)


𝑀−1 =
⇔ (𝑠 2 + 40𝑠 + 400)(𝑠 2 + 40𝑠 + 400) 𝐷ⅇ𝑡(𝑀)
0 3.0073 0 15.0368
⇔ 𝑠 4 + 48𝑠 3 + 742𝑠 2 + 4480𝑠 + 1280 [
3.0073 0 15.0368 0
]
= 𝐴4 + 𝛼1 𝐴3 + 𝛼2 𝐴2 + 𝛼3 𝐴 + 𝛼4 𝐼 0 −1.2262 0 −1.2262
= −1.2262 0 −1.2262 0
𝛼1 = 48, 𝛼2 = 742, 𝛼3 = 4480, 𝛼4 = 12800 6.0147

⇔ 𝜙𝐴̂ = 𝐴4 + 48𝐴3 + 742𝐴2 + 4480𝐴 + 12800𝐼 0 0.5 0 2.5


−1 0.5 0 2.5 0
𝑀 =[ ]
Despejamos los valores en A y resolvemos la ecuación 0 −0.2038 0 −0.2038
−0.2038 0 −0.2038 0
150.3689 0 0 0
0 150.3689 0 0 Entonces podemos encontrar K con la siguiente Ecuación:
𝜙𝐴̂ = [ ] 𝑘 = [000 … 1][𝑀 −1 ][𝜙𝐴̂]
−30.073 0 0 0
0 −30.073 0 0
0 12.2625 0 0
150.3689 0 0 0 0 0.5 0 2.5
+ 48 [ ] 0.5 0 2.5 0
−2.4525 0 0 0 𝑘 = [0001] [ ]
0 −2.4525 0 0 0 −0.2038 0 −0.2038
12.2625 0 0 0 −0.2038 0 −0.2038 0
0 12.2625 0 0
+742 [ ] 22049.1439 5068.6 0 0
−2.4525 0 0 0
0 −2.4525 0 0 62153.7072 22049.1439 0 0
[ ]
0 1 0 0 −1849.828 −117.72 12800 4480
12.2625 0 0 0 −11104.92 −1849.828 0 12800
+ 4480 [ ]
0 0 0 1
−2.4525 0 0 0
1 0 0 0 𝑘 = [−0.2038 0 −0.2038 0]
0 1 0 0 22049.1439 5068.6 0 0
+12800 [ ]
0 0 1 0 62153.7072 22049.1439 0 0
[ ]
0 0 0 1 −1849.828 −117.72 12800 4480
−11104.92 −1849.828 0 12800

150.3689 0 0 0
0 150.3689 0 0 𝑘 = [−4116.62 −1008.98 −2608.64 −913.024]
𝜙𝐴̂ = [ ]
−30.073 0 0 0
0 −30.073 0 0
0 588.6 0 0 Se realizó el cálculo de la matriz de ganancia k de
7217.7072 0 0 0 retroalimentación, con MATLAB y se obtuvo lo siguiente:
+[ ]
0 −117.72 0 0
−117.72 0 0 0
9098.775 0 0 0
0 9098.775 0 0
+[ ]
−1819.755 0 0 0
0 −1819.755 0 0
0 4480 0 0
54936 0 0 0
+[ ]
0 0 0 4480
−10987.2 0 0 0
12800 0 0 0
0 12800 0 0
+[ ]
0 0 12800 0
0 0 0 12800
Ilustración 1. Matriz de Ganancia obtenida

22049.1439 5068.6 0 0
62153.7072 22049.1439 0 0
𝜙𝐴̂ = [ ]
−1849.828 −117.72 12800 4480
−11104.92 −1849.828 0 12800
5

D. Características de la respuesta a un escalón unitario del Se define el vector de condición inicial como 𝐵̂
sistema diseñado.
Usando la matriz de ganancias de realimentación del estado K 0
determinada de este modo, se examina el comportamiento del ̂ 0
𝐵= [ ]
sistema mediante una simulación. Se escribirá un programa en 0
MATLAB para obtener la respuesta del sistema a una condición 1
inicial arbitraria. Asimismo, se obtendrán las curvas de la
Así que, la respuesta del sistema a la condición inicial se
respuesta 𝑥1 (𝑡) respecto de 𝑡, 𝑥2 (𝑡) respecto de 𝑡, 𝑥3 (𝑡)
puede obtener resolviendo las siguientes ecuaciones:
respecto de 𝑡, 𝑥3 (𝑡) respecto de 𝑡 para el siguiente conjunto de
condiciones iniciales:
𝑧̇ = 𝐴̂𝑧 + 𝐵̂ 𝑢
𝑥 = 𝐴̂𝑧 + 𝐵̂ 𝑢
𝑥1 (𝑡) = 0, 𝑥2 (𝑡) = 0, 𝑥3 (𝑡) = 0, 𝑥4 (𝑡) = 1 𝑚/𝑠
Se realiza un programa de MATLAB, el cual generará la
Para obtener la respuesta del sistema a la condición inicial
respuesta del sistema a la condición inicial. En el programa se
primero se utiliza:
𝑢 = −𝑘𝑥 ocupará 𝐴̂ 𝑐𝑜𝑚𝑜 𝐴𝐴 𝑦 𝐵̂ 𝑐𝑜𝑚𝑜 𝐵𝐵

Dentro del sistema de ecuación

𝑥̇ = 𝐴𝑥 + 𝐵𝑢

Y se obtiene la siguiente ecuación


𝑥̇ = (𝐴 − 𝐵𝑘)𝑥

Sustituyendo los valores, se obtiene:


0 1 0 0
Ilustración 2. Captura del Código en MATLAB y las gráficas
12.2625 0 0 0
𝑥̇ = [ ]
0 0 0 1
−2.4525 0 0 0 %**** El siguiente programa obtiene la respuesta del sistema
0 % de xpunto = (A gorrito)*x que da la condición inicial **
A = [0 1 0 0;12.2625 0 0 0 ;0 0 0 1;-2.4525 0 0 0];
−0.5
−[ ] [−4116.62 −1008.98 −2608.64 −913.024] B = [0;-0.5;0;0.5];
0 %C=[0 0 1 0]
0.5 %D = [0];
K = [-4138.1 -1009.4 -2609.6 -913.4];
AA = A - B*K;
𝑥̇ %***** Se ingresa la matriz de condición inicial
0 1 0 0 BB=[0;0;0;1];
12.2625 0 0 0 [x,z,t]=step(AA,BB,AA,BB)
=[ ]
0 0 0 1 x1 = [1 0 0 0]*x';
−2.4525 0 0 0 x2 = [0 1 0 0]*x';
0 0 0 0 x3 = [0 0 1 0]*x';
2058.31 504.49 1304.32 456.512 x4 = [0 0 0 1]*x';
−[ ]
0 0 0 0 %*** Traza las curvas de respuesta x1 versus t, x2 versus t;
−2058.31 −504.49 −1304.32 −456.512 %******x3 versus t, y x4 versus t en un diagrama*******
subplot(2,2,1);
plot(t,x1); grid
title('x1(Theta) versus t')
𝑥̇ xlabel('t Seg');
ylabel('x1=Theta')
0 0 0 0 𝑥1̇
−2046.0475 −504.49 −1304.32 −456.512 𝑥 ̇ subplot(2,2,2);
=[ ] [ 2]
0 0 0 0 𝑥3̇
plot(t,x2); grid
title('x2 (Theta punto) versus t')
2055.8575 504.49 1304.32 456.512 𝑥4̇ xlabel('t Seg');
Reescribiendo lo anterior como: ylabel('x2= Theta punto')
𝑥̇ = 𝐴̂𝑥 subplot(2,2,3);
plot(t,x3); grid
Donde: title('x3 (Desplazamiento del carro) versus t')
0 0 0 0 xlabel('t Seg');
ylabel('x3= Desplazamiento del carro')
−2046.0475 −504.49 −1304.32 −456.512
𝐴̂ = [ ]
0 0 0 0 subplot(2,2,4);
plot(t,x4); grid
2055.8575 504.49 1304.32 456.512 title('x4 (Velocidad del carro) versus t')
xlabel('t Seg');
ylabel('x4 = Velocidad del carro')
6

Ilustración 3. Gráficas obtenidas

III. CONCLUSIÓN
El correcto análisis de un sistema físico, es de mucha ayuda para
poder diseñar un sistema de control optimo, de misma manera
el conocimiento de métodos de control nos dará el resultado
deseado del sistema, también se puede agregar que los
softwares de análisis Matemático como es el caso de Matlab,
ayudan a resolver las operaciones de manera más exacta, pues
se puede observar que hay una variación en los resultados de
nuestra matriz de ganancias que fue Resuelta a mano a
comparación del Resultado de Matlab, esta variación podría
perjudicar la salida deseada del sistema.

IV. REFERENCIAS
[1] OGATA, K. (1998). INGENIERIA DE CONTROL MODERNA.
TERCERA EDICIÓN. MADRID: PRENTICE HALL
HISPANOAMERICANA.

[2] OGATA K.(2010). INGENIERIA DE CONTROL MODERNA.


QUINTA EDICIÓN. MADRID: PRENTICE HALL
HISPANOAMERICANA.

También podría gustarte