毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

迷宫探路智能化机器人的研究与应用 第3页

更新时间:2010-4-27:  来源:毕业论文
迷宫探路智能化机器人的研究与应用 第3页
(B)路口中断准备:
      a)原因:
   由于迷宫跑道比较狭窄,机器人的运行速度相对较快,为了防止机器人在路口处由于惯性而冲过路口,或者没有及时停在路口中间,给以后的行进造成不利影响。我们尽量使机器人能够提前感知路口的存在,及早做好准备。使机器人能够在路口正中间停住。
 b)解决方案:侧红外校正、红外测距卡减速
      侧红外校正:即是,在机身快要进入路口时,由于侧红外接收不到信号,可以先执行校正(以排除是由于走偏造成的侧红外接收不到信号),而后,若确定是由于路口而造成的无信号,则可判定为快要进入节点,这时使之向前推进一小步,从而走到路口中间
                        rr=read1(2);
               lr=read2(1);
if(rr= =0 || lr= =0)
{
stop();wait(0.1);
turnjz();
rr=read1(2);
lr=read2(1);
if(rr= =0 || lr= =0)
   { driveb(13,11);wait(0.1);}
                          }
        红外测距卡减速:参见第2点:红外测距卡。
(C)路口中断操作:
          根据程序的主要算法:靠右走,我们在执行中断操作时,主要从以下两方面考虑:
              右边为空,前面有墙,都执行中断操作。
                  即  if(iIr>95 || testr= =0 )
                         break;
(8)转角操作
               当已经确定机器人在路口中间停下时,接下来执行相应的转角操作。这里,将涉及到方向值i 的变化,以使得与指南针的校正相匹配。
               void turn()/*各方向的转角*/
{
                if(testr= =0)
         {
drive(0,19);wait(0.5);stop();  /*右转后i自加1,正对下一个方向,之后按着i指示的方向校准*/
           i++;
           if(i>4)i=1;if(i<1)i=4;
     www.751com.cn)i=1;if(i<1)i=4;
             }
        else
           {if(iIr>100 && testl= =3)
             {wait(0.2);
              drive(0,-19);wait(0.6);stop();wait(0.5);
               i--;
              if(i>4)i=1;if(i<1)i=4;
               drive(0,-19);wait(0.6);stop();
               i--;
              if(i>4)i=1;if(i<1)i=4;
             }
          }
      }    
 当机器人根据对i值的控制,执行完方向“转交”命令后,在新的方向上,必须要机身先走出路口,然后再继续执行探测和前进。否则,机器人将会探测到由还未走出路口而造成的错误的信息,从而陷在路口处。
相应程序片段为
 
 j=0;k=0;
  iIr=analogport(5);
   whi(j-k)>12)
     break;
     ma_1 =analogport(7);
     if(ma_1>200)/*规定走出迷宫条件*/
        break;
    }
      当机器人根据对i值的控制,执行完方向“转交”命令后,在新的方向上,必须要机身先走出路口,然后再继续执行探测和前进。否则,机器人将会探测到由还未走出路口而造成的错误的信息,从而陷在路口处。
相应程序片段为
 
 j=0;k=0;
  iIr=analogport(5);
   while((iIr<=80 && iIr_1<=80) || testr!=0)/*转后分段前推*/
     www.751com.cn
     if((j-k)>12)
     break;
     ma_1 =analogport(7);
     if(ma_1>200)/*规定走出迷宫条件*/
        break;
    }
   (9)碰撞检测
       作用:这主要用来辅助前几项校正,增加机器人正确无误地行走的保险性。当由于意外前面的几种校正办法都没有解决问题,机器人仍然撞到了墙上时,则碰撞传感器可以进行应急处理,以调整机器人在跑道中的位置。
   (10)走出迷宫————地面灰度检测
  机器人在迷宫中探索,程序判断它是否走出迷宫的根据就是地面灰度传感器的返回值。我们在迷宫的出口处铺一张黑纸,从而与迷宫内部的地面形成对比,区分他们之间的返回值。
      ma_1 =analogport(7);
     if(ma_1>200)/*规定走出迷宫条件*/
        break;
3.程序综合
以上提到的一些细节问题,仅仅是各自的独立表现形式,要真正地得到一个完整的程序,需要把上面的各个独立的分程序有机地融合在一起,使之相互之间融会贯通和谐连接,共同完成我们的工程目标。
由此得到成功的总程序
(五)成果机器人拓展功能的理论研究(理论拓展部分)
机器人探索迷宫最短路径的理论算法:
1.记录路口
   在机器人能够自行走出迷宫的基础上,我们开始探索让机器人再次进入这个迷宫后,可以直接沿最短路径走出。
(1) 理论基础:
        设定两个数组a[30],b[4]={0,1,2,3}。对于a[ i ],变量 i 用来记录机器人遇到的路口数目, a[ i ]的取值用来记录机器人在该路口所走的方向。b[4]用来标定路口的方向。    

(A)路口方向标定:
如下图,刚进入时为0,向右为1,

上一页  [1] [2] [3] [4] 下一页

迷宫探路智能化机器人的研究与应用 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。