26 #include "modules/common/configs/proto/vehicle_config.pb.h" 35 #include "modules/planning/proto/planning_config.pb.h" 36 #include "modules/planning/proto/task_config.pb.h" 46 const DpStSpeedOptimizerConfig& dp_config,
47 const std::vector<const Obstacle*>& obstacles,
48 const common::TrajectoryPoint& init_point);
62 struct StGraphMessage {
63 StGraphMessage(
const uint32_t c_,
const int32_t r_) : c(c_), r(r_) {}
67 void CalculateCostAt(
const std::shared_ptr<StGraphMessage>& msg);
69 double CalculateEdgeCost(
const STPoint& first,
const STPoint& second,
71 const double speed_limit,
const double cruise_speed);
72 double CalculateEdgeCostForSecondCol(
const uint32_t row,
73 const double speed_limit,
74 const double cruise_speed);
75 double CalculateEdgeCostForThirdCol(
const uint32_t curr_row,
76 const uint32_t pre_row,
77 const double speed_limit,
78 const double cruise_speed);
81 void GetRowRange(
const StGraphPoint& point,
size_t* next_highest_row,
82 size_t* next_lowest_row);
87 std::vector<double> speed_limit_by_index_;
89 std::vector<double> spatial_distance_by_index_;
92 DpStSpeedOptimizerConfig gridded_path_time_graph_config_;
95 const std::vector<const Obstacle*>& obstacles_;
98 const common::VehicleParam& vehicle_param_ =
102 common::TrajectoryPoint init_point_;
107 double total_length_t_ = 0.0;
108 double unit_t_ = 0.0;
109 uint32_t dimension_t_ = 0;
111 double total_length_s_ = 0.0;
112 double dense_unit_s_ = 0.0;
113 double sparse_unit_s_ = 0.0;
114 uint32_t dense_dimension_s_ = 0;
115 uint32_t sparse_dimension_s_ = 0;
116 uint32_t dimension_s_ = 0;
118 double max_acceleration_ = 0.0;
119 double max_deceleration_ = 0.0;
123 std::vector<std::vector<StGraphPoint>> cost_table_;
GriddedPathTimeGraph(const StGraphData &st_graph_data, const DpStSpeedOptimizerConfig &dp_config, const std::vector< const Obstacle *> &obstacles, const common::TrajectoryPoint &init_point)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Planning module main class. It processes GPS and IMU as input, to generate planning info...
common::Status Search(SpeedData *const speed_data)
Definition: st_graph_point.h:30
Definition: gridded_path_time_graph.h:43
Definition: st_point.h:30
static const VehicleConfig & GetConfig()
Get the current vehicle configuration.
: data with map info and obstacle info
A general class to denote the return status of an API call. It can either be an OK status for success...
Definition: status.h:43
Definition: dp_st_cost.h:39
Definition: speed_data.h:30
Definition: st_graph_data.h:37