Post on 24-Jan-2016
CONTROL PREDICTIVOSergio Castaño
Control Automático Educación
Control Predictivo• Una accion predictiva en un controlador, es la forma de
generar una acción que pueda prever un determinado efecto en la respuesta y asi poderlo evitar o por lo menos disminuirlo
• Se actua en el instante actual, basandose en la predicción del comportamiento futuro del proceso
Control Predictivo
Control Predictivo Basado en ModeloMPC• IDEAS DEL MPC
Utiliza un modelo explicitoMinimiza un ObjetivoHorizonte Deslizante
• ELEMENTOS DEL MPCModelo de Predicción
Modelo del procesoModelo de las perturbaciones
Función objetivoMétodo para obtener la ley de control
• ALGORITMOS MPCDMCGPCUPC
CONTROL DMC(Dinamic Matrix Control)
• Basado en la respuesta de un modelo matematico ante una entrada escalón
PLANTA
u(t) y(t)
y(t)
t
𝑦 (𝑡 )=𝑦𝑜+∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡−𝑖)
giyo
CONTROL DMC(Dinamic Matrix Control)
𝑦 (𝑡 )=𝑦𝑜+∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡−𝑖)
• gi= Respuesta al escalón• =Son las variaciones de Control• yo= Salida inicial
y(t)
t
yoPLANTA
(t) y(t)
CONTROL DMC(Dinamic Matrix Control)
• Para poder calcular mis predicciones me necesito mover hacia el futuro, es decir moverme k pasos para al frente en la ecuación del sistema
𝑦 (𝑡)
�̂� (𝑡+𝑘/𝑡)Tiempo ActualTiempo FuturoPredicción
k
DMC
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)
Datos de la planta
DMC
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)
�̂� (𝑡+𝑘 /𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘− 𝑖)
FUTURO PASADO
PERTURBACIONES• Error de predicción Actual• Error de predicción futura
PLANTA
MODELO
𝑦𝑚 (𝑡 )𝑈 (𝑡)
�̂� (𝑡𝑡)
Modelo Completo de Predicción
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘− 𝑖)+𝑛 (𝑡)
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘− 𝑖)+𝑦𝑚 (𝑡 )− �̂� (𝑡𝑡)
Factor de Corrección
PLANTA
MODELO
𝑦𝑚 (𝑡 )
�̂� (𝑡+𝑘𝑡
)
Factor de Corrección
PLANTA
MODELO
𝑦𝑚 (𝑡 )
�̂� (𝑡+𝑘𝑡
)
C+_
Factor de Corrección
PLANTA
MODELO
𝑦𝑚 (𝑡 )
�̂� (𝑡+𝑘𝑡
)
C+_
-/+
+
�̂� (𝑡𝑡)
𝑛(𝑡 )
Modelo Completo de Predicción
• Necesito de la ecuación los elementos del futuro y los elementos del pasado
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘− 𝑖)+𝑦𝑚 (𝑡 )− �̂� (𝑡𝑡)
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)
�̂� (𝑡 /𝑡 )=∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡−𝑖)
FUTURO yp
Y pasados
𝑦𝑝=𝑦𝑚 (𝑡 )+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘−𝑖)− �̂� ( 𝑡𝑡)
𝑦𝑝=𝑦𝑚 (𝑡 )+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘−𝑖)−∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡−𝑖)
𝑗=𝑖−𝑘 →𝐶𝑢𝑎𝑛𝑑𝑜𝑖=𝑘+1→ 𝑗=1
𝑖= 𝑗+𝑘→𝑘= 𝑗−𝑖
∆𝑢 (𝑡+𝑘−𝑖) →𝑘−𝑖=𝑘− 𝑗−𝑘=− 𝑗
Y Pasados
𝑦𝑝=𝑦𝑚 (𝑡 )+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘−𝑖)−∑𝑖=1
∞
𝑔𝑖∆𝑢 (𝑡−𝑖)
𝑦𝑝=𝑦𝑚 (𝑡 )+∑𝑗=1
∞
𝑔 𝑗+𝑘∆𝑢(𝑡− 𝑗)−∑𝑖=1
∞
𝑔𝑖∆𝑢(𝑡− 𝑖)
𝑦𝑝=𝑦𝑚 (𝑡 )+∑𝑗=1
∞
(𝑔 𝑗+𝑘−𝑔 𝑗 )∆𝑢(𝑡− 𝑗)
Y pasados
𝑦𝑝=𝑦𝑚 (𝑡 )+∑𝑗=1
𝑀
(𝑔 𝑗+𝑘−𝑔 𝑗 )∆𝑢(𝑡− 𝑗)
𝑀
𝑔 𝑗≈𝑔∞ ∀ 𝑗>𝑀
𝑔 𝑗=1→→→→𝑔 𝑗+𝑘=1
0
𝑦𝑝=𝑦𝑚 (𝑡 )+∑𝑗=1
∞
(𝑔 𝑗+𝑘−𝑔 𝑗 )∆𝑢(𝑡− 𝑗)
Modelo completo de predicción
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+ ∑𝑖=𝑘+1
∞
𝑔𝑖∆𝑢(𝑡+𝑘− 𝑖)+𝑦𝑚 (𝑡 )− �̂� (𝑡𝑡)
𝑦𝑝
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+𝑦𝑚 (𝑡 )+∑𝑗=1
𝑀
(𝑔 𝑗+𝑘−𝑔 𝑗 ) ∆𝑢 (𝑡− 𝑗)
𝑡+1𝑡 𝑡+𝑃
𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑒𝑑𝑒𝑝𝑟𝑒𝑑𝑖𝑐𝑐𝑖ó𝑛
Respuesta Libre y Forzada
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+𝑦𝑚 (𝑡 )+∑𝑗=1
𝑀
(𝑔 𝑗+𝑘−𝑔 𝑗 ) ∆𝑢 (𝑡− 𝑗)
Respuesta Forzada Respuesta Libre
Respuesta Libre
Respuesta Forzada
Representación Matricial
�̂� (𝑡+𝑘/𝑡 )=∑𝑖=1
𝑘
𝑔𝑖∆𝑢 (𝑡+𝑘−𝑖)+𝑦𝑚 (𝑡 )+∑𝑗=1
𝑀
(𝑔 𝑗+𝑘−𝑔 𝑗 ) ∆𝑢 (𝑡− 𝑗)
�̂� (𝑡+1/𝑡 )=𝑔1∆𝑢(𝑡)+𝑦𝑚 (𝑡 )+∑𝑗=1
𝑀
(𝑔 𝑗+1−𝑔 𝑗 )∆𝑢(𝑡− 𝑗 )
𝑓 (𝑡+1)�̂� (𝑡+2/𝑡 )=𝑔1∆𝑢 (𝑡+1)+𝑔2∆𝑢(𝑡)+ 𝑓 (𝑡+2)
�̂� (𝑡+3/𝑡 )=𝑔1∆𝑢(𝑡+2)+𝑔2∆𝑢(𝑡+1)+𝑔3∆𝑢(𝑡)+ 𝑓 (𝑡+3)
�̂� (𝑡+𝑃 /𝑡 )=𝑔1∆𝑢 (𝑡+𝑃−1 )+𝑔2∆𝑢 (𝑡+𝑃−2 )+…+𝑔𝑃∆𝑢(𝑡)+ 𝑓 (𝑡+𝑃 )
Representación Matricial
+
�̂� 𝑮 𝒖 𝒇
�̂�=𝑮𝒖+ 𝒇
Función Objetivo• Idea:
• Seguir referencias futuras• Ponderar el esfuerzo de control
Expresión General
𝐽=∑𝑗=1
𝑃
𝛿 ( 𝑗 )[ �̂� ( 𝑡+ 𝑗𝑡 )−𝑊 (𝑡+ 𝑗 )]
2
+¿∑𝑗=1
𝑁
λ ( 𝑗 ) [∆𝑢(𝑡+ 𝑗−1)]2 ¿
𝑊 (𝑡+ 𝑗 )=𝑅𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎𝑠 𝐹𝑢𝑡𝑢𝑟𝑎𝑠
Representación Matricial
𝐽=∑𝑗=1
𝑃
𝛿 ( 𝑗 )[ �̂� ( 𝑡+ 𝑗𝑡 )−𝑊 (𝑡+ 𝑗 )]
2
+¿∑𝑗=1
𝑁
λ ( 𝑗 ) [∆𝑢(𝑡+ 𝑗−1)]2 ¿
Se busca minimizar la función objetivo
𝜕 𝐽𝜕𝑢
=0
Función Objetivo
𝜕 𝐽𝜕𝑢
=2 (𝐺¿¿𝑇 𝛿𝐺+λ 𝐼 )𝑢+2( 𝑓 −𝑊 )𝑇 𝛿𝐺=0¿
G
∆ u=(𝐺¿¿𝑇 𝛿𝐺+λ 𝐼 )−1𝐺𝑇 𝛿𝑇 (𝑊 − 𝑓 )¿
=Simétrica