提交 f267df79 编写于 作者: J JasonZhou404 提交者: Qi Luo

Planning: OpenSpace: add ExcuteTaskOnOpenSpace

上级 27b0e671
......@@ -189,11 +189,17 @@ class OpenSpaceInfo {
bool *mutable_fallback_flag() { return &fallback_flag_; }
const bool &fallback_flag() { return fallback_flag_; }
const bool &fallback_flag() const { return fallback_flag_; }
TrajGearPair *mutable_fallback_trajectory() { return &fallback_trajectory_; }
const TrajGearPair &fallback_trajectory() { return fallback_trajectory_; }
const TrajGearPair &fallback_trajectory() const {
return fallback_trajectory_;
}
TrajGearPair *mutable_trajectory_data() { return &trajectory_data_; }
const TrajGearPair &trajectory_data() const { return trajectory_data_; }
private:
// @brief obstacles total num including perception obstacles and parking space
......@@ -246,6 +252,8 @@ class OpenSpaceInfo {
bool fallback_flag_ = true;
TrajGearPair fallback_trajectory_;
TrajGearPair trajectory_data_;
};
} // namespace planning
} // namespace apollo
......@@ -113,6 +113,27 @@ bool Stage::ExecuteTaskOnReferenceLine(
return true;
}
bool Stage::ExecuteTaskOnOpenSpace(Frame* frame) {
auto ret = common::Status::OK();
for (auto* task : task_list_) {
ret = task->Execute(frame);
if (!ret.ok()) {
AERROR << "Failed to run tasks[" << task->Name()
<< "], Error message: " << ret.error_message();
return false;
}
}
if (frame->open_space_info().fallback_flag()) {
*(frame->mutable_open_space_info()->mutable_trajectory_data()) =
frame->open_space_info().fallback_trajectory();
} else {
*(frame->mutable_open_space_info()->mutable_trajectory_data()) =
frame->open_space_info().chosen_paritioned_trajectory();
}
return true;
}
Stage::StageStatus Stage::FinishScenario() {
next_stage_ = ScenarioConfig::NO_STAGE;
return Stage::FINISHED;
......
......@@ -82,6 +82,8 @@ class Stage {
bool ExecuteTaskOnReferenceLine(
const common::TrajectoryPoint& planning_start_point, Frame* frame);
bool ExecuteTaskOnOpenSpace(Frame* frame);
virtual Stage::StageStatus FinishScenario();
protected:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册