Skip to content

Controller Behaviour

Jackson Hoffart edited this page Feb 20, 2026 · 1 revision

Purpose

The controller (aggregator) coordinates controllable assets each timestep to:

  • Track a target operating point
  • Respect feeder import/export limits
  • Respond to DR curtailment requirements
  • Operate within device constraints

Inputs

Typical control inputs in vpp-sim include:

  • Baseline demand
  • Flexible demand requests (for example EV requested power)
  • Solar generation availability
  • Battery SoC and dispatch limits
  • Feeder limit constraints
  • DR requested reduction during active windows
  • Scenario parameters and timestep index

Outputs

Controller decisions drive:

  • EV/flexible load dispatch vs requested demand
  • Battery charge/discharge power
  • Net feeder power trajectory
  • DR achieved curtailment
  • Tracking error at each timestep

Constraint Priorities

Exact policy can evolve, but behavior is designed around:

  1. Feeder safety/compliance
  2. Device physical constraints
  3. DR event obligations
  4. Target tracking quality

Reading Runtime Signals

Useful console/telemetry signals when evaluating control behavior:

  • Target
  • MainFeeder
  • Error
  • DR(req=..., done=...)
  • EvCharger(Req=..., DR=..., Cap=...)
  • Battery(... SoC=...)
  • LimitOK

Tuning Workflow

  1. Fix a scenario and seed.
  2. Run baseline controller behavior.
  3. Change one control variable/logic assumption.
  4. Compare telemetry and KPI deltas.
  5. Repeat across baseline, high_solar, and dr_event scenarios.

Clone this wiki locally