我是靠谱客的博主 甜蜜冬日,最近开发中收集的这篇文章主要介绍[分布式控制浅述] (3)简单分布式事件触发控制[分布式控制浅述] (3)简单分布式事件触发控制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[分布式控制] (3)简单分布式事件触发控制

  • [分布式控制] (3)简单分布式事件触发控制
    • 1 前言
    • 2 分布式事件触发控制
    • 3 稳定性分析

[分布式控制] (3)简单分布式事件触发控制

事件触发控制(Event-triggered Control,ETC)是与传统的连续的周期控制不同的一类控制方法,事件触发控制不是在每个周期时都去计算和改变控制输入,而是在一些特定的、由系统稳定关系决定的一些特定时刻,去计算或改变控制输入。最早是K.Z Arzen教授和K.Astrom教授在首次提出的。
事件触发控制一般由两部分组成,第一是反馈控制器,第二是触发条件,也就是什么时候区更新控制输入。
本文根据笔者的经验和浅薄的知识,通俗易懂的介绍一个笔者认为较为经典的、容易理解的和一个分布式事件触发控制。
建议首先学习图论的预备知识以及简单的一致性理论:
[分布式控制] (1) 图论基础
[分布式控制] (2) 经典一阶系统的一致性问题

1 前言

经过多年的发展,分布式事件触发控制已经衍生出了很多,根据笔者的经验,大致有以下五种主要类别:
基于事件的控制(Event-Based Control,ETC)
基于模型的事件触发控制(Model-Based Event-Triggered Control)
基于采样数据的事件触发控制(Sampled-Data-Based Event-Triggered Control)
自触发控制(Self-Triggered Control)
动态事件触发控制(Dynamic Event-Triggered Control)

如果您想深入了解他们差异细节和讨论的不同问题,您可以参考下篇这篇综述:
Ding L, Han Q, Ge X, et al. An Overview of Recent Advances in Event-Triggered Consensus of Multiagent Systems[J]. IEEE Transactions on Cybernetics, 2018,48(4):1110-1123.

不过本文仅仅介绍其中一个笔者认为较为经典的、容易理解的和一个分布式事件触发控制,是基于Dimos V. Dimarogonas教授2012年的一篇TAC:
Dimarogonas D V, Frazzoli E, Johansson K H. Distributed Event-Triggered Control for Multi-Agent Systems[J]. IEEE Transactions on Automatic Control, 2012,57(5):1291-1297.

2 分布式事件触发控制

