**Project
# 1Linear Control Theory**

**last updated: Nov 22,1997**

**Introduction**

This project is interested in *controlling* discrete linear dynamical
systems which are of the form

** x**(k+1)
= A**x**(k) **x**(0) given

or **x**(k+1)
= A(k)**x**(k). (A varies with time) **x**(0)
given.

This work will provide an introduction to the science of control theory, an important area in several branches of engineering.

The solutions of such systems may be called "natural" solutions;
they show how the system behaves in the absence of any external effects.**
**

**Background** matrix algebra, notion of rank ( chapter 4 esp. 4.4
of Kolman, chapter 3 Bretscher, chapter 3 Leon)

*note*: in what follows, a superscript of ** ^{t}** indicates
transpose of a matrix, which in this case makes a row into a column

Here we seek to get the system to behave in a manner *we* desire,
as opposed to the way that it would behave if left alone. In trying to
accomplish this, we are trying to "control" the system.

The form that our system takes on will be

** x**(k+1)
= A **x**(k) + B**u**(k) **x**(0)
= **0**

and, given a vector** g** , we try to see if we can impose a sequence
of controls **u**(0), **u**(1), **u**(2),... so that at some time
T, **x**(T) = **g **(we use **g** for "goal")**
. **If this can be done for *any* **g **in Rn, we say the system
is ** controllable**.

**Mathematical Development**

To clarify the notation, consider the systems whose scalar form are

**example 1:**

x(k+1) = u_{1}(k)

y(k+1)
= x(k) + y(k) + 2u_{1}(k)

then in matrix form it is

** x**(k+1)
= A**x**(k) + Bu(k)

where

and also remark that there is only one control, u_{1}

**Example 2:**

x(k+1) =
x(k) + 2y(k) + z(k) + u_{1}(k) - u_{2}(k) x(0)
= 0

y(k+1)
= 2 x(k) + 4y(k) + 2z(k) + 2u_{1}(k) y(0)
= 0

z(k+1)
= 3x(k) + 6y(k) + 3z(k) + u_{1}(k) +2u_{2}(k) z(0)
= 0

then in matrix form it is

** x**(k+1)
= A**x**(k) + Bu(k)

where

In general, if **x** is in R^{n} and there are** m** controls
(so **u**(k) is an mx1 column ), then B must be an **n x m** matrix
which essentially determines the effect of the different controls on the
different states (so the number of **columns** of B is the number of
controls)

At this point, let us solve the system iteratively:

**x**(1) = A**x**(0) + B**u**(0) = B**u**(0) (
since **x**(0) = **0** )

**x**(2) = A**x**(1) + B**u**(1) = AB**u**(0) + B**u**(1)
(since **x**(1) = B**u**(0)
)

**x**(3) = A**x**(2) + B**u**(2) = A(AB**u**(0) + B**u**(1)
) + B**u**(2) = A^{2} B**u**(0) + AB**u**(1) + B**u**(2)

so it would appear that in general,

**x**(k+1) = A^{k}B**u**(0) + A^{k-1}B**u**(1)
+ A^{k-2}B**u** (2) +** . . .** +B**u**(k)

and that we have a *linear combination* of matrices of the form
**A**^{i}**B** which we would like to to yield the vector**
g**, our target. These matrices are important and central enough to deserve
a name as a group:

**Definition** The n x nm matrix

**M = (B, AB, A ^{2}B,. . . , A^{n-1}B)**

is called the ** controllability matrix** of the system. Thus
in example1, the controllability matrix would be

(the reader is encouraged to verify the details!), while in example 2, the controllability matrix would be

A major result concerns how *long* it takes to get the system under
control. It turns out that if the system can be controlled; that is, gotten
to the desired goal, **g**, then it can be done in n steps or less,
where n is the number of states in the system.

**Theorem 1 **After n units of time, the rank of M does *not*
increase

**Theorem 2 **The system is *controllable* if the rank of M
is **n**

**Example 1: **suppose our target or goal is** g** = (5 7)^{t}.
This means, based upon the above results, that we seek a control at time
0, u(0), and a control at time 1, u(1), so that

x(2) = 5 and y(2) = 7. From the iterative solution, this means u(0) and u(1) must satisfy

** g** = ABu(0) +
Bu(1)

This is a system of 2 equations and 2 unknowns whose augmented matrix can be easily shown to be

(we note that the *coefficient* part of the matrix is** M**,
the controllability matrix! Also the right hand side is the goal vector).
The final form of this matrix is

so our controls are u(1) = 5 and u(0) = -1. We check that these do, in fact, get us to the target by simulating the system:

** x**(1)
= A x(0) + Bu(0) = A **0** - B = ( -1 -2 )^{t}

and **x**(2)
= Ax(1) + Bu(1) = A(-1 -2)^{t} + 5B = (0 -3)^{t }+
5 (1 2)^{t} = ( 5 7)^{t}

so the controls did get us to our desired goal, (5 7)^{ t}

**Example 2 **Suppose our goal is (0 10 20)^{t }. Then the
previous theorems tell us that if we can get there (if the system is controllable),
then we can do it in 3 steps. The rank of the controllability matrix is
easily shown to be three, so the system *is* controllable. To find
the sequence of controls, we seek **u**(0), **u**(1) and **u**(2)
(these are 2 dimensional vectors this time) so that** x(**3**) = **(0
10 20)^{t}** . **We know that

** x**(3)
= A^{2}B**u**(0) + AB **u**(1) + B**u**(0)

so we solve the system whose augmented matrix is

(correction: the entry in the last row, 6th column is **1.333**,
or 4/3)

u_{1}(2)
= 5/2 u_{2}(2)
= 5

and the controls at times 1 and 2 must satisfy

u_{1}(1) + (1/6)u_{2}(1) + 8u_{1}(0)
+ (4/3)u_{2}(0) = 5/12

( the decimal .417 has been converted to the fraction 5/12)

We note that the system is *under*determined, and that three of
the controls may be taken arbitrarily. To keep things simple, we set

u_{2}(1) = u_{1}(0) = u_{2}(0) = 0 so
that u_{1}(1)
= 5/12

in doing so noting that this means we can actually get to the target
in ** two** steps, since we do nothing additional at time 1. To
summarize, the sequence of controls

**u**(2) = (5/2 5)^{t } **u**(1)
= (0 0)^{t} **u**(0)
= (0 5/12)^{t}

will get us to (0 10 20)^{t}
at time k= 2 , our goal.

**Example 3. **Suppose we have the same natural system as in example
2, but only **one** control and that the matrix B is

(1 1 5)^{t. `} Then the controllability
matrix is

which may be shown to have a rank of only two. Hence the system is not
controllable. For example, there is no sequence of controls that will get
us from the origin to (10 10 8)^{t}. For if there were, they would
be given by solving the system whose augmented matrix is

with final form

indicating no solution exists, so we cannot reach the desired goal of
(10 10 8)^{t}. This does not mean that there is nowhere
that we can reach; for example (9 17 29)^{t}
is reachable with many controls, the simplest being

u(0) = u(1) = 1 and u(2) = 0.

**General Algorithm**: to find controls to reach a goal of **g**,
set up the augmented matrix ( **B AB A**^{2}**B** . . . **A**^{n-1}**B**
|**g**) and reduce to RREF. The solution will yield the sequence of
controls in the order **u**(n-1) **u**(n-2) **u**(0) in that order.

**Problems**

**1. **For the system whose coefficient matrix is

**a**. for a single control system where** B** = (1 1 1)^{t
}set up the controllability matrix

**b**. determine if the system is controllable or not

**c**. augment your controllability matrix from part a with an additional
column, **A**^{3}**B **and determine whether the rank increases
or not. When you are done, add a 5th column, **A**^{4}**B**
and repeat. What part of the discussion in the material above does this
demonstrate?

**d**. let **B **be a completely arbitrary column vector and show
that the system is *still* not controllable (let **B** have __variable__
entries to accomplish this)

**2.** For the system whose coefficient matrix is

**a**. find a matrix **B** for a single control so that the system
is controllable and a second matrix** B2** so that the system is *not*
controllable

**b.** if the initial state of the system is **0**, using your
first matrix **B** from part find a sequence of controls that will bring
the system to ( 3 7 1)^{t}

**3. a**. make up a 3x3 matrix **A** which is invertible. What
does that mean its rank will be?

**b**. show, using your matrix, that the related system will *always*
be controllable (no matter what** B** is) for a single control (hint:
as in problem 1, use an arbitrary column** B** and the symbolic capability
of Maple)

**c**. What conjecture can you state based upon parts **a** and**
b** ?

**4**. Suppose the system has 4 states and 2 controls.

**a**. what size will **B** be? what size will **M** be?

**b**. if the system is controllable, how many of the controls will
we be able to specify arbitrarily? could we get to the goal *sooner*
than t =4 ?

**c**. same as parts **a **and** b** but assume there are **3**
controls instead.

**References**:

Luenberger, D.G.* Dynamic Systems*** **New York, 1979. John
Wiley and Sons.