CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Private 类型 | Private 成员函数 | Private 属性 | 所有成员列表
carla::traffic_manager::ALSM类 参考

ALSM: Agent Lifecycle and State Managerment This class has functionality to update the local cache of kinematic states and manage memory and cleanup for varying number of vehicles in the simulation. 更多...

#include <ALSM.h>

+ carla::traffic_manager::ALSM 的协作图:

Public 成员函数

 ALSM (AtomicActorSet &registered_vehicles, BufferMap &buffer_map, TrackTraffic &track_traffic, std::vector< ActorId > &marked_for_removal, const Parameters &parameters, const cc::World &world, const LocalMapPtr &local_map, SimulationState &simulation_state, LocalizationStage &localization_stage, CollisionStage &collision_stage, TrafficLightStage &traffic_light_stage, MotionPlanStage &motion_plan_stage, VehicleLightStage &vehicle_light_stage)
 
void RemoveActor (const ActorId actor_id, const bool registered_actor)
 
void Reset ()
 
void Update ()
 

Private 类型

using DestroyeddActors = std::pair<ActorIdSet, ActorIdSet>
 
using IdleInfo = std::pair<ActorId, double>
 

Private 成员函数

DestroyeddActors IdentifyDestroyedActors (const ActorList &actor_list)
 
void IdentifyNewActors (const ActorList &actor_list)
 
bool IsVehicleStuck (const ActorId &actor_id)
 
void UpdateData (const bool hybrid_physics_mode, const Actor &vehicle, const bool hero_actor_present, const float physics_radius_square)
 
void UpdateIdleTime (std::pair< ActorId, double > &max_idle_time, const ActorId &actor_id)
 
void UpdateRegisteredActorsData (const bool hybrid_physics_mode, IdleInfo &max_idle_time)
 
void UpdateUnregisteredActorsData ()
 

Private 属性

BufferMapbuffer_map
 
CollisionStagecollision_stage
 
cc::Timestamp current_timestamp
 
double elapsed_last_actor_destruction {0.0}
 
std::unordered_map< ActorId, bool > has_physics_enabled
 
ActorMap hero_actors
 
IdleTimeMap idle_time
 
const LocalMapPtrlocal_map
 
LocalizationStagelocalization_stage
 
std::vector< ActorId > & marked_for_removal
 
MotionPlanStagemotion_plan_stage
 
const Parametersparameters
 
AtomicActorSetregistered_vehicles
 
SimulationStatesimulation_state
 
TrackTraffictrack_traffic
 
TrafficLightStagetraffic_light_stage
 
ActorMap unregistered_actors
 
VehicleLightStagevehicle_light_stage
 
const cc::Worldworld
 

详细描述

ALSM: Agent Lifecycle and State Managerment This class has functionality to update the local cache of kinematic states and manage memory and cleanup for varying number of vehicles in the simulation.

在文件 ALSM.h41 行定义.

成员类型定义说明

◆ DestroyeddActors

在文件 ALSM.h78 行定义.

◆ IdleInfo

using carla::traffic_manager::ALSM::IdleInfo = std::pair<ActorId, double>
private

在文件 ALSM.h83 行定义.

构造及析构函数说明

◆ ALSM()

carla::traffic_manager::ALSM::ALSM ( AtomicActorSet & registered_vehicles,
BufferMap & buffer_map,
TrackTraffic & track_traffic,
std::vector< ActorId > & marked_for_removal,
const Parameters & parameters,
const cc::World & world,
const LocalMapPtr & local_map,
SimulationState & simulation_state,
LocalizationStage & localization_stage,
CollisionStage & collision_stage,
TrafficLightStage & traffic_light_stage,
MotionPlanStage & motion_plan_stage,
VehicleLightStage & vehicle_light_stage )

在文件 ALSM.cpp17 行定义.

成员函数说明

◆ IdentifyDestroyedActors()

ALSM::DestroyeddActors carla::traffic_manager::ALSM::IdentifyDestroyedActors ( const ActorList & actor_list)
private

