24 #include <unordered_map> 29 #include "modules/common/proto/geometry.pb.h" 43 const std::vector<common::PathPoint>& discretized_ref_points,
45 const double s_start,
const double s_end,
const double t_start,
46 const double t_end,
const std::array<double, 3>& init_d);
54 const double t)
const;
57 const double t_start,
const double t_end,
const double t_resolution);
64 const std::string& obstacle_id,
const double s_dist,
65 const double t_density)
const;
70 const double s_start,
const double s_end,
const double s_resolution);
74 const std::vector<const Obstacle*>& obstacles,
75 const std::vector<common::PathPoint>& discretized_ref_points);
77 SLBoundary ComputeObstacleBoundary(
78 const std::vector<common::math::Vec2d>& vertices,
79 const std::vector<common::PathPoint>& discretized_ref_points)
const;
81 STPoint SetPathTimePoint(
const std::string& obstacle_id,
const double s,
82 const double t)
const;
84 void SetStaticObstacle(
86 const std::vector<common::PathPoint>& discretized_ref_points);
88 void SetDynamicObstacle(
90 const std::vector<common::PathPoint>& discretized_ref_points);
92 void UpdateLateralBoundsByObstacle(
93 const SLBoundary& sl_boundary,
94 const std::vector<double>& discretized_path,
const double s_start,
95 const double s_end, std::vector<std::pair<double, double>>*
const bounds);
98 std::pair<double, double> time_range_;
99 std::pair<double, double> path_range_;
101 std::array<double, 3> init_d_;
103 std::unordered_map<std::string, STBoundary> path_time_obstacle_map_;
104 std::vector<STBoundary> path_time_obstacles_;
105 std::vector<SLBoundary> static_obs_sl_boundaries_;
Definition: path_time_graph.h:40
const std::vector< STBoundary > & GetPathTimeObstacles() const
std::vector< std::pair< double, double > > GetPathBlockingIntervals(const double t) const
This is the class that associates an Obstacle with its path properties. An obstacle's path properties...
Definition: obstacle.h:60
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::vector< std::pair< double, double > > GetLateralBounds(const double s_start, const double s_end, const double s_resolution)
Planning module main class. It processes GPS and IMU as input, to generate planning info...
ReferenceLineInfo holds all data for one reference line.
Definition: reference_line_info.h:54
Definition: st_boundary.h:38
Definition: st_point.h:30
std::pair< double, double > get_path_range() const
bool GetPathTimeObstacle(const std::string &obstacle_id, STBoundary *path_time_obstacle)
bool IsObstacleInGraph(const std::string &obstacle_id)
std::pair< double, double > get_time_range() const
PathTimeGraph(const std::vector< const Obstacle *> &obstacles, const std::vector< common::PathPoint > &discretized_ref_points, const ReferenceLineInfo *ptr_reference_line_info, const double s_start, const double s_end, const double t_start, const double t_end, const std::array< double, 3 > &init_d)
Define the Polygon2d class.
std::vector< STPoint > GetObstacleSurroundingPoints(const std::string &obstacle_id, const double s_dist, const double t_density) const