From a073f7a1b33f42be0f6248d1bd3c2d9510ad1fd1 Mon Sep 17 00:00:00 2001 From: Kyoichi Sugahara Date: Wed, 12 Jun 2024 14:03:37 +0900 Subject: [PATCH] fix(start_planner): set minimum velocity to avoid high curvature in trajectroy (#7401) * set initial velocity Signed-off-by: kyoichi-sugahara * fix comment Signed-off-by: kyoichi-sugahara * add reason for the change Signed-off-by: kyoichi-sugahara --------- Signed-off-by: kyoichi-sugahara --- .../src/shift_pull_out.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/planning/behavior_path_start_planner_module/src/shift_pull_out.cpp b/planning/behavior_path_start_planner_module/src/shift_pull_out.cpp index 592f57ed97dcf..f97ebf77b7143 100644 --- a/planning/behavior_path_start_planner_module/src/shift_pull_out.cpp +++ b/planning/behavior_path_start_planner_module/src/shift_pull_out.cpp @@ -324,7 +324,14 @@ std::vector ShiftPullOut::calcPullOutPaths( shift_line.end = *shift_end_pose_ptr; shift_line.end_shift_length = shift_length; path_shifter.addShiftLine(shift_line); - path_shifter.setVelocity(0.0); // initial velocity is 0 + // In the current path generation logic: + // - Considering the maximum curvature of the path results in a smaller shift distance. + // - Setting the allowable maximum lateral acceleration to a value smaller than the one + // calculated by the constant lateral jerk trajectory generation. + // - Setting the initial velocity to a very small value, such as 0.0. + // These conditions cause the curvature around the shift start pose to become larger than + // expected. To address this issue, an initial velocity 1.0 is provided. + path_shifter.setVelocity(1.0); path_shifter.setLongitudinalAcceleration(longitudinal_acc); path_shifter.setLateralAccelerationLimit(lateral_acc);