Apollo 10.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);
46
47// parameters for trajectory planning
48DECLARE_bool(enable_trajectory_stitcher);
49DECLARE_double(change_lane_min_length);
50DECLARE_double(planning_upper_speed_limit);
51DECLARE_double(trajectory_time_length);
52DECLARE_double(trajectory_time_min_interval);
53DECLARE_double(trajectory_time_max_interval);
54DECLARE_double(trajectory_time_high_density_period);
55
56// parameters for trajectory sanity check
57DECLARE_bool(enable_trajectory_check);
58DECLARE_double(speed_lower_bound);
59DECLARE_double(speed_upper_bound);
60DECLARE_double(longitudinal_acceleration_lower_bound);
61DECLARE_double(longitudinal_acceleration_upper_bound);
62DECLARE_double(longitudinal_jerk_lower_bound);
63DECLARE_double(longitudinal_jerk_upper_bound);
64DECLARE_double(lateral_jerk_bound);
65DECLARE_double(kappa_bound);
66
67// STBoundary
70
71// Decision Part
72DECLARE_double(static_obstacle_nudge_l_buffer);
73DECLARE_double(nonstatic_obstacle_nudge_l_buffer);
74DECLARE_double(lateral_ignore_buffer);
75DECLARE_double(min_stop_distance_obstacle);
76DECLARE_double(max_stop_distance_obstacle);
77DECLARE_double(follow_min_distance);
78DECLARE_double(yield_distance);
79DECLARE_double(follow_time_buffer);
80DECLARE_double(signal_expire_time_sec);
81
82// Path Deciders
83DECLARE_bool(enable_skip_path_tasks);
84
85DECLARE_double(static_obstacle_speed_threshold);
86DECLARE_string(destination_obstacle_id);
87DECLARE_double(destination_check_distance);
88DECLARE_double(passed_destination_threshold);
89DECLARE_double(passed_referenceline_end_threshold);
90
91DECLARE_double(virtual_stop_wall_length);
92DECLARE_double(virtual_stop_wall_height);
93
94DECLARE_double(prediction_total_time);
95DECLARE_bool(align_prediction_time);
96DECLARE_int32(trajectory_point_num_for_debug);
97
98DECLARE_double(turn_signal_distance);
99
100// QpSt optimizer
101DECLARE_double(slowdown_profile_deceleration);
102DECLARE_double(speed_fallback_distance);
104DECLARE_bool(use_multi_thread_to_add_obstacles);
105
106DECLARE_double(numerical_epsilon);
107DECLARE_double(default_cruise_speed);
108
109DECLARE_double(trajectory_time_resolution);
110DECLARE_double(trajectory_space_resolution);
111DECLARE_double(lateral_acceleration_bound);
112DECLARE_double(speed_lon_decision_horizon);
113DECLARE_double(lon_collision_buffer);
114DECLARE_double(lat_collision_buffer);
115
117DECLARE_uint64(num_velocity_sample);
118DECLARE_bool(enable_backup_trajectory);
119DECLARE_double(backup_trajectory_cost);
120DECLARE_double(min_velocity_sample_gap);
121DECLARE_uint64(num_sample_follow_per_timestamp);
122DECLARE_bool(lateral_optimization);
123DECLARE_double(weight_lateral_offset);
124DECLARE_double(weight_lateral_derivative);
125DECLARE_double(weight_lateral_second_order_derivative);
126DECLARE_double(weight_lateral_third_order_derivative);
127DECLARE_double(weight_lateral_obstacle_distance);
128DECLARE_double(lateral_third_order_derivative_max);
129// Lattice Evaluate Parameters
130DECLARE_double(weight_lon_objective);
131DECLARE_double(weight_lon_jerk);
132DECLARE_double(weight_lon_collision);
133DECLARE_double(weight_lat_offset);
134DECLARE_double(weight_lat_comfort);
135DECLARE_double(weight_centripetal_acceleration);
136DECLARE_double(cost_non_priority_reference_line);
137DECLARE_double(weight_same_side_offset);
138DECLARE_double(weight_opposite_side_offset);
139DECLARE_double(weight_dist_travelled);
140DECLARE_double(weight_target_speed);
141DECLARE_double(lat_offset_bound);
142DECLARE_double(lon_collision_yield_buffer);
143DECLARE_double(lon_collision_overtake_buffer);
144DECLARE_double(lon_collision_cost_std);
145DECLARE_double(default_lon_buffer);
146DECLARE_double(time_min_density);
147DECLARE_double(comfort_acceleration_factor);
148DECLARE_double(polynomial_minimal_param);
149DECLARE_double(lattice_stop_buffer);
150DECLARE_double(max_s_lateral_optimization);
151DECLARE_double(default_delta_s_lateral_optimization);
152DECLARE_double(bound_buffer);
153DECLARE_double(nudge_buffer);
154
155DECLARE_double(fallback_total_time);
156DECLARE_double(fallback_time_unit);
157
158DECLARE_double(speed_bump_speed_limit);
159DECLARE_double(default_city_road_speed_limit);
160DECLARE_double(default_highway_speed_limit);
161
162// navigation mode
163DECLARE_bool(enable_planning_pad_msg);
164
165// open space planner
166DECLARE_string(planner_open_space_config_filename);
167DECLARE_bool(use_dual_variable_warm_start);
168DECLARE_bool(enable_smoother_failsafe);
169DECLARE_bool(use_s_curve_speed_smooth);
170DECLARE_bool(use_iterative_anchoring_smoother);
171DECLARE_bool(enable_parallel_trajectory_smoothing);
172DECLARE_bool(enable_parallel_hybrid_a);
173
174DECLARE_bool(enable_osqp_debug);
175DECLARE_bool(export_chart);
176DECLARE_bool(enable_record_debug);
177DECLARE_bool(enable_print_curve);
178
179DECLARE_double(default_front_clear_distance);
180
181DECLARE_bool(enable_rss_info);
182
183DECLARE_bool(enable_planning_smoother);
184DECLARE_double(smoother_stop_distance);
185
186DECLARE_double(side_pass_driving_width_l_buffer);
187
188DECLARE_double(message_latency_threshold);
189
190DECLARE_uint64(trajectory_stitching_preserved_length);
191
192DECLARE_bool(use_st_drivable_boundary);
193
194DECLARE_bool(use_front_axe_center_in_path_planning);
195
196// learning related
197DECLARE_bool(planning_offline_learning);
198DECLARE_string(planning_data_dir);
199DECLARE_string(planning_offline_bags);
200DECLARE_int32(learning_data_obstacle_history_time_sec);
201DECLARE_int32(learning_data_frame_num_per_file);
202DECLARE_string(planning_birdview_img_feature_renderer_config_file);
203DECLARE_int32(min_past_history_points_len);
204
205// Parameter for scenario or task process.
206DECLARE_double(path_bounds_decider_resolution);
207DECLARE_double(path_bounds_horizon);
208DECLARE_double(num_extra_tail_bound_point);
209DECLARE_bool(enable_pull_over_at_destination);
210
211DECLARE_double(obstacle_lat_buffer);
212DECLARE_double(obstacle_lon_start_buffer);
213DECLARE_double(obstacle_lon_end_buffer);
214DECLARE_double(obstacle_lon_ignore_buffer);
215// parameters for trajectory stitching and reinit planning starting point.
216DECLARE_double(replan_lateral_distance_threshold);
217DECLARE_double(replan_longitudinal_distance_threshold);
218
219DECLARE_double(replan_time_threshold);
220
221DECLARE_double(trajectory_check_collision_time_step);
222
223DECLARE_double(obstacle_pass_check_distance);
224
225DECLARE_bool(speed_optimize_fail_relax_velocity_constraint);
226
227DECLARE_bool(check_collision_freespace_obstacle_vertices);
228
229DECLARE_double(near_stop_speed);
230
231DECLARE_double(near_stop_deceleration);
232
233DECLARE_double(reference_line_max_forward_heading_diff);
234DECLARE_double(reference_line_max_backward_heading_diff);
235
236// Nudge decisider
237DECLARE_bool(enable_nudge_decider);
238DECLARE_double(path_trim_destination_threshold);
239
240// park generic
241DECLARE_double(sqp_obstacle_weight);
242DECLARE_bool(enable_obstacle_potential_field);
243
244DECLARE_double(open_space_delta_t);
245
246DECLARE_double(open_space_acc_weight);
247
248DECLARE_double(open_space_jerk_weight);
249
250DECLARE_double(open_space_kappa_weight);
251
252DECLARE_double(open_space_reference_s_weight);
253
254DECLARE_double(open_space_reference_v_weight);
255
256DECLARE_double(open_space_max_forward_v);
257
258DECLARE_double(open_space_max_reverse_v);
259
260DECLARE_double(open_space_max_forward_acc);
261
262DECLARE_double(open_space_max_reverse_acc);
263
264DECLARE_double(open_space_max_jerk);
265
266// Nudge decisider
267DECLARE_bool(enable_nudge_decider);
268DECLARE_double(max_nudge_check_distance_in_lk);
269DECLARE_double(max_nudge_check_distance_in_lc);
270DECLARE_double(path_trim_destination_threshold);
271
272// Edge follow buffer
273DECLARE_double(edge_follow_buffer);
274DECLARE_bool(disable_perception_edge_info);
275DECLARE_bool(enable_edge_follow_curvature_buffer);
276DECLARE_bool(enable_smooth_edge_follow_buffer);
277DECLARE_bool(enable_print_edge_follow_log);
278
279DECLARE_double(normal_look_forward_short_distance);
280DECLARE_double(normal_look_forward_long_distance);
281DECLARE_double(normal_look_backward_distance);
282DECLARE_double(edge_follow_look_forward_short_distance);
283DECLARE_double(edge_follow_look_forward_long_distance);
284DECLARE_double(edge_follow_look_backward_distance);
285
286// lane escape
287DECLARE_bool(enable_lane_escape);
288
289// zone cover
290DECLARE_bool(use_zigzag_type_path_lane);
291DECLARE_bool(change_end_pose);
292DECLARE_bool(calculate_next_trajectory);
293DECLARE_bool(enable_non_drivablle_roi);
294
295// for path easy solution
296DECLARE_double(ego_front_slack_buffer);
297DECLARE_double(relax_ego_radius_buffer);
298DECLARE_double(relax_path_s_threshold);
299DECLARE_bool(enable_corner_constraint);
300DECLARE_bool(enable_expand_obs_corner);
301DECLARE_double(expand_obs_corner_lon_buffer);
302DECLARE_bool(enable_adc_vertex_constraint);
303DECLARE_double(obstacle_lon_end_buffer_park);
304
305DECLARE_bool(enable_control_interactive_replan);
306
307DECLARE_int32(close_range_obstacle_nudge_range_remain_farmes);
308DECLARE_double(close_range_obstacle_nudge_pedestrian_waiting_time);
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)