【论文笔记】仿射队形控制原理与stress matrix的构建

写在前面

原论文标题:Affine Formation Maneuver Control of Multiagent Systems.

本文为近期阅读的论文(Zhao 2018)[1]的笔记。该论文研究基于仿射变换的编队控制,重点集中于如何通过控制leader实现maneuver。

预备基础

column stack(记作vec)的性质:

vec(ABC)=(CTA)vec(B)xy=vec(yxT)\begin{aligned} \operatorname{vec}(ABC)&=(C^T\otimes A)\operatorname{vec}(B)\\ x\otimes y&=\operatorname{vec}(yx^T) \end{aligned}

configuration matrix定义为:

P(p)=[p1TpnT]Pˉ(p)=[P(p)1n]P(p)=\begin{bmatrix} p_1^T\\ \vdots\\ p_n^T \end{bmatrix},\,\bar P(p)=\begin{bmatrix}P(p)&1_n\end{bmatrix},

其中piRdp_i\in\mathbb R^d的column stack叫做configuration p=[p1T,,pnT]Tp=[p_1^T,\cdots,p_n^T]^T

结合上面两个,得到一个多智能体控制中常用的性质:

vec((LP(p))T)=(LId)vec(PT(p))(1)\operatorname{vec}((LP(p))^T) = (L\otimes I_d)\operatorname{vec}(P^T(p))。\qquad (1)

该性质在matlab编程中可以简化代码。

线性相关和仿射相关

线性相关(linearly dependant)要求i=1naipi=0\sum_{i=1}^na_ip_i=0,而仿射相关(affinely dependant)额外要求i=1nai=0\sum_{i=1}^n a_i=0。这个区别直接反映在configuration matrix上,故{pi}i=1n\{p_i\}_{i=1}^n仿射相关当且仅当Pˉ(p)\bar P(p)行线性相关,即PˉT(p)a=0\bar P^T(p)a=0

仿射相关肯定线性相关,反之不一定。线性无关肯定仿射无关,反之不一定。

由于Pˉ(p)\bar P(p)d+1d+1列,所以Rd\mathbb R^d空间最多有d+1d+1个点仿射无关(affinely independant)。相对应的,Rd\mathbb R^d空间最多有dd个点线性无关(linearly dependant)。

{pi}i=1n\{p_i\}_{i=1}^n中存在d+1d+1个点仿射无关时,Rd\mathbb R^d可以被{pi}i=1n\{p_i\}_{i=1}^n仿射展开(affine span),此时Pˉ(p)\bar P(p)行线性无关,rank(Pˉ(p))=d+1\operatorname{rank}(\bar P(p))=d+1

引理1:{pi}i=1n\{p_i\}_{i=1}^n仿射展开Rd\mathbb R^d,当且仅当nd+1n\geq d+1rank(Pˉ(p))=d+1\operatorname{rank}(\bar P(p))=d+1

Stress Matrix

对基于图论定义的formation(G,p)(\mathcal G,p)stress是每条边上的标量权重,{ωij}(i,j)E\{\omega_{ij}\}_{(i,j)\in\mathcal E} ,其中ωij=ωjiR\omega_{ij}=\omega_{ji}\in\mathbb R

equilibrium stress满足

jNiωij(pipj)=0iV(2)\sum_{j\in\mathcal N_i}\omega_{ij}(p_i-p_j)=0,\,i\in\mathcal V。 \qquad (2)

可知,如果ω\omega是equilibrium stress,则kωk\omega也是(k0k\neq 0)。

Distance Rigidity

对于一组formation,满足等价和全等的条件为:

  • 等价(equivalent):图相同的情况下,任意一条边对应的两个节点,在不同的formation中距离相等。

  • 全等(congruent):图相同的情况下,任意两个节点,在不同的formation中距离相等。

globally rigid:对于一个formation,等价和全等同时成立。

universally rigid:对于一个formation,在任意Rd1\mathbb R^{d_1}空间满足globally rigid,其中d1dd_1\geq d

应用式(1),定义对称的equilibrium stress matrix Ω\Omega,我们将平衡条件式(2)重写为

(ΩId)p=vec((ΩP(p))T)=0(3)(\Omega\otimes I_d)p=\operatorname{vec}((\Omega P(p))^T)=0。\qquad (3)

由于rank(P(p))=d+1\operatorname{rank}(P(p))=d+1,故rank(Ω)=nd1\operatorname{rank}(\Omega)=n-d-1[2]

引理2:给定无向图G\mathcal Ggeneric configuration pp,formation (G,p)(\mathcal G,p)是universally rigid当且仅当存在半正定stress matrix Ω\Omega满足rank(Ω)=nd1\operatorname{rank}(\Omega)=n-d-1

注意:线性代数里正定性的前提是实对称矩阵。对称正定矩阵可以对角化,特征向量正交(正规矩阵的性质),所有特征值大于0。

Consider all of the coordinates of p=[p1T,,pnT]Tp=[p_1^T,\cdots,p_n^T]^T as a set of numbers x1,x2,,xdnx_1, x_2,\cdots,x_{dn}, and consider any non-zero polynomial equation f(x1,x2,,xdn)f(x_1, x_2,\cdots,x_{dn}) with integer coeffcients and the numbers (the coordinates) substituted for the variables x1,x2,,xdnx_1, x_2,\cdots,x_{dn}. If f(p)0f(p) \neq 0 for every such ff, we say that the configuration is generic.[3]

论文(Zhao 2018)中对generic的定义是:the coordinates of all the nodes do not satisfy any nontrivial equations with rational coefficients. 由于有理数可以通过乘以最小公倍数得到整数,该定义与上述定义一致。

Affine Formation Control的实现

给定nominal configuration r=[r1T,,rnT]Tr=[r_1^T,\cdots,r_n^T]^T和nominal formation (G,r)(\mathcal G,r),target formation中的configuration为

p(t)=[InA(t)]r+1nb(t)A(t)Rd×db(t)Rdp^*(t)=[I_n\otimes A(t)]r+1_n\otimes b(t),A(t)\in\mathbb R^{d\times d},b(t)\in\mathbb R^d,

p(t)A(r)p^*(t)\in\mathcal A(r),其中A(r)\mathcal A(r)rr的affine image。

引理3:A(r)\mathcal A(r)的维度为d2+dd^2+d当且仅当{ri}i=1n\{r_i\}_{i=1}^n仿射展开Rd\mathbb R^d

假设1:{ri}i=1n\{r_i\}_{i=1}^n仿射展开Rd\mathbb R^d。我们不讨论控制算法的设计和稳定性证明,主要研究下面几个问题。

Affine Image和Stress Matrix的关系

引理4:对任意nominal configuration rr,以下条件始终成立:

A(r)Null(ΩId)Col(Pˉ(r))Null(Ω)\begin{aligned} \mathcal A(r)&\subseteq \operatorname{Null}(\Omega\otimes I_d),\\ \operatorname{Col}(\bar P(r))&\subseteq\operatorname{Null}(\Omega)。 \end{aligned}

因为{ri}i=1n\{r_i\}_{i=1}^n满足(2),所以{Ari+b}i=1n\{Ar_i+b\}_{i=1}^n满足(2),第一个条件成立。由式(3)知,第二个条件成立。

假设2:nominal formation (G,r)(\mathcal G,r)存在满足引理2的Ω\Omega

引理5:满足假设2的条件下,下列条件等价。

  1. {ri}i=1n\{r_i\}_{i=1}^n仿射展开Rd\mathbb R^d
  2. Null(ΩId)=A(r)\operatorname{Null}(\Omega\otimes I_d)=\mathcal A(r)
  3. Null(Ω)=Col(Pˉ(r))\operatorname{Null}(\Omega)=\operatorname{Col}(\bar P(r))

在引理4的基础上,证明引理5只需要证明维度相等。由假设2和引理2,知dim(Null(Ω×Id))=d(d+1)\operatorname{dim}(\operatorname{Null}(\Omega\times I_d))=d(d+1),再由引理3,知两者维度相等。同理可证第3条。

什么条件下Stress Matrix可行

定理1:满足假设1的条件下,nominal formation (G,r)(\mathcal G,r)仿射可定位(affinely localizable)当且仅当leader节点,即{ri}iVl\{r_i\}_{i\in\mathcal V_l},仿射展开Rd\mathbb R^d

仿射可定位:已知(G,r)(\mathcal G,r),给定leader节点plp_l可以唯一确定target configuration p=[plT,pfT]Tp=[p_l^T,p_f^T]^T。也就是说,AAbb被唯一确定。

推论1:如果{ri}iVl\{r_i\}_{i\in\mathcal V_l}仿射展开Rd\mathbb R^d,那么对任意pA(r)p\in\mathcal A(r),相对应的AAbb被唯一确定为

A=(iVlpir~iT)(iVlr~ir~iT)1b=1nliVlpiArˉ\begin{aligned} A&=\left(\sum_{i\in\mathcal V_l}p_i\tilde r_i^T\right)\left(\sum_{i\in\mathcal V_l}\tilde r_i\tilde r_i^T\right)^{-1},\\ b&=\frac{1}{n_l}\sum_{i\in\mathcal V_l}p_i-A\bar r, \end{aligned}

其中rˉ=iVlri/nl\bar r=\sum_{i\in\mathcal V_l}r_i/n_lr~i=rirˉ\tilde r_i=r_i-\bar r

由推论1可知,{ri}iVl\{r_i\}_{i\in\mathcal V_l}仿射展开Rd\mathbb R^d当且仅当iVlr~ir~iT\sum_{i\in\mathcal V_l}\tilde r_i\tilde r_i^T非奇异。

下面研究什么样的Ω\Omega满足仿射可定位。定义Ωˉ=ΩId=[ΩˉllΩˉlfΩˉflΩˉff]\bar \Omega=\Omega\otimes I_d=\begin{bmatrix}\bar \Omega_{ll}&\bar \Omega_{lf}\\\bar \Omega_{fl}&\bar \Omega_{ff}\end{bmatrix}

定理2:满足假设1、2的情况下,nominal formation (G,r)(\mathcal G,r)仿射可定位当且仅当Ωˉff\bar \Omega_{ff}非奇异。此时,pfp_f被唯一确定,即pf=Ωˉff1Ωˉflplp_f=-\bar \Omega_{ff}^{-1}\bar \Omega_{fl}p_l

假设3:nominal formation (G,r)(\mathcal G,r)仿射可定位。

假设1、2保证Ω\Omega的零空间正好是affine image。假设3保证Ωˉff\bar \Omega_{ff}是正定的(因为Ωˉ\bar \Omega半正定,且Ωˉff\bar \Omega_{ff}非奇异)。

参考schur complement condition[4],对于X=[ABBTC]X=\begin{bmatrix}A&B\\B^T&C\end{bmatrix},有:

  1. X>0X>0 A>0,CBTA1B>0\Leftrightarrow A>0, C-B^T A^{-1}B>0
  2. X>0X>0 C>0,ABC1BT>0\Leftrightarrow C>0, A-B C^{-1} B^T>0
  3. 如果A>0A>0,那么 X0X\geq 0 \Leftrightarrow CBTA1B0C-B^TA^{-1}B\geq 0
  4. 如果C>0C>0,那么 X0X\geq 0 \Leftrightarrow ABC1BT0A-BC^{-1}B^T\geq 0

如何构建Stress Matrix

HRE×nH\in\mathbb R^{|\mathcal E|\times n}为incidence matrix。已知formation (G,r)(\mathcal G,r)如何求取Ω\Omega满足平衡条件?

首先,由Ω=HTdiag(ω)H\Omega=H^T\operatorname{diag}(\omega)HΩPˉ(r)=0\Omega\bar P(r)=0,知PˉT(r)HTdiag(ω)H=PˉT(r)HTdiag(ω)[h1,,hn]=0\bar P^T(r)H^T\operatorname{diag}(\omega)H=\bar P^T(r)H^T\operatorname{diag}(\omega)[h_1,\cdots,h_n]=0

diag(ω)hi=diag(hi)ω\operatorname{diag}(\omega)h_i=\operatorname{diag}(h_i)\omega,两者位置互换,得到PˉT(r)HTdiag(hi)w=0\bar P^T(r)H^T\operatorname{diag}(h_i)w=0

定义E=[PˉT(r)HTdiag(h1)PˉT(r)HTdiag(hn)]E=\begin{bmatrix}\bar P^T(r)H^T\operatorname{diag}(h_1)\\ \vdots\\\bar P^T(r)H^T\operatorname{diag}(h_n)\end{bmatrix}。则Eω=0E\omega=0,因此ω\omegaEE的零空间里。

定义z1,,zqREz_1,\cdots,z_q\in\mathbb R^{|\mathcal E|}EE的零空间上的一组基。则ω=i=1qcizi\omega=\sum_{i=1}^qc_iz_i,其中c1,,cnRc_1,\cdots,c_n\in\mathbb R是一组待定系数。

对于宽(fat)矩阵ARm×nA\in\mathbb R^{m\times n},其零空间可以写为InAAI_n-A^\dagger A,然而ERn(d+1)×EE\in\mathbb R^{n(d+1)\times |\mathcal E|}也可能是长(slim)矩阵。

对于长矩阵ARm×nA\in\mathbb R^{m\times n},可以通过奇异值分解求AA的零空间。

然后,我们继续确定系数c1,,cnRc_1,\cdots,c_n\in\mathbb R。令Pˉ(r)=UΣVT\bar P(r)=U\Sigma V^T。令U=[U1,U2]U=[U_1,U_2],其中U1U_1包含UU的前d+1d+1列。因为Pˉ(r)\bar P(r)的秩为d+1d+1,所以U1U_1是非零奇异值对应的左奇异向量,即Pˉ(r)\bar P(r)的列空间。同理U2U_2PˉT(r)\bar P^T(r)的零空间。

根据假设2和引理2,我们要求Ω\Omega是半正定,且秩为nd1n-d-1

因为ΩPˉ(r)=0\Omega \bar P(r)=0,故ΩU1=0\Omega U_1=0,所以Ω\Omega在前d+1d+1维秩为0,于是剩下的nd1n-d-1维需要满秩,即Ω\OmegaPˉT(r)\bar P^T(r)的零空间上正定,对任意xNull(PˉT(r))x\in\operatorname{Null}(\bar P^T(r)),有xTΩx>0x^T\Omega x>0。换句话说,对任意yRny\in\mathbb R^nyT(U2TΩU2)y>0y^T(U_2^T\Omega U_2)y>0

命题:rank(Ω)=nd1\operatorname{rank}(\Omega)=n-d-1当且仅当U2TΩU2=U2THTdiag(ω)HU2>0U_2^T\Omega U_2=U_2^TH^T\operatorname{diag}(\omega)H U_2>0

ω=i=1qcizi\omega=\sum_{i=1}^qc_iz_i代入U2THTdiag(ω)HU2U_2^TH^T\operatorname{diag}(\omega)H U_2,得到i=1nciU2THTdiag(zi)HU2>0\sum_{i=1}^nc_iU_2^TH^T\operatorname{diag}(z_i)H U_2>0

定义Mi=U2THTdiag(zi)HU2M_i=U_2^TH^T\operatorname{diag}(z_i)HU_2。可知系数c1,,cnRc_1,\cdots,c_n\in\mathbb R需要满足条件i=1nciMi>0\sum_{i=1}^nc_iM_i>0

