Download - separata-N3

Transcript
  • 8/19/2019 separata-N3

    1/36

  • 8/19/2019 separata-N3

    2/36

  • 8/19/2019 separata-N3

    3/36

    FIEE  3

    ______________________________________________________________________  

    Figura 2: Ventana de la herramienta rltool

    Para comenzar, desde el workspace de MATLAB, ingresemos el comando rltool, con el

    que abrimos una nueva ventana, Figura 2, en la que encontramos:

    - Una barra de menú, entre los que encontramos, por ejemplo, una opción paraimportar/exportar modelos y para editarlos.

    - Un gráfico de bloques que es la estructura de realimentación que utilizaremos; sihacemos click sobre el bloque K, podemos ver o editar el compensador, y sobre P, Fo H para ver las características de diseño del modelo.

    - Un botón para cambiar entre realimentación negativa y positiva.- Una descripción del compensador que configuraremos. Por defecto toma el valor de

    ganancia igual a 1 (K = 1).- Cuatro botones que utilizaremos para agregar polos o ceros del compensador,

    borrarlos o moverlos.

    - Un cuadro de texto para editar la ganancia que modificará el lugar de los polos enLazo Cerrado.

    - Botones para editar los ejes.- Botones para modificar el zoom del gráfico.- Check boxes para abrir herramientas de analisis de respuesta del sistema.- Una barra de status que provee información.

    Una vez abierta la ventana, debemos importar el modelo del sistema para el quequeremos diseñar un compensador. Existen cuatro formas para importar un modelo LTI,y estas son:

  • 8/19/2019 separata-N3

    4/36

    FIEE  4

    ______________________________________________________________________  

    1. Cargar el modelo desde el workspace de MATLAB, con el comandorltool(sys,comp),  donde sys  es la función transferencia del sistema ingresadacomo tal, y comp la del compensador (opcional).

    2. Cargar el modelo desde un archivo de extensión .mat de un disco.3. Cargar bloques LTI SISO desde un diagrama de SIMULINK.4. Crear los modelos utilizando tf, ss o zpk.

    Para este ejemplo, importemos nuestro modelo del servomecanismo desde elworkspace. Para ello debemos previamente ingresar el modelo con la función tf o zpk y guardarla en una variable, por ejemplo Gp. Una vez cargado el modelo, lo podemosimportar desde el menú Import Model del menú File. En la ventana de importación quese desplegará encontraremos:

    * Un diagrama correspondiente a la estructura de realimentación que utilizaremos.* Un botón que conmuta entre las dos posibles estructuras de realimentación que hay

    configuradas.* Una lista para seleccionar desde donde se importará el modelo.* Una lista de sistemas LTI disponibles o bloques.

    * Un cuadro de texto para editar el nombre del diseño.* Tres botones con flechas para transferir el modelo seleccionado de la lista alcomponente de diseño del modelo, ya sea P, F o H.

    * Tres cuadros de textos para los nombres de los componentes del diseño. Desde esterecuadro podemos también definir funciones de transferencias para cadacomponente, utilizando tf, ss o zpk.

    Ya sea en cualquiera de las dos configuraciones, cada componente representa: F (prefiltro); P (modelo de la planta); H (dinámica de la planta); K (compensador a diseñar).

    Siguiendo con nuestro ejemplo, carguemos el modelo lineal en P, seleccionándolo desdela lista de workspace  y luego haciendo un click sobre la flecha que señala a P, o

    simplemente tipeando en el cuadro de texto Gp (nombre de nuestro modelo). Luego deseleccionar OK, en la región de gráfico de la ventana de diseño, aparecerá el gráfico dellugar de las raíces del modelo ingresado, Figura 3. Los pequeños cuadros rojos sobre élcorresponden a los polos a lazo cerrado correspondientes al valor de la ganancia delcompensador.

    Figura 3: Lugar de las raíces que resulta cuando cargamos el modelo

  • 8/19/2019 separata-N3

    5/36

  • 8/19/2019 separata-N3

    6/36

    FIEE  6

    ______________________________________________________________________  

    último nos queda verificar con la respuesta al escalón que se cumplen lasespecificaciones dadas, Figura 5.

    Figura 4: Ubicación deseada de los polos en Lazo Cerrado.

    Figura 5: Respuesta al escalón del sistema en Lazo Cerrado.

  • 8/19/2019 separata-N3

    7/36

    FIEE  7

    ______________________________________________________________________  

    2º)  Utilizando el menú Edit compensator del menú Tools, o haciendo un clicksobre el compensador del gráfico de bloques de la derecha. Si ya realizamos elprocedimiento anterior, sabemos que los polos, ceros y ganancia del compensador sepuede aproximar con

    K = 9.7

    Polos = - 110 ± 140iZeros = - 70 ± 270i

    Una vez encontrado el compensador que lleva a nuestro sistema a que cumpla con lasespecificaciones dadas, podemos guardar los parámetros desde el menú File, con laopción Export podemos llevarlo a un disco, o al workspace de MATLAB. 

    Otro ejemplo de LGR en MATLAB

    Encontrar el LGR con MATLAB es muy simple:1.- Declarar el numerador y el denominador de la Función de Transferencia como se

    muestra en la figura. Los números entre corchetes son los coeficientes de lospolinomios.

    2.- Declarar la planta o proceso (En nuestro caso "pl"). Ésta instrucción crea la función detransferencia con el numerador y el denominador declarados arriba y lo guarda en"pl".

    3.- Generar el LGR usando la instrucción rlocus y colocando entre paréntesis la Funciónde Transferencia de la cual deseamos obtener el LGR ( en nuestro caso "pl").

  • 8/19/2019 separata-N3

    8/36

    FIEE  8

    ______________________________________________________________________  

    4.- De la instrucción anterior obtenemos la figura:

    5.- Con el comando rltool podemos obtener el LGR de una Función de Transferencia yademás podemos saber la ganancia en cualquier punto, los puntos de cruce y lospuntos de abandono y llegada.

    Llamar al rltool desde la ventana de comandos:

  • 8/19/2019 separata-N3

    9/36

    FIEE  9

    ______________________________________________________________________  

    Aparecerá la siguiente ventana:

    Hacer click en file y en import:

  • 8/19/2019 separata-N3

    10/36

    FIEE  10

    ______________________________________________________________________  

    Después de hacer click en import aparece esta ventana en donde nos pedirá que leindiquemos la planta o proceso (Función de Transferencia) con la cual trabajará. Notaque nuestra Función de Transferencia ("pl") esta sobresaltada en azul. Solo hay que darun click en la flecha de G(s) para importarla. Ésta Función de Transferencia ("pl") es laque generamos al comienzo, si hubiéramos generado más de una habrían aparecido enesta ventana.

    seleccionar OK para generar el LGR

  • 8/19/2019 separata-N3

    11/36

    FIEE  11

    ______________________________________________________________________  

    Ésta gráfica nos permite observar la ganancia en el cruce jw. Nota que para este ejemplola ganancia en el cruce es 3.94. Con la flecha del ratón podemos mover los cuadros rosadel gráfico y obtener la ganancia en cualquier punto así como los valores de los puntosde cruce, y de los puntos de abandono y llegada si los hay. Dichos valores apareceránen el recuadro gris de la parte inferior.

    Entonces una guía rápida para la aplicación de éste comando rltool, se da acontinuación:

    COMPENSADORES EN MATLAB (rltool)

    Primero se define la función de transferencia de lazo abierto como se muestra en laventana de comandos. Después se definen uno o más compensadores con loscuales se va afectar el LGR.

    Se llama a la herramienta rltool, se importa la Función de Transferencia definida en laventana anterior y también se hace otro tanto con algún compensador. Si se definieronmás de un compensador su efecto se analiza uno a uno y se elige el que más convenga(ver figura).

  • 8/19/2019 separata-N3

    12/36

    FIEE  12

    ______________________________________________________________________  

    El LGR con el compensador definido es:

  • 8/19/2019 separata-N3

    13/36

  • 8/19/2019 separata-N3

    14/36

    FIEE  14

    ______________________________________________________________________  

    Ajustar las ganancias proporcional (Kp), integral (Ki) y derivativa (Kd) del controladorPID, de acuerdo a la tabla anterior y probar su funcionamiento.

    3.(*)  Cuando se desea implementar otras variantes del controlador PID (por ejemplo laacción derivativa en la retroalimentación), lo que conviene es implementar elcontrolador PID en sus partes P, I y D en forma individual ó independiente, así:

    Ya que la Función de Transferencia de un controlador PID es:

     

      

     ++= s

    s1

    1KpGc(s) di

    ττ

     

    Entonces verificaremos que el funcionamiento es el mismo, tanto con una u otraimplementación del controlador PID, para ello probaremos con el siguienteesquema:

  • 8/19/2019 separata-N3

    15/36

    FIEE  15

    ______________________________________________________________________  

    ¿Cómo son las señales de salida de cada uno de los sistemas implementados?¿Se puede decir que ambos funcionan igual?

    4.(*)  Implementar el siguiente esquema en Simulink, previo diseño del controlador PID,tal que el sistema ante una entrada en escalón, responda con: ess = 0 , Mp = 10%y ts = 1 seg.Probar su funcionamiento.

    sK K   I P

    1+  

    )256(

    5

    2 ++   ss 

    R(s) E(s) Y(s)U(s)

    sK  D  

    Tabla de aplicación para el Método de Lazo Cerrado

    Proporcional Integrativo DerivativoP 0.56 KpU  - -PI 0.45 KpU  TU / 1.2 -

    PID 0.67 KpU  TU / 2 TU / 8

    IMPLEMENTACIÓNPID INDIVIDUAL

    IMPLEMENTACI N

    CON BLOQUE PID

  • 8/19/2019 separata-N3

    16/36

    FIEE  16

    ______________________________________________________________________  

    Donde:

    Kpu, es la ganancia con la que el sistema oscila.Tu, es el período de oscilación

    (*) :  tomado en la Primera Práctica calificada de EE-616-M/N del 2007-1 

    Aplicaciones de diseño (para tarea)

    A continuación se muestran dos plantas diferentes:

    3)2)(s1)(s(s5

    Gp1(s)+++

    =  3)s(s

    0.5Gp2(s)

    +=  

    Se le pide:

    I.-  Diseñar un controlador PID (con cada una de las variantes mostradas al final),con las siguientes características:- MP = 15%- Ts (elegir un valor adecuado)- ess = 0

    Una vez hecho el diseño, se le pregunta;a) ¿Qué puede concluir de sus resultados, respecto a la configuración que para

    Ud. sería la configuración más adecuada?b) ¿Qué hecho es que lo hace llegar a la conclusión anterior?c) ¿cuál sería el menos adecuado? (si es que lo hay)

    II.-  En los casos de las plantas anteriores(Gp1(s) y Gp2(s)), se le pregunta:¿Podría utilizarse algún método de sintonía, para ajustar el controlador a lascaracterísticas de la planta?.

    Si su respuesta es afirmativa, cómo realizaría el procedimiento de aplicación deeste método para cada una de las plantas.Sintonícelos y simule su funcionamiento.Si su respuesta fue negativa, ¿a qué se debe que no se pueda aplicar?, en unaaplicación real ¿Qué condición cambiaría de la planta para poder aplicar algúnmétodo de sintonía?

    III.-  Elegir una planta (distinta a Gp1(s) y Gp2(s)), que le permita aplicar el método desintonía en Lazo abierto.Indicar el procedimiento a seguir y simular la respuesta del sistema, para verificarsus resultados.

    NOTAS:  - En todas las preguntas deben incluirse los diseños detallados, así comolas simulaciones respectivas en simulink  (indicando los esquemasempleados).

    - Es importante, que al final de la tarea, se incluyan OBSERVACIONES YCONCLUSIONES, respecto a las implementaciones y diseños realizados.

  • 8/19/2019 separata-N3

    17/36

    FIEE  17

    ______________________________________________________________________  

    Otras variantes (que no son las únicas, pero si las más aplicadas) queencontraremos al aplicar Controladores PID, se muestran a continuación:

    1.- PID, en controlador PID esta en el paso directo

    Gp(s)R(s) + Y(s)

     _sK

    sK

    K DI

    P   ++

     

    2.- PI-D, en la retroalimentación de la planta se encuentra la acción derivativa y la

    acción PI en paso directo.

    sK

    K IP + Gp(s)

    sKD

    R(s) + + Y(s) _ _

    3.- I-PD, la acción integrativa en el paso directo y la acción PD en laretroalimentación de la planta.

    sKI Gp(s)

    sKKP D+

    R(s) + + Y(s) _ _

  • 8/19/2019 separata-N3

    18/36

    FIEE  18

    ______________________________________________________________________  

    LABORATORIO Nº 3

    “SIMULACIÓN DE SISTEMAS DE CONTROL DISEÑADOSPOR EL MÉTODO DE UBICACIÓN DE POLOS”

    Objetivos:  - Aplicar un método de control moderno, como es la reubicación depolos

    -  Aplicar observadores de estado de orden completo y de ordenreducido en el diseño de sistemas de control

    Dado un sistema representado en el Espacio de Estado: BuAxx.

    += , donde:

    ( ) 0D0020C72-

    0

    B4-17 1-1-3

    01-1

    A   ==

     

     

     

     

    =

     

     

     

     

    =  

    Entonces, empleando un control mediante la realimentación del estado xKu   −= , sepretende que los polos en lazo cerrado estén en: µ1 = -4 + j5

    µ2 = -4 – j5µ3 = -8

    Ejemplo #1:  Diseño por ubicación de polos, empleando la fórmula deAckermann. 

    % Calcula matriz de realimentación de estado para un sistema continuo% de tercer orden, empleando la fórmula de AckermannA = [1 -1 0;3 -1 -1;7 1 -4 ]B = [0;-2;7]C = [20 0 0]D = 0;% Polos de lazo cerrado deseados Pc = [-4+5*j;-4-5*j;-8]echo on% Cálculo de la matriz de gananciaK = acker(A, B, Pc)sys1 = ss(A-B*K, 0*B, C, D);  % modelo continuo en el tiempo % Define la variable tiempo

    t = 0:0.02:1.6;% Se fijan las condiciones inicialesx0 = [-2 1 2]';  % x0 es un vector columna % Respuesta a las CI[Y, T, X] = initial(sys1, x0, t);subplot(2,1,1)plot(t,X)title('Respuesta a las CI del regulador con realimentación lineal de estado')xlabel('tiempo en segundos')ylabel('x1, x2 y x3')grid on% Reconstruye la señal de control

    u = -X*K';

  • 8/19/2019 separata-N3

    19/36

    FIEE  19

    ______________________________________________________________________  

    subplot(2,1,2)plot(t,u)% title('Respuesta del regulador con realimentación lineal de estado')xlabel('tiempo en segundos')ylabel('señal de control u')grid on

    Ejemplo #2:  Diseño por ubicación de polos, empleando la fórmula deAckermann. 

    Veamos un ejemplo del uso de la fórmula de Ackermann con MATLAB

    % Uso del comando acker y el concepto de sistema dual para un sistema continuoA = [-2 5; 0 1]; % matriz de estado B = [0; 4];C = [-1 1];Po = [-4;-6]; % Polos del observador en –4 y -6

    Ke = acker(A',C',Po)' % Calcula ganancia para ubicación del sistema dual Ao = A - Ke*C;Bo = [Ke B];eig(Ao)  % calcula eigenvalores del observador 

    Ejemplo #3:  Diseño de Observadores de Estado de orden completo. 

    Consideremos el diseño de un sistema regulador. La planta es:

    BuAxx.

    +=   Cxy =  

    donde: ( )01C1

    0B020.6

    10A   = 

      

     = 

      

     =  

    Se desea tener los polos de Lazo Cerrado en: s1 = -1.8 + j2.4 y s2 = -1.8 – j2.4

    Y los valores característicos de la matriz de ganancias del observador son:

    s1 = s2 = -8

    Luego obtengamos la matriz de ganacias de realimentación del Estado K necesaria y lamatriz de ganancias del observador Ke

    % ------------ Ubicación de polos y diseño del observador .----------% ****** Introduzca las matrices A, B, C y D ******A=[0 1;20.6 0];B=[0;1];C=[1 0];D=[0];% ***** Verificamos el rango de la matriz de controlabilidad M *******M=[B A*B];rank(M)

    Ans =2

  • 8/19/2019 separata-N3

    20/36

    FIEE  20

    ______________________________________________________________________  

    %**** Dado que el rango de la matriz de controlabilidad M es 2,% es posible una ubicación arbitraria de los polos *****%**** Introducimos el polinomio característico deseado definiendo% la matriz J siguiente y calculando poly (J) ****J=[-1.8+2.4*i 0;0 -1.8-2.4*i];poly(J)

    Ans =1.0000 3.6000 9.0000

    % **** Introducimos el polinomio característico Phi *****Phi=polyvalm(poly(J),A);

    % **** la matriz de ganancias de realimentación del estado K se obtiene mediante*******

    K=[0 1]*inv(M)*PhiK =

    29,6000 3.6000

    %***** El programa siguiente determina la matriz del observador Ke*****% **** Introducimos la matriz de observabilidad M y verificamos su rango *****N=[C’  A’*C’];rank(N)

    2

    % ***** Dado que el rango de la matriz de observabilidad es 2, es posible% el diseño del observador *****% ***** Introducimos el polinomio característico deseado definiendo la% matriz j0 siguiente e introduciendo el enunciado poly(j0) *****j0=[-8 0;0 -8];poly(j0)

    ans = 1 16 64

    % ***** Introducimos el polinomio característico Ph *****Ph=polyvalm(poly(j0),A);

    % ***** La matriz de ganancias del observador Ke se obtiene a partir de *****

    Ke=Ph*(inv(N’))*[0;1]Ke =

    16.000084.6000

    Ejemplo #4:  A partir de los resultados anteriores, determinamos elpolinomio característico 

    % -------------Polinomio Característico----------------% *********El polinomio característico para el sistema diseñado, se obtiene mediante% | sI – A + BK | | sI – A + KeC | ************%**********Este polinomio característico se obtiene usando los valores característicos de% A – Bk y A – KeC, del siguiente modo*********

    X=[eig(A-B*K);eig(A-Ke*C)]

    X=

  • 8/19/2019 separata-N3

    21/36

    FIEE  21

    ______________________________________________________________________  

    -1.8000 + 2.4000i-1.8000 – 2.4000i-8-8

    poly(X)

    ans= 1.0000 19.6000 130.6000 374.4000 576.6000

    Ejemplo #4: Diseño de observadores de orden mínimo 

    % -------- Diseño de un observador de orden mínimo --------% **** Este programa usa la matriz de trnasormación Q *******% **** Introduzca las matrices A y B ****A = [0 1 0;0 0 1;-6 -11 -6];B = [0;0;1];

    % **** Introduzca la s matrices Aaa, Aab, Aba, Abb, , Ba y Bb, Observe que% A = [Aaa – Aab;Aba Abb] y B = [Ba;Bb] ****Aaa 0 [0]; Aab = [1 0] Aba = [0; -6] Abb = [0 1;-11 -6];Ba = [0]; Bb = [0;1];

    % **** Determine a1 y a2 del polinomio caracterísitico% para la parte no observada del sistema ****p = polu(Abb)

    p =1 6 11

    a1 = p(2); a2 = p(3);

    % **** Introduzca la matriz de observabilidad reducida N y la matriz W ****N = [Aab´ Abb´*Aab´];W = [a1 1;1 0];

    % **** Introduzca la polinomio caracteristico deseado definiendo% la matriz j la siguiente e introduciendo el enunciado poly(j) ****J = (-2*2*sqrt(3)*¡ 0;0 -2-2*sqrt(3)*¡];JJ = poly(j)JJ =

    1.0000 4.0000 16.0000% **** Determine aa1 y aa2 del polinomio% característico deseado ****aa1 = jj(2); aa2 = jj(3);

    % ***** La matriz de ganancias del observador Ke para el observador de% orden mínimo se obtiene mediante *****ke = inv(W*N´)*[aa2 - a2;aa1 – a1]

    Ke =-217

  • 8/19/2019 separata-N3

    22/36

    FIEE  22

    ______________________________________________________________________  

    LABORATORIO Nº 4

    “CONTROL OPTIMO, BASADO EN EL ÍNDICE DECOMPORTAMIENTO CUADRÁTICO”

    Objetivos:  - Aplicar otro método de control moderno, como es el controlóptimo cuadrático.

    Ejemplo #1:  Cuando la matriz no es estable. 

    Considere el sistema definido mediante

    ( )u0

    1

    x

    x

    20

    11

    x

    x

    2

    1

    2

      

     +

     

      

      

      

     −=

     

      

     

    &

    Demuestre que el sistema no se estabiliza mediante el esquema de control derealimentación de estado. xKu   −=  

    Sin importar cuál matriz K se seleccione. (Observe que el estado de este sistema es nocontrolable) Defina [ ]21 kk=K  

    Así ( )  

      

        +−−−=

     

      

     −

     

      

     −=−

    20

    k1k1k2k1

    0

    1

    20

    11 21BKA  

    Por lo tanto, la ecuación característica se vuelve

    02))(sk1(s2s0

    k1k1s|)(s| 1

    21=−++=

     

      

     

    +−++=−− BKAI  

    Los polos en lazo cerrado se ubican en: s = – 1 – k1 y s = 2

    Dado que el polo en s   = 2 está en el semiplano derecho del plano s , el sistema esinestable con cualquier matriz K que se seleccione. Por tanto, las técnicas para elcontrol óptimo cuadrático no se aplican en este sistema.Supongamos que las matrices Q  y R  del índice de desempeño cuadrático se obtienenmediante

    ( )110

    01=

     

      

     = RQ  

    Y que escribimos el programa MATLAB siguiente, La solución MATLAB resultante es( )NaNNaN=K  

    (NaN significa “no es número”.) Cuando no existe la solución para un problema decontrol óptico cuadrático, MATLAB nos dice que la matriz K está formada por NaN.}.Entonces:

  • 8/19/2019 separata-N3

    23/36

    FIEE  23

    ______________________________________________________________________  

    Ejemplo #1  Diseño De un sistema regulador óptimo cuadrático 

    % ****** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** Introduzca la matriz de estado A y la matriz de control B *****A=[-1 1;0 2];

    B=[1;0];% ***** Introduzca las matrices Q y R del indice de desempeño cuadrático *****Q=[1 0;0 1];

    R=[1];% ***** Para obtener una matriz de ganancias de realimentación% óptima K introduzca el comando siguiente *****K=lqr(A,B,Q,R)

    % Warming: Matriz is singular to working precision.% K =% NaN NaN

    % ***** Si introducimos el comando [K,P,E] = lqr(A,B,Q,R), en tal caso *****[K,P,E]=lqr(A,B,Q,R)% ??? Error using ==> lqr% (A,B) is unstabilizable.

    Ejemplo #2:  Cuando la matriz es estable. 

    En donde

    ( )u10xx1-0 1xx 2

    1

    2

    1

      

      +

      

      

      

      =

      

       0&

    &  

    El índice de desempeño “J” se obtiene mediante: ∫∞

    +=0

    dtu)Ru'(J xQx'  

    En donde ( )110

    01=

     

      

     = RQ  

    Supongamos que se usa la señal de control “u” siguiente. xKu   −=  

    Determine la matriz de ganancias de realimentación óptima K.

    La matriz de ganancias de realimentación óptima se obtiene resolviendo la ecuación deRic-cati siguiente para una matriz P definida positiva

    A’P + PA – PBR-1B’P + Q = 0El resultado es

     

      

     =

    11

    12P  

    Al sustituir ésta matriz en la ecuación siguiente produce la matriz K óptima

  • 8/19/2019 separata-N3

    24/36

    FIEE  24

    ______________________________________________________________________  

    K = R-1 B’ P = ( ) ( ) ( )1111

    12101   =

     

      

      

    Por tanto, la señal de control óptimo se obtiene mediante: u = -x1 – x2 

    El programa MATLAB, que produce la solución para este problema, es:

    Ejemplo # 3: Diseño de un sistema regulador óptimo cuadrático 

    % ***** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** Introduzca la matriz de estado A y la matriz de control B ***** A=[0 1;0 -1];B=[0;1];

    % ***** Introduzca las matrices Q y R del índice de desempeño cuadrático *****

    Q=[1 0;0 1];

    R=[1];

    % ***** La matriz de ganancias de realimentación óptima K (si existe la matriz K)% se obtiene introduciendo el comando lqr (regulador lineal cuadrátrico) *****K = lqr(A,B,Q,R)

    %K =% 1.0000 1.0000

    Ejemplo #4:  Cuando se desea la matriz P positiva definida 

    Considere el sistema obtenido mediante uBAxx   +=&  

    En donde:

     

     

     

     

    =

     

     

     

     

    −−−

    =

    1

    0

    0

    92735

    100

    010

    BA  

    El índice de desempeño “J” se obtiene mediante ∫∞

    +=0

    dtu)Ru'(J xQx'  

    En donde ( )1R

    100

    010 001Q   =

     

     

     

     =  

    Obtenga la matriz solución P definida positiva de la ecuación de Riccati, la matriz deganancias de realimentación óptima K y los valores características de la matriz A – BK 

    Entonces, el programa MATLAB que resolverá este problema es:

  • 8/19/2019 separata-N3

    25/36

    FIEE  25

    ______________________________________________________________________  

    Ejemplo #5:  Diseño de un sistema regulador óptimo cuadrático 

    % ***** Determinación de la matriz de ganancias de realimentación% K para un control óptimo cuadrático ******% ***** Introduzca la matriz de estado A y la matriz de control B *****A = [0 1 0;0 0 1;-35 –27 –9];

    B = [0;0;1];

    % ***** Introduzca las matrices Q y R del índice de desempeño cuadrático *****Q = [1 0 0;0 1 0;0 0 1];R = [1];

    % ***** La matriz de ganancias de realimentación óptima K, la solución de la% ecuación de Riccati y los polos en lazo cerrado (es decir, los valores% característicos de A - BK) se obtiene introduciendo el comando siguiente ******[K,P,E] = lqr(A,B,Q,R)

    %K =

    % 0.0143 0.1107 0.0676

    %P =% 4.2625 2.4957 0.0143% 2.4957 2.8150 0.1107% 0.0143 0.1107 0.0676

    %E =% - 5.0958% - 1.9859 + 1.7110i% - 1.9859 – 1.7110i

  • 8/19/2019 separata-N3

    26/36

    FIEE  26

    ______________________________________________________________________  

    LABORATORIO Nº 5

    “LINEALIZACIÓN DE SISTEMAS NO LINEALES(aplicaciones en control)”

    Objetivos:  - Familiarizarnos con el procedimiento más aplicado en lalinealización de sistemas representados en espacio de estados.

    - Probar con el uso de simulink, el beneficio de esta aplicación delinealización.

    Una gran parte de la teoría desarrollada para el diseño de sistemas de control empleamodelos matemáticos lineales del proceso que se desea controlar a lazo cerrado. Sinembargo, la inmensa mayoría de sistemas en procesos químicos exhibe conducta nolineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactoresquímicos aún para reacciones muy simples.Entonces planteamos la siguiente pregunta: Cómo podemos emplear teoría de controllineal para el control de sistemas no lineales? Una forma simple de responder a estapregunta es: empleando alguna de forma de transformar el sistema no lineal en unolineal. De esta forma el modelo "linealizado" puede ser empleado para el diseño delsistema de control del modelo no lineal original. Una posible ruta para el diseño delsistema de control se muestra en la siguiente figura.

    empezamos derivando el modelo (muy probablemente) no lineal del proceso quedeseamos controlar. A continuación lo transformamos en un modelo lineal (el

    procedimiento de transformación sería explicado en esta parte). Posteriormente

  • 8/19/2019 separata-N3

    27/36

    FIEE  27

    ______________________________________________________________________  

    diseñamos el sistema de control para el modelo linealizado. Finalmente el sistema decontrol se prueba ya sea empleando el modelo lineal, o bien, el modelo no lineal original.En esta parte mostramos la manera mediante la cual una función no lineal f(x; u) puedeser representada aproximadamente por una función lineal alrededor de un cierto punto x0 (normalmente un estado estacionario del proceso ó Punto de equilibrio).

    Tal vez una primera pregunta respecto al proceso de linealización, podría ser ¿quésignifica linealizar un sistema no lineal? Linealizar una función no lineal f(x;u) significareemplazarla por otra función lineal f(x;u). Si las dos funciones representan básicamenteel mismo proceso, entonces ¿para que sirve representar una función no lineal por otralineal ? Usualmente esta aproximación se realiza alrededor de un punto denotado por (x0,u0) tal como se muestra en la siguiente figura.

    Debido a que la mayoría de herramientas para el análisis de sistemas y diseño desistemas de control requieren que el modelo sea lineal, es necesario entonces disponerde métodos para linealizar modelos.

    La linealización generalmente consiste en una expansión en series de Taylor de laecuación de estado (no-lineal) alrededor de un punto de operación definido naturalmentepor el sistema o seleccionado arbitrariamente para satisfacer alguna necesidad decontrol.

    4 4 4 34 4 4 21superiorordendetérminos

    2

    x2

    2

    x0 ...)∆x(x

    f!2

    1∆x

    xf

    )f(xf(x)00

    +∂

    ∂+

    ∂+=  

    Tomando los términos de primer orden: ∆x

    x

    f)f(xf(x)

    0x

    0

    ∂+=  

  • 8/19/2019 separata-N3

    28/36

    FIEE  28

    ______________________________________________________________________  

    Cuando un modelo es muy complejo matemáticamente es necesario recurrir a técnicascomo las representaciones ó expansiones en series infinitas. Las soluciones en seriesinfinitas son usadas generalmente para aproximar el valor de una función en un puntoarbitrario con cierto grado de precisión, donde f(x) es la expansión alrededor del punto x 0.

    Es así que el modelo incremental lineal en espacio de estados del sistema linealizado es:

    ∆uD∆xC∆y

    ∆uB∆xAx∆

    +=

    +=•

     

    Donde el orden de las Matrices A, B, C y D, son:   Anxn , Bnxm , Cpxn , Dpxm 

    Entonces, el punto de trabajo es el estado de funcionamiento del sistema en torno al cualvamos a trabajar y debe ser un estado de equilibrio, lo cual significa que las derivadastemporales son cero: d/dt = 0 Así el modelo lineal describirá bien al real, cuando elsistema evoluciona cerca del punto de equilibrio, ya que lejos del punto de equilibrio elmodelo linealizado pierde precisión.

    Por ello el punto de equilibrio, debe elegirse lo más próximo posible a los puntos defuncionamiento previsibles del sistema en las condiciones de funcionamiento habituales.

    La matrices A, B, C y D, no son sino las matrices Jacobianas, donde si las variables x, ue y son escalares (es decir ∈ R), entonces A, B, C y D representan las pendientes de lassuperficies f y g en el punto de operación.

    ( )

    ∂∂

    =

    x

    f

    x

    f

    x

    f

    x

    f

    x

    f

    x

    fx

    f

    x

    f

    x

    f

    A

    n

    n

    2

    n

    1

    n

    n

    2

    2

    2

    1

    2

    n

    1

    2

    1

    1

    1

    u ,x

    L

    MMM

    L

    L

     

    ( )

    ∂∂

    =

    u

    f

    u

    f

    u

    f

    u

    f

    u

    f

    u

    fu

    f

    u

    f

    u

    f

    B

    m

    n

    2

    n

    1

    n

    m

    2

    2

    2

    1

    2

    m

    1

    2

    1

    1

    1

    u ,x

    L

    MMM

    L

    L

     

  • 8/19/2019 separata-N3

    29/36

    FIEE  29

    ______________________________________________________________________  

    ( )

    ∂∂

    =

    xg

    xg

    xg

    x

    g

    x

    g

    x

    gx

    g

    x

    g

    x

    g

    C

    n

    p

    2

    p

    1

    p

    n

    2

    2

    2

    1

    2

    n

    1

    2

    1

    1

    1

    u ,x

    L

    MMM

    L

    L

     

    ( )

    ∂∂

    =

    ug

    ug

    ug

    u

    g

    u

    g

    u

    gu

    g

    u

    g

    u

    g

    D

    m

    p

    2

    p

    1

    p

    m

    2

    2

    2

    1

    2

    m

    1

    2

    1

    1

    1

    u ,x

    L

    MMM

    L

    L

     

    LINEALIZACION DE UN SISTEMA DE DOS TANQUES INTERCONECTADOS EN CASCADA

    (aplicación con Simulink)

    Dado el siguiente sistema de dos tanques cilíndricos iguales en cascada, siendo lasáreas de sección iguales a 10 m2, el objetivo del sistema es controlar el nivel en eltanque 2.

    H1 y H2 alturas en los tanques 1 y 2A Área de sección de los tanques cilíndricosQi  Flujo (caudal) de alimentación Qi = Q = 2 m

    3 /sQo Flujo (caudal) de salidaρ = 1.23 Kg/m3 g = 9.81 m/s2 

    γ  = 1 (factor que depende de la geometría del orificio de salida de cada tanque)

    MODELAMIENTO DEL SISTEMA

    Planteando las ecuaciones de conservación de la masa

    dtdH

    CQQ 1112i   =−   dtdH

    CQQ 22o12   =−  

    Donde

    H1 H2

    Q i

    Q0

    Tanque 1 Tanque 2

    Q12

  • 8/19/2019 separata-N3

    30/36

    FIEE  30

    ______________________________________________________________________  

    4.91259.81)(2)(1.23)((1)gρ2kparaesto

    HkHgρ2Hgρ2Qo

    H(Hk)HH(gρ2)HH(gρ2Q

    222

    21212112

    ===

    ===

    −=−=−=

    γ  

    γ  γ  

    γ  γ   )

     

    Reemplazando obtenemos:

    AHk

    AHHk

    H

    AHHk

    AQ

    H

    2212

    21i1

    .

    .

    −−

    =

    −−=

    1

     

    g   y = H2

    eligiendo como variables de estados: x1 = H1 y x2 = H2 

    Axk

    Axxk

    x

    Axxk

    AQ

    x

    2212

    21i1

    .

    .

    −−

    =

    −−=

     

    y = x2

    El esquema que emplearemos para determinar las respuestas temporales de H1 y

    H2, es el siguiente:

  • 8/19/2019 separata-N3

    31/36

    FIEE  31

    ______________________________________________________________________  

    El bloque MatLab Function, se define así:

    [-0.49125*sqrt(u(2)-u(3))+0.2 , 0.49125*sqrt(u(2)-u(3))-1.49125*sqrt(u(3))]

    PROCEDIMIENTO DE LINEALIZACIÓN:

    DETERMINACION DEL PUNTO DE EQUILIBRIO

    x0.49125xx0.49125xAxk

    Axxk

    xf

    xx0.491250.2xA

    xxk

    AQ

    xf

    2212221

    22

    21121i

    11

    ..

    ..

    −−=⇒−−

    =

    −−=⇒−

    −=

     

    g y = x2

    El sistema es no lineal, por lo que antes de la linealización obtendremos el punto deoperación, haciendo:

    0x

    0x.

    .

    2

    1

    =

    Aplicando:

    xxxAxk

    Axxk0

    xxkQA

    xxk

    AQi0

    221221

    21i21

    =−⇒−−=

    −=⇒−

    −=

     

    Por lo que: x1 – x2 = x2  ⇒  x1 = 2 x2 Qi

    2 = k2 (2x2 – x2) ⇒  x2 = (Qi / k)2 

    x1 = 2 (Qi / k)2 

    Reemplazando valores, obtenemos el punto de equilibrio:

    ( ) ( )   [ ]0.165750.33154.9125

    2 2

    4.9125

    2 22

     __ x2

     __ x1   =

    =

     

    DETERMINACION DEL SISTEMA LINEALIZADO

    Linealizando el sistema a partir del punto de operación obtenido, determinaremos lasmatrices A, B, C y D

  • 8/19/2019 separata-N3

    32/36

  • 8/19/2019 separata-N3

    33/36

    FIEE  33

    ______________________________________________________________________  

    LINEALIZACION DE UN SISTEMA DE TANQUESEN CAIDA

    (aplicación con Simulink)

    En la figura siguiente se muestran dos tanques abiertos idénticos, los tanques soncilíndricos y con área de sección de 9 m2.El objetivo del control es estabilizar la altura del Tanque 2 (H 2), empleando como fuerzade control el flujo de alimentación Qo.

    P1, P2: son las presiones en el fondo de los tanques.Po: Presión atmosférica.Q1, Q2: Flujos (caudales) de salida de los tanquesQ0: Flujo de alimentación,Q0 = 3 m

    3 /sρ = 1.23 Kg/m3g = 9.81 m/s2 γ  = 0.4 (factor que depende de la geometría del orificio de salida de cada tanque)

    MODELAMIENTO DEL SISTEMA:

    Podemos obtener las siguientes ecuaciones del sistema de tanques:

    PPQ 011   −= γ     PPQ 022   −= γ    Además:

    P1 – P0 = ρ g H1  P2 – P0 = ρ g H2 

    De los caudales de cada tanque y de sus respectivas capacitancias (mismas que son

    iguales al área de sección de cada tanque).

    H1

    H2

    P1

    P2ρρρρ 

    ρρρρ 

    Qo

    Q1

    Q2

    Tanque 1

    Tanque 2

    g

  • 8/19/2019 separata-N3

    34/36

    FIEE  34

    ______________________________________________________________________  

    dtdH

    CQQ 1110   =−   dtdH

    CQQ 2221   =−  

    Donde C1 = C2 = S = 9 m2 

    Por lo que en base a las ecuaciones anteriores:

    SQ

    SQ

    H 101.

    −=  SQ

    SQ

    H 212.

    −=  

    pero: PPQ 011   −= γ    

    PPQ 022   −= γ    

    reemplazando:

    SPP

    SQ

    H010

    1.   −

    −=γ  

     

    SPP

    SPP

    H0201

    2

    .   −−

    −=

    γ  γ   

    como : P1 – P0 = ρ g H1  P2 – P0 = ρ g H2

    y eligiendo como variables de estado: x1 = H1 y x2 = H2 

    obtendremos finalmente:

    xS

    SQ

    x 10

    1

    .   γ  −=  

    [ ]xxS

    gρx 212.

    −= γ  

     

    y = x2

  • 8/19/2019 separata-N3

    35/36

  • 8/19/2019 separata-N3

    36/36

    FIEE  36

    ______________________________________________________________________  

    Por lo que el punto de operación es:

    =

    Q

    Q _ x

     _ x 0

    20

    2

    21

    γ  γ  22

     

    Reemplazando valores:

    [ ]4.664.669.81)1.23)(0.4)2

    (3)29.81)1.23)(0.4)2

    (3)2 _ x _ x 21   =

    =

    ((((

     

    OBTENCION DEL SISTEMA LINEALIZADO

    Conocido el punto de operación, obtendremos las matrices del sistema linealizado: A, B,C y D.

    ( )   ( ) [ ]0.035760.03576

    00.03576

    xS2gρ

    xS2gρ

    xS2

    xf

    xf

    x

    f

    x

    f

    A

    21

    1

    2

    2

    1

    2

    2

    1

    1

    1

    Q Q0x2,x1,0x2,x1,

    −=

    =

    ∂∂

    ∂∂

    =

    γγ

     

    ( )

    =

    =

    =

    0

    1/9

    0

    1/S

    Q

    f

    Q

    f

    B

    0

    2

    0

    1

    Q0x2,x1,

      [ ]10x

    g

    x

    gC

    21

    =

    ∂=  

    SIMULACION EN SIMULINK

    Al realizar la simulación, el Bloque “MatLab Function”, expresará:[ – 0.154385*sqrt(u(2))+1/3 , 0.154385*sqrt(u(2)) – 0.154385*sqrt(u(3))]Las condiciones iniciales del Integrador, son: [ 4.66 4.66]


Top Related