Spaces:
Sleeping
Sleeping
File size: 1,210 Bytes
86d5d3a ad6bc19 86d5d3a ad6bc19 86d5d3a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from openenv.core.env_server.types import Action, Observation
from pydantic import Field
from typing import Dict, Literal
class TrafficAction(Action):
"""Action for the Traffic Signal RL environment."""
action_type: Literal["KEEP_PHASE", "SWITCH_PHASE"] = Field(..., description="Action to take.")
class TrafficObservation(Observation):
"""Observation from the Traffic Signal RL environment."""
queue_lengths: Dict[str, int] = Field(default_factory=dict, description="Queue lengths for N, S, E, W lanes.")
waiting_times: Dict[str, float] = Field(default_factory=dict, description="Total waiting times for N, S, E, W lanes.")
signal_phase: str = Field(default="NS_GREEN", description="Current green phase ('NS_GREEN' or 'EW_GREEN').")
time_since_last_change: int = Field(default=0, description="Time steps since the last phase change.")
emergency_presence: Dict[str, bool] = Field(default_factory=dict, description="Emergency vehicle presence per lane.")
pedestrian_requests: Dict[str, bool] = Field(default_factory=dict, description="Pedestrian crossing requests.")
task_difficulty: str = Field(default="easy", description="Current task difficulty.")
|