Embedded Hierarchical MPC for Autonomous Navigation
Dennis Benders, Johannes Köhler, Thijs Niesten, Robert Babuška, Javier Alonso-Mora, Laura Ferranti
TL;DR
This work addresses the challenge of real-time, collision-free autonomous navigation with nonlinear dynamics on embedded hardware. It introduces a hierarchical MPC (HMPC) framework that co-designs a long-horizon planning MPC (PMPC) with a fast tracking MPC (TMPC), both using the same nonlinear robot model, and proves collision avoidance and recursive feasibility in static environments. The TMPC relies on offline terminal ingredients obtained via a semidefinite program and a tightened, ellipsoidal terminal set, while the PMPC generates obstacle-avoiding reference trajectories using an Iterative-DecompUtil-based constraint generator, ensuring online feasibility. The approach yields a fivefold increase in planning horizon compared to a single-layer MPC, demonstrates real-time feasibility on an embedded quadrotor platform, and shows robust performance under model mismatch, with open-source code and ROS integration for reproducibility and practical deployment.
Abstract
To efficiently deploy robotic systems in society, mobile robots must move autonomously and safely 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 consists of 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.
