LucasAlegre / sumo-rl

Reinforcement Learning environments for Traffic Signal Control with SUMO. Compatible with Gymnasium, PettingZoo, and popular RL libraries.
https://lucasalegre.github.io/sumo-rl
MIT License
743 stars 201 forks source link

Design a restriction so that one phase can only occur immediately after a specified phase. #208

Open jackli100 opened 4 months ago

jackli100 commented 4 months ago

Dear LucasAlegre,

I would like to ask you a question.

How can I adjust the code so that certain specific phases must occur after particular phases? For example, green phase 3 can only appear after green phase 2. Do you have any suggestions? Should I use conditional statements to dynamically modify the action space, or should I add a significant penalty when the agent selects an incorrect phase combination?

This scene is set up to add a dedicated turning phase in the two-stage model.

Thanks.

LucasAlegre commented 3 months ago

Hi @jackli100,

I think both approaches could work. Adding the penalty is probably easier to implement, but in case you have many constraints maybe it would be better to change the TrafficSignal class and change the logic of the action space.