  We propose a methodology for autonomous aerial navigation and obstacle
avoidance of micro aerial vehicles (MAV) using nonlinear model predictive
control (NMPC) and we demonstrate its effectiveness with laboratory
experiments. The proposed methodology can accommodate obstacles of arbitrary,
potentially non-convex, geometry. The NMPC problem is solved using PANOC: a
fast numerical optimization method which is completely matrix-free, is not
sensitive to ill conditioning, involves only simple algebraic operations and is
suitable for embedded NMPC. A C89 implementation of PANOC solves the NMPC
problem at a rate of 20Hz on board a lab-scale MAV. The MAV performs smooth
maneuvers moving around an obstacle. For increased autonomy, we propose a
simple method to compensate for the reduction of thrust over time, which comes
from the depletion of the MAV's battery, by estimating the thrust constant.
