Linear quadratic control: Difference between revisions
imported>Hendra I. Nurdin m (more tweaking) |
imported>Hendra I. Nurdin (corrections and enhancements) |
||
Line 2: | Line 2: | ||
<font color=red>'''''This article is currently Under Construction'''''</font><br> | <font color=red>'''''This article is currently Under Construction'''''</font><br> | ||
In [[control engineering]] and [[systems theory (engineering)|systems]] and [[control theory]], '''linear quadratic control''' or LQ control refers to controller design for a deterministic | In [[control engineering]] and [[systems theory (engineering)|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 system|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: | There are two main versions of the method, depending on the setting of the control problem: | ||
Line 15: | Line 15: | ||
In discrete time, the plant (the system to be controlled) is assumed to be linear with ''input'' <math>u_k</math> and ''state'' <math>x_k</math>, and evolves in discrete time ''k''=0,1,... according to the following dynamics: | In discrete time, the plant (the system to be controlled) is assumed to be linear with ''input'' <math>u_k</math> and ''state'' <math>x_k</math>, and evolves in discrete time ''k''=0,1,... according to the following dynamics: | ||
<math>x_{k+1}=Ax_{k}+B u_{k};\, x_0=a</math> | <math>x_{k+1}=Ax_{k}+B u_{k};\, x_0=a\,\,(1) | ||
</math> | |||
where <math> | |||
where <math>x_k \in \mathbb{R}^n</math> and <math>u_k \in \mathbb{R}^m</math> for all <math>k\geq 0</math> and <math>A,B</math> are real matrices of the corresponding sizes (i.e., for consistency, <math>A</math> should be of the dimension <math>n \times n</math> while <math>B</math> should be of dimension <math>n \times m</math>). Here <math>a</math> is the ''initial state'' of the plant. | |||
===Cost functional=== | ===Cost functional=== | ||
For a finite integer <math>K>0</math>, called the ''control horizon'' or ''horizon'', a real valued cost functional <math>J</math> of ''a'' and the control sequence <math>u_0,u_1,\ldots,u_{K-1}</math> up to time <math>K-1</math> is defined as follows: | For a finite integer <math>K>0</math>, called the ''control horizon'' or ''horizon'', a real valued cost functional <math>J</math> of ''a'' and the control sequence <math>u_0,u_1,\ldots,u_{K-1}</math> up to time <math>K-1</math> is defined as follows: | ||
<math>J^K(a,u_0,u_1,\ldots,u_{K-1})=\sum_{k=0}^{K-1}(x_k^T Q x_k+u_k^T R u_k) + x_K^T \Gamma x_K; \,\, x_0=a\,\, \, ( | <math>J^K(a,u_0,u_1,\ldots,u_{K-1})=\sum_{k=0}^{K-1}(x_k^T Q x_k+u_k^T R u_k) + x_K^T \Gamma x_K; \,\, x_0=a\,\, \, (2)</math> | ||
where <math>Q,\Gamma</math> are given symmetric matrices (of the corresponding sizes) satisfying <math>Q,\Gamma \geq 0 </math> and <math>R</math> is a given symmetric matrix (of the corresponding size) satisfying <math>R > 0 </math>. In this setting, control is executed for a finite time and the horizon <math>K</math> represents the terminal time of the control action. However, depending on some technical assumptions on the plant, it may also be possible to allow <math>K \uparrow \infty</math> in which case one speaks of an ''infinite horizon''. | where <math>Q,\Gamma</math> are given symmetric matrices (of the corresponding sizes) satisfying <math>Q,\Gamma \geq 0 </math> and <math>R</math> is a given symmetric matrix (of the corresponding size) satisfying <math>R > 0 </math>. In this setting, control is executed for a finite time and the horizon <math>K</math> represents the terminal time of the control action. However, depending on some technical assumptions on the plant, it may also be possible to allow <math>K \uparrow \infty</math> in which case one speaks of an ''infinite horizon''. | ||
Note that each term on the right hand side of ( | 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., <math>x_k^T Q x_k</math> as the "energy" of <math>x_K</math>). The term <math>u_k^T R u_k</math> 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 <math>x_K^T \Gamma x_K</math> is called the terminal cost and it penalizes the energy of the plant at the final state <math>x_K</math> . | ||
===The LQ regulator problem in discrete time=== | ===The LQ regulator problem in discrete time=== | ||
Line 40: | Line 41: | ||
==Solution of optimal regulator problem== | ==Solution of optimal regulator problem== | ||
A standard approach to solving the discete time optimal regulator problem is | 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 <math>J_k^K</math> defined as the cost from step ''k'' to step ''K'' starting at <math>x_k=b</math>: | ||
<math>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 | <math>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 | ||
Line 57: | Line 58: | ||
</math> | </math> | ||
where <math>P_k</math> is a real | where <math>P_k</math> is a real non-negative definite symmetric matrix satisfying the ''backward recursion'': | ||
<math> | <math> | ||
P_{k}=A^T P_{k+1} B(R+BP_{k+1}B^T)^{-1}B^T P_{k+1}A,\,\,k= | P_{k}=A^T P_{k+1} B(R+BP_{k+1}B^T)^{-1}B^T P_{k+1}A,\,\,k=0,\ldots,K-1 | ||
</math> | </math> | ||
Line 73: | Line 74: | ||
</math> | </math> | ||
where <math>\tilde x_j</math>, <math>j=k,...,K-1</math>, satisfies the plant dynamics with <math>\tilde x_k=b</math>. It then follows that the minimum value of the cost functional is simply: | where <math>\tilde x_j</math>, <math>j=k,...,K-1</math>, satisfies the plant dynamics with <math>\tilde x_k=b</math> (it should be noted that in [[optimization (mathematics)|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: | ||
<math>V_0(a).</math> | <math>\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).</math> | ||
The validity of the above results depends crucially on the assumption that <math>R>0</math>, this prevents the problem from becoming "singular". It also guarantees the uniqueness of the optimal sequence (i.e., there is exactly one sequence | The validity of the above results depends crucially on the assumption that <math>R>0</math>, 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)). | ||
==Related topics== | ==Related topics== | ||
[[Linear quadratic Gaussian control]] | [[Linear quadratic Gaussian control]] |
Revision as of 14:31, 11 October 2007
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 is called the terminal cost and it penalizes the energy of the plant at the final state .
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 that minimizes the cost functional , that is,
over all possible control sequences .
Thus the optimal regulator problem is a type of optimal control problem and the control sequence 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 defined as the cost from step k to step K starting at :
Another important notion is that of the value function at step k, , defined as:
For the optimal regulator problem it can be shown that is also a quadratic function (of the variable b). It is given by:
where is a real non-negative definite symmetric matrix satisfying the backward recursion:
with the final condition:
.
Moreover, the infimum of for a fixed b is attainable at the optimal sequence given by:
where , , satisfies the plant dynamics with (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:
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)).