File size: 2,397 Bytes
4db1c3f a283aa6 6004586 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
---
tags:
- reinforcement-learning
- openenv
- environment
- gymnasium
license: mit
library_name: openenv
---
<h1 align="center">⚡ EVChargeEnv</h1>
<p align="center">
<img src="assets/evchargeenv-banner.png" width="800" />
</p>
<h3 align="center">Green Agent Benchmark for EV Charging Optimization</h3>
---
## Overview
EVChargeEnv is a lightweight, stochastic reinforcement-learning environment designed for the
AgentX + AgentBeats Competition (Berkeley RDI 2025).
It simulates:
- Electric vehicle battery charging
- Dynamic electricity pricing
- Fluctuating grid load
- Continuous control actions
- Multi-objective tradeoffs (cost vs. speed vs. grid stability)
---
## Task Goal
The purple agent must:
- Charge the EV battery to full (1.0)
- Minimize electricity cost
- Avoid high grid load
- Adapt to changing conditions
---
## State Space (Observation)
The agent receives:
charge_level (0-1), price (0-1), grid_load (0-1), time_step_norm (0-1)
---
## Action Space
Continuous charge rate 0.0 → 1.0.
---
## Reward Function
Reward combines:
- progress_reward
* cost_penalty
* overload_penalty
* time_penalty
---
## Scenarios
easy / medium / hard difficulty with different volatility and load patterns.
---
## Episode Termination
Ends if full charge or max steps reached.
---
## Example Agent Behaviors
Greedy agent = fast but expensive
Price-aware agent = slower but cheaper
Random agent = unstable
---
## Evaluation Output
Running:
python run_evaluation.py
Generates JSON like:
{
"avg_reward": ...,
"avg_steps": ...,
"episodes": 5
}
---
## Docker Support
Image: oozan/evchargeenv:latest
---
## File Structure
env/
agent/
run_evaluation.py
Dockerfile
requirements.txt
README.md
---
## Future Improvements
- renewable energy factor
- blackout events
- degradation model
- RL baseline
- trajectory visualizer
- mini-game UI
## Benchmark Specification
This repository also includes a machine-readable benchmark manifest:
- `evchargeenv_manifest.json`
It documents:
- state and action spaces
- reward components
- termination conditions
- supported scenarios (`easy`, `medium`, `hard`)
- evaluation output format (JSON fields)
This makes EVChargeEnv easier to integrate as a standardized benchmark and aligns with the spirit of the OpenEnv challenge: environments that are transparent, reproducible, and extensible.
''
|