Apollo 11.0
自动驾驶开放平台
lat_based_lqr_plus_controller_conf.proto
浏览该文件的文档.
1syntax = "proto2";
2
3package apollo.control;
4
9
10message LatBaseLqrPlusControllerConf{
11 optional double ts = 1; // sample time (dt) 0.01 now, configurable
12 // preview window n, preview time = preview window * ts
13 optional int32 preview_window = 2;
14 optional double cf = 3;
15 optional double cr = 4; // N/rad
16 optional int32 mass_fl = 5;
17 optional int32 mass_fr = 6;
18 optional int32 mass_rl = 7;
19 optional int32 mass_rr = 8;
20 optional double eps = 9; // converge threshold for lqr solver
21 repeated double matrix_q = 10; // matrix_q size = 4 + preview_window
22 // matrix_q size = 4 + preview_window for reverse gear
23 repeated double reverse_matrix_q = 11;
24 optional int32 cutoff_freq = 12; // cutoff frequency
25 optional int32 mean_filter_window_size = 13; // window size of mean filter
26 // for a normal car, it should be in range[16, 18]
27 optional int32 max_iteration = 14; // maximum iteration for lqr solve
28 optional double max_lateral_acceleration = 15; // limit aggressive steering
29 optional apollo.control.GainScheduler lat_err_gain_scheduler = 16;
30 optional apollo.control.GainScheduler heading_err_gain_scheduler = 17;
31 optional LeadlagConf reverse_leadlag_conf = 18;
32 optional bool enable_reverse_leadlag_compensation = 19 [default = false];
33 optional bool enable_look_ahead_back_control = 20 [default = false];
34 optional double lookahead_station = 21 [default = 0.0];
35 optional double lookback_station = 22 [default = 0.0];
36 optional MracConf steer_mrac_conf = 23;
37 optional bool enable_steer_mrac_control = 24 [default = false];
38 optional double lookahead_station_high_speed = 25 [default = 0.0];
39 optional double lookback_station_high_speed = 26 [default = 0.0];
40
41 // from gflags and control_conf.proto
42 optional double lock_steer_speed = 27 [default = 0.081];
43 optional bool enable_navigation_mode_error_filter = 28 [default = false];
44 optional bool enable_navigation_mode_position_update = 29 [default = true];
45 optional double query_relative_time = 30 [default = 0.8];
46 optional bool trajectory_transform_to_com_reverse = 31 [default = false];
47 optional bool trajectory_transform_to_com_drive = 32 [default = false];
48 optional bool enable_feedback_augment_on_high_speed = 33 [default = false];
49 optional bool enable_maximum_steer_rate_limit = 34 [default = false];
50 optional bool query_time_nearest_point_only = 35 [default = false];
51
52 optional double switch_speed = 36; // low/high speed controller switch speed
53 optional double switch_speed_window = 37 [default = 0.0];
54 optional double reverse_feedforward_ratio = 38 [default = 1.0];
55
56 optional bool reverse_use_dynamic_model = 39 [default = false];
57
58 optional double straight_steering_percentage = 40 [default = 5];
59 optional double straight_min_velocity = 41 [default = 0.5];
60 optional double straight_max_ref_cur = 42 [default = 0.01];
61 optional bool use_heading_auto_compensation = 43 [default = false];
62 optional uint32 AHC_container_size = 44 [default = 300];
63
64 optional double AHC_mean_value_low_threshold = 45 [default = 0.01];
65 optional double AHC_mean_value_high_threshold = 46 [default = 0.05];
66 optional double AHC_peak_value_threshold = 47 [default = 0.02];
67
68 repeated double speed_segment = 48;
69 repeated double changing_rate = 49;
70
71 repeated double lat_speed_input = 50;
72 repeated double lat_err_speed_gain_output = 51;
73 repeated double lat_err_delta_speed_gain_output = 52;
74 repeated double heading_err_speed_gain_output = 53;
75 repeated double heading_err_delta_speed_gain_output = 54;
76
77 repeated double lat_curvature_input = 55;
78 repeated double lat_err_curvature_gain_output = 56;
79 repeated double lat_err_delta_curvature_gain_output = 57;
80 repeated double heading_err_curvature_gain_output = 58;
81 repeated double heading_err_delta_curvature_gain_output = 59;
82
83 optional int32 first_handle_heading_window = 60 [default = 200];
84 optional int32 out_first_handle_heading_window = 61 [default = 50];
85 optional int32 handle_lat_err_window = 62 [default = 75];
86 optional int32 handle_heading_err_window = 63 [default = 75];
87 optional double first_handle_heading_stage_prarm = 64 [default = 100];
88 optional double handle_lat_err_prarm_domain = 65 [default = 10];
89 optional double handle_lat_err_prarm_ignore = 66 [default = 0.5];
90 optional double handle_heading_err_parm_domain = 67 [default = 10];
91 optional double handle_heading_err_parm_ignore = 68 [default = 0.5];
92 optional double heading_err_threshold = 69 [default = 0.12];
93 optional double lat_err_threshold = 70 [default = 0.1];
94 optional double openspace_enhance_curv = 71 [default = 0.1];
95 optional double min_large_ref_cur = 72 [default = 0.1];
96 optional SafetyCheckConf lat_safety_check_conf = 73;
97 optional bool use_safety_check_output = 74 [default = false];
98 optional double lat_err_position_add = 75 [default = 1.0];
99 optional double thres_curvature = 76 [default = 0.08];
100 optional bool use_new_look_ahead_back = 77 [default = false];
101 optional double reverse_dead_steer_left = 78 [default = 70.0];
102 optional double reverse_too_big_lat_err = 79 [default = 0.25];
103 optional double reverse_too_big_heading_err = 80 [default = 0.18];
104 optional double reverse_final_heading_check_path = 81 [default = 0.5];
105 optional double reverse_final_heading_check_heading = 82 [default = 0.03];
106 optional bool enable_enhance_qparam = 83 [default = true];
107 optional uint32 check_continous_errors_window = 84 [default = 4];
108 optional bool use_monotonicity_check = 85 [default = false];
109 optional double com_change_rate = 86 [default = 1.0];
110 optional double lat_continous_err_threshold = 87 [default = 0.0];
111 optional bool use_continous_errors_check = 88 [default = false];
112 optional ChooseRefTrajectoryPoint choose_ref_point = 89;
113 optional ChooseRefTrajectoryPoint choose_track_point = 90;
114 optional double track_com_length = 91 [default = 0.0];
115 optional bool is_need_turn_out_lane = 92 [default = false];
116 optional double turn_out_lane_com_length = 93 [default = 0.1];
117
118 optional double lateral_error_turbulence_threshold = 94 [default = 0.1];
119 optional double heading_error_turbulence_threshold = 95 [default = 0.1];
120 optional bool use_turbulence_check = 96 [default = false];
121 optional double com_quit_turbulence_change_rate = 97 [default = 0.1];
122}
123
124message ReverseLogicStage {
125 enum ReverseStageType {
126 NO_REVERSE = -1;
127 FIRST_HEADING_HANDLE_STAGE = 0;
128 QUIT_FIRST_HEADING_HANDLE_STAGE = 1;
129 HANDLE_LAT_ERR_STAGE = 2;
130 HANDLE_HEADING_ERR_STAGE = 3;
131 }
132}
133
134enum ChooseRefTrajectoryPoint {
135 USE_LAT_TARGET_COM = 1;
136 USE_LAT_MATCH_COM = 2;
137 USE_LAT_MATCH_LOCAL = 3;
138 USE_LAT_ABSOLUTE_LOCAL = 4;
139 USE_LAT_MATCH_LR = 5;
140 USE_LAT_TRACK_COM = 6;
141}
apollo::control
class register implement
Definition arena_queue.h:37