Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Controllability
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== 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 :<math>\textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k)</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 :<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=== 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 :<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> or equivalently :<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> 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. ===Example=== 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>k=0</math>: <math>x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0)</math> 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> At time <math>k=0</math> all of the reachable states are on the line formed by the vector <math>B</math>. At time <math>k=1</math> all of the reachable states are linear combinations of <math>AB</math> and <math>B</math>. 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. ===Analogy for example of ''n'' = 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>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: *fly in a straight line *turn left or right by any amount ([[Yaw (flight)|Yaw]]) *direct the plane upwards or downwards by any amount ([[Pitch (flight)|Pitch]]) Although the 3-dimensional case is harder to visualize, the concept of controllability is still analogous.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Controllability
(section)
Add topic