Skip to content

Latest commit

 

History

History
99 lines (74 loc) · 6.91 KB

README.md

File metadata and controls

99 lines (74 loc) · 6.91 KB

A Multiagent System for the Distributed Control in Networked Microgrids using ESDL

Ubuntu Docker Anaconda Python Visual Studio Code

The work addresses the challenges posed by the evolution of power generation systems towards renewable energy resources and decentralized energy networks. It focuses on coordinating energy flows between Networked Microgrids (NMGs) using distributed control strategies based on multi-agent techniques, specifically the Response Threshold Model (RTM) inspired by the behavior of ants to solve the energy coordination problem in NMGs. The study utilizes the Energy System Description Language (ESDL) for simulation, allowing the evaluation of various Microgrid topologies to analyze load balance and energy exchange between neighboring Microgrids. Results demonstrate an improvement in resilience, indicating the effectiveness of the proposed distributed control strategies. The use of ESDL for simulation provides an open and accessible platform to analyze microgrid scenarios, contributing to reproducibility and transparency in research, through a theoretical framework and a comprehensive methodology, supported by detailed documentation of the simulation configurations, the code source and the parameters used to ensure the reproducibility of the scenarios, as well as contribute to future research for the development of the proposal.

Installation

This section describes the installation process of the application under a Linux environment and framework as previously described.

  • Install Docker. The installation and configuration procedure is summarized below.

    sudo su
    curl -fsSL https://get.docker.com -o get-docker.sh
    sh get-docker.sh
    sudo rm get-docker.sh
    systemctl start docker
    

Warning

If you get this problem "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?". Here is a possible SOLUTION

  • Install the Energy System Description Language ESDL.

Tip

Replace the docker compose-up command with docker compose up, and run with sudo.

  • ESDL Map Editor: Upload some profiles in View/Settings/Upload profiles, for which we will find the files in directory /datasets

  • Install GUI management tool for the InfluxDB time series database like InfluxDB WorkBench or Time Series Admin

Note

Connection configuration parameters:

```
address: localhost
port: 8086
user: admin
password: admin
database: energy_profiles
```
  • Install the Anaconda distribution. For more information consult the following LINK
  • Install the following dependencies

Deploying the Networked Microgrids in ESDL

For the development of this work, ESDL was used as the simulation tool, motivated by its ability to extend non-native functionalities, through programming languages such as Python, which has innumerable libraries that facilitate the incorporation of new features and functionalities as our control strategy and our energy exchange agent as a DER. This section will describe the utilization of ESDL in our case.

Flow Chart

Modelling:

  1. The components of an NMG are disaggregated into MGs made up of multiple DERs and interconnected through the exchange agent.
  2. The variables of interest of each MG were extracted, such as PT PL, etc.
  3. The dataset of each MG are loaded into the ESDL database (influxDB).

Important

The cs1_*.csv datasets are used only for case 1, while cs2_*.csv are the same from case 2 onwards.

  1. It was assumed that the exchange fluid between the MGs was energy.
  2. Using the MapEditor of ESDL is defined a .ESDL file with the information that describes the MGs, the relationships between them, and the directions to the databases with the variables of each one.
  3. The Map Editor of ESDL can define the regions of each MG, called MG1, MG2, etc.
  4. The MapEditor of ESDL allows defining the components of each MG and the NMGs using generic producers , generic consumers, energy networks and electricity connections.
  5. Each component is named according to its role and associated to a given MG.
  6. The relationships among MGs are defined using PEUs (PEU_1-2 defines an energy exchange agent between the connection from MG1 to MG2).
  7. An example of NMG is:
  • MG 1: PT1, PL1, ElectricityNetwork1, PEU_1-2, PEU_1-3 and PEU_1-4.
  • MG 2: PT2, PL2, ElectricityNetwork2, PEU_2-1, PEU_2-3 and PEU_2-4.
  • MG 3: PT3, PL3, ElectricityNetwork3, PEU_3-1, PEU_3-2 and PEU_3-4.
  • MG 4: PT4, PL4, ElectricityNetwork4, PEU_4-1, PEU_4-2 and PEU_4-3.
  1. The NMG can be graphed. Different .esdl files were created for each case study.

Simulation:

  1. The ESDL MapEditor was used to model the NMG, and the .esdl file generated is the input for our Python application, where the control logic is executed.
  2. The Python program is executed using the data recorded in the ESDL database (influxDB) of the modelled components.
  3. The dynamic behaviour of the components of the NMG are analysed using their data in order to generate the control actions for the distributed coordination of the MGs community.

References