@@ -852,11 +852,11 @@ std::optional<std::pair<PullOverPath, GoalCandidate>> GoalPlannerModule::selectP
852
852
const double backward_length =
853
853
parameters_->backward_goal_search_length + parameters_->decide_path_distance ;
854
854
const auto & prev_module_output_path = getPreviousModuleOutput ().path ;
855
- const double prev_path_back_to_goal_dist = calcSignedArcLength (
856
- prev_module_output_path.points , prev_module_output_path.points .back ().point .pose .position ,
855
+ const double prev_path_front_to_goal_dist = calcSignedArcLength (
856
+ prev_module_output_path.points , prev_module_output_path.points .front ().point .pose .position ,
857
857
goal_pose.position );
858
858
const auto & long_tail_reference_path = [&]() {
859
- if (prev_path_back_to_goal_dist > backward_length) {
859
+ if (prev_path_front_to_goal_dist > backward_length) {
860
860
return prev_module_output_path;
861
861
}
862
862
// get road lanes which is at least backward_length[m] behind the goal
@@ -865,7 +865,8 @@ std::optional<std::pair<PullOverPath, GoalCandidate>> GoalPlannerModule::selectP
865
865
/* forward_only_in_route*/ false );
866
866
const auto goal_pose_length = lanelet::utils::getArcCoordinates (road_lanes, goal_pose).length ;
867
867
return planner_data_->route_handler ->getCenterLinePath (
868
- road_lanes, std::max (0.0 , goal_pose_length - backward_length), goal_pose_length);
868
+ road_lanes, std::max (0.0 , goal_pose_length - backward_length),
869
+ goal_pose_length + parameters_->forward_goal_search_length );
869
870
}();
870
871
for (const auto & pull_over_path : pull_over_path_candidates) {
871
872
// check if goal is safe
0 commit comments