Skip to content

lturing/slam_note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 

Repository files navigation

My IMU data is from INS570D and lidar data is from RS-LIDAR 16, the default coordinate of IMU is "x-forward, y-right, z-down" and the default coordinate of RS-LIDAR is "x-right, y-forward, z-up", i have changed both of them to "x-forward, y-left, z-up", but the result is still bad.

there is a bug in MapPoint::PreSave, detele KeyFrame when iter,you should fix it ,and then fix Tracking::Relocalization bug,and write a new function InitWithMap,and you can use the atlas map


  • imu initialzed

you should move in a curved trajectory to make the SLAM initialize well. http:https://doc.openxrlab.org.cn/openxrlab_document/ARDemo/ARdemo.html


  • keyframe selection

When a new frame comes, we check the parallax of its keypoint matches with respect to the last keyframe. If the parallax exceeds a threshold, we tag the new frame as a keyframe. If the number of matches is below a lower bound, or there have not been any keyframes for the recent T frames, we also mark the frame as a keyframe.




if a frame is not a keyframe, the features extracted in it are only used to estimate the pose of the frame and just a few tenths of features take part in this step. This wastes a lot of time to compute the useless descriptors.


features divided into static, dynamic and potentially dynamic, using static features by image segmentation to compute R an t(H matrix), and the epipolar geometry to decide potentially dynamic whether is static or not.


We observe that the computation of keypoint descriptors in indirect methods is time-consuming and the descriptors are not reused except in the case of keyframes. This wastes significant computational sources. If we can establish reliable keypoint correspondences without extracting descriptors between adjacent frames (or equivalently in Tracking), it will greatly reduce the computational cost without loss of precision. The first stage is for robust keypoint matching where we predict the initial keypoint correspondences by a uniform acceleration motion (UAM) model and then use a pyramid-based sparse optical flow algorithm to establish coarse keypoint correspondences. The second stage is for inlier refinement where we exploit grid-based motion statistics to filter out outliers and then utilize the epipolar constraint to further refine the correspondences.


mesh or planar


improved orb

To ensure a homogeneous distribution, we divide each scale level into a grid, and attempt to extract at least five corners per cell. Then, we detect corners in each cell. Note that our system adopts the Adaptive Threshold FAST (AT-FAST) method to extract corners in challenging scenes (e.g., low or high texture) efficiently. AT-FAST is an improved FAST method.


slam

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages