23 #include "Eigen/Geometry" 24 #include "pcl/point_cloud.h" 25 #include "pcl/point_types.h" 34 #define USE_PRELOAD_MAP_NODE 37 #define VIS_USE_OPENCV_ON 39 #ifdef VIS_USE_OPENCV_ON 40 #include <opencv2/opencv.hpp> 41 void color_mapping(
float value,
float midvalue,
unsigned char* r,
42 unsigned char* g,
unsigned char* b) {
45 }
else if (value < 0.f) {
48 if (value > midvalue) {
49 value = (value - midvalue) / (1.f - midvalue);
51 *g = (1.0 -
value) * 255.0;
57 *b = (1 -
value) * 255.0;
63 namespace localization {
91 void LoadMap(
const Eigen::Affine3d& init_location,
unsigned int resolution_id,
97 void SetMapFolderPath(
const std::string folder_path);
101 void SetLidarHeight(
double height);
104 void ComposeMapCells(
const Eigen::Vector2d& left_top_coord2d,
int zone_id,
105 unsigned int resolution_id,
float map_pixel_resolution,
109 void SetOnlineCloudResolution(
const float& online_resolution);
127 inline const NdtMap&
GetMap()
const {
return map_; }
133 bool is_initialized_ =
false;
135 bool is_map_loaded_ =
false;
149 unsigned int resolution_id_ = 0;
154 double lidar_height_ = 1.7;
156 double pre_imu_height_ = 0;
164 float proj_reslution_ = 1.0;
167 NdtMapConfig config_;
171 NdtMapNodePool map_preload_node_pool_;
173 std::vector<Leaf> cell_map_;
180 double fitness_score_ = 0.0;
183 int ndt_max_iterations_ = 10;
184 double ndt_target_resolution_ = 1.0;
185 double ndt_line_search_step_size_ = 0.1;
186 double ndt_transformation_epsilon_ = 0.01;
189 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
apollo::localization::msf::pyramid_map::NdtMapNode NdtMapNode
Definition: lidar_locator_ndt.h:68
const NdtMap & GetMap() const
Get the locator map.
Definition: lidar_locator_ndt.h:127
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
The data structure of ndt Map cell.
Definition: ndt_map_matrix.h:97
bool IsInitialized() const
Is the locator initialized.
Definition: lidar_locator_ndt.h:123
Eigen::Vector2d Vector2d
Definition: base_map_fwd.h:36
Eigen::Vector3d Vector3d
Definition: frame_transform.h:27
apollo::localization::msf::pyramid_map::NdtMapMatrix NdtMapMatrix
Definition: lidar_locator_ndt.h:71
double GetFitnessScore() const
Get ndt matching score.
Definition: lidar_locator_ndt.h:129
apollo::localization::msf::pyramid_map::NdtMapNodePool NdtMapNodePool
Definition: lidar_locator_ndt.h:70
double measurement_time
Definition: lidar_locator_ndt.h:76
bool IsMaploaded() const
Is the map data loaded.
Definition: lidar_locator_ndt.h:125
std::vector< unsigned char > intensities
Definition: lidar_locator_ndt.h:80
apollo::localization::msf::pyramid_map::MapNodeIndex MapNodeIndex
Definition: lidar_locator_ndt.h:72
std::vector< float > pt_xs
Definition: lidar_locator_ndt.h:77
Definition: lidar_locator_ndt.h:83
apollo::localization::msf::pyramid_map::NdtMapConfig NdtMapConfig
Definition: lidar_locator_ndt.h:67
Definition: ndt_map_node.h:31
bool Init(const char *binary_name)
std::vector< float > pt_zs
Definition: lidar_locator_ndt.h:79
apollo::localization::msf::pyramid_map::NdtMap NdtMap
Definition: lidar_locator_ndt.h:66
The options of the reflectance map.
Definition: ndt_map_config.h:29
apollo::cyber::base::std value
The memory pool for the data structure of BaseMapNode.
Definition: ndt_map_pool.h:30
std::vector< float > pt_ys
Definition: lidar_locator_ndt.h:78
Definition: base_map_node_index.h:33
Eigen::Affine3d Affine3d
Definition: base_map_fwd.h:34
Eigen::Matrix3d Matrix3d
Definition: base_map_fwd.h:33
The data structure of ndt Map matrix.
Definition: ndt_map_matrix.h:141
Definition: lidar_locator_ndt.h:74
LidarFrame()
Definition: lidar_locator_ndt.h:75
apollo::localization::msf::pyramid_map::NdtMapCells NdtMapCells
Definition: lidar_locator_ndt.h:69