基于蚁群结合遗传算法的路径规划问题附Matlab代码
?作者簡(jiǎn)介:熱愛(ài)科研的Matlab仿真開(kāi)發(fā)者,修心和技術(shù)同步精進(jìn),matlab項(xiàng)目合作可私信。
🍎個(gè)人主頁(yè):Matlab科研工作室
🍊個(gè)人信條:格物致知。
更多Matlab仿真內(nèi)容點(diǎn)擊👇
智能優(yōu)化算法 ?神經(jīng)網(wǎng)絡(luò)預(yù)測(cè) 雷達(dá)通信? 無(wú)線(xiàn)傳感器
信號(hào)處理 圖像處理 路徑規(guī)劃 元胞自動(dòng)機(jī) 無(wú)人機(jī)
? 內(nèi)容介紹
通過(guò)柵格法建立柵格地圖作為機(jī)器人路徑規(guī)劃的工作環(huán)境,采用蟻群算法結(jié)合遺傳算法作為機(jī)器人路徑搜索的規(guī)則.將所有機(jī)器人放置于初始位置,經(jīng)過(guò)NC次無(wú)碰撞迭代運(yùn)動(dòng)找到最優(yōu)路徑,到達(dá)目標(biāo)位置.為防止機(jī)器人在路徑搜索過(guò)程中沒(méi)有達(dá)到最大迭代次時(shí)路徑大小已不發(fā)生變化而陷入局部最優(yōu),則通過(guò)對(duì)各路徑上的信息素進(jìn)行增減來(lái)使機(jī)器人路徑搜索跳出當(dāng)前值,繼續(xù)搜索,直到迭代完畢,獲得最優(yōu)路徑.
? 部分代碼
function new_population_1=GenerateSmoothPath(path,G)??
? loong=size(path,2);
? for i=1:loong
? ? ? path1=path{i};
? ? ? long=size(path1,2);
? ? ? j=1;
? ? ? while j~=long-2
? ? ? ? ? [a1,b1]=position2rc(path1(j));
? ? ? ? ? [a3,b3]=position2rc(path1(j+2));
? ? ? ? ? if a1<a3
? ? ? ? ? ? ? if all(G(a1:a3,b1:b3)==0)% && all(G(a1:a3,b3)==0) && all(G(a1:a3,ceil((b1+b3)/2))==0)
? ? ? ? ? ? ? ? ? path1(j+1)=[];
? ? ? ? ? ? ? ? ? j=j-1;
? ? ? ? ? ? ? end
? ? ? ? ? else
? ? ? ? ? ? ? if all(G(a3:a1,b1:b3)==0)% && all(G(a3:a1,b3)==0) && all(G(a3:a1,ceil((b1+b3)/2))==0)
? ? ? ? ? ? ? ? ? path1(j+1)=[];
? ? ? ? ? ? ? ? ? j=j-1;
? ? ? ? ? ? ? end
? ? ? ? ? end
? ? ? ? ? j=j+1;
? ? ? ? ? long=size(path1,2);
? ? ? end
? ? ? new_population_1{i}=path1;
? end? ??
? 運(yùn)行結(jié)果
? 參考文獻(xiàn)
[1]周東健, 張興國(guó), 馬海波,等. 基于柵格地圖-蟻群算法的機(jī)器人最優(yōu)路徑規(guī)劃[J]. 南通大學(xué)學(xué)報(bào):自然科學(xué)版, 2013, 12(4):4.
?? 關(guān)注我領(lǐng)取海量matlab電子書(shū)和數(shù)學(xué)建模資料
??部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除
總結(jié)
以上是生活随笔為你收集整理的基于蚁群结合遗传算法的路径规划问题附Matlab代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《树莓派项目实战》第七节 使用声音传感器
- 下一篇: 轻松开启android 2.2 官方的a