Skip to content

Commit

Permalink
add readme
Browse files Browse the repository at this point in the history
  • Loading branch information
QingzhiWang committed May 13, 2022
1 parent 7ae0542 commit 3046354
Show file tree
Hide file tree
Showing 22 changed files with 5 additions and 51 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ We have implemented an accurate and stable laser SLAM algorithm framework, LIS-S
<img src="./assets/doc/system.png" alt="drawing" width="500"/>
</p>

- The geometric feature-based point cloud matching algorithm (LOAM) improves the stability of feature association by introducing semantic information ([RangeNet++](https://github.com/PRBonn/rangenet_lib.git)), and optimises point cloud matching by attaching corresponding weights to each error term using semantic information. To enhance the ability to handle unstructured and degraded scenes, tightly coupled LiDAR/IMU fusion pose estimation is implemented.
- **Semantic information-aided LiDAR/IMU fused pose estimation method.** The geometric feature-based point cloud matching algorithm (LOAM) improves the stability of feature association by introducing semantic information ([RangeNet++](https://github.com/PRBonn/rangenet_lib.git)), and optimises point cloud matching by attaching corresponding weights to each error term using semantic information. To enhance the ability to handle unstructured and degraded scenes, tightly coupled LiDAR/IMU fusion pose estimation is implemented.

- Meanwhile, two improved loop closure detection methods are proposed to address the performance degradation of Scan Context-based loop closure detection methods in outdoor unstructured environments. First, performance in unstructured environments is enhanced by using statistical information from edge planar features to construct global descriptors (EPSC) to improve the processing of noisy data. Secondly, semantic information is used to achieve fast scene localisation, solve the matching problem caused by viewpoint changes, and further complete the scene similarity matching by extracting the global descriptor (SEPSC) fused with semantic information on the basis of the initial alignment of the point cloud.
- **Loop closure detection method.** To address the performance degradation of Scan Context-based loop closure detection methods in outdoor unstructured environments. First, performance in unstructured environments is enhanced by using statistical information from edge planar features to construct global descriptors (EPSC) to improve the processing of noisy data. Secondly, semantic information is used to achieve fast scene localisation, solve the matching problem caused by viewpoint changes, and further complete the scene similarity matching by extracting the global descriptor (SEPSC) fused with semantic information on the basis of the initial alignment of the point cloud.

- By constructing a SubMap and using it as an optimisation unit, the global pose optimisation is achieved by using the factor map optimisation method, which effectively solves the problem of reduced efficiency of back-end optimisation computation in large-scale outdoor scenes on the one hand, and further improves the accuracy of pose estimation by using the more complete feature information in the SubMap to achieve multi-level point cloud matching on the other.
- **Global optimisation method based on SubMap.** By constructing a SubMap and using it as an optimisation unit, the global pose optimisation is achieved by using the factor map optimisation method, which effectively solves the problem of reduced efficiency of back-end optimisation computation in large-scale outdoor scenes on the one hand, and further improves the accuracy of pose estimation by using the more complete feature information in the SubMap to achieve multi-level point cloud matching on the other.


**Modifier:** [QZ Wang](http://[email protected])
Expand Down
2 changes: 0 additions & 2 deletions src/core/common.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "common.h"

Expand Down
2 changes: 0 additions & 2 deletions src/core/distortionAdjust.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "distortionAdjust.h"

Expand Down
2 changes: 0 additions & 2 deletions src/core/epscGeneration.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "epscGeneration.h"

Expand Down
3 changes: 0 additions & 3 deletions src/core/featureExtraction.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on lio_sam
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "featureExtraction.h"

Expand Down
3 changes: 0 additions & 3 deletions src/core/laserProcessing.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on lio_sam
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "laserProcessing.h"

Expand Down
2 changes: 0 additions & 2 deletions src/core/rangenetAPI.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "rangenetAPI.h"

Expand Down
2 changes: 0 additions & 2 deletions src/include/common.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _COMMON_H_
#define _COMMON_H_
Expand Down
2 changes: 0 additions & 2 deletions src/include/distortionAdjust.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _DISTORTION_ADJUST_H_
#define _DISTORTION_ADJUST_H_
Expand Down
3 changes: 0 additions & 3 deletions src/include/epscGeneration.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on ISCLOAM SSC
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _EPSC_GENERATION_H_
#define _EPSC_GENERATION_H_
Expand Down
3 changes: 0 additions & 3 deletions src/include/featureExtraction.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on lio_sam
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _FEATURE_EXTRACTION_H_
#define _FEATURE_EXTRACTION_H_
Expand Down
2 changes: 0 additions & 2 deletions src/include/laserPretreatment.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _LASER_PRETREATMENT_H_
#define _LASER_PRETREATMENT_H_
Expand Down
3 changes: 0 additions & 3 deletions src/include/laserProcessing.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on lio_sam
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _LASER_PROCESSING_H_
#define _LASER_PROCESSING_H_
Expand Down
2 changes: 0 additions & 2 deletions src/include/rangenetAPI.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef RANGENETAPI_H_
#define RANGENETAPI_H_
Expand Down
2 changes: 0 additions & 2 deletions src/include/subMap.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _SUBMAP_H_
#define _SUBMAP_H_
Expand Down
3 changes: 0 additions & 3 deletions src/include/utility.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// This code partly draws on lio_sam
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#ifndef _UTILITY_LIDAR_ODOMETRY_H_
#define _UTILITY_LIDAR_ODOMETRY_H_
Expand Down
3 changes: 1 addition & 2 deletions src/node/dataPretreatNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include <cmath>

#include "utility.h"
Expand Down
2 changes: 0 additions & 2 deletions src/node/laserPretreatmentNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include <cmath>

Expand Down
2 changes: 0 additions & 2 deletions src/node/laserProcessingNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

// local lib
#include "laserProcessing.h"
Expand Down
2 changes: 0 additions & 2 deletions src/node/odomEstimationNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#define PCL_NO_PRECOMPILE

Expand Down
2 changes: 0 additions & 2 deletions src/node/semanticFusionNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#include "lis_slam/cloud_info.h"
#include "lis_slam/semantic_info.h"
Expand Down
3 changes: 1 addition & 2 deletions src/node/subMapOptmizationNode.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Author of EPSC-LOAM : QZ Wang
// Email [email protected]

#define PCL_NO_PRECOMPILE
#include <gtsam/geometry/Pose3.h>
#include <gtsam/geometry/Rot3.h>
Expand Down

0 comments on commit 3046354

Please sign in to comment.