迷宫探路智能化机器人的研究与应用-论文.doc

上传人:小小飞 文档编号:3973764 上传时间:2019-10-11 格式:DOC 页数:11 大小:29.65KB
返回 下载 相关 举报
迷宫探路智能化机器人的研究与应用-论文.doc_第1页
第1页 / 共11页
迷宫探路智能化机器人的研究与应用-论文.doc_第2页
第2页 / 共11页
迷宫探路智能化机器人的研究与应用-论文.doc_第3页
第3页 / 共11页
迷宫探路智能化机器人的研究与应用-论文.doc_第4页
第4页 / 共11页
迷宫探路智能化机器人的研究与应用-论文.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《迷宫探路智能化机器人的研究与应用-论文.doc》由会员分享,可在线阅读,更多相关《迷宫探路智能化机器人的研究与应用-论文.doc(11页珍藏版)》请在三一文库上搜索。

1、迷宫探路智能化机器人的研究与应用-论文迷宫探路智能化机器人的研究与应用摘 要:机器人在随机的复杂的多级迷宫里自行找到出路,需要始终坚持一个“靠右原则”,利用智能机器人AS-UII型号,加上扩展配件:红外接收扩展卡,数字指南针,红外测距卡,地面灰度检测卡 这些扩展的性能完成机器人对周围环境信息的获得,通过其微处理系统对信息数据进行处理,执行相应的任务,能够准确分析迷宫出路,快速自行走出人类智力的效率无法快速分析的多极复杂迷宫。关键词:迷宫节点,靠右法则,校正,记录节点,最短路径前 言:迷宫本是一种智力游戏,但当其运用于现实生活中时,又会带来许多军事,科技,以及经济等方面的价值。军事方面诸葛亮的“

2、八阵图”以及数学方面的“中国邮递员问题”,其基本结构均归于迷宫,因此,深入认识迷宫问题,对选择最优化路径,提高工作效率节省消耗等方面都具有重大的价值。在计算机未发明之前,人类无法同时处理大量数据,尤其在记忆功能方面,因此,在当前计算机技术高度发达的情况下,充分利用机器人的数据处理能力,用其来代替人类去探索迷宫,将有很可行的实用价值。众所周知,迷宫,其实是现实中错综复杂地域环境的一种在实验室中的虚拟。此类机器人的扩展可用在军事(比如敌方领地的探测等),室内火灾现场的救人和逃离,复杂管道中的各种工作,古文明遗迹的机器人探索(比如金字塔中迷宫的探索和考察,以及危险环境中的机器人探路等),野外考察的预

3、先探路和路径开辟,空间机器人探索等多方面领域。亦可附加其他各种功能以用于不同领域。是一切现代高级机器人所应该具备的最基本的新型功能和素质。一、研 究 过 程(一)实现目标通过对机器人的扩展组装、命令程序的构思和编写,以及各参数的调试后,将机器人自 任何 迷宫的入口放入,机器人可根据对环境的探测,分析获得数据,执行相应的命令,最终能够自行找到通向出口的路径走出迷宫;并在此基础上,构思总结出对这类机器人的功能的拓展方案,以及这些方案的算法理论。(二)研究材料与仪器性能介绍1.能力风暴智能机器人AS-UII 型号性能指标外形尺寸: 直径=220 mm 高H=150 mm 质量: 1.1 Kg单片机工

4、作频率:2MHz电池供电范围: 5.512 V串口速度:9600 bps IR振荡频率:37.9KHZ红外检测距离:30cm编码器分辨率:33脉冲/转轮胎直径:65mm电池:6V,1200mAh镍氢电池2.扩展配件红外接收扩展卡,数字指南针,红外测距卡,地面灰度检测卡3.迷宫(1)迷宫类型:直角弯;跑道宽度处处相同(本实验中均为30cm);为随机建成;一入口和一出口;存在出路。(2)本实验设置:实验地面为瓷砖,出口外地面贴一张黑纸。(三)理论思路1.数学模型:树的遍历本项目的基本数学模型,就是数学图论中的树的遍历。 从理论和实践两个方面来说,都可以把一个迷宫,抽象为图论中的一棵树其结点的度为2

5、或者3。其中迷宫中的每一条路径,都是相应的树的一个分支。而对迷宫的探测,就是对树的一个遍历的过程。在我们这个项目里,所采用的靠右走的方法,对应于树的先序遍历。从上面的对应关系,可以看出,迷宫的最短路径就是 INACDEGHOUT2.实验方向:此工程的难点首先在于直径为22的机器人要在宽度仅为30狭窄的迷宫跑道中执行任务,也就是机器人左右两侧距墙都只有4的距离,实验要保证机器人不擦墙在其中行走自如,我们用三种传感器相互巧妙配合,精心调试,解决此问题。迷宫走法:始终坚持靠着右墙走的原则(当然,始终靠左也可以),即可走出迷宫。(四)实验步骤1.实验部分总述我们解决迷宫探路整个问题的算法如下:流程图:

6、 2.原理与细节分步(1)设定磁极参数在用指南针进行磁极校正时,四个方向的返回值并不是严格地成相差90的关系,而是具有相应大小的波动偏差。在机器人停在某一方向上的时候,其返回的数值也不是唯一而是跳动变化的。原因:指南针装置内部的质量问题与误差波动;周围磁场并不均匀。由此,我们做出如下的设计:设定一个参数i :iOrient=GetOrient();if (iOrient=358 | iOrient=84 & iOrient=176 & iOrient=264 & iOrient=268) i=4 指西通过改变参数 i ,使各个方向的iOrient 值与其正确匹配。(2)红外测距卡(A)原理:通

7、过发射与接收之间的的时间差,来计算与障碍物的距离。(B)出现的问题:a, 机器人处理命令的速度较低,不能及时地处理返回的数据。b, 红外测距卡的有效测距范围有下限,当超过下限时,其返回值与距离的关系将反转,以至于无法做出正确的判断。c, 在运行过程中,由于机器人前进的速度太快,以至于红外测距卡不能及时、连续地返回变化着的距离所对应的数值。 (C)处理方法: 将其运行过程分成两阶段处理:减速停止 在距离落入规定范围值时,先使机器人减速,以较慢的速度接近障碍物(墙)。从而有利于测距卡适时地返回距离的变化,然后在执行“停”的命令。 if(iIr60) driveb(13,11); if(iIr80)

8、 stop();(3)意外擦枪擦墙问题及原因: 即使红外测距装置稳定工作,在其过程中由于惯性,机器人仍然会向前冲出一小段距离,以至于使得机身过分地靠近前墙。这样机器人在转弯后,机身更加靠近这一侧的墙,而不是处于跑道中央,容易出现擦墙问题,使机器人的运行出现严重阻碍。解决方案: 利用红外测距卡,使机器人先后退一段,再以很慢的速度接近,从而得到一个很好的距离感。(之所以先后退,是由于测距卡的有效距离有下限。后退之后能够排除机器人进入下限后而造成的错误命令)。void Ijz()/*保持与前墙的距离*/1047迷宫探路智能化机器人的研究与应用if(iIr50 & iIr120) driveb(-23

9、,-21);wait(0.250000);stop();/*防止有些时候靠得太近*/ iIr=analogport(5); while(iIr=358 | iOrient2 & iOrient180 & iOrient358) adjust(0, 10, 0.05); break; b)单独使用出现的问题:迷宫中的磁场不均匀,使得有些地方的指南针的返回值与理论值出现严重的偏差,导致出现错误校正。 c) 解决方案:配合前红外校正。(B)前红外校正 a)原理: 利用机器人前红外传感器的返回值,确定机身是否有偏转。 左偏testf= =1向右校正 右偏testf= =2向左校正 testf=ir_d

10、etector(); if(testf= =1) adjust(0,15,0.05); else if(testf= =2) adjust(0,-15,0.05); b)单独使用的缺陷: 在路口处,前面无侧墙时,由于两面不对称,当其向某一方向偏差时,该方向上的红外信号将无法被反射,或者反射很弱,导致前红外校正testf 不能有正确的返回值。 c)解决方案:侧红外校正。(C)侧红外校正 a)原理: 当机器人偏离角度过大时,可以使用两侧的红外传感器来做出快速的大角度校正! rr=read1(2); lr=read2(1); if(rr= =0) adjust(0,15,0.05); if(lr=

11、=0) adjust(0,-15,0.05); b)缺陷:和前红外校正一样,当它处于路口处时,无法反射红外信号。 如果仅仅是对于校正来说,这是一个缺陷,但是从整体上来说,却是一个很好的互补! 因为,它可以在“路口中断”处得到很好的利用。(5) 引入时间参数首先,测出了机器人在正常区域内行进时,每3秒钟内程序可能执行的校正次数的最大值:18次。然后将程序运行的系统时间以3秒为一份分割,在每一份内记录程序执行校正命令的次数。当它大于20次时,说明此时机器人正处于上述的矛盾校正中,这时可以命令机器人先向前推进一步再执行校正程序,如此反复,直到走出使机器人左右摆动的“磁场混乱”区域,跳出矛盾。time

