CARLA
 
载入中...
搜索中...
未找到
命名空间 | | 类型定义 | 枚举 | 函数
carla::traffic_manager 命名空间参考

Carla项目的交通管理命名空间。 更多...

命名空间

namespace  constants
 
namespace  PID
 

struct  ActuationSignal
 用来保存驱动信号的结构 更多...
 
class  AtomicActorSet
 
class  AtomicMap
 一个线程安全的、基于unordered_map的原子映射类。 更多...
 
class  CachedSimpleWaypoint
 
struct  ChangeLaneInfo
 路线类型,由一系列字节组成,表示路线信息 更多...
 
struct  CollisionHazardData
 
struct  CollisionLock
 
class  CollisionStage
 该类具有检测与附近演员潜在碰撞的功能。 更多...
 
struct  GeometryComparison
 
class  InMemoryMap
 此类构建一个离散的本地地图缓存。 使用世界实例化该类并运行SetUp()构造本地地图。 更多...
 
struct  KinematicState
 
struct  LocalizationData
 
class  LocalizationStage
 此类功能是维护车辆前方的路径点以供跟随。 该类还负责管理车道变更决策并适当地修改路径轨迹。 更多...
 
class  MotionPlanStage
 
class  Parameters
 交通管理参数 更多...
 
class  RandomGenerator
 
class  SimpleWaypoint
 该类是Carla的Waypoint对象的简单封装。 该类用于表示世界地图的离散样本。 更多...
 
class  SimulationState
 该类保持了仿真中所有车辆的状态。 更多...
 
class  SnippetProfiler
 
class  Stage
 阶段类型接口。 更多...
 
struct  StateEntry
 用来保存控制器状态的结构体 更多...
 
struct  StaticAttributes
 
class  TrackTraffic
 
class  TrafficLightStage
 
struct  TrafficLightState
 
class  TrafficManager
 该类通过使用消息传递机制,将交通管理器的各个阶段恰当地整合在一起 更多...
 
class  TrafficManagerBase
 / * / * 更多...
 
class  TrafficManagerClient
 提供与TrafficManagerServer的RPC通信功能。 更多...
 
class  TrafficManagerLocal
 交通管理器本地类,通过消息传递机制整合交通管理器的各个阶段。 @inherits TrafficManagerBase 更多...
 
class  TrafficManagerRemote
 远程交通管理器类,通过消息传递机制整合交通管理的各个阶段。 更多...
 
class  TrafficManagerServer
 交通管理服务器类,负责处理远程交通管理器的请求并应用更改到本地实例。 更多...
 
class  VehicleLightStage
 VehicleLightStage类负责根据车辆当前的状态和周围环境来开启或关闭车辆的灯光 更多...
 

类型定义

using Action = std::pair<RoadOption, WaypointPtr>
 动作类型别名。
 
using ActionBuffer = std::vector<Action>
 动作缓冲区类型别名。
 
using Actor = carla::SharedPtr<cc::Actor>
 
using ActorId = carla::ActorId
 参与者的智能指针类型
 
using ActorIdSet = std::unordered_set<ActorId>
 
using ActorPtr = carla::SharedPtr<cc::Actor>
 使用别名简化代码中的命名
 
using Box = bg::model::box<Point3D>
 
using Buffer = std::deque<std::shared_ptr<SimpleWaypoint>>
 
using BufferMap = std::unordered_map<carla::ActorId, Buffer>
 
using CollisionFrame = std::vector<CollisionHazardData>
 
using CollisionLockMap = std::unordered_map<ActorId, CollisionLock>
 
using ControlFrame = std::vector<carla::rpc::Command>
 
using GeodesicBoundaryMap = std::unordered_map<ActorId, LocationVector>
 
using GeoGridId = crd::JuncId
 
using GeometryComparisonMap = std::unordered_map<uint64_t, GeometryComparison>
 
using Junction = carla::SharedPtr<carla::client::Junction>
 
using JunctionID = carla::road::JuncId
 
using KinematicStateMap = std::unordered_map<ActorId, KinematicState>
 
using LaneChangeSWptMap = std::unordered_map<ActorId, SimpleWaypointPtr>
 
