0% encontró este documento útil (0 votos)
9 vistas59 páginas

Control Predictivo Basado en Modelo

El documento presenta una sesión sobre Control Predictivo Basado en Modelo (MPC), describiendo sus elementos clave como el modelo de predicción, la función objetivo y el cálculo de la ley de control. Se discuten las ventajas y desventajas de los modelos de control, así como diferentes enfoques para su implementación, incluyendo modelos de perturbación como CARIMA. Además, se abordan los modelos de proceso y sus características, destacando la importancia de la formulación matemática en el diseño de controladores predictivos.

Cargado por

Sebitax Ruiz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas59 páginas

Control Predictivo Basado en Modelo

El documento presenta una sesión sobre Control Predictivo Basado en Modelo (MPC), describiendo sus elementos clave como el modelo de predicción, la función objetivo y el cálculo de la ley de control. Se discuten las ventajas y desventajas de los modelos de control, así como diferentes enfoques para su implementación, incluyendo modelos de perturbación como CARIMA. Además, se abordan los modelos de proceso y sus características, destacando la importancia de la formulación matemática en el diseño de controladores predictivos.

Cargado por

Sebitax Ruiz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Model Predictive

Control
Predictive Controllers
Universidad Tecnológica de Bolívar | 2025
Objetivo de la sesión
• En esta sesión describiremos todos los elementos que son
comunes a todos los Controlados Predictivos basados en
Modelo.

2
Libros
• E. F. Camacho and C. Bordons. Model Predictive Control. 2nd Ed.
Springer. 2003
• J.M. Maciejowski. Predictive control with constraints. Prentice
Hall, 2002
• L. Wang. Model Predictive Control System Design and
Implementation using Matlab. Springer. 2009

3
El problema de control

Referencia Error Control Salida


! Controlador Actuador Proceso
+ Actual
-

Sensor

