Apollo 11.0
自动驾驶开放平台
apollo::planning::SpeedDecider类 参考

#include <speed_decider.h>

类 apollo::planning::SpeedDecider 继承关系图:
apollo::planning::SpeedDecider 的协作图:

Public 成员函数

bool Init (const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector) override
 
common::Status Execute (Frame *frame, ReferenceLineInfo *reference_line_info) override
 
- Public 成员函数 继承自 apollo::planning::Task
 Task ()
 
virtual ~Task ()=default
 
const std::string & Name () const
 
virtual common::Status Execute (Frame *frame)
 

额外继承的成员函数

- Protected 成员函数 继承自 apollo::planning::Task
template<typename T >
bool LoadConfig (T *config)
 
- Protected 属性 继承自 apollo::planning::Task
Frame * frame_
 
ReferenceLineInfo * reference_line_info_
 
std::shared_ptr< DependencyInjector > injector_
 
std::string config_path_
 
std::string default_config_path_
 
std::string name_
 

详细描述

在文件 speed_decider.h 第 39 行定义.

成员函数说明

◆ Execute()

common::Status apollo::planning::SpeedDecider::Execute ( Frame *  frame,
ReferenceLineInfo *  reference_line_info 
)
overridevirtual

重载 apollo::planning::Task .

在文件 speed_decider.cc 第 68 行定义.

69 {
70 Task::Execute(frame, reference_line_info);
71 init_point_ = frame_->PlanningStartPoint();
72 adc_sl_boundary_ = reference_line_info_->AdcSlBoundary();
73 reference_line_ = &reference_line_info_->reference_line();
74 if (!MakeObjectDecision(reference_line_info->speed_data(),
75 reference_line_info->path_decision())
76 .ok()) {
77 const std::string msg = "Get object decision by speed profile failed.";
78 AERROR << msg;
79 return Status(ErrorCode::PLANNING_ERROR, msg);
80 }
81 return Status::OK();
82}
bool ok() const
check whether the return status is OK.
Definition status.h:67
static Status OK()
generate a success status.
Definition status.h:60
const common::TrajectoryPoint & PlanningStartPoint() const
Definition frame.cc:79
const ReferenceLine & reference_line() const
const SLBoundary & AdcSlBoundary() const
ReferenceLineInfo * reference_line_info_
Definition task.h:58
virtual common::Status Execute(Frame *frame, ReferenceLineInfo *reference_line_info)
Definition task.cc:60
#define AERROR
Definition log.h:44

◆ Init()

bool apollo::planning::SpeedDecider::Init ( const std::string &  config_dir,
const std::string &  name,
const std::shared_ptr< DependencyInjector > &  injector 
)
overridevirtual

重载 apollo::planning::Task .

在文件 speed_decider.cc 第 47 行定义.

48 {
49 if (!Task::Init(config_dir, name, injector)) {
50 return false;
51 }
52 // Load the config this task.
53 if (!Task::LoadConfig<SpeedDeciderConfig>(&config_)) {
54 return false;
55 }
56 for (const auto& follow_function :
57 config_.follow_distance_scheduler().follow_distance()) {
58 follow_distance_function_.emplace_back(
59 std::make_pair(follow_function.speed(), follow_function.slope()));
60 }
61 std::sort(follow_distance_function_.begin(), follow_distance_function_.end());
62 for (const auto& iter : follow_distance_function_) {
63 AINFO << "speed: " << iter.first << ", slope: " << iter.second;
64 }
65 return true;
66}
virtual bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector)
Definition task.cc:40
#define AINFO
Definition log.h:42

该类的文档由以下文件生成: