文章目录
写在前面
原论文:Control Barrier Function Based Quadratic Programs for Safety Critical Systems.
本文为近期阅读的论文(Ames 2017)1的笔记。该论文介绍了两种barrier function,即reciprocal barrier function (RBF)和zeroing barrier function (ZBF),目的是将它们扩展为control barrier function (CBF),并以二次规划(QP)形式与control Lyapunov function (CLF)结合起来,实现带有约束的控制器。
针对给定集合 C \mathcal C C,如果 B ( x ) B(x) B(x)在集合边界处无界,即 B ( x ) → ∞ B(x)\to \infty B(x)→∞ as x → ∂ C x\to\partial \mathcal C x→∂C,则称函数 B B B为RBF;如果 h ( x ) h(x) h(x)在集合边界处为0,即 h ( x ) → 0 h(x)\to 0 h(x)→0 as x → ∂ C x\to\partial \mathcal C x→∂C,则称函数 h h h为ZBF。以上任意一种情况的 B B B或 h h h满足Lyapunov-like条件,则可以保证 ∂ C \partial \mathcal C ∂C的不变性(forward invariance)。
问题描述
考虑非线性系统
x
˙
=
f
(
x
)
(
1
)
\dot x=f(x)\qquad(1)
x˙=f(x)(1)
其中
x
∈
R
n
x\in\mathbb R^n
x∈Rn,假设
f
f
f是locally Lipschitz。集合
C
\mathcal C
C对于(1)不变(forward invariant),如果对每一个
x
0
∈
C
x_0\in\mathcal C
x0∈C,都有
x
(
t
)
∈
C
x(t)\in\mathcal C
x(t)∈C,
∀
t
∈
[
0
,
∞
)
\forall t\in[0,\infty)
∀t∈[0,∞)。
RBF
问题1:给定闭集 C : = { x ∈ R n ∣ h ( x ) ≥ 0 } \mathcal C:=\{x\in\mathbb R^n|h(x)\geq 0 \} C:={x∈Rn∣h(x)≥0},确定函数 B : int ( C ) → R B:\operatorname{int}(\mathcal C)\to \mathbb R B:int(C)→R并构建CBF使得 int ( C ) \operatorname{int}(\mathcal C) int(C)不变,其中 h : R n → R h:\mathbb R^n\to\mathbb R h:Rn→R是连续可微函数。同时假设 C \mathcal C C非空没有孤立点(isolated point),即 int ( C ) ≠ ∅ \operatorname{int}(\mathcal C)\neq \emptyset int(C)=∅, int ( C ) ‾ = C \overline{\operatorname{int}(\mathcal C)}=\mathcal C int(C)=C。
1. Logarithmic
选取logarithmic barrier function candidate
B
(
x
)
=
−
log
(
h
(
x
)
1
+
h
(
x
)
)
(
2
)
B(x)=-\log\left(\frac{h(x)}{1+h(x)} \right)\qquad (2)
B(x)=−log(1+h(x)h(x))(2)
满足
inf
x
∈
int
(
C
)
B
(
x
)
≥
0
\inf_{x\in\operatorname{int}(\mathcal C)}B(x)\geq 0
infx∈int(C)B(x)≥0,
lim
x
→
∂
C
B
(
x
)
=
∞
\lim_{x\to\partial\mathcal C}B(x)=\infty
limx→∂CB(x)=∞。
设计条件
B
˙
≤
γ
B
,
(
3
)
\dot B\leq \frac{\gamma}{B},\qquad (3)
B˙≤Bγ,(3)
使得
B
B
B在远离边界时可以增大,越接近边界增大速率越接近于0。
证明:对(2)求导代入条件中,得到
h
˙
≥
γ
(
h
+
h
2
)
log
(
h
1
+
h
)
\dot h\geq \frac{\gamma(h+h^2)}{\log(\frac{h}{1+h})}
h˙≥log(1+hh)γ(h+h2),由比较引理(Comparison Lemma)得到,如果
x
0
∈
int
(
C
)
x_0\in\operatorname{int}(\mathcal C)
x0∈int(C),那么
∀
t
≥
0
\forall t\geq 0
∀t≥0,有
h
(
x
(
t
,
x
0
)
)
≥
1
exp
(
2
γ
t
+
log
2
(
h
(
x
0
)
+
1
h
(
x
0
)
)
)
−
1
>
0
h(x(t,x_0))\geq \frac{1}{\exp\left(\sqrt{2\gamma t+\log^2\left(\frac{h(x_0)+1}{h(x_0)}\right)}\right)-1}>0
h(x(t,x0))≥exp(2γt+log2(h(x0)h(x0)+1))−11>0
成立,即
x
(
t
,
x
0
)
∈
int
(
C
)
x(t,x_0)\in\operatorname{int}(\mathcal C)
x(t,x0)∈int(C),
∀
t
≥
0
\forall t\geq 0
∀t≥0。该函数下界收敛于0。
2. Inverse-type
选取inverse-type barrier candidate
B
(
x
)
=
1
h
(
x
)
。
B(x)=\frac{1}{h(x)}。
B(x)=h(x)1。
同理,有
h
(
x
(
t
,
x
0
)
)
≥
1
2
γ
t
+
1
h
2
(
x
0
)
>
0
h(x(t,x_0))\geq \frac{1}{\sqrt{2\gamma t+\frac{1}{h^2(x_0)}}}>0
h(x(t,x0))≥2γt+h2(x0)11>0。该函数下界始终大于0。
3. Reciprocal
定义1:对动态系统(1),一个连续可微函数 B : int ( C ) → R B: \operatorname{int}(\mathcal C)\to \mathbb R B:int(C)→R是集合 C \mathcal C C的RBF,如果存在 K \mathcal K K类函数 α 1 \alpha_1 α1、 α 2 \alpha_2 α2、 α 3 \alpha_3 α3使得, ∀ x ∈ int ( C ) \forall x\in\operatorname{int}(\mathcal C) ∀x∈int(C),
1 α 1 ( h ( x ) ) ≤ B ( x ) ≤ 1 α 2 ( h ( x ) ) , L f B ( x ) ≤ α 3 ( h ( x ) ) 。 \begin{aligned} \frac{1}{\alpha_1(h(x))}\leq B(x)&\leq \frac{1}{\alpha_2(h(x))},\\ L_f B(x)&\leq \alpha_3(h(x))。 \end{aligned} α1(h(x))1≤B(x)LfB(x)≤α2(h(x))1,≤α3(h(x))。
定理1:给定动态系统(1)和由连续可微函数 h h h定义的集合 C \mathcal C C,如果存在 B B B是一个RBF,那么 int ( C ) \operatorname{int}(\mathcal C) int(C)对于(1)是不变的。
ZBF
定义2:对于 a , b > 0 a,b>0 a,b>0,连续函数 α : ( − b , a ) → ( − ∞ , ∞ ) \alpha:(-b,a)\to (-\infty,\infty) α:(−b,a)→(−∞,∞)被认为属于扩展 K \mathcal K K类函数,如果它严格单调增且 α ( 0 ) = 0 \alpha(0)=0 α(0)=0。
扩展 K \mathcal K K类函数和 K \mathcal K K类函数区别在于,定义域和值域可以取负数,如果令 b = 0 b=0 b=0,值域为 [ 0 , ∞ ) [0,\infty) [0,∞),那么扩展 K \mathcal K K类函数即 K \mathcal K K类函数。
定义3:对动态系统(1),一个连续可微函数 h : R n → R h:\mathbb R^n\to \mathbb R h:Rn→R是集合 C \mathcal C C的ZBF,如果存在扩展 K \mathcal K K类函数 α \alpha α和集合 D \mathcal D D( C ⊆ D ⊂ R n \mathcal C\subseteq \mathcal D\subset \mathbb R^n C⊆D⊂Rn)使得, ∀ x ∈ D \forall x\in\mathcal D ∀x∈D,
L f h ( x ) ≥ − α ( h ( x ) ) 。 L_fh(x)\geq -\alpha(h(x))。 Lfh(x)≥−α(h(x))。
注意:将 h h h定义在一个比 C \mathcal C C大的集合 D \mathcal D D上可以考虑模型扰动的影响。
命题1:给定动态系统(1)和由连续可微函数 h h h定义的集合 C \mathcal C C,如果 h h h是一个定义在 D \mathcal D D上的ZBF,那么 int ( C ) \operatorname{int}(\mathcal C) int(C)对于(1)是不变的。
证明:对任意 x ∈ ∂ C x\in\partial \mathcal C x∈∂C, h ˙ ( x ) ≥ − α ( h ( x ) ) = 0 \dot h(x)\geq -\alpha(h(x))=0 h˙(x)≥−α(h(x))=0。由Nagumo定理知,集合 C \mathcal C C是不变的。
Nagumo定理2:考虑系统 x ˙ = f ( x ) \dot x=f(x) x˙=f(x),假设对每个集合 D \mathcal D D中的初始值,系统都有一个全局唯一解。令 C ⊆ D \mathcal C\subseteq \mathcal D C⊆D是闭凸集。那么集合 C \mathcal C C对系统是不变的,当且仅当 f ( x ) ∈ T C ( x ) f(x)\in T_{\mathcal C}(x) f(x)∈TC(x)(切锥), ∀ x ∈ C \forall x\in\mathcal C ∀x∈C。
因为当 x ∈ int C x\in\operatorname{int} \mathcal C x∈intC, T C = R n T_{\mathcal C}=\mathbb R^n TC=Rn,所以只用关心 x ∈ ∂ C x\in\partial \mathcal C x∈∂C的情况。由于 h ( x ) h(x) h(x)处处光滑,故切锥为半平面。当 x ∈ ∂ C x\in\partial \mathcal C x∈∂C, L f h ( x ) = ∇ h T ( x ) f ( x ) ≥ 0 L_fh(x)=\nabla h^T(x)f(x)\geq 0 Lfh(x)=∇hT(x)f(x)≥0,即 f ( x ) f(x) f(x)和梯度夹角小于 π 2 \frac{\pi}{2} 2π,所以 f ( x ) ∈ T C ( x ) f(x)\in T_{\mathcal C}(x) f(x)∈TC(x),如下图所示。

