Ackermann's formula explained

In control theory, Ackermann's formula is a control system design method for solving the pole allocation problem for invariant-time systems by Jürgen Ackermann.[1] One of the primary problems in control system design is the creation of controllers that will change the dynamics of a system by changing the eigenvalues of the matrix representing the dynamics of the closed-loop system.[2] This is equivalent to changing the poles of the associated transfer function in the case that there is no cancellation of poles and zeros.

State feedback control

Consider a linear continuous-time invariant system with a state-space representation

x

(t)=Ax(t)+Bu(t)

y(t)=Cx(t)

where x is the state vector, u is the input vector, and A, B and C are matrices of compatible dimensions that represent the dynamics of the system. An input-output description of this system is given by the transfer function

G(s)=C(sI-A)-1B=C

\operatorname{Adj
(sI-A)}{\det(sI-A)}B.

Since the denominator of the right equation is given by the characteristic polynomial of A, the poles of G are eigenvalues of A (note that the converse is not necessarily true, since there may be cancellations between terms of the numerator and the denominator). If the system is unstable, or has a slow response or any other characteristic that does not specify the design criteria, it could be advantageous to make changes to it. The matrices A, B and C, however, may represent physical parameters of a system that cannot be altered. Thus, one approach to this problem might be to create a feedback loop with a gain K that will feed the state variable x into the input u.

If the system is controllable, there is always an input

u(t)

such that any state

x0

can be transferred to any other state

x(t)

. With that in mind, a feedback loop can be added to the system with the control input

u(t)=r(t)-Kx(t)

, such that the new dynamics of the system will be
x

(t)=Ax(t)+B[r(t)-Kx(t)]=[A-BK]x(t)+Br(t)

y(t)=Cx(t).

In this new realization, the poles will be dependent on the characteristic polynomial

\Deltanew

of

A-BK

, that is

\Deltanew(s)=\det(sI-(A-BK)).

Ackermann's formula

Computing the characteristic polynomial and choosing a suitable feedback matrix can be a challenging task, especially in larger systems. One way to make computations easier is through Ackermann's formula. For simplicity's sake, consider a single input vector with no reference parameter

r

, such as

u(t)=-kTx(t)

x(t)=Ax(t)-Bk

Tx(t),

where

kT

is a feedback vector of compatible dimensions. Ackermann's formula states that the design process can be simplified by only computing the following equation:

kT=\left[0 0  …  0 1\right]l{C}-1\Deltanew(A),

in which

\Deltanew(A)

is the desired characteristic polynomial evaluated at matrix

A

, and

l{C}

is the controllability matrix of the system.

Proof

This proof is based on Encyclopedia of Life Support Systems entry on Pole Placement Control.[3] Assume that the system is controllable. The characteristic polynomial of

ACL:=(A-BkT)

is given by

\Delta(ACL)=(ACL)n+

n-1
\sum
k=0

\alphak

k
A
CL

Calculating the powers of

ACL

results in

\begin{align} (ACL)0&=(A-BkT)0=I\\ (ACL)1&=(A-BkT)1=A-BkT\\ (ACL)2&=(A-BkT)2=A2-ABkT-BkTA+(BkT)2=A2-ABkT-(BkT)[A-BkT]=A2-ABkT-BkTACL\\ \vdots\\ (ACL)n&=(A-BkT)n=An-An-1BkT-An-2BkTACL--BkT

n-1
A
CL

\end{align}

Replacing the previous equations into

\Delta(ACL)

yields\begin\Delta(A_)& =(A^n-A^ Bk^T-A^ Bk^T A_-\cdots-Bk^T A_^)+\cdots+\alpha_2(A^2-ABk^T-Bk^T A_) + \alpha_1 (A-Bk^T)+\alpha_0I \\& = (A^n+\alpha_A^+\cdots + \alpha_2 A^2+\alpha_1 A+\alpha_0 I)-(A^Bk^+A^Bk^T A_+\cdots+Bk^TA_^) + \cdots -\alpha_2 (ABk^T+Bk^T A_)-\alpha_1(Bk^T) \\& = \Delta(A)-(A^Bk^T+A^ Bk^T A_ + \cdots + Bk^T A_^) - \cdots - \alpha_2 (ABk^T + Bk^T A_) -\alpha_1 (Bk^T)\endRewriting the above equation as a matrix product and omitting terms that

kT

does not appear isolated yields

\Delta(A_)=\Delta(A)-\left[B\ \ AB\ \ \cdots \ \ A^{n-1} B\right]\left[\begin{array}{c} \star \\ \vdots\\ k^T \end{array}\right]

