资源简介
蜂拥控制算法仿真,各智能体通过局部的感知作用和与邻居智能体的信息交流,达到多智能体的全局协调行为。
代码片段和文件信息
%Olfati算法2
%---------系统赋初始值------------------------
clear;clc;
loop=200; %确定循环周期
s=0.5; %s取值范围为(01)
n=100; %确定智能体个数
m=1; %确定领导者直接影响智能体数目
r=3; %确定智能体感知半径
ra=(1/s)*[sqrt(1+s*(r^2))-1];
dw=5; %确定网格Lattice距离
dwa=(1/s)*[sqrt(1+s*(dw^2))-1];
h=0.8; %定义参数h,其取值范围为(01)
size=50; %定义初始范围
a=1;b=3; %0<=a<=b
c1=0.05;c2=0.3; %领导者影响函数参数,c1c2>0
step=0.1; %确定步长
%-----------系统初始化--------------------------
q=size*rand(2n); %初始化智能体初始位置向量
p=2*rand(2n)-1; %初始化智能体初始速度向量
qr=size*rand(21); %初始领导者位置向量
pr=2*rand(21)-1; %初始领导者速度向量
qqr=zeros(2loop); %每个时间段领导者的位置向量
ppr=zeros(2loop); %每个时间段领导者的速度向量
uur=zeros(2loop); %每个时间段领导者的加速度向量
qq=zeros(2nloop); %每个时间段智能体的位置向量
pp=zeros(2nloop); %每个时间段智能体的速度向量
%----------开始循环--------------------------
%---------对智能体进行循环,实验主题---------
for ld=1:loop
qq(::ld)=q(::);
pp(::ld)=p(::);
qqr(:ld)=qr(::);
ppr(:ld)=pr(::);
ur=cos(qr(:1));
uur(:ld)=ur(::);
%定义共识网络A,判断智能体之间的相互影响
A=zeros(nn);
for i=1:n
for j=1:n
if [q(1i)-q(1j)]^2+[q(2i)-q(2j)]^2<=r^2
A(ij)=1;
end
end
end
for i=1:n
A(ii)=0;
end
d=zeros(nn);
for i=1:n
for j=1:n
d(ij)=sqrt((q(1i)-q(1j))^2+(q(2i)-q(2j))^2);
end
end
%实现fya(z)
%计算n(ij)
N=zeros(nn2);
for i=1:n
for j=1:n
N(ij1)=(q(1j)-q(1i))/sqrt(1+s*d(ij)^2);
N(ij2)=(q(2j)-q(2i))/sqrt(1+s*d(ij)^2);
end
end
%计算da=||qj-qi||σ
da=zeros(nn);
for i=1:n
for j=1:n
da(ij)=(1/s)*[sqrt(1+s*(d(ij)^2))-1];
end
end
%计算fya(da)
fya=zeros(nn);
ph=zeros(nn);
for i=1:n
for j=1:n
z1=da(ij)/ra;
if z1=0
ph(ij)=1;
elseif z1<=1 | z1>=h
ph(ij)=0.5*(1+cos(pi*((z1-h)/(1-h))));
else
ph(ij)=0;
end
z2=da(ij)-dwa;
c=(b-a)/sqrt(4*a*b);
fy(ij)=0.5*((a+b)*((z2+c)/sqrt(1+(z2+c)^2))+(a-b));
fya(ij)=ph(ij)*fy(ij)*A(ij);
end
end
%-----------------求智能体的位置影响------------------
%求u11=fya*N(ij)
u11=zeros(nn2);
for i=1:n
for j=1:n
u11(ij1)=fya(ij)*N(ij1);
u11(ij2)=fya(i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 889403 2014-08-22 09:43 Flockingagentverywell\Flocking for multi-agent dynamic systems algorithms and theory.pdf
文件 7874 2014-09-29 15:48 Flockingagentverywell\Mulleader.m
文件 7212 2015-04-06 08:54 Flockingagentverywell\agent2.m
目录 0 2015-03-09 14:23 Flockingagentverywell\
相关资源
- 蚁狮算法寻优
- 二次曲面拟合实现高程模型建立
- 角点检测Corners代码
- 基于梯度法的模型参考自适应程序
- 基于李雅普诺夫模型参考自适应程序
- D2D-HS算法
- GPS信号捕获仿真
- 产生正态白噪声序列(1) 打印出前
- 李纯明 博士水平集图像分割代码
- 脑电数据批量绘图算法v3.0.zip
- 拟牛顿法程序
- 数据拟合方法实现飞行物体运动轨迹
- 如何使用FULLBNT工具箱(中文)
- 快速理解DFT
- 单目标优化含约束
- 原子分解算法Atomizer
- 室内定位RSS位置指纹法-KNN代码与数据
- 利用联合对角化技术进行信号盲分离
- 直流无刷电机双闭环控制系统仿真模
- 郑州大学随机信号处理大作业 附程序
- 气候分析中检验突变程序(滑动t检验
- 双馈风电机组DFIG的详细仿真模型
- 基于LIBSVM的图像分类
- 转子动力学求解转子系统前三个临界
- 图片颜色互相转换:RGB HSV CIE Lab CIE
- 卡尔曼滤波动态跟踪.rar
-
em
bedded Coder Support Package for Texas In - 直流微电网模型含蓄电池控制.zip
- 搭建双向DC-DC双电路,实现直流微网并
- CORDIC的资源
评论
共有 条评论