Skip to content

Overview and Concepts

Philipp Foehn edited this page May 14, 2018 · 1 revision

This is a quick, yet incomplete overview of Model Predictive Controllers.

Detailed Methodology

To come.

Advantages

  • Simultaneous planning and control
  • Incorporates system dynamics and actuator limits
  • Handles costs on states, inputs and functions
  • Handles static, dynamic and sparse references
  • Creates optimal adaptive trajectory predictions

Simple description of Model Predictive Control

As the name mentions, MPC predicts the dynamics of the vehicle a short time horizon into the future. Doing so it knows the expected motion and can iteratively fit this to a reference, which can be a static reference pose, or a dynamic trajectory.

To do this, the MPC uses a dynamics model of the quadrotor and an optimization process in which it . In a full iteration, the MPC normally

  1. predicts the future movement from the initial state (last estimated state) using the input series from the last iteration,
  2. calculate the cost gradients used for the optimization process (the Hessian matrix),
  3. start the optimization process with the momentary reference, cost, last available prediction, constraints (boundaries) and gradients,
  4. get the solution, which is converging towards the optimum but not yet optimal, due to the linearization of a non-linear system,
  5. repeat the process.

To control a quadrotor, this process is repeated very fast. It is so fast that the quadrotor has not moved much since the last iteration and his reference is still very similar to the one in the last iteration. Since it's iterating so fast and only very little changes during this, its predicted states and inputs (defining the future motion) converge very fast to the optimum and stay close to it. If we are tracking a trajectory, even as we move along this trajectory, the changes between iterations are small enough to always find input and state predictions that are nearly optimal. Because we now have a prediction of optimal states and inputs, we can use the inputs and apply the very first input sample, which corresponds to the optimal input at the time of the last iteration (plus a little bit of delay). This way we are applying the best input with respect to our prediction time horizon.

Since the optimization can handle constraints, we can have the input (actuator) limits incorporated in the dynamics model and make sure we do our best, even if we have limited forces, torques available from our actuators. This is one of the biggest advantages over classical feedback controllers. But furthermore, we also know how the vehicle is gone behave in the short future, we can incorporate different objectives by designing cost functions, and it even handles unfeasible references, such as state jumps or similar, because it respects the dynamics of the vehicle.

Clone this wiki locally