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

交通管理服务器类,负责处理远程交通管理器的请求并应用更改到本地实例。 更多...

#include <TrafficManagerServer.h>

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

Public 成员函数

TrafficManagerServeroperator= (const TrafficManagerServer &)=default
 默认移动构造函数
 
TrafficManagerServeroperator= (TrafficManagerServer &&)=default
 默认拷贝赋值运算符
 
uint16_t port () const
 获取交通管理器服务器的RPC端口号
 
 TrafficManagerServer (const TrafficManagerServer &)=default
 
 TrafficManagerServer (TrafficManagerServer &&)=default
 默认拷贝构造函数
 
 TrafficManagerServer (uint16_t &RPCPort, carla::traffic_manager::TrafficManagerBase *tm)
 默认移动赋值运算符
 
 ~TrafficManagerServer ()
 析构函数,释放交通管理器服务器资源
 

Private 属性

uint16_t _RPCPort
 交通管理器服务器的RPC端口号
 
::rpc::server * server = nullptr
 服务器实例指针
 

详细描述

交通管理服务器类,负责处理远程交通管理器的请求并应用更改到本地实例。

在文件 TrafficManagerServer.h81 行定义.

构造及析构函数说明

◆ TrafficManagerServer() [1/3]

carla::traffic_manager::TrafficManagerServer::TrafficManagerServer ( const TrafficManagerServer & )
default

◆ TrafficManagerServer() [2/3]

carla::traffic_manager::TrafficManagerServer::TrafficManagerServer ( TrafficManagerServer && )
default

默认拷贝构造函数

◆ TrafficManagerServer() [3/3]

carla::traffic_manager::TrafficManagerServer::TrafficManagerServer ( uint16_t & RPCPort,
carla::traffic_manager::TrafficManagerBase * tm )
inline

默认移动赋值运算符

构造函数,初始化交通管理服务器实例。

参数
RPCPort引用传递的RPC端口号,用于创建服务器实例并监听远程交通管理器的请求。
tm指向TrafficManagerBase类型的指针,用于通过远程交通管理器应用更改到本地实例。

创建服务器实例

捕获异常后,更新端口号并重试创建服务器实例 在每次重试前,线程将休眠500毫秒

如果服务器实例创建成功

如果服务器仍未创建,则抛出运行时异常

异常
std::runtime_error如果系统因绑定错误而无法创建RPC服务器,则抛出运行时异常

如果服务器创建成功,我们将一个lambda函数绑定到名称"register_vehicle"

将rpc::Actor转换为ActorPtr,并添加到actor_list中

在交通管理器中注册车辆

绑定一个lambda函数到名称"unregister_vehicle"

将rpc::Actor转换为ActorPtr,并添加到actor_list中

在交通管理器中注销车辆

设置车辆相对于限速的速度降低百分比的方法
如果小于0,则表示百分比增加

设置车辆的百分比速度差异

设置从中心线偏移的车道位移的方法 正值表示向右偏移,负值表示向左偏移

设置车辆的车道偏移量

设置车辆的精确期望速度的方法

设置车辆的期望速度

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

设置是否更新车辆灯光

设置全局相对于限速的速度降低百分比的方法 如果小于0,则表示百分比增加

参数
percentage速度降低的百分比(负值表示增加)

调用交通管理器的SetGlobalPercentageSpeedDifference方法来设置全局速度差异百分比

设置全局从中心线偏移的车道位移的方法 正值表示向右偏移,负值表示向左偏移

参数
offset车道偏移量

调用交通管理器的SetGlobalLaneOffset方法来设置全局车道偏移量

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

参数
reference_actor参考车辆(用于检测碰撞的基准车辆)
other_actor另一车辆(与参考车辆进行碰撞检测的车辆)
detect_collision是否检测碰撞(true表示检测,false表示不检测)

将rpc::Actor转换为ActorPtr类型

调用交通管理器的SetCollisionDetection方法来设置碰撞检测规则

强制车辆换道的方法

参数
actor需要强制换道的车辆
direction换道方向(true表示向左,false表示向右)

将rpc::Actor转换为ActorPtr类型,并调用交通管理器的SetForceLaneChange方法来强制车辆换道

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

