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

交通管理器本地类,通过消息传递机制整合交通管理器的各个阶段。 @inherits TrafficManagerBase 更多...

#include <TrafficManagerLocal.h>

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

Public 成员函数

ActionBuffer GetActionBuffer (const ActorId &actor_id)
 获取车辆的动作缓冲区。
更多...
 
carla::client::detail::EpisodeProxyGetEpisodeProxy ()
 获取CARLA仿真场景的信息代理。
更多...
 
Action GetNextAction (const ActorId &actor_id)
 获取车辆的下一个动作。
更多...
 
std::vector< ActorIdGetRegisteredVehiclesIDs ()
 获取所有已注册车辆的ID列表。
更多...
 
void RegisterVehicles (const std::vector< ActorPtr > &actor_list)
 向交通管理器注册车辆
更多...
 
void Release ()
 释放交通管理器 此方法用于释放TrafficManagerLocal所占用的资源,例如线程、内存等 更多...
 
void RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)
 移除路线。
更多...
 
void RemoveUploadPath (const ActorId &actor_id, const bool remove_path)
 移除一组点。
更多...
 
void Reset ()
 重置交通管理器
此方法将TrafficManagerLocal重置为其初始状态,清除所有已注册的车辆和设置 更多...
 
void Run ()
 启动线程以顺序运行交通管理器
此方法将创建一个新线程(如果尚未创建),并在该线程中顺序运行交通管理器的逻辑 更多...
 
void SetAutoLaneChange (const ActorPtr &actor, const bool enable)
 启用或禁用车辆的自动换道功能。
更多...
 
void SetBoundariesRespawnDormantVehicles (const float lower_bound, const float upper_bound)
 设置休眠车辆重生时的边界。
更多...
 
void SetCollisionDetection (const ActorPtr &reference_actor, const ActorPtr &other_actor, const bool detect_collision)
 设置两辆车之间的碰撞检测规则。
更多...
 
void SetCustomPath (const ActorPtr &actor, const Path path, const bool empty_buffer)
 设置自定义路径。
更多...
 
void SetDesiredSpeed (const ActorPtr &actor, const float value)
 设置车辆的精确期望速度
更多...
 
void SetDistanceToLeadingVehicle (const ActorPtr &actor, const float distance)
 设置车辆与前车应保持的距离。
更多...
 
void SetForceLaneChange (const ActorPtr &actor, const bool direction)
 强制车辆进行换道。
更多...
 
void SetGlobalDistanceToLeadingVehicle (const float distance)
 设置车辆与全局前导车辆应保持的距离。
更多...
 
void SetGlobalLaneOffset (float const offset)
 设置全局车道相对于中心线的偏移量。
更多...
 
void SetGlobalPercentageSpeedDifference (float const percentage)
 设置全局相对于限速的速度百分比差异 更多...
 
void SetHybridPhysicsMode (const bool mode_switch)
 设置混合物理模式。
更多...
 
void SetHybridPhysicsRadius (const float radius)
 设置混合物理模式的半径。
更多...
 
void SetImportedRoute (const ActorPtr &actor, const Route route, const bool empty_buffer)
 设置自定义路线。
更多...
 
void SetKeepRightPercentage (const ActorPtr &actor, const float percentage)
 设置车辆保持在右侧车道的百分比概率。
更多...
 
void SetLaneOffset (const ActorPtr &actor, const float offset)
 设置车辆相对于中心线的车道偏移量
更多...
 
void SetMaxBoundaries (const float lower, const float upper)
 设置重生休眠车辆时边界的限制。
更多...
 
void SetOSMMode (const bool mode_switch)
 设置Open Street Map模式。
更多...
 
void SetPercentageIgnoreVehicles (const ActorPtr &actor, const float perc)
 设置车辆忽略其他车辆碰撞的百分比概率。
更多...
 
void SetPercentageIgnoreWalkers (const ActorPtr &actor, const float perc)
 设置车辆忽略行人碰撞的百分比概率。
更多...
 
void SetPercentageRunningLight (const ActorPtr &actor, const float perc)
 设置车辆闯红灯的百分比概率。
更多...
 
void SetPercentageRunningSign (const ActorPtr &actor, const float perc)
 设置车辆无视交通标志的百分比概率。
更多...
 
void SetPercentageSpeedDifference (const ActorPtr &actor, const float percentage)
 设置车辆相对于限速的速度百分比差异
更多...
 
void SetRandomDeviceSeed (const uint64_t _seed)
 设置随机化种子。
更多...
 
void SetRandomLeftLaneChangePercentage (const ActorPtr &actor, const float percentage)
 设置车辆随机进行左车道变换的百分比概率。
更多...
 
void SetRandomRightLaneChangePercentage (const ActorPtr &actor, const float percentage)
 设置车辆随机进行右车道变换的百分比概率。
