fd3b304373b20fcdc00bb609cde41fb0c1c7a4de
## Summary This PR implements a new module called `observations` within `primaite.environment`. The module is able to keep track of the observation space and to generate observations for the blue agent. It builds the observation space from components. Each component can be configured by supplying parameters at instantiation. For example, the Link Traffic Levels component lets the user customise how many levels there should be. Note: If a space contains multiple components, they are combined into a 'gym.spaces.Tuple' Space. This is not compatible with some learning agents so we may need to add the options to flatten the observation space. ## Test process I was able to run the main script with a single-component obs space. I also wrote several unit and integration tests for the new functionality. ## Checklist - [x] This PR is linked to a **work item** - [x] I have performed **self-review** of the code - [x] I have written **tests** for any new functionality added with this PR - [x] I have updated the **documentation** if this PR changes or adds functionality - [x] I have run **pre-commit** checks for code style If you review this, please check the linked tickets and make sure you agree that this PR addresses them fully. Related work items: #886, #924, #1468, #1469
#1355 - Carried out full renaming in node.py, active_node.py, passive_node.py, and service_node.py to make params and variable names explicit.
PrimAITE
Description
Languages
Python
80.2%
Jupyter Notebook
19.8%