
Abstract. We present an open-source software for UAV localization in a known environment, using only a few distance measurements. We demonstrate this software on a Crazyflie 2.1+ lightweight drone equipped with a ToF range sensor “crown”, looking forward, backward, left, right, and down. We show that even as few as five distance measurements suffice to reduce the set of possible locations to a small, finite collection of distinct poses. For comparison, the drone is also equipped with an extrinsic localization capability by triangulation with SteamVR Lighthouses; we show that our method usually returns a location that is reasonably close to the pose estimated by the extrinsic method, while having the advantage of not requiring careful placement of auxiliary tools (beacons) in the room. Our technique utilizes multiprocessing, runs in sub-second time, and is easy to use. Finally, we propose a more elaborate crown design featuring sixteen range sensors that look downwards at a 45-degree angle, which in total cost less than 32 USD. We show that such a design usually yields one or two possible locations that are close to the ground truth location.
Our open source software is available at: https://github.com/TAU-CGL/uav-fdml
Install and usage guide can be found at: https://github.com/TAU-CGL/uav-fdml/wiki
Video Demonstration
See the YouTube version for a 4K video of the online demonstration.
The Crazyflie drone is equipped with four range sensors and a lighthouse positioning system. It uses those range sensor and its height to solve the kidnapped robot problem, at each frame, in real-time. The real-life drone is circled in green on the video on the right. All voxels in the visualization (cyan and green) are returned by our method. The green voxels are at most 0.2 meters from the ground truth location. Ground truth trajectory is in green, and our projected trajectory is in cyan.