Estimating Altitude of Drones Using Batteries

Department of Computer Science and Engineering

Project Abstract

One new emerging application for drone technology is in using a series of drones to establish and broadcast a temporary mobile network over an area, usually for military or disaster-relief scenarios. To broadcast these networks requires each drone to be in a specific location, however depending on the scenario GPS or other traditional location services may not be available. The goal of this research study is to solve this problem by providing an alternative method of determining the location of a drone in flight by using battery readings to characterize flight behavior.

This was done by constructing a microcontroller that bridged the connection between the drone and its battery. This device then measured, logged, and wirelessly transmitted the current draw and voltage of the drone’s battery during flight. By analyzing these current and voltage readings, in conjunction with flight logs taken from the drone itself, unique characteristics of these battery metrics corresponding to specific drone flight behaviors were able to be determined. 

We then designed algorithms to detect these unique current and voltage patterns, and developed software to detect and classify flight behavior of the drone based solely on its battery metrics. This software uses a time period of battery information history to create a feature set summarizing the wave patterns detected in the plots of current draw and voltage readings. Once the software determines what flight state the drone is in, a formula is used to map the battery information to an acceleration value. Using this calculated acceleration value and the sample rate of readings, the software then able to make an estimation of the drone’s altitude. This is all done in real-time using the live transmitted readings sent from the microcontroller attached to the drone while it is in flight.

Project presentation

Project poster