Onboard UWB-based Wireless Relative Localization and Stability for Lightweight Aerial Swarms

For an environment without external GPS or motion capture systems, this work presents an autonomous multi-robot relative localization technique by fusing ultra-wideband (UWB) wireless distance measurements and state information (e.g., velocity, yaw rate, height) obtained onboard and from peers. We first propose a many-to-many UWB protocol to efficiently compute distances to neighbors, and then design a novel EKF-based relative estimator that exhibits stable convergence even with noisy filter inputs. We further introduce an automatic initialization procedure to accelerate the localization convergence, and present estimation stability analysis. Experiments show the proposed UWB protocol is efficient to compute the distance to neighbors and promising to scale to large swarms; while simulation shows the high precision, efficiency, and stability of the proposed localization method. We implement the proposed ranging and localization technique on tiny lightweight and resource constrained Crazyflie drones, and conduct extensive real-world experiments. This is the first time a team of up to 13 lightweight (33 gram) and resource constrained (192 KB memory) drones perform fully autonomous, onboard relative localization in an indoor environment.

Real-world flights

Innovations

  1. An autonomous relative localization technique is implemented on multiple lightweight (33 grams) and resource constrained (192 KB memory) aerial robots.
  2. The proposed ranging protocol can enable large-scale swarms to perform fast and stable communication and ranging.
  3. It is showed that state drift and sensory noise leads to control actions that make the state observable again, and this self-regulated estimation convergence is validated by simulation and real-world experiments.
  4. The source code is publicly released to the community and ready to run on off-the-shelf Crazyflie quadrotors.

Getting started with Crazyflie quadrotors off-the-shelf

  1. Set the address of each crazyflie ending by E5, E6, E7, ...
  2. Download source code and checkout the swarm branch.
  3. Set the NUM_CFs in lpsTwrTag.h to the actual number of crazyflies.
  4. In cfclient, connect to 'E5' crazyflie, and set keep_flying to 1.

In the leader-follower test, the leader Crazyflie is equipped with a monocular camera for autonomous flight.

Simulation

Simulation code is built with Python, in which any number of robots can be simulated to validate the proposed relative localization method.