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

The function of this class is to integrate all the various stages of the traffic manager appropriately using messengers. 更多...

#include <TrafficManagerLocal.h>

+ 类 carla::traffic_manager::TrafficManagerLocal 继承关系图:
+ carla::traffic_manager::TrafficManagerLocal 的协作图:

Public 成员函数

ActionBuffer GetActionBuffer (const ActorId &actor_id)
 Method to get the vehicle's action buffer.
 
carla::client::detail::EpisodeProxyGetEpisodeProxy ()
 Get CARLA episode information.
 
Action GetNextAction (const ActorId &actor_id)
 Method to get the vehicle's next action.
 
std::vector< ActorIdGetRegisteredVehiclesIDs ()
 Get list of all registered vehicles.
 
void RegisterVehicles (const std::vector< ActorPtr > &actor_list)
 This method registers a vehicle with the traffic manager.
 
void Release ()
 To release the traffic manager.
 
void RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)
 Method to remove a route.
 
void RemoveUploadPath (const ActorId &actor_id, const bool remove_path)
 Method to remove a list of points.
 
void Reset ()
 To reset the traffic manager.
 
void Run ()
 Initiates thread to run the TrafficManager sequentially.
 
void SetAutoLaneChange (const ActorPtr &actor, const bool enable)
 Enable/disable automatic lane change on a vehicle.
 
void SetBoundariesRespawnDormantVehicles (const float lower_bound, const float upper_bound)
 Method to set boundaries to respawn of dormant vehicles.
 
void SetCollisionDetection (const ActorPtr &reference_actor, const ActorPtr &other_actor, const bool detect_collision)
 Method to set collision detection rules between vehicles.
 
void SetCustomPath (const ActorPtr &actor, const Path path, const bool empty_buffer)
 Method to set our own imported path.
 
void SetDesiredSpeed (const ActorPtr &actor, const float value)
 Set a vehicle's exact desired velocity.
 
void SetDistanceToLeadingVehicle (const ActorPtr &actor, const float distance)
 Method to specify how much distance a vehicle should maintain to the leading vehicle.
 
void SetForceLaneChange (const ActorPtr &actor, const bool direction)
 Method to force lane change on a vehicle.
 
void SetGlobalDistanceToLeadingVehicle (const float distance)
 Method to specify how much distance a vehicle should maintain to the Global leading vehicle.
 
void SetGlobalLaneOffset (float const offset)
 Method to set a global lane offset displacement from the center line.
 
void SetGlobalPercentageSpeedDifference (float const percentage)
 Method to set a global % decrease in velocity with respect to the speed limit.
 
void SetHybridPhysicsMode (const bool mode_switch)
 Method to set hybrid physics mode.
 
void SetHybridPhysicsRadius (const float radius)
 Method to set hybrid physics radius.
 
void SetImportedRoute (const ActorPtr &actor, const Route route, const bool empty_buffer)
 Method to set our own imported route.
 
void SetKeepRightPercentage (const ActorPtr &actor, const float percentage)
 Method to set % to keep on the right lane.
 
void SetLaneOffset (const ActorPtr &actor, const float offset)
 Method to set a lane offset displacement from the center line.
 
void SetMaxBoundaries (const float lower, const float upper)
 Method to set limits for boundaries when respawning dormant vehicles.
 
void SetOSMMode (const bool mode_switch)
 Method to set Open Street Map mode.
 
void SetPercentageIgnoreVehicles (const ActorPtr &actor, const float perc)
 Method to specify the % chance of ignoring collisions with any vehicle.
 
void SetPercentageIgnoreWalkers (const ActorPtr &actor, const float perc)
 Method to specify the % chance of ignoring collisions with any walker.
 
void SetPercentageRunningLight (const ActorPtr &actor, const float perc)
 Method to specify the % chance of running any traffic light.
 
void SetPercentageRunningSign (const ActorPtr &actor, const float perc)
 Method to specify the % chance of running any traffic sign.
 
void SetPercentageSpeedDifference (const ActorPtr &actor, const float percentage)
 Method to set a vehicle's % decrease in velocity with respect to the speed limit.
 
void SetRandomDeviceSeed (const uint64_t _seed)
 Method to set randomization seed.
 
void SetRandomLeftLaneChangePercentage (const ActorPtr &actor, const float percentage)
 Method to set % to randomly do a left lane change.
 
void SetRandomRightLaneChangePercentage (const ActorPtr &actor, const float percentage)
 Method to set % to randomly do a right lane change.
 
