Nuevos algoritmos de control PID basado en eventos y su posible extensión al control en red José Sánchez, Sebastián Dormido Departamento de Informática y Automática UNED Antonio Visioli Departamento de Electrónica para la Automatización Università degli Studi di Brescia Valencia - Abril - 2009 Contenido 1. Introducción 2. Algoritmo A: basado en un modelo FOTD 3. Algoritmo B: basado en interpolaciones 4. Extensiones para el control en red 5. Líneas de trabajo futuras J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 1. Introducción • Los agentes intervinientes en el lazo de control se activan por eventos: – Asíncronos: Cambio de nivel de una variable: • Externos: entradas externas (p.e., referencia). • Internos: variables de estado (p.e, nivel, integrador). – Síncronos: timers (condición de seguridad). Controlador Proceso ∆u r (t ) ∆ event e-based condition u-based condition C u (t ) ZOH G y (t ) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 1. Introducción • Condiciones de muestreo basadas en el error: – Send-on-delta (clásico): – Integrated send-on-delta: – Linear predictor: – Integrated linear-predictor: – Energy: J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 1. Introducción • Ventajas: – Cercano a la forma en que la naturaleza opera: • Regulación de la ducha, equilibro del ciclista, distancia seguridad al conducir, … – Reduce el número de transmisiones sensor-controlador-actuador. – Reduce la potencia de cálculo necesaria. – Interesante para su aplicación en el control en red. • Desventajas: – Existencia de ciclos límites, oscilaciones, error en régimen permanente. – Ausencia de desarrollos teóricos. • Posibles abordajes como: • Sistemas de control no lineal. • Sistemas lineales “piecewise”. • Sistemas multifrecuencia. J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 1. Introducción • Comparativa experimental en un tanque simple: - “Event-Based Control and Wireless Sensor Network for Greenhouse Diurnal Temperature Control: A Simulated Case Study”, IEEE EFTA’08. - “Comparative study of event-based control strategies: An experimental approach on a simple tank”, ECC'09. J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Considera la existencia de una banda libre de error: αy1 ≤ y1 ≤ β y1 • Arquitectura basada en dos tareas desacopladas: – Tarea 1: Seguimiento del punto de consigna (acción proporcional). – Tarea 2: Rechazo a perturbaciones (acción integral). • Tarea 1 (acción proporcional): – Se plantea una acción de control en lazo abierto. – Se calcula un control proporcional equivalente basandonos en un FOTD. – Se obtiene Kp y se cierra el lazo en dos puntos. • Tarea 2 (acción integral): – Se activa cuando se abandona la banda libre de error. – Se calcula cuando la integral del error supera un cierto delta. • Acoplamiento de las dos tareas + acción derivativa. J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Tarea 1: Seguimiento de referencia (proporcional): y and u u ff K − Ls P( s) = e Ts + 1 y1 y1 / K C (s) = K p y(τ ) Lτ time L +τ u ff u ff (t ) = y1 / K J. Sánchez, S. Dormido, A. Visioli if if t <τ t ≥τ Control PI basado en eventos 2. Algoritmo A • Tarea 1: Seguimiento de referencia (proporcional): y and u K − Ls P(s) = e Ts + 1 u ff y1 y1 / K C (s) = K p y(τ ) Lτ L +τ time u p = K p ( y1 − y (τ ) ) u p = K p y1 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Algoritmo para tarea 1: 1. Determinar los parámetros K, T y L del proceso. 2. Determinar la ganancia proporcional mediante: ( ) ( KK p 2 − KK p + 1 1 = L − T log − T log1 − 2 KK p KK p 3. Determinar el valor de ∆1 := y (τ ) ) y enviarlo al sensor. 4. Aplicar la referencia en t=0 y aplicar el primer valor de la acción proporcional: u p = K p y1 5. Cuando y (t ) = ∆1 aplicar el segundo valor de la acción proporcional: u p = K p ( y1 − ∆1 ) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Ejemplo tarea 1: P( s ) = (s 2 + 2s + 1) −1 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Ejemplo tarea 1: P ( s ) = (s + 1) −4 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Tarea 2: Rechazo a perturbaciones (integrador): u p = K p ( y1 − ∆1 ) – La acción proporcional se mantiene constante en – El integrador se habilita al entrar en la banda – y se activa siempre que IE > δIE. – Es equivalente a : NL1(α, β) + Integrador + NL2 (δIE, Kp, Ti) e e′ NL1 (y1, α, β) J. Sánchez, S. Dormido, A. Visioli 1/s αy1 ≤ y1 ≤ βy1 IE ui NL2 (δIE, Kp, Ti) Control PI basado en eventos 2. Algoritmo A • Ejemplo tarea 2: P( s ) = (s 2 + 2s + 1) −1 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Ejemplo tarea 2: P ( s ) = (s + 1) −4 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Acoplamiento de tareas (seguimiento referencia y rechazo perturbaciones) – – El problema es habilitar el integrador durante la tarea 1. Las perturbaciones positivas no son problema. IAE> Â0 t −L − lower Aˆ 0 = t lower ⋅ ylower − KK p [ y1 − y (τ )] t lower − L − T + Te T J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • 2 −1 Ejemplo: P( s) = (s + 2s + 1) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Ejemplo: P ( s) = (s + 1) −4 J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A • Otra propuesta para el acoplamiento: – Redefinición de la banda basada en la respuesta escalón del modelo. Basada en la redefinición de la banda de error mediante el FOTD P( s ) = (s 2 + 2s + 1) −1 Basada en el cálculo del área de error del FOTD J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A Lógica de detección eventos tarea A - Nuevo y1 - y(t) >= y(τ) up P + e I u ui Lógica de detección eventos tarea B |IE(tcurrent) – IE(tlast)| >= δIE J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A Ejemplo: P( s ) = (s 2 + 2s + 1) −1 • 0 2 -0.05 1.5 -0.1 ui 2.5 1 -0.15 0.5 -0.2 0 0 5 10 15 20 25 30 35 40 45 50 -0.25 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 IE w = 0.2 Ti=max{8L,T}=4.23 J. Sánchez, S. Dormido, A. Visioli δIE =0.02 deadband = 1±0.01 Control PI basado en eventos 0 2. Algoritmo A Ejemplo : P( s ) = (s 2 + 2s + 1) −1 • 0.05 2.5 0 2 -0.05 -0.1 1.5 ui -0.15 -0.2 1 -0.25 -0.3 0.5 -0.35 0 0 5 10 15 20 25 30 35 40 45 50 -0.4 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 IE w = 0.2 Ti=0.3*max{8L,T}=1.27 J. Sánchez, S. Dormido, A. Visioli δIE =0.02 deadband = 1±0.01 Control PI basado en eventos 0.1 2. Algoritmo A Ejemplo: P( s ) = (s 2 + 2s + 1) −1 • 20 20 15 15 10 10 5 ui 5 0 0 -5 -5 -10 -10 -15 -15 0 5 10 15 w = 0.2 20 25 30 35 40 45 50 Ti=0.1*max{8L,T}=0.423 J. Sánchez, S. Dormido, A. Visioli -20 -4 -3 δIE =0.02 -2 -1 0 IE 1 2 3 deadband = 1±0.01 Control PI basado en eventos 4 2. Algoritmo A • Equivalencia para desarrollo de herramienta de análisis y diseño: e′ y1 - e 1/s ui IE NLi2 (δIE, Kp, Ti) NLi1 (y1, α, β) e′ Kp y + G up NLp (y1, yτ) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 2. Algoritmo A Ejemplo: P( s ) = (s 2 + 2s + 1) −1 • 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0 0 0 5 10 15 20 25 30 35 40 45 50 0 δIE =0.02 10 15 20 25 30 35 40 45 50 Con acción derivativa Sin acción derivativa w = 0.2 Ti=max{8L,T}=4.23 5 Td=2Ti J. Sánchez, S. Dormido, A. Visioli δder =0.01 deadband = 1±0.01 Proporcional = 2 Integral= 39 Derivativa = 671 Control PI basado en eventos 2. Algoritmo A • Ejemplo: P( s ) = (s 2 + 2s + 1) −1 w = 0.2 Ti=max{8L,T}=4.23 δIE =0.02 Td=2Ti J. Sánchez, S. Dormido, A. Visioli δder =0.01 deadband = 1±0.01 Proporcional = 2 Integral= 39 Derivativa = 671 Control PI basado en eventos 2. Algoritmo A ud eɺ s NLd (δe, Kp, Td) y1 - e e′ 1/s NLi1 (y1, α, β) ui IE y + G NLi2 (δIE, Kp, Ti) e′ Kp up NLp (y1, yτ) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 3. Algoritmo A (red) • Enfoque basado en eventos lleva intrínseco el concepto de retardo: i +δ t ∫ e(t )dt =δ IE e(t + δ t ) − e(t ) i • δt ≈ δ eɺ Algunas consideraciones: – Retardos variables en ambos sentidos. – Posible pérdida de información. – ¿Cuánta “inteligencia” o “lógica de control” otorgamos al sensor y al actuador? – Control en red basado en paquetes: • Envío de más información por paquete en ambos sentidos: – Sensor-controlador: trayectoria desde último envío. – Controlador-actuador: secuencia de acciones de control posibles y futuras. • Mantenemos un enfoque basado en deltas (integral del error y de la derivada) J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 3. Algoritmo A (red) • Intercambio de información entre agentes de control: – – – – Sensor envía cuando actuador recibe. Paquete sensor: petición de acciones de control. Paquete controlador: <acción integrales> (horizonte móvil) Actuador: • Podría aplicar uis mientras no llegue nueva información de control. • Lleva estado interno del integrador. ui4 ui4 4δ IE 4δ IE ui7 7δ IE J. Sánchez, S. Dormido, A. Visioli U =< ui1 , ui 2 ,..., ui k > ui k = Kp δ IE ⋅ k Ti Control PI basado en eventos 3. Algoritmo A (red) • Algunas mejoras: – Sensor: envía paquete con trayectoria desde último envío. – Controlador: • Estima trayectoria futura (lineal, splines, modelo) • Envía pares acciones integrales + derivativas alrededor trayectoria estimada. • Límite de información dependiente del tamaño del paquete. – Actuador: • Necesita conocer valor del proceso y tiempo transcurrido. • Calcula deltas transcurridos desde último envío y accede al paquete de control. • Realiza lo mismo cada delta hasta que recibe nuevo paquete de control. U = [< ui1 , ud1 >< ui1 , ud 2 >< ui2 , ud1 > ... < uin , ud m >] < uii , ud j >≡< J. Sánchez, S. Dormido, A. Visioli Kp Ti δ IE ⋅ i, K pTd δ eɺ ⋅ j > Control PI basado en eventos 3. Algoritmo A (en red) • Hay una equivalencia entre las no linearidades y los retardos expresadas en deltas: J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 4. Algoritmo B • Basado en la interpolación mediante splines de la salida del proceso. • Sensor (basado en eventos): – Envía información según política de muestreo. • Controlador (basado en tiempo): – Si no recibe información del sensor, se interpola por splines cúbicos. – Si recibe, se utiliza para actualizar la información de la planta. – Los valores pasados se utilizan para la derivativa. y ∆ ∆ ∆ ∆ t J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos 4. Algoritmo B • Ejemplo: P ( s ) = (s + 1) −2 4 2 0 -2 -4 -6 -8 -10 0 1 2 3 4 J. Sánchez, S. Dormido, A. Visioli 5 t 6 7 8 9 10 Control PI basado en eventos 4. Algoritmo B • Ejemplo: P ( s ) = ( s + 1) −4 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15 J. Sánchez, S. Dormido, A. Visioli 20 t 25 30 35 40 Control PI basado en eventos 5. Líneas de trabajo • Experimental: – Depurar y completar PIs con elementos propios de un PI industrial. – Aplicación de algoritmos PI a sistemas reales: • Invernadero (red wireless, Mica motes, TinyOS). • Sistema tanque sencillo (local + red TCP). – Sistema de control jerárquico basado en eventos de dos niveles para ahorro de energía en viviendas: • Control PID. • Control predictivo. • Teórica: – Algoritmo A: Desarrollo en SysQuake de herramienta análisis y diseño: • PID eventos ≡ PID * NLs – Algoritmo B: Seguir trabajando. – Extensión de A y B al control en red. – Formalización como sistemas lineales “piecewise”. J. Sánchez, S. Dormido, A. Visioli Control PI basado en eventos