Control Multivariable
Control Multivariable
Autor:
Fredy Santiago Vélez Delgado Guia de Laboratorio 3
[email protected]
30000033271
Control Multivariable
Contenido
1. Abstrac 2
2. introducción 2
3. Objetivos 2
8. Conclusiones 22
1
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
1. Abstrac
Modern control theory has had a huge impact on current automation systems, providing more efficient
products and services in factories and enterprises, as greenhouse automation or automatic production of any
piece of engineering in a CNC, the system who is going to be controlled is composed by 2 link-robot which have
2 DC motor that control the angular position of the 2 links, the purpose is to stabilize the angular position
of the motor (Theta1 and theta2) according to a specific reference. Currently there are also other elements
within the closed-loop system that can benefit the designer to estimate disturbances that affect the system to
reject them or maybe take decisions in order to modify some aspects of the same controller.
2. introducción
En el presente informe de laboratorio se muestran los resultados obtenidos de aplicar un control de posición
por realimentación de estados con observador en base al modelo lineal de la panta a lo largo de la trayectoria a
seguir y control basado en linealización por realimentación; prácticas de laboratorio como la presente ayudan
a los estudiantes de Ingenierı́a que por el momento atraviesan el curso de control moderno a comprender las
bases en las que descansan muchas máquinas que dependen de la precisión para realizar sus tareas.
A continuación, presentamos algunos casos actuales en donde el uso del control moderno abre las puertas a la
innovación de procesos: 1. Invernaderos Robotizados: Actualmente algunos investigadores proponen obtener
una mayor precisión en la recolección de datos y respuesta ante imprevistos de un invernadero a partir de un
robot diferencial que realiza las tareas del lugar Scasso et al. (2012).
2. maquinas CNC: máquinas que poseen controladores de posición y velocidad se utilizan para determinar
el lugar en el que la máquina retira material para crear cualquier pieza que se desee; otra área en donde se ob-
serva el uso del control moderno es en la robótica, actualmente muchas compañı́as de tecnologı́a e investigación
a nivel mundial se encuentran en una carrera por diseñar máquinas que pueda sustituir trabajos en los que la
vida humana puede correr gran riesgo.Ramesh et al. (2005). Se debe tener en cuenta que la planta a controlar
en el presente laboratorio fue basada en el modelo matemático propuesto en el artı́culo “ A switching-based
collaborative fractional order fuzzy logic controller for robotic manipulators” de los autores Richa Sharma,
Shubhendu Bhasin, Prerna Gaur, Deepak Joshi.
Por lo general muchos sistemas fı́sicos son sistemas multivariados, lo que indica que las diferentes entradas
pueden afectar a todas las salidas de la planta y es en estas ocasiones donde el estudio de controladores puede
abrir una puerta a distintos diseños para un mismo sistema MIMO.
Los sistemas de control que se tratarán en el presente informe de laboratorio corresponden a diseños
estudiados para un curso de pregrado sin embargo, se debe tener presente que a la planta no lineal como la
que se desea controlar, pueden existir diversos enfoques de control a diseñar como el control multivariable por
desacoplo.Morilla et al. (2013).
3. Objetivos
Principal:
Profundizar los conocimientos acerca de los sistemas de control moderno aplicados a sistemas multiva-
riables.
Especı́ficos:
2
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
verificar y exponer diferencias entre el controlador basado en la linealización por realimentación con
respecto al controlador basado por realimentación de estados con observador clásico.
Desarrollar criterio analı́tico para reconocer en que ocasiones es mejor implementar controladores de
menor orden y robustez.
El modelo dinámico de la planta no lineal está descrito en la Ecuación 1, y a su vez las subfunciones que
componen la ecuación general del sistema multivariado se encuentran a continuación:
3
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
2 2 2 2 2
S11 = I1p + I2p + m11 lc1 + m22 l11 + m22 lc2 + 2m22 l11 lc2 cos θ22 + mvp l11 + mvp l22 + 2mvp l11 l22 cos θ22
2 2
S12 = I2p + m22 lc2 + m22 l11 lc2 cos (θ22 ) + mvp l22 + mvp l11 l22 cos (θ22 )
S21 = S12
2 2
S22 = I2p + m22 lc2
+ mvp l22
P11 = −m22 l11 lc2 2θ̇11 + θ̇22 θ̇22 sin θ22 − mvp l11 l22 2θ̇11 + θ̇22 θ̇22 sin θ22
2 2
P21 = m22 l11 θ̇11 lc2 sin θ22 + mvp l11 θ̇11 l22 sin θ22
f r1 = b1vp θ̇11
f r2 = b2vp θ̇22
f n1p = m11 lc1 g cos (θ11 ) + m22 g (lc2 cos (θ11 + θ22 ) + l11 cos (θ11 )) + mvp g (l22 cos (θ11 + θ22 ) + l11 cos (θ11 ))
f n2p = m22 lc2 g cos (θ11 + θ22 ) + mvp lc2 g cos (θ11 + θ22 )
(2)
m11 = 0.3262612
lc1 = 0.0859767
l11 = 0.2057032
I1p = 0.0012685
b1vp = 0.1657493
mvp = 0.4473392
m22 = 0.0970019
lc2 = 0.0807866
l22 = 0.1226456
I2p = 0.0018928
b2vp = 0.3053673
g = 9.81
th(t) = a3 ∗ t3 + a2 ∗ t2 + a1 ∗ t + a0 (3)
a0 = th(0)
4
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
a1 = 0
3
a2 = ∗ (th(3) − th(0))
t2f
2
a3 = ∗ (th(3) − th(0))
t3f
a0 = 0
a1 = 0
a2 = 30
a3 = −6.6667
El descenso de la trayectoria de TH11 se constituyen de los siguientes coeficientes:
a0 = 90
a1 = 0
a2 = −45
a3 = 10
El descenso de la trayectoria de TH22 se constituyen de los siguientes coeficientes:
a0 = 90
a1 = 0
a2 = −30
a3 = 6.6667
Al construir el diagrama de bloques que generará la trayectoria en SIMULINK se obtiene la Figura 2 y su
respuesta es la Figura 3:
th11
Ref (th1)
Ref(th2)
th22
5
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
6
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
24
25 F1 = x2;
26 F2 = matriz doble(1);
27 F3 = x4;
28 F4 = matriz doble(2);
29
30 %% % % % % %JACOBIANO EN TERMINOS DE LAS VARIABLES % % % % % %
31 %columna #1
32 derivA(1,1) = diff(F1,x1);
33 derivA(2,1) = diff(F2,x1);
34 derivA(3,1) = diff(F3,x1);
35 derivA(4,1) = diff(F4,x1);
36 %columna #2
37 derivA(1,2) = diff(F1,x2);
38 derivA(2,2) = diff(F2,x2);
39 derivA(3,2) = diff(F3,x2);
40 derivA(4,2) = diff(F4,x2);
41 %columna #3
42 derivA(1,3) = diff(F1,x3);
43 derivA(2,3) = diff(F2,x3);
44 derivA(3,3) = diff(F3,x3);
45 derivA(4,3) = diff(F4,x3);
46 %columna #4
47 derivA(1,4) = diff(F1,x4);
48 derivA(2,4) = diff(F2,x4);
49 derivA(3,4) = diff(F3,x4);
50 derivA(4,4) = diff(F4,x4);
51
52 %% % % % % %JACOBIANO EN TERMINOS DE LAS ENTRADAS % % % % % %
53 %columna #1
54 derivB(1,1) = diff(F1,U1);
55 derivB(2,1) = diff(F2,U1);
56 derivB(3,1) = diff(F3,U1);
57 derivB(4,1) = diff(F4,U1);
58 %columna #2
59 derivB(1,2) = diff(F1,U2);
60 derivB(2,2) = diff(F2,U2);
61 derivB(3,2) = diff(F3,U2);
62 derivB(4,2) = diff(F4,U2);
63
64 %jacobiano
65 jacA = derivA;
66 jacB = derivB;
67 %%
68 %% % % % % % % % % % % % % % % %EVALUACION
%%% DE LOS PUNTOS DE OPERACION % % % % % % % % % % % %
69 %TRAYECTORIAS
70 %Simulaciones a partir diagramas de bloques
71 puntos th1 = out.R th1; %Posicion th11
72 puntos th1 d = out.R th1 d; %Velocidad th11
73 puntos th1 dd = out.R th1 dd; %Aceleracion th11
74
75 puntos th2 = out.R th2; %Posicion th22
76 puntos th2 d = out.R th2 d; %Velocidad th22
77 puntos th2 dd = out.R th2 dd; %Aceleracion th22
78
79 U 11 = s 11 *x5 + s 12 *x6 + P 11 + f r1 + f n1p;
80 U 22 = s 21 *x5 + s 22 *x6 + P 21 + f r2 + f n2p;
81
82
83
7
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
A continuación, se exponen los resultados obtenido al graficar 100 diagramas de bode que nos brindará
posteriormente información gráfica sobre cuál es la planta óptima por seleccionar que pueda aproximar la
dinámica completa del sistema no lineal a lo largo de la trayectoria.
Bode Diagram
From: In(1) From: In(2)
100
0
To: Out(1)
Magnitude (dB) ; Phase (deg)
-100
-200
360
180
To: Out(1)
-180
-360
10-5 100 10-5 100
Frequency (rad/s)
8
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
En la Figura 4 se puede observar que existe una zona en donde existe más concentración de los diagramas
de bode, por lo que se decidió seleccionar la planta 60 para realizar las pruebas de diseño y construcción del
controlador y observador de estados clásico para satisfacer los requerimientos de diseño.
Bode Diagram
From: In(1) From: In(2)
100
To: Out(1)
Magnitude (dB) ; Phase (deg) 0
-100
-200
540
360
To: Out(1)
180
-180
100 100
Frequency (rad/s)
9
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
!
1 0 0 0
Cp = (6)
0 0 1 0
!
0 0
Dp = (7)
0 0
Xc(s) 1
= (8)
e(s) s
Aplicando la transformada inversa de Laplace se obtiene:
˙ = e(t)
Xc(t) (9)
˙ = r(t) − Cp ∗ X(t)
Xc(t) (10)
las matrices del controlador son las siguientes
Ac = 0 (11)
Bc = 1 (12)
Cc = 1 (13)
Dc = 0 (14)
Xac˙ (t) = Aac ∗ Xac (t) + Bac ∗ U (t) + B1ac ∗ d(t) + Fac ∗ r(t) (15)
!
X(t)
Xac (t) = (16)
Xc (t)
10
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
!
Ap 0
Aac =
−Cp 0
!
Bp
Bac =
0
!
Bd
B1ac =
0
!
0
Fac =
1
Cac = Cp 0
!
0 0
Dp =
0 0
La ley de control planteada se puede observar en la Ecuación 17 y es la que se inyectará en el sistema aumentado
para encontrar las ganancias de realimentación del controlador.
El resultado obtenido de utilizar el comando PLACE en Matlab es la siguiente matriz 6x2; en donde la
primera fila corresponde a las ganancias del controlador 1 para construir la señal de control 1 y la segunda fila
corresponde a las ganancias del controlador 2 que construye la señal de control 2.
11
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
!
28.04007 1.615919 13.004500 0.641913 −128.67136 −77.98392
Kac =
8.52116 0.55387 7.55364 0.14874 −43.2264 −39.78045
˙
X̂(t) = (Ap − L ∗ Cp ) ∗ X̂(t) + Bp ∗ U (k) + L ∗ Y (k) (20)
!
1 0 0 0
Cp = (21)
0 0 1 0
L1 L2
L3 L4
L= (22)
L5 L6
L7 L8
93.76974682 7.41308597
2051.569730 332.34205
L= (23)
11.38206545 51.515653
469.9976495 102.55896
Para calcular las variables de la matriz L Ecuación 23 se utilizó el mismo código en MATLAB sin embargo,
se deben transponer las matrices Ap y Cp para continuar con la misma estructura del programa.
12
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
Luego de encontrar los valores de la matriz L se construye el observador en espacio de estados como se observa
en la Ecuación 20 y el diagrama de bloques que constituye todo el sistema compuesto por control y observador
se demuestra en la Figura 6:
[TH11]
[TH11_d]
[TH11]
[TH_22]
[TH_22_d]
[Ref_1]
th22 [TH_22]
U2
th22_d
Ref(th2) [Ref_2]
[U_2] Manipulador robótico
[Ref_2]
[U_1]
[TH11]
[U_2]
[TH11_d] [TH11_d]
[TH_22]
[TH11]
[TH_22]
[TH_22_d]
[TH_22]
[TH_22_d]
13
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
Posición (rad) 1
0.5
-0.5
-1
0 2 4 6 8 10
Tiempo(seg)
TH22 (salida)
TH22 (ref)
1.5
Posición (rad)
0.5
0 2 4 6 8 10
Tiempo (seg)
14
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
Bode Diagram
Magnitude (dB)
De Ref 1 hasta th1
-50
-100
-135
-180
-225
-270
100 101 102 103
Frequency (rad/s)
Bode Diagram
0
Magnitude (dB)
-50
-100
-90
Phase (deg)
-135
-180
-225
-270
100 101 102 103
Frequency (rad/s)
Si se evalúa el diagrama de bode obtenido en la Figura 4 y Figura 5, se puede concluir que los márgenes de
fase y ganancia previamente mencionados logran tolerar las variaciones dinámicas de la planta no lineal que
surgen debido a la trayectoria que se desea seguir y como se mencionó en secciones pasadas se optar por el
modelo dinámico del medio para que el controlador pueda surtir efecto sobre los 100 puntos de operación.
15
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
máx |x|, ( %) 1.561 3.1245 17.56 318.7 1.5654 2.22 6.588 318.7
U1 U2
u2 (t)dt
R
11.0402 0.9346
t.u2 (t)dt
R
27.9737 2.2303
16
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
ˆ
e¨1 (t) + K1 ∗ e˙1 (t) + K0 ∗ e1 (t) = K1 ∗ e˙2 (t) + (ξ − ξ)
Para encontrar el valor de las constantes K1 y K0 se asume que los términos del lado izquierdo de la ecuación
anterior son igual a cero con el fin de igualar su valor a un polinomio de segundo orden deseado y ubicar los
polos deseados (s+10)(s+50) para satisfacer el tiempo de estabilización.
(S 2 + K1 ∗ S + K0 ) ∗ e1 (t) = 0
K1 = 60
K0 = 500
x2(t) = θ11˙(t)
x3(t) = θ22 (t)
x4(t) = θ22˙(t)
x5(t) = ξ1 (t)
x6(t) = ξ2 (t)
0 1 0 0 0 0
0 0 0 0 1 0
0 0 0 1 0 0
Aaumentada =
0
(28)
0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
17
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
0 0
1 1
0 0
Baumentada =
1
(29)
1
0 0
0 0
!
1 0 0 0 0 0
Caumentada = (30)
0 0 1 0 0 0
El cálculo de los valores de la matriz L se desarrollaron bajo el mismo principio aplicado en secciones anteriores;
los polos seleccionados para sintonizar el observador extendido son (s+40)(s+50)(s+55)(s+60)(s+65)(s+70).
0.0028 −0.0003
0.2565 −0.0533
5 −0.0003 0.0029
L = 10 ∗
−0.0549 0.2708
7.7451 −2.7430
−2.8283 8.4820
ya que el objetivo del observador de estados extendidos es estimar las variables no medidas de la ley de control
la matriz C es:
0 1 0 0 0 0
0 0 0 1 0 0
Cobs extendido = (31)
0 0 0 0 1 0
0 0 0 0 0 1
Algunos aspectos se pueden tener en cuenta, al momento de detallar las respuestas, como el seguimiento
que posee en toda su trayectoria con un error constante causado por que el observador solamente se le incluyó
un aniquilador de primer orden por el motivo de que al intentar diseñar un observador más robusto comandos
como el PLACE de MATLAB ya no eran posibles utilizarlos.
18
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
Salida de Th11
1.5 Referencia Th11
Posición (rad)
0.5
-0.5
-1
0 1 2 3 4 5 6
Offset=0
Tiempo (seg)
0.5
0 1 2 3 4 5 6
Offset=0
Tiempo (seg)
máx |x|, ( %) 1.5822 1.297 32.3 7.56*1011 1.6428 0.7387 28.785 1.122*1012
Tabla 3: Resultados de desempeño del control multivariado basado en linealizacion por realimentación
19
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
U1 U2
u2 (t)dt
R
11.0155 1.0386
t.u2 (t)dt
R
26.3791 2.2049
[th11_d_r] [th11]
[th11_d] [th11__r]
[zhita1] [th11__r]
[th22]
[th11_dd_r]
[th11] [th22__r]
Ref (th1) [th11__r]
th11
Figura 13: Diagrama de bloques del Control basado en linealización por realimentación
20
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
-1
0 1 2 3 4 5 6
Tiempo (seg)
-0.5
-1
-1.5
-2
-2.5
0 1 2 3 4 5 6
Tiempo (seg)
21
Universidad de San Buenaventura Control
Facultad de Ingenierı́a Moderno
Programa de Ingenierı́a Mecatrónica 2020-I
8. Conclusiones
El estudio de controladores a sistemas no lineales tiene un gran impacto sobre los sistemas dinámicos
reales, tal como se confirmó en las tablas de desempeño la linealización por realimentación puede cubrir
grandes zonas de operación, sin depender de la selección correcta de un punto de operación intermedio
para el diseño de los controladores y observadores de estado.
Se concluyó que aunque el sistema pierda rechazo y seguimiento de entradas o perturbaciones de orden
superior para casos como el que la planta debe seguir una trayectoria que varı́a siempre es recomendable
diseñar con controladores de bajo orden para conservar márgenes de fase y ganancia que pueda tolerar
variaciones del sistema no lineal.
Aumentar el ancho de banda de un sistema puede ayudar a cubrir zonas en donde existan errores de
seguimiento, esto se puede verificar al evaluar el lı́mite del error cuando el tiempo tiende a infinito; este
método se utilizó en el diseño del control basado en linealización por realimentación cuando se decidió
sintonizar la ley de control con valores grandes en K1 y K0.
Referencias
Morilla, F., Garrido, J., and Vázquez, F. (2013). Control multivariable por desacoplo. Revista Iberoamericana
de Automática e Informática industrial, 10(1):3–17.
Ramesh, R., Mannan, M., and Poo, A. (2005). Tracking and contour error control in cnc servo systems.
International Journal of Machine Tools and Manufacture, 45(3):301–326.
Scasso, M., Garro, R., Ordinez, L., and Alimenti, O. (2012). Diseño e implementación de un sistema embebido
de control moderno: una experiencia práctica. In Congreso Argentino de Sistemas Embebidos, pages 170–175.
22