  Limited flight range is a common problem for multicopters. To alleviate this
problem, we propose a method for finding the optimal speed and heading of a
multicopter when flying a given path to achieve the longest flight range. Based
on a novel multivariable extremum seeking controller with adaptive step size,
the method (a) does not require any power consumption model of the vehicle, (b)
can adapt to unknown disturbances, (c) can be executed online, and (d)
converges faster than the standard extremum seeking controller with constant
step size. We conducted indoor experiments to validate the effectiveness of
this method under different payloads and initial conditions, and showed that it
is able to converge more than 30% faster than the standard extremum seeking
controller. This method is especially useful for applications such as package
delivery, where the size and weight of the payload differ for different
deliveries and the power consumption of the vehicle is hard to model.
