Ackermann's formula

From testwiki
Jump to navigation Jump to search

Template:Short description Template:DistinguishIn control theory, Ackermann's formula provides a method for designing controllers to achieve desired system behavior by directly calculating the feedback gains needed to place the closed-loop system's poles (eigenvalues)[1] at specific locations (pole allocation problem).

These poles directly influence how the system responds to inputs and disturbances. Ackermann's formula provides a direct way to calculate the necessary adjustmentsโ€”specifically, the feedback gainsโ€”needed to move the system's poles to the target locations. This method, developed by Jรผrgen Ackermann,[2] is particularly useful for systems that don't change over time (time-invariant systems), allowing engineers to precisely control the system's dynamics, such as its stability and responsiveness.

State feedback control

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

๐ฑห™(t)=๐€๐ฑ(t)+๐๐ฎ(t)๐ฒ(t)=๐‚๐ฑ(t)

where Template:Math is the state vector, Template:Math is the input vector, and Template:Math 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)=๐‚(s๐ˆโˆ’๐€)โˆ’1๐=๐‚ adj(s๐ˆโˆ’๐€)det(s๐ˆโˆ’๐€) ๐.

where Template:Math is the determinant and Template:Math is the adjugate. Since the denominator of the right equation is given by the characteristic polynomial of Template:Math, the poles of Template:Mvar are eigenvalues of Template:Math (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 Template:Math, 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 Template:Math that will feed the state variable Template:Math into the input Template:Math.

If the system is controllable, there is always an input Template:Math such that any state Template:Math can be transferred to any other state Template:Math. With that in mind, a feedback loop can be added to the system with the control input Template:Math, such that the new dynamics of the system will be

๐ฑห™(t)=๐€๐ฑ(t)+๐[๐ซ(t)โˆ’๐ค๐ฑ(t)]=[๐€โˆ’๐๐ค]๐ฑ(t)+๐๐ซ(t),๐ฒ(t)=๐‚๐ฑ(t).

In this new realization, the poles will be dependent on the characteristic polynomial Template:Math of Template:Math, that is

ฮ”new(s)=det(s๐ˆโˆ’(๐€โˆ’๐๐ค)).

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 Template:Math, such as

๐ฎ(t)=โˆ’๐คT๐ฑ(t)๐ฑห™(t)=๐€๐ฑ(t)โˆ’๐๐คT๐ฑ(t),

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

๐คT=[0โ‹ฏ01]๐’žโˆ’1ฮ”new(๐€),

in which Template:Math is the desired characteristic polynomial evaluated at matrix Template:Math, and ๐’ž 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 ๐€CL:=(๐€โˆ’๐๐คT) is given by

ฮ”(๐€CL)=(๐€CL)n+โˆ‘k=0nโˆ’1ฮฑk๐€CLk

Calculating the powers of Template:Math results in

(๐€CL)0= (๐€โˆ’๐๐คT)0=๐ˆ(๐€CL)1= (๐€โˆ’๐๐คT)1=๐€โˆ’๐๐คT(๐€CL)2= (๐€โˆ’๐๐คT)2=๐€2โˆ’๐€๐๐คTโˆ’๐๐คT๐€+(๐๐คT)2=๐€2โˆ’๐€๐๐คTโˆ’(๐๐คT)[๐€โˆ’๐๐คT]=๐€2โˆ’๐€๐๐คTโˆ’๐๐คT๐€CLโ‹ฎ (๐€CL)n= (๐€โˆ’๐๐คT)n=๐€nโˆ’๐€nโˆ’1๐๐คTโˆ’๐€nโˆ’2๐๐คT๐€CLโˆ’โ€ฆโˆ’๐๐คT๐€CLnโˆ’1

Replacing the previous equations into Template:Math yields

ฮ”(๐€CL)=(๐€nโˆ’๐€nโˆ’1๐๐คTโˆ’๐€nโˆ’2๐๐คT๐€CLโˆ’โ€ฆโˆ’๐๐คT๐€CLnโˆ’1)โž(๐€CL)n+โ€ฆ+ฮฑ2(๐€2โˆ’๐€๐๐คTโˆ’๐๐คT๐€CL)+ฮฑ1(๐€โˆ’๐๐คT)+ฮฑ0๐ˆโžโˆ‘k=0nโˆ’1ฮฑk๐€CLk=(๐€n+ฮฑnโˆ’1๐€nโˆ’1+โ€ฆ+ฮฑ2๐€2+ฮฑ1๐€+ฮฑ0๐ˆ)โˆ’(๐€nโˆ’1๐๐คT+๐€nโˆ’2๐๐คT๐€CL+โ€ฆ+๐๐คT๐€CLnโˆ’1)+โ€ฆโˆ’ฮฑ2(๐€๐๐คT+๐๐คT๐€CL)โˆ’ฮฑ1(๐๐คT)=ฮ”(๐€)โˆ’(๐€nโˆ’1๐๐คT+๐€nโˆ’2๐๐คT๐€CL+โ€ฆ+๐๐คT๐€CLnโˆ’1)โˆ’โ€ฆโˆ’ฮฑ2(๐€๐๐คT+๐๐คT๐€CL)โˆ’ฮฑ1(๐๐คT)

Rewriting the above equation as a matrix product and omitting terms that Template:Math does not appear isolated yields

ฮ”(๐€CL)=ฮ”(๐€)โˆ’[๐๐€๐โ‹ฏ๐€nโˆ’1๐][โ‹†โ‹ฎ๐คT]

From the Cayleyโ€“Hamilton theorem, Template:Math, thus

[๐๐€๐โ‹ฏ๐€nโˆ’1๐][โ‹†โ‹ฎ๐คT]=ฮ”(๐€)

Note that ๐’ž=[๐๐€๐โ‹ฏ๐€nโˆ’1๐] is the controllability matrix of the system. Since the system is controllable, ๐’ž is invertible. Thus,

[โ‹†โ‹ฎ๐คT]=๐’žโˆ’1ฮ”(๐€)

To find Template:Math, both sides can be multiplied by the vector [0โ‹ฏ01] giving

[0โ‹ฏ01][โ‹†โ‹ฎ๐คT]=[0โ‹ฏ01]๐’žโˆ’1ฮ”(๐€)

Thus,

๐คT=[0โ‹ฏ01]๐’žโˆ’1ฮ”(๐€)

Example

Consider[4]

๐ฑห™=[1112]๐ฑ+[10]๐ฎ

We know from the characteristic polynomial of Template:Math that the system is unstable since

det(s๐ˆโˆ’๐€)=(sโˆ’1)(sโˆ’2)โˆ’1=s2โˆ’3s+2,

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

๐ค=[k1k2].

From Ackermann's formula, we can find a matrix Template:Math that will change the system so that its characteristic equation will be equal to a desired polynomial. Suppose we want ฮ”desired(s)=s2+11s+30.

Thus, ฮ”desired(๐€)=๐€2+11๐€+30๐ˆ and computing the controllability matrix yields

๐’ž=[๐๐€๐]=[1101]๐’žโˆ’1=[1โˆ’101]

Also, we have that ๐€2=[2335].

Finally, from Ackermann's formula

๐คT=[01][1โˆ’101]([2335]+11[1112]+30๐ˆ)=[01][1โˆ’101][43141457]=[01][29โˆ’431457]=[1457]

State observer design

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

๐ฑ^(n+1)=๐€๐ฑ^(n)+๐๐ฎ(n)+๐‹[๐ฒ(n)โˆ’๐ฒ^(n)]๐ฒ^(n)=๐‚๐ฑ^(n)

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

๐‹T=[00โ‹ฏ1](๐’ชT)โˆ’1ฮ”new(๐€T)

with observability matrix ๐’ช. Here it is important to note, that the observability matrix and the system matrix are transposed: ๐’ชT and Template:Math.

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

See also

References

Template:Reflist

  1. โ†‘ Modern Control System Theory and Design, 2nd Edition by Stanley M. Shinners
  2. โ†‘ Template:Cite journal
  3. โ†‘ Template:Cite book
  4. โ†‘ Template:Cite web