void SetRespawnDormantVehicles (const bool mode_switch)
 Method to set automatic respawn of dormant vehicles.
 
void SetSynchronousMode (bool mode)
 Method to switch traffic manager into synchronous execution.
 
void SetSynchronousModeTimeOutInMiliSecond (double time)
 Method to set Tick timeout for synchronous execution.
 
void SetUpdateVehicleLights (const ActorPtr &actor, const bool do_update)
 Method to set the automatic management of the vehicle lights
 
void SetupLocalMap ()
 Method to setup InMemoryMap.
 
void ShutDown ()
 
void Start ()
 To start the TrafficManager.
 
void Stop ()
 To stop the TrafficManager.
 
bool SynchronousTick ()
 Method to provide synchronous tick.
 
 TrafficManagerLocal (std::vector< float > longitudinal_PID_parameters, std::vector< float > longitudinal_highway_PID_parameters, std::vector< float > lateral_PID_parameters, std::vector< float > lateral_highway_PID_parameters, float perc_decrease_from_limit, cc::detail::EpisodeProxy &episode_proxy, uint16_t &RPCportTM)
 Private constructor for singleton lifecycle management.
 
void UnregisterVehicles (const std::vector< ActorPtr > &actor_list)
 This method unregisters a vehicle from traffic manager.
 
void UpdateImportedRoute (const ActorId &actor_id, const Route route)
 Method to update an already set route.
 
void UpdateUploadPath (const ActorId &actor_id, const Path path)
 Method to update an already set list of points.
 
virtual ~TrafficManagerLocal ()
 Destructor.
 
- Public 成员函数 继承自 carla::traffic_manager::TrafficManagerBase
 TrafficManagerBase ()
 Protected constructor for singleton lifecycle management.
 
virtual ~TrafficManagerBase ()
 Destructor.
 

Private 成员函数

bool CheckAllFrozen (TLGroup tl_to_freeze)
 Method to check if all traffic lights are frozen in a group.
 

Private 属性

ALSM alsm
 
BufferMap buffer_map
 Structures to hold waypoint buffers for all vehicles.
 
CollisionFrame collision_frame
 Array to hold output data of collision avoidance.
 
CollisionStage collision_stage
 
ControlFrame control_frame
 Array to hold output data of motion planning.
 
uint64_t current_reserved_capacity {0u}
 Variable to keep track of currently reserved array space for frames.
 
carla::client::detail::EpisodeProxy episode_proxy
 CARLA client connection object.
 
std::vector< float > lateral_highway_PID_parameters
 
std::vector< float > lateral_PID_parameters
 
LocalMapPtr local_map
 Pointer to local map cache.
 
LocalizationFrame localization_frame
 Array to hold output data of localization stage.
 
LocalizationStage localization_stage
 Various stages representing core operations of traffic manager.
 
std::vector< float > longitudinal_highway_PID_parameters
 
std::vector< float > longitudinal_PID_parameters
 PID controller parameters.
 
std::vector< ActorIdmarked_for_removal
 
MotionPlanStage motion_plan_stage
 
Parameters parameters
 Parameterization object.
 
TimePoint previous_update_instance
 Time instance used to calculate dt in asynchronous mode.
 
RandomGenerator random_device = RandomGenerator(seed)
 Structure holding random devices per vehicle.
 
AtomicActorSet registered_vehicles
 Set of all actors registered with traffic manager.
 
int registered_vehicles_state
 State counter to track changes in registered actors.
 
std::mutex registration_mutex
 Mutex to prevent vehicle registration during frame array re-allocation.
 
std::atomic< bool > run_traffic_manger {true}
 Switch to turn on / turn off traffic manager.
 
uint64_t seed {static_cast<uint64_t>(time(NULL))}
 Randomization seed.
 
TrafficManagerServer server
 Traffic manager server instance.
 
SimulationState simulation_state
 Type containing the current state of all actors involved in the simulation.
 
std::atomic< bool > step_begin {false}
 Flags to signal step begin and end.
 
std::condition_variable step_begin_trigger
 Condition variables for progressing synchronous execution.
 
std::atomic< bool > step_end {false}
 
std::condition_variable step_end_trigger
 
std::mutex step_execution_mutex
 Mutex for progressing synchronous execution.
 
TLFrame tl_frame
 Array to hold output data of traffic light response.
 
TrackTraffic track_traffic
 Object for tracking paths of the traffic vehicles.
 
TrafficLightStage traffic_light_stage
 
std::vector< ActorIdvehicle_id_list
 List of vehicles registered with the traffic manager in current update cycle.
 
VehicleLightStage vehicle_light_stage
 
std::unique_ptr< std::thread > worker_thread
 Single worker thread for sequential execution of sub-components.
 
cc::World world
 CARLA client and object.
 

详细描述

The function of this class is to integrate all the various stages of the traffic manager appropriately using messengers.

在文件 TrafficManagerLocal.h50 行定义.

构造及析构函数说明

◆ TrafficManagerLocal()

carla::traffic_manager::TrafficManagerLocal::TrafficManagerLocal ( std::vector< float > longitudinal_PID_parameters,
std::vector< float > longitudinal_highway_PID_parameters,
std::vector< float > lateral_PID_parameters,
std::vector< float > lateral_highway_PID_parameters,
float perc_decrease_from_limit,
cc::detail::EpisodeProxy & episode_proxy,
uint16_t & RPCportTM )

Private constructor for singleton lifecycle management.

在文件 TrafficManagerLocal.cpp20 行定义.

引用了 parameters, registered_vehicles_state, carla::traffic_manager::Parameters::SetGlobalPercentageSpeedDifference(), SetupLocalMap() , 以及 Start().

+ 函数调用图:

◆ ~TrafficManagerLocal()

carla::traffic_manager::TrafficManagerLocal::~TrafficManagerLocal ( )
virtual

Destructor.

在文件 TrafficManagerLocal.cpp111 行定义.

引用了 episode_proxy, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock() , 以及 Release().

+ 函数调用图:

成员函数说明

◆ CheckAllFrozen()

bool carla::traffic_manager::TrafficManagerLocal::CheckAllFrozen ( TLGroup tl_to_freeze)
private

Method to check if all traffic lights are frozen in a group.

在文件 TrafficManagerLocal.cpp458 行定义.

◆ GetActionBuffer()

ActionBuffer carla::traffic_manager::TrafficManagerLocal::GetActionBuffer ( const ActorId & actor_id)
virtual

Method to get the vehicle's action buffer.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp454 行定义.

引用了 carla::traffic_manager::LocalizationStage::ComputeActionBuffer() , 以及 localization_stage.

+ 函数调用图:

◆ GetEpisodeProxy()

carla::client::detail::EpisodeProxy & carla::traffic_manager::TrafficManagerLocal::GetEpisodeProxy ( )
virtual

Get CARLA episode information.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp480 行定义.

引用了 episode_proxy.

◆ GetNextAction()

Action carla::traffic_manager::TrafficManagerLocal::GetNextAction ( const ActorId & actor_id)
virtual

Method to get the vehicle's next action.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp450 行定义.

引用了 carla::traffic_manager::LocalizationStage::ComputeNextAction() , 以及 localization_stage.

+ 函数调用图:

◆ GetRegisteredVehiclesIDs()

std::vector< ActorId > carla::traffic_manager::TrafficManagerLocal::GetRegisteredVehiclesIDs ( )

Get list of all registered vehicles.

在文件 TrafficManagerLocal.cpp484 行定义.

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

+ 函数调用图:

◆ RegisterVehicles()

void carla::traffic_manager::TrafficManagerLocal::RegisterVehicles ( const std::vector< ActorPtr > & actor_list)
virtual

This method registers a vehicle with the traffic manager.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp316 行定义.

引用了 carla::traffic_manager::AtomicActorSet::Insert(), registered_vehicles , 以及 registration_mutex.

+ 函数调用图:

◆ Release()

void carla::traffic_manager::TrafficManagerLocal::Release ( )
virtual

To release the traffic manager.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp301 行定义.

引用了 local_map , 以及 Stop().

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

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

◆ RemoveImportedRoute()

void carla::traffic_manager::TrafficManagerLocal::RemoveImportedRoute ( const ActorId & actor_id,
const bool remove_path )
virtual

Method to remove a route.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp430 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::RemoveImportedRoute().

+ 函数调用图:

◆ RemoveUploadPath()

void carla::traffic_manager::TrafficManagerLocal::RemoveUploadPath ( const ActorId & actor_id,
const bool remove_path )
virtual

Method to remove a list of points.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp418 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::RemoveUploadPath().

+ 函数调用图:

◆ Reset()

void carla::traffic_manager::TrafficManagerLocal::Reset ( )
virtual

To reset the traffic manager.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp308 行定义.

引用了 episode_proxy, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), Release(), SetupLocalMap(), Start() , 以及 world.

+ 函数调用图:

◆ Run()

void carla::traffic_manager::TrafficManagerLocal::Run ( )

Initiates thread to run the TrafficManager sequentially.

在文件 TrafficManagerLocal.cpp140 行定义.

引用了 alsm, carla::traffic_manager::CollisionStage::ClearCycleCache(), collision_frame, collision_stage, control_frame, current_reserved_capacity, episode_proxy, carla::client::Timestamp::frame, carla::traffic_manager::Parameters::GetHybridPhysicsMode(), carla::traffic_manager::AtomicActorSet::GetIDList(), carla::client::World::GetSnapshot(), carla::traffic_manager::AtomicActorSet::GetState(), carla::traffic_manager::Parameters::GetSynchronousMode(), carla::client::WorldSnapshot::GetTimestamp(), carla::traffic_manager::constants::FrameMemory::GROWTH_STEP_SIZE, carla::traffic_manager::constants::FrameMemory::INITIAL_SIZE, carla::traffic_manager::constants::FrameMemory::INV_GROWTH_STEP_SIZE, localization_frame, localization_stage, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), motion_plan_stage, parameters, previous_update_instance, registered_vehicles, registered_vehicles_state, registration_mutex, run_traffic_manger, carla::traffic_manager::Parameters::SetMaxBoundaries(), carla::traffic_manager::AtomicActorSet::Size(), step_begin, step_begin_trigger, step_end, step_end_trigger, step_execution_mutex, tl_frame, traffic_light_stage, carla::traffic_manager::ALSM::Update(), carla::traffic_manager::MotionPlanStage::Update(), carla::traffic_manager::CollisionStage::Update(), carla::traffic_manager::LocalizationStage::Update(), carla::traffic_manager::TrafficLightStage::Update(), carla::traffic_manager::VehicleLightStage::Update(), carla::traffic_manager::VehicleLightStage::UpdateWorldInfo(), vehicle_id_list, vehicle_light_stage , 以及 world.

被这些函数引用 Start().

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

◆ SetAutoLaneChange()

void carla::traffic_manager::TrafficManagerLocal::SetAutoLaneChange ( const ActorPtr & actor,
const bool enable )
virtual

Enable/disable automatic lane change on a vehicle.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp362 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetAutoLaneChange().

+ 函数调用图:

◆ SetBoundariesRespawnDormantVehicles()

void carla::traffic_manager::TrafficManagerLocal::SetBoundariesRespawnDormantVehicles ( const float lower_bound,
const float upper_bound )
virtual

Method to set boundaries to respawn of dormant vehicles.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp442 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetBoundariesRespawnDormantVehicles().

+ 函数调用图:

◆ SetCollisionDetection()

void carla::traffic_manager::TrafficManagerLocal::SetCollisionDetection ( const ActorPtr & reference_actor,
const ActorPtr & other_actor,
const bool detect_collision )
virtual

Method to set collision detection rules between vehicles.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp354 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetCollisionDetection().

+ 函数调用图:

◆ SetCustomPath()

void carla::traffic_manager::TrafficManagerLocal::SetCustomPath ( const ActorPtr & actor,
const Path path,
const bool empty_buffer )
virtual

Method to set our own imported path.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp414 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetCustomPath().

+ 函数调用图:

◆ SetDesiredSpeed()

void carla::traffic_manager::TrafficManagerLocal::SetDesiredSpeed ( const ActorPtr & actor,
const float value )
virtual

Set a vehicle's exact desired velocity.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp345 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetDesiredSpeed().

+ 函数调用图:

◆ SetDistanceToLeadingVehicle()

void carla::traffic_manager::TrafficManagerLocal::SetDistanceToLeadingVehicle ( const ActorPtr & actor,
const float distance )
virtual

Method to specify how much distance a vehicle should maintain to the leading vehicle.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp366 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetDistanceToLeadingVehicle().

+ 函数调用图:

◆ SetForceLaneChange()

void carla::traffic_manager::TrafficManagerLocal::SetForceLaneChange ( const ActorPtr & actor,
const bool direction )
virtual

Method to force lane change on a vehicle.

Direction flag can be set to true for left and false for right.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp358 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetForceLaneChange().

+ 函数调用图:

◆ SetGlobalDistanceToLeadingVehicle()

void carla::traffic_manager::TrafficManagerLocal::SetGlobalDistanceToLeadingVehicle ( const float distance)
virtual

Method to specify how much distance a vehicle should maintain to the Global leading vehicle.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp370 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetGlobalDistanceToLeadingVehicle().

+ 函数调用图:

◆ SetGlobalLaneOffset()

