# Controllability

Controllability is an important property of a control system and plays a crucial role in many control problems, such as stabilization of unstable systems by feedback, or optimal control.
Controllability and observability are dual aspects of the same problem.
Roughly, the concept of controllability denotes the ability to move a system around in its entire configuration space using only certain admissible manipulations. The exact definition varies slightly within the framework or the type of models applied.
The following are examples of variations of controllability notions which have been introduced in the systems and control literature:
* State controllability
* Output controllability
* Controllability in the behavioural framework

## 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.
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.$^{:737}$
That is, we can informally define controllability as follows: If for any initial state $\mathbf {x_{0}}$ and any final state $\mathbf {x_{f}}$ there exists an input sequence to transfer the system state from $\mathbf {x_{0}}$ to $\mathbf {x_{f}}$ 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 ${\dot {\mathbf {x} }}=\mathbf {A} \mathbf {x} (t)+\mathbf {B} \mathbf {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 $\mathbf {x}$, then the system cannot achieve controllability. It may be necessary to modify $\mathbf {A}$ and $\mathbf {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 arbitrary paths can be made through state space, only that there exists a path within the prescribed finite time interval.

## Continuous linear systems

Consider the continuous linear system
    ${\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).$
There exists a control $u$ from state $x_{0}$ at time $t_{0}$ to state $x_{1}$ at time $t_{1}>t_{0}$ if and only if $x_{1}-\phi (t_{0},t_{1})x_{0}$ is in the column space of
    $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$
where $\phi$ is the state-transition matrix, and $W(t_{0},t_{1})$ is the Controllability Gramian.
In fact, if $\eta _{0}$ is a solution to $W(t_{0},t_{1})\eta =x_{1}-\phi (t_{0},t_{1})x_{0}$ then a control given by $u(t)=-B(t)^{T}\phi (t_{0},t)^{T}\eta _{0}$ would make the desired transfer.
Note that the matrix $W$ defined as above has the following properties:
* $W(t_{0},t_{1})$ is symmetric
* $W(t_{0},t_{1})$ is positive semidefinite for $t_{1}\geq t_{0}$
* $W(t_{0},t_{1})$ satisfies the linear matrix differential equation
       ${\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$
* $W(t_{0},t_{1})$ satisfies the equation
       $W(t_{0},t_{1})=W(t_{0},t)+\phi (t_{0},t)W(t,t_{1})\phi (t_{0},t)^{T}$

## 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 $\Sigma$ smoothly varying in an interval $[t_{0},t]$ of $\mathbb {R}$:
    ${\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).$
The state-transition matrix $\phi$ is also smooth. Introduce the n x m matrix-valued function $M_{0}(t)=\phi (t_{0},t)B(t)$ and define
    $M_{k}(t)$ = ${\frac {\mathrm {d^{k}} M_{0}}{\mathrm {d} t^{k}}}(t),k\geqslant 1$.
Consider the matrix of matrix-valued functions obtained by listing all the columns of the $M_{i}$, $i=0,1,\ldots ,k$:
$M^{(k)}(t):=\left[M_{0}(t),\ldots ,M_{k}(t)\right]$.
If there exists a ${\bar {t}}\in [t_{0},t]$ and a nonnegative integer k such that $\operatorname {rank} M^{(k)}({\bar {t}})=n$, then $\Sigma$ is controllable.
If $\Sigma$ is also analytically varying in an interval $[t_{0},t]$, then $\Sigma$ is controllable on every nontrivial subinterval of $[t_{0},t]$ if and only if there exists a ${\bar {t}}\in [t_{0},t]$ and a nonnegative integer k such that $\operatorname {rank} M^{(k)}(t_{i})=n$.
The above methods can still be complex to check, since it involves the computation of the state-transition matrix $\phi$. Another equivalent condition is defined as follow. Let $B_{0}(t)=B(t)$, and for each $i\geq 0$, define
    $B_{i+1}(t)$= $A(t)B_{i}(t)-{\frac {\mathrm {d} }{\mathrm {d} t}}B_{i}(t).$
In this case, each $B_{i}$ is obtained directly from the data $(A(t),B(t)).$ The system is controllable if there exists a ${\bar {t}}\in [t_{0},t]$ and a nonnegative integer $k$ such that ${\textrm {rank}}(\left[B_{0}({\bar {t}}),B_{1}({\bar {t}}),\ldots ,B_{k}({\bar {t}})\right])=n$.

### Example

Consider a system varying analytically in $(-\infty ,\infty )$ and matrices
$A(t)={\begin{bmatrix}t&1&0\\0&t^{3}&0\\0&0&t^{2}\end{bmatrix}}$, $B(t)={\begin{bmatrix}0\\1\\1\end{bmatrix}}.$
Then $[B_{0}(0),B_{1}(0),B_{2}(0),B_{3}(0)]={\begin{bmatrix}0&1&0&-1\\1&0&0&0\\1&0&0&2\end{bmatrix}}$ and since this matrix has rank 3, the system is controllable on every nontrivial interval of $\mathbb {R}$.

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

Consider the continuous linear time-invariant system
    ${\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {u} (t)$
    $\mathbf {y} (t)=C\mathbf {x} (t)+D\mathbf {u} (t)$
where
    $\mathbf {x}$ is the $n\times 1$ "state vector",
    $\mathbf {y}$ is the $m\times 1$ "output vector",
    $\mathbf {u}$ is the $r\times 1$ "input (or control) vector",
    $A$ is the $n\times n$ "state matrix",
    $B$ is the $n\times r$ "input matrix",
    $C$ is the $m\times n$ "output matrix",
    $D$ is the $m\times r$ "feedthrough (or feedforward) matrix".
The $n\times nr$ controllability matrix is given by
    $R={\begin{bmatrix}B&AB&A^{2}B&...&A^{n-1}B\end{bmatrix}}$
The system is controllable if the controllability matrix has full row rank (i.e. $\operatorname {rank} (R)=n$).

## Discrete linear time-invariant (LTI) systems

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

### Derivation

Given the state ${\textbf {x}}(0)$ at an initial time, arbitrarily denoted as k=0, the state equation gives ${\textbf {x}}(1)=A{\textbf {x}}(0)+B{\textbf {u}}(0),$ then ${\textbf {x}}(2)=A{\textbf {x}}(1)+B{\textbf {u}}(1)=A^{2}{\textbf {x}}(0)+AB{\textbf {u}}(0)+B{\textbf {u}}(1),$ and so on with repeated back-substitutions of the state variable, eventually yielding
    ${\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)$
or equivalently
    ${\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}.$
Imposing any desired value of the state vector ${\textbf {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.

### Example

For example, consider the case when $n=2$ and $r=1$ (i.e. only one control input). Thus, $B$ and $AB$ are $2\times 1$ vectors. If ${\begin{bmatrix}B&AB\end{bmatrix}}$ has rank 2 (full rank), and so $B$ and $AB$ are linearly independent and span the entire plane. If the rank is 1, then $B$ and $AB$ are collinear and do not span the plane.
Assume that the initial state is zero.
At time $k=0$: $x(1)=A{\textbf {x}}(0)+B{\textbf {u}}(0)=B{\textbf {u}}(0)$
At time $k=1$: $x(2)=A{\textbf {x}}(1)+B{\textbf {u}}(1)=AB{\textbf {u}}(0)+B{\textbf {u}}(1)$
At time $k=0$ all of the reachable states are on the line formed by the vector $B$. At time $k=1$ all of the reachable states are linear combinations of $AB$ and $B$. If the system is controllable then these two vectors can span the entire plane and can be done so for time $k=2$. 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 $n$, but the case of $n=2$ is easier to visualize.

### Analogy for example of n = 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 $C$ 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 $C$ is 2.
If you change this example to $n=3$ 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
    ${\dot {\mathbf {x} }}=\mathbf {f(x)} +\sum _{i=1}^{m}\mathbf {g} _{i}(\mathbf {x} )u_{i}$
are locally accessible about $x_{0}$ if the accessibility distribution $R$ spans $n$ space, when $n$ equals the rank of $x$ and R is given by:
    $R={\begin{bmatrix}\mathbf {g} _{1}&\cdots &\mathbf {g} _{m}&[\mathrm {ad} _{\mathbf {g} _{i}}^{k}\mathbf {\mathbf {g} _{j}} ]&\cdots &[\mathrm {ad} _{\mathbf {f} }^{k}\mathbf {\mathbf {g} _{i}} ]\end{bmatrix}}.$
Here, $[\mathrm {ad} _{\mathbf {f} }^{k}\mathbf {\mathbf {g} } ]$ is the repeated Lie bracket operation defined by
    $[\mathrm {ad} _{\mathbf {f} }^{k}\mathbf {\mathbf {g} } ]={\begin{bmatrix}\mathbf {f} &\cdots &j&\cdots &\mathbf {[\mathbf {f} ,\mathbf {g} ]} \end{bmatrix}}.$
The controllability matrix for linear systems in the previous section can in fact be derived from this equation.

## Null Controllability

If a discrete control system is null-controllable, it means that there exists a controllable $u(k)$ so that $x(k_{0})=0$ for some initial state $x(0)=x_{0}$. 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

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:
* A controllable system is not necessarily output controllable. For example, if matrix D = 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.
* 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 $A$, $B$, $C$, and $D$, the $m\times (n+1)r$ output controllability matrix
    ${\begin{bmatrix}CB&CAB&CA^{2}B&\cdots &CA^{n-1}B&D\end{bmatrix}}$
has full row rank (i.e. rank $m$) if and only if the system is output controllable.$^{:742}$

## 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 and viability theory.

## 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.$^{:151}$

## 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.

## 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:
$R^{T}{(x)}=\left\{z\in X:x{\overset {T}{\rightarrow }}z\right\}$, where xT→z denotes that there exists a state transition from x to z in time T.
For autonomous systems the reachable set is given by :
    $\mathrm {Im} (R)=\mathrm {Im} (B)+\mathrm {Im} (AB)+....+\mathrm {Im} (A^{n-1}B)$,
where R is the controllability matrix.
In terms of the reachable set, the system is controllable if and only if $\mathrm {Im} (R)=\mathbb {R} ^{n}$.
Proof
We have the following equalities:
    $R=[B\ AB....A^{n-1}B]$
    $\mathrm {Im} (R)=\mathrm {Im} ([B\ AB....A^{n-1}B])$
    $\mathrm {dim(Im} (R))=\mathrm {rank} (R)$
Considering that the system is controllable, the columns of R should be linearly independent. So:
    $\mathrm {dim(Im} (R))=n$
    $\mathrm {rank} (R)=n$
    $\mathrm {Im} (R)=\mathbb {R} ^{n}\quad \blacksquare$
A related set to the reachable set is the controllable set, defined by:
    $C^{T}{(x)}=\left\{z\in X:z{\overset {T}{\rightarrow }}x\right\}$.
The relation between reachability and controllability is presented by Sontag:
(a) An n-dimensional discrete linear system is controllable if and only if:
       $R(0)=R^{k}{(0)=X}$ (Where X is the set of all possible values or states of x and k is the time step).
(b) A continuous-time linear system is controllable if and only if:
       $R(0)=R^{e}{(0)=X}$ for all e>0.
if and only if $C(0)=C^{e}{(0)=X}$ for all e>0.
Example Let the system be an n dimensional discrete-time-invariant system from the formula:
       $\phi (n,0,0,w)=\sum \limits _{i=1}^{n}A^{i-1}Bw(n-1)$ (Where $\phi$(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).
It follows that the future state is in $R^{k}{(0)}$ if and only if it is in $\mathrm {Im} (R)$, the image of the linear map $R$, defined as:
       $R(A,B)\triangleq [B\ AB....A^{n-1}B]$,
which maps,
       $u^{n}\mapsto X$
When $u=K^{m}$ and $X=K^{n}$ we identify $R(A,B)$ with a $n\times nm$ matrix whose columns are $B,\ AB,....,A^{n-1}B$ in that order. If the system is controllable the rank of $[B\ AB....A^{n-1}B]$ is $n$. If this is true, the image of the linear map $R$ is all of $X$. Based on that, we have:
       $R(0)=R^{k}{(0)=X}$ with $X\in \mathbb {R} ^{n}$.