Using spiking neural networks to direct robotic fish towards a target


  • Ethan Zhang
  • Shay Snyder
  • Dr. Maryam Parsa



Neuromorphic computing is an emerging field that models computers after the human brain and nervous system. In the brain, neurons use sharp voltage increases called spikes to transfer information. Spiking Neural Networks (SNN) mimic this type of behavior and are used for a vast amount of applications, many of which are similar to the applications of artificial neural networks (ANN). The neuromorphic SNN application in this project involves a robotic fish with complex dynamics that can identify and determine the best travel path to reach the target. The dynamics of the robotic fish were integrated into a simulator that originally was designed to simulate a blimp tracking and following a balloon target, where the agent was an SNN trained with a reinforcement learning method. A classification approach was also part of the simulator but was not used for the integration of the robotic fish. The more basic dynamics of the blimp, which primarily consisted of a move forward, turn left, turn right, ascend, and descend method, were replaced by the dynamics of the fish robot. The move method of the fish robot takes in two parameters (u1, u2), representing the actuating voltage potential applied to the artificial SCP muscles of the fish. Using these parameters, the move method can mathematically determine the fish’s new position using the established dynamics. The agent, represented by the SNN, takes in a target vector pointing in the balloon’s (target) direction and determines the parameters (u1, u2), which are fed to the fish move method. The simulator was built in Python, uses Pygame to run a visual simulator, and utilizes the TENNLAB neuromorphic framework to help train the spiking neural network. The effectiveness of this method in integrating the fish dynamics into a simulator and training a spiking neural network is discussed in this paper, current issues are identified, and potential improvements are proposed.





College of Engineering and Computing: Department of Electrical and Computer Engineering