Abstract
In this paper, we study the process of identifying a continuous-time nonlinear model for the rotational dynamics of a DJI F450 quadcopter being commanded by a non-rooted onboard Android smart phone, where the control commands are sent from the Android phone to an IMU-less IOIO board before being sent to the electronic speed controllers of the motors. We use only measurements provided by Android's Java API, which are subject to significant latencies since the default Android implementation is not realtime. While prediction error methods are typically considered to be the best methods for estimating such models, we show that they are highly sensitive to the initial guess. Hence we introduce two novel algorithms for obtaining an initial guess of the inertia matrix using convex optimization. Finally, we compare all of the relevant estimates to those obtained using a traditional inertia measurement device.