概述
多智能体系统的一致性是指系统中所有智能体都最终收敛至一个相同的状态,一致性是多智能体系统能否完成协同控制任务的关键条件之一。多智能体系统在通信拓补为有向树的条件下便可实现一致性。本文将在多智能体一致性理论的基础上,研究具有一般线性模型的多智能体系统无领航和“领航-跟踪”一致性控制问题。
1、问题构建
考虑连续时间高阶线性多智能体系统,系统的状态方程如下:
其中下表 表示第i个智能体; 表示系统的状态变量, 为系统的控制输入量, 表示系统的状态矩阵, 表示系统的参数矩阵,且和 均为常值矩阵。
本文通过设计控制器 来实现状态方程所描述的线性多智能体系统状态的一致性,既保证如下等式成立:
2、模型构建
本文讨论多智能体网络拓补图为无向图时,系统的状态变量 的一致性问题:
定义变量:
并设计如下控制器:
其中, 为待求的控制增益矩阵,为加权参数。
3、模型求解
定理3.1:给定矩阵 和 ,
若如下Riccati方程有正定解 :
系统渐近稳定,此外控制增益 ,且加权参数 需要满足 。
令 和 ,通过求解Riccati方程式便可以求得 和 。
4、仿真案例
针对以下无人机集群网络拓补结构为例,该拓补结构为无向连通图,其中数字1、2、3代表无人机的编号:
该无人机集群网络拓补结构如下:
以固定翼无人机集群的俯仰方向运动协同控制问题为研究方向,选取3架无人机的俯仰角和俯仰角速度为系统的状态量,选取副翼操作指令和升降舵操作指令为系统的输入量,每架无人机运动模型的线性化系统方程如下:
其中
三架无人机的俯仰角初值为:
俯仰角初速度值为:
5、编程求解
clear;
close all;
clc;
dt=0.01;T=15;
t=0:dt:T;
n=length(t);
x=[10 -7 4;
-3 2 -1];
L=[1 -1 0;
-1 2 -1;
0 -1 1];
c=0.6;
A=[-1.175 0.9871;
-8.458 -0.8776];
B=[-0.194 -0.03593;
-19.24 -3.803];
R1=50*eye(2);
Q1=10*eye(2);
P1=are(A,B/R1*B',Q1);
K1=-B'/R1*P1;
for i=1:n
e=L*x';
u=c*K1*e';
mx_a(i,:)=x(1,:);
mx_q(i,:)=x(2,:);
x=x+(A*x+B*u)*dt;
end
subplot(2,1,1)
plot(t,mx_a(:,1),t,mx_a(:,2),t,mx_a(:,3))
axis([0 15 -10 10])
subplot(2,1,2)
plot(t,mx_q(:,1),t,mx_q(:,2),t,mx_q(:,3))
axis([0 15 -10 5])
6、参考文献
1、《多智能体系统群集协同控制方法及应用 》,作者:张卓、张泽旭、李惠平、张守旭 , 西北工业大学出版社
(悄悄的说:文中的公式和数据全是这本书上摘抄,只有代码是自己写的)
写在最后:
写“多智能体系统集群协同控制”专栏的主要原因是该领域入门级的代码在网络上很难找到,阅读了参考文献中的这本书后,觉得这本书中的案例有很高的可复现性,于是尝试着复现了以下,结果前三个案例都成功了,于是想着将书中的案例写成博客分享给大家。如果想要学习更为详细的证明过程,可以购买这本书学习,书中的模型是用Simulink实现的。
关于本博客的相关问题以及存在的错误,如有需要,欢迎在评论区交流!
最后
以上就是舒适毛巾为你收集整理的多智能体系统协同一致性问题(一)的全部内容,希望文章能够帮你解决多智能体系统协同一致性问题(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复