Un sistema de control en lazo cerrado usa una medición de la salida y la realimenta para
compararla con la salida deseada
El sistema mostrado en la imagen es un sistema de control con realimentación negativa
porque la salida es restada a la referencia y la diferencia es usada como señal de entrada
al controlador
Control Óptimo Lineal – Tiempo
Discreto
• Para un sistema lineal en tiempo discreto descrito por:
• 𝑥!"# = 𝐴𝑥! + 𝐵𝑢!
• Con un índice de desempeño definido por:
$! (#
• 𝐽 = 𝑥$%! 𝑄$! 𝑥$! + ∑!&' (𝑥!% 𝑄𝑋! + 𝑢!% 𝑅)" + 2𝑥!% 𝑁𝑢! )
• La secuencia de control óptimo que minimiza el índice de desempeño está
dado por:
• 𝑢! = −𝐹! 𝑥!
• 𝐹! = 𝑅 + 𝐵 % 𝑃!"# 𝐵 (#
(𝐵 % 𝑃!"# 𝐴 + 𝑁 % )
• 𝑃!(# = 𝐴% 𝑃* 𝐴 − 𝐴% 𝑃! 𝐵 + 𝑁 𝑅 + 𝐵 % 𝑃! 𝐵 (#
𝐵 % 𝑃! 𝐴 + 𝑁 % + 𝑄
• 𝑃$! = 𝑄$!
Ventajas Desventajas
• La formulación en forma de • La solución no es intuitiva y por lo
optimización es natural a tanto no es fácil de ajustar en la
requerimientos comunes de diseño implementación
de control • Es sensible a los errores de modelado
• La solución asegura la estabilidad del • No maneja restricciones que se
sistema en lazo cerrado con presentan en implementaciones
condiciones que son fácilmente reales
verificables
• La solución puede ser implementada
de manera eficiente
computacionalmente
Cómo se puede reformular el problema para manejar de mejor
manera estas desventajas aprovechando las herramientas de
optimización?
MPC Elements

1. Modelo de Predicción

2. Función Objetivo

3. Cómputo de la Ley de Control

8
1. El modelo de predicción
• El modelo es la parte mas importante del MPC
• El uso del modelo de proceso está determinado por la necesidad de
calcular la predicción de las salida en instantes futuros.
• El modelo se puede separar en dos partes
• El modelo del proceso
• El modelo de la perturbación
• Prácticamente existe una formulación MPC por cada posible
forma de modelar un proceso.

9
Algunas anotaciones
𝑦(𝑡) 𝑦(ℎ𝑘)

Muestreador
ℎ, tiempo de muestreo
• 𝑌 𝑠 = ℒ(𝑦(𝑡))
• 𝑌 𝑧 = 𝒵 𝑦 ℎ𝑘 , 𝑘 = 1,2, …
• 𝑧 !" = operador de desplazamiento atrá𝑠
• 𝑧 = operador de desplazamiento adelante

10
Modelo del Proceso – Respuesta
Impulso

y(t)

t t+1 t+2 t+i t+N

• 𝑦 𝑡 = ∑,
+&# ℎ+ 𝑢(𝑡 − 𝑖)
• 𝑦 𝑡 = ∑- +&# ℎ+ 𝑢 𝑡 − 𝑖 = 𝐻 𝑧
(# 𝑢(𝑡)

• ℎ+ = Salida muestreada cuando el proceso es excitado por un impulso unitario


• 𝑦- 𝑡 + 𝑘 𝑡 = ∑- +&# ℎ+ 𝑢 𝑡 + 𝑘 − 1|𝑡 = 𝐻 𝑧
(# 𝑢(𝑡 + 𝑘|𝑡)

11
Comentarios sobre este modelo
• Observe que la sumatoria es truncada y solamente se consideran N
valores, esto implica que solamente se consideran procesos estables
sin integradores
• Una de las desventajas de este método es el alto orden de parámetros
necesarios, ya que N es un valor usualmente alto (entre 40 y 50)
• Este método es ampliamente aceptado en la práctica industrial porque
es muy intuitivo y claramente refleja la influencia de cada variable
manipulada en una salida determinada
• Una gran ventaja de este método es que no requiere información previa
sobre el proceso
• Permite trabajar con dinámicas complejas tales como sistemas de
fase no mínima o retardos

12
Caso Multivariable
• Las diferentes salidas reflejarán el efecto de las 𝑚 entradas en la
siguiente forma:

% '
"!
𝑦! 𝑡 = % % ℎ& 𝑢 " (𝑡 − 𝑖)
"#$ &#$

13
Modelo del Proceso – respuesta
escalón

y(t)

t t+1 t+2 t+i t+N


• 𝑦 𝑡 = 𝑦! + ∑% 𝑔
"#$ " Δ𝑢(𝑡 − 𝑖)
• 𝑦 𝑡 = 𝑦! + 𝐺 𝑧 &$ 1 − 𝑧 &$ 𝑢(𝑡)
• 𝑔" = salida muestreada cuando el proceso es excitado por un escalón unitario
• Δ𝑢 𝑡 = 𝑢 𝑡 − 𝑢(𝑡 − 1)

14
• El valor de 𝑦( puede ser tomado como cero sin pérdida de
generalidad:
• 𝑦@ 𝑡 + 𝑘 𝑡 = ∑' &#$ 𝑔& Δ𝑢(𝑡 + 𝑘 − 𝑖|𝑡)
• Como un impulso puede ser considerado como la diferencia
entre dos escalones con un retardo de un período de muestreo,
para un sistema lineal se puede escribir:
• ℎ& = 𝑔& − 𝑔&)$
• 𝑔& = ∑&!#$ ℎ!

15
Ventajas y desventajas
• Las mismas del modelo de respuesta impulso

16
Modelo de Proceso – Función de
Transferencia

𝑈(𝑧) 𝐵 𝑧 𝑌(𝑧)
𝐺 𝑧 =
𝐴 𝑧

17
Modelo de Proceso – Función de
Transferencia
* +
•𝐺 𝑧 =
, +
• 𝐴 𝑧 )$ 𝑦 𝑡 = 𝐵 𝑧 )$ 𝑢 𝑡
• 𝐴 𝑧 )$ = 1 + 𝑎$ 𝑧 )$ + 𝑎- 𝑧 )- + ⋯ + 𝑎./ 𝑧 )./
• 𝐵 𝑧 )$ = 𝑏$ 𝑧 )$ + 𝑏- 𝑧 )- + ⋯ + 𝑏.0 𝑧 ).0
* + ./
• 𝑦@ 𝑡 + 𝑘 𝑡 = 𝑢(𝑡 + 𝑘|𝑡)
, + ./

