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

远程交通管理器类,通过消息传递机制整合交通管理的各个阶段。 更多...

#include <TrafficManagerRemote.h>

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

Public 成员函数

ActionBuffer GetActionBuffer (const ActorId &actor_id)
 获取车辆的动作缓冲区。 更多...
 
carla::client::detail::EpisodeProxyGetEpisodeProxy ()
 获取CARLA回合信息。 更多...
 
Action GetNextAction (const ActorId &actor_id)
 获取车辆的下一个动作。 更多...
 
void HealthCheckRemoteTM ()
 检查服务器是否存活。 更多...
 
void RegisterVehicles (const std::vector< ActorPtr > &actor_list)
 注册车辆到交通管理器。 更多...
 
void Release ()
 释放交通管理器。 更多...
 
void RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)
 移除路线。 更多...
 
void RemoveUploadPath (const ActorId &actor_id, const bool remove_path)
 移除路径。 更多...
 
void Reset ()
 重置交通管理器。 更多...
 
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(OSM)模式。 更多...
 
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)
 设置车辆灯光的自动管理功能。 更多...
 
virtual void ShutDown ()
 关闭交通管理器。 更多...
 
void Start ()
 启动交通管理器。 更多...
 
void Stop ()
 停止交通管理器。 更多...
 
bool SynchronousTick ()
 提供同步Tick。 更多...
 
 TrafficManagerRemote (const std::pair< std::string, uint16_t > &_serverTM, carla::client::detail::EpisodeProxy &episodeProxy)
 构造函数,存储远程服务器的位置信息。 更多...
 
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 ~TrafficManagerRemote ()
 析构函数。 更多...
 
- 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 属性

std::condition_variable _cv
 条件变量,用于线程同步。 更多...
 
bool _keep_alive = true
 保持活动状态标志。 更多...
 
std::mutex _mutex
 互斥锁,用于保护共享资源。 更多...
 
TrafficManagerClient client
 远程客户端,使用IP和端口信息连接到远程RPC交通管理器服务器。 更多...
 
carla::client::detail::EpisodeProxy episodeProxyTM
 CARLA客户端连接对象。 更多...
 

详细描述

远程交通管理器类,通过消息传递机制整合交通管理的各个阶段。

该类继承自TrafficManagerBase,提供了远程交通管理的功能,包括启动、停止、重置以及车辆的注册、注销和速度控制等。

在文件 TrafficManagerRemote.h52 行定义.

构造及析构函数说明

◆ TrafficManagerRemote()

carla::traffic_manager::TrafficManagerRemote::TrafficManagerRemote ( const std::pair< std::string, uint16_t > &  _serverTM,
carla::client::detail::EpisodeProxy episodeProxy 
)

构造函数,存储远程服务器的位置信息。

参数
_serverTM远程交通管理器的地址和端口号。
episodeProxy与当前仿真片段相关联的代理对象。

在文件 TrafficManagerRemote.cpp20 行定义.

引用了 Start().

+ 函数调用图:

◆ ~TrafficManagerRemote()

carla::traffic_manager::TrafficManagerRemote::~TrafficManagerRemote ( )
virtual

析构函数。

Destructor.

释放TrafficManagerRemote对象占用的资源。

在文件 TrafficManagerRemote.cpp32 行定义.

引用了 Release().

+ 函数调用图:

成员函数说明

◆ GetActionBuffer()

ActionBuffer carla::traffic_manager::TrafficManagerRemote::GetActionBuffer ( const ActorId actor_id)
virtual

获取车辆的动作缓冲区。

参数
actor_id需要获取动作缓冲区的车辆ID。
返回
车辆的动作缓冲区。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp361 行定义.

◆ GetEpisodeProxy()

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

获取CARLA回合信息。

返回
CARLA回合信息的代理对象。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp376 行定义.

引用了 episodeProxyTM.

◆ GetNextAction()

Action carla::traffic_manager::TrafficManagerRemote::GetNextAction ( const ActorId actor_id)
virtual

获取车辆的下一个动作。

参数
actor_id需要获取动作的车辆ID。
返回
车辆的下一个动作。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp356 行定义.

◆ HealthCheckRemoteTM()

void carla::traffic_manager::TrafficManagerRemote::HealthCheckRemoteTM ( )

检查服务器是否存活。

在文件 TrafficManagerRemote.cpp371 行定义.

被这些函数引用 carla::traffic_manager::TrafficManager::CreateTrafficManagerClient().

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

◆ RegisterVehicles()

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

注册车辆到交通管理器。

参数
actor_list需要注册的车辆列表。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp118 行定义.

◆ Release()

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

释放交通管理器。

彻底释放交通管理器占用的资源,确保不再使用。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp101 行定义.

引用了 Stop().

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

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

◆ RemoveImportedRoute()

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

移除路线。

参数
actor_id需要移除路线的车辆ID。
remove_path是否移除路线。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp316 行定义.

◆ RemoveUploadPath()

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

移除路径。

参数
actor_id需要移除路径的车辆ID。
remove_path是否移除路径。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp298 行定义.

◆ Reset()

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

重置交通管理器。

将交通管理器重置到初始状态,准备进行新的交通管理任务。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp106 行定义.

引用了 episodeProxyTM, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), Start() , 以及 Stop().

+ 函数调用图:

◆ SetAutoLaneChange()

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

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

参数
actor需要设置自动换道功能的车辆对象。
enable是否启用自动换道功能。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp197 行定义.

◆ SetBoundariesRespawnDormantVehicles()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp331 行定义.

◆ SetCollisionDetection()

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

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

参数
reference_actor参考车辆对象,即碰撞检测的一方。
other_actor另一车辆对象,即与参考车辆进行碰撞检测的对象。
detect_collision是否启用碰撞检测功能。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp180 行定义.

◆ SetCustomPath()

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

设置自定义路径。

参数
actor需要设置自定义路径的车辆对象。
path自定义路径对象。
empty_buffer是否清空动作缓冲区。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp290 行定义.

◆ SetDesiredSpeed()

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

设置车辆的精确期望速度。

参数
actor需要设置期望速度的车辆。
value车辆的期望速度。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp146 行定义.

◆ SetDistanceToLeadingVehicle()

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

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

参数
actor需要设置距离的车辆对象。
distance车辆与前车应保持的具体距离值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp205 行定义.

◆ SetForceLaneChange()

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

强制车辆进行换道。

方向标志设置为true表示向左换道,设置为false表示向右换道。

参数
actor需要进行换道的车辆对象。
direction换道方向标志。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp189 行定义.

◆ SetGlobalDistanceToLeadingVehicle()

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

设置全局前车距离。

参数
distance全局前车距离的具体值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp213 行定义.

◆ SetGlobalLaneOffset()

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

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

正值表示向右偏移,负值表示向左偏移。

参数
offset车道偏移量的具体值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp167 行定义.

◆ SetGlobalPercentageSpeedDifference()

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

设置全局速度相对于限速的百分比减少量。

如果传入的值小于0,则表示速度百分比增加。

参数
percentage速度变化的百分比值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp154 行定义.

◆ SetHybridPhysicsMode()

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

设置混合物理模式。

参数
mode_switch是否启用混合物理模式。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp275 行定义.

◆ SetHybridPhysicsRadius()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp280 行定义.

◆ SetImportedRoute()

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

设置自定义路线。

参数
actor需要设置自定义路线的车辆对象。
route自定义路线对象。
empty_buffer是否清空动作缓冲区。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp308 行定义.

◆ SetKeepRightPercentage()

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

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

参数
actor需要设置保持在右侧车道概率的车辆对象。
percentage保持在右侧车道的百分比概率值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp251 行定义.

◆ SetLaneOffset()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp159 行定义.

◆ SetMaxBoundaries()

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

设置最大的重生边界。

参数
lower最小的重生边界值。
upper最大的重生边界值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp336 行定义.

◆ SetOSMMode()

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

设置Open Street Map(OSM)模式。

参数
mode_switch是否启用OSM模式。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp285 行定义.

◆ SetPercentageIgnoreVehicles()

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

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

参数
actor需要设置碰撞忽略概率的车辆对象。
perc忽略其他车辆碰撞的百分比概率值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp227 行定义.

◆ SetPercentageIgnoreWalkers()

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

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

