Table of Contents
Fetching ...

A Model Predictive Control Approach for Quadrotor Cruise Control

Zekai Chen, Leon Kehler

TL;DR

This work presents two Model Predictive Control schemes for quadrotor cruise control: a full-information state-feedback MPC for undisturbed operation and an output-feedback offset-free MPC that rejects a constant disturbance via disturbance augmentation and a Kalman-based observer. The control design relies on linearized, discretized dynamics with a quadratic cost, a maximal invariant terminal set computed by a Gilbert–Tan-inspired algorithm, and an Online Target Selection mechanism to handle partial state measurements. Stability is established by showing a local Lyapunov decrease within the invariant terminal set, and extensive numerical simulations validate reference tracking, disturbance rejection, and the benefits and limitations of MPC versus LQR under model mismatch and constraint handling. The study highlights practical trade-offs between horizon length, weight selection, disturbance robustness, and computational load, with implementation in Python using CVXPY and a link to the codebase for reproducibility.

Abstract

This paper investigates the application of a Model Predictive Controller (MPC) for the cruise control system of a quadrotor, focusing on hovering point stabilization and reference tracking. Initially, a full-state-feedback MPC is designed for the ideal scenario. To account for real-world conditions, a constant disturbance is introduced to the quadrotor, simulating a gust of wind in a specific direction. In response, an output-feedback offset-free MPC is developed to stabilize the quadrotor while rejecting the disturbance. We validate the design of the controller by conducting stability analysis, as well as numerical simulations under different circumstances. It is shown that the designed controller can achieve all the expected goals for the cruise control, including reference tracking and disturbance rejection. This project was implemented using Python and the CVXPY library for convex optimization.

A Model Predictive Control Approach for Quadrotor Cruise Control

TL;DR

This work presents two Model Predictive Control schemes for quadrotor cruise control: a full-information state-feedback MPC for undisturbed operation and an output-feedback offset-free MPC that rejects a constant disturbance via disturbance augmentation and a Kalman-based observer. The control design relies on linearized, discretized dynamics with a quadratic cost, a maximal invariant terminal set computed by a Gilbert–Tan-inspired algorithm, and an Online Target Selection mechanism to handle partial state measurements. Stability is established by showing a local Lyapunov decrease within the invariant terminal set, and extensive numerical simulations validate reference tracking, disturbance rejection, and the benefits and limitations of MPC versus LQR under model mismatch and constraint handling. The study highlights practical trade-offs between horizon length, weight selection, disturbance robustness, and computational load, with implementation in Python using CVXPY and a link to the codebase for reproducibility.

Abstract

This paper investigates the application of a Model Predictive Controller (MPC) for the cruise control system of a quadrotor, focusing on hovering point stabilization and reference tracking. Initially, a full-state-feedback MPC is designed for the ideal scenario. To account for real-world conditions, a constant disturbance is introduced to the quadrotor, simulating a gust of wind in a specific direction. In response, an output-feedback offset-free MPC is developed to stabilize the quadrotor while rejecting the disturbance. We validate the design of the controller by conducting stability analysis, as well as numerical simulations under different circumstances. It is shown that the designed controller can achieve all the expected goals for the cruise control, including reference tracking and disturbance rejection. This project was implemented using Python and the CVXPY library for convex optimization.

Paper Structure

This paper contains 20 sections, 1 theorem, 34 equations, 10 figures, 2 tables, 1 algorithm.

Key Result

Theorem 1

Suppose V(.) is a Lyapunov candidate function for the system $x^+ = f(x)$, If $V(x)>V(x_e)$ and $\nabla V(x)f(x) <0$, $\forall x \in \mathbb{X} \setminus x_e$ the equilibrium $x_e$ is stable; here $x_e = 0$.

Figures (10)

  • Figure 1: Kinetic diagram of the quadrotor drone_diagram
  • Figure 2: Lyapunov decrease with costs $l(x,u) = \frac{1}{2}(x^TQx+u^TRu)$ and $V_f(x) = \frac{1}{2}x^TPx$
  • Figure 3: Result of MPC with different $N$
  • Figure 4: MPC with different $N$ and $x_0$ far away from $\mathbb{X}_f$
  • Figure 5: Result of MPC with different $Q$
  • ...and 5 more figures

Theorems & Definitions (1)

  • Theorem 1: Lyapunov Stability