考虑无向图。
系统方程:
x ˙ i = u i {{dot{x}}_{i}}={{u}_{i}} x˙i=ui事件触发控制器:
u i ( t ) = q i ( t ) = − k ∑ j ∈ N i ( x i ( t k i ) − x j ( t k ′ ( t ) j ) ) t ∈ [ t k i , t k + 1 i ) begin{matrix} {{u}_{i}}left( t right)={{q}_{i}}left( t right)=-ksumlimits_{jin {{N}_{i}}}^{{}}{left( {{x}_{i}}left( t_{k}^{i} right)-{{x}_{j}}left( t_{{k}'left( t right)}^{j} right) right)} & tin left[ t_{k}^{i},t_{k+1}^{i} right) \ end{matrix} ui(t)=qi(t)=kjNi(xi(tki)xj(tk(t)j))t[tki,tk+1i)

切换条件:
e i 2 ( t ) ≤ σ 2 k l i j q ^ i ( t ) e_{i}^{2}left( t right)le frac{sigma }{2k{{l}_{ij}}}{{hat{q}}_{i}}left( t right) ei2(t)2klijσq^i(t)

其中:
0 < σ < 1 0<sigma <1 0<σ<1 e i ( t ) = x i ( t k i ) − x i ( t ) t ∈ [ t k i , t k + 1 i ) begin{matrix} {{e}_{i}}left( t right)={{x}_{i}}left( t_{k}^{i} right)-{{x}_{i}}left( t right) & tin left[ t_{k}^{i},t_{k+1}^{i} right) \ end{matrix} ei(t)=xi(tki)xi(t)t[tki,tk+1i)

对于 t ∈ [ t k i , t k + 1 i ) tin left[ t_{k}^{i},t_{k+1}^{i} right) t[tki,tk+1i) t k ′ ( t ) j t_{{k}'left( t right)}^{j} tk(t)j为智能体 j j j上次事件触发更新事件。因此,控制 u i ( t ) {{u}_{i}}left( t right) ui(t)会在自身时刻事件触发 t 0 i , t 1 i , … t_{0}^{i},t_{1}^{i},ldots t0i,t1i,,以及其邻居事件触发更新时刻 t 0 j , t 1 j , … t_{0}^{j},t_{1}^{j},ldots t0j,t1j, ,进行更新。值得注意的是,智能体 i i i j j j一般不会在同一时刻发生事件触发,因此 t k i t_{k}^{i} tki t k j t_{k}^{j} tkj表示的是不同时刻。
好了,这就是Dimos V. Dimarogonas教授提出的控制律,可以发现,输入 u i ( t ) {{u}_{i}}left( t right) ui(t)是非连续的,因为 x i ( t k i ) {{x}_{i}}left( t_{k}^{i} right) xi(tki) x j ( t k j ) {{x}_{j}}left( t_{k}^{j} right) xj(tkj)是非连续的。
下面进行理论层面的分析。

3 稳定性分析

考虑Lyapunov函数:
V = 1 2 x T ( I n − 1 n 1 T 1 ) x = 1 2 ∑ i = 1 n ( x i ( t ) − x ˉ ( 0 ) ) 2 begin{aligned} & V=frac{1}{2}{{mathbf{x}}^{T}}left( {{I}_{n}}-frac{1}{n}{{mathbf{1}}^{T}}mathbf{1} right)mathbf{x} \ & =frac{1}{2}sumlimits_{i=1}^{n}{{{left( {{x}_{i}}left( t right)-bar{x}left( 0 right) right)}^{2}}} end{aligned} V=21xT(Inn11T1)x=21i=1n(xi(t)xˉ(0))2其中 x ˉ ( 0 ) = 1 n ∑ i = 1 n x i ( 0 ) bar{x}left( 0 right)=frac{1}{n}sumlimits_{i=1}^{n}{{{x}_{i}}left( 0 right)} xˉ(0)=n1i=1nxi(0)
求导:
V ˙ = ∑ i = 1 n ( x i ( t ) − x ˉ ( 0 ) ) x ˙ i ( t ) = ∑ i = 1 n x i ( t ) ∑ j = 1 n − k l i j x ^ j ( t ) = − ∑ i = 1 n ( x ^ i ( t ) − e i ( t ) ) ∑ j = 1 n k l i j x ^ j ( t ) = − ∑ i = 1 n q ^ i ( t ) − ∑ i = 1 n ∑ j = 1 n e i ( t ) k l i j x ^ j ( t ) = − ∑ i = 1 n q ^ i ( t ) − ∑ i = 1 n ∑ j = 1 , i ≠ j n e i ( t ) k l i j ( x ^ j ( t ) − x ^ i ( t ) ) ≤ − ∑ i = 1 n q ^ i ( t ) + ∑ i = 1 n ∑ j = 1 , i ≠ j n k l i j e i 2 ( t ) + ∑ i = 1 n ∑ j = 1 , i ≠ j n 1 4 k l i j ( x ^ j ( t ) − x ^ i ( t ) ) 2 = − ∑ i = 1 n 1 2 q ^ i ( t ) + ∑ i = 1 n ∑ j = 1 , i ≠ j n k l i j e i 2 ( t ) begin{aligned} & dot{V}=sumlimits_{i=1}^{n}{left( {{x}_{i}}left( t right)-bar{x}left( 0 right) right){{{dot{x}}}_{i}}left( t right)} \ & =sumlimits_{i=1}^{n}{{{x}_{i}}left( t right)sumlimits_{j=1}^{n}{-k{{l}_{ij}}{{{hat{x}}}_{j}}left( t right)}} \ & =-sumlimits_{i=1}^{n}{left( {{{hat{x}}}_{i}}left( t right)-{{e}_{i}}left( t right) right)sumlimits_{j=1}^{n}{k{{l}_{ij}}{{{hat{x}}}_{j}}left( t right)}} \ & =-sumlimits_{i=1}^{n}{{{{hat{q}}}_{i}}left( t right)}-sumlimits_{i=1}^{n}{sumlimits_{j=1}^{n}{{{e}_{i}}left( t right)k{{l}_{ij}}{{{hat{x}}}_{j}}left( t right)}} \ & =-sumlimits_{i=1}^{n}{{{{hat{q}}}_{i}}left( t right)}-sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{{{e}_{i}}left( t right)k{{l}_{ij}}left( {{{hat{x}}}_{j}}left( t right)-{{{hat{x}}}_{i}}left( t right) right)}} \ & le -sumlimits_{i=1}^{n}{{{{hat{q}}}_{i}}left( t right)}+sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{k{{l}_{ij}}e_{i}^{2}left( t right)}}+sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{frac{1}{4}k{{l}_{ij}}{{left( {{{hat{x}}}_{j}}left( t right)-{{{hat{x}}}_{i}}left( t right) right)}^{2}}}} \ & =-sumlimits_{i=1}^{n}{frac{1}{2}{{{hat{q}}}_{i}}left( t right)}+sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{k{{l}_{ij}}e_{i}^{2}left( t right)}} end{aligned} V˙=i=1n(xi(t)xˉ(0))x˙i(t)=i=1nxi(t)j=1nklijx^j(t)=i=1n(x^i(t)ei(t))j=1nklijx^j(t)=i=1nq^i(t)i=1nj=1nei(t)klijx^j(t)=i=1nq^i(t)i=1nj=1,i=jnei(t)klij(x^j(t)x^i(t))i=1nq^i(t)+i=1nj=1,i=jnklijei2(t)+i=1nj=1,i=jn41klij(x^j(t)x^i(t))2=i=1n21q^i(t)+i=1nj=1,i=jnklijei2(t)

其中:
∑ i = 1 n q ^ i ( t ) = ∑ i = 1 n ∑ j = 1 , i ≠ j n 1 2 k l i j ( x ^ j ( t ) − x ^ i ( t ) ) 2 = k x ^ T ( t ) L x ^ ( t ) sumlimits_{i=1}^{n}{{{{hat{q}}}_{i}}left( t right)}=sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{frac{1}{2}k{{l}_{ij}}{{left( {{{hat{x}}}_{j}}left( t right)-{{{hat{x}}}_{i}}left( t right) right)}^{2}}}}=k{{mathbf{hat{x}}}^{T}}left( t right)Lmathbf{hat{x}}left( t right) i=1nq^i(t)=i=1nj=1,i=jn21klij(x^j(t)x^i(t))2=kx^T(t)Lx^(t) e i ( t ) ( x ^ j ( t ) − x ^ i ( t ) ) ≤ e i 2 ( t ) + ( x ^ j ( t ) − x ^ i ( t ) ) 2 {{e}_{i}}left( t right)left( {{{hat{x}}}_{j}}left( t right)-{{{hat{x}}}_{i}}left( t right) right)le e_{i}^{2}left( t right)+{{left( {{{hat{x}}}_{j}}left( t right)-{{{hat{x}}}_{i}}left( t right) right)}^{2}} ei(t)(x^j(t)x^i(t))ei2(t)+(x^j(t)x^i(t))2
容易知道,该系统在控制时必然满足切换条件 e i 2 ( t ) ≤ σ 2 k l i j q ^ i ( t ) e_{i}^{2}left( t right)le frac{sigma }{2k{{l}_{ij}}}{{hat{q}}_{i}}left( t right) ei2(t)2klijσq^i(t),那么代入切换条件,即有:
V ˙ ≤ − ∑ i = 1 n 1 2 q ^ i ( t ) + ∑ i = 1 n ∑ j = 1 , i ≠ j n k l i j e i 2 ( t ) ≤ − 1 2 ( 1 − σ ) x ^ T ( t ) L x ^ ( t ) ≤ 0 begin{aligned} & dot{V}le -sumlimits_{i=1}^{n}{frac{1}{2}{{{hat{q}}}_{i}}left( t right)}+sumlimits_{i=1}^{n}{sumlimits_{j=1,ine j}^{n}{k{{l}_{ij}}e_{i}^{2}left( t right)}} \ & le -frac{1}{2}left( 1-sigma right){{{mathbf{hat{x}}}}^{T}}left( t right)Lmathbf{hat{x}}left( t right)le text{0} end{aligned} V˙i=1n21q^i(t)+i=1nj=1,i=jnklijei2(t)21(1σ)x^T(t)Lx^(t)0

显然,是渐近稳定的。

最后

以上就是甜蜜冬日为你收集整理的[分布式控制浅述] (3)简单分布式事件触发控制[分布式控制浅述] (3)简单分布式事件触发控制的全部内容,希望文章能够帮你解决[分布式控制浅述] (3)简单分布式事件触发控制[分布式控制浅述] (3)简单分布式事件触发控制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部