更多...
 
void SetRespawnDormantVehicles (const bool mode_switch)
 设置休眠车辆的自动重生模式。
更多...
 
void SetSynchronousMode (bool mode)
 将交通管理器切换到同步执行模式。
更多...
 
void SetSynchronousModeTimeOutInMiliSecond (double time)
 设置同步执行时的Tick超时时间(以毫秒为单位)。
更多...
 
void SetUpdateVehicleLights (const ActorPtr &actor, const bool do_update)
 设置车辆的灯光是否自动管理。
更多...
 
void SetupLocalMap ()
 设置内存中的地图 此方法用于初始化或设置TrafficManagerLocal所使用的内存地图 更多...
 
void ShutDown ()
 关闭并清理资源 更多...
 
void Start ()
 启动交通管理器
此方法用于启动TrafficManagerLocal,开始其管理交通的功能 更多...
 
void Stop ()
 停止交通管理器
此方法用于停止TrafficManagerLocal的运行,并可能进行必要的清理工作 更多...
 
bool SynchronousTick ()
 提供同步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)
 私有构造函数,用于单例生命周期管理
更多...
 
void UnregisterVehicles (const std::vector< ActorPtr > &actor_list)
 从交通管理器注销车辆
更多...
 
void UpdateImportedRoute (const ActorId &actor_id, const Route route)
 更新已设置的路线。
更多...
 
void UpdateUploadPath (const ActorId &actor_id, const Path path)
 更新已设置的点列表。
更多...
 
virtual ~TrafficManagerLocal ()
 析构函数 虚拟析构函数,用于确保派生类能够正确地被销毁 更多...
 
- Public 成员函数 继承自 carla::traffic_manager::TrafficManagerBase
virtual ActionBuffer GetActionBuffer (const ActorId &actor_id)=0
 获取车辆的动作缓冲区。 更多...
 
virtual carla::client::detail::EpisodeProxyGetEpisodeProxy ()=0
 获取CARLA场景信息代理。 更多...
 
virtual Action GetNextAction (const ActorId &actor_id)=0
 获取车辆的下一个动作。 更多...
 
virtual void RegisterVehicles (const std::vector< ActorPtr > &actor_list)=0
 此方法向交通管理器注册车辆。 更多...
 
virtual void Release ()=0
 释放交通管理器。 更多...
 
virtual void RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)=0
 移除路线。 更多...
 
virtual void RemoveUploadPath (const ActorId &actor_id, const bool remove_path)=0
 移除路径。 更多...
 
virtual void Reset ()=0
 重置交通管理器。 更多...
 
virtual void SetAutoLaneChange (const ActorPtr &actor, const bool enable)=0
 启用/禁用车辆的自动换道。 更多...
 
virtual void SetBoundariesRespawnDormantVehicles (const float lower_bound, const float upper_bound)=0
 设置重生车辆的范围。 更多...
 
virtual void SetCollisionDetection (const ActorPtr &reference_actor, const ActorPtr &other_actor, const bool detect_collision)=0
 设置车辆之间的碰撞检测规则。 更多...
 
virtual void SetCustomPath (const ActorPtr &actor, const Path path, const bool empty_buffer)=0
 设置自定义导入路径。 更多...
 
virtual void SetDesiredSpeed (const ActorPtr &actor, const float value)=0
 设置车辆的精确期望速度。 更多...
 
virtual void SetDistanceToLeadingVehicle (const ActorPtr &actor, const float distance)=0
 设置车辆与前车应保持的距离。 更多...
 
virtual void SetForceLaneChange (const ActorPtr &actor, const bool direction)=0
 强制车辆换道。 更多...
 
virtual void SetGlobalDistanceToLeadingVehicle (const float dist)=0
 设置全局前车距离。 更多...
 
virtual void SetGlobalLaneOffset (float const offset)=0
 设置全局相对于中心线的车道偏移量。 正值表示向右偏移,负值表示向左偏移。 更多...
 
virtual void SetGlobalPercentageSpeedDifference (float const percentage)=0
 设置全局相对于限速的速度百分比降低。 如果小于0,则表示百分比增加。 更多...
 
virtual void SetHybridPhysicsMode (const bool mode_switch)=0
 设置混合物理模式。 更多...
 
virtual void SetHybridPhysicsRadius (const float radius)=0
 设置混合物理半径。 更多...
 
virtual void SetImportedRoute (const ActorPtr &actor, const Route route, const bool empty_buffer)=0
 设置自定义导入路线。 更多...
 
virtual void SetKeepRightPercentage (const ActorPtr &actor, const float percentage)=0
 设置保持在右车道的百分比。 更多...
 
