【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离
第10章 | 回到目录 | 无 |
---|
代码地址:https://github.com/Jichao-Zhao/MAS_CooperativeClusterMotionControl
第11章-基于邻居相关状态的多智能体非合作行为检测与隔离
- 11.1 研究背景
- 11.2 基于邻居相关状态的非合作行为检测
- 11.2.1 问题描述
- 11.2.2 非合作行为检测模型的构建
- 引理11.1 (零点的传输阻塞定理)
- 输入模态
- 自由模态
- 定理11.1
- 傅里叶分解
- 引理11.2 (PBH 秩判据定理)
- 推论11.1
- 定理11.2
- 定理11.3
- 11.2.3 非合作行为检测算法的设计
- 1. 非合作信号重构算法
- 切比雪夫不等式
- 11.2.4 数值仿真
- 1. 单纯的通信和达到一致
- 注意:因为太过复杂因此暂时未采用书中给出的控制协议
- 2. 加入领航者
- 3. 加入非合作节点
- 4. 加入修复算法
- 5. 书本中的控制协议
- 11.3 非合作行为检测信息的交互与融合
- 11.3.1 问题描述
- 11.3.2 检测信息的交互与融合方案
- 11.3.3 数值仿真
- 11.4 结论
11.1 研究背景
通过一系列模型变换,给出一种仅利用相关状态信息的非合作行为检测算法。
同样的思想。该算法通过求解线性系统方程获得节点的理论运动状态,
并将该状态与传感器获得的节点实际运动状态进行比较,
借此观测非合作行为是否存在。
局部信息交互算法
一致性通信协议
11.2 基于邻居相关状态的非合作行为检测
所用动力学模型为线性系统模型
11.2.1 问题描述
最为常用的带有故障信号
的线性节点动力学模型为:
xi˙(t)=Axi(t)+Bui(t)+Bffi(t)yi(t)=Cxi(t)(11.1)\dot{x_i}(t) = A x_i(t) + B u_i(t) + \red{B_f f_i(t)} \\ y_i(t) = C x_i(t) \tag{11.1}xi˙(t)=Axi(t)+Bui(t)+Bffi(t)yi(t)=Cxi(t)(11.1)
其标准形式为:
xˉ˙i(t)=Axˉi(t)+Bui(t)yˉi(t)=Cxˉi(t)(11.2)\dot{\bar{x}}_i(t) = A \bar{x}_i(t) + B u_i(t) \\ \bar{y}_i(t) = C \bar{x}_i(t) \tag{11.2}xˉ˙i(t)=Axˉi(t)+Bui(t)yˉi(t)=Cxˉi(t)(11.2)
MAS 的非合作行为检测问题,由于系统中节点的合作或是非合作行为体现在对邻居的影响上,且执行非合作行为检测的邻居而非节点本身,即使检测出具体的故障信号 fi(t)f_i(t)fi(t),也只能将节点隔离而无法针对具体的故障进行修复,因此考虑如下带有非合作信号的节点动力学模型:
xˉ˙i(t)=Axˉi(t)+Bui(t)yi(t)=Cxˉi(t)+ei(t)(11.3)\dot{\bar{x}}_i(t) = A \bar{x}_i(t) + B u_i(t) \\ y_i(t) = C \bar{x}_i(t) + \red{e_i(t)} \tag{11.3}xˉ˙i(t)=Axˉi(t)+Bui(t)yi(t)=Cxˉi(t)+ei(t)(11.3)
此模型的物理含义是:
若节点 iii 实际输出与理论输出的偏差 eie_iei 超过系统允许的范围,则将节点检测为非合作节点。
该模型的好处是:
可以直接分析邻居的输出而无需对邻居具体的状态信息进行观测,方法相对简单且计算量小,便于在多智能体系统中应用。
对输出分解成以下两部分:
- ydi(t)∈Rry_{di}(t) \in \mathbb{R}^rydi(t)∈Rr 可以直接测量获得;
- yui(t)∈Rp−ry_{ui}(t) \in \mathbb{R}^{p-r}yui(t)∈Rp−r 尽可以测量相关状态信息(即部分信息)。
矩阵 CCC 和向量 ei(t)e_i(t)ei(t) 同样也分解。
因此,可以获得带有相关状态信息
的节点动力学模型为
xˉ˙i(t)=Axˉi(t)+Bui(t)zij(t)=[ydj(t)yui(t)−yuj(t)]=[Cdxˉj(t)Cu(xˉi(t)−xˉj(t))]+[edj(t)eui(t)−euj(t)](11.4)\begin{aligned} \dot{\bar{x}}_i(t) &= A \bar{x}_i(t) + Bu_i(t) \\ \red{z_{ij}(t)} &= \left[\begin{matrix} y_{dj}(t) \\ y_{ui}(t)-y_{uj}(t) \end{matrix}\right] \\ & = \left[\begin{matrix} C_d\bar{x}_j(t) \\ C_u(\bar{x}_i(t)-\bar{x}_j(t))\end{matrix}\right] + \left[\begin{matrix} e_{dj}(t) \\ e_{ui}(t)-e_{uj}(t) \end{matrix}\right] \end{aligned} \tag{11.4}xˉ˙i(t)zij(t)=Axˉi(t)+Bui(t)=[ydj(t)yui(t)−yuj(t)]=[Cdxˉj(t)Cu(xˉi(t)−xˉj(t))]+[edj(t)eui(t)−euj(t)](11.4)
其中,zij(t)\red{z_{ij}(t)}zij(t) 代表节点与邻居之间的相关状态信息。
11.2.2 非合作行为检测模型的构建
引理11.1 (零点的传输阻塞定理)
输入模态
输入模态
自由模态
自由模态
定理11.1
傅里叶分解
傅里叶分解
由定理 11.1 可知,fi(t)≡0⇒ei(t)≡0f_i(t)\equiv 0 \Rightarrow e_i(t)\equiv0fi(t)≡0⇒ei(t)≡0 成立,
但 ei(t)≡0⇒fi(t)≡0e_i(t)\equiv0 \Rightarrow f_i(t)\equiv 0ei(t)≡0⇒fi(t)≡0 不一定成立。
模型(11.3)与(11.1)在用来检测是否有故障信号存在时时等价的。
两者最主要区别是
模型(11.1)可以用来确定故障的具体形式,如位置、大小、种类等;
模型(11.3)若用来执行故障检测任务,则只能确认故障是否存在,但若执行非合作行为检测,则可以排除一些不必要的误检情况,且计算量大大减少。
相关状态信息的引入对系统可观性的影响。
引理11.2 (PBH 秩判据定理)
推论11.1
对于式(11.4)所示含有相关状态信息
的节点动力学模型,考虑如下同时包含节点与其邻居节点模型的扩展节点动力学模型:
x^˙i(t)=A^x^i(t)+B^u^i(t)ψ^i(t)=C^x^i(t)+e^i(t)(11.12)\dot{\hat{x}}_i(t) = \hat{A} \hat{x}_i(t) + \hat{B} \hat{u}_i(t) \\ \hat{\psi}_i(t) = \hat{C} \hat{x}_i(t) + \hat{e}_i(t) \tag{11.12}x^˙i(t)=A^x^i(t)+B^u^i(t)ψ^i(t)=C^x^i(t)+e^i(t)(11.12)
其中,
x^i=Col(xˉi,xˉi1,⋯,xˉini),i1,⋯,ini∈Ni\hat{x}_i = \text{Col}(\bar{x}_i, \bar{x}_{i_1}, \cdots, \bar{x}_{i_{n_i}}), \quad i_1,\cdots,i_{n_i} \in N_ix^i=Col(xˉi,xˉi1,⋯,xˉini),i1,⋯,ini∈Ni
u^i=Col(uˉi,uˉi1,⋯,uˉini)\hat{u}_i = \text{Col}(\bar{u}_i, \bar{u}_{i_1}, \cdots, \bar{u}_{i_{n_i}})u^i=Col(uˉi,uˉi1,⋯,uˉini)
ψ^i=Col(ydi,ydi1,⋯,ydini,yui−yui1,⋯,yui−yuini)\hat{\psi}_i = \text{Col}(y_{di} , y_{di_1}, \cdots, y_{di_{n_i}}, y_{ui}-y_{ui_1}, \cdots, y_{ui}-y_{ui_{n_i}})ψ^i=Col(ydi,ydi1,⋯,ydini,yui−yui1,⋯,yui−yuini)
e^i=Col(edi,edi1,⋯,edini,eui−eui1,⋯,eui−euini)\hat{e}_i = \text{Col}(e_{di}, e_{di_1}, \cdots, e_{di_{n_i}}, e_{ui}-e_{ui_1}, \cdots, e_{ui}-e_{ui_{n_i}})e^i=Col(edi,edi1,⋯,edini,eui−eui1,⋯,eui−euini)
A^=Ini+1⊗A,B^=ini+1⊗B\hat{A} = I_{n_i+1} \otimes A, \quad \hat{B}=i_{n_i+1}\otimes BA^=Ini+1⊗A,B^=ini+1⊗B
C^=[Ini+1⊗CdH⊗Cu],H=[1ni,−Ini]\hat{C} = \left[\begin{matrix} I_{n_i+1}\otimes C_d \\ H\otimes C_u \end{matrix}\right],\quad H=\left[\begin{matrix} 1_{n_i}, & -I_{n_i} \end{matrix}\right]C^=[Ini+1⊗CdH⊗Cu],H=[1ni,−Ini]
定理11.2
在扩展节点动力学模型(11.12)中,系统(C^,A^\hat{C}, \hat{A}C^,A^)可观当且仅当系统(Cd,AC_d, ACd,A)可观。
由定理11.2可知,相关状态引入后对系统可观性的影响相当于这条信息不存在,若节点间的信息交互完全基于相关状态信息,则系统必定不可观。
虽然在模型(11.3)中非合作信号直接作用于输出,但要获得邻居的理论输出仍需借助对状态的观测。
由此,本章针对式(11.12)给出一系列模型变换,分解出其可观测子空间,并借助新的可观测模型完成非合作行为检测算法的设计。
定义如下模型变换:
x^i0(t)=Tsx^i(t)u^i0(t)=Tcu^i(t)ψ^i0(t)=Trψ^i(t)(11.18)\hat{x}_i^0(t) = T_s \hat{x}_i(t) \\ \hat{u}_i^0(t) = T_c \hat{u}_i(t) \\ \hat{\psi}_i^0(t) = T_r \hat{\psi}_i(t) \tag{11.18}x^i0(t)=Tsx^i(t)u^i0(t)=Tcu^i(t)ψ^i0(t)=Trψ^i(t)(11.18)
其中,
Ts=T_s = Ts=
Tc=T_c = Tc=
Tr=T_r = Tr=
将变换 TsT_sTs、TcT_cTc、TrT_rTr 应用至模型(11.12)中可得
x^i0(t)=ψ^i0(t)=(11.19)\hat{x}_i^0(t) = \\ \hat{\psi}_i^0(t) = \tag{11.19}x^i0(t)=ψ^i0(t)=(11.19)
其中,
TsA^Ts−1=T_s\hat{A}T_s^{-1} =TsA^Ts−1=
从模型(11.19)中分离出系统的可观测子空间为
非合作行为检测模型式(11.20):
x~˙i(t)=A~x~i(t)+B~u~i(t)ψ~i(t)=C~x~i(t)+e~i(t)(11.20)\dot{\tilde{x}}_i(t) = \tilde{A} \tilde{x}_i(t) + \tilde{B} \tilde{u}_i(t) \\ \tilde{\psi}_i(t) = \tilde{C} \tilde{x}_i(t) + \tilde{e}_i(t) \tag{11.20}x~˙i(t)=A~x~i(t)+B~u~i(t)ψ~i(t)=C~x~i(t)+e~i(t)(11.20)
其中,
x~i=Col(xˉi−xˉi1,⋯,xˉi−xˉini)\tilde{x}_i = \text{Col} (\bar{x}_i-\bar{x}_{i_1}, \cdots, \bar{x}_i-\bar{x}_{i_{n_i}})x~i=Col(xˉi−xˉi1,⋯,xˉi−xˉini);
u~i=Col(ui−ui1,⋯,ui−uini)\tilde{u}_i = \text{Col} (u_i-u_{i_1}, \cdots, u_i-u_{i_{n_i}})u~i=Col(ui−ui1,⋯,ui−uini);
ψ~i=Col(ydi−ydi1,⋯,ydi−ydini,yui−yui1,⋯,yui−yuini)\tilde{\psi}_i = \text{Col} (y_{di}-y_{di_1}, \cdots, y_{di}-y_{di_{n_i}}, y_{ui}-y_{ui_1}, \cdots, y_{ui}-y_{ui_{n_i}})ψ~i=Col(ydi−ydi1,⋯,ydi−ydini,yui−yui1,⋯,yui−yuini);
e~i=Col(edi−edi1,⋯,edi−edini,eui−eui1,⋯,eui−euini)\tilde{e}_i = \text{Col} (e_{di}-e_{di_1}, \cdots, e_{di}-e_{di_{n_i}}, e_{ui}-e_{ui_1}, \cdots, e_{ui}-e_{ui_{n_i}})e~i=Col(edi−edi1,⋯,edi−edini,eui−eui1,⋯,eui−euini);
A~=Ini⊗A,B~=Ini⊗B,C~=[Ini⊗CdIni⊗Cu]\tilde{A} = I_{n_i} \otimes A, \quad \tilde{B} = I_{n_i} \otimes B,\quad \tilde{C} = \left[ \begin{matrix} I_{n_i}\otimes C_d \\ I_{n_i}\otimes C_u \end{matrix} \right]A~=Ini⊗A,B~=Ini⊗B,C~=[Ini⊗CdIni⊗Cu]
定理11.3
在扩展动力学模型(11.20)中,系统(C~,A~\tilde{C}, \tilde{A}C~,A~)完全可观。
经过上述一系列模型变换,最终得到节点 iii 的非合作行为检测模型为式(11.20)。
该模型不受节点间的相关状态信息影响,且本身具有分布式特性,可应用于系统中的每个节点,实时完成对非合作节点的检测。
11.2.3 非合作行为检测算法的设计
1. 非合作信号重构算法
模型(11.20)的标准形式可写成
x~˙i(t)=A~x~i(t)+B~u~i(t)ψˉi(t)=C~x~i(t)(11.22)\dot{\tilde{x}}_i(t) = \tilde{A} \tilde{x}_i(t) + \tilde{B} \tilde{u}_i(t) \\ \bar{\psi}_i(t) = \tilde{C} \tilde{x}_i(t) \tag{11.22}x~˙i(t)=A~x~i(t)+B~u~i(t)ψˉi(t)=C~x~i(t)(11.22)
对于连续的非合作行为检测算法,x~i(t0)=0\tilde{x}_i(t_0)=0x~i(t0)=0 可直接应用;
但若检测算法是周期性的,或是事件触发的,则需要一个状态观测器来观测算法起始时系统的状态。
状态观测器
首先构造用于状态观测的系统模型:
x~˙i(t)=A~x~i(t)+(11.26)\dot{\tilde{x}}_i(t) = \tilde{A} \tilde{x}_i(t) + \tag{11.26}x~˙i(t)=A~x~i(t)+(11.26)
针对式(11.26)设计一个未知输入观测器,结构为
z˙i(t)=Fzi(t)+TB~u~i(t)+Kψ~i(t)x~^i(t)=zi(t)+Hψ~i(t)(11.27)\dot{z}_i(t) = F z_i(t) + T \tilde{B} \tilde{u}_i(t) + K \tilde{\psi}_i(t) \\ \hat{\tilde{x}}_i(t) = z_i(t) + H \tilde{\psi}_i(t) \tag{11.27}z˙i(t)=Fzi(t)+TB~u~i(t)+Kψ~i(t)x~^i(t)=zi(t)+Hψ~i(t)(11.27)
切比雪夫不等式
切比雪夫不等式
切比雪夫定理切比雪夫不等式的提出 19世纪俄国数学家切比雪夫研究统计规律中,论证并用标准差表达了一个不等式,这个不等式具有普遍的意义,被称作切比雪夫定理,其大意是: 任意一个数据集中,位于其平均数m个标准差范围内的比例(或部分)总是至少为1-1/m 2,其中m为大于1的任意正数。
定理:
设随机变量 XXX 具有数学期望 E(X)=μE(X)=\muE(X)=μ,方差 D(X)=σ2D(X)=\sigma^2D(X)=σ2 则对任意正数 ε\varepsilonε,不等式 P{∣X−μ∣≥ε}≤σ2ε2P\{|X-\mu| \ge \varepsilon\} \le \frac{\sigma^2}{\varepsilon^2}P{∣X−μ∣≥ε}≤ε2σ2 或 P{∣X−μ∣<ε}≥1−σ2ε2P\{|X-\mu| < \varepsilon\} \ge 1-\frac{\sigma^2}{\varepsilon^2}P{∣X−μ∣<ε}≥1−ε2σ2 成立。
注意:
应用切比雪夫不等式必须满足 E(X)E(X)E(X) 和 D(X)D(X)D(X) 存在且有限这一条件。
11.2.4 数值仿真
1. 单纯的通信和达到一致
注意:因为太过复杂因此暂时未采用书中给出的控制协议
% 仿真实验clear;
clc;PX0 = [ 1, 1, 7, 4, 4, 6, 7, 9, 7, 9, 4, 6]';
PY0 = [ 3, 6, 1, 6, 9, 2, 4, 2, 6, 9, 1, 9]';
VX0 = [1.5, -2, 1.2, 1.5, 0,-2.4, 3, 1.8, 0.8,-0.6, 2.3, 2.5]';
VY0 = [1.5, 2.5, 1.5,-1.5, 3, 1.2, 0, 1.2,-0.4, -3,-1.2, 2.5]';
PXt(:, 1) = PX0;
PYt(:, 1) = PY0;
VXt(:, 1) = VX0;
VYt(:, 1) = VY0;
% UXt(:, 1) = zeros(12,1);Z0 = [];A =[0 1 0 0 0 0 0 0 0 0 1 0;1 0 0 1 1 0 0 0 0 0 0 0;0 0 0 0 0 1 1 1 0 0 0 0;0 1 0 0 1 0 1 0 1 0 1 0;0 1 0 1 0 0 0 0 0 0 0 1;0 0 1 0 0 0 1 0 0 0 1 0;0 0 1 1 0 1 0 1 1 0 0 0;0 0 1 0 0 0 1 0 0 1 0 0;0 0 0 1 0 0 1 0 0 1 0 1;0 0 0 0 0 0 0 1 1 0 0 1;1 0 0 1 0 1 0 0 0 0 0 0;0 0 0 0 1 0 0 0 1 0 0 1;];D =[2 0 0 0 0 0 0 0 0 0 0 0;0 3 0 0 0 0 0 0 0 0 0 0;0 0 3 0 0 0 0 0 0 0 0 0;0 0 0 5 0 0 0 0 0 0 0 0;0 0 0 0 3 0 0 0 0 0 0 0;0 0 0 0 0 3 0 0 0 0 0 0;0 0 0 0 0 0 5 0 0 0 0 0;0 0 0 0 0 0 0 3 0 0 0 0;0 0 0 0 0 0 0 0 4 0 0 0;0 0 0 0 0 0 0 0 0 3 0 0;0 0 0 0 0 0 0 0 0 0 3 0;0 0 0 0 0 0 0 0 0 0 0 3;];L = D - A;% 时间参数
tbegin = 0;
tfinal = 20;
dT = 0.1;
T(:,1) = 0; % 计算次数
times = (tfinal - tbegin) / dT;for time = 1:1:times% 记录时间T(:, time+1) = T(:, time) + dT;% 记录状态UXt(:, time) = dT * (L * PXt(:, time) + L * VXt(:, time));VXt(:, time+1) = VXt(:, time) - UXt(:, time);PXt(:, time+1) = PXt(:, time) + dT * VXt(:, time);UYt(:, time) = dT * (L * PYt(:, time) + L * VYt(:, time));VYt(:, time+1) = VYt(:, time) - UYt(:, time);PYt(:, time+1) = PYt(:, time) + dT * VYt(:, time);endsubplot(2,2,1)
plot(T(1,:),VXt(1,:),'-', T(1,:),VXt(2,:),':', T(1,:),VXt(3,:),'--', T(1,:),VXt(4,:),'-.',...T(1,:),VXt(5,:), T(1,:),VXt(6,:), T(1,:),VXt(7,:), T(1,:),VXt(8,:),...T(1,:),VXt(9,:), T(1,:),VXt(10,:), T(1,:),VXt(11,:), T(1,:),VXt(12,:),...'linewidth',1)
grid on
legend('VX_1', 'VX_2', 'VX_3', 'VX_4', 'VX_5', 'VX_6', 'VX_7', 'VX_8', 'VX_9', 'VX_10', 'VX_11', 'VX_12');subplot(2,2,2)
plot(T(1,:),PXt(1,:),'-', T(1,:),PXt(2,:),':', T(1,:),PXt(3,:),'--', T(1,:),PXt(4,:),'-.',...T(1,:),PXt(5,:), T(1,:),PXt(6,:), T(1,:),PXt(7,:), T(1,:),PXt(8,:),...T(1,:),PXt(9,:), T(1,:),PXt(10,:), T(1,:),PXt(11,:), T(1,:),PXt(12,:),...'linewidth',1)
grid on
legend('PX_1', 'PX_2', 'PX_3', 'PX_4', 'PX_5', 'PX_6', 'PX_7', 'PX_8', 'PX_9', 'PX_10', 'PX_11', 'PX_12');subplot(2,2,3)
plot(T(1,:),VYt(1,:),'-', T(1,:),VYt(2,:),':', T(1,:),VYt(3,:),'--', T(1,:),VYt(4,:),'-.',...T(1,:),VYt(5,:), T(1,:),VYt(6,:), T(1,:),VYt(7,:), T(1,:),VYt(8,:),...T(1,:),VYt(9,:), T(1,:),VYt(10,:), T(1,:),VYt(11,:), T(1,:),VYt(12,:),...'linewidth',1)
grid on
legend('VY_1', 'VY_2', 'VY_3', 'VY_4', 'VY_5', 'VY_6', 'VY_7', 'VY_8', 'VY_9', 'VY_10', 'VY_11', 'VY_12');subplot(2,2,4)
plot(T(1,:),PYt(1,:),'-', T(1,:),PYt(2,:),':', T(1,:),PYt(3,:),'--', T(1,:),PYt(4,:),'-.',...T(1,:),PYt(5,:), T(1,:),PYt(6,:), T(1,:),PYt(7,:), T(1,:),PYt(8,:),...T(1,:),PYt(9,:), T(1,:),PYt(10,:), T(1,:),PYt(11,:), T(1,:),PYt(12,:),...'linewidth',1)
grid on
legend('PY_1', 'PY_2', 'PY_3', 'PY_4', 'PY_5', 'PY_6', 'PY_7', 'PY_8', 'PY_9', 'PY_10', 'PY_11', 'PY_12');
2. 加入领航者
for time = 1:1:times% 记录时间T(:, time+1) = T(:, time) + dT;% 记录状态UXt(:, time) = dT * (L * PXt(:, time) + L * VXt(:, time));VXt(:, time+1) = VXt(:, time) - UXt(:, time);VXt(2, time+1) = -2; % 加入领航者PXt(:, time+1) = PXt(:, time) + dT * VXt(:, time);UYt(:, time) = dT * (L * PYt(:, time) + L * VYt(:, time));VYt(:, time+1) = VYt(:, time) - UYt(:, time);VYt(2, time+1) = 2.5; % 加入领航者PYt(:, time+1) = PYt(:, time) + dT * VYt(:, time);end
3. 加入非合作节点
for time = 1:1:times% 记录时间T(:, time+1) = T(:, time) + dT;% 记录状态UXt(:, time) = dT * (L * PXt(:, time) + L * VXt(:, time));VXt(:, time+1) = VXt(:, time) - UXt(:, time);VXt(2, time+1) = -2; % 加入领航者% 加入非合作行为if time >= 71EXt(7, time) = -VXt(7, time); % 毁坏型% EXt(7, time) = -VXt(7, time) - 0.5; % 失控型% EXt(7, time) = -VXt(7, time) - 0.5*(rand-0.5); % 干扰型VXt(7, time) = VXt(7, time) + EXt(7, time);endPXt(:, time+1) = PXt(:, time) + dT * VXt(:, time);UYt(:, time) = dT * (L * PYt(:, time) + L * VYt(:, time));VYt(:, time+1) = VYt(:, time) - UYt(:, time);VYt(2, time+1) = 2.5; % 加入领航者% 加入非合作行为if time >= 71EYt(7, time) = -VYt(7, time); % 毁坏型% EYt(7, time) = -VYt(7, time) - 0.5; % 失控型% EYt(7, time) = -VYt(7, time) - 0.5*(rand-0.5); % 干扰型VYt(7, time) = VYt(7, time) + EYt(7, time);endPYt(:, time+1) = PYt(:, time) + dT * VYt(:, time);Vt (:, time+1) = sqrt( (VXt(:,time+1)).^2 + (VYt(:,time+1)).^2 );end
毁坏型:
失控型:
干扰型:
4. 加入修复算法
5. 书本中的控制协议
2021-03-17 Update:
如书中所示,t=7st=7st=7s 时,系统其他节点基本发生一致。
但同时,非合作节点 i=7i=7i=7 开始出现毁坏型非合作行为。
11.3 非合作行为检测信息的交互与融合
11.3.1 问题描述
11.3.2 检测信息的交互与融合方案
11.3.3 数值仿真
11.4 结论
自娱一下,抽象派画师作画:
【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离相关推荐
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第3章-基于代数连通度估计的多智能体系统群集运动控制
第2章 回到目录 第4章 第3章-基于代数连通度估计的多智能体系统群集运动控制 3.1 研究背景 3.2 问题描述 系统方程 (3.1) 3.3 控制律设计 控制协议 (3.7) 3.4 λ2\lam ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-目录
无 回到目录 第1章 跳转链接 章节 跳转链接 第1章 绪论 第2章 连通性保持条件下多智能体系统群集运动控制 第3章 基于代数连通度估计的多智能体系统群集运动控制 第4章 连通性保持下多移动机器人群 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第10章-一阶多智能体系统非合作行为检测与隔离
第9章 回到目录 第11章 第10章-一阶多智能体系统非合作行为检测与隔离 10.1 研究背景 流言算法 10.2 系统模型及非合作行为建模 10.2.1 系统建模 10.2.2 非合作行为定义 非合 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第1章-绪论
无 回到目录 第2章 第1章-绪论 1.1 多智能体分布式群集运动控制 Boids 模型 人工势场函数 极值映射 非光滑李亚普诺夫稳定性理论 势场力 代数连通度 谱特征 几何约束法 谱图理论法 次梯度 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第5章-基于骨干网络的多智能体系统群集运动与避障控制
第4章 回到目录 第6章 第5章-基于骨干网络的多智能体系统群集运动与避障控制 5.1 研究背景 5.2 预备知识 5.2.1 问题描述 运动方程 (5.1) 5.2.2 流体力学基础 可压缩性 黏性 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第2章-连通性保持条件下多智能体系统群集运动控制
第1章 回到目录 第3章 第2章-连通性保持条件下多智能体系统群集运动控制 2.1 研究背景 2.2 问题描述 2.3 领航跟随群集运动控制律 控制协议 (2.2) 符号函数 sgn(·) 人工势场函 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第7章-Brunovsky 型高阶非线性多智能体系统一致性控制
第6章 回到目录 第8章 第7章-Brunovsky 型高阶非线性多智能体系统一致性控制 7.1 研究背景 Brunovsky 7.2 问题描述 7.3 分布式控制器设计 自适应律 (7.30) 控制 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第6章-参数不确定的高阶非线性多智能体系统一致性控制
第5章 回到目录 第7章 第6章-参数不确定的高阶非线性多智能体系统一致性控制 6.1 研究背景 Backstepping 方法 Barbalat 引理 6.2 问题描述 控制协议 (6.1) (6. ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第4章-连通性保持下多移动机器人群集控制
第3章 回到目录 第5章 第4章-连通性保持下多移动机器人群集控制 4.1 研究背景 4.2 问题描述 系统方程 (4.1) 4.3 群集运动控制器设计 4.3.1 不带有领航者的群集运动控制 加权镜 ...
最新文章
- SpringBoot02_构建rest工程完成第一个controller类
- 添加与编辑共用一个jsp页面时,控制按钮的显示与隐藏
- mysql更新视图的时候有时候可以不满足视图条件的值也能更新成功
- CodeForces - 1343D Constant Palindrome Sum(思维+差分数组)
- 判断溢出(ybtoj-字符串)
- python打开火狐浏览器打不开网页_PHP让指定网页只能在微信内置浏览器打开 附代码...
- OpenFileDialog 打开文件对话框
- 一步步编写操作系统 67 系统调用的实现1-2 68
- Vue-cli(四) 项目中引入Axios
- Django的MEDIA_ROOT和STATIC_ROOT
- CentOS7.5安装MySql8.0
- 精品网站 mysql,【网址导航系统】基于PHP+MYSQL开发的开源网站分类目录管理系统...
- 【Python实践-6】将不规范的英文名字,变为首字母大写,其他小写的规范名字...
- http请求被挂起 cancled 原因
- 并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)
- 翻译:Swift中的Operations和OperationQueues入门
- python table_python学习之HTML-table标签
- 屏幕录制专家linux版,录屏大师免费版下载-录屏大师全新下载V3.5.3-Linux公社
- AutoCAD 命令定义
- 关于word粘贴图片显示不全的解决办法