12、s=0; while(times20) tim_1=seconds(); while(tim_2-tim_1)3.0 & times=20)break;else times=0; driveb(13,13);wait(0.7);stop();(6)红外测距卡与红外传感器之间的矛盾解决由于前红外的感应范围大于红外测距卡,因此,在正前方有墙的时候,又会出现两者相互抵制的矛盾现象设定前红外校正的范围 if(iIr=100 testr= =3 testl=3 7 iIr 100 testr= =3 testl=3 iIr 95 | testr= =0 ) break;(8)转角操作 当已经确定机器人在

13、路口中间停下时,接下来执行相应的转角操作。这里,将涉及到方向值i 的变化,以使得与指南针的校正相匹配。 void turn()/*各方向的转角*/ if(testr= =0) drive(0,19);wait(0.5);stop(); /*右转后i自加1,正对下一个方向,之后按着i指示的方向校准*/ i+; if(i4)i=1;if(i1)i=4; )i=1;if(i100 & testl= =3) wait(0.2); drive(0,-19);wait(0.6);stop();wait(0.5); i-; if(i4)i=1;if(i4)i=1;if(i12) break; ma_1 =a

14、nalogport(7); if(ma_1200)/*规定走出迷宫条件*/ break; 当机器人根据对i值的控制,执行完方向“转交”命令后,在新的方向上,必须要机身先走出路口,然后再继续执行探测和前进。否则,机器人将会探测到由还未走出路口而造成的错误的信息,从而陷在路口处。相应程序片段为 j=0;k=0; iIr=analogport(5); while(iIr=80 & iIr_112) break; ma_1 =analogport(7); if(ma_1200)/*规定走出迷宫条件*/ break; (9)碰撞检测 作用:这主要用来辅助前几项校正,增加机器人正确无误地行走的保险性。当由

15、于意外前面的几种校正办法都没有解决问题,机器人仍然撞到了墙上时,则碰撞传感器可以进行应急处理,以调整机器人在跑道中的位置。 (10)走出迷宫地面灰度检测 机器人在迷宫中探索,程序判断它是否走出迷宫的根据就是地面灰度传感器的返回值。我们在迷宫的出口处铺一张黑纸,从而与迷宫内部的地面形成对比,区分他们之间的返回值。 ma_1 =analogport(7); if(ma_1200)/*规定走出迷宫条件*/ break;3.程序综合以上提到的一些细节问题,仅仅是各自的独立表现形式,要真正地得到一个完整的程序,需要把上面的各个独立的分程序有机地融合在一起,使之相互之间融会贯通和谐连接,共同完成我们的工程

16、目标。由此得到成功的总程序(五)成果机器人拓展功能的理论研究(理论拓展部分)机器人探索迷宫最短路径的理论算法:1.记录路口 在机器人能够自行走出迷宫的基础上,我们开始探索让机器人再次进入这个迷宫后,可以直接沿最短路径走出。(1)理论基础: 设定两个数组a30,b4=0,1,2,3。对于a i ,变量 i 用来记录机器人遇到的路口数目, a i 的取值用来记录机器人在该路口所走的方向。b4用来标定路口的方向。 (A)路口方向标定:如下图,刚进入时为0,向右为1,迷宫探路智能化机器人的研究与应用向前为2,向左为3. (相对机器人而言) (B)路口分类: 3 3 3 3 0 2 0 2 0 2 0

