You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Hello, what I understand is that the final result of the Mapclosure algorithm is the possible loop graph index, and then I can get a pair of optimal loop indexes based on the number of interior points. I can think that these two local maps contain the same robot return. The pose point of the position, but how can I determine which point is the same position? The mapclosure algorithm is a loop closure between local maps, and the scancontext is a loop closure detection between individual frames. Later, I need to compare these two algorithms and compare mapclousre How does the algorithm loopback work? One is a local graph and the other is a single frame. How do you compare them? #33
Hello, I want to know how I can be sure that the loop diagram is obtained by using this algorithm. Then how can I be sure that the robot has returned to its original position? If I only get the loop diagram, how can I compare it with the scan context? After all, scan context It is possible to obtain the specific pose of the robot when it returns to its original position.
Hello @LL884800, thanks for showing interest in our work.
To begin with, I am not exactly sure what you mean by a "loop diagram". It would be great if you can elaborate a bit further!
Secondly, a one-to-one comparison with ScanContext is not possible since the two approaches are different in the way they process data. ScanContext works on individual scans, whereas we work on local maps generated from registered scans within a certain distance. So each local map contains multiple individual scans.
As a result the start position of the robot and certain number of subsequent scans are contained within the first local map. To figure out if you are revisiting the start location, you can check for the local map index of the loop closures obtained, whether the reference index is 0 or not.
The following image shows how we save the closure information in out pipeline.py:
The relative pose we provide is between the first scans in the source and the target local maps respectively. This is because each local map is in the local reference frame of the first scan it contains.
You can check out #24 to see how we integrate the detected closures between local maps to perform a pose-graph optimization. This PR will be soon merged with the main branch.
changed the title [-]Hello, I want to know how I can be sure that the loop diagram is obtained by using this algorithm. Then how can I be sure that the robot has returned to its original position? If I only get the loop diagram, how can I compare it with the scan context? After all, scan context It is possible to obtain the specific pose of the robot when it returns to its original position.[/-][+]Hello, what I understand is that the final result of the Mapclosure algorithm is the possible loop graph index, and then I can get a pair of optimal loop indexes based on the number of interior points. I can think that these two local maps contain the same robot return. The pose point of the position, but how can I determine which point is the same position? The mapclosure algorithm is a loop closure between local maps, and the scancontext is a loop closure detection between individual frames. Later, I need to compare these two algorithms and compare mapclousre How does the algorithm loopback work? One is a local graph and the other is a single frame. How do you compare them?[/+]on Sep 3, 2024
You can find the way we compute scan-level closure indices from the map-level closures in tools/evaluation.py and is also mentioned in the paper. We use the provided script to compute scan-level closures to compare with scan context, through the Precion Recall and F1 score.
Hello, my understanding is that the final result of the map closure algorithm is a possible loop graph index, and then an optimal loop index can be obtained based on the number of interior points. I can think that these two local maps contain the posture of the robot looping at the same position. points, but how can I determine which point is the same location? What I want to know here is how I determine which point is considered to have returned to the same position. The map closure algorithm is the loop closure between local maps, while the scanning context is the loop closure detection between single frames. I need to compare these two algorithms later. Compare how mapclousre algorithm loopback is performed? One is a partial image and the other is a single frame. How do they compare?
Activity
saurabh1002 commentedon Sep 2, 2024
Hello @LL884800, thanks for showing interest in our work.
To begin with, I am not exactly sure what you mean by a "loop diagram". It would be great if you can elaborate a bit further!
Secondly, a one-to-one comparison with ScanContext is not possible since the two approaches are different in the way they process data. ScanContext works on individual scans, whereas we work on local maps generated from registered scans within a certain distance. So each local map contains multiple individual scans.
As a result the start position of the robot and certain number of subsequent scans are contained within the first local map. To figure out if you are revisiting the start location, you can check for the local map index of the loop closures obtained, whether the reference index is
0or not.The following image shows how we save the closure information in out

pipeline.py:The relative pose we provide is between the first scans in the source and the target local maps respectively. This is because each local map is in the local reference frame of the first scan it contains.
saurabh1002 commentedon Sep 2, 2024
You can check out #24 to see how we integrate the detected closures between local maps to perform a pose-graph optimization. This PR will be soon merged with the main branch.
[-]Hello, I want to know how I can be sure that the loop diagram is obtained by using this algorithm. Then how can I be sure that the robot has returned to its original position? If I only get the loop diagram, how can I compare it with the scan context? After all, scan context It is possible to obtain the specific pose of the robot when it returns to its original position.[/-][+]Hello, what I understand is that the final result of the Mapclosure algorithm is the possible loop graph index, and then I can get a pair of optimal loop indexes based on the number of interior points. I can think that these two local maps contain the same robot return. The pose point of the position, but how can I determine which point is the same position? The mapclosure algorithm is a loop closure between local maps, and the scancontext is a loop closure detection between individual frames. Later, I need to compare these two algorithms and compare mapclousre How does the algorithm loopback work? One is a local graph and the other is a single frame. How do you compare them?[/+]saurabh1002 commentedon Sep 3, 2024
Hey, it would be great if you can add comments to this issue rather than editing the title of the issue in reply.
saurabh1002 commentedon Sep 3, 2024
You can find the way we compute scan-level closure indices from the map-level closures in
tools/evaluation.pyand is also mentioned in the paper. We use the provided script to compute scan-level closures to compare with scan context, through the Precion Recall and F1 score.LL884800 commentedon Sep 3, 2024
Hello, my understanding is that the final result of the map closure algorithm is a possible loop graph index, and then an optimal loop index can be obtained based on the number of interior points. I can think that these two local maps contain the posture of the robot looping at the same position. points, but how can I determine which point is the same location? What I want to know here is how I determine which point is considered to have returned to the same position. The map closure algorithm is the loop closure between local maps, while the scanning context is the loop closure detection between single frames. I need to compare these two algorithms later. Compare how mapclousre algorithm loopback is performed? One is a partial image and the other is a single frame. How do they compare?