您当前的位置:matlab资源网文章中心资料 → 文章内容

仿真移动机器人避障的实验

作者:luobo  来源:转载http://luobo.ycool.com/post.1084563.html  发布时间:2008-4-11 10:10:59
仿真移动机器人避障的实验
close all;clc;
axes('position',[0.1,0.15,0.56,0.7]);
% Author's email: zjliu2001@163.com
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;
A(40:43,10:13,2:3)=0;
A(10:13,40:43,2:3)=0;
A(40:43,40:43,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]);
  • 上一篇文章:二维Henon映射的Lyapunov指数的计算
  • 下一篇文章:SAS PK MATLAB
  • 文章评论 (评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 -