what's is '_localLoopClosure'?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

what's is '_localLoopClosure'?

walklin
Hi,sir.

Can you give me a detailed expression for '_localLoopClosure' in your code?
Reply | Threaded
Open this post in threaded view
|

Re: what's is '_localLoopClosure'?

matlabbe
Administrator
Are you referring to _localLoopClosureDetectionTime and _localLoopClosureDetectionSpace variables? They are used for local loop closure detection. Local loop closure detection is when we try to detect loop closures using the current estimated position of the robot. On the other side, global loop closure detection is when we try to detect loop closures without using the current position estimate. If the current position estimate is wrong (like very bad odometry or events that could cause odometry errors), local loop closure detection may find wrong loop closures.

Local loop closure detection in time
Activate local detection over all locations in STM. The Bayes filter is not used here: If there are enough correspondences between the current image and others in STM, transformations are computed. This generates more constraints in the map's graph, so more time is required to optimize the graph.

Local loop closure detection in space (laser scans are required)
Activate local detection over locations (in Working Memory) near in space. The Bayes filter is not used here, so it may results in more false detections. ICP 2D only is used here. Only nodes in the local radius are used. The laser scans are compared to those inside a radius around the current estimated position of the robot. If the laser scans match, a constraint is added to the graph. Useful when the robot is visiting backward (camera is not facing the same direction) already visited locations.