Documente Academic
Documente Profesional
Documente Cultură
Resumen
El presente documento contiene el reporte teórico y el análisis de resultados de la implementación del
sistema de control de velocidad de un motor de corriente continua en espacio de estados, aplicando
diferentes técnicas de diseño: Realimentación de estados, Control óptimo y Control de modelo
predictivo (MPC). El proceso de diseño involucra implementar el algoritmo de mínimos cuadrados por
lotes para la identificación del modelo del motor, con una estructura autorregresiva con variable
exógena (ARX); una vez que el modelo se encuentra validado se utiliza para el diseño de los diferentes
comportamientos del controlador, puesto que se proponen estructuras de control para regulación y
seguimiento de referencias arbitrarias. El proyecto se realizó como parte de los requisitos de
aprobación de la cátedra de Control Digital Avanzado de la maestría en automatización del
Tecnológico de Monterrey.
1. INTRODUCCIÓN
El diseño de sistemas de control más eficientes, en general, protagonizan tópicos de investigación en ésta
área, y de manera particular en el diseño de controladores eficientes para el manejo de servomecanismos
puesto que son elementos de uso cotidiano en sencillas aplicaciones de uso personal hasta complejas
soluciones a nivel industrial. Cualquier máquina de rotación continua necesita un sistema de servocontrol,
cuyos principales objetivos pueden resumirse en:
− Mantener constante la velocidad de un motor entre ciertos límites, aún cuando la carga ejercida en el
eje del motor varíe. Este problema se relaciona de manera sencilla con el diseño de un regulador, en
el campo del control. Aplica un criterio idéntico en el caso de control de la posición de la flecha del
motor.
− Variar la velocidad y la carga de acuerdo a requerimientos externos del sistema. Esto también es
conocido como seguimiento de una referencia.
-1-
seguimiento de referencias arbitrarias. El diseño del controlador óptimo, al igual que su aplicación práctica se
discuten en la quinta sección. En la sección 6 se describen los criterios de diseño y la implementación del
controlador de modelo predictivo. La penúltima sección de éste reporte presenta la implementación de un
sistema de detección de fallas a través del uso de observadores de estados y finalmente se presentan las
conclusiones del trabajo.
Previo al diseño de un sistema de control, resulta vital identificar el modelo del sistema que nos interesa
controlar. Identificar significa determinar el modelo de un sistema dinámico a partir de las mediciones de las
entradas y salidas. La identificación de un proceso, por tanto requiere el conocimiento de la señal de estímulo
y la respuesta del sistema ante ese estímulo. Se recomienda elegir como señal de excitación, una señal con un
contenido rico en el espectro de frecuencias de forma que se permita cubrir todo el ancho de banda de la
planta a ser identificada, siendo lo ideal aplicar una señal de ruido blanco. Sin embargo, al ser la señal de
ruido blanco ideal, se propone en [1], generar una señal binaria pseudoaleatoria que se asemeja mucho en
contenido frecuencial a una señal de ruido blanco. Tal señal, mencionada antes, se conoce como señal PRBS
(Pseudo Randomic Binary Sequence), y será la que finalmente se aplique al proceso a identificar.
En la figura 1, se ilustra la arquitectura del sistema implementado para identificar el modelo dinámico del
motor de corriente continua, a través de la aplicación de una señal PRBS generada por software y que gracias
a una tarjeta de adquisición de datos USB-6008 de National Instruments y un circuito de amplificación se
alimenta al motor con señales de voltaje. Utilizando un canal analógico de la DAQ se realiza la medición de
la respuesta de velocidad. En la figura 2 se presentan los resultados de la señal aplicada y la respuesta de
velocidad. El tiempo de muestreo de la prueba fue de 50 ms.
-2-
Fig. 2. Respuesta del sistema ante la señal PRBS.
El método de estimación del modelo que utilizamos fue el de mínimos cuadrados por lotes, debido a su
sencillez en la implementación y su confiabilidad. Se trata de ajustar un modelo ideal de estructura
autorregresiva con variable exógena (ARX) a los datos obtenidos en el funcionamiento real del sistema [2].
Una vez que aplicamos el método de mínimos cuadrados a los datos reales del proceso generados a través
del experimento de aplicar la señal PRBS al sistema, validamos el modelo a través de las correlaciones
cruzadas entre el error y los coeficientes de mayor o menor orden que el modelo propuesto contenga.
Seguidamente se analiza la “blancura del error” a través de un periodograma y la generación de la señal de
respuesta del modelo estimado en contraste con la señal de respuesta del motor, como se ilustra en la figura 3.
La validación del modelo nos garantiza que éste contiene el detalle de las características dinámicas
del proceso para la frecuencia de muestreo al que éste fue identificado. Finalmente, el modelo que el proceso
de identificación nos entregó es el que se presenta en la ecuación 1.
Y (z ) 26.2929 z 2 + 31.5831z
= z −1 2
(1)
U (z ) z − 1.2447 z + 0.344798
-3-
3. REALIMENTACIÓN DE ESTADOS PARA UBICACIÓN DE POLOS EN LAZO CERRADO
Un sistema es de estado completamente controlable si todas las variables de estado pueden ser controladas
en un período finito, mediante alguna señal de control no restringida [3]. Por tanto, si un sistema es
completamente controlable, entonces los polos del sistema en lazo cerrado pueden ubicarse en cualquier
localización deseada, mediante una realimentación del estado a través de una matriz de ganancia de
realimentación del estado apropiada.
La presente técnica de diseño empieza con una determinación de los polos en lazo cerrado deseados,
basados en los requisitos de respuesta transitoria y/o respuesta en frecuencia como velocidad, factor de
amortiguamiento relativo o ancho de banda. La arquitectura que el sistema de control tendrá se presenta en la
figura 4. De allí se puede observar que el control se basa en el conocimiento/medición de todas las variables
de estado, que como se analiza en la sección 4 a través del uso de observadores, no siempre están disponibles
para su medición directa. Sin embargo, la literatura formal, como [3] y [4], demuestra que el proceso de
diseño de los observadores y los vectores de realimentación para ubicación de polos trabajan bien en conjunto
una vez que se han sido diseñados por separado.
Se presenta a continuación el detalle de los cálculos del vector de realimentación utilizando los polinomios
normalizados de Bessel con un tiempo de estabilización, tss = 0.5 [s], y sus respectivas pruebas en simulación
y en la práctica, para cambios de referencia y perturbación.
Y (z ) 26.29 z −1 + 31.58 z −2
=
U ( z ) 1 − 1.245 z −1 + 0.3448z −2
x1 (k + 1) 1.2447 1 x1 (k ) 26.29
x (k + 1) = − 0.3448 + u (k )
2 0 x2 (k ) 31.58 (2)
x (k )
y (k ) = [1 0] 1
x2 (k )
∴
x1 (k ) → velocidad del motor
P( z ) = z 2 − 1.29721z + 0.44591
E = J Tn M C−1∆ C (G )
26.29 64.3032
M C = [H MGH ] =
31.58 −9.06474
-4-
E = [0.000269 −0.001887]
T
(3)
x(k + 1) = (G − HE )x(k ) + HK O r (k )
−1
(
)
∴ K O = lim 1 − z −1 C(zI − G
ˆ )−1 H 1 −1
1− z
z →1
G = G − HE
ˆ
K O = 0.002547 (4)
Fig. 5. Respuesta del sistema de control ante cambios de referencia y perturbación. E = [0.000269 -0.001887]
En la práctica, no todas las variables de estado están disponibles para su medición directa, incluso resulta
común poder medir únicamente una variable de estado, que normalmente corresponde a la respuesta del
sistema. En el caso de nuestro sistema de control, a través de un encoder incremental es posible medir la
velocidad del eje del motor, lo cual corresponde a la medición directa del estado x1, definido en la ecuación
(2). En casos, como estos, en los que no todos los estados se pueden medir, será necesario estimar las
variables de estado que no sea posible medirlas directamente. Esta estimación se llama observación. Un
observador de estados es un subsistema de control que lleva a cabo una estimación de las variables de estado,
a partir de las mediciones de las variables de salida y control [3].
-5-
La arquitectura del sistema de control implementada para las simulaciones y el desarrollo de la aplicación
práctica se presenta en la figura 6. Resulta sencillo notar en la figura 6, que el observador añade dinámica
adicional al sistema, por lo que se recomienda que al elegir las ubicaciones de los polos del observador, el
tiempo de estabilización sea entre 4 a 6 veces más rápido que el tiempo de estabilización utilizado en el
diseño del controlador por realimentación de estados para la reubicación de polos.
Se presenta a continuación el detalle de los cálculos de un vector de realimentación del observador, cuya
ubicación de polos se calculado utiliza los polinomios normalizados de Bessel con un tiempo de
estabilización, tss = 0.1 [s].
P( z ) = z 2 − 0.102841z + 0.01737
K = ∆ C (G )WO−1J n
1 0
WO = [CMCG ] =
T
1.2447 1
K = [1.14186 −0.327428]
T
(5)
-6-
Fig. 7. Respuesta del sistema de control ante cambios de referencia y perturbación. E = [0.000269 -0.001887]; K = [1.14186 -0.327428]
En la figura 8 se presenta la gráfica de respuesta de velocidad del motor ante cambios de referencia y
perturbación, obtenida luego de haber implementado el controlador en espacio de estados utilizando
LabVIEW como plataforma de desarrollo y cuya arquitectura se ilustra en la figura 6. Los resultados
obtenidos en (3), (4) y (5) son considerados para la programación.
Fig. 8. Respuesta del sistema de control implementado, ante cambios de referencia y perturbación.
-7-
De la figura 8 ese posible concluir que el sistema responde acorde a las especificaciones, puesto que el
tiempo de estabilización es ligeramente superior al diseño, siendo aproximadamente 1 segundo. Resulta
sencillo notar, asimismo que el sistema es capaz de compensar las perturbaciones de carga que se presenten
en el eje del motor.
El problema del seguimiento a una trayectoria considera el orden del sistema para el diseño de seguimiento
de una trayectoria específica. En el caso del control de posición de un motor de corriente continua, si
recordamos el modelo físico, éste contienen un integrador que reduce a cero el error de estado estable ante
cambios de referencia tipo escalón, sin embargo si el objetivo por ejemplo, fuese seguir una trayectoria tipo
rampa, éste sistema presentará un error de estado estable diferente de cero. Se propone, por tanto incluir en el
sistema de control la dinámica de la señal que se pretende seguir, generándose una arquitectura de control
como la que se presenta en la figura 9.
Fig. 9. Arquitectura del sistema de control para seguimiento de referencias arbitrarias, con observador de estados.
Se presenta a continuación el detalle analítico de los cálculos para el seguimiento de trayectorias tipo:
senoidal, triangular y cuadrada. Para cada caso, se realiza el cálculo de la dinámica del observador respectivo
y se presenta la simulación correspondiente. Primeramente, se realizan los cálculos del sistema de control para
el seguimiento de una señal tipo rectangular. Se propone un tiempo de estabilización del sistema de control,
tss = 0.5 [s], y el tiempo de estabilización del observador 10 veces menor. Asimismo, se utilizó la
transformada en series de Fourier de la señal cuadrada y se utilizaron los cuatro primeros términos de la
expansión para la dinámica adicional del sistema de control.
aπ bπ cπ dπ
ρ (s ) = + 2 + 2 + 2
(s 2
+ 9π 2 ) (
s + 25π 2 ) (
s + 49π 2 s +π 2 ) ( )
s1, 2 = ± j 3π
s3, 4 = ± j 5π
s5,6 = ± j 7π
s 7 ,8 = ± jπ
(z − e )(z − e )(z − e )(z − e )(z − e )(z − e )(z − e )(z − e )
Ts p1 Ts p2 Ts p3 Ts p4 Ts p5 Ts p6 Ts p7 Ts p8
-8-
1.90211 1 0 0 0 0 0 0 1.90211
− 2.61803 0 1 0 0 0 0 0 − 2.61803
3.07768 0 0 1 0 0 0 0 3.07768
− 3.23607 0 0 0 1 0 0 0 − 3.23607
Aa = Ba =
3.07768 0 0 0 0 1 0 0 3.07768
− 2.61803 0 0 0 0 0 1 0 − 2.61803
1.90211 0 0 0 0 0 0 1 1.90211
− 1 0 0 0 0 0 0 0 − 1
C a = [1 0 0 0 0 0 0 0] Da = 1
A a 0
Ad =
a A
BC
1.902 1 0 0 0 0 0 0 0 0
- 2.618 0 1 0 0 0 0 0 0 0
3.077 0 0 1 0 0 0 0 0 0
- 3.236 0 0 0 1 0 0 0 0 0
3.077 0 0 0 0 1 0 0 0 0
Ad =
- 2.618 0 0 0 0 0 1 0 0 0
1.902 0 0 0 0 0 0 1 0 0
- 1.0 0 0 0 0 0 0 0 0 0
0.250 0 0 0 0 0 0 0 1.985 - 0.9853
0 0 0 0 0 0 0 0 1 0
B
Bd = a
B
B d = [1.902 - 2.618 3.077 - 3.236 3.077 - 2.618 1.902 - 1.0 0.25 0]
T
C d = [0 C]
C d = [0 0 0 0 0 0 0 0 0.1872 - 0.1624]
ET = − J Tn M C−1∆ C (A d )
ET = − J10
T
[
B d M A d B d M A d2 B d M L M A 9d B d ]
−1
∆ C (A d )
[
ET = 1 0 0 1 × 10-4 − 4 × 10−4 0.0011 − 0.0022 0.0029 0.0275 0.0246 ] (6)
-9-
ρ T = [ρ (0 ⋅ Ts ) ρ (1 ⋅ Ts ) ρ (2 ⋅ Ts ) L ρ (9 ⋅ Ts )]
ρ = [0 1.138 0.979 0.963 1.068 0.921 1.068 0.962 0.979 1.1386]
T
C d
C A
WO =
d d
M
9
C d A d
0 0 0 0 0 0 0 0 1.0 0
26.2 0 0 0 0 0 0 0 1.2 1.00
114.3 26.2 0 0 0 0 0 0 1.2 1.24
219.5 114.3 26.2 0 0 0 0 0 1.0 1.20
265.4 219.5 114.3 26.2 0 0 0 0 0.9 1.07
WO =
254.7 265.4 219.5 114.3 26.2 0 0 0 0.7 0.91
225.5 254.7 265.4 219.5 114.3 26.2 0 0 0.6 0.77
192.8 225.5 254.7 265.4 219.5 114.3 26.2 0 0.5 0.64
162.3 192.8 225.5 254.7 265.4 219.5 114.3 26.2 0.4 0.53
135.5 162.3 192.8 225.5 254.7 265.4 219.5 114.3 0.3 0.44
x z (0 ) = WO−1ρ
x z (0 ) = [- 0.009 0.011 0 - 0.017 0.038 - 0.051 0.051 - 0.031 0 1.37 ]
T
P2 ( z ) = z 10
K = ∆ C (G )WO−1J n
0.0001
- 0.0003
0.0005
- 0.0009
0.0013
K= (7)
- 0.0019
0.0024
- 0.0031
0.3147
0.0633
- 10 -
Fig. 10. Respuesta del sistema de control de seguimiento a una señal cuadrada. Respuesta de seguimiento y perturbación.
Se realizan ahora los cálculos de un sistema de control para el seguimiento de una señal tipo triangular. Se
propone un tiempo de estabilización del sistema de control, tss = 0.7 [s], y un tiempo de estabilización del
observador de por lo menos 10 veces menor. Asimismo, se utilizó la transformada en series de Fourier de la
señal triangular y se utilizaron los dos primeros términos de la expansión para la dinámica adicional del
sistema de control.
ρ (s ) =
1 3
+
s +1 8 s + 9
2 2
( )
s1, 2 = ± j1
s 3, 4 = ± j 3
(z − e )(z − e )(z − e )(z − e )
Ts p1 Ts p2 Ts p3 Ts p 4
3.9705 1 0 0 0 3.97504
− 5.95014 0 1 0 0 − 5.95014
Aa = Ba =
3.97504 0 0 1 0 3.97504
− 1 0 0 0 0 − 1
C a = [1 0 0 0] Da = 1
- 11 -
A a 0
Ad =
BC a A
3.9705 1 0 0 0 0 0
− 5.95014 0 1 0 0 0 0
3.97504 0 0 1 0 0 0
Ad =
− 1 0 0 0 0 0 0
26.29 0 0 0 0 0 0
31.58 0 0 0 0 0 0
B
Bd = a
B
3.97504
− 5.95014
3.97504
Bd =
− 1
26.29
31.58
C d = [0 C]
C d = [0 0 0 0 1 0]
E T = − J Tn M C−1 ∆ C (A d )
[
E T = − J T6 B d M A d B d M A d2 B d M L M A 5d B d ]−1
∆ C (A d )
ρ T = [ρ (0 ⋅ Ts ) ρ (1 ⋅ Ts ) ρ (2 ⋅ Ts ) L ρ (5 ⋅ Ts )]
ρ = [0 0.0313 0.0629 0.0951 0.1281 0.1622]
T
C d
C A
WO =
d d
M
5
C d A d
x z (0) = WO−1ρ
x z (0) = [0.0004 − 0.0011 − 0.0003 0 0.0212]
T
- 12 -
P2 ( z ) = z 6
K = ∆ C (G )WO−1J n
0.0197
- 0.0520
0.0464
K= (9)
- 0.0140
1.5366
0.1775
Fig. 11. Respuesta del sistema de control de seguimiento a una señal triangular. Respuesta de seguimiento y perturbación.
Se propone ahora el diseño de seguimiento de una señal tipo senoidal. Se utiliza un tiempo de
estabilización del sistema de control, tss = 0.5 [s], y para la ubicación de las raíces del observador se
considera el mismo tiempo de establecimiento que en el diseño del vector de realimentación.
ρ (s ) =
1
s2 + π 2
s1, 2 = ± jπ
(z − e )(z − e )
Ts p1 Ts p2
P( z ) = z 2 − 1.9754 z + 1
- 13 -
1.9754 1 1.9754
Aa = Ba =
− 1 0 − 1
C a = [1 0] Da = 1
A a 0
Ad =
a A
BC
1.9754 1 0 0
− 1 0 0 0
Ad =
26.29 0 1.2447 1
31.58 0 −0.3448 0
B
Bd = a
B
1.9754
− 1
Bd =
26.29
31.58
C d = [0 C]
C d = [0 0 1 0]
E T = − J Tn M C−1 ∆ C (A d )
[
E T = − J T6 B d M A d B d M A d2 B d M L M A 5d B d ]
−1
∆ C (A d )
ρ T = [ρ (0 ⋅ Ts ) ρ (1 ⋅ Ts ) ρ (2 ⋅ Ts ) L ρ (4 ⋅ Ts )]
ρ = [0 0.1564 0.3090 0.4540]
T
C d
C A
WO =
d d
M
3
C d A d
- 14 -
x z (0) = WO−1ρ
x z (0) = [0.0019 − 0.0017 0 0.1066]
T
P2 (z ) = P (z )
K = ∆ C (G )WO−1J n
0.0048
− 0.0045
K= (11)
1.0238
− 0.1250
Fig. 12. Respuesta del sistema de control de seguimiento a una señal senoidal. Respuesta de seguimiento y perturbación.
Los resultados del seguimiento de referencias arbitrarias se presentan en las figuras 13 y 14. En la figura 13
se encuentra el resultado práctico de realizar el seguimiento de una señal tipo triangular, al igual que su
respuesta ante una perturbación de carga en el eje del motor. Cabe resaltar que los resultados utilizados para
esta implementación fueron los de las ganancias (8) y (9). La gráfica de respuesta de la figura 14, por otro
lado contiene el detalle del sistema de seguimiento de una señal senoidal, para lo cual se hizo uso de los
resultados (10) y (11). Resulta sencillo notar allí que el error de estado estable es cero y que el sistema es
capaz de responder ante perturbaciones.
- 15 -
Fig. 13. Respuesta del sistema de control de seguimiento a una señal triangular implementado, ante cambios de referencia y perturbación.
Fig. 14. Respuesta del sistema de control de seguimiento a una señal senoidal implementado, ante cambios de referencia y perturbación.
Para el diseño del controlador óptimo se utiliza la misma arquitectura del sistema de control por
realimentación de estados que se que se ilustra en la figura en la figura 6. Resulta sencillo notar que el mejor
desempeño en el sistema se puede conseguir a través de un vector de ganancias que optimice el
funcionamiento del sistema de control.
Se presentan a continuación el detalle de los cálculos de diferentes vectores óptimos, al igual que su
simulación y la respuesta de velocidad del motor en la práctica utilizando el vector de mejor desempeño.
- 16 -
Vector óptimo 1
1 0
Q=
0 1
R = [1]
A + BR −1BT A −T Q −BR −1BT A −T
H= −T
− AT Q A
- 2406.6 3689.3 2407.9 -3688.3
- 2892.7 4430.4 2892.4 -4430.4
H=
0 -1.0 0 1.0
2.9 -3.6 -2.9 3.6
λ1 = 2020.2
λ 2 = 7 .1
λ3 = 0.1413
λ4 = 0.0005
Considerando los valores propios cuya magnitud es menor que la unidad y sus correspondientes vectores,
formamos la matriz T.
0.4340 −0.3867
− 0.5400 XI
0.5920
T= = − − −
0.5540 −0.3871
YI
− 0.4617 0.5918
∴
0.4340 −0.3867
XI =
− 0.5400 0.5920
0.5540 −0.3871
YI =
− 0.4617 0.5918
λ 0 0.1413 0
EH = 3 =
0 λ4 0 0.0005
0.0783 −0.0002
W = YI E H =
− 0.0652 0.0003
- 17 -
E = −R −1BT WXI−1
E = [0.0187 0.0193]
x(k + 1) = G 3 x(k ) + HK O r (k )
4−2HE
1 4
Gˆ
−1
(
)
∴ K O = lim 1 − z −1 C(zI − G
ˆ )−1 H 1 −1
1− z
z →1
K O = 0.014829
Fig. 15. Respuesta del sistema de control ante cambios de referencia y perturbación,
utilizando un vector óptimo, E = [0.0187 0.0193]T y observadores de estados.
Vector óptimo 2
1 0
Q=
0 1000
R = [100]
A + BR −1BT A −T Q −BR −1BT A −T
H= −T
− AT Q A
- 0.0023 3.6884 0.0024 -0.0037
- 0.0029 4.4304 0.0029 -0.0044
H = 1 × 10 4
0 -0.1000 0 0.0001
0.0003 -0.3610 -0.0003 0.0004
- 18 -
Calculando los valores y vectores propios de H, tenemos:
λ1 = 44283
λ2 = 2
λ3 = 0.06512
λ4 = 0
Considerando los valores propios cuya magnitud es menor que la unidad y sus correspondientes vectores,
formamos la matriz T.
0.0020 −0.0007
− 0.0011 XI
0.0010
T= = − − −
0.7685 −0.0007
YI
− 0.6398 1
∴
0.0020 −0.0007
XI =
− 0.0011 0.0010
0.7685 −0.0007
YI =
− 0.6398 1
λ 0 0.6512 0
EH = 3 =
0 λ4 0 0
0.05004 0
W = YI E H =
− 0 .4166 0
E = −R −1BT WXI−1
E = [0.0079 0.0123]
x(k + 1) = G 3 x(k ) + HK O r (k )
4−2HE
1 4
Gˆ
−1
(
)
∴ K O = lim 1 − z −1 C(zI − G
ˆ )−1 H 1 −1
1− z
z →1
K O = 0.006061
- 19 -
Fig. 16. Respuesta del sistema de control ante cambios de referencia y perturbación,
utilizando un vector óptimo, E = [0.0079 0.0123]T y observadores de estados.
Vector óptimo 3
10 0
Q= 10
0 10 × 10
[
R = 10 × 1010
]
A + BR −1BT A −T Q −BR −1BT A −T
H=
− AT Q A −T
0.0000 0.0000 0.0000 - 0.0000
- 0.0000 0.0000 0.0000 - 0.0000
H = 1 × 1010
0 - 1.0000 0 0.0000
0.0000 - 3.6099 - 0.0000 0.0000
λ1 = 4.4331× 103
λ2 = 0.0002
λ3 = 1.5
λ4 = 0.6529
- 20 -
Considerando los valores propios cuya magnitud es menor que la unidad y sus correspondientes vectores,
formamos la matriz T.
0.0000 −0.0000
− 0.0000 XI
0.0000
T= = − − −
0.0001 −0.7686
YI
− 1 0.6398
∴
0.0000 −0.0000
XI =
− 0.0000 0.0000
0.0001 −0.7686
YI =
− 1 0.6398
λ 0 0.0002 0
EH = 3 =
0 λ4
0 0. 6529
0.0000 −0.5018
W = YI E H =
− 0 .0002 0.4177
E = −R −1BT WXI−1
E = [0.0021 0.0032]
x(k + 1) = G 3 x(k ) + HK O r (k )
4−2HE
1 4
Gˆ
−1
(
)
∴ K O = lim 1 − z −1 C(zI − G
ˆ )−1 H 1 −1
1− z
z →1
K O = 0.002901
Para comparar el desempeño del sistema de control con los vectores de ganancias óptimos, se presenta en la
figura 18 la comparación de los tres sistemas calculados en la sección anterior con el desempeño de un
sistema de control por realimentación de estados con el vector de ganancias E calculado utilizando la fórmula
de Ackermann, y los polinomios normalizados de Bessel para un tss = 0.5 [s].
Fácilmente se puede comprobar que la respuesta del sistema de control con el vector óptimo 3, tiene un
tiempo de establecimiento menor a 1 segundo y prácticamente la respuesta a las perturbaciones es inmediata,
además de no ofrecer sobreimpulsos, tanto para cambios de referencia, como para perturbación. Las repuestas
de los sistemas de control con los vectores óptimos 1, 2 priorizan la velocidad en la respuesta, sin embargo
poseen un sobreimpulso mayor que la respuesta del sistema utilizando el vector calculado con la fórmula de
Ackermann y el polinomio normalizado de Bessel para un tiempo de establecimiento, tss = 0.5 [s].
- 21 -
Se presenta, asimismo en la figura 19 las gráficas de comparación del estado X2 del sistema. Nuevamente se
puede notar el mejor comportamiento del sistema de control con vector de ganancias óptimo 3.
Fig. 17. Respuesta del sistema de control ante cambios de referencia y perturbación,
utilizando un vector óptimo, E = [0.0021 0.0032]T y observadores de estados.
Fig. 18. Comparación de la respuesta de los sistemas de control con diferentes vectores
de realimentación, ante cambios de referencia y perturbación.
- 22 -
Fig. 19. Comparación de la respuesta del estado X2 de los sistemas de control con diferentes vectores
de realimentación, ante cambios de referencia y perturbación.
Para la implementación práctica, se procedió de manera idéntica a la implementación del sistema de control
por realimentación de estados, el único cambio radica en utilizar el nuevo vector de realimentación óptimo.
En la figura 20 se ilustra el desempeño del sistema de control óptimo y en la figura 21, se presenta el
desempeño del sistema de control utilizando el vector calculado por la fórmula de Ackermann y los
polinomios de Bessel, tss = 0.5 [s].
Fig. 20. Desempeño del sistema de control óptimo en el control de velocidad de un motor c.c.
- 23 -
Fig. 21. Desempeño del sistema de control no óptimo en el control de velocidad de un motor c.c.
Claramente se puede notar del análisis de las figuras 20 y 21, el mejor desempeño del sistema de control
óptimo, puesto que presenta una respuesta sin sobreimpulsos ante cambios de referencia y perturbación,
además de estabilizarse más rápidamente que el sistema de control no óptimo.
Es posible, por tanto suponer que son necesarios tres requisitos para establecer control MPC:
- 24 -
Se presentan a continuación los cálculos del controlador MPC para la planta que identificamos en la sección
1, cuyo modelo se repite en la ecuación (12):
Y (z ) 26.2929 z 2 + 31.5831z
= z −1 2 (12)
U (z ) z − 1.2447 z + 0.344798
x m (k + 1) = A m x m (k ) + B mu (k )
y (k ) = Cm x m (k )
1.2447 1 26.29
Am = Bm = Cm = [1 0]
− 0.3448 0
31.58
∆x m (k + 1) A m 0Tm ∆x m (k ) B m
y(k + 1) = + ∆u (k )
C m A m 1 y (k ) Cm B m
1 42
4 43 4 1424 3
A B
∆x (k )
y (k ) = [0 m 1] m
y (k )
1.2447 1 0 26.29
A = − 0.3448 0 0 B = 31.58 C = [0 0 1]
1.2447 1 1 26.29
( )
∆U = ΦT Φ + R ΦT [R s − Fx(ki )]
−1
CB 0 0 L 0
CA CAB
2 CB 0 L 0
CA
F= Φ = CA 2 B CAB CB L 0
M
M M M O 0
CA
NP
CA N P −1B CA N P −2
B CA N P −1
B CA N P − NC
B
9.9816 6.1024
8.7879 7.4767
8.7879 5.5751
7.8372 6.7536
ΦT Φ = 1× 10 5
7.4767 4.9496
6.7536 5.9074
6.1024 4.2210
5.5751 4.9496
1.7133 1.8300 0.2816
1.4925 1.6008 0.2353
ΦT F = 1×10 4
1.2576 1.3539 0.1914
1.0178 1.0995 0.1503
rw = 1× 10 6
2.8159
2.3528
ΦT R s = 1× 10 3
1.9135
1.5029
- 25 -
La ley de control está dada por la siguiente ecuación:
u (k + 1) = u (k ) + ∆u (k + 1) (13)
En la figura 22 se ilustra el comportamiento del sistema de control utilizando la ley de control (13) y los
cálculos bosquejados anteriormente. Resulta sencillo notar el excelente desempeño del controlador puesto que
su tiempo de estabilización es menor a 1 segundo con un reducido sobreimpulso y su respuesta ante
perturbaciones es menor a 1 segundo también. Claramente supera el desempeño de funcionamiento a los
controladores implementados anteriormente: Realimentación de estados y control óptimo.
Fig. 22. Simulación del sistema de control de velocidad con MPC ante cambios de referencia y perturbación.
Utilizando LabVIEW como plataforma de desarrollo, los cálculos bosquejados en esta sección y la ley de
control representada en la ecuación (13), se implementó el sistema de control MPC para regular la velocidad
de la flecha del motor de corriente continua identificado en la sección 1. La curva de respuesta del sistema de
control se ilustra en la figura 23.
Resulta sencillo notar del análisis de la figura 23, que el comportamiento del sistema de control es muy
parecido al presentado en la simulación de la figura 22. La respuesta ante cambios de referencia y
perturbación es claramente superior a la de los otros sistemas de control implementados anteriormente, que se
ilustran en las figuras 8, 20 y 21. El error de estable es “increíblemente” bajo reportándose mediciones de
velocidad de 2000.4 rpm cuando la referencia es 2000 rpm, lo cual por supuesto no sucede en otros sistemas
de control. El error de estado estable es de 2 x 10-4 %.
- 26 -
Fig. 23. Respuesta del sistema de control de velocidad con MPC ante cambios de referencia y perturbación.
Los sistemas dinámicos utilizados en procesos productivos, por ejemplo, están sometidos a diversas fallas
debidas a muchos factores tales como: mal uso, antigüedad, falta de mantenimiento, etc. En el caso particular
de un motor, que se utiliza como elemento motriz en la industria, automóviles, manufactura, etc., puede
presentar diferentes fallas debidas a causas variadas, que van desde alimentación inadecuada, desgaste de
rodamientos, sobrecargas en el eje, entre otros. Resulta, por tanto muy importante desarrollar un sistema de
detección de fallas confiable, y es justamente allí en donde enfocamos el desarrollo del presente trabajo, a
través del uso de observadores de estado para fallas bien conocidas en el sistema.
Todos los modelos aquí presentados se obtuvieron utilizando el método de identificación de mínimos
cuadrados, que se explica en detalle en la sección 1. Repitiendo el procedimiento para los casos en los que el
sistema presenta fallas, los modelos fueron los siguientes:
− Carga tipo escalón en el eje del motor. Mientras el motor se encontraba trabajando a una velocidad
estable, se aplicó primeramente una carga pequeña al eje del motor y se utilizó el proceso de
identificación. Se realizaron dos modelaciones, considerando en una segunda oportunidad una carga
fuerte al eje del motor, generándose los siguientes modelos:
- 27 -
En virtud de que el objetivo principal es identificar las fallas que modelamos en el motor, el diseño en base al
cual se realizan los cálculos y la implementación es el que se ilustra en la figura 22. Analizando la figura 22,
podemos notar que el “secreto” del sistema se encuentra en el banco de observadores que estiman los valores
de los estados para cada modelo obtenido en el punto anterior, y en el caso de presentarse una de las fallas
modeladas, automáticamente el observador correspondiente convergerá a la variable medida, que en este caso
es la velocidad de la flecha del motor, permitiéndonos emitir un diagnóstico y/o alarma de lo que ocurre en el
sistema.
− HGf1
x1 ( k + 1) − 1.33245 1 x1 (k ) 9.6978
x ( k + 1) = − 0.448921 0 x ( k ) + 37.9834u ( k )
2 2
x1 (k )
y ( k ) = [1 0]
x2 ( k )
Ke = ∆c(G )Wo −1 Jn
1 0
Wo = [C M CG ] =
T
1.33245 1
- 28 -
Considerando Deadbeat en la ubicación de polos:
Ke = G 2Wo −1 J 2
1.33245
Ke =
− 0.448921
− HGf3
x1 ( k + 1) 1.57142 1 x1 ( k ) 0.06579
x ( k + 1) = − 0.65427 0 x ( k ) + 13.0224 u ( k )
2 2
x (k )
y ( k ) = [1 0] 1
x2 ( k )
Ke = ∆c(G )Wo −1 Jn
1 0
Wo = [C M CG ] =
T
1.57142 1
Ke = G 2Wo −1 J 2
1.57142
Ke =
− 0.65427
− HGf2
x1 ( k + 1) 1.39531 1 x1 ( k ) 18.2715
x ( k + 1) = − 0.561823 0 x (k ) + 14.618 u (k )
2 2
x (k )
y ( k ) = [1 0] 1
x2 ( k )
Ke = ∆c(G )Wo −1 Jn
1 0
Wo = [C M CG ] =
T
1 . 39531 1
Ke = G 2Wo −1 J 2
1.39531
Ke =
− 0.561323
En la figura 24, se presenta la simulación del observador de estados de la planta. Claramente se puede
concluir que el observador calcula de manera correcta los estados de la planta, puesto que converge al
resultado ideal.
- 29 -
Fig. 25. Desempeño del observador de estados de la planta.
El desempeño de los observadores de los modelos detallados previamente, se presentan en las figuras 25, 26 y
26. Cabe destacar que en éstas gráficas la planta en principio no se encuentra sometida a ninguna perturbación
y en el tiempo 2.5 [s] se presenta la falla, permitiendo que el observador respectivo converja.
Fig. 26. Desempeño del observador de estados de la planta + falla 1 (carga leve en el eje del motor).
- 30 -
Fig. 27. Desempeño del observador de estados de la planta + falla 3 (carga moderada en el eje del motor).
Fig. 28. Desempeño del observador de estados de la planta + falla 2 (perturbación en el sensor).
El comportamiento de todos los observadores para los diferentes casos: sin falla, falla 1, falla 2 y falla 3, se
presenta en las figuras 29, 30 y 31. Resulta sencillo notar allí que para el caso concreto de la falla presente, el
observador correspondiente converge y los demás no, siendo sencillo a la larga a través de comparaciones
entre los residuos de los observadores y la velocidad del motor determinar que falla se encuentra activa en el
sistema.
- 31 -
Fig. 29. Desempeño de los observadores de estados de la planta + falla 1 (carga leve en el eje del motor).
Fig. 30. Desempeño de los observadores de estados de la planta + falla 2 (perturbación en el sensor).
- 32 -
Fig. 31. Desempeño de los observadores de estados de la planta + falla 3 (carga moderada en el eje del motor).
- 33 -
Figura 33. Desempeño de los observadores de estados ante la falla 1.
- 34 -
Figura 35. Desempeño de los observadores de estados ante la falla 3.
8. CONCLUSIONES
La elaboración de este proyecto de control trajo algunas conclusiones que son de gran utilidad para el diseño
y aplicación de los sistemas de control en algún proceso dado. A lo largo de este documento se presentaron
los diseños de varios controladores para una misma planta, esto es de gran beneficio, ya que se puede hacer
una comparación del desempeño de los diferentes controladores bajo las mismas condiciones de operación, su
complejidad de diseño y por tanto de una forma indirecta, su margen costo-beneficio para una aplicación en
especial.
La primer parte del proyecto se refirió a la identificación de la planta, esto es, la obtención del modelo
matemático de 2do orden que describiera la dinámica del motor de corriente directa que se estuvo usando.
Esta etapa del proyecto es de vital importancia, ya que si un modelo matemático que se obtenga de la planta
no describe el funcionamiento real de la misma, ningún algoritmo de control diseñado basado en ese modelo
matemático será de utilidad para tener el control de la planta. El método utilizado para hacer la identificación
del modelo matemático fue el de “Mínimos Cuadrados por Lotes” con datos entrada salida proporcionados
por la aplicación de una señal PRBS alrededor de punto de operación de 2000 rpm, lo que proporcionó un
modelo de manera sencilla.
El primer controlador desarrollado fue el de realimentación de estados. Considerando que los estados no
siempre están disponibles para su medición, se propuso el diseño de observadores de estados (Obtenidos
mediante la fórmula de Ackermann). De acuerdo a la literatura citada, el tiempo de estabilización para el
diseño de los observadores de estado debe de ser entre 4 y 6 veces más rápida que la respuesta del sistema de
control, esto para evitar hacer que la dinámica de respuesta del observador tenga dominio sobre la respuesta
general del sistema.
- 35 -
Al sistema de retroalimentación de estados se le agrego un sistema de seguimiento para que el sistema pudiera
seguir las referencias arbitrarias sin error de estado estable. Sin embargo, esta dinámica adicional que se
agregaba para hacer el seguimiento producía una respuesta no tan favorable cuando se presentaban
perturbaciones en el sistema.
Cabe destacar que al igual que con la primer identificación del sistema, la correcta modelación de la dinámica
del sistema cuando una falla estaba presente fue necesaria, debido a que si la el sistema presentaba una falla
por alguna razón en particular y esa falla no está bien descrita en la dinámica del modelo adquirido, el sistema
de detección de fallas nunca se daría cuenta que esa falla estaba presente por el error presente en el
“observador” de esa falla en particular.
Adicionalmente a los sistemas anteriores, se propuso el diseño de un controlador óptimo cuadrático, mediante
la técnica de minimización al utilizar los multiplicadores de Lagrange. Un controlador óptimo está enfocado a
minimizar o maximizar un cierto índice de desempeño en particular. Se debe de considerar que al optimizar
un cierto índice de desempeño, no siempre optimiza otro índice de desempeño, esto es por ejemplo, minimizar
el tiempo de respuesta de un sistema regularmente no siempre será el óptimo para la vida útil de actuador que
hace que el tiempo de respuesta del sistema sea rápido.
Una conclusión importante en este tipo de controlador, es que al trabajar con una ley de control optimo basada
en un índice de desempeño que se basa en un índice de desempeño cuadrático en la cual se obtiene como
resultado una función lineal del vector de estados x(k).
Si se hace una comparación entre el desempeño del controlador optimo con el no optimo, se puede llegar a
conclusiones interesantes. En el controlador óptimo se puede ver un desempeño muy suave en comparación
con el desempeño provocado por los polinomios de Bessel (no óptimo). En la respuesta del controlador
óptimo prácticamente no existe sobretiro y la respuesta ante perturbaciones es prácticamente instantánea, en
comparación con el control no óptimo, aunque también se vio que si el índice que se desea minimizar es el
tiempo de respuesta, el vector de retroalimentación óptimo produjo una respuesta con sobretiro mayor a la
respuesta del sistema no óptimo.
El control óptimo pretende minimizar la diferencia del comportamiento del sistema real, para lo cual la
propuesta de matrices Q y R, en el caso de control optimo cuadrático, se vuelve el factor clave de diseño. En
el caso de que se requiera penalizar amplitudes de un estado en específico, se debe recurrir a incrementar el
índice correspondiente de la matriz Hermítica definida positiva Q, considerablemente. En el desarrollo de éste
trabajo, se utilizaron incluso cantidades de hasta 1 × 10ଵ .
Los requisitos básicos para la implementación del MPC son: modelo, medición y ley de control realizable. En
el caso de nuestro proyecto el modelo está basado en una estructura ARX, la medición se realiza con un
encoder incremental instalado en el eje del motor y la ley de control está basada en el criterio de optimización
en el horizonte de predicción minimizando el índice de desempeño J = (Rs - Y)T(Rs - Y) + ∆UTR∆U.
- 36 -
9. BIBLIOGRAFÍA
[1] Ioan D. Landau and Gianluca Zito. Digital Control Systems. Lab. d’Automatique de Grenoble. Springer,
London – 2006.
[2] Antonio Favela C., Método de Identificación por Mínimos Cuadrados, ITESM – Cátedra de
Identificación de Procesos.
[3] Ogata Katsuhiko, Sistemas de control en tiempo discreto, segunda edición, Prentice – Hall, 1996.
[4] Santina, Stubberud, Hostetter , Digital Control Systems Design, 2nd. Edition, Saunders College
Publishing, 1994.
[5] Morillo, Ríos-Bolíva, Control of a DC Brush Motor via Dynamic Output Feedback, Zulia University,
Venezuela.
[6] Mosca Edoardo, Optimal, Predictive and Adaptive Control, Prentice-Hall, 1995
[7] Wand Liuping, Model Predictive Control System Design and Implementation Using Matlab, Springer,
Australia – 2009.
- 37 -