Real-Time Control of Microgrids with Explicit Power Setpoints: an API for Resource Agents
Renewable energy resources, such as photovoltaic panels, typically have very volatile power-injection characteristics, which poses a number of challenges to the real-time control of electrical grids that contain a significant fraction of these resources. Recently, a new paradigm for controlling such grids, termed COMMELEC, was proposed; it uses explicit power setpoints instead of droop-control. Central to this new paradigm is an abstract message format that enables resources to delegate the decisions related to their control actions to a grid controller. This is essential to the feasibility of the approach, as it makes the grid controller device-independent. However, it leaves to the resource agents the burden of translating device-specific information into this abstract format. In this paper, we present a solution to this problem; more specifically, we present a very simple Application Programming Interface (API) that can be used to design a COMMELEC-compliant resource agent. We present an easy-to-use High-Level API, which supports a pre- defined set of resources, such as a battery or a photovoltaic panel. We also describe a Low-Level API that provides full access to the underlying message format, and allows to design a resource agent that is not supported by the High-Level API. For message serialization, we use the Cap’n Proto framework, which allows for efficient manipulations of the mathematical objects used in COMMELEC.