How to implement the Loop Closure (Map Correction) in RatSLAM?

This excerpt note is about loop closure (map correction) in RatSLAM from Michael et al., 2008 and Michael 2008 book.

Michael Milford, and Gordon F. Wyeth. “Mapping a Suburb with a Single Camera using a Biologically Inspired SLAM System.” IEEE Transactions on Robotics 24, no. 5 (2008): 1038-1053.

Michael Milford. Robot Navigation from Nature: Simultaneous Localisation, Mapping, and Path Planning Based on Hippocampal Models. Springer-Verlag Berlin Heidelberg Press, pp. 74-79, 2008.

When the robot sees familiar visual scenes after spending time in a novel part of the environment, visual activity is injected into the pose cell matrix, causing the robot to re-localise its perceived pose. This causes the robot’s associated location within the experience map (given by the maximally active experience) to jump from the new experience it has most recently learned to a previously learnt experience. The experience mapping algorithm learns this new transition, which contains a large discrepancy between the transition’s relative spatial information and the difference between the two experiences co-ordinates in the experience map. For example, two experiences may be positioned several metres apart in the experience map but be linked by transitions encoding much smaller distances.

By minimising the discrepancies between relative experience poses and inter-experience spatial transition information, the experience map can become locally representative of the environment’s spatial arrangement. This can be achieved by consolidating the expected pose of each experience based on relative odometric information and their current pose.

 

There is no explicit loop detection; rather, loop closure occurs when the pose code and local view code after a change in experience sufficiently match a stored experience. When this occurs, it is highly unlikely that the summed change in position of the transitions leading to the experience at closure will match up to the same position. This can be achieved by consolidating the expected pose of each experience based on relative odometric information and their current pose. Under this correction process, the change in experience pose (the positions of all experiences) , are updated using

Where is a correction rate constant, is the number of links from experience to other experiences, and is the number of links from other experiences to experience , is the change in the vehicle’s pose according to odometry. In these experiments, is set to 0.5 (larger values can lead to map instability). The map update process occurs continually, but is most apparent during loop closures.

 

When the orientation of an experience is changed through the map correction process, the component of its transitional information must also be updated to account for the rotation. The updated transition information, , is given by:

Where is the change in the orientation of the experience.

For further more info, please read Michael et al., 2008 and Michael 2008 book.

Michael Milford, and Gordon F. Wyeth. Mapping a Suburb with a Single Camera using a Biologically Inspired SLAM System.” IEEE Transactions on Robotics 24, no. 5 (2008): 1038-1053.

Michael Milford. Robot Navigation from Nature: Simultaneous Localisation, Mapping, and Path Planning Based on Hippocampal Models. Springer-Verlag Berlin Heidelberg Press, pp. 74-79, 2008.