【论文笔记】有向图下的分层仿射队形控制

写在前面

原论文标题:Layered Affine Formation Control of Networked Uncertain Systems: A Fully Distributed Approach Over Directed Graphs

本文为近期阅读的论文(Dong 2020)1的笔记。该论文研究欧拉-拉格朗日系统(以下称EL系统)有向图拓扑下的分布式仿射编队控制。论文重点集中于两处:其一,有向图下的仿射可操控条件;其二,leader和follower分层控制律。

预备基础

这里默认读者都看过Lin 20162和Zhao 20183,这两篇论文是以下内容的基础,证明不再给出,请自行参阅原论文。由于不同论文所用标志符号不同,本文所用标志符号统一与前文(仿射队形控制原理与stress matrix的构建)一致。

分层拉普拉斯矩阵

定义1:nominal formation ( G , r ) (\mathcal G,r) (G,r)称为仿射可操控(affine maneuverable),当且仅当对任意 q = [ q l T , q f T ] T ∈ A ( r ) ∈ R N d q=[q_l^T,q_f^T]^T\in\mathcal A(r)\in\mathbb R^{Nd} q=[qlT,qfT]TA(r)RNd q f q_f qf可以被 q l q_l ql唯一表示,即
q f = − ( ( L f 1 s ) − 1 L f 2 s ⊗ I d ) q l 。 q_f=-((L_{f1}^s)^{-1}L_{f2}^s\otimes I_d)q_l。 qf=((Lf1s)1Lf2sId)ql

注意:这里的“仿射可操控”其实就是Zhao 2018的“仿射可定位”,整合了Zhao的一部分相关结论。

上面定义中用到的拉普拉斯矩阵在论文中也有重新定义,为分层拉普拉斯矩阵(Layered Laplacian matrix),即
L † = [ 0 0 N l T 0 N f T L l 2 L l 1 0 N l × N f 0 N f L f 2 s L f 1 s ] , L^\dagger=\begin{bmatrix}0&0_{N_l}^T&0_{N_f}^T\\ L_{l2}&L_{l1}&0_{N_l\times N_f}\\ 0_{N_f}&L_{f2}^s&L_{f1}^s\end{bmatrix}, L=0Ll20Nf0NlTLl1Lf2s0NfT0Nl×NfLf1s
其中 L l 1 ∈ R N l × N l L_{l1}\in\mathbb R^{N_l\times N_l} Ll1RNl×Nl表示leader之间的拓扑, L l 2 ∈ R N l × 1 L_{l2}\in\mathbb R^{N_l\times 1} Ll2RNl×1,表示leader与虚拟agent的拓扑, L f 1 s ∈ R N f × N f L_{f1}^s\in\mathbb R^{N_f\times N_f} Lf1sRNf×Nf表示follower之间的拓扑, L f 2 s ∈ R N f × N l L_{f2}^s\in\mathbb R^{N_f\times N_l} Lf2sRNf×Nl表示leader和follower之间的拓扑。

综上所述,分层拉普拉斯矩阵表示分层的拓扑结构,第一层是普通拉普拉斯矩阵
L = [ 0 0 N l L l 2 L l 1 ] ∈ R ( N l + 1 ) × ( N l + 1 ) , L=\begin{bmatrix}0&0_{N_l}\\ L_{l2}&L_{l1}\end{bmatrix}\in\mathbb R^{(N_l+1)\times (N_l+1)}, L=[0Ll20NlLl1]R(Nl+1)×(Nl+1)
第二层是带符号拉普拉斯矩阵
L s = [ 0 N l × N l 0 N l × N f L f 2 s L f 1 s ] ∈ R ( N l + N f ) × ( N l + N f ) 。 L^s=\begin{bmatrix}0^{N_l\times N_l}&0^{N_l\times N_f}\\ L_{f2}^s &L_{f1}^s\end{bmatrix}\in\mathbb R^{(N_l+N_f)\times(N_l+N_f)}。 Ls=[0Nl×NlLf2s0Nl×NfLf1s]R(Nl+Nf)×(Nl+Nf)
整个控制过程的逻辑结构是,一个虚拟agent 0(如:人的输入)控制多个leader,再由leader控制follower。为了完成这个控制过程,需要以下假设和引理。

令所有agent的label为 0 , 1 , ⋯   , N l , ⋯   , N l + N f 0,1,\cdots,N_l,\cdots,N_l+N_f 0,1,,Nl,,Nl+Nf。前 N l + 1 N_l+1 Nl+1个组成图 G l \mathcal G_l Gl

假设4:对于第一层的 N l ( N l ≥ d + 1 ) N_l(N_l\geq d+1) Nl(Nld+1)个leader,图 G l \mathcal G_l Gl中存在一个有向生成树,其中root为agent 0。

引理1:对于第一层,如果图 G l \mathcal G_l Gl中存在一个有向生成树,那么下列声明成立:

  1. L l 1 L_{l1} Ll1非奇异;
  2. 所有 L l 1 L_{l1} Ll1的特征根有正实部;
  3. − L l 1 − 1 L l 2 -L_{l1}^{-1}L_{l2} Ll11Ll2每一个元素非负,每一行和为1。

证明:前两条证明见Meng 20134的Lemma 2.1,第三条证明见Meng 20105的Lemma 4。 L l 1 L_{l1} Ll1是一个non-singular M-matrix,满足inverse-positive,即 L l 1 − 1 L_{l1}^{-1} Ll11 exists and L l 1 − 1 ≥ 0 L_{l1}^{-1}\geq 0 Ll110 element-wisely6。而 L l 2 L_{l2} Ll2的每一个元素非正,因为agent 0只可能是leader的in-neighbor。因此 − L l 1 − 1 L l 2 -L_{l1}^{-1}L_{l2} Ll11Ll2的每一个元素非负。注意到 [ L l 2 L l 1 ] [ 1 1 N l ] = 0 \begin{bmatrix}L_{l2} &L_{l1}\end{bmatrix}\begin{bmatrix}1\\ 1_{N_l}\end{bmatrix}=0 [Ll2Ll1][11Nl]=0。因此, L l 2 = − L l 1 1 N l L_{l2}=-L_{l1}1_{N_l} Ll2=Ll11Nl,即 − L l 1 − 1 L l 2 = 1 N l -L_{l1}^{-1}L_{l2}=1_{N_l} Ll11Ll2=1Nl行和为1(全1列向量)。

有向图下的仿射队形

以下定义和假设出自Zhao 2018,详见前文(仿射队形控制原理与stress matrix的构建)。

定义configuration matrix P ( q ) P(q) P(q)和augmented matrix P ˉ ( q ) \bar P(q) Pˉ(q)

假设5:nominal configuration r r r is generic.

以下定义和引理出自Lin 2016:

若有向图 G = ( V , E ) \mathcal G=(\mathcal V,\mathcal E) G=(V,E)中存在边 ( j , i ) ∈ E (j,i)\in\mathcal E (j,i)E,方向为 j → i j \to i ji,那么 j j j i i i的in-neighbor, i i i j j j的out-neighbor。

定义2.1:对于有向图 G \mathcal G G,如果去掉除节点 v ∈ V v\in\mathcal V vV外的任意 k − 1 k-1 k1个节点,仍然存在一条路径(path)从某一节点 u ∈ U u\in\mathcal U uU到节点 v v v,那么节点 v v v被称为 k k k-reachable from 非单元素(non-singleton)集合 U \mathcal U U

从上面的定义中,我们可以得知:

  • U \mathcal U U的元素必定大于等于 k k k个,才能保证去掉 k − 1 k-1 k1个节点后 U ≠ ∅ \mathcal U\neq \empty U=
  • 从集合 U \mathcal U U到节点 v v v至少有 k k k互不相交(disjoint)的路径。

定义2.2:有向图 G \mathcal G G k k k-rooted,如果存在包含 k k k个节点的子集,称为(root)集,从根集出发所有其他节点都 k k k-reachable。

定义2.3:对于有向图 G = ( V , E ) \mathcal G=(\mathcal V,\mathcal E) G=(V,E),一个根集为 R = { r 1 , ⋯   , r k } ⊂ V \mathcal R=\{r_1,\cdots,r_k\}\subset \mathcal V R={r1,,rk}V k k k-生成树(spanning k k k-tree)是一个生成子图(spanning subgraph) T = ( V , E ˉ ) \mathcal T=(\mathcal V,\bar {\mathcal E}) T=(V,Eˉ),其满足:

  1. 每一个节点 r ∈ R r\in\mathcal R rR都没有in-neighbor;
  2. 每一个节点 v ∉ R v\notin\mathcal R v/R都有 k k k个in-neighbor;
  3. 每一个节点 v ∉ R v\notin\mathcal R v/R k k k-reachable from R \mathcal R R

