Full text
Revista Iberoamericana de Autom´atica e Inform´atica Industrial 22 (2025) 120-125 www.revista-riai.org Resumen Este trabajo presenta un sistema de control distribuido que optimiza la gesti´on energ´etica en una comunidad utilizando control predictivo basado en modelos. Se ha extendido el sistema para dotar a cada agente de un mecanismo tolerante a fallos capaz de detectar, aislar y reconfigurar agentes en caso de f allos. L a d etecci´on s e realiza m ediante e l c´alculo d e se˜nales residuales y umbrales basados en restricciones de probabilidad para minimizar falsos positivos. Identificado el fallo, se ajustan los par´ametros del controlador predictivo del agente para mantener la seguridad del sistema. Si la reconfiguraci´on afecta a m´ultiples agentes, la informaci´on se comparte. El algoritmo de control utiliza un contrato inteligente en una red blockchain, resolviendo el problema de manera distribuida sin un coordinador central, y asegurando la seguridad e integridad de los datos. La estrategia propuesta ha sido evaluada mediante simulaciones en una comunidad energ´etica. Palabras clave: Sistemas energ´eticos, Control predictivo, Control descentralizado, Tolerante a fallos, Detecci´on y diagn´ostico de fallos para sistemas lineales. Fault-tolerant control in energy communities based on blockchain Abstract This work describes a distributed control system that optimizes energy management using model predictive control in an energy community. The system has been extended to provide each agent with a fault-tolerant mechanism capable of detecting, isolating, and reconfiguring a gents i n c ase o f f ailures. F ault d etection i nvolves t he c alculation o f r esidual s ignals a nd probability-based thresholds that minimize false positives. Once a fault is identified, reconfiguration is performed by adjusting the parameters of the agent’s predictive controller to bring the system to an acceptable level of safety. If the reconfiguration affects more than one agent, the information must be shared with the other agents. The control algorithm relies on a smart contract on a blockchain network, enabling the problem to be solved in a distributed manner without a centralized coordinator, while ensuring the security and integrity of the data. The proposed control strategy has been evaluated through various simulations in an energy community. Keywords: Energy systems, Predictive control, Decentralized control, Fault-tolerant, FDI for linear systems. 1. Introducci´ on Las energ´ ıas renovables han logrado integrarse en contextos residenciales y empresariales, proporcionando una tasa relevante de contribuci´ on energ´ etica. A pesar de que su funcionamiento est´ a regulado por la legislaci´ on de cada pa´ ıs, los usuarios tienen la flexibilidad para gestionar y optimizar su operaci´ on. El problema de optimizaci´ on del usuario no s´ olo implica la minimizaci´ on de costes, sino tambi´ en la consideraci´ on de escenarios no est´ andar (Bordons et al., 2020). Entre las estrategias de control aplicadas destaca el Control Predictivo Basado en Modelos (MPC, por sus siglas en ingl´ es), que es una t´ ecnica de control industrial bien establecida. Entre sus caracter´ ısticas principales destaca el manejo de retrasos en procesos, no linealidades, sistemas multivariables, o restricciones tanto en variables de control como de salida (Camacho ∗Autor para correspondencia: [email protected] Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) Control tolerante a fallos en comunidades energéticas basado en blockchain Manuel Sivianesa,∗, Pablo Velardeb, Ascensi´on Zafra-Cabezaa, Carlos Bordonsa aDepartamento de Ingenier´ıa de Sistemas y Autom´atica, Universidad de Sevilla (Espa˜na). bDepartamento de Ingenier´ıa, Universidad Loyola de Andaluc´ıa (Espa˜na). To cite this article: Sivianes, M., Velarde, P., Zafra-Cabeza, A., Bordons, C., 2025. Fault-Tolerant Control in Energy Communities Based on Blockchain. Revista Iberoamericana de Automática e Informática Industrial 22, 120-125. https://doi.org/10.4995/riai.2024.21921
et al., 2012). La idea principal de un controlador MPC consiste en calcular una secuencia de control a lo largo de un horizonte de predicci´ on que minimiza una funci´ on de coste. S´ olo la primera componente de la secuencia es aplicada al sistema, mientras que el resto se descarta. Este problema se resuelve nuevamente en el siguiente paso de tiempo mediante un enfoque de horizonte deslizante. Los sistemas centralizados no son eficientes para sistemas a gran escala debido a la complejidad computacional, especialmente para los controladores MPC. En este sentido, la estrategia de MPC Distribuido (DMPC) divide el sistema en varios agentes gobernados por controladores MPC locales que intercambian informaci´ on mediante negociaci´ on, ofreciendo beneficios como facilidad de implementaci´ on, menor esfuerzo computacional o modularidad, entre otros (Maestre and Negenborn, 2013). En este contexto, un esquema DMPC permite resolver un problema cooperativo para abordar un sistema de gesti´ on energ´ etica en una comunidad energ´ etica (CE) intercambiando s´ olo la informaci´ on necesaria (Gui et al., 2017). Una CE incluye m´ ultiples agentes, como prosumidores o consumidores, conectados en una red para compartir recursos e infraestructuras energ´ eticas. Su objetivo principal es proporcionar beneficios econ´ omicos, sociales y ambientales a los miembros mientras se garantiza el cumplimiento de la demanda energ´ etica. Compartir recursos permite a los miembros disfrutar de costes energ´ eticos reducidos, menores emisiones de carbono y una mayor seguridad energ´ etica. Adem´ as, las CEs pueden promover un sentido de comunidad y el fomento de pr´ acticas energ´ eticas sostenibles (Campos et al., 2020). El uso de arquitecturas distribuidas requiere del intercambio de informaci´ on de agentes, y del procesamiento de ´ esta. En este contexto, la tecnolog´ ıa blockchain emerge como una soluci´ on para abordar la necesidad de seguridad e integridad en los sistemas de gesti´ on energ´ etica. Su principal contribuci´ on es habilitar transacciones seguras entre pares y sin intermediarios. Los datos en esta tecnolog´ ıa son compartidos por todos los nodos de la red, simulando el libro mayor de una empresa, y no son almacenados de manera centralizada. Este hecho dificulta que agentes maliciosos ataquen la red y puedan comprometer la integridad de los datos. Los contratos inteligentes son otra caracter´ ıstica clave del ecosistema blockchain que se pueden utilizar para realizar tareas de coordinaci´ on en el contexto de las CEs con agentes participando en algoritmos de optimizaci´ on distribuidos. Los contratos inteligentes permiten a los usuarios codificar programas que act´ uan seg´ un reglas inmutables y definidas por el usuario, eliminando la necesidad de coordinadores centrales o externos. Varios trabajos ya han explorado el uso de la tecnolog´ ıa blockchain para la gesti´ on energ´ etica en microredes y ECs, v´ ease, por ejemplo, (van Leeuwen et al., 2020) y (Sivianes et al., 2022). El Diagn´ ostico y Aislamiento de Fallos (FDI, por sus siglas en ingl´ es) es un aspecto cr´ ıtico de los sistemas de control tolerantes a fallos (FTCS, por sus siglas en ingl´ es) que deben predecir e identificar posibles fallos en el sistema (Issermann, 2006). Esta metodolog´ ıa se ha aplicado a sistemas energ´ eticos para garantizar una operaci´ on segura ante escenarios de fallos. Los FTCS tambi´ en incluyen mecanismos de acci´ on para mantener el sistema el´ ectrico en condiciones de seguridad adecuadas en presencia de fallos, como se muestra en el trabajo de Este trabajo tiene como objetivo desarrollar un esquema de control bidireccional tolerante a fallos de dos capas que utiliza un enfoque DMPC y la tecnolog´ıa blockchain para optimizar la gesti´on energ´etica en una CE. La capa inferior del esquema consiste en un MPC local tolerante a fallos que detecta, a´ısla y reconfigura los agentes involucrados en fallos mediante c´alculos de se˜nales residuales y umbrales de probabilidad para minimizar los falsos fallos. La reconfiguraci´on ajusta los par´ametros del controlador predictivo del agente para asegurar que el sistema opere a un nivel adecuado de seguridad. Mientras tanto, la planificaci´on energ´etica se realiza en un esquema distribuido a trav´es de un contrato inteligente en una red blockchain en la capa superior utilizando otro MPC que opera a un tiempo de muestreo mayor. Al aprovechar los contratos inteligentes, se elimina la necesidad de un coordinador centralizado, y Ethereum es la red blockchain escogida gracias a su madurez. Esta blockchain p´ublica y sin permisos emplea Solidity, un lenguaje de programaci´on Turing-completo, para crear contratos inteligentes que se ejecutan en la M´aquina Virtual de Ethereum (Oliva et al., 2020). El sistema global proporciona una gesti´on ´optima de la energ´ıa en una CE con fuentes de energ´ıa renovables, asegurando tambi´en la tolerancia a fallos, incluyendo mecanismos para la detecci´on, aislamiento, reconfiguraci´on y seguridad a trav´es del uso combinado de DMPC y tecnolog´ıa blockchain. Hasta donde sabemos, la tolerancia a fallos en CEs utilizando un enfoque distribuido y jer´arquico mediante un contrato inteligente no ha sido tratada en la literatura anteriormente. El resto de este documento esta´ organizado como sigue. La Secci´on 2 proporciona una visi´on general del sistema de gesti´on energ´etica en una CE. La formulaci´on del problema DMPC y su algoritmo se muestran en la Secci´on 3. La Secci´on 4 formula la estrategia tolerante a fallos aplicada en una CE. La Secci´on 5 describe la implementaci´on de la red blockchain y el contrato inteligente para optimizar el comportamiento de la CE. Los resultados y la discusi´on se presentan en la Secci´on 6, seguidos de las conclusiones en la Secci´on 7. 2. Formulaci´ on del Problema de Gesti´ on Energ´ etica Esta secci´ on presenta las ecuaciones que describen la CE y la funci´ on objetivo a optimizar en la capa superior e inferior. 2.1. Formulaci´on de la CE La CE est´ a formada por agentes que se pueden clasificar en dos categor´ ıas: prosumidores y consumidores. Los prosumidores tienen acceso a Recursos Energ´ eticos Distribuidos (REDs) como bater´ ıas, paneles solares y veh´ ıculos el´ ectricos, mientras que los consumidores deben importar energ´ ıa de fuentes externas para satisfacer sus demandas. La CE se representa mediante un grafo dirigido completo G=(A,V), donde A={1, . . . , n} denota el conjunto de agentes y V ⊆ n×nrepresenta el conjunto de aristas dirigidas entre agentes (i,j)∈ A. Todos los agentes pueden importar energ´ ıa de la red externa (RE), denotada por pre i,t, que se suministra a la CE a trav´ es del Punto de Acoplamiento Com´ un (PAC). El coste de importar energ´ ıa de la RE en el momento tes κt[€/kWh], mientras que cualquier exceso de energ´ ıa vendido de vuelta a la red se denota por prev i,ty se Sivianes, M. et al. / Revista Iberoamericana de Automática e Informática Industrial 22 (2025) 120-125 121 (Márquez et al., 2021).
recompensa a una tarifa de κb t[€/kWh]. Los hogares dentro de la CE pueden intercambiar energ´ ıa entre s´ ı a trav´ es de l´ ıneas de transmisi´ on. Hay una l´ ınea de transmisi´ on para cada arista en el grafo G, es decir, existen n×(n−1)/2 l´ ıneas de transmisi´ on, lo que permite un intercambio flexible entre cualquier par de hogares. El sistema est´ a sujeto a perturbaciones a trav´ es de dos fuentes de incertidumbre: la irradiancia horizontal global ϖi,t [W/m2] y la demanda de energ´ ıa pul i,tpara todos los hogares i∈ A. Dado que la CE abarca un ´ area geogr´ afica relativamente peque˜ na en comparaci´ on con la variaci´ on de ϖi,ten funci´ on de la posici´ on, se asume que ϖi,tes constante para todo i∈ A en cada momento t, es decir, ϖi,tϖt. Las bater´ ıas almacenan energ´ ıa que puede ser utilizada posteriormente y manejan tanto el comercio de energ´ ıa como el exceso de energ´ ıa. La energ´ ıa almacenada en las bater´ ıas del agente ise representa por eb i,t. Esta energ´ ıa es calculada y restringida de la siguiente manera: eb i,t=eb i,t−1+(ηb cpbc i,t−pbd i,t ηb d )∆t,∀i,t,(1) eb i|l≤eb i,t≤eb i|u,∀i,t,(2) 0≤pbc i,t,pbd i,t,pbt i,t≤pb i|u,∀i,j,t,(3) donde pbc i,t, y pbd i,trepresentan la potencia de carga y descarga, respectivamente. Adem´ as, ηb cyηb drepresentan las eficiencias de carga y descarga de la bater´ ıa, respectivamente; |ly|use refieren a los l´ ımites inferior y superior, respectivamente. Los veh´ ıculos el´ ectricos (VEs) se incluyen como cargas flexibles en las que tanto el tiempo como la potencia de carga demandada, pve i,t, pueden controlarse. La energ´ ıa almacenada en los VEs se denota por eve i,ty se calcula como: eve i,t=eve i,t−1+ηve cpve i,t∆t,∀i,t,(4) eve i,t|l≤eve i,t≤eve i,t|u,∀i,t,(5) 0≤pve i,t≤υi,tpve i|u,∀i,t,(6) donde ηve ces la eficiencia de carga del VE. Adem´ as, υes un par´ ametro binario que representa la disponibilidad de carga del VE, es decir, cada agente tiene un horario predefinido Υi=[υ1,i, . . . , υend,i] que indica los pasos de tiempo en los que el VE estar´ a en la ubicaci´ on del punto de carga del agente. Se requiere satisfacer una carga diaria de energ´ ıa del VE de eve daily. Se formula de la siguiente manera: eve i,t=eve i,daily ∀i∈ E,t=tve,(7) donde Ees el conjunto de agentes equipados con un VE, y tve es el momento en el que los VEs deben haber recibido la cantidad de energ´ ıa eve daily requerida. El balance de potencia para cada agente puede expresarse como: pre i,t+ppv i,t+pbd i,t=pbc i,t+pload i,t+pve i,t+MipPL i,t+prev i,t,(8) en el cual ppv i,tes la generaci´ on fotovoltaica y se calcula como ηpvaiϖt, donde ηpv yairepresentan la eficiencia de conversi´ on fotovoltaica y el ´ area fotovoltaica instalada; Mies la matriz de intercambio cuyos valores son 1, -1 o 0, dependiendo de si hay una conexi´ on a la l´ ınea de energ´ ıa y la direcci´ on en la que se ha definido el flujo; y pPL tes un vector que contiene la potencia en cada l´ ınea de energ´ ıa. Adem´ as del MPC superior que tiene un tiempo de muestreo ∆t=3600 s, se emplea un controlador MPC en la capa inferior para seguir las referencias establecidas por el MPC de la capa superior con un tiempo de muestreo menor de ∆llt=30 s para habilitar un seguimiento r´ apido de las referencias de intercambio de energ´ ıa. El objetivo de este MPC es regular el sistema en tiempo real para conseguir el consenso logrado en la capa superior mientras se mantiene la operaci´ on estable del sistema. El problema del MPC de bajo nivel se define como sigue: m´ ın ull(k+j|k) Nll−1 X j=0 (|xr(k+j|k)−xll(k+j|k)|2 Q+|ull(k+j|k)|2 R),(9) donde Nll es el horizonte de predicci´ on del MPC de bajo nivel; xr(k+j|k) es la se˜ nal de referencia generada por el MPC de alto nivel, xll(k+j|k) es el estado predicho en el instante k+j, basado en el modelo del MPC de bajo nivel (que es similar al modelo del MPC de alto nivel pero reemplazando ∆tcon ∆llt), yull(k+j|k) es el vector de variables manipuladas; QyRson matrices de ponderaci´ on que penalizan las desviaciones de la referencia y el esfuerzo de control, respectivamente. Adem´ as, cabe se˜ nalar que el MPC de bajo nivel est´ a sujeto no solo a las restricciones de potencia y energ´ ıa del MPC de alto nivel, sino tambi´ en a la restricci´ on de balance de potencia descrita en la Ecuaci´ on (8). Estas restricciones aseguran que el intercambio de energ´ ıa total sea factible y no viole ninguna limitaci´ on f´ ısica del sistema. Dado que el MPC de bajo nivel es responsable de regular los intercambios de energ´ ıa con otros hogares, se a˜ nade un t´ ermino adicional a la funci´ on de coste para penalizar las desviaciones de las potencias de referencia calculadas por el MPC de alto nivel que afectan a otros hogares, es decir, Nll−1 X j=0 |pPL i(k+j|k)−up ll(k+j|k)|2 W,(10) donde el t´ ermino pPL irepresenta los flujos de potencia en las l´ ıneas de transmisi´ on del MPC de alto nivel que afectan al hogar i, mientras que up ll se refiere a los componentes del vector ull que corresponden al intercambio de potencia en el MPC de bajo nivel. 2.2. Funci´on Objetivo La funci´ on objetivo del MPChde la capa superior, denotada por Φ, tiene como objetivo minimizar el coste econ´ omico derivado de pre mientras maximiza las ganancias de pgb. Adem´ as, se consideran los intercambios de energ´ ıa en la CE pPL, el esfuerzo de control y el seguimiento de referencias de eb. El ´ ındice se calcula de la siguiente manera: Φ = Nh X t=1ctpre t−cb tpgb t−ct tMipPL t+δb(eb t|u−eb t)(11) +cNh+1pre Nh+1+δb(eb Nh+1|u−eb Nh+1) +δve(eve Nh+1|u−eve Nh+1)+ Nh X t=1 uT tRut, donde Res una matriz de dimensiones apropiadas que penaliza pbc ypbd. El precio de venta a los vecinos, es decir, ct t, siempre 122 Sivianes, M. et al. / Revista Iberoamericana de Automática e Informática Industrial 22 (2025) 120-125
ser´ a mayor que el precio de venta a la RE cb t, pero menor que ct. Esto incentiva los intercambios dentro de la CE y resulta en menores costes econ´ omicos globales. 3. Formulaci´ on del MPC Distribuido En esta secci´ on, se presenta brevemente la implementaci´ on del algoritmo distribuido para la CE. Se ha utilizado el algoritmo Alternating Direction Method of Multipliers (ADMM), permitiendo resolver el problema de manera distribuida. El algoritmo ADMM es una herramienta eficaz para resolver problemas de optimizaci´ on a gran escala descomponi´ endolos en subproblemas m´ as peque˜ nos que pueden resolverse de manera independiente. En el contexto de la CE, esto significa que cada agente puede resolver su propio problema de optimizaci´ on localmente, mientras coordina con otros agentes para lograr una soluci´ on global. Este enfoque tiene varias ventajas, incluyendo mayor escalabilidad y menor complejidad computacional. El algoritmo ADMM se puede formular como: m´ ın x,zf(x)+g(z) s.t. Ax +Bz =c donde f(x) y g(z) son funciones convexas, y AyBson matrices de dimensiones apropiadas. El Lagrangiano aumentado para este problema es dado por: Lρ(x,z,y)=f(x)+g(z)+yT(Ax +Bz −c)+ρ 2|Ax +Bz −c|2 2, donde yes la variable dual y ρ > 0 es el par´ ametro de penalizaci´ on. El algoritmo ADMM consiste en actualizar iterativamente las variables primales xyz, as´ ı como la variable dual y, hasta que se alcance la convergencia. En el contexto de la CE presentada, el objetivo del algoritmo ADMM es lograr la convergencia de las variables globales compartidas que representan el intercambio de potencia entre los agentes, pPL i,t. 4. Dise˜ no del Sistema Tolerante a Fallos La inclusi´ on de enfoques tolerantes a fallos en sistemas distribuidos es un tema relevante porque ayuda a mejorar la seguridad y la fiabilidad de todos los agentes. Al detectar y aislar fallos de manera temprana, es posible prevenir da˜ nos adicionales al sistema, reducir la propagaci´ on de accidentes o fallos y mejorar el mantenimiento preventivo. Este trabajo propone la introducci´ on de dos m´ odulos que afectan al MPC de bajo nivel en cada agente, como se muestra en la Figura 1, para abordar las funcionalidades tolerantes a fallos, denominados FDI y reconfiguraci´ on de fallos (FR, por sus siglas en ingl´ es). Se describen a continuaci´ on. 4.1. La Estrategia de Detecci´on y Aislamiento de Fallos La idea b´ asica detr´ as de la estrategia de FDI es monitorear el comportamiento de cada agente y compararlo con su comportamiento esperado. Los m´ etodos FDI incluyen enfoques basados en modelos, se˜ nales y datos. Los primeros, utilizan modelos matem´ aticos para predecir y detectar desviaciones del comportamiento esperado. Los segundos, analizan las se˜ nales del sistema en busca de anomal´ ıas, y las estrategias basadas en datos utilizan algoritmos de aprendizaje autom´ atico para detectar fallos bas´ andose en datos hist´ oricos (Issermann, 2006). Figura 1: Esquema del sistema tolerante a fallos distribuido. El m´odulo FDI propuesto para los agentes aborda la detecci´on y el aislamiento de fallos, obteniendo ecuaciones de paridad y residuos estructurados (Issermann, 2006). Este m´etodo se basa en un modelo para generar un vector de residuos, ri = [ri,1 . . . ri,ni r ], para cuantificar l as d iscrepancias e ntre el comportamiento real del sistema y el comportamiento esperado ante un escenario de fallo. Para ello, son necesarias las siguientes se˜nales, como se muestra en la Figura 1: estados del modelo (xt), entradas (ut), perturbaciones (ωt) y residuos hist´oricos (rth) para prever se˜nales de residuos similares. Una manera de mejorar la fiabilidad d e l os m´etodos d e d etecci´on y aislamiento de fallos en sistemas de control de energ´ıa, es evitar la generaci´on de falsos positivos debido a incertidumbres que pueden ser abordadas mediante umbrales variables en el tiempo. Al establecer un rango para los valores de los residuos, se pueden descartar falsos positivos, aumentando la precisi´on de la detecci´on y el aislamiento de fallos. En este sentido, este trabajo sigue y mejora la formulaci´on de umbrales en l´ınea estoc´asticos delimitados por [αi,q(t), βi,q(t)] propuesta por (M´arquez et al., 2021), donde se calculan para determinar el intervalo en el cual el residuo no indicar´ıa un fallo real. En este trabajo, en cada instante de tiempo, se calcula el conjunto de variables estoc´asticas ri h ,q(t)∀q ∈ {1, . . . , ni r} utilizando un m´etodo basado en datos hist´oricos de operaci´on. Despu´es, los umbrales [αi,q(t), βi,q(t)] se resuelven usando restricciones probabil´ısticas (Kall and Wallace, 1994): max αi,q(t) s.t. P{rh i,q(t)≥αi,q(t)} ≥ p,∀q,∀t,(12) min βi,q(t) s.t. P{rh i,q(t)≤βi,q(t)} ≥ p,∀q,∀t,(13) donde Pes la distribuci´ on de probabilidad y p=(1 −ξ), siendo ξel riesgo de fallos por falsas alarmas. Esto limita la tasa de falsas alarmas, asegurando que las se˜ nales ri,qest´ en dentro del intervalo con una probabilidad admitida pen un escenario sin fallos. Para determinar si un residuo no nulo ri,q(t) revela un fallo verdadero, se introduce una nueva variable binaria rb i,q∈ {0,1}nr i con ri,q, tomando el valor: rb i,q(t)=(1 si ri,q(t)> βi,q(t)∨ri,q(t)< αi,q(t) 0 si αi,q(t)≤ri,q(t)≤βi,q(t)(14) Para aislar los fallos, se emplean matrices estructurales Si∈0,1nf×nr i, con nffallos en todo el sistema denotados por Sivianes, M. et al. / Revista Iberoamericana de Automática e Informática Industrial 22 (2025) 120-125 123
F={F1, . . . , Fnf}. La matriz Sidel agente iestablece los perfiles de fallos (filas) seg´ un las se˜ nales de residuos (columnas). El vector fi∈ {0,1}nfse define como: fi(j)=1 si Si(j,q)== rb i,q,∀q∈ {1, . . . , nr i},(15) ∀j∈ {1, . . . , nf}. La conexi´ on entre los bloques FDI y FR se realiza utilizando variables fi. Por lo tanto, cuando aparece el fallo Fjen el agente iy el bloque FDI lo ha detectado, la variable fi(j) toma el valor 1 mientras el fallo est´ a activo; de lo contrario, fi(j)=0. 4.2. Estrategia de Reconfiguraci´on de Fallos Este bloque calcula el conjunto de acciones de reconfiguraci´ on (ARs) que deben ejecutarse en el agente icomo resultado de sus propios fallos as´ ı como de los fallos de otros agentes. Los agentes comparten el aislamiento de los fallos detectados a trav´ es de sus vectores fi. As´ ı, el m´ odulo FR toma los vectores ficomo entrada y aplica las ARs que se han dise˜ nado para cada fallo en los agentes. En este trabajo se consideran fallos que pueden ser corregidos a trav´ es de un plan de mitigaci´ on implementado en software. Es decir, las acciones en el plan implican cambios en los par´ ametros del controlador predictivo local y restricciones en las variables de control y salidas, sin interacciones con otros elementos o personal t´ ecnico. 5. Implementaci´ on de Blockchain Esta secci´ on se centra en la implementaci´ on de una plataforma de gesti´ on energ´ etica basada en blockchain para abordar el problema de optimizaci´ on distribuida discutido anteriormente. El objetivo es eliminar la necesidad de un coordinador centralizado, logrado mediante el uso de un contrato inteligente desplegado dentro de la blockchain de Ethereum. El contrato inteligente combina c´ odigo y datos que ejecutan transacciones autom´ aticamente cuando se cumplen condiciones predefinidas. Las herramientas de software utilizadas para implementar la aplicaci´ on distribuida incluyen la red de prueba Rinkeby, proporcionada por Ethereum, y utilizada para el desarrollo y pruebas. Se crea una interfaz gr´ afica de usuario utilizando React y web3.js, que permite a los agentes interactuar con el contrato inteligente. Web3.js es un conjunto de bibliotecas que permite a los usuarios conectarse a un nodo de Ethereum, que es proporcionado por Infura, un entorno de desarrollo blockchain. Finalmente, Metamask es utilizado como billetera de Ethereum. El contrato inteligente ser´ a responsable de coordinar el algoritmo ADMM, y servir´ a como la plataforma donde los hogares puedan notificar los fallos que hayan sido detectados. Adem´ as, proporcionar´ a visibilidad de dicho error a todos los participantes de la comunidad y permitir las tareas de reconfiguraci´ on necesarias. Las tareas y responsabilidades del contrato inteligente son resumidas a continuaci´ on: 1. Actualizar las variables globales compartidas por los agentes bas´ andose en los c´ alculos realizados por cada agente durante las iteraciones intermedias. 2. Actualizar los multiplicadores de Lagrange asociados con las restricciones de balance de potencia de la misma manera que las variables globales. 3. Actualizar el estado de fallos de los agentes bas´ andose en la informaci´ on que proporcionan y hacer estos datos visibles para la CE. 4. Realizar un seguimiento del estado de convergencia del algoritmo y terminar el proceso de optimizaci´ on cuando se cumpla un criterio de convergencia. 5. Almacenar y mantener el estado actual del problema de optimizaci´ on y ponerlo a disposici´ on de todos los agentes bajo petici´ on. 6. Proporcionar un entorno seguro y transparente para el proceso de optimizaci´ on, permitiendo una auditor´ ıa f´ acil de las transacciones y c´ alculos realizados por los agentes. 6. Resultados y Discusi´ on Se ha considerado una CE simple para ilustrar el m´ etodo. El sistema consta de 4 agentes, donde los agentes 2 y 4 son prosumidores, y los agentes 1 y 3 son consumidores. Cada prosumidor est´ a equipado con una bater´ ıa, paneles solares y un veh´ ıculo el´ ectrico, mientras que los consumidores solo pueden comprar energ´ ıa de la red el´ ectrica o recibirla a trav´ es de intercambios de energ´ ıa. 6.1. Simulaciones Las simulaciones se realizaron en un sistema operativo Windows 11, utilizando un ordenador con un procesador AMD Ryzen 7 5800H, 16 GB de RAM y un SSD de 1 TB. Se emple´ o MATLAB R2022by el solver Gurobi 9.5.2. Los resultados de las simulaciones se han obtenido bajo dos escenarios de prueba para realizar una comparaci´ on del enfoque distribuido en un escenario con fallos entre agentes. La hora inicial dentro de la simulaci´ on de alto nivel es la medianoche, el mes es septiembre, y los horizontes de predicci´ on de los agentes son Nh=24 para el MPChyNll =10 para el MPCl. 6.1.1. Escenario sin fallos El algoritmo distribuido se ejecuta con intercambios de energ´ ıa habilitados. El sistema FDI no detecta ning´ un fallo, ya que los umbrales est´ an dise˜ nados para soportar tales situaciones utilizando el m´ etodo de umbrales estoc´ asticos. Por lo tanto, solo se muestra la potencia intercambiada entre los hogares en las n×(n−1)/2 l´ ıneas de potencia que los conectan, definidas en sentido positivo desde el primer hogar hasta el ´ ultimo, tal y como se puede ver en la Figura 2. Por ejemplo, la potencia en las l´ ıneas 1, 2 y 3 ser´ a positiva si el hogar 1 env´ ıa potencia a los hogares 2, 3 y 4, respectivamente; la potencia en las l´ ıneas 4 y 5 ser´ a positiva si el hogar 2 env´ ıa potencia a los hogares 3 y 4, respectivamente; y finalmente, la potencia en la l´ ınea 6 ser´ a positiva si se transfiere del hogar 5 al hogar 6. 6.1.2. Escenario con fallos Para simplificar, solo se considera el fallo f1que representa un fallo en el convertidor DC/DC que vincula al prosumidor 2 con el consumidor 1; y que implica una p´ erdida total de transmisi´ on de energ´ ıa. Este fallo ocurre a las 3:37 PM, cuando el m´ odulo FDI del agente 1 lo detecta. Los resultados de la simulaci´ on se pueden ver en la Figura 3, donde se muestra la evoluci´ on de las variables afectadas como consecuencia del error y las acciones de reconfiguraci´ on. Este evento hace que 124 Sivianes, M. et al. / Revista Iberoamericana de Automática e Informática Industrial 22 (2025) 120-125
el intercambio de energ´ ıa entre los agentes 1 y 2 no sea posible. La Figura 4 muestra c´ omo la variable booleana f1(1) toma el valor 1. Tambi´ en se representan la variable residual (l´ ınea azul) y sus umbrales superior e inferior (l´ ıneas amarilla y roja). La se˜ nal residual del agente 2 asociada a esta transmisi´ on de energ´ ıa (r2,1) est´ a fuera del intervalo delimitado por los umbrales [α2,1(t), β2,1(t)]. 2 4 6 8 10 12 14 16 18 20 22 24 Hora -1500 -1000 -500 0 500 1000 W Intercambios de potencia Línea 1 Línea 2 Línea 3 Línea 4 Línea 5 Línea 6 Figura 2: Intercambios de potencia en la CE sin fallos. 15:00 15:05 15:10 15:15 15:20 15:25 15:30 15:35 15:40 15:45 15:50 Hora -400 -300 -200 -100 0 W Potencia línea 1 (hogar 1 y 2) No fallo en línea 1 Fallo en línea 1 15:00 15:05 15:10 15:15 15:20 15:25 15:30 15:35 15:40 15:45 15:50 Hora -300 -200 -100 0 W 1500 2000 2500 3000 Wh Reconfiguración Potencia RE - Hogar 1 (no fallo) Potencia RE - Hogar 1 (fallo) Energía batería - Hogar 2 (no fallo) Energía batería - Hogar 2 (fallo) Figura 3: Intercambio de potencia en la l´ınea 1, comportamiento de la bater´ıa del agente 2 y energ´ıa comprada de la RE por el agente 1 en escenarios con y sin fallos. Como se puede ver, el agente 2 funciona en modo aislado, por lo que debe ser reconfigurado. Por otro lado, el agente 1 esta´ considerando la energ´ıa esperada del agente 2, pero no recibira´ energ´ıa. Por lo tanto, el agente 1 tambi´en debe ser reconfigurado. Las ARs propuestas para el agente 2 son: (i) A1 2: establecer la referencia de intercambio de energ´ ıa del MPC superior a cero, (ii) A2 2: reducir el consumo de pre, y (iii) A3 2: cargar la bater´ ıa. Las ARs propuestas para el agente 1 son: A1 1: asegurar el balance de energ´ ıa comprando la energ´ ıa faltante de la red el´ ectrica a trav´ es de pre. 7. Conclusiones Este trabajo ha propuesto un enfoque distribuido tolerante a fallos aplicado a una CE, utilizando un esquema de control de dos capas. La capa superior gestiona la programaci´ on de energ´ ıa basada en tecnolog´ ıa blockchain a trav´ es de un contrato inteligente. Por otro lado, cada agente utiliza un esquema de negociaci´ on distribuida para cumplir con la planificaci´ on de energ´ ıa y hacer frente a las acciones de detecci´ on y reconfiguraci´ on de fallos compartiendo con los dem´ as solo la informaci´ on relevante. Los resultados demuestran la efectividad de la aplicaci´ on coordinada de algoritmos MPC distribuidos, tolerantes a fallos y basados en blockchain. 15:00 15:05 15:10 15:15 15:20 15:25 15:30 15:35 15:40 15:45 15:50 Hour -150 -100 -50 0Hogar 1, línea 1 - Residuo Residuo Inferior Superior 15:00 15:05 15:10 15:15 15:20 15:25 15:30 15:35 15:40 15:45 15:50 Hora 0 0.5 1 Hogar 1 - Detección fallo f1 Figura 4: Se˜nal residual r1,1 del agente 1 y variable f1(1). Agradecimientos La publicaci´on es parte del proyecto PID2022-142069OBI00, financiado por MCIN/AEI/10.13039/501100011033/ FEDER, UE. Referencias Bordons, C., Garcia-Torres, F., Ridao, M. A., 2020. Model predictive control of microgrids. Springer. Camacho, E. F., Berenguel, M., Rubio, F. R., Mart´ınez, D., 2012. Control of solar energy systems. Springer, London, England. Campos, I., Pontes Luz, G., Mar´ın-Gonz´alez, E., G¨ahrs, S., Hall, S., Holstenkamp, L., 2020. Regulatory challenges and opportunities for collective renewable energy prosumers in the eu. Energy Policy 138, 111212. Gui, E. M., Diesendorf, M., MacGill, I., 2017. Distributed energy infrastructure paradigm: Community microgrids in a new institutional economics context. Renewable and Sustainable Energy Reviews 72, 1355–1365. Issermann, R., 2006. Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance. Springer. Kall, P., Wallace, S. W., 1994. Stochastic Programming. John Wiley & Sons. Maestre, J. M., Negenborn, R. R., 2013. Distributed MPC Made Easy. Intelligent Systems, Control and Automation: Science and Engineering. SpringerVerlag, Vol. 69, New York, USA. M´ arquez, J., Zafra-Cabeza, A., Bordons, C., Ridao, M. A., 2021. A fault detection and reconfiguration approach for MPC-based energy management in an experimental microgrid. Control Engineering Practice 107, 104695. DOI: https://doi.org/10.1016/j.conengprac.2020.104695 Oliva, G. A., Hassan, A. E., Jiang, Z. M., 2020. An exploratory study of smart contracts in the ethereum blockchain platform. Empirical Software Engineering 25, 1864–1904. Sivianes, M., Zafra-Cabeza, A., Bordons, C., 2022. Blockchain-based peer to peer energy trading using distributed model predictive control. In: Proceedings of the 2022 European Control Conference (ECC). IEEE, London, United Kingdom, pp. 1832–1837. van Leeuwen, G., AlSkaif, T., Gibescu, M., van Sark, W., 2020. An integrated blockchain-based energy management platform with bilateral trading for microgrid communities. Applied Energy 263, 114613. DOI: https://doi.org/10.1016/j.apenergy.2020.114613 Sivianes, M. et al. / Revista Iberoamericana de Automática e Informática Industrial 22 (2025) 120-125 125