Emulating the Functionality of Rodents’ Neurobiological Navigation and Spatial Cognition Cells in a Mobile Robot

A unique roving robot navigational system is presented here, which is inspired by rats’ navigational and spatial awareness brain cells. Rodents, as well as all mammalians, are capable of exploring their surroundings when foraging or avoiding predators, and remembering their way home or to the closest known shelter through path integration. This is true for other creatures, but the neural cells involved in accomplishing these tasks have been most notably studied in rats, as they share certain similarities with a human’s brain. The robot built in this study, named ratbot , uses characteristics and interpreted functionalities of the specialized navigational and spatial cognition brain cells, which are primarily found in the hippocampus and entorhinal cortex. These cells are the: place cells, head direction cells, boundary cells, and grid cells, as well as memory used for the storage and access of salient distal cues. Similar to a rat, the ratbot uses path integration to navigate from one waypoint to another. This is accomplished through use of vectors and vector mathematics. Additionally, the ratbot uses a field programmable gate array to emulate grid cell inspired functionality for environment mapping and spatial cognition.


INTRODUCTION
Many mobile robotic navigation and mapping systems have been studied and developed over the past several decades. Continued technology advancements gained by Moore's Law (e.g., shrinking of computing packaging) have helped fuel this area, as well as advancements in robotics in general. As with any system design, these robotic navigation and mapping systems are designed to achieve the goals of its application, while optimizing on given constraints. Such constraints include: goals, performance measurements, cost, size, power consumption, computing resources available, etc. For example, an autonomous mobile robot which uses a complex navigation system, and requires high accuracy over many different environmental conditions, is the self-driving car. Such a system requires many expensive sensors and computational resources (for obvious safety reasons), such as: LIDAR, RADAR, GPS and video cameras, as well as complicated, compute intensive multi-sensor fusion, information fusion and visual processing algorithms [1][2][3][4][5].
As illustrated by this example, it is very difficult to emulate in a machine that which comes naturally and instinctively to humans, animals, insects, etc.
Given tight constraints, such as limited platform size (17.5 cm x 21.5 cm for the ratbot), it becomes that much more difficult to emulate a neurobiological based navigation system which possesses much accuracy. However, that is the precise goal of the system design presented in this paper, and its implementation in the ratbot.
Therefore, this paper brings together a culmination of animal and insect navigation related observations and laboratory findings from researchers in the fields of neuroscience, biology, and zoology. In particular, the focus of the collected research material falls into the following two areas: (1) observations made of insects, mammals, and other animals in their travel patterns, along with the conjecture that their brains are continuously performing vector summations to calculate a straight vector "home" [6][7][8], also known as path integration (PI), and (2) the study of specific brain cells in rats found to be involved in navigation and spatial cognition [6,[9][10][11][12][13][14][15][16][17][18][19]. the concept of PI used by animals, as well as the ratbot. In this figure, the rat leaves its home, travels around the enclosed area until it finds food, then returns directly home. As previously described, such a foraging task is accomplished by the rat continuously updating a cognitive return vector to its home based on changes in its head direction, via vestibular stimuli, and distance traveled, via proprioceptive stimuli. Initially, PI is dependent on both external and internal stimuli. However, once a path or area has been learned, the need for external stimuli has been shown not to be required in rats [6,15,22], as well as other animals and insects, to successfully navigate around a known area. Despite this ability, relying on internal stimuli alone, causes for an accumulation of calculated location error. If possible, this growing error should be reset to zero by occasionally adding external stimuli (e.g., visual, smell, tactile, etc.) to reveal a salient distal cue. Without periodic affirmation of current position, this error will grow without bound [23].
The relationship between the navigational specific brain cells found in rats and PI (e.g., waypoints, vectors out and return), as is discussed in [6,7,24], will be covered in the neuroscience background section.
The study and presentation of PI usually focuses on the measured movements and calculations leading up to the home bound vector or waypoint vector. However, an equally important area of study is how the brain deals with navigating around both known and unknown barriers, which intersect the single return vector. For example, Fig. 3a illustrates a minor barrier in the home bound vector path, while Fig. 3b illustrates a more complex barrier in the path. Each barrier should pose no problem for a rat that has previously traversed the area, whether there is external stimuli or not. However, if the rat (or mobile robot) has no prior knowledge of either barrier, and has low-to no-external stimuli, then the scenario in Fig. 3b becomes much more complex for traversing. These examples illustrate the need for a mapping/recall capability, so that the rat or mobile robot is able to optimally traverse the landscape. This is where spatial cognition capabilities become of great importance and is uniquely addressed in this paper. As for the ratbot, PI is implemented through the use of a central microcontroller (Arduino microcontroller board) for calculating vectors, motor encoders for distance traveled information, and a microelectromechanical systems (MEMS) based gyroscope for measuring change in head direction. Since the ratbot's vision is implemented with a forward looking ultrasonic sensor, the visual data obtained is in the form of the distance to an object directly in front of the ratbot. Therefore, the ratbot's vision can be used for object/barrier detection and avoidance purposes only, and must rely heavily on the internal stimuli of the system. This creates a growing localization error/uncertainty problem [5,25,26]. However, if the location of barriers and obstacles can be statistically identified with the internal stimuli data, then it can be mapped into the spatial cognition memory for possible use in path planning ( Fig.'s 3a & 3b).

SPATIAL COGNITION IN ROBOT NAVIGATION
Through the use of a field programmable gate array (FPGA), the ratbot's environment is logically mapped into a two dimensional array of parallel processing units. Each unit is an instantiated grid cell's firing location/region, similar to that shown in Fig. 2b. In a rodent or any mammal, a single grid cell fires whenever the animal has crossed (or stopped on) a spot that the animal has visited before. The reason the author uses the word region is due to the fact the physical location is not actually a single spot, but rather a statistical region around a spot, as illustrated in Fig.'s 2a & 2b. However, to the animal's brain, it is the same location, thus illustrating error in external and internal stimuli based measurements. Despite the accumulated errors, the regions of all of the firing locations of a single grid cell tend to be of similar shape and size. Also, the firing regions make a hexagonal lattice shape, which is constructed of equilateral triangles. Each vertex of the equilateral triangle is a particular firing node or region. The hexagonal lattice firing locations of a single grid cell covers the entire local environment that the rat is currently exploring. The firing characteristics of a grid cell, as well as more detail on all of the specialized navigation cells of a rat's brain, are covered next. Additionally, a greater detailed discussion of the FPGA's use is covered in the implementation section.

NEUROSCIENCE BACKGROUND
Since the discovery of place cells in a rat's hippocampus by O'Keefe and Dostrovsky in 1971 [11,12], research has continued to increase in this area over time, particularly as other specialized, navigation and cognitive mapping cells have been discovered along the way. These cells include: place cells, head direction cells, boundary cells, and most recently discovered, grid cells. A brief description of the characteristics of these navigation and spatial cognition cells follow.

PLACE CELLS
Place cells are a type of neuron that fires when a rat is in a particular region of a larger, containment area. The place cell will not fire until the rat has "learned" a particular location by traversing it first. Thus, several of these place cells, each with their own firing region within the rat's containment area, will map the areas that the rat has previously discovered. One might ask, how do the place cells differentiate between regions in an environment, particularly if the enclosure is a perfect square with no salient distal cues. The answer may lie in the fact that not all external cues are being eliminated. For example, a person placing snacks in pseudo random spots in the environment while the rat is foraging, may be picked up by the rat's vision. It is also possible the rat picks up on breezes, smells, etc., although these artifacts are typically "eliminated" from the test environment to the best of the testers' knowledge and abilities.
Place cells will continue to fire at their preferred location, once learned, even when the rat is unable to see. How this is accomplished is not known at this time.

HEAD DIRECTION CELLS
In addition to place cells, head direction (HD) cells/neurons were discovered in rats some 12 years after place cells [18,19]. Although HD cells were identified in the post-subiculum, which is part of the hippocampal formation [18,22], they are also present in other areas of the brain as well. Each place cell has its own preferred direction of the rat's head in the horizontal plane, regardless of the rat's location, eye movement, and the angle of its head with respect to its body [22,27]. In addition, the collective set of preferred directions of the HD cells will typically fall into a finite, correlated set. For example, one will find some HD cells that have maximum firing when the rat's head is pointed north, some when it is pointed northwest, and the rest when the rat's head is pointed southeast (these are just example directions and relativity). Once a rat is entered into an environment, these HD cells seem to align relative to a dominant, external cue. If the rat is taken out of the environment and the external cue is moved, or the environment is rotated, the preferred directions will rotate with respect to the new cue position by the same relative amount. Thus, eliminating the possibility that the earth's magnetic poles having an influence on HD.
HD cells are similar to place cells, with respect to the fact that they will continue to fire at their preferred head direction, once learned, in the absence of external stimuli. Although, after time, these internal compasses will start to drift.

BORDER CELLS
Border cells are similar to place cells, such that a single border cell will only fire at a particular area or region of the rat's environment [9,10]. However, border cells, as the name implies, only fire along the borders of the rat's environment. The border cell does have some unique properties over the place cell, however, the ratbot's navigational system doesn't need to distinguish between border cells and place cells. Thus, border cells won't be used for our navigation system per se, but may fit into future needs.

GRID CELLS
Grid cells are the last spatial cognition neurons discovered to date in a rat's brain. They were discovered by Edvard and May-Britt Moser in 2005 [6,[15][16][17]. This discovery, as well as John O'Keefe's discovery of the place cell back in 1971, earned O'Keefe and the Moser's the 2014 Nobel Prize in Physiology or Medicine. The grid cell is very unique as compared to the other spatial awareness and navigational cells covered thus far. As discussed previously and illustrated in Fig. 2, a single grid cell doesn't fire in just one learned region of a rat's environment, it fires in many small regions of the environment. What makes the grid cell even more interesting is that as the rat learns his or hers environment by traveling over it again and again, a single grid cell will fire in a perfect pattern of hexagonal/equilateral triangles, at their vertices, that geometrically map over the rat's local environment. Fig.'s 2a and 2b illustrate a single grid cell's activity as a rat explores its area. However, there are actually many grid cells active at any given time. Additionally, differences from grid cell to grid cell occurs in three ways: (1) spacing, i.e., distance between firing regions, (2) orientation, i.e., firing location changes relative to rotation about a given axis, and (3) phase, which is a relative displacement of the firing regions [6,15,16]. Rather than going into greater detail of these difference, it should be noted that the combined firing regions of all these grid cell should cover every part of the rat's local environment or at least a significant part of it. How all of the activity of these grid cells work together for navigational and spatial awareness is not truly known at this point. This is also true of the other specialized cells just covered in this section.

THE HUMAN BRAIN'S "GPS"
It is believed that humans have the same navigation and spatial cognition cells in our brains as do rodents [28]. However, these cells are speculated for being used not just for learning our surroundings for navigation and mapping, but for episodic memory storage and recall as well [29].

PUTTING IT ALL TOGETHER
As briefly stated before, the neural circuitry of these cells are unknown. However, it can be assumed that their functionality and connectivity are somehow related. This topic in itself could be, and has been, split into several sub-studies and papers. What is known is that the external cues via visual or whisker sensory, proprioceptive stimuli in the form of motor/muscular feedback, and vestibular stimuli in the form of inner ear type feedback, are the major influences in stimulating and integrating these specialized cell systems, as illustrated in Fig. 4a.   a) b) Fig. 4 ˗ a) Mapping of a rat's conceptual navigation and spatial cognition system to b) the ratbot's system (adapted from [22]).
The following example is the author's interpretation of the overall role that the navigational and spatial cognition brain cells behave when a person is learning a new environment. Correspondingly, this ideology is carried over into the ratbot's navigational system: When one stops to think how a person remembers where they parked their car at a mall or grocery store that they have never visited, typically one takes note of salient distal cues near the car that won't likely change (using the red sports car next to you as an external cue won't help much if it is gone when you come back from shopping!). These cues may include alignment with large nearby structures, such as: light posts, trees, building fronts, grass islands, embankments, etc. At this point, one or more place cells will begin to fire at this location due to the learned alignment to external cues. Additionally, the head direction cells will become aligned relative to some relation of these external cues at the "home" place cell. As one walks towards the store entrance, the relative distance walked adds more information for the firing of grid cells. Other non-conscious cues may be picked up along the way. When one reaches the inside of the store, dead reckoning and localization are reinitialized for the new environment. Once you have reached the shopping area and start going up and down all the isles, the firing of the grid cells take dominance, along with the head direction cells. Spatial mapping is thus occurring.
From the neural cell descriptions and the example just given, we will now explain how these specialized navigational and spatial cognition cells are functionally mapped to hardware and software, as installed on the ratbot.

