The Illuminator is an easy-to-use Energy System Integration Development kit to demystify energy system's operation, illustrate challenges that arise due to the energy transition and test state-of-the-art energy management concepts. The kit utilises Raspberry Pi's as individual components of an energy system emulator, and the simulation engine is based on Mosaik.
Requirements
- The toolkit requires a RaspberryPi cluster with at least two nodes. But Illuminator can alos be installed in a PC.
- Miniconda (optional)
The environment.yml
provides all dependecies to create a conda environment called Ecosystem.
conda env create -f environment.yml
conda activate Ecosystem
The setup for the Illuminator requires one server Raspberry Pi and several clients Raspberry Pi's. Raspberry Pi's must be connected and configured as a local network, and the server must be configured to have permissions to access and control the clients through Secure Shell Protocol (SSH).
During simulation, the server engage with the clients to run the simulations defined in the simulation configuration, and
information is exchanged between Rasberry Pi's using network sockets.
The server provides a Dashboard to viazulize the results, and saves them to a .csv
files for later analysis.
-
Set an static IP addresse for each Raspberry Pi. Use the following command on the terminal to open the
dhcpcd.conf
file:sudo nano /etc/dhcpcd.conf
In the
dhcpcd.conf
file, find the information to change the IP address as static as following:interface etho static ip_address=192.168.0.1/24 # change the IP address as you want
Give all users execute permission to all the documents in
runshfile/
in order to make sure the server can access the client model.chmod -R a+X *dir*
Finally, reboot the Raspberry Pi suing
sudo reboot
on the terminal. -
Configure SSH connections so that the server can connect to the clients without a password.
-
Install the following Python packages.
pandas tk python-csv datetime python-math numpy scipy arrow mosaik mosaik_api mosaik.util wandb matplotlib itertools
-
Send the Illuminator package to all clients. Then, use the following command on the server's terminal to check the connection between server and the clients
ssh illuminator@ip #ip represent your follower IP address
-
Run the
build_runshfile.py
file in the configuration directory on the server to generate arun.sh
script. Give the appropiate yaml file for the model as input:python3 build_runshfile.py <path_to_yaml_file>
More detialed instructions are given in the user guide document and the model build up document.
To install the Illuminator in one regular PC:
- Clone this repository.
git clone https://github.com/Illuminator-team/Illuminator.git
- Create a conda environement using the YAML file in the root of the repository, as follows:
conda env create -f environment.yml
conda activate Ecosystem
- Refer to the documenation for an explanation on how to set up and run a simulation.
The Illuminator team accepts contributions to the Illuminator source, test files, documentation, and other materials distributed with the program. To contribute read our guidelines
Illuminator is available under a GNU Lesser General Public License (LGPL). The Illuminator team does not take responsibility for any damage or loss derive from using this sourcecode.
Please cite this software as follows:
A. Fu, R. Saini, R. Koornneef, A. van der Meer, P. Palensky and M. Cvetković, "The Illuminator: An Open Source Energy System Integration Development Kit," 2023 IEEE Belgrade PowerTech, Belgrade, Serbia, 2023, pp. 01-05, doi: 10.1109/PowerTech55446.2023.10202816.
Many people have contributed to the development of Illuminator, we list their names and contributions below:
Role | Contributor |
---|---|
Conceptualization | A. Fu, A. Neagu, M. Cvetkovic, M. Garcia Alvarez, M. Rom |
Funding acquisition | A. Fu, M. Cvetkovic, P. Palensky |
Project management | A. Neagu, M. Cvetkovic |
Research | A. Fu, M. Cvetkovic, N. Balassi, R. Saini, S.K. Trichy Siva Raman |
Resources | R. Koornneef |
Software | A. Fu, J. Grguric, J. Pijpker, M. Garcia Alvarez, M. Rom. |
Supervision | A. Neagu, M. Cvetkovic |
The Illuminator team extends its sincere gratitude for the invaluable support and contributions from our dedicated members:
- Aihui Fu, who played a pivotal role as the main developer for both Versions 1.0 and 2.0.
- Remko Koornneef, whose expertise in hardware development has been instrumental.
- Siva Kaviya, for her significant contributions to the development of the initial version.
- Raghav Saini, for his substantial involvement in developing the models for Version 1.0.
- Niki Balassi, for his crucial role in advancing the multi-energy system models in Version 2.0.
Each of these individuals has been essential in shaping the success and evolution of our project. We are profoundly thankful for their dedication and expertise.
- The Illuminator project is supported by TU Delft PowerWeb and Stichting 3E.
- The development of the Illuminator was supported by the Digital Competence Centre, Delft University of Technology.
For more comprehensive support, please contact us at illuminator@tudelft.nl. Additionally, you can reach out to the main contributors for specific inquiries: