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

NaviPathDecider is used to generate the local driving path of the 更多...

#include <navi_path_decider.h>

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

Public 成员函数

 NaviPathDecider ()
 
virtual ~NaviPathDecider ()=default
 
bool Init (const PlannerNaviConfig &config) override
 
apollo::common::Status Execute (Frame *frame, ReferenceLineInfo *reference_line_info) override
 Overrided implementation of the virtual function "Execute" in the base class "Task".
 
- Public 成员函数 继承自 apollo::planning::NaviTask
 NaviTask (const std::string &name)
 
virtual ~NaviTask ()=default
 
virtual const std::string & Name () const
 

额外继承的成员函数

- Protected 属性 继承自 apollo::planning::NaviTask
bool is_init_ = false
 
Frame * frame_ = nullptr
 
ReferenceLineInfo * reference_line_info_ = nullptr
 

详细描述

NaviPathDecider is used to generate the local driving path of the

  • vehicle in navigation mode. Note that NaviPathDecider is only used in navigation mode (turn on navigation mode by setting "FLAGS_use_navigation_mode" to "true") and do not use it in standard mode.

在文件 navi_path_decider.h 第 55 行定义.

构造及析构函数说明

◆ NaviPathDecider()

apollo::planning::NaviPathDecider::NaviPathDecider ( )

在文件 navi_path_decider.cc 第 41 行定义.

41 : NaviTask("NaviPathDecider") {
42 // TODO(all): Add your other initialization.
43}
NaviTask(const std::string &name)
Definition navi_task.cc:30

◆ ~NaviPathDecider()

virtual apollo::planning::NaviPathDecider::~NaviPathDecider ( )
virtualdefault

成员函数说明

◆ Execute()

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

Overrided implementation of the virtual function "Execute" in the base class "Task".

参数
frameCurrent planning frame.
reference_line_infoCurrently available reference line information.
返回
Status::OK() if a suitable path is created; error otherwise.

重载 apollo::planning::NaviTask .

在文件 navi_path_decider.cc 第 79 行定义.

80 {
81 NaviTask::Execute(frame, reference_line_info);
82 vehicle_state_ = frame->vehicle_state();
83 cur_reference_line_lane_id_ = reference_line_info->Lanes().Id();
84 auto ret = Process(reference_line_info->reference_line(),
85 frame->PlanningStartPoint(), frame->obstacles(),
86 reference_line_info->path_decision(),
87 reference_line_info->mutable_path_data());
88 RecordDebugInfo(reference_line_info->path_data());
89 if (ret != Status::OK()) {
90 reference_line_info->SetDrivable(false);
91 AERROR << "Reference Line " << reference_line_info->Lanes().Id()
92 << " is not drivable after " << Name();
93 }
94 return ret;
95}
static Status OK()
generate a success status.
Definition status.h:60
virtual const std::string & Name() const
Definition navi_task.cc:32
virtual apollo::common::Status Execute(Frame *frame, ReferenceLineInfo *reference_line_info)
Definition navi_task.cc:36
#define AERROR
Definition log.h:44

◆ Init()

bool apollo::planning::NaviPathDecider::Init ( const PlannerNaviConfig &  config)
overridevirtual

重载 apollo::planning::NaviTask .

在文件 navi_path_decider.cc 第 45 行定义.

45 {
46 move_dest_lane_config_talbe_.clear();
47 max_speed_levels_.clear();
48 config_ = config.navi_path_decider_config();
49 auto move_dest_lane_config_talbe = config_.move_dest_lane_config_talbe();
50 for (const auto& item : move_dest_lane_config_talbe.lateral_shift()) {
51 double max_speed_level = item.max_speed();
52 double max_move_dest_lane_shift_y = item.max_move_dest_lane_shift_y();
53 if (move_dest_lane_config_talbe_.find(max_speed_level) ==
54 move_dest_lane_config_talbe_.end()) {
55 move_dest_lane_config_talbe_.emplace(
56 std::make_pair(max_speed_level, max_move_dest_lane_shift_y));
57 max_speed_levels_.push_back(max_speed_level);
58 }
59 }
60 AINFO << "Maximum speeds and move to dest lane config: ";
61 for (const auto& data : move_dest_lane_config_talbe_) {
62 auto max_speed = data.first;
63 auto max_move_dest_lane_shift_y = data.second;
64 AINFO << "[max_speed : " << max_speed
65 << " ,max move dest lane shift y : " << max_move_dest_lane_shift_y
66 << "]";
67 }
68 max_keep_lane_distance_ = config_.max_keep_lane_distance();
69 max_keep_lane_shift_y_ = config_.max_keep_lane_shift_y();
70 min_keep_lane_offset_ = config_.min_keep_lane_offset();
71 keep_lane_shift_compensation_ = config_.keep_lane_shift_compensation();
72 start_plan_point_from_ = config_.start_plan_point_from();
73 move_dest_lane_compensation_ = config_.move_dest_lane_compensation();
74
75 is_init_ = obstacle_decider_.Init(config);
76 return is_init_;
77}
bool Init(const PlannerNaviConfig &config) override
Initialization parameters
#define AINFO
Definition log.h:42
optional MoveDestLaneConfigTable move_dest_lane_config_talbe

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