virtual void SetLaneOffset (const ActorPtr &actor, const float offset)=0
 设置车辆相对于中心线的车道偏移量。 正值表示向右偏移,负值表示向左偏移。 更多...
 
virtual void SetMaxBoundaries (const float lower, const float upper)=0
 设置范围限制。 更多...
 
virtual void SetOSMMode (const bool mode_switch)=0
 设置Open Street Map模式。 更多...
 
virtual void SetPercentageIgnoreVehicles (const ActorPtr &actor, const float perc)=0
 设置车辆忽略其他车辆的碰撞概率。 更多...
 
virtual void SetPercentageIgnoreWalkers (const ActorPtr &actor, const float perc)=0
 设置车辆忽略行人的碰撞概率。 更多...
 
virtual void SetPercentageRunningLight (const ActorPtr &actor, const float perc)=0
 设置车辆闯红灯的概率。 更多...
 
virtual void SetPercentageRunningSign (const ActorPtr &actor, const float perc)=0
 设置车辆无视交通标志的概率。 更多...
 
virtual void SetPercentageSpeedDifference (const ActorPtr &actor, const float percentage)=0
 设置车辆相对于限速的速度百分比降低。 如果小于0,则表示百分比增加。 更多...
 
virtual void SetRandomDeviceSeed (const uint64_t seed)=0
 设置随机化种子。 更多...
 
virtual void SetRandomLeftLaneChangePercentage (const ActorPtr &actor, const float percentage)=0
 设置随机左变道的百分比。 更多...
 
virtual void SetRandomRightLaneChangePercentage (const ActorPtr &actor, const float percentage)=0
 设置随机右变道的百分比。 更多...
 
virtual void SetRespawnDormantVehicles (const bool mode_switch)=0
 设置休眠车辆的自动重生。 更多...
 
virtual void SetSynchronousMode (bool mode)=0
 将交通管理器切换到同步执行模式。 更多...
 
virtual void SetSynchronousModeTimeOutInMiliSecond (double time)=0
 设置同步执行模式的Tick超时时间。 更多...
 
virtual void SetUpdateVehicleLights (const ActorPtr &actor, const bool do_update)=0
 设置车辆灯光的自动管理。 更多...
 
virtual void ShutDown ()=0
 关闭系统。 更多...
 
virtual void Start ()=0
 启动交通管理器。 更多...
 
virtual void Stop ()=0
 停止交通管理器。 更多...
 
virtual bool SynchronousTick ()=0
 提供同步Tick。 更多...
 
 TrafficManagerBase ()
 单例生命周期管理的受保护构造函数。 更多...
 
virtual void UnregisterVehicles (const std::vector< ActorPtr > &actor_list)=0
 此方法从交通管理器注销车辆。 更多...
 
virtual void UpdateImportedRoute (const ActorId &actor_id, const Route route)=0
 更新已设置的路线。 更多...
 
virtual void UpdateUploadPath (const ActorId &actor_id, const Path path)=0
 更新已设置的路径。 更多...
 
virtual ~TrafficManagerBase ()
 析构函数。 更多...
 

Private 成员函数

bool CheckAllFrozen (TLGroup tl_to_freeze)
 检查一个交通灯组中的所有交通灯是否都被冻结的方法 更多...
 

Private 属性

ALSM alsm
 自动驾驶局部路径规划模块(ALSM)
ALSM可能是一个用于生成局部路径规划算法的模块或对象 更多...
 
BufferMap buffer_map
 存储所有车辆路径点的缓冲区结构映射
使用BufferMap类型(可能是自定义的映射类型)来存储每个车辆的路径点缓冲区 更多...
 
CollisionFrame collision_frame
 存储碰撞避免阶段输出数据的数组
用于存储碰撞避免阶段产生的数据 更多...
 
CollisionStage collision_stage
 
ControlFrame control_frame
 存储运动规划阶段输出数据的数组
用于存储运动规划阶段产生的控制指令 更多...
 
uint64_t current_reserved_capacity {0u}
 用于跟踪当前为帧保留的数组空间的变量 这是一个无符号64位整数,用于记录为各个帧数组预留的空间大小 更多...
 
carla::client::detail::EpisodeProxy episode_proxy
 CARLA 客户端连接对象。 更多...
 
std::vector< float > lateral_highway_PID_parameters
 高速公路横向PID控制器参数集合。 更多...
 
std::vector< float > lateral_PID_parameters
 横向PID控制器参数集合。 更多...
 
LocalMapPtr local_map
 指向本地地图缓存的指针
使用智能指针管理InMemoryMap对象,用于存储和访问地图数据 更多...
 
LocalizationFrame localization_frame
 存储定位阶段输出数据的数组
用于存储定位阶段产生的数据 更多...
 
LocalizationStage localization_stage
 表示交通管理器核心操作的各种阶段
