Linear quadratic control: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Hendra I. Nurdin
(Further development)
imported>Meg Taylor
No edit summary
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{subpages}}
{{subpages}}
 
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.  
In [[control engineering]] and [[systems theory (engineering)|systems]] and [[control theory]], '''linear quadratic control''' or LQ control refers to controller design for a deterministic [[linear system|linear]] plant based on the minimization of a quadratic cost [[functional]]. 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 10: Line 9:


==Discrete time linear quadratic control==
==Discrete time linear quadratic control==
===Plant model===
===Plant model===
In discrete time, the plant (the system to be controlled) is assumed to be linear with ''input'' <math>u_k</math>, ''state'' <math>x_k</math> and ''output'' <math>y_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=x</math>


<math>y_{k}=Cx_{k}+D u_{k}, </math>
::<math>x_{k+1}=Ax_{k}+B u_{k};\, x_0=a, \quad (1)
</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.


where <math>x,x_k \in \mathbb{R}^n</math>, <math>u_k \in \mathbb{R}^m</math> and <math>y_k \in \mathbb{R}^p</math> for all <math>k\geq 0</math> and <math>A,B,C,D</math> are real matrices of the corresponding sizes (e.g., 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>x</math> is the ''initial state'' of the plant.
===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: 


===Cost function===
<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, \quad (2)</math>
For a finite integer <math>K>0</math>, called the ''control horizon'' or ''horizon'', a real valued cost functional  <math>J</math> of the initial state ''x'' 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(x,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, \,\, (1)</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 symmetric matrices (of the corresponding sizes) satisfying <math>Q,\Gamma \geq 0 </math> and <math>R</math> is a symmetric matrix (of the corresponding size) satisfying <math>R > 0 </math>. Note that each term on the right hand side of (1) 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 horizon <math>K</math> represents the terminal time of the control action. 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> .       
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===
The objective of LQ control is to solve the ''optimal regulator problem'':  
The objective of LQ control is to solve the ''optimal regulator problem'':  
<blockquote>
<blockquote>
'''(Optimal regulator problem)''' For a given horizon ''K'' and initial state ''x'', find a control sequence <math>\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m</math> that ''minimizes'' the cost functional <math>J^K</math>, that is,<br><br>
'''(Optimal regulator problem)''' For a given horizon ''K'' and initial state ''a'', find a control sequence <math>\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m</math> that ''minimizes'' the cost functional <math>J^K</math>, that is,<br><br>


<math>J(x,\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1}) \leq J(x,u_0,u_1,\ldots,u_{K-1}),\,\, (2) </math><br><br>
<math>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) </math><br><br>


over all possible control sequences <math>u_0,u_1,\ldots,u_{K-1} \in \mathbb{R}^m</math>. </blockquote>   
over all possible control sequences <math>u_0,u_1,\ldots,u_{K-1} \in \mathbb{R}^m</math>. </blockquote>   


The optimal regulator problem is a type of [[optimal control]] problem and the control sequence <math>\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m</math> is an optimal control sequence.
Thus the optimal regulator problem is a type of [[optimal control]] problem and the control sequence <math>\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1} \in \mathbb{R}^m</math> is called an optimal control sequence.
 
===Solution of optimal regulator problem===
A standard approach to solving the discrete 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>
 
Another important notion is that of the ''value function'' at step k, <math>V_k</math>, defined as:
 
<math>
V_k(b)=\mathop{\inf}_{u_{k},\ldots,u_{K-1}\in \mathbb{R}}J_k^K(b,u_{k},\ldots,u_{K-1}).
</math>
 
For the optimal regulator problem it can be shown that <math>V_k</math> is also a quadratic function (of the variable ''b''). It is given by:
 
::<math>
V_k(b)\,=\,b^T P_k b,
</math>
 
where <math>P_k</math> is a real non-negative definite symmetric matrix satisfying the ''backward recursion'':
 
<math>
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,
</math>
 
with the ''final condition'':
 
::<math>P_K\,=\,\Gamma.</math>
 
Moreover, the infimum of <math>J_k^K</math> for a fixed ''b'' is attainable at the optimal sequence <math>\tilde u_k,\ldots,\tilde u_{K-1}</math> given by:
 
<math>
\tilde u_j=-(R+B^T P_{j+1}B)^{-1}B^T P_{j+1} A \tilde x_j, 
</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 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 verified). It then follows that the minimum value of the cost functional (2) is simply:
 
<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 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 <math>y_k</math> given by:
 
::<math>y_k\,=\,Cx_k,</math>
 
where <math>y_k \in \mathbb{R}^p</math> and <math>C \in \mathbb{R}^{p \times n}</math>, and the cost functional <math>J^K</math> in (2) is modified to be:
 
