  Nano-sized drones, with palm-sized form factor, are gaining relevance in the
Internet-of-Things ecosystem. Achieving a high degree of autonomy for complex
multi-objective missions (e.g., safe flight, exploration, object detection) is
extremely challenging for the onboard chip-set due to tight size, payload
(<10g), and power envelope constraints, which strictly limit both memory and
computation. Our work addresses this complex problem by combining bio-inspired
navigation policies, which rely on time-of-flight distance sensor data, with a
vision-based convolutional neural network (CNN) for object detection. Our
field-proven nano-drone is equipped with two microcontroller units (MCUs), a
single-core ARM Cortex-M4 (STM32) for safe navigation and exploration policies,
and a parallel ultra-low power octa-core RISC-V (GAP8) for onboard CNN
inference, with a power envelope of just 134mW, including image sensors and
external memories. The object detection task achieves a mean average precision
of 50% (at 1.6 frame/s) on an in-field collected dataset. We compare four
bio-inspired exploration policies and identify a pseudo-random policy to
achieve the highest coverage area of 83% in a ~36m^2 unknown room in a 3
minutes flight. By combining the detection CNN and the exploration policy, we
show an average detection rate of 90% on six target objects in a
never-seen-before environment.
