Apollo  6.0
Open source self driving car software
localization_params.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2018 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 
22 #pragma once
23 
24 #include <string>
25 
26 #include "modules/localization/proto/localization.pb.h"
27 
32 namespace apollo {
33 namespace localization {
34 namespace msf {
35 
38  : offset_x(0.0),
39  offset_y(0.0),
40  offset_z(0.0),
41  uncertainty_x(0.0),
42  uncertainty_y(0.0),
43  uncertainty_z(0.0) {}
44  double offset_x;
45  double offset_y;
46  double offset_z;
47  double uncertainty_x;
48  double uncertainty_y;
49  double uncertainty_z;
50 };
51 
53  VehicleToImuQuatern() : x(0.0), y(0.0), z(0.0), w(1.0) {}
54  double x;
55  double y;
56  double z;
57  double w;
58 };
59 
61  // localization mode
62  bool enable_lidar_localization = true;
63  int gnss_mode = 0;
64 
65  // sins module
66  bool is_ins_can_self_align = false;
67  bool is_sins_align_with_vel = true;
68  bool is_sins_state_check = false;
69  double sins_state_span_time = 60.0;
70  double sins_state_pos_std = 1.0;
71  double vel_threshold_get_yaw = 5.0;
72  bool is_trans_gpstime_to_utctime = true;
73  bool is_using_raw_gnsspos = true;
74 
75  // gnss module
76  bool enable_ins_aid_rtk = false;
78 
79  // lidar module
80  std::string map_path = "";
81  std::string lidar_extrinsic_file = "";
82  std::string lidar_height_file = "";
83  double lidar_height_default = 1.7;
84  int localization_mode = 2;
85  int lidar_yaw_align_mode = 2;
86  int lidar_filter_size = 17;
87  double map_coverage_theshold = 0.8;
88  double imu_lidar_max_delay_time = 0.4;
89  int utm_zone_id = 50;
90  bool is_lidar_unstable_reset = true;
91  double unstable_reset_threshold = 0.3;
92  bool if_use_avx = false;
93 
94  bool is_using_novatel_heading = true;
95  std::string ant_imu_leverarm_file = "";
97 
98  // localization status param
99  double imu_delay_time_threshold_1 = 0.1;
100  double imu_delay_time_threshold_2 = 0.05;
101  double imu_delay_time_threshold_3 = 0.02;
102 
103  double imu_missing_time_threshold_1 = 0.1;
104  double imu_missing_time_threshold_2 = 0.05;
105  double imu_missing_time_threshold_3 = 0.01;
106 
107  double bestgnsspose_loss_time_threshold = 2.0;
108  double lidar_loss_time_threshold = 2.0;
109 
110  double localization_std_x_threshold_1 = 0.15;
111  double localization_std_y_threshold_1 = 0.15;
112 
113  double localization_std_x_threshold_2 = 0.3;
114  double localization_std_y_threshold_2 = 0.3;
115 };
116 
118  OK = 0,
119  WARNNING,
120  ERROR,
123 };
126  std::string state_message = "";
127 };
128 
130 
132  public:
135  const LocalizationMeasureState& state,
136  const LocalizationEstimate& localiztion,
137  const LocalizationIntegStatus& integ_status = LocalizationIntegStatus())
138  : state_(state),
139  localization_(localiztion),
140  integ_status_(integ_status) {}
141  LocalizationMeasureState state() const { return state_; }
142  LocalizationEstimate localization() const { return localization_; }
143  LocalizationIntegStatus integ_status() const { return integ_status_; }
144 
145  private:
147  LocalizationEstimate localization_;
148  LocalizationIntegStatus integ_status_;
149 };
150 
151 } // namespace msf
152 } // namespace localization
153 } // namespace apollo
LocalizationMeasureState state() const
Definition: localization_params.h:141
double uncertainty_z
Definition: localization_params.h:49
LocalizationIntegState
Definition: localization_params.h:117
double uncertainty_y
Definition: localization_params.h:48
double offset_x
Definition: localization_params.h:44
LocalizationEstimate localization() const
Definition: localization_params.h:142
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
double y
Definition: localization_params.h:55
VehicleToImuQuatern vehicle_to_imu_quatern
Definition: localization_params.h:96
double offset_z
Definition: localization_params.h:46
double w
Definition: localization_params.h:57
VehicleToImuQuatern()
Definition: localization_params.h:53
LocalizationResult(const LocalizationMeasureState &state, const LocalizationEstimate &localiztion, const LocalizationIntegStatus &integ_status=LocalizationIntegStatus())
Definition: localization_params.h:134
LocalizationMeasureState
Definition: localization_params.h:129
double x
Definition: localization_params.h:54
Definition: localization_params.h:131
LocalizationIntegStatus integ_status() const
Definition: localization_params.h:143
LocalizationResult()
Definition: localization_params.h:133
double z
Definition: localization_params.h:56
Definition: localization_params.h:36
double uncertainty_x
Definition: localization_params.h:47
Definition: localization_params.h:52
Definition: localization_params.h:60
double offset_y
Definition: localization_params.h:45
Definition: localization_params.h:124
ImuToAntOffset()
Definition: localization_params.h:37
ImuToAntOffset imu_to_ant_offset
Definition: localization_params.h:77