基于一致性原理的时间协同制导及其Matlab仿真

来源:https://maiya.fan/blog?id=658ec46390d3d1241da10728

引言

本文给出了多智能体系统的一致性理论、多弹剩余时间协同制导律及其Matlab代码。

多智能体系统的一致性原理

系统模型

考虑连续时间内由n个智能体构成的n阶多智能体系统,每个智能体的动力学模型为:
在这里插入图片描述
式中t——时间;
在这里插入图片描述——第i个智能体的状态,表示k阶导数,k = 0, 1,…, n-1;
ut——第i个智能体的控制输入。

如果在任意初始条件下,控制算法能够使得多智能体系统的状态满足
在这里插入图片描述
则称多智能体系统的状态在控制算法的作用下能够渐近的达到一致。

如果在任意初始条件下,存在常数,控制算法ut能够使得
在这里插入图片描述
则称领导-跟随多智能体系统的状态在控制算法的作用下能够在有限时间内达到一致。

经典一致性控制算法

经典一致性控制算法:
在这里插入图片描述
式中N——智能体i的邻居集合;
a——固定拓扑结构下智能体i的邻接矩阵元素;
γ——智能体i的控制增益;
α——符号函数的幂指数;
β——相对信息的反馈增益。

代码及仿真结果

核心代码(全部代码在文末):

function [output] = control(state_self, state_com)
%CONTROL 根据自身信息和接收到的状态计算出控制量
%   输入:自身状态,接收到的状态
%   输出:控制量
% 控制增益,行表示不同状态,列表示不同节点
gama = [4, 4, 4, 4, 4;
	    8, 8, 8, 8, 8;
        8, 8, 8, 8, 8];
% 符号函数的幂指数
alpha = [0.8, 0.8, 0.8, 0.8, 0.8;
         0.67, 0.67, 0.67, 0.67, 0.67;
         0.57, 0.57, 0.57, 0.57, 0.57];
%%
num_node = size(state_self,2);
output = zeros(1,num_node);
% 接受节点序号
for i =1:num_node
    for cou_state = 1:size(state_self,1)
        state_temp = 0;
        % 发送节点序号
        for j =1:size(state_com{1,i},2)
            state_temp = state_temp+ state_com{1,i}(cou_state,j)-state_self(cou_state,i);
        end
        output(1,i) = output(1,i) + ...
            gama(cou_state,i)*sig(state_temp,alpha(cou_state,i));
    end
end
end

结果展示:
一阶:
在这里插入图片描述
二阶
在这里插入图片描述
三阶
在这里插入图片描述

基于一致性原理的时间协同制导律

系统模型

在三维协同制导空间中,第i个飞行器的加速度在视线系三个轴的分量为在这里插入图片描述
,目标加速度在视线系三个轴的分量为在这里插入图片描述。与平面相对运动模型类似,定义如下三维空间内飞行器和目标的相对速度矢量表达式。
在这里插入图片描述
其中 R ——第i个飞行器与目标距离;
在这里插入图片描述——第i个飞行器的视线在惯性系中的高低角;
在这里插入图片描述——第i个飞行器的视线在惯性系中的偏角;

VR——第i个飞行器视线系中x轴的速度;
在这里插入图片描述——第i个飞行器视线系中y轴速度;
Vq——第i个飞行器视线系中z轴速度。
求导,可得
在这里插入图片描述
其中 在这里插入图片描述——在惯性系中相对时间的导数;
在这里插入图片描述——在视线系中相对时间的导数;
在这里插入图片描述——视线系相对于惯性系的旋转角速度;
w——目标加速度在视线系各轴的分量;
u——第i个飞行器的加速度在视线系各轴的分量。
可以得出
在这里插入图片描述
带入,得
在这里插入图片描述
整理可得
在这里插入图片描述
与平面的协同制导问题一样,设计三维空间协同制导律的关键是首先通过和使得视线角速率制导过程中使得视线角速率和趋近于零,从而实现准平行接近;然后在视线稳定的情况下利用调整飞行器的剩余飞行时间,实现多个飞行器的时间一致。

基于一致性原理的剩余飞行时间控制方法

本节给出视线方向控制量的设计方法。根据多智能体一阶积分系统有限时间一致性算法,给出三维空间内协同制导律视线方向控制定理。
定义函数在这里插入图片描述
符号函数定义为
在这里插入图片描述

假设系统的齐次度为k,如果原点是渐进稳定的,并且k>0,那么系统的原点是有限时间稳定点。
利用领导-跟随多智能体一致性理论和有限时间控制方法,当多飞行器系统的通信拓扑是连通时,为第i个跟随飞行器设计如下控制算法:
在这里插入图片描述
可以使系统的状态在有限时间内达到一致。
在这里插入图片描述替换式中的在这里插入图片描述,可以得到如下有限时间一致性算法:
在这里插入图片描述
在这里插入图片描述, 可以写为
在这里插入图片描述

代码及仿真结果

核心代码(全部代码在文末):

function [ u ] = control( status, other_missiles, t )
% 控制器参数
n = 3;
beta = 2;
eta = 0.7;
%%
u = zeros(3,1);
sum_error = 0;
for cou_other_missile = 1:size(other_missiles,2)
    sum_error = sum_error + other_missiles(1, cou_other_missile) /...
        other_missiles(4, cou_other_missile) - status(1, 1) / status(4, 1);
end
% 固定数17最合适或者直接使用t
u(1,1) = min([max([t * sig(sum_error, eta),-200]),200]); 
u(2,1) = min([max([-n * status(4, 1) * status(6, 1) + ...
    beta * sig(status(6, 1), eta),-200]),200]); 
u(3,1) = min([max([n * status(4, 1) * status(5, 1)-...
    beta * sig(status(5, 1), eta),-200]),200]); 
end

结果展示:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

完整代码分为多个文件,数量较多,无法放在文章中。完整代码在下方:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoilingHotPot

听说打赏我的人,都发顶会顶刊了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值