Monografias.com > Ingeniería
Descargar Imprimir Comentar Ver trabajos relacionados

Trabajo teórico práctico con Matlab




Enviado por Leonardo Villegas



    1. Introducción – Control
      Moderno
    2. Objetivos y alcances del
      trabajo
    3. Ejemplo a
      Desarrollar
    4. Clasificación del Sistema
      Ejemplo bajo estos supuestos
    5. Discretización del
      sistema continuo
    6. Análisis de Estabilidad
      del Sistema
    7. Análisis de
      Controlabilidad del Sistema Muestreado
    8. Análisis de
      Observabilidad del Sistema Muestreado
    9. Aplicando control sobre el
      sistema
    10. Conclusiones
      Finales
    11. Referencias

    *El desarrollo y
    análisis realizado en el presente trabajo, a
    pesar de que solo abarca algunos conceptos importantes sobre el
    inmenso ámbito del control de
    procesos,
    engloba nociones básicas para el
    conocimiento y comprensión de la teoría
    de control y su aplicación.

    1- Introducción – Control
    Moderno

    Las aplicaciones de control automático son
    sinónimos de la tecnología moderna,
    se encuentran dentro del ámbito de la robótica hasta en un simple tostador. El
    control moderno aborda el problema de obtener el comportamiento
    deseado de un sistema que
    trabaja por sí solo.

    El control de procesos se basa en los fundamentos de la
    teoría de retroalimentación, análisis de
    sistemas, modelización de sistemas,
    conversión de señales, control óptimo,
    teoría de seguimiento, etc.

    Un sistema de control es una interconexión de
    componentes que forman una configuración del sistema, la
    cual proporcionará una respuesta deseada del mismo
    sistema.

    Debido a la complejidad en aumento de los sistemas de
    control y al interés de
    obtener funcionamientos óptimos, se consideran cada vez un
    mayor número de variables del
    proceso.
    Así se tienen los sistemas multivariables en
    relación con indicadores
    para mejorar su eficiencia en el
    desempeño.

    2- Objetivos y
    alcances del trabajo

    El siguiente trabajo pretende introducir en conjunto,
    temas teóricos (vistos en clases) en relación con
    un ejemplo real donde se puedan desarrollar e ilustrar conceptos
    tales como: los de un sistemas y su clasificación;
    modelo
    matemático asociado y sus formas de representación;
    discretización, retroalimentación y control
    (vía ubicación de polos); observación de variables del sistema por
    medio de su salida y control óptimo cuadrático en
    referencia a índices de optimización.

    El desarrollo de este trabajo también procura ser
    una guía para el lector; por lo cual, para entender los
    temas a desarrollar, se han hecho algunas reseñas de los
    contenidos expuestos en el mismo, así como también,
    se utilizó algunos comandos de la
    herramienta Matlab para el desarrollo y resolución de
    algunos puntos(Control System Toolbox).

    3- Ejemplo a
    Desarrollar

    Con este ejemplo se tratará de ilustrar una serie
    de conceptos:

    Versión muestreada de un sistema continuo;
    estabilidad, controlabilidad y observabilidad del sistema;
    reubicación de polos y control óptimo.

    • Sistema eléctrico de doble recinto -sistema
      térmico- que supondremos a modo de ejemplo y como
      hipótesis, que éste debe mantener
      y ajustar las temperaturas de los recintos acotándolas
      en ciertos valores,
      teniendo en cuenta algunos parámetros físicos de
      los recintos. También supondremos que estos recintos
      contienen fluidos que no afectan al modelo propuesto y que sus
      propiedades físicas y químicas no varían y
      tampoco hay entrada o salida de fluido dentro de los recintos
      en el período de ensayo.

    Se toman en cuenta los siguientes
    parámetros:

    • u(t)es la cantidad de calor de
      entrada al recinto Tj.(calentador
      eléctrico)
    • To, Tj, Ti son las
      temperaturas en el exterior del horno (ambiente),
      en el primer recinto y en el recinto interior
      respectivamente.
    • Ai, Ao: son las superficies
      interiores y exteriores de los recintos
      respectivamente.
    • Ci, Cj: son la capacidades
      caloríficas del espacio interior y del
      exterior

    respectivamente.

    • hi, ho son los coeficientes de
      transmisión de calor para las superficie interior y
      exterior respectivamente.

    Consideraciones

    Teniendo en cuenta una serie de consideraciones
    físicas, se supondrá que: los valores
    reales de superficie, los valores para las capacidades
    caloríficas de los recintos y sus coeficientes de
    transmisión de calor, permanecerán constantes en
    todo momento, bajo cualquier condición.

    Se tomarán como variables de estado las
    temperaturas de los recintos.

    x1 = Ti

    x2 = Tj

    y u(t) la señal de control.

    Las ecuaciones propuestas del sistema son:

    x´1= -2×1 +
    2×2

    x´2= 0,5×1
    -0,75×2 + 0,5u + 0,25T0(amb)

    Los valores propuestos anteriores, tienen como finalidad
    mostrar como los recintos podrían estar interactuando con
    la entrada (resistencia
    eléctrica) que solo afecta al recinto exterior
    (según figura); como se ve en el modelo, los dos recintos
    pierden temperatura,
    pero parte de la energía es absorbida por el otro recinto.
    Como se mencionó, el recinto exterior recibe la
    energía de la entrada, pero del mismo modo éste
    recibe la energía calórica que aporta el ambiente
    exterior.

    Considerando constante la temperatura ambiente, se puede
    eliminar el correspondiente término compensándolo
    con un término de valor
    -0,25Tamb.

    Se tomará como salida la temperatura del recinto
    interior X1. Es la de mayor interés
    hipotéticamente.

    En Matlab escribiremos las ecuaciones de
    estado y de
    salida que conforman al sistema como sigue:

    A = [-2 2 ;0.5 -0.75];

    B = [0 ;0.5];

    C = [1 0];

    D = 0; % no existe transmisión directa entre la
    entrada y la salida

    HC = ss(A,B,C,D)

    La sintaxis es sencilla, se definen cada una de las
    matrices con
    nombres; para indicar las distintas filas se coloca "punto y
    coma". El comando "ss" nos permite representar a nuestro
    sistema en el espacio de estados, quedando con el nombre
    propuesto "HC". Más adelante se visualiza como quedan las
    instrucciones en el editor de líneas de comando "el
    Prompt" de Matlab.

    4-
    Clasificación del Sistema Ejemplo bajo estos
    supuestos

    Es un sistema de tiempo continuo
    (analógico), ya que las variables que se toman en cuenta
    pueden modificar sus valores (reales -de temperatura-) en
    cualquier momento.

    Se trata de un sistema estacionario
    (invariante en el tiempo), ya
    que su respuesta a una misma entrada es la misma
    independientemente del instante en que se aplica la entrada. Es
    decir, como se verá mas adelante al discretizar la
    representación del sistema, en nuestro caso, las matrices
    del Modelo en Espacio de Estados asociadas al sistema no
    están afectadas por el período de muestreo (k);
    esto es porque las temperaturas registradas en los recintos no
    depende del momento en que son evaluadas.

    Además, es un sistema lineal, ya
    que se verifica el Principio de Superposición, es
    decir, que su respuesta a una combinación lineal de
    entradas es la misma combinación lineal de las respuestas
    a las entradas individuales. La condición de linealidad
    implica que a una combinación lineal de entradas le
    corresponde la combinación lineal de salidas.

    Dicho de otro modo, en nuestro caso tenemos una sola
    entrada, la cual pudiendo variar, hará variar linealmente
    a la salida (por ejemplo: si midiendo las dos temperaturas
    correspondientes a los recintos en relación a la
    temperatura del calentador u(t)) siempre se tiene una misma
    relación-ej: la suma de las temperaturas de los recintos
    es la mitad de la del calentador/es-, si tuviésemos 2
    calentadores (2 entradas) debería suceder
    igual(proporcionalmente) siguiendo el mismo principio; siempre y
    cuando se cumplan las consideraciones propuestas
    inicialmente.

    Por otro lado, es un sistema causal ya que
    la salida en un instante depende de las entradas pasadas hasta
    ese instante (no depende de valores futuros). Para un sistema en
    tiempo discreto una condición necesaria y
    suficiente
    para causalidad es:

    Causalidad ó
    H(n) =0 con n <0 , donde H(n) es la función
    transferencia de pulso(S/E) del sistema. Por eso es, en nuestro
    caso, trabajamos con Transformada Z unilateral. (Que corresponde
    a las sucesiones que
    tienen todos los términos de la serie de potencias
    positivas nulos, es decir la serie sólo está
    compuesta por los términos de potencias negativas y el
    término independiente).

    La estabilidad del sistema es estudiada
    mas adelante. Un Sistema estable es aquel cuya
    salida es acotada, es decir no diverge. A una entrada acotada le
    corresponde una salida acotada; en nuestro caso hay que tener en
    cuenta que se trata de un sistema térmico, por lo que se
    podrían considerar factores como la velocidad y
    temperatura de calentamiento máximo y la respuesta de los
    recintos (que no excedan de cierta temperatura, etc.) como
    parámetros de estabilidad.

    Es un sistema S.I.S.O. por tener solo una entrada y una
    salida, a diferencia de los M.I.M.O. que tienen múltiples
    entradas y múltiples salidas.

    5-
    Discretización del sistema continuo

    Por ejemplo, si discretizamos el sistema mediante
    aproximaciones numéricas, de modo que y si tomamos como tiempo
    de muestreo T igual a 1 seg. Tendríamos:

    x1(k+1)-x1(k)= -2×1(k)
    + 2×2(k)

    x2(k+1)-x2(k)= 0,5×1(k)
    -0,75×2(k) + 0,5u(k)

    Como se ve, es fácil este método de
    discretización (muy inexacto por cierto) tomando periodos
    de muestreo igual a la unidad.

    – Matlab –

    Pero para nuestro caso, utilizaremos un muestro de 0,25
    seg. con el método de muestreo que trabaja por defecto el
    Matlab 5.3, el ‘zoh’-Zero-order hold- que considera
    constantes a las entradas durante el periodo de muestreo;
    así obtenemos:

    Sistema discretizado (designado "HD" en el
    Matlab).

    x1(k+1)= 0.62774×1(k) +
    0.359712×2(k)+ 0.025105 u(k)

    x2(k+1)= 0,089928×1(k)
    +0,85256×2(k) + 0.11503 u(k)

    Además, Matlab, ofrece la posibilidad de
    intercambiar la representación del modelo utilizando
    distintos comandos:

    Para representar al sistema como la función de
    transferencia de pulso, entre la salida y la entrada, se puede
    utilizar el comando "tf" como sigue: H = tf(HD); en este caso,
    partiendo de la representación del sistema en el espacios
    de estados(HD) se obtiene H.

    También podemos representar nuestro modelo en
    función de sus ceros, polos y la ganancia, con el comando
    zpksys = zpk(HD).

    En el presente trabajo, seguiremos analizando distintos
    conceptos utilizando la representación en el espacio de
    estados discretizado.

    * Aclaración: las matrices que en tiempo
    continuo tienen asignado los nombres A,B,C,D deberían
    reasignarse -bajo el análisis de tiempo discreto- como G,
    H, C, D respectivamente, pero siguiendo la sintaxis del Matlab se
    omitirá dicha reasignación.

    Ahora bien ¿Por qué discretizamos el
    sistema?

    Ventajas de la discretización de
    variables

    La razón principal del empleo de la
    variable discreta es que permiten el proceso y almacenamiento de
    la información (datos) en
    computadoras
    digitales. Para ello finalmente se reduce la información a
    códigos binarios; utilizando en este caso la Transformada
    Z que nos permite reducir Ecuaciones en Diferencias con
    coeficientes constantes en Ecuaciones Algebraicas Lineales,
    ahorrando el manejo de eAt(exponencial) que aparece en
    el estudio de sistemas y variables dentro del espacio
    continuo.

    Desventajas de la discretización de
    variables

    En la discretización de variables
    [analógicas], en cual se toman registros a
    intervalos discretos regulares de señales
    (eléctricas o de otra índole); donde estos valores
    se llaman muestras conformando una
    sucesión; se observa que estas
    muestras introducen errores de aproximación debido a la
    conversión de la señal. También
    podrían considerarse otros errores como los producidos al
    utilizar código
    binario para representar estas muestras (este código
    binario depende, a su vez, de la cantidad de bits que se utilicen
    para la representación en una computadora).

    Por otro lado, en la reconstrucción de la
    función original, que es el proceso inverso para
    transformar los valores discretos en señales
    (eléctricas o de otra índole) de variable continua
    en el tiempo (representables por números reales) ;se
    obtienen funciones
    escalonadas según el período de muestro original,
    pudiéndose así, reconstruir infinitas funciones con
    los valores obtenidos en el muestreo(ya que éstos solo
    representan información de la función en un momento
    dado, y no la función en sí).

    ¿Como determinar el tiempo entre cada
    muestreo?

    El tiempo entre muestras estará determinado por
    el problema en sí, se deben hacer varias consideraciones,
    como la velocidad de procesamiento de las señales, si
    éstas deben ser almacenadas o no, capacidad de
    almacenamiento, tiempo total del muestreo (si se está
    haciendo un seguimiento del sistema), etc.

    De todas las consideraciones, una de ellas tiene notable
    importancia, ésta tiene que ver con la frecuencia de los
    cambios o fluctuaciones que se producen en el sistema. Como regla
    general se debe hacer un muestreo del sistema con una frecuencia
    que doble (al menos) a la frecuencia máxima con la que
    pueden cambiar alguna de sus variables. Esto es así, para
    poder
    recolectar correctamente todos los cambios producidos en las
    variables, de otro modo pueden suceder inconvenientes o efectos
    indeseados en la lectura de
    estas variaciones. (Efecto Doppler, etc.)

    Para nuestro caso, se ha supuesto que las temperaturas
    de los recintos pueden variar de un grado (centígrado) a
    otro, como máximo, en medio segundo; por ello es que se ha
    escogido como período de muestra 0.25
    segundos.

    6-
    Análisis de Estabilidad del Sistema

    A continuación se realiza el estudio de
    estabilidad del sistema utilizando comandos del ToolBox de
    control de sistemas que ofrece Matlab.

    Luego podemos visualizar las soluciones del
    sistema y observar si éstas están dentro de mi
    región de estabilidad (temperaturas máximas) que
    defina oportunamente según el caso real.

    El comando "dlyap" nos permite resolver el segundo
    método propuesto por Lyapunov para sistemas
    discretos.

    Siguiendo este método para el análisis de
    estabilidad asintótica global;

    si se halla una matriz X
    (hermítica) de modo que sea definida positiva, habiendo
    definido Q (hermítica) positiva de modo que:

    AT X A – X = – Q

    Entonces, queda demostrado que el origen x = 0 es un
    estado de equilibrio.

    Lo que pretende Lyapunov, es utilizar conceptos de
    derivadas de
    funciones escalares para determinar si estas son
    convergentes.

    Al definir de forma positiva una función (x) y
    su derivada primera está definida negativa, estamos en
    presencia de una función decreciente, por lo que tiene una
    cota superior y si extendemos esa función a lo largo del
    tiempo ésta tiende a tomar el valor nulo.

    En este caso la derivada es interpretada como la
    diferencia de valores obtenidos de cada una de las
    muestras.

    ΔV(x(kT))= V(x(k+1)T) –
    V(x(kT))

    Se toma como posible función de Lyapunov :
    V(x(k))= A*(k)XA(k) -definida positiva-.

    Y se requiere que ΔV(x(k)) sea definida negativa
    para la estabilidad asintσtica.

    – Matlab –

    Para nuestro caso:

    Al aplicar el criterio de Silvester para probar la
    definición positiva de X, se encuentra que X es definida
    positiva; por lo tanto, el estado de
    equilibrio, el origen x=0, es asintóticamente estable
    global.

    Además puede observarse la estabilidad en este
    ejemplo de sistema discreto verificando los autovalores de la
    matriz A, estos deben ser negativos en su parte real y para
    sistemas discretos, estrictamente, deben ser menores a la
    unidad.

    Se debe notar que si estamos en presencia de un
    sistema discretizado que representa a un sistema continuo con
    polos complejos; puede ocurrir inestabilidad oculta en
    función del período de muestreo.

    La siguiente figura representa la respuesta del sistema
    (evaluando solo a X1) frente a un impulso con las
    condiciones iniciales siguientes; trabajando en
    Matlab:

    » x0 = [20 ; 100] % suponiendo
    temperaturas iniciales de 20 y 100 grados en cada
    recinto.

    » initial(HD,x0)

     

    Se observa como el recinto X1 es afectado por
    la temperatura mayor del otro recinto, pero éste pierde
    temperatura gradualmente.

     

    En la siguiente figura podemos ver que al aplicar en la
    entrada valores de magnitud constantes igual a la unidad
    (escalón unitario), se observa que la salida tiende a
    equilibrarse en el valor 2 luego de 30 seg.

    » step(HD)%comando para graficar la respuesta del
    sistema ante una entrada escalón unitario

     

     

    7-
    Análisis de Controlabilidad del Sistema
    Muestreado

    -Controlabilidad de los estados

    Podemos decir que el sistema es controlable si todas sus
    variables de estados pueden ser controladas en un período
    finito de pasos por una señal de control no
    restringida.

    En otras palabras, si nos concentramos en las matrices
    que representan las ecuaciones en el espacio de estado, lo que se
    busca es que el vector de entrada o control u(k) "afecte"
    directamente o indirectamente a los valores de la matriz A
    (matriz de estado) por medio de la matriz B (matriz de entrada)
    en cada una de las muestras durante el periodo de simulación
    – para este caso-.

    Para verificar esa transmisión de control se arma
    la matriz de controlabilidad.

    Suponiendo que el estado final es el origen en el
    espacio de estados y que el tiempo inicial es cero, se puede
    considerar que es condición necesaria y suficiente para la
    controlabilidad completa de estado que el rango de la
    matriz Co sea igual al número de variables
    de estado que posee el sistema (o su grado).

    Al analizar el rango se busca que no existan vectores
    columnas (H,GH,..etc) nulos y que sean linealmente independientes
    unos de otros, de esta manera nos aseguramos que existirá
    la influencia del control en todo el espacio de estados de dicho
    sistema.

    Utilizando el comando ctrb de Matlab (no es
    necesario que el sistema esté en la forma canónica
    controlable):

    » Co = ctrb(HD.A,HD.B);% armo la matriz de
    controlabilidad

    » nocont=length(A)-rank(Co) %nocont es el numero
    de estados no controlables

    nocont = 0

    El rango de la matriz Co es 2 por lo que el
    sistema es controlable.

    También puede verificarse que con los datos
    obtenidos del rango, podemos decir que el determinante de
    Co es distinto de cero, por lo que estamos frente a
    una matriz no singular (tiene inversa); entonces, si tenemos en
    cuenta que el control u(k) es un escalar no acotado, podemos
    encontrar la secuencia única de señales de control
    u(k) siendo k=0,1,2,3 ..n-1; tal que cualquier estado inicial
    x(0) se transfiera al estado deseado final en n
    períodos de muestreo. El vector que contiene la secuencia
    de control puede obtenerse como se muestra a
    continuación:

    8-
    Análisis de Observabilidad del Sistema
    Muestreado

    Un sistema se dice que es completamente observable, si
    para cualquier estado inicial X(0) puede determinarse a partir de
    la observación de Y(kT) sobre un numero finito de periodos
    de muestreo.

    Análogamente, el sistema es observable si
    cualquier transición de los estados afecta a todos los
    elementos del vector de salida.

    La observabilidad se utiliza para calcular las variables
    de estado observando la salida en caso de no tener acceso a
    ésta. En nuestro caso y como en la mayoría de los
    sistemas reales, es difícil medir las variables de estado
    del sistema durante el transcurso del tiempo, ya sea porque
    resulta inaccesible su medición (físicamente,
    tecnológicamente, etc.) o ésta no puede llevarse a
    cabo mientras actúa el sistema.

    Para verificar lo anterior se construye la matriz de
    observabilidad:

    Esta matriz nos sirve para determinar si un sistema de
    n-esimo orden es o no completamente observable. El sistema es
    completamente observable si y solo si la matriz Ob es de
    rango máximo, es decir, si Ob tiene n filas
    linealmente independientes.

    Una vez que a partir de la observación de la
    salida se puede determinar x(0) , también podrá
    determinarse x(kT), ya que u(0), u(T), … , u((k-1)T) son
    conocidas.

    Utilizando el comando obsv de Matlab

    » Ob = obsv(HD.A,HD.C);% armo la matriz
    observabilidad

    » noobs=length(A)-rank(Ob) % es el numero de
    estados no observables

    noobs = 0

    Por lo que podemos decir que el sistema es completamente
    observable.

    9-Aplicando
    control sobre el sistema

    9.1 Diseño
    vía ubicación de polos

    Una vez hecho el análisis de controlabilidad y
    haber determinado que el sistema es de estado completamente
    controlable; además, si tenemos en cuenta que nuestro
    sistema ejemplo es estable, podemos hacerlo más estable
    aún(o desestabilizarlo según el caso); para ello
    podemos comenzar introduciendo un control simple a través
    de una ganancia de retroalimentación negativa.

    Esta retroalimentación compensa la entropía del sistema, es decir la tendencia
    que tiende el sistema (a converger, a divergir u oscilar);
    introduciendo entropía negativa por medio de la
    retroalimentación se puede controlar al mismo siempre y
    cuando éste sea un sistema controlable.

    Si u(k) es una señal de control no acotada y
    hacemos u(k) = -Kx(k) donde K es la matriz de ganancia; el
    sistema se convierte en un sistema de control de lazo
    cerrado.

    La ecuación de estados puede escribirse
    como:

    x(k+1)=(G-HK)x(k)

    La selección
    de los polos en lazo cerrado o de la ecuación
    característica deseada, dependerá del efecto
    esperado; pudiendo éste ser basado en la velocidad de
    respuesta, amortiguación deseada, minimización de
    efectos adversos, ruidos etc.

    La determinación de la matriz de ganancia buscada
    puede obtenerse por distintos métodos,
    de forma que los autovalores de |G-HK| sean los polos en lazo
    cerrado buscados (polos del sistema dentro del espacio de
    estados).

    Utilizando Matlab- con comando pole- obtenemos los
    polos dentro de la representación del espacio de
    estados.

    » pole(HD)

    ans =

    0.5281

    0.9522

    Gráficamente podemos ver la ubicación del
    los polos y ceros del sistema con el comando
    pzmap.

    » pzmap(HD);zgrid

    • zgrid permite visualizar las líneas de
      los factores de amortiguación constantes y las
      líneas de frecuencia natural dentro del círculo
      unitario.
    • Los polos del sistema están graficados con
      cruces y los ceros con círculos.

    El comando rlocus

    El comando "rlocus" calcula el diagrama de
    Evans, que muestra las trayectorias de los polos del sistema
    S.I.S.O. con retroalimentación negativa en función
    de la ganancia introducida.

    Este comando es útil para el estudio de los
    efectos de distintas ganancias en un sistema retroalimentado.
    Indirectamente esas trayectorias muestran información del
    tiempo de respuesta en frecuencia.

    » rlocus(HD);zgrid

    Podemos ver que esas trayectorias salen del circulo
    unitario, como veremos mas adelante, si ubicamos los polos en
    distintos puntos de la trayectorias se obtiene respuestas
    diferentes, si estos se ubican fuera del circulo, se logra un
    efecto indeseado, el de desestabilizar al sistema.

    Pero antes veamos de qué manera afectan al
    sistema los valores de los polos reguladores:

    *El grafico representa la salida de un sistema con
    amortiguación.

    • Mientras más grande es el valor real,
      más amortiguación (sobregiro) hay en la
      respuesta.
    • Mientras más grande es el valor imaginario,
      hay mayor tiempo de establecimiento.

    A través de la prueba y error, podemos ir
    ubicando los polos teniendo en cuenta la
    sobreamortiguación o la subamortiguación,
    así como también, el tiempo de respuesta de
    establecimiento-rapidez- del sistema.

    Además, se debe tener en cuenta que los polos y
    ceros mas cercanos al eje imaginario son los que mas influyen en
    la respuesta (polos y ceros dominantes).

    – Matlab –

    En principio, Matlab sugiere la utilización del
    comando place para la reubicación de polos, y
    así obtener la matriz de ganancia K; este comando engloba
    distintos métodos y comandos como el acker
    (Método Ackermann).

    Pero podemos utilizar comandos más ventajosos
    para la ubicación de los polos, con el comando
    rlocusfind podemos ubicar interactivamente los polos y
    así obtener la ganancia asociada a esa ubicación de
    polos.

    Una vez obtenida esa ganancia, podemos
    aplicársela al sistema con el comando feedback, y
    por ultimo visualizar como responde el sistema (ej.: con un
    impulso unitario); mas adelante veremos una herramienta grafica
    que permite hacer todo lo anterior de manera aún mas
    intuitiva-el rltool-.

    Veamos:

    -Paso 1

    Combinamos los comandos rlocus, zgrid y rlocfind para
    poder visualizar y señalar en la ventana gráfica
    donde queremos ubicar los polos.

    » rlocus(HD);zgrid;k=rlocfind(HD)

    Select a point in the graphics window

    -Paso 2

    Matlab nos pide que indiquemos en la pantalla con el
    puntero del ratón donde queremos ubicar a los polos
    (dentro de las trayectorias marcadas).

    Elegimos los polos dentro del círculo unitario,
    éstos quedan marcados con un par de cruces rojas como se
    ve en la siguiente figura:

    El sistema devuelve las coordenadas y la ganancia
    asociada:

    selected_point =

    0.4338 + 0.8613i

    k =23.1136

    -Paso 3

    Retroalimentamos al sistema con la ganancia obtenida
    utilizando el comando feedback (lo convertimos en un sistema
    de lazo cerrado).

    » HDC= feedback(HD,k);

    -Paso 4

    Visualizamos la respuesta del sistema (renombrado HDC)
    frente al escalón unitario:

    » step(HDC)% grafica la respuesta del sistema ante
    una entrada escalón unitario

    Visualizamos que ha cambiado el comportamiento de la
    salida, ésta reacciona con más rapidez; con algo de
    amortiguación pero con demasiada retroalimentación
    negativa la cual ha hecho disminuir la amplitud de la salida
    (temperatura).

    Repitiendo los pasos anteriores podemos ir reubicando
    los polos de forma que encontremos la respuesta
    esperada.

    – Matlab –

    Utilizando el rltool

    Cuando invocamos este comando, se inicializa una
    interfaz gráfica interactiva para el diseño de
    sistemas S.I.S.O. de lazo cerrado utilizando técnicas
    de reubicación de polos. Esta herramienta también
    permite importar, modificar y guardar modelos
    previamente diseñados, así como también,
    trabajar con modelos de Simulink*(modelador y simulador de
    sistemas dinámicos).

    Para trabajar sobre nuestro sistema podemos utilizar el
    comando como sigue:

    » rltool(HD)

    Podemos obtener distinta información del
    sistema:

    Ventana principal asociada a nuestro sistema
    HD.

    Información del sistema dentro del
    espacio de estados

    Información sobre los ceros y
    los polos.

    En los siguientes gráficos se muestra al sistema con polos
    reubicados en sus nuevas coordenadas y el grafico de (por
    ejemplo) la salida con una entrada escalón unitario al
    sistema.

    Gráfico de la salida con amortiguación de
    acuerdo a los polos del sistema en las coordenadas
    anteriores:

    Gráfico de la salida correspondiente a la
    ubicación de polos fuera del círculo unitario, como
    puede observarse el sistema se vuelve inestable.

    9.2 Control Óptimo
    Cuadrático

    Todos los objetivos de respuesta temporal
    (amortiguamiento, tiempo de asentamiento, etc.) se pierden para
    centrarse en un único objetivo: la
    minimización(o maximización, según el caso)
    de un índice de desempeño J.

    El problema que viene a solucionar el control
    óptimo es el de saber donde han de reubicarse los
    autovalores del sistema para conseguir unos fines determinados,
    como puede ser la minimización de una función de
    costo

    escalar J. Esta función de costo, o
    índice de desempeño, suele estar relacionada con la
    energía y por lo tanto con el costo económico del
    proceso.

    El control óptimo consiste en obtener el vector
    de las señales de control u(k), que haga
    mínimo el índice de desempeño J. A
    este vector se le denomina trayectoria óptima de
    control.

    Un ejemplo de índice de desempeño
    cuadrático para un proceso de tiempo finito es:

    La razón de incluir las variables de control
    u(k) en el índice de comportamiento se debe a
    razones energéticas como se mencionó anteriormente,
    lo cual es muy importante puesto que minimiza la energía
    de las señales de entrada que son las que realizan los
    actuadotes, y por lo tanto, son las que cuestan capital
    (recursos).

    Si el problema es de estado estacionario, es decir, si
    se desea hacer un control de proceso durante todo momento sin
    restricciones (N ≈ ∞), podemos omitir el
    primer término del lado derecho de la ecuación del
    índice ya que tiende a cero (corresponde al costo terminal
    del estado final); esto es así porque en un problema de
    minimización se desea que x(N) esté tan
    cerca del origen como sea posible. También se debe
    considerar si el estado fina x(N) no es
    fijo.

    La ventaja de utilizar el esquema de control
    óptimo cuadrático es que el sistema diseñado
    será asintóticamente estable, excepto para algunos
    casos especiales (ver pag. 7).

    Normalmente las matrices H, Q y R
    son matrices diagonales con ij = 0 si i j
    y además son matrices definidas positivas. Cuando hay
    alguna variable que no se desea minimizar entonces se hace el
    correspondiente término ij = 0.

    En general, en todos los índices de
    comportamiento los coeficientes de las matrices Q y
    R inciden directamente sobre los valores de las
    señales del sistema x(k) y u(k); cuanto mayores sean los
    coeficientes, más se optimiza la variable que corresponda.
    Es decir, por ejemplo, cuanto más se desee limitar la
    excursión de una cierta variable de control uj,
    mayor se escogerá el elemento

    rii de la matriz R.

    Si la matriz R aumenta, las ganancias disminuyen
    y también disminuye el costo energético de control;
    pero con valores grandes de la matriz R puede empeorar el
    comportamiento del sistema.

    Si R >> Q la contribución del
    control u(k) es muy grande comparándola con la
    contribución del estado x(k). Dicho de otra forma,
    disminuye el costo del control pero empeora el comportamiento del
    sistema.

    Si Q >> R mejora la respuesta del
    sistema pero aumenta el costo energético de control. El
    vector de estado estará muy controlado, pero las
    señales de control u(k) pueden ser muy grandes.

    Aspectos sobre la implementación de control
    óptimo

    Controles Permitidos: Se debe tener en cuenta que el
    vector de control obtenido, sea consecuente con el sistema real
    estudiado; hay señales de control obtenidas
    analíticamente que son imposibles de implementar por
    restricciones físicas del sistema. Por ello no se debe
    dejar de tener en cuenta: la naturaleza del
    índice de desempeño, el estado inicial o la salida
    inicial, el estado deseado o la salida deseada y las
    restricciones.

    Un índice de desempeño puede ser apropiado
    para un problema dado, pero muy inapropiado bajo las
    consideraciones de otro problema. Esto es, por ejemplo, si
    suponemos un problema donde se requiere que un índice
    preserve al máximo la energía del sistema (pero se
    requiere más tiempo de asentamiento); bajo otro problema,
    donde se busca una respuesta rápida (que seguramente
    requerirá utilizar la energía del sistema sin
    demasiadas restricciones) el primer índice
    resultaría inadecuado.

    La implementación del control óptimo suele
    ser off-line, desarrollándose previamente de forma
    analítica por métodos numéricos. La
    solución más apropiada puede consistir en aplicar
    una ganancia de control constante, que corresponda a la
    solución en régimen permanente (estacionario),
    generalmente esta alternativa es la de implementación
    más simple pero requiere que el sistema cumpla con la
    condición necesaria de ser controlable (es suficiente que
    sea observable).

    Para nuestro caso, debemos tener en cuenta que se trata
    de un sistema térmico y que por ejemplo, entre otras
    consideraciones, debemos analizar que la resistencia
    eléctrica puede calentar a los recintos con una velocidad
    de respuesta máxima, la cual no ha sido contemplada bajo
    el modelo matemático (con señal de control no
    restringida) además se observa que la entrada (en el
    sistema real) no es capaz de absorber energía (enfriar) a
    los recintos. Estas consideraciones deberían hacerse al
    aplicar todo tipo de control al sistema en un problema
    real.

    – Matlab –

    Comando dlqr.

    El comando dlqr permite diseñar un
    regulador cuadrático lineal para sistemas discretos
    utilizando técnicas de "programación dinámica".

    Este comando trabaja con un índice discretizado y
    utiliza la ecuación de Riccati para resolver problemas de
    horizonte finito o infinito de acuerdo al los parámetros
    que se le pasen al comando.

    Sintaxis

    [K,S,e] = dlqr(a,b,Q,R)

    [K,S,e] = dlqr(a,b,Q,R,N)

    Si se omite la matriz N(o H de acuerdo a
    otras nomenclaturas) el comando puede utilizarse para problemas
    de estado de etapas infinitas y puede obtenerse la matriz
    K asociada en estado estacionario (constante).
    Además, se obtiene la matriz S(o P) y los
    autovalores (e) para cada instante.

    A continuación puede estudiarse como afectan las
    matrices Q y R a los polos del sistema y la
    ganancia asociada para un problema de estado estacionario. Al
    omitirse la matriz N, Matlab realiza las
    iteraciones correspondientes hasta encontrar la matriz constante
    K.

    a) Q>>R

    » Q = [10 0 ; 0 20];

    R = [1];

    [K,S,e] = dlqr(HD.A,HD.B,Q,R) % extraemos a A y B de
    HD

    K =

    0.7862 3.0155

    S =

    16.8376 7.6034

    7.6034 43.8472

    e =

    0.5071

    0.6066

    b) R>>Q

    » Q = [10 0 ; 0 20];

    R = [80];

    [K,S,e] = dlqr(HD.A,HD.B,Q,R)

    K =

    0.0596 0.2198

    S =

    25.3199 38.6332

    38.6332 157.4081

    e =

    0.5279

    0.9256

    Puede analizarse, en el caso a, como cambia la
    respuesta del sistema (observando e) pero el costo de control es
    alto (R es bajo ó K es
    alto); al incrementar R en el punto b, se observa
    como disminuye la ganancia nuevamente y los polos se reubican
    cerca de su posición original – ver pág.
    13.

    En los siguientes casos se analizan otros tipos de
    respuesta.

    c) Q>>R

    » Q = [50 0 ; 0 20];

    R = [1];

    [K,S,e] = dlqr(HD.A,HD.B,Q,R)

    K =

    1.7592 3.8596

    S =

    77.4645 20.4881

    20.4881 53.5935

    e =

    0.4961 + 0.1480i

    0.4961 – 0.1480i

    d) R>>Q

    »Q = [50 0 ; 0 20];

    R = [60];

    [K,S,e] = dlqr(HD.A,HD.B,Q,R)

    K =

    0.1646 0.4885

    S =

    98.8871 84.9434

    84.9434 254.9485

    e =

    0.5307

    0.8892

    e) R>>Q

    » Q = [50 0 ; 0 20];

    R = [150];

    [K,S,e] = dlqr(HD.A,HD.B,Q,R)

    K =

    0.0820 0.2511

    S =

    104.4415 103.9542

    103.9542 320.3764

    e =

    0.5291

    0.9202

    Puede examinarse que (en los casos d y e):
    a medida que aumentamos R, la señal de control
    está cada vez mas acotada por lo que la respuesta del
    sistema casi no cambia (demasiado control de energía a
    pesar de haber control sobre las variables de estado).

    También pueden obtenerse resultados similares
    utilizando el comando dare (discrete-time algebraic
    Riccati equations) que resuelve ecuaciones de
    Riccati para tiempo discreto.

    O puede resolverse iterativamente haciendo:

    »Q = [10 0 ; 0 20];

    R = [1];

    G = HD.A; %extraemos la matriz A del SS

    H = HD.B; %extraemos la matriz B del SS

    S =[0 0 ; 0 0]; % suponiendo problema de estado
    estacionario

    for i=1:18, % delimitado por cálculos
    anteriores

    S = Q + G'*S*G -G'*S*H* inv(R+H'*S*H)*H'*S*G

    K= inv(R+H'*S*H)*H'*S*G

    end;

    Se obtiene el la primera iteración:

    S =

    10 0

    0 10

    K =

    0.2293 0.9406

    En la iteración 16 S permanece
    constante, -ver caso a -:

    S =

    16.8376 7.6034

    7.6034 43.8472

    K =

    0.7862 3.0155

    Una vez que calculada la matriz S
    constante, obtenemos la matriz K asociada en estado
    estacionario.

    Sabiendo que u(k) = -Kx(k) y teniendo
    x(k+1)=(G-HK)x(k),luego podemos calcular la trayectoria
    óptima y los valores del control óptimo.

    Como se mencionó anteriormente, ya que se deben
    analizar cada uno de los valores de las variables de estado
    durante el proceso; es que este método, la mayoría
    de las veces, resulta difícil de implementar mientras
    actúa el sistema. De otro modo, como se realiza en algunos
    casos, se aplica la ganancia de control constante previamente
    calculada.

    Existen otros métodos para el cálculo de
    control óptimo, como el de Euler-Lagrange, el
    método de valores propios y vectores propios y el enfoque
    de Lyapunov para resolver problemas en estado estacionario, entre
    otros.

    10- Conclusiones
    Finales

    No se debe dejar de considerar que en la
    implementación, la representación de los modelos
    matemáticos y las herramientas
    analíticas deben aproximarse lo más posible al
    ámbito real aunque no puedan ser aplicados
    verazmente.

    Por otro lado, queda a la vista, la gran versatilidad de
    Matlab para desarrollar, entender, visualizar y ampliar
    conceptos representados analíticamente.

    Referencias
    Bibliográficas

    Ogata, K. (1998). Ingeniería de Control
    Moderno
    (3ª ed.). Prentice-Hall

    Kuo, B. (1996). Sistemas de Control
    Automático
    (7ª ed.). Prentice-Hall

    Sitios de Internet

    -MATLAB Ver. 5.3 http://www.mathworks.com/

    TUTORIALES DE
    CONTROL PARA MATLAB – UNIVERSIDAD DE
    MICHIGAN E.E.U.U.
    http://www.engin.umich.edu/group/ctm/

    – PAGINA WEB SOBRE
    SISTEMAS DE CONTROL UNIVERSIDAD EAFIT – COLOMBIA
    http://www.control-systems.net/

    -APUNTES -CONTROL MODERNO – FACULTAD DE
    INGENIERÍA – UBA
    http://www.fi.uba.ar/materias/61107/Apuntes/TZ00.pdf

    -CONTROL MODERNO – UNIVERSIDAD DE GUADALAJARA – MEXICO –
    http://proton.ucting.udg.mx/materias/moderno/principal.htm

    -TEORÍA DE CONTROL AUTOMÁTICO –
    UNIVERSIDAD DE SEVILLA – ESPAÑA

    http://www.esi2.us.es/~vargas/docencia/tca/tca.html

    -SISTEMAS DE CONTROL AVANZADO – UNIVERSIDAD DE
    ALCALÁ – ESPAÑA
    http://www.depeca.uah.es/docencia/ING-ECA/ctr_avz/

    – CONTROL ÓPTIMO LINEAL – UNIVERSIDAD
    AUTÓNOMA DE NUEVO LEÓN – MEXICO
    http://gama.fime.uanl.mx/~salinas/CO.html

    – CONTROL MODERNO – FACULTAD DE INGENIERÍA
    UNIVERSIDAD NACIONAL DE LA PLATA – ARG.
    http://davinci.ing.unlp.edu.ar/controlm/electronica/archivos.htm

    – AUTOMÁTICA – DEPARTAMENTO DE INGENIERÍA
    Y CIENCIA DE
    COMPUTADORES – UNIVERSIDAD JAUME I ESPAÑA
    http://www3.uji.es/~mortiz/automatica/asignatura%20automatica.htm

    Apéndice

    Resumen de los comandos más importantes del
    Control

    System Toolbox de Matlab.

     

     

     

     

    Autor:

    Leonardo Villegas

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter