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

该类通过使用消息传递机制,将交通管理器的各个阶段恰当地整合在一起 更多...

#include <TrafficManager.h>

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

Public 成员函数

ActionBuffer GetActionBuffer (const ActorId &actor_id)
 获取指定参与者的动作缓冲区。
更多...
 
Action GetNextAction (const ActorId &actor_id)
 获取指定参与者的下一个动作。
更多...
 
bool IsValidPort () const
 检查端口号是否有效。
更多...
 
TrafficManageroperator= (const TrafficManager &)=default
 拷贝赋值运算符,用于将另一个TrafficManager对象赋值给当前对象 更多...
 
TrafficManageroperator= (TrafficManager &&)=default
 移动赋值运算符,用于将另一个TrafficManager对象移动赋值给当前对象 更多...
 
uint16_t Port () const
 获取当前端口号。
更多...
 
void RegisterVehicles (const std::vector< ActorPtr > &actor_list)
 向交通管理器注册车辆。
更多...
 
void RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)
 移除路线。
更多...
 
void RemoveUploadPath (const ActorId &actor_id, const bool remove_path)
 移除路径。
更多...
 
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)
 设置同步执行模式的滴答超时时间(以毫秒为单位)。
更多...
 
void SetUpdateVehicleLights (const ActorPtr &actor, const bool do_update)
 设置车辆灯光的自动管理 更多...
 
void ShutDown ()
 关闭交通管理器服务或客户端。 更多...
 
bool SynchronousTick ()
 执行同步滴答。
更多...
 
 TrafficManager ()
 默认构造函数,不执行任何操作。 更多...
 
 TrafficManager (carla::client::detail::EpisodeProxy episode_proxy, uint16_t port=TM_DEFAULT_PORT)
 公有构造函数,用于单例生命周期管理。
更多...
 
 TrafficManager (const TrafficManager &other)
 拷贝构造函数,用于复制另一个TrafficManager对象。
更多...
 
 TrafficManager (TrafficManager &&)=default
 移动构造函数,用于移动另一个TrafficManager对象 更多...
 
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)
 更新已设置的路径。
更多...
 

静态 Public 成员函数

static void Release ()
 释放TrafficManager对象,用于单例模式的清理工作 更多...
 
static void Reset ()
 重置TrafficManager对象,用于单例模式的重置操作 更多...
 
static void Tick ()
 执行TrafficManager的Tick操作,通常用于周期性地更新状态 更多...
 

Private 成员函数

bool CreateTrafficManagerClient (carla::client::detail::EpisodeProxy episode_proxy, uint16_t port)
 创建交通管理器客户端。
更多...
 
void CreateTrafficManagerServer (carla::client::detail::EpisodeProxy episode_proxy, uint16_t port)
 创建交通管理器服务器。
更多...
 
TrafficManagerBaseGetTM (uint16_t port) const
 根据端口号获取交通管理器实例。
更多...
 

Private 属性

uint16_t _port = 0
 当前交通管理器实例使用的端口号。 更多...
 

静态 Private 属性

static std::mutex _mutex
 用于保护_tm_map的静态互斥锁。 更多...
 
static std::map< uint16_t, TrafficManagerBase * > _tm_map
 存储交通管理器实例的静态映射表。
更多...
 

详细描述

该类通过使用消息传递机制,将交通管理器的各个阶段恰当地整合在一起

在文件 TrafficManager.h26 行定义.

构造及析构函数说明

◆ TrafficManager() [1/4]

carla::traffic_manager::TrafficManager::TrafficManager ( carla::client::detail::EpisodeProxy  episode_proxy,
uint16_t  port = TM_DEFAULT_PORT 
)
explicit

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

参数
episode_proxyCARLA客户端的EpisodeProxy对象,代表一个场景会话。
port交通管理器的端口号,默认为TM_DEFAULT_PORT

在文件 TrafficManager.cpp35 行定义.

引用了 _port, CreateTrafficManagerClient(), CreateTrafficManagerServer() , 以及 GetTM().

+ 函数调用图:

◆ TrafficManager() [2/4]

carla::traffic_manager::TrafficManager::TrafficManager ( const TrafficManager other)
inline

拷贝构造函数,用于复制另一个TrafficManager对象。

参数
other要复制的TrafficManager对象。

在文件 TrafficManager.h37 行定义.

引用了 _port.

◆ TrafficManager() [3/4]

carla::traffic_manager::TrafficManager::TrafficManager ( )
inline

默认构造函数,不执行任何操作。

在文件 TrafficManager.h41 行定义.

◆ TrafficManager() [4/4]

carla::traffic_manager::TrafficManager::TrafficManager ( TrafficManager &&  )
default

移动构造函数,用于移动另一个TrafficManager对象

成员函数说明

◆ CreateTrafficManagerClient()

bool carla::traffic_manager::TrafficManager::CreateTrafficManagerClient ( carla::client::detail::EpisodeProxy  episode_proxy,
uint16_t  port 
)
private

创建交通管理器客户端。

参数
episode_proxy与当前场景相关联的代理对象。
port客户端连接的端口号。
返回
如果创建成功,则返回true;否则返回false。

获取TM服务器信息(远程IP和端口)

设置远程TM服务器的IP和端口

尝试连接到远程TM服务器

检查内存是否分配成功

尝试重置所有交通信号灯

设置实例指针

如果发生连接错误

清除之前分配的内存

在文件 TrafficManager.cpp186 行定义.

引用了 _tm_map, carla::traffic_manager::TrafficManagerRemote::HealthCheckRemoteTM() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().

被这些函数引用 TrafficManager().

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

◆ CreateTrafficManagerServer()

void carla::traffic_manager::TrafficManager::CreateTrafficManagerServer ( carla::client::detail::EpisodeProxy  episode_proxy,
uint16_t  port 
)
private

创建交通管理器服务器。

参数
episode_proxy与当前场景相关联的代理对象。
port服务器监听的端口号。

定义局部常量

创建交通管理器的本地实例

获取TM服务器信息(本地IP和端口)

将此客户端设置为TM服务器

设置实例指针

在文件 TrafficManager.cpp92 行定义.

引用了 _tm_map, carla::traffic_manager::constants::SpeedThreshold::INITIAL_PERCENTAGE_SPEED_DIFFERENCE, IP_DATA_BUFFER_SIZE, carla::traffic_manager::constants::PID::LATERAL_HIGHWAY_PARAM, carla::traffic_manager::constants::PID::LATERAL_PARAM, carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::traffic_manager::constants::PID::LONGITUDIAL_HIGHWAY_PARAM, carla::traffic_manager::constants::PID::LONGITUDIAL_PARAM , 以及 SOCK_INVALID_INDEX.

被这些函数引用 TrafficManager().

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

◆ GetActionBuffer()

ActionBuffer carla::traffic_manager::TrafficManager::GetActionBuffer ( const ActorId actor_id)
inline

获取指定参与者的动作缓冲区。

参数
actor_id参与者的唯一标识符。
返回
指定参与者的动作缓冲区。

在文件 TrafficManager.h433 行定义.

引用了 _port, carla::traffic_manager::TrafficManagerBase::GetActionBuffer() , 以及 GetTM().

+ 函数调用图:

◆ GetNextAction()

Action carla::traffic_manager::TrafficManager::GetNextAction ( const ActorId actor_id)
inline

获取指定参与者的下一个动作。

参数
actor_id参与者的唯一标识符。
返回
指定参与者的下一个动作。

在文件 TrafficManager.h420 行定义.

引用了 _port, carla::traffic_manager::TrafficManagerBase::GetNextAction() , 以及 GetTM().

+ 函数调用图:

◆ GetTM()

TrafficManagerBase * carla::traffic_manager::TrafficManager::GetTM ( uint16_t  port) const
inlineprivate

◆ IsValidPort()

bool carla::traffic_manager::TrafficManager::IsValidPort ( ) const
inline

检查端口号是否有效。

通常,操作系统会保留前1024个端口,因此有效端口号应大于1023。

返回
如果端口号有效,则返回true;否则返回false。

在文件 TrafficManager.h62 行定义.

引用了 _port.

◆ operator=() [1/2]

TrafficManager & carla::traffic_manager::TrafficManager::operator= ( const TrafficManager )
default

拷贝赋值运算符,用于将另一个TrafficManager对象赋值给当前对象

◆ operator=() [2/2]

TrafficManager & carla::traffic_manager::TrafficManager::operator= ( TrafficManager &&  )
default

移动赋值运算符,用于将另一个TrafficManager对象移动赋值给当前对象

◆ Port()

uint16_t carla::traffic_manager::TrafficManager::Port ( ) const
inline

获取当前端口号。

返回
返回当前设置的端口号

在文件 TrafficManager.h56 行定义.

引用了 _port.

◆ RegisterVehicles()

void carla::traffic_manager::TrafficManager::RegisterVehicles ( const std::vector< ActorPtr > &  actor_list)
inline

向交通管理器注册车辆。

此方法用于将一组车辆注册到TrafficManager中。

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

在文件 TrafficManager.h189 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::RegisterVehicles().

被这些函数引用 carla::client::Vehicle::SetAutopilot().

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

◆ Release()

void carla::traffic_manager::TrafficManager::Release ( )
static

释放TrafficManager对象,用于单例模式的清理工作

在文件 TrafficManager.cpp51 行定义.

引用了 _mutex , 以及 _tm_map.

被这些函数引用 carla::client::detail::Episode::OnEpisodeStarted().

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

◆ RemoveImportedRoute()

void carla::traffic_manager::TrafficManager::RemoveImportedRoute ( const ActorId actor_id,
const bool  remove_path 
)
inline

移除路线。

参数
actor_id要移除路线的Actor的ID。
remove_path如果为true,则移除路线;如果为false,则不执行操作(具体行为可能依赖于实现)

在文件 TrafficManager.h120 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::RemoveImportedRoute().

+ 函数调用图:

◆ RemoveUploadPath()

void carla::traffic_manager::TrafficManager::RemoveUploadPath ( const ActorId actor_id,
const bool  remove_path 
)
inline

移除路径。

参数
actor_id要移除路径的Actor的ID。
remove_path如果为true,则移除路径;如果为false,则不执行操作(具体行为可能依赖于实现)

在文件 TrafficManager.h89 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::RemoveUploadPath().

+ 函数调用图:

◆ Reset()

void carla::traffic_manager::TrafficManager::Reset ( )
static

重置TrafficManager对象,用于单例模式的重置操作

在文件 TrafficManager.cpp62 行定义.

引用了 _mutex , 以及 _tm_map.

被这些函数引用 carla::client::detail::Episode::OnEpisodeChanged().

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

◆ SetAutoLaneChange()

void carla::traffic_manager::TrafficManager::SetAutoLaneChange ( const ActorPtr actor,
const bool  enable 
)
inline

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

在文件 TrafficManager.h284 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetAutoLaneChange().

+ 函数调用图:

◆ SetBoundariesRespawnDormantVehicles()

void carla::traffic_manager::TrafficManager::SetBoundariesRespawnDormantVehicles ( const float  lower_bound,
const float  upper_bound 
)
inline

设置重生车辆的范围边界。

参数
lower_bound范围的下界。
upper_bound范围的上界。

在文件 TrafficManager.h148 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetBoundariesRespawnDormantVehicles().

+ 函数调用图:

◆ SetCollisionDetection()

void carla::traffic_manager::TrafficManager::SetCollisionDetection ( const ActorPtr reference_actor,
const ActorPtr other_actor,
const bool  detect_collision 
)
inline

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

在文件 TrafficManager.h267 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetCollisionDetection().

+ 函数调用图:

◆ SetCustomPath()

void carla::traffic_manager::TrafficManager::SetCustomPath ( const ActorPtr actor,
const Path  path,
const bool  empty_buffer 
)
inline

设置自定义路径。

参数
actor对应的Actor指针。
path要设置的路径。
empty_buffer如果为true,则在设置新路径前清空缓冲区

在文件 TrafficManager.h79 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetCustomPath().

+ 函数调用图:

◆ SetDesiredSpeed()

void carla::traffic_manager::TrafficManager::SetDesiredSpeed ( const ActorPtr actor,
const float  value 
)
inline

设置车辆的期望速度。

此方法用于设置车辆的精确期望速度。

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

在文件 TrafficManager.h232 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetDesiredSpeed().

+ 函数调用图:

◆ SetDistanceToLeadingVehicle()

void carla::traffic_manager::TrafficManager::SetDistanceToLeadingVehicle ( const ActorPtr actor,
const float  distance 
)
inline

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

在文件 TrafficManager.h292 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetDistanceToLeadingVehicle().

+ 函数调用图:

◆ SetForceLaneChange()

void carla::traffic_manager::TrafficManager::SetForceLaneChange ( const ActorPtr actor,
const bool  direction 
)
inline

强制车辆换道。

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

在文件 TrafficManager.h276 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetForceLaneChange().

+ 函数调用图:

◆ SetGlobalDistanceToLeadingVehicle()

void carla::traffic_manager::TrafficManager::SetGlobalDistanceToLeadingVehicle ( const float  distance)
inline

设置全局的前车距离。

参数
distance前车距离。

在文件 TrafficManager.h369 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetGlobalDistanceToLeadingVehicle().

+ 函数调用图:

◆ SetGlobalLaneOffset()

void carla::traffic_manager::TrafficManager::SetGlobalLaneOffset ( float const  offset)
inline

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

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

在文件 TrafficManager.h251 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetGlobalLaneOffset().

+ 函数调用图:

◆ SetGlobalPercentageSpeedDifference()

void carla::traffic_manager::TrafficManager::SetGlobalPercentageSpeedDifference ( float const  percentage)
inline

设置全局速度百分比差异。

此方法用于设置所有车辆相对于道路限速的全局速度百分比差异。如果百分比小于0,则表示速度增加。

参数
percentage全局速度百分比差异。

在文件 TrafficManager.h242 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetGlobalPercentageSpeedDifference().

+ 函数调用图:

◆ SetHybridPhysicsMode()

void carla::traffic_manager::TrafficManager::SetHybridPhysicsMode ( const bool  mode_switch)
inline

设置混合物理模式。

此方法用于启用或禁用TrafficManager的混合物理模式。

参数
mode_switch启用(true)或禁用(false)混合物理模式。

在文件 TrafficManager.h169 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetHybridPhysicsMode().

+ 函数调用图:

◆ SetHybridPhysicsRadius()

void carla::traffic_manager::TrafficManager::SetHybridPhysicsRadius ( const float  radius)
inline

设置混合物理半径。

此方法用于设置TrafficManager的混合物理模式的触发半径。

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

在文件 TrafficManager.h179 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetHybridPhysicsRadius().

+ 函数调用图:

◆ SetImportedRoute()

void carla::traffic_manager::TrafficManager::SetImportedRoute ( const ActorPtr actor,
const Route  route,
const bool  empty_buffer 
)
inline

设置导入的路线。

参数
actor对应的Actor指针。
route要设置的路线。
empty_buffer如果为true,则在设置新路线前清空缓冲区。

在文件 TrafficManager.h110 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetImportedRoute().

+ 函数调用图:

◆ SetKeepRightPercentage()

void carla::traffic_manager::TrafficManager::SetKeepRightPercentage ( const ActorPtr actor,
const float  percentage 
)
inline

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

参数
actor车辆指针。
percentage保持在右侧车道的百分比。

在文件 TrafficManager.h379 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetKeepRightPercentage().

+ 函数调用图:

◆ SetLaneOffset()

void carla::traffic_manager::TrafficManager::SetLaneOffset ( const ActorPtr actor,
const float  offset 
)
inline

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

此方法用于设置车辆相对于车道中心线的偏移量。正值表示向右偏移,负值表示向左偏移。

参数
actor要设置车道偏移的车辆。
offset车道偏移量。

在文件 TrafficManager.h221 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetLaneOffset().

+ 函数调用图:

◆ SetMaxBoundaries()

void carla::traffic_manager::TrafficManager::SetMaxBoundaries ( const float  lower,
const float  upper 
)
inline

设置重生车辆的边界。

此方法用于为TrafficManager设置车辆重生时的上下边界。

参数
lower下边界值。
upper上边界值。

在文件 TrafficManager.h159 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetMaxBoundaries().

+ 函数调用图:

◆ SetOSMMode()

void carla::traffic_manager::TrafficManager::SetOSMMode ( const bool  mode_switch)
inline

设置Open Street Map模式。

参数
mode_switch如果为true,则启用OSM模式;如果为false,则禁用

在文件 TrafficManager.h68 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetOSMMode().

+ 函数调用图:

◆ SetPercentageIgnoreVehicles()

void carla::traffic_manager::TrafficManager::SetPercentageIgnoreVehicles ( const ActorPtr actor,
const float  perc 
)
inline

设置忽略车辆的碰撞概率。

参数
actor车辆指针。
perc忽略碰撞的概率(百分比)。

在文件 TrafficManager.h312 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetPercentageIgnoreVehicles().

+ 函数调用图:

◆ SetPercentageIgnoreWalkers()

void carla::traffic_manager::TrafficManager::SetPercentageIgnoreWalkers ( const ActorPtr actor,
const float  perc 
)
inline

设置忽略行人的碰撞概率。

参数
actor车辆指针。
perc忽略碰撞的概率(百分比)。

在文件 TrafficManager.h302 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetPercentageIgnoreWalkers().

+ 函数调用图:

◆ SetPercentageRunningLight()

void carla::traffic_manager::TrafficManager::SetPercentageRunningLight ( const ActorPtr actor,
const float  perc 
)
inline

设置无视交通信号灯的概率。

参数
actor车辆指针。
perc无视交通信号灯的概率(百分比)。

在文件 TrafficManager.h332 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetPercentageRunningLight().

+ 函数调用图:

◆ SetPercentageRunningSign()

void carla::traffic_manager::TrafficManager::SetPercentageRunningSign ( const ActorPtr actor,
const float  perc 
)
inline

设置无视交通标志的概率。

参数
actor车辆指针。
perc无视交通标志的概率(百分比)。

在文件 TrafficManager.h322 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetPercentageRunningSign().

+ 函数调用图:

◆ SetPercentageSpeedDifference()

void carla::traffic_manager::TrafficManager::SetPercentageSpeedDifference ( const ActorPtr actor,
const float  percentage 
)
inline

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

此方法用于设置车辆相对于道路限速的速度百分比差异。如果百分比小于0,则表示速度增加。

参数
actor要设置速度差异的车辆。
percentage速度百分比差异。

在文件 TrafficManager.h210 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetPercentageSpeedDifference().

+ 函数调用图:

◆ SetRandomDeviceSeed()

void carla::traffic_manager::TrafficManager::SetRandomDeviceSeed ( const uint64_t  seed)
inline

设置随机数生成器的种子。

参数
seed随机数生成器的种子。

在文件 TrafficManager.h408 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetRandomDeviceSeed().

+ 函数调用图:

◆ SetRandomLeftLaneChangePercentage()

void carla::traffic_manager::TrafficManager::SetRandomLeftLaneChangePercentage ( const ActorPtr actor,
const float  percentage 
)
inline

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

参数
actor车辆指针。
percentage随机进行左侧车道变换的百分比。

在文件 TrafficManager.h389 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetRandomLeftLaneChangePercentage().

+ 函数调用图:

◆ SetRandomRightLaneChangePercentage()

void carla::traffic_manager::TrafficManager::SetRandomRightLaneChangePercentage ( const ActorPtr actor,
const float  percentage 
)
inline

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

参数
actor车辆指针。
percentage随机进行右侧车道变换的百分比。

在文件 TrafficManager.h399 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetRandomRightLaneChangePercentage().

+ 函数调用图:

◆ SetRespawnDormantVehicles()

void carla::traffic_manager::TrafficManager::SetRespawnDormantVehicles ( const bool  mode_switch)
inline

设置是否自动重生车辆。

