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>
Public 成员函数 | |
ALSM (AtomicActorSet ®istered_vehicles, BufferMap &buffer_map, TrackTraffic &track_traffic, std::vector< ActorId > &marked_for_removal, const Parameters ¶meters, 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 属性 | |
BufferMap & | buffer_map |
CollisionStage & | collision_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 LocalMapPtr & | local_map |
LocalizationStage & | localization_stage |
std::vector< ActorId > & | marked_for_removal |
MotionPlanStage & | motion_plan_stage |
const Parameters & | parameters |
AtomicActorSet & | registered_vehicles |
SimulationState & | simulation_state |
TrackTraffic & | track_traffic |
TrafficLightStage & | traffic_light_stage |
ActorMap | unregistered_actors |
VehicleLightStage & | vehicle_light_stage |
const cc::World & | world |
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.
|
private |
|
private |
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 ) |
|
private |
引用了 carla::traffic_manager::AtomicActorSet::Contains(), carla::traffic_manager::AtomicActorSet::GetIDList(), registered_vehicles , 以及 unregistered_actors.
被这些函数引用 Update().
|
private |
引用了 carla::traffic_manager::AtomicActorSet::Contains(), hero_actors, registered_vehicles , 以及 unregistered_actors.
被这些函数引用 Update().
|
private |
引用了 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().
void carla::traffic_manager::ALSM::RemoveActor | ( | const ActorId | actor_id, |
const bool | registered_actor ) |
引用了 buffer_map, collision_stage, carla::traffic_manager::TrackTraffic::DeleteActor(), hero_actors, idle_time, localization_stage, motion_plan_stage, registered_vehicles, carla::traffic_manager::AtomicActorSet::Remove(), carla::traffic_manager::SimulationState::RemoveActor(), carla::traffic_manager::MotionPlanStage::RemoveActor(), carla::traffic_manager::CollisionStage::RemoveActor(), carla::traffic_manager::LocalizationStage::RemoveActor(), carla::traffic_manager::TrafficLightStage::RemoveActor(), carla::traffic_manager::VehicleLightStage::RemoveActor(), simulation_state, track_traffic, traffic_light_stage, unregistered_actors , 以及 vehicle_light_stage.
被这些函数引用 carla::traffic_manager::TrafficManagerLocal::UnregisterVehicles() , 以及 Update().
void carla::traffic_manager::ALSM::Reset | ( | ) |
void carla::traffic_manager::ALSM::Update | ( | ) |
引用了 current_timestamp, carla::traffic_manager::constants::VehicleRemoval::DELTA_TIME_BETWEEN_DESTRUCTIONS, carla::traffic_manager::AtomicActorSet::Destroy(), elapsed_last_actor_destruction, carla::client::Timestamp::elapsed_seconds, carla::client::World::GetActors(), carla::traffic_manager::Parameters::GetHybridPhysicsMode(), carla::traffic_manager::Parameters::GetOSMMode(), carla::client::World::GetSnapshot(), carla::client::WorldSnapshot::GetTimestamp(), hero_actors, IdentifyDestroyedActors(), IdentifyNewActors(), IsVehicleStuck(), marked_for_removal, parameters, registered_vehicles, RemoveActor(), UpdateRegisteredActorsData(), UpdateUnregisteredActorsData() , 以及 world.
被这些函数引用 carla::traffic_manager::TrafficManagerLocal::Run().
|
private |
引用了 carla::traffic_manager::SimulationState::AddActor(), carla::traffic_manager::SimulationState::ContainsActor(), current_timestamp, carla::client::Timestamp::elapsed_seconds, carla::traffic_manager::SimulationState::GetHybridEndLocation(), carla::traffic_manager::SimulationState::GetLocation(), carla::traffic_manager::SimulationState::GetVelocity(), has_physics_enabled, hero_actors, idle_time, carla::traffic_manager::constants::HybridMode::INV_HYBRID_DT, carla::traffic_manager::SimulationState::IsPhysicsEnabled(), carla::geom::Transform::location, carla::geom::Transform::rotation, simulation_state, carla::traffic_manager::SimulationState::UpdateKinematicState(), carla::traffic_manager::SimulationState::UpdateTrafficLightState(), carla::traffic_manager::Vehicle, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
被这些函数引用 UpdateRegisteredActorsData().
|
private |
引用了 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().
|
private |
引用了 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().
|
private |
引用了 carla::traffic_manager::SimulationState::AddActor(), carla::traffic_manager::Any, carla::traffic_manager::SimulationState::ContainsActor(), local_map, carla::geom::Transform::location, carla::traffic_manager::Pedestrian, carla::geom::Transform::rotation, simulation_state, track_traffic, unregistered_actors, carla::traffic_manager::SimulationState::UpdateKinematicState(), carla::traffic_manager::SimulationState::UpdateTrafficLightState(), carla::traffic_manager::TrackTraffic::UpdateUnregisteredGridPosition(), carla::traffic_manager::Vehicle, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
被这些函数引用 Update().
|
private |
被这些函数引用 RemoveActor().
|
private |
被这些函数引用 RemoveActor().
|
private |
被这些函数引用 IsVehicleStuck(), Reset(), Update(), UpdateData() , 以及 UpdateIdleTime().
|
private |
|
private |
被这些函数引用 UpdateData().
|
private |
被这些函数引用 IdentifyNewActors(), RemoveActor(), Reset(), Update(), UpdateData() , 以及 UpdateRegisteredActorsData().
|
private |
被这些函数引用 IsVehicleStuck(), RemoveActor(), Reset(), UpdateData() , 以及 UpdateIdleTime().
|
private |
被这些函数引用 UpdateUnregisteredActorsData().
|
private |
被这些函数引用 RemoveActor().
|
private |
|
private |
被这些函数引用 RemoveActor().
|
private |
被这些函数引用 Update() , 以及 UpdateRegisteredActorsData().
|
private |
|
private |
|
private |
|
private |
被这些函数引用 RemoveActor().
|
private |
|
private |
被这些函数引用 RemoveActor().
|
private |