HERON#
Hierarchical Environments for Realistic Observability in Networks
A domain-agnostic multi-agent reinforcement learning (MARL) framework for hierarchical control systems.
Getting Started
Quick start guide with examples
Key Concepts
Core abstractions and design principles
Quick Examples#
from heron.agents import CoordinatorAgent, FieldAgent
from heron.protocols.vertical import SetpointProtocol
from heron.messaging.memory import InMemoryBroker
# Create hierarchical agents
broker = InMemoryBroker()
field_agent = FieldAgent(agent_id='device_1', level=1, broker=broker)
coordinator = CoordinatorAgent(
agent_id='coordinator_1',
level=2,
subordinates=[field_agent],
protocol=SetpointProtocol(),
broker=broker
)
obs = coordinator.observe(global_state)
action = coordinator.act(obs)
from powergrid.envs import MultiAgentMicrogrids
env = MultiAgentMicrogrids(config={
'network': 'ieee13',
'num_microgrids': 2,
'mode': 'centralized'
})
obs, info = env.reset()
for step in range(96):
actions = {agent: policy(o) for agent, o in obs.items()}
obs, rewards, dones, truncs, info = env.step(actions)
from heron.protocols.vertical import PriceSignalProtocol
from heron.protocols.horizontal import ConsensusProtocol
# Vertical: parent -> subordinate coordination
vertical = PriceSignalProtocol(initial_price=50.0)
# Horizontal: peer-to-peer coordination
horizontal = ConsensusProtocol(max_iterations=10)
from ray.rllib.algorithms.ppo import PPOConfig
from powergrid.envs import MultiAgentMicrogrids
config = (
PPOConfig()
.environment(MultiAgentMicrogrids)
.training(lr=3e-4, train_batch_size=4000)
)
algo = config.build()
algo.train()
Key Features#
Hierarchical Agents
3-level agent hierarchy: System, Coordinator, Field agents
Feature-Based State
Composable Features with visibility control
Coordination Protocols
Vertical (setpoint, price) and horizontal (P2P, consensus)
Message Broker
Extensible pub/sub for distributed execution
Dual Execution Modes
Centralized training, distributed deployment
Case Studies
Ready-to-use implementations (PowerGrid, and more)
Architecture#
HERON Framework (Domain-Agnostic)
+-- heron/
| +-- agents/ # Hierarchical agent abstractions
| +-- core/ # State, Action, Observation, Feature
| +-- protocols/ # Vertical & Horizontal coordination
| +-- messaging/ # Message broker interface
| +-- envs/ # Base environment interface
|
+-- Case Studies
+-- power/ # PowerGrid case study
+-- agents/ # GridAgent, DeviceAgent
+-- features/ # Electrical, Storage features
+-- networks/ # IEEE test systems
+-- envs/ # MultiAgentMicrogrids