FPGA Implementation of Spiking Neural Network Based Controller for A Lane-Following Robot

This project is sponsored by:


This project implements a Spiking Neural Network controller on a Field Programmable Gate Array (FPGA) to control an autonomous vehicle which follows a guidance line while avoiding obstacles in front of it. The purpose of this project would be to implement the controls of the vehicle with a more natural logic system formed by patterns and associated weights. The result of this project will be twofold. The research provided by this project could further develop hardware implementations of natural logic systems in other research or scalable applications. The neural network model developed by this project will be further used to develop a natural logic system for automated control of a vehicle without the constraint of a guidance line. This final implementation will use different sensors to race against binary logic controlled autonomous vehicles.
The initial system is an FPGA-based, binary logic controlled autonomous vehicle. This initial system will be used as a baseline comparison and to train an FPGA implemented Spiking Neural Network (SNN) to follow isolated guidance tracks created for testing purposes.
The 4 input neurons scale the 12-bit input sensor values to 8-bit values to send to the next layer 16 synapses with a unit circle rotation based algorithm (CORDIC). The 16 synapses send the summation of results to 4 hidden layer neurons where they accumulate until spiking when they pass a threshold. The 4 hidden layer neurons send the spiking outputs from the hidden layer to the 8 synapses which use the same model as the previous synapse layer. The 8 synapses send the summation of results to the 2 output neurons which use a similar model as the hidden neurons.
 

Project Details

Problem Statement

This project implements a Spiking Neural Network controller on an FPGA to control an autonomous vehicle which follows a guidance line. This will be done using a more natural logic system formed by patterns and associated weights.

Project Presentation Video