参数
actor需要设置碰撞忽略概率的车辆对象。
perc忽略行人碰撞的百分比概率值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp219 行定义.

◆ SetPercentageRunningLight()

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

设置车辆无视交通信号灯的概率百分比。

参数
actor需要设置无视信号灯概率的车辆对象。
perc无视交通信号灯的概率百分比值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp235 行定义.

◆ SetPercentageRunningSign()

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

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

参数
actor需要设置无视交通标志概率的车辆对象。
perc无视交通标志的概率百分比值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp243 行定义.

◆ SetPercentageSpeedDifference()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp138 行定义.

◆ SetRandomDeviceSeed()

void carla::traffic_manager::TrafficManagerRemote::SetRandomDeviceSeed ( const uint64_t  seed)
virtual

设置随机化种子。

参数
seed随机化种子值。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp381 行定义.

◆ SetRandomLeftLaneChangePercentage()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp259 行定义.

◆ SetRandomRightLaneChangePercentage()

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

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

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

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp267 行定义.

◆ SetRespawnDormantVehicles()

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

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

参数
mode_switch是否启用自动重生休眠车辆模式。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp326 行定义.

◆ SetSynchronousMode()

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

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

参数
mode是否启用同步执行模式。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp346 行定义.

◆ SetSynchronousModeTimeOutInMiliSecond()

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

设置同步执行模式的Tick超时时间(毫秒)。

参数
time同步执行模式的Tick超时时间值(毫秒)。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp351 行定义.

◆ SetUpdateVehicleLights()

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

设置车辆灯光的自动管理功能。

参数
actor需要设置灯光自动管理的车辆对象。
do_update是否启用灯光自动管理功能。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp172 行定义.

◆ ShutDown()

void carla::traffic_manager::TrafficManagerRemote::ShutDown ( )
virtual

关闭交通管理器。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp341 行定义.

◆ Start()

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

启动交通管理器。

初始化并启动交通管理器的各个组件,准备进行交通管理。

Until connection active

Create error msg

TSet the error message

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp37 行定义.

引用了 _cv, _keep_alive, episodeProxyTM , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().

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

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

◆ Stop()

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

停止交通管理器。

停止交通管理器的运行,释放相关资源。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp91 行定义.

引用了 _cv, _keep_alive , 以及 _mutex.

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

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

◆ SynchronousTick()

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

提供同步Tick。

返回
是否成功执行同步Tick。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp366 行定义.

◆ UnregisterVehicles()

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

从交通管理器注销车辆。

参数
actor_list需要注销的车辆列表。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp128 行定义.

◆ UpdateImportedRoute()

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

更新已设置的路线。

参数
actor_id需要更新路线的车辆ID。
route新的路线对象。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp321 行定义.

◆ UpdateUploadPath()

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

更新已设置的路径。

参数
actor_id需要更新路径的车辆ID。
path新的路径对象。

实现了 carla::traffic_manager::TrafficManagerBase.

在文件 TrafficManagerRemote.cpp303 行定义.

类成员变量说明

◆ _cv

std::condition_variable carla::traffic_manager::TrafficManagerRemote::_cv
private

条件变量,用于线程同步。

在文件 TrafficManagerRemote.h429 行定义.

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

◆ _keep_alive

bool carla::traffic_manager::TrafficManagerRemote::_keep_alive = true
private

保持活动状态标志。

在文件 TrafficManagerRemote.h437 行定义.

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

◆ _mutex

std::mutex carla::traffic_manager::TrafficManagerRemote::_mutex
private

互斥锁,用于保护共享资源。

在文件 TrafficManagerRemote.h433 行定义.

被这些函数引用 Stop().

◆ client

TrafficManagerClient carla::traffic_manager::TrafficManagerRemote::client
private

远程客户端,使用IP和端口信息连接到远程RPC交通管理器服务器。

在文件 TrafficManagerRemote.h420 行定义.

◆ episodeProxyTM

carla::client::detail::EpisodeProxy carla::traffic_manager::TrafficManagerRemote::episodeProxyTM
private

CARLA客户端连接对象。

在文件 TrafficManagerRemote.h425 行定义.

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


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