<math>
\begin{align} J^K(a,u_0,u_1,\ldots,u_{K-1}) &= \sum_{k=1}^{K-1}((y_k^d-y_k)^T Q (y_k^d-y_k)+u_k^T R u_k) + (y_K^d-y_K)^T \Gamma (y_K^d-y_K); \,\, x_0=a, \quad (4)\end{align}
</math>
 
where <math>y_1^d,y_1^d,\ldots,y_{K}^d \in \mathbb{R}^p</math> is a given sequence of desired output signals. Then a variation of the optimal regulator problem can be formulated as finding a control sequence <math>\tilde u_0,\tilde u_1,\ldots,\tilde u_{K-1}</math> 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 <math>y_k</math> of the plant at step k to be close to (i.e., to "track") the desired output <math>y_k^d</math>. If ''C'' is the [[identity matrix]] and <math>y_k^d=x_k^d \in \mathbb{R}^n</math> then the tracking problem can be interpreted as forcing the state of the plant to try to track the desired sequence of states <math>x_1^d,\ldots,x_K^d \in \mathbb{R}^n</math> at every step.
 
==Continuous time linear quadratic control==
An analogous formulation of LQ control as described in the above can be given in continuous time. Most of the ideas involved and techniques used in the discrete time version can be adapted and extended to the continuous time version, but since it is necessary to deal with functions instead of sequences, the latter is more technical and additional care needs to be taken. Nonetheless, it turns out that the main results are analogous to the discrete time results.
 
===Plant model===
In the continuous time setting, the plant is again assumed to be linear with ''input'' <math>u</math> and ''state'' <math>x</math>, and evolves in <math>t \geq 0</math> according to the following ordinary differential equation (ODE):
 
::<math>\frac{dx}{dt}(t)=Ax(t)+B u(t);\, x(0)=a, \quad (5)
</math>
where <math>x(t) \in \mathbb{R}^n</math> and <math>u(t) \in \mathbb{R}^m</math> for all <math>t\geq 0</math> and <math>A,\,B</math> are real matrices of the corresponding sizes. As before, <math>a</math> is the ''initial state'' of the plant.
 
===Cost functional===
Let <math>C([a,b];\mathbb{R}^m)</math> (''a<b'') be the set of all [[continuity|continuous]] <math>\mathbb{R}^m</math>-valued functions on the interval [''a'',''b'']. For a positive number <math>T>0</math>, the control horizon, a real valued cost functional  <math>J</math> of ''a'' and the control signal <math>u \in C([0,T];\mathbb{R}^m)</math> is defined as follows: 
 
<math>J(a,u;T)=\int_{0}^{T}(x(s)^T Q x(s)+u(s)^T R u(s))ds + x(T)^T \Gamma x(T); \,\, x(0)=a, \quad (6)</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>. Control is executed for a finite time and the horizon <math>T</math> represents the terminal time of the control action. However, depending on some technical assumptions on the plant, it may also be possible to consider the infinite horizon case by letting <math>T \uparrow \infty</math>.
 
===The LQ regulator problem in continuous time===
The objective of continuous time LQ control is to solve the continuous time optimal regulator problem:
<blockquote>
'''(Optimal regulator problem)''' For a given horizon ''T'' and initial state ''a'', find a control signal <math>\tilde u \in C([0,T];\mathbb{R}^m)</math> that ''minimizes'' the cost functional <math>J</math>, that is,<br><br>
 
<math>J(a,\tilde u;T) \leq J(a,u;T);\,\,x(0)=a, \quad (7) </math><br><br>
 
over all possible control signals <math>u \in C([0,T];\mathbb{R}^m)</math>. </blockquote> 
 
The signal <math>\tilde u</math> is then said to be an optimal control signal.
 
===Solution of optimal regulator problem===
The continuous time optimal regulator problem may also be solved by dynamic programming. In this case, a special role is played by the so-called cost-to-go functional <math>J(t,b,u;T)</math>, defined as the cost from time ''t'' to time ''T'' starting at <math>x(t)=b</math>:
 
<math>J(t,b,u;T)=\int_{t}^{T}(x(s)^T Q x(s)+u(s)^T R u(s))ds + x(T)^T \Gamma x(T);\,\, x(t)=b,
</math>
 
Another important notion is that of the ''value function'' at time ''t'', <math>V(t,b;T)</math>, defined as:
 
<math>
V(t,b;T)=\mathop{\inf}_{u \in C([0,T];\mathbb{R}^m)} J(t,b,u;T).
</math>
 
For the optimal regulator problem it can be shown that <math>V(t,b;T)</math> is also a quadratic function (of the variable ''b''). It is given by:
 
::<math>
V(t,b;T)\,=\,b^T P(T-t)b,
</math>
 
