Quantcast
Channel: 制御工学ブログ
Viewing all articles
Browse latest Browse all 106

Advanced LMI Techniques in Control System Design

$
0
0

In our previous article, we introduced the fundamentals of Linear Matrix Inequalities (LMIs) and their application in controller design.

 

blog.control-theory.com

 

This follow-up explores some advanced LMI techniques including Schur's lemma, variable elimination methods, and practical implementation with MATLAB code examples.

Schur's Lemma: A Key Tool for LMI Problems

Schur's lemma (also known as Schur complement) is an essential technique for reformulating nonlinear matrix inequalities into equivalent LMI forms. Consider the following nonlinear matrix inequality:

\begin{equation} \left[\begin{array}{cc} Q(x) & S(x) \\ S(x)^T & R(x)\end{array}\right] \gt 0 \end{equation}

Where  Q(x),  S(x), and  R(x) are affine matrix functions of the variable  x. If  R(x) \gt 0, then according to Schur's lemma, this inequality is equivalent to:

\begin{equation} R(x) \gt 0, \quad  Q(x) - S(x)R(x)^{-1}S(x)^T \gt 0 \end{equation}

However, the second condition involves  R(x)^{-1}, which is not an affine function. Schur's lemma allows us to convert this back to an LMI form:

\begin{equation} \left[\begin{array}{cc} Q(x) & S(x) \\ S(x)^T & R(x)\end{array} \right] \gt 0 \Leftrightarrow \begin{cases}  R(x) \gt 0 \\ Q(x) - S(x)R(x)^{-1}S(x)^T \gt 0 \end{cases} \end{equation}

This equivalence is extremely useful for reformulating optimization problems into LMI form. For example, in our previous article, we encountered the term  Z^T Z which could be linearized using Schur's lemma.

Further Reading and References

Variable Elimination in LMI Problems

Often in control design, we encounter matrix variables that need to be eliminated to obtain an LMI in terms of the primary variables of interest. The Elimination Lemma (also known as Projection Lemma) is particularly useful for this purpose.

Consider the LMI problem:

\begin{equation}  \Psi + M \Theta N^T + N \Theta^T M^T \lt 0 \end{equation}

where  \Psi, M, N are known matrices and  \Theta is the variable matrix we want to eliminate. The Elimination Lemma states that there exists a  \Theta such that the inequality holds if and only if:

\begin{equation} W_M^T \Psi W_M \lt 0 \text{ and }  W_N^T \Psi W_N \lt 0 \end{equation}

where  W_M and  W_N are matrices whose columns form bases for the null spaces of  M^T and  N^T, respectively.

This lemma is particularly useful in controller synthesis problems where we often need to eliminate controller variables to get a solvable LMI formulation. 

Further Reading and References

For related mathematical concepts, you may also be interested in:

Practical Implementation with MATLAB

Let's implement some of these concepts using MATLAB's Robust Control Toolbox. First, we'll solve the  H_\infty control problem from our previous article:

% System matrices
A = [0 1 0; 0 0 1; 2 -1.2 2.3];
B = [0; 0; 1];
B2 = [5; 1; -2];
C = [-1 5 0];

% Define LMI variables
setlmis([]);
P = lmivar(1, [3 1]);  % Symmetric positive definite matrix
gamma = lmivar(1, [1 1]);  % Scalar gamma
Z = lmivar(2, [1 3]);  % Controller matrix K = Z*P^-1

% LMI #1: P \gt 0
lmiterm([-1 1 1 P], 1, 1);  % P \gt 0