void carla::traffic_manager::TrafficManagerLocal::SetGlobalLaneOffset ( float const offset)
virtual

Method to set a global lane offset displacement from the center line.

Positive values imply a right offset while negative ones mean a left one.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp341 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetGlobalLaneOffset().

+ 函数调用图:

◆ SetGlobalPercentageSpeedDifference()

void carla::traffic_manager::TrafficManagerLocal::SetGlobalPercentageSpeedDifference ( float const percentage)
virtual

Method to set a global % decrease in velocity with respect to the speed limit.

If less than 0, it's a % increase.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp333 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetGlobalPercentageSpeedDifference().

+ 函数调用图:

◆ SetHybridPhysicsMode()

void carla::traffic_manager::TrafficManagerLocal::SetHybridPhysicsMode ( const bool mode_switch)
virtual

Method to set hybrid physics mode.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp402 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetHybridPhysicsMode().

+ 函数调用图:

◆ SetHybridPhysicsRadius()

void carla::traffic_manager::TrafficManagerLocal::SetHybridPhysicsRadius ( const float radius)
virtual

Method to set hybrid physics radius.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp406 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetHybridPhysicsRadius().

+ 函数调用图:

◆ SetImportedRoute()

void carla::traffic_manager::TrafficManagerLocal::SetImportedRoute ( const ActorPtr & actor,
const Route route,
const bool empty_buffer )
virtual

Method to set our own imported route.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp426 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetImportedRoute().

+ 函数调用图:

◆ SetKeepRightPercentage()

void carla::traffic_manager::TrafficManagerLocal::SetKeepRightPercentage ( const ActorPtr & actor,
const float percentage )
virtual

Method to set % to keep on the right lane.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp390 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetKeepRightPercentage().

+ 函数调用图:

◆ SetLaneOffset()

void carla::traffic_manager::TrafficManagerLocal::SetLaneOffset ( const ActorPtr & actor,
const float offset )
virtual

Method to set a lane offset displacement from the center line.

Positive values imply a right offset while negative ones mean a left one.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp337 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetLaneOffset().

+ 函数调用图:

◆ SetMaxBoundaries()

void carla::traffic_manager::TrafficManagerLocal::SetMaxBoundaries ( const float lower,
const float upper )
virtual

Method to set limits for boundaries when respawning dormant vehicles.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp446 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetMaxBoundaries().

+ 函数调用图:

◆ SetOSMMode()

void carla::traffic_manager::TrafficManagerLocal::SetOSMMode ( const bool mode_switch)
virtual

Method to set Open Street Map mode.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp410 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetOSMMode().

+ 函数调用图:

◆ SetPercentageIgnoreVehicles()

void carla::traffic_manager::TrafficManagerLocal::SetPercentageIgnoreVehicles ( const ActorPtr & actor,
const float perc )
virtual

Method to specify the % chance of ignoring collisions with any vehicle.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp378 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetPercentageIgnoreVehicles().

+ 函数调用图:

◆ SetPercentageIgnoreWalkers()

void carla::traffic_manager::TrafficManagerLocal::SetPercentageIgnoreWalkers ( const ActorPtr & actor,
const float perc )
virtual

Method to specify the % chance of ignoring collisions with any walker.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp374 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetPercentageIgnoreWalkers().

+ 函数调用图:

◆ SetPercentageRunningLight()

void carla::traffic_manager::TrafficManagerLocal::SetPercentageRunningLight ( const ActorPtr & actor,
const float perc )
virtual

Method to specify the % chance of running any traffic light.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp382 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetPercentageRunningLight().

+ 函数调用图:

◆ SetPercentageRunningSign()

void carla::traffic_manager::TrafficManagerLocal::SetPercentageRunningSign ( const ActorPtr & actor,
const float perc )
virtual

Method to specify the % chance of running any traffic sign.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp386 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetPercentageRunningSign().

+ 函数调用图:

◆ SetPercentageSpeedDifference()

void carla::traffic_manager::TrafficManagerLocal::SetPercentageSpeedDifference ( const ActorPtr & actor,
const float percentage )
virtual

Method to set a vehicle's % decrease in velocity with respect to the speed limit.

If less than 0, it's a % increase.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp329 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetPercentageSpeedDifference().

+ 函数调用图:

◆ SetRandomDeviceSeed()

void carla::traffic_manager::TrafficManagerLocal::SetRandomDeviceSeed ( const uint64_t _seed)
virtual

Method to set randomization seed.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp488 行定义.

引用了 random_device, carla::client::World::ResetAllTrafficLights(), seed , 以及 world.