这些阶段包括定位、碰撞避免、交通灯响应、运动规划和车辆灯光控制等 更多...
 
std::vector< float > longitudinal_highway_PID_parameters
 高速公路纵向PID控制器参数集合。 更多...
 
std::vector< float > longitudinal_PID_parameters
 纵向PID控制器参数集合。 更多...
 
std::vector< ActorIdmarked_for_removal
 标记为删除的参与者ID列表 用于存储需要在某个时间点被移除的参与者ID 更多...
 
MotionPlanStage motion_plan_stage
 
Parameters parameters
 参数化对象
包含交通管理器运行所需的各种配置参数 更多...
 
TimePoint previous_update_instance
 在异步模式下用于计算时间差(dt)的时间实例
使用TimePoint类型表示一个具体的时间点,用于与上一个更新时间点进行比较,以计算时间差 更多...
 
RandomGenerator random_device = RandomGenerator(seed)
 持有每辆车的随机设备的结构体
RandomGenerator是一个用于生成随机数的类或结构体,使用seed进行初始化 更多...
 
AtomicActorSet registered_vehicles
 注册到交通管理器的所有参与者集合。 更多...
 
int registered_vehicles_state
 用于跟踪注册参与者状态变化的计数器 更多...
 
std::mutex registration_mutex
 防止在帧数组重新分配期间注册车辆的互斥锁
用于保护车辆注册操作,确保在帧数组重新分配时不会有新的车辆被注册 更多...
 
std::atomic< bool > run_traffic_manger {true}
 用于打开/关闭交通管理器的开关
这是一个原子布尔变量,用于线程安全地控制交通管理器的运行状态 更多...
 
uint64_t seed {static_cast<uint64_t>(time(NULL))}
 随机化种子
使用当前时间作为随机化种子,确保每次程序运行时都能产生不同的随机序列 更多...
 
TrafficManagerServer server
 交通管理器服务器实例。
负责处理来自客户端的请求,并管理交通管理器的运行 更多...
 
SimulationState simulation_state
 包含模拟中所有参与者当前状态的类型
用于表示模拟中所有参与者的状态信息 更多...
 
std::atomic< bool > step_begin {false}
 用于标记步骤开始和结束的标志 使用std::atomic<bool>确保跨线程的原子操作,避免数据竞争 更多...
 
std::condition_variable step_begin_trigger
 用于同步执行进度的条件变量 std::condition_variable用于线程间的同步,当一个线程需要等待某个条件成立时,可以阻塞在该条件变量上,直到另一个线程通知条件已成立 更多...
 
std::atomic< bool > step_end {false}
 
std::condition_variable step_end_trigger
 
std::mutex step_execution_mutex
 用于同步执行进度的互斥锁 std::mutex用于保护共享资源,确保同一时间只有一个线程可以访问 更多...
 
TLFrame tl_frame
 存储交通灯响应阶段输出数据的数组
用于存储交通灯响应阶段产生的数据 更多...
 
TrackTraffic track_traffic
 用于跟踪交通车辆路径的对象 TrackTraffic对象可能包含有关交通车辆当前位置和预期路径的信息 更多...
 
TrafficLightStage traffic_light_stage
 
std::vector< ActorIdvehicle_id_list
 当前更新周期中注册到交通管理器的车辆列表
使用ActorId类型存储车辆的唯一标识符 更多...
 
VehicleLightStage vehicle_light_stage
 
std::unique_ptr< std::thread > worker_thread
 用于顺序执行子组件的单个工作线程
使用std::unique_ptr<std::thread>管理线程的生命周期,确保线程在不再需要时能够被正确销毁 更多...
 
cc::World world
 CARLA 世界对象。 更多...
 

详细描述

交通管理器本地类,通过消息传递机制整合交通管理器的各个阶段。 @inherits TrafficManagerBase

该类继承自TrafficManagerBase,并实现了通过消息传递机制整合交通管理器的各个阶段的功能。

在文件 TrafficManagerLocal.h58 行定义.

构造及析构函数说明

◆ 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 
)

私有构造函数,用于单例生命周期管理

通过私有构造函数确保TrafficManagerLocal类只能有一个实例被创建,并通过其他静态方法访问该实例

参数
longitudinal_PID_parameters纵向PID控制参数
longitudinal_highway_PID_parameters高速公路纵向PID控制参数
lateral_PID_parameters横向PID控制参数
lateral_highway_PID_parameters高速公路横向PID控制参数
perc_decrease_from_limit从限速降低的百分比
episode_proxy模拟器中的episode代理对象
RPCportTM交通管理器使用的RPC端口号

在文件 TrafficManagerLocal.cpp22 行定义.

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

+ 函数调用图:

◆ ~TrafficManagerLocal()

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

