【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离
代碼地址:https://github.com/Jichao-Zhao/MAS_CooperativeClusterMotionControl
第11章-基于鄰居相關(guān)狀態(tài)的多智能體非合作行為檢測與隔離
- 11.1 研究背景
- 11.2 基于鄰居相關(guān)狀態(tài)的非合作行為檢測
- 11.2.1 問題描述
- 11.2.2 非合作行為檢測模型的構(gòu)建
- 引理11.1 (零點(diǎn)的傳輸阻塞定理)
- 輸入模態(tài)
- 自由模態(tài)
- 定理11.1
- 傅里葉分解
- 引理11.2 (PBH 秩判據(jù)定理)
- 推論11.1
- 定理11.2
- 定理11.3
- 11.2.3 非合作行為檢測算法的設(shè)計(jì)
- 1. 非合作信號重構(gòu)算法
- 切比雪夫不等式
- 11.2.4 數(shù)值仿真
- 1. 單純的通信和達(dá)到一致
- 注意:因?yàn)樘^復(fù)雜因此暫時(shí)未采用書中給出的控制協(xié)議
- 2. 加入領(lǐng)航者
- 3. 加入非合作節(jié)點(diǎn)
- 4. 加入修復(fù)算法
- 5. 書本中的控制協(xié)議
- 11.3 非合作行為檢測信息的交互與融合
- 11.3.1 問題描述
- 11.3.2 檢測信息的交互與融合方案
- 11.3.3 數(shù)值仿真
- 11.4 結(jié)論
11.1 研究背景
通過一系列模型變換,給出一種僅利用相關(guān)狀態(tài)信息的非合作行為檢測算法。
同樣的思想。該算法通過求解線性系統(tǒng)方程獲得節(jié)點(diǎn)的理論運(yùn)動(dòng)狀態(tài),
并將該狀態(tài)與傳感器獲得的節(jié)點(diǎn)實(shí)際運(yùn)動(dòng)狀態(tài)進(jìn)行比較,
借此觀測非合作行為是否存在。
局部信息交互算法
一致性通信協(xié)議
11.2 基于鄰居相關(guān)狀態(tài)的非合作行為檢測
所用動(dòng)力學(xué)模型為線性系統(tǒng)模型
11.2.1 問題描述
最為常用的帶有故障信號的線性節(jié)點(diǎn)動(dòng)力學(xué)模型為:
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)+Bf?fi?(t)yi?(t)=Cxi?(t)(11.1)
其標(biāo)準(zhǔn)形式為:
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 的非合作行為檢測問題,由于系統(tǒng)中節(jié)點(diǎn)的合作或是非合作行為體現(xiàn)在對鄰居的影響上,且執(zhí)行非合作行為檢測的鄰居而非節(jié)點(diǎn)本身,即使檢測出具體的故障信號 fi(t)f_i(t)fi?(t),也只能將節(jié)點(diǎn)隔離而無法針對具體的故障進(jìn)行修復(fù),因此考慮如下帶有非合作信號的節(jié)點(diǎn)動(dòng)力學(xué)模型:
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)
此模型的物理含義是:
若節(jié)點(diǎn) iii 實(shí)際輸出與理論輸出的偏差 eie_iei? 超過系統(tǒng)允許的范圍,則將節(jié)點(diǎn)檢測為非合作節(jié)點(diǎn)。
該模型的好處是:
可以直接分析鄰居的輸出而無需對鄰居具體的狀態(tài)信息進(jìn)行觀測,方法相對簡單且計(jì)算量小,便于在多智能體系統(tǒng)中應(yīng)用。
對輸出分解成以下兩部分:
矩陣 CCC 和向量 ei(t)e_i(t)ei?(t) 同樣也分解。
因此,可以獲得帶有相關(guān)狀態(tài)信息的節(jié)點(diǎn)動(dòng)力學(xué)模型為
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)?]=[Cd?xˉ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) 代表節(jié)點(diǎn)與鄰居之間的相關(guān)狀態(tài)信息。
11.2.2 非合作行為檢測模型的構(gòu)建
引理11.1 (零點(diǎn)的傳輸阻塞定理)
輸入模態(tài)
輸入模態(tài)
自由模態(tài)
自由模態(tài)
定理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)在用來檢測是否有故障信號存在時(shí)時(shí)等價(jià)的。
兩者最主要區(qū)別是
模型(11.1)可以用來確定故障的具體形式,如位置、大小、種類等;
模型(11.3)若用來執(zhí)行故障檢測任務(wù),則只能確認(rèn)故障是否存在,但若執(zhí)行非合作行為檢測,則可以排除一些不必要的誤檢情況,且計(jì)算量大大減少。
相關(guān)狀態(tài)信息的引入對系統(tǒng)可觀性的影響。
引理11.2 (PBH 秩判據(jù)定理)
推論11.1
對于式(11.4)所示含有相關(guān)狀態(tài)信息的節(jié)點(diǎn)動(dòng)力學(xué)模型,考慮如下同時(shí)包含節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)模型的擴(kuò)展節(jié)點(diǎn)動(dòng)力學(xué)模型:
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??Cd?H?Cu??],H=[1ni??,??Ini???]
定理11.2
在擴(kuò)展節(jié)點(diǎn)動(dòng)力學(xué)模型(11.12)中,系統(tǒng)(C^,A^\hat{C}, \hat{A}C^,A^)可觀當(dāng)且僅當(dāng)系統(tǒng)(Cd,AC_d, ACd?,A)可觀。
由定理11.2可知,相關(guān)狀態(tài)引入后對系統(tǒng)可觀性的影響相當(dāng)于這條信息不存在,若節(jié)點(diǎn)間的信息交互完全基于相關(guān)狀態(tài)信息,則系統(tǒng)必定不可觀。
雖然在模型(11.3)中非合作信號直接作用于輸出,但要獲得鄰居的理論輸出仍需借助對狀態(tài)的觀測。
由此,本章針對式(11.12)給出一系列模型變換,分解出其可觀測子空間,并借助新的可觀測模型完成非合作行為檢測算法的設(shè)計(jì)。
定義如下模型變換:
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)=Ts?x^i?(t)u^i0?(t)=Tc?u^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? 應(yīng)用至模型(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} =Ts?A^Ts?1?=
從模型(11.19)中分離出系統(tǒng)的可觀測子空間為
非合作行為檢測模型式(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???Cd?Ini???Cu??]
定理11.3
在擴(kuò)展動(dòng)力學(xué)模型(11.20)中,系統(tǒng)(C~,A~\tilde{C}, \tilde{A}C~,A~)完全可觀。
經(jīng)過上述一系列模型變換,最終得到節(jié)點(diǎn) iii 的非合作行為檢測模型為式(11.20)。
該模型不受節(jié)點(diǎn)間的相關(guān)狀態(tài)信息影響,且本身具有分布式特性,可應(yīng)用于系統(tǒng)中的每個(gè)節(jié)點(diǎn),實(shí)時(shí)完成對非合作節(jié)點(diǎn)的檢測。
11.2.3 非合作行為檢測算法的設(shè)計(jì)
1. 非合作信號重構(gòu)算法
模型(11.20)的標(biāo)準(zhǔn)形式可寫成
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ù)的非合作行為檢測算法,x~i(t0)=0\tilde{x}_i(t_0)=0x~i?(t0?)=0 可直接應(yīng)用;
但若檢測算法是周期性的,或是事件觸發(fā)的,則需要一個(gè)狀態(tài)觀測器來觀測算法起始時(shí)系統(tǒng)的狀態(tài)。
狀態(tài)觀測器
首先構(gòu)造用于狀態(tài)觀測的系統(tǒng)模型:
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)設(shè)計(jì)一個(gè)未知輸入觀測器,結(jié)構(gòu)為
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世紀(jì)俄國數(shù)學(xué)家切比雪夫研究統(tǒng)計(jì)規(guī)律中,論證并用標(biāo)準(zhǔn)差表達(dá)了一個(gè)不等式,這個(gè)不等式具有普遍的意義,被稱作切比雪夫定理,其大意是: 任意一個(gè)數(shù)據(jù)集中,位于其平均數(shù)m個(gè)標(biāo)準(zhǔn)差范圍內(nèi)的比例(或部分)總是至少為1-1/m 2,其中m為大于1的任意正數(shù)。
定理:
設(shè)隨機(jī)變量 XXX 具有數(shù)學(xué)期望 E(X)=μE(X)=\muE(X)=μ,方差 D(X)=σ2D(X)=\sigma^2D(X)=σ2 則對任意正數(shù) ε\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? 成立。
注意:
應(yīng)用切比雪夫不等式必須滿足 E(X)E(X)E(X) 和 D(X)D(X)D(X) 存在且有限這一條件。
11.2.4 數(shù)值仿真
1. 單純的通信和達(dá)到一致
注意:因?yàn)樘^復(fù)雜因此暫時(shí)未采用書中給出的控制協(xié)議
% 仿真實(shí)驗(yàn)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;% 時(shí)間參數(shù) tbegin = 0; tfinal = 20; dT = 0.1; T(:,1) = 0; % 計(jì)算次數(shù) times = (tfinal - tbegin) / dT;for time = 1:1:times% 記錄時(shí)間T(:, time+1) = T(:, time) + dT;% 記錄狀態(tài)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. 加入領(lǐng)航者
for time = 1:1:times% 記錄時(shí)間T(:, time+1) = T(:, time) + dT;% 記錄狀態(tài)UXt(:, time) = dT * (L * PXt(:, time) + L * VXt(:, time));VXt(:, time+1) = VXt(:, time) - UXt(:, time);VXt(2, time+1) = -2; % 加入領(lǐng)航者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; % 加入領(lǐng)航者PYt(:, time+1) = PYt(:, time) + dT * VYt(:, time);end3. 加入非合作節(jié)點(diǎn)
for time = 1:1:times% 記錄時(shí)間T(:, time+1) = T(:, time) + dT;% 記錄狀態(tài)UXt(:, time) = dT * (L * PXt(:, time) + L * VXt(:, time));VXt(:, time+1) = VXt(:, time) - UXt(:, time);VXt(2, time+1) = -2; % 加入領(lǐng)航者% 加入非合作行為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; % 加入領(lǐng)航者% 加入非合作行為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. 加入修復(fù)算法
5. 書本中的控制協(xié)議
2021-03-17 Update:
如書中所示,t=7st=7st=7s 時(shí),系統(tǒng)其他節(jié)點(diǎn)基本發(fā)生一致。
但同時(shí),非合作節(jié)點(diǎn) i=7i=7i=7 開始出現(xiàn)毀壞型非合作行為。
11.3 非合作行為檢測信息的交互與融合
11.3.1 問題描述
11.3.2 檢測信息的交互與融合方案
11.3.3 數(shù)值仿真
11.4 結(jié)論
自娛一下,抽象派畫師作畫:
總結(jié)
以上是生活随笔為你收集整理的【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【控制】《多智能体系统的协同群集运动控制
- 下一篇: 【数理知识】Riccati 黎卡提 sy