+ 函数调用图:

◆ SetRandomLeftLaneChangePercentage()

void carla::traffic_manager::TrafficManagerLocal::SetRandomLeftLaneChangePercentage ( const ActorPtr & actor,
const float percentage )
virtual

Method to set % to randomly do a left lane change.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp394 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetRandomLeftLaneChangePercentage().

+ 函数调用图:

◆ SetRandomRightLaneChangePercentage()

void carla::traffic_manager::TrafficManagerLocal::SetRandomRightLaneChangePercentage ( const ActorPtr & actor,
const float percentage )
virtual

Method to set % to randomly do a right lane change.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp398 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetRandomRightLaneChangePercentage().

+ 函数调用图:

◆ SetRespawnDormantVehicles()

void carla::traffic_manager::TrafficManagerLocal::SetRespawnDormantVehicles ( const bool mode_switch)
virtual

Method to set automatic respawn of dormant vehicles.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp438 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetRespawnDormantVehicles().

+ 函数调用图:

◆ SetSynchronousMode()

void carla::traffic_manager::TrafficManagerLocal::SetSynchronousMode ( bool mode)
virtual

Method to switch traffic manager into synchronous execution.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp467 行定义.

引用了 carla::traffic_manager::Parameters::GetSynchronousMode(), parameters, carla::traffic_manager::Parameters::SetSynchronousMode(), step_begin , 以及 step_begin_trigger.

+ 函数调用图:

◆ SetSynchronousModeTimeOutInMiliSecond()

void carla::traffic_manager::TrafficManagerLocal::SetSynchronousModeTimeOutInMiliSecond ( double time)
virtual

Method to set Tick timeout for synchronous execution.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp476 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetSynchronousModeTimeOutInMiliSecond().

+ 函数调用图:

◆ SetUpdateVehicleLights()

void carla::traffic_manager::TrafficManagerLocal::SetUpdateVehicleLights ( const ActorPtr & actor,
const bool do_update )
virtual

Method to set the automatic management of the vehicle lights

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp350 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::SetUpdateVehicleLights().

+ 函数调用图:

◆ SetupLocalMap()

void carla::traffic_manager::TrafficManagerLocal::SetupLocalMap ( )

Method to setup InMemoryMap.

在文件 TrafficManagerLocal.cpp116 行定义.

引用了 episode_proxy, carla::client::World::GetMap(), local_map, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_warning() , 以及 world.

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

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

◆ ShutDown()

void carla::traffic_manager::TrafficManagerLocal::ShutDown ( )
inlinevirtual

◆ Start()

void carla::traffic_manager::TrafficManagerLocal::Start ( )
virtual

To start the TrafficManager.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp135 行定义.

引用了 Run(), run_traffic_manger , 以及 worker_thread.

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

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

◆ Stop()

void carla::traffic_manager::TrafficManagerLocal::Stop ( )
virtual

◆ SynchronousTick()

bool carla::traffic_manager::TrafficManagerLocal::SynchronousTick ( )
virtual

Method to provide synchronous tick.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp251 行定义.

引用了 carla::traffic_manager::Parameters::GetSynchronousMode(), parameters, step_begin, step_begin_trigger, step_end, step_end_trigger , 以及 step_execution_mutex.

+ 函数调用图:

◆ UnregisterVehicles()

void carla::traffic_manager::TrafficManagerLocal::UnregisterVehicles ( const std::vector< ActorPtr > & actor_list)
virtual

This method unregisters a vehicle from traffic manager.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp321 行定义.

引用了 alsm, registration_mutex , 以及 carla::traffic_manager::ALSM::RemoveActor().

+ 函数调用图:

◆ UpdateImportedRoute()

void carla::traffic_manager::TrafficManagerLocal::UpdateImportedRoute ( const ActorId & actor_id,
const Route route )
virtual

Method to update an already set route.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp434 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::UpdateImportedRoute().

+ 函数调用图:

◆ UpdateUploadPath()

void carla::traffic_manager::TrafficManagerLocal::UpdateUploadPath ( const ActorId & actor_id,
const Path path )
virtual

Method to update an already set list of points.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp422 行定义.

引用了 parameters , 以及 carla::traffic_manager::Parameters::UpdateUploadPath().

+ 函数调用图:

类成员变量说明

◆ alsm

ALSM carla::traffic_manager::TrafficManagerLocal::alsm
private

在文件 TrafficManagerLocal.h97 行定义.

被这些函数引用 Run() , 以及 UnregisterVehicles().

◆ buffer_map

