diff --git a/planning/behavior_path_planner/include/behavior_path_planner/behavior_path_planner_node.hpp b/planning/behavior_path_planner/include/behavior_path_planner/behavior_path_planner_node.hpp index 073f9015d4616..657cf524fc465 100644 --- a/planning/behavior_path_planner/include/behavior_path_planner/behavior_path_planner_node.hpp +++ b/planning/behavior_path_planner/include/behavior_path_planner/behavior_path_planner_node.hpp @@ -137,8 +137,7 @@ class BehaviorPathPlannerNode : public rclcpp::Node /** * @brief extract path from behavior tree output */ - std::pair getPath( - const BehaviorModuleOutput & bt_out); + PathWithLaneId::SharedPtr getPath(const BehaviorModuleOutput & bt_out); /** * @brief extract path candidate from behavior tree output diff --git a/planning/behavior_path_planner/src/behavior_path_planner_node.cpp b/planning/behavior_path_planner/src/behavior_path_planner_node.cpp index c241ed0324353..740a4bb17e4aa 100644 --- a/planning/behavior_path_planner/src/behavior_path_planner_node.cpp +++ b/planning/behavior_path_planner/src/behavior_path_planner_node.cpp @@ -478,14 +478,15 @@ void BehaviorPathPlannerNode::run() const auto output = bt_manager_->run(planner_data_); // path handling - const auto paths = getPath(output); - const auto path = paths.first; - const auto original_path = paths.second; + const auto original_path = getPath(output); const auto path_candidate = getPathCandidate(output); - planner_data_->prev_output_path = path; + planner_data_->prev_output_path = original_path; + const auto path = original_path; auto clipped_path = modifyPathForSmoothGoalConnection(*path); + clipped_path = + util::resamplePathWithSpline(clipped_path, planner_data_->parameters.path_interval); clipPathLength(clipped_path); if (!clipped_path.points.empty()) { @@ -531,8 +532,7 @@ void BehaviorPathPlannerNode::run() } // output: spline interpolated path, original path -std::pair BehaviorPathPlannerNode::getPath( - const BehaviorModuleOutput & bt_output) +PathWithLaneId::SharedPtr BehaviorPathPlannerNode::getPath(const BehaviorModuleOutput & bt_output) { // TODO(Horibe) do some error handling when path is not available. @@ -542,9 +542,7 @@ std::pair BehaviorPathPlan RCLCPP_DEBUG( get_logger(), "BehaviorTreeManager: output is %s.", bt_output.path ? "FOUND" : "NOT FOUND"); - const auto resampled_path = - util::resamplePathWithSpline(*path, planner_data_->parameters.path_interval); - return std::make_pair(std::make_shared(resampled_path), path); + return path; } PathWithLaneId::SharedPtr BehaviorPathPlannerNode::getPathCandidate(