Está en la página 1de 17

DISEÑO DE OBSERVADORES EN PLANTA TEMPERATURE CONTROL

LABORATORY (TCLAB)

Brahyan Stiven Vargas Restrepo, Carlos De Jesús Monterroza Carriazo,


Laura Tatiana Sierra Molina

Universidad Nacional de Colombia, Sede Medellín. Cra. 80 x Cl. 65. Barrio Robledo.

brvargasr@unal.edu.co
cmonterroza@unal.edu.co
lasierramo@unal.edu.co

Abstract: This paper presents a study on the analysis and design of observer techniques
applied to the Temperature Control Laboratory (TCLAB) plant. The linearization of the
plant is performed, and different observation methods are explored, including Luenberger
Observer, Sliding Mode Observer (SMO), Unknown Input Observer (UIO) and Kalman
Filter.

Keywords: Application of nonlinear analysis and design, Kalman Filtering, Observer


design, Observers for linear systems, Parameter and state estimation, Simulation tools and
commercial software

INTRODUCCIÓN Posteriormente, se aplicó el filtro de Kalman, una poderosa


herramienta de estimación óptima, para abordar el problema de
En el campo de la automatización y el control, el diseño de observación en la planta TCLAB. El filtro de Kalman utiliza un
estrategias efectivas de observación es fundamental para modelo estadístico del sistema y las mediciones disponibles
mejorar el rendimiento y la estabilidad de los sistemas para obtener una estimación óptima del estado del sistema,
dinámicos. En este trabajo, se presenta un estudio exhaustivo considerando la incertidumbre y el ruido presentes en el proceso
sobre la aplicación de diferentes técnicas de diseño de de medición.
observadores en la planta Temperature Control Laboratory
(TCLAB). El objetivo principal es analizar y comparar el El trabajo incluye un análisis comparativo de las diferentes
desempeño de distintos métodos de observación para lograr una técnicas de observación implementadas, evaluando su
regulación precisa y robusta de la temperatura en tiempo real. desempeño en términos de precisión, robustez y resistencia a
perturbaciones externa
El primer paso en este estudio consistió en la linealización de la
planta TCLAB. Dado que los sistemas dinámicos no lineales 1. SELECCIÓN PLANTA NO LINEAL
pueden ser difíciles de controlar, se realizó una aproximación
lineal alrededor de un punto de operación para facilitar el 1.1 Explicación del modelo matemático.
análisis y diseño de observadores. La linealización permite
obtener un modelo matemático simplificado que describe el El TCLab (Temperature Control Laboratory) es una planta
comportamiento dinámico de la planta. térmica de laboratorio pequeña y portátil que sirve como medio
para aplicar diferentes conceptos de la Teoría de Control en un
A continuación, se exploraron varios enfoques de observación sistema real.
para estimar el estado no medible de la planta. Se implementó
un observador de Luenberger, que utiliza mediciones Se compone de:
disponibles para estimar las variables de estado no directamente • Dos transistores que hacen las veces de calentadores.
accesibles. Además, se empleó un observador por modos • Tres sensores de temperatura que se encuentran
deslizantes, una técnica robusta que busca minimizar los efectos adheridos a los transistores mediante una pasta que
de perturbaciones y ruido en la estimación del estado. facilita la transferencia de calor entre el transistor y el
Asimismo, se investigó la viabilidad de un observador por sensor
entradas desconocidas, el cual permite estimar tanto el estado • Dos radiadores que hacen las veces de disipadores de
como las entradas desconocidas del sistema. calor.
• Una PCB y toda la interfaz para Arduino.