THE RATBOT's ARCHITECTURE
The ratbot's hardware components, connectivity, and functional relationship to the hardware's biological counter parts are now described, as illustrated in Fig. 4b. Fig. 5 shows a picture of the ratbot without the FPGA module installed. This configuration was used for the initial PI algorithm testing.

SENSORY INPUT
As described earlier, the sensory input to the ratbot's navigational system consists of three sensors:

VISION: ULTRASONIC SENSOR
The HC-SR04 Ultrasonic Sensor is mounted to the front of the ratbot to simulate the rat's vision.
Due to the limited capability of this sensor, which uses sound waves to detect obstacles up to 4 meters away, it will only be used for wall and obstacle avoidance. The starting coordinates of the ratbot, which will be explained shortly, will have to be used for determining its starting position. This will replace the initial search for external cues. The capability of finding visual cues will be implemented in the next iteration of the ratbot.

VESTIBULAR ORGAN OF THE INNER EAR: MPU6050
The MPU6050 is a 6 degrees of freedom, MEMS based chip made by Invensense. This chip is also referred to as an inertial measurement unit (IMU). There is a tri-axis accelerometer and a tri-axis gyroscope on the IMU. Only data from a single axis of the gyroscope is used for the rat's head direction with respect to the horizontal plane. The gyroscope has a slow, steady drift, which is eliminated through a simple algorithm.

