多智能体系统的一致性是指系统中所有智能体都最终收敛至一个相同的状态,一致性是多智能体系统能否完成协同控制任务的关键条件之一。多智能体系统在通信拓补为有向树的条件下便可实现一致性。本文将在多智能体一致性理论的基础上,研究具有一般线性模型的多智能体系统无领航和“领航-跟踪”一致性控制问题。

1、问题构建

        考虑连续时间高阶线性多智能体系统,系统的状态方程如下:

多智能体强化学习 非同步_无人机

其中下表 

多智能体强化学习 非同步_matlab_02

 表示第i个智能体;

多智能体强化学习 非同步_matlab_03

 表示系统的状态变量,

多智能体强化学习 非同步_状态方程_04

 为系统的控制输入量,

多智能体强化学习 非同步_多智能体强化学习 非同步_05

 表示系统的状态矩阵,

多智能体强化学习 非同步_无人机_06

 表示系统的参数矩阵,且

多智能体强化学习 非同步_多智能体强化学习 非同步_05


多智能体强化学习 非同步_无人机_06

 均为常值矩阵。        本文通过设计控制器

多智能体强化学习 非同步_状态方程_04

 来实现状态方程所描述的线性多智能体系统状态的一致性,既保证如下等式成立:

多智能体强化学习 非同步_多智能体强化学习 非同步_10

 2、模型构建

本文讨论多智能体网络拓补图为无向图时,系统的状态变量

多智能体强化学习 非同步_matlab_03

 的一致性问题:

        定义变量:

多智能体强化学习 非同步_参考文献_12

并设计如下控制器:

多智能体强化学习 非同步_多智能体强化学习 非同步_13

其中,

多智能体强化学习 非同步_matlab_14

 为待求的控制增益矩阵,

多智能体强化学习 非同步_参考文献_15

为加权参数。

 3、模型求解

        定理3.1:给定矩阵

\boldsymbol{Q_1=Q_{1}^{T}>0}

 和 

\boldsymbol{R_1=R_1^{T}>0}

 ,若如下Riccati方程有正定解

\boldsymbol{P_1=P_1^{T}>0}

 :

多智能体强化学习 非同步_无人机_19

系统渐近稳定,此外控制增益

多智能体强化学习 非同步_参考文献_20

 ,且加权参数

多智能体强化学习 非同步_参考文献_15

 需要满足

多智能体强化学习 非同步_多智能体强化学习 非同步_22

 。        令 

多智能体强化学习 非同步_参考文献_23

 和 

多智能体强化学习 非同步_多智能体强化学习 非同步_24

 ,通过求解Riccati方程式便可以求得 

多智能体强化学习 非同步_多智能体强化学习 非同步_25

 和 

多智能体强化学习 非同步_matlab_14

 。

4、仿真案例

        针对以下无人机集群网络拓补结构为例,该拓补结构为无向连通图,其中数字1、2、3代表无人机的编号:

多智能体强化学习 非同步_参考文献_27

该无人机集群网络拓补结构如下:

多智能体强化学习 非同步_参考文献_28

        以固定翼无人机集群的俯仰方向运动协同控制问题为研究方向,选取3架无人机的俯仰角和俯仰角速度为系统的状态量,选取副翼操作指令和升降舵操作指令为系统的输入量,每架无人机运动模型的线性化系统方程如下:

多智能体强化学习 非同步_状态方程_29

其中 

多智能体强化学习 非同步_状态方程_30

三架无人机的俯仰角初值为:

多智能体强化学习 非同步_参考文献_31

俯仰角初速度值为:

多智能体强化学习 非同步_状态方程_32

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、《多智能体系统群集协同控制方法及应用 》,作者:张卓、张泽旭、李惠平、张守旭 , 西北工业大学出版社

        (悄悄的说:文中的公式和数据全是这本书上摘抄,只有代码是自己写的)