where <math>P(t)</math> is a real non-negative definite symmetric matrix-valued function satisfying the so-called ''continuous Riccati differential equation'':
 
<math>
\frac{dP}{dt}(t)=Q+\frac{1}{2}A^T P(t)+\frac{1}{2}P(t)A-P(t)BR^{-1}B^T P(t),\,\,0 \leq t \leq T,
</math>
 
with the ''initial condition'':
 
::<math>P(0)\,=\,\Gamma</math>.
 
Moreover, the infimum of <math>J(t,b,u;T)</math> for a fixed ''b'' is attainable at the unique (due to the condition ''R>0'') optimal control signal  <math>\tilde u</math> given by:
 
<math>
\tilde u(t) =-R^{-1}B^TP(t)\tilde x(t), 
</math>
 
where <math>\tilde x \in C([t,T];\mathbb{R}^m)</math> satisfies the plant dynamics with <math>\tilde x(t)=b</math>. It then follows that the minimum value of the cost functional (2) is simply:
 
<math>\mathop{\inf}_{u \in C([0,T];\mathbb{R}^m)}J(a,u;T)=V(0,a;T).</math>
 
===Variations of continuous time LQ control===
As in the discrete time case, an output tracking variation of the optimal regulator problem can be formulated, but which can be solved with a similar technique. For example, suppose that the dynamics (5) is augmented with an output signal <math>y \in C([0,T];\mathbb{R}^p)</math> given by:
 
::<math>y(t)\,=\,Cx(t),</math>
 
where <math>C \in \mathbb{R}^{p \times n}</math>, and the cost functional <math>J</math> in (5) is modified to be:
 
<math>
\begin{align} J(a,u;T) &= \int_{0}^{T}((y^d(t)-y(t))^T Q (y^d(t)-y(t))+u(t)^T R u(t))dt + (y^d(T)-y(T))^T \Gamma (y^d(T)-y(T)); \,\, x(0)=a, \quad (8)\end{align}
</math>
 
where <math>y^d \in C([0,T];\mathbb{R}^p)</math> is a given sequence of desired output signals. Then the output tracking variation of the optimal regulator problem can be formulated as finding a control sequence <math>\tilde u \in C([0,T];\mathbb{R}^m)</math> satisfying (7), but with the cost functional now being defined as in (8).


==Related topics==
==Related topics==
[[Linear quadratic Gaussian control]]
[[Linear quadratic Gaussian control]]

Latest revision as of 05:46, 17 October 2013

This article is developed but not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable, developed Main Article is subject to a disclaimer.

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:

  1. Discrete time linear quadratic control
  2. 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 discrete 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 verified). 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)).

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 try to track the desired sequence of states at every step.

Continuous time linear quadratic control

An analogous formulation of LQ control as described in the above can be given in continuous time. Most of the ideas involved and techniques used in the discrete time version can be adapted and extended to the continuous time version, but since it is necessary to deal with functions instead of sequences, the latter is more technical and additional care needs to be taken. Nonetheless, it turns out that the main results are analogous to the discrete time results.

Plant model

In the continuous time setting, the plant is again assumed to be linear with input and state , and evolves in according to the following ordinary differential equation (ODE):

where and for all and are real matrices of the corresponding sizes. As before, is the initial state of the plant.

Cost functional

Let (a<b) be the set of all continuous -valued functions on the interval [a,b]. For a positive number , the control horizon, a real valued cost functional of a and the control signal 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 . 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 consider the infinite horizon case by letting .

The LQ regulator problem in continuous time

The objective of continuous time LQ control is to solve the continuous time optimal regulator problem:

(Optimal regulator problem) For a given horizon T and initial state a, find a control signal that minimizes the cost functional , that is,



over all possible control signals .

The signal is then said to be an optimal control signal.

Solution of optimal regulator problem

The continuous time optimal regulator problem may also be solved by dynamic programming. In this case, a special role is played by the so-called cost-to-go functional , defined as the cost from time t to time T starting at :

Another important notion is that of the value function at time t, , 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-valued function satisfying the so-called continuous Riccati differential equation:

with the initial condition:

.

Moreover, the infimum of for a fixed b is attainable at the unique (due to the condition R>0) optimal control signal given by:

where satisfies the plant dynamics with . It then follows that the minimum value of the cost functional (2) is simply:

Variations of continuous time LQ control

As in the discrete time case, an output tracking variation of the optimal regulator problem can be formulated, but which can be solved with a similar technique. For example, suppose that the dynamics (5) is augmented with an output signal given by:

where , and the cost functional in (5) is modified to be:

where is a given sequence of desired output signals. Then the output tracking variation of the optimal regulator problem can be formulated as finding a control sequence satisfying (7), but with the cost functional now being defined as in (8).

Related topics

Linear quadratic Gaussian control