  Visual Odometry (VO) is a method to estimate self-motion of a mobile robot
using visual sensors. Unlike odometry based on integrating differential
measurements that can accumulate errors, such as inertial sensors or wheel
encoders, visual odometry is not compromised by drift. However, image-based VO
is computationally demanding, limiting its application in use cases with
low-latency, -memory, and -energy requirements. Neuromorphic hardware offers
low-power solutions to many vision and AI problems, but designing such
solutions is complicated and often has to be assembled from scratch. Here we
propose to use Vector Symbolic Architecture (VSA) as an abstraction layer to
design algorithms compatible with neuromorphic hardware. Building from a VSA
model for scene analysis, described in our companion paper, we present a
modular neuromorphic algorithm that achieves state-of-the-art performance on
two-dimensional VO tasks. Specifically, the proposed algorithm stores and
updates a working memory of the presented visual environment. Based on this
working memory, a resonator network estimates the changing location and
orientation of the camera. We experimentally validate the neuromorphic
VSA-based approach to VO with two benchmarks: one based on an event camera
dataset and the other in a dynamic scene with a robotic task.