using LocalizationFrame = std::vector<LocalizationData>
 
using LocalMapPtr = std::shared_ptr<InMemoryMap>
 本地地图指针类型,使用智能指针管理InMemoryMap对象
 
using LocationVector = std::vector<cg::Location>
 
using NodeList = std::vector<SimpleWaypointPtr>
 
using Path = std::vector<cg::Location>
 参与者的唯一标识符类型
 
using Point2D = bg::model::point<double, 2, bg::cs::cartesian>
 
using Point3D = bg::model::point<float, 3, bg::cs::cartesian>
 
using Polygon = bg::model::polygon<bg::model::d2::point_xy<double>>
 
using RawNodeList = std::vector<WaypointPtr>
 
using Route = std::vector<uint8_t>
 路线类型,由一系列地理位置组成
 
using Rtree = bgi::rtree<SpatialTreeEntry, bgi::rstar<16>>
 
using SegmentId = std::tuple<crd::RoadId, crd::LaneId, crd::SectionId>
 
using SegmentMap = std::map<SegmentId, std::vector<SimpleWaypointPtr>>
 
using SegmentTopology = std::map<SegmentId, std::pair<std::vector<SegmentId>, std::vector<SegmentId>>>
 
using SimpleWaypointPtr = std::shared_ptr<SimpleWaypoint>
 
using SpatialTreeEntry = std::pair<Point3D, SimpleWaypointPtr>
 
using StaticAttributeMap = std::unordered_map<ActorId, StaticAttributes>
 
using TargetWPInfo = std::pair<SimpleWaypointPtr, uint64_t>
 根据目标点距离从路点缓冲区返回路点信息
 
using TimeInstance = chr::time_point<chr::system_clock, chr::nanoseconds>
 
using TimePoint = chr::time_point<chr::system_clock, chr::nanoseconds>
 时间点类型,使用系统时钟和纳秒精度
 
using TLFrame = std::vector<bool>
 
using TLGroup = std::vector<carla::SharedPtr<carla::client::TrafficLight>>
 交通灯组类型,使用CARLA的智能指针管理交通灯对象的集合
 
using TLMap = std::unordered_map<std::string, SharedPtr<client::Actor>>
 
using TLS = carla::rpc::TrafficLightState
 
using TopologyList = std::vector<std::pair<WaypointPtr, WaypointPtr>>
 
using TrafficLightStateMap = std::unordered_map<ActorId, TrafficLightState>
 
using WaypointPtr = carla::SharedPtr<cc::Waypoint>
 Waypoint的智能指针类型别名。
 
using WorldMap = carla::SharedPtr<const cc::Map>
 

枚举

enum  ActorType { Vehicle , Pedestrian , Any }
 
enum class  RoadOption : uint8_t {
  Void = 0 , Left = 1 , Right = 2 , Straight = 3 ,
  LaneFollow = 4 , ChangeLaneLeft = 5 , ChangeLaneRight = 6 , RoadEnd = 7
}
 

函数

float DeviationCrossProduct (const cg::Location &reference_location, const cg::Vector3D &heading_vector, const cg::Location &target_location)
 返回车辆朝向向量与指向下一个目标路点方向向量之间的叉积(z分量值)
 
float DeviationDotProduct (const cg::Location &reference_location, const cg::Vector3D &heading_vector, const cg::Location &target_location)
 返回车辆朝向向量与指向下一个目标路点方向向量之间的点积
 
TargetWPInfo GetTargetWaypoint (const Buffer &waypoint_buffer, const float &target_point_distance)
 
void PopWaypoint (ActorId actor_id, TrackTraffic &track_traffic, Buffer &buffer, bool front_or_back)
 
void PushWaypoint (ActorId actor_id, TrackTraffic &track_traffic, Buffer &buffer, SimpleWaypointPtr &waypoint)
 

详细描述

Carla项目的交通管理命名空间。

包含标准库中的向量容器

引入条件变量类,用于线程间的同步

包含CARLA客户端中Actor类的定义

carla命名空间中用于交通管理的子命名空间。

包含CARLA交通管理器中SimpleWaypoint类的定义

CARLA交通管理器的命名空间。

引入互斥锁类,用于保护共享数据的访问

引入动态数组类,用于储存多个元素

CARLA客户端Actor类的头文件,包含了Actor(参与者)的定义和接口

CARLA客户端EpisodeProxy类的头文件,包含了与仿真片段(Episode)相关的操作和接口

CARLA交通管理器基础类的头文件,提供了交通管理器的基本功能和接口

CARLA交通管理器客户端类的头文件,用于与交通管理器进行通信和控制

CARLA仿真环境中的交通管理器命名空间。

该命名空间包含了与交通管理相关的类、函数和类型定义,用于实现交通流的控制和管理。

引入CARLA项目中的异常处理类

用于处理CARLA项目中可能出现的各种异常情况。

引入CARLA客户端中的参与者(Actor)管理相关类

参与者(Actor)是CARLA仿真环境中的基础元素,可以代表车辆、行人、传感器等。

引入CARLA客户端内部使用的参与者(Actor)变体类型

这是一个实现细节,用于在客户端内部灵活处理不同类型的参与者。

引入CARLA RPC服务器相关类

用于与CARLA服务器进行远程过程调用(RPC)通信。

引入CARLA交通管理模块中的常量定义

包含交通管理模块中使用的一些常量,如速度限制、时间间隔等。

引入CARLA交通管理基础类

这是交通管理模块的核心类之一,提供了交通管理的基本功能。

carla命名空间中用于管理交通流的子命名空间。

类型定义说明

◆ Action

动作类型别名。

这是一个包含RoadOption和WaypointPtr的pair,表示一个动作,其中RoadOption表示行驶选项,WaypointPtr表示该动作的目标点。

在文件 LocalizationStage.h23 行定义.

◆ ActionBuffer

typedef std::vector< Action > carla::traffic_manager::ActionBuffer = std::vector<Action>

动作缓冲区类型别名。

这是一个包含Action的向量,用于存储一系列的动作。

在文件 LocalizationStage.h24 行定义.

◆ Actor

在文件 LocalizationUtils.h26 行定义.

◆ ActorId

参与者的智能指针类型

使用carla::rpc命名空间中的ActorId类型。

在文件 AtomicActorSet.h21 行定义.

◆ ActorIdSet

typedef std::unordered_set< ActorId > carla::traffic_manager::ActorIdSet = std::unordered_set<ActorId>

在文件 LocalizationUtils.h28 行定义.

◆ ActorPtr

使用别名简化代码中的命名

定义一个智能指针类型,用于指向carla::client::Actor类型的对象。

定义一个智能指针类型,指向carla::client::Actor类。

Actor的智能指针类型别名。

< 使用常量TM_DEFAULT_PORT,表示交通管理器的默认端口号

定义Actor的智能指针类型,用于管理Actor对象的生命周期

这是一个指向carla::client::Actor对象的共享指针。

用于在交通管理器中方便地管理Actor(如车辆、行人等)的引用。

在文件 AtomicActorSet.h20 行定义.

◆ Box

using carla::traffic_manager::Box = bg::model::box<Point3D>

在文件 InMemoryMap.h52 行定义.

◆ Buffer

typedef std::deque< SimpleWaypointPtr > carla::traffic_manager::Buffer = std::deque<std::shared_ptr<SimpleWaypoint>>

在文件 CollisionStage.h44 行定义.

◆ BufferMap

typedef std::unordered_map< carla::ActorId, Buffer > carla::traffic_manager::BufferMap = std::unordered_map<carla::ActorId, Buffer>

在文件 CollisionStage.h45 行定义.

◆ CollisionFrame

在文件 DataStructures.h53 行定义.

◆ CollisionLockMap

在文件 CollisionStage.h39 行定义.

◆ ControlFrame

在文件 DataStructures.h55 行定义.

◆ GeodesicBoundaryMap

在文件 CollisionStage.h47 行定义.

◆ GeoGridId

在文件 InMemoryMap.h48 行定义.

◆ GeometryComparisonMap

在文件 CollisionStage.h48 行定义.

◆ Junction

在文件 DataStructures.h30 行定义.

◆ JunctionID

在文件 DataStructures.h29 行定义.