1
El objetivo de la planta es lograr mantener la temperatura de Tabla 1. Variables y parámetros de la planta
uno o de los dos transistores en un valor de referencia deseado,
modificando el ciclo de dureza del voltaje del transistor. PARÁMETRO DESCRIPCIÓN VALOR INICIAL
Masa del
El TCLab permite la flexibilidad de aplicar muchos conceptos 𝑚𝑄 1.9517𝑥10−3 𝑘𝑔
transistor
de la Ingeniería de Control en general, tales como:
𝑚𝑆 Masa del sensor 2.3𝑥10−4 𝑘𝑔
modelamiento de sistemas dinámicos, identificación de
Masa del
sistemas, control manual, control automático en el dominio de 𝑚𝐻 6𝑥10−3 𝑘𝑔
disipador
la frecuencia, control automático en variables de estado, entre
Calor específico
muchos otros.
del transistor
y del sensor 𝐽
𝐶𝑝 1900
(ambos están 𝑘𝑔 𝐾
hechos del
mismo material
Calor específico 𝐽
𝐶𝐻 880
del disipador 𝑘𝑔 𝐾
Coeficiente de
transferencia 1 𝑊
𝐾𝑄𝐻𝑆 de calor entre el
transistor y el 35.7 𝐾
disipador
Coeficiente de
transferencia 1 𝑊
Fig. 1. Planta no lineal TCLab. 𝐾𝑄𝑆 de calor entre el
transistor y el 56.55 𝐾
Puede aplicarse un voltaje a cada uno de los dos transistores sensor
usando los pines digitales 3 y 5 del Arduino. Coeficiente de
Al tratarse de pines digitales, para lograr una acción de control transferencia 1 𝑊
continua, lo que en realidad debe aplicarse es un voltaje 𝐾𝑄𝐴 de calor del
Modulado por Ancho de Pulsos (PWM). transistor al 62.5 𝐾
ambiente
La planta real tiene tres elementos que comparten temperatura: Coeficiente de
El transistor, el sensor y un disipador metálico de calor. Es transferencia 1 𝑊
posible aplicar balances de energía para obtener un modelo que 𝐾𝐴𝑆 de calor del
involucre las tres temperaturas. Dicho modelo se muestra a sensor al 180 𝐾
continuación: ambiente
Coeficiente de
𝑑𝑇𝑄 transferencia
𝐶𝑝 𝑚𝑄 = 𝐾𝑄𝐻𝑆 (𝑇𝐻 − 𝑇𝑄 ) + 𝐾𝑄𝑆 (𝑇𝑠 − 𝑇𝑄 ) 1 𝑊
𝑑𝑡 𝐾𝐴𝐻𝑆 de calor del
+ 𝐾𝑄𝐴 (𝑇𝑎 − 𝑇𝑄 ) + 𝐾𝑢 𝑢 disipador al 14 𝐾
ambiente
𝑑𝑇𝑠 Coeficiente de
𝐶𝑝 𝑚𝑠 = 𝐾𝑄𝑆 (𝑇𝑄 − 𝑇𝑆 ) + 𝐾𝑆𝐴 (𝑇𝑎 − 𝑇𝑆 ) 𝑊
𝑑𝑡 𝐾𝑢 potencia de 0.053
entrada % 𝑑𝑒 𝑑𝑢𝑟𝑒𝑧𝑎
𝑑𝑇𝐻 Ciclo de dureza
𝐶𝐻 𝑚𝐻 = 𝐾𝑄𝐻𝑆 (𝑇𝑄 − 𝑇𝐻 ) + 𝐾𝐴𝐻𝑆 (𝑇𝑎 − 𝑇𝐻 ) Variable de entrada
𝑑𝑡 𝑢 del voltaje de
[%]
entrada
En este modelo se despreció el efecto del calor por radiación. Temperatura del Variable de estado
𝑇𝑄
transistor [K]
Variables y parámetros de la planta. Temperatura del Variable de estado
𝑇𝑆
sensor [K]
A continuación, se especifican los valores numéricos de los Temperatura del Variable de estado
parámetros utilizados para las diferentes simulaciones 𝑇𝐻
disipador [K]
realizadas. Depende del lugar
Temperatura
𝑇𝑎 de operación del
ambiente
TCLab

2
1.2 Linealización en 313.8573K y la temperatura del disipador se estabiliza en
301.4554K.
Para realizar la linealización alrededor de un punto de equilibrio
se tiene el siguiente esquema de modelo lineal: Linealización.
𝑑(∆𝑥)
= 𝐴∆𝑥 + 𝐵∆𝑢
𝑑𝑡 Haciendo uso de MATLAB, se realiza la linealización con los
En donde: comandos jacobian y eval. En este script se definen los
• ∆𝑥̇ corresponde al vector que contiene las dinámicas parámetros, ecuaciones, variables de estado y entradas del
de las variables de estado. modelo.
• ∆𝑥 corresponde al vector de variables de estado.
• ∆𝑢 corresponde al vector de entradas del sistema Representación matricial en variables de estado.
• A y B corresponden a las matrices jacobianas.
Las matrices de linealización se presentan a continuación,
Para este proceso se definen las funciones:
𝑓1 = 𝑥1 ; 𝑓2 = 𝑥2 ; 𝑓3 = 𝑥3 −0.0118 0.0026 0.0065
𝐴 = [ 0.0222 −0.0308 0 ]
La definición de la matriz A que acompaña al vector de las 0.0040 0 −0.0262
variables de estado en el modelo lineal es:
0.0097
𝐵=[ 0 ]
∂𝑓1 ∂𝑓1 ∂𝑓1
0
∂𝑥1 ∂𝑥2 ∂𝑥3
∂𝑓2 ∂𝑓2 ∂𝑓2 𝐶 = [1 0 0]
𝐴= |𝑥 , 𝑢 |
∂𝑥1 ∂𝑥2 ∂𝑥3 𝑒 𝑒
∂𝑓3 ∂𝑓3 ∂𝑓3 𝐷 = [0]
Análisis de estabilidad
[∂𝑥1 ∂𝑥2 ∂𝑥3 ]
Haciendo uso del comando eig de MATLAB, se encuentran los
Además, se tiene como definición para la matriz B:
∂𝑓1 valores propios de la matriz A, los cuales son:
∂u −0.0078
∂𝑓2 𝜆1,2,3 = [ −0.0339 ]
𝐵= |𝑥𝑒 , 𝑢𝑒 |
∂u −0.0270
∂𝑓3
[ ∂u ] Se puede observar que los tres polos tienen parte real negativa.
Por lo tanto, el sistema es estable.
Para las salidas el modelo lineal se representa como:
1.3 Comparación modelo lineal vs modelo no lineal
𝑑(∆𝑦)
= 𝐶∆𝑥 + 𝐷∆𝑢 En el proceso de aproximación del modelo no lineal al lineal, se
𝑑𝑡
Donde C y D corresponden nuevamente a matrices jacobianas. trabaja con cambios pequeños en el modelo del sistema y se
En este caso, la salida corresponde a la variable de estado 𝑥1, la realiza el análisis en pequeña señal. Para hacer la comparación
cual hace referencia a la temperatura del transistor 𝑇𝑄 entre el modelo no lineal y el lineal se debe tener en cuenta esta
región de trabajo.
Punto de operación
Como la linealización se hace alrededor de un punto de
Haciendo uso de un programa de MATLAB y la función fsolve equilibrio se tiene que
se encontró que el punto de operación ante una entrada PWM
con ciclo de 20% es: 𝑥 = 𝑥𝑒 + ∆𝑥
En donde:
319.9658 • 𝑥 es el vector de estados del sistema no lineal
[𝑥𝑒 ] = [313.8573] • ∆𝑥 es un vector variable de desviación
301.4554 • 𝑥𝑒 es un vector constante.
Por ello, para hallar la entrada del sistema lineal, se le debe
Se concluye que, ante una entrada de operación de 20% de ciclo restar el punto de operación a la entrada del sistema no lineal:
de dureza, la temperatura en el transistor alcanza una magnitud
de 319.9658K, mientras que el sensor alcanza su estado estable ∆𝑢 = 𝑢 − 𝑢𝑒

3
Además, para encontrar la variable de salida del sistema no Comparación temperatura del disipador.
lineal, es necesario sumarle el punto de operación a la salida del
sistema lineal:

𝑦 = ∆𝑦 + 𝑦𝑒

Para esta comparación, se toma como condición inicial para el


sistema no lineal el punto de operación alrededor del cual se
hizo la linealización, además una temperatura ambiente de 25°C
(298°K).

Además, se define un ciclo de dureza para la entrada del PWM


del 20%, el cual corresponde al punto de operación de la entrada
y a los 200 segundos de simulación se aumenta en un 10%
finalizando con una entrada de 30%.

Comparación temperatura del transistor.

Fig. 4. Comparación temperatura del disipador

En base a los resultados anteriores, se concluye una


linealización exitosa, debido a que alrededor del punto de
operación, el sistema lineal representa el comportamiento de la
planta no lineal, incluso al realizarse pequeñas variaciones o
perturbaciones

1.4 Matriz de observabilidad

Haciendo uso del comando obsv(A,C) de MATLAB, se obtiene


que la matriz de observabilidad es

1 0 0
𝑂𝑏 = [−0.0117 0.00261 0.0065 ]
0.0002 −0.0001 −0.0002
Fig. 2. Comparación temperatura del transistor
Donde su rango es:
Comparación temperatura del sensor.
𝑟𝑎𝑛𝑘 (𝑂𝑏) = 3

2. OBSERVADOR DE LUENBERGER

Observabilidad para el observador de Luenberger

Teorema: Un sistema LTI de tiempo continuo de 𝑛


dimensiones es observable si y sólo si la matriz

𝐶
𝑂=[ 𝐶𝐴 ]

𝑛−1
𝐶𝐴

tiene rango 𝒏. [1]

Se puede concluir que, como el rango de la matriz de


observabilidad es igual a la dimensión del sistema, este es
observable. Es decir, existe un tiempo finito 𝑡1 > 0 que con el
conocimiento de la entrada 𝑢(𝑡) y la salida 𝑦(𝑡) durante el
Fig. 3. Comparación temperatura del sensor.

4
intervalo [0 𝑡1 ] es suficiente para determinar un estado
𝑆𝑃% 𝑅2 4
desconocido 𝑥 (𝑡0 ) = 𝑥0 . 𝑅 = ln ( ) ; 𝜉=√ 2 ; 𝜔𝑛 =
100 𝑅 + 𝜋2 𝜉 ∙ 𝑇𝑠
Para el diseño de este observador, se tiene el modelo de la planta
linealizada representado como Obteniendo como resultado:

𝑥̇ = 𝐴𝑥 + 𝐵𝑢 𝑦 = 𝐶𝑥 𝑃𝑥 = 𝑠 2 + 0.02𝑠 + 0.002

Para este tipo de estimación, el observador propuesto es una Cuyas raíces son 𝜆1,2 −0.01 ± 0.008𝑖.
copia del modelo linealizado.
Para el diseño del observador, debido a que el sistema cuenta
𝑥̂̇ = 𝐴𝑥̂ + 𝐵𝑢 + 𝐾𝑒 (𝑦 − 𝑦̂) 𝑦̂ = 𝐶𝑥̂ con tres variables de estado, es necesario definir tres valores
propios deseados. En este caso se agrega un polo lo
En donde 𝑦̂ representa la salida estimada y 𝑥̂̇ representa el suficientemente alejado del polo dominante para así garantizar
estado estimado. El diagrama del sistema en lazo cerrado con el que la dinámica no se ve afectada por esta adición, finalmente
observador se presenta a continuación el polinomio deseado se define como:

𝑃𝑑 = (𝑠 2 + 0.0114𝑠 + 0.0001)(𝑠 + 0.2)

𝑃𝑑 = 𝑠 3 + 0.22𝑠 2 + 0.00416𝑠 + 0.0000328

Cuyas raíces son:


𝜆1 = −0.2
𝜆2,3 = −0.0100 ± 0.0080𝑖

Para el diseño de la matriz de ganancia del observador, se hizo


uso del comando

𝐾𝑒 = 𝑎𝑐𝑘𝑒𝑟(𝐴′, 𝐶′, 𝑟𝑎𝑖𝑧_𝑜𝑏𝑠)

Obteniendo
Fig. 5. Diagrama sistema con el observador de Luenberger 0.1512
𝐾𝑒 = [−7.0108]
La selección de los parámetros del polinomio deseado se hizo 1.9044
con base en las simulaciones realizadas para el proceso de
linealización, en las cuales se observa un tiempo de A continuación, se presentan los resultados obtenidos.
establecimiento de aproximadamente 800 segundos en lazo
abierto y una respuesta dominantemente de primer orden. Comparación salida sistema lineal vs observador

Además, se debe tener en cuenta la física de la planta para esta


selección, pues esta es una planta de temperatura que no cambia
con gran velocidad, por ello, aunque la dinámica del observador
debe ser más rápida que la dinámica de la planta para garantizar
un oportuno cálculo del error, tampoco se le puede sobre exigir
disminuyendo radicalmente su tiempo de establecimiento.
Finalmente se decide definir el tiempo de establecimiento en
400 segundos.

Por otra parte, al tratarse de una variable de temperatura,


físicamente no se pueden presentar cambios abruptos en su
valor de estado estable, por lo cual el sobre nivel debe ser una
cantidad pequeña en porcentaje, por ejemplo, para este diseño
se decidió definir este parámetro en 2%.

En la construcción del polinomio se hizo uso de las siguientes


ecuaciones
Fig. 6. Comparación salida sistema lineal vs observador.

5
Error entre el sistema lineal y el observador Comparación temperatura del sensor sistema no lineal vs
observador

Fig. 7. Error sistema lineal Fig. 9. Comparación salida 𝑇𝑆 sistema no lineal vs observador

En el modelo lineal se observa que el observador sigue con Comparación temperatura del disipador sistema no lineal vs
lealtad el comportamiento de la salida medida, sin embargo, es observador
importante implementar este observador en la planta no lineal
para poder visualizar el comportamiento de las variables
estimadas y no medidas.

A continuación, se presenta la implementación en la planta no


lineal después de realizados los debidos ajustes con respecto a
los puntos de operación

Comparación temperatura del transistor sistema no lineal vs


observador

Fig. 10. Comparación salida 𝑇𝐻 sistema no lineal vs observador

Para esta simulación se simulo un cambio en la entrada a los


700 segundos, pasando de un ciclo de dureza del 20% a un ciclo
de dureza del 30%. Esto se realizó con el fin de observar la
respuesta del observador ante perturbaciones.

La dinámica del error para el sistema no lineal se presenta a


continuación.

Fig. 8. Comparación salida TQ sistema no lineal vs observador

6
Error entre el sistema no lineal y el observador 0.004314
𝐷 = [ 0.0127 ] → 𝑀𝑎𝑡𝑟𝑖𝑧 𝑎𝑠𝑜𝑐𝑖𝑎𝑑𝑎 𝑎 𝑙𝑎𝑠 𝐸𝐷
0.013528

0.004314
𝐶𝐷 = [1 0 0] [ 0.0127 ] = [0.004314]
0.013528

Como 𝑟𝑎𝑛𝑔𝑜(𝐶𝐷) = 1 es igual al número de entradas


desconocidas se concluye que sí es posible diseñar un OED. Por
lo tanto, se continúa con el cálculo de las matrices del diseño.

Primero se busca calcular N con el objetivo de saber si es


posible modificar la dinámica del error, ya que el error depende
de N: 𝑒̇ = 𝑁𝑒.

Cálculo de E:

−0.004314
𝐸 = −𝐷(𝐶𝐷)−1 = [ −0.0127 ] [0.004314]−1
Fig. 11. Error sistema no lineal. −0.013528

Se observa que el observador converge a las respuestas −1


presentadas por la planta, en el tiempo establecido de 400 𝐸 = [−2.9439]
segundos, además, se presenta un mejor comportamiento −3.1358
después de los primeros 200 segundos de simulación, en el cual
Cálculo de P:
el observador, con una condición inicial diferente a la de la
planta, presenta un comportamiento diferente al diseñarse con 1 0 0 −1
raíces de un sistema de segundo orden, siendo la planta 𝑃 = 𝐼 + 𝐸𝐶 = [0 1 0] + [−2.9439] [1 0 0]
dominantemente de primer orden. 0 0 1 −3.1358
1 0 0 −1 0 0
3. OBSERVADOR CON ENTRADAS 𝑃 = [0 1 0] + [−2.9439 0 0]
DESCONOCIDAS 0 0 1 −3.1358 0 0

En esta sección, se tomará la temperatura del ambiente 0 0 0


𝑇𝑎 como entrada desconocida. Siendo así, se toma las 𝑃 = [−2.9439 1 0]
ecuaciones no lineales, se despeja y el sistema quedaría de la −3.1358 0 1
siguiente manera, dónde v es la entrada desconocida:
Observabilidad del par (PA, C):
𝑇 −0.01664 0.00477 0.00755 𝑇𝑄
𝑑 𝑄 0 0 0 −0.01664 0.00477 0.00755
[ 𝑇𝑆 ] = [ 0.0405 −0.0532 0 ] [ 𝑇𝑆 ]
𝑑𝑡 𝑃𝐴 = [−2.9439 1 0] [ 0.0405 −0.0532 0 ]
𝑇𝐻 0.005305 0 −0.0188 𝑇𝐻
0.0142 0.004314 −3.1358 0 1 0.005305 0 −0.0188
+ [ 0 ] 𝑢 + [ 0.0127 ] 𝑣 0 0 0
0 0.013528 = [0.0895 −0.0672 −0.0222]
𝑇𝑄 0.0575 −0.0149 −0.0425
𝑦 = [1 0 0] [ 𝑇𝑆 ] 𝐶 1 0 0
𝑇𝐻
𝑀𝑃𝐴𝐶 = [ 𝐶(𝑃𝐴) ] = [0 0 0]
Antes de comenzar el diseño del observador con entradas
𝐶(𝑃𝐴)2 0 0 0
desconocidas, se verifica si el rango de la multiplicación de las
matrices CD es igual al número de entradas desconocidas, qué
en este caso 𝑒𝑛𝑡𝑟𝑎𝑑𝑎𝑠 𝑑𝑒𝑠𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑎𝑠 = 1 = 𝑚.
Se encuentra que el rango de la matriz de observabilidad del par
𝐶 = [1 0 0] → 𝑀𝑎𝑡𝑟𝑖𝑧 𝑎𝑠𝑜𝑐𝑖𝑎𝑑𝑎 𝑎 𝑙𝑎 𝑠𝑎𝑙𝑖𝑑𝑎 (PA,C) es igual a 1, por lo que es no observable con entradas
desconocidas, ya que no es igual al número de variables de
estado (3).

7
Con ayuda del comando eig() en Matlab, se encuentra que los λ1 = −0.0328, λ2 = −0.0769 y λ3 = −1.
valores propios del espacio de estados son λ1 = −0.057,
λ2 = −0.0084 y λ3 = −0.022, con esto se establece que el Finalmente, se tiene la siguiente dinámica del error:
sistema es detectable porque todos los valores propios son
negativos, por lo tanto, se puede continuar con el diseño. 𝑒̇1 −1 0 0 𝑒1
[𝑒̇2 ] = [ 0 −0.0672 −0.0222] [𝑒2 ]
Ahora se introduce un teorema: 𝑒̇3 0 −0.0149 −0.0425 𝑒3

𝑠𝑃 − 𝑃𝐴 Finalmente se hallan las matrices L y G para completar el diseño


𝑟𝑎𝑛𝑔𝑜 ( ) = 𝑛, ∀ 𝑠 ∈ 𝑅𝑒(𝑠) ≥ 0
𝐶 del observador
0 0 0 0 0 0 0 0
𝑠𝑃 − 𝑃𝐴 = [−2.9439𝑠 𝑠 0] − [0.0895 −0.0672 −0.0222] 𝐿 = [−0.1782] 𝐺 = [−0.0418]
−3.1358𝑠 0 𝑠 0.0575 −0.0149 −0.0425
−0.1197 −0.0445
0 0 0
= [−2.9439𝑠 − 0.0895 𝑠 + 0.0672 0.0222 ]
Teniendo en cuenta las matrices halladas, se procede a realizar
−3.1358𝑠 − 0.0575 0.0149 𝑠 + 0.0425
el montaje en Simulink, como se presenta en la Fig. 12.
Entonces,
0 0 0
𝑟𝑎𝑛𝑔𝑜 (−2.9439𝑠 − 0.0895 𝑠 + 0.0672 0.0222 ) = 3
−3.1358𝑠 − 0.0575 0.0149 𝑠 + 0.0425
1 0 0

Se realizó diversos intentos por averiguar en qué polo la matriz


perdía rango, pero los intentos no fueron eficaces.

Cálculo de N:
Fig. 12. Observador con entradas desconocidas en Simulink.
0 0 0 Se realiza la simulación teniendo en cuenta las siguientes
𝑁 = 𝑃𝐴 − 𝑘𝐶 = [0.0895 −0.0672 −0.0222] características:
0.0575 −0.0149 −0.0425
𝑘1
- La entrada conocida inicia con el valor de operación
− [𝑘 2 ] [ 1 0 0 ]
que es 20%, a los 300 segundos se introduce un cambio
𝑘3
que la deja en un valor final de 50%.
Entonces,
- La entrada desconocida (Tamb) inicia con un valor de
operación de 293°K a los 100 segundos se produce un
0 0 0 𝑘1 0 0
cambio y termina con un valor de 298°K.
𝑁 = [0.0895 −0.0672 −0.0222] − [𝑘2 0 0]
- Las condiciones iniciales para el observador
0.0575 −0.0149 −0.0425 𝑘3 0 0 comienzan en las condiciones iniciales para la planta,
pero multiplicadas por un factor de 0.1 para evidenciar
−𝑘1 0 0
las diferencias de ambas.
→ 𝑁 = [0.0895 − 𝑘2 −0.0672 −0.0222]
0.0575 − 𝑘3 −0.0149 −0.0425 Primero, se obtiene la salida que es la temperatura del transistor
frente a lo qué se evidencia un buen comportamiento del
No se hace uso del comando acker debido a qué es una matriz observador con entradas desconocidas. A los 100 y 300
singular y dicho comando en Matlab con esta particularidad no segundos se observan los cambios introducidos en las entradas
se ejecuta correctamente. Por lo tanto, se escogen los siguientes frente a lo qué el observador responde de manera apropiada.
valores de constantes de manera que los valores de los polos de
la matriz N sean similares a los de la matriz A:

𝑘1 = 1 (𝑃𝑢𝑒𝑑𝑒 𝑠𝑒𝑟 𝑎𝑟𝑏𝑖𝑡𝑟𝑎𝑟𝑖𝑜)


𝑘2 = 0.0895
𝑘3 = 0.0575

Con esto se tienen que los valores propios de N se encuentran


en la parte real negativa, pudiéndose concluir que éstos son
estables. Los valores propios de N son:

8
La diferencia entre la salida que es la temperatura del transistor
y los otros estados es que dicha temperatura es la única que se
ve afectada directamente por la entrada, como se vio en las
ecuaciones de diseño, dónde para los demás estados no
involucran la entrada conocida.

En la Fig. 16 se observa el error obtenido para la salida, debido


al buen comportamiento, el error es casi cero durante todo el
desarrollo del sistema.

Fig. 13. Resultado y salida estimada con OED.

Siguiente a éste, se compara la temperatura del sensor, al igual


que la salida, se muestra el buen diseño del observador, la
convergencia del observador la realiza con un “sobrenivel
porcentual”. El resultado se muestra en la Fig. 14.

Fig. 16. Resultado temperatura disipador y temperatura disipador


estimada con OED.

4. FILTRO DE KALMAN

El filtro de Kalman es un algoritmo de estimación óptima


utilizado para estimar el estado de un sistema dinámico a partir
de observaciones ruidosas.

Para realizar este diseño, se optó por la opción del filtro de


Fig. 14. Resultado temperatura sensor y temperatura sensor
estimada con OED.
Kalman discreto, el cual necesita un sistema lineal discretizado
cuya estructura base es.
Finalmente, se grafica el último estado de la temperatura del
disipador, el resultado se observa en la Fig. 15. 𝑥𝐾 = 𝐹𝐾−1 𝑥𝐾−1 + 𝐺𝐾−1 𝑢𝐾−1 + 𝑤𝐾−1

𝑥𝐾 = 𝐻𝐾 𝑥𝐾 + 𝑣𝐾
En el cual
• 𝑤𝐾−1 Representa el ruido blanco generado por la
incertidumbre del modelo, el cual tiene media cero y
matriz de covarianza 𝑄𝐾
• 𝑣𝐾 Representa el ruido blanco generado por la
medición, el cual tiene media cero y matriz de
covarianza 𝑅𝐾

Cabe aclarar que estos dos ruidos en el proceso son no


correlacionados.

Realizando el proceso de discretización de la planta, haciendo


uso del comando SistemaDiscreto=c2d(SistemaContinuo, Tm)
y la transformación al espacio de estados con el comando
[F,G,H,D]=ssdata(SYSD), se obtuvieron las siguientes
Fig. 15. Resultado temperatura disipador y temperatura disipador
estimada con OED.
matrices discreta del modelo lineal.

9
0.9768 0.0050 0.0125 𝑃0 = 𝑄
𝐹 = [ 0.0426 0.9404 0.0003]
0.0077 0 0.9490 Etapa de predicción
0.0192 En esta etapa, se realiza una predicción del estado actual del
𝐺 = [ 0.0004 ] sistema basándose en las estimaciones anteriores y el modelo
0.0001 matemático del sistema. El filtro de Kalman utiliza dos
variables clave: el estado estimado anterior 𝑥 − y la covarianza
𝐻 = [1 0 0] asociada con la incertidumbre de la estimación del estado
anterior 𝑃− . A partir de estos valores, se calcula la predicción
Además, se deben definir los valores que deben tomar las
del estado siguiente y su covarianza asociada utilizando el
matrices de covarianzas 𝑄 y 𝑅, teniendo en cuenta que, si existe
modelo del sistema y la matriz de transición del estado.
mucho ruido en los datos medidos, el valor de la matriz Q debe
considerarse grande, mientras que si existe incertidumbre en las
𝑃𝐾 − = 𝐹𝐾−1 𝑃+ 𝐾−1 𝐹𝐾−1 𝑇 + 𝑄𝐾−1
ecuaciones diferenciales que rigen el modelo, el valor de la
matriz R debe considerarse grande.
𝑥̂ − = 𝐹𝐾−1 𝑥 + 𝐾−1 + 𝐺𝐾−1 𝑢𝐾−1
Para este caso de la planta TCLAB, se definen los siguientes
valores. 𝐾𝐾 = 𝑃𝐾 − 𝐻𝐾 𝑇 (𝐻𝐾 𝑃𝐾 − 𝐻𝐾 𝑇 + 𝑅𝐾 )−1

• 𝑅𝑢𝑖𝑑𝑜 𝑑𝑒 𝑚𝑒𝑑𝑖𝑐𝑖ó𝑛 = 0.1 Etapa de corrección o medición


• 𝐼𝑛𝑐𝑒𝑟𝑡𝑖𝑑𝑢𝑚𝑏𝑟𝑒 𝑑𝑒𝑙 𝑚𝑜𝑑𝑒𝑙𝑜 = 0.001
En esta etapa se hace uso de las mediciones disponibles y la
predicción realizada para mejorar y corregir la estimación del
Estos valores se definieron luego de realizar varias iteraciones
estado actual, mediante la siguiente fórmula.
con distintos valores, siendo estos los que presentaron mejores
resultados. Además, al ser una medición de temperatura no se
presenta un ruido alto o considerable, mientras que el modelo al 𝑥̂𝐾 = 𝑥̂𝐾 − + 𝐾𝐾 (𝑦𝐾 − 𝐻𝐾 𝑥̂𝐾 − )
estar basado en balances de materia y energía no presenta mayor
Etapa de actualización de matriz de covarianza
incertidumbre, por lo cual se define un valor bajo.
En esta etapa, se incorporan las nuevas mediciones u
La matriz 𝑄 será un diagonal con la forma
observaciones al proceso de estimación. Se calcula una
corrección al estado predicho y a su covarianza utilizando la
0.1 ∗ (∆𝑡 3 )/3 0 0
diferencia entre la observación real y la estimación del estado
𝑄=[ 0 0.1 ∗ (∆𝑡 3 )/3 0 ] predicho.
0 0 0.1 ∗ (∆𝑡 3 )/3
𝑃𝐾 + = (𝐼 − 𝐾𝐾 𝐻𝐾 )𝑃𝐾 −
Definiendo ∆𝑡 = 2.9511 𝑠 = 0.1/ max (𝑎𝑏𝑠(𝑒𝑖𝑔(𝐴))) se
obtiene la matriz Una vez implementado este algoritmo para la planta TCLAB,
se obtiene los siguientes resultados para el modelo lineal,
0.8567 0 0 introduciendo un cambio de la entrada de operación a los 200
𝑄=[ 0 0.8567 0 ] segundos, pasando de un ciclo de dureza del 20% a uno del
0 0 0.8567 30%.

Mientras que 𝑅 se establece como Comparación temperatura del transistor 𝑇𝑄

𝑅 = 𝐼𝑛𝑐𝑒𝑟𝑡𝑖𝑑𝑢𝑚𝑏𝑟𝑒 𝑑𝑒𝑙 𝑚𝑜𝑑𝑒𝑙𝑜 2 = 0.01 Se realiza el montaje del código en Matlab y se comparan las
simulaciones, teniendo en cuenta los estados de la planta
Condiciones iniciales discretizada y la estimación de cada uno de los estados después
de haber pasado por el filtro de Kalman.
Para el computo del algoritmo del filtro del Kalman, es
necesario el establecimiento de las condiciones iniciales del En la Fig. 17, se observa el estado 𝑋1 que es la temperatura del
estado a posteriori y de la matriz de la covarianza del error a transistor, en el cual se observa que la salida real corresponde
posteriori, para este diseño se definieron con la salida medida, por otro lado, el filtro logra realizar una
buena estimación, permaneciendo en todo el recorrido en el
17.3726 punto medio del ruido.
̂0 + = [12.5218]
𝑥
2.6523

10
Fig. 17. Filtro de Kalman variable 𝑇𝑄 Fig. 19. Filtro de Kalman variable TS

Error variable 𝑇𝑄 Error variable 𝑇𝑆

En la Fig. 18, se muestra el error de estimación de la Como se mencionó, debido a que en la temperatura del sensor
temperatura del transistor, mostrada en la anterior figura. El se tiene una mejor filtración del ruido, es de esperar que el error
error comienza en 4 unidades de temperatura debido a que el sea menor, y así se observa en la Fig. 20.
observador, más específicamente el Xapriori se inicializa con el
vector de condiciones iniciales multiplicado por un factor de
0.8, para que la convergencia del observador a la medición sea
notoria. En el resto del tramo se observa error de estimación
inferior a 0.25 [K].

Fig. 20. Error variable 𝑇𝑆

Comparación temperatura del sensor 𝑇𝐻

Por último, se grafica la temperatura del disipador, donde se


Fig. 18. Error variable TQ observa, al igual que en las anteriores figuras, una buena
estimación del estado medido.
Comparación temperatura del sensor 𝑇𝑆

En la Fig. 19 se tiene la temperatura del sensor dónde se observa


que el ruido es menor, y, por ende, se tiene mejor estimación de
éste.

11
Fig. 23. Esquema Simulink Filtro de Kalman y planta no lineal

En la Fig. 24 se obtiene la comparación de la temperatura del


transistor con el filtro y en la planta no lineal, en la cual se
Fig. 21. Filtro de Kalman variable 𝑇𝐻 observa muy buena aproximación con el filtro tal como se vio
con el sistema lineal.
Error variable 𝑇𝐻

El error de estimación durante la etapa transitoria del filtro es


menor, debido a que el factor de multiplicación de las
condiciones iniciales no difiere mucho de dicha condición
inicial. En la Fig. 22 se evidencia el error de estimación de la
temperatura del disipador.

Fig. 24. Temperatura del transistor con Filtro de Kalman y planta no


lineal

En la Fig. 25 se obtiene la comparación de la temperatura del


sensor con el filtro y en la planta no lineal, solo se observan
pequeñas diferencias debido al ruido blanco introducido.

Fig. 22. Error variable 𝑇𝐻

Siguiente a esto, se construye en Simulink el filtro de Kalman y


el modelo no lineal. El filtro se edifica mediante una Matlab
function, y, además, delays, qué será necesario para el
desarrollo del sistema discreto. Los delays utilizados se
inicializan con las condiciones halladas en el diseño del filtro.

Teniendo en cuenta la estabilidad del sistema, la entrada


comienza con un valor de operación del 20% y a los 600 [s] la
entrada aumenta a 30%. Por otra parte, se introduce ruido
blanco adicionado a la entrada de la planta para ver el
comportamiento frente a éste.
Fig. 25. Temperatura del sensor con Filtro de Kalman y planta no
En la Fig. 23 se observa el esquema construido en Simulink. lineal

12
Finalmente, en la Fig. 26 se evidencia la comparación de la Siendo 𝒆𝒚 = 𝒚 − 𝒚 ̂, el error de estimación en la medición. La
temperatura del disipador con el filtro y en la planta no lineal. dinámica de este error se muestra a continuación:
Al igual que en las simulaciones anteriores, se observa muy
buena aproximación. 𝑒𝑦̇ = 𝑦̇ − 𝑦̂̇
𝑒𝑦̇ = 𝐴11 𝑒𝑦 + 𝐴12 𝑒𝑥2 − 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )

