raulmur / ORB_SLAM2

Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
Other
9.37k stars 4.69k forks source link

Spanning Tree Essential Graph #854

Open daothanlong11 opened 4 years ago

daothanlong11 commented 4 years ago

Hi every one, can some one help me understand the purpose of the spanning tree, what is its function. I had read ORB-SLAM2 and ORB-SLAM paper, i can understand what covisibility nd essential is doing but not the spanning tree, what part in the code use the spanning tree. Thank for your help

AlejandroSilvestri commented 4 years ago

@daothanlong11

If I remember right, the spanning tree is only used in loop closing, to evenly distribute the "error" in keyframes poses when fusing two ends to form a loop.

And it provides an convenient way to traverse the whole map if you need it.

yiakwy commented 4 years ago

@daothanlong11 spanning tree may also make the pose graph is free of end circle path in navigation. @AlejandroSilvestri could you help me on this question https://github.com/raulmur/ORB_SLAM2/issues/872