23 #include "modules/common/proto/pnc_point.pb.h" 32 #include "modules/planning/proto/dp_poly_path_config.pb.h" 49 const std::vector<const Obstacle *> &obstacles,
53 planning_debug_ = debug;
57 waypoint_sampler_.reset(waypoint_sampler);
64 struct DpRoadGraphNode {
66 DpRoadGraphNode() =
default;
68 DpRoadGraphNode(
const common::SLPoint point_sl,
69 const DpRoadGraphNode *node_prev)
70 : sl_point(point_sl), min_cost_prev_node(node_prev) {}
72 DpRoadGraphNode(
const common::SLPoint point_sl,
73 const DpRoadGraphNode *node_prev,
75 : sl_point(point_sl), min_cost_prev_node(node_prev), min_cost(cost) {}
77 void UpdateCost(
const DpRoadGraphNode *node_prev,
80 if (cost <= min_cost) {
82 min_cost_prev_node = node_prev;
83 min_cost_curve = curve;
87 common::SLPoint sl_point;
88 const DpRoadGraphNode *min_cost_prev_node =
nullptr;
90 std::numeric_limits<double>::infinity(),
91 std::numeric_limits<double>::infinity()};
94 bool GenerateMinCostPath(
const std::vector<const Obstacle *> &obstacles,
95 std::vector<DpRoadGraphNode> *min_cost_path);
101 const double end_s,
const uint32_t curr_level,
104 struct RoadGraphMessage {
105 RoadGraphMessage(
const std::list<DpRoadGraphNode> &_prev_nodes,
106 const uint32_t _level,
const uint32_t _total_level,
108 DpRoadGraphNode *_cur_node)
109 : prev_nodes(_prev_nodes),
111 total_level(_total_level),
112 trajectory_cost(_trajectory_cost),
114 cur_node(_cur_node) {}
115 const std::list<DpRoadGraphNode> &prev_nodes;
116 const uint32_t level;
117 const uint32_t total_level;
119 DpRoadGraphNode *front =
nullptr;
120 DpRoadGraphNode *cur_node =
nullptr;
122 void UpdateNode(
const std::shared_ptr<RoadGraphMessage> &msg);
125 DpPolyPathConfig config_;
126 common::TrajectoryPoint init_point_;
130 common::SLPoint init_sl_point_;
131 common::FrenetFramePoint init_frenet_frame_point_;
132 apollo::planning_internal::Debug *planning_debug_ =
nullptr;
134 std::unique_ptr<WaypointSampler> waypoint_sampler_;
void SetWaypointSampler(WaypointSampler *waypoint_sampler)
Definition: dp_road_graph.h:56
bool FindPathTunnel(const common::TrajectoryPoint &init_point, const std::vector< const Obstacle *> &obstacles, PathData *const path_data)
DpRoadGraph(const DpPolyPathConfig &config, const ReferenceLineInfo &reference_line_info, const SpeedData &speed_data)
Definition: waypoint_sampler.h:38
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: dp_road_graph.h:40
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: quintic_polynomial_curve1d.h:33
Definition: path_data.h:36
Definition: comparable_cost.h:26
Definition: reference_line.h:39
void SetDebugLogger(apollo::planning_internal::Debug *debug)
Definition: dp_road_graph.h:52
Definition: trajectory_cost.h:36
Definition: speed_data.h:30