Marco experimental reproducible para control de tránsito con Eclipse SUMO, TraCI y, en etapas posteriores, aprendizaje por refuerzo.
Versión inicial de desarrollo: v0.1-dev.
Incluye:
- configuración declarativa con YAML;
- ejecución de SUMO desde Python mediante TraCI;
- generación reproducible de demanda;
- extracción de métricas básicas;
- almacenamiento de resultados en CSV;
- smoke test para comprobar que SUMO está disponible.
Todavía no incluye aprendizaje por refuerzo. La prioridad de esta versión es estabilizar el pipeline de simulación y evaluación.
network.net.xml
↓
generate_routes.py
↓
demand.rou.xml
↓
run_simulation.py
↓
SUMO + TraCI
↓
results.csv
- Python 3.10 o superior.
- Eclipse SUMO instalado y disponible en
PATH. - Variable
SUMO_HOMEconfigurada.
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -e .[dev]Si SUMO ya está en el PATH:
$SUMO_BIN = Split-Path (Get-Command sumo).Source
$env:SUMO_HOME = Split-Path $SUMO_BINpython3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e ".[dev]"
export SUMO_HOME=/usr/share/sumoCopia tu red a:
scenarios/osm_case/network.net.xml
Después:
python scripts/generate_routes.py --config configs/base.yamlpython scripts/run_simulation.py --config configs/base.yamlCon GUI:
python scripts/run_simulation.py --config configs/base.yaml --guiLos resultados se guardan en results/raw/.
- v0.1: simulación + demanda + métricas.
- v0.2: fixed-time + actuated + max-pressure.
- v0.3: SUMO-RL + PPO.
- v0.4: perturbaciones de demanda y sensores.
- v0.5: domain randomization y evaluación OOD.
Código MIT. Los mapas, redes y datasets externos conservan sus propias condiciones de uso.