【路径规划】基于matlab分布式目标检测和跟踪多无人机【含Matlab源码 289期】
一、简介
不同的技术和环境条件下,协调多个无人机以进行分布式目标检测和跟踪。提议的方法基于多代理系统中的群体行为的概念,即由无人机组成的自我组建和自我协调的团队,可使其适应特定任务的环境布局。蜂群的形成和协调分别受植绒和双能生物机理的启发。通过适当组合这些机制,可以在环境中的全局搜索(探索)和局部搜索(开发)之间取得适当的平衡。群体适应基于进化算法,其目的是在任务期间最大化跟踪目标的数量或最小化目标发现的时间。
二、源代码
% set title
optimInfo.title = \'Demo 1 (Rosenbrock\'\'s saddle)\';
% specify objective function
objFctHandle = @rosenbrocksaddle;
% define parameter names, ranges and quantization:
% 1. column: parameter names
% 2. column: parameter ranges
% 3. column: parameter quantizations
% 4. column: initial values (optional)
paramDefCell = {
\'parameter1\', [-3 3], 0.01
\'parameter2\', [-3 3], 0.01
};
% set initial parameter values in struct objFctParams
objFctParams.parameter1 = -2;
objFctParams.parameter2 = 2.5;
% set single additional function parameter
objFctSettings = 100;
% get default DE parameters
DEParams = getdefaultparams;
% set number of population members (often 10*D is suggested)
DEParams.NP = 20;
% do not use slave process here
DEParams.feedSlaveProc = 0;
% set times
DEParams.maxiter = 20;
DEParams.maxtime = 30; % in seconds
DEParams.maxclock = [];
% set display options
DEParams.infoIterations = 1;
DEParams.infoPeriod = 10; % in seconds
% do not send E-mails
emailParams = [];
% set random state in order to always use the same population members here
setrandomseed(1);
% start differential evolution
[bestmem, bestval, bestFctParams, nrOfIterations, resultFileName] = differentialevolution(...
DEParams, paramDefCell, objFctHandle, objFctSettings, objFctParams, emailParams, optimInfo); %#ok
disp(\' \');
disp(\'Best parameter set returned by function differentialevolution:\');
disp(bestFctParams);
% continue optimization by loading result file
if DEParams.saveHistory
disp(\' \');
disp(textwrap2(sprintf(...
\'Now continuing optimization by loading result file %s.\', resultFileName)));
disp(\' \');
DEParams.maxiter = 100;
DEParams.maxtime = 60; % in seconds
[bestmem, bestval, bestFctParams] = differentialevolution(...
DEParams, paramDefCell, objFctHandle, objFctSettings, objFctParams, emailParams, optimInfo, ...
resultFileName); %#ok
disp(\' \');
disp(\'Best parameter set returned by function differentialevolution:\');
disp(bestFctParams);
end
三、运行结果
四、备注
2014a
版权声明:本文为matlabxiao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。