析构函数 虚拟析构函数,用于确保派生类能够正确地被销毁

在文件 TrafficManagerLocal.cpp113 行定义.

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

+ 函数调用图:

成员函数说明

◆ CheckAllFrozen()

bool TrafficManagerLocal::CheckAllFrozen ( TLGroup  tl_to_freeze)
private

检查一个交通灯组中的所有交通灯是否都被冻结的方法

参数
tl_to_freeze要检查的交通灯组
返回
如果所有交通灯都被冻结,则返回true;否则返回false

在文件 TrafficManagerLocal.cpp461 行定义.

◆ GetActionBuffer()

ActionBuffer TrafficManagerLocal::GetActionBuffer ( const ActorId actor_id)
virtual

获取车辆的动作缓冲区。

参数
actor_id车辆ID。
返回
返回车辆的动作缓冲区

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp457 行定义.

◆ GetEpisodeProxy()

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

获取CARLA仿真场景的信息代理。

返回
返回CARLA仿真场景的EpisodeProxy引用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp483 行定义.

◆ GetNextAction()

Action TrafficManagerLocal::GetNextAction ( const ActorId actor_id)
virtual

获取车辆的下一个动作。

参数
actor_id车辆ID。
返回
返回车辆的下一个动作

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp453 行定义.

◆ GetRegisteredVehiclesIDs()

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

获取所有已注册车辆的ID列表。

返回
返回包含所有已注册车辆ID的std::vector

在文件 TrafficManagerLocal.cpp487 行定义.

◆ RegisterVehicles()

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

向交通管理器注册车辆

参数
actor_list要注册的车辆列表,每个元素都是一个指向Actor的指针

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp320 行定义.

◆ Release()

void carla::TrafficManagerLocal::Release ( )
virtual

释放交通管理器 此方法用于释放TrafficManagerLocal所占用的资源,例如线程、内存等

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp305 行定义.

被这些函数引用 ~TrafficManagerLocal().

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

◆ RemoveImportedRoute()

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

移除路线。

参数
actor_id车辆ID。
remove_path是否移除路线。如果为true,则移除;如果为false,则不移除

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp433 行定义.

◆ RemoveUploadPath()

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

移除一组点。

参数
actor_id车辆ID。
remove_path是否移除路径。如果为true,则移除;如果为false,则不移除

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp421 行定义.

◆ Reset()

void carla::TrafficManagerLocal::Reset ( )
virtual

重置交通管理器
此方法将TrafficManagerLocal重置为其初始状态,清除所有已注册的车辆和设置

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp312 行定义.

◆ Run()

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

启动线程以顺序运行交通管理器
此方法将创建一个新线程(如果尚未创建),并在该线程中顺序运行交通管理器的逻辑

在文件 TrafficManagerLocal.cpp143 行定义.

引用了 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::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 TrafficManagerLocal::SetAutoLaneChange ( const ActorPtr actor,
const bool  enable 
)
virtual

启用或禁用车辆的自动换道功能。

参数
actor要设置自动换道状态的车辆指针。
enable是否启用自动换道。如果为true,则启用;如果为false,则禁用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp365 行定义.

◆ SetBoundariesRespawnDormantVehicles()

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

设置休眠车辆重生时的边界。

参数
lower_bound重生边界的下限。
upper_bound重生边界的上限

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp445 行定义.

◆ SetCollisionDetection()

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

设置两辆车之间的碰撞检测规则。

参数
reference_actor参考车辆指针,即碰撞检测中的一方。
other_actor另一车辆指针,即与参考车辆进行碰撞检测的另一方。
detect_collision是否启用两车之间的碰撞检测。如果为true,则启用;如果为false,则禁用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp357 行定义.

◆ SetCustomPath()

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

设置自定义路径。

参数
actor要设置路径的车辆指针。
path自定义路径。
empty_buffer是否清空已有的路径缓冲区。如果为true,则清空;如果为false,则不清空

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp417 行定义.

◆ SetDesiredSpeed()

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

设置车辆的精确期望速度

参数
actor要设置期望速度的车辆指针
value车辆的期望速度值

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp348 行定义.

◆ SetDistanceToLeadingVehicle()

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

设置车辆与前车应保持的距离。

参数
actor要设置距离的车辆指针。
distance车辆与前车应保持的距离值

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp369 行定义.

◆ SetForceLaneChange()

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

强制车辆进行换道。

参数
actor要强制换道的车辆指针。
direction换道方向。如果为true,则向左换道;如果为false,则向右换道

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp361 行定义.

◆ SetGlobalDistanceToLeadingVehicle()

void TrafficManagerLocal::SetGlobalDistanceToLeadingVehicle ( const float  distance)
virtual

设置车辆与全局前导车辆应保持的距离。

