Controllability: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>OAbot
m Open access bot: url-access=subscription updated in citation with #oabot.
imported>BunnysBot
Fix CW Errors with GenFixes (T1)
 
Line 9: Line 9:


* State controllability: the ability to steer the system between states
* State controllability: the ability to steer the system between states
* Strong controllability: the ability to steer between states over any specified time window
* Strong controllability: the ability to steer between states over any specified time window
* Collective controllability: the ability to simultaneously steer a collection of dynamical systems
* Collective controllability: the ability to simultaneously steer a collection of dynamical systems
* Trajectory controllability: the ability to steer along a predefined trajectory rather than just to a desired final state
* Trajectory controllability: the ability to steer along a predefined trajectory rather than just to a desired final state
* Output controllability: the ability to steer to specified values of the output
* Output controllability: the ability to steer to specified values of the output
* Controllability in the behavioural framework: a compatibility condition between past and future input and output trajectories
* Controllability in the behavioural framework: a compatibility condition between past and future input and output trajectories


Line 24: Line 19:
The [[state space (controls)|state]] of a [[deterministic system]], which is the set of values of all the system's state variables (those variables characterized by dynamic equations), completely describes the system at any given time. In particular, no information on the past of a system is needed to help in predicting the future, if the states at the present time are known and all current and future values of the control variables (those whose values can be chosen) are known.
The [[state space (controls)|state]] of a [[deterministic system]], which is the set of values of all the system's state variables (those variables characterized by dynamic equations), completely describes the system at any given time. In particular, no information on the past of a system is needed to help in predicting the future, if the states at the present time are known and all current and future values of the control variables (those whose values can be chosen) are known.


''Complete state controllability'' (or simply ''controllability'' if no other context is given) describes the ability of an external input (the vector of control variables) to move the internal state of a system from any initial state to any final state in a finite time interval.<ref name="Ogata97">{{cite book|author=Katsuhiko Ogata|title=Modern Control Engineering|edition=3rd|year=1997|publisher=Prentice-Hall|location=Upper Saddle River, NJ|isbn=978-0-13-227307-7}}</ref>{{rp|737}}
''{{dfn|Complete state controllability}}'' (or simply ''{{dfn|controllability}}'' if no other context is given) describes the ability of an external input (the vector of control variables) to move the internal state of a system from any initial state to any final state in a finite time interval.<ref name="Ogata97">{{cite book |last= Ogata |first= Katsuhiko |date= 1997 |title= Modern Control Engineering |edition= 3rd |publisher= Prentice-Hall |location= Upper Saddle River, New Jersey |isbn= 978-0-13-227307-7}}</ref>{{rp|737}}


That is, we can informally define controllability as follows:
That is, we can informally define controllability as follows:
If for any initial state <math>\mathbf{x_0}</math> and any final state <math>\mathbf{x_f}</math> there exists an input sequence to transfer the system state from <math>\mathbf{x_0}</math> to <math>\mathbf{x_f}</math> in a finite time interval, then the system modeled by the [[state-space representation]] is controllable. For the simplest example of a continuous, LTI system, the row dimension of the state space expression <math>\dot{\mathbf{x}} = \mathbf{A}\mathbf{x}(t) + \mathbf{B}\mathbf{u}(t)</math> determines the interval; each row contributes a vector in the state space of the system. If there are not enough such vectors to span the state space of <math>\mathbf{x}</math>, then the system cannot achieve controllability. It may be necessary to modify <math>\mathbf{A}</math> and <math>\mathbf{B}</math> to better approximate the underlying differential relationships it estimates to achieve controllability.
If for any initial state {{math|'''x'''{{sub|0}}}} and any final state {{math|'''x'''{{sub|f}}}} there exists an input sequence to transfer the system state from {{math|'''x'''{{sub|0}}}} to {{math|'''x'''{{sub|f}}}} in a finite time interval, then the system modeled by the [[state-space representation]] is controllable. For the simplest example of a continuous, linear time-invariant (LTI) system, the row dimension of the state space expression {{math|1='''ẋ''' = ''A'''''x'''(''t'') + ''B'''''u'''(''t'')}} determines the interval; each row contributes a vector in the state space of the system. If there are not enough such vectors to span the state space of {{math|'''x'''}}, then the system cannot achieve controllability. It may be necessary to modify {{mvar|A}} and {{mvar|B}} to better approximate the underlying differential relationships it estimates to achieve controllability.


Controllability does not mean that a reached state can be maintained, merely that any state can be reached.
Controllability does not mean that a reached state can be maintained, merely that any state can be reached.


Controllability does not mean that arbitrary paths can be made through state space, only that there exists a path within a finite time interval. When the time interval can also be specified, the dynamical system is often referred to as being strongly controllable.
Controllability does not mean that arbitrary paths can be made through state space, only that there exists a path within a finite time interval. When the time interval can also be specified, the [[dynamical system]] is often referred to as being strongly controllable.


== Continuous linear systems ==
== Continuous linear systems ==


Consider the [[continuous time|continuous]] [[linear]] system <ref group="note">A [[linear time-invariant system]] behaves the same but with the coefficients being constant in time.</ref>
Consider the [[continuous time|continuous]] [[linear]] system <ref group="note">A [[linear time-invariant system]] behaves the same but with the coefficients being constant in time.</ref>
<math display=block>\begin{align}
\dot{\mathbf{x}}(t) &= A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t) \\
\mathbf{y}(t) &= C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).
\end{align}</math>


: <math>\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)</math>
There exists a control {{mvar|u}} from state {{math|'''x'''{{sub|0}}}} at time {{math|''t''{{sub|0}}}} to state {{math|'''x'''{{sub|1}}}} at time {{math|''t''{{sub|1}} > ''t''{{sub|0}}}} if and only if {{math|'''x'''{{sub|1}} − ''ϕ''(''t''{{sub|0}}, ''t''{{sub|1}})'''x'''{{sub|0}}}} is in the [[column space]] of
: <math>\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).</math>
<math display=block>W(t_0,t_1) = \int_{t_0}^{t_1} \phi(t_0,t)B(t)B(t)^\mathsf{T}\phi(t_0,t)^\mathsf{T} \mathrm{d}t</math>
 
where {{math|''ϕ''(''t{{sub|0}}'', {{itco|''t''}})}} is the [[state-transition matrix]], and {{math|''W''(''t''{{sub|0}}, ''t''{{sub|1}})}} is the [[Controllability Gramian]].
There exists a control <math>u</math> from state <math>x_0</math> at time <math>t_0</math> to state <math>x_1</math> at time <math>t_1 > t_0</math> if and only if <math>x_1 - \phi(t_0,t_1)x_0</math> is in the [[column space]] of
: <math>W(t_0,t_1) = \int_{t_0}^{t_1} \phi(t_0,t)B(t)B(t)^{T}\phi(t_0,t)^{T} dt</math>
where <math>\phi</math> is the [[state-transition matrix]], and <math>W(t_0,t_1)</math> is the [[Controllability Gramian]].


In fact, if <math>\eta_0</math> is a solution to <math>W(t_0,t_1)\eta = x_1 - \phi(t_0,t_1)x_0</math> then a control given by <math>u(t) = -B(t)^{T}\phi(t_0,t)^{T}\eta_0</math> would make the desired transfer.
In fact, if {{math|''η''{{sub|0}}}} is a solution to {{math|1=''W''(''t''{{sub|0}}, ''t''{{sub|1}})''η'' = ''x''{{sub|1}} − ''ϕ''(''t''{{sub|0}}, ''t''{{sub|1}})''x''{{sub|0}}}} then a control given by {{math|1=''u''(''t'') = −''B''(''t''){{sup|T}}''ϕ''(''t''{{sub|0}}, ''t''){{sup|T}}''η''{{sub|0}}}} would make the desired transfer.


