17namespace traffic_manager {
20using TLMap = std::unordered_map<std::string, SharedPtr<client::Actor>>;
66 const float max_target_velocity);
70 const bool collision_emergency_stop);
74 const Buffer &waypoint_buffer,
75 const bool is_target_junction,
76 const uint64_t target_index);
85 const float offset_magnitude);
90 float max_target_velocity);
94 float max_target_velocity);
118 void Update(
const unsigned long index);
const LocalMapPtr & local_map
const std::vector< float > urban_longitudinal_parameters
std::unordered_map< ActorId, RecoveryState > recovery_state
cc::Timestamp current_timestamp
const LocalizationFrame & localization_frame
const BufferMap & buffer_map
std::unordered_map< ActorId, double > stuck_since
const CollisionFrame & collision_frame
const std::vector< float > highway_lateral_parameters
std::unordered_map< ActorId, cc::Timestamp > teleportation_instance
TrackTraffic & track_traffic
bool SafeAfterJunction(const LocalizationData &localization, const bool tl_hazard, const bool collision_emergency_stop)
ControlFrame & output_array
RandomGenerator & random_device
void Update(const unsigned long index)
const Parameters & parameters
const std::vector< float > highway_longitudinal_parameters
SimulationState & simulation_state
float CalculateBaseOffset(const ActorId actor_id, const Buffer &waypoint_buffer, const bool is_target_junction, const uint64_t target_index)
const std::vector< ActorId > & vehicle_id_list
float GetLandmarkTargetVelocity(const SimpleWaypoint &waypoint, const cg::Location vehicle_location, const ActorId actor_id, float max_target_velocity)
float GetTurnTargetVelocity(const Buffer &waypoint_buffer, const cg::Location vehicle_location, float max_target_velocity)
std::unordered_map< ActorId, std::pair< float, bool > > & large_vehicles
bool IsWideTurnSideOccupied(const ActorId actor_id, const cg::Vector3D offset_direction, const float offset_magnitude)
Returns true when the lateral band that the wide-turn offset would swing actor_id into is occupied by...
void RemoveActor(const ActorId actor_id)
void SetCycleTimestamp(const cc::Timestamp ×tamp)
Pins one frame for the whole cycle; reading it per vehicle lets a frame land mid-cycle and skews the ...
const std::vector< float > urban_lateral_parameters
std::unordered_map< ActorId, StateEntry > pid_state_map
std::pair< bool, float > CollisionHandling(const CollisionHazardData &collision_hazard, const bool tl_hazard, const cg::Vector3D ego_velocity, const cg::Vector3D ego_heading, const float max_target_velocity)
This is a simple wrapper class on Carla's waypoint object.
This class holds the state of all the vehicles in the simlation.
std::deque< std::shared_ptr< SimpleWaypoint > > Buffer
std::shared_ptr< InMemoryMap > LocalMapPtr
std::unordered_map< carla::ActorId, Buffer > BufferMap
std::unordered_map< std::string, SharedPtr< client::Actor > > TLMap
std::vector< CollisionHazardData > CollisionFrame
std::vector< bool > TLFrame
std::vector< carla::rpc::Command > ControlFrame
std::vector< LocalizationData > LocalizationFrame
This file contains definitions of common data structures used in traffic manager.