CARLA
Loading...
Searching...
No Matches
LibCarla
source
carla
trafficmanager
DataStructures.h
Go to the documentation of this file.
1
2
/// This file contains definitions of common data structures used in traffic manager.
3
4
#pragma once
5
6
#include <chrono>
7
#include <deque>
8
#include <vector>
9
10
#include "
carla/client/Actor.h
"
11
#include "
carla/geom/Location.h
"
12
#include "
carla/geom/Rotation.h
"
13
#include "
carla/geom/Vector3D.h
"
14
#include "
carla/rpc/ActorId.h
"
15
#include "
carla/rpc/Command.h
"
16
#include "
carla/rpc/TrafficLightState.h
"
17
18
#include "
carla/trafficmanager/SimpleWaypoint.h
"
19
20
namespace
carla
{
21
namespace
traffic_manager {
22
23
namespace
chr = std::chrono;
24
namespace
cc
=
carla::client
;
25
namespace
cg
=
carla::geom
;
26
27
using
ActorId
=
carla::ActorId
;
28
using
ActorPtr
=
carla::SharedPtr<cc::Actor>
;
29
using
JunctionID
=
carla::road::JuncId
;
30
using
Junction
=
carla::SharedPtr<carla::client::Junction>
;
31
using
SimpleWaypointPtr
= std::shared_ptr<SimpleWaypoint>;
32
using
Buffer
= std::deque<SimpleWaypointPtr>;
33
using
BufferMap
= std::unordered_map<carla::ActorId, Buffer>;
34
using
TimeInstance
= chr::time_point<chr::system_clock, chr::nanoseconds>;
35
using
TLS
=
carla::rpc::TrafficLightState
;
36
37
struct
LocalizationData
{
38
SimpleWaypointPtr
junction_end_point
;
39
SimpleWaypointPtr
safe_point
;
40
bool
is_at_junction_entrance
;
41
/// False when the localization stage could not place the vehicle on the map
42
/// -- a map without a single drivable waypoint (EmptyMap, an OpenDRIVE file
43
/// with no road). Every later stage assumes a non-empty waypoint buffer, so
44
/// TrafficManagerLocal::Step skips such a vehicle for this cycle.
45
bool
localized
=
false
;
46
};
47
using
LocalizationFrame
= std::vector<LocalizationData>;
48
49
struct
CollisionHazardData
{
50
float
available_distance_margin
;
51
ActorId
hazard_actor_id
;
52
bool
hazard
;
53
};
54
using
CollisionFrame
= std::vector<CollisionHazardData>;
55
56
using
ControlFrame
= std::vector<carla::rpc::Command>;
57
58
using
TLFrame
= std::vector<bool>;
59
60
/// Structure to hold the actuation signals.
61
struct
ActuationSignal
{
62
float
throttle
;
63
float
brake
;
64
float
steer
;
65
};
66
67
/// Structure to hold the controller state.
68
struct
StateEntry
{
69
cc::Timestamp
time_instance
;
70
float
angular_deviation
;
71
float
velocity_deviation
;
72
float
steer
;
73
float
throttle
{0.0f};
74
float
brake
{0.0f};
75
/// Zero is a safe initial value: the shaping raises it to the current speed.
76
float
reference_velocity
{0.0f};
77
};
78
79
}
// namespace traffic_manager
80
}
// namespace carla
ActorId.h
Command.h
TrafficLightState.h
Rotation.h
SimpleWaypoint.h
carla::client::Timestamp
Definition
Timestamp.h:14
Actor.h
Location.h
Vector3D.h
carla::client
Definition
BasicAgent.h:24
carla::geom
Definition
Misc.h:24
carla::road::JuncId
int32_t JuncId
Definition
RoadTypes.h:17
carla::rpc::TrafficLightState
TrafficLightState
Definition
LibCarla/source/carla/rpc/TrafficLightState.h:16
carla::traffic_manager::ActorId
carla::ActorId ActorId
Definition
AtomicActorSet.h:21
carla::traffic_manager::JunctionID
carla::road::JuncId JunctionID
Definition
DataStructures.h:29
carla::traffic_manager::Buffer
std::deque< std::shared_ptr< SimpleWaypoint > > Buffer
Definition
CollisionStage.h:44
carla::traffic_manager::BufferMap
std::unordered_map< carla::ActorId, Buffer > BufferMap
Definition
CollisionStage.h:45
carla::traffic_manager::CollisionFrame
std::vector< CollisionHazardData > CollisionFrame
Definition
DataStructures.h:54
carla::traffic_manager::TLFrame
std::vector< bool > TLFrame
Definition
DataStructures.h:58
carla::traffic_manager::TimeInstance
chr::time_point< chr::system_clock, chr::nanoseconds > TimeInstance
Definition
DataStructures.h:34
carla::traffic_manager::ControlFrame
std::vector< carla::rpc::Command > ControlFrame
Definition
DataStructures.h:56
carla::traffic_manager::ActorPtr
carla::SharedPtr< cc::Actor > ActorPtr
Definition
AtomicActorSet.h:20
carla::traffic_manager::LocalizationFrame
std::vector< LocalizationData > LocalizationFrame
Definition
DataStructures.h:47
carla::traffic_manager::SimpleWaypointPtr
std::shared_ptr< SimpleWaypoint > SimpleWaypointPtr
Definition
CachedSimpleWaypoint.cpp:12
carla::traffic_manager::Junction
carla::SharedPtr< carla::client::Junction > Junction
Definition
DataStructures.h:30
carla
This file contains definitions of common data structures used in traffic manager.
Definition
SignComponent.h:21
carla::SharedPtr
std::shared_ptr< T > SharedPtr
Definition
Memory.h:15
carla::ActorId
rpc::ActorId ActorId
Definition
ActorId.h:18
carla::traffic_manager::ActuationSignal
Structure to hold the actuation signals.
Definition
DataStructures.h:61
carla::traffic_manager::ActuationSignal::throttle
float throttle
Definition
DataStructures.h:62
carla::traffic_manager::ActuationSignal::brake
float brake
Definition
DataStructures.h:63
carla::traffic_manager::ActuationSignal::steer
float steer
Definition
DataStructures.h:64
carla::traffic_manager::CollisionHazardData
Definition
DataStructures.h:49
carla::traffic_manager::CollisionHazardData::available_distance_margin
float available_distance_margin
Definition
DataStructures.h:50
carla::traffic_manager::CollisionHazardData::hazard_actor_id
ActorId hazard_actor_id
Definition
DataStructures.h:51
carla::traffic_manager::CollisionHazardData::hazard
bool hazard
Definition
DataStructures.h:52
carla::traffic_manager::LocalizationData
Definition
DataStructures.h:37
carla::traffic_manager::LocalizationData::safe_point
SimpleWaypointPtr safe_point
Definition
DataStructures.h:39
carla::traffic_manager::LocalizationData::localized
bool localized
False when the localization stage could not place the vehicle on the map – a map without a single dri...
Definition
DataStructures.h:45
carla::traffic_manager::LocalizationData::is_at_junction_entrance
bool is_at_junction_entrance
Definition
DataStructures.h:40
carla::traffic_manager::LocalizationData::junction_end_point
SimpleWaypointPtr junction_end_point
Definition
DataStructures.h:38
carla::traffic_manager::StateEntry
Structure to hold the controller state.
Definition
DataStructures.h:68
carla::traffic_manager::StateEntry::time_instance
cc::Timestamp time_instance
Definition
DataStructures.h:69
carla::traffic_manager::StateEntry::steer
float steer
Definition
DataStructures.h:72
carla::traffic_manager::StateEntry::reference_velocity
float reference_velocity
Zero is a safe initial value: the shaping raises it to the current speed.
Definition
DataStructures.h:76
carla::traffic_manager::StateEntry::angular_deviation
float angular_deviation
Definition
DataStructures.h:70
carla::traffic_manager::StateEntry::velocity_deviation
float velocity_deviation
Definition
DataStructures.h:71
carla::traffic_manager::StateEntry::throttle
float throttle
Definition
DataStructures.h:73
carla::traffic_manager::StateEntry::brake
float brake
Definition
DataStructures.h:74
Generated by
1.9.8