envision.etypes module

class envision.etypes.Preamble(scenarios: Sequence[str])[source]

Information for startup and synchronization between client and server.

scenarios: Sequence[str]

Directories of simulated scenarios.

class envision.etypes.SignalLightState(value)[source]

Possible states for an individual traffic signal light.

Caution = 'caution'
Go = 'go'
Off = 'off'
Stop = 'stop'
Unknown = 'unknown'
class envision.etypes.SignalState(signal_id: str, signal_light_state: SignalLightState, signal_position: Tuple[float, float, float])[source]

State for an individual traffic signal and meta information.

signal_id: str

Alias for field number 0

signal_light_state: SignalLightState

Alias for field number 1

signal_position: Tuple[float, float, float]

Alias for field number 2

class envision.etypes.State(traffic: Dict[str, TrafficActorState], signals: Dict[str, SignalState], scenario_id: str, scenario_name: str, bubbles: Sequence[Sequence[Tuple[float, float]]], scores: Dict[str, float], ego_agent_ids: List[str], frame_time: float)[source]

A full representation of a single frame of an envision simulation step.

bubbles: Sequence[Sequence[Tuple[float, float]]]

Alias for field number 4

ego_agent_ids: List[str]

Alias for field number 6

frame_time: float

Alias for field number 7

scenario_id: str

Alias for field number 2

scenario_name: str

Alias for field number 3

scores: Dict[str, float]

Alias for field number 5

signals: Dict[str, SignalState]

Alias for field number 1

traffic: Dict[str, TrafficActorState]

Alias for field number 0

class envision.etypes.TrafficActorState(actor_type: TrafficActorType, vehicle_type: VehicleType | str, position: Tuple[float, float, float], heading: float, speed: float, name: str = '', actor_id: str | None = None, events: Events | None = None, waypoint_paths: Sequence = [], driven_path: Sequence[Tuple[float, float]] = [], point_cloud: Sequence = [], mission_route_geometry: Sequence[Sequence[Tuple[float, float]]] | None = None, lane_id: str | None = None, interest: bool = False)[source]

Individual traffic actor state and meta information.

actor_id: str | None

Alias for field number 6

actor_type: TrafficActorType

Alias for field number 0

driven_path: Sequence[Tuple[float, float]]

Alias for field number 9

events: Events

Alias for field number 7

heading: float

Alias for field number 3

interest: bool

Alias for field number 13

lane_id: str | None

Alias for field number 12

mission_route_geometry: Sequence[Sequence[Tuple[float, float]]]

Alias for field number 11

name: str

Alias for field number 5

point_cloud: Sequence

Alias for field number 10

position: Tuple[float, float, float]

Alias for field number 2

speed: float

Alias for field number 4

vehicle_type: VehicleType | str

Alias for field number 1

waypoint_paths: Sequence

Alias for field number 8

class envision.etypes.TrafficActorType(value)[source]

Traffic actor type information to help distinguish actors from each other.

Agent = 'agent'
SocialAgent = 'social_agent'
SocialVehicle = 'social_vehicle'
class envision.etypes.VehicleType(value)[source]

Vehicle classification type information.

Bus = 'bus'
Car = 'car'
Coach = 'coach'
Motorcycle = 'motorcycle'
Pedestrian = 'pedestrian'
Trailer = 'trailer'
Truck = 'truck'
envision.etypes.format_actor_id(actor_id: str, vehicle_id: str, is_multi: bool)[source]

A conversion utility to ensure that an actor id conforms to envision’s actor id standard. :param actor_id: The base id of the actor. :param vehicle_id: The vehicle id of the vehicle the actor associates with. :param is_multi: If an actor associates with multiple vehicles.

Returns:

An envision compliant actor id.