SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-1 3. Estabilidad de sistemas discretos. 3.1. Discretización de sistemas continuos. 3.1.1. Conversión a ecuación de diferencias de la ecuación diferencial de un elemento continuo. Cuando un componente continuo forma parte de un sistema de control discreto, resulta importante poder calcular su respuesta a señales muestreadas y asimismo analizar su influencia sobre la estabilidad global del sistema. Si se cuenta con la descripción analítica del elemento continuo bajo la forma de una ecuación diferencial ordinaria lineal, resulta posible discretizarla, es decir convertirla en una ecuación de diferencias. Sea dny d n −1 y dy d mu du a a a y b + + + + = + + b1 + b0u n −1 1 0 m n n −1 m dt dt dt dt dt (3.1) la ecuación diferencial del elemento continuo de la Fig. 3.1. u(t) Elemento Continuo y(t) Fig. 3.1. Si la señal u(t) es muestreada con período T e interesa conocer los valores de y(t) en los instantes de muestreo, la ecuación (3.1) puede ser discretizada, reemplazando las derivadas primeras por diferencias retrógradas sobre el período de muestreo. dy ∆y (kT ) y (kT ) − y ( (k − 1)T ) ≈ = dt t = kT T T (3.2) Las derivadas de orden superior se forman como diferencias de diferencias: ∆ y (kT ) 1 y (kT ) − y ( (k − 1)T ) y ( (k − 1)T ) − y ( (k − 2)T ) d2y ≈ 2 2 = − 2 dt t = kT T T T T (3.3) = y (kT ) − 2 y ( (k − 1)T ) + y ( (k − 2)T ) T2 ∆ 3 y (kT ) y (kT ) − 3 y ( (k − 1)T ) + 3 y ( (k − 2)T ) − y ( (k − 3)T ) d3y ≈ = dt 3 t = kT T3 T3 (3.4) SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-2 y así sucesivamente. Observamos que las expresiones (3.2) a (3.4) son tanto más exactas cuanto menor sea el período de muestreo T respecto de las constantes de tiempo dominantes del elemento lineal. Remplazando en (3.1) las derivadas por las correspondientes diferencias obtenemos y (kT ) + α1 y ( (k − 1)T ) + α 2 y ( (k − 2)T ) + + α n y ( (k − n)T ) (3.5) = β 0u (kT ) + β1u ( (k − 1)T ) + + β m u ( (k − m)T ) esta ecuación de diferencias representa una relación entre un número n de valores precedentes de la señal de salida y los m valores anteriores de la señal de excitación. Obsérvese que m y n se corresponden con el orden de las derivadas presentes en la ecuación diferencial original (3.1). Por cierto, aplicando transformación z sobre (3.5), podemos obtener la función de transferencia de pulsos correspondiente al elemento discretizado. Y ( z ) 1 + α1 z −1 + α 2 z −2 + + α n z − n = U ( z ) β 0 + β1 z −1 + + β m z − m (3.6) β 0 + β1 z + + β m z Y ( z ) . = U ( z ) 1 + α1 z −1 + α 2 z −2 + + α n z − n −1 −m 3.1.2. Transformación z exacta. Muy frecuentemente la operación de una planta continua se encuentra insertada en una lazo discreto de control, recibiendo la señal del controlador digital a través de un actuador que es operado por un convertidor A/D dotado de un dispositivo de retención. La variable controlada es medida y convertida en señal digital a través de un conversor A/D que opera como muestreador, de acuerdo al esquema general de las figuras (2.1) y (2.3) del capítulo precedente, cuyas principales características resumimos en la Fig. 3.2. DEL CONTROLADOR DIGITAL u* U ( z ) 1 − e −Ts s G (s) CONV. D/A CON RETENCION PLANTA CONTINUA y(t) A/D y(kT) Y ( z ) CONV. A/D y MUESTREADOR Fig. 3.2 Planta continua bajo control discreto. Nuestra tarea consistirá en calcular la función de transferencia de pulsos de la planta continua cuya función de transferencia es (3.7), complementada por el dispositivo de retención para un cierto valor del período T de muestreo. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-3 G (s) = bm s m + + b1s + b0 s n + + a1s + a0 (3.7) Observemos que el problema propuesto ya ha sido resuelto para un caso particular en el punto 2.3.2. (expresiones (2.65) a (2.68)) del capítulo precedente. Formalmente entonces tendremos: 1 − e−Ts z − 1 G(s) Y ( z ) G o ( z ) = =Z ⋅ G(s) = Z U ( z ) z s s (3.8) G(s) puede ser descompuesta en fracciones parciales. Denominaremos Rλ a los residuos calculados sobre los polos sλ , supuestos simples, de G(s). n Rλ (G ) λ =1 s − sλ G (s) = ∑ (3.9) Por la propiedad de linealidad de la trasformación z, resulta posible transformar los sumandos originados por (3.9) en forma individual y luego sumarlos, con lo que (3.8) queda: z − 1 −1 n Rλ (G ) G o ( z ) = Z L ∑ z λ =1 s ( s − sλ ) t = kT (3.10) Para sλ ≠ 0 resulta de acuerdo a la tabla del Apéndice A: ( ) −1 R (G ) − R 1 − e sλT z λ λ Z L . = sλ T s ( s − sλ ) t = kT sλ ( z − 1) z − e ( ) (3.11) Para sλ = 0 aparece un polo doble en el origen, y es Rλ (G ) T Rλ z . = 2 2 s t = kT ( z − 1) Z L−1 (3.12) En cada sumando se puede simplificar (z–1) del denominador con el factor de la sumatoria (3.10). Una z en el numerador se puede asimismo simplificar con el divisor de la sumatoria. Empleando la definición zλ = e sλ T se obtiene para sλ ≠ 0 n R (G ) 1 − zλ G o ( z ) = −∑ λ ⋅ . sλ z − zλ λ =1 (3.13) SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-4 Por cierto, si se dispone de Matlab, se procederá como se hizo en el punto 2.3.2, empleando la función c2d(sys,T,'zoh') para convertir el sistema continuo sys en discreto empleando un dispositivo de retención de orden cero 'zoh'. 3.1.3. Transformación z aproximada. La transformación z exacta emplea la relación z = eTs , por lo que en principio debiera ser posible emplear la relación inversa s = ln(z)/T, para transformar la función de transferencia continua. Lamentablemente la relación inversa no conduce a una función de transferencia racional en z. En consecuencia, se buscan relaciones simples que, aunque aproximadas, conduzcan a cocientes polinómicos sencillos. 1 que representa a un integrador, s buscaremos funciones discretas que aproximen la integración. Partiendo de la función de transferencia continua G ( s ) = Recordando el método numérico de integración por la regla del rectángulo tenemos dos posibilidades: operar con la suma superior o con la suma inferior sobre el paso de integración T, que por cierto coincide con nuestro período de muestreo. Suma superior: y [ k ] = y [ k − 1] + T u [ k ] 1 Y ( z ) 1 − = T U ( z ) z → Y ( z ) T z = ; U ( z ) z − 1 Suma inferior: y [ k ] = y [ k − 1] + T u [ k − 1] → 1 1 Y ( z ) 1 − = T U ( z ) z z Y ( z ) T = . U ( z ) z − 1 (3.14) (3.15) Tenemos entonces inicialmente dos alternativas de sustitución para la variable s 1 Tz ≈ , s z −1 es decir: s ≈ z −1 Tz (3.16) 1 T ≈ , s z −1 es decir: s ≈ z −1 . T (3.17) o bien Una mejor aproximación al integrador continuo es la que proporciona la regla del trapecio para la integración numérica y [ k ] = y [ k − 1] + T ( u [ k ] + u [ k − 1]) 2 → 1 T 1 Y ( z ) 1 − = 1 + U ( z ) z 2 z (3.18) SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-5 Y ( z ) T z + 1 = ⋅ , U ( z ) 2 z − 1 (3.19) que conduce a la substitución 1 T z +1 ≈ ⋅ , s 2 z −1 es decir s ≈ 2 z −1 ⋅ . T z +1 (3.20) Notamos por una parte que la regla del trapecio corresponde a la semisuma de los resultados que brindan la suma inferior y la suma superior de la regla del rectángulo: de (3.16) y (3.17) obtenemos (3.20) 1 Tz T T z +1 . + = ⋅ 2 z − 1 z − 1 2 z − 1 Por otra parte, del desarrollo en serie del logaritmo de variable compleja z − 1 1 z − 1 3 1 z − 1 5 ln( z ) = 2 + + + z + 1 3 z + 1 5 z + 1 (3.21) truncado en el primer término, también se obtiene: s≈ 2 z −1 ⋅ , T z +1 (3.22) que es denominada fórmula de Tustin. Y ( z ) U ( z ) U ( z ) Y ( z ) U ( z ) Y ( z ) Suma superior Suma inferior Regla del trapecio (Tustin) Fig. 3.3 Realizaciones de integradores discretos. 3.1.4. Comparación gráfica de las transformaciones z exacta y sus aproximaciones. La transformación z exacta (Fig. 3.4) transforma rectas paralelas al eje imaginario del plano s en circunferencias centradas en el origen de z. El eje imaginario es transformado en la circunferencia unitaria del plano z. Rectas paralelas al eje real de s se mapean en rectas que pasan por el origen del plano z. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-6 Fig. 3.4 Transformación exacta. La transformación según la suma inferior por la regla del rectángulo, brinda una mala aproximación (véase Fig. 3.5). Fig. 3.5 Mapeo por suma inferior (regla del rectángulo). Aplicando la transformación por la suma superior, obtenemos la Fig. 3.6: Fig. 3.6 Mapeo por suma superior (regla del rectángulo). Para períodos de muestreo pequeños con respecto a las constantes de tiempo dominantes del sistema, la aproximación de Tustin (regla de integración del trapecio) brinda un mapeo relativamente bueno. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-7 Fig. 3.7 Mapeo por la fórmula de Tustin (regla trapecial). 3.2. Análisis de estabilidad. 3.2.1. Definiciones y condiciones generales de estabilidad. Al igual que en el caso continuo, un sistema discreto es estable si, sometido a una señal de entrada de amplitud limitada, responde con una señal de salida también limitada. Un sistema de tiempo discreto que es excitado por una secuencia acotada |u(k)| < c posee estabilidad de entrada/salida (en inglés BIBO1 stability) si su respuesta impulsiva converge hacia cero para k → ∝ lim g (k ) = 0 . k →∞ (3.23) La función de transferencia de pulsos es la transformada z de la respuesta impulsiva G ( z ) = Z { g (k )} , (3.24) y puede ser descompuesta en fracciones parciales, cuando se conocen sus polos (raíces del denominador). En caso de polos simples se obtiene n R z G ( z ) = ∑ λ λ =1 z − zλ (3.25) siendo zλ los polos y Rλ los residuos correspondientes. Por otra parte y de acuerdo a la expresión (B.15) del Apéndice B, g(k) admite el desarrollo en serie n g (k ) = ∑ Rλ zλk −1 . λ =1 1 BIBO = Bounded Input Bounded Output (entrada acotada salida acotada). (3.26) SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-8 Vemos que para que g(k) converja hacia cero para k → ∝, es necesario que cada uno de los sumandos de (3.26) tienda a cero, lo cual obviamente requiere que | zλ | < 1. El mismo análisis es igualmente válido para polos múltiples. Hemos demostrado entonces que un sistema de tiempo discreto es estable, cuando todos los polos de la función de transferencia de pulsos se encuentran en el interior del círculo unitario en el plano z. El desarrollo de las herramientas de software para simulación de sistemas discretos, induce la tendencia simplista de querer comprobar la estabilidad en forma ‘directa’ simulando la respuesta del sistema a una entrada conocida. Si la simulación da estable, entonces el sistema debiera ser estable. Pero ello no es necesariamente verdadero, tal como lo demuestra el siguiente ejemplo, desarrollado a partir de la Fig. 3.8. xe 2 − 3s ( s + 1) ( s − 1) 2 + 1 1 − e −Ts s xa Fig. 3.8 Ejemplo de oscilaciones ocultas. z La excitación de entrada es un escalón xe(kT) =σ(kT) con transformada X e ( z ) = . z −1 La salida se calcula con las tablas del Apéndice A: z − 1 2 − 3s X a ( z ) = X e ( z ) Z 2 z ( s + 1) ( s − 1) + 1 (3.27) 1 1 1 z z z e sin(T ) = Z − − − − 2 = 2 −T z − 2 zeT cos(T ) + e2T s s + 1 ( s − 1) + 1 z − 1 z − e T con lo que xa (kT ) = 1 − e − kT − ekT sin(kT ) (3.28) En (3.28) el término senoidal posee amplitud creciente, debido a la exponencial positiva. Ahora bien, si el período de muestreo es T=π, el seno desaparece y la respuesta que se obtiene es xa (kπ ) = 1 − e − kπ (3.29) aparentemente estable. La inestabilidad ha quedado ‘oculta’ enmascarada por un valor del período de muestreo que no permite su observación. Lo que acabamos de exponer se grafica en la Fig. 3.9, donde se observa claramente la inestabilidad de la salida para un período de muestreo diferente de T=π. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-9 Fig. 3.9 Respuestas al escalón del sistema de la Fig 3.8 para diferentes tiempos de muestreo. 3.2.2. Condiciones numéricas de estabilidad. En este apartado daremos algunos criterios, mediante los cuales puede probarse si las raíces de un polinomio P( z ) = a0 + a1 z + a2 z 2 + + an z n = 0, con an = 1 (3.30) se encuentran en el interior del círculo unitario del plano z. Por supuesto, puede objetarse que disponiendo de Matlab o de otro software aplicativo matemático, el problema práctico de la determinación de las raíces de un polinomio se encuentra resuelto y por lo tanto pudiera parecer ocioso hablar de condiciones numéricas de estabilidad. Sin embargo estas condiciones y los métodos asociados a las mismas permiten resolver problemas generalizados, tales como las determinación de rangos de parámetros de controladores que aseguren el funcionamiento estable del sistema discreto. 3.2.2.1. Transformación bilineal. Empleando la transformación bilineal z= 1+ w 1− w (3.31) el interior del círculo unitario en z, se mapea sobre el semiplano izquierdo de w. En consecuencia, el problema de determinar la existencia de raíces de P(z) en el interior del círculo unitario se reduce a determinar si todas las raíces de P(w) se encuentran en el semiplano izquierdo de w por aplicación del criterio de Routh2 sobre P(w). 2 Véase al respecto: K. Ogata, Ingeniería de Control Moderna, capítulo 6. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-10 Como la transformación bilineal resulta en la práctica un método trabajoso de aplicar, existe la tendencia de emplear otros criterios que brindan condiciones aplicables directamente sobre P(z). 3.2.2.2. Condiciones necesarias. Para evitar cálculo innecesarios, es siempre conveniente conocer condiciones simples, ya sean necesarias o solamente suficientes para asegurar la estabilidad de un sistema discreto lineal. Existen multitud de tales condiciones, de las cuales son realmente útiles aquéllas que puedan verificarse con facilidad. Sin demostración3, enunciaremos algunas condiciones necesarias aplicables al polinomio P(z): a0 < an . 1. 0 < P(1) < 2n , 2. (3.32) 0 < (−1) n P(−1) < 2n (3.33) i = 0, 1, …, n − 1 (3.34) donde n es el grado del polinomio P(z). n 2 ai < ∑ ak , 3. k =0 4. Desarrollando el producto P( z ) = ( z − z1 ) ⋅ ( z − z2 ) ⋅… ⋅ ( z − zn ), an = 1, se obtiene para zi < 1 la condición necesaria n (3.35) ai < , i = 0, 1, … , n − 1 . i Para polinomios con coeficientes reales, algunas de estas condiciones pueden especificarse aún más: n=2 a0 < 1 , a1 < 2 n=3 n=4 a0 < 1 , −1 < a1 < 3 , a2 < 3 a0 < 1 , a1 < 4 , −2 < a2 < 6 , (3.36) a3 < 4 . 3.2.2.3. Condiciones suficientes. El cumplimiento de alguna de las siguientes condiciones es suficiente para asegurar que las raíces del polinomio P(z) se encuentran en el interior del círculo unitario: n −1 1. an > ∑ ak . (3.37) k =0 3 Recomendamos al lector curioso la obra de E.I. Jury, Theory and application of the z-transform method. New York: J. Wiley 1964. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-11 2. Cuando todos los coeficientes del polinomio P( z ) = a0 + a1 z + + an z n son positivos, entonces sus raíces pertenecen a la región anular m ≤ z ≤ M donde m y M son el menor y el mayor de los valores correspondientes a: an −1 , an an − 2 , an −1 a0 a1 (3.38) Para el caso m = 0, M = 1 se obtiene la condición suficiente de estabilidad 0 < a0 < a1 < < an . (3.39) 3.2.2.4. Test de Jury. El test de estabilidad de Jury (conocido también como criterio de Jury-Blanchard4) da las condiciones necesarias y suficientes para que las raíces de P(z) se hallen en el interior del círculo unitario (condición de estabilidad estricta). Ha de verificarse: (−1) n ⋅ P(−1) > 0 , P(1) > 0, (3.40) y además han de cumplirse las (n–1) restricciones a0 < an ; b0 < bn −1 ; c0 < cn − 2 ; … q0 < q2 ; (3.41) donde bi, ci, . . . qi, se obtienen de la tabulación de Jury: Fila 1 2 3 4 5 6 2n-5 2n-4 2n-3 z0 a0 an b0 bn −1 c0 cn − 2 p0 p3 q0 z1 a1 an −1 b1 bn − 2 c1 cn −3 p1 p2 q1 z2 a2 an − 2 b2 bn −3 c2 cn − 4 p2 p1 q2 p3 p0 z n−k an − k ak bn − k bk z n −1 an −1 a1 bn −1 b0 cn − 2 c0 zn an a0 Tabla 3.1. Arreglo tabular de Jury 4 E. I. Jury – J. Blanchard: A Stability Test for Linear Discrete Systems in Table Form. Proc. IRE 49, N°12, Diciembre 1961, págs. 1947-1948. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-12 Los elementos de la tabla quedan definidos por bk = a0 an − k an ak ; ck = b0 bn −1− k bn −1 bk ; dk = c0 cn − 2− k cn − 2 ck ; (3.42) q0 = p0 p3 p3 p0 ; q2 = p0 p1 p3 p2 Nótese que en la tabulación de Jury los elementos de las filas pares (2k+2) tienen los mismos elementos que las filas impares precedentes (2k+1) escritos en orden inverso. 3.2.3. Análisis gráfico de la estabilidad – Lugar de Raíces. En las aplicaciones técnicas, resulta de mucho interés el cálculo de la estabilidad de sistemas de control cuya función de transferencia z de lazo abierto es conocida, como asimismo sus singularidades (polos y ceros). ( z − zc1 ) ( z − zcm ) N ( z) G o ( z ) = K ⋅ =K⋅ , m<n D( z ) ( z − z p1 ) ( z − z pn ) (3.43) El factor de amplificación K es un parámetro de fácil ajuste. La ecuación característica de lazo cerrado vale 1 + G o ( z ) = 0 → D( z ) + K ⋅ N ( z ) = 0 , o bien G o ( z ) = −1 . (3.44) El lugar de raíces es el lugar geométrico de los ceros de (3.44) dependiente del parámetro K. Su trazado responde a las reglas conocidas de cursos precedentes, por lo que no se insistirá al respecto. Reiteramos que, en el caso de sistemas de tiempo discreto el dominio de estabilidad está restringido al interior del círculo unitario. A modo de ejemplo, sea determinar el rango de valores de K para los que se garantiza la estabilidad del sistema de control de la Fig. 3.10. T=1 1 − e−Ts s K ⋅ e −1.25 s s ( s + 1) – Fig. 3.10. Sistema de control muestreado. (1 − e−Ts ) ⋅ K ⋅ e −1.25 s ( z + 0.03)( z + 1.755) Go ( z ) = Z = 0.2223 K ⋅ 2 2 s ( s + 1) z ( z − 1)( z − 0.368) (3.45) SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-13 Emplearemos los siguientes comandos Matlab para obtener el trazado del lugar de raíces: >> G=zpk([-0.03 –1.755],[0 0 1 0.368],[0.2223],1) Zero/pole/gain: 0.2223 (z+0.03) (z+1.755) ------------------------z^2 (z-1) (z-0.368) Sampling time: 1 La función invocada posee la sintaxis zpk([Ceros],[Polos],[Ganancia],T) siendo T el período de muestreo (en nuestro caso T=1). Definido el sistema G, invocamos ahora >> rlocus(G) para obtener el gráfico. Fig. 3.11. Lugar de raíces del sistema de la Fig. 3.10. Observando la Fig. 3.11 deducimos que el sistema propuesto es estable para valores de K pertenecientes al rango 0 < K < 0.72 . 3.2.4. Análisis de estabilidad en el espacio de estados. La formulación de sistemas de tiempo discreto empleando las técnicas de variables de estado conduce de manera natural a la utilización de condiciones analíticas de estabilidad que configuran el método de Liapunov. Diferimos su presentación para cuando estudiemos sistemas no lineales. 3.3. Análisis en estado de régimen. Al igual que para los sistemas continuos, resulta posible aplicar para sistemas de control muestreado los conceptos de error de posición, error de velocidad y error de aceleración. SISTEMAS DE CONTROL APLICADO - Capítulo 3 - pág. 3-14 w e G o ( z ) y – Fig. 3.12. Sistema de lazo cerrado. Para variables de comando w en escalón, rampa y parábola se desea calcular el error de régimen lim e(kT ) por aplicación del teorema del valor final (ver B.8) de la transformada z. k →∞ El error estacionario de un sistema de control estable es: ( z − 1) W ( z ) lim e(kT ) = lim ( z − 1) E ( z ) = lim k →∞ z →1 z →1 1 + G o ( z ) (3.46) W ( z ) = z /( z − 1) se tiene un error de posición Para una entrada en escalón w(t ) = σ (t ) , e p := 1 1 + G o (1) (3.47) Evidentemente, el error de posición se anula si G o ( z ) posee un polo en z = 1 . Si el comando es una rampa w(t ) = t , W ( z ) = Tz /( z − 1) 2 aparece un error de velocidad ev := T lim ( z − 1) ⋅ G o ( z ) (3.48) z →1 y el error de velocidad se anula si G o ( z ) posee un polo doble en z = 1 . Para una entrada parabólica 1 w(t ) = t 2 , W ( z ) = T 2 z ( z + 1) / 2( z − 1)3 tendremos un error de 2 aceleración ea := T2 lim ( z − 1) 2 ⋅ G o ( z ) (3.49) z →1 que se hará cero, si G o ( z ) posee un polo triple en z = 1 . Para el error e(kT) en los instantes de muestreo, resulta indiferente si las integraciones corresponden a los polos de un controlador discreto en z = 1 o a los polos en s = 0 de la parte continua. Sin embargo, el comportamiento entre los instantes de muestreo es diferente en uno y otro caso y el sistema será capaz de seguir a la entrada en forma exacta, si los integradores corresponden a la parte continua (incluyendo en ella al dispositivo de retención de orden cero). ♦