基于蚁群结合遗传算法的路径规划问题附Matlab代码
?作者簡介:熱愛科研的Matlab仿真開發者,修心和技術同步精進,matlab項目合作可私信。
🍎個人主頁:Matlab科研工作室
🍊個人信條:格物致知。
更多Matlab仿真內容點擊👇
智能優化算法 ?神經網絡預測 雷達通信? 無線傳感器
信號處理 圖像處理 路徑規劃 元胞自動機 無人機
? 內容介紹
通過柵格法建立柵格地圖作為機器人路徑規劃的工作環境,采用蟻群算法結合遺傳算法作為機器人路徑搜索的規則.將所有機器人放置于初始位置,經過NC次無碰撞迭代運動找到最優路徑,到達目標位置.為防止機器人在路徑搜索過程中沒有達到最大迭代次時路徑大小已不發生變化而陷入局部最優,則通過對各路徑上的信息素進行增減來使機器人路徑搜索跳出當前值,繼續搜索,直到迭代完畢,獲得最優路徑.
? 部分代碼
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? ??
? 運行結果
? 參考文獻
[1]周東健, 張興國, 馬海波,等. 基于柵格地圖-蟻群算法的機器人最優路徑規劃[J]. 南通大學學報:自然科學版, 2013, 12(4):4.
?? 關注我領取海量matlab電子書和數學建模資料
??部分理論引用網絡文獻,若有侵權聯系博主刪除
總結
以上是生活随笔為你收集整理的基于蚁群结合遗传算法的路径规划问题附Matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《树莓派项目实战》第七节 使用声音传感器
- 下一篇: 轻松开启android 2.2 官方的a