Head direction, path integration, hippocampus with a robot


In order of last name: Timir Datta (Hardware) & Yan Wu (Software)


To achieve smart-vehicle guidance using a biologically inspired navigation system.


Succesful Results:
1. Path planning using biologically plausible neural network model

Given the map(left figure below), start point (green dot) and goal (red dot), compute the path (right figure below) by following the gradient obtained from goal diffusion(central figure below).

2. Path-integration and spatial state maintenance given sensory input

The current location of the agent is maintained in an attractor network consists of Leaky-Integrated&Fire neurons constructed using the Neural Engineering Framework(NEF). The belief in the agent's current spatial location is represented in a Gaussian bump (figure below). Due to the attractor's dynamic, only one bump can be stably persisted.

3. Vehicle able to reach goal with obstacles present
4. Integration of accelerometer and gyroscope with USB micro-controller

An ATMEL micro-controller was used to facilitate real-time data collection for sensory input. The micro-controller was implemented using a USB interface, a custom PCB was manufactured and assembled to implement the micro-controller. The USB micro-controller was programmed with C code using a PC. Commercial off-the-shelf accelerometer and gyroscope modules were purchased and built into the chassis of the Lego vehicle. The USB micro-controller PCB was used to provide power and read the signals from the sensor modules.

Live Data

5. Streaming USB data into Matlab using Python TCPIP interface

Since Matlab was used to perform all necessary calculations, it was required that the information from the USB micro-controller be brought into the Matlab environment. Typical serial interfacing through Matlab is difficult for custom USB devices when a commercial hardware driver is lacking. To overcome this issue a Python script was written which would facilitate the interface between the USB micro-controller and the Matlab environment. The Python script was used to read the data in real-time while relaying it using the TCPIP protocol to a port on the local PC. In this manner Matlab was used to read the TCPIP data in packets using its built-in capability to do so.

Lego Robot