18
Ventajas
• Es Válido para procesos inestables
• Solamente requiere unos pocos parámetros
• Es fundamental un conocimiento a priori del proceso

19
Modelo del Proceso – Espacio de
Estado 𝑥(𝑡)
̇
𝑢(𝑡) 𝑥(𝑡) 𝑦(𝑡)
B + I C

𝑢(ℎ𝑘) 𝑥(𝑘ℎ) 𝑥(𝑘ℎ − 𝑘) 𝑦(𝑘ℎ)


B + 𝑧 &$ C

20
Modelo del Proceso – Espacio de
Estado
• 𝑥 𝑡 = 𝐴𝑥 𝑡 − 1 + 𝐵𝑢 𝑡 − 1

• 𝑦 𝑡 = 𝐶𝑥 𝑡

• 𝑦@ 𝑡 + 𝑘 𝑡 = 𝐶 𝑥(𝑡
@ + 𝑘|𝑡)

• 𝑦@ 𝑡 + 𝑘 𝑡 = 𝐶 𝐴" 𝑥 𝑡 + ∑"&#$ 𝐴&)$ 𝐵𝑢(𝑡 + 𝑘 − 𝑖|𝑡)

21
Ventajas y Desventajas
• Tiene la ventaja de que puede ser usado para procesos
multivariables en una forma directa
• La ley de control es simplemente la realimentación de una
combinación lineal del vector de estado (aunque no siempre la
escogencia del vector de estado tiene significado físico)
• Los cálculos pueden ser mas complejos con la necesidad
adicional de incluir un observador de estado si los estados no son
accesibles

22
Otros Modelos
• Modelos No Lineales
• Redes Neuronales
• Lógica Difusa

23
Modelos de Perturbación - CARIMA
• Controlled Auto-Regresive and Integrated Moving Average
• Auto-regressive: significa que la variable de interés es alimentada
al modelo en forma de retardos
• Moving Average: indica que el error de regresión es una
combinación lineal de los términos de error ocurridos en tiempos
pasados

24
Modelos de Perturbación - CARIMA
• Este modelo incluye en su estructura muchas otras formas
populares
• Es usado porque la incertidumbre se incluye de tal forma que es
una buena representación de una perturbación variando
lentamente que podría tener un estado estacionario diferente de
cero.

25
Modelos de Perturbación - CARIMA
• 𝑛(𝑡) es la diferencia entre la salida medida y la salida calculada
por el modelo de predicción, cuyo modelo está dado por:
1 + ./ 2 3
•𝑛 𝑡 =
4 + ./
• 𝐷 𝑧 )$ = incluye explícitamente el integrador Δ = 1 − 𝑧 )$
• 𝑒 𝑡 = ruido blanco de media cero
• 𝐶 𝑧 )$ = normalmente considerado igual a 1

26
• Este modelo se considera apropiado para dos tipos de
perturbaciones:
• Cambios aleatorios ocurriendo en instantes aleatorios
• Movimiento Browniano
• Al incluir un integrador se logra un control en estado estacionario
libre de offset.

