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

  • 大小: 6KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-18
  • 語言: Matlab
  • 標(biāo)簽: matlab??

資源簡介

基于matlab對(duì)小車的避障功能進(jìn)行仿真,首先自己設(shè)置初始點(diǎn)、目標(biāo)和障礙點(diǎn),然后運(yùn)算出除障礙外的最佳路徑

資源截圖

代碼片段和文件信息



%定義二維地圖數(shù)組
MAX_X=20;
MAX_Y=20;
MAX_VAL=1;
%此數(shù)組存儲(chǔ)地圖的坐標(biāo)和每個(gè)坐標(biāo)中的對(duì)象
MAP=2*(ones(MAX_XMAX_Y));


%獲取障礙物、目標(biāo)和機(jī)器人位置初始化地圖,輸入障礙物為-1、目標(biāo)為0、機(jī)器人為1、空間為2
j=0;
x_val?=?1;
y_val?=?1;
axis?equal
axis([1?MAX_X+1?1?MAX_Y+1])?%用來標(biāo)注輸出的圖線的最大值最小值
set(gca‘XTick‘1:1:21);
set(gca‘YTick‘1:1:21);
grid?on;%顯示表格
hold?on;%當(dāng)前軸及圖像保持而不被刷新,準(zhǔn)備接受此后將繪制的圖形,多圖共存
n=0;%障礙物數(shù)量

%開始交互障礙物、目標(biāo)、開始位置選擇
pause(1);
h=msgbox(‘請(qǐng)用鼠標(biāo)左鍵選擇目標(biāo)‘);
uiwait(h5);
if?ishandle(h)?==?1
????delete(h);
end
xlabel(‘請(qǐng)用鼠標(biāo)左鍵選擇目標(biāo)‘‘Color‘‘green‘);
but=0;
while?(but?==?0)?%重復(fù),直到左鍵未被單擊為止
????[xvalyvalbut]=ginput(1);
end
xval=floor(xval);
yval=floor(yval);
xTarget=xval;
yTarget=yval;

MAP(xvalyval)=0;%用目標(biāo)位置初始化映射
plot(xval+.5yval+.5‘gd‘);
text(xval+1yval+.5‘Target‘)


pause(2);
h=msgbox(‘用鼠標(biāo)左鍵選擇障礙物,用鼠標(biāo)右鍵選擇最后一個(gè)障礙物‘);
??xlabel(‘用鼠標(biāo)左鍵選擇障礙物,用鼠標(biāo)右鍵選擇最后一個(gè)障礙物‘‘Color‘‘red‘);
uiwait(h10);
if?ishandle(h)?==?1
????delete(h);
end
while?but?==?1
????[xvalyvalbut]?=?ginput(1);
????xval=floor(xval);
????yval=floor(yval);
????MAP(xvalyval)=-1;
????rectangle(‘Position‘[xvalyval11]‘facecolor‘‘black‘);
????
end



pause(1);
h=msgbox(‘請(qǐng)用鼠標(biāo)左鍵選擇車輛初始位置‘);
uiwait(h5);
if?ishandle(h)?==?1
????delete(h);
end
xlabel(‘請(qǐng)選擇車輛初始位置?‘‘Color‘‘blue‘);
but=0;
while?(but?~=?1)?%重復(fù),直到左鍵未被單擊為止
????[xvalyvalbut]=ginput(1);
end
xval=floor(xval);
yval=floor(yval);
xStart=xval;%起始位置
yStart=yval;%起始位置
MAP(xvalyval)=1;
?plot(xval+.5yval+.5‘bo‘);
%障礙物目標(biāo)拾取結(jié)束

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%用于算法的列表
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%開放列表結(jié)構(gòu)
%--------------------------------------------------------------------------
%IS?ON?LIST?1/0?|X?val?|Y?val?|Parent?X?val?|Parent?Y?val?|h(n)?|g(n)|f(n)|
%--------------------------------------------------------------------------
OPEN=[];

%封閉列表結(jié)構(gòu)
%--------------
%|X?val?|?Y?val?|
%--------------
%?CLOSED=zeros(MAX_VAL2);
CLOSED=[];

%把所有的障礙都列在封閉的名單上
k=1;
for?i=1:MAX_X
????for?j=1:MAX_Y
????????if(MAP(ij)?==?-1)
????????????CLOSED(k1)=i;?
????????????CLOSED(k2)=j;?
????????????k=k+1;
????????end
????end
end
CLOSED_COUNT=size(CLOSED1);
%將起始節(jié)點(diǎn)設(shè)置為第一個(gè)節(jié)點(diǎn)
xNode=xval;
yNode=yval;
OPEN_COUNT=1;
path_cost=0;
goal_distance=distance(xNodeyNodexTargetyTarget);
OPEN(OPEN_COUNT:)=insert_open(xNodeyNodexNodeyNodepath_costgoal_distancegoal_distance);%目標(biāo)坐標(biāo),原坐標(biāo),所需路徑,移動(dòng)前距離,移動(dòng)后距離
OPEN(OPEN_COUNT1)=0;
CLOSED_COUNT=CLOSED_COUNT+1;
CLOSED(CLOSED_COUNT1)=xNode;
CLOSED(CLOSED_COUNT2)=yNode;
NoPath=1;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%啟動(dòng)算法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
while((xNode?~=?xTarget?||?yNode?~=?yTarget)?&&?NoPath?==?1)
%??plot(xNode+.5yNode+.5‘go‘);
?exp_array=expand_array(xNodeyNodepath_costxTargetyTargetCLOSEDMAX_XMAX_Y

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????6823??2019-04-22?13:11??bizhang\bizhang.m
?????文件?????????201??2010-01-05?14:23??bizhang\distance.m
?????文件????????1690??2019-04-12?10:00??bizhang\expand_array.m
?????文件?????????400??2019-04-09?09:42??bizhang\insert_open.m
?????文件?????????889??2019-04-09?17:48??bizhang\min_fn.m
?????文件????????3637??2019-04-13?23:22??bizhang\move.m
?????文件?????????208??2019-04-09?22:45??bizhang\node_index.m
?????目錄???????????0??2019-04-22?13:12??bizhang\

評(píng)論

共有 條評(píng)論