RingNav: Task-Shaped Circular Memory for Visual Heading

*equal contribution
University of Maryland, College Park
Crazyflie flight with light trails along the trajectory and a polar plot of RingNav heading against ground truth.

RingNav learns only the turn between consecutive images and keeps heading as an 8-byte state on the circle \(S^1\).

Abstract

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.

Video

Task-Shaped Memory

Heading has one periodic degree of freedom. RingNav stores it on the circle and learns only the turn.

Learned memory
\(h_t\in\mathbb{R}^{16}\)  ·  64 bytes
  • state learned
  • update learned
Task-shaped memory RingNav
\(s_t\in S^1\)  ·  8 bytes
  • state fixed to \(S^1\)
  • update fixed: rotation \(R(\widehat{\Delta\psi}_t)\)
  • only the visual turn \(\widehat{\Delta\psi}_t\) is learned

Persistent state of the similarly sized learned-memory baseline (PairGRU) and of RingNav.

Method

1Visual Increment Network
$$q_\theta(I_t,I_{t+1})\in\mathbb{R}$$

10.6k parameters, \(320\times320\) RGB pair

2Antisymmetric Projection
$$\widehat{\Delta\psi}_t=\tfrac12\big[q_\theta(I_t,I_{t+1})-q_\theta(I_{t+1},I_t)\big]$$

sign flips under reversal; \(\widehat{\Delta\psi}(I,I)=0\)

3Latent Manifold Dynamics on \(S^1\)
$$s_{t+1}=\Pi_{S^1}\big(R(\widehat{\Delta\psi}_t)\,s_t\big)$$

fixed rotation, no parameters, 8-byte state

Heading Propagation on \(S^1\)

Step through real image pairs. Play in reverse and the state returns exactly to the start; repeat a frame and it holds still.

\(I_t\)
\(I_{t+1}\)
RingNav \(s_t\) ground truth \(\widehat{\Delta\psi}_t\)
frame 0

Experiments

ground truth RingNav Visual Gyro

Heading Estimation

HDH-Bench: 196 trajectories in four rendered scenes unseen in training.

Repetitive corridor
Parking garage
MethodCompTestHDH-BenchCrazyflie
Zero turn0.861 / 22.31.741 / 158.70.774 / 65.2
TartanVO0.206 / 4.80.267 / 22.90.347 / 12.1
DPVO0.177 / 4.20.106 / 5.30.336 / 4.3
DROID-SLAM0.198 / 4.60.148 / 7.00.343 / 4.4
ORB-SLAM2×××
Visual Gyro0.323 / 6.8×0.511 / 26.9
RingNav0.589 / 17.60.417 / 34.50.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.

Degraded and Missing Visual Input

No degradation is seen in training. Identical frames give exactly zero turn.

Camera freeze
Motion blur
Lens dirt
Low light, urban
Low light, forest
Near-dark, urban

Real-Flight Transfer

Crazyflie onboard camera, zero-shot: no real images are used in training.

Circle
Figure-8
Circle, 33-pixel motion blur
Circle, 7-stop underexposure

Edge Deployment

On Raspberry Pi, RingNav gives a 52–78× higher heading-update rate than Visual Gyro.

Raspberry Pi 5
199 Hz vs 3.50 Hz
peak memory 73.8 vs 104.5 MiB
Raspberry Pi 4
63.3 Hz vs 1.21 Hz
peak memory 68.4 vs 102.1 MiB
Raspberry Pi Zero 2W
27.3 Hz vs 0.349 Hz
peak memory 68.2 vs 130.2 MiB
GAP8 · Crazyflie AI-deckon-chip
33.4 Hz vs 0.1 Hz*
peak memory 0.49 vs 7.83* MiB

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.

Paper

Paper page 1 Paper page 2 Paper page 3 Paper page 4

BibTeX

@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}
}