【路徑規(guī)劃】基于Beizer和改進(jìn)PSO算法實現(xiàn)風(fēng)環(huán)境下翼傘航跡規(guī)劃附matlab代碼
1 簡介
針對當(dāng)前翼傘空投航跡規(guī)劃中未考慮復(fù)雜風(fēng)場影響,文中提出一種利用風(fēng)場優(yōu)勢求解最優(yōu)航跡的算法。將航 跡規(guī)劃問題轉(zhuǎn)換成 Bezier 曲線的參數(shù)尋優(yōu)問題,針對風(fēng)場環(huán)境下可行軌跡特點提出優(yōu)化策略,提出改進(jìn)的粒子群優(yōu) 化算法求取最優(yōu)解。實驗結(jié)果表明,該航跡規(guī)劃算法能在復(fù)雜風(fēng)場環(huán)境下求出一條滿足各種要求的最優(yōu)航跡,算法設(shè)計合理,工程易實現(xiàn)。





2 部分代碼
function particle_v = particle(input)
% 利用格柵數(shù)據(jù)獲取,任意粒子的速度
% 輸入點的坐標(biāo)(僅含x和y),輸出含有速度量的坐標(biāo)值
load wind ? ? ? ? ? ? ? ? ? ?
x2=x(:,:,5); y2=y(:,:,5);
u2=u(:,:,5); v2=v(:,:,5); ? ? ? ? ? ? ? ?% 導(dǎo)入數(shù)據(jù)
[m, n] = size(x2);
[input_m, input_n] = size(input);
Output = [];
particle_v = [];
U = [];
for ii = 1:(input_n/2)
? ?Input = [input(:,2*ii-1), input(:,2*ii)];
? ?index = 0;
? ?distance_min = sqrt(Input(1)^2 + Input(2)^2);
? ?for i=1:m*n
? ? ? ?Point_i = [x2(i) y2(i) u2(i) v2(i)];
? ? ? ?distance = sqrt((Point_i(1)-Input(1))^2 + (Point_i(2)-Input(2))^2);
? ? ? ?if distance < distance_min
? ? ? ? ? ?distance_min = distance;
? ? ? ? ? ?index = i;
? ? ? ? ? ?U = [Point_i(3), Point_i(4)];
? ? ? ?end
? ?end
? ?Output = [Input(1), Input(2), U(1), U(2)];
? ?particle_v = [particle_v, Output];
end
3 仿真結(jié)果


4 參考文獻(xiàn)
[1]于群濤, 陳楸, 李德榮,等. 基于Bezier和改進(jìn)PSO算法的風(fēng)環(huán)境下翼傘航跡規(guī)劃[J]. 電子設(shè)計工程, 2014, 22(19):4.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
