【機器人柵格地圖】基于帝國企鵝、粒子群、遺傳算法求解機器人柵格地圖路徑規(guī)劃及避障問題附matlab代碼
【機器人柵格地圖】基于帝國企鵝、粒子群、遺傳算法求解機器人柵格地圖路徑規(guī)劃及避障問題附matlab代碼
TT_Matlab
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。
1 簡介
柵格法是由W.E.Howden于1968年提出,主要是根據(jù)環(huán)境建立一個路徑柵格地圖(Map)?;驹硎菍C器人工作環(huán)境分割成無數(shù)細小的具有二值信息的網(wǎng)格單元,每個網(wǎng)格的規(guī)格由機器人的步長決定,即一個步長代表一個網(wǎng)格大小。在進行網(wǎng)格劃分時,無論是障礙物柵格還是非障礙物柵格不滿一個時,將其填滿,按一個柵格計算。環(huán)境信息由黑白網(wǎng)格表示。黑色網(wǎng)格代表障礙物(Barrier),表示不可行區(qū)域;白色網(wǎng)格代表可通行區(qū)域,又稱自由區(qū)域。柵格法將不可行區(qū)域和自由區(qū)域用一個二進制矩陣表示,矩陣中1代表障礙物,0代表自由柵格,由此在環(huán)境中建立一個可描述環(huán)境的路徑規(guī)劃地圖。
2 部分代碼
function
[bestY,bestX,recording]=GA(x,y,option,data)
%%
遺傳算法
%%
初始化
recording.bestFit
=
zeros(option.maxIteration+1,1);
recording.meanFit
=
zeros(option.maxIteration+1,1);
%%
更新記錄
[y_g,position]
=
min(y);
x_g
=
x(position(1),:);
y_p
=
y;
x_p
=
x;
recording.bestFit
=
y_g;
recording.meanFit
=
mean(y_p);
%%
開始更新
for
iter=1:option.maxIteration
disp([’GA,iter
:
’,num2str(iter),’,minFit:’,num2str(y_g)])
if
iter==1
newX
=
x*0;
newY
=
y;
end
%%
競標賽法選擇個體
for
i=1:option.numAgent*2
maxContestants
=
ceil(randi(option.numAgent));
index
=
randperm(option.numAgent,maxContestants);
[~,position]
=
min(y(index));
parent(i)
=
index(position(1));
end
newX
=
x*0;
newY
=
y*0;
%%
交叉(多點交叉)
for
i=1:option.numAgent
newX(i,
:
)=x(parent(i),:);
if
rand<option.p1_GA
tempR
=
rand(size(x(i,:)));
newX(i,tempR>0.5)
=
x(parent(i+option.numAgent),tempR>0.5);
end
end
%%
變異
for
i=1:option.numAgent*option.p2_GA
index
=
randi(option.numAgent);
tempR
=
rand(size(x(i,:)));
temp
=
rand(size(option.lb)).*(option.ub-option.lb)+option.lb;
newX(index,tempR>0.5)
=
temp(tempR>0.5);
end
%%
重新計算適應度值
for
i=1:option.numAgent
newX(i,
:
)=checkX(newX(i,:),option,data);
[newY(i),~,newX(i,
:
)]=option.fobj(newX(i,:),option,data);
if
newY(i)<y_p(i)
y_p(i)
=
newY(i);
x_p(i,
:
)=newX(i,:);
if
y_p(i)<y_g
y_g
=
y_p(i);
x_g
=
x_p(i,:);
end
end
end
x
=
newX;
%%
更新記錄
recording.bestFit(1+iter)
=
y_g;
recording.meanFit(1+iter)
=
mean(y_p);
end
bestY
=
y_g;
bestX
=
x_g;
end
3 仿真結(jié)果
4 參考文獻
[1]李吉功, 馮宜偉, 郭戈. 基于柵格地圖的通用機器人避障算法[C]// 中國自動化學會第21屆青年學術(shù)年會. 0.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡文獻,若有侵權(quán)聯(lián)系博主刪除。
-
2023年血糖新標準公布,不是3.9-6.1,快來看看你的血糖正常嗎? 2023-02-07
-
2023年各省最新電價一覽!8省中午執(zhí)行谷段電價! 2023-01-03
-
PPT導出高分辨率圖片的四種方法 2022-09-22
-
2023年最新!國家電網(wǎng)27家省級電力公司負責人大盤點 2023-03-14
-
全國消防救援總隊主官及簡歷(2023.2) 2023-02-10
-
盤點 l 中國石油大慶油田現(xiàn)任領導班子 2023-02-28
-
我們的前輩!歷屆全國工程勘察設計大師完整名單! 2022-11-18
-
關于某送變電公司“4·22”人身死亡事故的快報 2022-04-26
