Un simulador para jugar con controladores


Conocí a Rubén Mulero cuando comenzó a trabajar en Tecnalia justo antes del COVID. Rubén, que tiene formación en ingeniería informática, tenía interés en investigar en aplicaciones de Inteligencia Artificial para sistemas de control de energía en edificios, con lo que la colaboración con él surgió de forma natural.

Él necesitaba un simulador con los que poder entrenar sus algoritmos, y empezamos a colaborar durante el COVID. Con el tiempo, esto es una relación que dura ya 6 años, y de la que empiezan a surgir frutos. Entre ellos, este trabajo (paper y repositorio) que nos acaban de publicar en Data Centric Engineering sobre el simulador.

Como casi todo lo que hago, en esta colaboración estuvo desde el principio Beñat Arregi. Y en este caso, se unió también Iñigo Mendialdua, que trata con Rubén la parte más informática y de control algorítmico.

Ahora mismo, hay un número creciente de formas de simular edificios para aplicaciones de control, en los que se pueden desarrollar simulaciones en distintos motores  tales como EnergyPlus o Modelica(Buildings LBNL). ¿Para qué hacía falta? Sobre todo, para no complicarse la vida, teniendo que desarrollar una cosimulación en la que hay que interactuar de forma compleja con las variables internas de estos motores. Rubén nos pidió a Beñat y a mí que le desarrollásemos un caso básico sobre el que poder emplear su tiempo en desarrollar algoritmos, preocupándose lo menos posible de la simulación del edificio.

Le dijimos a Rubén, que un edificio debía considerar tres tipos de modelos:

  • Transmisión de calor e inercias del edificio. Aquí le propusimos un modelo RC ya identificado por Peder Bacher hace unos cuantos años. Era un modelo monozona para un edificio de unos 100m2. Lo cual permitía un entorno de simulación bastante accesible para enfocar todas las energías en el desarrollo de controladores.
  • Sistemas de climatización. Como el modelo de edificio no tenía un modelo de sistemas de climatización, le propusimos un sistema de ecuaciones consistentes, en los que se empleaba un sistema de bomba de calor, resistencias de apoyo y radiadores para la calefacción, y había un sistema de ventilación (relativamente básico).
  • Patrones de ocupación y cargas internas. Este es uno de los puntos clave del simulador. Gran parte de la variación en el comportamiento térmico de los edificios viene derivada del comportamiento de las personas. Aquí le propusimos a Rubén que investigase en modelos de ocupación, y nos vino con un modelo probabilístico basado en cadenas de Markov. Y lo empleamos como base para desarrollar patrones de ocupación y cargas internas realistas.

En general, el modelo resultante es un sistema de ecuaciones pequeño y cómodo de operar, pero que integra todos los dinamismos de un edificio.

Es un modelo muy sencillo, pensado para devolver la temperatura interior y la temperatura medida (no tiene por qué coincidir, esto daría para otro post completo), así como el consumo de electricidad de la bomba de calor. Y sólo necesita la información meteorológica así cómo la temperatura de consigna y/o señal de activación del sistema de climatización. Y con esto puede jugar cualquier ingeniero de control o investigador en IA, complejizando las lógicas de control hasta dónde quieran.

Y el punto clave es que el modelo de inercias del edificio (simple, pero bien identificado y calibrado), en conjunción con el modelo de ocupación generará una riqueza de fenómenos transitorios muy realistas (Hablé de la relevancia de los patrones de uso en mi reciente charla en Splitech).

Para emplearlo, basta con hacer uso de una interfaz para la comunicación entre sistemas REST-API y pasarle la información básica (en el paper lo contamos todo).

A partir de aquí, creo que se abre una vía de trabajo muy interesante en la adaptación de modelos ya existentes en literatura para ponerlos al servicio de los investigadores en control. Y no obligarles a integraciones complicadas. Personalmente, tengo la vista puesta en modelos como este de Canadá en el que hay varias zonas térmicas con un sistema de ventilación interior. Y que daría para jugar un rato largo con controladores.

De hecho, Rubén está usando el simulador precisamente para eso. Para jugar con controladores. Cuando tengamos los resultados,…hablaré de ello.

Entre tanto, aquí dejo las referencias al paper y al repositorio con el código del simulador: