本发明涉及多智能体系统一致性控制领域,特别是涉及一种事件驱动网络化预测控制方法、系统、设备及介质。
背景技术:
1、近些年来,随着计算机、无线通信以及自动化技术的不断发展极大地促进了多智能体系统在民用以及军事领域的发展,例如以移动机器人、无人机、自动驾驶车辆为载体的一致性控制。由于智能体之间以及各智能体的内部组件之间通过通信网络进行信息交互,系统将时刻面临着来自网络攻击者带来的威胁,如拒绝服务(denial-of-service,dos)攻击将中断网络通信,造成数据丢包。同时,数据在传输过程中将不可避免地带来网络时延问题。此外,实际应用中网络的通信带宽往往是有限的,频繁的通信易阻塞网络通道。因此,上述存在的诸多问题可能会降低多智能体系统的控制性能,甚至进一步破坏系统的稳定性。
2、目前处理网络时延和数据包丢失已有多种成熟的方法,与时滞系统方法、切换系统方法以及马尔可夫跳变系统方法相比,网络化预测控制方法具有极大的优势,如控制器设计简单、任意大通信约束的补偿、与无通信约束情形下的系统性能近似一致等,因此该方法自提出后便受到科研人员的广泛关注,随之取得了一系列的研究结果。在该方法中,通过对多智能体系统的数学模型进行迭代,以获取控制输入的预测序列,从而可有效地补偿网络时延和数据包丢失对系统造成的负面影响。然而,现有的多智能体系统网络化预测控制方法一般是基于时间驱动的,随着系统规模的不断扩大,这大大地增加了系统的网络通信负担。因此,基于时间驱动的多智能体系统网络化预测控制方法易导致网络通信过载问题,从而限制了该方法在实际工程中的应用和推广。
技术实现思路
1、本发明的目的是提供一种事件驱动网络化预测控制方法、系统、设备及介质,可主动补偿随机网络时延和非周期性dos攻击对多智能体系统的性能带来的负面影响,降低系统的网络通信负担。
2、为实现上述目的,本发明提供了如下方案:
3、一种事件驱动网络化预测控制方法,包括:
4、利用状态观测器获取智能体输出和智能体的控制输入;
5、利用状态观测器根据所述智能体输出和所述智能体的控制输入得到智能体的状态估计值;
6、利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值;
7、利用预测控制器根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列;
8、利用所述第二动态事件触发器确定发送结果;所述发送结果为当前时刻是否发送控制输入序列;
9、利用通信约束补偿器根据所述发送结果确定发送至所述智能体的控制输入并返回步骤“利用状态观测器获取智能体输出和智能体的控制输入”。
10、可选地,利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值,具体包括:
11、根据所述状态估计值和触发参数计算第一动态事件触发函数;
12、判断所述第一动态事件触发函数是否小于零,得到第一判断结果;
13、若所述第一判断结果为否,则利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值并把所述智能体的触发时刻对应的状态估计值发送至预测控制器;
14、若所述第一判断结果为是,则丢弃所述状态估计值。
15、可选地,利用预测控制器根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列,具体包括:
16、判断所述预测控制器在设定时刻是否收到智能体的触发时刻对应的状态估计值或邻居智能体的触发时刻对应的状态估计值,得到第二判断结果;
17、若所述第二判断结果为是,则利用网络化预测控制方法根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列;
18、若所述第二判断结果为否,则对智能体的状态预测值进行更新,并根据更新后的状态预测值利用网络化预测控制方法确定控制输入序列。
19、可选地,利用所述第二动态事件触发器确定发送结果,具体包括:
20、判断所述第二动态事件触发器的第二动态事件触发函数是否大于或者等于零,得到第三判断结果;
21、若所述第三判断结果为是,则发送所述控制输入序列至通信约束补偿器;
22、若所述第三判断结果为否,则丢弃所述控制输入序列。
23、可选地,利用通信约束补偿器根据所述发送结果确定发送至所述智能体的控制输入并返回步骤“利用状态观测器获取智能体输出和智能体的控制输入”,具体包括:
24、判断所述通信约束补偿器是否获取预测控制器发送的滞后信息,得到第四判断结果;
25、若所述第四判断结果为是,则根据所述发送结果和所述通信约束补偿器前向通道的随机网络时延确定发送至所述智能体的控制输入;
26、若所述第四判断结果为否,则根据所述第二动态事件触发器和dos攻击导致的连续数据丢包总数确定发送至所述智能体的控制输入;
27、返回步骤“利用状态观测器获取智能体输出和智能体的控制输入”。
28、本发明还提供一种事件驱动网络化预测控制系统,包括:
29、智能体输出和智能体的控制输入获取模块,用于利用状态观测器获取智能体输出和智能体的控制输入;
30、智能体的状态估计值确定模块,用于利用状态观测器根据所述智能体输出和所述智能体的控制输入得到智能体的状态估计值;
31、智能体的触发时刻对应的状态估计值确定模块,用于利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值;
32、控制输入序列确定模块,用于利用预测控制器根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列;
33、发送结果确定模块,用于利用所述第二动态事件触发器确定发送结果;所述发送结果为当前时刻是否发送控制输入序列;
34、通信约束补偿模块,用于利用通信约束补偿器根据所述发送结果确定发送至所述智能体的控制输入并返回智能体输出和智能体的控制输入获取模块。
35、可选地,智能体的触发时刻对应的状态估计值确定模块具体包括:
36、计算单元,用于根据所述状态估计值和触发参数计算第一动态事件触发函数;
37、第一判断单元,用于判断所述第一动态事件触发函数是否小于零,得到第一判断结果;
38、发送单元,用于若所述第一判断结果为否,则利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值并把所述智能体的触发时刻对应的状态估计值发送至预测控制器;
39、丢弃单元,用于若所述第一判断结果为是,则丢弃所述状态估计值。
40、可选地,控制输入序列确定模块具体包括:
41、第一判断单元,用于判断所述预测控制器在设定时刻是否收到智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值,得到第二判断结果;
42、第一确定单元,用于若所述第二判断结果为是,则利用网络化预测控制方法根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列;
43、第二确定单元,用于若所述第二判断结果为否,则对智能体的状态预测值进行更新,并根据更新后的状态预测值利用网络化预测控制方法确定控制输入序列。
44、本发明还提供一种电子设备,包括:
45、一个或多个处理器;
46、存储装置,其上存储有一个或多个程序;
47、当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如所述的方法。
48、本发明还提供一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如所述的方法。
49、根据本发明提供的具体实施例,本发明公开了以下技术效果:
50、本发明利用状态观测器获取智能体输出和智能体的控制输入;利用状态观测器根据所述智能体输出和所述智能体的控制输入得到智能体的状态估计值;利用第一动态事件触发器根据所述状态估计值得到智能体的触发时刻对应的状态估计值;利用预测控制器根据所述智能体的触发时刻对应的状态估计值和邻居智能体的触发时刻对应的状态估计值确定控制输入序列;利用所述第二动态事件触发器确定发送结果;所述发送结果为当前时刻是否发送控制输入序列;利用通信约束补偿器根据所述发送结果确定发送至所述智能体的控制输入并返回步骤“利用状态观测器获取智能体输出和智能体的控制输入”。本发明采用主动的方式补偿随机网络时延和非周期性dos攻击对多智能体系统的性能带来的负面影响,降低系统的网络通信负担。