robots.m
来自「仿真移动机器人避障的实验,是机器人在制定的环境中避开障碍」· M 代码 · 共 33 行
M
33 行
% 仿真移动机器人避障的实验
close all;
clc;
axes('position',[0.1,0.15,0.56,0.7]);
set(gcf,'DoubleBuffer','on');
N=50;
A=ones(N,N,3);
xn=round((N+1)/2);
yn=xn;
A(xn,yn,:)=0;
A(10:13,10:13,2:3)=0;
H=imshow(A);
k=0;
p=[1,-1,i,-i];
ss=['while k==1;',...
't=round(3*rand)+1;x=real(p(t));',...
'y=imag(p(t));A(xn,yn,:)=1;',...
'xn=xn+x;yn=yn+y;',...
'if xn<1 | xn>N;xn=mod(xn,N)+1;end;',...
'if yn<1 | yn>N;yn=mod(xn,N)+1;end;',...
'if A(xn,yn,2)==0;',...
'xn=xn-x;yn=yn-y;A(xn,yn,:)=0;',...
'else A(xn,yn,:)=0;end;',...
'set(H,''CData'',A);',...
'pause(0.2);end;'];
po1=uicontrol(gcf,'style','push',...
'unit','normalized','position',[0.74,0.6,0.2,0.08],...
'string','start','fontsize',12,'callback',[]);
set(po1,'callback',['k=~k;if k==1;',...
'set(po1,''string'',''stop'');',...
'else set(po1,''string'',''start'');',...
'end;',ss]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?