17、2 1 1 1 1 箭头方向为第一次遇到到该路口时的进入方向。(C)方向的探测返回值: 在三个方向,当探测到前面有墙时,标定为0,无墙时为1,这样用0、1只标明探测结果。R、 L、F三个变量分别用来存放右、左、前三个方向的探测结果(0还是1)。(D)判断路口:、进入路口:R+L+F=2、死路口:正常死路:R+L+F= =0; 非正常死路:a i =4; 对于死路口,用一个参数k来表示,其取值为0,1。遇到一个死路口之后,k=1;从一个路口出来时,k=0。、新路口与原路口:机器人先从一个路口出来,若在遇到下一个路口之前,没有遇到任何形式的死路口,即k=1,则可以判定为遇到了新路口,此时变量i 执

18、行i +。若在期间遇到了死路口,即k=1,则可以判定机器人回到了原路口,进行a i 的值的改变。 、非正常死路:当a i 的值大于4的时候,可以判定机器人已经在第i个路口处完成了所有可能的探测,而且该路口所有可能的方向选择都是行不通的,即这个路口判定为非正常死路口,应该关闭,处理方法是,先执行a i =0,然后再使i,这样就在记录中删除了这一路口,并撤回到第i1个路口继续进行探测。 (E)路口处a i 取值的处理: 每当机器人进入一个新路口时,变量i 执行i +,a i 的初值设为0。不论是进入新路口,还是回到了原路口,当确定机身处于路口中央时,执行一次a i +。这时,再判断如果a i =4

19、,则判为非正常死路,按照非正常死路的处理方法处理(删除)。若a i 值=2) break; if(a i =1) turnright(); if(a i =2) driveahead(); if(a i =3) turnleft(); i+; 二、成果机器人的特点(一)机器人的应用与优点1.此机器人的研究成功,是为今后的进一步应用和拓展奠定基础。2.机器人可在任意迷宫中找到出口,若迷宫有多个出口,则机器人将按照靠右原则,自其中的唯一一个出口走出;若迷宫只有入口而无出口,则机器人将自入口进入后不久会又返回,从入口出来。这也正好适合探索类机器人在实际中应用所应达到的要求。3.此类机器人可应用在无光

20、,高烟,高辐射,空间狭窄,高度危险,路径错综复杂的环境中代替人类高效率地进行工作,比如火灾现场的救人和逃离,复杂管道内部的操作性工作,亦可应用在军事中和空间探索中。4.数字指南针、红外测距卡、红外接收扩展卡三套装置相互协调,三重校正,任务的执行准确性高。编制的命令程序能够应对一定的磁场干扰,高概率成功脱离磁场紊乱区。5.体积小,操纵灵活。(二)存在的问题与机器人的不足之处1.每换到一个新的地域环境,都需要从新调节和设置机器人的各项参数,才能让机器人适应环境而走出迷宫。比如,如果将此项目的迷宫地面由瓷砖换成水泥地面,则程序中所有的速度参数和时间参数需要调节重置。2.机器人虽然能够对抗一定程度磁场

21、干扰,但是如果工作区域干扰磁场的强度比较大,磁场紊乱区域又比较多,则机器人走出迷宫的概率会减至极小。源于本机械装置的数字指南针对强的磁场干扰很敏感。3.机器人行走中途不能受到干扰和中断,否则机器人亦会陷入混乱状态。比如,地面如果不平坦,将行走中的机器人颠翻,或者迷宫墙上有颗钉子,将机器人刮到而突然使机器人方位大变,都会使机器人执行错误的操作而陷入在迷宫中乱转。4.机器人零件脆弱,不能禁受重创,不能有物体袭击机器人。问题总结:机器人的上述问题出现,并不会表明此类机器人无法应用于现实。原因在于我们这次实验所用的硬件性能和品质有限,传感器种类也有限。在今后的应用和拓展中,所用的机器人硬件的性能优劣和传感器的种类直接关系到试验的成功与否。资金和设备适宜,可以做出功能强大的此类“探路机器人”。三、综 述以“靠右走”的简约原则应对迷宫的复杂路径,完成迷宫探路,并做出最短路径以及其他拓展功能的理论算法。此项目的研究,将目前此领域的机器人的智能化程度提升到新一高度。参考文献:1谭浩强 著,C语言程序设计(第二版),清华大学出版社,19992能力风暴智能机器人大学版AS-UII使用手册 ,上海广茂达伙伴机器人有限公司,20073能力风暴智能机器人配件使用手册,上海广茂达伙伴机器人有限公司,20074张洪润 张亚凡 编著,单片机原理与应用,清华大学出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1