CARLA
 
载入中...
搜索中...
未找到
LocalizationUtils.h
浏览该文件的文档.
1// Copyright (c) 2020 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7#pragma once
8
9#include "carla/client/Actor.h" // 引入操作者类
10#include "carla/client/ActorList.h" // 引入操作者列表类
11#include "carla/client/Vehicle.h" // 引入车辆类
12#include "carla/client/World.h" // 引入世界类
13#include "carla/geom/Location.h" // 引入位置几何类
14#include "carla/road/RoadTypes.h" // 引入道路类型定义
15#include "carla/rpc/ActorId.h" // 引入操作者ID定义
16
17#include "carla/trafficmanager/Constants.h" // 引入交通管理常量
18#include "carla/trafficmanager/SimpleWaypoint.h" // 引入简单路点类
19#include "carla/trafficmanager/TrackTraffic.h" // 引入交通跟踪类
20
21namespace carla {
22namespace traffic_manager {
23
24 namespace cc = carla::client; // 为 carla::client 起别名 cc
25 namespace cg = carla::geom; // 为 carla::geom 起别名 cg
26 using Actor = carla::SharedPtr<cc::Actor>; // 定义 Actor 类型为共享指针
27 using ActorId = carla::ActorId; // 定义 ActorId 类型
28 using ActorIdSet = std::unordered_set<ActorId>; // 定义 ActorId 集合
29 using SimpleWaypointPtr = std::shared_ptr<SimpleWaypoint>; // 定义简单路点的智能指针类型
30 using Buffer = std::deque<SimpleWaypointPtr>; // 定义缓冲区为简单路点的双端队列
31 using GeoGridId = carla::road::JuncId; // 定义地理网格ID为道路交叉口ID
32 using constants::Map::MAP_RESOLUTION; // 引入地图分辨率常量
33 using constants::Map::INV_MAP_RESOLUTION; // 引入地图反分辨率常量
34
35 /// 返回车辆朝向向量与指向下一个目标路点方向向量之间的叉积(z分量值)
36 float DeviationCrossProduct(const cg::Location &reference_location,
37 const cg::Vector3D &heading_vector,
38 const cg::Location &target_location);
39 /// 返回车辆朝向向量与指向下一个目标路点方向向量之间的点积
40 float DeviationDotProduct(const cg::Location &reference_location,
41 const cg::Vector3D &heading_vector,
42 const cg::Location &target_location);
43
44 // 将一个路点添加到路径缓冲区并更新路点跟踪
45 void PushWaypoint(ActorId actor_id, TrackTraffic& track_traffic,
46 Buffer& buffer, SimpleWaypointPtr& waypoint);
47
48 // 从路径缓冲区中移除一个路点并更新路点跟踪
49 void PopWaypoint(ActorId actor_id, TrackTraffic& track_traffic,
50 Buffer& buffer, bool front_or_back=true);
51
52 /// 根据目标点距离从路点缓冲区返回路点信息
53 using TargetWPInfo = std::pair<SimpleWaypointPtr, uint64_t>; // 定义目标路点信息为简单路点指针和无符号整数对
54 TargetWPInfo GetTargetWaypoint(const Buffer& waypoint_buffer, const float& target_point_distance); // 获取目标路点函数
55
56} // namespace traffic_manager
57} // namespace carla
包含客户端相关类和定义的命名空间。
Definition AtomicList.h:17
int32_t JuncId
Definition RoadTypes.h:23
void PopWaypoint(ActorId actor_id, TrackTraffic &track_traffic, Buffer &buffer, bool front_or_back)
carla::SharedPtr< cc::Actor > Actor
std::deque< std::shared_ptr< SimpleWaypoint > > Buffer
void PushWaypoint(ActorId actor_id, TrackTraffic &track_traffic, Buffer &buffer, SimpleWaypointPtr &waypoint)
float DeviationCrossProduct(const cg::Location &reference_location, const cg::Vector3D &heading_vector, const cg::Location &target_location)
返回车辆朝向向量与指向下一个目标路点方向向量之间的叉积(z分量值)
std::shared_ptr< SimpleWaypoint > SimpleWaypointPtr
TargetWPInfo GetTargetWaypoint(const Buffer &waypoint_buffer, const float &target_point_distance)
carla::ActorId ActorId
参与者的智能指针类型
std::unordered_set< ActorId > ActorIdSet
std::pair< SimpleWaypointPtr, uint64_t > TargetWPInfo
根据目标点距离从路点缓冲区返回路点信息
float DeviationDotProduct(const cg::Location &reference_location, const cg::Vector3D &heading_vector, const cg::Location &target_location)
返回车辆朝向向量与指向下一个目标路点方向向量之间的点积
CARLA模拟器的主命名空间。
Definition Carla.cpp:139
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
Definition Memory.h:19
rpc::ActorId ActorId
Definition ActorId.h:26