从上面的定义中,我们可以得知:

  • 有向图 G \mathcal G G如果有 k k k-生成树,那么一定 k k k-rooted;
  • 如果节点 k k k-reachable,那么必然有 k k k个in-neighbor。

引理2 (Lemma 2.1, Lin 2016):图 G \mathcal G G有一个 k k k-生成树,当且仅当图 G \mathcal G G k k k-rooted。

只需证明必要性。令根集为 R \mathcal R R,并移除所有incoming edge,其他节点仍然 k k k-reachable。再移除其他节点的多余incoming edge,只留下 k k k个保证 k k k-reachable。通过上述两步得到 k k k-生成树,利用了 k k k-路径的互不相交性。

引理3 (Lemma 4.1, Lin 2016):对于有向图 G \mathcal G G,如果它是 k k k-rooted,那么相关的 L s L^s Ls满足:

  1. 去掉与根节点相关的 k k k行和 k k k列所得子矩阵的主子式(principal minor)不为0;
  2. 去掉与根节点相关的 k k k行和任意的 k k k列所得子矩阵是非奇异的。

回顾一下,余子式(minor) [ A ] i , j [A]_{i,j} [A]i,j是原矩阵 A A A去掉第 i i i行和第 j j j列后的子矩阵的行列式,如果 i = j i=j i=j,则为主子式7

参考Lin 2016,定义仿射队形可实现(realizable)为: ( L s ⊗ I d ) q = 0 (L^s\otimes I_d)q=0 (LsId)q=0当且仅当 q ∈ A ( r ) q\in\mathcal A(r) qA(r)

引理4 (Theorem 4.1, Lin 2016):假如有向图 G \mathcal G G N ≥ d + 2 N\geq d+2 Nd+2个节点,且 r r r是generic。那么仿射队形可实现当且仅当 G \mathcal G G ( d + 1 ) (d+1) (d+1)-rooted。

有向图下的仿射可操控条件

定理1:在假设5条件下,nominal formation ( G , r ) (\mathcal G,r) (G,r)仿射可操控,当且仅当leader集合 V l \mathcal V_l Vl有至少 d + 1 d+1 d+1个节点,同时集合 V f V_f Vf中的每一个follower都 ( d + 1 ) (d+1) (d+1)-reachable from集合 V l V_l Vl

证明:(充分性) 满足条件的 G \mathcal G G ( d + 1 ) (d+1) (d+1)-rooted,所以有 k k k-生成树,仿射队形可实现。再加上 L f 1 s L_{f1}^s Lf1s的非奇异性,队形可被唯一确定,即仿射可操控。(必要性) 如果仿射可操控,必然存在 L s L^s Ls使得仿射队形可实现,故 G \mathcal G G ( d + 1 ) (d+1) (d+1)-rooted满足条件。

假设6:集合 V f V_f Vf中的每一个follower都 ( d + 1 ) (d+1) (d+1)-reachable from集合 V l V_l Vl

leader和follower分层控制律

问题1:给定初始队形 G ( q ( 0 ) ) \mathcal G(q(0)) G(q(0))和nominal configuration matrix P ( r ) P(r) P(r),为每一个agent设计基于邻居相对位置和速度的控制律 τ i ( t ) \tau_i(t) τi(t),使得 q l → − ( L l 1 − 1 L l 2 ⊗ I d ) q 0 + p q_l\to -(L_{l1}^{-1}L_{l2}\otimes I_d)q_0+p ql(Ll11Ll2Id)q0+p,且 q f → − ( ( L f 1 s ) − 1 L f 2 s ⊗ I d ) q l q_f\to-((L_{f1}^s)^{-1}L_{f2}^s\otimes I_d)q_l qf((Lf1s)1Lf2sId)ql误差有界,其中 p = [ p 1 T , ⋯   , p N l T ] T p=[p_1^T,\cdots,p_{N_l}^T]^T p=[p1T,,pNlT]T p i p_i pi为相对于nominal formation的位移。

可以看出, − ( L l 1 − 1 L l 2 ⊗ I d ) q 0 -(L_{l1}^{-1}L_{l2}\otimes I_d)q_0 (Ll11Ll2Id)q0实现consensus,即所有leader收敛于 q 0 q_0 q0,再加上 p p p即为相对 q 0 q_0 q0的位移。

论文对两层都用了自适应NN控制律(adaptive NN-based control law),误差有限时间收敛到原点的一个邻域,即practical finite-time stability8

注意:这里的practical是针对EL系统的模型不确定性来说的,如果模型完全确定,那么是可以有限时间收敛到原点的。

