近年来,非线性系统的安全分析与控制已成为控制领域中的热门研究方向,而障碍函数则是该方向的一种重要工具,基于障碍函数的安全分析与控制方法具有计算效率高、鲁棒性强等优点。
由于篇幅限制,我们将介绍分为几个部分进行。
一、定义
1.1、控制仿射系统
一个时不变控制仿射系统为
x
˙
=
f
(
x
)
+
g
(
x
)
u
\dot x = f(x) + g(x)u
x˙=f(x)+g(x)u
其中
x
∈
R
n
x \in \mathbb{R}^n
x∈Rn 为系统状态,
u
∈
R
m
u \in \mathbb{R}^m
u∈Rm 为控制输入,
f
:
R
n
→
R
n
f:\mathbb{R}^n \to \mathbb{R}^n
f:Rn→Rn 与
g
:
R
n
→
R
n
×
m
g:\mathbb{R}^n \to \mathbb{R}^{n \times m}
g:Rn→Rn×m 在状态
x
x
x 上是Lipschitz连续的。我们假设
x
e
=
0
x_e = 0
xe=0 是系统的平衡点。
1.2、控制李雅普诺夫函数(Control Lyapunov Function, CLF)
设李雅普诺夫函数
V
(
x
)
:
R
n
→
R
V(x):\mathbb{R}^n \to \mathbb{R}
V(x):Rn→R 是一个连续可微的函数,假设存在一个常量
c
>
0
c>0
c>0 使得
Ω
c
:
=
{
x
∈
R
n
:
V
(
x
)
≤
c
}
V
(
x
)
>
0
,
∀
s
∈
R
n
∖
{
x
e
}
,
V
(
x
e
)
=
0
inf
u
∈
U
V
˙
(
x
,
u
)
<
0
,
∀
x
∈
Ω
c
∖
{
x
e
}
\begin{aligned} \Omega_c := \{ x \in \mathbb{R}^n : V(x) \le c \} \\ V(x) > 0,\forall s \in \mathbb{R}^n \setminus \{x_e\},V(x_e) = 0 \\ \inf_{u \in U} \dot V(x,u) < 0,\forall x \in \Omega_c \setminus \{x_e\} \\ \end{aligned}
Ωc:={x∈Rn:V(x)≤c}V(x)>0,∀s∈Rn∖{xe},V(xe)=0u∈UinfV˙(x,u)<0,∀x∈Ωc∖{xe}
第一条:存在一个李雅普诺夫函数的子集
Ω
c
\Omega_c
Ωc,这个子集是有界的
第二条:李雅普诺夫函数不在原点时大于0,在原点时等于0
第三条:对于解集中的控制量 u u u, 总会使李雅普诺夫函数的子集(不包含原点)其导数小于0.
那么 V ( x ) V(x) V(x) 就被称为局部控制李雅普诺夫函数, Ω c \Omega_c Ωc 是一个引力区(region of attraction, ROA), Ω c \Omega_c Ωc 中的每个状态都会渐进收敛到原点 x e x_e xe。
如果我们画出轨迹图就是

那么
V
(
x
)
V(x)
V(x) 沿动力学的导数就是
V
˙
(
x
,
u
)
=
∇
V
(
x
)
x
˙
=
∇
V
(
x
)
f
(
x
)
+
∇
V
(
x
)
g
(
x
)
u
=
L
f
V
(
x
)
+
L
g
V
(
x
)
u
\begin{aligned} \dot V(x,u) &= \nabla V(x) \dot x \\ &= \nabla V(x)f(x) + \nabla V(x)g(x)u \\ &= L_f V(x) + L_g V(x) u \end{aligned}
V˙(x,u)=∇V(x)x˙=∇V(x)f(x)+∇V(x)g(x)u=LfV(x)+LgV(x)u
其中
L
f
L_f
Lf 与
L
g
L_g
Lg 为使公式简洁的李导数算子(Lie derivative operator)
但是渐进稳定并不能保证系统在有限时间内收敛到原点,要是收敛时间为一万年,那么这个系统也失去了意义。为了保证系统可以在有限时间内收敛,可以有
inf
u
∈
U
V
˙
(
x
,
u
)
+
λ
V
(
x
)
≤
0
\inf_{u \in U} \dot V(x,u) + \lambda V(x) \le 0
u∈UinfV˙(x,u)+λV(x)≤0
那么
V
(
x
)
V(x)
V(x) 是指数稳定的控制李雅普诺夫函数(exponentially stabilizing CLF, ES-CLF),
λ
\lambda
λ 是李雅普诺夫函数衰减率的一个上界

