?博主簡介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進(jìn),Matlab項(xiàng)目合作可私信。
??個(gè)人主頁:海神之光
??代碼獲取方式:
海神之光Matlab王者學(xué)習(xí)之路—代碼獲取方式
??座右銘:行百里者,半于九十。
更多Matlab仿真內(nèi)容點(diǎn)擊??
Matlab圖像處理(進(jìn)階版)
路徑規(guī)劃(Matlab)
神經(jīng)網(wǎng)絡(luò)預(yù)測與分類(Matlab)
優(yōu)化求解(Matlab)
語音處理(Matlab)
信號(hào)處理(Matlab)
車間調(diào)度(Matlab)
?一、跳蛛算法無人機(jī)避障三維航跡規(guī)劃簡介
1 無人機(jī)航跡規(guī)劃問題的數(shù)學(xué)模型
建立三維航跡規(guī)劃問題的數(shù)學(xué)模型時(shí), 不但考慮無人機(jī)基本約束, 還考慮復(fù)雜的飛行環(huán)境, 包括山體地形和雷暴威脅區(qū)。
1.1 無人機(jī)基本約束
規(guī)劃的無人機(jī)三維航跡, 通常需要滿足一些基本約束, 包括最大轉(zhuǎn)彎角、最大爬升角或下滑角、最小航跡段長度、最低和最高飛行高度, 以及最大航跡長度等約束。其中, 最大轉(zhuǎn)彎角約束, 是指無人機(jī)只能在水平面內(nèi)小于或等于指定的最大轉(zhuǎn)彎角內(nèi)轉(zhuǎn)彎;最大爬升角或下滑角約束, 是指無人機(jī)只能在垂直平面內(nèi)小于或等于指定的最大爬升角或下滑角內(nèi)爬升或下滑;最小航跡段長度約束, 要求無人機(jī)改變飛行姿態(tài)之前, 按目前的航跡方向飛行的最短航程;最低和最高飛行高度約束, 要求無人機(jī)在指定的飛行高度區(qū)間飛行;最大航跡長度約束, 是指無人機(jī)的航跡長度小于或等于指定的閾值。
記q (x, y, z, θ, ψ) 為無人機(jī)的飛行位置與姿態(tài), 其中, (x, y, z) 為無人機(jī)的位置, θ為無人機(jī)的水平轉(zhuǎn)彎角, ψ為無人機(jī)的豎直爬升角或下滑角, 進(jìn)而建立上述基本約束的數(shù)學(xué)表達(dá)式。
1.2 飛行環(huán)境障礙物和威脅區(qū)建模
在飛行環(huán)境中, 高聳的山體近似采用圓錐體等效表示, 用以e為底的自然指數(shù)圖形生成, 那么, 山體地形可以通過多個(gè)位置不同的圓錐體疊加而成。若將參考海拔基準(zhǔn)高度設(shè)置為xOy平面, 記 (x, y, z) 為山體地形中的點(diǎn), 那么
式中:N為山體個(gè)數(shù);xk0和yk0為第k座山體中心對(duì)稱軸的橫坐標(biāo)和縱坐標(biāo);hk為第k座山體的最大高度;xki和yki為第k座山體的橫向斜度和縱向斜度。
在飛行環(huán)境中, 山體附近通常存在雷暴等極端氣象, 本文視為飛行威脅區(qū), 并通過球體近似等效表示, 且記第k座山體附近飛行威脅區(qū)的球心坐標(biāo)為 (xks0, yks0, zks0) , 半徑為rk。
1.3 目標(biāo)函數(shù)及航跡表示
在本文中, 執(zhí)行任務(wù)的某型無人機(jī), 其航跡規(guī)劃的目標(biāo)函數(shù)是生成一條由起始點(diǎn)到目標(biāo)點(diǎn)的無碰撞可行航跡。采用q (x, y, z, θ, ψ) 表示無人機(jī)在飛行空域中某特定位置的特定姿態(tài), 那么 (x, y, z) 則表示無人機(jī)所在航跡點(diǎn), θ表示無人機(jī)的水平轉(zhuǎn)彎角, ψ表示無人機(jī)的豎直爬升角或下滑角。采用r (q) 表示由起始點(diǎn)qinitial到目標(biāo)點(diǎn)qgoal的無碰撞可行航跡, 那么航跡規(guī)劃的過程可以寫成如下形式:
2 跳蛛算法
跳蛛優(yōu)化算法(Jumping Spider Optimization Algorithm, JSOA) 是由Peraza-Vázquez, H.等人于2021年提出的,該作者還提出了澳洲野狗優(yōu)化算法(Dingo Optimization Algorithm, DOA))和黑寡婦優(yōu)化算法(Black Widow Optimization Algorithm, BWOA)。JSOA對(duì)跳蛛逼迫、搜索和撲向獵物的捕食策略建立了數(shù)學(xué)模型。該算法在20個(gè)測試函數(shù)、4個(gè)實(shí)際優(yōu)化問題、比例積分導(dǎo)數(shù)(PID)控制器的調(diào)諧和選擇性諧波消除問題上進(jìn)行了基準(zhǔn)測試。
2.1 數(shù)學(xué)模型
該算法主要對(duì)跳珠不同的捕食策略進(jìn)行數(shù)學(xué)模型化,包括逼迫攻擊、搜索和跳向獵物。此外,還建立了一個(gè)表示信息素率的模型。
2.1.1 策略一:逼迫
當(dāng)蜘蛛不在可以跳躍抓住獵物的距離內(nèi)時(shí),它會(huì)通過做一些隱蔽的動(dòng)作靠近獵物,直到它到達(dá)一個(gè)可以跳躍抓住獵物的距離。逼迫策略可以用勻加速直線運(yùn)動(dòng)來表示,速度線性增加或減少。
2.1.2 策略二:撲向獵物
跳蛛尾隨獵物并撲向它。
?二、部分源代碼
%% 三維地圖-無人機(jī)尋路
% 3D map - aircraft pathfinding
%% 這是使用原始算法的直接求解結(jié)果,添加專用于本問題的更新方式可以進(jìn)一步提高精度
% This is the direct result of using the original algorithm,
% adding some specific update methods to this problem can further improve the accuracy
clc;
clear;
close all;
warning off
%% 載入數(shù)據(jù)
data.S=[1,950,12]; %起點(diǎn)位置
data.E=[950,1,1]; %終點(diǎn)點(diǎn)位置
data.Obstacle=xlsread(‘data.xls’);
data.numObstacles=length(data.Obstacle(:,1));
data.mapSize=[1000,1000,20]; %10m 地圖尺寸
data.unit=[50,50,1]; %地圖精度
data.S0=ceil(data.S./data.unit);
data.E0=ceil(data.E./data.unit);
data.mapSize0=data.mapSize./data.unit;
data.map=zeros(data.mapSize0);
figure
plot3(data.S(:,1),data.S(:,2),data.S(:,3),‘o’,‘LineWidth’,1,…
‘MarkerEdgeColor’,‘g’,…
‘MarkerFaceColor’,‘g’,…
‘MarkerSize’,8)
hold on
plot3(data.E(:,1),data.E(:,2),data.E(:,3),‘h’,‘LineWidth’,1,…
‘MarkerEdgeColor’,‘g’,…
‘MarkerFaceColor’,‘g’,…
‘MarkerSize’,8)
for i=1:data.numObstacles
x=1+data.Obstacle(i,1);
y=1+data.Obstacle(i,2);
z=1+data.Obstacle(i,3);
long=data.Obstacle(i,4);
wide=data.Obstacle(i,5);
pretty=data.Obstacle(i,6);
[V,F] = DrawCuboid(long, wide, pretty, x,y,z);
x0=ceil(x/data.unit(1));
y0=ceil(y/data.unit(2));
z0=ceil(z/data.unit(3));
long0=ceil(long/data.unit(1));
wide0=ceil(wide/data.unit(2));
pretty0=ceil(pretty/data.unit(3));
data.map(x0:x0+long0,y0:y0+wide0,z0:z0+pretty0)=1;
end
legend(‘起點(diǎn)’,‘終點(diǎn)’)
title(‘三維地形地圖’)
grid on
axis equal
%%
% index=find(data.map==1);
% [p1,p2,p3] = ind2sub(size(data.map), index);
% figure
% plot3(data.S0(:,1),data.S0(:,2),data.S0(:,3),‘o’,‘LineWidth’,1,…
% ‘MarkerEdgeColor’,‘g’,…
% ‘MarkerFaceColor’,‘g’,…
% ‘MarkerSize’,8)
% hold on
% plot3(data.E0(:,1),data.E0(:,2),data.E0(:,3),‘h’,‘LineWidth’,1,…
% ‘MarkerEdgeColor’,‘g’,…
% ‘MarkerFaceColor’,‘g’,…
% ‘MarkerSize’,8)
% plot3(p1,p2,p3,‘.’,‘LineWidth’,1,…
% ‘MarkerEdgeColor’,‘k’,…
% ‘MarkerFaceColor’,‘g’,…
% ‘MarkerSize’,10)
% legend(‘起點(diǎn)’,‘終點(diǎn)’)
% title(‘三維地形地圖’)
% grid on
% axis equal
% xlabel(‘x(km)’)
% ylabel(‘y(km)’)
% zlabel(‘z(km)’)
%% 生成可移動(dòng)方向
temp=[1,0,-1];
direction=[];
for i=1:3
for j=1:3
for k=1:3
direction=[direction;temp(i),temp(j),temp(k)];
end
end
end
position=find(direction(:,1)==0 & direction(:,2)==0 & direction(:,3)==0);
direction(position,:)=[];
data.direction=direction;
%% 算法參數(shù)設(shè)置 Parameters
% 基本參數(shù)
numAgent=20; %種群個(gè)體數(shù) size of population,可自行修改
Max_iter=20; %最大迭代次數(shù) maximum number of interation,可自行修改
lb=0;%下限,可自行修改
ub=1;%上限,可自行修改
dim=prod(data.mapSize0); % 優(yōu)化變量個(gè)數(shù)
fobj=@(x) aimFcn(x,data);%目標(biāo)函數(shù),用以優(yōu)化
%% 使用優(yōu)化算法求解
Optimal_results{2,index}=recording;%迭代曲線
Optimal_results{3,index}=bestY;%最佳函數(shù)值
Optimal_results{4,index}=bestX; %最佳變量值
Optimal_results{5,index}=result; %優(yōu)化結(jié)果
Optimal_results{6,index}=toc; %運(yùn)行時(shí)間
index = index +1;
?三、運(yùn)行結(jié)果
?四、matlab版本及參考文獻(xiàn)
1 matlab版本
2014a
2 參考文獻(xiàn)
[1]田疆,李二超.用于無人機(jī)三維航跡規(guī)劃改進(jìn)連接型快速擴(kuò)展隨機(jī)樹算法[J].航空工程進(jìn)展. 2018,9(04)
3 備注
簡介此部分摘自互聯(lián)網(wǎng),僅供參考,若侵權(quán),聯(lián)系刪除
?? 仿真咨詢
1 各類智能優(yōu)化算法改進(jìn)及應(yīng)用
生產(chǎn)調(diào)度、經(jīng)濟(jì)調(diào)度、裝配線調(diào)度、充電優(yōu)化、車間調(diào)度、發(fā)車優(yōu)化、水庫調(diào)度、三維裝箱、物流選址、貨位優(yōu)化、公交排班優(yōu)化、充電樁布局優(yōu)化、車間布局優(yōu)化、集裝箱船配載優(yōu)化、水泵組合優(yōu)化、解醫(yī)療資源分配優(yōu)化、設(shè)施布局優(yōu)化、可視域基站和無人機(jī)選址優(yōu)化
2 機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方面
卷積神經(jīng)網(wǎng)絡(luò)(CNN)、LSTM、支持向量機(jī)(SVM)、最小二乘支持向量機(jī)(LSSVM)、極限學(xué)習(xí)機(jī)(ELM)、核極限學(xué)習(xí)機(jī)(KELM)、BP、RBF、寬度學(xué)習(xí)、DBN、RF、RBF、DELM、XGBOOST、TCN實(shí)現(xiàn)風(fēng)電預(yù)測、光伏預(yù)測、電池壽命預(yù)測、輻射源識(shí)別、交通流預(yù)測、負(fù)荷預(yù)測、股價(jià)預(yù)測、PM2.5濃度預(yù)測、電池健康狀態(tài)預(yù)測、水體光學(xué)參數(shù)反演、NLOS信號(hào)識(shí)別、地鐵停車精準(zhǔn)預(yù)測、變壓器故障診斷
3 圖像處理方面
圖像識(shí)別、圖像分割、圖像檢測、圖像隱藏、圖像配準(zhǔn)、圖像拼接、圖像融合、圖像增強(qiáng)、圖像壓縮感知
4 路徑規(guī)劃方面
旅行商問題(TSP)、車輛路徑問題(VRP、MVRP、CVRP、VRPTW等)、無人機(jī)三維路徑規(guī)劃、無人機(jī)協(xié)同、無人機(jī)編隊(duì)、機(jī)器人路徑規(guī)劃、柵格地圖路徑規(guī)劃、多式聯(lián)運(yùn)運(yùn)輸問題、車輛協(xié)同無人機(jī)路徑規(guī)劃、天線線性陣列分布優(yōu)化、車間布局優(yōu)化
5 無人機(jī)應(yīng)用方面
無人機(jī)路徑規(guī)劃、無人機(jī)控制、無人機(jī)編隊(duì)、無人機(jī)協(xié)同、無人機(jī)任務(wù)分配
6 無線傳感器定位及布局方面
傳感器部署優(yōu)化、通信協(xié)議優(yōu)化、路由優(yōu)化、目標(biāo)定位優(yōu)化、Dv-Hop定位優(yōu)化、Leach協(xié)議優(yōu)化、WSN覆蓋優(yōu)化、組播優(yōu)化、RSSI定位優(yōu)化
7 信號(hào)處理方面
信號(hào)識(shí)別、信號(hào)加密、信號(hào)去噪、信號(hào)增強(qiáng)、雷達(dá)信號(hào)處理、信號(hào)水印嵌入提取、肌電信號(hào)、腦電信號(hào)、信號(hào)配時(shí)優(yōu)化
8 電力系統(tǒng)方面
微電網(wǎng)優(yōu)化、無功優(yōu)化、配電網(wǎng)重構(gòu)、儲(chǔ)能配置
9 元胞自動(dòng)機(jī)方面
交通流 人群疏散 病毒擴(kuò)散 晶體生長文章來源:http://www.zghlxwxcb.cn/news/detail-813245.html
10 雷達(dá)方面
卡爾曼濾波跟蹤、航跡關(guān)聯(lián)、航跡融合文章來源地址http://www.zghlxwxcb.cn/news/detail-813245.html
到了這里,關(guān)于【JSOA三維路徑規(guī)劃】基于matlab跳蛛算法無人機(jī)避障三維航跡規(guī)劃【含Matlab源碼 3782期】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!