至于自适应NN控制律如何设计,我在这里挖个坑,之后的文章里结合Wang 20099讲。


  1. Li, D., Ma, G., Xu, Y., He, W., & Ge, S. S. (2020). Layered Affine Formation Control of Networked Uncertain Systems: A Fully Distributed Approach Over Directed Graphs. IEEE Transactions on Cybernetics, 1–12. https://doi.org/10.1109/tcyb.2020.2965657 ↩︎

  2. Lin, Z., Wang, L., Chen, Z., Fu, M., & Han, Z. (2016). Necessary and sufficient graphical conditions for affine formation control. IEEE Transactions on Automatic Control, 61(10), 2877–2891. https://doi.org/10.1109/TAC.2015.2504265 ↩︎

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

  4. Meng, Z., Lin, Z., & Ren, W. (2013). Robust cooperative tracking for multiple non-identical second-order nonlinear systems. In Automatica (Vol. 49, pp. 2363–2372). Elsevier Ltd. https://doi.org/10.1016/j.automatica.2013.04.040 ↩︎

  5. Meng, Z., Ren, W., & You, Z. (2010). Distributed finite-time attitude containment control for multiple rigid bodies. Automatica, 46(12), 2092–2099. https://doi.org/10.1016/j.automatica.2010.09.005 ↩︎

  6. Wikipedia contributors. (2020, August 29). M-matrix. In Wikipedia, The Free Encyclopedia. Retrieved 08:23, October 8, 2020, from https://en.wikipedia.org/w/index.php?title=M-matrix&oldid=975609653 ↩︎

  7. Wikipedia contributors. (2020, May 20). Minor (linear algebra). In Wikipedia, The Free Encyclopedia. Retrieved 02:22, October 8, 2020, from https://en.wikipedia.org/w/index.php?title=Minor_(linear_algebra)&oldid=957799839 ↩︎

  8. Zhu, Z., Xia, Y., & Fu, M. (2011). Attitude stabilization of rigid spacecraft with finite-time convergence. International Journal of Robust and Nonlinear Control, 21(6), 686–702. https://doi.org/10.1002/rnc.1624 ↩︎

  9. Wang, L., Chai, T., & Zhai, L. (2009). Neural-network-based terminal sliding-mode control of robotic manipulators including actuator dynamics. IEEE Transactions on Industrial Electronics, 56(9), 3296–3304. https://doi.org/10.1109/TIE.2008.2011350 ↩︎

多智能体的仿射编队是指多个智能体之间通过相互通信和协作实现一定的编队形态。以下是一个简单的MATLAB代码示例,用于实现多智能体的仿射编队。 ```matlab % 定义仿射编队的智能体数量 agent_num = 4; % 初始化仿射编队的坐标 x = zeros(agent_num, 1); y = zeros(agent_num, 1); % 设置仿射编队的目标位置 target_x = [1; 2; 3; 4]; target_y = [1; 2; 3; 4]; % 定义仿射编队的控制增益 K = 0.5; % 设置仿射编队的仿射变换矩阵 A = [1 1; -1 1]; % 开始仿射编队的迭代计算 for iter = 1:100 % 智能体之间的通信和协作 for i = 1:agent_num % 计算与邻居智能体之间的相对位移 relative_pos_x = x - x(i); relative_pos_y = y - y(i); % 通过仿射变换计算更新量 delta_x = K * A * relative_pos_x; delta_y = K * A * relative_pos_y; % 更新智能体的位置 x(i) = x(i) + delta_x(i); y(i) = y(i) + delta_y(i); end % 绘制仿射编队的图形 plot(x, y, 'ro'); hold on; plot(target_x, target_y, 'bo'); hold off; xlim([-10 10]); ylim([-10 10]); grid on; drawnow; end ``` 上述代码中,我们首先定义了智能体的数量`agent_num`,并初始化了智能体的位置`x`和`y`。然后设置了目标位置`target_x`和`target_y`,以及仿射编队的控制增益`K`和仿射变换矩阵`A`。在迭代计算中,我们通过相互通信和协作,计算出每个智能体与邻居智能体之间的相对位移,并利用仿射变换计算更新量。最后,我们绘制了智能体和目标位置的图形,并进行动态显示。 需要注意的是,以上代码只是一个简化的示例,实际的仿射编队算法还需要考虑更多的因素,比如碰撞检测、路径规划等。这里只给出了一个基本的框架,具体的实现可以根据实际需求进行调整和修改。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值