日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【路径规划】基于改进粒子群实现机器人栅格地图路径规划

發(fā)布時間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【路径规划】基于改进粒子群实现机器人栅格地图路径规划 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 研究背景

粒子群算法的發(fā)展過程。粒子群優(yōu)化算法(Partical Swarm Optimization PSO),粒子群中的每一個粒子都代表一個問題的可能解,通過粒子個體的簡單行為,群體內(nèi)的信息交互實現(xiàn)問題求解的智能性。由于PSO操作簡單、收斂速度快,因此在函數(shù)優(yōu)化、 圖像處理、大地測量等眾多領(lǐng)域都得到了廣泛的應(yīng)用。 隨著應(yīng)用范圍的擴(kuò)大,PSO算法存在早熟收斂、維數(shù)災(zāi)難、易于陷入局部極值等問題需要解決,主要有以下幾種發(fā)展方向。

1、基本思想

??粒子群算法通過設(shè)計一種無質(zhì)量的粒子來模擬鳥群中的鳥,粒子僅具有兩個屬性:速度和位置,速度代表移動的快慢,位置代表移動的方向。每個粒子在搜索空間中單獨的搜尋最優(yōu)解,并將其記為當(dāng)前個體極值,并將個體極值與整個粒子群里的其他粒子共享,找到最優(yōu)的那個個體極值作為整個粒子群的當(dāng)前全局最優(yōu)解,粒子群中的所有粒子根據(jù)自己找到的當(dāng)前個體極值和整個粒子群共享的當(dāng)前全局最優(yōu)解來調(diào)整自己的速度和位置。下面的動圖很形象地展示了PSO算法的過程:

2、更新規(guī)則

??PSO初始化為一群隨機粒子(隨機解)。然后通過迭代找到最優(yōu)解。在每一次的迭代中,粒子通過跟蹤兩個“極值”(pbest,gbest)來更新自己。在找到這兩個最優(yōu)值后,粒子通過下面的公式來更新自己的速度和位置。 公式(1)的第一部分稱為【記憶項】,表示上次速度大小和方向的影響;公式(1)的第二部分稱為【自身認(rèn)知項】,是從當(dāng)前點指向粒子自身最好點的一個矢量,表示粒子的動作來源于自己經(jīng)驗的部分;公式(1)的第三部分稱為【群體認(rèn)知項】,是一個從當(dāng)前點指向種群最好點的矢量,反映了粒子間的協(xié)同合作和知識共享。粒子就是通過自己的經(jīng)驗和同伴中最好的經(jīng)驗來決定下一步的運動。以上面兩個公式為基礎(chǔ),形成了PSO的標(biāo)準(zhǔn)形式。 公式(2)和 公式(3)被視為標(biāo)準(zhǔn)PSO算法。

3、PSO算法的流程和偽代

clc; close all clear load('data4.mat') S=(S_coo(2)-0.5)*num_shange+(S_coo(1)+0.5);%起點對應(yīng)的編號 E=(E_coo(2)-0.5)*num_shange+(E_coo(1)+0.5);%終點對應(yīng)的編號PopSize=20;%種群大小 OldBestFitness=0;%舊的最優(yōu)適應(yīng)度值 gen=0;%迭代次數(shù) maxgen =200;%最大迭代次數(shù)c1=0.5;%認(rèn)知系數(shù) c2=0.7;%社會學(xué)習(xí)系數(shù) c3=0.2;%反向因子 w=0.96;%慣性系數(shù) %% %初始化路徑 w_min=0.5; w_max=1; Group=ones(num_point,PopSize); %種群初始化 flag=1;%最優(yōu)解 figure(3) hold on for i=1:num_shangefor j=1:num_shangeif sign(i,j)==1y=[i-1,i-1,i,i];x=[j-1,j,j,j-1];h=fill(x,y,'k');set(h,'facealpha',0.5)ends=(num2str((i-1)*num_shange+j));text(j-0.95,i-0.5,s,'fontsize',6)end end axis([0 num_shange 0 num_shange])%限制圖的邊界 plot(S_coo(2),S_coo(1), 'p','markersize', 10,'markerfacecolor','b','MarkerEdgeColor', 'm')%畫起點 plot(E_coo(2),E_coo(1),'o','markersize', 10,'markerfacecolor','g','MarkerEdgeColor', 'c')%畫終點 set(gca,'YDir','reverse');%圖像翻轉(zhuǎn) for i=1:num_shangeplot([0 num_shange],[i-1 i-1],'k-');plot([i i],[0 num_shange],'k-');%畫網(wǎng)格線 end for i=2:index1Q1=[mod(route_lin(i-1)-1,num_shange)+1-0.5,ceil(route_lin(i-1)/num_shange)-0.5];Q2=[mod(route_lin(i)-1,num_shange)+1-0.5,ceil(route_lin(i)/num_shange)-0.5];plot([Q1(1),Q2(1)],[Q1(2),Q2(2)],'r','LineWidth',3) end title('改進(jìn)后的粒子群算法-最優(yōu)路線');%進(jìn)化曲線 figure(4); plot(BestFitness); xlabel('迭代次數(shù)') ylabel('適應(yīng)度值') grid on; title('改進(jìn)后的進(jìn)化曲線'); disp('改進(jìn)后的粒子群算法-最優(yōu)路線方案:') disp(num2str(route_lin)) disp(['起點到終點的距離:',num2str(BestFitness(end))]); figure(5); plot(BestFitness*100); xlabel('迭代次數(shù)') ylabel('適應(yīng)度值') grid on; title('改進(jìn)后的最佳個體適應(yīng)度值變化趨勢');

?

總結(jié)

以上是生活随笔為你收集整理的【路径规划】基于改进粒子群实现机器人栅格地图路径规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。