天天看點

【路徑規劃】分布式目标檢測和跟蹤多無人機【Matlab 061期】

一、簡介

不同的技術和環境條件下,協調多個無人機以進行分布式目标檢測和跟蹤。提議的方法基于多代理系統中的群體行為的概念,即由無人機組成的自我組建和自我協調的團隊,可使其适應特定任務的環境布局。蜂群的形成和協調分别受植絨和雙能生物機理的啟發。通過适當組合這些機制,可以在環境中的全局搜尋(探索)和局部搜尋(開發)之間取得适當的平衡。群體适應基于進化算法,其目的是在任務期間最大化跟蹤目标的數量或最小化目标發現的時間。

二、源代碼

% 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
           

三、運作結果

【路徑規劃】分布式目标檢測和跟蹤多無人機【Matlab 061期】
【路徑規劃】分布式目标檢測和跟蹤多無人機【Matlab 061期】
【路徑規劃】分布式目标檢測和跟蹤多無人機【Matlab 061期】

四、備注

版本:2014a

繼續閱讀