参数
distance车辆与全局前导车辆应保持的距离值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp373 行定义.

◆ SetGlobalLaneOffset()

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

设置全局车道相对于中心线的偏移量。

参数
offset车道偏移量。正值表示向右偏移,负值表示向左偏移。
此设置将影响所有由交通管理器管理的车辆

实现了 carla::traffic_manager::TrafficManagerBase.

◆ SetGlobalPercentageSpeedDifference()

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

设置全局相对于限速的速度百分比差异

参数
percentage全局速度百分比差异,如果小于0,则表示速度百分比增加
此设置将影响所有已注册的车辆

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp337 行定义.

◆ SetHybridPhysicsMode()

void TrafficManagerLocal::SetHybridPhysicsMode ( const bool  mode_switch)
virtual

设置混合物理模式。

参数
mode_switch是否启用混合物理模式。如果为true,则启用;如果为false,则禁用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp405 行定义.

◆ SetHybridPhysicsRadius()

void TrafficManagerLocal::SetHybridPhysicsRadius ( const float  radius)
virtual

设置混合物理模式的半径。

参数
radius混合物理模式的半径值

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp409 行定义.

◆ SetImportedRoute()

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

设置自定义路线。

参数
actor要设置路线的车辆指针。
route自定义路线。
empty_buffer是否清空已有的路线缓冲区。如果为true,则清空;如果为false,则不清空

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp429 行定义.

◆ SetKeepRightPercentage()

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

设置车辆保持在右侧车道的百分比概率。

参数
actor要设置的车辆指针。
percentage车辆保持在右侧车道的百分比概率

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp393 行定义.

◆ SetLaneOffset()

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

设置车辆相对于中心线的车道偏移量

参数
actor要设置车道偏移量的车辆指针
offset车道偏移量,正值表示向右偏移,负值表示向左偏移

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp341 行定义.

◆ SetMaxBoundaries()

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

设置重生休眠车辆时边界的限制。

参数
lower下限值。
upper上限值

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp449 行定义.

◆ SetOSMMode()

void TrafficManagerLocal::SetOSMMode ( const bool  mode_switch)
virtual

设置Open Street Map模式。

参数
mode_switch是否启用Open Street Map模式。如果为true,则启用;如果为false,则禁用.

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp413 行定义.

◆ SetPercentageIgnoreVehicles()

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

设置车辆忽略其他车辆碰撞的百分比概率。

参数
actor要设置忽略其他车辆碰撞概率的车辆指针。
perc忽略其他车辆碰撞的百分比概率。值范围应在0到100之间

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp381 行定义.

◆ SetPercentageIgnoreWalkers()

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

设置车辆忽略行人碰撞的百分比概率。

参数
actor要设置忽略行人碰撞概率的车辆指针。
perc忽略行人碰撞的百分比概率。值范围应在0到100之间。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp377 行定义.

◆ SetPercentageRunningLight()

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

设置车辆闯红灯的百分比概率。

参数
actor要设置闯红灯概率的车辆指针。
perc闯红灯的百分比概率。值范围应在0到100之间

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp385 行定义.

◆ SetPercentageRunningSign()

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

设置车辆无视交通标志的百分比概率。

参数
actor要设置无视交通标志概率的车辆指针。
perc无视交通标志的百分比概率。值范围应在0到100之间。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp389 行定义.

◆ SetPercentageSpeedDifference()

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

设置车辆相对于限速的速度百分比差异

参数
actor要设置速度差异的车辆指针
percentage速度百分比差异,如果小于0,则表示速度百分比增加

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp333 行定义.

◆ SetRandomDeviceSeed()

void TrafficManagerLocal::SetRandomDeviceSeed ( const uint64_t  _seed)
virtual

设置随机化种子。

参数
_seed随机化种子值

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp491 行定义.

◆ SetRandomLeftLaneChangePercentage()

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

设置车辆随机进行左车道变换的百分比概率。

参数
actor要设置的车辆指针。
percentage车辆随机进行左车道变换的百分比概率

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp397 行定义.

◆ SetRandomRightLaneChangePercentage()

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

设置车辆随机进行右车道变换的百分比概率。

参数
actor要设置的车辆指针。
percentage车辆随机进行右车道变换的百分比概率

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp401 行定义.

◆ SetRespawnDormantVehicles()

void TrafficManagerLocal::SetRespawnDormantVehicles ( const bool  mode_switch)
virtual

设置休眠车辆的自动重生模式。

参数
mode_switch是否启用休眠车辆的自动重生模式。如果为true,则启用;如果为false,则禁用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp441 行定义.

◆ SetSynchronousMode()

void TrafficManagerLocal::SetSynchronousMode ( bool  mode)
virtual

将交通管理器切换到同步执行模式。