◆ KinematicStateMap

在文件 SimulationState.h28 行定义.

◆ LaneChangeSWptMap

在文件 LocalizationStage.h21 行定义.

◆ LocalizationFrame

在文件 DataStructures.h44 行定义.

◆ LocalMapPtr

typedef std::shared_ptr< InMemoryMap > carla::traffic_manager::LocalMapPtr = std::shared_ptr<InMemoryMap>

本地地图指针类型,使用智能指针管理InMemoryMap对象

在文件 LocalizationStage.h20 行定义.

◆ LocationVector

在文件 CollisionStage.h46 行定义.

◆ NodeList

在文件 InMemoryMap.h47 行定义.

◆ Path

typedef std::vector< cg::Location > carla::traffic_manager::Path = std::vector<cg::Location>

参与者的唯一标识符类型

定义一个路径类型,使用std::vector存储cg::Location对象,表示一系列地理位置。

定义一个路径类型,由多个cg::Location组成。

路径类型别名。

这是一个包含cg::Location对象的向量,用于表示一条路径。

用于表示一个Actor在地图上的移动路径。

在文件 LocalizationStage.h25 行定义.

◆ Point2D

using carla::traffic_manager::Point2D = bg::model::point<double, 2, bg::cs::cartesian>

在文件 CollisionStage.cpp12 行定义.

◆ Point3D

using carla::traffic_manager::Point3D = bg::model::point<float, 3, bg::cs::cartesian>

在文件 InMemoryMap.h51 行定义.

◆ Polygon

using carla::traffic_manager::Polygon = bg::model::polygon<bg::model::d2::point_xy<double>>

在文件 CollisionStage.h49 行定义.

◆ RawNodeList

在文件 InMemoryMap.cpp22 行定义.

◆ Route

typedef std::vector< uint8_t > carla::traffic_manager::Route = std::vector<uint8_t>

路线类型,由一系列地理位置组成

定义一个路线类型,使用std::vector存储uint8_t类型的数据,表示一系列路线信息。

定义一个路线类型,由多个uint8_t组成。

路线类型别名。

这是一个包含uint8_t的向量,用于表示一条路线(可能是一个编码的路径或导航指令)。

用于表示一个Actor在交通网络中的路线信息。

在文件 LocalizationStage.h26 行定义.

◆ Rtree

using carla::traffic_manager::Rtree = bgi::rtree<SpatialTreeEntry, bgi::rstar<16>>

在文件 InMemoryMap.h58 行定义.

◆ SegmentId

在文件 InMemoryMap.h55 行定义.

◆ SegmentMap

在文件 InMemoryMap.h57 行定义.

◆ SegmentTopology

using carla::traffic_manager::SegmentTopology = std::map<SegmentId, std::pair<std::vector<SegmentId>, std::vector<SegmentId>>>

在文件 InMemoryMap.h56 行定义.

◆ SimpleWaypointPtr

typedef std::shared_ptr< SimpleWaypoint > carla::traffic_manager::SimpleWaypointPtr = std::shared_ptr<SimpleWaypoint>

在文件 CachedSimpleWaypoint.h16 行定义.

◆ SpatialTreeEntry

在文件 InMemoryMap.h53 行定义.

◆ StaticAttributeMap

在文件 SimulationState.h44 行定义.

◆ TargetWPInfo

根据目标点距离从路点缓冲区返回路点信息

在文件 LocalizationUtils.h53 行定义.

◆ TimeInstance

typedef chr::time_point< chr::system_clock, chr::nanoseconds > carla::traffic_manager::TimeInstance = chr::time_point<chr::system_clock, chr::nanoseconds>

在文件 DataStructures.h34 行定义.

◆ TimePoint

typedef chr::time_point< chr::system_clock, chr::nanoseconds > carla::traffic_manager::TimePoint = chr::time_point<chr::system_clock, chr::nanoseconds>

时间点类型,使用系统时钟和纳秒精度

在文件 SnippetProfiler.h19 行定义.

◆ TLFrame

using carla::traffic_manager::TLFrame = std::vector<bool>

在文件 DataStructures.h57 行定义.

◆ TLGroup

