  Deploying autonomous robots in crowded indoor environments usually requires
them to have accurate dynamic obstacle perception. Although plenty of previous
works in the autonomous driving field have investigated the 3D object detection
problem, the usage of dense point clouds from a heavy Light Detection and
Ranging (LiDAR) sensor and their high computation cost for learning-based data
processing make those methods not applicable to small robots, such as
vision-based UAVs with small onboard computers. To address this issue, we
propose a lightweight 3D dynamic obstacle detection and tracking (DODT) method
based on an RGB-D camera, which is designed for low-power robots with limited
computing power. Our method adopts a novel ensemble detection strategy,
combining multiple computationally efficient but low-accuracy detectors to
achieve real-time high-accuracy obstacle detection. Besides, we introduce a new
feature-based data association and tracking method to prevent mismatches
utilizing point clouds' statistical features. In addition, our system includes
an optional and auxiliary learning-based module to enhance the obstacle
detection range and dynamic obstacle identification. The proposed method is
implemented in a small quadcopter, and the results show that our method can
achieve the lowest position error (0.11m) and a comparable velocity error
(0.23m/s) across the benchmarking algorithms running on the robot's onboard
computer. The flight experiments prove that the tracking results from the
proposed method can make the robot efficiently alter its trajectory for
navigating dynamic environments. Our software is available on GitHub as an
open-source ROS package.
