Skip to content

Commit

Permalink
Minor formatting changes and fixed typos
Browse files Browse the repository at this point in the history
  • Loading branch information
tobirohrer committed Sep 21, 2023
1 parent 22d3162 commit 17590f1
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

<img src="docs/imgs/overview.drawio.png" alt="isolated" width="600"/>

The Building Energy Storage Simulation serves as open Source OpenAI gym (now [gymnasium](https://github.com/Farama-Foundation/Gymnasium)) environment for Reinforcement Learning. The environment represents a building with an energy storage (in form of a battery) and a solar energy system. The aim is to control the energy storage in such a way that the energy of the solar system can be used optimally.
The Building Energy Storage Simulation serves as open source OpenAI gym (now [gymnasium](https://github.com/Farama-Foundation/Gymnasium)) environment for Reinforcement Learning. The environment represents a building with an energy storage (in form of a battery) and a solar energy system. The aim is to control the energy storage so that the self consumption of the energy generated by the solar energy system is optimized.

The inspiration of this project and the data profiles come from the [CityLearn](https://github.com/intelligent-environments-lab/CityLearn) environment. Anyhow, this project focuses on the ease of usage and the simplicity of its implementation.
The inspiration of this project and the data profiles come from the [CityLearn](https://github.com/intelligent-environments-lab/CityLearn) environment. Anyhow, this project focuses on the ease of usage and the simplicity of its implementation. Therefore, this project serves as playground for those who want to get started with reinforcement learning for energy management system control.

## Documentation

Expand All @@ -27,9 +27,9 @@ git clone https://github.com/tobirohrer/building-energy-storage-simulation.git &
pip install -e .[docs,tests]
```

## Cotribute & Contact
## Contribute & Contact

As i just started with this project, I am very happy for any kind of
As I just started with this project, I am very happy for any kind of
contribution! In case you want to contribute, or if you have any
questions, contact me via
[discord](https://discord.com/users/tobirohrer#8654).
Expand All @@ -48,12 +48,17 @@ env.step(42)

## Task Description

The simulation contains a building with an energy consumption profile attached to it. The resulting electricity demand is always automatically covered by
The simulation contains a building with an energy load profile attached to it. The load is always automatically covered by

- primarily using electricity generated by the solar energy system,
- and secondary by using electricity provided by the grid to cover the full demand.
- and secondary by using the remaining required electricity "from the grid"

The simulated building has a battery which can be used to store energy. You can think of using the battery as shifting the electricity demand. By storing energy, you are increasing the energy demand of the building and by discharging/obtaining energy from the battery you are decreasing the energy demand of the building. **The task is to choose when to charge and when to discharge the battery.** Hereby, the goal is to utilize the battery so energy usage from the solar energy system is maximized and usage of the energy grid is minimized. Note, that excess energy from the solar energy system which is not used by the electricity load or used to charge the battery is considered lost. So better use the solar energy to charge the battery in this case ;-)
The simulated building contains a battery which can be used to store energy. By **charging** energy, you can (temporarily)
increase the energy demand of the building, and by **discharging** you can (temporarily) decrease the energy demand of
the building. **The task is to find strategies of when to charge and when to discharge the battery.** Hereby,
the goal is to utilize the battery so energy usage from the solar energy system is maximized and usage of the energy
grid is minimized. Note, that excess energy from the solar energy system which is not used by the electricity load or
used to charge the battery is considered lost. So better use the solar energy to charge the battery in this case ;-)


### Action Space
Expand All @@ -77,7 +82,9 @@ The actions lie in the interval of [-1;1]. The action represents a fraction of t
| [n+1; 2*n]| Forecast Solar Generation (in kWh) |0| Max Solar Generation in Profile |


The length of the observation depends on the length of the forecast used. By default, the simulation uses a forecast length of 4. This means 4 time steps of an electric load forecast and 4 time steps of a solar generation forecast are included in the observation. In addition to that, the information about the current state of charge of the battery is contained in the observation.
The length of the observation depends on the length of the forecast used. By default, the simulation uses a forecast length of 4.
This means 4 time steps of an electric load forecast and 4 time steps of a solar generation forecast are included in the observation.
In addition to that, the information about the current state of charge of the battery is contained in the observation.

The length of the forecast can be defined by setting the parameter `num_forecasting_steps` of the `Environment()`.

Expand All @@ -88,7 +95,9 @@ As our goal is to use as less energy as possible, the reward is defined by the e

$$ r_t = -1 * electricity\_consumed_t $$

It is important to note, that the term `electricity_consumed` cannot be negative. This means, excess energy from the solar energy system which is not consumed by the electricity load or by charing the battery is considered lost (`electricity_consumed` is 0 in this case).
It is important to note, that the term `electricity_consumed` cannot be negative. This means, excess energy from the solar
energy system which is not consumed by the electricity load or by charging the battery is considered lost
(`electricity_consumed` is 0 in this case).

### Episode Ends

Expand Down

0 comments on commit 17590f1

Please sign in to comment.