제어이론 에서 제어 가능성(controllability) 이란 시스템의 입력 변수(input variable) 를 조절함으로써 특정한 상태 변수(state variable) 혹은 전체 시스템을 조절할 수 있는지를 나타내는 용어이다. 입력 변수를 조절함으로써 특정한 상태 변수를 조절할 수 있을 때 그 상태 변수는 제어 가능하다(controllable) 고 하며, 시스템의 모든 상태 변수가 제어 가능할 때 그 시스템은 제어 가능하다고 한다.
아래 제어 가능성 판별 방법은 선형 시불변 시스템(linear time-invariant system) 에 대해서만 적용 가능하다.
선형 시불변 시스템의 상태 변수 방정식은 다음 식과 같다.
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
{\displaystyle {\dot {\mathbf {x} }}(t)=\mathbf {A} \mathbf {x} (t)+\mathbf {B} u(t)}
y
(
t
)
=
C
x
(
t
)
+
D
u
(
t
)
{\displaystyle y(t)=\mathbf {C} \mathbf {x} (t)+Du(t)}
이러한 시스템에 대하여 제어 가능성 행렬(controllability matrix)
M
C
{\displaystyle \mathbf {M} _{C}}
는 다음 식과 같이 정의된다.
M
C
≡
[
B
A
B
A
2
B
⋯
A
n
−
1
B
]
{\displaystyle \mathbf {M} _{C}\equiv {\begin{bmatrix}\mathbf {B} &\mathbf {A} \mathbf {B} &\mathbf {A} ^{2}\mathbf {B} &\cdots &\mathbf {A} ^{n-1}\mathbf {B} \end{bmatrix}}}
여기에서
n
{\displaystyle n}
은 이 시스템의 차수이다.
이 제어 가능성 행렬의 역행렬이 존재하면 이 시스템은 제어 가능하다.
어떤 시스템이 다음과 같은 미분방정식으로 나타내어진다고 할 때,
d
n
y
(
t
)
d
t
n
+
a
n
−
1
d
n
−
1
y
(
t
)
d
t
n
−
1
+
⋯
+
a
1
d
y
(
t
)
d
t
+
a
0
y
(
t
)
=
b
n
−
1
d
n
−
1
u
(
t
)
d
t
n
−
1
+
b
n
−
2
d
n
−
2
u
(
t
)
d
t
n
−
2
+
⋯
+
b
1
d
u
(
t
)
d
t
+
b
0
u
(
t
)
{\displaystyle {d^{n}y(t) \over dt^{n}}+a_{n-1}{d^{n-1}y(t) \over dt^{n-1}}+\cdots +a_{1}{dy(t) \over dt}+a_{0}y(t)=b_{n-1}{d^{n-1}u(t) \over dt^{n-1}}+b_{n-2}{d^{n-2}u(t) \over dt^{n-2}}+\cdots +b_{1}{du(t) \over dt}+b_{0}u(t)}
이 시스템이 제어 가능하다면 다음과 같은 형태로 상태 변수 방정식을 쓸 수 있다.
x
˙
=
[
0
1
0
⋯
0
0
0
1
⋯
0
⋮
⋮
⋮
⋱
⋮
−
a
0
−
a
1
−
a
2
⋯
−
a
n
−
1
]
x
+
[
0
0
⋮
1
]
u
{\displaystyle {\dot {\mathbf {x} }}={\begin{bmatrix}0&1&0&\cdots &0\\0&0&1&\cdots &0\\\vdots &\vdots &\vdots &\ddots &\vdots \\-a_{0}&-a_{1}&-a_{2}&\cdots &-a_{n-1}\end{bmatrix}}{\mathbf {x} }+{\begin{bmatrix}0\\0\\\vdots \\1\end{bmatrix}}u}
y
=
[
b
0
b
1
⋯
b
n
−
2
b
n
−
1
]
x
{\displaystyle y={\begin{bmatrix}b_{0}&b_{1}&\cdots &b_{n-2}&b_{n-1}\end{bmatrix}}{\mathbf {x} }}
이러한 형태의 상태 변수 방정식을 제어 가능 표준형(controllable canonical form) 이라고 한다