Académique Documents
Professionnel Documents
Culture Documents
Rev. 4/05/2007
Índice general
2. Secuencias y transformada Z 13
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Transformada en Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
i
ii ÍNDICE GENERAL
3. Proceso de muestreo 25
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.4.1. Causalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6.3. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
1.1. Selección de que datos se deben guardar, con que frecuencia y en que
formato en los históricos de un sistema de control por computador. . . 4
1.2. Todos los sistemas de control por computador presentan mı́micos más o
menos realistas con la información de la planta. . . . . . . . . . . . . . 5
xiii
xiv ÍNDICE DE FIGURAS
4.6. Respuestas ante un impulso para un sistema con un polo en el eje real. 45
ÍNDICE DE FIGURAS xv
4.8. Respuestas ante un impulso para un sistema con polos conjugados dentro
del circulo unidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.3. Misma situación que en la figura 9.2 pero con una señal de entrada
senoidal de frecuencia ω = 1 rad × s−1 . . . . . . . . . . . . . . . . . . . 153
10.3. Diagrama de Bode para distintos valores de un retraso puro e−tm s . . . . 162
12.5. Respuesta del sistema multivariable del ejemplo cuando se aplican escalones
en sus entradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
15.1. PID industrial moderno con función de autoajuste (ABB modelo ECA). 225
15.5. Curva de pH para una solución de HCl 0.001 M y NaOH 0.001 M. . . 230
El control por computador surge de la evolución del control análogico clásico (usado
extensivamente en sistemas mecánicos, eléctricos y electrónicos), en la cual el computa-
dor se ve como medio para ampliar las capacidades y funcionalidades de los sistemas
de control. Esa incorporación del computador digital comienza ya en etapas tan tem-
pranas del desarrollo de los computadores como la década de 1950. En esa época el
uso que se le daba al computador en los sistemas de control era el de supervisor de los
lazos de control análogico tradicional. El siguiente paso es el de sustituir directamente
a los controladores análogicos (habitualmente de tipo PID) en lo que se vino a llamar
el Control Digital Directo. En este tipo de control el computador calcula la señal de
control que se aplicará directamente al proceso.
1
2 VENTAJAS E INCONVENIENTES DE UN SISTEMA DE CONTROL POR COMPUTADOR
En épocas más reciente, los sistemas de control han ido ocupando cada vez más
campos de aplicación de los controladores clásicos como por ejemplo el sector de au-
tomoción y los sistemas de control de vuelo. Por otra parte el abaratamiento y sim-
plificación de estas tecnologı́as han hecho que acaben aplicando incluso en el entorno
doméstico dentro del campo de la domótica.
El avance de este tipo de sistemas de control es tal que hoy en dia ya no se concibe
ninguna aplicación de control automático de cierta complejidad en la que no se haga
uso del control por computador como tecnologı́a principal. Esta tecnologı́a tiene su
propia idiosincracia, diferente a la de la tecnologı́a clásica, de ahı́ que surja una teorı́a
especı́fica que trata con estos sistemas: la teorı́a del control por computador.
Toda tecnologı́a nueva suele venir cargada de ventajas pero también suele presentar
nuevos inconvenientes. En esta sección se describirán brevemente ambas caracterı́sticas.
Dentro de las principales ventajas del control por computador podemos encontrar:
Los sistemas de control por computador son más eficientes a la hora de controlar
sistemas complejos. Además al ser sistemas programables, se pueden incorporar
algorı́tmos de control más sofisticados que los que se pueden realizar con compo-
nentes analógicos.
Mayor precisión en los cálculos. Con instrumentación analógica alcanzar una alta
precisión en los cálculos es muy caro, mientras que con los computadores digitales
la precisión en muchos casos es arbitraria.
Por otra parte los sistemas de control por computador también presentan inconve-
nientes, entre ellos:
Coste elevado. Este coste es además muy dependiente del número de lazos de
control que se hayan de implementar.
Las tareas que un sistema de control por computador realiza van más allá de las de
control que realiza un sistema de control clásico.
Filtrado de señales.
Además de esas funciones de tratamiento de la señal se realizan otras tareas entre las
que se incluyen:
4 FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR
Análisis estadı́sticos.
Figura 1.1: Selección de que datos se deben guardar, con que frecuencia y en que formato en los
históricos de un sistema de control por computador.
Otra de las tareas del MMI es la gestión de alarmas ante condiciones anormales de
operación de la planta y su presentación al operador. Las alarmas se traducen en avisos
al operador y se pueden tratar en función de su importancia. Además las incidencias y
alarmas se almacenan en las bases de datos del sistema de control por computador.
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 5
Figura 1.2: Todos los sistemas de control por computador presentan mı́micos más o menos realistas
con la información de la planta.
Figura 1.3: Herramientas para creación de mı́micos en un sistema de control por computador.
6 FUNCIONES DE UN SISTEMA DE CONTROL POR COMPUTADOR
Los sistemas de control por computador son capaces además de ayudar o asistir en
la toma de decisiones sobre la manera de operar el sistema. Suele ser habitual el uso
de simuladores que permiten ensayar y ver el efecto de cambios en la planta sin tener
que realizarlos sobre el sistema real. Complementando a los simuladores se pueden
encontrar en algunos sistemas de control por computador programas de inteligencia
artificial como los sistemas expertos, que tienen la misión de sugerir cual es la posible
solución a cualquier incidencia que se presente o indicar los puntos de funcionamiento
o modos de operación que sean más productivos. Es decir, un sistema experto emula
el conocimiento de un ((experto humano)).
Figura 1.4: Los históricos presentan información relevante sobre la evolución de las variables monitor-
izadas bien en forma gráfica o numérica.
SINCRONÍA
PLANTA DISCRETIZADA
Finalmente hay que recordar que los distintos componentes se conectan a traves de
redes de comunicaciones digitales llamadas buses de campo. Esas redes están regidas
por diferentes protocolos de comunicaciones estandarizados.
Otro factor a tener en cuenta es que los sistemas operativos han de cumplir diversas
caracterı́sticas para ser válidos en sistemas de control. Estos requisitos están normal-
mente relacionados con la temporización de tareas y la necesidad de garantizar que
los programas que implementan algoritmos de controlador se ejecutarán en el tiempo
necesario a toda costa. Los sistemas que cumplen esto son los que se suelen denominar
sistemas operativos para operación en tiempo real o sistemas en tiempo real.
Finalmente hay que destacar que existen diferentes posibilidades a la hora de pro-
gramar un controlador, pudiéndose elegir entre implementarlo en un lenguaje de bajo
nivel, en un lenguaje de proposito general, en un lenguaje especı́fico del sistema de
control o incluso un lenguaje gráfico (ver figura 1.10).
CAPÍTULO 1. INTRODUCCIÓN AL CONTROL POR COMPUTADOR 11
Figura 1.10: Simulink es un lenguaje gráfico que se puede utilizar para programar algoritmos de
control.
12 SOFTWARE DE CONTROL
Capı́tulo 2
Secuencias y transformada Z
2.1. Introducción
Nótese que no solo el tiempo está discretizado sino que debido a la naturaleza digital
del elemento de control (el computador) los valores de ambas señales son también
discretos. El sistema de control por computador es por tanto un sistema discreto que
recibe señales yk 1 y genera salidas uk . Los valores de esas señales a lo largo del tiempo
forman secuencias, por ejemplo:
Estas ecuaciones en diferencias constituyen una forma muy común de modelar sistemas
discretos.
1
Nótese que con la notación yk se está indicando y(kT ), de manera que yk−1 = y((k − 1)T ) y
ası́ sucesivamente. Por otra parte es habitual utilizar también la notación y(k),y(k − 1), etc. . .
13
14 SECUENCIA DE PONDERACIÓN
{ k}={1,0,0,…} {gk}={g0,g1,g2,…}
Sistema
Discreto
g1 g2
...
g0
donde u0 = 7, {δk } = {1, 0, 0}, u1 = 4, {δk−1 } = {0, 1, 0}, u2 = 5, {δk−2 } = {0, 0, 1}.
Nótese que la secuencia {δk−i } es la secuencia {δk } retrasada i tiempos de muestreo, y
vale 1 en el instante de tiempo k = i y cero en los demás.
Si a un sistema lineal se le excita con una secuencia de entrada {uk } (por ejemplo
la ley de control calculada en cada instante por el computador), tal que
l=∞
X
{uk } = ul · {δk−l }
l=0
llegándose a:
l=∞
X
{yk } = gl · {uk−l }
l=0
2.3. Transformada en Z
Teniendo en cuenta que la función delta de Dirac δ(t − kT ) vale 1 para t = kT y cero
en todos los demás casos, es claro que la señal muestreada es igual a:
∞
X
∗
x (t) = x(kT )δ(t − kT )
k=0
16 TRANSFORMADA EN Z
z = eT s
Calcular la transformada Z puede ser bastante complejo, de ahı́ el uso de tablas con
las transformadas de las señales más comunes. Algunas de las señales más sencillas si
pueden calcularse fácilmente.
{δk } = {1, 0, 0, · · ·}
{uk } = {1, 1, 1, · · ·}
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 17
Señal {ak }:
∞ ∞ ³ ´
© ª X X a k 1 z
Z ak = ak z −k = = a =
k=0 k=0
z 1− z
z−a
Señal {e−ak }. En este caso se aplica el resultado anterior con a = e−a obteniéndose
© ª z
Z e−ak =
z − e−a
2 1
Este resultado es válido siempre que z < 1.
18 PROPIEDADES DE LA TRANSFORMADA Z
P
n−1
el término z n xl z −l son condiciones iniciales (análogo a lo que ocurre en
l=0
la transformada de Laplace), con lo que el resultado queda demostrado.
b) Z {xk−1 } = z −1 X(z) y en general Z {xk−n } = z −n X(z). La demostración
pasa por considerar una secuencia {yk } = {xk−1 }. La transformada Z de
esta secuencia es:
P∞
Y (z) = yk z −k
k=0
P∞
= xk−1 z −k
k=0
P
∞
= z −1 xk−1 z −(k−1) tomando k 0 = k − 1
k=0
−1
P∞
0
= z xk0 z −k
µ0 =−1
k ¶
P
∞
−k0
= z −1 x−1 z + xk 0 z teniendo en cuenta que x−1 = 0
k0 =0
= z −1 X(z)
Por tanto Z {xk−1 } = z −1 X(z) y en general se puede demostrar que Z {xk−n } =
z −n X(z). Nótese que z −1 X(z) se corresponde con la secuencia {xk } retrasa-
da en un tiempo de muestreo. Por tanto, se entiende que a z −1 se le conozca
también como operador retraso. Análogamente, z −n X(z) se corresponde con
la secuencia {xk } retrasada n tiempos de muestreo.
4. Teorema del valor final. El valor en k = ∞ de la secuencia {xk } viene dado por:
x∞ = lı́m xk = lı́m(z − 1)X(z)
k→∞ z→1
Nota: en algunos textos aparece como lı́m (1 − z −1 )X(z). Por otra parte este
z→1
teorema es válido si el lı́mite existe.
Ejemplo 2.1
Sea
z
X(z) =
z−1
El valor final será
x∞ = lı́m z = 1
z→1
Este resultado es congruente con el hecho de que la secuencia es un escalón
unitario.
CAPÍTULO 2. SECUENCIAS Y TRANSFORMADA Z 21
5. Teorema del valor inicial. El valor inicial para k = 0 de la secuencia {xk } viene
dado por:
x0 = lı́m X(z)
z→∞
Ejemplo 2.2
z 1
x0 = lı́m = lı́m 1 =1
z→∞ z − 1 z→∞ 1 −
z
Ejemplo 2.3
Sea
z
X(z) =
z−c
obtener la representación temporal por el método de la división larga. En este caso, al
realizar la división se obtiene:
z
= 1 + cz −1 + c2 z −2 + c3 z −3 + · · ·
z−c
22 TRANSFORMADA Z INVERSA
Ejemplo 2.4
Sea
0,1z 2
X(z) =
z 2 − 1,9z + 0,9
Si se realiza la división se obtiene:
0,1z 2
2
= 0,1 + 0,19z −1 + 0,271z −2 + · · ·
z − 1,9z + 0,9
Ejemplo 2.5
Sea
(1 − e−aT )z
X(z) =
(z − 1)(z − e−aT )
Aplicar el método de la descomposción en fracciones simples. Como se tiene el factor
z en el numerador expandimos X(z)
z
:
X(z) A B
= +
z z − 1 z − e−aT
{xk } = {1 − e−akT }
Ejemplo 2.6
Sea
(1 − e−aT )
X(z) =
(z − 1)(1 − e−aT )
La descomposición resulta ser
(1 − e−aT ) 1 1
X(z) = −aT
= −
(z − 1)(1 − e ) z − 1 z − e−aT
Nótese que
1 z
= z −1
z−1 z−1
es decir corresponde a un escalón unitario retrasado, {1k−1 }. Aplicando al otro término
esta consideración se ve que corresponde con {e−aT (k−1) }. Por tanto:
Nótese que este tipo de términos aparecerá siempre en sistemas con retardo (en este
caso el retardo es 1).
24 FUNCIÓN DE TRANSFERENCIA EN Z
{uk} {yk}
{gk}
{yk } = a1 ·{yk−1 }+a2 ·{yk−2 }+· · ·+an ·{yk−n }+b0 ·{uk }+b1 ·{uk−1 }+· · ·+bm ·{uk−m }
Proceso de muestreo
3.1. Introducción
SINCRONÍA
MUESTREO
T
T
REF u(t)
C. D/A + SALIDA
COMPUTADOR PLANTA C. A/D
e(t) {ek} {uk} M.O.C. y(t)
PLANTA DISCRETIZADA
25
26 REPASO DE LA TRANSFORMADA DE FOURIER
de control sólo cambia en los instantes en los que la salida del computador se conecta
a la planta. Esos instantes son los intervalos de muestreo y a T se le llama tiempo de
muestro. La figura 3.2 ilustra el muestreo de una señal continua y la aplicación de un
mantenedor o retenedor de orden cero a la señal muestreada.
Z∞
F (ω) = f (t)e−jωt dt (3.3)
−∞
Z∞
1
f (t) = f (ω)ejωt dw (3.4)
2π
−∞
donde δ(t − kT ) vale 1 para t = kT y cero en otro caso. La señal muestreada x∗ (t) se
calculará como: ∞
X
∗
x (t) = x(t)δ(t − kT ) = x(t) · p(t) (3.5)
k=0
Figura 3.4: Espectro en frecuencia de una señal muestreada, observándose como se repite el espectro
original atenuado cada ωs = 2π
T .
T Filtro
1 |X( )|
|X*( )|
1/T
Figura 3.5: Uso de un filtro paso banda para obtener el espectro en frecuencia de la señal original a
partir del de la muestreada.
30 RECONSTRUCCIÓN DE UNA SEÑAL MUESTREADA
Nótese que este proceso es posible siempre que las repeticiones de X(ω) estén su-
ficientemente separadas. Las repeticiones aparecen cada 2π T
radianes por segundo, por
lo que si el tiempo de muestreo T crece la separación disminuirá, hasta que llegue un
momento en el que las repeticiones se ((montarán)) unas sobre otras, solapándose y
dejando irreconocible el espectro original (ver figura 3.6). En ese caso no serı́a posible
reconstruir la señal original.
Figura 3.6: Espectro en frecuencia de una señal muestreada con una frecuencia de muestreo insuficiente
(tiempo de muestreo demasiado alto) para poder reconstruir la original.
|X*( )|
1/T
c
0 c s
Figura 3.7: Repeticiones en frecuencia del espectro de una señal muestreada en las que el tiempo de
muestreo es el lı́mite para poder reconstruir.
la ((banda de frecuencias)) que ocupa el espectro de la señal original (es dedir que ωc )
se producirá el solape. Por tanto la condición que buscamos es que:
ωs ≥ 2ωc
CAPÍTULO 3. PROCESO DE MUESTREO 31
Evidentemente como ωs = 2π T
la condición para que el tiempo de muestreo sea tal que
permita la reconstrucción de la señal es:
π
T ≤ (3.9)
ωc
Como regla práctica este resultado no se lleva al lı́mite, pues los filtros distan mucho
de ser ideales, de manera que se suele usar un tiempo de muestreo entre 10 y 20 veces
más rápido que la constante de tiempo caracterı́stica del sistema continuo.
Este fenómeno se da bajo ciertas condiciones cuando se muestrea una señal a una
tasa inferior a la dictada por el teorema de Shannon y se intenta reconstruir después.
Es evidente que la reconstrucción no será perfecta. El enmascaramiento se da cuando
no sólo no se reconstruye la señal original si no que aparece reconstruida otra señal con
diferente frecuencia. Mas especificamente este problema se da cuando los valores que
se obtienen al muestrear de dos señales diferentes son identicos. Claramente si para dos
señales diferentes se obtienen los mismos valores muestreados, al reconstruir la señal
no se podrán diferenciar entre ellas, de ahı́ el termino ((aliasing)), pues una de ella es
alias de la otra.
32 OBTENCIÓN DE LA FUNCIÓN DE TRANSFERENCIA PULSADA
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
0 10 20 30 40 50 60
En el primer paso hay que tener en cuenta que la función de transferencia G(s) se
obtiene multiplicando la función de transferencia del sistema por la del mantenedor de
orden cero, que es:
1 − e−sT
H(s) =
s
G(s)
1. Dado G(s) obtener G0 (s) = s
.
Ejemplo 3.1
1 − e−sT 1
G(s) =
s s+a
El primer paso será obtener g(t):
½ ¾ ½ ¾ ½ −sT ¾
−1 1 e−sT −1 1 −1 e
g(t) = L − =L −L
s(s + a) s(s + a) s(s + a) s(s + a)
Nótese que en la expresión anterior, las funciones a las que se aplica la antitransformada
son la misma, excepto que la segunda es la primera retrasada un tiempo T ,por lo
34 OBTENCIÓN DE LA FUNCIÓN DE TRANSFERENCIA PULSADA
Luego
1© ª
{g1k } = 1 − e−akT
a
Aplicamos la transformada Z a lo anterior obteniéndose (en este caso se pueden usar
directamente las tablas):
· ¸
1 1 © −akT ª 1 z z
G1 (z) = Z {1} − Z e = −
a a a z − 1 z − e−aT
Y usando este resultado se puede calcular la función de transferencia pulsada del sis-
tema original:
µ ¶
−1 −1 z 1 1 1 1 − e−aT
G(z) = (1 − z )G1 (z) = (1 − z ) − =
a z − 1 z − e−aT a z − e−aT
Capı́tulo 4
Y (z) b0 + b1 z −1 + · · · + bm z −m
G(z) = =
U (z) 1 + a1 z −1 + · · · + an z −n
Supóngase asi mismo que la señal de entrada U (z) es otro cociente de polinomios, es
decir
Nu (z)
U (z) =
Du (z)
Teniendo en cuenta las expresiones anteriores en la ecuación (4.1) se tiene que
35
36 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
pk = signo(p)k · |p|k
y para que esa expresión tienda a cero debe cumplirse que el módulo de p sea menor
que uno (esto también es válido por supuesto para polos complejos). Este resultado lo
resumimos en la siguiente propiedad.
Propiedad 4.1 Un sistema descrito por una función de transferencia G(z) es estable
si y sólo si el módulo de todos sus polos es menor que uno, es decir si todos los polos
pertenecen estrictamente al cı́rculo unidad (cı́rculo de radio uno centrado en p = 0)
ilustrado en la figura 4.2.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 37
1 3
0.8
2.5
0.6
2
0.4
1.5
0.2
0 1
0 2 4 6 8 10 0 2 4 6 8 10
0<p<1 p>1
1 3
0.5 1
0 −1
−2
−0.5 −3
0 2 4 6 8 10 0 2 4 6 8 10
−1 < p < 0 p < −1
Figura 4.1: Evolución de una secuencia de la forma (4.3) para distintos valores de pi .
Si hay un polo fuera del cı́rculo unidad, es decir |pi | > 1, el término correspondiente
no se amortiguará con lo que el sistema no será estable.
¿ Que ocurre si tenemos un punto en el plano s con parte real distinta de cero ? Ese
punto tendrá la forma s = σ + jω, por lo que su correspondencia en el plano z será
z = eTm s = eTm (σ+jω) = eTm σ · eTm jω
lo que implica que
z = eTm σ ∠Tm ω
o lo que es lo mismo un número complejo con módulo eTm σ y argumento Tm ω. Si
consideramos que σ es constante y variamos ω, esto nos da un cı́rculo de radio eTm σ . Si
σ es mayor que cero, el punto en el plano s corresponde a la zona inestable. El cı́rculo
correspondiente en el plano z tendrı́a módulo mayor que la unidad, pues eTm σ > 1 para
σ > 0. Si σ es menor que cero, entonces es facil ver que eTm σ < 1, por que e estarı́a
elevado a un exponente negativo. Por tanto el cı́rculo asociado serı́a de modulo inferior
a la unidad y por tanto el punto en la región estable del plano s se transformarı́a en
un punto estable en el plano z.
A(z) = a0 z n + a1 z n−1 + · · · + an = 0
El criterio de Jury se basa en la construcción de una tabla, cuyas dos primeras filas
son los coeficientes de A(z) en orden directo e inverso, es decir
a0 a1 ··· an−1 an
an an−1 ··· a1 a0
Una tercera fila se calcula restando a los elementos de la primera fila los de la
segunda multiplicados cada uno por αn = aan0 , resultando
a0 a1 ··· an−1 an
an an−1 ··· a1 a0
an−1
0 an−1
1 ··· an−1
n−1 0
A continuación se añade una cuarta fila formada por los coeficientes de la tercera
fila (excepto el último) escritos en orden inverso:
a0 a1 ··· an−1 an
an an−1 ··· a1 a0
an−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0
Una quinta linea se obtiene restando a la tercera fila los elementos de la cuarta
an−1
n−1 , obteniendo:
multiplicados por αn−1 = an−1
0
40 ESTABILIDAD EN SISTEMAS DE CONTROL POR COMPUTADOR
a0 a1 ··· an−1 an
an an−1 ··· a1 a0
an−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0
an−2
0 an−2
1 ··· 0
El proceso continuarı́a añadiendo una sexta fila formada por los coeficientes de la
quinta (menos el último) escritos en orden inverso, etc . . . hasta que al final se obtendrı́a
una tabla con 2n + 1 filas:
a0 a1 ··· an−1 an
an an−1 ··· a1 a0
an−1
0 an−1
1 ··· an−1
n−1 0
an−1
n−1 an−1
n−2 ··· an−1
0
an−2
0 an−2
1 ··· 0
an−2
n−2 an−2
n−3 ···
..
.
a00
Teorema 4.1 Si a0 > 0 entonces el polinomio A(z) tiene todas las raices dentro del
cı́rculo unidad si y solo si todos los ak0 con k = 0, 1, 2, . . . , n − 1 son positivos. Además,
si ningún ak0 es cero, entonces el número de valores ak0 negativos es igual al número de
raices de A(z) que están fuera del cı́rculo unidad.
Estas condiciones son necesarias para la estabilidad, por lo que se pueden usar antes
de formar la tabla.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 41
Ejemplo 4.1
1 a1 a2
a2 a1 1
α2 = a2
1− a22 a1 (1 − a2 ) 0
a1 (1 − a2 ) 1 − a22
a1
α1 = 1+a2
a21 (1−a2 )
1 − a22 − 1+a2
0
De esta tabla se desprende que todas las raices estarán en el cı́rculo unidad si
1 − a22 > 0
a21 (1−a2 )
1 − a22 − 1+a2
> 0
En esta sección se verá los distintos tipos de respuesta transitoria de sistemas dis-
cretos en función de la posición de los polos. Como ya se ha visto en la sección 4.1,
los sistemas cuyos polos estén fuera del circulo unidad son inestables y sus respuestas
transitorias son inestables. Los que estén dentro del circulo unidad serán estables y la
respuesta se amortigua, mas o menos lentamente dependiendo de lo cerca que estén
de la frontera de estabilidad. Los que esten en la frontera de estabilidad producirán
una respuesta oscilatoria estable en el sentido de que permanece acotada pero no se
amortiguará. Las figuras 4.4 y 4.5 muestran las distintos casos para polos en el plano
42 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS
2.5
1.5
0.5
2
0
a
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
a
1
s y sus equivalentes en el plano z. Puede observarse que las respuestas la forma de las
respuestas se preserva al muestrear pero también como la posición de los polos cambia.
Por otra parte, es interesante también observar como va variando la respuesta im-
pulsional de un sistema en función de la localización de sus polos. En la figura 4.6 puede
observarse que en el caso de que los polos estén en el eje real, la respuesta impulsional
será oscilatoria en la parte negativa y no oscilatoria en la parte positiva. Como es lógico
fuera del cı́rculo unidad la respuesta es siempre inestable. Por otra parte si los polos son
complejos conjugados en el eje imaginario, puede observarse (ver figura 4.7) que son
siempre oscilatorios, tardándose más en amortiguar la respuesta conforme se acercan
a la frontera de la región de estabilidad. En el caso de sistemas en los que los polos
sean complejos conjugados y estén dentro del circulo unidad la respuesta será siem-
pre estable y oscilatoria (ver figura 4.8), salvo en el caso en el que la parte real sea
positiva, en el que conforme la parte imaginaria se hace más pequeña el caracter oscila-
torio disminuye. Finalmente, cuando los polos están en el cirtulo unidad la respuesta
es oscilatoria y no se amortigua, aunque la frecuencia de las oscilaciones depende de la
posición de los polos (ver figura 4.9). Fuera del circulo unidad la respuesta impulsional
será oscilatoria e inestable.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 43
Figura 4.4: Respuestas transitorias correspondientes a la localización de varios polos complejos con-
jugados en el plano s (a). Respuestas transitorias a los correspondientes polos discretos (b).
44 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS
Figura 4.5: Respuestas transitorias correspondientes a la localización de varios polos complejos conju-
gados en los lı́mites de las franjas periodicas del plano s (c). Respuestas transitorias a los correspon-
dientes polos discretos (d).
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 45
Figura 4.6: Respuestas ante un impulso para un sistema con un polo en el eje real.
46 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS
Figura 4.7: Respuestas ante un impulso para un sistema con polos conjugados en el eje imaginario.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 47
Figura 4.8: Respuestas ante un impulso para un sistema con polos conjugados dentro del circulo
unidad.
48 RESPUESTA TRANSITORIA: RELACIÓN CON EL DIAGRAMA DE POLOS
Figura 4.9: Respuestas ante un impulso para un sistema con polos conjugados en el circulo unidad.
CAPÍTULO 4. ANÁLISIS DE SISTEMAS MUESTREADOS 49
ek = rk − yk
e∞ = lı́m (1 − z −1 )ek
z→1
Supóngase que se aplica al sistema como entrada un escalón unitario, cuya transformada
Z es
z
R(z) =
z−1
El error en regimen permanente lo calcularemos como
Ejemplo 4.2
Sea el sistema
0,2
G(z) =
z − 0,9
El error en regimen permanente frente a una entrada escalón es
0,2
erpescalón = 1 − = −1
1 − 0,9
50 ERRORES EN REGIMEN PERMANENTE
Ejemplo 4.3
yk = ayk−1 + buk−1
determinar las condiciones para que tenga error en regimen permanente nulo frente a
una entrada escalón.
El caso más interesante es el de los errores para sistemas en bucle cerrado. Supong-
amos un sistema cuya función de transferencia en bucle abierto es G(z) y que se coloca
en la configuración usual de bucle cerrado con realimentación unitaria. En este caso se
cumple que
Y (z) = G(z)E(z) donde E(z) = R(z) − Y (z)
y de ahı́ se deduce que
1
E(z) = R(z) − G(z)E(z) que reordenando es igual a E(z) = R(z)
1 + G(z)
Nótese que Kp es en realidad la ganancia estática del sistema, por lo que según la
expresión anterior a mayor ganancia, menor error en régimen permanente. Por otra
parte si se desea que el error en regimen permanente frente a escalón sea cero, Kp debe
ser infinita. Eso se consigue si G(z) tiene un polo en z = 1. Este tipo de sistemas se
llama sistemas de tipo 1, y de manera más general se considera la siguiente definición:
z2 = eT s2 = eT s1 e2πj = z1 e2πj = z1
Luego
Este resultado tiene como consecuencia que sólo una determinada región del plano
s es la que resulta de interés. Esta región conocida como franja primaria es la que
está entre j ω2s y −j ω2s o lo que es lo mismo entre los números con fase 2T
2π
T = π y −π
(ver figura 4.10). Por encima y por debajo de esa franja tendrı́amos infinitas franjas
complementarias en la que los números tienen los mismos equivalentes en z que los
correspondientes en la franja primaria.
1. El punto s = 0 se transforma en z = e0 = 1.
ωs
2. El punto s = j ω2s se transforma en z = ej 2
T
= ejπ o lo que es lo mismo un punto
con módulo uno y fase π (180 grados).
ωs
3. Un punto s = −∞ + j ω2s se transforma en z = e−∞ ej 2
T
, es decir un número con
módulo tendiendo a cero y fase π.
ωs
4. Un punto s = −∞ − j ω2s se transforma en z = e−∞ e−j 2
T
, es decir un número
con módulo tendiendo a cero y fase −π.
Estos puntos equivalentes se muestran en la figura 4.11b. Si se repite esta análisis para
puntos equivalentes en otras franjas se verá que el resultado es el mismo.
s z
=
1 1 1
σ =∞
s z
j
1
1T
σ = −∞
donde ωs = 2π T
. La curva que describen estos números al variar ωn se llama espiral
logarı́tmica. Dicha curva, representada para frecuencias entre 0 ≤ ω ≤ 12 ωs y
diversos valores de ζ, se muestra en la figura 4.15. Para valores de la frecuencia
entre − 21 ωs ≤ ω ≤ 0, las curvas son imágenes especulares de 4.15.
El caso más común (y el que trataremos aquı́) es el de los controladores PID, cuya
expresión en tiempo continuo es
Zt
1 de(t)
u(t) = Kp e(t) + e(τ )dτ + Td
Ti dt
0
donde u(t) es la entrada que se aplica en el instante t y e(t) = y(t) − ref(t), es decir
la diferencia entre la salida y la referencia a seguir en t. Es importante destacar que el
resultado que se obtiene al aplicar la discretización es una aproximación del controlador
original. Para obtener dicha aproximación se pueden usar diferentes alternativas.
Comentario 5.1 En este tema se supone que el lector está familiarizado con la sin-
tonı́a de controladores PID continuo, que normalmente se suele hacer a partir de las
reglas de Ziegler-Nichols. Estas reglas se resumen en la siguiente tabla:
59
60 DISCRETIZACIÓN DE REGULADORES CONTINUOS
Kp Ti Td
τ
P Kτm
0,9τ
PI Kτm
3τm
1,2τ
PID Kτm
2τm 0,5τm
Esta aproximación se ilustra en la figura 5.1, en la que la suma del área de los rectángu-
los sombreados serı́a la aproximación de la integral.
e(t)
K-1 K t
Nótese que esta expresión puede ser retrasada en el tiempo de manera que:
à k−2
!
T X Td
uk−1 = Kp ek−1 + ei + (ek−1 − ek−2 )
Ti i=0 T
Repetir:
Zt k
X k
X
e(τ )dτ = e(i)T = T ei
0 i=1 i=1
e(t)
K-1 K t
y de ahı́ a:
uk − uk−1 = q0 ek + q1 ek−1 + q2 ek−2
con ³ ´
q0 = Kp 1 + TTi + TTd
¡ ¢
q1 = Kp −1 − 2 TTd
q2 = Kp TTd
En este caso se verá que el resultado es igual que si se sustituye s por
Tz
s,
z−1
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 63
Zt Xk Xk
e(i) − e(i − 1) ei + ei−1
e(τ )dτ = (e(i − 1 + )T = T
i=1
2 i=1
2
0
e(t)
K-1 K t
Como en los casos anteriores se llega a un resultado igual en forma, pero variando
el valor de los coeficientes:
³ ´
T Td
q0 = Kp 1 + 2Ti + T
³ ´
T Td
q1 = Kp 2T i
− 1 − 2 T
q2 = Kp TTd
Como se verá en la sección siguiente, esta aproximación se corresponde con una susti-
tución de s por
2 z−1
s,
T z+1
64 CORRESPONDENCIA S ↔ Z PARA LAS APROXIMACIONES DE LA INTEGRAL
U (S) a
= (5.3)
E(S) s+a
R
kT
du(t)
u(kT ) = dt
dt
0
R
(k−1)T
du(t) R
kT
du(t)
= dt
dt + dt
dt
0 (k−1)T (5.4)
R
kT
= u((k − 1)T ) + (−au(t) + ae(t)) dt
(k−1)T
= u((k − 1)T ) + A
En este caso se cumple que u(t) = u((k − 1)T ) en todo el intervalo de integración
de A por lo que:
ZkT
A= (−au((k − 1)T ) + ae((k − 1)T )) dt = (−au((k − 1)T ) + ae((k − 1)T )) T
(k−1)T
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 65
e(t)
K t
Aplicando la transformada Z:
U (z) T az −1 Ta a
= −1 −1
= = z−1
E(z) 1 − z + T az z − 1 + Ta T
+a
por lo que comparando con (5.3) se tiene que
z−1
s,
T
o tambien
z , Ts + 1
que lleva a:
U (z) aT a
= = 1−z −1
E(z) 1 + aT − z −1 T
+a
66 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
Figura 5.6: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación rectangular hacia delante (sombreada).
la región de estabilidad del plano z pero tambien un infinito puntos del plano z
fuera de dicha región, por lo que un controlador estable en el plano s no tiene
por que resultar en un controlador estable en el plano z cuando se aplica esta
aproximación.
68 ESTABILIDAD DE LAS APROXIMACIONES DE LA INTEGRAL
Figura 5.7: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación bilineal (sombreada).
0,5 1
Figura 5.8: Transformación en el plano z de la región de estabilidad del plano s al aplicar la aproxi-
mación rectangular hacia atrás (sombreada).
Ejemplo 5.1
La aproximación es:
z−1
s,
T
por lo que sustituyendo en Gc (s) queda
1 1
Ĝc (z) = z−1 2
= z 2 −2z+1 2z−2
( T ) +2 z−1
T
+1 T2
+ T +1
1 1
= 100z 2 −200z+100+20z−20+1
= 100z 2 −180z+81
Y (z) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n
G(z) = =
U (z) 1 + a1 z −1 + a2 z −2 + · · · + an z −n
resultando en este caso:
0,01z −2
Ĝc (z) =
1 − 1,8z −1 + 0,81z −2
y de ahı́ se obtiene que:
1. Repetir:
a) Esperar(T).
b) Leer(ek ).
c) Calcular uk según la expresión (5.5).
d ) Aplicar uk .
e) Actualizar: uk−2 = uk−1 , uk−1 = uk , ek−2 = ek−1 , ek−1 = ek .
5.4.1. Causalidad
la forma z p (con p > 0) que equivalen a términos de la señal de error ek+p , es decir
términos en el futuro.
y de ahı́
grado(D(z)) − grado(N (z)) ≤ grado(Dd (z)) − grado(Nd (z)) (5.7)
Esta desigualdad se traduce en la siguiente condición impuesta sobre la función de
transferencia de bucle cerrado deseada Gd (z):
Esto implica que si el sistema tiene un retardo la función deseada de bucle cerrado ha
de tener al menos el mismo retardo (por que la planta no puede reaccionar antes de
que cambie la referencia).
1 + C(z)G(z) = 0
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 73
Es conocido que las raices de esta ecuación son los polos de bucle cerrado del sistema.
Esta ecuación se puede reescribir como:
Nc (z) N (z)
1+ =0
Dc (z) D(z)
que equivale a
Dc (z)D(z) + Nc (z)N (z) = 0 (5.8)
El análisis anterior se refuerza por el hecho de que si bien es posible que analı́tica-
mente se pueda cancelar un cero inestable con un polo inestable y viceversa, en la
práctica por cambios y tolerancias en la dinámica de la planta o del controlador es
muy dificil lograr tal cancelación o mantenerla en el tiempo. Por lo tanto se acabarı́a
teniendo un cero y un polo inestable.
1. Todos los polos inestables de G(z) deben aparecer como ceros de 1 − Gd (z). La
razón de esto es para evitar que en Nc (z) no aparezcan los polos inestables de
G(z), que si se cumple esta condición serı́an cancelados por 1 − Gd (z).
2. Todos los ceros inestables de G(z) deben aparecer como ceros de Gd (z). Cumpliéndose
esta condición se evita que en Dc (z) aparezcan los ceros inestables de G(z), que
serı́an anulados por Gd (z).
Nótese que estas condiciones se imponen sobre Gd (z) y no sobre G(z), que evidente-
mente viene dada por el proceso y no se puede modificar.
74 MÉTODO DE DISEÑO DIRECTO
por lo que el error en régimen permanente será (usando el teorema del valor final):
Dependiendo de la referencia que se desee seguir con error en régimen permanente nulo
se tendrán diferentes condiciones a imponer sobre Gd (z):
Gd (1) = 1
Ejemplo 5.2
Sea
1
G(z) =
z+2
Se pide hallar el controlador C(z) tal que el sistema en bucle cerrado tenga sus polos
en z = 0 y z = 0,8 y que el error en régimen permanente ante escalón sea cero.
En primer lugar se verá que forma ha de tener Gd (z). Se ha de cumplir que el exceso
de polos sobre ceros de Gd (z) sea mayor o igual que el de G(z), que en este caso es 1.
Por tanto, Gd (z) tendrá como forma:
b0 z + b1
Gd (z) =
z(z − 0,8)
De esta forma ya están especificados los polos y se cumple que el exceso de polos es
igual.
En segundo lugar hay que imponer las condiciones de estabilidad interna. G(z) tiene
un polo inestable en z = −2 por lo que 1 − Gd (z) tiene que tener un cero en z = −2.
Calcularemos primero 1 − Gd (z):
b0 z + b1 z(z − 0,8) − b0 z − b1
1 − Gd (z) = 1 − =
z(z − 0,8) z(z − 0,8)
−2(−2 − 0,8) + b0 2 − b1
1 − Gd (−2) = =0
−2(−2 − 0,8)
b0 + b1 b0 + b1
= = 1 −→ b0 + b1 = 0,2 −→ b1 = −b0 + 0,2 (5.10)
1(1 − 0,8) 0,2
b0 = −1,8 b1 = 2
76 CONTROL EN UN NÚMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
Luego
U (z) 2(z −1 − 0,9)
C(z) = =
E(z) 1 − z −1
Por tanto:
Veremos como se diseña el controlador en este caso, partiendo de que Gd (z) será
Nd (z)
Gd (z) =
zN
CAPÍTULO 5. DISEÑO DE CONTROLADORES DISCRETOS 77
Por otra parte la función de transferencia entre la referencia y la salida del controlador
Gu (z) = UR(z)
(z)
debe tener tambien una respuesta impulsional finita, de manera que
D(z) Nd (z)
Gu (z) =
N (z) z N
podemos tomar
Nd (z) = M (z)N (z)
donde M (z) nos da más grados de libertad. Sabiendo entonces que Nd (z) = M (z)N (z),
se lleva a (5.11) de manera que
Siendo una condición es que el error en régimen permanente ante escalón sea nulo,
se puede elegir M (z) de manera que Gd (1) = 1 es decir
M (z)N (z) 1 1
Gd (z) = N
−→ M (1) · N (1) = 1 −→ M (1) = =P
z N (1) bi
D(z) · m
C(z) =
zN − m · N (z)
Ejemplo 5.3
Sea
b0 z + b1
G(z) =
(z − a)
78 CONTROL EN UN NÚMERO FINITO DE INTERVALOS. CONTROL DEAD-BEAT
79
80OBTENCIÓN DE LA REPRESENTACIÓN DE EN ESPACIO DE ESTADOS DE SISTEMAS DISCRETOS
x(k+1) x(k) +
u(k) +
H +
z-1I C +
y(k)+a1 y(k−1)+a2 y(k−2)+· · ·+an y(k−n) = b0 u(k)+b1 u(k−1)+· · ·+bn u(k−n) (6.2)
Es bien conocido de anteriores temas de la asignatura que este sistema puede ser
descrito por la siguiente función de transferencia:
Y (z) b0 + b1 z −1 + b2 z −2 + · · · + bn z −n
G(z) = = (6.3)
U (z) 1 + a1 z −1 + a2 z −2 + · · · + an z −n
A continuación se expondrán dos de los métodos disponibles para obtener la repre-
sentación en espacio de estados del sistema descrito por (6.3).
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 81
con:
(b1 − a1 b0 )z −1 + (b2 − a2 b0 )z −2 + · · · + (bn − an b0 )z −n
Ỹ (z) = (6.7)
1 + a1 z −1 + a2 z −2 + · · · + an z −n
Por otra parte, teniendo en cuenta la expresión de Ỹ (z) se puede definir un Q(z) que
cumple que:
Ỹ (z) U (z)
Q(z) = = (6.8)
(b1 − a1 b0 )z −1 + · · · + (bn − an b0 )z −n 1 + a1 z + · · · + an z −n
−1
Por otra parte, podemos reescribir también (6.10) teniendo en cuenta las igualdades
de (6.11) de manera que:
Ỹ (z) = (b1 − a1 b0 )Xn (z) + (b2 − a2 b0 )Xn−1 (z) + · · · + (bn − an b0 )X1 (z) (6.16)
Esto se puede llevar a la ecuación (6.6) de manera que antitransformando se obtiene:
y(k) = (bn − an b0 )x1 (k) + (bn−1 − an−1 b0 )x2 (k) + · · · + (b1 − a1 b0 )xn (k) + b0 u(k) (6.17)
lo cual se puede escribir como:
x1 (k)
x2 (k)
£ ¤
..
y(k) = bn − an b0 bn−1 − an−1 b0 · · · b1 − a1 b0 . + b0 u(k) (6.18)
xn−1 (k)
xn (k)
Las ecuaciones (6.15) y (6.18) forman una representación en espacio de estados del
sistema descrito por la función de transferencia (6.3) que se denomina forma canónica
controlable.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 83
Nótese que según esta definición de las variables de estado la expresión (6.20) se puede
reescribir en forma condensada como:
Antitransformando lo anterior:
con C̃ = CP y D̃ = D. Ası́ pues, las ecuaciones (6.27) y (6.28) describen una repre-
sentación del sistema en espacio de estados que es diferente de la original pero equiva-
lente a ella1 .
Iterando las ecuaciones del estado para un sistema LTI como (6.1) a partir de k = 0:
1
Obsérvese que en la ecuación (6.28) el estado aparece con ˜, indicando que el vector de estados
es diferente al original. La salida sin embargo si coincide con la del sistema original pues ambas
representaciones son equivalentes.
86 RESOLUCIÓN DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
Obsérvese que x(k) depende del estado inicial y de los valores de la entrada. Por otra
parte, la salida se puede expresar como:
k−1
X
k
y(k) = CG x(0) + C Gk−j−1 Hu(j) + Du(k) (6.30)
j=0
Considérese la ecuación:
x(k + 1) = Gx(k) (6.31)
En este caso, al no tener señal de entrada la solución de la ecuación viene dada por:
x(k) = Ψ(k)x(0)
con:
Ψ(k + 1) = GΨ(k) Ψ(0) = I
es decir:
Ψ(k) = Gk
k−1
X
x(k) = Ψ(k)x(0) + Ψ(k − j − 1)Hu(j) (6.32)
j=0
k−1
X
= Ψ(k)x(0) + Ψ(j)Hu(k − j − 1)
j=0
lo que lleva a:
k−1
X
y(k) = CΨ(k)x(0) + C Ψ(j)Hu(k − j − 1) + Du(k) (6.33)
j=0
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 87
y antitransformando:
© ª © ª
x(k) = Z−1 (zI − G)−1 z x(0) + Z−1 (zI − G)−1 HU (z)
k−1
X
k −1
© −1
ª © ª
G =Z (zI − G) z y Gk−j−1 Hu(j) = Z−1 (zI − G)−1 HU (z) (6.34)
j=0
Ejemplo 6.1
Se pide calcular Ψ(k) = GK = Z−1 {(zI − G)−1 z}. En primer lugar calculamos:
· ¸
−1 z −1
(zI − G) =
0,16 z + 1
" #
z+1 1
(z+0,2)(z+0,8) (z+0,2)(z+0,8)
= −0,16 z
(z+0,2)(z+0,8) (z+0,2)(z+0,8)
" #
4 1
3 z+0,2
− 31 z+0,8
1 5 1
3 z+0,2
− 53 z+0,8
1
= (6.35)
− 0,8 1
3 z+0,2
+ 0,8 1
3 z+0,8
− 13 z+0,2
1
+ 43 z+0,8
1
88 RESOLUCIÓN DE LAS ECUACIONES DEL ESPACIO DE ESTADOS
y de ahi, antitransformando:
· ¸
− 176
(−0,2)k + 22
9
(−0,8)k + 25
18
x(k) = 3,4 17,6 7
6
(−0,2)k − 9 (−0,8)k + 18
Se observa en el ejemplo 1.1 que gran parte del cálculo se emplea en calcular (zI −
−1
G) . Esto puede ser muy engorroso cuando el orden de las matrices involucradas es
superior a 3. A continuación se detalla un procedimiento alternativo para esos casos.
En primer lugar es conocido que, por definición de matriz inversa:
Adj(zI − G)
(zI − G)−1 =
|zI − G|
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 89
H1 = G + a1 I
H2 = GH1 + a2 I
..
.
Hn−1 = GHn−1 + an−1 I
Hn = GHn−1 + an I = 0
a1 = −traza(G)
1
a2 = − traza(GH1 )
2
1
a3 = − traza(GH2 )
3
..
.
1
an = − traza(GHn−1 )
n
Ejemplo 6.2
|zI − G| = z 2 + a1 z + a2
Adj(zI − G) = Iz + H1
donde:
a1 = −traza(G)
H1 = G + a 1 I
a2 = − 12 traza(GH1 )
La traza de G es igual a 1, luego a1 = 1 y de ahı́ se obtiene que H1 = G + I, con lo
que se puede calcular:
µ· ¸· ¸¶
1 0 1 1 1
a2 = − traza = 0,16
2 −0,16 −1 −0,16 0
90 DISCRETIZACIÓN DE LAS ECUACIONES DE ESTADO CONTINUAS
Finalmente: · ¸
z+1 1
−0,16 z
(zI − G)−1 =
(z + 0,2)(z + 0,8)
que evidentemente es el mismo resultado obtenido en el ejemplo 1.1. ¤
ẋ = Ax + Bu
(6.37)
y = Cx + Du
donde puede observarse que las matrices G y H dependen del tiempo de muestreo T .
Para determinar el valor de G(T ) y H(T ) usaremos la solución de la ecuación de estado
en tiempo continuo:
Z t
At At
x(t) = e x(0) + e e−Aτ Bu(τ )dτ (6.39)
0
Se tiene que:
Z (k+1)T
A(k+1)T A(k+1)T
x((k + 1)T ) = e x(0) + e e−Aτ Bu(τ )dτ (6.41)
0
Z kT
AkT AkT
x(kT ) = e x(0) + e e−Aτ Bu(τ )dτ (6.42)
0
donde λ = T − τ . Sea:
G(T ) = e³AT
R T Aλ ´ (6.45)
H(T ) = 0
e dλ B
entonces la ecuación (6.44) queda:
que es la ecuación a la que tenı́amos que llegar y por tanto se ha obtenido la ecuación
de estado continuo discretizada.
En el caso particular (aunque muy común, y por tanto interesante) de que A sea
una matriz invertible se tiene que:
¡ ¢
H(T ) = eAT − I A−1 B
Existen diferentes métodos para calcular eAT . Quizás el más sencillo de aplicar
cuando se trata de calcular la exponencial con papel y lápiz sea utilizar la equivalencia:
© ª
eAt = L−1 (sI − A)−1 (6.48)
92 DISCRETIZACIÓN DE LAS ECUACIONES DE ESTADO CONTINUAS
donde L−1 indica la transformada de Laplace inversa. Desde el punto de vista práctico
el método consistirı́a en calcular (sI −A)−1 (nótese que puede emplearse el método para
calcular (zI − G)−1 dado en la sección 6.4.3.1) y aplicar a posteriori la transformada
de Laplace inversa a cada elemento de la matriz.
Ejemplo 6.3
Ejemplo 6.4
Luego:
1−e−aT
x(k + 1) = e−aT x(k) + a
u(k)
y(k) = x(k)
6.6.1. Controlabilidad
Lema 6.1 Dado un sistema LTI de orden n representado por (6.49), es condición
necesaria y suficiente para que el sistema sea completamente controlable que el rango
de la matriz de controlabilidad (6.51) sea igual a n.
Comentario 6.1 El sistema que cumpla la condición establecida en el lema 6.1 po-
drá alcanzar cualquier estado como máximo en n periodos de muestreo, pero sólo si no
existen restricciones sobre la señal de control. En caso contrario, se tardarı́a más.
Nótese que en esta segunda forma de la ecuación de salida, la presencia del término
Du(kT ) no empeora la controlabidad del sistema, sino justo lo contrario. De hecho, al
introducirse una columna extra en la matriz de controlabilidad (la correspondiente a
D), se puede dar el caso que se pase de tener m−1 columnas linealmente independientes
a tener m, por lo que se lograrı́a la controlabilidad de la salida. Dicho de otra manera,
encontrar m vectores linealmente independientes siempre será igual o más fácil entre
n + 1 vectores que entre sólo n de esos vectores.
6.6.3. Observabilidad
y de ahı́
y(kT ) = CGk x(0)
se pueden determinar
x1 (0), x2 (0), · · · , xn (0)
y(0) = Cx(0)
y(T ) = CGx(0)
..
.
y((n − 1)T ) = CGn−1 x(0)
Finalmente, se enuncia a continuación una propiedad que será útil para poder obte–
ner la representación de un sistema en forma canónica, sin que por ello pueda argu-
mentarse que existe la posibilidad de variar la controlabilidad u observabilidad del
mismo.
Propiedad 6.1 Sea un sistema LTI dado en la forma usual (6.1), cuya matriz de
controlabilidad es M y la de observabilidad es N . Si se define una transformación
como (6.26) con:
Ĝ = P −1 GP
Ĥ = P −1 H
Ĉ = CP
siendo P una matriz invertible, entonces las matrices de controlabilidad y observabilidad
del sistema equivalente tienen el mismo rango que M y N .
donde los coeficientes ai son los coeficientes de la ecuación caracterı́stica del sistema,
es decir:
|zI − G| = z n + a1 z n−1 + · · · + an−1 z + an = 0
x(k) = T x̂(k)
Entonces el sistema:
x̂(k + 1) = Ĝx̂(k) + Ĥu(k)
(6.61)
y(k) = Ĉx(k) + D̂u(k)
Q = (W N ∗ )−1
con h i
.. . .
N= C ∗
. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
En esta sección se presentará una estrategia de control que permite elegir la situación
de los polos de bucle cerrado del sistema, mediante la realimentación lineal del vector
de estados. Se verá que la condición necesaria para que esto se pueda conseguir es que
el sistema sea controlable. Por otra parte, se asumirá que todas las variables de estados
son accesibles, es decir, podemos medirlas directamente sin tener que estimarlas por
otros procedimientos.
+ x(k+1) x(k)
H z-1I
+
u(k)
-K
Figura 6.2: Diagrama de bloques de un sistema controlado por una realimentación del vector de
estados.
Lema 6.2 Se demuestra que la condición necesaria y suficiente para que por medio de
una realimentación del vector de estados puedan escogerse los polos de bucle cerrado
(es decir, los autovalores de (G − HK)) es que el sistema en bucle abierto sea de estado
completamente controlable. Si esta condición no se cumple, no se podrán elegir todos
los polos de bucle cerrado.
Sean µ1 ,µ2 ,· · ·,µn los valores deseados para los polos de bucle cerrado, es decir,
para los autovalores de (G − HK). Aquellos que sean complejos siempre irán por pares
conjugados. La ecuación caracterı́stica del sistema en bucle abierto es:
|zI − G| = z n + a1 z n−1 + · · · + an = 0
Se define a continuación:
£ ¤
K̂ = KT = δn δn−1 · · · δ1
Entonces:
0 0 ··· 0
0
£ 0 0 ··· 0
0 ¤ .. .. ..
Ĥ K̂ = .. δ δ
n n−1 · · · δ1 = . . .
.
0 0 ··· 0
1
δn δn−1 · · · δ1
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 101
α1 = a1 + δ1
α2 = a2 + δ2
..
.
αn = an + δn
−1
K = K̂T
£ ¤
= h δn δn−1 · · · δ1 T −1 i (6.62)
. . .
αn − an ..αn−1 − an−1 .. · · · ..α1 − a1 T
−1
=
que coloca los polos de bucle cerrado del sistema en los valores deseados. Nótese
que si el sistema en bucle abierto viene dado en forma canónica controlable, se verifica
que T = I = T −1 .
102 COLOCACIÓN DE POLOS MEDIANTE REALIMENTACIÓN DEL VECTOR DE ESTADOS
donde:
φ(G) = Gn + α1 Gn−1 + · · · + αn−1 G + αn I
Los coeficientes αi se calcularán como en el apartado anterior.
Finalmente, otro procedimiento que puede ser útil para sistemas de bajo orden
consiste en tomar £ ¤
K = k1 k2 · · · kn
plantear la ecuación caracterı́stica en función de los ki :
|zI − G + HK| = 0
Este es un tipo de control que resulta ser un caso particular del control por colo-
cación de polos.
Definición 6.4 Dado un sistema LTI, entenderemos como control dead-beat aquel que
consigue llevar el estado a cero en como máximo n intervalos de muestreo, donde n es
el orden del sistema.
Para obtener este tipo de control se deben especificar los polos de bucle cerrado con-
forme a lo que se establece en el siguiente lema.
Lema 6.3 Se demuestra que si se escogen los polos de bucle cerrado de manera que
estén todos en el origen (es decir, todos los autovalores de (G − HK) igual a cero) se
consigue un control dead-beat.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 103
Esto se lleva a la práctica con una matriz de realimentación del vector de estados
calculada mediante: £ ¤
K = −an −an−1 · · · −a1 T −1
Este tipo de control no goza de una reputación excesivamente favorable porque habit-
ualmente se precisa de una señal de control de amplitud muy grande para obtener la
respuesta dead-beat. De hecho en este tipo de control, el único parámetro de diseño
que se ha de elegir es el tiempo de muestreo. Si éste es muy pequeño, los n intervalos
de muestreo supondrán un tiempo total muy corto, de manera que para llevar el estado
a cero partiendo de un estado inicial arbitrario se precisará un valor muy alto de la
señal.
Ejemplo 6.5
Sea un sistema
x(k + 1) = Gx(k) + Hu(k)
con · ¸ · ¸
0 1 0
G=
−0,16 −1 1
Se desea determinar una matriz K, tal que los polos de bucle cerrado sean el par
complejo conjugado z = 0,5 ± j0,5.
En primer lugar hay que determinar la controlabilidad del sistema. Para ello, se
forma la matriz de controlabilidad:
h i · 0 1 ¸
..
H . GH = 1 −1
cuyo rango es igual a dos (basta comprobar que su determinante es distinto de cero),
por lo que el sistema es controlable y se puede proceder a calcular K. La ecuación
caracterı́stica de bucle cerrado deseada es:
por tanto, los coeficientes αi son en este caso α1 = −1 y α2 = 0,5. Por otra parte, la
ecuación caracterı́stica de bucle abierto del sistema es:
¯ ¯
¯ z −1 ¯
|zI − G| = ¯¯ ¯
0,16 z + 1 ¯
por lo que los coeficientes ai son a1 = 1 y a2 = 0,16. A partir de aquı́ se puede aplicar
cualquiera de los métodos explicados anteriormente.
104 COLOCACIÓN DE POLOS MEDIANTE REALIMENTACIÓN DEL VECTOR DE ESTADOS
Método 1
h i
.
K= α2 − a2 .. α1 − a1 T −1
Obsérvese que el sistema viene dado en forma canónica controlable, por lo que T = I
y por tanto: £ ¤
K = 0,34 −2
donde φ(G) es
φ(G) = G2 − G + 0,5I
· ¸ · ¸ · ¸
−0,16 −1 0 1 0,5 0
= − +
0,16 0,84 −0,16 −1 0 0,5
· ¸
0,34 −2
=
0,32 2,34
por lo que
· ¸−1 · ¸
£ 0 1 ¤ 0,34 −2
K = 0 1
£ 1¤ −1 0,32 2,34
= 0,34 −2
Método 3
Este procedimiento es apropiado para sistemas de bajo orden como el que nos ocupa.
En primer lugar, se toma K = [k1 k2 ] y se formula la ecuación caracterı́stica de bucle
cerrado en función de K:
¯· ¸ · ¸ · ¸ ¯
¯ z 0 0 1 0 £ ¤¯
|zI − G + HK| = ¯ ¯ − + k1 k2 ¯¯
¯ 0 z −0,16 −1
¯ 1
¯ z −1 ¯
= ¯¯ ¯
0,16 + k1 z + 1 + k2 ¯
= z 2 + (1 + k2 )z + k1 + 0,16 = 0
1 + k2 = −1
k1 + 0,16 = 0,5
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 105
de donde se obtiene que k1 = 0,34 y k2 = −2, por lo que se tiene ya el valor de K, que
evidentemente coincide con el obtenido mediante los dos métodos anteriores.
Ejemplo 6.6
Calcular para el mismo sistema del ejemplo anterior la matriz K que conlleva un
control dead-beat, y comprobarlo calculando la evolución del sistema a partir de un
estado inicial arbitrario.
En este caso: £ ¤ £ ¤
K= −a2 −a1 T −1 = −0,16 −1
Vamos a verificar que el control es dead-beat. Para ello, obtenemos la ecuación de
estado del sistema en bucle cerrado:
· ¸ · ¸· ¸ · ¸ · ¸
x1 (k + 1) 0 1 x1 (k) 0 £ ¤ x1 (k)
= + 0,16 1
x2 (k + 1) −0,16 − 1 x (k) 1 x2 (k)
· ¸· ¸ 2
0 1 x1 (k)
=
0 0 x2 (k)
luego este control lleva al estado a cero en 2 pasos y es efectivamente un control dead-
beat.
En el control por colocación de polos se asume que el estado se puede medir direc-
tamente. En ocasiones, sin embargo, puede que esta suposición no se cumpla y todas
106 OBSERVADORES DEL ESTADO
o algunas de las variables de estado no puedan ser medidas. Es decir, puede que haya
variables de estado no accesibles. En cualquier caso, para poder controlar el sistema se
deberán estimar los valores de esas variables de estado no accesibles. Este proceso de
estimación es lo que se conoce como observación.
1. Observador del estado completo. Es aquél que estima todas las variables de esta-
do.
3. Observador de orden reducido. Este tipo de observador estima todas las variables
no accesibles y algunas de las accesibles.
En esta asignatura nos centraremos en los dos primeros tipos de observadores. Como
en el caso de la colocación de polos, formularemos en primer lugar las condiciones para
que se pueda llevar a cabo la observación.
Lema 6.4 Condición necesaria y suficiente para la observación del estado. Dado un
sistema LTI, se puede determinar x(k + 1) a partir de y(k), y(k − 1),· · ·,y(k − n + 1) y
u(k),u(k − 1),· · ·,u(k − n + 1), donde n es el orden del sistema, sı́ y sólo sı́, el sistema
es completamente observable.
Si se dispone de una aproximación del estado en k, que denotaremos x̂(k), ésta evolu-
cionará según la dinámica del sistema
Si las condiciones iniciales son las mismas, es decir, si x(0) = x̂(0) entonces se verifica
que x(k) = x̂(k). Sin embargo, si las condiciones iniciales son diferentes entonces, de
manera general, x(k) 6= x̂(k). Podemos pues, definir el error de estimación en k como:
e(k + 1) = Ge(k)
Por tanto, si el sistema es estable, la propia dinámica del sistema hace que la aproxi-
mación del estado tienda al valor real del mismo. Esto quiere decir que podrı́amos usar
la propia ecuación del sistema para obtener en cualquier instante k una aproximación
del estado, cuyo error irı́a decayendo a lo largo del tiempo. Esta convergencia al valor
real, sin embargo, puede ser muy lenta, y por otra parte no siempre se tratará con
sistemas estables. Por tanto, esta estrategia no es muy aconsejable.
Nótese que en el esquema que se ha presentado, no se hace uso de la salida del sis-
tema, que siempre será accesible. Esto puede ser aprovechado para mejorar el rendimien-
to del observador introduciéndose un término corrector, de manera que la ecuación para
obtener la aproximación del estado para el instante k + 1 serı́a:
Sea un sistema LTI observable (6.64) con una ley de control por realimentación
negativa del vector de estados,
u(k) = −Kx(k)
siendo el estado del sistema x(k) no accesible pero sı́ observable. Por tanto, podemos
sustituir el valor del estado por una aproximación de manera que
u(k) = −K x̂(k)
de lo que puede observarse que los polos del observador determinan la dinámica del
error. Si G − Ke C es estable, el error convergerá a cero independientemente de la
estimación del estado inicial x̂(0).
Finalmente, es evidente que interesa que la estimación del estado converja rápida-
mente al valor real de dicho estado. Una manera evidente de lograr esto es colocar todos
los polos del observador en cero, de manera que se consiga que el error de aproximación
muestre una respuesta dead-beat. Esto se consigue eligiendo de manera apropiada Ke .
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 109
G
u(k)
-K
x̂(k)
u(k) y(k)
OBSERVADOR
Figura 6.3: Diagrama de bloques de un sistema LTI controlado mediante una realimentación del vector
de estados que estima el estado con un observador.
x̂(k)
Ke
6.9.2.1. Cálculo de Ke
El procedimiento para elegir Ke de manera que se coloquen los polos del observador
en unos valores especificados es análogo al de la colocación de polos vista en la sección
6.8. Si la ecuación caracterı́stica deseada del observador es:
z n + α1 z n−1 + · · · + αn−1 z + αn = 0
y la del sistema es
z n + a1 z n−1 + · · · + an−1 z + an = 0
entonces
αn − an
αn−1 − an−1
Ke = (W N ∗ )−1 .. (6.67)
.
α1 − a1
donde
an−1 an−2 · · · a1 1
an−2 an−3 ··· 1 0
h i
.. .. .. .. . . .
W =
. . . .
N= C ∗ .. G∗ C ∗ .. · · · .. (G∗ )n−1 C ∗
a1 1 ··· 0 0
1 0 ··· 0 0
es decir, la misma matriz W empleada en la colocación de polos y la matriz de ob-
servabilidad3 . Nótese que si el sistema viene indicado en forma canónica observable
(W N ∗ )−1 = I. También puede emplearse la fórmula de Ackermann, que para este caso
es: −1
C 0
CG 0
Ke = φ(G) .. ..
. .
n−1
CG 1
donde
φ(G) = Gn + α1 Gn−1 + · · · + αn−1 G + αn I = 0
Ejemplo 6.7
z 2 = 0 ⇒ α1 = α2 = 0
A continuación se calculará Ke :
· ¸
∗ −1 −1
Ke = (W N )
2
con · ¸ · ¸ · ¸
1 1 a1 1 −2 1
N= W = =
0 1 1 0 1 0
resultando · ¸
2
Ke =
1
Vamos a comprobar que el error cae a cero según una respuesta dead-beat. Sea
· ¸ · ¸
a1 a2
x(0) = x̂(0) =
b1 b2
entonces · ¸ · ¸
a1 − a2 a
e(0) = x(0) − x̂(0) = =
b1 − b2 b
además se tiene que · ¸
−1 1
G − Ke C =
−1 1
el error evoluciona, por tanto, según
· ¸ · ¸· ¸
e1 (k + 1) −1 1 e1 (k)
=
e2 (k + 1) −1 1 e2 (k)
por lo que se calcula la evolución de este error:
· ¸ · ¸· ¸
e1 (1) −1 1 a
=
e2 (1) −1 1 b
· ¸
−a + b
=
−a + b
· ¸ · ¸· ¸
e1 (2) −1 1 −a + b
=
e2 (2) −1 1 −a + b
· ¸
0
=
0
luego, tal y como se pretendı́a, la estimación del vector de estados coincide con el
valor real de dicho vector dos tiempos de muestreo después de iniciarse la estimación.
Finalmente, la ecuación del observador es:
· ¸ · ¸· ¸ · ¸ · ¸
x̂1 (k + 1) −1 1 x̂1 (k) 0,5 2
= + u(k) + y(k)
x̂1 (k + 1) −1 1 x̂1 (k) 1 1
¤
planta coincida con la dinámica real de la misma) este término corrector deberı́a tomar
un valor alto. Sin embargo, si la señal de salida está contaminada por perturbaciones y
ruido en general procedente, por ejemplo, de los sensores de medida, entonces la señal
de salida no es fiable en el sentido de que no proviene únicamente de la dinámica real de
la planta. Por tanto, en estas situaciones el término corrector deberı́a ser más pequeño.
Al seleccionar Ke se debe pensar no sólo en reducir el error en base a una corrección
enérgica, sino que hay que tener en cuenta que cuando hay ruidos o perturbaciones,
una ganancia Ke alta no contribuirı́a a reducir el error, porque las correcciones no irı́an
en la ((dirección)) correcta. Es decir, hay que llegar a un compromiso entre la velocidad
de respuesta y la sensibilidad a ruidos y perturbaciones.
Cabe preguntarse si al usar el observador, se colocan los polos del sistema en el sitio
que se pretende al calcularse la ganancia de realimentación del vector de estado K.
¿Que efectos tiene el observador sobre los polos de bucle cerrado? Para estudiar esto,
se analizará el efecto que tiene la adición del observador sobre la ecuación caracterı́stica
del sistema en bucle cerrado.
e(k + 1) = (G − Ke C)e(k)
es decir,
|zI − G + HK||zI − G + Ke C| = 0
Dado que las raı́ces de esta ecuación son las raı́ces de cada uno de los dos determinantes
que aparecen, esto implica que los polos del sistema completo son los polos del sistema
en bucle cerrado, tal y como se han colocado mediante el diseño de K junto con los
polos del observador. Por tanto, la colocación de polos y la observación son dos cosas
independientes, porque la adición del observador no modifica los polos de bucle cerrado
del sistema tal y como se eligieron al diseñar K. Por tanto:
Los polos del sistema se eligen para que se cumplan las especificaciones del sistema
de control.
Los polos del observador se escogen de manera que la respuesta del observador
sea más rápida que la del sistema (para que esta última resulte dominante),
tı́picamente 4 o 5 veces más rápida.
Supóngase que x(k) es un n-vector y que y(k) es un m-vector. Como las m salidas
son combinaciones lineales del estado, hay m variables que no necesitan ser estimadas.
El observador de orden mı́nimo será el que estime las n − m restantes.
Para diseñar el observador de orden mı́nimo estableceremos una partición del vector
de estados:
xa (k)
x(k) = · · ·
xb (k)
donde el m-vector xa (k) son las variables medibles (accesibles) y el n − m-vector xb (k)
son las variables no medibles (no accesibles). Esta partición del vector de estados
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 115
Por otro lado, la parte del vector de estados que no se puede medir se puede escribir
como:
xb (k + 1) = Gba xa (k) + Gbb xb (k) + Hb u(k)
Obsérvese que en esta ecuación, los términos que dependen de xa (k) y u(k) son cono-
cidos mientras que el término que depende de xb (k) es desconocido. Esta ecuación la
podemos reescribir como
El diseño del observador de orden mı́nimo se realiza tomando como referencia el del
observador de orden completo, cuya ecuación de estados es
y(k) = Cx(k)
donde y(k) es medible y Cx(k) es no medible (por serlo x(k)). Obsérvese que se puede
establecer un paralelismo entre los términos de esta ecuación y los de la ecuación (6.69).
En el caso del observador de orden mı́nimo, por tanto, se considera como ecuación de
salida la ecuación (6.69).
116 OBSERVADORES DEL ESTADO
Comparando las ecuaciones de estado y salida del observador de orden completo y las
del observador de orden mı́nimo, se establecen las siguientes analogı́as:
Observador de orden completo Observador de orden mı́nimo
x̂b (k+1) = (Gbb −Ke Gab )x̂b (k)+Gba xa (k)+Hb u(k)+Ke [xa (k + 1) − Gaa xa (k) − Ha u(k)]
(6.71)
Además, de la ecuación del sistema sabemos que
y(k) = xa (k)
x̂b (k + 1) = (Gbb − Ke Gab )x̂b (k) + Ke y(k + 1) + (Gba − Ke Gaa )y(k) + (Hb − Ke Ha )u(k)
que serı́a la ecuación del observador de orden mı́nimo. Los polos del observador de
orden mı́nimo serı́an los autovalores de (Gbb − Ke Gab ). Obsérvese, sin embargo, que en
esta ecuación aparece un término que multiplica a y(k + 1). Como es lógico el valor
de la salida en k + 1 no está disponible en el instante k, por lo que esta ecuación ha
de ser modificada. Se puede demostrar (no se hará aquı́), que esta ecuación se puede
reescribir como:
y como en el caso del observador de orden completo, Ke se puede elegir para colocar
los polos del observador donde se desee mediante los métodos indicados en la sección
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 117
6.9.2.1. Por ejemplo, si la salida y(k) es un escalar, es decir m = 1, se tienen que estimar
n − 1 variables. La fórmula de Ackermann, por ejemplo, quedarı́a:
−1
Gab 0
Gab Gbb 0
Ke = φ(Gbb ) .. ..
. .
Gab Gn−2
bb 1
donde
φ(Gbb ) = Gn−1 n−2
bb + α1 Gbb + · · · + αn−1 I
por lo que, nuevamente se ve que los problemas de diseño del controlador y del obser-
vador son independientes.
Ejemplo 6.8
1. Diseñar un controlador que coloque los polos de bucle cerrado en z = 0,6 ± j0,4.
En cuanto al observador de orden mı́nimo, éste estimará una sola variable, por lo
que es de orden 1. La partición de la ecuación de estado en este caso será:
. .
Gaa .. Gab 1 .. 0,2 Ha 0,02
· · · ... · · · = .
· · · .. · · · ··· = ···
.. . Hb 0,2
Gba . Gbb 0 .. 1
u(k) = −K x̂(k)
= −8y(k) − 3,2x̂2 (k)
= −8y(k) − 3,2(5y(k) + η̂(k))
= −24y(k) − 3,2η̂(k)
Las técnicas de control óptimo conforman una de las ramas del control automático
más importantes en el desarrollo de las estrategias modernas de control más utilizadas
hoy en dı́a. Se han escrito numerosas monografı́as dedicadas a su estudio, y se ha
publicado una ingente cantidad de artı́culos en revistas especializadas. No obstante,
en estos apuntes sólo se dará una pincelada sobre este particular, centrándonos en el
caso particular del control LQR con horizonte infinito, también conocido como LQR
de régimen permanente.
Las estrategias de control óptimo calculan la ley de control de manera que se opti-
miza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito
por
x(k + 1) = Gx(k) + Hu(k)
u(k) = −Kx(k)
siempre lo más cerca posible del origen4 . Por otra parte, se observa que en el funcional
hay otro término que pondera el valor de la secuencia de señales de actuación. Este
término impide que se obtenga una ley de control que lleve el estado al origen a expen-
sas de una actuación muy grande. Al minimizarse J, por tanto, se conseguirá una ley de
control que por una parte acerque el estado al origen lo mas rápido posible, pero man-
teniendo un nivel de actuaciones moderado, encontrándose por tanto, una solución de
compromiso entre el rendimiento del controlador y su nivel de actuación. El sentido de
este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar
el gasto de energı́a o combustible necesario para proporcionar la señal de actuación.
Existen razones más sutiles pero no por ello menos importantes para incorporar esta
ponderación del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre
el modelo del sistema y su dinámica real (algo que ocurre casi siempre, pues los mode-
los matemáticos no pueden recoger todas las complejidades de los sistemas o procesos
reales) esta ponderación del esfuerzo de control resulta en un sistema más estable.
Para calcular la ley de control que minimiza el ı́ndice (6.73) se define una matriz P
que satisface la siguiente ecuación de Riccatti:
con A = I, B = H y C = R−1 H ∗ P .
4
Ésta es una interpretación que hay que tomar con cierto cuidado, pues puede que se obtenga una
ley de control que provoque que el estado no se acerque al origen todo lo posible al principio pero que
lo lleve a dicho origen muy rápidamente en los instantes siguientes, manteniendo pues el valor de J
muy bajo.
CAPÍTULO 6. CONTROL DE SISTEMAS DISCRETOS EN EL ESPACIO DE ESTADOS 121
Pi+1 = Q + G∗ Pi G − G∗ Pi H (R + H ∗ Pi H)−1 H ∗ Pi G
La condición de parada del bucle o proceso iterativo será que Pi+1 − Pi ≈ 0, esto es,
que la diferencia entre Pi+1 y Pi sea una matriz cuyos elementos estén todos cerca del
cero.
Sea un sistema:
x(k + 1) = Gx(k) + Hu(k) + ω(k)
y(k) = Cx(k) + ²(k)
donde ω(k) y ²(k) son variables aleatorios que actúan como ruidos aditivos. Se de-
muestra que se puede obtener una estimación óptima del vector de estados mediante
el siguiente esquema:
x̂(k + 1) = Gx̂(k) + Hu(k) + Ke (k) (y(k) − C x̂(k))
Ke (k) = GPk C ∗ (R + CPk C ∗ )−1 (6.75)
Pk+1 = Q + (G − Ke (k)C) Pk G∗
donde
R = E {²(k)²∗ (k)}
Q = E {ω(k)ω ∗ (k)}
P0 = E {²(0)²∗ (0)}
122 FILTRO DE KALMAN
que son las ecuaciones del filtro de Kalman de régimen permanente. Nótese que para
resolver la ecuación de Riccatti se puede usar el mismo método usado en el LQR.
Capı́tulo 7
Modelos de procesos y
perturbaciones
7.1. Introducción
Pulsos.
Escalones.
Rampas.
Sinusoides.
Todos estos modelos tienen en común que son absolutamente predecibles en su evolu-
ción en función de las condiciones iniciales. Es decir, en cuanto la perturbación aparece
123
124 PERTURBACIONES DETERMINISTAS A TROZOS
podemos predecir su evolución futura. Es una suposición común en estos casos, consi–
derar que estas perturbaciones vienen generadas por sistemas dinámicos.
Como fuente de perturbaciones con una mayor variabilidad que los modelos clásicos
antes comentados, se pueden considerar las perturbaciones deterministas a trozos. Sur-
gen de la necesidad de estudiar el efecto de perturbaciones más realistas en sistemas
de control que se basan en algún tipo de esquema predictivo para calcular la señal
de control. En este tipo de sistemas, el considerar una perturbación absolutamente
predecible (como en el caso de los modelos clásicos) no tiene utilidad alguna, pues se
pueden considerar directamente en el cálculo de la ley de control.
w=w0
t0 t1 t2 t3 t4 ......
Definición 7.3 Se denomina ruido blanco discreto, a un proceso aleatorio que se puede
considerar como una secuencia cuyos elementos son variables aleatorias independientes
entre sı́ cuya distribución es idéntica. Se suele suponer que
E {x(k)} = 0
En esta sección veremos cómo se pueden generar diversos tipos de procesos es-
tocásticos, cuando a un sistema lineal se le inyecta un ruido blanco v(k) además de
una entrada externa u(k) a través de sendas funciones de transferencia.
v(k) −1
C( z )
−1
D( z )
y(k)
∑
u(k) −1
B( z )
−1
A( z )
Modelo de Media Móvil (MA : Moving Average). Es el caso más sencillo y viene
descrito por
Este modelo permite describir procesos más ricos que los anteriores. Sin embargo,
desde el punto de vista del control es interesante poder considerar el efecto de una
entrada externa, por lo que se considera el siguiente tipo de modelos de procesos
con ruidos.
Modelo Autoregresivo de Media Móvil con una entrada exógena (ARMAX). Tam-
bién llamado modelo CARMA (Controlled ARMA). Viene descrito por
Cuando en los modelos anteriores el polinomio que convoluciona con la señal v(k) es
distinto de la unidad se habla de ruido coloreado, y en caso contrario, de ruido blanco.
Capı́tulo 8
Introducción a la identificación de
sistemas
8.1. Introducción
129
130 IDEAS BÁSICAS SOBRE IDENTIFICACIÓN DE SISTEMAS
A continuación, se irán desglosando las principales ideas de cada uno de estos aspectos.
Otro aspecto es que a veces no se puede identificar en bucle abierto y hay que hacerlo
en bucle cerrado. Esto no es siempre posible, pues aunque el sistema sea identificable en
CAPÍTULO 8. INTRODUCCIÓN A LA IDENTIFICACIÓN DE SISTEMAS 131
bucle abierto esta propiedad puede perderse en bucle cerrado. Esto ocurre, por ejemplo,
si los perfiles de la consigna o referencia que se usan son muy simples. También, si los
lazos de control son demasiado simples. En general, cuanto más complejos sean los
lazos de control y más se mueva la consigna, más fácil será la identificación en bucle
cerrado.
En teorı́a, la selección del tipo de modelo deberı́a venir dada por un conocimiento
del proceso y de las perturbaciones que deban ser tenidas en cuenta. Dependiendo de
si conocemos mucho o poco la estructura del proceso elegiremos entre uno u otro tipo
de modelo. En general, los modelos los clasificaremos como:
Modelos de Caja Blanca. Son los obtenidos a partir de leyes fı́sicas (esto no serı́a
realmente identificación porque no se estarı́an haciendo experimentos).
Modelos de Caja Gris. Corresponden a un tipo intermedio entre los dos anteriores.
Parte del modelo se obtiene mediante leyes fı́sicas y otra parte, se ajusta usando
medidas experimentales. Por ejemplo, mediante leyes fı́sicas podemos determinar
la estructura del modelo (o de parte de él) y usar experimentos para terminar de
caracterizar el modelo.
u(k) y(k)
PLANTA
IDENTIFICACIÓN
MODELO
ACTUALIZADO
SUPERVISIÓN
MODELO
CORREGIDO
En este caso se toman los datos del experimento (es decir, series de medidas) y
posteriormente, se ajusta el modelo usando para ello todo el conjunto de datos. Este
tipo de procedimientos suelen obtener modelos más precisos y son más fiables en cuanto
a la convergencia de los parámetros estimados a los parámetros reales del proceso1 . En
cualquier caso, existe un consenso general en que no existe un método universalmente
bueno, por tanto, dependiendo de la situación unos funcionarán mejor que otros.
La idea tras el concepto de validación del modelo es estimar distintos tipos de modelos
(por ejemplo con distintos órdenes) y quedarse con el que mejor ajusta (es decir, el que
dé menor F̂CE ). Mediante esta técnica de validación cruzada, lo que se trata de ver es
si el modelo es capaz de reproducir los datos de salida para entradas que no se han
empleado en la estimación.
Como se ha comentado anteriormente, el criterio VCP no tiene por qué ser el mismo
que el VCE . Por ejemplo, se puede usar como criterio para validación el conocido criterio
de Akaike o criterio AIC (Akaike’s Information Criterion), el cual asumiendo que las
perturbaciones siguen una distribución gaussiana se calcula mediante la fórmula
µ ¶ N
2dimensión(θ) 1 X 2
VCP (θ, CP) = 1+ e (t, θ)
N N t=1
donde e(t, θ) = y(t) − ŷ(t, θ) es el error de estimación para los datos obtenidos en el
instante t.
INICIO
TOMA DE DATOS
ACONDICIONAMIENTO DE
DATOS
AJUSTAR MODELO
VALIDAR MODELO
NO
¿ VALIDO ?
SI
USAR MODELO
pueda retornar a cualquiera de las pasos intermedios, indica que puede que en cada
136 ALGUNAS PROPIEDADES
iteración no se realicen todos los pasos. Por otra parte, aparece un paso sobre el que no
se ha comentado nada, el acondicionamiento de datos. Esta tarea consiste en manipu-
lar los datos de manera que sean apropiados para el método de ajuste elegido. Es algo
que es especı́fico para cada procedimiento. Ası́ por ejemplo, una tarea muy común de
acondicionamiento de datos es la eliminación de los valores de continua de las señales
de entrada y salida. Esto será tratado en mayor profundidad en el tema 9. Finalmente,
en el caso de la identificación en linea el proceso es más simple, ya que por ejemplo
no es posible cambiar la estructura del modelo sin descartar el resultado que se ha
obtenido hasta ese momento. Además, los datos se toman según van llegando, pues
recordemos que en este tipo de identificación la identificación se hace como su propio
nombre indica en tiempo real, es decir, ((en lı́nea)).
para todo polinomio A(z −1 ) no nulo de grado inferior a n. Usando este resultado se
pueden caracterizar las señales más comunes:
Esto quiere decir que el ruido blanco serı́a una señal de entrada muy buena para identi-
ficar sistemas. En la práctica, sin embargo, es muy difı́cil obtener una señal de entrada
que se comporte como un ruido blanco ideal, porque es muy difı́cil obtener una se-
cuencia de valores puramente aleatorios. Es posible obtener sin embargo, secuencias de
valores seudoaleatorios, por lo que en la práctica se recurre a secuencias seudoaleatorias
de escalores binarios (PRBSS: Pseudo Random Binary Step Sequence). En la figura
8.3 se muestra una de esas secuencias. Nótese que los escalones no tienen por qué tener
amplitud unitaria, el concepto de binario se refiere solamente a dos niveles de entrada
distintos. Por otra parte, la aleatoriedad está en la duración de los escalones y en el
momento de aparición de los mismos.
6.5
5.5
5
voltaje
4.5
3.5
3
0 20 40 60 80 100 120 140 160 180 200
intervalos de muestreo
convergencia tiene a su vez una serie de requisitos o condiciones que se pueden resumir
en:
El error en el instante k debe ser incorrelado con los elementos de los que depende
la salida en el instante k (es decir, de los valores pasados de la entrada y la salida).
El valor esperado (esperanza matemática) del error en k debe ser cero, es decir
E{e(k)} = 0.
donde d es el retraso del proceso, y los grados de los polinomios A(z −1 ), B(z −1 ), C(z −1 )
son ma , mb , mc respectivamente. Supóngase además que el sistema está gobernado por
un regulador que toma la expresión:
Q(z −1 )
u(t) = − y(t)
P (z −1 )
Los órdenes del modelo del proceso y de las perturbaciones deben ser conocidos con
exactitud.
Si los polinomios A(z −1 ) y C(z −1 ) tienen p ceros comunes (en caso de que sean primos
entre si, p = 0) se ha de cumplir que
máx(w − mb , d + v − ma ) ≥ p
Si esto no se cumpliese, la solución pasa por fijar alguno de los parámetros del modelo
a fin de bajar los grados ma o mb . Si fuera factible aumentar el retraso, también
podrı́a usarse esto para lograr la identificabilidad en bucle cerrado. Nótese que por
estos procedimientos lo que se consigue es que el proceso de identificación converja a
un valor del vector de parámetros que corresponde con el que da un menor error. No
quiere decir que el sistema real se describa mejor por ese modelo. Es decir, puede que
exista otro modelo del mismo orden mejor, pero si no se toman las medidas indicadas
no se llegarı́a a ese modelo ni probablemente se convergerı́a a ningún otro.
Ejemplo 8.1
G(z −1 )
u(k) = − y(k)
zB(z −1 )F (z −1 )
máx(n + d − 1, n − 1 + d) ≥ n
Esto implica que para que el sistema sea identificable en bucle cerrado, d ≥ 1. Otra
solución serı́a fijar un parámetro. ¤
140 ALGUNAS PROPIEDADES
Supervisar que la evolución de los parámetros esté dentro de unos rangos deter-
minados.
Este método permite la identificación en tiempo real de modelos con el único req-
uisito de que estos sean lineales en los parámetros. Esto incluye, por tanto, a modelos
lineales y no lineales que sean lineales en los parámetros. El mayor interes práctico re-
side, sin embargo, en la identificación de los primeros, dado que son los más utilizados
en control.
Nótese que este modelo es determinista en el sentido de que no considera ruidos aleato-
rios como en los modelos vistos en el tema 7. Es inmediato comprobar que este modelo
corresponde a la siguiente función de transferencia:
b1 z −1 + · · · + bn z −n
G(z −1 ) =
1 + a1 z −1 + · · · + an z −n
El modelo (9.1) se puede reescribir como:
141
142 EL MÉTODO DE LOS MÍNIMOS CUADRADOS
donde el vector
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) (9.3)
es llamado regresor y £ ¤T
θ= a1 · · · an b1 · · · bn
es el vector de parámetros. Dado un valor del vector de parámetros θ̂, el error de
predicción para el instante k será
Nótese que conocido el valor de los valores presentes y pasados de la salida y la entrada,
la expresión (9.2) es una ecuación en las que las 2n incognitas son los parámetros que
forman θ. Si el proceso a identificar correspondiese exactamente con un modelo como
(9.1) se podrı́a determinar el valor del vector de parámetros a partir de 2n medidas u
observaciones de la salida para una serie de entradas conocidas. Es decir, se formarı́a
un sistema de 2n ecuaciones con el que se podrı́a determinar el valor ((real)) de θ.
El mı́nimo valor de J(θ) se dará en el valor del vector de parámetros que cumpla que
dJ(θ)
=0
dθ
es decir,
2(M (N )θ − Y (N ))T M (N ) = 0
de donde se obtiene que el valor del vector de parámetros que hace mı́nimo el ı́ndice
de bondad de ajuste es
θ∗ = [M T (N )M (N )]−1 M T (N )Y (N ) (9.4)
y ese es por tanto el valor del vector de parámetros del modelo identificado.
La expresión (9.4) implica la inversión de una matriz que puede tener unas dimen-
siones apreciables, tanto más si se tiene en cuenta que para identificar correctamente
144 ALGORITMO RECURSIVO PARA IDENTIFICACIÓN EN LINEA
un sistema se deben tener suficientes medidas para eliminar el efecto de ruidos y per-
turbaciones ajenas a la dinámica del sistema. Intentar efectuar estos cálculos en linea
es bastante ambicioso para el hardware de control habitual3 . Por tanto este algoritmo
se destina a la identificación fuera de linea. En linea se emplea otro procedimiento que
se muestra a continuación.
P −1 (k − 1) = P −1 (k) − mT (k)m(k)
M T (k − 1)Y (k − 1) = P −1 (k − 1)θ̂(k − 1)
= P −1 (k)θ̂(k − 1) − mT (k)m(k)θ̂(k − 1)
donde K(k) = P (k)mT (k). Por tanto θ̂(k) se puede expresar en forma recursiva, es
decir en función del valor del estimador en el instante anterior más un término corrector
que consiste en el error de predicción en el instante actual cometido por el estimador
calculado en el instante anterior multiplicado por una ganancia de adaptación K(k).
Esta formula da lugar al llamado algoritmo de minimos cuadrados recursivos, que
consiste en
2. En cada instante k
P (k − 1)mT (k)m(k)P (k − 1)
P (k) = P (k − 1) −
1 + m(k)P (k − 1)mT (k)
e) Calcular θ(k):
u(k) y(k)
PLANTA
+
e(k)
FORMAR Σ
REGRESOR
- ŷ(k)
Figura 9.1: Diagrama de flujo del proceso de identificación mediante mı́nimos cuadrados recursivos.
Un hecho a tener en cuenta es que al ser v(k) una variable aleatoria, y(k) es a su
vez una variable aleatoria al ser el ruido aditivo. Esto implica a su vez que el valor
del vector de parametros estimado θ̂ tambien es una variable aleatoria que se puede
estudiar desde un punto de vista estadı́stico. Por responder el proceso exactamente a
uno de los dos tipos de modelos considerados existe un valor del vector de parámetros
θ∗ que consideraremos como verdadero. Es decir
Considerese el caso del modelo ARMAX. Claramente existe relación entre los com-
ponentes de la matriz M (k) y V (k). En efecto, la matriz de regresores está formada por
valores de la salida y la entrada. Los primeros dependen de los valores de la señal de
ruido y los segundos son deterministas, por lo que existe una correlación entre la matriz
M (k) y V (K). Por lo tanto tambien existe esa correlación entre [M T (k)M (k)]−1 M T (k)
y V (k). Eso implica que según la expresión (9.7) θ̃ es distinto de cero. Por tanto no
está garantizada la convergencia del vector de parámetros estimados con el ((real)).
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 147
La situación es diferente con el modelo ARX-LS. En este caso los valores de M (k)
no pueden estar relacionados con V (k) (que, al ser cn = 0, solo está formada por los
valores presentes de v(k) para cada instante k). Por tanto, el estimador por mı́nimos
cuadrados es insesgado, es decir θ̃ = 0 y por tanto el valor esperado del estimador
coincide con el valor real del vector de parámetros, es decir
n o
E θ̂(k) = θ∗
Por otra parte, el hecho que de que el proceso responda a uno u otro tipo de
modelo tiene una interpretación fı́sica inmediata. En el caso del proceso ARMAX el
ruido presenta una cierta dinámica , mientras que en el caso del ARX-LS el ruido no
presenta dinámica alguna y responde únicamente a un ruido proveniente del sensor
de medida. Es en este último caso cuando el método de mı́nimos cuadrados produce
estimaciones consistentes.
Otra propiedad que resulta interesante conocer es la varianza del estimador. Clara-
mente interesa que esta varianza sea pequeña o por lo menos que disminuya conforme
se acumulan medidas disponibles para usarlas en la estimación. De esa manera, el vec-
tor de parámetros estimados estará con seguridad cerca del vector real. La varianza del
estimador se puede calcular como
n o
varianza(θ̂(k)) = E (θ̂(k) − θ∗ )T (θ̂(k) − θ∗ )
= σ 2 P (k)
donde σ = E{v(i)v(j)} para i = j. Nótese que para que la varianza sea pequeña
interesa que P (k) sea ((pequeña)) o que al menos decrezca a medida de que k aumenta.
Una medida del tamaño de P (k) es su traza, por lo que se usa como una medida de la
exactitud de la estimación, de manera que se busca que la traza vaya decreciendo.
Esta interpretación estadistica del tamaño de P (k) tambien proporciona una regla
para dar un valor inicial a la matriz P (k). En efecto, en general no se tendrá demasiada
confianza en que el valor inicial del vector de parámetros estimados, por lo que se
escogerá una matriz P (0) ((grande)) para reflejar esa desconfianza, por ejemplo P (0) =
pI donde p es un número muy alto (por ejemplo 10000). Este número será mas pequeño
si se sabe que el valor inicial del vector de parámetros está cerca de θ∗ .
Por otra parte, es evidente que a medida que el numero de observaciones N crece
la suma
XN
mT (k)m(k)
k=n
148 MÍNIMOS CUADRADOS PONDERADOS
lo que implica que a medida que N crece P decrece. Se puede demostrar que si el
tamaño del regresor no cambia demasiado P decrece como N1 . Esto quiere decir que la
incertidumbre en la estimación decrece, es decir, que cada vez se obtiene un estimador
más cercano al valor real. Además la ganacia de adaptación K(k) tambien decrece
(vease su definición en la sección 9.2) lo cual es congruente con el hecho de que cuanto
más exacta es la estimación menos corrección de su valor se necesita. Esto es bueno
si la dinámica del proceso no cambia con el tiempo, pero si esto no es ası́ habrá que
modificar este esquema.
A veces es conveniente dar más peso a algunas medidas que a otras en la esti-
mación. Por ejemplo si se identifica un proceso cuya dinámica cambia con el tiempo
interesará dar mas peso a las medidas más recientes, pues estas serán las que reflejen la
dinámica más actualizada. Para conseguir esto hay que modificar el ı́ndice de bondad
de ajuste, de manera que se use
N
X
T 2
J(θ) = E(N, θ) W (N )E(N, θ)k = w(k)e2 (k, θ)
k=n
θ∗ = [M T (N )W (N )M (N )]−1 M T (N )W (N )Y (N ) (9.8)
, donde λ ∈ (0, 1) es el llamado factor de olvido. Es fácil entender por que se le llama
olvido exponencial: el peso dado a la medida disminuye exponencialmente cuanto más
antigua sea. De esta manera las medidas muy antiguas se olvidan, pues su peso es tan
pequeño que es como si no se contribuyesen a la estimación. Habitualmente se usa
λ ∈ [0,98, 1). Por ejemplo, si λ = 0,99 el estimador tendrı́a una ((memoria)) de unas 100
muestras. En aquellos casos que la dinámica del proceso cambie muy rápidamente se
puede optar por valores más bajos (por ejemplo, λ = 0,95).
P (k − 1) P (k − 1)mT (k)m(k)P (k − 1)
P (k) = −
λ λ + m(k)P (k − 1)mT (k)
Puede observarse que, dado que K(k) = P (k)mT (k), la ganancia de adaptación K(k)
depende de λ y a menor λ mayor ganancia de adaptación. Esto quiere decir que a menor
λ mejor se adaptará la identificación a una dinámica cambiante, ya que se considerarı́a
en la optimización solo la información más reciente.
Sin embargo, los valores pasados de la señal de ruido v(k) no son medibles, por lo que
no se pueden incluir en el regresor. Lo que se hace es aproximarlos por los errores de
predicción, es decir
e(k) = y(k) − m(k)θ̂(k − 1)
Si el proceso coincidiera exactamente con el modelo para algun valor del vector de
parámetros, entonces si los parametros evolucionasen en la dirección correcta la aprox-
imación de los valores de los ruidos por los errores cada vez serı́a más correcta y
eventualmente se iguaları́an, es decir v(k) = e(k). El regresor se formará entonces
como,
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) e(k − 1) · · · e(k − n)
El resto del procedimiento es exactamente igual, tanto en las formulaciones fuera de lin-
ea como en linea. Con este método se consiguen estimaciones insesgadas y consistentes
para procesos que respondan como un modelo ARMAX. Los problemas son un aumen-
to de la carga de calculo y una menor velocidad de convergencia en los parámetros ci
debido a que la señal de ruido no es la más preponderante.
Finalmente, existe otra variante de los mı́nimos cuadrados que son los mı́nimos
cuadrados generalizados. Sin entrar en demasiados detalles, esta formulación se usa
cuando se tiene algún conocimiento del valor real del polinomio C(z −1 ) o de la matriz
P (matriz de covarianza). En este caso si la matriz N definida como
© ª
N = E vv T
donde U (k) e Y (k) son los valores reales de la salida y la entrada y U∞ e Y∞ son
los valores de continua de ambas señales. Para estimar dichos valores existen diversas
opciones.
CAPÍTULO 9. IDENTIFICACIÓN POR MÍNIMOS CUADRADOS 151
donde la señal uID (k) es la señal de entrada que se utiliza en la identificación. Como
se puede observar, al usarse el incremento, se resta de manera implicita la componente
continua. Lo mismo se hace con la salida
La idea es aproximar los valores de continua por los valores medios de las señales.
En el caso de la formulación fuera de linea estos valores medios se calculan mediante
las expresiones tradicionales, es decir
N N
1 X 1 X
U∞ = u(i) Y∞ = y(i)
N i=1 N i=1
La idea en este caso es que el modelo que se pretende identificar puede reescribirse
como
Y (k) − Y∞ = −a1 (Y (k − 1) − Y∞ ) − a2 (Y (k − 1) − Y∞ ) − · · · − an (Y (k − n) − Y∞ )
+b1 (U (k − d − 1) − U∞ ) + · · · + bn (U (k − d − n) − U∞ )
152 IMPORTANCIA DEL ORDEN DEL MODELO
Y (k) = −a1 Y (k − 1) − · · · − an Y (k − n)
+b1 U (k − d − 1) + · · · + bn U (k − d − n) + K
y en el regresor se incluye un 1
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − 1) · · · u(k − n) 1
Una vez estimado el valor de K, lo que se hace es dar un valor arbitrario a Y∞ , por
ejemplo igual al valor de la referencia o consigna. Con ese valor se calcula U∞ mediante
la expresión (9.9).
El orden del sistema a identificar es algo que debe ser conocido para asegurar la
convergencia e identificabilidad (ver tema 8). En la práctica esto no es sencillo, y se
debe recurrir a probar con varios modelos de ordenes y estructuras distintas a ver cual
resulta mejor. Esto quiere decir que se pueden dar situaciones de mala estimación del
orden del modelo por defecto (incurriendose en lo que se llama infraparametrización)
o por exceso (sobreparametrización).
20
10
0
amplitud dB
−10
−20
−30
−40
−1 0 1
10 10 10
−50
desfase (grados)
−100
−150
−200
−250
−1 0 1
10 10 10
frecuencia rad/s
Figura 9.2: Diagrama de Bode de un sistema de segundo orden (linea continua) y de un modelo de
primer orden estimado para una entrada senoidal de frecuencia ω = 0,2 rad × s−1 .
20
10
0
amplitud dB
−10
−20
−30
−40
−1 0 1
10 10 10
−50
desfase (grados)
−100
−150
−200
−250
−1 0 1
10 10 10
frecuencia rad/s
Figura 9.3: Misma situación que en la figura 9.2 pero con una señal de entrada senoidal de frecuencia
ω = 1 rad × s−1 .
154 IMPORTANCIA DEL ORDEN DEL MODELO
0.5
uey
−0.5
−1
−1.5
0 5 10 15 20 25 30 35 40
1.5
0.5
ai, bi estimados
−0.5
−1
−1.5
−2
0 5 10 15 20 25 30 35 40
tiempo (s)
0.025
0.02 k=30
k=100
0.015
b3
0.01
0.005
−0.005
−2 −1.8
k=180 −1.6 −1.4 −1.2 −1 −0.8 −0.6
a1
1.5
1
a2
0.5 k=180
k=100
k=30
−0.5
−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6
a1
Figura 9.5: Evolución de unos parámetros frente a otros para el modelo sobreparametrizado.
El método de los mı́nimos cuadrados puede aplicarse a procesos con retardo, siempre
que se tengan en cuenta algunas cuestiones. El modelo determinista de un sistema con
retardo puro de d periodos de muestreo se puede poner como
Eso quiere decir que el regresor en el instante k debe contener valores pasados de la
entrada desde k − d − 1 a k − d − n donde n es el grado del polinomio B(z −1 ). Por
tanto el regresor queda
£ ¤
m(k) = −y(k − 1) · · · −y(k − n) u(k − d − 1) · · · u(k − d − n)
Con esta modificación cualquiera de los algoritmos de mı́nimos cuadrados vistos ante-
riormente se puede aplicar a procesos con retardo. El problema estriba en que se ha
de conocer exactamente el retardo (vease tema 8). El método usual para conocer este
dato es provocar un cambio en la entrada y observar cuando se manifiesta dicho cam-
bio en la salida (ha de tenerse en cuenta que en todo sistema muestreado los cambios
en la entrada se manifestarán como mucho en el siguiente periodo de muestreo). Este
sencillo esquema se puede complicar por ejemplo si el retardo es variable. Esto es más
común de lo que se cree, pues el retardo ası́ como el resto de parámetros de un sistema
suele depender del punto de funcionamiento (por ejemplo, los retardos de transporte
ocasionados por tuberias dependen del caudal de material que se transporta). El pro-
blema es que, aunque los métodos de identificación propuestos puedan seguir cambios
156 CONSIDERACIONES FINALES
en los parametros del modelo (se adaptan a esos cambios) no recogen la posibilidad
de un retardo variable (existen remedios a este problema, pero no se tratarán aquı́).
Otro problema que puede suceder es que el retardo no sea multiplo exacto del tiempo
de muestreo. Aunque existen formas para describir retardos no enteros (por ejemplo,
el uso de una expansión de Padé) es mas sencillo y menos problemático emplear si es
posible otro tiempo de muestreo para hacer que el retardo sea entero.
respectivamente.
y como valor inicial del vector de parámetros se puede usar θ = P (0)M (2n)Y (2n).
158 CONSIDERACIONES FINALES
Capı́tulo 10
Los tiempos muertos o retrasos puros están presentes en muchos sistemas dinámicos
y especialmente en la industria de procesos. Los retrasos pueden deberse al tiempo que
tarda en circular un fluido o material de un punto a otro (retraso ((distancia-velocidad)),
o deberse por ejemplo al tiempo de mezcla imperfecta de un equipo tipo tanque agitado
o quizás al tiempo de medida de los sensores que miden las variables a controlar. En
la figura 10.1 se muestra un ejemplo tı́pico. La variable a controlar en este caso es
la temperatura a la salida de un intercambiador de calor al que se suministra calor
controlado mediante la apertura de la válvula de entrada de un quemador de gas.
El retardo viene provocado en este caso por el hecho de que el termopar de medida
está situado a una distancia apreciable de la salida del intercambiador (se supone que
la tuberı́a no tiene pérdidas, por lo que la temperatura medida coincide con la de la
salida). Intuitivamente se ve que el retraso en este caso será
distancia al sensor
retraso = .
velocidad de transporte del fluido
159
160 SISTEMAS CON RETRASO
TT
r(t) y(t)
+
C(s) G(s)e -t
ms
-
es decir
Gp (s) = e−stm G(S). (10.1)
Por tanto, el retraso tm se representa por un término e−stm que multiplica a la transfor-
mada de Laplace de gp (t). La figura 10.2 muestra la configuración de un lazo de control
realimentado para un proceso con retraso tm y cuya función de transferencia excluido
el retraso es G(s).
Gp (z −1 ) = z −d G(z −1 ).
1
Todas las estructuras presentadas en este capı́tulo están inicialmente formuladas para sistemas en
tiempo continuo, pero son fácilmente extensibles al caso discreto e implementables en un computador.
En el capı́tulo se indicarán las diferencias entre ambos casos.
2
En caso de que el número de que el retraso sea un número no múltiplo del periodo de muestreo
se recomienda cambiar dicho periodo de muestreo para que el retraso sea o bien un múltiplo exacto o
bien la parte fraccionaria sea muy pequeña y se pueda despreciar.
162 SISTEMAS CON RETRASO
−t s
Diagrama de Bode para e m
0.5
0
Phase (deg); Magnitude (dB)
−0.5
−1
4
x 10
0
tm=1
−0.5 tm=2
To: Y(1)
−1
−1.5 tm=3
−2 −1 0 1 2
10 10 10 10
Frequency (rad/sec)
Figura 10.3: Diagrama de Bode para distintos valores de un retraso puro e−tm s .
Para ilustrar mejor los efectos del retraso sobre un sistema considérese la función
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 163
20
10
Phase (deg); Magnitude (dB)
−10
0
tm=0
−90
tm=0.01
To: Y(1)
tm=0.1
−180
tm=1
−270 −2 −1 0 1
10 10 10 10
Frequency (rad/sec)
Figura 10.4: Diagrama de Bode para distintos valores de un retraso puro tm s para el sistema
10
C(s)G(s)e−tm s con C(s) = 1 y G(s) = 1+s .
10
de transferencia G(s) = 1+s y un controlador C(s) = K, donde inicialmente K = 1.
En la figura 10.4 se muestra el diagrama de Bode para este sistema para distintos
retrasos. Puede observarse que conforme aumenta el retraso aumenta el desfase y de
hecho disminuye el margen de fase hasta hacerse negativo. En este último caso, el
sistema serı́a inestable en bucle cerrado para ese controlador C(s).
De la figura 10.4 puede ası́ mismo deducirse que disminuyendo K, se conseguirá que
la gráfica de magnitud del diagrama de Bode baje, de manera que el corte con cero
decibelios se produzca en una frecuencia menor, por lo que el desfase será menor y
eventualmente el margen de fase será positivo. Esta situación puede observarse en la
figura 10.5 donde para K = 0,2 se observa un margen de fase positivo para todos los
valores de tm considerados.
10
0
Phase (deg); Magnitude (dB)
−5
−10
−15
tm=0
−90 tm=0.01
To: Y(1)
tm=0.1
tm=1
−180
−270 −1 0 1
10 10 10
Frequency (rad/sec)
Figura 10.5: Diagrama de Bode para distintos valores de tm s para el sistema de la figura 10.4 con
C(s) = 0,2.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 165
r(t) y(t)
+
C(s) G(s) em
-t s
m
y(t+t )
Figura 10.6: Sistema de control realimentado para un proceso con retraso donde el sensor se ha
dispuesto antes del retardo.
Finalmente se concluye este breve análisis sobre los efectos de los retrasos haciendo
notar en el siguiente comentario que el retraso no puede ser evitado de ninguna manera.
C(s)G(s) −tm s
GBC (s) = e (10.2)
1 + C(s)G(s)
Es decir la salida del sistema en bucle cerrado será la salida del sistema sin retraso en
bucle cerrado retrasada un tiempo tm .
166 EL PREDICTOR DE SMITH
C(s) G(s)e
r(t) y(t)
+
ms
-t
G (s)
m
Figura 10.7: Sistema de control en donde se realimenta la predicción de la salida mediante un modelo
en bucle abierto.
Comentario 10.2 En el caso de poder disponer el sensor antes del retraso, al sacar
el retraso del sistema, se disminuye de manera drástica el retraso de fase, aumentando
el margen de fase, permitiendo una sintonización más apropiada del controlador y
obteniéndose por tanto una mejor respuesta y rechazo de perturbaciones. Esto serı́a,
por tanto, la solución ideal al problema de control de sistemas con retraso.
Desgraciadamente en muchos casos no será posible colocar el sensor antes del re-
traso. Por ejemplo cuando el retraso esté asociado al propio sensor (caso de un cro-
matógrafo). También cuando el proceso sea de parámetros distribuidos de manera que
la variable y(t + tm ) no sea posible medirla y haya de ser estimada mediante un algo-
ritmo que tiene un tiempo de ejecución tm .
Cuando la salida sin retraso, es decir y(t+tm )3 , no se puede medir, se puede recurrir
a estimar su valor, o de manera más precisa a predecir su valor en t + tm . Para ello se
puede usar un modelo suficientemente exacto de G(s) que denotaremos por Gm (s). Este
es por tanto un modelo del proceso sin retraso, que podemos llamar ((modelo rápido))
del proceso. La predicción de y(t + tm ) (denotada a veces como y(t + tm |t)) puede ser
usada en un lazo de control como se ilustra en la figura 10.7. En esta estructura en
lugar de realimentar la salida y(t) del proceso, se realimenta la predicción de y(t + tm )
efectuada en tiempo t mediante el modelo Gm (s). Los valores de la señal de control
calculados mediante C(s) se aplican directamente al proceso. Esta estructura tendrı́a
como función de transferencia de bucle cerrado la expresión:
C(s)G(s)
GBC (s) = e−tm s (10.3)
1 + C(s)Gm (s)
En el caso de que el modelo del proceso sin retardo fuera perfecto, es decir Gm (s) =
G(s), claramente la función de transferencia (10.3) es entonces igual a la de (10.2).
3
Nótese que en tiempo t + tm lo que hay en la salida del sistema es lo que habı́a en tiempo t a la
salida de G(s) antes del retraso, es decir y(t + tm ) es la salida sin retraso.
CAPÍTULO 10. CONTROL DE SISTEMAS CON GRANDES RETRASOS 167
r(t) y(t)
+
C(s) u(t)
G(s)e m
-t s
+
y(t|t)
m
y(t+t |t)
G (s)
m
e m
-t’ s
+
e(t)
Por tanto si Gm (s) = G(s) este esquema funciona como si se pudiese sacar el retraso
cambiando la posición del sensor. Esta situación no se dará en la realidad, por que
siempre habrá errores de modelado.
Ejemplo 10.1
168 EL PREDICTOR DE SMITH
60
40
Phase (deg); Magnitude (dB)
20
−20
−90
−180
−270 −3 −2 −1 0
10 10 10 10
Frequency (rad/sec)
En este ejemplo se ilustrará el control de sistemas con retraso y el uso del Predictor de
Smith. Considérese el siguiente sistema:
1
G(s) = e−20s
1 + 10s
En primer lugar se considera un lazo de realimentación simple, en este caso con un PI,
diseñado de manera que cancele el polo del sistema y para que la constante de tiempo
del sistema en bucle cerrado sin retraso sea la mitad del original. El PI resulta ser:
1 1 + 10s
C(s) =
5 s
La figura 10.9 muestra el diagrama de Bode del conjunto C(s)G(s). Claramente el
margen de fase es negativo, por lo que este controlador inducirá la inestabilidad del
sistema en bucle cerrado.
La solución habitual pasa por desintonizar el controlador. En este caso se opta por
rebajar la ganancia del controlador de manera que sea cuatro veces menor. En la figura
10.10 se observa el diagrama de Bode en este caso. Puede observarse que ahora el
margen de fase es positivo y por tanto el sistema en bucle cerrado será inestable.
40
20
Phase (deg); Magnitude (dB)
−20
−40
−90
−180
−270 −3 −2 −1 0
10 10 10 10
Frequency (rad/sec)
Figura 10.10: Bode de C(s)G(s) para el ejemplo, desintonizando el controlador de manera que la
ganancia sea cuatro veces menor.
1.5
0.5
0
0 50 100 150 200 250 300 350 400
t
Figura 10.11: Respuesta del sistema en bucle cerrado con el controlador desintonizado de manera que
la ganancia sea cuatro veces menor.
170 EL PREDICTOR DE SMITH
1.5
0.5
0
0 50 100 150 200 250 300 350 400
t
Figura 10.12: Respuesta del sistema en bucle cerrado con el predictor de smith (trazo solido) com-
parada con la del lazo simple (trazo discontinuo).
A fin de ilustrar los efectos de los errores de modelado, considérese la figura 10.13.
En ella se muestra la salida del sistema del ejemplo 10.2 cuando se cometen diversos
errores de estimación en el retardo del sistema. Como se ve, los errores de modelado
separan a la respuesta del sistema de la respuesta ideal, provocando la aparición de
oscilaciones y un mayor tiempo de amortiguamiento.
10.2.2. El Predictor PI
1.2 −20%
−10%
1
+10%
0.8
+20%
0.6
0.4
0.2
0
0 20 40 60 80 100 120 140 160 180 200
Figura 10.13: Respuestas del sistema en bucle cerrado con el predictor de smith cuando se tienen
diversos errores en la estimación del retardo.
r(t) y(t)
+
C(s) u(t)
G(s)e -t s
m
-
+
y(t|t)
m
y(t+t |t)
K p
em -t s
+
e(t)
0
que se utiliza será Kp e−tm s . Dicho de otra manera, el ((modelo rápido)) será Gm (s) = Kp .
El resto de la estructura es igual a la del Predictor de Smith. Dicha estructura se ilustra
en la figura 10.14.
Hacer
esperar(Tiempo_de_Muestreo);
k=k+1;
ymr(k+d) = salida_modelo_rapido(k+d);
ymp(k) = salida_modelo_planta(k);
y(k) = leer(sensor);
u(k) = calcula_control_C(e);
aplica(u(k));
Hasta STOP
K1 −K2
G1 (s) = G2 (s) =
1 + τ1 s 1 + τ2 s
Obsérvese que el carácter opuesto de ambos fenómenos se manifiesta en las ganancias
de signo opuesto. La función de transferencia completa es:
K1 K2
G(s) = −
1 + τ1 s 1 + τ2 s
que se puede escribir como:
(K1 τ2 − K2 τ1 )s + (K1 − K2 )
G(s) =
(1 + τ1 s)(1 + τ2 s)
El control de sistemas con respuesta inversa presenta ciertas dificultades, tales como
por ejemplo que se deben limitar la amplitud de los componentes de alta frecuencia.
Por tanto esto sugerirı́a limitar la acción derivativa en los PID. Sin embargo el efecto
derivativo es también beneficioso, pues la primera parte de la respuesta inversa se puede
asimilar a un retardo y es sabido que para sistemas con retraso la acción derivativa es
positiva (sólo cuando el retardo es pequeño).
Considerando la analogı́a con los sistemas con retraso se puede pensar que una
estrategia basada en un predictor como el del Predictor de Smith puede ser apropia-
da para controlar este tipo de sistemas. Una estructura propuesta para este tipo de
sistemas se muestra en la figura 10.16.
K1
1 + sτ 1
r(t) + y(t)
+
C(s) u(t)
-
+
-K2
1 + sτ 2
+
1 1 -
k −
1 + sτ 1 1 + sτ 2
e(t)
1.5
0.5
−0.5
0 10 20 30 40 50 60 70 80
t
Figura 10.17: Ejemplo de control de un sistema de fase no mı́nima con un PI usando un lazo simple
de realimentación (trazo discontinuo) y la estructura de control para procesos con respuesta inversa
propuesta en la figura 10.16.
Capı́tulo 11
11.1. Introducción
177
178 CONTROL EN CASCADA
En muchos procesos es posible medir variables internas que permiten detectar per-
turbaciones antes de que tengan efectos apreciables sobre la salida o variable controlada
del proceso. La idea es usar estas variables internas para evitar que se acumule el efecto
de la perturbación o error sobre la salida.
Uno de los casos más frecuentes es el de las perturbaciones a la entrada que inciden
sobre los actuadores. El efecto de una perturbación sobre los actuadores es el de variar
la magnitud de la acción esperada por el controlador para un determinado nivel de la
señal de entrada. De este modo, la acción de control efectiva que realmente se aplica
puede no ser la adecuada para controlar el sistema. Por ejemplo, en un proceso donde
se controle un determinado nivel con una válvula, una perturbación sobre la dinámica
o caracterı́stica de la válvula harı́a que para un mismo porcentaje de apertura, el
flujo o caudal variase desviándose del esperado. En este razonamiento se está haciendo
mención explı́cita al hecho de que los actuadores tienen su propia dinámica, y por tanto
se pueden representar por su propia función de transferencia. La dinámica del actuador
será por lo general más rápida que la del proceso, y en algunos casos la diferencia
será tal que se pueda ignorar su efecto o considerarlo subsumido en la dinámica de la
planta. Cuando el actuador está sometido a perturbaciones es conveniente considerarlo
como un elemento autónomo como se ilustra en la figura 11.1. En ella puede observarse
la dinámica del actuador V (s), interpuesta entre las del controlador C(s) y la planta
propiamente dicha, G(s). Puede observarse además una perturbación que incide sobre el
actuador, de manera que la actuación que realmente recibe la planta estará perturbada
por P .
+
CM(s) +
CS(s) V(s) G(s)
-
-
detecte esta variación, el controlador actuará sobre el proceso para corregir la desviación
de la salida. El problema es el tiempo que pasa entre que se produce la perturbación
sobre el actuador hasta que esta se manifiesta en todo su efecto sobre la salida del
proceso. Durante todo ese tiempo, la perturbación ha estado acumulando un exceso
o defecto de energı́a o masa aportada al sistema. Esta acumulación será corregida
por el controlador, pero demasiado tarde, cuando ya sea inevitable un notable efecto
pernicioso en la salida.
El control en cascada trata de hacer frente a este problema actuado sobre el proceso
sin tener que esperar a que la perturbación a la entrada se manifieste a la salida. Esto se
consigue midiendo una variable interna que se vea afectada mucho antes que la salida.
Esta variable suele ser el valor de la actuación que realmente se aplica.
Para que un sistema de control en cascada sea eficaz es necesario que el lazo interno
sea más rápido (o a lo más igual) que el lazo externo. Esto es debido a que sólo si el
lazo interno es más rápido que el externo se podrá actuar con la suficiente celeridad
para evitar que se acumule el efecto de la perturbación en la entrada.
D(s)
GD(s)
+
Y(s)
U(s) +
Gp(s)
D(s)
GD(s)
+
Ref U(s) + Y(s)
C(s) Gp(s)
Figura 11.4: Sistema con perturbación a la salida controlado con un lazo simple de realimentación.
Como ya se ha dicho este tipo de estrategia de control se emplea cuando hay per-
turbaciones que afectan a la salida que pueden ser medidas. Esta situación se describe
en la figura 11.3. De acuerdo a ese diagrama de bloques, la función de la salida se puede
escribir como:
Y (s) = Gp (s)U (s) + Gd (s)D(s)
El esquema clásico de control es el que se muestra en la figura 11.4. Es decir, en
esta configuración no se hace nada de manera especı́fica para combatir el efecto de la
perturbación sobre la salida. El único efecto corrector es el que proporciona de manera
intrı́nseca la realimentación.
D(s)
GFF(s) GD(s)
+ +
+ Y(s)
U(s) +
Gp(s)
Figura 11.5: Sistema con perturbación a la salida controlado con un control anticipativo.
D(s)
GFF(s) GD(s)
U2 + +
Ref + Y(s)
U(s) +
+
C(s) U1
Gp(s)
-
Figura 11.6: Sistema con perturbación a la salida controlado con un control anticipativo con control
realimentado.
tinuación se mostrará un caso en el que esto ocurre. Considérense los siguientes valores
para GD (s) y GP (s):
KD −tmD s
GD (s) = e
1 + τD s
KP
GP (s) = e−tmP s
1 + τP s
El controlador anticipativo resultante es:
KD 1 + τP s −(tmD −tmP )s
GF F (s) = − e
KP 1 + τD s
Esta expresión sólo será realizable si el retraso puro que aparece es positivo, es decir si
(tmD − tmP ) ≥ 0. En el caso de que tmD < tmP esta función de transferencia incorpo-
rarı́a un adelanto en lugar de un retraso que es fı́sicamente imposible de realizar. Esto
corresponderı́a a una situación en la que el efecto de la perturbación se transmite más
rápidamente que el efecto de la variable manipulada lo que evidentemente impide que
se pueda actuar sobre la perturbación con suficiente tiempo.
12.1. Introducción
Hasta ahora se ha supuesto de manera implı́cita que los sistemas a controlar cuentan
tan sólo con una entrada y una salida. Las técnicas de control vistas son por tanto
técnicas de control SISO (Single Input Single Output). En la práctica los sistemas o
plantas a controlar son suficientemente complejos y tienen siempre más de una variable
controlada (salida) y más de una variable manipulada (entrada). El uso de controladores
diseñados con técnicas SISO en estos sistemas puede llevar a rendimientos muy pobres
fundamentalmente por las interacciones existentes entre las diversas entradas y salidas.
Esto es ası́ porque una entrada puede afectar a más de una salida y por que una salida
puede depender de más de una entrada. La figura 12.1 ilustra este hecho.
Los problemas causados por las interacciones son más evidentes cuando los lazos de
control están en automático, y usualmente se desintonizan los controladores, perdiendo
rapidez y rendimiento en el control a fin de minimizar los efectos de las interacciones.
185
186 SISTEMAS MULTIVARIABLES
1 1.6
0.9
1.4
0.8
1.2
0.7
1
0.6
1
0.8
2
u −y
u −y
0.5
1
2
0.6
0.4
0.4
0.3
0.2
0.2
0.1 0
0 −0.2
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
Figura 12.1: Respuesta de un sistema multivariable de dos entradas y dos salidas cuando se aplican
escalones en sus entradas. Pueden observarse las interacciones en el hecho de que las salidas varı́an
cuando las entradas respectivas están en reposo.
U1(s) + Y1(s)
G11
+
G12
G21
U2(s) + Y2(s)
G22 +
Considérese un sistema dinámico con dos entradas u1 (s),u2 (s) y dos salidas y1 (s),y( 2).
Cada una de las salidas depende de las dos entradas, de manera que se puede considerar
un modelo lineal como el que sigue:
- Y1(s)
R1(s) + U1(s) +
GC1 G11
+
G12
G21
+
R2(s) + Y2(s)
+ GC2 G22
- U2(s)
Figura 12.3: Representación de un sistema multivariable de orden 2 en bucle cerrado con dos contro-
ladores multivariables.
donde · ¸ · ¸
y1 (s) u1 (s)
Y(s) = U(s) =
y2 (s) u2 (s)
y · ¸
G11 (s) G12 (s)
M(s) =
G21 (s) G22 (s)
es la matriz de transferencia o también llamada matriz de dinámicas .
Supóngase que se opta por controlar este sistema con dos controladores SISO
GC1 (s), GC2 (s) (véase la figura 12.3) de manera que se empareja y1 con u1 e y2 con
u2 . Tomando como referencias a r1 (s) y r2 (s), las señales de entrada tomarı́an como
valores:
u1 (s) = GC1 (s) (r1 (s) − y1 (s))
(12.3)
u2 (s) = GC2 (s) (r2 (s) − y2 (s))
El efecto cualitativo de las interacciones se puede analizar si suponemos que se inyecta
una perturbación en el lazo 1. En este caso el error que introduce la perturbación
tratará de ser corregido por el controlador GC1 actuando sobre u1 . Los cambios en u1
también afectarán a y2 a través de la función de transferencia G21 , provocando una
desviación e2 . El controlador GC2 tratará de contrarrestar este error e2 modificando
el valor de u2 . El cambio de u2 afecta también a y1 a través de G12 , por lo que la
perturbación en el lazo 1 no sólo afecta al lazo 2, sino que además rebota de nuevo
afectando al lazo 1, a través de la perturbación inducida en el lazo 2.
Nótese que en los casos 2 y 3, la perturbación del lazo 1 afecta al 2, pero no hay
rebote de nuevo al lazo 1, por lo que se considera que no hay interacción en estos dos
casos. Cuando no hay interacción en un sistema multivariable se pueden diseñar los
controladores de manera independiente como si se tratase de sistemas monovariables.
A modo de conclusión se puede decir que el controlador del lazo 1 debe diseñarse con
el lazo 2 en automático controlado por un controlador GC2 previamente diseñado. Dado
que esta discusión es igualmente aplicable a la sintonı́a del lazo 2 con respecto al lazo
1, se concluye que sólo sintonizando simultáneamente los dos controladores se puede
garantizar un comportamiento aceptable en bucle cerrado. Es evidente que esta tarea
se antoja compleja, especialmente si consideramos sistemas con más de dos entradas y
salidas.
El método de Bristol de las ganancias relativas es una técnica que permite evaluar
con facilidad las interacciones en régimen permanente y que, en consecuencia, se utiliza
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 189
Supóngase un sistema multivariable con dos entradas y dos salidas, el cual se es-
tabiliza en torno a un punto de equilibrio. Si se introducen cambios en las entradas
(∆u1 , ∆u2 ), estos se manifestaran en las salidas en forma de variaciones (∆y1 , ∆y2 ),
cuyo valor en régimen permanente se pueden calcular como:
¯ ¯
∆y1 ¯ ∆y1 ¯
∆y1 = ∆u ¯ ∆u 1 + ∆u2 ¯
∆u2
1
¯u2 cte ¯u1 cte (12.5)
∆y2 ¯ ∆y2 ¯
∆y2 = ∆u 1
¯ ∆u 1 + ∆u2 ¯ ∆u 2
u2 cte u1 cte
Las ganancias estáticas de bucle abierto pueden determinarse fácilmente mediante los
modelos del proceso o experimentalmente mediante ensayos en escalón en cada una de
las entradas mientras las restantes se mantienen constantes. Las ganancias estáticas de
bucle abierto definen la influencia de las entradas del sistema sobre sus salidas cuando
éste está en bucle abierto.
Las ganancias de bucle abierto no son una buena elección para la medida de las
interacciones debido a que:
Para analizar que ocurre con la ganancia del sistema cuando se cierran los demás
lazos de control deberemos analizar otras ganancias, definidas de la forma siguiente:
¯ ¯ ¯ ¯
∆y1 ¯ ∆y1 ¯ ∆y2 ¯ ∆y2 ¯
KC11 = ∆u 1
¯ K C12 = ∆u2 ¯
K C21 = ∆u1 ¯
K C22 = ∆u2 ¯
y2 cte y2 cte y1 cte y1 cte
donde λij es la ganancia relativa entre la salida i y la entrada j. Queda por solventar el
modo de cálculo de las ganancias KCij . Éstas pueden calcularse a partir de las ganancias
de bucle abierto Kij . Para ello considérese que las ecuaciones (12.5) se pueden reescribir
mediante las definiciones (12.6):
Por tanto:
¯
∆y1 ¯¯ K12 K21 K11 K22 − K12 K21
KC11 = ¯ = K11 − =
∆u1 y2 cte K22 K22
Por tanto, una vez calculada M = [mij ] las ganancias relativas λij se obtienen mediante:
Kij
λij = = Kij mij
KCij
Λ = [λij ]
Ejemplo 12.1
U 1 T1 + U 2 T2
Y1 = U 1 + U 2 Y2 =
U1 + U2
Este modelo teórico nos permite calcular las ganancias de bucle abierto usando derivadas:
∂Y1 ∂Y1
K11 = = 1 K1 2 = =1
∂U1 ∂U2
Nótese que los emparejamientos pueden ser dependientes del punto de operación.
Efectivamente, si consideramos que
U1 = 1 l/s U2 = 2 l/s
se obtiene · ¸ · ¸
K11 K12 1 1
K= = 20 −10
K21 K22 3 3
de donde se obtiene que: · ¸
1 2
Λ= 3 3
2 1
3 3
lo que implica en este caso Y1 emparejada con U2 e Y2 emparejada con U1 . Es decir en
este caso, al contrario del anterior, la temperatura se reguları́a con el caudal de agua
caliente y el caudal de salida con el caudal de agua fria.
y de ahı́:
(I + G(s)Gc (s)H(s)) Y(s) = G(s)Gc (s)R(s) (12.12)
Podemos entonces definir la función de transferencia de bucle cerrado como:
Para que el sistema en bucle cerrado sea estable, los polos de todos los elementos
de la matriz Gbc (s) deben ser estables, es decir deben estar en el semiplano izquierdo
en el caso de sistemas continuos o dentro del cı́rculo unidad en el caso de los sistemas
discretos.
Por otra parte, el sistema estará desacoplado cuando la Gbc (s) sea diagonal. A
continuación se estudiarán las condiciones en las que esto se verifica. Supóngase que
H(s) = I, entonces:
GC1
R(s) E(s) U(s) Y(s)
Gcn Gd G
GCn
Claramente, G(s)Gc (s) es diagonal entonces Gbc (s) también lo será. Veamos que al
contrario también se verifica. Supóngase que Gbc (s) es diagonal. De la expresión ante-
rior se tiene que:
En esta expresión, Gbc (s) es diagonal y también lo es (I − Gbc (s))−1 por lo que se
puede concluir que G(s)Gc (s) es también diagonal. Por tanto, la condición necesaria
y suficiente para que Gbc (s) sea diagonal es que G(s)Gc (s) lo sea. Nótese que esto
último implica que la cadena directa en bucle abierto debe ser diagonal. Si esto se
verifica entonces el proceso de diseño se reduce a sintonizar n lazos monovariables.
donde Gd (s) es la matriz de desacoplo y Gcn (s) es una matriz diagonal que corre-
sponde a los n reguladores. Es decir, el bucle cerrado desacoplado puede conseguirse
calculando un bloque de desacoplo que diagonalice la matriz de transferencia del sis-
tema y ajustando cada bucle como si fuera un sistema monovariable independiente.
Esta estructura de control se muestra en la figura 12.4.
En el cálculo de las matrices de desacoplo puede llegarse a casos en los que las
matrices resultantes sean muy complejas o irrealizables (puede suceder cuando los
retrasos son diferentes).
CAPÍTULO 12. CONTROL DE PROCESOS MULTIVARIABLES 195
0.8
0
Y2 − U2
Y1 − U1
0.6
−2
0.4
−4
0.2 −6
0 −8
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
tiempo tiempo
Figura 12.5: Respuesta del sistema multivariable del ejemplo cuando se aplican escalones en sus en-
tradas.
Nótese que Gc (s) se puede calcular directamente a partir de G(s) y Gbc (s) mediante
la expresión:
Gc (s) = G(s)−1 Gbc (s) (I − Gbc (s))−1 (12.20)
Ejemplo 12.2
2
1
0.9
0
0.8
0.7 −2
0.6
Y2 − U2
1
Y −U
−4
0.5
1
0.4
−6
0.3
0.2
−8
0.1
0 −10
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
tiempo tiempo
Figura 12.6: Respuesta del sistema multivariable desacoplado cuando se aplican escalones en sus
entradas.
1 1
0.8 0.8
1
0.6
R −Y
0.6
2
R −Y
1
2
0.4 0.4
0.2 0.2
0 0
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
tiempo tiempo
199
200 PLANTEAMIENTO DEL PROBLEMA
-
+ CONTROLADOR + u
PLANTA
REFERENCIA AJUSTABLE
+
y
dicha comparación se ajustan los parámetros del regulador. Para ello se utiliza un
mecanismo de adaptación que en algunos casos (no siempre) también puede actuar
directamente sobre la actuación o señal de control que recibe el proceso. En algunos
casos se añade un tercer bucle que tiene como tarea la supervisión del sistema de
manera que, por ejemplo, se garantice la estabilidad del sistema en bucle cerrado o se
eviten ciertos comportamientos indeseados tales como cambios demasiado abruptos en
los parámetros del regulador ajustable.
Ambas estrategias suponen que para cualquier juego de valores de los parámetros del
sistema y las perturbaciones, existe un controlador lineal que hace que el sistema en
bucle cerrado cumpla los requisitos de diseño.
Las dos técnicas tienen sus ventajas e inconvenientes. Las ventajas del MRAC pasan
por una rápida adaptación y la posibilidad de utilizar formulaciones que garanticen
estabilidad (usando métodos de Lyapunov). Sin embargo, la capacidad de adaptación
de estas estrategias dependen en gran medida de la riqueza dinámica de la señal de
control (esto es análogo a lo que ocurre en la identificación de sistemas, véase el tema
8). Por otra parte, los STR se adaptan bien en casi todas las situaciones y son fáciles de
implementar pues admiten técnicas de programación modular. Sin embargo, también
presentan sus propios inconvenientes como se verá más adelante.
En los primeros el valor de los parámetros se obtiene buscando entre los posibles valores
aquellos que hacen óptimo un cierto criterio de comportamiento del sistema. Es decir,
202 JUSTIFICACIÓN DEL USO DE CONTROL ADAPTATIVO
Los controladores adaptativos sin criterio óptimo buscan los parámetros del contro-
lador no mediante la optimización de un criterio de funcionamiento sino entre aquellos
que cumplen unas ciertas especificaciones, por ejemplo, la colocación de los ceros y los
polos de bucle cerrado. En estos esquemas el controlador ajustable puede ser por ejem-
plo un regulador PID, un controlador dead-beat como los estudiados anteriormente o
un controlador por asignación de polos o de ceros y polos. En tiempo real se resolverá el
problema de diseñar dichos controladores, de manera que a pesar de los cambios en el
proceso se sigan cumpliendo las especificaciones de diseño.
El control adaptativo conlleva una serie de inconvenientes que pueden hacernos cues-
tionar su uso. Por ejemplo, su sintonı́a no suele ser tan sencilla como la de los clásicos
controladores PID. Por tanto, hay que ver en que situaciones puede ser ventajoso su
uso y en que situaciones es mejor quedarse con controladores más sencillos.
+ u v
f(u) G(s)
-
14
12
10
caudal (m3/h)
0
0 10 20 30 40 50 60 70 80 90 100
apertura (%)
La primera aproximación a este sistema serı́a hallar su respuesta ante escalón, para
los diversos valores de a. Como se ilustra en la figura 13.4 (izquierda), dicha respuesta
varı́a mucho en función de los valores del parámetro a, pasando de hecho de ser un
sistema estable a otro inestable. Parecerı́a que el sistema varı́a lo suficiente como para
justificar el uso del control adaptativo. Sin embargo, la configuración que realmente
nos interesa es la del sistema realimentado. En la figura 13.4 (derecha) se muestra la
respuesta del sistema en bucle cerrado (realimentación unitaria). En contra de lo que
podrı́amos suponer la respuesta en bucle cerrado es más o menos la misma, por lo que,
siendo esta la configuración en la que se va a trabajar, no serı́a necesario usar control
adaptativo.
Step Response
Step Response
700 1.4
600 1.2
500 1
400 0.8
Amplitude
Amplitude
300 0.6
200 0.4
100 0.2
0 0
0 20 40 60 80 100 120 140 160 180 200 0 2 4 6 8 10 12
Time (sec) Time (sec)
Figura 13.4: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.1).
1.5
0.9
0.8
0.7
1
0.6
Amplitude
Amplitude
0.5
0.4
0.5
0.3
0.2
0.1
0
0
0 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3
Time (sec) Time (sec)
Figura 13.5: Respuestas en bucle abierto (izquierda) y cerrado (derecha) del sistema dado en (13.2).
Es una de las técnicas más antiguas de control adaptativo y se basa, como su nombre
indica, en disponer de un modelo de bucle cerrado que es el que se desea que describa al
conjunto controlador-planta. Es decir, se debe partir de un conjunto de especificaciones
deseadas de bucle cerrado que se expresan mediante el modelo de referencia. El con-
trolador ajustable deberá adaptar sus parámetros para que el modelo de bucle cerrado
del conjunto coincida o se acerque lo más posible al modelo de referencia. La figura
13.6 muestra la configuración más popular (no es la única sin embargo) para este tipo
de controladores. En dicha figura puede observarse un controlador primario ajustable
que en principio puede ser cualqier tipo de controlador. El mecanismo de adaptación
es el que se va a encargar de ajustar los parámetros del control primario para que la
diferencia entre la salida de la planta y el modelo de referencia sea lo más pequeña
posible (es decir, que independientemente del valor inicial de esa diferencia, ésta vaya
tendiendo a cero progresivamente).
ym
MODELO DE
REFERENCIA +
-
yp
+ CONTROLADOR u
PLANTA
AJUSTABLE
REFERENCIA +
MECANISMO DE
ADAPTACIÓN
Figura 13.6: Configuración genérica de un controlador adaptativo por modelo de referencia (MRAC).
Por otra parte para el controlador primario se puede pensar en casi cualquier es-
tructura de control lineal, incluyendo los populares PI, PID, etc. . . Se deben cumplir
sin embargo varios requisitos, entre ellos que la señal de control debe ser una función
lineal de los parámetros. También (suponiéndose fijado el modelo) se debe escoger un
controlador ajustable que permita reproducir el modelo.
donde T es un periodo fijo de tiempo. La idea de la regla del MIT es ajustar el vector
de parámetros del controlador en el instante t + T , de manera que haga decrecer J. Es
decir, Z t+T
∂J ∂e(τ )
θ(t + T ) = θ(t) − Γ = θ(t) − Γ 2e(τ ) dτ (13.4)
∂θ t ∂θ
donde Γ ∈ Rn×n es una matriz definida positiva que actúa como ganancia de adaptación.
Es fácil entender que el controlador sólo tiene influencia sobre la salida de la planta,
no sobre la del modelo. Por tanto ymodelo (t) no depende de θ y al variar éste tampoco
lo hace ymodelo (t), luego
∂e(τ ) ∂yproceso (τ )
=
∂θ ∂θ
Finalmente, podemos conocer la variación instantánea de los parámetros del contro-
lador tomando T → 0 en el segundo miembro de (13.4) y teniendo en cuenta lo anterior
se llega a
dθ ∂yproceso
= −2Γe(t) (13.5)
dt ∂θ
Nótese que ∂yproceso
∂θ
representa cómo varı́a la salida del proceso frente a variaciones del
vector de parámetros, es decir la sensibilidad de yproceso (t) frente a variaciones de θ, de
ahı́ el nombre alternativo de ((enfoque de sensibilidad)).
Finalmente hay que decir que esta regla presenta diversas formulaciones alternati-
vas. De hecho la formulación original del MIT se basaba en el ı́ndice
1
J(t) = e2 (T )
2
208 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
Ejemplo 13.1
Supongamos que tenemos un proceso cuya función de transferencia viene dada por
G(s) = kF (s)
donde k0 es una ganancia conocida (es un dato de entrada del problema). El controlador
ajustable del que se dispone tiene la estructura
u = θuc
∂e(t)
= kF (s)uc (t) (13.8)
∂θ
ahora bien, de (13.7) se obtiene que
luego,
ym (t)
F (s)uc (t) =
k0
por lo que llevando esto a (13.8) se obtiene
∂e(t) k
= ym (t)
∂θ k0
La variación de los parámetros según la regla del MIT será
dθ k
= −γ ym (t)e(t)
dt k0
Nótese que se sigue desconociendo el valor de k0 , sin embargo esto no plantea problema
alguno, pues como γ es una constante cualquiera podemos agrupar las constantes que
aparecen en una sola γ 0 , de manera que la regla serı́a
dθ
= −γ 0 ym (t)e(t)
dt
1
Con el objeto de simplificar las cosas en la ecuación (13.7) se ha abusado notablemente de la
notación pues se están incluyendo simultáneamente funciones en el dominio s (de la transformada de
Laplace) y señales en el dominio temporal. Esto no es correcto y quizás serı́a mejor utilizar la notación
d
F (p) donde p = dt , es decir, sustituir las funciones en s por su equivalente en el operador derivada.
210 CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC)
Capı́tulo 14
211
212 INTRODUCCIÓN. ESTRUCTURA GENERAL DE LOS STR
REFERENCIA -
u
+ CONTROLADOR PLANTA
AJUSTABLE
y
En los STR clásicos se suele suponer que los procesos son deterministas (es decir no
se consideran fuentes de perturbaciones estocásticas como las vistas en el capı́tulo 7).
Por otra parte es común que el controlador ajustable sea del tipo PID. En realidad,
como es la estructura de un STR es modular, se puede usar cualquier combinación de
controlador/método de identificación.
siendo d el retraso.
Entre los STR podemos distinguir dos tipos de algoritmos, unos que identifican di-
rectamente los parámetros de la planta y luego diseñan el controlador para cumplir con
los requisitos (estructura explı́cita) y otros que lo que hacen es estimar el controlador
directamente sin pasar por la estimación previa de la planta (estructura implı́cita).
Los algoritmos de estructura implı́cita son más complicados desde el punto de vista
conceptual. Lo que se hace en ellos es reparametrizar el modelo de la planta y el
controlador en función de los parámetros del controlador. El esquema serı́a el mostrado
en la figura 14.2. Obsérvese en esta figura que no se está pasando por la fase de diseño del
REFERENCIA -
u
+ CONTROLADOR PLANTA
AJUSTABLE
y
IDENTIFICACIÓN
DEL MODELO
REPARAMETRIZADO
COMPORTAMIENTO
DESEADO
controlador sino que este se identifica, de manera que cumpla con las especificaciones de
diseño. Por eso en la figura 14.2 como la identificación toma como datos de entrada las
214 CONTROL POR MÍNIMA VARIANZA
Al igual que en caso anterior estos pasos se repiten cada tiempo de muestreo.
donde
A(z −1 ) = 1 + a1 z −1 + · · · + an z −n
B(z −1 ) = b1 z −1 + b2 z −2 + · · · + bn z −n
C(z −1 ) = 1 + c1 z −1 + · · · + cn z −n
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 215
y d es el retraso puro1 .
Supóngase que se desea dividir C(z −1 ) entre A(z −1 ). Dicha división de polinomios
producirá en general un polinomio cociente y un polinomio resto. El cociente lo deno-
taremos por F (z −1 ) y el resto se factoriza de manera que se denote por z −(d+1) G(z −1 ).
Por tanto podremos reescribir la conocida expresión dividendo igual a divisor por co-
ciente más resto ası́
donde
F (z −1 ) = 1 + f1 z −1 + · · · + fd z −d
A(z −1 ) B(z −1 ) −d
v(k) = y(k) − z u(k)
C(z −1 ) C(z −1 )
1
Nótese que el polinomio B(z −1 ) no tiene término independiente, lo que se refleja en la forma de
describir el proceso ARMAX en la ecuación (14.1).
216 CONTROL POR MÍNIMA VARIANZA
operando
z −1 G(z −1 ) F (z −1 )B(z −1 )
y(k + d) = F (z −1 )v(k + d) + y(k) + u(k)
C(z −1 ) C(z −1 )
A partir de esta ecuación podemos calcular J y ver que valor de u(k) hace mı́nimo J:
½ ¾2
© 2 ª © −1
ª2 F (z −1 )B(z −1 ) z −1 G(z −1 )
E y (k + d) = E F (z )v(k + d) + E u(k) + y(k)
C(z −1 ) C(z −1 )
½ µ ¶¾
−1 F (z −1 )B(z −1 ) z −1 G(z −1 )
+2E F (z )v(k + d) u(k) + y(k)
C(z −1 ) C(z −1 )
G(z −1 )
u(k) = − y(k) (14.6)
zB(z −1 )F (z −1 )
CAPÍTULO 14. REGULADORES AUTOAJUSTABLES (STR) 217
Ejemplo 14.1
yk = ayk−1 + buk−2
y por otra parte d = 1. Recordemos que se ha de dividir C(z −1 ) entre A(z −1 ) hasta que
el grado del cociente F (z −1 ) sea d, o sea en este caso F (z −1 ) tiene la forma F (z −1 ) = 1+
f1 z −1 . La figura 14.3 nos muestra la división hecha paso a paso a la manera tradicional.
Por tanto F (z −1 ) = 1 + az −1 . El resto que en este caso es a2 z −2 debe identificarse con
1 1-az-1
1-az-1 1+az-1
az-1
az-1-a2z -2
a2z -2
la expresión z −2 G(z −1 ), por lo que es evidente que en este caso G(z −1 ) = a2 . Luego
recordando la expresión (14.5) obtenemos que el regulador de mı́nima varianza para
este caso es
−z −1 a2 a2
uk = yk = − yk
(1 + az −1 )bz −1 (1 + az −1 )b
El control por mı́nima varianza tal y como se ha presentado aquı́ presenta problemas
cuando el sistema es de fase no mı́nima ya que al tener ceros inestables estos se cance-
larán mediante polos inestables. Esta situación no es deseable, por que en la práctica
puede que los ceros cambien de posición, bien por imprecisión en el modelo del sistema
o por variaciones de la dinámica del sistema. En este caso los ceros no se canceları́an
con los polos con lo cual añadirı́amos polos inestables al sistema. Evidentemente esto
último llevarı́a a la inestabilidad del sistema. Existen variaciones del regulador de mı́ni-
ma varianza que tratan este problema y además incorporan seguimiento de referencias
y ponderación del esfuerzo de control (es decir, que además de perseguir el objetivo de
218 ASIGNACIÓN DE POLOS Y CEROS
mı́nimizar las variaciones de la salida con respecto a la referencia se intenta hacer esto
usando el menor esfuerzo de control posible). La más conocida es la del regulador de
mı́nima varianza generalizado. La idea de este regulador es la de considerar el siguiente
ı́ndice de funcionamiento
n¡ ¢2 o
−1 −1 −1
J = E Q(z )y(k + d) + R(z )u(t) − P (z )ref(t + d)
G(z −1 ) C(z −1 )
u(t) = − y(t) − ref(t + d) (14.8)
zB(z −1 )F (z −1 ) zB(z −1 )F (z −1 )
w(k)
S(z−1 )
1 B(z -1 )z −d y(k)
M(z )
−1
A(z-1 )
G(z− )
1
Rm (z −1 ) −d
y(k) = z w(k) (14.9)
Pm (z −1 )
S(z −1 )B(z −1 )z −d
y(k) = w(k)
A(z −1 )M (z −1 ) + B(z −1 )G(z −1 )z −d
Rm (z −1 ) = B − (z −1 )Rm1 (z −1 )
Por otra parte se asume que, además de especificarse el retraso y los polinomios que
definen la función de transferencia deseada, como parte de los datos de entrada del
problema, se tiene un polinomio A0 (z −1 ) que se utiliza para definir S(z −1 ) mediante la
expresión
S(z −1 ) = A0 (z −1 )Rm1 (z −1 )
Con todo lo anterior y la ecuación (14.10) se llega a
Esto es una ecuación polinomial, donde las incógnitas son M1 (z −1 ) y G(z −1 ), que
puede resolverse mediante diferentes métodos2 . Quizás el más simple (pero no más
eficiente) sea plantear un sistema de ecuaciones lineales donde las incógnitas sean los
coeficientes de los polinomios M1 (z −1 ) y G(z −1 ). En cualquier caso se deben imponer
condiciones sobre los grados de dichos polinomios para que la ecuación tenga solución
única. Aplicando consideraciones algebraicas que no mostraremos aquı́, se llega a que
existen dos posibles opciones para los grados de M1 (z −1 ) y G(z −1 ),
1.
grado(G(z −1 )) = grado(A(z −1 )) − 1
grado(M1 (z −1 )) = grado(A0 (z −1 )) + grado(Pm (z −1 )) − grado(A(z −1 ))
2.
1. Cancelación de todos los ceros. Esto se puede hacer si el sistema es de fase mı́nima.
En este caso
B + (z −1 ) = B(z −1 ) B − (z −1 ) = 1 Rm (z −1 ) = Rm1 (z −1 ) = K
2. No se cancela ningún cero. Esto ocurre si todos las raı́ces de B(z −1 ) son inestables.
En este caso
M (z −1 ) = M1 (z −1 ) Rm (z −1 ) = KB(z −1 )
por lo que ahora la ecuación quedarı́a como
Con este tipo de control se puede ilustrar la diferencia entre algoritmo con estructura
implı́cita y explı́cita. Comenzaremos derivando un algoritmo con estructura implı́cita,
para ver después el de estructura explı́cita.
Nótese que multiplicando ambos miembros de la ecuación (14.11) por y(k) se obtiene
La ecuación (14.12) expresa una relación entre la entrada y la salida que constituye
un modelo reparametrizado del sistema en bucle cerrado. En dicho modelo aparecen
polinomios conocidos de antemano (A0 (z −1 ), Pm (z −1 )), el retraso d que se supone
conocido, y tres polinomios (B − (z −1 ) , M (z −1 ), G(z −1 )) que son los que deben ser
identificados (ajustados mediante un método de identificación recursivo), usando los
valores experimentales de la entrada y la salida. Obsérvese que al identificarse dicho
modelo reparametrizado se estarán identificando los parámetros del controlador además
de parte de los parámetros de la planta. Estos últimos no son sin embargo necesarios,
se pueden considerar un ((subproducto)) del proceso de identificación del controlador.
2. Calcular y aplicar
1 ¡ −1 −1
¢
u(k) = S(z )w(k) − G(z )y(k)
M (z −1 )
Este procedimiento puede presentar problemas para aquellos sistemas que sean de
fase no mı́nima. Esta mayor dificultad es inherente a los algoritmos con estructura
implı́cita, tal y como se ha comentado al comienzo del capı́tulo.
2. Factorizar B(z −1 ) = B + (z −1 )B − (z −1 ).
4. Calcular y aplicar
1 ¡ −1 −1
¢
u(k) = S(z )w(k) − G(z )y(k)
M (z −1 )
Es fácil ver que este algoritmo tiene más cálculos que el anterior, en particular la
factorización de B(z −1 ) y la resolución de la ecuación polinomial (14.11), tareas ambas
que pueden ser costosas en un hardware industrial no muy potente (además de más
complicadas de implementar). Sin embargo desde el punto de vista práctico suele tener
menos problemas.
Capı́tulo 15
15.1. Introducción
En este capı́tulo se revisaran algunas de las técnicas de control adaptativo con mayor
aplicación en la industria. Éstas no son tan ambiciosas como algunas de las presentadas
hasta ahora y sin embargo son definitivamente estrategias de control avanzado que han
demostrado ser útiles en la práctica. Además de las técnicas referidas en el tı́tulo del
capı́tulo se concluirá el temario relativo a control adaptativo con un breve repaso a
algunos sistemas comerciales.
Los reguladores adaptativos vistos hasta ahora, es decir los MRAC y STR, necesitan
para poder funcionar correctamente un conocimiento básico a priori de la planta. A fin
de poder obtener esa información lo mas fácilmente posible, los fabricantes introdujeron
en los controladores adaptativos comerciales un modo de sintonı́a previa (pre-tune), que
obtenı́a dicha información básica.
223
224 FUNCIÓN DE AUTOAJUSTE (AUTOTUNING)
ocurrió, es que se vio que para poder ajustar un PID automáticamente bastaba con la
información básica que proporcionaban los modos pre-tune de los controladores adap-
tativos.
Por otra parte, desde el mundo industrial una de las caracterı́sticas más demandadas
era una función de autoajuste inicial. Al instalarse el controlador se activarı́a dicha
función (apretando un botón en el panel de control) a lo que el controlador responderı́a
realizando una baterı́a de tests pre-programados que darı́an como resultado el ajuste
automático del controlador. Esta demanda surge de la dificultad y el engorro de ajustar
un controlador inicialmente. Lo que hicieron los fabricantes de PID fue aprovechar los
resultados obtenidos en el desarrollo de funciones pre-tune en controladores adaptativos
para dotar a sus PID de una función de autoajuste como la que demandaban los
usuarios.
Antes de tratar las distintas técnicas existentes para ajustar automáticamente PIDs
es importante hacer notar que los PIDs industriales (figura 15.1) no son exactamente
iguales a las formulaciones académicas que se enseñan en cursos básicos de control. Por
Figura 15.1: PID industrial moderno con función de autoajuste (ABB modelo ECA).
Sin entrar en demasiados detalles un PID más realista que la versión académica
vendrı́a dado por la siguiente expresión:
u(t) = f (v(t))
donde u(t) es la señal de actuación que se aplica, f (·) es una posible (se suele dar casi
siempre) no-linealidad debida al actuador y
Estas son técnicas de ajuste en bucle abierto que se basan en aplicar un escalón en
la señal de entrada del lazo que se quiere sintonizar y ajustar un modelo simple del
tipo
k
G(s) = e−sL (15.1)
1 + sT
CAPÍTULO 15. CONTROLADORES PID CON AUTOAJUSTE Y AJUSTE POR TABLA 227
Conocidos los parámetros del modelo el PID se puede ajustar usando técnicas del
tipo Ziegler-Nichols de bucle abierto. Otros métodos están basados en medida de áreas
como la que se describe a continuación. Considérese la figura 15.2. El procedimiento
para calcular T y L comienza por el cálculo de A0 . De ahı́ se determina
A0
L+T =
k
y de ahı́ se puede medir A1 , la cual se usa para obtener T mediante
eA1
T =
k
donde e es la base de los logaritmos neperianos. Una vez que se conoce L + T y T se
puede obtener L y con eso ya están estimados todos los parámetros.
A0
A1
L+T
Los métodos de ajuste basados en la respuesta transitoria son simples, pero muy
sensibles a las perturbaciones, ya que las pruebas se realizan en bucle abierto. Las
técnicas basadas en experimentos en bucle cerrado no tienen este problema. De estas
técnicas veremos la que está basada en las oscilaciones producidas al realimentar con
un relé. La estructura para realizar el ajuste es la que se muestra en la figura 15.3.
La idea clave es que la mayorı́a de los procesos exhiben oscilaciones autosostenidas
(conocidas como ciclos lı́mite1 ) cuando son realimentados con un relé en la cadena
1
El estudio de los ciclos lı́mite no pertenece a esta asignatura. Baste saber que son oscilaciones con
entrada nula o referencia constante que aparecen en ciertos sistemas y que pueden provocarse con la
estructura presentada aquı́.
228 LA TÉCNICA DE AJUSTE POR TABLA O GAIN SCHEDULING
PID
r + u y
PROCESO
-
RELÉ
directa. Los parámetros del ciclo lı́mite contienen información suficiente para calcular
los parámetros de ajuste del PID.
-
+ CONTROLADOR u
PLANTA
y
REFERENCIA AJUSTABLE
MEDIDA DE LA MECANISMO DE
VARIABLE ADAPTACIÓN
MEDIO AUXILIAR
AMBIENTE
Figura 15.4: Configuración genérica de un controlador adaptativo con adaptación en bucle abierto.
se usan en cada instante vienen determinados por una tabla precalculada para varios
puntos de funcionamiento o valores de la variable auxiliar. Este tipo de control es muy
popular, por ejemplo, en sistemas de control de vuelo, en los que los parámetros del
controlador se seleccionan de un conjunto de parámetros precalculados en función de
la altura de vuelo. Por supuesto, este tipo de control funciona bien si entre la variable
auxiliar y la dinámica del sistema existe una fuerte relación, que permite determinar
el valor de los parámetros en función del valor observado de la variable auxiliar. Una
ventaja que tiene este esquema es que los parámetros del control se pueden cambiar
(adaptar) a la misma velocidad a la que cambia la dinámica del sistema pues estos
cambios se reflejan sobre la variable auxiliar a la vez que se producen. Esta rapidez en
el cambio de los parámetros puede ser, sin embargo, contraproducente. Por otra parte la
construcción de la tabla puede ser muy complicada. De hecho no existe una metodologı́a
universal, sino que para cada aplicación ha de verse como llevar a la práctica las ideas
del gain scheduling. Por último encontrar la variable auxiliar apropiada no siempre es
posible.
11
10
8
pH
2
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
Diferencia entre las concentraciones acido−base −3
x 10
Figura 15.5: Curva de pH para una solución de HCl 0.001 M y NaOH 0.001 M.
0.9
0.8
0.7
Voltaje de salida (V)
0.6
0.5
0.4
0.3
0.2
0.1
0
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
Relación combustible − aire (λ)
Esta herramienta de control STR (figura 15.7) está basada entre otras cosas en el
control de mı́nima varianza y ofrece la capacidad de especificar la posición de 1 de los
234 CONTROLADORES ADAPTATIVOS INDUSTRIALES
polos de bucle cerrado. Utiliza mı́nimos cuadrados recursivos con factor de olvido para
Figura 15.7: La herramienta Novatune se comercializa actualmente con el sistema Advant 410 de ABB.
El Control Predictivo se desarrolló en base a dos lı́neas básicas. Por un lado, a finales
de los años setenta surgieron diversos algoritmos que usaban explı́citamente un modelo
dinámico del proceso para predecir el efecto de las acciones de control futuras en la
salida, las cuales eran determinadas minimizando el error predicho sujeto a restricciones
de operación. La optimización se repetı́a en cada instante de muestreo con información
actualizada del proceso. Estas formulaciones eran de naturaleza heurı́stica y algorı́tmica
e intentaban aprovechar el creciente potencial de los computadores digitales por aquélla
época.
Independientemente fue surgiendo otra lı́nea de trabajo en torno a las ideas del con-
trol adaptativo, desarrollando estrategias esencialmente para procesos monovariables
235
236 CONCEPTOS BÁSICOS DE CONTROL PREDICTIVO
formuladas con modelos entrada/salida. En este contexto se extendieron las ideas del
Controlador de Mı́nima Varianza y se desarrolló el Control Predictivo Generalizado
(Generalized Predictive Control gpc) que es uno de los métodos más populares en la
actualidad.
Uso explı́cito de un modelo para predecir la salida del proceso en futuros instantes
de tiempo (horizonte).
Los distintos algoritmos de mpc difieren entre sı́ casi exclusivamente en el modelo
usado para representar el proceso y los ruidos y en la función de coste a minimizar.
Aunque las diferencias puedan parecer pequeñas a priori, pueden provocar distintos
comportamientos en bucle cerrado, siendo crı́ticas para el éxito de un determinado
algoritmo en una determinada aplicación.
El mpc presenta una serie de ventajas sobre otros métodos, entre las que destacan:
Puede ser usado para controlar una gran variedad de procesos, desde aquéllos con
dinámica relativamente simple hasta otros más complejos incluyendo sistemas con
grandes retardos, de fase no mı́nima o inestables.
u(t+k|t)
u(t)
^y(t+k|t)
y(t)
N
1. En cada instante t y haciendo uso del modelo del proceso se predicen las futuras
salidas para un determinado horizonte N , llamado horizonte de predicción. Estas
salidas predichas, ŷ(t + k | t)1 para k = 1 . . . N dependen de los valores conocidos
hasta el instante t (entradas y salidas pasadas) y de las señales de control futuras
u(t + k | t), k = 0 . . . N − 1 que se pretenden mandar al sistema y que son las
que se quieren calcular.
Controles
futuros
Optimizador
Errores futuros
Para llevar a cabo esta estrategia, se usa una estructura como la mostrada en la
figura 16.2. Se hace uso de un modelo para predecir las salidas futuras del proceso,
basándose en las futuras señales de control propuestas. Estas señales son calculadas
por el optimizador teniendo en cuenta la función de coste (donde aparece el futuro
error de seguimiento) ası́ como las restricciones. Por tanto el modelo juega un papel
decisivo en el controlador. El modelo elegido debe ser capaz de capturar la dinámica del
proceso para poder predecir las salidas futuras al mismo tiempo que debe ser sencillo
de usar y de comprender.
Todos los controladores predictivos poseen elementos comunes y para cada uno de
estos elementos se pueden elegir diversas opciones, dando lugar a distintos algoritmos.
Estos elementos son:
Modelo de predicción
Función objetivo
La piedra angular del mpc es el modelo; un diseño completo debe incluir los mecan-
ismos necesarios para la obtención del mejor modelo posible, el cual debe ser lo sufi-
cientemente rico para capturar al maximo la dinámica del proceso y debe ser capaz de
permitir el cálculo de las predicciones a la vez que sea intuitivo y permita un análisis
teórico. El uso del modelo del proceso viene determinado por la necesidad del cálcu-
lo de la salida predicha en instantes futuros ŷ(t + k | t). Las diferentes estrategias
de mpc pueden usar distintos modelos para representar la relación de las salidas con
las entradas medibles, algunas de las cuales serán variables manipuladas y otras se
pueden considerar como perturbaciones medibles, que pueden ser compensadas por ac-
ción feedforward. Además se tendrá en cuenta un modelo de las perturbaciones, para
intentar describir el comportamiento que no aparece reflejado en el modelo del proce-
so, englobándose aquı́ el efecto de las entradas no medibles, el ruido y los errores de
modelado.
Para el estudio se puede separar el modelo en dos partes: el modelo del proceso
propiamente dicho y el modelo de las perturbaciones. Cualquier método usará ambas
partes para la predicción.
Casi todas las formas posibles de modelar un proceso aparecen en alguna formu-
lación de mpc siendo las más usadas las siguientes:
h2
N
gi
g
hi
h1
g2
hN
y(t) y(t)
g1
t t+1 t+2 ... t+N t t+1 t+2 ... t+N
a) b)
Figura 16.3: Respuesta impulsional y ante escalón
Respuesta ante escalón. Es muy similar al anterior sólo que ahora la señal de
entrada es un escalón. Para sistemas estables se tiene la respuesta truncada que
será
N
X
y(t) = y0 + gi 4 u(t − i) = y0 + G(z −1 )(1 − z −1 )u(t) (16.2)
i=1
donde las gi son los valores muestreados ante la entrada en escalón y 4u(t) =
u(t) − u(t − 1), según se muestra en la figura 16.3b. El valor de y0 puede tomarse
0 sin pérdida de generalidad, con lo cual el predictor será:
N
X
ŷ(t + k | t) = gi 4 u(t + k − i | t)
i=1
Posee la ventaja de que sirve también para sistemas multivariables a la vez que
permite analizar la estructura interna del proceso (aunque a veces los estados
obtenidos al discretizar no tienen ningún significado fı́sico). Los cálculos pueden
ser complicados, con la necesidad adicional de incluir un observador si los estados
no son accesibles.
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 243
C(z −1 )e(t)
n(t) =
D(z −1 )
e(t)
n(t) =
1 − z −1
uf (t − j) = u(t − j) para j = 1, 2, · · ·
uf (t + j) = u(t − 1) para j = 0, 1, 2, · · ·
244 ELEMENTOS BÁSICOS
La señal uc (t) vale cero en el pasado y corresponde a las señales de control en los
instantes futuros:
uc (t − j) = 0 para j = 1, 2, · · ·
uc (t + j) = u(t + j) − u(t − 1) para j = 0, 1, 2, · · ·
u y
Process
t t
u uc y yc
f f
t t t t
Los diversos algoritmos de mpc proponen distintas funciones de coste para la ob-
tención de la ley de control. En general se persigue que la salida futura en el horizonte
considerado siga a una determinada señal de referencia al mismo tiempo que se puede
penalizar el esfuerzo de control requerido para hacerlo. La expresión general de tal
función objetivo será:
N2
X Nu
X
2
J(N1 , N2 , N u) = δ(j)[ŷ(t + j | t) − w(t + j)] + λ(j)[4u(t + j − 1)]2 (16.3)
j=N1 j=1
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 245
real. Normalmente será una suave aproximación desde el valor actual de la salida
y(t) a la referencia conocida mediante un sistema de primer orden:
w(t) = y(t) w(t + k) = αw(t + k − 1) + (1 − α)r(t + k) k = 1 . . . N (16.4)
α es un parámetro comprendido entre 0 y 1 (mientras más próximo a 1 más
suave será la aproximación) que constituye un valor ajustable que influirá en
la respuesta dinámica del sistema. En la figura 16.5 se muestra la forma de la
trayectoria cuando la referencia r(t + k) es constante y para dos valores distintos
de α; para valores pequeños de este parámetro se tiene un seguimiento rápido
(w1 ) mientras que si aumenta, la trayectoria de referencia será w2 dando lugar a
una respuesta más suave.
r(t+k)
w1(t+k)
w2 (t+k)
y(t)
t
Figura 16.5: Trayectoria de referencia
4u(t + j − 1) = 0 j > Nu
lo cual es equivalente a dar pesos infinitos a las cambios en el control a partir de cierto
instante. El caso lı́mite serı́a considerar N u igual a 1 con lo que todas las acciones
futuras serı́an iguales a u(t)2 .
2
Recuérdese que debido al horizonte deslizante, la señal de control se recalcula en el siguiente
muestreo.
248 REVISIÓN DE LOS PRINCIPALES ALGORITMOS
Este método usa la respuesta ante escalón (16.2) para modelar el proceso, con-
siderando sólo los N primeros términos, asumiendo por tanto que el proceso es estable.
En cuanto a las perturbaciones, se considera que su valor permanence constante e
igual al existente en el instante actual durante todo el horizonte, es decir, igual al valor
medido de la salida (ym ) menos el estimado por el modelo ŷ(t | t)).
k
X N
X
ŷ(t + k | t) = gi 4 u(t + k − i) + gi 4 u(t + k − i) + n̂(t + k | t)
i=1 i=k+1
donde el primer término contiene las acciones de control futuras (que serán calculadas),
el segundo los valores pasados de las acciones de control (conocidas) y el último rep-
resenta las perturbaciones. La función de coste puede considerar sólo errores futuros o
incluir también el esfuerzo de control, en cuyo caso toma la forma genérica (16.3).
Una de las caracterı́sticas de este método que lo ha hecho muy popular en la in-
dustria es la inclusión de restricciones, que se traduce en inecuaciones de la forma
genérica:
N
X j j
Cyi ŷ(t + k | t) + Cui u(t + k − i) + cj ≤ 0 j = 1 . . . Nc
i=1
En este caso la optimización debe ser numérica y se lleva a cabo en cada periodo de
muestreo, enviándose la señal u(t) y recalculando todo en el nuevo periodo de muestreo,
como en todos los métodos mpc. Los principales inconvenientes de este método son el
tamaño del modelo empleado y la imposibilidad de tratar procesos inestables.
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 249
Este método se conoce también como Model Predictive Heuristic Control y el pro-
ducto comercial se llama idcom (Identification-Command). Es muy similar al dmc con
la diferencia principal de usar un modelo de respuesta impulsional (16.1). Introduce el
concepto de trayectoria de referencia como un sistema de primer orden que evoluciona
desde la salida actual al setpoint según una determinada constante de tiempo. La var-
ianza del error entre esta trayectoria y la salida es lo que marca la minimización de la
función objetivo. Las perturbaciones se pueden tratar como en el método anterior o se
pueden estimar según la siguiente expresión:
n̂(t + k | t) = αn̂(t + k − 1 | t) + (1 − α)(ym (t) − ŷ(t | t))
con n̂(t | t) = 0. α es un parámetro ajustable (0 ≤ α < 1) relacionado con el tiempo
de respuesta, el ancho de banda y la robustez del bucle cerrado. El método también
considera restricciones en los actuadores, en las variables internas o en salidas secun-
darias.
Este controlador fue desarrollado por Richalet para procesos rápidos. Emplea un
modelo en el espacio de estados, por lo que permite el manejo de procesos inestables,
y también la extensión al caso no lineal. Este esquema de control tiene dos carac-
terı́sticas que lo distinguen del resto de controladores de la familia: el uso de puntos de
coincidencia y de funciones base.
Normalmente estas funciones son de tipo polinómico: escalones (B1 (k) = 1), rampas
(B2 (k) = k) o parábolas (B3 (k) = k 2 ), ya que la mayorı́a de referencias se pueden es-
pecificar como combinación de estas funciones. Con esta estrategia, un perfil de entrada
250 REVISIÓN DE LOS PRINCIPALES ALGORITMOS
Puntos de coincidencia
donde d es el retardo y v(t) la perturbación. Este modelo puede ampliarse para tratar
perturbaciones medibles añadiendo un término D(z −1 )d(t) para incluir efecto feedfor-
ward. La estructura de la ley de control es muy simple, ya que se considera que la señal
de control permanecerá constante a partir del instante t (es decir, horizonte de control
igual a 1): 4u(t + k) = 0 para k > 0. Para obtener la señal de control de minimiza una
función de coste de la forma:
N
X
γ(k)[w(t + k) − P (z −1 )ŷ(t + k | t)]2
k=d
CAPÍTULO 16. CONTROL PREDICTIVO BASADO EN MODELO (MPC) 251
Este método propuesto por Clarke et al. emplea un modelo carima (Controlled
Auto-Regressive Integrated Moving Average) para la predicción de la salida:
e(t)
A(z −1 )y(t) = B(z −1 )z −d u(t − 1) + C(z −1 )
4
donde la perturbación viene dada por un ruido blanco coloreado por el polinomio
C(z −1 ). Como en la práctica es difı́cil encontrar el verdadero valor de este polinomio,
se puede emplear como parámetro de diseño para rechazo de perturbaciones o mejora de
la robustez. La predicción óptima se lleva a cabo resolviendo una ecuación diofántica,
lo cual puede hacerse eficazmente de forma recursiva.
Este algoritmo, al igual que otros que usan el modelo de función de transferencia,
se puede implementar fácilmente en forma adaptativa usando un algoritmo de identi-
ficación en lı́nea como los mı́nimos cuadrados recursivos.
Las bases teóricas del algoritmo gpc has sido ampliamente estudiadas y se puede
demostrar que, para distintos conjuntos de parámetros, el algoritmo es estable y que
otros controladores como por ejemplo el dead beat son casos incluidos en éste.
Capı́tulo 17
Controladores predictivos
El método Dmc se desarrolló a finales de los setenta por Cutler y Ramaker de Shell
Oil Co. y ha sido aceptado ampliamente en el mundo industrial, principalmente por
las industrias petroquı́micas. Actualmente dmc es algo más que un algoritmo y parte
de su éxito se debe al hecho de que el producto comercial resuelve otros temas como
identificación u optimización global de la planta. En esta sección sólo se analiza el
algoritmo standard sin abordar detalles técnicos propios del producto de mercado que
no son de dominio público.
Pero a pesar de este éxito en la práctica, este método adolece quizás de la ausencia
de un análisis teórico maś completo que estudie la influencia de los parámetros de
diseño (horizontes, secuencias de ponderación) sobre la estabilidad del bucle cerrado
ası́ como de resultados de robustez.
17.1.1. Predicción
253
254 DYNAMIC MATRIX CONTROL
∞
X
f (t + k) = ym (t) + (gk+i − gi ) 4 u(t − i) (17.1)
i=1
ŷ(t + 1 | t) = g1 4 u(t) + f (t + 1)
ŷ(t + 2 | t) = g2 4 u(t) + g1 4 u(t + 1) + f (t + 2)
..
.
p
X
ŷ(t + p | t) = gi 4 u(t + p − i) + f (t + p)
i=p−m+1
ŷd = D d + fd
256 DYNAMIC MATRIX CONTROL
f = fu + D d + fd + fn
ŷ = Gu + f
El objetivo del controlador dmc es llevar el proceso los más cerca posible al setpoint
en el sentido de mı́nimos cuadrados con la posibilidad de incluir una penalización en los
movimientos de la señal de control. Por ello se seleccionan las variables manipuladas de
forma que minimicen un objetivo cuadrático que puede incluir sólo los errores futuros
p
X
J= [ŷ(t + j | t) − w(t + j)]2
j=1
w +
u y
K Proceso
-
f
Calculo
Resp. libre
Recuérdese que, como en todas las estrategias predictivas, sólo se envı́a al proceso
el primer elemento del vector u (4u(t)). No es aconsejable implementar la secuencia
completa sobre los siguientes m intervalos, ya que al ser imposible estimar de forma
exacta las perturbaciones, no es posible anticiparse a las perturbaciones inevitables que
provocan que la salida real difiera de las predicciones que se emplean para calcular la
secuencia futura de acciones de control. Además, el setpoint puede cambiar durante los
próximos m intervalos.
P. operacion
Zona segura 1 optimo
Punto operacion 1
Restriccion
zona Punto operacion 2
segura 2
Restriccion
que deben tenerse en cuenta para la minimización. Como se ha visto, las salidas se
pueden expresar en función del vector de incrementos de control a través de la matriz
dinámica, por que las restricciones tanto en la entrada como en la salida se pueden
recoger en una desigualdad matricial de la forma Ru ≤ c, como se verá con más
detalle en el tema dedicado a restricciones. Ahora la minimización es un problema de
Programación Cuadrática qp, cuya solución es numérica.
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 259
Todo lo relacionado con las restricciones será abordado con mayor grado de detalle
en el tema dedicado a ello.
teniendo en cuenta que la respuesta libre de la salida i depende tanto de valores pasados
de yi como de valores pasados de todas las señales de control.
Cada submatriz Gij contiene los coeficientes de la respuesta ante escalón i-ésima
correspondiente a la entrada j-ésima. El proceso de minimización es análogo sólo que la
ponderación tanto de los errores como de los esfuerzos de control se realiza con matrices
de peso.
260 CONTROL PREDICTIVO GENERALIZADO
El Control Predictivo Generalizado gpc fue propuesto por Clarke et al. en 1987
y se ha convertido en uno de los métodos más populares en el ámbito del Control
Predictivo tanto en el mundo industrial como en el académico. Se ha empleado con
éxito en numerosas aplicaciones industriales, mostrando buenas prestaciones a la vez
que un cierto grado de robustez respecto a sobreparametrización o retardos mal cono-
cidos. Puede resolver muchos problemas de control diferentes para un amplio campo de
procesos con un número razonable de variables de diseño, que son especificadas por el
operario dependiendo del conocimiento previo del proceso y de los objetivos de control.
La idea básica del gpc es calcular una secuencia de futuras acciones de control
de tal forma que minimice una función de coste multipaso. El ı́ndice a minimizar es
una función cuadrática que mide por un lado la distancia entre la salida predicha del
sistema y una cierta trayectoria de referencia hasta el horizonte de predicción, y por
otro el esfuerzo de control necesario para obtener dicha salida.
El Control Predictivo Generalizado tiene muchas ideas en común con otros con-
troladores predictivos previamente mencionados ya que está basado en las mismas
ideas pero posee a su vez algunas diferencias. Como se verá más adelante, es capaz de
proporcionar una solución explı́cita (en ausencia de restricciones), puede trabajar con
procesos inestables o de fase no mı́nima e incorpora el concepto de horizonte de control
ası́ como la consideración en la función de coste de ponderación de los incrementos en
las acciones de control. Las diversas posibilidades disponibles para el gpc conducen a
una gran variedad de objetivos de control comparado con otras realizaciones, algunas
de las cuales pueden ser consideradas como subconjuntos o casos lı́mites del gpc.
La mayorı́a de los procesos de una sola entrada y una sola salida (single-input single-
output, siso), al ser considerados en torno a un determinado punto de trabajo y tras
ser linealizados, pueden ser descritos de la siguiente forma:
A(z −1 )y(t) = z −d B(z −1 )u(t − 1) + C(z −1 )e(t)
donde u(t) y y(t) son respectivamente la señal de control y la salida del proceso y e(t)
es un ruido blanco de media cero. A, B y C son los siguientes polinomios en el operador
de desplazamiento hacia atrás z −1 :
A(z −1 ) = 1 + a1 z −1 + a2 z −2 + ... + ana z −na
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 261
donde ŷ(t + j | t) es la predicción óptima j pasos hacia delante de la salida del proceso
con datos conocidos hasta el instante t, N1 y N2 son los horizontes mı́nimo y máximo
de coste, N u es el horizonte de control y δ(j) y λ(j) son las secuencias de ponderación
mientras que w(t + j) es la futura trayectoria de referencia, que se puede calcular según
se muestra en la figura 16.5. En muchas situaciones se considera δ(j) igual a 1 y λ(j)
constante.
donde Gj (z −1 ) = Ej (z −1 )B(z −1 )
Supóngase que se utiliza el mismo procedimiento para obtener Ej+1 y Fj+1 , es decir,
dividir 1 entre Ã(z −1 ) hasta que el resto se pueda factorizar como z −(j+1) Fj+1 (z −1 ) con
Está claro que solamente es necesario dar un paso más en la división para obtener
los polinomios Ej+1 y Fj+1 . Al ser Ej+1 el nuevo cociente de la división, será igual al
cociente que habı́a hasta el momento (Ej ) más un nuevo término, que será el fj,0 pues
el divisor (Ã) es mónico. Por tanto:
Teniendo en cuenta que el nuevo resto será el resto anterior menos el producto del
cociente por el divisor, los coeficientes del polinomio Fj+1 se pueden expresar como:
Donde
ŷ(t + d + 1 | t) 4u(t)
ŷ(t + d + 2 | t) 4u(t + 1)
y = .. u= ..
. .
ŷ(t + d + N | t) 4u(t + N − 1)
g0 0 ... 0
g1 g0 ... 0
G = .. .. .. ..
. . . .
gN −1 gN −2 ... g0
z(Gd+1 (z −1 ) − g0 )
z 2 (Gd+2 (z −1 ) − g0 − g1 z −1 )
0 −1
G (z ) = ..
.
z N (Gd+N (z −1 ) − g0 − g1 z −1 − · · · − gN −1 z −(N −1) )
Fd+1 (z −1 )
Fd+2 (z −1 )
−1
F(z ) = ..
.
Fd+N (z −1 )
Al depender los últimos términos de la ecuación (17.9) sólo del pasado, pueden
agruparse en f, dando lugar a:
y = Gu + f (17.10)
Obsérvese que es la misma expresión que se obtuvo para el dmc, aunque en este
caso la respuesta libre es distinta.
CAPÍTULO 17. CONTROLADORES PREDICTIVOS 265
donde:
H = 2(GT G + λI)
b = 2(f − w)T G
f0 = (f − w)T (f − w)
E1 (z −1 ) = 1 F1 (z −1 ) = 1,8 − 0,8z −1
Con estos valores y el polinomio B(z −1 ) = 0,4 + 0,6z −1 , los elementos Gi (z −1 ) resultan
ser:
Como sólo se necesita el valor de 4u(t) para los cálculos, sólo se emplea realmente la
primera fila de la matriz, con lo que resulta la siguiente expresión para la ley de control:
Al igual que en el dmc todo lo visto para el caso de sistemas con una sola entrada
y una sola salida se puede extender al caso multivariable, aunque los cálculos son más
complejos.
donde A(z −1 ) y C(z −1 ) son matrices polinomiales mónicas de dimensión n×n y B(z −1 )
es una matriz polinomial de dimensión n × m, definidos como:
En la práctica todos los procesos están sujetos a restricciones. Los actuadores tienen
un campo limitado de acción impuesto por lı́mites fı́sicos (por ejemplo una válvula no
puede abrir más de un 100 % o un calentador no puede aportar más de su potencia
máxima. También existen lı́mites de seguridad (por ejemplo presiones o temperaturas
máximas), requerimientos tecnológicos (por ejemplo mantener temperaturas en un ran-
go dado), limitaciones de calidad del producto (no salirse de cierta zona) o normativa
medioambiental.
269
270 RESTRICCIONES EN CONTROL PREDICTIVO
P
Pmax
P1
P2
t Q1 Q2 Q
u(t+1) u(t+1)
u max u max
uc u uc u
a) b)
Figura 18.2: Restricciones en la señal de control
está optimizando.
Para formular el algoritmo mpc con restricciones hay que expresar éstas en función
de la variable sobre la que se puede actuar, es decir, en función de u. Las restricciones
en la entrada están ya expresadas en función de u y para las restricciones en la salida
se hace uso de las ecuaciones de predicción que expresan el valor futuro de las salidas
en función de las señales de control futuras y valores conocidos en el instante t.
y = Gu + f
por lo que tanto entradas como salidas se pueden expresar en función del vector de
incrementos de la señal de control.
272 RESTRICCIONES EN CONTROL PREDICTIVO
U ≤ u(t) ≤ U ∀t
u ≤ u(t) − u(t − 1) ≤ u ∀t
y ≤ y(t) ≤ y ∀t
1 U ≤ T u + u(t − 1) 1 ≤ 1 U
1u ≤ u ≤ 1u
1y ≤ Gu + f ≤ 1y
Restricciones duras como aquéllas que no se pueden violar bajo ningún concepto.
En este grupo se incluyen las restricciones relacionadas con la operación segura
del proceso.
Restricciones blandas, que son aquéllas que pueden ser violadas en un momento
dado por no ser cruciales, pero la violación se penaliza en la función objetivo
como un término más. Es una forma de relajar la restricción.
minimizar J(u)
sujeto a Ru ≤ c
Resulta evidente que la carga de cálculo será considerable, ya que hay que encontrar
la solución resolviendo el algoritmo iterativo en cada periodo de muestreo. Normalmente
el esfuerzo está justificado por el beneficio económico obtenido al trabajar más cerca del
punto de operación óptimo. Para resolver el problema qp existen diversos algoritmos
suficientemente probados.
En cualquier caso es un tema muy abierto, sobre todo si se quieren considerar las
incertidumbres en el modelo y los temas asociados con la factiblidad.
Las soluciones no factibles aparecen con mayor frecuencia en casos en que el óptimo
se encuentre cerca de las restricciones y el sistema esté sujeto a perturbaciones, llevando
a la salida a regiones prohibidas”.
CAPÍTULO 18. OTROS ASPECTOS DEL CONTROL PREDICTIVO 275
Límites físicos
Restricciones reales
Límites de operación
Limites de operación: son fijados por los operarios para mantener las condiciones
nominales de funcionamiento. Se pueden sobrepasar bajo ciertas circunstancias
Limites reales: son los que usa el algoritmo de control en cada instante. Son los
que proporciona el gestor de restricciones, quien debe calcularlos de forma que
nunca superen los limites fı́sicos.
Es decir, el gestor de restricciones calculará los lı́mites reales (los que se envı́an al
algoritmo qp) en base a los lı́mites de operación pero sin salirse nunca de los lı́mites
fı́sicos, según se observa en la figura 18.3.
2. Eliminación de restricciones.
3. Relajación de restricciones.
4. Otras técnicas.
2. Eliminación de restricciones
Eliminación jerárquica En este caso sólo se eliminan las restricciones que provocan
problemas de incompatibilidad. En este método se asigna en la etapa de diseño una
prioridad a cada restricción, que da un grado de importancia relativa de dicha restric-
ción frente a las otras. Esta prioridad se usará para clasificar las restricciones de una
forma jerárquica (se asigna un número que indica su posición en la jerarquı́a). De este
modo, cada vez que haya problemas de factibilidad o existencia de solución el gestor
de restricciones va eliminando por orden las restricciones menos prioritarias hasta que
se restablece la factibilidad de la solución, que se chequea cada periodo de muestreo
para reinsertar restricciones que hubieran sido temporalmente eliminadas.
3. Relajación de restricciones
4. Otras técnicas
Existen técnicas que se basan en la manipulación del horizonte mı́nimo de las restric-
ciones. Algunos controladores industriales como el qdmc usan el concepto de constraint
window. La constraint window comienza en algún punto en el futuro y continúa hasta
el estado estacionario. Si existe dinámica del tipo de fase no mı́nima, se pueden mejorar
las prestaciones desplazando la ventana hacia el futuro, lo que equivale a ignorar las
restricciones duras en la salida durante la fase inicial de la respuesta.
278 RESTRICCIONES EN CONTROL PREDICTIVO