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=[001]๐’ž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=0n1α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๐€n1๐๐คT๐€n2๐๐คT๐€CL๐๐คT๐€CLn1

Replacing the previous equations into Template:Math yields

Δ(๐€CL)=(๐€n๐€n1๐๐คT๐€n2๐๐คT๐€CL๐๐คT๐€CLn1)(๐€CL)n++α2(๐€2๐€๐๐คT๐๐คT๐€CL)+α1(๐€๐๐คT)+α0๐ˆk=0n1αk๐€CLk=(๐€n+αn1๐€n1++α2๐€2+α1๐€+α0๐ˆ)(๐€n1๐๐คT+๐€n2๐๐คT๐€CL++๐๐คT๐€CLn1)+α2(๐€๐๐คT+๐๐คT๐€CL)α1(๐๐คT)=Δ(๐€)(๐€n1๐๐คT+๐€n2๐๐คT๐€CL++๐๐คT๐€CLn1)α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)=Δ(๐€)[๐๐€๐๐€n1๐][๐คT]

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

[๐๐€๐๐€n1๐][๐คT]=Δ(๐€)

Note that ๐’ž=[๐๐€๐๐€n1๐] 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 [001] giving

[001][๐คT]=[001]๐’ž1Δ(๐€)

Thus,

๐คT=[001]๐’ž1Δ(๐€)

Example

Consider[4]

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

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

det(s๐ˆ๐€)=(s1)(s2)1=s23s+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=[1101]

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

Finally, from Ackermann's formula

๐คT=[01][1101]([2335]+11[1112]+30๐ˆ)=[01][1101][43141457]=[01][29431457]=[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=[001](๐’ช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