MH-FLOCKE is a biologically grounded spiking neural network system for quadruped robot locomotion. No reinforcement learning, no gradient descent — the robot learns from embodied experience using the same principles biological nervous systems use.
The system runs on two platforms: a Unitree Go2 in MuJoCo simulation (1,376 neurons) and a Freenove Robot Dog on a Raspberry Pi 4 (560 neurons, real hardware, ~5 watts). Same architecture, same code, different bodies.
Key Results
| Config | Distance (m) | Falls | Variance |
|---|---|---|---|
| SNN + Cerebellum | 45.15 ± 0.67 | 0 | σ = 0.67 |
| CPG only | 40.73 ± 6.14 | 0.2 | σ = 6.14 |
| PPO Baseline | 12.83 ± 7.78 | 0 | σ = 7.78 |
3.5× further than PPO with 11.6× lower variance. 10-seed validation on Unitree Go2, 50k steps each. Zero falls across all seeds.
What Makes It Different
- Spiking neurons — Izhikevich model with biologically realistic dynamics, not differentiable activations
- Cerebellar forward model — Marr-Albus-Ito architecture with 4,000 granule cells for motor prediction and correction
- Central Pattern Generator — innate locomotion rhythm that the SNN learns to modulate, not replace
- Reward-modulated STDP — learning through spike timing and dopamine, not backpropagation
- PID closed-loop steering — IMU-based drift compensation with asymmetric stride (v0.5.1)
- Meta-learning loop — autonomous strategy adaptation through episode analysis, curiosity, and hypothesis testing (v0.5.1)
- Runs on a Raspberry Pi — 38 steps/sec at ~5 watts, real-time on a 100€ robot kit
Documentation
- Architecture — The 15-step cognitive cycle, from sensors to motor output
- Hardware — Freenove Robot Dog deployment, PID steering, drift compensation
- Getting Started — Installation, first training run, rendering
- Roadmap — What’s next for MH-FLOCKE
- Changelog — Version history
Papers
- Paper 1 — Ablation Study: aiXiv 260301.000002 — Go2 10-seed validation, SNN+Cerebellum vs PPO
- Paper 2 — Sim-to-Real: aiXiv 260409.000002 — Freenove hardware transfer, Bridge v4.4
Links
- GitHub (Apache 2.0)
- YouTube
- Zenodo Dataset