% LMI #2: The main H_infinity condition (using Schur complement)
lmiterm([2 1 1 P], A, 1, 's');  % PA + A'P
lmiterm([2 1 1 Z], -B, 1, 's');  % -BZ - Z'B'
lmiterm([2 1 2 P], 1, B2);  % PB2
lmiterm([2 1 3 0], C');  % C'
lmiterm([2 2 2 0], -1);  % -I
lmiterm([2 3 3 gamma], -1, 1);  % -gamma*I

% Create and solve the LMI system
lmisys = getlmis;
[copt, xopt] = mincx(lmisys, [0 1 0*ones(1,size(Z,2)*size(Z,1))]);

% Extract the solution
Pval = dec2mat(lmisys, xopt, P);
Zval = dec2mat(lmisys, xopt, Z);
gamma_opt = dec2mat(lmisys, xopt, gamma);

% Compute the controller
K = Zval/Pval;

disp(['Optimal gamma: ', num2str(sqrt(gamma_opt))]);
disp('Controller K:');
disp(K);

% Verify closed-loop stability
Acl = A - B*K;
eig(Acl)

S-Variable Approach for Multi-Objective Control

For more complex control problems involving multiple objectives, the S-variable approach provides an elegant framework. This approach introduces additional variables to convert bilinear matrix inequalities (BMIs) into LMIs.

Consider a state-feedback control problem where we want to simultaneously achieve:

  •  H_\infty performance bound
  • Pole placement in a specific region
  • Input constraint satisfaction

Further Reading and References

The S-variable approach has proven to be a powerful tool for addressing a wide range of multi-objective control

Generalized KYP Lemma for Frequency-Domain Specifications

The Generalized Kalman-Yakubovich-Popov (KYP) lemma allows us to specify control requirements in specific frequency ranges instead of across all frequencies. This is particularly useful for targeted controller design.

For a frequency interval  [\omega_1, \omega_2] , we can express frequency-domain constraints using the LMIs:

References on Generalized KYP Lemma

Robust Control with Polytopic Uncertainty

When system parameters are uncertain but bounded within a polytope, we can design a robust controller using LMIs. Consider a system with polytopic uncertainty:

\begin{equation} \dot{x} = A(\lambda)x + B(\lambda)u \end{equation}

where  A(\lambda) = \sum_{i=1}^L \lambda_i A_i and  B(\lambda) = \sum_{i=1}^L \lambda_i B_i with  \sum_{i=1}^L \lambda_i = 1,  \lambda_i \geq 0.

Common matrix  P is used to design controller for the system with polytopic uncertainty. 

References

Dynamic Output Feedback Using LMIs

For cases where state feedback is not possible, we can design a dynamic output feedback controller using LMIs. This involves finding matrices  P,  Q,  X,  Y, and  Z that satisfy certain LMIs:

Key References on Dynamic Output Feedback Control Using LMIs

Recent Developments and Alternative Approaches

Conclusion

In this article, we've explored several advanced techniques for using LMIs in control system design, including Schur's lemma for transforming nonlinear constraints into LMIs, variable elimination to simplify complex problems, and practical implementations for various control objectives.

The mathematical elegance of LMIs combined with efficient numerical solvers makes them an extremely powerful tool for modern control engineering. By formulating control problems as LMIs, we can systematically address multiple design objectives and constraints simultaneously, leading to controllers with proven performance guarantees.

For further exploration, we recommend experimenting with the MATLAB code examples provided and adapting them to your specific control problems. The versatility of LMIs means they can be applied to a wide range of control challenges across different domains.

References

  1. Boyd, S., El Ghaoui, L., Feron, E., and Balakrishnan, V. (1994). "Linear Matrix Inequalities in System and Control Theory." SIAM Studies in Applied Mathematics.
  2. Scherer, C., and Weiland, S. (2000). "Linear Matrix Inequalities in Control." Lecture Notes, Dutch Institute for Systems and Control.
  3. Chilali, M., and Gahinet, P. (1996). "H∞ design with pole placement constraints: an LMI approach."IEEE Transactions on Automatic Control, 41(3), 358-367.
  4. Iwasaki, T., and Hara, S. (2005). "Generalized KYP lemma: unified frequency domain inequalities with design applications."IEEE Transactions on Automatic Control, 50(1), 41-59.

Software Tools and Resources

Several software tools are available for solving multi-objective LMI problems:

  • YALMIP - A MATLAB toolbox for modeling and solving optimization problems, with excellent support for LMI problems.
  • SeDuMi - A popular optimization package for solving problems with linear, quadratic and semidefiniteness constraints.
  • MATLAB Robust Control Toolbox - Provides tools for designing controllers for systems with uncertain parameters using LMI-based approaches.
  • Rcsdp - An R interface to the CSDP semidefinite programming library for users who prefer R over MATLAB.
  • CVXOPT - A Python package for convex optimization that can handle LMI problems.

Viewing all articles
Browse latest Browse all 106

Trending Articles