27
Modelo CARIMA
• Usando la ecuación Diofantina
1 = 𝐸" 𝑧 )$ 𝐷 𝑧 )$ + 𝑧 )" 𝐹" (𝑧 )$ )
• Uno tiene
𝑧 )" 𝐹 𝑧 )$
"
𝑛 𝑡 = 𝐸" 𝑧 )$ 𝑒 𝑡 + 𝑒(𝑡)
𝐷 𝑧 )$
𝑛 𝑡 + 𝑘 = 𝐸" 𝑧 )$ 𝑒 𝑡 + 𝑘 + 𝐹" 𝑧 )$ 𝑛(𝑡)
• Y la predicción será
𝑛@ 𝑡 + 𝑘 𝑡 = 𝐹" 𝑧 )$ 𝑛(𝑡)

28
Modelo CARIMA
• Combinando el anterior resultado con un modelo de función de transferencia, y
haciendo 𝐷 𝑧 (# = 𝐴(𝑧 (#)(1 − 𝑧 (#), la predicción de la salida puede ser obtenida
por:

𝐵 𝑧 (# (#
𝐵 𝑧 (#
𝑦- 𝑡 + 𝑘 𝑡 = 𝑢 𝑡 + 𝑘 𝑡 + 𝐹! (𝑧 )(𝑦 𝑡 − 𝑢(𝑡))
𝐴 𝑧 (# 𝐴 𝑧 (#

𝐵 𝑧 (#
𝑦- 𝑡 + 𝑘 𝑡 = 𝐹! 𝑧 (# 𝑦 𝑡 + 1 − 𝑧 (! 𝐹! 𝑧 (# 𝑢(𝑡 + 𝑘|𝑡)
𝐴 𝑧 (#

• Usando la solución a la ecuación Diofantina, se obtiene el siguiente resultado:

𝑦- 𝑡 + 𝑘 𝑡 = 𝐹! 𝑧 (# 𝑦 𝑡 + 𝐸! 𝑧 (# 𝐵 𝑧 (# Δ𝑢(𝑡 + 𝑘|𝑡)

29
Caso ARIMA
• En el caso de una perturbación constante:
𝑒 𝑡
𝑛 𝑡 =
1 − 𝑧 !"
• Tiene como mejor predictor:
𝑛B 𝑡 + 𝑘 𝑡 = 𝑛(𝑡)
• Otro modelo usado es una perturbación de deriva, que es de la forma:
𝑒 𝑡
𝑛 𝑡 =
1 − 𝑧 !" #
Que tiene como predictor óptimo:
𝑛B 𝑡 + 𝑘 𝑡 = 𝑛 𝑡 + 𝑛 𝑡 − 𝑛 𝑡 − 1 𝑘

31
Respuesta Libre y Forzada
• Muchos MPC usan el concepto de respuesta libre y respuesta forzada, es
decir, la secuencia de control es la suma de dos señales:
𝑢 𝑡 = 𝑢0 𝑡 + 𝑢1 (𝑡)
• 𝑢0 (𝑡) corresponde a las entradas pasadas, y es constante e igual al último
valor de la variable manipulada en instantes futuros de tiempo.
𝑢0 𝑡 − 𝑗 = 𝑢 𝑡 − 𝑗 , 𝑗 = 1,2, …
𝑢0 𝑡 + 𝑗 = 𝑢 𝑡 − 1 , 𝑗 = 0,1,2, …
• 𝑢1 (𝑡) es igual a cero en el pasado e igual a los próximos movimientos de
control en el futuro:
𝑢1 𝑡 − 𝑗 = 0, 𝑗 = 1,2, …
𝑢1 𝑡 + 𝑗 = 𝑢 𝑡 + 𝑗 − 𝑢 𝑡 − 1 , 𝑗 = 0,1,2, …
• De esta manera la predicción de la secuencia de salida es separada en dos
partes.

32
Respuesta libre y respuesta forzada
y
u

Proceso
t
t

uf uC
+

t t
yf yC

t t 33
Volviendo al predictor
• Considere el modelo de predicción:
5 + .2
• 𝐴 𝑧 𝑦" = 𝐵 𝑧 𝑢" +
6
• Ya sabemos que 𝑛" es una secuencia aleatoria con media cero
• 𝐹(𝑧) puede ser considerado como un modelo a ser estimado o
como un parámetro de ajuste

34
Predicción a un paso
𝐴 𝑧 𝑦" = 𝐵 𝑧 𝑢" + 𝑑"
• Suponga que:
• 𝐴 𝑧 = 1 + 𝑎# 𝑧 (# + ⋯ + 𝑎3 𝑧 (3
• 𝐵 𝑧 = 𝑏# 𝑧 (# + ⋯ + 𝑏4 𝑧 (4
• El modelo dinámico discreto queda:
𝑦"7$ + 𝑎$ 𝑦" + ⋯ + 𝑎. 𝑦").7$
= 𝑏$ 𝑢" + 𝑏- 𝑢")$ + ⋯ + 𝑏% 𝑢")%7$ + 𝑑"
• Donde 𝑑" es el estimado de la perturbación
• 𝑦"7$ = 𝑏$ 𝑢" + 𝑏- 𝑢")$ + ⋯ + 𝑏% 𝑢")%7$ + 𝑑" − 𝑎$ 𝑦" − ⋯ −
𝑎. 𝑦").7$
35
Modelo CARIMA
• Recordemos que el modelo CARIMA es usado porque incorpora
un estimado de la perturbación y puede dar una predicción no
sesgada en estado estacionario.
𝑇 𝑧 𝑛"
𝑎 𝑧 𝑦" = 𝑏 𝑧 𝑢" +
Δ

𝑎 𝑧 Δy" = 𝑏 𝑧 Δu8 + T z n8
• Implícitamente esta predicción está basada en cambios mas que
en valores absolutos

36
Modelo CARIMA
• Como la salida usualmente es medida, el modelo de predicción a
un paso usa variables de los incrementos de las salidas y de las
entradas y asume que el mejor estimado del término aleatorio
futuro es cero.
𝑎 𝑧 Δy" = 𝑏 𝑧 Δu8 + T z n8

𝑎 𝑧 Δy8 = b z Δu8

37
Modelo CARIMA
• Teniendo en cuenta que:
Δ = 1 − 𝑧 !"
• Haciendo
𝑎 𝑧 Δ = 𝐴(𝑧)
• Tenemos:
𝐴 𝑧 𝑦$ = 𝑏 𝑧 Δ𝑢$
• El modelo de predicción queda:
• 𝑦$%" = 𝑏" Δ𝑢$ + 𝑏# Δ𝑢$!" + ⋯ + 𝑏& Δ𝑢$!&%" + −𝐴" 𝑦$ − ⋯ − 𝐴' 𝑦$!'%"
• Observe que no es necesario un estimado de la perturbación ya que es
implícito con el uso de los incrementos
38
Modelo de Predicción
• Ahora encontremos la predicción a 𝑛 pasos adelante, usando el
modelo recursivo:
• 𝑦$%" + 𝐴" 𝑦$ + ⋯ + 𝐴' 𝑦$!'%" = 𝑏" Δ𝑢$ + 𝑏# Δ𝑢$!" + ⋯ + 𝑏& Δ𝑢$!&%"
• 𝑦$%# + 𝐴" 𝑦$%" + ⋯ + 𝐴' 𝑦$!'%# = 𝑏" Δ𝑢$%" + 𝑏# Δ𝑢$ + ⋯ + 𝑏& Δ𝑢$!&%#
• 𝑦$%( + 𝐴" 𝑦$%# + ⋯ + 𝐴' 𝑦$!'%( = 𝑏" Δ𝑢$%# + 𝑏# Δ𝑢$%" + ⋯ +
𝑏& Δ𝑢$!&%(
• 𝑦$%) + 𝐴" 𝑦$%( + ⋯ + 𝐴' 𝑦$!'%) = 𝑏" Δ𝑢$%( + 𝑏# Δ𝑢$%# + ⋯ +
𝑏& Δ𝑢$!&%)

39
Conjunto de ecuaciones del
predictor
• El conjunto entero de ecuaciones de predicción de un paso adelante puede
ser considerado como un conjunto simultáneo de ecuaciones donde las
incógnitas son los valores de las salidas, considerando el ejemplo con cuatro
pasos de predicción:
• 𝑦!"# + 𝐴# 𝑦! + ⋯ + 𝐴3 𝑦!(3"# = 𝑏# Δ𝑢! + 𝑏5 Δ𝑢!(# + ⋯ + 𝑏4 Δ𝑢!(4"#
• 𝑦!"5 + 𝐴# 𝑦!"# + ⋯ + 𝐴3 𝑦!(3"5 = 𝑏# Δ𝑢!"# + 𝑏5 Δ𝑢! + ⋯ + 𝑏4 Δ𝑢!(4"5
• 𝑦!"6 + 𝐴# 𝑦!"5 + ⋯ + 𝐴3 𝑦!(3"6 = 𝑏# Δ𝑢!"5 + 𝑏5 Δ𝑢!"# + ⋯ + 𝑏4 Δ𝑢!(4"6
• 𝑦!"7 + 𝐴# 𝑦!"6 + ⋯ + 𝐴3 𝑦!(3"7 = 𝑏# Δ𝑢!"6 + 𝑏5 Δ𝑢!"5 + ⋯ + 𝑏4 Δ𝑢!(4"7
• En este ejemplo hay 4 ecuaciones con cuatro incógnitas.
• Recuerde que las entradas futuras son variables de decisión, no incógnitas

40
Conjunto de ecuaciones del
predictor
• Formulación en forma matricial:
𝑦!"# + 𝐴#𝑦! + ⋯ + 𝐴3 𝑦!(3"# 𝑦!"# 𝑦!
𝑦!"5 + 𝐴#𝑦!"# + ⋯ + 𝐴3 𝑦!(3"5 𝑦!"5 𝑦!(#
• = 𝐶8 𝑦 + 𝐻8 𝑦!(5
𝑦!"6 + 𝐴#𝑦!"5 + ⋯ + 𝐴3 𝑦!(3"6 !"6
𝑦!"7 ⋮
𝑦!"7 + 𝐴#𝑦!"6 + ⋯ + 𝐴3 𝑦!(3"7 𝑦!(3"#
1 0 0 0
𝐴 1 0 0
• 𝐶8 = # ;
𝐴5 𝐴# 1 0
𝐴6 𝐴5 𝐴# 1
𝐴# 𝐴5 … 𝐴3(7 𝐴3(6 … 𝐴3(# 𝐴3
𝐴 𝐴6 … 𝐴3(6 𝐴3(5 … 𝐴3 0
• 𝐻8 = 5
𝐴6 𝐴7 … 𝐴3(5 𝐴3(# … 0 0
𝐴7 𝐴9 … 𝐴3(# 𝐴3 … 0 0
41
Conjunto de ecuaciones del
predictor
• Formulación en forma matricial:
𝑏!Δ𝑢" + 𝑏#Δ𝑢"$! + ⋯ + 𝑏%Δ𝑢"$%&! Δ 𝑢" Δ𝑢"$!
𝑏!Δ𝑢"&! + 𝑏#Δ𝑢" + ⋯ + 𝑏%Δ𝑢"$%&# Δ𝑢"&! Δ𝑢"$#
• = 𝐶) + 𝐻) Δ𝑢"$'
𝑏!Δ𝑢"&# + 𝑏#Δ𝑢"&! + ⋯ + 𝑏%Δ𝑢"$%&' Δ𝑢"&#
Δ𝑢"&' ⋮
𝑏!Δ𝑢"&' + 𝑏#Δ𝑢"&# + ⋯ + 𝑏%Δ𝑢"$%&( Δ𝑢"$%&!
𝑏! 0 0 0
𝑏 𝑏 0 0
• 𝐶) = # ! ;
𝑏' 𝑏# 𝑏! 0
𝑏( 𝑏' 𝑏# 𝑏!
𝑏# 𝑏' … 𝑏%$( 𝑏%$' … 𝑏%$! 𝑏%
𝑏 𝑏 … 𝑏%$' 𝑏%$# … 𝑏% 0
• 𝐻) = ' (
𝑏( 𝑏* … 𝑏%$# 𝑏%$! … 0 0
𝑏* 𝑏+ … 𝑏%$! 𝑏% … 0 0

42
Conjunto de ecuaciones del
predictor
𝑦"7$ 𝑦" Δ 𝑢" Δ𝑢")$
𝑦"7- 𝑦")$ Δ𝑢")-
Δ𝑢"7$
• 𝐶, 𝑦 + 𝐻, 𝑦")- = 𝐶0 + 𝐻0 Δ𝑢")E
"7E Δ𝑢"7-
𝑦"7F ⋮ ⋮
𝑦").7$ Δ𝑢"7E Δ𝑢")%7$
• 𝐶, 𝑌"7$ + 𝐻, 𝑌" = 𝐶0 Δ𝑈" + 𝐻0 Δ𝑈")$
• 𝑌"7$ = 𝐶,)$ 𝐶0 Δ𝑈" + 𝐶,)$ 𝐻0 Δ𝑈")$ − 𝐶,)$ 𝐻, 𝑌"

43
Función Objetivo
• El objetivo general es que la salida futura (𝑦) en el horizonte
considerado debería seguir una determinada señal de referencia
(𝑤) y, al mismo tiempo, debería ser penalizado el esfuerzo de
control (Δ𝑢):
': -
• 𝐽 𝑁$ , 𝑁- , 𝑁E = ∑G#'/
𝛿 𝑗 𝑦@ 𝑡 + 𝑗 𝑡 − 𝑤 𝑡 + 𝑗 +
∑' ;
!#$ 𝜆 𝑗 Δ𝑢 𝑡 + 𝑗 − 1
-

44
Parámetros
• 𝑁! y 𝑁# son los horizontes de predicción mínimo y máximo
• 𝑁, es el horizonte de control
• 𝑁! y 𝑁# marcan los límites de los instantes en los cuáles es deseable que la salida siga la
referencia
• e.g. si un valor 𝑁! es alto, es porque no importa el error en los primeros instantes, lo que
debería una respuesta mas suave
• Note que en un proceso con tiempo muerto 𝑑 no hay razón para que 𝑁! sea menor a 𝑑
• Los coeficientes 𝛿(𝑗) y 𝜆(𝑗) son secuencias que consideran el comportamiento futuro
• e.g. es posible obtener un peso exponencial de 𝛿(𝑗) a lo largo del horizonte usando:
𝛿 𝑗 = 𝛼-'$.
• Si 𝛼 es un valor entre 0 y 1, los errores mas lejanos desde el instante 𝑡 son penalizados mas
que estos cercanos. Si 𝛼 es mayor que 1, los primeros errores son mas penalizados,
provocando un control mas exigente.

45
Trayectoria de Referencia
• Una ventaja del control predictivo es que si la referencia futura es
conocida, el sistema puede reaccionar al cambio de una manera mas
efectiva, en particular en sistemas con retardo.
• En muchas implementaciones 𝑤(𝑡 + 𝑘) no necesariamente coinciden
con la referencia real.
• e.g. con el objetivo de tener una aproximación suave es usual tener:
𝑤 𝑡 = 𝑦 𝑡 , 𝑤 𝑡 + 𝑘 = 𝛼𝑤 𝑡 + 𝑘 − 1 + 1 − 𝛼 𝑟 𝑡 + 𝑘 , 𝑘 = 1, … , 𝑁
• Donde 𝛼 es un parámetro entre 0 y 1
• Otra estrategia útil para referencias variables es:
𝑤 𝑡 + 𝑘 = 𝑟 𝑡 + 𝑘 − 𝛼 $ (𝑦 𝑡 − 𝑟(𝑡))

46
Trayectoria de Referencia
• También puede ser usada para especificar comportamiento en
lazo cerrado, por ejemplo, definiendo una salida auxiliar:
𝜓 𝑡 = 𝑃 𝑧 )$ 𝑦(𝑡)
• Donde el error en la función objetivo está dado por 𝜓 𝑡 + 𝑘 −
𝑤(𝑡 + 𝑘)
• El filtro 𝑃(𝑧 )$ ) tiene ganancia estática unitaria y la generación de
una trayectoria de referencia con dinámicas definida por
1/𝑃 𝑧 )$

47
Restricciones
• En la práctica todos los proceso están sujetos a restricciones.
• Normalmente se incluyen las siguientes restricciones:
𝑢%&. ≤ 𝑢 𝑡 ≤ 𝑢%/Q
𝑑𝑢%&. ≤ 𝑢 𝑡 − 𝑢 𝑡 − 1 ≤ 𝑑𝑢%/Q
𝑦%&. ≤ 𝑦 𝑡 ≤ 𝑦%/Q
• Cuando se introducen restricciones la optimización es mas
compleja y no es posible hallar una solución explícita como en el
caso no restringido

48
Cálculo de la ley de control
• Con el objetivo de obtener los valores 𝑢 𝑡 + 𝑘 𝑡 es necesario
minimizar el funcional 𝐽
min 𝐽(𝑁$ , 𝑁- , 𝑁R )
6R
𝑠. 𝑡.
𝐺𝑈 ≤ 𝑊 + 𝑆𝑌(𝑦)

49
Problema de Optimización Convexa
• Si la función objetivo es una función convexa, y las restricciones
se encuentran delimitadas por un conjunto convexo, se tienen las
siguientes características:
• Se cuenta con algoritmos numéricos muy eficientes
• Es posible encontrar un mínimo global
• Existe una amplia teoría útil para resolver estos problemas
• Ocurre frecuentemente en problemas de ingeniería
• Tratable tanto en la teoría como en la práctica

50
Funciones convexas
• Una función 𝑓: 𝑆 → ℝ es convexa si 𝑆 es convexo y
𝑓 𝜆𝑥$ + 1 − 𝜆 𝑥- ≤ 𝜆𝑓 𝑥$ + 1 − 𝜆 𝑓 𝑥-
∀ 𝑥$ , 𝑥- ∈ 𝑆, 𝜆 ∈ [0,1]

51
Conjuntos convexos
• Un conjunto 𝑆 ∈ 𝑋 es convexo si para todo 𝑥$ , 𝑥- ∈ 𝑆 se cumple
que:
𝜆𝑥$ + 1 − 𝜆 𝑥- ∈ 𝑆, ∀𝜆 ∈ [0,1]

52
Poliedros
• Un poliedro convexo es la intersección de un conjunto finito de
semiplanos de ℝS
• Un politopo convexo es un poliedro convexo limitado

53
Poliedros
• Hay dos formas naturales de representar un poliedro:
• Representación H
• 𝐴𝑥 ≤ 𝑏
• Representación%V T .

𝑥: 𝑥 = % 𝜆& 𝑣& + % 𝜇! 𝑟! , 𝜆& ≥ 0, % 𝜆& = 1, 𝜇! ≥ 0


&#$ !#$ &#$

54
Programación Lineal Programación Cuadrática
min 𝑓 < 𝑥 1 <
min 𝑥 𝑃𝑥 + 𝑓 < 𝑥
𝑠. 𝑡. 𝐴𝑥 ≤ 𝑏, 𝑥 ∈ ℝ3 2
𝑠. 𝑡. 𝐴𝑥 ≤ 𝑏, 𝑥 ∈ ℝ3

55
Solvers existentes
• MPC Toolbox from Matlab
• linprog
• quadprog
• fmincon
• Matlab external packages
• Tomlab
• qpoases
• Mosek
• ETH software
• MPT
• Yalmip (existe versión para Matlab, Octave y para Phyton)
• Phyton
• qpsolvers

56
Para la próxima semana
• Estudiar el solver quadprog de Matlab o un solver que vayan a
utilizar en su computador.

57
58
Next
• Dynamic Matrix Control

59
¡GRACIAS!

Copyright © 2023. Todos los derechos reservados Universidad Tecnológica de Bolívar.

También podría gustarte