From d9f44b8109a8594b5000f680bb9bb08aa979f225 Mon Sep 17 00:00:00 2001 From: Zulfaqar Azmi <93502286+zulfaqar-azmi-t4@users.noreply.github.com> Date: Wed, 27 Mar 2024 13:37:58 +0900 Subject: [PATCH] fix(lane_change): do not return empty path if no valid path (#6686) * fix(lane_change): do not return empty path if no valid path Signed-off-by: Zulfaqar Azmi * style(pre-commit): autofix --------- Signed-off-by: Zulfaqar Azmi Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .../behavior_path_lane_change_module/src/interface.cpp | 4 ---- planning/behavior_path_lane_change_module/src/scene.cpp | 8 ++++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/planning/behavior_path_lane_change_module/src/interface.cpp b/planning/behavior_path_lane_change_module/src/interface.cpp index 9d6f27f283fe4..e9cf151cd3959 100644 --- a/planning/behavior_path_lane_change_module/src/interface.cpp +++ b/planning/behavior_path_lane_change_module/src/interface.cpp @@ -99,10 +99,6 @@ BehaviorModuleOutput LaneChangeInterface::plan() resetPathCandidate(); resetPathReference(); - if (!module_type_->isValidPath()) { - return {}; - } - auto output = module_type_->generateOutput(); path_reference_ = std::make_shared(output.reference_path); *prev_approved_path_ = getPreviousModuleOutput().path; diff --git a/planning/behavior_path_lane_change_module/src/scene.cpp b/planning/behavior_path_lane_change_module/src/scene.cpp index e2ee0e9faa766..36c782de9c89b 100644 --- a/planning/behavior_path_lane_change_module/src/scene.cpp +++ b/planning/behavior_path_lane_change_module/src/scene.cpp @@ -197,6 +197,14 @@ BehaviorModuleOutput NormalLaneChange::generateOutput() { BehaviorModuleOutput output; + if (!status_.is_valid_path) { + output.path = prev_module_path_; + output.reference_path = prev_module_reference_path_; + output.drivable_area_info = prev_drivable_area_info_; + output.turn_signal_info = prev_turn_signal_info_; + return output; + } + if (isAbortState() && abort_path_) { output.path = abort_path_->path; output.reference_path = prev_module_reference_path_;