Linear quadratic control: Difference between revisions
imported>Hendra I. Nurdin (→Solution of optimal regulator problem: correction) |
imported>Hendra I. Nurdin m (→Solution of optimal regulator problem: sign) |
||
Line 71: | Line 71: | ||
<math> | <math> | ||
\tilde u_j=(R+B^T P_{j+1}B)^{-1}B^T P_{j+1} \tilde x_j, | \tilde u_j=-(R+B^T P_{j+1}B)^{-1}B^T P_{j+1} \tilde x_j, | ||
</math> | </math> | ||
Revision as of 02:36, 13 October 2007
![](http://s9.addthis.com/button1-share.gif)
This article is currently Under Construction
In control engineering and systems and control theory, linear quadratic control or LQ control refers to controller design for a deterministic (meaning that there are no elements of randomness involved) linear plant based on the minimization of a quadratic cost functional (a functional is a term for a real or complex valued function). The method is founded on the state space formalism and is a fundamental concept in linear systems and control theory.
There are two main versions of the method, depending on the setting of the control problem:
- Discrete time linear quadratic control
- Continuous time linear quadratic control
LQ control aims to find a control signal that minimizes a prescribed quadratic cost functional. In the so-called optimal regulator problem, this functional can be viewed as an abstraction of the "energy" of the overall control system and minimization of the functional corresponds to minimization of that energy.
Discrete time linear quadratic control
Plant model
In discrete time, the plant (the system to be controlled) is assumed to be linear with input and state , and evolves in discrete time k=0,1,... according to the following dynamics:
where and for all and are real matrices of the corresponding sizes (i.e., for consistency, should be of the dimension while should be of dimension ). Here is the initial state of the plant.
Cost functional
For a finite integer , called the control horizon or horizon, a real valued cost functional of a and the control sequence up to time is defined as follows:
where are given symmetric matrices (of the corresponding sizes) satisfying and is a given symmetric matrix (of the corresponding size) satisfying . In this setting, control is executed for a finite time and the horizon represents the terminal time of the control action. However, depending on some technical assumptions on the plant, it may also be possible to allow in which case one speaks of an infinite horizon.
Note that each term on the right hand side of (2) are non-negative definite quadratic terms and may be interpreted as abstract "energy" terms (e.g., as the "energy" of ). The term accounts for penalization of the control effort. This term is necessary because overly large control signals are not desirable in general; in practice this could mean that the resulting controller cannot be implemented. The final term Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_K^T \Gamma x_K} is called the terminal cost and it penalizes the energy of the plant at the final state Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_K} .
The LQ regulator problem in discrete time
The objective of LQ control is to solve the optimal regulator problem:
(Optimal regulator problem) For a given horizon K and initial state a, find a control sequence Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m} that minimizes the cost functional Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle J^K} , that is,
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle J^K(a,\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1}) \leq J^K(a,u_0,u_1,\ldots,u_{K-1});\,\,x_0=a \quad (3) }
over all possible control sequences Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_0,u_1,\ldots,u_{K-1} \in \mathbb{R}^m} .
Thus the optimal regulator problem is a type of optimal control problem and the control sequence Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m} is called an optimal control sequence.
Solution of optimal regulator problem
A standard approach to solving the discete time optimal regulator problem is to use dynamic programming. In this case, a special role is played by the so-called cost-to-go functional Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle J_k^K} defined as the cost from step k to step K starting at Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_k=b} :
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle J_k^K(b,u_k,\ldots,u_{K-1})=\sum_{j=k}^{K-1}(x_j^T Q x_j+u_j^T R u_j) + x_K^T \Gamma x_K;\,\, x_k=b }
Another important notion is that of the value function at step k, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle V_k} , defined as:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle V_k(b)=\mathop{\inf}_{u_{k},\ldots,u_{K-1}\in \mathbb{R}}J_k^K(b,u_{k},\ldots,u_{K-1}). }
For the optimal regulator problem it can be shown that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle V_k} is also a quadratic function (of the variable b). It is given by:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle V_k(b)=b^T P_k b, }
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_k} is a real non-negative definite symmetric matrix satisfying the backward recursion:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_{k}=Q+A^T(P_{k+1}- P_{k+1}B(R+B^T P_{k+1}B)^{-1}B^T P_{k+1})A,\,\,k=0,\ldots,K-1 }
with the final condition:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_K=\Gamma} .
Moreover, the infimum of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle J_k^K} for a fixed b is attainable at the optimal sequence Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde u_k,\ldots,\tilde u_{K-1}} given by:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde u_j=-(R+B^T P_{j+1}B)^{-1}B^T P_{j+1} \tilde x_j, }
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde x_j} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j=k,...,K-1} , satisfies the plant dynamics with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde x_k=b} (it should be noted that in optimization problems a minimum/maximum is not guaranteed in general to be attained at some point in the domain of the functional to be minimized/maximized, this needs to be checked). It then follows that the minimum value of the cost functional (2) is simply:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathop{\inf}_{u_{0},\ldots,u_{K-1}\in \mathbb{R}}J^K(a,u_0,u_1,\ldots,u_{K-1})=V_0(a).}
The validity of the above results depends crucially on the assumption that , this prevents the problem from becoming "singular". It also guarantees the uniqueness of the optimal sequence (i.e., there is exactly one sequence minimizing the cost functional (2)).
Variations of discrete-time LQ control
It is possible to formulate variations of the optimal regulator problem, but which can be solved with a similar technique. For example, suppose that the dynamics (1) is augmented with an output signal given by:
where and , and the cost functional in (2) is modified to be:
where is a given sequence of desired output signals. Then a variation of the optimal regulator problem can be formulated as finding a control sequence satisfying (3), but with the cost functional now being defined as in (4).
The modified problem is referred to as the output tracking LQ problem because the objective is to force the output of the plant at step k to be close to (i.e., to "track") the desired output . If C is the identity matrix and then the tracking problem can be interpreted as forcing the state of the plant to track the desired sequence of states at every step.