BufferMap carla::traffic_manager::TrafficManagerLocal::buffer_map
private

Structures to hold waypoint buffers for all vehicles.

在文件 TrafficManagerLocal.h72 行定义.

被这些函数引用 Stop().

◆ collision_frame

CollisionFrame carla::traffic_manager::TrafficManagerLocal::collision_frame
private

Array to hold output data of collision avoidance.

在文件 TrafficManagerLocal.h84 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ collision_stage

CollisionStage carla::traffic_manager::TrafficManagerLocal::collision_stage
private

在文件 TrafficManagerLocal.h93 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ control_frame

ControlFrame carla::traffic_manager::TrafficManagerLocal::control_frame
private

Array to hold output data of motion planning.

在文件 TrafficManagerLocal.h88 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ current_reserved_capacity

uint64_t carla::traffic_manager::TrafficManagerLocal::current_reserved_capacity {0u}
private

Variable to keep track of currently reserved array space for frames.

在文件 TrafficManagerLocal.h90 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ episode_proxy

carla::client::detail::EpisodeProxy carla::traffic_manager::TrafficManagerLocal::episode_proxy
private

CARLA client connection object.

在文件 TrafficManagerLocal.h59 行定义.

被这些函数引用 GetEpisodeProxy(), Reset(), Run(), SetupLocalMap() , 以及 ~TrafficManagerLocal().

◆ lateral_highway_PID_parameters

std::vector<float> carla::traffic_manager::TrafficManagerLocal::lateral_highway_PID_parameters
private

在文件 TrafficManagerLocal.h57 行定义.

◆ lateral_PID_parameters

std::vector<float> carla::traffic_manager::TrafficManagerLocal::lateral_PID_parameters
private

在文件 TrafficManagerLocal.h56 行定义.

◆ local_map

LocalMapPtr carla::traffic_manager::TrafficManagerLocal::local_map
private

Pointer to local map cache.

在文件 TrafficManagerLocal.h70 行定义.

被这些函数引用 Release() , 以及 SetupLocalMap().

◆ localization_frame

LocalizationFrame carla::traffic_manager::TrafficManagerLocal::localization_frame
private

Array to hold output data of localization stage.

在文件 TrafficManagerLocal.h82 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ localization_stage

LocalizationStage carla::traffic_manager::TrafficManagerLocal::localization_stage
private

Various stages representing core operations of traffic manager.

在文件 TrafficManagerLocal.h92 行定义.

被这些函数引用 GetActionBuffer(), GetNextAction(), Run() , 以及 Stop().

◆ longitudinal_highway_PID_parameters

std::vector<float> carla::traffic_manager::TrafficManagerLocal::longitudinal_highway_PID_parameters
private

在文件 TrafficManagerLocal.h55 行定义.

◆ longitudinal_PID_parameters

std::vector<float> carla::traffic_manager::TrafficManagerLocal::longitudinal_PID_parameters
private

PID controller parameters.

在文件 TrafficManagerLocal.h54 行定义.

◆ marked_for_removal

std::vector<ActorId> carla::traffic_manager::TrafficManagerLocal::marked_for_removal
private

在文件 TrafficManagerLocal.h116 行定义.

◆ motion_plan_stage

MotionPlanStage carla::traffic_manager::TrafficManagerLocal::motion_plan_stage
private

在文件 TrafficManagerLocal.h95 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ parameters

Parameters carla::traffic_manager::TrafficManagerLocal::parameters
private

◆ previous_update_instance

TimePoint carla::traffic_manager::TrafficManagerLocal::previous_update_instance
private

Time instance used to calculate dt in asynchronous mode.

在文件 TrafficManagerLocal.h78 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ random_device

RandomGenerator carla::traffic_manager::TrafficManagerLocal::random_device = RandomGenerator(seed)
private

Structure holding random devices per vehicle.

在文件 TrafficManagerLocal.h115 行定义.

被这些函数引用 SetRandomDeviceSeed().

◆ registered_vehicles

AtomicActorSet carla::traffic_manager::TrafficManagerLocal::registered_vehicles
private

Set of all actors registered with traffic manager.

在文件 TrafficManagerLocal.h63 行定义.

被这些函数引用 GetRegisteredVehiclesIDs(), RegisterVehicles(), Run() , 以及 Stop().

◆ registered_vehicles_state

int carla::traffic_manager::TrafficManagerLocal::registered_vehicles_state
private

State counter to track changes in registered actors.

在文件 TrafficManagerLocal.h65 行定义.

