13 KiB
| title | chunk | source | category | tags | date_saved | instance |
|---|---|---|---|---|---|---|
| Ackermann's formula | 1/3 | https://en.wikipedia.org/wiki/Ackermann's_formula | reference | science, encyclopedia | 2026-05-05T13:34:54.532302+00:00 | kb-cron |
In 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) 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, 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
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
y
(
t
)
=
C
x
(
t
)
{\displaystyle {\begin{aligned}\mathbf {\dot {x}} (t)&=\mathbf {Ax} (t)+\mathbf {Bu} (t)\\\mathbf {y} (t)&=\mathbf {Cx} (t)\end{aligned}}}
where x is the state vector, u is the input vector, and A, B, 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
(
s
I
−
A
)
−
1
B
=
C
adj
(
s
I
−
A
)
det
(
s
I
−
A
)
B
.
{\displaystyle {\begin{aligned}G(s)&=\mathbf {C} (s\mathbf {I} -\mathbf {A} )^{-1}\mathbf {B} \\[4pt]&=\mathbf {C} \ {\frac {\operatorname {adj} (s\mathbf {I} -\mathbf {A} )}{\det(s\mathbf {I} -\mathbf {A} )}}\ \mathbf {B} .\end{aligned}}}
where det is the determinant and adj is the adjugate. 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, 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
)
=
A
x
(
t
)
+
B
[
r
(
t
)
−
k
x
(
t
)
]
=
[
A
−
B
k
]
x
(
t
)
+
B
r
(
t
)
,
y
(
t
)
=
C
x
(
t
)
.
{\displaystyle {\begin{aligned}\mathbf {\dot {x}} (t)&=\mathbf {Ax} (t)+\mathbf {B} [\mathbf {r} (t)-\mathbf {kx} (t)]\\[2pt]&=[\mathbf {A} -\mathbf {Bk} ]\mathbf {x} (t)+\mathbf {Br} (t),\\[4pt]\mathbf {y} (t)&=\mathbf {Cx} (t).\end{aligned}}}
In this new realization, the poles will be dependent on the characteristic polynomial Δnew of A − Bk, that is
Δ
new
(
s
)
=
det
(
s
I
−
(
A
−
B
k
)
)
.
{\displaystyle \Delta _{\text{new}}(s)=\det {\bigl (}s\mathbf {I} -(\mathbf {A} -\mathbf {Bk} ){\bigr )}.}
== 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
)
=
−
k
T
x
(
t
)
x
˙
(
t
)
=
A
x
(
t
)
−
B
k
T
x
(
t
)
,
{\displaystyle {\begin{aligned}\mathbf {u} (t)&=-\mathbf {k} ^{\rm {T}}\mathbf {x} (t)\\[2pt]\mathbf {\dot {x}} (t)&=\mathbf {Ax} (t)-\mathbf {Bk} ^{\rm {T}}\mathbf {x} (t),\end{aligned}}}
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:
k
T
=
[
0
⋯
0
1
]
C
−
1
Δ
new
(
A
)
,
{\displaystyle \mathbf {k} ^{\rm {T}}={\begin{bmatrix}0&\cdots &0&1\end{bmatrix}}\,{\mathcal {C}}^{-1}\Delta _{\text{new}}(\mathbf {A} ),}
in which Δnew(A) is the desired characteristic polynomial evaluated at matrix A, and
C
{\displaystyle {\mathcal {C}}}
is the controllability matrix of the system.
=== Proof === This proof is based on Encyclopedia of Life Support Systems entry on Pole Placement Control. Assume that the system is controllable. The characteristic polynomial of
A
C
L
:=
(
A
−
B
k
T
)
{\displaystyle \mathbf {A} _{\rm {CL}}:=(\mathbf {A} -\mathbf {Bk} ^{\rm {T}})}
evaluated at
A
C
L
{\displaystyle \mathbf {A} _{\rm {CL}}}
is given by
Δ
(
A
C
L
)
=
(
A
C
L
)
n
+
∑
k
=
0
n
−
1
α
k
A
C
L
k
{\displaystyle \Delta (\mathbf {A} _{\rm {CL}})=(\mathbf {A} _{\rm {CL}})^{n}+\sum _{k=0}^{n-1}\alpha _{k}\mathbf {A} _{\rm {CL}}^{k}}
Calculating the powers of ACL results in