  Nano-size unmanned aerial vehicles (UAVs) hold enormous potential to perform
autonomous operations in complex environments, such as inspection, monitoring
or data collection. Moreover, their small size allows safe operation close to
humans and agile flight. An important part of autonomous flight is
localization, which is a computationally intensive task especially on a
nano-UAV that usually has strong constraints in sensing, processing and memory.
This work presents a real-time localization approach with low element-count
multizone range sensors for resource-constrained nano-UAVs. The proposed
approach is based on a novel miniature 64-zone time-of-flight sensor from ST
Microelectronics and a RISC-V-based parallel ultra low-power processor, to
enable accurate and low latency Monte Carlo Localization on-board. Experimental
evaluation using a nano-UAV open platform demonstrated that the proposed
solution is capable of localizing on a 31.2m$\boldsymbol{^2}$ map with 0.15m
accuracy and an above 95% success rate. The achieved accuracy is sufficient for
localization in common indoor environments. We analyze tradeoffs in using full
and half-precision floating point numbers as well as a quantized map and
evaluate the accuracy and memory footprint across the design space.
Experimental evaluation shows that parallelizing the execution for 8 RISC-V
cores brings a 7x speedup and allows us to execute the algorithm on-board in
real-time with a latency of 0.2-30ms (depending on the number of particles),
while only increasing the overall drone power consumption by 3-7%. Finally, we
provide an open-source implementation of our approach.