Nagumo定理对非凸集合也成立,但是唯一解要求必须满足。
命题2:令 h : D → R h:\mathcal D\to \mathbb R h:D→R为定义在开集 D ⊆ R n \mathcal D\subseteq \mathbb R^n D⊆Rn上的连续可微函数。如果 h h h是系统(1)的ZBF,那么由 h h h定义的集合 C \mathcal C C渐进稳定。
命题2告诉我们,即使初始位置在集合 C \mathcal C C之外,也有 x x x渐进收敛于 C \mathcal C C。
两者的联系
命题3:给定动态系统(1)和由连续可微函数 h h h定义的集合 C \mathcal C C。如果 C \mathcal C C是不变的,那么 h ∣ C h|_{\mathcal C} h∣C是 C \mathcal C C上定义的ZBF。
命题1和3共同证明,集合 C \mathcal C C是不变的,当且仅当存在一个ZBF。同样的对RBF,也能证明必要性,见原论文的定理2,这里不再详述。
RBF、ZBF和集合不变性的联系如下图所示。

CBF构建
类似于利用Lyapunov函数构建CLF的方法,我们也可以利用RBF和ZBF构建CBF。
RCBF
考虑仿射控制系统
x
˙
=
f
(
x
)
+
g
(
x
)
u
,
(
4
)
\dot x=f(x)+g(x)u,\qquad (4)
x˙=f(x)+g(x)u,(4)
其中
f
f
f和
g
g
g局部Lipschitz,
x
∈
R
n
x\in\mathbb R^n
x∈Rn,
u
∈
U
⊂
R
m
u\in U\subset\mathbb R^m
u∈U⊂Rm。
定义4:对系统(4)和由连续可微函数 h h h定义的集合 C \mathcal C C,一个连续可微函数 B : int ( C ) → R B: \operatorname{int}(\mathcal C)\to \mathbb R B:int(C)→R是RCBF,如果存在 K \mathcal K K类函数 α 1 \alpha_1 α1、 α 2 \alpha_2 α2、 α 3 \alpha_3 α3使得, ∀ x ∈ int ( C ) \forall x\in\operatorname{int}(\mathcal C) ∀x∈int(C),
1 α 1 ( h ( x ) ) ≤ B ( x ) ≤ 1 α 2 ( h ( x ) ) , inf u ∈ U [ L f B ( x ) + L g B ( x ) u − α 3 ( h ( x ) ) ] ≤ 0 。 \begin{aligned} \frac{1}{\alpha_1(h(x))}\leq B(x)&\leq \frac{1}{\alpha_2(h(x))},\\ \inf_{u\in U}[L_f B(x)+L_g B(x)u&-\alpha_3(h(x))]\leq0 。 \end{aligned} α1(h(x))1≤B(x)u∈Uinf[LfB(x)+LgB(x)u≤α2(h(x))1,−α3(h(x))]≤0。
RCBF B B B局部Lipschitz连续,如果 α 3 \alpha_3 α3和 ∂ B ∂ x \frac{\partial B}{\partial x} ∂x∂B都局部Lipschitz连续。
给定RCBF
B
B
B,
∀
x
∈
int
(
C
)
\forall x\in \operatorname{int}(\mathcal C)
∀x∈int(C),定义集合
K
rcbf
(
x
)
=
{
u
∈
U
∣
L
f
B
(
x
)
+
L
g
B
(
x
)
u
−
α
3
(
h
(
x
)
)
≤
0
}
。
K_{\operatorname{rcbf}}(x)=\{u\in U|L_fB(x)+L_g B(x)u-\alpha_3(h(x))\leq 0 \}。
Krcbf(x)={u∈U∣LfB(x)+LgB(x)u−α3(h(x))≤0}。
推论1:考虑集合 C \mathcal C C,令 B B B是系统(4)的RCBF。那么任意局部Lipschitz连续的控制器 u : int ( C ) → U u:\operatorname{int}(\mathcal C)\to U u:int(C)→U使得 u ( x ) ∈ K rcbf ( x ) u(x)\in K_{\operatorname{rcbf}}(x) u(x)∈Krcbf(x)都能保证集合 int ( C ) \operatorname{int}(\mathcal C) int(C)的不变性。
ZCBF
定义5:对系统(4)和由连续可微函数 h : R n → R h:\mathbb R^n\to \mathbb R h:Rn→R定义的集合 C \mathcal C C, h h h是定义在集合 D \mathcal D D上( C ⊆ D ⊂ R n \mathcal C\subseteq \mathcal D\subset \mathbb R^n C⊆D⊂Rn)的ZCBF,如果存在扩展 K \mathcal K K类函数 α \alpha α使得,
sup u ∈ U [ L f h ( x ) + L g h ( x ) u + α ( h ( x ) ) ] ≥ 0 。 \sup_{u\in U}[L_f h(x)+L_g h(x)u+\alpha(h(x))]\geq 0 。 u∈Usup[Lfh(x)+Lgh(x)u+α(h(x))]≥0。
ZCBF h h h局部Lipschitz连续,如果 α \alpha α和 ∂ h ∂ x \frac{\partial h}{\partial x} ∂x∂h都局部Lipschitz连续。
给定ZCBF
h
h
h,
∀
x
∈
D
\forall x\in \mathcal D
∀x∈D,定义集合
K
zcbf
(
x
)
=
{
u
∈
U
∣
L
f
h
(
x
)
+
L
g
h
(
x
)
u
+
α
(
h
(
x
)
)
≥
0
}
。
K_{\operatorname{zcbf}}(x)=\{u\in U|L_f h(x)+L_g h(x)u+\alpha(h(x))\geq 0 \}。
Kzcbf(x)={u∈U∣Lfh(x)+Lgh(x)u+α(h(x))≥0}。
推论2:考虑集合 C \mathcal C C,令 h h h是集合 D \mathcal D D上的ZCBF。那么任意局部Lipschitz连续的控制器 u : D → U u:\mathcal D\to U u:D→U使得 u ( x ) ∈ K zcbf ( x ) u(x)\in K_{\operatorname{zcbf}}(x) u(x)∈Kzcbf(x)都能保证集合 C \mathcal C C的不变性。
QP设计
用QP来协调控制效果和安全约束。考虑仿射控制系统
[
x
˙
1
x
˙
2
]
=
[
f
1
(
x
1
,
x
2
)
f
2
(
x
1
,
x
2
)
]
+
[
g
1
(
x
1
,
x
2
)
0
]
u
。
\begin{bmatrix} \dot x_1\\ \dot x_2 \end{bmatrix}=\begin{bmatrix} f_1(x_1,x_2)\\ f_2(x_1,x_2) \end{bmatrix}+\begin{bmatrix} g_1(x_1,x_2)\\ 0 \end{bmatrix}u。
[x˙1x˙2]=[f1(x1,x2)f2(x1,x2)]+[g1(x1,x2)0]u。
其中
x
1
∈
X
x_1\in X
x1∈X是可控状态(或输出),
x
2
∈
Z
x_2\in Z
x2∈Z是不可控状态。
ES-CLF
定义6:连续可微函数 V : X × Z → R V:X\times Z\to \mathbb R V:X×Z→R是ES-CLF(exponetial stabilizing control Lyapunov function),如果存在正常数 c 1 , c 2 , c 3 > 0 c_1,c_2,c_3> 0 c1,c2,c3>0使得 ∀ x = ( x 1 , x 2 ) ∈ X × Z \forall x=(x_1,x_2)\in X\times Z ∀x=(x1,x2)∈X×Z,下列不等式成立,
c 1 ∥ x 1 ∥ 2 ≤ V ( x ) ≤ c 2 ∥ x 1 ∥ 2 , inf u ∈ U [ L f V ( x ) + L g V ( x ) u + c 3 V ( x ) ] ≤ 0 。 c_1\|x_1\|^2\leq V(x)\leq c_2\|x_1\|^2,\\ \operatorname{inf}_{u\in U}[L_f V(x)+L_g V(x)u+c_3V(x)]\leq 0。 c1∥x1∥2≤V(x)≤c2∥x1∥2,infu∈U[LfV(x)+LgV(x)u+c3V(x)]≤0。
定义集合
K
clf
(
x
)
=
{
u
∈
U
∣
L
f
V
(
x
)
+
L
g
V
(
x
)
u
+
c
3
V
(
x
)
≤
0
}
。
K_{\operatorname{clf}}(x)=\{u\in U|L_f V(x)+L_g V(x)u+c_3 V(x)\leq 0 \}。
Kclf(x)={u∈U∣LfV(x)+LgV(x)u+c3V(x)≤0}。
局部Lipschitz控制器
u
:
X
×
Z
→
U
u:X\times Z\to U
u:X×Z→U满足
u
(
x
)
∈
K
clf
(
x
)
⇒
∥
x
1
(
t
)
∥
≤
c
2
c
1
e
−
c
3
2
t
∥
x
1
(
0
)
∥
。
u(x)\in K_{\operatorname{clf}}(x) \Rightarrow \|x_1(t)\|\leq \sqrt{\frac{c_2}{c_1}}e^{-\frac{c_3}{2}t}\|x_1(0)\|。
u(x)∈Kclf(x)⇒∥x1(t)∥≤c1c2e−2c3t∥x1(0)∥。
CLF-CBF QP
对于RCBF,考虑如下形式的QP问题
u
∗
(
x
)
=
arg
min
u
=
(
u
,
δ
)
∈
R
m
×
R
1
2
u
T
H
(
x
)
u
+
F
(
x
)
T
u
s.t.
L
f
V
(
x
)
+
L
g
V
(
x
)
u
+
c
3
V
(
x
)
−
δ
≤
0
L
f
B
(
x
)
+
L
g
B
(
x
)
u
−
α
(
h
(
x
)
)
≤
0
\begin{aligned} \boldsymbol u^*(x)&= {\arg\min}_{\boldsymbol{u}=(u,\delta)\in\mathbb R^m\times \mathbb R} \frac{1}{2}\boldsymbol u^TH(x)\boldsymbol u+F(x)^T\boldsymbol u\\ \operatorname{s.t.} &\quad \begin{aligned}L_fV(x)+L_gV(x)u+c_3 V(x)-\delta&\leq 0\\ L_f B(x)+L_g B(x)u-\alpha(h(x))&\leq 0 \end{aligned} \end{aligned}
u∗(x)s.t.=argminu=(u,δ)∈Rm×R21uTH(x)u+F(x)TuLfV(x)+LgV(x)u+c3V(x)−δLfB(x)+LgB(x)u−α(h(x))≤0≤0
其中,
c
3
>
0
c_3>0
c3>0是常数,
α
\alpha
α是
K
\mathcal K
K类函数,
H
(
x
)
∈
R
(
m
+
1
)
×
(
m
+
1
)
H(x)\in \mathbb R^{(m+1)\times(m+1)}
H(x)∈R(m+1)×(m+1)正定,
F
(
x
)
∈
R
m
+
1
F(x)\in\mathbb R^{m+1}
F(x)∈Rm+1。
下述定理提供 u ∗ ( x ) \boldsymbol u^*(x) u∗(x)局部Lipschitz连续的充分条件,保证控制器的局部存在性和解的唯一性这些前提条件,从而推论1、2得以应用。
定理3:假设 f , g , B , V , H , F f,g,B,V,H,F f,g,B,V,H,F都局部Lipschitz连续。再假设相对度为1,即 L g B ( x ) ≠ 0 L_g B(x)\neq 0 LgB(x)=0, ∀ x ∈ int ( C ) \forall x\in\operatorname{int}(\mathcal C) ∀x∈int(C)。那么CLF-CBF QP的解 u ∗ ( x ) \boldsymbol u^*(x) u∗(x)在 int ( C ) \operatorname{int}(\mathcal C) int(C)上局部Lipschitz连续。另外, u ∗ ( x ) \boldsymbol u^*(x) u∗(x)可以写成一个闭环解析式。
证明:令
v
=
u
+
H
−
1
F
\boldsymbol v=\boldsymbol u+H^{-1}F
v=u+H−1F,
⟨
v
,
v
⟩
=
v
T
H
v
\langle \boldsymbol v,\boldsymbol v\rangle=\boldsymbol v^TH\boldsymbol v
⟨v,v⟩=vTHv,
A
=
[
a
1
,
a
2
]
=
[
L
g
V
L
g
B
−
1
0
]
,
b
=
[
−
L
f
V
−
c
3
V
−
L
f
B
+
α
(
h
)
]
+
A
T
H
−
1
F
。
A =[a_1,a_2]= \begin{bmatrix} L_g V&L_g B\\ -1&0 \end{bmatrix},b=\begin{bmatrix} -L_f V-c_3 V\\ -L_f B+\alpha(h) \end{bmatrix}+A^TH^{-1}F。
A=[a1,a2]=[LgV−1LgB0],b=[−LfV−c3V−LfB+α(h)]+ATH−1F。
原QP问题重写为
v
∗
=
arg
min
1
2
⟨
v
,
v
⟩
s.t.
A
T
v
≤
b
\begin{aligned} \boldsymbol v^*=&\arg\min \frac{1}{2}\langle \boldsymbol v,\boldsymbol v \rangle\\ \operatorname{s.t.}&\quad A^T\boldsymbol v\leq b \end{aligned}
v∗=s.t.argmin21⟨v,v⟩ATv≤b
因为代价函数是凸的且不等式为线性,所以KKT条件是充要条件。令
G
=
A
T
H
−
1
A
=
[
a
1
T
H
−
1
a
1
a
1
T
H
−
1
a
2
a
2
T
H
−
1
a
1
a
2
T
H
−
1
a
2
]
G=A^TH^{-1}A=\begin{bmatrix}a_1^TH^{-1}a_1&a_1^TH^{-1}a_2\\ a_2^TH^{-1}a_1& a_2^TH^{-1}a_2\end{bmatrix}
G=ATH−1A=[a1TH−1a1a2TH−1a1a1TH−1a2a2TH−1a2]是Gram矩阵,由于
a
1
a_1
a1、
a
2
a_2
a2线性无关,
G
G
G是正定的。由KKT条件可知,该问题的唯一解是
v
∗
=
H
−
1
A
λ
\boldsymbol v^*=H^{-1}A\lambda
v∗=H−1Aλ,其中
λ
∈
R
2
\lambda\in\mathbb R^2
λ∈R2,且满足
{
0
≥
λ
,
0
≥
A
T
H
−
1
A
λ
−
b
=
G
λ
−
b
,
0
=
λ
T
(
A
T
H
−
1
A
λ
−
b
)
=
λ
T
(
G
λ
−
b
)
。
\left\{ \begin{aligned} 0&\geq\lambda,\\ 0&\geq A^TH^{-1}A\lambda-b=G\lambda-b,\\ 0&=\lambda^T(A^TH^{-1}A\lambda-b)=\lambda^T(G\lambda-b)。 \end{aligned} \right.
⎩⎪⎨⎪⎧000≥λ,≥ATH−1Aλ−b=Gλ−b,=λT(ATH−1Aλ−b)=λT(Gλ−b)。
可知,若
[
G
λ
−
b
]
i
<
0
[G\lambda-b]_i<0
[Gλ−b]i<0,则
λ
i
=
0
\lambda_i=0
λi=0。(
G
λ
−
b
G\lambda-b
Gλ−b和
λ
\lambda
λ不可能同时小于0,相互垂直的向量肯定在不同象限或者坐标轴。) 又因为
G
G
G正定,
G
11
>
0
G_{11}>0
G11>0,且
G
11
G
22
−
G
12
G
21
>
0
G_{11}G_{22}-G_{12}G_{21}>0
G11G22−G12G21>0。由schur complement condition,
G
22
>
0
G_{22}>0
G22>0。
分类讨论:
-
[ G λ − b ] 1 < 0 [G\lambda-b]_1<0 [Gλ−b]1<0, [ G λ − b ] 2 = 0 [G\lambda-b]_2=0 [Gλ−b]2=0
-
[ G λ − b ] 1 = 0 [G\lambda-b]_1=0 [Gλ−b]1=0, [ G λ − b ] 2 < 0 [G\lambda-b]_2<0 [Gλ−b]2<0
-
[ G λ − b ] 1 < 0 [G\lambda-b]_1<0 [Gλ−b]1<0, [ G λ − b ] 2 < 0 [G\lambda-b]_2<0 [Gλ−b]2<0
-
[ G λ − b ] 1 = 0 [G\lambda-b]_1=0 [Gλ−b]1=0, [ G λ − b ] 2 = 0 [G\lambda-b]_2=0 [Gλ−b]2=0
情况1:将 λ 1 = 0 \lambda_1=0 λ1=0代入 [ G λ − b ] 2 = 0 [G\lambda-b]_2=0 [Gλ−b]2=0,解出 λ 2 = b 2 / G 22 ≤ 0 \lambda_2=b_2/G_{22}\leq 0 λ2=b2/G22≤0。再将 λ 1 = 0 \lambda_1=0 λ1=0代入 [ G λ − b ] 1 = 0 [G\lambda-b]_1=0 [Gλ−b]1=0,得到 G 12 b 2 − G 22 b 1 < 0 G_{12}b_2-G_{22}b_1<0 G12b2−G22b1<0。即,当 G 12 b 2 − G 22 b 1 < 0 G_{12}b_2-G_{22}b_1<0 G12b2−G22b1<0, b 2 ≤ 0 b_2\leq 0 b2≤0时, λ = [ 0 b 2 / G 22 ] \lambda=\begin{bmatrix}0\\b_2/G_{22} \end{bmatrix} λ=[0b2/G22];
情况2:将 λ 2 = 0 \lambda_2=0 λ2=0代入 [ G λ − b ] 1 = 0 [G\lambda-b]_1=0 [Gλ−b]1=0,解出 λ 1 = b 1 / G 11 ≤ 0 \lambda_1=b_1/G_{11}\leq 0 λ1=b1/G11≤0。再将 λ 2 = 0 \lambda_2=0 λ2=0代入 [ G λ − b ] 2 = 0 [G\lambda-b]_2=0 [Gλ−b]2=0,得到 G 21 b 1 − G 11 b 2 < 0 G_{21}b_1-G_{11}b_2<0 G21b1−G11b2<0。即,当 G 21 b 1 − G 11 b 2 < 0 G_{21}b_1-G_{11}b_2<0 G21b1−G11b2<0, b 1 ≤ 0 b_1\leq 0 b1≤0时, λ = [ b 1 / G 11 0 ] \lambda=\begin{bmatrix}b_1/G_{11}\\ 0 \end{bmatrix} λ=[b1/G110];
情况3:当 b 1 , b 2 > 0 b_1,b_2>0 b1,b2>0时, λ = [ 0 , 0 ] T \lambda=[0,0]^T λ=[0,0]T;
情况4:此时 λ = G − 1 b ≤ 0 \lambda=G^{-1}b\leq 0 λ=G−1b≤0。
综上所述,对 x ∈ int ( C ) x\in\operatorname{int}(\mathcal C) x∈int(C), λ \lambda λ可写为如下闭环解析形式:
当 G 12 min { b 2 , 0 } − G 22 b 1 < 0 G_{12}\min\{b_2,0\}-G_{22}b_1<0 G12min{b2,0}−G22b1<0时, λ = [ 0 min { b 2 , 0 } / G 22 ] \lambda=\begin{bmatrix}0\\\min\{b_2,0\}/G_{22} \end{bmatrix} λ=[0min{b2,0}/G22];当 G 21 min { b 1 , 0 } − G 11 b 2 < 0 G_{21}\min\{b_1,0\}-G_{11}b_2<0 G21min{b1,0}−G11b2<0时, λ = [ min { b 1 , 0 } / G 11 0 ] \lambda=\begin{bmatrix}\min\{b_1,0\}/G_{11}\\ 0 \end{bmatrix} λ=[min{b1,0}/G110];其他情况时, λ = [ min { G 22 b 1 − G 21 b 2 } min { G 11 b 2 − G 12 b 1 } ] / ( G 11 G 22 − G 12 G 21 ) \lambda=\begin{bmatrix}\min\{G_{22}b_1-G_{21} b_2\}\\ \min\{G_{11}b_2-G_{12}b_1 \}\end{bmatrix}/(G_{11}G_{22}-G_{12}G_{21}) λ=[min{G22b1−G21b2}min{G11b2−G12b1}]/(G11G22−G12G21)。(最后一个情况 λ \lambda λ不可能为0,因为 G G G的行向量线性无关。)
对于ZCBF,考虑如下形式的QP问题
u
∗
(
x
)
=
arg
min
u
=
(
u
,
δ
)
∈
R
m
×
R
1
2
u
T
H
(
x
)
u
+
F
T
(
x
)
u
s.t.
L
f
V
(
x
)
+
L
g
V
(
x
)
u
+
c
3
V
(
x
)
−
δ
≤
0
−
L
f
h
(
x
)
−
L
g
h
(
x
)
u
−
α
(
h
(
x
)
)
≤
0
\begin{aligned} \boldsymbol u^*(x)&= {\arg\min}_{\boldsymbol{u}=(u,\delta)\in\mathbb R^m\times \mathbb R} \frac{1}{2}\boldsymbol u^TH(x)\boldsymbol u+F^T(x)\boldsymbol u\\ \operatorname{s.t.} &\quad \begin{aligned}L_fV(x)+L_gV(x)u+c_3 V(x)-\delta&\leq 0\\ -L_f h(x)-L_g h(x)u-\alpha(h(x))&\leq 0 \end{aligned} \end{aligned}
u∗(x)s.t.=argminu=(u,δ)∈Rm×R21uTH(x)u+FT(x)uLfV(x)+LgV(x)u+c3V(x)−δ−Lfh(x)−Lgh(x)u−α(h(x))≤0≤0
其中,
c
3
>
0
c_3>0
c3>0是常数,
α
\alpha
α是
K
\mathcal K
K类函数,
H
(
x
)
∈
R
(
m
+
1
)
×
(
m
+
1
)
H(x)\in \mathbb R^{(m+1)\times(m+1)}
H(x)∈R(m+1)×(m+1)正定,
F
(
x
)
∈
R
m
+
1
F(x)\in\mathbb R^{m+1}
F(x)∈Rm+1。同理,我们有关于ZCBF的定理。
定理4:假设 f , g , h , V , H , F f,g,h,V,H,F f,g,h,V,H,F都局部Lipschitz连续。再假设相对度为1,即 L g h ( x ) ≠ 0 L_g h(x)\neq 0 Lgh(x)=0, ∀ x ∈ D \forall x\in\mathcal D ∀x∈D。那么CLF-CBF QP的解 u ∗ ( x ) \boldsymbol u^*(x) u∗(x)在 D \mathcal D D上局部Lipschitz连续,且解可以写成一个闭环解析式。
Ames, A. D., Xu, X., Grizzle, J. W., & Tabuada, P. (2017). Control Barrier Function Based Quadratic Programs for Safety Critical Systems. IEEE Transactions on Automatic Control, 62(8), 3861–3876. https://doi.org/10.1109/TAC.2016.2638961 ↩︎
Blanchini, F. (1999). Set invariance in control. Automatica. Elsevier Science Ltd. https://doi.org/10.1016/S0005-1098(99)00113-2 ↩︎