附录:奇异值分解的原理和应用

我们回顾一下奇异值分解(singular value decomposition)。

特征值和特征向量

如果ARn×nA\in \mathbb R^{n\times n}是实矩阵,其特征值和特征向量定义为Aq=λqAq=\lambda q,那么A=QDQTA=QD Q^T是它的特征分解(谱分解),其中Q=[q1,,qn]Q=[q_1,\cdots,q_n]是它的特征向量,D=diag{λi}i=1nD=\operatorname{diag}\{\lambda_i\}_{i=1}^n是它的特征根。

一般我们会将特征向量转化为标准正交基,使得QQ是标准正交矩阵。

# Eigenvalues and eigenvectors in MATLAB
# such that e are eigenvalues and D = diag(e)
e = eig(A)
# such that A*V=V*D (right) and W'*A=D*W' (left)
[V,D,W] = eig(A)

奇异值分解

如果ARm×nA\in\mathbb R^{m\times n}不是方阵,可以进行奇异值分解,即A=UΣVTA=U\Sigma V^T,其中URm×mU\in\mathbb R^{m\times m}VRn×nV\in \mathbb R^{n\times n}是正交矩阵,ΣRm×n\Sigma\in\mathbb R^{m\times n}是(矩形)对角阵。

UUVV分别是对AA正交输出和输入的基向量,也是AATAA^TATAA^TA的特征向量,即

(AAT)U=UDu(ATA)V=VDv(AA^T)U=UD_u,\\ (A^TA)V=VD_v。

证明:A=UΣVTAT=VΣTUTATA=VΣTUTUΣVT=V(ΣTΣ)VTA=U\Sigma V^T\Rightarrow A^T=V\Sigma^T U^T\Rightarrow A^TA=V\Sigma^TU^TU\Sigma V^T=V(\Sigma^T\Sigma) V^T

# Singular value decomposition
# such that s are non-zero sigular values
s = svd(A)
# such that A = U*S*V'
[U,S,V] = svd(A)

常见应用

  • 求伪逆

如果A=UΣVTA=U\Sigma V^T,那么A=VΣUTA^\dagger=V\Sigma^\dagger U^T,其中Σ\Sigma^\dagger是将Σ\Sigma非零主对角元求倒数,再转置得到。

  • 列空间、零空间和秩

对角矩阵Σ\Sigma的非零对角元素的个数对应于矩阵AA的秩。

与零奇异值对应的右奇异向量生成矩阵AA的零空间,与非零奇异值对应的左奇异向量则生成矩阵AA的列空间[5]

同理,与零奇异值对应的左奇异向量生成矩阵ATA^T的零空间,与非零奇异值对应的右奇异向量则生成矩阵ATA^T的列空间。


  1. Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. https://doi.org/10.1109/TAC.2018.2798805 ↩︎

  2. Wikipedia contributors. (2020, September 5). Rank–nullity theorem. In Wikipedia, The Free Encyclopedia. Retrieved 13:55, September 24, 2020, from https://en.wikipedia.org/w/index.php?title=Rank%E2%80%93nullity_theorem&oldid=976828687 ↩︎

  3. Connelly, R., & Guest, S. D. (2015). Frameworks, Tensegrities and Symmetry: Understanding Stable Structures. Section 7.2. ↩︎

  4. Wikipedia contributors. (2020, August 12). Schur complement. In Wikipedia, The Free Encyclopedia. Retrieved 13:06, September 25, 2020, from https://en.wikipedia.org/w/index.php?title=Schur_complement&oldid=972571695 ↩︎

  5. 奇异值分解. (2020, October 6). Retrieved from 维基百科, 自由的百科全书: https://zh.wikipedia.org/wiki/%E5%A5%87%E5%BC%82%E5%80%BC%E5%88%86%E8%A7%A3 ↩︎