系统控制量使系统的李雅普诺夫函数满足上式就可以使系统在有限时间内收敛到0。那么如何求解呢,在之前的非线性控制中,我们可能会用到反步法,但是这里我们将其看做一个二次规划问题

CLF约束对于 u u u 是线性的,因此用最小范数控制器,二次规划的目标位最小化控制量,受限制为,满足李雅普诺夫函数收敛的上界以及控制量 u u u 在解集内。由于这个优化为一个凸优化问题,因此其实时性是可以被保证的,CLF约束通常用松弛变量来保证问题的可行性,如果没有松弛变量,控制器将指数稳定到系统原点 x e x_e xe
1.3、控制障碍函数(Control Barrier Function, CBF)
可以想象成CLF变了一个符号反过来,也就是上面哪个大碗倒扣过来, h ( x ) h(x) h(x) 是一个连续可微函数,他的零超平面集为 C \mathcal{C} C。

这里的思想是,当
x
x
x 属于如下的集合时,并且
h
˙
(
x
)
≥
0
\dot h(x) \ge 0
h˙(x)≥0,那么
h
(
x
)
h(x)
h(x) 就可以认为满足CBF条件。
C
=
{
x
∈
D
⊂
R
n
:
h
(
x
)
≥
0
}
∂
C
=
{
x
∈
D
⊂
R
n
:
h
(
x
)
=
0
}
Int
(
C
)
=
{
x
∈
D
⊂
R
n
:
h
(
x
)
>
0
}
\begin{aligned} \mathcal{C} &= \{x \in D \subset \mathbb{R}^n:h(x) \ge 0 \} \\ \partial \mathcal{C} &= \{x \in D \subset \mathbb{R}^n:h(x) = 0 \} \\ \text{Int} (\mathcal{C}) &= \{x \in D \subset \mathbb{R}^n:h(x) > 0 \} \end{aligned}
C∂CInt(C)={x∈D⊂Rn:h(x)≥0}={x∈D⊂Rn:h(x)=0}={x∈D⊂Rn:h(x)>0}
集合
C
\mathcal{C}
C 为安全集合,集合
∂
C
\partial \mathcal{C}
∂C 为边界,集合
Int
(
C
)
\text{Int} (\mathcal{C})
Int(C) 为内部点。
这里我们可以认为 C \mathcal{C} C 是一个安全集合,在 C \mathcal{C} C 中的状态都是安全的,那么让系统一直处于安全状态就可以转化为让系统状态一直处于 C \mathcal{C} C 中。
如果存在一个集合 $\mathcal{D} \subset \mathbb{R}^n $ 以及 C ⊂ D \mathcal{C} \subset \mathcal{D} C⊂D 。如果 B ( x ) B(x) B(x) 是一个控制障碍函数,任何满足上述约束的Lipschitz连续控制律都会使得集合 C \mathcal{C} C 是安全的。
在实际的系统中,通常会为系统指定衰减率的下界 γ \gamma γ

系统控制量使系统的控制障碍函数函数满足上式就可以使系统一直处于安全状态,那么求解这个还是需要用到QP
1.4、结合控制李雅普诺夫函数与控制障碍函数
CLF保证控制器稳定,CBF保证系统满足安全约束,所以直接结合两个构建成一个二次规划问题
参考文献
[1] K. Garg and D. Panagou, “Characterization of Domain of Fixed-time Stability under Control Input Constraints,” in 2021 American Control Conference (ACC), New Orleans, LA, USA: IEEE, May 2021, pp. 2272–2277. doi: 10.23919/ACC50511.2021.9482780.
[2] A. D. Ames, X. Xu, J. W. Grizzle, and P. Tabuada, “Control Barrier Function Based Quadratic Programs for Safety Critical Systems,” IEEE Trans. Automat. Contr., vol. 62, no. 8, pp. 3861–3876, Aug. 2017, doi: 10.1109/TAC.2016.2638961.
3861–3876, Aug. 2017, doi: 10.1109/TAC.2016.2638961.
[3] A. D. Ames, S. Coogan, M. Egerstedt, G. Notomista, K. Sreenath, and P. Tabuada, “Control Barrier Functions: Theory and Applications,” in 2019 18th European Control Conference (ECC), Naples, Italy: IEEE, Jun. 2019, pp. 3420–3431. doi: 10.23919/ECC.2019.8796030.