Tiny robots have limited computation and memory, yet visual navigation systems often maintain more state than a task requires. We ask whether persistent memory can instead be shaped by the task. We present RingNav, a 10.6k-parameter visual heading estimator that constrains its memory to the circular manifold \(S^1\). RingNav learns only the turn between consecutive images, while heading is composed directly on the circle. On the TartanAir Visual SLAM Challenge, RingNav reduces mean absolute turn error by 27% and accumulated heading error over 4 sec by 15% relative to a similarly sized learned-memory model. The structured update also gives exactly zero turn for identical frames and exact cancellation under sequence reversal. Without fine-tuning, RingNav transfers to real-world drone experiments and continues estimating heading under severe visual degradation. RingNav runs at 27.3 Hz on Raspberry Pi Zero 2W and can be deployed on an ultra-low power GAP8 processor at 33.4 Hz.
Heading has one periodic degree of freedom. RingNav stores it on the circle and learns only the turn.
Persistent state of the similarly sized learned-memory baseline (PairGRU) and of RingNav.
10.6k parameters, \(320\times320\) RGB pair
sign flips under reversal; \(\widehat{\Delta\psi}(I,I)=0\)
fixed rotation, no parameters, 8-byte state
Step through real image pairs. Play in reverse and the state returns exactly to the start; repeat a frame and it holds still.
ground truth RingNav Visual Gyro
HDH-Bench: 196 trajectories in four rendered scenes unseen in training.
| Method | CompTest | HDH-Bench | Crazyflie |
|---|---|---|---|
| Zero turn | 0.861 / 22.3 | 1.741 / 158.7 | 0.774 / 65.2 |
| TartanVO | 0.206 / 4.8 | 0.267 / 22.9 | 0.347 / 12.1 |
| DPVO | 0.177 / 4.2 | 0.106 / 5.3 | 0.336 / 4.3 |
| DROID-SLAM | 0.198 / 4.6 | 0.148 / 7.0 | 0.343 / 4.4 |
| ORB-SLAM2 | × | × | × |
| Visual Gyro | 0.323 / 6.8 | × | 0.511 / 26.9 |
| RingNav | 0.589 / 17.6 | 0.417 / 34.5 | 0.458 / 22.2 |
Turn MAE / \(D_{4\mathrm s}\) in degrees. ×: coverage below 80%. Bold: best within full visual-motion and within heading-only methods.
No degradation is seen in training. Identical frames give exactly zero turn.
Crazyflie onboard camera, zero-shot: no real images are used in training.
On Raspberry Pi, RingNav gives a 52–78× higher heading-update rate than Visual Gyro.
Each tick is one heading update over the same 3 s at the measured rate, excluding camera capture. *Visual Gyro on GAP8 requires external HyperRAM; RingNav runs on-chip with \(320\times240\) grayscale input.
@article{rajyaguru2026ringnav,
title = {RingNav: Task-Shaped Circular Memory for Visual Heading},
author = {Rajyaguru, Naitri and Tajne, Aryan and Jardim, Stephen and Ferm{\"u}ller, Cornelia and Aloimonos, Yiannis},
journal = {arXiv preprint arXiv:2610.19044},
year = {2026}
}