How to build cognitive map (experience map) for autonomous navigation in RatSLAM?

The excerpt note is about how to build Experience Map in RatSLAM from Michael et al 2008.

An experience map is a fine-grained topological map composed of many individual experiences, e, connected by transitions, t. Each experience is defined by its associated union of pose code and local view code , where code refers to the pattern of activity in a cell group. The experience is positioned at position in experience space—a space that is a useful manifold to the real world. An experience can then be defined as a 3-tuple

The first experience is created at an arbitrary starting point and subsequent experiences build out from the first experience over transitions.

1) Experience Creation

When the pose code or local view code is sufficiently different from a stored experience, a new experience is created. The pose and local view codes of existing experiences are compared to the current pose and local view code through a score metric S:

Where and weight the respective contributions of pose and local view codes to the matching score. When the score for all current experiences exceeds a threshold , a new experience is created, with an associated transition. The transition stores the change in position as measured form odometry

Where is the change in the vehicle’s pose according to odometry. forms the link between previous experience and new experience such that

Note that this equation holds only at experience creation; is likely to change under loop closure.

2) Loop Closure

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. To move toward a match, the positions of all experiences are updated using

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

3) Reading the Experience Map

A visual readout of the experience map can be obtained by plotting the positions of the experiences joined by their respective transitions. In other work, we have stored behavioral and temporal data in the transition tuple to aid path planning and frequency of use data in both the experience and transition tuples to aid map maintenance.

Milford, Michael J., 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. 129-143, 2008.