V této kapitole se podíváme na metody adaptivního řízení víceagentových systémů (MAS), konkrétně na dosažení konsenzu v podmínkách, kdy jsou systémy vystaveny nelinearitám a neurčitostem. Přístup, který je zde uveden, využívá distribuovaného adaptivního řízení a je založen na principech jako je stabilizace chyby a přizpůsobování parametrů systému v reálném čase.

Základem tohoto řízení je definice vhodné funkce H(s,t)H(s, t), která je implementována podle rovnice (6.24). Konkrétně, použití funkce Fresnelovy integrace, definované jako fres(x)=0xsin(y2)dy\text{fres}(x) = \int_0^x \sin(y^2) \, dy, je klíčovým krokem pro formování adaptivní zákonitosti. Tento přístup je postaven na rovnicích jako jsou (6.30) a (6.40), kde βi(si,t)\beta_i(s_i, t) představuje specifickou složku adaptivního řízení, která umožňuje přizpůsobení ve vztahu k nelinearitám v systému.

Důležitým momentem je i časová parciální derivace funkce βi(si,t)\beta_i(s_i, t) podle času, která je nezbytná pro správnou aplikaci kontrolního algoritmu. Rovnice (6.41) ukazuje, jak tato derivace ovlivňuje změnu stavu systému a jak lze dosáhnout stabilního chování i při přítomnosti nelinearit, což je ukázáno na obrázcích 6.10 a 6.11.

Přestože stejný typ řízení může být použit i pro první řád MAS s nelineárními funkcemi H(s,t)H(s,t), dosažený konsenzus není konstantní. To znamená, že výsledky nemusí vést k úplné stabilizaci v konstantním vzoru, ale spíše k nějaké formě aproximačního konsenzu, což je ukázáno na obrázku 6.10. Tento rozdíl je zřejmý, když se porovnává přístup s gradientem Lyapunovovy funkce s metodou, která používá distribuovanou adaptivní schému.

V dalších příkladech, jako je ten uvedený v (6.4), se zvažuje použití soustavy s lineárními agentními modely a příslušnými nelinearitami, kde se provádí koordinátní transformace pro usnadnění návrhu adaptivního zákona. Tato transformace vede k novým maticím AsA_s a BsB_s, které jsou použity při navrhování regulátoru, jenž následně zajistí dosažení konsenzu v systému.

Velmi důležitou součástí tohoto přístupu je správné nastavení adaptivního řízení pro systémy, které podléhají neurčitostem v nelinearitách, jak je uvedeno v příkladu s funkcí hi(si,t)h_i(s_i, t), která zahrnuje složité vzorce a sinusové funkce. Tento typ adaptivního řízení vyžaduje precizní analýzu chování parametrů wiw_i, které mohou být v neznámých podmínkách odhadnuty pomocí dynamických změn.

Je třeba si uvědomit, že dosažení konsenzu není vždy snadné, zejména v případě, kdy jsou nelinearity výrazné nebo systém má složitější strukturu. Dosažení konstantního vzoru konsenzu vyžaduje nejen správně navržené adaptivní zákony, ale i sofistikovaný přístup k parametrizaci a odhadu neznámých hodnot v systému. Tento proces vyžaduje pochopení dynamiky celého víceagentového systému a pečlivý výběr parametrů pro adaptivní řízení.

Kromě samotného návrhu řízení je důležité, aby čtenář rozuměl metodám, jakými je možné stabilizovat systém i při změnách v topologii sítě. V případech, kdy se síť nachází v dynamických nebo směrových grafických konfiguracích, může být konsenzus dosažen pouze za podmínky, že existuje vhodná spojitost mezi agenty. I když tento přístup není vždy aplikovatelný v reálném čase pro všechny možné topologie, je výhodné pochopit základy stability a adaptivního přizpůsobení v distribuovaných systémech.

Jak efektivně navrhnout regulaci výstupů v nelineárních systémech s heterogenními agenty

Feedforward návrh v systému je založen na jednoduchosti statické kompenzace. Tento statický feedforward je zobrazen v diagramu na obrázku 9.2 pomocí trojúhelníku označeného jako „FF“. Jak bylo zmíněno v sekci 2.6, přesný výpočet feedforward kompenzace závisí na požadované referenční trajektorii qi(t)q_i(t) a jejích časových derivacích, které jsou generovány referenčním modelem. Když jsou všechny referenční modely vzájemně propojeny, vliv sítě může bránit dostupnosti vyšších časových derivací referenční trajektorie. V tomto kontextu je realizovatelnost feedforward regulátoru závislá na správném návrhu referenčního modelu s dostatečně vysokým relativním stupněm mezi výstupem qiq_i a vstupem sítě μi\mu_i. Tento stupeň zajišťuje, že agent může lokálně přistupovat k výstupní trajektorii a vyšším derivacím svého referenčního modelu, aniž by byl závislý na vstupu do sítě.

Jakmile je feedforward kompenzace dokončena, další aspekt návrhu se transformuje na problém stabilizace, konkrétně výpočet ustbiu_{stbi}, jak je znázorněno na obrázku 9.2. Tento problém stabilizace může být snadno vyřešen prostřednictvím regulace zpětné vazby stavu. V případě výstupní zpětné vazby je obvykle nutný high-gain pozorovatel, jak je znázorněno blokem „Observer/Stabilizer“ na diagramu. Hlavní výhodou této metody je její přímé využití feedforward kompenzace k dosažení regulačního cíle limtereg(t)=0\lim_{t \to \infty} e_{reg}(t) = 0. Tento cíl může být dosažen i v případech, kdy konsensus neprobíhá. Tato metoda je také aplikovatelná na širší spektrum nelineárních systémů než robustní přístup modelového sladění. Nevýhodou je však skutečnost, že přesná feedforward kompenzace není realizovatelná, pokud agentova dynamika obsahuje nejistoty.

Přístup založený na interním modelu je jedním z nejúčinnějších nástrojů pro řešení synchronizace nelineárních heterogenních systémů. Tento přístup zahrnuje široké spektrum nelineárních dynamik systémů, nicméně jeho nevýhodou je relativně složitější návrh a struktura regulátoru. V této a následující sekci jsou diskutovány dva scénáře: jeden zahrnující komunikaci stavů a druhý výstupní komunikaci.

První scénář, diskutovaný v této sekci, zahrnuje komunikaci stavů, kdy jsou stavy referenčních modelů sis_i, iNi \in N, přenášeny po síti a využívány sousedními agenty. Tento scénář zahrnuje dva kroky. První krok je charakterizován svou jednoduchostí, protože návrh konsenzusového regulátoru může být nezávislý na chování dynamiky agentů a může být reprezentován statickou funkcí generující μi\mu_i, jak je zobrazeno trojúhelníkem „SYN“ na obrázku 9.3. Výslovný návrh takového regulátoru byl diskutován v sekci 3.2. Konkrétně návrh μi\mu_i, nezávisle na návrhu uiu_i, dosahuje limteconsi(t)=0\lim_{t \to \infty} e_{cons_i}(t) = 0, a tedy limtμi(t)=0\lim_{t \to \infty} \mu_i(t) = 0. Druhý krok zahrnuje návrh uiu_i pro regulaci výstupu agenta yiy_i na qiq_i a dosažení cíle limteregi(t)=0\lim_{t \to \infty} e_{reg_i}(t) = 0.

Pokud μi=0\mu_i = 0 v referenčním modelu, jak je uvedeno v (9.4), regulace limteregi(t)=0\lim_{t \to \infty} e_{reg_i}(t) = 0 se stává standardní formulací problému robustní regulace výstupu, přičemž (9.4) funguje jako autonomní exosystém. Je dobře známo, že návrh založený na principu interního modelu může tento problém robustní regulace výstupu vyřešit, jak je uvedeno v sekci 2.6. Skutečný referenční model (9.2) je však vystaven vnějšímu vstupu μi\mu_i, což činí exosystém neautonomním a zavádí vnější poruchy. V tomto scénáři se dosažení limteregi(t)=0\lim_{t \to \infty} e_{reg_i}(t) = 0 stává neproveditelné. Nicméně můžeme princip interního modelu rozšířit tak, abychom řešili slabší požadavek, kde eregi(t)e_{reg_i}(t) je asymptoticky omezeno vnějšími poruchami uregi(t)u_{reg_i}(t). Tento požadavek je formulován jako:

lim suptereg(t)γreg(lim suptμ(t)),\limsup_{t \to \infty} ||e_{reg}(t)|| \leq \gamma_{reg}(\limsup_{t \to \infty} ||\mu(t)||),

kde γreg\gamma_{reg} patří do třídy KK funkcí. Tato formulace je označována jako problém perturbované regulace výstupu. Jak bylo zmíněno v sekci 2.6, interní model může převést tradiční robustní problém regulace výstupu na problém stabilizace. Podobně může převést problém perturbované regulace výstupu na problém stabilizace vstupu na stav.

V případě výstupní komunikace, jak je znázorněno na obrázku 9.4, se složitost zvyšuje. Návrh referenčních modelů následuje postup popsaný v sekci 9.3. Specifický návrh μi\mu_i splňuje požadavek perturbovaného konsenzu (9.7) pro nějakou konstantu γcons>0\gamma_{cons} > 0. Dále návrh uiu_i splňuje požadavek perturbované regulace výstupu (9.8) pro funkci γreg\gamma_{reg}. Výzvou v tomto scénáři je spojení těchto dvou akcí: perturbovaný konsenzus a perturbovaná regulace výstupu. Pouhé jejich spojení není dostatečné pro zajištění synchronizace výstupu. Důležitým požadavkem je tzv. podmínka malé zisky, která stanoví, že celkový zisk podél smyčky od erege_{reg} k μ\mu a zpět k erege_{reg} musí být disipační. Tato podmínka může být explicitně formulována jako:

γreg(γconsτ)<τ, τ>0.\gamma_{reg}(\gamma_{cons}\tau) < \tau, \ \forall \tau > 0.

Pokud je podmínka malé zisky splněna, může být zaručena synchronizace výstupu. S pevným ziskem γcons\gamma_{cons} pro perturbovaný konsenzus vyřešení problému perturbované regulace výstupu vyžaduje nalezení specifické (dostatečně malé) funkce zisku γreg\gamma_{reg}, která splňuje podmínku malé zisky.

Jak navrhnout mechanismus řízení na bázi spouštění událostí pro distribuované konsensuální systémy?

V této kapitole agent .i využívá místo .snet pro navrhování svého regulátoru vzorkovaná data .ŝnet,i. Je důležité zmínit, že agent .i potřebuje aktualizovat a vykonávat svůj kontrolní vstup pouze v okamžicích vzorkování tneth,itneth,i pro hetSih \in et Si, při použití .ŝnet,i, zatímco při použití .snet by bylo nutné aktualizovat kontrolní vstup ve všech okamžicích vzorkování všech agentů. Na základě .ŝnet,i je termín .sneti v rovnici (14.5) upraven následujícím způsobem:

snet(t)=(LiIl)s^net,i(t)=an,ti(si(te,h,i)sj(tnet,h,i))jN\sum s_{\text{net}}(t) = (L_i \otimes I_l) \hat{s}_{\text{net},i}(t) = a_{n,t}^i (s_i(t_{e,h,i}) - s_j(t_{net,h,i})) \quad j \in N

což lze zjednodušit na si(ttneth,i)=(LiIl)s(tnet,h,i)s_i(t_{tneth,i}) = (L_i \otimes I_l) s(t_{net,h,i}) pro všechna t[tneth,i,tnet,h+1,i)t \in [tneth,i , t_{net,h+1,i}), iNi \in N.

Používáme techniku známou jako aktualizace a vysílání: každý agent iNi \in N aktualizuje .sneti v okamžiku tneth,itneth,i a vysílá ji svým sousedům. Poté sousedé přijímají tuto vysílanou zprávu. Pomocí této techniky získává každý agent iNi \in N následující informace pro jVij \in V_i, což je jeho soused:

  • .sneti (t), aktualizované agentem ii v tneth,itneth,i podle (15.4);

  • .snetj (t), přijaté od agenta jj v tneth,jtneth',j.

Je třeba poznamenat, že pro každý tneth,itneth,i existuje hh', že tneth,i[tneth,j,tnet,h+1,j)tneth,i \in [tneth', j , t_{net,h'+1,j} ). Zatímco .sneti je vzorkovaný stav používaný pro návrh regulátoru u agenta ii, skutečný stav je definován jako si=(LiIl)ss_i = (L_i \otimes I_l)s, jak je uvedeno v (3.15). Rozdíl mezi těmito stavy je definován jako:

s~i(t)=si(t)snet,i(t),iN\tilde{s}_i(t) = s_i(t) - s_{\text{net},i}(t), \quad i \in N

Obvykle platí, že s~i(ttneth,i)=0\tilde{s}_i(t_{tneth,i}) = 0. Mějme snet=col(snet1,,snetN)s_{\text{net}} = col(s_{\text{net}1}, \dots, s_{\text{net}N}) a s~=col(s~1,,s~N)\tilde{s} = col(\tilde{s}_1, \dots, \tilde{s}_N). Prvním cílem této kapitoly je navrhnout distribuovaný mechanismus spouštění událostí pro generování časové posloupnosti tneth,itnet_{h,i}, hetSih \in et Si, tak, aby platilo tnet0,1=0tnet_{0,1} = 0 a tneth,i<tneth+1,itneth,i < tneth+1,i, spolu s konsenzuálním regulátorem (14.4). Tento regulátor využívá vzorkovaná data .sneti, jak je definováno v (15.4), pro dosažení konsenzu referenčních modelů podle vzoru (3.14).

Na základě referenčních modelů druhým krokem navrhneme regulační regulátor, postupující stejným způsobem, jaký byl uveden v sekci 14.1. Tento regulátor zahrnuje DSC (14.6) a DAC (14.7). Stav vzorkovaných dat zsmpl,iz_{\text{smpl},i} je definován v (14.8), kde tsmpl,h,it_{\text{smpl},h,i} představuje lokální okamžik vzorkování pro hsmpSih \in smp Si. Počet okamžiků, tedy událostí, v aktuálním nastavení může být konečný, což vyplývá z definice množiny smpSismp Si, zatímco v sekci 14.1 je počet okamžiků vždy nekonečný pro h=0,1,2,h = 0, 1, 2, \dots. Nechť interval vzorkování je Tsmpl,h,i=tsmpl,h+1,itsmpl,h,iT_{\text{smpl},h,i} = t_{\text{smpl},h+1,i} - t_{\text{smpl},h,i}. Druhým cílem této kapitoly je navrhnout distribuovaný mechanismus spouštění událostí pro generování časové posloupnosti tsmpl,h,it_{\text{smpl},h,i}, hsmpSih \in smp Si, tak, aby platilo tsmpl,0,1=0t_{\text{smpl},0,1} = 0 a tsmpl,h,i<tsmpl,h+1,it_{\text{smpl},h,i} < t_{\text{smpl},h+1,i}, a navrhnout stabilizátor (14.9), tak, aby chybová odezva ereg,ie_{\text{reg},i} definovaná v (12.5) měla asymptotický zisk ve vztahu k vstupu μi\mu_i podle (12.6).

Schéma ukazující celkovou strukturu regulátoru pro výše uvedené dva cíle je zobrazeno na obrázku 15.1.

Regulátor výstupní regulace s detekcí události pro každého jednotlivého agenta je oddělený od sítě, což znamená, že je zcela distribuovaný. To znamená, že mechanismy spouštění událostí pro lineární konsenzus i nelineární výstupní regulaci jsou navrženy nezávisle na sobě pro každého agenta. V prvním kroku, když je událost spuštěna v okamžiku tneth,itneth,i, provede agent ii konsenzuální kontrolní akci a vysílá stav .sneti (tneth,itneth,i) svým sousedům. Mezitím přijímá informace vysílané od svých sousedů, jako je .snetj (tneth,jtneth',j) od agenta jj v tneth,jtneth',j, pro nějaký hnetSjh' \in net S_j. Je zajímavé, že přijetí sj(ttneth,j)s_j(t_{tneth',j}) nevyvolá událost u agenta ii, ale bude použito pro určení podmínky pro spuštění události. V druhém kroku, když je událost spuštěna v okamžiku tsmpl,h,it_{\text{smpl},h,i}, pro každého agenta, je měření přeneseno na regulační regulátor, který je okamžitě vykonán. V tomto kroku neprobíhá žádné vysílání mezi agenty. Pro každého agenta jsou okamžiky spouštění událostí ttneth,it_{\text{tneth},i} a tsmpl,it_{\text{smpl},i} zcela nezávislé.

Teorie 14.1 zůstává platná i v tomto nastavení. Ukazuje řešitelnost problému synchronizace výstupu ve dvou krocích, které budou podrobně prozkoumány v následujících dvou sekcích. Dále se také zabývá klíčovou otázkou v řízení spouštěném událostmi, známou jako Zeno chování, které musí být vyloučeno. Toto vyloučení je definováno v podmínkách pro et,mpet, mp:

inftntnet>0pokud{tsmpl}>0,iN\inf{tn - t_{\text{net}}} > 0 \quad \text{pokud} \quad \{t_{\text{smpl}}\} > 0, i \in N

Tento výraz zajišťuje, že v daném časovém intervalu nemůže nastat nekonečný počet událostí.