Skip to content

Commit

Permalink
Updated readme from review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
SamRWest committed Aug 28, 2024
1 parent ba26c36 commit c276252
Showing 1 changed file with 40 additions and 3 deletions.
43 changes: 40 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ with points discovered via [Brick Schema](https://brickschema.org) building mode
data in the correct tabular format (coming soon). A set of sample building data and models are provided in the current
release.

:warning: The current release is a proof-of-concept. Additional features are planned that may introduce breaking
changes.

# Usage

This repository can be used as-is with the included sample data and models for simulating a building's HVAC system and
Expand All @@ -25,10 +28,11 @@ controllers.

To run this repository, you'll need to
install [git](https://git-scm.com/downloads), [python](https://www.python.org/downloads/),
and [poetry](https://python-poetry.org/docs/#installation), and then run the following commands:
and [poetry](https://python-poetry.org/docs/#installation), >= v1.8 and then run the following commands:

```shell
git clone git@github.com:csiro-energy-systems/hvac_gym.git
git clone git@github.com:csiro-energy-systems/hvac_gym.git # To set up SSH keys, see https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
git clone https://github.com/csiro-energy-systems/hvac_gym.git # or clone via https
cd hvac_gym
poetry env use path/to/python>=3.11 # replace with your python executable's path
poetry install
Expand All @@ -43,7 +47,40 @@ git lfs pull # pull data for current branch
unzip data/sample-models.zip # extract sample models and data into output/
poetry run poe example # run simple example agent against gym
```
If you'd like to implement your own control agent, see [hvac_agents.py](src/hvac_gym/gym/hvac_agents.py) and [test_gym.py](src/tests/test_gym.py) for simple examples of an agent and the example gym runner respectively.

If you'd like to implement your own control agent, see [hvac_agents.py](src/hvac_gym/gym/hvac_agents.py)
and [test_gym.py](src/tests/test_gym.py) for simple examples of an agent and the example gym runner respectively.

# Gym Environment

The current gym runs models the whole-building behaviour of a 3-storey office building with in Newcastle, Australia.
Individual AHU and zone measurements are available for the building, but to simplify the model (for speed and
troubleshooting purposes), the median of each sensor and setpoint type is taken across all zones, and the HVAC system
modelled as a single large zone.

In short, this is a lumped model which predicts the whole-building median zone temperature and chiller power for a
sequence of the actions below.

The gym's inputs and outputs are described below.

- Actions:
- Chilled water valve position (0-100%)
- Hot water valve position (0-100%)
- :warning: Note: Heating mode is not yet implemented, so this action has no effect yet.
- Supply air fan speed (0-100%)
- Outside air damper position (0-100%)
- Observations
- zone temperature (°C)
- chiller power (kW)
- ambient zone temperature (°C)
- This is an intermediate output, predicting the zone temperature as if no mechanical cooling/heating was
applied.
- Actuals:
- Actual zone temperature (°C): the real building's median zone temperature, as was measured by physical sensors.
- Actual chiller power (kW): the real building's total chiller power, as was measured by electrical power meters.
- Reward
- A reward function is passed into the to allow users to customise their agent's reward function. It can be
calculated from any of the observations and actions.

# Developing

Expand Down

0 comments on commit c276252

Please sign in to comment.