- LOAM 2014: Lidar Odometry and Mapping in Real-time
- LOAM 2016: Low-drift and real-time lidar odometry and mapping
- V-LOAM 2015: Visual-lidar Odometry and Mapping: Low-drift, Robust, and Fast
- LeGO-LOAM 2018: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
- Simplified LOAM (for ground vehicle) + Loop Closing
- Dividing each scan it into four identical sub-regions.
- A sub-region is a subset of points of each scan.
- The LOAM feature extractor is responsible for classifying each point of all sub-regions as smooth (flat) or non-smooth (sharp) according to a threshold.
- This threshold is represented by CLOAM and it is defined as:
- R is the set of points from a sub-region of a scan (R⊂Pk).
- p(i,k) and p(j,k) represent the ith and jth point vectors of the sweep k of R.
- || ||represents the L2 norm.
🌕 Note: Convolution is a mathematical way of combining two signals to form a third signal. This means that the filter convolves around the input volume by shifting n unit at a time. Equal to product of the Fourier Transforms of the functions |
---|
- The points in a scan are sorted based on the c values (maximum c’s: edge points, minimum c’s: planar points.) (larger or smaller than a threshold,)
- To evenly distribute the feature points within the environment: separate a scan into four identical subregions. (Each subregion: maximally 2 edge points and 4 planar points. )
- the number of selected points does not exceed the maximum.
- selecting feature points
- unreliable:
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8023504 * avoid points whose surrounded points are selected * points on local planar surfaces that are roughly parallel to the laser beams (point B in Fig. 4(a)) * points that are on boundary of occluded regions
Inputs:
- ~Pk: Pk that reprojected to time stamp tk+1
- Pk+1:
- Ek+1 edge points
- Hk+1 planar points
Finding correspondences between the two lidar clouds:
- The lidar odometry recursively estimates the 6-DOF motion during the sweep, and gradually includes more points as Pk+1 increases.
- At each iteration, Ek+1 and Hk+1 are reprojected to the beginning of the sweep using the currently estimated transform. Let ̃Ek+1 and ̃Hk+1 be the reprojected point sets. For each point in ̃Ek+1 and ̃Hk+1, we are going to find the closest neighbor point in ̄Pk. Here, ̄Pk is stored in a 3D KD-tree [24] for fast index.
- real-time
- Velodyne
- The feature extraction process is similar to LOAM
- instead of extracting features from raw point clouds, they extract features from ground points and segmented points.
Paths produced by LOAM and LeGO-LOAM across 10 trials, and 2 computers, with the experiment 3 dataset.
-
1- Projection function Π R3→R2:
-
3- Odometry (ICP)
-
A dense mapping approach called Surfel-based Mappin
-
Surfel -based:
- Allows us to represent even large-scale environments and maintain dense, , detailed geometric information of the point clouds at the same time.
- Relatively fast to render
- A surfel map M is an unordered set of surfels s, where each surfel is defined by a position vs ∈ R3, a normal ns ∈ R3, a radius rs ∈ R.
- Real-time
- Integrating semantic information to facilitate the mapping process.
- The semantic information is efficiently extracted by a fully convolutional neural network and rendered on a spherical projection of the laser range data.
- This semantic map enables us to reliably filter moving objects, but also improve the projective scan matching via semantic constraints.
- It exploits the labels provided by the semantic segmentation to handle moving objects. More specifically, It filters dynamics by checking semantic consistency between the new observation and the world model, when we update the map. If the labels are inconsistent we assume those surfels belong to an object that moved between the scans. Therefore, we add a penalty term to the computation of the stability term in the recursive Bayes filter. After several observations, we can remove the unstable surfels. In this way, we achieve a detection of dynamics and finally a removal.
- Semantic information:
- Removing moving objects: inconsistency between current scan and the map
- Fll-in eroded labels with neighboring labels to get a more consistent result
- Creating semantic map
- Suma:
- **Suma
- Suma_no_movable: naive approach of removing all movable classes (vehicles, persons,...)
- Suma++
#3D Feature Points Detection on Sparse and Non-uniform Pointcloud for SLAM