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命名空间中用于管理交通流的子命名空间。
typedef std::pair< RoadOption, WaypointPtr > carla::traffic_manager::Action = std::pair<RoadOption, WaypointPtr> |
动作类型别名。
这是一个包含RoadOption和WaypointPtr的pair,表示一个动作,其中RoadOption表示行驶选项,WaypointPtr表示该动作的目标点。
在文件 LocalizationStage.h 第 23 行定义.
typedef std::vector< Action > carla::traffic_manager::ActionBuffer = std::vector<Action> |
在文件 LocalizationUtils.h 第 26 行定义.
typedef std::unordered_set< ActorId > carla::traffic_manager::ActorIdSet = std::unordered_set<ActorId> |
在文件 LocalizationUtils.h 第 28 行定义.
typedef carla::SharedPtr< carla::client::Actor > carla::traffic_manager::ActorPtr = carla::SharedPtr<cc::Actor> |
使用别名简化代码中的命名
定义一个智能指针类型,用于指向carla::client::Actor类型的对象。
定义一个智能指针类型,指向carla::client::Actor类。
Actor的智能指针类型别名。
< 使用常量TM_DEFAULT_PORT,表示交通管理器的默认端口号
定义Actor的智能指针类型,用于管理Actor对象的生命周期
这是一个指向carla::client::Actor对象的共享指针。
用于在交通管理器中方便地管理Actor(如车辆、行人等)的引用。
在文件 AtomicActorSet.h 第 20 行定义.
using carla::traffic_manager::Box = bg::model::box<Point3D> |
在文件 InMemoryMap.h 第 52 行定义.
typedef std::deque< SimpleWaypointPtr > carla::traffic_manager::Buffer = std::deque<std::shared_ptr<SimpleWaypoint>> |
在文件 CollisionStage.h 第 44 行定义.
typedef std::unordered_map< carla::ActorId, Buffer > carla::traffic_manager::BufferMap = std::unordered_map<carla::ActorId, Buffer> |
在文件 CollisionStage.h 第 45 行定义.
using carla::traffic_manager::CollisionFrame = std::vector<CollisionHazardData> |
在文件 DataStructures.h 第 53 行定义.
using carla::traffic_manager::CollisionLockMap = std::unordered_map<ActorId, CollisionLock> |
在文件 CollisionStage.h 第 39 行定义.
using carla::traffic_manager::ControlFrame = std::vector<carla::rpc::Command> |
在文件 DataStructures.h 第 55 行定义.
using carla::traffic_manager::GeodesicBoundaryMap = std::unordered_map<ActorId, LocationVector> |
在文件 CollisionStage.h 第 47 行定义.
在文件 InMemoryMap.h 第 48 行定义.
using carla::traffic_manager::GeometryComparisonMap = std::unordered_map<uint64_t, GeometryComparison> |
在文件 CollisionStage.h 第 48 行定义.
在文件 DataStructures.h 第 30 行定义.
在文件 DataStructures.h 第 29 行定义.
using carla::traffic_manager::KinematicStateMap = std::unordered_map<ActorId, KinematicState> |
在文件 SimulationState.h 第 28 行定义.
using carla::traffic_manager::LaneChangeSWptMap = std::unordered_map<ActorId, SimpleWaypointPtr> |
在文件 LocalizationStage.h 第 21 行定义.
using carla::traffic_manager::LocalizationFrame = std::vector<LocalizationData> |
在文件 DataStructures.h 第 44 行定义.
typedef std::shared_ptr< InMemoryMap > carla::traffic_manager::LocalMapPtr = std::shared_ptr<InMemoryMap> |
本地地图指针类型,使用智能指针管理InMemoryMap对象
在文件 LocalizationStage.h 第 20 行定义.
using carla::traffic_manager::LocationVector = std::vector<cg::Location> |
在文件 CollisionStage.h 第 46 行定义.
using carla::traffic_manager::NodeList = std::vector<SimpleWaypointPtr> |
在文件 InMemoryMap.h 第 47 行定义.
typedef std::vector< cg::Location > carla::traffic_manager::Path = std::vector<cg::Location> |
参与者的唯一标识符类型
定义一个路径类型,使用std::vector存储cg::Location对象,表示一系列地理位置。
定义一个路径类型,由多个cg::Location组成。
路径类型别名。
这是一个包含cg::Location对象的向量,用于表示一条路径。
用于表示一个Actor在地图上的移动路径。
在文件 LocalizationStage.h 第 25 行定义.
using carla::traffic_manager::Point2D = bg::model::point<double, 2, bg::cs::cartesian> |
在文件 CollisionStage.cpp 第 12 行定义.
using carla::traffic_manager::Point3D = bg::model::point<float, 3, bg::cs::cartesian> |
在文件 InMemoryMap.h 第 51 行定义.
using carla::traffic_manager::Polygon = bg::model::polygon<bg::model::d2::point_xy<double>> |
在文件 CollisionStage.h 第 49 行定义.
using carla::traffic_manager::RawNodeList = std::vector<WaypointPtr> |
在文件 InMemoryMap.cpp 第 22 行定义.
typedef std::vector< uint8_t > carla::traffic_manager::Route = std::vector<uint8_t> |
路线类型,由一系列地理位置组成
定义一个路线类型,使用std::vector存储uint8_t类型的数据,表示一系列路线信息。
定义一个路线类型,由多个uint8_t组成。
路线类型别名。
这是一个包含uint8_t的向量,用于表示一条路线(可能是一个编码的路径或导航指令)。
用于表示一个Actor在交通网络中的路线信息。
在文件 LocalizationStage.h 第 26 行定义.
using carla::traffic_manager::Rtree = bgi::rtree<SpatialTreeEntry, bgi::rstar<16>> |
在文件 InMemoryMap.h 第 58 行定义.
using carla::traffic_manager::SegmentId = std::tuple<crd::RoadId, crd::LaneId, crd::SectionId> |
在文件 InMemoryMap.h 第 55 行定义.
using carla::traffic_manager::SegmentMap = std::map<SegmentId, std::vector<SimpleWaypointPtr>> |
在文件 InMemoryMap.h 第 57 行定义.
using carla::traffic_manager::SegmentTopology = std::map<SegmentId, std::pair<std::vector<SegmentId>, std::vector<SegmentId>>> |
在文件 InMemoryMap.h 第 56 行定义.
typedef std::shared_ptr< SimpleWaypoint > carla::traffic_manager::SimpleWaypointPtr = std::shared_ptr<SimpleWaypoint> |
在文件 CachedSimpleWaypoint.h 第 16 行定义.
using carla::traffic_manager::SpatialTreeEntry = std::pair<Point3D, SimpleWaypointPtr> |
在文件 InMemoryMap.h 第 53 行定义.
using carla::traffic_manager::StaticAttributeMap = std::unordered_map<ActorId, StaticAttributes> |
在文件 SimulationState.h 第 44 行定义.
using carla::traffic_manager::TargetWPInfo = std::pair<SimpleWaypointPtr, uint64_t> |
根据目标点距离从路点缓冲区返回路点信息
在文件 LocalizationUtils.h 第 53 行定义.
typedef chr::time_point< chr::system_clock, chr::nanoseconds > carla::traffic_manager::TimeInstance = chr::time_point<chr::system_clock, chr::nanoseconds> |
在文件 DataStructures.h 第 34 行定义.
typedef chr::time_point< chr::system_clock, chr::nanoseconds > carla::traffic_manager::TimePoint = chr::time_point<chr::system_clock, chr::nanoseconds> |
时间点类型,使用系统时钟和纳秒精度
在文件 SnippetProfiler.h 第 19 行定义.
using carla::traffic_manager::TLFrame = std::vector<bool> |
在文件 DataStructures.h 第 57 行定义.
using carla::traffic_manager::TLGroup = std::vector<carla::SharedPtr<carla::client::TrafficLight>> |
交通灯组类型,使用CARLA的智能指针管理交通灯对象的集合
在文件 TrafficManagerLocal.h 第 45 行定义.
using carla::traffic_manager::TLMap = std::unordered_map<std::string, SharedPtr<client::Actor>> |
在文件 MotionPlanStage.h 第 21 行定义.
在文件 CollisionStage.cpp 第 13 行定义.
using carla::traffic_manager::TopologyList = std::vector<std::pair<WaypointPtr, WaypointPtr>> |
在文件 InMemoryMap.cpp 第 20 行定义.
using carla::traffic_manager::TrafficLightStateMap = std::unordered_map<ActorId, TrafficLightState> |
在文件 SimulationState.h 第 35 行定义.
using carla::traffic_manager::WorldMap = carla::SharedPtr<const cc::Map> |
在文件 InMemoryMap.h 第 49 行定义.
枚举值 | |
---|---|
Vehicle | |
Pedestrian | |
Any |
在文件 SimulationState.h 第 12 行定义.
|
strong |
枚举值 | |
---|---|
Void | |
Left | |
Right | |
Straight | |
LaneFollow | |
ChangeLaneLeft | |
ChangeLaneRight | |
RoadEnd |
在文件 SimpleWaypoint.h 第 25 行定义.
float carla::traffic_manager::DeviationCrossProduct | ( | const cg::Location & | reference_location, |
const cg::Vector3D & | heading_vector, | ||
const cg::Location & | target_location ) |
返回车辆朝向向量与指向下一个目标路点方向向量之间的叉积(z分量值)
在文件 LocalizationUtils.cpp 第 16 行定义.
引用了 carla::geom::Vector3D::MakeSafeUnitVector(), carla::geom::Vector3D::x , 以及 carla::geom::Vector3D::y.
被这些函数引用 carla::traffic_manager::MotionPlanStage::Update().
float carla::traffic_manager::DeviationDotProduct | ( | const cg::Location & | reference_location, |
const cg::Vector3D & | heading_vector, | ||
const cg::Location & | target_location ) |
返回车辆朝向向量与指向下一个目标路点方向向量之间的点积
在文件 LocalizationUtils.cpp 第 26 行定义.
引用了 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().
TargetWPInfo carla::traffic_manager::GetTargetWaypoint | ( | const Buffer & | waypoint_buffer, |
const float & | target_point_distance ) |
在文件 LocalizationUtils.cpp 第 61 行定义.
被这些函数引用 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().
void carla::traffic_manager::PopWaypoint | ( | ActorId | actor_id, |
TrackTraffic & | track_traffic, | ||
Buffer & | buffer, | ||
bool | front_or_back ) |
在文件 LocalizationUtils.cpp 第 48 行定义.
引用了 carla::traffic_manager::TrackTraffic::RemovePassingVehicle().
被这些函数引用 carla::traffic_manager::LocalizationStage::ImportPath(), carla::traffic_manager::LocalizationStage::ImportRoute() , 以及 carla::traffic_manager::LocalizationStage::Update().
void carla::traffic_manager::PushWaypoint | ( | ActorId | actor_id, |
TrackTraffic & | track_traffic, | ||
Buffer & | buffer, | ||
SimpleWaypointPtr & | waypoint ) |
在文件 LocalizationUtils.cpp 第 40 行定义.
引用了 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().