33 #include "modules/prediction/proto/prediction_obstacle.pb.h" 37 namespace prediction {
60 void Insert(const ::google::protobuf::Message& message)
override;
68 const perception::PerceptionObstacle& perception_obstacle,
152 Obstacle* GetObstacleWithLRUUpdate(
const int obstacle_id);
159 bool IsMovable(
const perception::PerceptionObstacle& perception_obstacle);
162 double timestamp_ = -1.0;
164 std::vector<int> curr_frame_movable_obstacle_ids_;
165 std::vector<int> curr_frame_unmovable_obstacle_ids_;
166 std::vector<int> curr_frame_considered_obstacle_ids_;
167 Scenario curr_scenario_;
168 std::unique_ptr<ObstacleClusters> clusters_;
ObstaclesContainer()
Constructor.
void Insert(const ::google::protobuf::Message &message) override
Insert a data message into the container.
Obstacle * GetObstacle(const int id)
Get obstacle pointer.
void InsertPerceptionObstacle(const perception::PerceptionObstacle &perception_obstacle, const double timestamp)
Insert an perception obstacle.
Prediction obstacle.
Definition: obstacle.h:52
void Clear()
Clear obstacle container.
const std::vector< int > & curr_frame_movable_obstacle_ids()
Get movable obstacle IDs in the current frame.
Definition: obstacles_container.h:39
Definition: lru_cache.h:43
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
const Scenario & curr_scenario() const
Get current scenario.
Definition: container.h:33
void BuildJunctionFeature()
Build junction feature for obstacles.
const std::vector< int > & curr_frame_considered_obstacle_ids()
Get non-ignore obstacle IDs in the current frame.
std::vector< int > curr_frame_obstacle_ids()
Get current frame obstacle IDs in the current frame.
const std::vector< int > & curr_frame_unmovable_obstacle_ids()
Get unmovable obstacle IDs in the current frame.
Definition: submodule_output.h:35
void SetConsideredObstacleIds()
Definition: obstacle_clusters.h:33
Define the data container base class.
JunctionAnalyzer * GetJunctionAnalyzer()
size_t NumOfObstacles()
Definition: obstacles_container.h:101
Definition: junction_analyzer.h:30
const apollo::perception::PerceptionObstacle & GetPerceptionObstacle(const int id)
SubmoduleOutput GetSubmoduleOutput(const size_t history_size, const apollo::cyber::Time &frame_start_time)
virtual ~ObstaclesContainer()=default
Destructor.
Output information of prediction container submodule.
void BuildLaneGraph()
Build lane graph for obstacles.
void InsertFeatureProto(const Feature &feature)
Insert a feature proto message into the container.
Cyber has builtin time type Time.
Definition: time.h:31
ObstacleClusters * GetClustersPtr() const
Get the raw pointer of clusters_.