【论文笔记】基于Control Barrier Function的二次规划(QP)控制

写在前面

原论文: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 xC,则称函数 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 xC,则称函数 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 xRn,假设 f f f是locally Lipschitz。集合 C \mathcal C C对于(1)不变(forward invariant),如果对每一个 x 0 ∈ C x_0\in\mathcal C x0C,都有 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:={xRnh(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:RnR是连续可微函数。同时假设 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 infxint(C)B(x)0 lim ⁡ x → ∂ C B ( x ) = ∞ \lim_{x\to\partial\mathcal C}B(x)=\infty limxCB(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) x0int(C),那么 ∀ t ≥ 0 \forall t\geq 0 t0,有
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 t0。该函数下界收敛于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)1 1>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) xint(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))1B(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:RnR是集合 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 CDRn)使得, ∀ x ∈ D \forall x\in\mathcal D xD
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 xC 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 CD是闭凸集。那么集合 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 xC

因为当 x ∈ int ⁡ C x\in\operatorname{int} \mathcal C xintC T C = R n T_{\mathcal C}=\mathbb R^n TC=Rn,所以只用关心 x ∈ ∂ C x\in\partial \mathcal C xC的情况。由于 h ( x ) h(x) h(x)处处光滑,故切锥为半平面。当 x ∈ ∂ C x\in\partial \mathcal C xC 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:DR为定义在开集 D ⊆ R n \mathcal D\subseteq \mathbb R^n DRn上的连续可微函数。如果 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} hC 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 xRn u ∈ U ⊂ R m u\in U\subset\mathbb R^m uURm

定义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) xint(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))1B(x)uUinf[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} xB都局部Lipschitz连续。

给定RCBF B B B ∀ x ∈ int ⁡ ( C ) \forall x\in \operatorname{int}(\mathcal C) xint(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)={uULfB(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:RnR定义的集合 C \mathcal C C h h h是定义在集合 D \mathcal D D上( C ⊆ D ⊂ R n \mathcal C\subseteq \mathcal D\subset \mathbb R^n CDRn)的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 。 uUsup[Lfh(x)+Lgh(x)u+α(h(x))]0
ZCBF h h h局部Lipschitz连续,如果 α \alpha α ∂ h ∂ x \frac{\partial h}{\partial x} xh都局部Lipschitz连续。

给定ZCBF h h h ∀ x ∈ D \forall x\in \mathcal D xD,定义集合
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)={uULfh(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:DU使得 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 x1X是可控状态(或输出), x 2 ∈ Z x_2\in Z x2Z是不可控状态。

ES-CLF

定义6:连续可微函数 V : X × Z → R V:X\times Z\to \mathbb R V:X×ZR是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。 c1x12V(x)c2x12infuU[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)={uULfV(x)+LgV(x)u+c3V(x)0}
局部Lipschitz控制器 u : X × Z → U u:X\times Z\to U u:X×ZU满足
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)c1c2 e2c3tx1(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))00
其中, 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) xint(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+H1F ⟨ 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]=[LgV1LgB0]b=[LfVc3VLfB+α(h)]+ATH1F
原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.argmin21v,vATvb
因为代价函数是凸的且不等式为线性,所以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=ATH1A=[a1TH1a1a2TH1a1a1TH1a2a2TH1a2]是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=H1Aλ,其中 λ ∈ 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λATH1Aλb=Gλb=λT(ATH1Aλ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 G11G22G12G21>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/G220。再将 λ 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 G12b2G22b1<0。即,当 G 12 b 2 − G 22 b 1 < 0 G_{12}b_2-G_{22}b_1<0 G12b2G22b1<0 b 2 ≤ 0 b_2\leq 0 b20时, λ = [ 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/G110。再将 λ 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 G21b1G11b2<0。即,当 G 21 b 1 − G 11 b 2 < 0 G_{21}b_1-G_{11}b_2<0 G21b1G11b2<0 b 1 ≤ 0 b_1\leq 0 b10时, λ = [ 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 λ=G1b0

综上所述,对 x ∈ int ⁡ ( C ) x\in\operatorname{int}(\mathcal C) xint(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{G22b1G21b2}min{G11b2G12b1}]/(G11G22G12G21)。(最后一个情况 λ \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))00
其中, 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 xD。那么CLF-CBF QP的解 u ∗ ( x ) \boldsymbol u^*(x) u(x) D \mathcal D D上局部Lipschitz连续,且解可以写成一个闭环解析式。


  1. 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 ↩︎

  2. Blanchini, F. (1999). Set invariance in control. Automatica. Elsevier Science Ltd. https://doi.org/10.1016/S0005-1098(99)00113-2 ↩︎

  • 27
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
### 回答1: 控制障碍函数(Control Barrier Function)是一种用于控制系统的安全性的方法。它可以通过定义一个函数来限制系统的状态,使其不会进入不安全的区域。当系统的状态接近不安全区域时,控制器会自动调整控制策略,以确保系统的安全性。控制障碍函数在机器人控制、自动驾驶汽车和无人机等领域得到广泛应用。 ### 回答2: 控制屏障函数(Control Barrier Function,CBF)是一种运动控制策略,常用于机器人运动规划中,旨在实现安全稳定的控制。CBF 是在机器人控制领域被广泛研究和应用的控制策略,可以有效帮助机器人实现不碰撞或发生意外的自主控制。 具体来说,CBF 是一种基于非线性力学理论的数学方法,可用于控制系统的设计、分析和开发。该方法利用控制屏障函数来约束机器人系统的动态行为,从而使系统能够在被指定约束条件下实现安全稳定的运动。 控制屏障函数的作用是在系统的动态行为中加入限制条件,并确保这些限制条件不会被破坏。其本质是在动态控制系统中引入一个“屏障函数”,通过优化指定的约束条件来控制机器人的行动,以实现特定的目标。 在实际应用中,CBF 经常用于机器人运动规划中,例如机器人路径规划、机器人操作规划等。通过引入控制屏障函数,可以有效避免机器人碰撞等意外情况的发生,保证机器人的运动安全稳定。 总之,CBF 是一种可以实现安全稳定控制的数学方法,可以应用于机器人控制系统的设计、分析和开发中,是实现机器人自主控制的重要策略。 ### 回答3: 控制障碍函数(Control Barrier Function, CBF)是一种在控制系统中用于保障安全性的技术工具。CBF可以帮助我们判断系统是否处于安全状态,当系统处于非安全状态时,CBF可以引导控制系统通过调整参数、选择合适的控制策略等方式使得系统恢复到安全状态。 CBF最初是在机器人控制领域中提出的,其主要应用是判断机器人系统是否遵守安全界限,例如:机器人是否撞到了墙壁、是否将手捏伤等。通过设计CBF函数,可以保证机器人系统在动态运动过程中不会超过安全边界,从而避免了机器人的意外伤害。 除了机器人控制领域,CBF在自动驾驶、智能家居、智能交通等领域中也得到了广泛应用。例如,在自动驾驶领域,CBF可以用来保障车辆的安全性,避免车辆与其他车辆或障碍物之间的碰撞或者漂移等情况的发生。 在设计CBF函数时,需要先定义系统的安全边界,然后通过数学建模的方式设计使得系统稳定,同时不会超出安全边界的CBF函数,并将CBF函数与控制系统结合使用。CBF函数的设计是一个相对复杂的问题,需要考虑系统的复杂性以及数学模型的可行性等因素。 总之,CBF是一种保障控制系统安全性的有效手段,其应用范围广泛,具有重要的理论和实践价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值