交通灯组类型,使用CARLA的智能指针管理交通灯对象的集合

在文件 TrafficManagerLocal.h45 行定义.

◆ TLMap

using carla::traffic_manager::TLMap = std::unordered_map<std::string, SharedPtr<client::Actor>>

在文件 MotionPlanStage.h21 行定义.

◆ TLS

在文件 CollisionStage.cpp13 行定义.

◆ TopologyList

在文件 InMemoryMap.cpp20 行定义.

◆ TrafficLightStateMap

在文件 SimulationState.h35 行定义.

◆ WaypointPtr

Waypoint的智能指针类型别名。

这是一个指向carla::client::Waypoint对象的共享指针。

在文件 InMemoryMap.h45 行定义.

◆ WorldMap

在文件 InMemoryMap.h49 行定义.

枚举类型说明

◆ ActorType

枚举值
Vehicle 
Pedestrian 
Any 

在文件 SimulationState.h12 行定义.

◆ RoadOption

enum class carla::traffic_manager::RoadOption : uint8_t
strong
枚举值
Void 
Left 
Right 
Straight 
LaneFollow 
ChangeLaneLeft 
ChangeLaneRight 
RoadEnd 

在文件 SimpleWaypoint.h25 行定义.

函数说明

◆ DeviationCrossProduct()

float carla::traffic_manager::DeviationCrossProduct ( const cg::Location & reference_location,
const cg::Vector3D & heading_vector,
const cg::Location & target_location )

返回车辆朝向向量与指向下一个目标路点方向向量之间的叉积(z分量值)

在文件 LocalizationUtils.cpp16 行定义.

引用了 carla::geom::Vector3D::MakeSafeUnitVector(), carla::geom::Vector3D::x , 以及 carla::geom::Vector3D::y.

被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().

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

◆ DeviationDotProduct()

float carla::traffic_manager::DeviationDotProduct ( const cg::Location & reference_location,
const cg::Vector3D & heading_vector,
const cg::Location & target_location )

返回车辆朝向向量与指向下一个目标路点方向向量之间的点积

在文件 LocalizationUtils.cpp26 行定义.

引用了 carla::geom::Vector3D::MakeSafeUnitVector(), carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.

被这些函数引用 carla::traffic_manager::MotionPlanStage::Update() , 以及 carla::traffic_manager::LocalizationStage::Update().

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

◆ GetTargetWaypoint()

TargetWPInfo carla::traffic_manager::GetTargetWaypoint ( const Buffer & waypoint_buffer,
const float & target_point_distance )

在文件 LocalizationUtils.cpp61 行定义.

被这些函数引用 carla::traffic_manager::TrafficLightStage::GetAffectedJunctionId(), carla::traffic_manager::CollisionStage::GetGeodesicBoundary(), carla::traffic_manager::MotionPlanStage::Update(), carla::traffic_manager::CollisionStage::Update() , 以及 carla::traffic_manager::LocalizationStage::Update().

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

◆ PopWaypoint()

void carla::traffic_manager::PopWaypoint ( ActorId actor_id,
TrackTraffic & track_traffic,
Buffer & buffer,
bool front_or_back )

在文件 LocalizationUtils.cpp48 行定义.

引用了 carla::traffic_manager::TrackTraffic::RemovePassingVehicle().

被这些函数引用 carla::traffic_manager::LocalizationStage::ImportPath(), carla::traffic_manager::LocalizationStage::ImportRoute() , 以及 carla::traffic_manager::LocalizationStage::Update().

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

◆ PushWaypoint()

void carla::traffic_manager::PushWaypoint ( ActorId actor_id,
TrackTraffic & track_traffic,
Buffer & buffer,
SimpleWaypointPtr & waypoint )

在文件 LocalizationUtils.cpp40 行定义.

引用了 carla::traffic_manager::TrackTraffic::UpdatePassingVehicle().

被这些函数引用 carla::traffic_manager::LocalizationStage::ExtendAndFindSafeSpace(), carla::traffic_manager::LocalizationStage::ImportPath(), carla::traffic_manager::LocalizationStage::ImportRoute() , 以及 carla::traffic_manager::LocalizationStage::Update().

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