  Establishing the correspondences between newly acquired points and
historically accumulated data (i.e., map) through nearest neighbors search is
crucial in numerous robotic applications. However, static tree data structures
are inadequate to handle large and dynamically growing maps in real-time. To
address this issue, we present the i-Octree, a dynamic octree data structure
that supports both fast nearest neighbor search and real-time dynamic updates,
such as point insertion, deletion, and on-tree down-sampling. The i-Octree is
built upon a leaf-based octree and has two key features: a local spatially
continuous storing strategy that allows for fast access to points while
minimizing memory usage, and local on-tree updates that significantly reduce
computation time compared to existing static or dynamic tree structures. The
experiments show that i-Octree outperforms contemporary state-of-the-art
approaches by achieving, on average, a 19% reduction in runtime on realworld
open datasets.
