Full text
© 2016 CEA. Publicado por Elsevier España, S.L.U. Este es un artículo Open Access bajo la licencia CC BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/4.0/) http://dx.doi.org/10.1016/j.riai.2017.05.003 Disponible en www.sciencedirect.com Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 Revista Iberoamericana de Automática e Informática Industrial / Observadores Distribuidos Garantistas para Sistemas en Red Ram´ on A. Garc´ ıaa,∗, Francisco R. Rubioa, Luis Orihuelab, Pablo Mill´ anb, Manuel G. Ortegaa aDepartamento de Ingenier´ıa de Sistemas y Autom´atica, Universidad de Sevilla, Sevilla, Espa˜na bDepartamento de Ingenier´ıa, Universidad Loyola Andaluc´ıa, Sevilla, Espa˜na Resumen En este art´ ıculo se propone un observador distribuido garantista para sistemas en red, considerando de forma expl´ ıcita el problema de los retardos variables en las comunicaciones. Se asume que la informaci´ on intercambiada entre agentes llega siempre a su destino, si bien las comunicaciones est´ an sujetas a retardos variables, cuyo valor m´ aximo se supone conocido. Cada observador trabaja con informaci´ on parcial, y necesita comunicarse con observadores vecinos para llevar a cabo una estimaci´ on del estado completo del sistema. Para representar a los conjuntos garantistas, cuya funci´ on es acotar en tiempo real la regi´ on en la que se encuentra el estado del sistema, se ha optado por la utilizaci´ on de zonotopos. Esto permite integrar de forma sencilla la informaci´ on recibida por cada agente. Finalmente se presentan resultados de simulaci´ on para validar el algoritmo propuesto. Palabras Clave: Estimaci´ on Distribuida, Observadores de Estado, Sistemas con Retardos, Sistemas en red, Zonotopos. 1. Introducci´ on En control autom´ atico existen muchas t´ ecnicas que se basan en la descripci´ on interna del sistema a controlar, es decir, en el conocimiento del estado del sistema. Es bien conocido que en la pr´ actica en la mayor´ ıa de los casos no se dispone de dicha informaci´ on, por lo que es necesario recurrir a estimadores de estados de la planta o proceso. Por otro lado en plantas de gran tama˜ no, que cuentan con un gran n´ umero de variables de estado, la informaci´ on est´ at ´ ıpicamente distribuida. En ese sentido, el t´ ermino estimaci´ on distribuida hace referencia a dos conceptos. El primero, la estimaci´ on del estado de la planta no se lleva a cabo por un ´ unico observador, sino que se realiza por un conjunto de observadores denominados agentes. El segundo es que, adem´ as, dichos agentes colaboran para poder cumplir su objetivo, transmitiendo de forma peri´ odica informaci´ on a trav´ es de una red de comunicaci´ on, (Rubio et al., 2014). Tambi´ en hay enfoques que consideran comunicaciones as´ ıncronas, como en (Weimer et al., 2012), (Guinaldo et al., 2016) y (Garc´ ıa et al., 2015), donde los agentes determinan en funci´ on a ciertos eventos si comunican su informaci´ on o no. Es posible encontrar en la literatura un gran n´ umero de publicaciones sobre este tema. Por ejemplo, existen multitud de ∗Autor en correspondencia. Correos electr´onicos: [email protected] (Ram´ on A. Garc´ ıa), [email protected] (Francisco R. Rubio), [email protected] (Luis Orihuela), [email protected] (Pablo Mill´ an), [email protected] (Manuel G. Ortega) trabajos basados en versiones distribuidas del Filtro de Kalman (Roshany-Yamchi et al., 2013), (Feng et al., 2013), (Mahmoud and Khalid, 2013), incluso en ocasiones combinado con otras t´ ecnicas, (He et al., 2016), (Wu et al., 2016). Otros enfoques posibles son los trabajos basados en adaptaciones del observador de Luenberger donde se usan t´ ecnicas de consenso (Mill´ an et al., 2012b), teor´ ıa H∞(Orihuela et al., 2013), (Zhang et al., 2016), o con horizonte deslizante (Farina et al., 2010), (Li et al., 2014), entre otros. Por su parte el t´ ermino garantista indica que se utilizar´ aun enfoque que, basado en el conocimiento de los l´ ımites que pueden alcanzar las distintas perturbaciones, incertidumbres y ruidos que act´ uan sobre el sistema, resulta en una clase de estimadores que obtienen din´ amicamente conjuntos que incluyen en todo instante el estado actual del sistema. Las t´ ecnicas garantistas o de pertenencia a conjunto no usan asunciones probabil´ ısticas para las perturbaciones o ruidos, sino que se basan en que dichas se˜ nales pueden tomar cualquier valor dentro de un conjunto acotado y conocido. Esos conjuntos pueden tener diferentes representaciones: intervalos o cajas (Bars et al., 2012), elipses o elipsoides (Zhou et al., 2013), politopos (Garc´ ıa et al., 2015), etc. Dentro del ´ ultimo tipo se encuentran los zonotopos, que son politopos convexos y sim´ etricos respecto a su centro. Los sistemas en red, ya sean sistemas multi-agentes o plantas de grandes dimensiones, incorporan una red por la que se realiza una comunicaci´ on de los datos en lugar de un procesamiento centralizado de los mismos. Aplicaciones t´ ıpicas pue-
R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 257 den ser redes de sensores (Iyengar and Brooks, 2016), flota de veh´ ıculos o robots (Bri˜ n´ on Arranz et al., 2009) o monitoreo de procesos (Mill´ an et al., 2012a), entre otros. En este tipo de sistemas, los retardos son inevitables y tienen un impacto importante en los algoritmos de control y estimaci´ on, pudiendo llegar a la desestabilizaci´ on de los mismos, (Fridman, 2014). En (Richard, 2003) se hace una profunda revi- si´ on sobre los avances y los problemas abiertos en los sistemas con retardos. En este trabajo se presenta un m´ etodo garantista de estimaci´ on distribuida para sistemas en red. Debido a la necesidad de intercambiar informaci´ on en el proceso de comunicaci´ on se consideran los retardos causados por la red de comunicaciones. Se propone un algoritmo que asegura que los estados de la planta siempre est´ an contenidos en los zonotopos obtenidos por cada agente a pesar de la presencia de los retardos en las comunicaciones. El algoritmo desarrollado, que se implementa en cada agente, es capaz de integrar la informaci´ on local con aquella transmitida por agentes (observadores) vecinos, calculando continuamente el conjunto factible que acota la zona en la que se encuentra el estado de la planta. Dicho conjunto factible vendr´ a delimitado por zonotopos. El resto del art´ ıculo est´ a organizado de la siguiente manera. La Secci´ on 2 presenta la notaci´ on, algunos conceptos y definiciones sobre zonotopos yc ´ alculo matricial. El problema bajo consideraci´ on, as´ ı como los objetivos perseguidos son detallados en la Secci´ on 3. El observador distribuido sin retados se presenta en la Secci´ on 4. El observador distribuido propuesto con retardos se presenta en la Secci´ on 5. Simulaciones ilustrativas sobre el rendimiento del algoritmo se muestran en la Secci´ on 6. Finalmente, las conclusiones se resumen en la Secci´ on 7. 2. Notaci´ on y preliminares Sea R∈Rn×p. Entonces, RF=tr(RTR) es la norma Frobenius de R. La norma Frobenius de un vector x∈Rnes igual a la norma Euclidea definida como x=√xTx. Una caja, o box en ingl´ es, es un vector compuesto por intervalos que acotan una regi´ on. Por ejemplo en una representaci´ on en R2una caja representa un rect´ angulo. La anchura de un intervalo [a,b] se denota como b−a. Un zonotopo, representado por la letra caligr´ afica X,esdefinido por su centro c∈Rny su matriz de vectores generadores H∈Rn×b: X=c,H=⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ c+ b i=1 ςihi:|ςi|≤1⎫ ⎪ ⎪ ⎬ ⎪ ⎪ ⎭ , siendo hi∈Rnla i-´ esima columna de H.N´ otese que si la matriz Hfuese diagonal, lo que se tendr´ ıa ser´ ıa una caja, ya que tendr´ ıa un conjunto de intervalos, cada elemento del vector denotar´ ıa el centro y el elemento de Hla mitad de la anchura. Cualquier permutaci´ on de las columnas de Hdeja invariante al zonotopo. El orden del zonotopo viene dado por el n´ umero de vectores generadores, esto es, b. El F-radio del zonotopo X=c,Hes la norma de Frobenius de H, es decir, XF=HF. La covariaci´ on de un zonotopo X=c,Hes PX=HHT. Sean X=cx,HxeY=cy,Hydos zonotopos y Runa matriz de dimensiones apropiadas, se definen las siguientes operaciones: RX=Rcx,RHx(1) X⊕Y =cx+cy,[HxHy](2) Consid´ erense los vectores x∈X,w∈Wy la matriz A. Entonces, si se define el vector yAx +w,seg ´ un las operaciones vistas se tiene que y∈AX⊕W. El operador redq(X)oredq(c,H) es una reducci´ on de orden del zonotopo X, de tal manera que X⊆redq(X). El orden de redq(X)esq, por tanto lo que se reduce es el orden de la matriz generadora, es decir, el n´ umero de vectores necesarios para describir el zonotopo y no el tama˜ no del zonotopo. Esta operaci´ on est´ a definida como en (Combastel, 2015), primero consiste en ordenar las columnas de Hen orden decreciente seg´ un la norma del vector, H=h1··· hj··· hb,hj2≥hj+12, y encerrando el conjunto H<generado por las b−q+nmenores columnas en una caja: redq(c,H)=c,H,b≤q, c,[H>box(H<)],b>q, donde H>=h1··· hq−n, H<=hq−n+1··· hb, ybox(H)∈Rn×nse calcula como box(H)=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣ b j=1|h1j|... 0 . . ..... . . 0... b j=1|hnj| ⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦ . La operaci´ on de reducir el orden de un zonotopo se hace necesaria para poder abordar el problema desde un punto de vista computacional. Como puede observarse en (2), la suma de dos zonotopos tiene como resultado otro, cuya matriz de vectores generadores concatena aquellas de los zonotopos sumados. Con la operaci´ on de reducci´ on se persigue hacer posible la suma sucesiva de estos conjuntos, evitando una explosi´ on en el n´ umero de vectores generadores mediante el compromiso entre la precisi´ on en la descripci´ on de los zonotopos y la cantidad de informaci´ on necesaria para describirlos. El operador Vol(X) corresponde al volumen del zonotopo X. En este trabajo se calcular´ a con una aproximaci´ on basada en la descomposici´ on en valores singulares (SVD)delamatriz generadora del zonotopo (Caro, 2004). Para un c´ alculo m´ as exacto del volumen consultar (Le et al., 2013). La descomposici´ on SVDde H∈Rn×b, viene dada por: H=USV
258 R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 Figura 1: Ejemplo de zonotopo, a), caja, b) y caja obtenida de la descomposici´ on SVD, c) donde U∈Rn×bcon columnas ortogonales, S∈Rb×bes una matriz diagonal y V∈Rb×buna matriz ortogonal. Con todo esto, el resultado obtenido de la aproximaci´ on es: Vol(X)=2ndet box(SV) En la Figura 1 se muestra un zonotopo, X, su acotaci´ on mediante una caja, box(X) y la obtenida por otra caja pero a trav´ es de la descomposici´ on SVD, Ubox(SV). Como puede observarse gracias a la descomposici´ on SVD se orienta la caja en los ejes mayores del zonotopo. Las operaciones de intersecci´ on entre zonotopos se pueden encontrar en (Le et al., 2013) y (Alamo et al., 2005). Los agentes se comunican a trav´ es de una red cuya topolog´ ıa se define por un grafo G=(V,E). El grafo Gse asume conectado y dirigido, con v´ ertices V={1,2,...,p}y enlaces E⊂V×V, debiendo existir un camino entre cualesquiera dos nodos de la red. El conjunto de v´ ertices conectados con el v´ ertice ise nombra la vecindad de i y se denota por Ni≡{j:(i,j)∈E}. El ancho de banda disponible se supone limitado, as´ ı que la cantidad de informaci´ on que un agente puede comunicar en cada instante de muestreo necesariamente est´ a acotada y es otro de los motivos por el que se realiza la reducci´ on de orden. Dicha informaci´ on se cuantifica como el n´ umero de escalares que se env´ ıan. Sea a∈Run escalar, el tama˜ no del paquete para enviarlo ser´ aPE(a)=1. Entonces, para transmitir un zonotopo X=c,H,c∈RnyH∈Rn×p, se necesita un paquete de tama˜ no PE(X)=n(p+1). Tabla 1: Resumen de los s´ ımbolos m´ as utilizados S´ ımbolo Significado x,ˆ Xiestado y conjunto/zonotopo para el estado del agente i ci,Hicentro y matriz generadora del conjunto/zonotopo factible del agente i w,Wperturbaciones y conjunto factible para las perturbaciones yi,Sisalida medida por el agente iy franja de estados factible para la medida yi vi,Viruido en la medida del agente iy conjunto factible para los ruidos τi,¯τiretardo instant´ aneo y retardo m´ aximo en la comunicaci´ on del agente i 3. Descripci´ on del problema e hip´ otesis de partida Se considera un sistema lineal afectado por perturbaciones externas con la siguiente din´ amica: Σ:x(k+1) =Ax(k)+w(k) (3) Figura 2: Conjunto de agentes observando el estado de la planta Σ donde x∈Rnes el estado de la planta, Aes una matriz conocida de dimensiones adecuadas, y w∈Rncaracteriza la influencia de perturbaciones externas o de din´ amicas no modeladas. La Figura 2 ilustra el problema considerado. Un grupo de pagentes son desplegados en una regi´ on con el objetivo de estimar los estados de la planta. Cada agente tiene una medida local dada por: yi(k)=Cix(k)+vi(k),(4) donde yi∈Rmies la salida, Cies la matriz de salida y virepresenta el ruido de salida. Se consideran las siguientes suposiciones: Observabilidad/detectabilidad: No se asume observabilidad local, tal y como se define en (Olfati-Saber, 2007), es decir, los pares (A,Ci) no son observables. Lo anterior implicar´ ıa que podr´ ıan dise˜ narse observadores centralizados en cada uno de los agentes para resolver el problema de la estimaci´ on. Sin embargo, una suposici´ on necesaria para el m´ etodo planteado es la hip´ otesis de observabilidad colectiva, esto implica que si todas las salidas medidas fuesen accesibles por un observador centralizado, esta informaci´ on ser´ ıa suficiente para estimar el estado completo de la planta. En otras palabras, (A,C) es detectable, con C=CT 1CT 2...CT pT. Se˜ nales ex´ ogenas: Las perturbaciones y los ruidos que afectan a la din´ amica se asumen acotados. Desde un pun- to de vista matem´ atico, este hecho implica que dichas se˜ nales pertenecer´ an a un conjunto acotado dado, w(k)∈ Wyvi(k)∈V i, para i=1,2...,p. Sin p´ erdida de generalidad estos conjuntos se definen como zonotopos centrados: W=0,QV i=0,Ri(5) donde QyRison matrices definidas positivas de dimensiones adecuadas. El objetivo de este art´ ıculo es proponer un observador distribuido que estime el estado de la planta a partir de la informaci´ on que reciben de un conjunto de agentes. Cada uno de estos agentes representan un sistema f´ ısico embebido, que recibe informaci´ on de la planta y se comunica con otros agentes para conseguir los objetivos de estimaci´ on. El objetivo principal para los agentes es calcular en cada instante de muestreo zonotopos que contengan el estado real de
R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 259 la planta. Se define un zonotopo de estimaci´ on y de predicci´ on para cada agente: Estimaci´on :ˆ Xi(k|k)=ci(k),Hi(k) Predicci´on :ˆ Xi(k+1|k)=ci(k+1),Hi(k+1)(6) Los objetivos que se persiguen son dos, que el estado actual permanezca dentro de las estimaciones y que el estado siguiente permanezca dentro de las predicciones, es decir: 1. x(k)∈ˆ Xi(k|k), ∀k,i 2. x(k+1) ∈ˆ Xi(k+1|k), ∀k,i 4. Estimador distribuido garantista sin retardos En primer lugar se plantear´ a el problema sin retardos. El algoritmo que describe el estimador distribuido sin retardos mostrado en la Tabla 2, es una adaptaci´ on del propuesto en (Alamo et al., 2005) para sistemas no lineales con un agente, mientras que aqu´ ı se tienen sistemas lineales y estimaci´ on distribuida. El algoritmo se divide en cuatro pasos: medici´ on, comunicaci´ on, estimaci´ on y predicci´ on. Cada agente realiza una medida, yi(k), calcula el conjunto de estados consistentes con dicha medida, dado por una franja Si(k) (Alamo et al., 2005), e intersecciona con la predicci´ on del instante anterior. Con esto se consigue corregir la predicci´ on anterior con la medida actual. En el paso de comunicaci´ on se env´ ıa a los vecinos el conjunto obtenido en el paso anterior, pero con el orden acotado mediante la operaci´ on de reducci´ on de orden redq(ZIi(k)). Cuando los agentes han recibido la informaci´ on de sus vecinos, calculan el conjunto de estimaci´ on de ese instante de muestreo, ˆ Xi(k|k). El estimador propuesto calcula el zonotopo de estimaci´ on en el instante kinterseccionando los zonotopos de predicci´ on recibidos de los agentes vecinos: ˆ Xi(k|k)redqIi(k) Ii(k)Zi(k)j∈NiZj(k),(7) donde el operador de reducci´ on de orden es necesario para mantener acotado el orden del zonotopo, y por tanto tambi´ en la cantidad de informaci´ on necesaria para describirlos (vectores generadores). Indicar adem´ as que cuanto m´ as conectado est´ e un agente, m´ as intersecciones se har´ an a trav´ es de (7), y m´ as acotado puede estar el zonotopo de estimaci´ on, ya que puede contener m´ as vectores que describan de forma m´ as precisa la regi´ on del espacio. Finalmente se calcula la predicci´ on para el siguiente instante de muestreo evolucionando el conjunto de estimaci´ on y a˜ nadiendo el de perturbaciones, W, de acuerdo al modelo din´ amico del sistema. El algoritmo propuesto asegura la estimaci´ on garantista del estado de la planta para todos los agentes en cada instante de muestreo, tal como se muestra a continuaci´ on. Teorema 1. Suponiendo que en el instante k0el estado del sistema pertenece a cada zonotopo de predicci´ on, esto es, x(k0)∈ˆ Xi(k0|k0−1),∀i, Tabla 2: Algoritmo del estimador garantista distribuido sin retardos 0) Zonotopo inicial ˆ Xi(k|k−1) 1) Medida yi(k) 1.1) Franja Si(k) 1.2) Intersecci´ on ZIi(k)=ˆ Xi(k|k−1) Si(k) 1.3) Reducci´ on de orden Zi(k)=redq(ZIi(k)) 2) Comunicaci´ on 2.1) Env´ ıo Zi(k),a todo j:i∈Nj 2.2) Recepci´ on Zj(k),∀j∈Ni 3) Estimaci´ on 3.1) Intersecci´ on Ii(k)=Zi(k)j∈NiZj(k) 3.2) Reduc. orden ˆ Xi(k|k)=redq(Ii(k)) 4) Predicci´ on ˆ Xi(k+1|k)=Aˆ Xi(k|k)⊕W entonces, aplicando el algoritmo de estimaci´ on distribuida detallado en la Tabla 2, se satisface que x(k)∈ˆ Xi(k|k),x(k+1) ∈ˆ Xi(k+1|k),∀k≥k0,∀i. Prueba: La prueba demostrar´ a que, si un estado dado x(k) pertenece a los zonotopos de predicci´ on ˆ Xi(k|k−1), entonces x(k) ser´ a contenido en los zonotopos de estimaci´ on ˆ Xi(k|k)y x(k+1) en los zonotopos de predicci´ on ˆ Xi(k+1|k), para todos los agentes. Por tanto, como se supone que x(k0) pertenece a ˆ Xi(k0|k0−1), el resultado se prueba por inducci´ on. En primer lugar, se tiene que x(k)∈ˆ Xi(k|k−1), ∀i,enun instante k. Adem´ as, x(k)∈Si(k)yaqueSi(k) es la franja de estados consistentes con la medida yi(k). Por consiguiente, x(k)∈ˆ Xi(k|k−1) x(k)∈Si(k)→x(k)∈Z Ii(k) Ahora, el operador de reducci´ on de orden verifica que Zi(k)⊆ redq(ZIi(k)), as´ ı que x(k)∈Z i(k)). Finalmente, x(k)∈Z i(k) x(k)∈Zj(k),j∈Ni→x(k)∈I i(k). Como ˆ Xi(k|k) se obtiene de la intersecci´ on de diferentes Zj(k), se tiene que x(k)∈ˆ Xi(k|k). Nos centramos ahora en el paso de predicci´ on. Primeramente, el estado del sistema en k+1 viene dado por x(k+1) =Ax(k)+w(k).
260 R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 Usando propiedades est´ andar de zonotopos vistas en la Secci´ on 2, y teniendo que x(k)∈ˆ Xi(k|k), se infiere que Ax(k)∈ Aˆ Xi(k|k). Las perturbaciones en el instante kpertenecen a W. Por tanto, x(k+1) ∈AXi(k|k)⊕W, tal como se ha definido en el algoritmo ˆ Xi(k+1|k). Entonces, x(k+1) ∈ˆ Xi(k+1|k), y as´ ı concluye la prueba. El algoritmo detallado en la Tabla 2 asegura estimaci´ on garantista solo si las perturbaciones y ruidos permanecen en los l´ ımites establecidos. De lo contrario, la franja y el zonotopo de predicci´ on pueden no interseccionar. 5. Estimador distribuido garantista con retardos Esta secci´ on mostrar´ a la principal contribuci´ on realizada en este trabajo: el algoritmo de estimaci´ on distribuida que, a pesar de que la informaci´ on que se recibe de otros agentes tiene un retardo variable pero acotado, sigue generando conjuntos garantistas no divergentes. Ahora la informaci´ on de los vecinos a trav´ es de los zonotopos Zj(k) puede llegar con retardo y eso puede complicar la estimaci´ on. Por tanto, se recibe Zj(k−τj(k)), siendo τj(k)el retardo en la comunicaci´ on del agente jcon todos sus vecinos. N´ otese que todos los paquetes que env´ ıa el agente jen el instante ksufren el mismo retardo1. Dicho retardo es variable y acotado por ¯τj. Se asume una sincronizaci´ on entre los agentes que permite que, recibiendo una marca temporal, se pueda conocer el retardo de un paquete reci´ en recibido, k−τj(k). El algoritmo que describe el estimador distribuido con retardos puede observarse en la Tabla 3. El algoritmo ejecuta los mismos cuatro pasos, pero ahora la fase de comunicaci´ on es diferente siendo m´ as extensa que en el caso anterior. En esta ocasi´ on se utiliza un nuevo conjunto Dbasado en la evoluci´ on de la ´ ultima informaci´ on recibida y la medici´ on del agente que recibe. Cada agente realiza una medida, yi(k), y almacena un n´ umero de salidas igual a: max(¯τj), ∀j∈Ni,elm ´ aximo retardo posible de sus vecinos. Por este motivo es necesario conocer la cota m´ axima del retardo. Cuando los agentes han recibido la informaci´ on de sus vecinos, que puede haberse transmitido hace varios instantes de tiempo, calculan el conjunto de estimaci´ on de ese instante de muestreo ˆ Xi(k|k) con los conjuntos calculados a partir de la informaci´ on recibida. Dichos conjuntos, ˜ Zi(k), se definir´ an un poco m´ as adelante. El estimador propuesto calcula el zonotopo de estimaci´ on en el instante kinterseccionando los conjuntos calculados a partir de los zonotopos de predicci´ on recibidos de los nodos vecinos, ˜ Zj(k): ˆ Xi(k|k)redqIi(k) Ii(k)Zi(k)j∈Ni ˜ Zj(k),(8) 1La extensi´ on para el caso en el que el retardo sea diferente para cada vecino ser´ ıa trivial, pues ser´ ıa necesario conocer el retardo individual de cada enlace. Esto no es un problema pues los paquetes llevan su marca temporal y el algoritmo sigue siendo v´ alido. donde, al igual que en el caso sin retardos, la reducci´ on de orden es necesaria para mantener acotado el orden del zonotopo, y por tanto la cantidad de informaci´ on necesaria para describirlos (vectores generadores). Indicar adem´ as que cuanto m´ as conectado est´ e un agente, m´ as intersecciones se har´ ıan a trav´ es de (8), y m´ as estrecho puede ser el zonotopo de estimaci´ on, ya que puede contener m´ as vectores que describan de forma m´ as precisa la regi´ on del espacio. En esta nueva situaci´ on con posibles retardos, el agente i- ´ esimo recibe Zj(k−τj(k)), pero ´ el usa ˜ Zj(k) para estimar el estado. Si τj(k)=0: la informaci´ on llega a tiempo, y por tanto se usa directamente la informaci´ on recibida ˜ Zj(k)=Zj(k).(9) Si τj(k)>0: la informaci´ on ha llegado con retardo, se tiene un conjunto que acota lo que ha pasado durante esa ausencia de informaci´ on ˜ Zj(k)=fZj(k−τj(k)),Si(k−τj(k)),...,Si(k−1),W. (10) En (10) se muestra que ˜ Zj(k) depende de la informaci´ on recibida, las medidas almacenadas y las perturbaciones. Se define el conjunto Dcomo el conjunto resultante de las operaciones realizadas con la informaci´ on recibida con retardo, la informaci´ on medida en los instantes anteriores y las perturbaciones. Dicho conjunto, D,seir ´ a calculando interseccionando el conjunto recibido de los vecinos con las distintas medidas almacenadas ya ˜ nadiendo las perturbaciones. Para calcularse de forma iterativa, se a˜ nadir´ an los sub´ ındices t,i,jpara clarificar el proceso. Con esto, Dt,ij representa los conjuntos transitorios en la iteraci´ on tentre los agentes iyj, hasta que llegue el instante k, es decir que tser´ ael´ ındice que marca como la informaci´ on va evolucionando desde k−τj(k) hasta k.˜ Zj(k) se calcula como sigue. D0,ij =Zj(k−τj(k)) Si(k−τj(k)) ⊕W para t=1...τj(k) Dt,ij =ADt−1,ij Si(k−τj(k)+t)⊕W ˜ Zj(k)=Dτj(k),ij (11) El algoritmo propuesto tambi´ en asegura la estimaci´ on garantista del estado de la planta para todos los agentes en cada instante de muestreo. Teorema 2. Suponiendo que en el instante k0el estado del sistema pertenece a cada uno de los zonotopos de predicci´ on y ha pertenecido a ellos tambi´ en en los instantes anteriores , esto es, x(k0−l)∈ˆ Xi(k0−l|k0−l−1),∀i,∀l=0...τ i(k) entonces, con el bucle de estimaci´ on detallado en la Tabla 3, se satisface que x(k)∈ˆ Xi(k|k),x(k+1) ∈ˆ Xi(k+1|k),∀k≥k0,∀i.
R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 261 Tabla 3: Algoritmo de estimador garantista distribuido con retardos 0) Zonotopo inicial ˆ Xi(k|k−1) 1) Medida yi(k) 1.1) Franja Si(k) 1.2) Intersecci´ on ZIi(k)=ˆ Xi(k|k−1) Si(k) 1.3) Reducci´ on orden Zi(k)=redq(Zi(k)) 2) Comunicaci´ on 2.1) Env´ ıo Zi(k),a todo j:i∈Nj 2.2) Recepci´ on Zj(k−τj(k)),∀j∈Ni 2.3) C´ alculo ˜ Zj(k) 2.3.1) si τj(k)=0˜ Zj(k)=Zj(k) 2.3.2) si τj(k)>0˜ Zj(k)=fZj(k−τj(k)),Si(k−τj(k)),...,Si(k−1),W D0,ij =Zj(k−τj(k)) Si(k−τj(k)) ⊕W t=1...τj(k)→D t,ij =ADt−1,ij Si(k−τj(k)+t)⊕W ˜ Zj(k)=Dτj(k),ij 3) Estimaci´ on 3.1) Intersecci´ on Ii(k)=Zi(k)j∈Ni ˜ Zj(k) 3.2) Reduc. orden ˆ Xi(k|k)=redq(Ii(k)) 4) Predicci´ on ˆ Xi(k+1|k)=Aˆ Xi(k|k)⊕W Prueba: La prueba demostrar´ a que, si el estado x(k) pertenece a los zonotopos de predicci´ on ˆ Xi(k|k−1) y ˆ Xi(k−τi(k)|k− τi(k)−1), entonces x(k) estar´ a dentro de los zonotopos de estimaci´ on ˆ Xi(k|k)yx(k+1) en los zonotopos de predicci´ on ˆ Xi(k+ 1|k), para cada agente. Por consiguiente, como x(k0) se asume que pertenece a ˆ Xi(k0|k0−1) y ˆ Xi(k0−τi(k)|k0−τi(k)−1), el resultado se prueba por inducci´ on. Primero, se asume que x(k)∈ˆ Xi(k|k−1), ∀i,enunkdado. Adem´ as, x(k)∈Si(k)yaqueSi(k) es la franja de todos los estados consistentes con la medida yi(k). Por lo que, x(k)∈ˆ Xi(k|k−1) x(k)∈Si(k)→x(k)∈Z Ii(k) Ahora, la reducci´ on de orden verifica que Zi⊆redq(ZIi), por lo que x(k)∈redq(ZIi(k)), ysix(k−τi)∈ˆ Xi(k−τi(k)|k− τi(k)−1) ∀i, implica que x(k)∈˜ Zj(k). x(k−τj(k)) ∈ˆ Xj(k−τj(k)|k−τj(k)−1) x(k−τj(k)) ∈Sj(k−τj(k)) →x(k−τj(k)) ∈ Zj(k−τj(k)). Se tiene que xperteneci´ oaZj(k−τj(k)) para todos los agentes y ha pertenecido a los conjuntos consistentes con las medidas, por tanto: x(k−τj(k)) ∈Zj(k−τj(k)) x(k−τj(k)) ∈Sj(k−τj(k)) →x(k−τj(k)) ∈D 0,ij. Luego el sistema ha ido evolucionando con la matriz Ay con las perturbaciones wque pertenecen al conjunto Wpor lo que se tiene que el sistema pertenece a Dt,ij, obteni´ endose que: x(k−τj(k)+t)∈D t,ij x(k−τj(k)+t)∈Si(k+τj(k)+t)→x(k)∈˜ Zj(k). Finalmente, como la operaci´ on de reducci´ on mantiene la pertenencia, se tiene que: x(k)∈redq(ZIi(k)) x(k)∈˜ Zj(k),j∈Ni→x(k)∈I i(k). Como ˆ Xi(k|k) se obtiene de la intersecci´ on de diferentes ˜ Zj(k), se tiene que x(k)∈ˆ Xi(k|k). Nos centramos ahora en el paso de predicci´ on. Primeramente, el estado del sistema en k+1 viene dado por x(k+1) =Ax(k)+w(k). Usando propiedades est´ andar de zonotopos vistas en la Secci´ on 2 y teniendo que x(k)∈ˆ Xi(k|k), se infiere que Ax(k)∈ Aˆ Xi(k|k). Las perturbaciones en el instante kpertenecen a W. Por tanto, x(k+1) ∈AXi(k|k)⊕W, tal como se ha definido en el algoritmo ˆ Xi(k+1|k). Entonces, x(k+1) ∈ˆ Xi(k+1|k),yla prueba est´ a demostrada. El algoritmo detallado en la Tabla 3 asegura estimaci´ on garantista solo si las perturbaciones y ruidos permanecen en los l´ ımites establecidos. De lo contrario, la franja y el zonotopo de predicci´ on pueden no interseccionar. 6. Resultados de Simulaci´ on Para mostrar la bondad del algoritmo propuesto se emplear´ an un par de ejemplos ilustrativos. En el primero de ellos se mostrar´ an los resultados ante distintos valores del posible retardo producido. En el segundo se ha probado el m´ etodo en un modelo de un sistema real y se har´ aunan ´ alisis gr´ afico bas´ andose en el orden utilizado. En los ejemplos se comparan los resultados obtenidos usando el algoritmo propuesto (que hemos llamado BC en lo sucesivo) con otro que no utiliza la informaci´ on de las medidas anteriores del agente que recibe el zonotopo con retardo (que hemos llamado BA por analog´ ıa). El t´ ermino BC refleja el uso del algoritmo propuesto en este trabajo, interseccionando la informaci´ on recibida con retardo con las medidas anteriores del propio agente tal como muestra el paso 2.3.2) de la Tabla 3, al hacer uso de la medida pasada se le ha dado el t´ ermino Bucle Cerrado por su analog´ ıa con la teor´ ıa de control tradicional. Mientras que el t´ ermino BA, representa la evoluci´ on de la informaci´ on recibida a˜ nadiendo las perturbaciones sin interseccionar con las medidas antiguas, cambiando el paso de la tabla anteriormente mencionado por la evoluci´ on mostrada en (12), siguiendo la misma analog´ ıa en la nomenclatura se ha denominado como Bucle Abierto. ˜ Zj(k)=AτZj(k−τj(k)) ⊕ τj−1 l=0 AlW(12) Las figuras representan el estado real del sistema, x, mediante una l´ ınea azul, y los l´ ımites superior e inferior estimados
262 R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 de cada uno de los agentes para ambos casos mencionados, con el algoritmo propuesto y sin ´ el. Para complementar el an´ alisis del algoritmo se tiene tambi´ en las tablas que muestran el valor del ´ ındice Ic, que cuantificar´ a el rendimiento del algoritmo propuesto. Dicho ´ ındice estar´ a basado en el c´ alculo aproximado de los vol´ umenes de los zonotopos de estimaci´ on de los agentes, que son una medida directa de la incertidumbre de estimaci´ on. Ic=1 kend kend j=1 p i=1 Vol(ˆ Xi(k|k)) (13) Con ambos factores, ´ ındice ygr ´ aficas, se permite tener una visi´ on general de la mejor´ ıa producida, ya que puede que en un estado los l´ ımites no se vean mejorados, pero que en otro estado si lo hagan produciendo una reducci´ on significativa del volumen y por tanto del ´ ındice. Ejemplo 1 (Mill´ an et al., 2012b).Planta cuya din´ amica es: x(k+1) =⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣ 0,99 0 0 0 01 ,01 0 0 000 ,9945 −0,08757 000,1248 0,9945 ⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦ x(k)+w(k). Es un ejemplo acad´ emico, en el que se ha buscado un sistema con un modo estable, otro inestable, y un par de polos oscilatorios. La topolog´ ıa del grafo es 1 ↔2↔3↔4, como se puede apreciar en la Figura 3. Figura 3: Esquema del sistema y los agentes. Las salidas medidas por cada agente son: y1(k)=[1000]x(k)+v1(k), y2(k)=[0100]x(k)+v2(k), y3(k)=[0010]x(k)+v3(k), y4(k)=[0001]x(k)+v4(k). Se realiza el primer experimento, con los par´ ametros mostrados en (14)2,d ´ onde los retardos se producen a partir del instante 200 y antes de dicho valor tienen todos valores nulos. Los resultados del ´ ındice dado por (13) se aprecian en la Tabla 4, la cual muestra que el algoritmo propuesto reduce ostensiblemente el volumen de los zonotopos, es decir, la incertidumbre en la 2Los ruidos y perturbaciones, v,wson generados a partir de distribuciones aleatorias uniformes 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 1 x agente 1 agente 2 agente 3 agente 4 (a) Estimaciones cuando los zonotopos recibidos se evolucionan en bucle abierto 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 1 x agente 1 agente 2 agente 3 agente 4 (b) Estimaciones cuando los zonotopos recibidos se evolucionan con el algoritmo propuesto Figura 4: Estimaci´ on para el estado 1 por todos los agentes. estimaci´ on, con respecto al caso de evoluci´ on en bucle abierto. τ1(k)=2,τ 2(k)=1,τ 3(k)=4,τ 4(k)=3,∀k>200, Q=diag{0,20,10,40,3},vi∞=0,5 x0=[0,02 0,3−0,01 −0,5]T,q=20 (14) Tabla 4: Indice Icpor agente y agregado para los algoritmos en bucle abierto (BA) y en bucle cerrado (BC). Los valores del retardo son: τ1(k)=2,τ 2(k)= 1,τ 3(k)=4,τ 4(k)=3,∀k>200. IcAg 1 Ag 2 Ag 3 Ag 4 Agregado BA 145,01 188,19 92,14 167,08 592,42 BC 151,22 161,90 74,96 122,61 510,70 Aunque como tambi´ en se aprecia en la Tabla 4, no todos los agentes mejoran su estimaci´ on, pero la mejor´ ıa en el conjunto si es significativa, reduciendo el total en un 13,79 %. Los cuatro estados se representan en las Figuras4a7mos- trando el caso tanto con el algoritmo propuesto como sin ´ el o
R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 263 en bucle abierto. Empezando por el primer estado, se muestra en la Figura 4 su evoluci´ on. Se usar´ a la misma distribuci´ on de subfiguras, la 4(a) representa el caso en bucle abierto como se ha explicado anteriormente, se evoluciona la informaci´ on recibida hasta el instante actual en el que deber´ ıa haberse recibido. Y la 4(b) muestra el caso con el algoritmo propuesto, es dif´ ıcil apreciar solamente con las gr´ aficas que m´ etodo es mejor, pero si se aprecia la mejor´ ıa con el ´ ındice Icmostrado en las Tabla 4. El estado 2 se puede observar en la Figura 5. En este ejemplo en particular es el caso d´ onde con m´ as claridad se observa el efecto del nuevo algoritmo propuesto. 0 100 200 300 400 500 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 estado 2 x agente 1 agente 2 agente 3 agente 4 (a) Estimaciones cuando los zonotopos recibidos se evolucionan en bucle abierto 0 100 200 300 400 500 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 estado 2 x agente 1 agente 2 agente 3 agente 4 (b) Estimaciones cuando los zonotopos recibidos se evolucionan con el algoritmo propuesto Figura 5: Estimaci´ on para el estado 2 por todos los agentes. La Figura 6 ilustra el comportamiento del estado 3. Este estado es el que corresponde al mayor retardo en las comunicaciones. La Figura 7 representa al estado 4. Al igual que pasaba en otros estados, no se observa a simple vista una gran mejor´ ıa. Pero gracias al ´ ındice Icse sabe que dicha mejor´ ıa se produce. Una vez visto el primer caso con los par´ ametros indicados en (14), se mantienen dichos valores pero se aumenta a un valor los retardos, multiplicando los valores por 10, produci´ endose a partir del mismo instante de simulaci´ on, para instantes k> 200. En esta ocasi´ on s´ olo se mostrar´ a el valor del ´ ındice Ic.La 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 3 x agente 1 agente 2 agente 3 agente 4 (a) Estimaciones cuando los zonotopos recibidos se evolucionan en bucle abierto 0 100 200 300 400 500 −5 −4 −3 −2 −1 0 1 2 3 4 5 estado 3 x agente 1 agente 2 agente 3 agente 4 (b) Estimaciones cuando los zonotopos recibidos se evolucionan con el algoritmo propuesto Figura 6: Estimaci´ on para el estado 3 por todos los agentes. Tabla 5 muestra que el rendimiento en la estimaci´ on mejora un 34,25 % con el algoritmo propuesto. Aunque al igual que en el caso previo uno de los agentes obtiene una estimaci´ on peor que es compensada por el resto de los agentes. Tabla 5: Indice Icpor agente y agregado para los algoritmos en bucle abierto (BA) y en bucle cerrado (BC). Los valores del retardo son: τ1(k)=20,τ 2(k)= 10,τ 3(k)=40,τ 4(k)=30,∀k>200. Ic/103Ag 1 Ag 2 Ag 3 Ag 4 Agregado BA 0,77 1,24 0,85 0,79 3,65 BC 1,07 0,58 0,31 0,44 2,40 Se realiza ahora una nueva simulaci´ on suponiendo que el retardo de uno de los agentes var´ ıa, tal como se indica en (15), manteniendo el resto de valores indicados en (14). Para instantes de tiempos anteriores el retardo producido en la red es nulo. τ1(k)=2,τ 2(k)=1,τ 3(k)=4,τ 4(k)=3,∀k∈[200 250], τ1(k)=2,τ 2(k)=1,τ 3(k)=0,τ 4(k)=3,∀k>250. (15)
264 R.A. García et al. / Revista Iberoamericana de Automática e Informática industrial 14 (2017) 256–267 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 4 x agente 1 agente 2 agente 3 agente 4 (a) Estimaciones cuando los zonotopos recibidos se evolucionan en bucle abierto 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 4 x agente 1 agente 2 agente 3 agente 4 (b) Estimaciones cuando los zonotopos recibidos se evolucionan con el algoritmo propuesto Figura 7: Estimaci´ on para el estado 4 por todos los agentes. Nuevamente se hace uso del ´ ındice Icpara ver la mejor´ ıa del algoritmo propuesto. La Tabla 6 muestra como usar el nuevo algoritmo propuesto obtiene mejor Icque en el caso de no usarlo, en este caso la mejora es menor que en los casos previos, 12,32 %. Tabla 6: Indice Icpor agente y agregado para los algoritmos en bucle abierto (BA) y en bucle cerrado (BC). Los valores del retardo son: τ1(k)=2,τ 2(k)= 1,τ 3(k)=4,τ 4(k)=3,∀k∈[200 250] y τ1(k)=2,τ 2(k)=1,τ 3(k)= 0,τ 4(k)=3,∀k>250. IcAg 1 Ag 2 Ag 3 Ag 4 Agregado BA 109,50 84,27 97,93 66,86 358,56 BC 96,24 90,62 73,10 54,43 314,39 Para esta nueva simulaci´ on solo se representar´ an dos estados a modo ilustrativo. En la Figura 8 se muestra el comportamiento del estado 1, al igual que antes, tanto con el algoritmo propuesto, como sin ´ el. El otro estado representado es el tercero. Dicho estado se muestra en la Figura 9. Al igual que pasaba en el primer caso 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 1 x agente 1 agente 2 agente 3 agente 4 (a) Estimaciones cuando los zonotopos recibidos se evolucionan en bucle abierto 0 100 200 300 400 500 −4 −3 −2 −1 0 1 2 3 4 estado 1 x agente 1 agente 2 agente 3 agente 4 (b) Estimaciones cuando los zonotopos recibidos se evolucionan con el algoritmo propuesto Figura 8: Estimaci´ on para el estado 1 por todos los agentes. estudiado, para este estado parece obtenerse unos l´ ımites similares con ambos m´ etodos. Finalmente, la tabla 7 muestra en resumen los resultados obtenidos haciendo una distinci´ on en los instantes en los que se produce el retardo. Se ha podido observar c´ omo aplicar el algoritmo desarrollado ha producido una reducci´ on en el valor del ´ ındice Icy por consiguiente una reducci´ on en los vol´ umenes de los zonotopos. Algunos estados son m´ as sensibles a dicha reducci´ on, al igual que algunos agentes, pero en conjunto se ha obtenido mejores resultados. Por tanto el uso del algoritmo propuesto reduce la banda de incertidumbre generada por el retardo. Ejemplo 2 (Weimer et al., 2012).Sistema de 6 tanques. Se tiene un segundo ejemplo basado en un sistema compuesto de 6 tanques obtenido de (Weimer et al., 2012) que a su vez est´ a basado en (Johansson, 2000). Consta de dos tanques inferiores (3 y 4), dos superiores (1 y 2), dos reservorios (5 y 6), dos v´ alvulas y dos bombas, como se puede apreciar en la Figura 10. Los flujos de agua van del tanque 1 al 3, del 2 al 4, y del 3 y 4 al 5 y 6 respectivamente. Las bombas est´ an conectadas de tal manera que la bomba 1 entrega agua a los tanques2y3, mientras que la bomba 2 entrega agua a los tanques1y4.La