Note that the matrix <math>W</math> defined as above has the following properties:
Note that the matrix {{math|''W''(''t''{{sub|0}}, ''t''{{sub|1}})}} defined as above has the following properties:
* <math>W(t_0,t_1)</math> is [[symmetric matrix|symmetric]]
{{blist
* <math>W(t_0,t_1)</math> is [[positive semidefinite matrix|positive semidefinite]] for <math>t_1 \geq t_0</math>
| {{mvar|W}} is [[symmetric matrix|symmetric]]
* <math>W(t_0,t_1)</math> satisfies the linear [[matrix differential equation]]
| {{mvar|W}} is [[positive semidefinite matrix|positive semidefinite]] for {{math|''t''{{sub|1}} ≥ ''t''{{sub|0}}}}
:: <math>\frac{d}{dt}W(t,t_1) = A(t)W(t,t_1)+W(t,t_1)A(t)^{T}-B(t)B(t)^{T}, \; W(t_1,t_1) = 0</math>
| {{mvar|W}} satisfies the linear [[matrix differential equation]]
* <math>W(t_0,t_1)</math> satisfies the equation
<math display=block>\frac{\mathrm{d}}{\mathrm{d}t}W(t,t_1) = A(t)W(t,t_1)+W(t,t_1)A(t)^\mathsf{T}-B(t)B(t)^\mathsf{T}, \; W(t_1,t_1) = 0</math>
:: <math>W(t_0,t_1) = W(t_0,t) + \phi(t_0,t)W(t,t_1)\phi(t_0,t)^{T}</math><ref>{{cite book|first=Roger W.|last=Brockett|title=Finite Dimensional Linear Systems|publisher=John Wiley & Sons|year=1970|isbn=978-0-471-10585-5}}</ref>
| {{mvar|W}} satisfies the equation<ref>{{cite book|first=Roger W.|last=Brockett|title=Finite Dimensional Linear Systems|publisher=John Wiley & Sons|year=1970|isbn=978-0-471-10585-5}}</ref>
<math display=block>W(t_0,t_1) = W(t_0,t) + \phi(t_0,t)W(t,t_1)\phi(t_0,t)^\mathsf{T}</math>
}}


== Rank condition for controllability==
== Rank condition for controllability==
The [[Controllability Gramian]] involves integration of the [[state-transition matrix]] of a system. A simpler condition for controllability is a [[rank (linear algebra)|rank]] condition analogous to the Kalman rank condition for time-invariant systems.
The [[Controllability Gramian]] involves integration of the [[state-transition matrix]] of a system. A simpler condition for controllability is a [[rank (linear algebra)|rank]] condition analogous to the Kalman rank condition for time-invariant systems.


Consider a continuous-time linear system <math>\Sigma</math> smoothly varying in an interval <math>[t_0,t]</math> of <math>\mathbb{R}</math>:
Consider a continuous-time linear system {{math|Σ}} smoothly varying in an interval {{math|{{bracket|''t''{{sub|0}}, ''t''}}}}:
 
<math display=block>\begin{align}
: <math>\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)</math>
\dot{\mathbf{x}}(t) &= A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t) \\
: <math>\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).</math>
\mathbf{y}(t) &= C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).
\end{align}</math>


The state-transition matrix <math>\phi</math> is also smooth. Introduce the n x m matrix-valued function <math>M_0(t) = \phi(t_0,t)B(t)</math> and define  
The state-transition matrix {{mvar|ϕ}} is also smooth. Introduce the {{times|{{mvar|n}}|{{mvar|m}}}} matrix-valued function {{math|1={{itco|''M''}}{{sub|0}}(''t'') = ''ϕ''(''t''{{sub|0}}, ''t'')''B''(''t'')}} and define
: <math>M_k(t)</math> = <math>\frac{\mathrm{d^k} M_0}{\mathrm{d} t^k}(t), k\geqslant 1</math>.
<math display=block>M_k(t) = \frac{\mathrm{d^k} M_0}{\mathrm{d} t^k}(t), k\geqslant 1.</math>
Consider the matrix of matrix-valued functions obtained by listing all the columns of the <math>M_i</math>, <math>i = 0,1, \ldots, k</math>:


<math>M^{(k)}(t) := \left[M_0(t), \ldots, M_k(t)\right] </math>.
Consider the matrix of matrix-valued functions obtained by listing all the columns of the matrix {{mvar|M}} ({{mvar|M{{sub|i}}}}, for {{math|1=''i'' = 0, 1, ... , ''k''}}):
<math display=block>M^{(k)}(t) := \left[M_0(t), \ldots, M_k(t)\right] .</math>


If there exists a <math>\bar{t} \in [t_0,t]</math> and a nonnegative integer k such that <math>\operatorname{rank}M^{(k)}(\bar{t})=n</math>, then <math>\Sigma</math> is controllable.<ref name=":0">Eduardo D. Sontag, [https://books.google.com/books?id=f9XiBwAAQBAJ Mathematical Control Theory: Deterministic Finite Dimensional Systems].</ref>
If there exists a {{math|1=''t̅'' ∈ {{bracket|''t''{{sub|0}}, ''t''}}}} and a nonnegative integer {{mvar|k}} such that {{math|1=rank {{itco|''M''}}{{sup|(''k'')}}({{itco|''t̅''}}) = ''n''}}, then {{math|Σ}} is controllable.<ref name=":0">Eduardo D. Sontag, [https://books.google.com/books?id=f9XiBwAAQBAJ Mathematical Control Theory: Deterministic Finite Dimensional Systems].</ref>


If <math>\Sigma</math> is also analytically varying in an interval <math>[t_0,t]</math>, then <math>\Sigma</math> is controllable on every nontrivial subinterval of <math>[t_0,t]</math> if and only if there exists a <math>\bar{t} \in [t_0,t]</math> and a nonnegative integer k such that <math>\operatorname{rank}M^{(k)}(t_i)=n</math>.<ref name=":0" />
If {{math|Σ}} is also analytically varying in an interval {{math|{{bracket|''t''{{sub|0}}, ''t''}}}}, then {{math|Σ}} is controllable on every nontrivial subinterval of {{math|{{bracket|''t''{{sub|0}}, ''t''}}}} [[if and only if]] there exists a {{math|1=''t̅'' ∈ {{bracket|''t''{{sub|0}}, ''t''}}}} and a nonnegative integer {{mvar|k}} such that {{math|1=rank {{itco|''M''}}{{sup|(''k'')}}(''t{{sub|i}}'') = ''n''}}.<ref name=":0" />


The above methods can still be complex to check, since it involves the computation of the state-transition matrix <math>\phi</math>. Another equivalent condition is defined as follow. Let <math>B_0(t) = B(t)</math>, and for each <math>i \geq 0</math>, define
The above methods can still be complex to check, since it involves the computation of the state-transition matrix {{mvar|ϕ}}. Another equivalent condition is defined as follow. Let {{math|1=''B''{{sub|0}}(''t'') = ''B''(''t'')}}, and for each {{math|''i'' ≥ 0}}, define
 
<math display=block>B_{i+1}(t) = A(t)B_i(t) - \frac{\mathrm{d}}{\mathrm{d} t}B_i(t). </math>
: <math>B_{i+1}(t) </math>= <math>A(t)B_i(t) - \frac{\mathrm{d}}{\mathrm{d} t}B_i(t). </math>  
In this case, each {{mvar|B{{sub|i}}}} is obtained directly from the data {{math|(''A''(''t''), ''B''(''t''))}}. The system is controllable if there exists a {{math|''t̅'' ∈ {{bracket|''t''{{sub|0}}, ''t''}}}} and a nonnegative integer {{mvar|k}} such that {{math|1=rank({{bracket|''B''{{sub|0}}({{itco|''t̅''}}), ''B''{{sub|1}}({{itco|''t̅''}}), ... , ''B{{sub|k}}''({{itco|''t̅''}})}}) = ''n''}}.<ref name=":0" />
In this case, each <math>B_i</math> is obtained directly from the data <math> (A(t),B(t)).</math> The system is controllable if there exists a <math>\bar{t} \in [t_0,t]</math> and a nonnegative integer <math>k</math> such that <math>\textrm{rank}( \left[ B_0(\bar{t}), B_1(\bar{t}), \ldots, B_k(\bar{t}) \right]) = n </math>.<ref name=":0" />


=== Example ===
=== Example ===


Consider a system varying analytically in <math> (-\infty,\infty) </math> and matrices
Consider a system varying analytically in {{math|(−∞, )}} and matrices
 
<math display=block>\begin{align}
<math>A(t) = \begin{bmatrix}
A(t) &= \begin{bmatrix}
t & 1 & 0\\  
t & 1 & 0\\  
0 & t^{3} & 0\\  
0 & t^{3} & 0\\  
0 & 0 & t^{2}  
0 & 0 & t^{2}  
\end{bmatrix}</math>, <math>B(t) = \begin{bmatrix}
\end{bmatrix}, \\
B(t) &= \begin{bmatrix}
0 \\  
0 \\  
1 \\  
1 \\  
1
1
\end{bmatrix}.</math>
\end{bmatrix}.
\end{align}</math>
Then  
Then  
<math> [B_0(0),B_1(0),B_2(0),B_3(0)] = \begin{bmatrix}
<math display=block> [B_0(0),B_1(0),B_2(0),B_3(0)] = \begin{bmatrix}
0 & 1 & 0 &-1\\  
0 & 1 & 0 &-1\\  
1 & 0 & 0&0\\  
1 & 0 & 0&0\\  
1 & 0 & 0&2
1 & 0 & 0&2
\end{bmatrix}</math> and since this matrix has rank 3, the system is controllable on every nontrivial interval of <math>\mathbb{R}</math>.
\end{bmatrix},</math>
and since this matrix has rank 3, the system is controllable on every nontrivial interval of {{nowrap|<math>\mathbb{R}</math>.}}


=== Continuous linear time-invariant (LTI) systems ===
=== Continuous linear time-invariant (LTI) systems ===


Consider the continuous linear [[time-invariant system]]
Consider the continuous linear [[time-invariant system]]
 
<math display=block>\begin{align}
: <math>\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)</math>
\dot{\mathbf{x}}(t) &= A \mathbf{x}(t) + B \mathbf{u}(t) \\
: <math>\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)</math>
\mathbf{y}(t) &= C \mathbf{x}(t) + D \mathbf{u}(t)
 
\end{align}</math>
where  
where  
: <math>\mathbf{x}</math> is the <math>n \times 1</math> "state vector",
* {{math|'''x'''}} is the {{times|{{mvar|n}}|1}} state vector;
: <math>\mathbf{y}</math> is the <math>m \times 1</math> "output vector",
* {{math|'''y'''}} is the {{times|{{mvar|m}}|1}} output vector;
: <math>\mathbf{u}</math> is the <math>r \times 1</math> "input (or control) vector",
* {{math|'''u'''}} is the {{times|{{mvar|r}}|1}} input (or control) vector;
: <math>A</math> is the <math>n \times n</math> "state matrix",
* {{mvar|A}} is the {{times|{{mvar|n}}|{{mvar|n}}}} state matrix;
: <math>B</math> is the <math>n \times r</math> "input matrix",
* {{mvar|B}} is the {{times|{{mvar|n}}|{{mvar|r}}}} input matrix;
: <math>C</math> is the <math>m \times n</math> "output matrix",
* {{mvar|C}} is the {{times|{{mvar|m}}|{{mvar|n}}}} output matrix; and
: <math>D</math> is the <math>m \times r</math> "feedthrough (or feedforward) matrix".
* {{mvar|D}} is the {{times|{{mvar|m}}|{{mvar|r}}}} feedthrough (or feedforward) matrix.


The <math>n \times nr</math> controllability matrix is given by
The {{times|{{mvar|n}}|{{mvar|nr}}}} controllability matrix is given by
 
<math display=block>R = \begin{bmatrix}B & AB & A^{2}B & ...& A^{n-1}B\end{bmatrix}</math>
:<math>R = \begin{bmatrix}B & AB & A^{2}B & ...& A^{n-1}B\end{bmatrix}</math>
The system is controllable if the controllability matrix has full row [[Rank (linear algebra)|rank]] (i.e. {{math|1=rank(''R'') = ''n''}}.
 
The system is controllable if the controllability matrix has full row [[Rank (linear algebra)|rank]] (i.e. <math>\operatorname{rank}(R)=n</math>).


== Discrete linear time-invariant (LTI) systems ==
== Discrete linear time-invariant (LTI) systems ==


For a [[discrete-time]] linear state-space system (i.e. time variable <math>k\in\mathbb{Z}</math>) the state equation is
For a [[discrete-time]] linear state-space system (i.e. time variable {{nowrap|<math>k\in\mathbb{Z}</math>)}} the state equation is
 
<math display=block>\textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k)</math>
:<math>\textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k)</math>
where {{mvar|A}} is an {{times|{{mvar|n}}|{{mvar|n}}}} matrix and {{mvar|B}} is a {{times|{{mvar|n}}|{{mvar|r}}}} matrix (i.e. {{math|'''u'''}} is {{mvar|r}} inputs collected in a {{times|{{mvar|r}}|1}} vector). The test for controllability is that the {{times|{{mvar|n}}|{{mvar|nr}}}} matrix
 
<math display=block>\mathcal{C} = \begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix}</math>
where <math>A</math> is an <math>n \times n</math> matrix and <math>B</math> is a <math>n \times r</math> matrix (i.e. <math>\mathbf{u}</math> is <math>r</math> inputs collected in a <math>r \times 1</math> vector). The test for controllability is that the <math>n \times nr</math> matrix
has full row [[Rank (linear algebra)|rank]] (i.e., {{math|1=rank({{itco|{{mathcal|C}}}}) = ''n''}}). That is, if the system is controllable, {{mathcal|C}} will have {{mvar|n}} columns that are [[linearly independent]]; if {{mvar|n}} columns of {{mathcal|C}} are [[linearly independent]], each of the {{mvar|n}} states is reachable by giving the system proper inputs through the variable {{math|''u''(''k'')}}.
 
:<math>\mathcal{C} = \begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix}</math>
 
has full row [[Rank (linear algebra)|rank]] (i.e., <math>\operatorname{rank}(\mathcal C) = n</math>). That is, if the system is controllable, <math>\mathcal C</math> will have <math>n</math> columns that are [[linearly independent]]; if <math>n</math> columns of <math>\mathcal C</math> are [[linearly independent]], each of the <math>n</math> states is reachable by giving the system proper inputs through the variable <math>u(k)</math>.


===Derivation===
===Derivation===


Given the state <math>\textbf{x}(0)</math> at an initial time, arbitrarily denoted as ''k''=0, the state equation gives <math>\textbf{x}(1) = A\textbf{x}(0) + B\textbf{u}(0),</math> then <math>\textbf{x}(2) = A\textbf{x}(1) + B\textbf{u}(1)= A^2\textbf{x}(0)+AB\textbf{u}(0)+B\textbf{u}(1),</math> and so on with repeated back-substitutions of the state variable, eventually yielding
Given the state {{math|'''x'''(0)}} at an initial time, arbitrarily denoted as {{math|1=''k'' = 0}}, the state equation gives {{math|1='''x'''(1) = {{itco|''A''}}'''x'''(0) + {{itco|''B''}}'''u'''(0)}},  then {{math|1='''x'''(2) = {{itco|''A''}}'''x'''(1) + {{itco|''B''}}'''u'''(1) =}} {{math|''A''{{sup|2}}'''x'''(0) + {{itco|''AB''}}'''u'''(0) + {{itco|''B''}}'''u'''(1)}}, and so on with repeated back-substitutions of the [[state variable]], eventually yielding
<math display="block">\textbf{x}(n)=B\textbf{u}(n-1) + AB\textbf{u}(n-2) + \cdots + A^{n-1}B\textbf{u}(0) + A^n\textbf{x}(0)</math>
or equivalently
<math display=block>\textbf{x}(n)-A^n\textbf{x}(0)= [B \, \, AB \, \, \cdots \, \, A^{n-1}B] [\textbf{u}^\mathsf{T}(n-1) \, \, \textbf{u}^\mathsf{T}(n-2) \, \, \cdots \, \, \textbf{u}^\mathsf{T}(0)]^\mathsf{T}.</math>