参数
actor需要设置自动换道功能的车辆
enable是否启用自动换道(true表示启用,false表示禁用)

将rpc::Actor转换为ActorPtr类型,并调用交通管理器的SetAutoLaneChange方法来启用或禁用自动换道功能

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

参数
actor需要设置距离的车辆
distance应保持的距离

将rpc::Actor转换为ActorPtr类型,并调用交通管理器的SetDistanceToLeadingVehicle方法来设置与前车的距离

设置全局车辆应保持与前车距离的方法

参数
distance全局应保持的距离

调用交通管理器的SetGlobalDistanceToLeadingVehicle方法来设置全局与前车的距离

设置交通灯运行概率的方法

参数
actorCARLA中的Actor对象
percentage交通灯运行的概率(百分比)

设置交通标志运行概率的方法

参数
actorCARLA中的Actor对象
percentage交通标志运行的概率(百分比)

设置忽略行人碰撞概率的方法

参数
actorCARLA中的Actor对象
percentage忽略行人碰撞的概率(百分比)

设置忽略车辆碰撞概率的方法

参数
actorCARLA中的Actor对象
percentage忽略车辆碰撞的概率(百分比)

设置保持在右侧车道行驶概率的方法

参数
actorCARLA中的Actor对象
percentage保持在右侧车道行驶的概率(百分比)

设置随机进行左车道变换概率的方法

参数
actorCARLA中的Actor对象
percentage随机进行左车道变换的概率(百分比)

设置随机进行右车道变换概率的方法

参数
actorCARLA中的Actor对象
percentage随机进行右车道变换的概率(百分比)

设置混合物理模式的方法

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

设置混合物理半径的方法

参数
radius混合物理的半径

设置OSM(OpenStreetMap)模式的方法

参数
mode_switch是否开启OSM模式

设置自定义路径的方法

参数
actorCARLA中的Actor对象
path自定义的路径
empty_buffer是否清空缓冲区

移除指定的一系列点的方法

参数
server用于绑定方法的服务器对象
actor_id需要移除路径的Actor的ID
remove_path一个布尔值,指示是否移除路径

更新已经设置的一系列点的方法

参数
server用于绑定方法的服务器对象
actor_id需要更新路径的Actor的ID
path新的路径数据

设置我们自己的导入路线的方法

参数
server用于绑定方法的服务器对象
actor包含路线信息的Actor对象
route需要设置的路线数据
empty_buffer一个布尔值,指示是否清空缓冲区

移除指定路线的方法

参数
server用于绑定方法的服务器对象
actor_id需要移除路线的Actor的ID
remove_path一个布尔值,指示是否移除路径

更新已经设置的路线的方法

参数
server用于绑定方法的服务器对象
actor_id需要更新路线的Actor的ID
route新的路线数据

设置重生休眠车辆模式的方法。

参数
server用于绑定方法的服务器对象。
mode_switch一个布尔值,指示是否开启重生休眠车辆模式

设置重生休眠车辆的边界范围的方法

参数
server用于绑定方法的服务器对象
lower_bound重生休眠车辆的下边界值
upper_bound重生休眠车辆的上边界值

获取车辆下一个动作的方法

参数
actor_id需要获取动作的车辆Actor的ID

获取车辆动作缓冲区的方法

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

关闭服务器的方法

设置同步模式的方法

参数
mode一个布尔值,指示是否开启同步模式

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

参数
time同步模式的超时时间,单位为毫秒

设置随机化种子的方法

参数
seed用于随机化过程的种子值

提供同步时钟的方法

返回
一个布尔值,指示同步时钟是否成功

检查服务器是否正在运行的方法

以异步模式运行交通管理器服务器,以响应任何用户客户端的请求

参数
RPCPort引用传递的RPC端口号
tm指向TrafficManagerBase的指针

在文件 TrafficManagerServer.h96 行定义.

