36 const std::string& config_dir,
const std::string& name,
37 const std::shared_ptr<DependencyInjector>& injector) {
42 return SpeedOptimizer::LoadConfig<SpeedHeuristicOptimizerConfig>(&config_);
45bool PathTimeHeuristicOptimizer::SearchPathTimeGraph(
47 const auto& dp_st_speed_optimizer_config =
56 if (!st_graph.Search(speed_data).ok()) {
57 AERROR <<
"failed to search graph with dynamic programming.";
63Status PathTimeHeuristicOptimizer::Process(
64 const PathData& path_data,
const common::TrajectoryPoint& init_point,
65 SpeedData*
const speed_data) {
66 init_point_ = init_point;
68 if (path_data.discretized_path().empty()) {
69 const std::string msg =
"Empty path data";
71 return Status(ErrorCode::PLANNING_ERROR, msg);
74 if (!SearchPathTimeGraph(speed_data)) {
75 const std::string msg = absl::StrCat(
76 Name(),
": Failed to search graph with dynamic programming.");
80 return Status(ErrorCode::PLANNING_ERROR, msg);
A general class to denote the return status of an API call.
static Status OK()
generate a success status.
const std::vector< const T * > & Items() const
List all the items in the container.
const IndexedList< std::string, Obstacle > & obstacles() const
bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector) override
PathDecision * path_decision()
StGraphData * mutable_st_graph_data()
const StGraphData & st_graph_data()
bool IsChangeLanePath() const
Check if the current reference line is a change lane reference line, i.e., ADC's current position is ...
void RecordDebugInfo(const SpeedData &speed_data)
planning_internal::STGraphDebug * mutable_st_graph_debug()
const std::string & Name() const
ReferenceLineInfo * reference_line_info_
virtual bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector)
Planning module main class.
: data with map info and obstacle info
optional DpStSpeedOptimizerConfig lane_change_speed_config
optional DpStSpeedOptimizerConfig default_speed_config