可控制性 (Controllability)是控制系统 中的重要特性,在许多控制问题中都很重要,例如是否可以透过回授 稳定一个本身不稳定的系统,或是最佳控制 的相关问题。
可控制性及可观测性 是同一个问题上的对偶 概念。
简单来说,可控制性是指是否可以透过一些允许的程序让系统调整到其组态空间内的任何一个组态。随着其系统模型或是框架的不同,定义也会略有改变。
以下是一些在系统或是控制文献中出现过的可控制性定义:
状态可控制性(State controllability)
输出可控制性(Output controllability)
行为框架中的可控制性(Controllability in the behavioural framework)
状态可控制性是指在确定性系统 的状态空间 内,也就是系统所有状态变数数值组成的集合,可以完全描述系统在任一时间以下的状态。特别是不需要有关系统以往的资讯,只要知道目前的状态,以后所有的状态都是已知的。
完全状态可控制性(有时也称为状态可控制性)是指外在输入(由控制变数组成的向量)可以在有限时间内将系统由任意状态改变为另一个状态[ 1] :737 。
可控制性表示可以使系统到达任意状态,但不表示系统可以维持在该状态,有可能系统只是在该状态停留短暂间而已。
考虑连续时间下的线性系统 [ note 1]
x
˙
(
t
)
=
A
(
t
)
x
(
t
)
+
B
(
t
)
u
(
t
)
{\displaystyle {\dot {\mathbf {x} }}(t)=A(t)\mathbf {x} (t)+B(t)\mathbf {u} (t)}
y
(
t
)
=
C
(
t
)
x
(
t
)
+
D
(
t
)
u
(
t
)
.
{\displaystyle \mathbf {y} (t)=C(t)\mathbf {x} (t)+D(t)\mathbf {u} (t).}
存在一个控制
u
{\displaystyle u}
使系统在时间
t
0
{\displaystyle t_{0}}
至时间
t
1
{\displaystyle t_{1}}
,由状态
x
0
{\displaystyle x_{0}}
改变为状态
x
1
{\displaystyle x_{1}}
,当且仅当
x
1
−
ϕ
(
t
0
,
t
1
)
x
0
{\displaystyle x_{1}-\phi (t_{0},t_{1})x_{0}}
是以下的列空间 中
W
(
t
0
,
t
1
)
=
∫
t
0
t
1
ϕ
(
t
0
,
t
)
B
(
t
)
B
(
t
)
T
ϕ
(
t
0
,
t
)
T
d
t
{\displaystyle W(t_{0},t_{1})=\int _{t_{0}}^{t_{1}}\phi (t_{0},t)B(t)B(t)^{T}\phi (t_{0},t)^{T}dt}
其中
ϕ
{\displaystyle \phi }
是状态转移矩阵 ,而
W
(
t
0
,
t
1
)
{\displaystyle W(t_{0},t_{1})}
是可控制性格拉姆矩阵 。
其实上,若
η
0
{\displaystyle \eta _{0}}
是
W
(
t
0
,
t
1
)
η
=
x
1
−
ϕ
(
t
0
,
t
1
)
x
0
{\displaystyle W(t_{0},t_{1})\eta =x_{1}-\phi (t_{0},t_{1})x_{0}}
的解,则控制
u
(
t
)
=
−
B
(
t
)
T
ϕ
(
t
0
,
t
)
T
η
0
{\displaystyle u(t)=-B(t)^{T}\phi (t_{0},t)^{T}\eta _{0}}
即为所需的控制输入。
注意上述定义的
W
{\displaystyle W}
有以下的特质:
W
(
t
0
,
t
1
)
{\displaystyle W(t_{0},t_{1})}
是对称矩阵
W
(
t
0
,
t
1
)
{\displaystyle W(t_{0},t_{1})}
是正定矩阵 ,
t
1
≥
t
0
{\displaystyle t_{1}\geq t_{0}}
W
(
t
0
,
t
1
)
{\displaystyle W(t_{0},t_{1})}
满足以下的线性矩阵微分方程
d
d
t
W
(
t
,
t
1
)
=
A
(
t
)
W
(
t
,
t
1
)
+
W
(
t
,
t
1
)
A
(
t
)
T
−
B
(
t
)
B
(
t
)
T
,
W
(
t
1
,
t
1
)
=
0
{\displaystyle {\frac {d}{dt}}W(t,t_{1})=A(t)W(t,t_{1})+W(t,t_{1})A(t)^{T}-B(t)B(t)^{T},\;W(t_{1},t_{1})=0}
W
(
t
0
,
t
1
)
{\displaystyle W(t_{0},t_{1})}
满足以下方程
W
(
t
0
,
t
1
)
=
W
(
t
0
,
t
)
+
ϕ
(
t
0
,
t
)
W
(
t
,
t
1
)
ϕ
(
t
0
,
t
)
T
{\displaystyle W(t_{0},t_{1})=W(t_{0},t)+\phi (t_{0},t)W(t,t_{1})\phi (t_{0},t)^{T}}
[ 2]
可控制性格拉姆矩阵和状态转移矩阵的积分有关。另外有一个较简单,类似在非时变系统下的可控制性判断方式。
考虑连续时间的线性系统
Σ
{\displaystyle \Sigma }
,在时间区间
[
t
0
,
t
]
{\displaystyle [t_{0},t]}
内光滑变化:
x
˙
(
t
)
=
A
(
t
)
x
(
t
)
+
B
(
t
)
u
(
t
)
{\displaystyle {\dot {\mathbf {x} }}(t)=A(t)\mathbf {x} (t)+B(t)\mathbf {u} (t)}
y
(
t
)
=
C
(
t
)
x
(
t
)
+
D
(
t
)
u
(
t
)
.
{\displaystyle \mathbf {y} (t)=C(t)\mathbf {x} (t)+D(t)\mathbf {u} (t).}
其状态转移矩阵也是光滑的,引入n x m的矩阵函数
M
0
(
t
)
=
ϕ
(
t
0
,
t
)
B
(
t
)
{\displaystyle M_{0}(t)=\phi (t_{0},t)B(t)}
,并且定义
M
k
(
t
)
{\displaystyle M_{k}(t)}
=
d
k
M
0
d
t
k
(
t
)
,
k
⩾
1
{\displaystyle {\frac {\mathrm {d^{k}} M_{0}}{\mathrm {d} t^{k}}}(t),k\geqslant 1}
.
考虑一个由
M
i
{\displaystyle M_{i}}
,
i
=
0
,
1
,
…
,
k
{\displaystyle i=0,1,\ldots ,k}
组成的矩阵:
M
(
k
)
(
t
)
:=
[
M
0
(
t
)
,
…
,
M
k
(
t
)
]
{\displaystyle M^{(k)}(t):=\left[M_{0}(t),\ldots ,M_{k}(t)\right]}
.
若存在
t
¯
∈
[
t
0
,
t
]
{\displaystyle {\bar {t}}\in [t_{0},t]}
以及非负整数k使得
rank
M
(
k
)
(
t
¯
)
=
n
{\displaystyle \operatorname {rank} M^{(k)}({\bar {t}})=n}
,则
Σ
{\displaystyle \Sigma }
为可控制系统[ 3] 。
若
Σ
{\displaystyle \Sigma }
在区间
[
t
0
,
t
]
{\displaystyle [t_{0},t]}
内也是解析变化,则
Σ
{\displaystyle \Sigma }
在
[
t
0
,
t
]
{\displaystyle [t_{0},t]}
中的每个非平凡子区间内可控制,当且仅当存在
t
¯
∈
[
t
0
,
t
]
{\displaystyle {\bar {t}}\in [t_{0},t]}
及非负变数使得
r
a
n
k
{\displaystyle rank}
M
(
k
)
(
t
i
)
=
n
{\displaystyle M^{(k)}(t_{i})=n}
[ 3] 。
上述方式仍然很不容易确认,因为包括了状态转移矩阵
ϕ
{\displaystyle \phi }
的计算。另一个等效的条件如下:令
B
0
(
t
)
=
B
(
t
)
{\displaystyle B_{0}(t)=B(t)}
,对于每一个
i
{\displaystyle i}
≥
{\displaystyle \geq }
0,定义
B
i
+
1
(
t
)
{\displaystyle B_{i+1}(t)}
=
A
(
t
)
B
(
t
)
−
d
d
t
B
i
(
t
)
.
{\displaystyle A(t)B(t)-{\frac {\mathrm {d} }{\mathrm {d} t}}B_{i}(t).}
此例中,每一个
B
i
{\displaystyle B_{i}}
是直接由
(
A
(
t
)
,
B
(
t
)
)
{\displaystyle (A(t),B(t))}
求得。此系统有稳定性的充份必要条件是存在
t
¯
∈
[
t
0
,
t
]
{\displaystyle {\bar {t}}\in [t_{0},t]}
及非负整数
k
{\displaystyle k}
使得下式成立:
rank
(
[
B
0
(
t
¯
)
,
B
1
(
t
¯
)
,
…
,
B
k
(
t
¯
)
]
)
=
n
{\displaystyle {\textrm {rank}}(\left[B_{0}({\bar {t}}),B_{1}({\bar {t}}),\ldots ,B_{k}({\bar {t}})\right])=n}
[ 3]
考虑一个在
(
−
∞
,
∞
)
{\displaystyle (-\infty ,\infty )}
内解析变化的系统及矩阵
A
(
t
)
=
[
t
1
0
0
t
3
0
0
0
t
2
]
{\displaystyle A(t)={\begin{bmatrix}t&1&0\\0&t^{3}&0\\0&0&t^{2}\end{bmatrix}}}
,
B
(
t
)
=
[
0
1
1
]
.
{\displaystyle B(t)={\begin{bmatrix}0\\1\\1\end{bmatrix}}.}
则
[
B
0
(
0
)
,
B
1
(
0
)
,
B
2
(
0
)
,
B
3
(
0
)
]
=
[
0
1
0
−
1
1
0
0
0
1
0
0
2
]
{\displaystyle [B_{0}(0),B_{1}(0),B_{2}(0),B_{3}(0)]={\begin{bmatrix}0&1&0&-1\\1&0&0&0\\1&0&0&2\end{bmatrix}}}
,其矩阵秩为3,因此在
R
{\displaystyle \mathbb {R} }
之内的每一个非平凡区间都是可控制的。
考虑以下的连续线性时不变系统
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
{\displaystyle {\dot {\mathbf {x} }}(t)=A\mathbf {x} (t)+B\mathbf {u} (t)}
y
(
t
)
=
C
x
(
t
)
+
D
u
(
t
)
{\displaystyle \mathbf {y} (t)=C\mathbf {x} (t)+D\mathbf {u} (t)}
其中
x
{\displaystyle \mathbf {x} }
为
n
×
1
{\displaystyle n\times 1}
状态向量
y
{\displaystyle \mathbf {y} }
为
m
×
1
{\displaystyle m\times 1}
输出向量
u
{\displaystyle \mathbf {u} }
为
r
×
1
{\displaystyle r\times 1}
输入(或控制)向量
A
{\displaystyle A}
为
n
×
n
{\displaystyle n\times n}
状态矩阵
B
{\displaystyle B}
为
n
×
r
{\displaystyle n\times r}
输入矩阵
C
{\displaystyle C}
为
m
×
n
{\displaystyle m\times n}
输出矩阵
D
{\displaystyle D}
为
m
×
r
{\displaystyle m\times r}
前馈矩阵
n
×
n
r
{\displaystyle n\times nr}
可控制矩阵为
R
=
[
B
A
B
A
2
B
.
.
.
A
n
−
1
B
]
{\displaystyle R={\begin{bmatrix}B&AB&A^{2}B&...&A^{n-1}B\end{bmatrix}}}
系统可控制的充份必要条件是其可控制矩阵为满秩 (也就是
rank
(
R
)
=
n
{\displaystyle \operatorname {rank} (R)=n}
)。
针对离散时间,状态方程如下的线性状态空间系统(也就是时间变数
k
∈
Z
{\displaystyle k\in \mathbb {Z} }
):
x
(
k
+
1
)
=
A
x
(
k
)
+
B
u
(
k
)
{\displaystyle {\textbf {x}}(k+1)=A{\textbf {x}}(k)+B{\textbf {u}}(k)}
其中
A
{\displaystyle A}
是
n
×
n
{\displaystyle n\times n}
的矩阵,
B
{\displaystyle B}
是
n
×
r
{\displaystyle n\times r}
的矩阵,(也就是
u
{\displaystyle \mathbf {u} }
是
r
{\displaystyle r}
个输入,整理成
r
×
1
{\displaystyle r\times 1}
的向量)。测试其可控制性的方式为以下
n
×
n
r
{\displaystyle n\times nr}
矩阵
C
=
[
B
A
B
A
2
B
⋯
A
n
−
1
B
]
{\displaystyle {\mathcal {C}}={\begin{bmatrix}B&AB&A^{2}B&\cdots &A^{n-1}B\end{bmatrix}}}
有全秩(也就是
rank
(
C
)
=
n
{\displaystyle \operatorname {rank} ({\mathcal {C}})=n}
)。因此,若此系统可控制,
C
{\displaystyle {\mathcal {C}}}
会有
n
{\displaystyle n}
个线性独立 的列;若
C
{\displaystyle {\mathcal {C}}}
中有
n
{\displaystyle n}
个列是线性独立的,
n
{\displaystyle n}
个状态中的每一个都可以用适当的输入变数
u
(
k
)
{\displaystyle u(k)}
来达到。
假设在初始时间(表示为k =0)状态
x
(
0
)
{\displaystyle {\textbf {x}}(0)}
,状态方程可以得到
x
(
1
)
=
A
x
(
0
)
+
B
u
(
0
)
{\displaystyle {\textbf {x}}(1)=A{\textbf {x}}(0)+B{\textbf {u}}(0)}
,则
x
(
2
)
=
A
x
(
1
)
+
B
u
(
1
)
=
A
2
x
(
0
)
+
A
B
u
(
0
)
+
B
u
(
1
)
{\displaystyle {\textbf {x}}(2)=A{\textbf {x}}(1)+B{\textbf {u}}(1)=A^{2}{\textbf {x}}(0)+AB{\textbf {u}}(0)+B{\textbf {u}}(1)}
,以此类推,利用反复将状态变数反向代回,可以得到
x
(
n
)
=
B
u
(
n
−
1
)
+
A
B
u
(
n
−
2
)
+
⋯
+
A
n
−
1
B
u
(
0
)
+
A
n
x
(
0
)
{\displaystyle {\textbf {x}}(n)=B{\textbf {u}}(n-1)+AB{\textbf {u}}(n-2)+\cdots +A^{n-1}B{\textbf {u}}(0)+A^{n}{\textbf {x}}(0)}
或者等效的
x
(
n
)
−
A
n
x
(
0
)
=
[
B
A
B
⋯
A
n
−
1
B
]
[
u
T
(
n
−
1
)
u
T
(
n
−
2
)
⋯
u
T
(
0
)
]
T
.
{\displaystyle {\textbf {x}}(n)-A^{n}{\textbf {x}}(0)=[B\,\,AB\,\,\cdots \,\,A^{n-1}B][{\textbf {u}}^{T}(n-1)\,\,{\textbf {u}}^{T}(n-2)\,\,\cdots \,\,{\textbf {u}}^{T}(0)]^{T}.}
将状态向量
x
(
n
)
{\displaystyle {\textbf {x}}(n)}
想要的值放在左侧时,可解出一连串控制向量的条件是当且仅当等号右侧的第一个矩阵有全秩。
例如,考虑
n
=
2
{\displaystyle n=2}
和
r
=
1
{\displaystyle r=1}
的例子(只有一个控制输入)。因此,
B
{\displaystyle B}
和
A
B
{\displaystyle AB}
是
2
×
1
{\displaystyle 2\times 1}
的向量。若
[
B
A
B
]
{\displaystyle {\begin{bmatrix}B&AB\end{bmatrix}}}
为秩2(满秩),因此
B
{\displaystyle B}
和
A
B
{\displaystyle AB}
为线性独立 ,可以生成整个平面。若秩为1,则
B
{\displaystyle B}
和
A
B
{\displaystyle AB}
平行,无法生成整个平面。
假设初始状态为0。
在时间
k
=
0
{\displaystyle k=0}
时:
x
(
1
)
=
A
x
(
0
)
+
B
u
(
0
)
=
B
u
(
0
)
{\displaystyle x(1)=A{\textbf {x}}(0)+B{\textbf {u}}(0)=B{\textbf {u}}(0)}
在时间
k
=
1
{\displaystyle k=1}
时:
x
(
2
)
=
A
x
(
1
)
+
B
u
(
1
)
=
A
B
u
(
0
)
+
B
u
(
1
)
{\displaystyle x(2)=A{\textbf {x}}(1)+B{\textbf {u}}(1)=AB{\textbf {u}}(0)+B{\textbf {u}}(1)}
在时间
k
=
0
{\displaystyle k=0}
时,所有可到达的状态是在由向量
B
{\displaystyle B}
组成的直线上。
在时间
k
=
1
{\displaystyle k=1}
时,所有可到达的状态是在由向量
A
B
{\displaystyle AB}
和
B
{\displaystyle B}
组成的线性组合上。
若系统可控制,这二个向量可以生成整个平面,在时间
k
=
2
{\displaystyle k=2}
时即可完成。
前面有假设初始状态为0,此一假设只是为了推导方便,若可以从原点到达所有的状态,就可以由任意的初始状态到所有的状态(只要进行坐标平移)
上述例子对于所有正整数的
n
{\displaystyle n}
都成立,不过
n
=
2
{\displaystyle n=2}
的例子比较容易视觉化。
以下是一个用汽车类比 上述范例的例子。
一个人坐在车上,车在一个无穷大的平面上,车头朝向北方。
目的是透过驾驶(直线前进或是直线倒车)一段距离、停车、转弯、再驾驶(直线前进或是直线倒车)一段距离的方式到平面上的任何一点。
假如车上没有方向盘,因此车只能直线前进或后退,车所能到的方向只有车的正南方或正北方的位置上。
没有方向盘类似
C
{\displaystyle C}
的秩为1(二次所走的位移均平行)的情形。
假如车有方向盘,可以任意的旋转,自然可以到平面上的任何一点,这类似
C
{\displaystyle C}
的秩为2的例子。
若将此范围延伸到
n
=
3
{\displaystyle n=3}
,则例子会变成让飞机 到三维空间中的任何一点(不考虑飞机本身的机头面对方向 。
可做的事为:
以直线航行
左转或是右转任意角度(偏摆 ,yaw)
飞机朝上或是朝下任意角度(俯仰,pitch)
虽然三维的例子比较不容易视觉化,不过原理类似。
在一些没有完全控制权的系统,常常无法在可控制子空间内将系统从任意初始位置移到从任意结束位置。会出现此一现象的原因可能是因为系统本身就有的输入信号限制(例如致动器的饱和)或是因为其他原因而给系统的限制(例如因为安全相关的考量)。在输入及状态有限制时的系统可控制性,是可到达性 (reachability)[ 5] 及生存理论 [ 6] 探讨的内容。
在所谓的行为系统理论方法 (behavioral system theoretic approach)中,不会直接定义模型输入-输出的结构。在此框架内,系统由是由变数集合的允许轨迹来表示,其中有些可能是输入或是输出。
在此框架中,可控制的系统是指,系统过去的行为(外在变数的轨迹)可以和任何未来的行为连接,而其连接方式都在可允允许的系统行为内[ 7] :151 。
可稳定性(stabilizability)是比可控制性要弱的一个条件。系统具有可稳定性若所有不可控的状态都有稳定的动态特性。因此虽然系统中有一些状态是不可控的,在系统动作时,所有的状态都还是维持在一定的范围内(有界)[ 8] 。Hautus引理 有针对可稳定性的判断
令T ∈ Т ,且x ∈ X (其中X是所有可能状态的集合,Т 是一段时间区间)。在时间T内从x开始的可达到集合(reachable set)定义为[ 9] :
R
T
(
x
)
=
{
z
∈
X
:
x
→
T
z
}
{\displaystyle R^{T}{(x)}=\left\{z\in X:x{\overset {T}{\rightarrow }}z\right\}}
,其中 xT → z表示存在一个在时间T内从x到z的状态转换。
针对自主系统,其可达到集合为:
I
m
(
R
)
=
I
m
(
B
)
+
I
m
(
A
B
)
+
.
.
.
.
+
I
m
(
A
n
−
1
B
)
{\displaystyle Im(R)=Im(B)+Im(AB)+....+Im(A^{n-1}B)}
,
其中R为可控制性矩阵。
若以可达到集合来表示,系统有可控制性当且仅当
I
m
(
R
)
=
R
n
{\displaystyle Im(R)=\mathbb {R} ^{n}}
。
证明
根据以下的等式:
R
=
[
B
A
B
.
.
.
.
A
n
−
1
B
]
{\displaystyle R=[B\ AB....A^{n-1}B]}
I
m
(
R
)
=
I
m
(
[
B
A
B
.
.
.
.
A
n
−
1
B
]
)
{\displaystyle Im(R)=Im([B\ AB....A^{n-1}B])}
d
i
m
(
I
m
(
R
)
)
=
r
a
n
k
(
R
)
{\displaystyle dim(Im(R))=rank(R)}
考虑系统可控制,因此R的列需为线性独立 ,因此
d
i
m
(
I
m
(
R
)
)
=
n
{\displaystyle dim(Im(R))=n}
r
a
n
k
(
R
)
=
n
{\displaystyle rank(R)=n}
I
m
(
R
)
=
R
n
◼
{\displaystyle Im(R)=\mathbb {R} ^{n}\quad \blacksquare }
另一个和可达到集合有关的集合为可控制集合(controllable set),定义如下:
C
T
(
x
)
=
{
z
∈
X
:
z
→
T
x
}
{\displaystyle C^{T}{(x)}=\left\{z\in X:z{\overset {T}{\rightarrow }}x\right\}}
.
Sontag提出了可达到性(reachability)和可控制性的关系[ 9] :
(a) n维离散线性系统可控制,当且仅当:
R
(
0
)
=
R
k
(
0
)
=
X
{\displaystyle R(0)=R^{k}{(0)=X}}
(其中X为x的所有可能值或是状态,且k为时间)
(b) 连结时间线性系统可控制,当且仅当:
R
(
0
)
=
R
e
(
0
)
=
X
{\displaystyle R(0)=R^{e}{(0)=X}}
针对所有e>0。
当且仅当
C
(
0
)
=
C
e
(
0
)
=
X
{\displaystyle C(0)=C^{e}{(0)=X}}
针对所有e>0。