Siendo 𝒆𝒙𝟐 = 𝒙𝟐 − 𝒙 ̂,
𝟐 el error de estimación de la parte no
medible. Ahora bien, se debe hallar la dinámica de este error,
teniendo en cuenta que ya hemos elegido una 𝐿1 tal que el
sistema converja de acuerdo con la superficie deslizante hasta
el origen (𝑠 = 𝑒𝑦 ).

̇ = 𝑥2̇ − 𝑥̂2̇
𝑒𝑥2
𝑒𝑥2
̇ = 𝐴22 𝑒𝑥2 − 𝐿2 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )

Que luego de realizar varios reemplazos, nos queda la siguiente


ecuación:

̇ = (𝐴22 − 𝐿2 𝐴12 )𝑒𝑥2


𝑒𝑥2

La matriz 𝐿2 se calcula de forma análoga al del observador de


Fig. 26. Temperatura del disipador con Filtro de Kalman y planta no
lineal
Luenberger. La convergencia se da siempre y cuando el par
(𝐴22 , 𝐴12 ) sea observable.
5. OBSERVADOR POR MODOS
DESLIZANTES Bien, ahora procederemos a mostrar las ecuaciones numéricas,
siguiendo tal y como se realizó anteriormente.
Para diseñar este observador, el cual abreviaremos por OMD,
tenemos que separar los estados del sistema original en dos 𝑦̂̇ = [−0.01664]𝑦̂ + [0.0047 0.00755]𝑥
̂2 + [0.0142]𝑢
grupos, los estados medidos (𝑋1 ) y los no medidos, es decir, los +𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )
que vamos a observar (𝑋2 ). En nuestro caso solo se medirá la
temperatura del transistor, es decir, 𝑇𝑄 . A continuación, se 0.0405 ] −0.0532 0 0
̂2̇ = [
𝑥 𝑦̂ + [ ]𝑥
̂ + [ ]𝑢
muestra el sistema equivalente: 0.005305 0 −0.0188 2 0
𝑙21
+ [ ] 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )
𝑋1̇ = 𝐴11 𝑋1 + 𝐴12 𝑋2 + 𝐵1 𝑢 { 𝑙22
{
𝑋2̇ = 𝐴21 𝑋1 + 𝐴22 𝑋2 + 𝐵2 𝑢
𝑒𝑦̇ = [−0.01664]𝑒𝑦 + [0.0047 0.00755]𝑒𝑥2 − 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )
Donde,
𝑇𝑆
𝑋1 = [𝑇𝑄 ] 𝑋2 = [ ] −0.0532 0
𝑇𝐻 𝑒𝑥2
̇ = ([ ]
0 −0.0188
𝑙
Luego, la salida del sistema se representa así: − [ 21 ] [0.0047 0.00755]) 𝑒𝑥2
𝑙22
𝑋
𝑌 = [1 0] [𝑋1 ] Las dimensiones de las matrices L son: 𝐿1 = (1x1) y 𝐿2 =
2
(2x1), por ende, la matriz 𝐿2 se reemplaza en las ecuaciones
Dado que, 𝑌 = 𝑋1 podemos reemplazarla en el sistema con subvariables 𝑙2𝑥 .
equivalente anterior:
A continuación, se presenta la ecuación del OMD al reemplazar
todos los valores numéricos:
𝑌̇ = 𝐴11 𝑌 + 𝐴12 𝑋2 + 𝐵1 𝑢
{
𝑋2̇ = 𝐴21 𝑌 + 𝐴22 𝑋2 + 𝐵2 𝑢

Ahora, el observador queda de la siguiente manera:

𝑦̂̇ = 𝐴11 𝑦̂ + 𝐴12 𝑥̂2 + 𝐵1 𝑢 + 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )


{
̂2̇ = 𝐴21 𝑦̂ + 𝐴22 𝑥
𝑥 ̂2 + 𝐵2 𝑢 + 𝐿2 𝐿1 𝑠𝑖𝑔𝑛(𝑒𝑦 )

13
𝑦̂̇ = −0.017𝑦̂ + [0.0047 0.0076]𝑥
̂2 + 0.014𝑢
+[0.1]𝑠𝑖𝑔𝑛(𝑒𝑦 )

0.041 −0.053 0
̂2̇ = [
𝑥 ] 𝑦̂ + [ ]𝑥
̂
0.0053 0 −0.019 2
−17.5]
{ +[ [0.1]𝑠𝑖𝑔𝑛(𝑒𝑦 )
29.5

De aquí se observa que 𝐿1 = 0.1, este valor fue calculado por


medio del método heurístico, es decir, prueba y error, ya que
no hay una forma exacta de calcularlo, a diferencia de los
valores de 𝐿2 , los cuales fueron calculados de forma análoga a
la ganancia 𝐾𝑒 del Observador de Luenberger (es decir, por
medio de la función acker de Matlab), para el cuál se
manipularon las raíces de tal forma que el observador tuviera
un comportamiento idóneo, en otras palabras, también se hizo
uso del método prueba y error para dar con unos valores
buenos.
Fig. 28. Zoom en el transitorio de la figura anterior.
Nota: todos estos cálculos se encuentran en los archivos
adjuntos Diseno_OMD.m, Gráficos_OMD.m y Como se puede observar en la Fig. 28Erreur ! Source du
ModosDeslizantes.slx renvoi introuvable., el observador inicia en un valor por encima
del modelo real, alcando a este en un tiempo finito, es decir,
antes de que el modelo real llegue al estado estacionario. Esto
nos indica que el observador se comporta de manera idónea,
esto se ratifica observando el error que este tiene con respecto
al modelo real, tal como se observa en la Fig. 29, donde este se
mantiene cercano a cero (0), incluso cuando hay cambios en la
entrada.

Fig. 27. OMD de la temperatura en el transistor (𝑇𝑄 ) vs modelo

Fig. 29. Error de estimación de 𝑇𝑄 .

14
Fig. 30. OMD de las temperaturas 𝑇𝑆 y 𝑇𝐻 vs. modelo

Fig. 32. 𝑇𝑄 del modelo No Lineal vs. el OMD

Fig. 31. Error de estimación de 𝑇𝑆 y 𝑇𝐻 .

De la Fig. 30 se concluye que el observador realiza un buen Fig. 33. Aplicándole zoom a la figura anterior.
trabajo estimando estos estados del sistema que no son
medibles, aunque en tenga muchas oscilaciones en el transitorio Como era de esperarse, el modelo No Lineal se comporta muy
y al realizar cambios a la entrada, ratificando esto con la Fig. similar al modelo Lineal anteriormente descrito, donde se puede
31, donde se muestra que en estos intervalos el error tiene una concluir que el OMD es estable en tiempo finito, tal como se
amplitud significativa antes de irse a cero. Estos resultados observa en la Fig. 33 siendo la gráfica azul la curva descrita por
fueron obtenidos usando el método de Euler para simularlo el observador. Ahora bien, tal como se muestra en la Fig. 34, el
desde el archivo Diseno.m de Matlab usando el modelo lineal error obtenido se mantiene en cero, lo que confirma el buen
de la planta. Para el caso de la simulación del modelo No Lineal funcionamiento del observador.
se hizo uso de Simulink, arrojando los resultados que se
mostrarán a continuación.

15
Fig. 34. Error de estimación de 𝑇𝑄 del modelo No Lineal.
Fig. 36. Aplicándole zoom a la figura anterior.

Fig. 35. 𝑇𝑆 No Lineal vs. OMD Fig. 37. 𝑇𝐻 No Lineal vs. OMD

En el caso de las otras variables del sistema, como lo son 𝑇𝑆 y


𝑇𝐻 se obtuvieron las gráficas de la Fig. 35 y Fig. 37, donde se
muestran sus comportamientos, y es aquí donde se encuentran
diferencias con respecto al modelo linealizado, en este modelo
No Lineal se ven unas diferencias en el régimen estacionario,
donde el comportamiento de estas variables es asintótico al real,
lo que nos indica que el valor estimado se acercará al real, mas
no será igual a este nunca.

16
altas, con respecto a las condiciones iniciales de la
planta real llegando un error super bajo, lo que lo hace
muy buen observador.

Fig. 38. Aplicándole zoom a la figura anterior.

6. CONCLUSIONES

• Gracias a la linealización, se ha logrado una regulación


de temperatura más precisa y robusta en la planta
TCLAB, lo que demuestra su utilidad y relevancia en
aplicaciones de control de temperatura.

• A pesar de la dinámica observada al inicio de la


respuesta, el observador de Luenberger sigue siendo
una herramienta valiosa para estimar el estado no
medible de la TCLAB. Su capacidad para
proporcionar estimaciones continuas y en tiempo real
del estado del sistema, a partir de mediciones
disponibles, contribuye a una mejor comprensión y
control del comportamiento de la planta.

• La planta TCLab es compatible para realizar el


observador de entradas desconocidas, por otro lado,
presenta una ventaja y es que al tomar como entrada
desconocida la temperatura del ambiente, el sistema
automáticamente queda como un sistema lineal. Se
obtiene muy buena aproximación con el OED.

• El filtro de Kalman permitió realizar una buena


estimación de la planta, se demostró que es posible
realizar un observador sin necesidad de verificar
observabilidad, por otra parte, se considera una buena
implementación por medio del ajuste de parámetros (R
y Q) a partir de iteraciones.

• El OMD tuvo una buena respuesta tanto en el sistema


lineal como en el no lineal, incluso se comportó muy
bien cuando no se le inició con unas condiciones super
17

También podría gustarte