在文件 ALSM.cpp137 行定义.

引用了 carla::traffic_manager::AtomicActorSet::Contains(), carla::traffic_manager::AtomicActorSet::GetIDList(), registered_vehicles , 以及 unregistered_actors.

被这些函数引用 Update().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ IdentifyNewActors()

void carla::traffic_manager::ALSM::IdentifyNewActors ( const ActorList & actor_list)
private

在文件 ALSM.cpp115 行定义.

引用了 carla::traffic_manager::AtomicActorSet::Contains(), hero_actors, registered_vehicles , 以及 unregistered_actors.

被这些函数引用 Update().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ IsVehicleStuck()

bool carla::traffic_manager::ALSM::IsVehicleStuck ( const ActorId & actor_id)
private

在文件 ALSM.cpp354 行定义.

引用了 carla::traffic_manager::constants::VehicleRemoval::BLOCKED_TIME_THRESHOLD, current_timestamp, carla::client::Timestamp::elapsed_seconds, carla::traffic_manager::SimulationState::GetTLS(), idle_time, carla::traffic_manager::constants::VehicleRemoval::RED_TL_BLOCKED_TIME_THRESHOLD, simulation_state , 以及 carla::traffic_manager::TrafficLightState::tl_state.

被这些函数引用 Update().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ RemoveActor()

void carla::traffic_manager::ALSM::RemoveActor ( const ActorId actor_id,
const bool registered_actor )

◆ Reset()

void carla::traffic_manager::ALSM::Reset ( )

在文件 ALSM.cpp387 行定义.

引用了 current_timestamp, elapsed_last_actor_destruction, carla::client::World::GetSnapshot(), carla::client::WorldSnapshot::GetTimestamp(), hero_actors, idle_time, unregistered_actors , 以及 world.

+ 函数调用图:

◆ Update()

void carla::traffic_manager::ALSM::Update ( )

◆ UpdateData()

void carla::traffic_manager::ALSM::UpdateData ( const bool hybrid_physics_mode,
const Actor & vehicle,
const bool hero_actor_present,
const float physics_radius_square )
private

◆ UpdateIdleTime()

void carla::traffic_manager::ALSM::UpdateIdleTime ( std::pair< ActorId, double > & max_idle_time,
const ActorId & actor_id )
private

在文件 ALSM.cpp340 行定义.

引用了 current_timestamp, carla::client::Timestamp::elapsed_seconds, carla::traffic_manager::SimulationState::GetVelocity(), idle_time, simulation_state, SQUARE, carla::geom::Vector3D::SquaredLength() , 以及 carla::traffic_manager::constants::VehicleRemoval::STOPPED_VELOCITY_THRESHOLD.

被这些函数引用 UpdateRegisteredActorsData().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ UpdateRegisteredActorsData()

void carla::traffic_manager::ALSM::UpdateRegisteredActorsData ( const bool hybrid_physics_mode,
ALSM::IdleInfo & max_idle_time )
private

在文件 ALSM.cpp169 行定义.

引用了 carla::traffic_manager::Parameters::GetHybridPhysicsRadius(), carla::traffic_manager::AtomicActorSet::GetList(), carla::traffic_manager::Parameters::GetRespawnDormantVehicles(), hero_actors, parameters, registered_vehicles, carla::traffic_manager::TrackTraffic::SetHeroLocation(), SQUARE, track_traffic, UpdateData() , 以及 UpdateIdleTime().

被这些函数引用 Update().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ UpdateUnregisteredActorsData()

void carla::traffic_manager::ALSM::UpdateUnregisteredActorsData ( )
private

类成员变量说明

◆ buffer_map

BufferMap& carla::traffic_manager::ALSM::buffer_map
private

在文件 ALSM.h47 行定义.

被这些函数引用 RemoveActor().

◆ collision_stage

CollisionStage& carla::traffic_manager::ALSM::collision_stage
private

在文件 ALSM.h60 行定义.

被这些函数引用 RemoveActor().

◆ current_timestamp

cc::Timestamp carla::traffic_manager::ALSM::current_timestamp
private

