  Estimation of a dynamical system's latent state subject to sensor noise and
model inaccuracies remains a critical yet difficult problem in robotics. While
Kalman filters provide the optimal solution in the least squared sense for
linear and Gaussian noise problems, the general nonlinear and non-Gaussian
noise case is significantly more complicated, typically relying on sampling
strategies that are limited to low-dimensional state spaces. In this paper we
devise a general inference procedure for filtering of nonlinear, non-Gaussian
dynamical systems that exploits the differentiability of both the update and
prediction models to scale to higher dimensional spaces. Our method, Stein
particle filter, can be seen as a deterministic flow of particles, embedded in
a reproducing kernel Hilbert space, from an initial state to the desirable
posterior. The particles evolve jointly to conform to a posterior approximation
while interacting with each other through a repulsive force. We evaluate the
method in simulation and in complex localization tasks while comparing it to
sequential Monte Carlo solutions.
