  We would like robots to be able to safely navigate at high speed, efficiently
use local 3D information, and robustly plan motions that consider pose
uncertainty of measurements in a local map structure. This is hard to do with
previously existing mapping approaches, like occupancy grids, that are focused
on incrementally fusing 3D data into a common world frame. In particular, both
their fragile sensitivity to state estimation errors and computational cost can
be limiting. We develop an alternative framework, NanoMap, which alleviates the
need for global map fusion and enables a motion planner to efficiently query
pose-uncertainty-aware local 3D geometric information. The key idea of NanoMap
is to store a history of noisy relative pose transforms and search over a
corresponding set of depth sensor measurements for the minimum-uncertainty view
of a queried point in space. This approach affords a variety of capabilities
not offered by traditional mapping techniques: (a) the pose uncertainty
associated with 3D data can be incorporated in motion planning, (b) poses can
be updated (i.e., from loop closures) with minimal computational effort, and
(c) 3D data can be fused lazily for the purpose of planning. We provide an
open-source implementation of NanoMap, and analyze its capabilities and
computational efficiency in simulation experiments. Finally, we demonstrate in
hardware its effectiveness for fast 3D obstacle avoidance onboard a quadrotor
flying up to 10 m/s.
