  To efficiently deploy robotic systems in society, mobile robots need to
autonomously and safely move through complex environments. Nonlinear model
predictive control (MPC) methods provide a natural way to find a dynamically
feasible trajectory through the environment without colliding with nearby
obstacles. However, the limited computation power available on typical embedded
robotic systems, such as quadrotors, poses a challenge to running MPC in
real-time, including its most expensive tasks: constraints generation and
optimization. To address this problem, we propose a novel hierarchical MPC
scheme that interconnects a planning and a tracking layer. The planner
constructs a trajectory with a long prediction horizon at a slow rate, while
the tracker ensures trajectory tracking at a relatively fast rate. We prove
that the proposed framework avoids collisions and is recursively feasible.
Furthermore, we demonstrate its effectiveness in simulations and lab
experiments with a quadrotor that needs to reach a goal position in a complex
static environment. The code is efficiently implemented on the quadrotor's
embedded computer to ensure real-time feasibility. Compared to a
state-of-the-art single-layer MPC formulation, this allows us to increase the
planning horizon by a factor of 5, which results in significantly better
performance.
