Robust and Stochastic Model Predictive Control
存在加性扰动的系统
上一节讨论了确定性等价系统的开环与反馈最优控制的一致性,下面我们讨论系统存在加性扰动的情况。其中不确定性采用加性扰动 w 的简单形式;该系统定义为:
x
+
=
x
+
u
+
w
x^+=x+u+w
x+=x+u+w
其中
w
w
w的唯一约束是其位于紧致集
W
:
=
[
−
1
,
1
]
{\mathbb W}:=[-1,1]
W:=[−1,1] 中。我们令
ϕ
(
i
;
x
,
u
,
w
)
\phi(i;x,{\bf{u}},{\bf{w}})
ϕ(i;x,u,w) 表示系统初始状态为
x
x
x 情况下,在时间
i
i
i 的解,输入序列和扰动序列分别为
u
{\bf{u}}
u 和
w
:
=
(
w
(
0
)
,
w
(
1
)
,
w
(
2
)
)
{\bf{w}}:=(w(0),w(1),w(2))
w:=(w(0),w(1),w(2))。现在的成本取决于扰动序列,但与上一节讨论的确定性等价问题相反,它还取决于控制是开环还是反馈。为了讨论后一种情况,我们将反馈策略定义为一系列控制律:
μ
:
=
(
μ
0
(
⋅
)
,
μ
1
(
⋅
)
,
μ
2
(
⋅
)
)
{\bf{\mu }}: = ({\mu _0}( \cdot ),{\mu _1}( \cdot ),{\mu _2}( \cdot ))
μ:=(μ0(⋅),μ1(⋅),μ2(⋅))
其中,
μ
i
:
R
→
R
,
i
=
0
,
1
,
2
{\mu _i}:{\mathbb R} \to {\mathbb R},i = 0,1,2
μi:R→R,i=0,1,2 ;如果时间
i
i
i 的状态为
x
x
x ,那么控制输入为
μ
i
(
x
)
\mu_i(x)
μi(x) 。令
M
{\cal M}
M 为可接受的控制策略类型,例如,每个控制律
μ
i
(
⋅
)
\mu_i( \cdot )
μi(⋅) 都是连续的策略。那么,
ϕ
(
i
;
x
,
u
,
w
)
\phi(i;x,{\bf{u}},{\bf{w}})
ϕ(i;x,u,w) 表示以下差分方程在时间
i
∈
{
0
,
1
,
2
,
3
}
i \in \{ 0,1,2,3\}
i∈{0,1,2,3} 的解。
x
(
i
+
1
)
=
x
(
i
)
+
μ
i
(
x
(
i
)
)
+
w
(
i
)
x(i + 1) = x(i) + {\mu _i}(x(i)) + w(i)
x(i+1)=x(i)+μi(x(i))+w(i)
开环控制序列
u
=
(
u
(
0
)
,
u
(
1
)
,
u
(
2
)
)
{\bf{u}}=(u(0),u(1),u(2))
u=(u(0),u(1),u(2)) 仅仅是一种“退化策略”
μ
:
=
(
μ
0
(
⋅
)
,
μ
1
(
⋅
)
,
μ
2
(
⋅
)
)
{\bf{\mu }}: = ({\mu _0}( \cdot ),{\mu _1}( \cdot ),{\mu _2}( \cdot ))
μ:=(μ0(⋅),μ1(⋅),μ2(⋅)),其中每个控制律
μ
i
(
⋅
)
{\mu _i}( \cdot )
μi(⋅) 满足:
μ
i
(
x
)
=
μ
(
i
)
{\mu _i}(x)={\mu}(i)
μi(x)=μ(i)
对于所有的
x
∈
R
,
i
∈
{
0
,
1
,
2
}
x \in {\mathbb R},i \in \{ 0,1,2\}
x∈R,i∈{0,1,2},定义损失函数为:
V
3
(
x
,
u
,
w
)
:
=
(
1
/
2
)
∑
i
=
0
2
[
(
x
(
i
)
2
+
u
(
i
)
2
)
]
+
(
1
/
2
)
x
(
3
)
2
{V_3}(x,{\bf{u,w}}): = (1/2)\sum\limits_{i = 0}^2 {[(x{{(i)}^2} + u{{(i)}^2})]} + (1/2)x{(3)^2}
V3(x,u,w):=(1/2)i=0∑2[(x(i)2+u(i)2)]+(1/2)x(3)2
其中,
x
(
i
)
=
ϕ
(
i
;
x
,
u
,
w
)
x(i)=\phi(i;x,{\bf{u}},{\bf{w}})
x(i)=ϕ(i;x,u,w),
u
(
i
)
=
μ
i
(
x
(
i
)
)
u(i)={\mu _i}(x(i))
u(i)=μi(x(i))。由于扰动是不可预测的,所以
w
w
w 的值在零时刻是未知的,因此最优控制问题必须以某种方式消除它。
所以解
μ
0
(
x
)
{\mu ^0}(x)
μ0(x) 不依赖于扰动
w
w
w,为了消除
w
w
w,最优控制问题定义为:
P
3
∗
(
x
)
:
V
3
0
(
x
)
:
=
inf
μ
∈
M
J
3
(
x
,
μ
)
{\mathbb P}_3^*(x):V_3^0(x): = \mathop {\inf }\limits_{{\bf{\mu }} \in {\cal M}} {J_3}(x,{\bf{\mu }})
P3∗(x):V30(x):=μ∈MinfJ3(x,μ)
通过上式可以看出成本函数的定义并不依赖于扰动
w
w
w 。在此定义中使用 inf 而不是 min,因为最小值可能不存在。MPC 文献中使用最广泛的成本函数的选择是:
J
3
(
x
,
μ
)
:
=
max
w
∈
W
V
3
(
x
,
u
,
w
)
{J_3}(x,{\bf{\mu }}): = \mathop {\max }\limits_{{\bf{w}} \in {\cal W}} {V_3}(x,{\bf{u,w}})
J3(x,μ):=w∈WmaxV3(x,u,w)
其中,假设扰动
w
{\bf{w}}
w 位于有界的序列
W
{\cal W}
W 中。或者,如果扰动序列是随机的,则成本函数可以选择为:
J
3
(
x
,
μ
)
:
=
E
V
3
(
x
,
u
,
w
)
{J_3}(x,{\bf{\mu }}): = {\bf E}{V_3}(x,{\bf{u,w}})
J3(x,μ):=EV3(x,u,w)
其中
E
{\bf E}
E 表示随机扰动序列的期望或平均值。我们采用简单的成本函数:
J
3
(
x
,
μ
)
:
=
V
3
(
x
,
u
,
0
)
{J_3}(x,{\bf{\mu }}): = {V_3}(x,{\bf{u,0}})
J3(x,μ):=V3(x,u,0)
其中
0
{\bf 0}
0 为0扰动序列。这种情况下是忽略了外部扰动的成本函数形式。利用此成本函数,
P
3
∗
(
x
)
{\mathbb P}_3^*(x)
P3∗(x) 的解就是先前获得的确定性名义最优控制问题的 DP 解。
现在我们比较两种求解
P
3
∗
(
x
)
{\mathbb P}_3^*(x)
P3∗(x) 的方案,分别为开环(
M
{\cal M}
M被限制为控制序列的集合)与反馈(
M
{\cal M}
M是可接受的策略类型)。第一个问题的解决方案是前面讨论的确定性问题的解决方案;最优控制序列为:
u
0
(
x
)
=
(
−
0.615
x
−
0
.
231
x
−
0
.
077
x
)
{{\bf{u}}^0}(x) = ( - 0.615x{\rm{ - 0}}{\rm{.231}}x{\rm{ - 0}}{\rm{.077}}x)
u0(x)=(−0.615x−0.231x−0.077x)
其中
x
x
x 是零时刻的状态,第二个解决方案也是先前的确定的控制序列,使用DP规划。最优策略
μ
0
=
(
μ
0
0
(
⋅
)
,
μ
1
0
(
⋅
)
,
μ
2
(
⋅
)
)
{{\bf{\mu }}^0} = (\mu _0^0( \cdot ),\mu _1^0( \cdot ),{\mu _2}( \cdot ))
μ0=(μ00(⋅),μ10(⋅),μ2(⋅)) 的控制律
μ
i
(
⋅
)
,
i
=
0
,
1
,
2
\mu _i(\cdot),i=0,1,2
μi(⋅),i=0,1,2 定义为:
μ
0
0
(
x
)
:
=
κ
3
0
(
x
)
=
−
(
8
/
13
)
x
,
∀
x
∈
R
μ
1
0
(
x
)
:
=
κ
2
0
(
x
)
=
−
(
3
/
5
)
x
,
∀
x
∈
R
μ
2
0
(
x
)
:
=
κ
1
0
(
x
)
=
−
(
1
/
2
)
x
,
∀
x
∈
R
\begin{array}{l} \mu _0^0(x): = \kappa _3^0(x) = - (8/13)x,\forall x \in {\mathbb R}\\ \mu _1^0(x): = \kappa _2^0(x) = - (3/5)x,\forall x \in {\mathbb R}\\ \mu _2^0(x): = \kappa _1^0(x) = - (1/2)x,\forall x \in {\mathbb R} \end{array}
μ00(x):=κ30(x)=−(8/13)x,∀x∈Rμ10(x):=κ20(x)=−(3/5)x,∀x∈Rμ20(x):=κ10(x)=−(1/2)x,∀x∈R
当应用于不确定性系统时,方案一的开环控制律与方案二的反馈控制律不会对所有的扰动产生相同的轨迹。
如图1所示:
对于三种不同的扰动序列,
w
0
:
=
(
0
,
0
,
0
)
,
w
1
:
=
(
1
,
1
,
1
)
,
w
0
:
=
(
−
1
,
−
1
,
−
1
)
{{\bf{w}}^0}: = (0,0,0),{{\bf{w}}^1}: = (1,1,1),{{\bf{w}}^0}: = ( - 1, - 1, - 1)
w0:=(0,0,0),w1:=(1,1,1),w0:=(−1,−1,−1) 和初始状态
x
=
1
x = 1
x=1 ,其相应的状态轨迹表示为
x
0
,
x
1
,
x
2
{{\bf{x}}^0},{{\bf{x}}^1},{{\bf{x}}^2}
x0,x1,x2 。
开环解:
x
0
=
(
1
,
(
5
/
13
)
,
(
2
/
13
)
,
(
1
/
13
)
)
x
1
=
(
1
,
(
18
/
13
)
,
(
28
/
13
)
,
(
40
/
13
)
)
x
2
=
(
1
,
−
(
8
/
13
)
,
−
(
24
/
13
)
,
−
(
38
/
13
)
)
\begin{array}{l} {{\bf{x}}^0} = (1,(5/13),(2/13),(1/13))\\ {{\bf{x}}^1} = (1,(18/13),(28/13),(40/13))\\ {{\bf{x}}^2} = (1, - (8/13), - (24/13), - (38/13)) \end{array}
x0=(1,(5/13),(2/13),(1/13))x1=(1,(18/13),(28/13),(40/13))x2=(1,−(8/13),−(24/13),−(38/13))
反馈解:
x
0
=
(
1
,
(
5
/
13
)
,
(
2
/
13
)
,
(
1
/
13
)
)
x
1
=
(
1
,
(
18
/
13
)
,
(
101
/
65
)
,
(
231
/
130
)
)
x
2
=
(
1
,
−
(
8
/
13
)
,
−
(
81
/
65
)
,
−
(
211
/
130
)
)
\begin{array}{l} {{\bf{x}}^0} = (1,(5/13),(2/13),(1/13))\\ {{\bf{x}}^1} = (1,(18/13),(101/65),(231/130))\\ {{\bf{x}}^2} = (1, - (8/13), - (81/65), - (211/130)) \end{array}
x0=(1,(5/13),(2/13),(1/13))x1=(1,(18/13),(101/65),(231/130))x2=(1,−(8/13),−(81/65),−(211/130))
即使对于较短的滚动时域 3,也可以看出反馈解决方案的优越性,尽管反馈是为确定性(标称)系统设计的。对于开环解
∣
x
2
(
3
)
−
x
1
(
3
)
∣
=
6
|{x^2}(3) - {x^1}(3)| = 6
∣x2(3)−x1(3)∣=6,但反馈解中
∣
x
2
(
3
)
−
x
1
(
3
)
∣
=
3.4
|{x^2}(3) - {x^1}(3)| = 3.4
∣x2(3)−x1(3)∣=3.4。开环解不限制扰动
w
{\bf{w}}
w 产生的轨迹的偏移。如果滚动时域为N,对于开环解
∣
x
2
(
N
)
−
x
1
(
N
)
∣
=
2
N
|{x^2}(N) - {x^1}(N)| = 2N
∣x2(N)−x1(N)∣=2N,而对于反馈解,
∣
x
2
(
3
)
−
x
1
(
3
)
∣
→
3.24
,
N
→
∞
|{x^2}(3) - {x^1}(3)| \to 3.24,N \to \infty
∣x2(3)−x1(3)∣→3.24,N→∞。
通过上述比较,显而易见的结论是,当存在不确定性时,反馈控制优于开环控制。然而,反馈控制需要确定控制策略,如果非线性和/或约束是最优控制问题的特征,那么这是一项艰巨的任务。