:<math>\textbf{x}(n)=B\textbf{u}(n-1) + AB\textbf{u}(n-2) + \cdots + A^{n-1}B\textbf{u}(0) + A^n\textbf{x}(0)</math>
Imposing any desired value of the state vector {{math|'''x'''(''n'')}} on the left side, this can always be solved for the stacked vector of control vectors if and only if the matrix of matrices at the beginning of the right side has full row rank.


or equivalently
===Example===
For example, consider the case when {{math|1=''n'' = 2}} and {{math|1=''r'' = 1}} (i.e. only one control input). Thus, {{mvar|B}} and {{mvar|AB}} are {{times|2|1}} vectors. If {{math|{{bracket|''B'' {{itco|''AB''}}}}}} has rank 2 (full rank), and so {{mvar|B}} and {{mvar|AB}} are [[linearly independent]] and span the entire plane. If the rank is 1, then {{mvar|B}} and {{mvar|AB}} are [[Line (geometry)|collinear]] and do not span the plane.


:<math>\textbf{x}(n)-A^n\textbf{x}(0)= [B \, \, AB \, \, \cdots \, \, A^{n-1}B] [\textbf{u}^T(n-1) \, \, \textbf{u}^T(n-2) \, \, \cdots \, \, \textbf{u}^T(0)]^T.</math>
Assume that the initial state is zero.


Imposing any desired value of the state vector <math>\textbf{x}(n)</math> on the left side, this can always be solved for the stacked vector of control vectors if and only if the matrix of matrices at the beginning of the right side has full row rank.
At time {{math|1=''k'' = 0}}:
<math display=block>x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0)</math>
At time {{math|1=''k'' = 1}}:
<math display=block>x(2) = A\textbf{x}(1) + B\textbf{u}(1) = AB\textbf{u}(0) + B\textbf{u}(1)</math>


===Example===
At time {{math|1=''k'' = 0}} all of the reachable states are on the line formed by the vector {{mvar|B}}.
For example, consider the case when <math>n=2</math> and <math>r=1</math> (i.e. only one control input). Thus, <math>B</math> and <math>A B</math> are <math>2 \times 1</math> vectors. If <math>\begin{bmatrix}B & AB\end{bmatrix}</math> has rank 2 (full rank), and so <math>B</math> and <math>AB</math> are [[linearly independent]] and span the entire plane. If the rank is 1, then <math>B</math> and <math>AB</math> are [[Line (geometry)|collinear]] and do not span the plane.


Assume that the initial state is zero.
At time {{math|1=''k'' = 1}} all of the reachable states are linear combinations of {{mvar|AB}} and {{mvar|B}}.
If the system is controllable then these two vectors can span the entire plane and can be done so for time {{math|1=''k'' = 2}}.


At time <math>k=0</math>: <math>x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0)</math>
The assumption made that the initial state is zero is merely for convenience. Clearly if all states can be reached from the origin then any state can be reached from another state (merely a shift in coordinates).


At time <math>k=1</math>: <math>x(2) = A\textbf{x}(1) + B\textbf{u}(1) = AB\textbf{u}(0) + B\textbf{u}(1)</math>
This example holds for all positive {{mvar|n}}, but the case of {{math|1=''n'' = 2}} is easier to visualize.


At time <math>k=0</math> all of the reachable states are on the line formed by the vector <math>B</math>.
===Analogy for example of {{mvar|n}} = 2===
At time <math>k=1</math> all of the reachable states are linear combinations of <math>AB</math> and <math>B</math>.
Consider an [[Car analogy|analogy]] to the previous example system. You are sitting in your car on an infinite, flat plane and facing north. The goal is to reach any point in the plane by driving a distance in a straight line, come to a full stop, turn, and driving another distance, again, in a straight line.
If the system is controllable then these two vectors can span the entire plane and can be done so for time <math>k=2</math>.
The assumption made that the initial state is zero is merely for convenience.
Clearly if all states can be reached from the origin then any state can be reached from another state (merely a shift in coordinates).


This example holds for all positive <math>n</math>, but the case of <math>n=2</math> is easier to visualize.
If your car has no steering then you can only drive straight, which means you can only drive on a line (in this case the north-south line since you started facing north). The lack of steering case would be analogous to when the rank of {{mvar|C}} is 1 (the two distances you drove are on the same line).


===Analogy for example of ''n'' = 2===
Now, if your car did have steering then you could easily drive to any point in the plane and this would be the analogous case to when the rank of {{mvar|C}} is 2.
Consider an [[Car analogy|analogy]] to the previous example system.
You are sitting in your car on an infinite, flat plane and facing north.
The goal is to reach any point in the plane by driving a distance in a straight line, come to a full stop, turn, and driving another distance, again, in a straight line.
If your car has no steering then you can only drive straight, which means you can only drive on a line (in this case the north-south line since you started facing north).
The lack of steering case would be analogous to when the rank of <math>C</math> is 1 (the two distances you drove are on the same line).


Now, if your car did have steering then you could easily drive to any point in the plane and this would be the analogous case to when the rank of <math>C</math> is 2.
If you change this example to {{math|1=''n'' = 3}} then the analogy would be flying in space to reach any position in 3D space (ignoring the [[Orientation (rigid body)|orientation]] of the [[aircraft]]).


If you change this example to <math>n=3</math> then the analogy would be flying in space to reach any position in 3D space (ignoring the [[Orientation (rigid body)|orientation]] of the [[aircraft]]).
You are allowed to:
You are allowed to:
*fly in a straight line
*fly in a straight line
Line 193: Line 185:


== Controllability via state feedback ==
== Controllability via state feedback ==
When control authority on a linear dynamical system is exerted through a choice of a time-varying feedback gain matrix <math>K(t)</math>, the system
When control authority on a [[linear dynamical system]] is exerted through a choice of a time-varying feedback gain matrix <math>K(t)</math>, the system


: <math>\dot{\mathbf{x}} = (A - BK(t))\mathbf{x}</math>
: <math>\dot{\mathbf{x}} = (A - BK(t))\mathbf{x}</math>
Line 201: Line 193:
: <math>R= \begin{bmatrix} B & AB & \cdots & A^{n-1}B \end{bmatrix}. </math>
: <math>R= \begin{bmatrix} B & AB & \cdots & A^{n-1}B \end{bmatrix}. </math>


It is clear that for the system to be controllable, it is necessary that <math>R</math> has full column rank. It turns out that this condition is also sufficient. However, the (optimal) control strategy explained earlier needs to be slightly modified so that the trajectory when applying an optimal input to steer the system between the specified states, does not pass through the origin, else the regulating input cannot be written in feedback form <math>u=-K(t)\mathbf{x}</math>.
It is clear that for the system to be controllable, it is necessary that <math>R</math> has full column rank. It turns out that this condition is also sufficient. However, the (optimal) control strategy explained earlier needs to be modified so that the trajectory when applying an optimal input to steer the system between the specified states, does not pass through the origin, else the regulating input cannot be written in feedback form <math>u=-K(t)\mathbf{x}</math>. The controllability, as well as the strong controllability of this bilinear system
was proven in
.<ref name="abdelgalil_georgiou">{{cite journal |author1=Mahmoud Abdelgalil |author2=Tryphon T. Georgiou | title = Collective Steering in Finite Time: Controllability on <math>GL^+(n,\mathbb{R})</math> | journal = IEEE Transactions on Automatic Control | doi = 10.1109/TAC.2025.3574186 | year = 2025 }}</ref>


== Collective controllability -- Control of the state transition via feedback ==
== Collective controllability -- Control of the state transition via feedback ==
Line 224: Line 218:


: <math>\Phi(T)= \begin{bmatrix} \mathbf{x}^{(1)}(T)\ldots \mathbf{x}^{(n)}(T) \end{bmatrix}, </math>
: <math>\Phi(T)= \begin{bmatrix} \mathbf{x}^{(1)}(T)\ldots \mathbf{x}^{(n)}(T) \end{bmatrix}, </math>
provided <math>\det(\Phi(0)\Phi(T))>0 </math>, over any specified time interval <math>[0,T] </math> through a choice of a common time-varying feedback gain matrix <math>K(t)</math> provided <math>R</math> has full column rank
provided <math>\det(\Phi(0)\Phi(T))>0 </math>, over any specified time interval <math>[0,T] </math> through a choice of a common time-varying feedback gain matrix <math>K(t)</math> provided <math>R</math> has full column rank.<ref name="abdelgalil_georgiou"/>
<ref>{{cite journal |author1=Mahmoud Abdelgalil |author2=Tryphon T. Georgiou | title = Collective Steering in Finite Time: Controllability on <math>GL^+(n,\mathbb{R})</math> | journal = IEEE Transactions on Automatic Control | doi = 10.1109/TAC.2025.3574186 | year = 2025 | url = https://ieeexplore.ieee.org/document/11015961 | access-date = 2025-05-27 | url-access = subscription }}</ref>


== Null Controllability ==
== Null Controllability ==
Line 234: Line 227:
== Output controllability ==
== Output controllability ==


''Output controllability'' is the related notion for the output of the system (denoted ''y'' in the previous equations); the output controllability describes the ability of an external input to move the output from any initial condition to any final condition in a finite time interval. It is not necessary that there is any relationship between state controllability and output controllability. In particular:
''{{dfn|Output controllability}}'' is the related notion for the output of the system (denoted {{math|'''y'''}} in the previous equations); the output controllability describes the ability of an external input to move the output from any [[initial condition]] to any final condition in a finite time interval. It is not necessary that there is any relationship between state controllability and output controllability. In particular:
* A controllable system is not necessarily output controllable. For example, if matrix ''D''&nbsp;=&nbsp;0 and matrix ''C'' does not have full row rank, then some positions of the output are masked by the limiting structure of the output matrix, and therefore unachievable. Moreover, even though the system can be moved to any state in finite time, there may be some outputs that are inaccessible by all states. A trivial numerical example uses ''D''=0 and a ''C'' matrix with at least one row of zeros; thus, the system is not able to produce a non-zero output along that dimension.
* A controllable system is not necessarily output controllable. For example, if matrix {{math|1=''D'' = 0}} and matrix {{mvar|C}} does not have full row rank, then some positions of the output are masked by the limiting structure of the output matrix, and therefore unachievable. Moreover, even though the system can be moved to any state in finite time, there may be some outputs that are inaccessible by all states. A trivial numerical example uses {{math|1=''D'' = 0}} and a {{mvar|C}} matrix with at least one row of zeros; thus, the system is not able to produce a non-zero output along that dimension.
* An output controllable system is not necessarily state controllable. For example, if the dimension of the state space is greater than the dimension of the output, then there will be a set of possible state configurations for each individual output. That is, the system can have significant [[zero dynamics]], which are trajectories of the system that are not observable from the output. Consequently, being able to drive an output to a particular position in finite time says nothing about the state configuration of the system.
* An output controllable system is not necessarily state controllable. For example, if the dimension of the state space is greater than the dimension of the output, then there will be a set of possible state configurations for each individual output. That is, the system can have significant [[zero dynamics]], which are trajectories of the system that are not observable from the output. Consequently, being able to drive an output to a particular position in finite time says nothing about the state configuration of the system.


For a linear continuous-time system, like the example above, described by matrices <math>A</math>, <math>B</math>, <math>C</math>, and <math>D</math>, the <math>m \times (n+1)r</math> ''output controllability matrix''
For a linear continuous-time system, like the example above, described by matrices {{mvar|A}}, {{mvar|B}}, {{mvar|C}}, and {{mvar|D}}, the {{times|{{mvar|m}}|{{math|({{itco|''n''}}+1)''r''}}}} ''{{dfn|output controllability matrix}}''
:<math>\begin{bmatrix} CB & CAB & CA^2B & \cdots & CA^{n-1}B & D\end{bmatrix}</math>
<math display=block>\begin{bmatrix} CB & CAB & CA^2B & \cdots & CA^{n-1}B & D\end{bmatrix}</math>
has full row rank (i.e. rank <math>m</math>) if and only if the system is output controllable.<ref name="Ogata97" />{{rp|742}}
has full row rank (i.e. rank {{mvar|m}}) if and only if the system is output controllable.<ref name="Ogata97" />{{rp|742}}


== Controllability under input constraints ==
== Controllability under input constraints ==


In systems with limited control authority, it is often no longer possible to move any initial state to any final state inside the controllable subspace. This phenomenon is caused by constraints on the input that could be inherent to the system (e.g. due to saturating actuator) or imposed on the system for other reasons (e.g. due to safety-related concerns). The controllability of systems with input and state constraints is studied in the context of [[reachability (controls)|reachability]]<ref>{{cite journal |author1=Claire J. Tomlin |author2=Ian Mitchell |author3=Alexandre M. Bayen |author4=Meeko Oishi|author4-link=Meeko Oishi | title = Computational Techniques for the Verification of Hybrid Systems | journal = Proceedings of the IEEE |volume=91 |issue=7 |pages=986–1001 | doi = 10.1109/jproc.2003.814621 | year = 2003 | url = http://www.cs.ubc.ca/~mitchell/Papers/publishedIEEEproc03.pdf | access-date = 2012-03-04
In systems with limited control authority, it is often no longer possible to move any initial state to any final state inside the controllable subspace. This phenomenon is caused by constraints on the input that could be inherent to the system (e.g. due to saturating [[actuator]]) or imposed on the system for other reasons (e.g. due to safety-related concerns). The controllability of systems with input and state constraints is studied in the context of [[reachability (controls)|reachability]]<ref>{{cite journal |author1=Claire J. Tomlin |author2=Ian Mitchell |author3=Alexandre M. Bayen |author4=Meeko Oishi|author4-link=Meeko Oishi | title = Computational Techniques for the Verification of Hybrid Systems | journal = Proceedings of the IEEE |volume=91 |issue=7 |pages=986–1001 | doi = 10.1109/jproc.2003.814621 | year = 2003 |bibcode=2003IEEEP..91..986T | url = http://www.cs.ubc.ca/~mitchell/Papers/publishedIEEEproc03.pdf | access-date = 2012-03-04
|citeseerx=10.1.1.70.4296 }}</ref> and [[viability theory]].<ref>{{cite book|author=Jean-Pierre Aubin |title= Viability Theory |year=1991 |publisher=Birkhauser |isbn=978-0-8176-3571-8 }}</ref>
|citeseerx=10.1.1.70.4296 }}</ref> and [[viability theory]].<ref>{{cite book|author=Jean-Pierre Aubin |title= Viability Theory |year=1991 |publisher=Birkhauser |isbn=978-0-8176-3571-8 }}</ref>


Line 257: Line 250:


== Reachable set ==
== Reachable set ==
Let T ∈ '''''Т''''' and x ∈ ''X'' (where X is the set of all possible states and '''''Т''''' is an interval of time). The reachable set from x in time T is defined as:<ref name=":0" />
Let {{math|''T'' ∈ '''''Т'''''}} and {{math|''x'' ∈ ''X''}} (where {{mvar|X}} is the set of all possible states and {{mvar|'''Т'''}} is an interval of time). The reachable set from {{mvar|x}} in time {{mvar|T}} is defined as:<ref name=":0" />
 
<math display=block>R^T{(x)} = \left\{ z \in X : x \overset{T}{\rightarrow} z \right\}, </math>
<math>R^T{(x)} = \left\{ z \in X : x \overset{T}{\rightarrow} z \right\}</math>, where x{{overset|T|→}}z denotes that there exists a state transition from x to z in time T.
where {{math|''x'' {{overset|''T''|→}} ''z''}} denotes that there exists a state transition from {{mvar|x}} to {{mvar|z}} in time {{mvar|T}}.
 
For autonomous systems the reachable set is given by :
:<math>\mathrm{Im}(R)=\mathrm{Im}(B)+\mathrm{Im}(AB)+....+\mathrm{Im}(A^{n-1}B)</math>,
where R is the controllability matrix.


In terms of the reachable set, the system is controllable if and only if <math>\mathrm{Im}(R)=\mathbb{R}^n</math>.
For autonomous systems the reachable set is given by:
<math display=block>\mathrm{Im}(R)=\mathrm{Im}(B)+\mathrm{Im}(AB)+....+\mathrm{Im}(A^{n-1}B),</math>
where {{mvar|R}} is the controllability matrix.


'''Proof'''
{{math theorem |name= Claim |math_statement= In terms of the reachable set, the system is controllable if and only if {{nowrap|<math>\mathrm{Im}(R)=\mathbb{R}^n</math>.}}}}
{{math proof |title= Proof |proof=
We have the following equalities:
We have the following equalities:
:<math>R=[B\ AB ....A^{n-1}B]</math>
<math display=block>\begin{align}
:<math>\mathrm{Im}(R)=\mathrm{Im}([B\ AB ....A^{n-1}B])</math>
R &= [B\ AB ....A^{n-1}B] \\
:<math>\mathrm{dim(Im}(R))=\mathrm{rank}(R)</math>
\mathrm{Im}(R) &= \mathrm{Im}([B\ AB ....A^{n-1}B]) \\
Considering that the system is controllable, the columns of R should be [[linearly independent]]. So:
\mathrm{dim(Im}(R)) &= \mathrm{rank}(R)
:<math>\mathrm{dim(Im}(R))=n</math>
\end{align}</math>
:<math>\mathrm{rank}(R)=n</math>
Considering that the system is controllable, the columns of {{mvar|R}} should be [[linearly independent]]. So:
:<math>\mathrm{Im}(R)=\R^{n}\quad \blacksquare</math>
<math display=block>\begin{align}
\mathrm{dim(Im}(R)) &= n \\
\mathrm{rank}(R) &= n \\
\mathrm{Im}(R) &= \R^{n}\qquad \blacksquare
\end{align}</math>
}}


A related set to the reachable set is the controllable set, defined by:
A related set to the reachable set is the controllable set, defined by:
:<math>C^T{(x)} = \left\{ z \in X : z \overset{T}{\rightarrow} x \right\}</math>.
<math display=block>C^T{(x)} = \left\{ z \in X : z \overset{T}{\rightarrow} x \right\}.</math>
The relation between reachability and controllability is presented by Sontag:<ref name=":0" />
The relation between reachability and controllability is presented by Sontag:<ref name=":0" />
{{olist |type= lower-alpha
| An {{mvar|n}}-dimensional discrete linear system is controllable if and only if:
<math display=block>R(0)=R^k{(0)=X}</math>
(where {{mvar|X}} is the set of all possible values or states of {{mvar|x}} and {{mvar|k}} is the time step).
| A continuous-time linear system is controllable if and only if:
<math display=block>\begin{align}
R(0) &= R^e{(0)=X} \\
C(0) &= C^e{(0)=X}
\end{align}</math>
for all {{math|''e'' > 0}}.
}}


(a) An n-dimensional discrete linear system is controllable if and only if:
===Example===
:: <math>R(0)=R^k{(0)=X}</math> (Where X is the set of all possible values or states of x and k is the time step).
Let the system be an n dimensional discrete-time-invariant system from the formula:
(b) A continuous-time linear system is controllable if and only if:
<math display=block>\phi(n,0,0,w)=\sum\limits_{i=1}^n A^{i-1}Bw(n-1),</math>
:: <math>R(0)=R^e{(0)=X}</math> for all e>0.
where {{mvar|ϕ}} (final time, initial time, state variable, restrictions) is defined as the transition matrix of a state variable {{mvar|'''x'''}} from an initial time {{math|0}} to a final time {{mvar|n}} with some restrictions {{mvar|w}}).
if and only if <math>C(0)=C^e{(0)=X}</math> for all e>0.


'''Example'''
It follows that the future state is in {{math|''R''{{sup|''k''}}(0)}} if and only if it is in {{nowrap|<math>\mathrm{Im}(R)</math>,}} the image of the linear map {{mvar|R}}, defined as:
Let the system be an n dimensional discrete-time-invariant system from the formula:
<math display=block>R(A,B)\triangleq [B\ AB ....A^{n-1}B],</math>
::<math>\phi(n,0,0,w)=\sum\limits_{i=1}^n A^{i-1}Bw(n-1)</math> (Where <math>\phi</math>(final time, initial time, state variable, restrictions) is defined as the transition matrix of a state variable x from an initial time 0 to a final time n with some restrictions w).
which maps
It follows that the future state is in <math>R^k{(0)}</math> if and only if it is in <math>\mathrm{Im}(R)</math>, the image of the linear map <math>R</math>, defined as:
<math display=block>u^{n}\mapsto X.</math>
::<math>R(A,B)\triangleq [B\ AB ....A^{n-1}B]</math>,
 
which maps,
When {{math|1=''u'' = ''K''{{i sup|''m''}}}} and {{math|1=''X'' = ''K''{{i sup|''n''}}}} we identify {{math|''R''(''A'', ''B'')}} with a {{times|{{mvar|n}}|{{mvar|nm}}}} matrix whose columns are {{math|''B'', ''AB'', ... , ''A''{{i sup|''n''−1}}''B''}} in that order. If the system is controllable the rank of {{math|{{bracket|''B'' ''AB'' ... ''A''{{i sup|''n''−1}}''B''}}}} is {{mvar|n}}. If this is true, the image of the linear map {{mvar|R}} is all of {{mvar|X}}. Based on that, we have:
::<math>u^{n}\mapsto X</math>
<math display=block>R(0)=R^k{(0)=X}</math> with <math>X\in\R^{n}.</math>
When <math>u=K^{m}</math> and <math>X=K^{n}</math> we identify <math>R(A,B)</math> with a <math>n\times nm</math> matrix whose columns are <math>B,\ AB, ....,A^{n-1}B</math> in that order. If the system is controllable the rank of <math>[B\ AB ....A^{n-1}B]</math> is <math>n</math>. If this is true, the image of the linear map <math>R</math> is all of <math>X</math>. Based on that, we have:
::<math>R(0)=R^k{(0)=X}</math> with <math>X\in\R^{n}</math>.


== See also ==
== See also ==

Latest revision as of 15:15, 15 November 2025

Template:Short description Controllability is an important property of a control system and plays a crucial role in many regulation problems, such as the stabilization of unstable systems using feedback, tracking problems, obtaining optimal control strategies, or, simply prescribing an input that has a desired effect on the state.

Controllability and observability are dual notions. Controllability pertains to regulating the state by a choice of a suitable input, while observability pertains to being able to know the state by observing the output (assuming that the input is also being observed).

Broadly speaking, the concept of controllability relates to the ability to steer a system around in its configuration space using only certain admissible manipulations. The exact definition varies depending on the framework or the type of models dealt with.

The following are examples of variants of notions of controllability that have been introduced in the systems and control literature:

  • State controllability: the ability to steer the system between states
  • Strong controllability: the ability to steer between states over any specified time window
  • Collective controllability: the ability to simultaneously steer a collection of dynamical systems
  • Trajectory controllability: the ability to steer along a predefined trajectory rather than just to a desired final state
  • Output controllability: the ability to steer to specified values of the output
  • Controllability in the behavioural framework: a compatibility condition between past and future input and output trajectories

State controllability

The state of a deterministic system, which is the set of values of all the system's state variables (those variables characterized by dynamic equations), completely describes the system at any given time. In particular, no information on the past of a system is needed to help in predicting the future, if the states at the present time are known and all current and future values of the control variables (those whose values can be chosen) are known.

Template:Dfn (or simply Template:Dfn if no other context is given) describes the ability of an external input (the vector of control variables) to move the internal state of a system from any initial state to any final state in a finite time interval.[1]Template:Rp

That is, we can informally define controllability as follows: If for any initial state Template:Math and any final state Template:Math there exists an input sequence to transfer the system state from Template:Math to Template:Math in a finite time interval, then the system modeled by the state-space representation is controllable. For the simplest example of a continuous, linear time-invariant (LTI) system, the row dimension of the state space expression Template:Math determines the interval; each row contributes a vector in the state space of the system. If there are not enough such vectors to span the state space of Template:Math, then the system cannot achieve controllability. It may be necessary to modify Template:Mvar and Template:Mvar to better approximate the underlying differential relationships it estimates to achieve controllability.

Controllability does not mean that a reached state can be maintained, merely that any state can be reached.

Controllability does not mean that arbitrary paths can be made through state space, only that there exists a path within a finite time interval. When the time interval can also be specified, the dynamical system is often referred to as being strongly controllable.

Continuous linear systems

Consider the continuous linear system [note 1] 𝐱˙(t)=A(t)𝐱(t)+B(t)𝐮(t)𝐲(t)=C(t)𝐱(t)+D(t)𝐮(t).

There exists a control Template:Mvar from state Template:Math at time Template:Math to state Template:Math at time Template:Math if and only if Template:Math is in the column space of W(t0,t1)=t0t1ϕ(t0,t)B(t)B(t)Tϕ(t0,t)Tdt where Template:Math is the state-transition matrix, and Template:Math is the Controllability Gramian.

In fact, if Template:Math is a solution to Template:Math then a control given by Template:Math would make the desired transfer.

Note that the matrix Template:Math defined as above has the following properties: Template:Blist

Rank condition for controllability

The Controllability Gramian involves integration of the state-transition matrix of a system. A simpler condition for controllability is a rank condition analogous to the Kalman rank condition for time-invariant systems.

Consider a continuous-time linear system Template:Math smoothly varying in an interval Template:Math: 𝐱˙(t)=A(t)𝐱(t)+B(t)𝐮(t)𝐲(t)=C(t)𝐱(t)+D(t)𝐮(t).

The state-transition matrix Template:Mvar is also smooth. Introduce the Template:Times matrix-valued function Template:Math and define Mk(t)=dkM0dtk(t),k1.

Consider the matrix of matrix-valued functions obtained by listing all the columns of the matrix Template:Mvar (Template:Mvar, for Template:Math): M(k)(t):=[M0(t),,Mk(t)].

If there exists a Template:Math and a nonnegative integer Template:Mvar such that Template:Math, then Template:Math is controllable.[2]

If Template:Math is also analytically varying in an interval Template:Math, then Template:Math is controllable on every nontrivial subinterval of Template:Math if and only if there exists a Template:Math and a nonnegative integer Template:Mvar such that Template:Math.[2]

The above methods can still be complex to check, since it involves the computation of the state-transition matrix Template:Mvar. Another equivalent condition is defined as follow. Let Template:Math, and for each Template:Math, define Bi+1(t)=A(t)Bi(t)ddtBi(t). In this case, each Template:Mvar is obtained directly from the data Template:Math. The system is controllable if there exists a Template:Math and a nonnegative integer Template:Mvar such that Template:Math.[2]

Example

Consider a system varying analytically in Template:Math and matrices A(t)=[t100t3000t2],B(t)=[011]. Then [B0(0),B1(0),B2(0),B3(0)]=[010110001002], and since this matrix has rank 3, the system is controllable on every nontrivial interval of .

Continuous linear time-invariant (LTI) systems

Consider the continuous linear time-invariant system 𝐱˙(t)=A𝐱(t)+B𝐮(t)𝐲(t)=C𝐱(t)+D𝐮(t) where

The Template:Times controllability matrix is given by R=[BABA2B...An1B] The system is controllable if the controllability matrix has full row rank (i.e. Template:Math.

Discrete linear time-invariant (LTI) systems

For a discrete-time linear state-space system (i.e. time variable k) the state equation is x(k+1)=Ax(k)+Bu(k) where Template:Mvar is an Template:Times matrix and Template:Mvar is a Template:Times matrix (i.e. Template:Math is Template:Mvar inputs collected in a Template:Times vector). The test for controllability is that the Template:Times matrix 𝒞=[BABA2BAn1B] has full row rank (i.e., Template:Math). That is, if the system is controllable, Template:Mathcal will have Template:Mvar columns that are linearly independent; if Template:Mvar columns of Template:Mathcal are linearly independent, each of the Template:Mvar states is reachable by giving the system proper inputs through the variable Template:Math.

Derivation

Given the state Template:Math at an initial time, arbitrarily denoted as Template:Math, the state equation gives Template:Math, then Template:Math Template:Math, and so on with repeated back-substitutions of the state variable, eventually yielding x(n)=Bu(n1)+ABu(n2)++An1Bu(0)+Anx(0) or equivalently x(n)Anx(0)=[BABAn1B][uT(n1)uT(n2)uT(0)]T.

Imposing any desired value of the state vector Template:Math on the left side, this can always be solved for the stacked vector of control vectors if and only if the matrix of matrices at the beginning of the right side has full row rank.

Example

For example, consider the case when Template:Math and Template:Math (i.e. only one control input). Thus, Template:Mvar and Template:Mvar are Template:Times vectors. If Template:Math has rank 2 (full rank), and so Template:Mvar and Template:Mvar are linearly independent and span the entire plane. If the rank is 1, then Template:Mvar and Template:Mvar are collinear and do not span the plane.

Assume that the initial state is zero.

At time Template:Math: x(1)=Ax(0)+Bu(0)=Bu(0) At time Template:Math: x(2)=Ax(1)+Bu(1)=ABu(0)+Bu(1)

At time Template:Math all of the reachable states are on the line formed by the vector Template:Mvar.

At time Template:Math all of the reachable states are linear combinations of Template:Mvar and Template:Mvar. If the system is controllable then these two vectors can span the entire plane and can be done so for time Template:Math.

The assumption made that the initial state is zero is merely for convenience. Clearly if all states can be reached from the origin then any state can be reached from another state (merely a shift in coordinates).

This example holds for all positive Template:Mvar, but the case of Template:Math is easier to visualize.

Analogy for example of Template:Mvar = 2

Consider an analogy to the previous example system. You are sitting in your car on an infinite, flat plane and facing north. The goal is to reach any point in the plane by driving a distance in a straight line, come to a full stop, turn, and driving another distance, again, in a straight line.

If your car has no steering then you can only drive straight, which means you can only drive on a line (in this case the north-south line since you started facing north). The lack of steering case would be analogous to when the rank of Template:Mvar is 1 (the two distances you drove are on the same line).

Now, if your car did have steering then you could easily drive to any point in the plane and this would be the analogous case to when the rank of Template:Mvar is 2.

If you change this example to Template:Math then the analogy would be flying in space to reach any position in 3D space (ignoring the orientation of the aircraft).

You are allowed to:

  • fly in a straight line
  • turn left or right by any amount (Yaw)
  • direct the plane upwards or downwards by any amount (Pitch)

Although the 3-dimensional case is harder to visualize, the concept of controllability is still analogous.

Nonlinear systems

Nonlinear systems in the control-affine form

𝐱˙=𝐟(𝐱)+i=1m𝐠i(𝐱)ui

are locally accessible about x0 if the accessibility distribution R spans n space, when n equals the dimension of x and R is given by:[3]

R=[𝐠1𝐠m[ad𝐠ik𝐠𝐣][ad𝐟k𝐠𝐢]].

Here, [ad𝐟k𝐠] is the repeated Lie bracket operation defined by

[ad𝐟k𝐠]=[𝐟j[𝐟,𝐠]].

The controllability matrix for linear systems in the previous section can in fact be derived from this equation.

Controllability via state feedback

When control authority on a linear dynamical system is exerted through a choice of a time-varying feedback gain matrix K(t), the system

𝐱˙=(ABK(t))𝐱

is nonlinear, in that products of control parameters and states are present. The accessibility distribution R is, as before,

R=[BABAn1B].

It is clear that for the system to be controllable, it is necessary that R has full column rank. It turns out that this condition is also sufficient. However, the (optimal) control strategy explained earlier needs to be modified so that the trajectory when applying an optimal input to steer the system between the specified states, does not pass through the origin, else the regulating input cannot be written in feedback form u=K(t)𝐱. The controllability, as well as the strong controllability of this bilinear system was proven in .[4]

Collective controllability -- Control of the state transition via feedback

Collective controllability represents the ability to steer n linear dynamical systems that obey identical dynamics

𝐱˙(i)(t)=A𝐱(i)(t)+B𝐮(i)(t)

where n equals the dimension of 𝐱, between specified starting and ending configurations by way of a common state feedback gain matrix K(t), and thereby, each instantiating a control input

𝐮(i)(t)=K(t)𝐱(i)(t)

for i{1,,n}, respectively.

The accessibility distribution R having full column rank is trivially a necessary condition. It is also sufficient, and in fact, the collective is strongly controllable, in that it can be steered from an initial configuration

Φ(0)=[𝐱(1)(0)𝐱(n)(0)]

to any specified terminal configuration

Φ(T)=[𝐱(1)(T)𝐱(n)(T)],

provided det(Φ(0)Φ(T))>0, over any specified time interval [0,T] through a choice of a common time-varying feedback gain matrix K(t) provided R has full column rank.[4]

Null Controllability

If a discrete control system is null-controllable, it means that there exists a controllable u(k) so that x(k0)=0 for some initial state x(0)=x0. In other words, it is equivalent to the condition that there exists a matrix F such that A+BF is nilpotent.

This can be easily shown by controllable-uncontrollable decomposition.

Output controllability

Template:Dfn is the related notion for the output of the system (denoted Template:Math in the previous equations); the output controllability describes the ability of an external input to move the output from any initial condition to any final condition in a finite time interval. It is not necessary that there is any relationship between state controllability and output controllability. In particular:

  • A controllable system is not necessarily output controllable. For example, if matrix Template:Math and matrix Template:Mvar does not have full row rank, then some positions of the output are masked by the limiting structure of the output matrix, and therefore unachievable. Moreover, even though the system can be moved to any state in finite time, there may be some outputs that are inaccessible by all states. A trivial numerical example uses Template:Math and a Template:Mvar matrix with at least one row of zeros; thus, the system is not able to produce a non-zero output along that dimension.
  • An output controllable system is not necessarily state controllable. For example, if the dimension of the state space is greater than the dimension of the output, then there will be a set of possible state configurations for each individual output. That is, the system can have significant zero dynamics, which are trajectories of the system that are not observable from the output. Consequently, being able to drive an output to a particular position in finite time says nothing about the state configuration of the system.

For a linear continuous-time system, like the example above, described by matrices Template:Mvar, Template:Mvar, Template:Mvar, and Template:Mvar, the Template:Times Template:Dfn [CBCABCA2BCAn1BD] has full row rank (i.e. rank Template:Mvar) if and only if the system is output controllable.[1]Template:Rp

Controllability under input constraints

In systems with limited control authority, it is often no longer possible to move any initial state to any final state inside the controllable subspace. This phenomenon is caused by constraints on the input that could be inherent to the system (e.g. due to saturating actuator) or imposed on the system for other reasons (e.g. due to safety-related concerns). The controllability of systems with input and state constraints is studied in the context of reachability[5] and viability theory.[6]

Controllability in the behavioral framework

In the so-called behavioral system theoretic approach due to Willems (see people in systems and control), models considered do not directly define an input–output structure. In this framework systems are described by admissible trajectories of a collection of variables, some of which might be interpreted as inputs or outputs.

A system is then defined to be controllable in this setting, if any past part of a behavior (trajectory of the external variables) can be concatenated with any future trajectory of the behavior in such a way that the concatenation is contained in the behavior, i.e. is part of the admissible system behavior.[7]Template:Rp

Stabilizability

A slightly weaker notion than controllability is that of stabilizability. A system is said to be stabilizable when all uncontrollable state variables can be made to have stable dynamics. Thus, even though some of the state variables cannot be controlled (as determined by the controllability test above) all the state variables will still remain bounded during the system's behavior.[8]

Reachable set

Let Template:Math and Template:Math (where Template:Mvar is the set of all possible states and Template:Mvar is an interval of time). The reachable set from Template:Mvar in time Template:Mvar is defined as:[2] RT(x)={zX:xTz}, where Template:Math denotes that there exists a state transition from Template:Mvar to Template:Mvar in time Template:Mvar.

For autonomous systems the reachable set is given by: Im(R)=Im(B)+Im(AB)+....+Im(An1B), where Template:Mvar is the controllability matrix.

Template:Math theorem Template:Math proof

A related set to the reachable set is the controllable set, defined by: CT(x)={zX:zTx}. The relation between reachability and controllability is presented by Sontag:[2] Template:Olist

Example

Let the system be an n dimensional discrete-time-invariant system from the formula: ϕ(n,0,0,w)=i=1nAi1Bw(n1), where Template:Mvar (final time, initial time, state variable, restrictions) is defined as the transition matrix of a state variable Template:Mvar from an initial time Template:Math to a final time Template:Mvar with some restrictions Template:Mvar).

It follows that the future state is in Template:Math if and only if it is in Im(R), the image of the linear map Template:Mvar, defined as: R(A,B)[B AB....An1B], which maps unX.

When Template:Math and Template:Math we identify Template:Math with a Template:Times matrix whose columns are Template:Math in that order. If the system is controllable the rank of Template:Math is Template:Mvar. If this is true, the image of the linear map Template:Mvar is all of Template:Mvar. Based on that, we have: R(0)=Rk(0)=X with Xn.

See also

Notes

Template:Reflist

References

Template:Reflist

External links

Template:Authority control

fr:Représentation d'état#Systèmes linéaires

  1. a b Script error: No such module "citation/CS1".
  2. a b c d e Eduardo D. Sontag, Mathematical Control Theory: Deterministic Finite Dimensional Systems.
  3. Isidori, Alberto (1989). Nonlinear Control Systems, p. 92–3. Springer-Verlag, London. Template:ISBN.
  4. a b Script error: No such module "Citation/CS1".
  5. Script error: No such module "Citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".


Cite error: <ref> tags exist for a group named "note", but no corresponding <references group="note"/> tag was found