Abstract
In this paper, we implement an advanced model-free PID controller for a DJI F450 quadcopter which is controlled and stabilized by a non-rooted onboard Android smartphone, without the aid of an external IMU. Furthermore, since Android is not a realtime system, the control commands and sensor measurements are subject to significant latencies, and hence the PID controller is modified to account for non-trivial measurement asynchronicities. While baseline PID control is widely used with no further modifications, we show that some features can be added to obtain better performance in the presence of latencies and noise.