天天看點

【路徑優化】基于A*算法的路徑優化問題(Matlab代碼實作)

💥💥💥💞💞💞歡迎來到本部落格❤️❤️❤️💥💥💥

🏆部落客優勢:🌞🌞🌞部落格内容盡量做到思維缜密,邏輯清晰,為了友善讀者。

⛳️座右銘:行百裡者,半于九十。

目錄

​​💥1 概述​​

​​📚2 運作結果​​

​​👨‍💻3 參考文獻​​

​​🎉4 Matlab代碼實作​​

💥1 概述

      移動機器人的路徑規劃問題是目前移動機器人領域所研究的熱點問題,其主要目标是在已知、未知或者部分未知的環境中規劃出從起始點到目标點的安全無碰撞路徑。

      在已知的靜态環境,所用的全局路徑規劃算法通常有栅格法、RRT算法、A*算法、神經網絡算法、遺傳算法、蟻群算法等等。文獻[1]改進A*算法中使用了正反向搜尋的機制,範圍仍然局限于靜态障礙物環境下。對于動态障礙物環境下的路徑規劃,文獻[2]采用了基本避障政策和啟發式動态規劃法相結合的思路,但是關于A*算法在障礙物下的路徑規劃研究文獻卻幾乎空白[1]。

📚2 運作結果

【路徑優化】基于A*算法的路徑優化問題(Matlab代碼實作)

部分代碼:

function index_of_min = min_f(valid,valid_len,x_target,y_target)
 temp_array=[];
  k=1;
  flag=0;
  goal_index=0;
  for j=1:valid_len
      if (valid(j,1)==1)
          temp_array(k,:)=[valid(j,:) j]; 
          if (valid(j,2)==x_target && valid(j,3)==y_target)
              flag=1;
              goal_index=j;
          end;
          k=k+1;
      end;
  end;
  if flag == 1 
      index_of_min=goal_index;
  end
  
  if size(temp_array ~= 0)
   [min_f,temp_min]=min(temp_array(:,8));
   %min_f
   index_of_min=temp_array(temp_min,9);
   fprintf('Cell with minimum f found to be x : %d y : %d with f = %f',valid(index_of_min,2),valid(index_of_min,3),valid(index_of_min,8));
  else
      index_of_min=-1;
  end;      

👨‍💻3 參考文獻

🎉4 Matlab代碼實作

繼續閱讀