How to build spatial representation model (x, y, z, yaw) for 3D SLAM inspired by the brain?

The excerpt note is some relevant references about 2.5D SLAM inspired by the brain, which is expanded from the RatSLAM system.

Guth F. A. et. al. present an Hippo 3D (DolphinSLAM), expanded from the RatSLAM system, which was initially designed to 2D terrestrial environments. The algorithm is based in the Hippocampus cells and performs SLAM in 3D environments, here applied to a subaquatic scenario through a ROV simulation with four degrees of freedom.

The Hippo 3D algorithm is an extended version of RatSLAM for 3D environments. The system is divided into three modules, Local View Cells, Pose Cells and Experience Map.

The Local View module is unmodified in this implementation, continue to receive image, processing and recognition images by using a vector of image columns intensities.

The Pose Cell module was increased with another layer to make the estimation of position. This layer represents the z dimension. The CANN of pose cells estimate the pose xyz and yaw orientation from now on.

The Experience Map module has the bigger change, because now it is necessary to create a map in three dimensions. For this, the processes of create, update experiences and close loops were modified. An experience remains a tuple, as shown in equation 2.

(2)

Where the change in the representation of the position ,represented by a 3D pose, as shown in equation 3. This pose has an origin and orientation, the last one represented by a quaternion.

(3)

Where

(4)

(5)

In the same way, the link between two experience change its representation, making a transformation between two poses, as follows:

(6)

This transformation has the same components of the pose shown in the equation 3.

The position of a new experience will be calculated from the position of the current experience multiplied by transformation experiments conducted between:

(7)

Loop closure on the experience map: One of the most important events that take place on the map of experiences is the loop closure, where a known experiment is revisited again. When this occurs, it is possible to make an adjustment on the map, in order to reduce odometry errors.

In this new implementation, the odometry error correction is done in a different way, based on the average of estimations for experience position, being more stable than the previous form in RatSLAM, based on error correction through a refresh rate.

Where represents the connections from and the connections to a node in the generated map.

The updated orientation is calculated similarly. The first step is find the yaw angle from the quaternions of all estimates. After that, a mean between these angles is made, transforming them up to Cartesian coordinates, adding vectors, and finding the angle of the resultant vector.

Some questions about the Hippo 3D:

  1. How to represent (x,y,z,theta) with 3D pose cell?
  2. How to build the excitation and inhibition connection across layers to form attractor dynamics?

 

In addition, Silveira L. et. al. 2015 present an open-source bio-inspired solution to underwater SLAM, called DolphinSLAM, extending the successful previous RatSLAM approach from 2D ground vehicles to the 3D underwater environments.

DolphinSLAM is an open-source, easily reconfigurable modular bio-inspired appearance-based 3D SLAM integrated with ROS. That allows online and offline operation. The proposal is composed by six modules: the Pre-Processing module, the Local View recognition module, the Motion Detection module, the 3D Place Cells Network module and an Experience Map module.

3D Place Cell Network in DolphinSLAM

The Place Cell Network is a CANN that mimics the behaviour of brain mechanisms related to navigation of mammals. Each neuron on the network is responsible for mapping a specific area of the environment, similar to Place Cells found in bats. The cells are anchored to visual or sonar cues, provided by Local View Cells and the network is capable of maintaining a robot position guess in the absence of external inputs.

The most important network characteristic is competition. The network competition supports multiple estimates of the robot’s position at the same time, guided by external inputs. The most stable estimate will win the competition after some iterations, and this neuron will become an attractor. After that, the network activity will be concentrated around this attractor.

The network update is divided in several steps: Excitation, Path Integration, External Connection Learning, Input Activation and Activity Normalization.

Some questions about DolphinSLAM:

  1. How to represent (x, y, z, theta) simultaneously with a new network model?
  2. How to represent yaw (theta) due to the 3D Place Cell Network only can represent 3D position (x,y,z). It is not able to represent yaw (theta).
  3. How to represent experience node position (x,y,z,theta)? This implementation does not consider the theta.

 

Comment

It is still a challenge and open question to build spatial representation model (x, y, z, yaw) for 3D SLAM inspired by the neural mechanism of 3D spatial localization and mapping in the brain.

 

For further info, please read the following references:

Milford, Michael, Gordon F. Wyeth, and David Prasser. “RatSLAM: a hippocampal model for simultaneous localization and mapping.” In Robotics and Automation, 2004. Proceedings. ICRA’04. 2004 IEEE International Conference on, vol. 1, pp. 403-408. IEEE, 2004.

Milford, Michael, 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.

Milford, Michael, and Gordon Wyeth. “Persistent navigation and mapping using a biologically inspired SLAM system.” The International Journal of Robotics Research 29, no. 9 (2010): 1131-1153.

Milford, Michael, Felix Schill, Peter Corke, Robert Mahony, and Gordon Wyeth. “Aerial SLAM with a single camera using visual expectation.” In Robotics and Automation (ICRA), 2011 IEEE International Conference on, pp. 2506-2512. IEEE, 2011.

Milford, Michael, David McKinnon, Michael Warren, Gordon Wyeth, and Ben Upcroft. “Feature-based visual odometry and featureless place recognition for SLAM in 2.5 D environments.” In Australasian Conference on Robotics and Automation, vol. 23. ARAA, 2011.

Guth, Felipe Albring, Luan Silveira, Marcos Amaral, Silvia Botelho, and Paulo Drews. “Underwater visual 3D SLAM using a bio-inspired system.” In Computing and Automation for Offshore Shipbuilding (NAVCOMP), 2013 Symposium on, pp. 87-92. IEEE, 2013.

Silveira, Luan, Felipe Guth, Paulo Drews-Jr, Pedro Ballester, Matheus Machado, Felipe Codevilla, Nelson Duarte-Filho, and Silvia Botelho. An Open-source Bio-inspired Solution to Underwater SLAM★.” IFAC-PapersOnLine 48, no. 2 (2015): 212-217.

Silveira, Luan, Felipe Guth, Paulo Drews, and Silvia Botelho. “3D robotic mapping: A biologic approach.” In Advanced Robotics (ICAR), 2013 16th International Conference on, pp. 1-6. IEEE, 2013.

Zaffari, Guilherme B., Matheus M. dos Santos, Amanda C. Duarte, Daniel de A. Fernandes, and Silvia S. da C. Botelho. “Exploring the DolphinSLAM’s parameters.” In OCEANS 2016-Shanghai, pp. 1-5. IEEE, 2016.

Zaffari, Guilherme B., Matheus M. Dos Santos, Paulo LJ Drews, and Silvia SC Botelho. “Effects of Water Currents in a Continuous Attractor Neural Network for SLAM Applications.” In Robotics Symposium and IV Brazilian Robotics Symposium (LARS/SBR), 2016 XIII Latin American, pp. 328-333. IEEE, 2016.