引用了 carla::client::detail::ActorVariant::Get(), carla::traffic_manager::TrafficManagerBase::GetActionBuffer(), carla::traffic_manager::TrafficManagerBase::GetEpisodeProxy(), carla::traffic_manager::TrafficManagerBase::GetNextAction(), carla::traffic_manager::constants::Networking::MIN_TRY_COUNT, carla::traffic_manager::TrafficManagerBase::RegisterVehicles(), carla::traffic_manager::TrafficManagerBase::Release(), carla::traffic_manager::TrafficManagerBase::RemoveImportedRoute(), carla::traffic_manager::TrafficManagerBase::RemoveUploadPath(), carla::traffic_manager::TrafficManagerBase::SetAutoLaneChange(), carla::traffic_manager::TrafficManagerBase::SetBoundariesRespawnDormantVehicles(), carla::traffic_manager::TrafficManagerBase::SetCollisionDetection(), carla::traffic_manager::TrafficManagerBase::SetCustomPath(), carla::traffic_manager::TrafficManagerBase::SetDesiredSpeed(), carla::traffic_manager::TrafficManagerBase::SetDistanceToLeadingVehicle(), carla::traffic_manager::TrafficManagerBase::SetForceLaneChange(), carla::traffic_manager::TrafficManagerBase::SetGlobalDistanceToLeadingVehicle(), carla::traffic_manager::TrafficManagerBase::SetGlobalLaneOffset(), carla::traffic_manager::TrafficManagerBase::SetGlobalPercentageSpeedDifference(), carla::traffic_manager::TrafficManagerBase::SetHybridPhysicsMode(), carla::traffic_manager::TrafficManagerBase::SetHybridPhysicsRadius(), carla::traffic_manager::TrafficManagerBase::SetImportedRoute(), carla::traffic_manager::TrafficManagerBase::SetKeepRightPercentage(), carla::traffic_manager::TrafficManagerBase::SetLaneOffset(), carla::traffic_manager::TrafficManagerBase::SetOSMMode(), carla::traffic_manager::TrafficManagerBase::SetPercentageIgnoreVehicles(), carla::traffic_manager::TrafficManagerBase::SetPercentageIgnoreWalkers(), carla::traffic_manager::TrafficManagerBase::SetPercentageRunningLight(), carla::traffic_manager::TrafficManagerBase::SetPercentageRunningSign(), carla::traffic_manager::TrafficManagerBase::SetPercentageSpeedDifference(), carla::traffic_manager::TrafficManagerBase::SetRandomDeviceSeed(), carla::traffic_manager::TrafficManagerBase::SetRandomLeftLaneChangePercentage(), carla::traffic_manager::TrafficManagerBase::SetRandomRightLaneChangePercentage(), carla::traffic_manager::TrafficManagerBase::SetRespawnDormantVehicles(), carla::traffic_manager::TrafficManagerBase::SetSynchronousMode(), carla::traffic_manager::TrafficManagerBase::SetSynchronousModeTimeOutInMiliSecond(), carla::traffic_manager::TrafficManagerBase::SetUpdateVehicleLights(), carla::traffic_manager::TrafficManagerBase::SynchronousTick(), carla::throw_exception(), carla::traffic_manager::TrafficManagerBase::UnregisterVehicles(), carla::traffic_manager::TrafficManagerBase::UpdateImportedRoute() , 以及 carla::traffic_manager::TrafficManagerBase::UpdateUploadPath().

+ 函数调用图:

◆ ~TrafficManagerServer()

carla::traffic_manager::TrafficManagerServer::~TrafficManagerServer ( )
inline

析构函数,释放交通管理器服务器资源

在文件 TrafficManagerServer.h417 行定义.

引用了 server.

成员函数说明

◆ operator=() [1/2]

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

默认移动构造函数

◆ operator=() [2/2]

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

默认拷贝赋值运算符

◆ port()

uint16_t carla::traffic_manager::TrafficManagerServer::port ( ) const
inline

获取交通管理器服务器的RPC端口号

返回
RPC端口号

在文件 TrafficManagerServer.h428 行定义.

引用了 _RPCPort.

类成员变量说明

◆ _RPCPort

uint16_t carla::traffic_manager::TrafficManagerServer::_RPCPort
private

交通管理器服务器的RPC端口号

在文件 TrafficManagerServer.h435 行定义.

被这些函数引用 port().

◆ server

::rpc::server* carla::traffic_manager::TrafficManagerServer::server = nullptr
private

服务器实例指针

在文件 TrafficManagerServer.h438 行定义.

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


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