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().


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