参数
mode_switch如果为true,则启用自动重生;如果为false,则禁用。

在文件 TrafficManager.h139 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetRespawnDormantVehicles().

+ 函数调用图:

◆ SetSynchronousMode()

void carla::traffic_manager::TrafficManager::SetSynchronousMode ( bool  mode)
inline

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

参数
mode是否启用同步模式(true为启用,false为禁用)。

在文件 TrafficManager.h341 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetSynchronousMode().

+ 函数调用图:

◆ SetSynchronousModeTimeOutInMiliSecond()

void carla::traffic_manager::TrafficManager::SetSynchronousModeTimeOutInMiliSecond ( double  time)
inline

设置同步执行模式的滴答超时时间(以毫秒为单位)。

参数
time超时时间,单位为毫秒。

在文件 TrafficManager.h350 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetSynchronousModeTimeOutInMiliSecond().

+ 函数调用图:

◆ SetUpdateVehicleLights()

void carla::traffic_manager::TrafficManager::SetUpdateVehicleLights ( const ActorPtr actor,
const bool  do_update 
)
inline

设置车辆灯光的自动管理

在文件 TrafficManager.h259 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SetUpdateVehicleLights().

+ 函数调用图:

◆ ShutDown()

void carla::traffic_manager::TrafficManager::ShutDown ( )

关闭交通管理器服务或客户端。

在文件 TrafficManager.cpp78 行定义.

引用了 _mutex, _port, _tm_map, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::ShutDown().

+ 函数调用图:

◆ SynchronousTick()

bool carla::traffic_manager::TrafficManager::SynchronousTick ( )
inline

执行同步滴答。

返回
如果成功执行同步滴答,则返回true;否则返回false。

在文件 TrafficManager.h359 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::SynchronousTick().

+ 函数调用图:

◆ Tick()

void carla::traffic_manager::TrafficManager::Tick ( )
static

执行TrafficManager的Tick操作,通常用于周期性地更新状态

在文件 TrafficManager.cpp70 行定义.

引用了 _mutex , 以及 _tm_map.

被这些函数引用 carla::client::detail::SynchronizeFrame().

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

◆ UnregisterVehicles()

void carla::traffic_manager::TrafficManager::UnregisterVehicles ( const std::vector< ActorPtr > &  actor_list)
inline

从交通管理器注销车辆。

此方法用于从TrafficManager中注销一组车辆。

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

在文件 TrafficManager.h199 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::UnregisterVehicles().

被这些函数引用 carla::client::Vehicle::SetAutopilot().

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

◆ UpdateImportedRoute()

void carla::traffic_manager::TrafficManager::UpdateImportedRoute ( const ActorId actor_id,
const Route  route 
)
inline

更新已设置的路线。

参数
actor_id要更新路线的Actor的ID。
route新的路线。

在文件 TrafficManager.h130 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::UpdateImportedRoute().

+ 函数调用图:

◆ UpdateUploadPath()

void carla::traffic_manager::TrafficManager::UpdateUploadPath ( const ActorId actor_id,
const Path  path 
)
inline

更新已设置的路径。

参数
actor_id要更新路径的Actor的ID。
path新的路径。

在文件 TrafficManager.h99 行定义.

引用了 _port, GetTM() , 以及 carla::traffic_manager::TrafficManagerBase::UpdateUploadPath().

+ 函数调用图:

类成员变量说明

◆ _mutex

std::mutex carla::traffic_manager::TrafficManager::_mutex
staticprivate

用于保护_tm_map的静态互斥锁。

在文件 TrafficManager.h473 行定义.

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

◆ _port

uint16_t carla::traffic_manager::TrafficManager::_port = 0
private

◆ _tm_map

std::map< uint16_t, TrafficManagerBase * > carla::traffic_manager::TrafficManager::_tm_map
staticprivate

存储交通管理器实例的静态映射表。

键为端口号,值为对应的交通管理器实例指针

在文件 TrafficManager.h471 行定义.

被这些函数引用 CreateTrafficManagerClient(), CreateTrafficManagerServer(), GetTM(), Release(), Reset(), ShutDown() , 以及 Tick().


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