  Accurate indoor localization is a crucial enabling technology for many
robotics applications, from warehouse management to monitoring tasks.
Ultra-wideband (UWB) ranging is a promising solution which is low-cost,
lightweight, and computationally inexpensive compared to alternative
state-of-the-art approaches such as simultaneous localization and mapping,
making it especially suited for resource-constrained aerial robots. Many
commercially-available ultra-wideband radios, however, provide inaccurate,
biased range measurements. In this article, we propose a bias correction
framework compatible with both two-way ranging and time difference of arrival
ultra-wideband localization. Our method comprises of two steps: (i) statistical
outlier rejection and (ii) a learning-based bias correction. This approach is
scalable and frugal enough to be deployed on-board a nano-quadcopter's
microcontroller. Previous research mostly focused on two-way ranging bias
correction and has not been implemented in closed-loop nor using
resource-constrained robots. Experimental results show that, using our
approach, the localization error is reduced by ~18.5% and 48% (for TWR and
TDoA, respectively), and a quadcopter can accurately track trajectories with
position information from UWB only.