在文件 ALSM.h66 行定义.

被这些函数引用 IsVehicleStuck(), Reset(), Update(), UpdateData() , 以及 UpdateIdleTime().

◆ elapsed_last_actor_destruction

double carla::traffic_manager::ALSM::elapsed_last_actor_destruction {0.0}
private

在文件 ALSM.h65 行定义.

被这些函数引用 Reset() , 以及 Update().

◆ has_physics_enabled

std::unordered_map<ActorId, bool> carla::traffic_manager::ALSM::has_physics_enabled
private

在文件 ALSM.h67 行定义.

被这些函数引用 UpdateData().

◆ hero_actors

ActorMap carla::traffic_manager::ALSM::hero_actors
private

在文件 ALSM.h51 行定义.

被这些函数引用 IdentifyNewActors(), RemoveActor(), Reset(), Update(), UpdateData() , 以及 UpdateRegisteredActorsData().

◆ idle_time

IdleTimeMap carla::traffic_manager::ALSM::idle_time
private

在文件 ALSM.h49 行定义.

被这些函数引用 IsVehicleStuck(), RemoveActor(), Reset(), UpdateData() , 以及 UpdateIdleTime().

◆ local_map

const LocalMapPtr& carla::traffic_manager::ALSM::local_map
private

在文件 ALSM.h57 行定义.

被这些函数引用 UpdateUnregisteredActorsData().

◆ localization_stage

LocalizationStage& carla::traffic_manager::ALSM::localization_stage
private

在文件 ALSM.h59 行定义.

被这些函数引用 RemoveActor().

◆ marked_for_removal

std::vector<ActorId>& carla::traffic_manager::ALSM::marked_for_removal
private

在文件 ALSM.h54 行定义.

被这些函数引用 Update().

◆ motion_plan_stage

MotionPlanStage& carla::traffic_manager::ALSM::motion_plan_stage
private

在文件 ALSM.h62 行定义.

被这些函数引用 RemoveActor().

◆ parameters

const Parameters& carla::traffic_manager::ALSM::parameters
private

在文件 ALSM.h55 行定义.

被这些函数引用 Update() , 以及 UpdateRegisteredActorsData().

◆ registered_vehicles

AtomicActorSet& carla::traffic_manager::ALSM::registered_vehicles
private

在文件 ALSM.h44 行定义.

被这些函数引用 IdentifyDestroyedActors(), IdentifyNewActors(), RemoveActor(), Update() , 以及 UpdateRegisteredActorsData().

◆ simulation_state

SimulationState& carla::traffic_manager::ALSM::simulation_state
private

在文件 ALSM.h58 行定义.

被这些函数引用 IsVehicleStuck(), RemoveActor(), UpdateData(), UpdateIdleTime() , 以及 UpdateUnregisteredActorsData().

◆ track_traffic

TrackTraffic& carla::traffic_manager::ALSM::track_traffic
private

在文件 ALSM.h52 行定义.

被这些函数引用 RemoveActor(), UpdateRegisteredActorsData() , 以及 UpdateUnregisteredActorsData().

◆ traffic_light_stage

TrafficLightStage& carla::traffic_manager::ALSM::traffic_light_stage
private

在文件 ALSM.h61 行定义.

被这些函数引用 RemoveActor().

◆ unregistered_actors

ActorMap carla::traffic_manager::ALSM::unregistered_actors
private

在文件 ALSM.h46 行定义.

被这些函数引用 IdentifyDestroyedActors(), IdentifyNewActors(), RemoveActor(), Reset() , 以及 UpdateUnregisteredActorsData().

◆ vehicle_light_stage

VehicleLightStage& carla::traffic_manager::ALSM::vehicle_light_stage
private

在文件 ALSM.h63 行定义.

被这些函数引用 RemoveActor().

◆ world

const cc::World& carla::traffic_manager::ALSM::world
private

在文件 ALSM.h56 行定义.

被这些函数引用 Reset() , 以及 Update().


该类的文档由以下文件生成: