  A coreset (or core-set) of a dataset is its semantic compression with respect
to a set of queries, such that querying the (small) coreset provably yields an
approximate answer to querying the original (full) dataset. In the last decade,
coresets provided breakthroughs in theoretical computer science for
approximation algorithms, and more recently, in the machine learning community
for learning "Big data". However, we are not aware of real-time systems that
compute coresets in a rate of dozens of frames per second. In this paper we
suggest a framework to turn theorems to such systems using coresets. We begin
with a proof of independent interest, that any set of $n$ matrices in
$\mathbb{R}^{d\times d}$ whose sum is $S$, has a positively weighted subset
whose sum has the same center of mass (mean) and orientation (left+right
singular vectors) as $S$, and consists of $O(dr)$ matrices (independent of
$n$), where $r\leq d$ is the rank of $S$. We provide an algorithm that computes
this (core) set in one pass over possibly infinite stream of matrices in
$d^{O(1)}$ time per matrix insertion. By maintaining such a coreset for
kinematic (moving) set of $n$ points, we can run pose-estimation algorithms,
such as Kabsch or PnP, on the small coresets, instead of the $n$ points, in
real-time using weak devices, while obtaining the same results. This enabled us
to implement a low-cost ($<\$100$) IoT wireless system that tracks a toy (and
harmless) quadcopter which guides guests to a desired room (in a hospital,
mall, hotel, museum, etc.) with no help of additional human or remote
controller. We hope that our framework will encourage researchers outside the
theoretical community to design and use coresets in future systems and papers.
To this end, we provide extensive experimental results on both synthetic and
real data, as well as a link to the open code of our system and algorithms.
