Wiki

Clone wiki

mup / MUP_v20140530

[HomeWiki] [changelog]

wiki201617.1

There is a newer version of MUP toolbox available at HomeWiki. We recommend to use the up-to-date version.

MUP Description:

MUP is the MATLAB-Simulink toolbox for on-line robust MPC design in the LMI-framework. MUP toolbox represents the effective and user-friendly tool. Therefore it is recommended to use the software for educational purposes. MUP is distributed in the hope that it will be useful, but without any warranty. Required dependences are YALMIP and recommended solver is SeDuMi. They are not included in the toolbox. If you use the MUP toolbox, we would be happy to hear about it. Please let us know at juraj.oravec@stuba.sk. BibTeX entry for citation of the paper:

@inproceedings{mup,

author = {Bako\v{s}ov\'a, M. and Oravec, J.},

title = {{Robust Model Predictive Control of Uncertain Linear Systems with Persistent Disturbances and Input Constraints}},

booktitle = {American Control Conference},

year = {2014},

pages = {5242--5247},

address = {Portland, Oregon, USA},

url = {https://bitbucket.org/oravec/mup/wiki/},

}

MUP Localization:

The software is recently localized into following languages:

  • English

MUP Compatibility:

The toolbox has been created in MATLAB-Simulink programming environment. It can be run in MATLAB 2013a - Simulink v8.1 and newer.

MUP Installation:

To install the toolbox in successful way, go through the following seven steps:

  1. Download the software package from the link: https://bitbucket.org/oravec/mup/downloads/mup_v20140530.zip
  2. Unzip the package into the required home-folder (e.g.: MATLAB/toolbox/mup)
  3. Run MATLAB
  4. In the MATLAB menu use File/Set Path...
  5. Use button [Add with Subfolders...]
  6. Find out the chosen home-folder
  7. Use button [Save] to save the changes.

RMPC BLOCK

The control inputs are computed using the matrix of state-feedback controller. This matrix is designed solving the semidefinite programming (SDP) of convex optimization problem. The problem is formulated using the linear matrix inequalities (LMI). It is assumed, the controlled system is influenced by interval polytopic uncertainties. The infinity prediction horizon is evaluated based on the uncertain linear time-invariant (LTI) state-space model of controlled system in the form:

x(t+Ts) = A(v) x(t) + B(v) u(t), x(0) = x0

where

  • x(t) is Nx-dimensional real-valued vector of system states,
  • u(t) is Nu-dimensional real-valued vector of system inputs,
  • x0 is Nx-dimensional real-valued vector of system initial conditions,
  • A(v) is (Nx)-dimensional square matrix of system states,
  • B(v) is (Nx)-times-(Nu)-dimensional matrix of system inputs,
  • v denotes the vertex-dependence of the uncertain system,
  • Ts is the sampling time.

Then the state-feedback control law is designed as follows:

u(t) = F(t) x(t)

where

  • F(t) is (Nu)-times-(Nx)-dimensional gain matrix of robust MPC.

The aim of control is to ensure the robust stability in the sense of Lyapunov and simultaneously minimize the quadratic cost function value:

J(0 -> N) = sum_(t=0)^(N) ( x(t)' Wx x(t) + u(t)' Wu u(t) )

where

  • N is the total time of control,
  • J(0 -> N) is the cost function value on the time interval [0,N],
  • Wx is the positively-semidefinite Nx-dimensional real-valued square matrix,
  • Wu is the positively-definite Nu-dimensional real-valued square matrix.

RMPC_BLOCK Description:

MATLAB-Simulink RMPC_BLOCK enables to compute on-line robust MPC control input for a given system state. The controller is designed based on the following robust MPC design approaches:

  • M. V. Kothare, V. Balakrishnan, M. Morari (1996): Robust Constrained Model Predictive Control Using Linear Matrix Inequalities. Automatica 32, 10, 1361-1379.
  • F. A. Cuzzola, J. C. Geromel, M. Morari (2002): An Improved Approach for Constrained Robust Model Predictive Control, Automatica 38, 7, 1183-1189.
  • W. J. Mao (2003): Robust Stabilization of Uncertain Time-Varying Discrete Systems and Comments on "An Improved Approach for Constrained Robust Model Predictive Control". Automatica 39, 1109-1112.
  • Z. Wan, M. V. Kothare (2003): Effcient Robust Constrained Model Predictive Control with a Time Varying Terminal Constraint Set. System and Control Letters 48, 375-383.
  • Y. Y. Cao, Z. Lin (2005): Min-max MPC Algorithm for LPV Systems Subject to Input Saturation. Control Theory and Applications, IEE Proceedings 153, 266-272.
  • Z. Li, Y. Shi, D. Sun, L. Wang (2008): An Improved Constrained Robust Model Predictive Control Algorithm for Linear Systems with Polytopic Uncertainty. Proc. of the 2008 IEEE/ASME Int. Conf. on Advanced Intelligent Mechatronics, Xi'an, China, 1272-1277.
  • H. Huang, D. Li, Z. Lin, Y. Xi (2011): An Improved Robust Model Predictive Control Design in the Presence of Actuator Saturation. Automatica 47, 861-864.

RMPC_BLOCK Initialization:

The MATLAB-Simulink block RMPC_BLOCK can be obtained by typing in MATLAB COMMAND-WINDOW:

rmpc_block_init

RMPC_BLOCK Configuration:

In this part is described the configuration of RMPC_BLOCK mask. The configuration parameters are divided into the two cards - Robust MPC Configuration and Setup.

Robust MPC Configuration:

  • Robust MPC approach - enables to determine the robust MPC design approach (see the section RMPC_BLOCK Description):
  • Kothare et al. (1996)
  • Cuzzola et al. (2002)
  • Mao (2003)
  • Wan et al. (2003)
  • Cao et al. (2005)
  • Li et al. (2008)
  • Huang et al. (2011)
  • Feasibility Check: disable/enable - serves to evaluate the feasibility check of solved SDP problem of robust MPC design.
  • Feasibility Tolerance: [real number is requires] - this parameter is relevant just in the case, when "Feasibility Check" is set to the choice "enable". The value of parameter serves to determine whether the found solution is feasible or not.
  • Initial Conditions of System States: x0: [real-valued Nx-dimensional vector is required] - vector of initial conditions of the controlled system.
  • System State Matrix: A: [real-valued Nx-dimensional square matrix of MATLAB-class "cell-array" is required] - the linear state-space model state matrix A of MATLAB-class "cell-array", where each cell represent the uncertain system vertex.
  • System Input Matrix: B: [real-valued (Nx)-times-(Nu)-dimensional matrix of MATLAB-class "cell-array" is required] - the linear state-space model input matrix B of MATLAB-class "cell-array", where each cell represent the uncertain system vertex.
  • Sampling Time: Ts: [real number is required] - sampling time of discrete-time control.
  • Cost Function Weight of Inputs: Wu: [positively-semidefinite real-valued Nu-dimensional square matrix is required] - the weight matrix of system inputs of quadratic cost function.
  • Cost Function Weight of States: Wx: [positively-defined real-valued Nx-dimensional square matrix is required] - the weight matrix of system states of quadratic cost function.
  • Symmetric Constraints on Control Input: u_max: [real-valued Nu-dimensional vector is required] - symmetric constraints on the control inputs.
  • Symmetric Constraints on System States: x_max: [real-valued Nx-dimensional vector is required] - symmetric constraints on the system states.
  • Parameters: [format depends on chosen Robust MPC Approach] - additional robust MPC tunning parameters.

Setup:

  • Verbose Mode: Normal/Silent/Loud - mode of information messages shown in MATLAB COMMAND-WINDOW.
  • SDP Solver: SeDuMi/SDPA/SDPLR/SDPT3/VSDP - enables to choose the solver to be used for solving the semidefinite optimization problem.
  • YALMIP Verbose Mode: Silent/Loud - mode of information messages generated by YALMIP toolbox and solver shown in MATLAB COMMAND-WINDOW.

RMPC_BLOCK Inputs:

According to the considered state feedback control law (see the section RMPC BLOCK) there just the singl input of the RMPC_BLOCK:

  • system states: x(t): [real-valued Nx-dimensional vector is required] - meassured or estimated current values of the system states.

RMPC_BLOCK Outputs:

There is the list of RMPC_BLOCK outputs:

  • control inputs: u(t): returns computed control inputs.
  • cost: J(0 -> t): returns evaluated current cost function value.
  • feasibility: -1/0/1 - feasibility check returns value -1 when not evaluated, 0 when the SDP was found infeasible, and 1 when SDP was feasible
  • controller: returns vector of the parameters of state feedback controller gain matric
  • counter: returns value current control step

RMPC_BLOCK Demos:

You can run the two demo projects to see the properties of the MUP toolbox. In MATLAB COMMAND-WINDOW type:

mup_rmpcblock_demo
to run demo of robust MPC using the MATLAB-Simulink model or type:
mup_rmpc_demo
to run demo of robust MPC using the MATLAB command-line-interface.

Updated