Obstacle Avoidance Using Population Vector Code-Based SNN-CPG Controller for Robotic Fish in Unknown Environment

Takumi Asada1, Hideo Furuhashi2, Kenta Tabata1, Renato Miyagusuku1, Koichi Ozaki1
1Graduate School of Engineering, Utsunomiya University   2Department of Electronics and Electrical Engineering, Aichi Institute of Technology
Journal of Robotics and Mechatronics, Vol.38, No.4, pp.1150–1160, 2026
PVC-SNN-CPG Robot

A Robotic fish with a three-joint tail fin, driven entirely by a spiking neural network (SNN) and CPG neural circuit, learns to avoid obstacles in unknown underwater environments.

Abstract

In fish and other vertebrates, spinal CPGs (central pattern generators) and reflex loops generate the rhythmic pattern of swimming, while midbrain stimulation scales the resulting motor output. This work draws on that biological picture to build an obstacle avoidance architecture for a robotic fish that runs on reflexive neural circuits alone — no explicit avoidance scenarios or behavior models are hand-designed in advance.

The proposed controller is a three-layer hierarchical SNN: sensory neurons encode external stimuli (camera and ultrasonic distance readings) as Poisson spike trains, interneurons integrate these spikes using an Izhikevich neuron model, and motor neurons decode the population activity via a population vector code (PVC) into CPG amplitude, offset, and frequency commands that drive the three tail-fin joints. The synaptic weights between sensory neurons and interneurons are shaped by reward-modulated STDP (r-STDP), letting the network gradually acquire avoidance behavior through experience rather than supervised design.

In a Webots underwater simulation across five scenarios (wall-only, dynamic obstacles, and static obstacles, each with and without ocean waves), the trained model reached a 97% success rate in the wall-only case, 72% for dynamic obstacles with waves, and 65% for static obstacles — consistently outperforming the untrained baseline. Physical experiments with a 0.80 m, 5.5 kg robotic fish in an outdoor pool, an aquarium, and a simulated open-ocean setting confirmed that the same architecture can reach a target area while avoiding static obstacles on real hardware.

Method: Three-Layer Hierarchical SNN Architecture

Diagram of Three-Layer Hierarchical SNN Architecture

  • Sensory layer: six inputs (two camera frames, four ultrasonic distance sensors) are converted into spike trains using a Poisson process with dead-time (PPD) to reflect physiologically realistic refractory periods.
  • Interneuron layer: spikes are integrated through excitatory and bilaterally symmetric inhibitory synapses using an Izhikevich spiking neuron model.
  • Motor layer: the population vector code (PVC) decodes each interneuron's preferred-direction tuning into a population vector, which is mapped to the CPG's amplitude, offset, and frequency to command the three tail-fin joint angles.
  • Learning rule: reward-modulated STDP (r-STDP) updates the sensory-to-interneuron synaptic weights at the end of each episode, using an eligibility trace combined with a goal/collision-based reward signal.

Simulation Evaluation

Performance With and Without Learning

Metric Wall-only Dynamic obs. Dynamic obs. (wave) Static obs. Static obs. (wave)
Success rate, without learning (%)9058626552
Success rate, with learning (%)9760726559

The trained model outperformed the untrained baseline in every scenario, and failure quality (FQ) improved substantially with learning — evidence that reward-driven plasticity alone can shape basic local avoidance behavior in a purely neural-circuit controller. The paper notes, however, that the relatively low FQ values suggest the architecture's long-term planning capability remains limited.

Physical Robot Experiments

On the physical robot (Jetson Xavier NX onboard, 0.80 m long, 5.5 kg), forward speed reached up to 0.32 m/s and yaw angular velocity up to 0.41 rad/s. In four outdoor pool trials, the robot reached the target area while avoiding obstacles in three of them; in the fourth, it collided with a third obstacle after successfully avoiding the second — a result attributed to a combination of underwater sensing limitations and robot velocity. A separate aquarium test confirmed similar swimming performance, suggesting the approach can adapt to different aquatic environments, including freshwater and seawater.

Limitations and Future Work

  • The synaptic weights and excitatory/inhibitory settings need to be appropriately tuned and learned according to the robot's shape and velocity.
  • Because avoidance is realized purely at the neural-circuit level, integrating a higher-level path planner is recommended to further improve success rate and stability in safety-critical scenarios.
  • Future work will investigate neural circuits for dynamic obstacle avoidance in unknown environments with flowing ocean currents.

BibTeX

@article{Asada2026PVCSNNCPG,
  title   = {Obstacle Avoidance Using Population Vector Code-Based SNN-CPG Controller for Robotic Fish in Unknown Environment},
  author  = {Asada, Takumi and Furuhashi, Hideo and Tabata, Kenta and Miyagusuku, Renato and Ozaki, Koichi},
  journal = {Journal of Robotics and Mechatronics},
  volume  = {38},
  number  = {4},
  pages   = {1150--1160},
  year    = {2026},
  doi     = {10.20965/jrm.2026.p1150},
  url     = {https://www.fujipress.jp/jrm/rb/robot003800041150/}
}