被这些函数引用 Run(), Stop() , 以及 TrafficManagerLocal().

◆ registration_mutex

std::mutex carla::traffic_manager::TrafficManagerLocal::registration_mutex
private

Mutex to prevent vehicle registration during frame array re-allocation.

在文件 TrafficManagerLocal.h118 行定义.

被这些函数引用 RegisterVehicles(), Run() , 以及 UnregisterVehicles().

◆ run_traffic_manger

std::atomic<bool> carla::traffic_manager::TrafficManagerLocal::run_traffic_manger {true}
private

Switch to turn on / turn off traffic manager.

在文件 TrafficManagerLocal.h101 行定义.

被这些函数引用 Run(), Start() , 以及 Stop().

◆ seed

uint64_t carla::traffic_manager::TrafficManagerLocal::seed {static_cast<uint64_t>(time(NULL))}
private

Randomization seed.

在文件 TrafficManagerLocal.h113 行定义.

被这些函数引用 SetRandomDeviceSeed().

◆ server

TrafficManagerServer carla::traffic_manager::TrafficManagerLocal::server
private

Traffic manager server instance.

在文件 TrafficManagerLocal.h99 行定义.

◆ simulation_state

SimulationState carla::traffic_manager::TrafficManagerLocal::simulation_state
private

Type containing the current state of all actors involved in the simulation.

在文件 TrafficManagerLocal.h76 行定义.

被这些函数引用 Stop().

◆ step_begin

std::atomic<bool> carla::traffic_manager::TrafficManagerLocal::step_begin {false}
private

Flags to signal step begin and end.

在文件 TrafficManagerLocal.h103 行定义.

被这些函数引用 Run(), SetSynchronousMode(), Stop() , 以及 SynchronousTick().

◆ step_begin_trigger

std::condition_variable carla::traffic_manager::TrafficManagerLocal::step_begin_trigger
private

Condition variables for progressing synchronous execution.

在文件 TrafficManagerLocal.h108 行定义.

被这些函数引用 Run(), SetSynchronousMode(), Stop() , 以及 SynchronousTick().

◆ step_end

std::atomic<bool> carla::traffic_manager::TrafficManagerLocal::step_end {false}
private

在文件 TrafficManagerLocal.h104 行定义.

被这些函数引用 Run(), Stop() , 以及 SynchronousTick().

◆ step_end_trigger

std::condition_variable carla::traffic_manager::TrafficManagerLocal::step_end_trigger
private

在文件 TrafficManagerLocal.h109 行定义.

被这些函数引用 Run() , 以及 SynchronousTick().

◆ step_execution_mutex

std::mutex carla::traffic_manager::TrafficManagerLocal::step_execution_mutex
private

Mutex for progressing synchronous execution.

在文件 TrafficManagerLocal.h106 行定义.

被这些函数引用 Run() , 以及 SynchronousTick().

◆ tl_frame

TLFrame carla::traffic_manager::TrafficManagerLocal::tl_frame
private

Array to hold output data of traffic light response.

在文件 TrafficManagerLocal.h86 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ track_traffic

TrackTraffic carla::traffic_manager::TrafficManagerLocal::track_traffic
private

Object for tracking paths of the traffic vehicles.

在文件 TrafficManagerLocal.h74 行定义.

被这些函数引用 Stop().

◆ traffic_light_stage

TrafficLightStage carla::traffic_manager::TrafficManagerLocal::traffic_light_stage
private

在文件 TrafficManagerLocal.h94 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ vehicle_id_list

std::vector<ActorId> carla::traffic_manager::TrafficManagerLocal::vehicle_id_list
private

List of vehicles registered with the traffic manager in current update cycle.

在文件 TrafficManagerLocal.h68 行定义.

被这些函数引用 Run() , 以及 Stop().

◆ vehicle_light_stage

VehicleLightStage carla::traffic_manager::TrafficManagerLocal::vehicle_light_stage
private

在文件 TrafficManagerLocal.h96 行定义.

被这些函数引用 Run().

◆ worker_thread

std::unique_ptr<std::thread> carla::traffic_manager::TrafficManagerLocal::worker_thread
private

Single worker thread for sequential execution of sub-components.

在文件 TrafficManagerLocal.h111 行定义.

被这些函数引用 Start() , 以及 Stop().

◆ world

cc::World carla::traffic_manager::TrafficManagerLocal::world
private

CARLA client and object.

在文件 TrafficManagerLocal.h61 行定义.

被这些函数引用 Reset(), Run(), SetRandomDeviceSeed() , 以及 SetupLocalMap().


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