Skip to content

Commit 7f1a503

Browse files
author
Takumi Ito
committed
add velocity parameters for clothoid parking
Signed-off-by: Takumi Ito <takumi.ito@tier4.jp>
1 parent eaf4610 commit 7f1a503

File tree

5 files changed

+28
-9
lines changed

5 files changed

+28
-9
lines changed

planning/behavior_path_planner/autoware_behavior_path_goal_planner_module/config/goal_planner.param.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
enable_clothoid_forward_parking: true
8080
after_forward_parking_straight_distance: 2.0
8181
forward_parking_velocity: 1.38
82+
clothoid_forward_parking_velocity: 3.00
8283
forward_parking_lane_departure_margin: 0.0
8384
forward_parking_path_interval: 1.0
8485
forward_parking_max_steer_angle: 0.4 # 22.9deg
@@ -88,6 +89,7 @@
8889
enable_clothoid_backward_parking: false # Not supported yet
8990
after_backward_parking_straight_distance: 2.0
9091
backward_parking_velocity: -1.38
92+
clothoid_backward_parking_velocity: -3.00
9193
backward_parking_lane_departure_margin: 0.0
9294
backward_parking_path_interval: 1.0
9395
backward_parking_max_steer_angle: 0.4 # 22.9deg

planning/behavior_path_planner/autoware_behavior_path_goal_planner_module/src/manager.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ GoalPlannerParameters GoalPlannerModuleManager::initGoalPlannerParameters(
180180
node->declare_parameter<double>(ns + "after_forward_parking_straight_distance");
181181
p.parallel_parking_parameters.forward_parking_velocity =
182182
node->declare_parameter<double>(ns + "forward_parking_velocity");
183+
p.parallel_parking_parameters.clothoid_forward_parking_velocity =
184+
node->declare_parameter<double>(ns + "clothoid_forward_parking_velocity");
183185
p.parallel_parking_parameters.forward_parking_lane_departure_margin =
184186
node->declare_parameter<double>(ns + "forward_parking_lane_departure_margin");
185187
p.parallel_parking_parameters.forward_parking_path_interval =
@@ -201,6 +203,8 @@ GoalPlannerParameters GoalPlannerModuleManager::initGoalPlannerParameters(
201203
node->declare_parameter<double>(ns + "after_backward_parking_straight_distance");
202204
p.parallel_parking_parameters.backward_parking_velocity =
203205
node->declare_parameter<double>(ns + "backward_parking_velocity");
206+
p.parallel_parking_parameters.clothoid_backward_parking_velocity =
207+
node->declare_parameter<double>(ns + "clothoid_backward_parking_velocity");
204208
p.parallel_parking_parameters.backward_parking_lane_departure_margin =
205209
node->declare_parameter<double>(ns + "backward_parking_lane_departure_margin");
206210
p.parallel_parking_parameters.backward_parking_path_interval =
@@ -581,6 +585,9 @@ void GoalPlannerModuleManager::updateModuleParams(
581585
update_param<double>(
582586
parameters, ns + "forward_parking_velocity",
583587
p->parallel_parking_parameters.forward_parking_velocity);
588+
update_param<double>(
589+
parameters, ns + "clothoid_forward_parking_velocity",
590+
p->parallel_parking_parameters.clothoid_forward_parking_velocity);
584591
update_param<double>(
585592
parameters, ns + "forward_parking_lane_departure_margin",
586593
p->parallel_parking_parameters.forward_parking_lane_departure_margin);
@@ -608,6 +615,9 @@ void GoalPlannerModuleManager::updateModuleParams(
608615
update_param<double>(
609616
parameters, ns + "backward_parking_velocity",
610617
p->parallel_parking_parameters.backward_parking_velocity);
618+
update_param<double>(
619+
parameters, ns + "clothoid_backward_parking_velocity",
620+
p->parallel_parking_parameters.clothoid_backward_parking_velocity);
611621
update_param<double>(
612622
parameters, ns + "backward_parking_lane_departure_margin",
613623
p->parallel_parking_parameters.backward_parking_lane_departure_margin);

planning/behavior_path_planner/autoware_behavior_path_planner_common/include/autoware/behavior_path_planner_common/utils/parking_departure/geometric_parallel_parking.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ struct ParallelParkingParameters
4646
// forward parking
4747
double after_forward_parking_straight_distance{0.0};
4848
double forward_parking_velocity{0.0};
49+
double clothoid_forward_parking_velocity{0.0};
4950
double forward_parking_lane_departure_margin{0.0};
5051
double forward_parking_path_interval{0.0};
5152
double forward_parking_max_steer_angle{0.0};
@@ -54,6 +55,7 @@ struct ParallelParkingParameters
5455
// backward parking
5556
double after_backward_parking_straight_distance{0.0};
5657
double backward_parking_velocity{0.0};
58+
double clothoid_backward_parking_velocity{0.0};
5759
double backward_parking_lane_departure_margin{0.0};
5860
double backward_parking_path_interval{0.0};
5961
double backward_parking_max_steer_angle{0.0};

planning/behavior_path_planner/autoware_behavior_path_planner_common/src/utils/parking_departure/geometric_parallel_parking.cpp

+12-8
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ std::vector<PathWithLaneId> GeometricParallelParking::generatePullOverPaths(
124124
const double L_min =
125125
is_forward
126126
? std::abs(
127-
parameters_.forward_parking_velocity * (parameters_.forward_parking_max_steer_angle /
127+
parameters_.clothoid_forward_parking_velocity * (parameters_.forward_parking_max_steer_angle /
128128
parameters_.forward_parking_steer_rate_lim))
129129
: std::abs(
130-
parameters_.backward_parking_velocity * (parameters_.backward_parking_max_steer_angle /
130+
parameters_.clothoid_backward_parking_velocity * (parameters_.backward_parking_max_steer_angle /
131131
parameters_.backward_parking_steer_rate_lim));
132132
arc_paths = planOneTrialClothoid(
133133
start_pose, goal_pose, R_E_far, L_min, road_lanes, pull_over_lanes, is_forward,
@@ -218,9 +218,11 @@ bool GeometricParallelParking::planPullOver(
218218
continue;
219219
}
220220

221+
const auto velocity = use_clothoid ? parameters_.clothoid_forward_parking_velocity
222+
: parameters_.forward_parking_velocity;
221223
const auto paths = generatePullOverPaths(
222224
*start_pose, goal_pose, R_E_far, road_lanes, pull_over_lanes, is_forward, left_side_parking,
223-
use_clothoid, end_pose_offset, parameters_.forward_parking_velocity);
225+
use_clothoid, end_pose_offset, velocity);
224226
if (!paths.empty()) {
225227
paths_ = paths;
226228
return true;
@@ -240,9 +242,11 @@ bool GeometricParallelParking::planPullOver(
240242
continue;
241243
}
242244

245+
const auto velocity = use_clothoid ? parameters_.clothoid_backward_parking_velocity
246+
: parameters_.backward_parking_velocity;
243247
const auto paths = generatePullOverPaths(
244248
*start_pose, goal_pose, R_E_min_, road_lanes, pull_over_lanes, is_forward,
245-
left_side_parking, use_clothoid, end_pose_offset, parameters_.backward_parking_velocity);
249+
left_side_parking, use_clothoid, end_pose_offset, velocity);
246250
if (!paths.empty()) {
247251
paths_ = paths;
248252
return true;
@@ -875,11 +879,11 @@ std::vector<PathWithLaneId> GeometricParallelParking::planOneTrialClothoid(
875879

876880
// set terminal velocity and acceleration(temporary implementation)
877881
if (is_forward) {
878-
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.forward_parking_velocity, 0.0);
879-
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.forward_parking_velocity, 0.0);
882+
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.clothoid_forward_parking_velocity, 0.0);
883+
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.clothoid_forward_parking_velocity, 0.0);
880884
} else {
881-
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.backward_parking_velocity, 0.0);
882-
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.backward_parking_velocity, 0.0);
885+
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.clothoid_backward_parking_velocity, 0.0);
886+
pairs_terminal_velocity_and_accel_.emplace_back(parameters_.clothoid_backward_parking_velocity, 0.0);
883887
}
884888

885889
// set pull_over start and end pose

planning/behavior_path_planner/autoware_behavior_path_start_planner_module/src/geometric_pull_out.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ std::optional<PullOutPath> GeometricPullOut::plan(
8181
// collision check with stop objects in pull out lanes
8282
const auto arc_path = planner_.getArcPath();
8383

84-
const double velocity = parallel_parking_parameters_.forward_parking_velocity;
84+
const double velocity = use_clothoid_ ? parallel_parking_parameters_.clothoid_forward_parking_velocity
85+
: parallel_parking_parameters_.forward_parking_velocity;
8586

8687
if (parameters_.divide_pull_out_path) {
8788
output.partial_paths = planner_.getPaths();

0 commit comments

Comments
 (0)