参数
mode是否启用同步执行模式。如果为true,则启用;如果为false,则禁用。
在同步执行模式下,交通管理器的所有操作将按顺序执行,而不是并行执行

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp470 行定义.

◆ SetSynchronousModeTimeOutInMiliSecond()

void TrafficManagerLocal::SetSynchronousModeTimeOutInMiliSecond ( double  time)
virtual

设置同步执行时的Tick超时时间(以毫秒为单位)。

参数
timeTick超时时间,单位为毫秒

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp479 行定义.

◆ SetUpdateVehicleLights()

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

设置车辆的灯光是否自动管理。

设置车辆灯光自动管理的方法

参数
actor要设置灯光管理状态的车辆指针。
do_update是否启用自动灯光管理。如果为true,则启用;如果为false,则禁用

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp353 行定义.

◆ SetupLocalMap()

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

设置内存中的地图 此方法用于初始化或设置TrafficManagerLocal所使用的内存地图

在文件 TrafficManagerLocal.cpp119 行定义.

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

被这些函数引用 TrafficManagerLocal().

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

◆ ShutDown()

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

关闭并清理资源

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.h452 行定义.

◆ Start()

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

启动交通管理器
此方法用于启动TrafficManagerLocal,开始其管理交通的功能

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp138 行定义.

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

被这些函数引用 TrafficManagerLocal().

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

◆ Stop()

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

◆ SynchronousTick()

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

提供同步Tick。

返回
如果成功提供同步Tick,则返回true;否则返回false

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp253 行定义.

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

+ 函数调用图:

◆ UnregisterVehicles()

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

从交通管理器注销车辆

参数
actor_list要注销的车辆列表,每个元素都是一个指向Actor的指针

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp325 行定义.

◆ UpdateImportedRoute()

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

更新已设置的路线。

参数
actor_id车辆ID。
route新的路线

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp437 行定义.

◆ UpdateUploadPath()

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

更新已设置的点列表。

参数
actor_id车辆ID。
path新的路径

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerLocal.cpp425 行定义.

类成员变量说明

◆ alsm

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

自动驾驶局部路径规划模块(ALSM)
ALSM可能是一个用于生成局部路径规划算法的模块或对象

在文件 TrafficManagerLocal.h150 行定义.

被这些函数引用 Run().

◆ buffer_map

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

存储所有车辆路径点的缓冲区结构映射
使用BufferMap类型(可能是自定义的映射类型)来存储每个车辆的路径点缓冲区

在文件 TrafficManagerLocal.h113 行定义.

被这些函数引用 Stop().

◆ collision_frame

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

存储碰撞避免阶段输出数据的数组
用于存储碰撞避免阶段产生的数据

在文件 TrafficManagerLocal.h131 行定义.

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

◆ collision_stage

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

在文件 TrafficManagerLocal.h144 行定义.

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

◆ control_frame

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

存储运动规划阶段输出数据的数组
用于存储运动规划阶段产生的控制指令

在文件 TrafficManagerLocal.h137 行定义.

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

◆ current_reserved_capacity

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

用于跟踪当前为帧保留的数组空间的变量 这是一个无符号64位整数,用于记录为各个帧数组预留的空间大小

在文件 TrafficManagerLocal.h140 行定义.

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

◆ episode_proxy

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

CARLA 客户端连接对象。

用于与CARLA仿真环境进行通信的客户端连接对象。

在文件 TrafficManagerLocal.h90 行定义.

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

◆ lateral_highway_PID_parameters

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

高速公路横向PID控制器参数集合。

包含用于高速公路场景下横向PID控制器的参数集合。

在文件 TrafficManagerLocal.h84 行定义.

◆ lateral_PID_parameters

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

横向PID控制器参数集合。

包含用于横向(侧向)PID控制器的参数集合。

在文件 TrafficManagerLocal.h78 行定义.

◆ local_map

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

指向本地地图缓存的指针
使用智能指针管理InMemoryMap对象,用于存储和访问地图数据

在文件 TrafficManagerLocal.h110 行定义.

被这些函数引用 SetupLocalMap().

◆ localization_frame

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

存储定位阶段输出数据的数组
用于存储定位阶段产生的数据

在文件 TrafficManagerLocal.h128 行定义.

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

◆ localization_stage

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

表示交通管理器核心操作的各种阶段
这些阶段包括定位、碰撞避免、交通灯响应、运动规划和车辆灯光控制等

在文件 TrafficManagerLocal.h143 行定义.

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

◆ longitudinal_highway_PID_parameters

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

高速公路纵向PID控制器参数集合。

包含用于高速公路场景下纵向PID控制器的参数集合。

在文件 TrafficManagerLocal.h72 行定义.

◆ longitudinal_PID_parameters

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

纵向PID控制器参数集合。

包含用于纵向(前进方向)PID(比例-积分-微分)控制器的参数集合。

在文件 TrafficManagerLocal.h66 行定义.

◆ marked_for_removal

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

标记为删除的参与者ID列表 用于存储需要在某个时间点被移除的参与者ID

在文件 TrafficManagerLocal.h179 行定义.

◆ motion_plan_stage

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

在文件 TrafficManagerLocal.h146 行定义.

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

◆ parameters

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

参数化对象
包含交通管理器运行所需的各种配置参数

在文件 TrafficManagerLocal.h125 行定义.

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

◆ previous_update_instance

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

在异步模式下用于计算时间差(dt)的时间实例
使用TimePoint类型表示一个具体的时间点,用于与上一个更新时间点进行比较,以计算时间差

在文件 TrafficManagerLocal.h122 行定义.

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

◆ random_device

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

持有每辆车的随机设备的结构体
RandomGenerator是一个用于生成随机数的类或结构体,使用seed进行初始化

在文件 TrafficManagerLocal.h176 行定义.

◆ registered_vehicles

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

注册到交通管理器的所有参与者集合。

使用AtomicActorSet管理所有已注册到交通管理器的参与者(如车辆、行人等)。

在文件 TrafficManagerLocal.h102 行定义.

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

◆ registered_vehicles_state

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

用于跟踪注册参与者状态变化的计数器

在文件 TrafficManagerLocal.h104 行定义.

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

◆ registration_mutex

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

防止在帧数组重新分配期间注册车辆的互斥锁
用于保护车辆注册操作,确保在帧数组重新分配时不会有新的车辆被注册

在文件 TrafficManagerLocal.h182 行定义.

被这些函数引用 Run().

◆ run_traffic_manger

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

用于打开/关闭交通管理器的开关
这是一个原子布尔变量,用于线程安全地控制交通管理器的运行状态

在文件 TrafficManagerLocal.h156 行定义.

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

◆ seed

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

随机化种子
使用当前时间作为随机化种子,确保每次程序运行时都能产生不同的随机序列

在文件 TrafficManagerLocal.h173 行定义.

◆ server

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

交通管理器服务器实例。
负责处理来自客户端的请求,并管理交通管理器的运行

在文件 TrafficManagerLocal.h153 行定义.

被这些函数引用 ~TrafficManagerLocal().

◆ simulation_state

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

包含模拟中所有参与者当前状态的类型
用于表示模拟中所有参与者的状态信息

在文件 TrafficManagerLocal.h119 行定义.

被这些函数引用 Stop().

◆ step_begin

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

用于标记步骤开始和结束的标志 使用std::atomic<bool>确保跨线程的原子操作,避免数据竞争

在文件 TrafficManagerLocal.h159 行定义.

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

◆ step_begin_trigger

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

用于同步执行进度的条件变量 std::condition_variable用于线程间的同步,当一个线程需要等待某个条件成立时,可以阻塞在该条件变量上,直到另一个线程通知条件已成立

在文件 TrafficManagerLocal.h166 行定义.

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

◆ step_end

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

在文件 TrafficManagerLocal.h160 行定义.

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

◆ step_end_trigger

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

在文件 TrafficManagerLocal.h167 行定义.

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

◆ step_execution_mutex

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

用于同步执行进度的互斥锁 std::mutex用于保护共享资源,确保同一时间只有一个线程可以访问

在文件 TrafficManagerLocal.h163 行定义.

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

◆ tl_frame

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

存储交通灯响应阶段输出数据的数组
用于存储交通灯响应阶段产生的数据

在文件 TrafficManagerLocal.h134 行定义.

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

◆ track_traffic

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

用于跟踪交通车辆路径的对象 TrackTraffic对象可能包含有关交通车辆当前位置和预期路径的信息

在文件 TrafficManagerLocal.h116 行定义.

被这些函数引用 Stop().

◆ traffic_light_stage

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

在文件 TrafficManagerLocal.h145 行定义.

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

◆ vehicle_id_list

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

当前更新周期中注册到交通管理器的车辆列表
使用ActorId类型存储车辆的唯一标识符

在文件 TrafficManagerLocal.h107 行定义.

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

◆ vehicle_light_stage

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

在文件 TrafficManagerLocal.h147 行定义.

被这些函数引用 Run().

◆ worker_thread

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

用于顺序执行子组件的单个工作线程
使用std::unique_ptr<std::thread>管理线程的生命周期,确保线程在不再需要时能够被正确销毁

在文件 TrafficManagerLocal.h170 行定义.

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

◆ world

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

CARLA 世界对象。

表示CARLA仿真世界的一个对象,用于访问和操作仿真世界中的元素。

在文件 TrafficManagerLocal.h96 行定义.

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


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