Main Content

一个daptive MPC

When to Use Adaptive MPC

使用线MPC控制预测未来的行为r-time-invariant (LTI) dynamic model. In practice, such predictions are never exact, and a key tuning objective is to make MPC insensitive to prediction errors. In many applications, this approach is sufficient for robust controller performance.

If the plant is strongly nonlinear or its characteristics vary dramatically with time, LTI prediction accuracy might degrade so much that MPC performance becomes unacceptable. Adaptive MPC can address this degradation by adapting the prediction model for changing operating conditions. As implemented in the Model Predictive Control Toolbox™ software, adaptive MPC uses a fixed model structure, but allows the models parameters to evolve with time. Ideally, whenever the controller requires a prediction (at the beginning of each control interval) it uses a model appropriate for the current conditions.

一个fter you design an MPC controller for the average or most likely operating conditions of your control system, you can implement an adaptive MPC controller based on that design. For information about designing that initial controller, seeController Creation.

一个t each control interval, the adaptive MPC controller updates the plant model and nominal conditions. Once updated, the model and conditions remain constant over the prediction horizon. If you can predict how the plant and nominal conditions vary in the future, you can useTime-Varying MPCto specify a model that changes over the prediction horizon.

一个n alternative option for controlling a nonlinear or time-varying plant is to use gain-scheduled MPC control. SeeGain-Scheduled MPC.)

Plant Model

The plant model used as the basis for adaptive MPC must be an LTI discrete-time, state-space model. SeeBasic ModelsorLinearization Basics(Simulink Control Design)for information about creating and modifying such systems. The plant model structure is as follows:

x ( k + 1 ) = 一个 x ( k ) + B u u ( k ) + B v v ( k ) + B d d ( k ) y ( k ) = C x ( k ) + D v v ( k ) + D d d ( k ) .

Here, the matrices一个,Bu,Bv,Bd,C,Dv, andDdare the parameters that can vary with time. The other variables in the expression are:

  • k— Time index (current control interval).

  • xnxplant model states.

  • unumanipulated inputs (MVs). These are the one or more inputs that are adjusted by the MPC controller.

  • vnvmeasured disturbance inputs.

  • dndunmeasured disturbance inputs.

  • ynyplant outputs, includingnymmeasured andnyuunmeasured outputs. The total number of outputs,ny=nym+nyu. Also,nym≥ 1 (there is at least one measured output).

一个dditional requirements for the plant model in adaptive MPC control are:

  • Sample time (Ts) is a constant and identical to the MPC control interval.

  • Time delay (if any) is absorbed as discrete states (see, for example, the Control System Toolbox™absorbDelayfunction).

  • nx,nu,ny,nd,nym, andnyuare all constants.

  • 一个daptive MPC prohibits direct feed-through from any manipulated variable to any plant output. Thus,Du= 0 in the above model.

  • The input and output signal configuration remains constant.

For more details about creation of plant models for MPC control, seeLinear Plant Specification.

名义上的Operating Point

一个traditional MPC controller includes a nominal operating point at which the plant model applies, such as the condition at which you linearize a nonlinear model to obtain the LTI approximation. The模型。名义上的property of the controller contains this information.

In adaptive MPC, as time evolves you should update the nominal operating point to be consistent with the updated plant model.

You can write the plant model in terms of deviations from the nominal conditions:

x ( k + 1 ) = x ¯ + 一个 ( x ( k ) x ¯ ) + B ( u t ( k ) u ¯ t ) + Δ x ¯ y ( k ) = y ¯ + C ( x ( k ) x ¯ ) + D ( u t ( k ) u ¯ t ) .

Here, the matrices一个,B,C, andDare the parameter matrices to be updated.utis the combined plant input variable, comprising theu,v, anddvariables defined above. The nominal conditions to be updated are:

  • x ¯ nxnominal states

  • Δ x ¯ nxnominal state increments

  • u ¯ t nutnominal inputs

  • y ¯ ny额定输出

State Estimation

By default, MPC uses a static Kalman filter (KF) to update its controller states, which include thenxpplant model states,nd(≥ 0) disturbance model states, andnn(≥ 0) measurement noise model states. This KF requires two gain matrices,LandM. By default, the MPC controller calculates them during initialization. They depend upon the plant, disturbance, and noise model parameters, and assumptions regarding the stochastic noise signals driving the disturbance and noise models. For more details about state estimation in traditional MPC, seeController State Estimation.

一个daptive MPC uses a Kalman filter and adjusts the gains,LandM, at each control interval to maintain consistency with the updated plant model. The result is a linear-time-varying Kalman filter (LTVKF):

L k = ( 一个 k P k | k 1 C m , k T + N ) ( C m , k P k | k 1 C m , k T + R ) 1 M k = P k | k 1 C m , k T ( C m , k P k | k 1 C m , k T + R ) 1 P k + 1 | k = 一个 k P k | k 1 一个 k T ( 一个 k P k | k 1 C m , k T + N ) L k T + Q .

Here,Q,R, andNare constant covariance matrices defined as in MPC state estimation.一个kandCm,kare state-space parameter matrices for the entire controller state, defined as for traditional MPC but with the portions affected by the plant model updated to timek. The valuePk|k–1is the state estimate error covariance matrix at timekbased on information available at timek–1. Finally,LkandMkare the updated KF gain matrices. For details on the KF formulation used in traditional MPC, seeController State Estimation. By default, the initial condition,P0|–1, is the static KF solution prior to any model updates.

The KF gain and the state error covariance matrix depend upon the model parameters and the assumptions leading to the constantQ,R, andNmatrices. If the plant model is constant, the expressions forLkandMkconverge to the equivalent static KF solution used in traditional MPC.

The equations for the controller state evolution at timekare identical to the KF formulation of traditional MPC described inController State Estimation, but with the estimator gains and state space matrices updated to timek.

You have the option to update the controller state using a procedure external to the MPC controller, and then supply the updated state to MPC at each control instant,k. In this case, the MPC controller skips all KF and LTVKF calculations.

Related Topics