PROPRIOCEPTIVE STIMULI: MD25 MOTOR DRIVER BOARD
The two 12v motors, which are mounted on the rear of the ratbot, have encoders installed on them. These motors connect to an MD25 board, which is made by Robot Electronics (UK). The motors are driven by writing serial data from the main robot's microcontroller to the MD25 onboard Microchip PIC microcontroller, which then drives the H-Bridge amplifiers with pulse width modulated (PWM) signals. Wheel movement data, at 1 degree resolution, and a total of 360 degrees for a full turn of the wheel/motor, is accumulated for each motor in special register in the PIC microcontroller. The robot's main microcontroller can request these values for each wheel at any time. This represents the proprioceptive stimuli or motor feedback to the rat's brain.

THE RATBOT'S "BRAIN"
From a neuroscience perspective, the circuitry in the above described input sensors would be considered as part of the rat's brain. However, for the ratbot, the main microcontroller and the FPGA will be considered as the robot's "brain".

I/O INTERFACE AND PI CALCULATOR: MICROCONTROLLER
The microcontroller chosen for the ratbot's navigation part of the "brain" is the Arduino Yun. The Arduino Yun is a combination of an Atmel ATmega 32U4 microcontroller connected to an Atheros AR9331 processor, which runs a Linux distribution based on OpenWrt. This board was chosen over a less expensive Arduino microcontroller, due to the built in WiFi capabilities of the Yun. Thus, the Yun and a computer with a WiFi card can connect to each other via a shared WiFi hub. This is important for sending data from the ratbot to the PC for graphing and/or debugging purposes. Example debug data sent from the ratbot to the PC includes: direction data from the IMU, distance data from the motor encoders, turn commands, and calculated vector values.
When debug mode is not required, the Arduino Yun can be replaced with a much less expensive (both cost and power consumption wise) Arduino Uno microcontroller board. Both microcontroller boards have the same header pinouts, and the microcontroller software only requires two lines of code commented out (#define's) at the top of the program for compatibility with the Uno.

ENVIRONMENT MAPPING/SPATIAL AWARENESS: FPGA
A Xilinx Spartan-6 FPGA is used for performing spatial awareness tasks (see Fig. 4b for general data flow). The FPGA based platform used is made by Embedded Micro and is called Mojo, see Fig. 6. The headers surrounding the perimeter of the Mojo are for the 84 digital I/O ports and 8 analog input ports. The FPGA module receives vector data, object detection data, and a stop indicator signal from the central microcontroller (Yun/Uno). This information is used by the biologically inspired grid cell and its logically mapped, lattice firing regions in the FPGA. Thus, the logic and registers in the aggregate instantiated firing regions of a grid cell, replaces the use of a single grid cell connected to a complex artificial neural network (ANN). The advantage to this method is the ability to quickly update and retrieve mapped locations through the use of parallel processing. The grid cell firing regions process the input data from the microcontroller in parallel, saves information about locations of objects detected, and uses this information later during path planning.
Greater detail on how PI and spatial awareness is achieved in the ratbot's "brain" and sensory system is described next.

NAVIGATION ALGORITHM
As discussed previously, the goal of the ratbot is to simulate a rat leaving its home, go foraging (making a preset number of collision avoidance turns), then return back to its home. Therefore, the performance of the navigational system will be based on how closely the robot returns to its initial starting position (home).
In the ratbot, path integration is easily achieved using the law of sines and cosines on the measured angle and relative distance traveled respectively. Therefore, the first return vector is calculated after the first two legs of the foraging journey (in Fig. 7, R1 is the return vector calculated from the direction and distance measured for L1 and L2). Thereafter, a return vector is calculated at the end of each additional leg of the journey. Fig. 7 represents the data processing that is occurring in the microcontroller and FPGA combined. For example, PI is occurring in the microcontroller, while initialization of grid cell firing region instances (this includes coordinates given to each firing node or instance, and the spacing between firing nodes), mapping, error checking, conversion of grid cell firing region instance to border cell with barrier relative direction information, etc. occurs in the FPGA.

IMPLEMENTATION AND RESULTS
The ratbot currently performs PI with only minor return distance error (small percent of total distance traveled). As expected, the error grows with each additional waypoint added to the ratbot's journey. The programmed decision making that the ratbot performs at each barrier reached, is to turn approximately 110° to the right, then proceed forward if there is no blockage. Otherwise it will continue to turn right and check for blockage. The flow chart shown in Fig. 8 gives further details on the currently implemented PI algorithm, and represents the software which runs on the central microcontroller of the ratbot. For visual simplification, Fig. 8 shows all of the return vectors being calculated just prior to the ratbot heads back home, rather than at each waypoint as previously described.
As of writing this paper, the FPGA's programming and interfacing to the central microcontroller is currently being performed. The testing that will be performed once the FPGA's design and integration is completed will be to compare various environment scenarios (e.g., as illustrated in Fig.'s 1, 3 & 7), along with a range of waypoints, to see how much, if any, the spatial cognition inspired algorithm adds to the ratbot's foraging performance.

RATBOT'S LIMITED EXTERNAL STIMULI SENSORS
As compared to the self-driving car example or any robot with complex external stimuli sensor, the ratbot uses a more simplistic navigational system, from a sensor fusion perspective [5,30], due to the minimum number of sensors used. Minimizing the number of sensors allows for greater focus on the analysis of the ratbot's neuro-biologically inspired navigational system (i.e., PI and spatial cognition), as opposed to the sensory systems themselves. In particular, a very limited visual system is employed, thus making the ratbot's navigation algorithm more dependent on internal stimuli, rather than external stimuli. If the navigation system had strong visual recognition capabilities, then the importance of the internal stimulus would be over shadowed. This is based on the assumption of there being many unique salient distal cues along the robot's path, as well as the visual based sensors and algorithms capable of picking them out. However, the impact of adding better visual capabilities to the navigation system will be addressed in the future work section of this paper. The "Unexpected Barrier" is a very likely state when mapping and path planning is not used (no spatial cognition). It is also a possible state when mapping is used (e.g., new object in path, error in previous or current mapping function due to accumulated PI errors, etc.). Thus, this condition needs to be rectified, in the FPGA preferably.
The ratbot's low visibility capable navigation system, could easily represent individuals with poorto-no visual capabilities, or individuals in poor visibility settings. For example, having the ratbot emulate individuals with poor/no visual capabilities, could be useful for investigating city architectures/layouts for the blind [31,32], as well as all pedestrians in some cases. The same would apply to the ratbot emulating an individual in low visibility environments, such as those found in building fires. Thus, how well an autonomous robot, which is equipped with our proposed navigation system, could be used for indoor search and rescue purposes during building fires [33], would also be an applicable application.

CONCLUSIONS AND FUTURE WORK
As with some similar mobile robot systems which use a neuro-biological inspired navigational system, such as the RatSLAM [34,35], some consolidation and modifications had to be made to a neural navigation cell's original functionality. In the case of the ratbot, it was sensible to have a grid cell's firing region/node morph into a border cell with directional information when a barrier was detected. This allows for the node to relate information back to the grid cell itself, information about obstacles or barriers in the direction and path of the return vector. Additionally, width had to be added to the return path search, to deal with the space between nodes.
Future work will include the full implementation and integration of the FPGA for the neurobiological inspired environment mapping. Additionally, much test data is to be gathered in the area of mapping errors due to the accumulated PI errors. A statistical based algorithm, such as the extended Kalman filter (EKF), will need to be implemented in the FPGA to correct these errors over multiple foraging expeditions of the Ratbot. Correspondingly, humans and animals make neurological connection adaptations using Hebbian theory.
Other future work will include upgrading the ratbot's visual capability. This will most likely be accomplished through the use of a simple camera and algorithm for object detection and recognition. The Arduino based microcontroller board will likely need to be upgraded to a RaspberryPi board, which uses an Arm 700MHz processor and has much more main memory, as well as off chip memory. The mapping will still be performed by the FPGA for its parallel processing capability, which emulates the way the brain works. Additionally, increasing the ratbot's foraging distance and complexity, such as adding the ability for the map information to roll over from one local area to another, will also be addressed.