Skip to content

Commit 2024d89

Browse files
committed
synk fork and retry test
1 parent 9f52555 commit 2024d89

File tree

1 file changed

+65
-136
lines changed

1 file changed

+65
-136
lines changed

‎nav2_regulated_pure_pursuit_controller/src/parameter_handler.cpp‎

Lines changed: 65 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
namespace nav2_regulated_pure_pursuit_controller
2525
{
2626

27-
using nav2::declare_parameter_if_not_declared;
2827
using rcl_interfaces::msg::ParameterType;
2928

3029
ParameterHandler::ParameterHandler(
@@ -35,160 +34,90 @@ ParameterHandler::ParameterHandler(
3534
{
3635
plugin_name_ = plugin_name;
3736

38-
declare_parameter_if_not_declared(
39-
node, plugin_name_ + ".desired_linear_vel", rclcpp::ParameterValue(0.5));
40-
declare_parameter_if_not_declared(
41-
node, plugin_name_ + ".lookahead_dist", rclcpp::ParameterValue(0.6));
42-
declare_parameter_if_not_declared(
43-
node, plugin_name_ + ".min_lookahead_dist", rclcpp::ParameterValue(0.3));
44-
declare_parameter_if_not_declared(
45-
node, plugin_name_ + ".max_lookahead_dist", rclcpp::ParameterValue(0.9));
46-
declare_parameter_if_not_declared(
47-
node, plugin_name_ + ".lookahead_time", rclcpp::ParameterValue(1.5));
48-
declare_parameter_if_not_declared(
49-
node, plugin_name_ + ".rotate_to_heading_angular_vel", rclcpp::ParameterValue(1.8));
50-
declare_parameter_if_not_declared(
51-
node, plugin_name_ + ".transform_tolerance", rclcpp::ParameterValue(0.1));
52-
declare_parameter_if_not_declared(
53-
node, plugin_name_ + ".use_velocity_scaled_lookahead_dist",
54-
rclcpp::ParameterValue(false));
55-
declare_parameter_if_not_declared(
56-
node, plugin_name_ + ".min_approach_linear_velocity", rclcpp::ParameterValue(0.05));
57-
declare_parameter_if_not_declared(
58-
node, plugin_name_ + ".approach_velocity_scaling_dist",
59-
rclcpp::ParameterValue(0.6));
60-
declare_parameter_if_not_declared(
61-
node, plugin_name_ + ".max_allowed_time_to_collision_up_to_carrot",
62-
rclcpp::ParameterValue(1.0));
63-
declare_parameter_if_not_declared(
64-
node, plugin_name_ + ".min_distance_to_obstacle",
65-
rclcpp::ParameterValue(-1.0));
66-
declare_parameter_if_not_declared(
67-
node, plugin_name_ + ".use_regulated_linear_velocity_scaling", rclcpp::ParameterValue(true));
68-
declare_parameter_if_not_declared(
69-
node, plugin_name_ + ".use_cost_regulated_linear_velocity_scaling",
70-
rclcpp::ParameterValue(true));
71-
declare_parameter_if_not_declared(
72-
node, plugin_name_ + ".cost_scaling_dist", rclcpp::ParameterValue(0.6));
73-
declare_parameter_if_not_declared(
74-
node, plugin_name_ + ".cost_scaling_gain", rclcpp::ParameterValue(1.0));
75-
declare_parameter_if_not_declared(
76-
node, plugin_name_ + ".inflation_cost_scaling_factor", rclcpp::ParameterValue(3.0));
77-
declare_parameter_if_not_declared(
78-
node, plugin_name_ + ".regulated_linear_scaling_min_radius", rclcpp::ParameterValue(0.90));
79-
declare_parameter_if_not_declared(
80-
node, plugin_name_ + ".regulated_linear_scaling_min_speed", rclcpp::ParameterValue(0.25));
81-
declare_parameter_if_not_declared(
82-
node, plugin_name_ + ".use_fixed_curvature_lookahead", rclcpp::ParameterValue(false));
83-
declare_parameter_if_not_declared(
84-
node, plugin_name_ + ".curvature_lookahead_dist", rclcpp::ParameterValue(0.6));
85-
declare_parameter_if_not_declared(
86-
node, plugin_name_ + ".use_rotate_to_heading", rclcpp::ParameterValue(true));
87-
declare_parameter_if_not_declared(
88-
node, plugin_name_ + ".rotate_to_heading_min_angle", rclcpp::ParameterValue(0.785));
89-
declare_parameter_if_not_declared(
90-
node, plugin_name_ + ".max_angular_accel", rclcpp::ParameterValue(3.2));
91-
declare_parameter_if_not_declared(
92-
node, plugin_name_ + ".use_cancel_deceleration", rclcpp::ParameterValue(false));
93-
declare_parameter_if_not_declared(
94-
node, plugin_name_ + ".cancel_deceleration", rclcpp::ParameterValue(3.2));
95-
declare_parameter_if_not_declared(
96-
node, plugin_name_ + ".allow_reversing", rclcpp::ParameterValue(false));
97-
declare_parameter_if_not_declared(
98-
node, plugin_name_ + ".max_robot_pose_search_dist",
99-
rclcpp::ParameterValue(costmap_size_x / 2.0));
100-
declare_parameter_if_not_declared(
101-
node, plugin_name_ + ".interpolate_curvature_after_goal",
102-
rclcpp::ParameterValue(false));
103-
declare_parameter_if_not_declared(
104-
node, plugin_name_ + ".use_collision_detection",
105-
rclcpp::ParameterValue(true));
106-
declare_parameter_if_not_declared(
107-
node, plugin_name_ + ".stateful", rclcpp::ParameterValue(true));
108-
109-
node->get_parameter(plugin_name_ + ".desired_linear_vel", params_.desired_linear_vel);
37+
params_.desired_linear_vel =
38+
node->declare_or_get_parameter(plugin_name_ + ".desired_linear_vel", 0.5);
11039
params_.base_desired_linear_vel = params_.desired_linear_vel;
111-
node->get_parameter(plugin_name_ + ".lookahead_dist", params_.lookahead_dist);
112-
node->get_parameter(plugin_name_ + ".min_lookahead_dist", params_.min_lookahead_dist);
113-
node->get_parameter(plugin_name_ + ".max_lookahead_dist", params_.max_lookahead_dist);
114-
node->get_parameter(plugin_name_ + ".lookahead_time", params_.lookahead_time);
115-
node->get_parameter(
116-
plugin_name_ + ".rotate_to_heading_angular_vel",
117-
params_.rotate_to_heading_angular_vel);
118-
node->get_parameter(plugin_name_ + ".transform_tolerance", params_.transform_tolerance);
119-
node->get_parameter(
120-
plugin_name_ + ".use_velocity_scaled_lookahead_dist",
121-
params_.use_velocity_scaled_lookahead_dist);
122-
node->get_parameter(
123-
plugin_name_ + ".min_approach_linear_velocity",
124-
params_.min_approach_linear_velocity);
125-
node->get_parameter(
126-
plugin_name_ + ".approach_velocity_scaling_dist",
127-
params_.approach_velocity_scaling_dist);
40+
params_.lookahead_dist =
41+
node->declare_or_get_parameter(plugin_name_ + ".lookahead_dist", 0.6);
42+
params_.min_lookahead_dist =
43+
node->declare_or_get_parameter(plugin_name_ + ".min_lookahead_dist", 0.3);
44+
params_.max_lookahead_dist =
45+
node->declare_or_get_parameter(plugin_name_ + ".max_lookahead_dist", 0.9);
46+
params_.lookahead_time =
47+
node->declare_or_get_parameter(plugin_name_ + ".lookahead_time", 1.5);
48+
params_.rotate_to_heading_angular_vel = node->declare_or_get_parameter(
49+
plugin_name_ + ".rotate_to_heading_angular_vel", 1.8);
50+
params_.transform_tolerance = node->declare_or_get_parameter(
51+
plugin_name_ + ".transform_tolerance", 0.1);
52+
params_.use_velocity_scaled_lookahead_dist = node->declare_or_get_parameter(
53+
plugin_name_ + ".use_velocity_scaled_lookahead_dist", false);
54+
params_.min_approach_linear_velocity = node->declare_or_get_parameter(
55+
plugin_name_ + ".min_approach_linear_velocity", 0.05);
56+
params_.approach_velocity_scaling_dist = node->declare_or_get_parameter(
57+
plugin_name_ + ".approach_velocity_scaling_dist", 0.6);
12858
if (params_.approach_velocity_scaling_dist > costmap_size_x / 2.0) {
12959
RCLCPP_WARN(
13060
logger_, "approach_velocity_scaling_dist is larger than forward costmap extent, "
13161
"leading to permanent slowdown");
13262
}
133-
node->get_parameter(
134-
plugin_name_ + ".max_allowed_time_to_collision_up_to_carrot",
135-
params_.max_allowed_time_to_collision_up_to_carrot);
136-
node->get_parameter(
137-
plugin_name_ + ".min_distance_to_obstacle",
138-
params_.min_distance_to_obstacle);
139-
node->get_parameter(
140-
plugin_name_ + ".use_regulated_linear_velocity_scaling",
141-
params_.use_regulated_linear_velocity_scaling);
142-
node->get_parameter(
143-
plugin_name_ + ".use_cost_regulated_linear_velocity_scaling",
144-
params_.use_cost_regulated_linear_velocity_scaling);
145-
node->get_parameter(plugin_name_ + ".cost_scaling_dist", params_.cost_scaling_dist);
146-
node->get_parameter(plugin_name_ + ".cost_scaling_gain", params_.cost_scaling_gain);
147-
node->get_parameter(
148-
plugin_name_ + ".inflation_cost_scaling_factor",
149-
params_.inflation_cost_scaling_factor);
150-
node->get_parameter(
151-
plugin_name_ + ".regulated_linear_scaling_min_radius",
152-
params_.regulated_linear_scaling_min_radius);
153-
node->get_parameter(
154-
plugin_name_ + ".regulated_linear_scaling_min_speed",
155-
params_.regulated_linear_scaling_min_speed);
156-
node->get_parameter(
157-
plugin_name_ + ".use_fixed_curvature_lookahead",
158-
params_.use_fixed_curvature_lookahead);
159-
node->get_parameter(
160-
plugin_name_ + ".curvature_lookahead_dist",
161-
params_.curvature_lookahead_dist);
162-
node->get_parameter(plugin_name_ + ".use_rotate_to_heading", params_.use_rotate_to_heading);
163-
node->get_parameter(
164-
plugin_name_ + ".rotate_to_heading_min_angle", params_.rotate_to_heading_min_angle);
165-
node->get_parameter(plugin_name_ + ".max_angular_accel", params_.max_angular_accel);
166-
node->get_parameter(plugin_name_ + ".use_cancel_deceleration", params_.use_cancel_deceleration);
167-
node->get_parameter(plugin_name_ + ".cancel_deceleration", params_.cancel_deceleration);
168-
node->get_parameter(plugin_name_ + ".allow_reversing", params_.allow_reversing);
169-
node->get_parameter(
170-
plugin_name_ + ".max_robot_pose_search_dist",
171-
params_.max_robot_pose_search_dist);
63+
params_.max_allowed_time_to_collision_up_to_carrot =
64+
node->declare_or_get_parameter(
65+
plugin_name_ + ".max_allowed_time_to_collision_up_to_carrot", 1.0);
66+
params_.min_distance_to_obstacle = node->declare_or_get_parameter(
67+
plugin_name_ + ".min_distance_to_obstacle", -1.0);
68+
params_.use_regulated_linear_velocity_scaling =
69+
node->declare_or_get_parameter(
70+
plugin_name_ + ".use_regulated_linear_velocity_scaling", true);
71+
params_.use_cost_regulated_linear_velocity_scaling =
72+
node->declare_or_get_parameter(
73+
plugin_name_ + ".use_cost_regulated_linear_velocity_scaling", true);
74+
params_.cost_scaling_dist =
75+
node->declare_or_get_parameter(plugin_name_ + ".cost_scaling_dist", 0.6);
76+
params_.cost_scaling_gain =
77+
node->declare_or_get_parameter(plugin_name_ + ".cost_scaling_gain", 1.0);
78+
params_.inflation_cost_scaling_factor = node->declare_or_get_parameter(
79+
plugin_name_ + ".inflation_cost_scaling_factor", 3.0);
80+
params_.regulated_linear_scaling_min_radius = node->declare_or_get_parameter(
81+
plugin_name_ + ".regulated_linear_scaling_min_radius", 0.90);
82+
params_.regulated_linear_scaling_min_speed = node->declare_or_get_parameter(
83+
plugin_name_ + ".regulated_linear_scaling_min_speed", 0.25);
84+
params_.use_fixed_curvature_lookahead = node->declare_or_get_parameter(
85+
plugin_name_ + ".use_fixed_curvature_lookahead", false);
86+
params_.curvature_lookahead_dist = node->declare_or_get_parameter(
87+
plugin_name_ + ".curvature_lookahead_dist", 0.6);
88+
params_.use_rotate_to_heading = node->declare_or_get_parameter(
89+
plugin_name_ + ".use_rotate_to_heading", true);
90+
params_.rotate_to_heading_min_angle = node->declare_or_get_parameter(
91+
plugin_name_ + ".rotate_to_heading_min_angle", 0.785);
92+
params_.max_angular_accel =
93+
node->declare_or_get_parameter(plugin_name_ + ".max_angular_accel", 3.2);
94+
params_.use_cancel_deceleration = node->declare_or_get_parameter(
95+
plugin_name_ + ".use_cancel_deceleration", false);
96+
params_.cancel_deceleration = node->declare_or_get_parameter(
97+
plugin_name_ + ".cancel_deceleration", 3.2);
98+
params_.allow_reversing =
99+
node->declare_or_get_parameter(plugin_name_ + ".allow_reversing", false);
100+
params_.max_robot_pose_search_dist = node->declare_or_get_parameter(
101+
plugin_name_ + ".max_robot_pose_search_dist", costmap_size_x / 2.0);
172102
if (params_.max_robot_pose_search_dist < 0.0) {
173103
RCLCPP_WARN(
174104
logger_, "Max robot search distance is negative, setting to max to search"
175105
" every point on path for the closest value.");
176106
params_.max_robot_pose_search_dist = std::numeric_limits<double>::max();
177107
}
178108

179-
node->get_parameter(
180-
plugin_name_ + ".interpolate_curvature_after_goal",
181-
params_.interpolate_curvature_after_goal);
109+
params_.interpolate_curvature_after_goal = node->declare_or_get_parameter(
110+
plugin_name_ + ".interpolate_curvature_after_goal", false);
182111
if (!params_.use_fixed_curvature_lookahead && params_.interpolate_curvature_after_goal) {
183112
RCLCPP_WARN(
184113
logger_, "For interpolate_curvature_after_goal to be set to true, "
185114
"use_fixed_curvature_lookahead should be true, it is currently set to false. Disabling.");
186115
params_.interpolate_curvature_after_goal = false;
187116
}
188-
node->get_parameter(
189-
plugin_name_ + ".use_collision_detection",
190-
params_.use_collision_detection);
191-
node->get_parameter(plugin_name_ + ".stateful", params_.stateful);
117+
params_.use_collision_detection = node->declare_or_get_parameter(
118+
plugin_name_ + ".use_collision_detection", true);
119+
params_.stateful =
120+
node->declare_or_get_parameter(plugin_name_ + ".stateful", true);
192121

193122
if (params_.inflation_cost_scaling_factor <= 0.0) {
194123
RCLCPP_WARN(

0 commit comments

Comments
 (0)