Apollo 11.0
自动驾驶开放平台
planning_gflags.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2017 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
17#pragma once
18
19#include "gflags/gflags.h"
20
21DECLARE_int32(history_max_record_num);
22DECLARE_int32(max_frame_history_num);
23
24DECLARE_bool(enable_scenario_side_pass_multiple_parked_obstacles);
25DECLARE_bool(enable_force_pull_over_open_space_parking_test);
26
27DECLARE_bool(publish_estop);
28
29DECLARE_string(traffic_rule_config_filename);
30DECLARE_int32(planning_loop_rate);
31DECLARE_string(rtk_trajectory_filename);
32DECLARE_uint64(rtk_trajectory_forward);
33DECLARE_double(rtk_trajectory_resolution);
34DECLARE_string(planner_config_path);
35
36// parameter for reference line
37DECLARE_bool(prioritize_change_lane);
38DECLARE_bool(enable_reference_line_stitching);
39DECLARE_double(look_forward_extend_distance);
40DECLARE_double(reference_line_stitch_overlap_distance);
41DECLARE_string(smoother_config_filename);
42DECLARE_bool(enable_smooth_reference_line);
43DECLARE_bool(enable_reference_line_provider_thread);
44DECLARE_double(default_reference_line_width);
45DECLARE_double(smoothed_reference_line_max_diff);
46DECLARE_double(reference_line_endpoint_extend_length);
47
48// parameters for trajectory planning
49DECLARE_bool(enable_trajectory_stitcher);
50DECLARE_double(change_lane_min_length);
51DECLARE_double(planning_upper_speed_limit);
52DECLARE_double(trajectory_time_length);
53DECLARE_double(trajectory_time_min_interval);
54DECLARE_double(trajectory_time_max_interval);
55DECLARE_double(trajectory_time_high_density_period);
56
57// parameters for trajectory sanity check
58DECLARE_bool(enable_trajectory_check);
59DECLARE_double(speed_lower_bound);
60DECLARE_double(speed_upper_bound);
61DECLARE_double(longitudinal_acceleration_lower_bound);
62DECLARE_double(longitudinal_acceleration_upper_bound);
63DECLARE_double(longitudinal_jerk_lower_bound);
64DECLARE_double(longitudinal_jerk_upper_bound);
65DECLARE_double(lateral_jerk_bound);
66DECLARE_double(kappa_bound);
67
68// STBoundary
71
72// Decision Part
73DECLARE_double(static_obstacle_nudge_l_buffer);
74DECLARE_double(nonstatic_obstacle_nudge_l_buffer);
75DECLARE_double(lateral_ignore_buffer);
76DECLARE_double(min_stop_distance_obstacle);
77DECLARE_double(max_stop_distance_obstacle);
78DECLARE_double(follow_min_distance);
79DECLARE_double(yield_distance);
80DECLARE_double(follow_time_buffer);
81DECLARE_double(signal_expire_time_sec);
82
83// Path Deciders
84DECLARE_bool(enable_skip_path_tasks);
85
86DECLARE_double(static_obstacle_speed_threshold);
87DECLARE_string(destination_obstacle_id);
88DECLARE_double(destination_check_distance);
89DECLARE_double(passed_destination_threshold);
90DECLARE_double(passed_referenceline_end_threshold);
91
92DECLARE_double(virtual_stop_wall_length);
93DECLARE_double(virtual_stop_wall_height);
94
95DECLARE_double(prediction_total_time);
96DECLARE_bool(align_prediction_time);
97DECLARE_int32(trajectory_point_num_for_debug);
98
99DECLARE_double(turn_signal_distance);
100
101// QpSt optimizer
102DECLARE_double(slowdown_profile_deceleration);
103DECLARE_double(speed_fallback_distance);
105DECLARE_bool(use_multi_thread_to_add_obstacles);
106
107DECLARE_double(numerical_epsilon);
108DECLARE_double(default_cruise_speed);
109
110DECLARE_double(trajectory_time_resolution);
111DECLARE_double(trajectory_space_resolution);
112DECLARE_double(lateral_acceleration_bound);
113DECLARE_double(speed_lon_decision_horizon);
114DECLARE_double(lon_collision_buffer);
115DECLARE_double(lat_collision_buffer);
116
118DECLARE_uint64(num_velocity_sample);
119DECLARE_bool(enable_backup_trajectory);
120DECLARE_double(backup_trajectory_cost);
121DECLARE_double(min_velocity_sample_gap);
122DECLARE_uint64(num_sample_follow_per_timestamp);
123DECLARE_bool(lateral_optimization);
124DECLARE_double(weight_lateral_offset);
125DECLARE_double(weight_lateral_derivative);
126DECLARE_double(weight_lateral_second_order_derivative);
127DECLARE_double(weight_lateral_third_order_derivative);
128DECLARE_double(weight_lateral_obstacle_distance);
129DECLARE_double(lateral_third_order_derivative_max);
130// Lattice Evaluate Parameters
131DECLARE_double(weight_lon_objective);
132DECLARE_double(weight_lon_jerk);
133DECLARE_double(weight_lon_collision);
134DECLARE_double(weight_lat_offset);
135DECLARE_double(weight_lat_comfort);
136DECLARE_double(weight_centripetal_acceleration);
137DECLARE_double(cost_non_priority_reference_line);
138DECLARE_double(weight_same_side_offset);
139DECLARE_double(weight_opposite_side_offset);
140DECLARE_double(weight_dist_travelled);
141DECLARE_double(weight_target_speed);
142DECLARE_double(lat_offset_bound);
143DECLARE_double(lon_collision_yield_buffer);
144DECLARE_double(lon_collision_overtake_buffer);
145DECLARE_double(lon_collision_cost_std);
146DECLARE_double(default_lon_buffer);
147DECLARE_double(time_min_density);
148DECLARE_double(comfort_acceleration_factor);
149DECLARE_double(polynomial_minimal_param);
150DECLARE_double(lattice_stop_buffer);
151DECLARE_double(max_s_lateral_optimization);
152DECLARE_double(default_delta_s_lateral_optimization);
153DECLARE_double(bound_buffer);
154DECLARE_double(nudge_buffer);
155
156DECLARE_double(fallback_total_time);
157DECLARE_double(fallback_time_unit);
158
159DECLARE_double(speed_bump_speed_limit);
160DECLARE_double(default_city_road_speed_limit);
161DECLARE_double(default_highway_speed_limit);
162
163// navigation mode
164DECLARE_bool(enable_planning_pad_msg);
165
166// open space planner
167DECLARE_string(planner_open_space_config_filename);
168DECLARE_bool(use_dual_variable_warm_start);
169DECLARE_bool(enable_smoother_failsafe);
170DECLARE_bool(use_s_curve_speed_smooth);
171DECLARE_bool(use_iterative_anchoring_smoother);
172DECLARE_bool(enable_parallel_trajectory_smoothing);
173DECLARE_bool(enable_parallel_hybrid_a);
174
175DECLARE_double(path_speed_osqp_setting_time_limit);
176DECLARE_bool(enable_osqp_debug);
177DECLARE_bool(export_chart);
178DECLARE_bool(enable_record_debug);
179DECLARE_bool(enable_print_curve);
180
181DECLARE_double(default_front_clear_distance);
182
183DECLARE_bool(enable_rss_info);
184
185DECLARE_bool(enable_planning_smoother);
186DECLARE_double(smoother_stop_distance);
187
188DECLARE_double(side_pass_driving_width_l_buffer);
189
190DECLARE_double(message_latency_threshold);
191
192DECLARE_uint64(trajectory_stitching_preserved_length);
193
194DECLARE_bool(use_st_drivable_boundary);
195
196DECLARE_bool(use_front_axe_center_in_path_planning);
197
198// learning related
199DECLARE_bool(planning_offline_learning);
200DECLARE_string(planning_data_dir);
201DECLARE_string(planning_offline_bags);
202DECLARE_int32(learning_data_obstacle_history_time_sec);
203DECLARE_int32(learning_data_frame_num_per_file);
204DECLARE_string(planning_birdview_img_feature_renderer_config_file);
205DECLARE_int32(min_past_history_points_len);
206
207// Parameter for scenario or task process.
208DECLARE_double(path_bounds_decider_resolution);
209DECLARE_double(path_bounds_horizon);
210DECLARE_double(num_extra_tail_bound_point);
211DECLARE_bool(enable_pull_over_at_destination);
212
213DECLARE_double(obstacle_lat_buffer);
214DECLARE_double(obstacle_lon_start_buffer);
215DECLARE_double(obstacle_lon_end_buffer);
216DECLARE_double(obstacle_lon_ignore_buffer);
217// parameters for trajectory stitching and reinit planning starting point.
218DECLARE_double(replan_lateral_distance_threshold);
219DECLARE_double(replan_longitudinal_distance_threshold);
220
221DECLARE_double(replan_time_threshold);
222
223DECLARE_double(trajectory_check_collision_time_step);
224
225DECLARE_double(obstacle_pass_check_distance);
226
227DECLARE_bool(speed_optimize_fail_relax_velocity_constraint);
228
229DECLARE_bool(check_collision_freespace_obstacle_vertices);
230
231DECLARE_double(near_stop_speed);
232
233DECLARE_double(near_stop_deceleration);
234
235DECLARE_double(reference_line_max_forward_heading_diff);
236DECLARE_double(reference_line_max_backward_heading_diff);
237
238// Nudge decisider
239DECLARE_bool(enable_nudge_decider);
240DECLARE_double(path_trim_destination_threshold);
241
242// park generic
243DECLARE_double(sqp_obstacle_weight);
244DECLARE_bool(enable_obstacle_potential_field);
245
246DECLARE_double(open_space_delta_t);
247
248DECLARE_double(open_space_acc_weight);
249
250DECLARE_double(open_space_jerk_weight);
251
252DECLARE_double(open_space_kappa_weight);
253
254DECLARE_double(open_space_reference_s_weight);
255
256DECLARE_double(open_space_reference_v_weight);
257
258DECLARE_double(open_space_max_forward_v);
259
260DECLARE_double(open_space_max_reverse_v);
261
262DECLARE_double(open_space_max_forward_acc);
263
264DECLARE_double(open_space_max_reverse_acc);
265
266DECLARE_double(open_space_max_jerk);
267
268// Nudge decisider
269DECLARE_bool(enable_nudge_decider);
270DECLARE_double(max_nudge_check_distance_in_lk);
271DECLARE_double(max_nudge_check_distance_in_lc);
272DECLARE_double(path_trim_destination_threshold);
273
274// Edge follow buffer
275DECLARE_double(edge_follow_buffer);
276DECLARE_bool(disable_perception_edge_info);
277DECLARE_bool(enable_edge_follow_curvature_buffer);
278DECLARE_bool(enable_smooth_edge_follow_buffer);
279DECLARE_bool(enable_print_edge_follow_log);
280
281DECLARE_double(normal_look_forward_short_distance);
282DECLARE_double(normal_look_forward_long_distance);
283DECLARE_double(normal_look_backward_distance);
284DECLARE_double(edge_follow_look_forward_short_distance);
285DECLARE_double(edge_follow_look_forward_long_distance);
286DECLARE_double(edge_follow_look_backward_distance);
287
288// lane escape
289DECLARE_bool(enable_lane_escape);
290
291// zone cover
292DECLARE_bool(use_zigzag_type_path_lane);
293DECLARE_bool(change_end_pose);
294DECLARE_bool(calculate_next_trajectory);
295DECLARE_bool(enable_non_drivablle_roi);
296
297// for path easy solution
298DECLARE_double(ego_front_slack_buffer);
299DECLARE_double(relax_ego_radius_buffer);
300DECLARE_double(relax_path_s_threshold);
301DECLARE_bool(enable_corner_constraint);
302DECLARE_bool(enable_expand_obs_corner);
303DECLARE_double(expand_obs_corner_lon_buffer);
304DECLARE_bool(enable_adc_vertex_constraint);
305DECLARE_double(obstacle_lon_end_buffer_park);
306
307DECLARE_bool(enable_control_interactive_replan);
308
309DECLARE_int32(close_range_obstacle_nudge_range_remain_farmes);
310DECLARE_double(close_range_obstacle_nudge_pedestrian_waiting_time);
311
312DECLARE_double(path_obs_ref_shift_distance);
313
314DECLARE_double(driving_state_nudge_check_l);
DECLARE_bool(enable_scenario_side_pass_multiple_parked_obstacles)
DECLARE_int32(history_max_record_num)
DECLARE_double(rtk_trajectory_resolution)
DECLARE_string(traffic_rule_config_filename)
DECLARE_uint64(rtk_trajectory_forward)