91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-22
  • 語言: Matlab
  • 標(biāo)簽: A*算法??

資源簡介

此程序可用于機器人避障的路徑規(guī)劃,是基于C空間的哦,全局尋優(yōu),規(guī)劃效果還不錯。

資源截圖

代碼片段和文件信息

function?[astar_pathcost_astarastar_time]=astararithmetic2(Astar_coornodmatobstaclenumbernooxnooynoozsd)
tic;
astar_path=[];

f_value_start=max([abs(nodmat(d2)-nodmat(s2))abs(nodmat(d3)-nodmat(s3))abs(nodmat(d4)-nodmat(s4))]);??????????%初始源節(jié)點的f代價
second_value(s)=abs(nodmat(d2)-nodmat(s2))+abs(nodmat(d3)-nodmat(s3))+abs(nodmat(d4)-nodmat(s4));?%附屬代價值
node(s).message=[f_value_startsecond_value(s)snodmat(s2)nodmat(s3)nodmat(s4)0];
openlist=[node(s).message];?%初始化openlist
closedlist=[0?0?0?0?0?0?0];?%初始化closedlist
cost_astar=0;
node(s).pionter=[s];??%指針初始化

%%?*************************************************************************



while?(isempty(find(closedlist(:3)==d1))?&&?~isempty(openlist))
%%
????cost_astar=cost_astar+1;
????if?isempty(openlist)
????????disp(‘erorropenlist?is?empty‘);
????????return
????end??%判斷open列表是否為空,為空則搜索失敗
??%%%%%%%%%%%%%%??
????openlist=sortrows(openlist);?%將openlist中的節(jié)點按f代價值進(jìn)行升序排列
????n=openlist(13);?????????????%n為openlist中f代價最小的節(jié)點的編號
????closedlist=[closedlist;openlist(1:)];?%將openlist中f代價最小的節(jié)點放入closedlist中
????if?n==d
????????astar_path=node(n).pionter;
????????break
????end
????????
????openlist=setdiff(openlistopenlist(1:)‘rows‘);?%將openlist中f代價最小的節(jié)點從openlist中刪除
???%%%%%%%%%%%%%%%%%%%?
????
????node(n).succeed=node_expand(nnooxnooynooz);??%產(chǎn)生后繼節(jié)點
????
????node(n).succeed=setdiff(node(n).succeedobstaclenumber);?????%排除障礙節(jié)點
????
????for?i=1:length(node(n).succeed)
????????node(node(n).succeed(i)).pionter_t=[node(n).pionternode(n).succeed(i)];??%為每個后繼節(jié)點生成臨時指針
????
????????g_value(node(n).succeed(i))=length(node(node(n).succeed(i)).pionter_t);??%后繼節(jié)點的g代價值
????????
????????if?find(openlist(:3)==node(n).succeed(i))???????%如果后繼節(jié)點已在openlist表中
????????????j=find(openlist(:3)==node(n).succeed(i));???%找出節(jié)點中openlist表中行的位置
????????????if?openlist(j7)>g_value(node(n).succeed(i))??%如果后繼的g代價比原始路徑的g代價小
????????????????openlist(j1)=openlist(j1)-(openlist(j

評論

共有 條評論