Apollo  6.0
Open source self driving car software
prediction_gflags.h
Go to the documentation of this file.
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 
21 DECLARE_double(double_precision);
22 
23 // prediction trajectory and dynamic model
24 DECLARE_double(prediction_trajectory_time_length);
25 DECLARE_double(prediction_trajectory_time_resolution);
26 DECLARE_double(min_prediction_trajectory_spatial_length);
27 DECLARE_bool(enable_trajectory_validation_check);
28 DECLARE_bool(enable_tracking_adaptation);
29 
30 DECLARE_double(vehicle_max_linear_acc);
31 DECLARE_double(vehicle_min_linear_acc);
32 DECLARE_double(vehicle_max_speed);
33 
34 // Tracking Adaptation
35 DECLARE_double(max_tracking_time);
36 DECLARE_double(max_tracking_dist);
37 
38 // Map
39 DECLARE_double(lane_search_radius);
40 DECLARE_double(lane_search_radius_in_junction);
41 DECLARE_double(junction_search_radius);
42 DECLARE_double(pedestrian_nearby_lane_search_radius);
43 DECLARE_int32(road_graph_max_search_horizon);
44 DECLARE_double(surrounding_lane_search_radius);
45 
46 // Semantic Map
47 DECLARE_double(base_image_half_range);
48 DECLARE_bool(img_show_semantic_map);
49 
50 // Scenario
51 DECLARE_double(junction_distance_threshold);
52 DECLARE_bool(enable_all_junction);
53 DECLARE_bool(enable_all_pedestrian_caution_in_front);
54 DECLARE_bool(enable_rank_caution_obstacles);
55 DECLARE_int32(caution_obs_max_nums);
56 DECLARE_double(caution_distance_threshold);
57 DECLARE_double(caution_search_distance_ahead);
58 DECLARE_double(caution_search_distance_backward);
59 DECLARE_double(caution_search_distance_backward_for_merge);
60 DECLARE_double(caution_search_distance_backward_for_overlap);
61 DECLARE_double(caution_pedestrian_approach_time);
62 
63 // Obstacle features
64 DECLARE_int32(ego_vehicle_id);
65 DECLARE_double(scan_length);
66 DECLARE_double(scan_width);
67 DECLARE_double(back_dist_ignore_ped);
68 DECLARE_uint64(cruise_historical_frame_length);
69 DECLARE_bool(enable_kf_tracking);
70 DECLARE_double(max_angle_diff_to_adjust_velocity);
71 DECLARE_double(q_var);
72 DECLARE_double(r_var);
73 DECLARE_double(p_var);
74 DECLARE_double(go_approach_rate);
75 DECLARE_double(cutin_approach_rate);
76 
77 DECLARE_int32(min_still_obstacle_history_length);
78 DECLARE_int32(max_still_obstacle_history_length);
79 DECLARE_double(still_obstacle_speed_threshold);
80 DECLARE_double(still_pedestrian_speed_threshold);
81 DECLARE_double(still_unknown_speed_threshold);
82 DECLARE_double(still_obstacle_position_std);
83 DECLARE_double(still_pedestrian_position_std);
84 DECLARE_double(still_unknown_position_std);
85 DECLARE_double(slow_obstacle_speed_threshold);
86 DECLARE_double(max_history_time);
87 DECLARE_double(target_lane_gap);
88 DECLARE_double(dense_lane_gap);
89 DECLARE_int32(max_num_current_lane);
90 DECLARE_int32(max_num_nearby_lane);
91 DECLARE_double(max_lane_angle_diff);
92 DECLARE_int32(max_num_current_lane_in_junction);
93 DECLARE_int32(max_num_nearby_lane_in_junction);
94 DECLARE_double(max_lane_angle_diff_in_junction);
95 DECLARE_double(coeff_mul_sigma);
96 DECLARE_double(pedestrian_max_speed);
97 DECLARE_double(pedestrian_max_acc);
98 DECLARE_double(still_speed);
99 DECLARE_string(evaluator_vehicle_mlp_file);
100 DECLARE_string(torch_vehicle_junction_mlp_file);
101 DECLARE_string(torch_vehicle_junction_map_file);
102 DECLARE_string(torch_vehicle_semantic_lstm_file);
103 DECLARE_string(torch_vehicle_semantic_lstm_cpu_file);
104 DECLARE_string(torch_vehicle_cruise_go_file);
105 DECLARE_string(torch_vehicle_cruise_cutin_file);
106 DECLARE_string(torch_vehicle_lane_scanning_file);
107 DECLARE_string(torch_pedestrian_interaction_position_embedding_file);
108 DECLARE_string(torch_pedestrian_interaction_social_embedding_file);
109 DECLARE_string(torch_pedestrian_interaction_single_lstm_file);
110 DECLARE_string(torch_pedestrian_interaction_prediction_layer_file);
111 DECLARE_string(torch_pedestrian_semantic_lstm_file);
112 DECLARE_string(torch_pedestrian_semantic_lstm_cpu_file);
113 DECLARE_string(torch_lane_aggregating_obstacle_encoding_file);
114 DECLARE_string(torch_lane_aggregating_lane_encoding_file);
115 DECLARE_string(torch_lane_aggregating_prediction_layer_file);
116 DECLARE_string(evaluator_vehicle_rnn_file);
117 DECLARE_string(evaluator_vehicle_cruise_mlp_file);
118 DECLARE_int32(max_num_obstacles);
119 DECLARE_double(valid_position_diff_threshold);
120 DECLARE_double(valid_position_diff_rate_threshold);
121 DECLARE_double(split_rate);
122 DECLARE_double(rnn_min_lane_relatice_s);
123 DECLARE_bool(adjust_velocity_by_obstacle_heading);
124 DECLARE_bool(adjust_velocity_by_position_shift);
125 DECLARE_bool(adjust_vehicle_heading_by_lane);
126 DECLARE_double(heading_filter_param);
127 DECLARE_uint64(max_num_lane_point);
128 DECLARE_double(distance_threshold_to_junction_exit);
129 DECLARE_double(angle_threshold_to_junction_exit);
130 DECLARE_uint32(sample_size_for_average_lane_curvature);
131 
132 // Validation checker
133 DECLARE_double(centripetal_acc_coeff);
134 
135 // Junction Scenario
136 DECLARE_uint32(junction_historical_frame_length);
137 DECLARE_double(junction_exit_lane_threshold);
138 DECLARE_double(distance_beyond_junction);
139 DECLARE_double(defualt_junction_range);
140 DECLARE_double(distance_to_slow_down_at_stop_sign);
141 
142 // Evaluator
143 DECLARE_double(time_to_center_if_not_reach);
144 DECLARE_double(default_s_if_no_obstacle_in_lane_sequence);
145 DECLARE_double(default_l_if_no_obstacle_in_lane_sequence);
146 DECLARE_bool(enable_semantic_map);
147 
148 // Obstacle trajectory
149 DECLARE_bool(enable_cruise_regression);
150 DECLARE_double(lane_sequence_threshold_cruise);
151 DECLARE_double(lane_sequence_threshold_junction);
152 DECLARE_double(lane_change_dist);
153 DECLARE_bool(enable_lane_sequence_acc);
154 DECLARE_bool(enable_trim_prediction_trajectory);
155 DECLARE_double(adc_trajectory_search_length);
156 DECLARE_double(virtual_lane_radius);
157 DECLARE_double(default_lateral_approach_speed);
158 DECLARE_double(centripedal_acc_threshold);
159 
160 // move sequence prediction
161 DECLARE_double(time_upper_bound_to_lane_center);
162 DECLARE_double(time_lower_bound_to_lane_center);
163 DECLARE_double(sample_time_gap);
164 DECLARE_double(cost_alpha);
165 DECLARE_double(default_time_to_lat_end_state);
166 DECLARE_double(turning_curvature_lower_bound);
167 DECLARE_double(turning_curvature_upper_bound);
168 DECLARE_double(speed_at_lower_curvature);
169 DECLARE_double(speed_at_upper_curvature);
170 DECLARE_double(cost_function_alpha);
171 DECLARE_double(cost_function_sigma);
172 DECLARE_bool(use_bell_curve_for_cost_function);
173 
174 // interaction predictor
175 DECLARE_double(collision_cost_time_resolution);
176 DECLARE_double(longitudinal_acceleration_cost_weight);
177 DECLARE_double(centripedal_acceleration_cost_weight);
178 DECLARE_double(collision_cost_weight);
179 DECLARE_double(collision_cost_exp_coefficient);
180 DECLARE_double(likelihood_exp_coefficient);
181 
182 // scenario feature extraction
183 DECLARE_double(lane_distance_threshold);
184 DECLARE_double(lane_angle_difference_threshold);
185 
186 // Trajectory evaluation
187 DECLARE_double(distance_threshold_on_lane);
DECLARE_double(double_precision)
DECLARE_uint64(cruise_historical_frame_length)
DECLARE_int32(road_graph_max_search_horizon)
DECLARE_uint32(sample_size_for_average_lane_curvature)
DECLARE_bool(enable_trajectory_validation_check)
DECLARE_string(evaluator_vehicle_mlp_file)