From the Cayley–Hamilton theorem,

\Delta\left(ACL\right)=0

, thus

\left[B  AB   …   An-1B\right]\left[\begin{array}{c} \star\\ \vdots\\ kT \end{array}\right]=\Delta(A)

Note that

l{C}=\left[B  AB   …   An-1B\right]

is the controllability matrix of the system. Since the system is controllable,

l{C}

is invertible. Thus,

\left[\begin{array}{c} \star\\ \vdots\\ kT\end{array}\right]=l{C}-1\Delta(A)

To find

kT

, both sides can be multiplied by the vector

\left[\begin{array}{ccccc} 0&0&0&&1\end{array}\right]

giving

\left[\begin{array}{ccccc} 0&0&0&&1\end{array}\right]\left[\begin{array}{c} \star\\ \vdots\\ kT\end{array}\right]=\left[\begin{array}{ccccc} 0&0&0&&1\end{array}\right]l{C}-1\Delta(A)

Thus,

kT=\left[\begin{array}{ccccc} 0&0&0&&1\end{array}\right]l{C}-1\Delta(A)

Example

Consider[4]

x

=\left[\begin{array}{cc} 1&1\\ 1&2 \end{array}\right]x+\left[\begin{array}{c} 1\\ 0 \end{array}\right]u

We know from the characteristic polynomial of

A

that the system is unstable since

det(sI-A)=(s-1)(s-2)-1=s2-3s+2

, the matrix

A

will only have positive eigenvalues. Thus, to stabilize the system we shall put a feedback gain

K=\left[\begin{array}{cc} k1&k2\end{array}\right].

From Ackermann's formula, we can find a matrix

k

that will change the system so that its characteristic equation will be equal to a desired polynomial. Suppose we want
2+11s+30
\Delta
desired(s)=s
.

Thus,

2+11A+30I
\Delta
desired(A)=A
and computing the controllability matrix yields

l{C}=\left[\begin{array}{cc} B&AB\end{array}\right]=\left[\begin{array}{cc} 1&1\\ 0&1 \end{array}\right]

and

l{C}-1=\left[\begin{array}{cc} 1&-1\\ 0&1 \end{array}\right].

Also, we have that

A2=\left[\begin{array}{cc} 2&3\\ 3&5 \end{array}\right].

Finally, from Ackermann's formula

kT=\left[\begin{array}{cc} 0&1\end{array}\right]\left[\begin{array}{cc} 1&-1\\ 0&1 \end{array}\right]\left[\left[\begin{array}{cc} 2&3\\ 3&5 \end{array}\right]+11\left[\begin{array}{cc} 1&1\\ 1&2 \end{array}\right]+30I\right]

kT=\left[\begin{array}{cc} 0&1\end{array}\right]\left[\begin{array}{cc} 1&-1\\ 0&1 \end{array}\right]\left[\begin{array}{cc} 43&14\\ 14&57 \end{array}\right]=\left[\begin{array}{cc} 0&1\end{array}\right]\left[\begin{array}{cc} 29&-43\\ 14&57 \end{array}\right]

kT=\left[\begin{array}{cc} 14&57\end{array}\right]

State observer design

Ackermann's formula can also be used for the design of state observers. Consider the linear discrete-time observed system

\hat{x}(n+1)=A\hat{x}(n)+Bu(n)+L[y(n)-\hat{y}(n)]

\hat{y}(n)=C\hat{x}(n)

with observer gain L. Then Ackermann's formula for the design of state observers is noted as

L\top=\left[0 0  …  0 1\right](l{O}\top)-1

\top
\Delta
new(A

)

l{O}

. Here it is important to note, that the observability matrix and the system matrix are transposed:

l{O}\top

and

A\top

.

Ackermann's formula can also be applied on continuous-time observed systems.

See also

External links

Notes and References

  1. Ackermann. J.. 1972. Der Entwurf linearer Regelungssysteme im Zustandsraum. At - Automatisierungstechnik. 20. 1–12. 297–300 . 10.1524/auto.1972.20.112.297. 111291582. 2196-677X.
  2. Modern Control System Theory and Design, 2nd Edition by Stanley M. Shinners
  3. Book: Ackermann, J. E.. Control systems, robotics and automation. 2009. Eolss Publishers Co. Ltd. Unbehauen, Heinz.. 9781848265905. Oxford. Pole Placement Control. 703352455.
  4. Web site: Topic #13 : 16.31 Feedback Control. Web.mit.edu . 2017-07-06.