基于AVR单片机的迷宫机器人设计毕业论文.doc
毕业设计(论文)题 目基于AVR单片机的迷宫机器人设计 系 (院)自动化系专 业电气工程与自动化班 级2009级1班学生姓名学 号 指导教师职 称 二一三年六月十二日独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。据我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名: 年 月 日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)作者签名: 年 月 日 I基于AVR单片机的迷宫机器人设计摘 要二十一世纪机器人产业在将成为和汽车、电脑和手机并驾齐驱的主要产业。不管任何领域,机器人正在慢慢走近我们的生活,成为人类最好的朋友。机器人技术和产业化在中国具有一定的现实基础和广阔的市场前景。本设计中的迷宫机器人是一款智能机器人,具备自主定位、找准路径、发现出口、避开墙壁和回到出发点自主迅速返回等功能。根据设计实用性和灵活性的要求设计出外形,集成了众家之所长,又有独特创新,使得机器人具有完全自主和快速搜寻等众多能力。该迷宫机器人基于AVR单片机微处理器,采用小型直流减速电机进行驱动内部集成PWM发生器和8位高精度AD转换器,通过模块化编程,最终以12MHz的频率高效稳定运行。七个光电传感器负责信息的采集,采集到的数据经过一系列软件滤波后再经线性化得到有效数据,传入控制系统,控制着机器人每一步行踪,通过我实物制作及实验结果表明,该方案完全满足迷宫机器人的硬件要求。关键词:人工智能,模块化编程,软件滤波,控制系统Maze robot based on AVR single-chip processor is designedAbstractRobot industry in the 21st century will become the major industry keeps abreast of the cars, computers and mobile phones. No matter any field, robots are slowly approached our lives, as man's best friend. Robot technology and industrialization in China has a certain basis and reality broad market prospects.Maze in the design of this robot is a robot, its positioning, and get the path back to its starting point, find export, away from the walls and independent quick returns, and other functions. According to the requirements of practicality and flexibility design to design the appearance, integrates the advantages, and has a unique innovation, the robot has a completely independent and quick search ability, etc. The maze robot based on AVR single chip microprocessor, adopts the small dc gear motor to drive the internal integrated PWM generator and eight high accuracy AD converter, through the modular programming, eventually with 12 MHZ frequency efficient and stable operation. Seven of the photoelectric sensor is responsible for the collection of information, data were collected through a series of software filter. Effectively data, then through linearization introduced into control system, which controls the robot movements, each step through my physical production and the experimental results show that the scheme can completely satisfy the hardware requirements of maze robot. Key words: Artificial intelligence, the modular programming,software filter, the control systemii目 录第一章 绪论11.1 迷宫机器人研究现状11.2迷宫机器人主要研究方向21.3 迷宫场地要求21.4迷宫机器人要求3第二章 迷宫机器硬件设计42.1 小车结构设计42.2 电机52.3 主控芯片选择62.4 电机驱动器72.5 检测迷宫墙壁的传感器8第三章 电路设计103.1设计软件的介绍103.2 控制器最小系统电路113.3 电机驱动电路133.4 主电路14第四章 主程序设计154.1 主程序154.2 寻路算法的两个关键点17第五章 结论与展望185.1 结论205.2 展望21参考文献22谢 辞23附录24I第一章 绪论当今人类已经进入了知识经济社会和信息社会。随着科学技术和经济的发展,人类的一切技术活动都围绕着一个目的而展开:将人类从现有的各种事务中解脱出来,去开辟新的领域,那就是机器人。如今机器人已经非常广泛地应用于。现代工业、农业、农业、航天,军事等领域中,用机器人代替传统的人力劳动,不仅提高了工作效率、工作质量,还避免了在某些.领域中人长期在恶劣环境下工作对身体的伤害。现代科学和技术的交叉和综合大部分体现在机器人技术,先进机器人技术是一个国家综合实力的体现,比如我国的神舟系列,蛟龙下海,这些都无不体现我国的综合国力。目前,许多国家都已将机器人技术列入本国本世纪高技术发展计划。举办各种机器。人竞赛已成为机器人发展的一种新动力,国际上各种机器人竞赛中,最为著名的是:机器人足球竞赛、机器人灭火竞赛和亚太机器人大赛,这些竞赛推动着机器人技术一步一步地发展。在我国,机器人大赛以中国机器人大赛RoboCup公开赛和“未来伙伴”杯中国智能机器人大赛最具影响力,其中每个省份也根据本省的具体情况举办一些机器人大赛,比如“联通杯”山东省机器人大赛。本设计中的机器人的计背景是以山东省机器人大赛。中的迷宫机器人组,涵盖电子工程、信息技术、机械工程、传感技术以及人工智能等前沿科技知识。本文从机器人的主部件选择、外形结构、电子电路的设计制作和控制程序设计编写等方面详尽的阐述了迷宫机器人的制作过程,具有很强的实践意义,达到了学以致用的目的,从而学习并领会了设计制作一个完整的控制系统所遵循的一般设计原则、设计步骤,制作过程中的注意事项以及设计完成后的调试方法。1.1 迷宫机器人研究现状迷宫机器人是移动机器人路径规划算法的典型应用,在国内外迷宫机器人一直是计算机领域和控制领域的研究热点话题。1969年,The Machine Design组织了一次走迷宫比赛,从那以后世界各地举办了很多关于迷宫机器人的比赛,至1980年,为了很好解决迷宫机器人的路径问题,IEEE Magazine提出了一个“Micrometer”的概念。后来,就关于走迷宫的比赛就一直没有中断过。迷宫机器人硬件越来越先进,算法越来越多。早期有随机算法,概率算法等,向左(右)算法,在迷宫中,机器人一直沿着迷宫隔栅走,在岔路口用随机选的办法等,可以顺利走出迷宫,但对于有独立的迷宫,这种算法就容易陷入死循环,后来又有流水法,即广度优先算法等等。1.2迷宫机器人主要研究方向 智能机器人是指机器人。在实时自主运动,没有人参与的环境中,实时自主选择,是集环境感知、动作的决策与规划与行为控制执行等。功能于一体的具有高度自动化程度的智能化装置。因此走迷宫机器人是只要启动,就要完全在没有人工干预的情况下,通过机器人上的光电传感器系统感知迷宫环境,判断是墙壁还是出口,是前进还是左转和右转等,这些步骤和动作的执行都是有中央处理器通过计算来分析,并传达命令给电机,让机器人在迷宫中自由而准确的做出选择1。此设计针对智能迷宫机器人走迷宫的特点对走迷宫机器人的机械结构、传感器系统、电源系统以及控制系统分别进行了设计,迷宫机器人采用了三轮式移动机构,其中包括两个电机驱动轮和一个万向轮控制 系统处理器采用高速AVRmegal6L单片机,传感器采用光电传感器,分别用来探测迷宫壁和迷宫地面白线。电源系统采用充电电池,以满足机器人走迷宫的硬件需要,电机驱动电路用L298n驱动模块,驱动电机能正常前进,同时在对一些经典的智能搜索算法深度优先搜索算法和广度优先搜索算法的基础上进行总结,我设计出一种坐标法。1.3 迷宫场地要求如下图2-1所示,迷宫场地由8×8个18cm×18cm大小相同的正方形单元所组成。终点起点 图2-1 迷宫场地图 迷宫的隔墙高5cm,厚1.1cm,迷宫的地面为木质,使用油漆漆成黑色迷宫隔墙的侧面为白色,顶部为红色。因此两个隔墙所构成通道的。实际距离为16cm。外墙将整个迷宫封闭。隔墙侧面和顶部的涂料能够反射红外线,地板的涂料则能够吸收红外线。迷宫的起始单元可选设在迷宫四个角落之中的任何一个。迷宫制作的尺寸精度误差应不大于6%,或小于3cm。起始单元必须三面有隔墙,只留一个出口。除了终点区域的格点外,每个格点至少要与一面隔墙相接触。迷宫地板的接缝不能大于0.1cm,接合点的坡度变化不超过5度。隔墙之间的空隙不大于0.1cm。在每个单元的四角可以插上一个小立柱,其截面为正方形。立柱长1.3cm,宽1.3cm,高6cm。小立柱所处的位置称为“格点”。使用红外传感器计算穿越迷宫时间,起点处放置起点红外传感器,用于触发启动计时;终点处放置终点红外传感器,用于结束计时。传感器沿水平方向。发射红外线,高出地面约1cm。1.4迷宫机器人要求机器人必须自成独立系统,只能使用电作为机器人的动力,并不能用带线的电源供电,不能使用遥控,机器人的长和宽限定在15cm×15cm。每次运行中机器人几何尺寸的变化不能超过17cm×17cm。对机器人的高度不能高出迷宫墙壁的1/3。机器人不能跳越、攀爬、钻挖和损毁迷宫隔墙。并且机器人在迷宫的行驶过程中任何东西都不允许留下。第二章 迷宫机器硬件设计机器人的主部件对于机器人来说是至关重要的,这种时间比赛,绝大部分是硬件结构的较量,强硬精妙合理的硬件结构再加上好的控制策略必定能常立于不败之地。机器人的主部件主要包括:电机、轮子、传感器、控制器以及其他的一些辅助作材料等。2.1 小车结构设计迷宫机器人要求小巧灵活,能在最短时间达到目的地,因此小车地盘的选择尤为重要,本次设计我选择的底盘的材料是有机玻璃板,自己用钢锯加工而成,轻便灵活而不失韧度,旋转快捷,底盘为类圆形,使得小车在迷宫中能很好的旋转而不碰壁,赢得较短时间;底盘直径加大至150MM,可以安装更多的传感器,为小车提供了更多的升级空间。 底盘留有直径8.0MM的推球槽,载重更强。车轮由2片车轮片拼装而成,并带有一个不锈钢万向轮。增加了车体的承重机械强度。 轮胎材质选用抗老化的防滑硅胶,不管是爬坡的路面还是适应光滑路面都适合。电源方案选用2节AA电池盒,适合51系列、AVR系列、PIC系列等多种单片机或数字电路供电,本车还设计有锂电池盒预留位,车体上安装2支铜柱。用于固定小车主控板;并且还能提升小车空间,可以加大传感器和控制器的安装位置,为了方便升级小车,底盘预留了许多安装孔,适合安装配套的主控板和传感器模块等一系列配件,也可以安装小车所需的其它电路板。综合所述,我们选用小车地盘的基本参数如下: 底盘直径:150MM 车轮直径:50MM安装孔:3MM推球槽:80MM万向轮:5MM图2-1 小车底部结构2.2 电机迷宫机器人大赛是一场速度的较量,时间性比赛,这就要求该机器人具有很强的推动力、灵活性好且能够承受频繁地加速、减速、改变转向和制动,因此我在选择电机时就要注意选择的电机必须满足以下性能:控制简单、稳定性高、加减速性能好。目前市场应用的电机种类繁多,根据电能种类分为交流电机和直流电机,由于交流电机需要交流电源控制,众所周知,交流电不易存贮,而机器人要求能够自主快速移动,所以机器人不方便到场地外引用交流电源,最重要的一点就是,交流电机的控制非常复杂,所以选用直流电机。直流电机又分为直流无刷电机和直流有刷电机,直流无刷电机噪音低,电磁干扰低,转速高,可靠性受电子元器件影响,通常还要配驱动器,价格比较贵。直流有刷电机,相对噪音高,电磁干扰强(电刷、涡流等),转速低,可靠性高,通常给电就可以转,价格相对便宜一些,所以本机器人选用直流有刷电机2。综合所述,我们选用DC3V-6V长尾轴直流减速电机,该电机的基本参数如下:电压:3V6V电流:80-100mA转速:5000转/分钟减速比:256输出负载转速:14-22转/分输出扭矩:1-1.2kg.cm图2-2 小车电机2.3 主控芯片选择鉴于本次设计需要,我选用AVRmegal6L单片机,高可靠性、功能强、高速度、低功耗和低价位 ,采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中,取指周期短,又可预取指令,实现流水作业,故可高速执行指令3。该单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆和单体高速输入、输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入、输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得I/O口资源灵活、功能强大、可充分利用。AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。 AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰。设计工作量和硬件的使用量。结合以上所说的优点,因此我选择此单片机4。 根据外围硬件的特点,我软件用的是Altium Designer 6.9版本PCB绘图软件设计出单片机的最小系统电路板,并。印制出单片机最小系统PCB板,并焊上所需原件,并通过实验,证明此电路板有效和运行稳定。得到如下图的电路板。图2-3 本机器人所选用的单片机2.4 电机驱动器本设计采用L298N。直流电机驱动,它是S。T公司生产的一种高电压、大电流电机驱动芯片。该芯片采用1把。5脚封装。主要特点是L298N 双H 桥直流/步进电机驱动芯片工作电压高,电机驱动电源电压DC 5。-40V,在本次设计中用两节锂电池供电,供电电压为9V左右。输出电流大,瞬间峰值电流可达3A,最大输出功率2。5W。可单独控制2。台直流电机或1台两相。4线(或6。线)步进电机。在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分。在低电压下。工作;可以外接检测电阻,将变化量反馈给控制电路。可以采用把并联接法控制一台高达3【A 的直流电机。可实现电机正反转。直流电机转速可通过P。W【M 方式实现调速。综合所述,我选用L298N芯片驱动,该驱动的基本参数如下:尺寸:80mm*45mm 主要芯片:L298N、光电耦合器工作电压:控制信号直流5V;最大工作电流:3A 额定功率:25W图2-4选用直流电机驱动2.5 检测迷宫墙壁的传感器由于迷宫场地是黑色地面,白色的墙,所选用的传感器为光电开关(光电传感器)。它是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的物体不限于金属,所有能反射光的物体均(即除开黑色的物体)可被检测。光电开关将输入光信号转换为电信号输出。它的用途非常广泛,在安防系统中常用光电开关烟雾报警器的检测传感器,自动门用来检测是否有人进入,工业中经常用它来记数。产品的生产个数。本次设计用来检查前方或两侧是否有墙,从而辨别机器。人所在迷宫的位置,从而精确定位5。综合所述,我选光电传感器,该传感器的基本参数如下:型号:E3F-DS30C4品名:光电开关漫反射型外形:直径18毫米圆柱体检测距离:30 CM距离可调检测物体:不透明体工作电压:直流DC6-36V以内输出方式:NPN三线常开输出电流:300毫安外壳材料:塑料ABS 图2-5光电传感器第三章 电路设计3.1设计软件的介绍 电路设计软件用的是Altium Designer 6.9它是Protel的升级版本,Altium Designer Summer 6. 9功能更加强大,这必将把帮助用户更轻松地创建电子设计,更符合电子设计师的要求,Altium的一体化设计结构将硬件、软件和可编程。硬件集合在一个单一的环境中,这将令用户自由地探索新的设计构想,在整个设计构成中,每个人都使用同一个设计界面,Summer 6.9版本解决了大量历史遗留的工具问题,其中就包括了增加更多的机械层设置、增强的原理图网络类定义,新版本中更关注于改进测试点的分配和管理、精简嵌入式软件开发、软设计中智能化调试和流畅的License理等功能6。Altium Designer Summer 6.9所具有的新功能和新特性:(1)增强了图形化DRC违规显示 Summer 6.9版本改进了在线实时及批量DRC检测中显示的传统违规的图形化信息,其含盖了主要的设计规则,利用与一个可定义的指示违规信息的掩盖图形的合成,用户现在已经可以更灵活的解决出现在设计中的DRC错误7。 (2)用户自定制PCB布线网络颜色 Summer 6.9版本允许用户在PCB文件中自定义布线网络显示的颜色。现在,用户完全可以使用一种指定的颜色替代常用当前板层颜色作为布线网络显示的颜色,并将该特性延伸到图形迭层模式,进一步增强了PCB的可视化特性。 (3)PCB板机械层设定增加到32层 Altium Designer 6.9版本为板级设计新增了16个机械层定义,使总的机械层定义达到32层,3D单层显示模式,改进了测试点管理系统。 (4)改进了Direct X图形重建速度 在Altium Designer Summer 6.9的PCB应用中增强了Direct X图形引擎的功能,直接关系到图形重建的速度,由于图形重构是不常用到的,如果不是非常必要,将不再执行重构的操作,同时也优化了Direct X数据填充特性,经过测试,Summer 6.9将在原版本的基础上提升20%的图形处理性能8。图3-1 Altium Designer 6.9全新界面3.2 控制器最小系统电路 控该系统模块的控制核心是AVR高速单片机ATmega16。其CPU工作频率最高可达16MHz,内部集成了8通道的高达10位精度的A/D采集模块和8通道的8位或者4通道16位的脉冲宽度调制PWM,具有速度快、价格低、可靠性高,稳定性强,I/O口线驱动能力强和片内集成外设资源丰富等特点,其硬件最小系统是指可以使内部程序运行的所必须的外围电路,也可以包括写入器接口电路,一般情况下,硬件最小系统有电源、晶振电路组成,芯片要工作必须有电源与工作时钟,至于复位电路则提供了不掉电情况下MCU重新启动的手段,由于AVR单片机具有高速性,可利用I/O端口线以软件方式模拟PDIUSBD12的时序,对其读写,大部分芯片提供了在板或在系统(On System)。写入程序功能,这种方式可根据不同的微处理器。速度灵活控制PDIUSBD12的时序和地址,无需译码电路,即把空白芯片焊接到电路板上后,再通过写入器把程序下载到芯片中,这样,硬件最小系统应该把写入器接口电路也包含在其中,基于这个思路,该硬件最小系统包括电源及其滤波电路、复位电路、晶振电路和写入器接口电路9。其最小系统原理图如下。图3-2控制器最小系统电图3-3控制器最小系统PCB板走线图3.3 电机驱动电路 驱动模块内含两个H桥的高电压大电流全桥式驱动器,其设计是为接受标准。TTL 逻辑电平信号,可以用来驱动直流电动机和步进电动机、继电器线圈和驱动电感负载,采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。驱动的控制电压来自于控制器,最高为5V,而驱动电压为两节电池直接供电。当ENA 使能 IN1 IN2 控制 OUT1 OUT2,当ENB 使能 IN3 IN4 控制 OUT3 OUT4。图3-4 驱动控制图3-5 电机驱动电路3.4 主电路该主电路主要完成电源的电压稳压到5V,供给单片机最小系统,光电开关,驱动的电源直接由电源电池供给,来驱动电机,光电开关检测传回来的信息共CPU处理后来控制电机,从而控制电机的转速和转向,使小车快到达目的地。变压7805供电模块主电源供电供电供电供电传感器模块主控电路模块L285n驱动模块电机图3-6 主电路示意图第四章 主程序设计 程序是一台机器得以正常运行的灵魂,是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的,而进行操作的一系列语句和指令。 程序就是为使机器人计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。4.1 主程序因为迷宫分为8*8=64个方格,所以很直观地可以想到用两个变量来存储迷宫的信息,一个变量存储横轴信息,另一个变量存储纵轴信息,也就是一种坐标的思维法,把迷宫的一个角落定为坐标原点,横轴为X轴,纵轴为Y轴,如图4-1所示。原点所在角所对应到角的坐标也就是(8,8)。迷宫小车要到达的目的地就是坐标为(4,4)的点,也就是让小车在迷宫中行驶的过程中让它无限的趋近坐标为(4,4)的点。因此有了这样的一种想法,在算法中定义两个变量X和Y来分别确定小车的位置,在小车行驶途中,当小车横向行驶一格,“X”就自加“1” ,小车纵向行驶一格,“Y”就 自加“1”,同理小车横向倒退一格,“X”就自减“1”,小车纵向倒退一格,“Y”就自减“1” ,在每一个岔路口的坐标自都需要入栈,当小车选择的其中一条路行不通的时候,小车需要回到岔路口,然后坐标值出栈,选择没有走过的另一条路,通过这种想法让小车无限的趋近迷宫的中心。设计出程序见附录。4-1 迷宫坐标图根据以上思路程序流程图,如图4-2所示。4-2 程序流程图否是否否是是后退结束是 否终 点继续前进是否无 路继续前进是 否岔 路做出选择坐标出栈检测墙壁信息坐标入栈初始化开始 4.2 寻路算法的两个关键点第一,在岔路口的转弯策略以及小车运行的稳定性,转弯的策略一定程度上决定了从小车开始运行到找到终点的时间长短。良好的转弯寻路策略可以大量减少不必要的寻路时间,用较高的效率寻找到终点。小车运行的稳定性对于寻路过程也十分重要,如果小车运行时姿态不稳就不能正确检测挡板,传回来的信息就不能确定小车是前进还是后退,是横向行驶还是纵向行驶,或者电机就会空转一段时间,那么统计的数据就整个乱掉了,很有可能造成算法崩溃,X和Y的值就有可能是无限的自加或自减,所以小车的行进和转弯的过程一定要在硬件和软件两方面都调节到最稳定的状态,然后再开始设计后续的算法。第二,正确使用堆栈,在行驶过程中小车会遇到很多的岔路口,整个选路算法中就会有大量地使用堆栈的入栈和出栈操作,如果对入栈和出栈的条件判断不正确,有可能造成数据紊乱,整个算法就崩溃了,最好是做一个显示电路,来正确显示坐标的入栈和出栈的值,在哪里发现错误就去找这里的程序,这样就能一目了然,并且不易出错,也不会影响到别的地方的程序,直到整个寻路算法稳定为止。第五章 结论与展望经过为期两个半月的时间,从设计到制作以及后期的调试并完成,迷宫机器人终于经测试达到了预期的目标,完成了相应的功能,如下为迷宫机器人的实物图5-1所示。图5-1 迷宫机器人前视图图5-2 迷宫机器人顶部视图图5-3 迷宫机器人侧面视图迷宫机器人虽小但灵活快速,涉及的知识很丰富,经过反复调试与修改,最后终于做出来了。一路走来,经历了很多,遇到许多困难,很是坎坷,不经历风雨,怎能见彩虹。只有在不断吸取教训的过程中坚持下来才会学到更多的知识,对知识的理解更加深刻,为未来的发展奠定了理论基础,下面对本次设计作以下简单总结。5.1 结论通过选择AVR单片机作为迷宫机器人的控制核心,选择L285n作为电机驱动等,设计出了完善的硬件电路,创新出坐标算法,并应用传感器技术电机控制技术对机器人进行控制,完成了硬件设计和软件编写并进行系统调试10。实现了机器人自主走出迷宫基本要求,并能够精确在迷宫中定位,准确无误地到达指定位置。应用这套设计方案对迷宫机器人进行控制,不仅简化了系统的硬件结构,降低了硬件成本,而且提出了一种全新算法,对机器人控制精确,稳定度高,在实际应可应用于搜救,此设计方案具有合理性和可行性。5.2 展望 经过我的不断努力,从设计到制作以及后期的调试并完成,迷宫机器人终于经测试达到了预期的目标,完成了相应的功能,在此设计中我设计的这种坐标值算法还能用的实际生活中,地球现在已进入地壳的活跃期,经常发生地震,地震后的搜救工作是关键的一个环节,能否在生命的黄金时间内搜救到幸存者是搜救工作的一大难题,因此根据本设计的迷宫机器人的算法,可以应用的时间的就搜救机器人上,如果要让一个搜救机器人是一个复杂的环境中去搜救,只要给机器人输入起始坐标和重点坐标,让后吧机器人放在起点,它就会在复杂的场所发现伤者,并找到出口。25参考文献1 张国良,敬斌,刘延飞,熊磊.自主移动机器人设计与制作.西安:西安交通大学出版社,2008:46-58.2 刘锦波,张承慧.电机与拖动.北京:清华大学出版社,2006:126-130.3 张毅刚,彭喜元.单片机原理与应用设计M.北京:北京市海淀区四季青印刷厂,2010:26-28.4 丁元杰.单片微机原理及应用M.北京:机械工业出版社,2005:76-79.5 刘爱华,满宝元.传感器原理与应用技术.北京:人民邮电出版社,2010:63-67.6 石磊,张国强.Altium Designer 6.9 中文版电路设.北京:清华大学出版社,2006:214-250.7 谢龙汉,鲁力,张桂东.Altium Designer6.9原理图与PCB设计及仿真.电子工业出版社,2012:7-28.8 张伟,蒋亮,Protel 99SE实用教程.人民邮电出版社,2010:36-40.9 张华宇,谢凤芹,李跃辉.AVR单片机基础与实例进阶.北京:清华大学出版社,2012:46-58.10 Nieva TM,Wegmann.A comceptual model for remote data acquisition systemM.COMPUTERS IN INDUSTRY,2002:44-46.谢 辞 通过此次的论文,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在论文的写作过程中,通过查资料和搜集有关的参考文献,培养了自学能力、动手能力和创新精神。在论文的写作过程中也学到了做任何事情所要有的耐心和心态,首先做学问要兢兢业业,来不得半点马虎,对于在解决实际问题过程中出现的任何漏洞和偏差都不要轻视,要通过正确的途径去解决,不能走捷径,在做事情的过程中要有恒心和毅力,不要一遇到困难就退缩,在哪里跌倒就要从哪里爬起来,只有这样坚持下去就可以找到出路,解决问题。而且要学会与人合作的能力,多向别人请教,这样做起事情来的效。率就会以事倍功半。论文得以完成,最要感谢的是王志勇老师,因为论文是在王志勇老师的悉心指导下完成的,他指引我论文的写作方向和架构,并对本论文初稿进行逐字批阅,指正其中误谬之处,使我有了思考的方向,他循循善诱的教导和不拘一格的思路给予我无尽的启迪,他的严谨细致、一丝不苟的作风,将一直是我以后的工作和学习中的榜样。再次感谢大学里所有帮助过我并给我鼓励的老师,同学和朋友,谢谢你们!附录主程序#include<megal6L.h>#define uint unsigned int#define uchar unsigned charvoid motor(int left,int right)/电机的控制程序void main() int X=0, Y=0, a=0,b=0/初始化程序 DDRA=0x00; PORTA=0xFF;/配置为带有上拉的输入 DDRB=0XFF; DDRC=0x00; PORTC=0xFF;/口配置成带有上拉的输入 DDRD=0XF0; PORTD=0xF0; TCCR1A=0Xf1; TCCR1B=0X0B; while(1) while(PINA0) X+;/横轴前进一格 void motor(int left,int right) while(PINA1) Y+;/纵向前进一格 void motor(int left,int right) while(PINA2) X-;/横轴退一格 void motor(int left,int right) while(PINA3) Y-;/纵轴退一格 void motor(int left,int right) while(PINA4)/岔路口坐标的坐标保存下来 a=X; b=Y; void motor(int left,int right) if(X=4)/判断是否到达迷宫中心,及坐标为(0,0)的点 void motor(int left,int right) if(Y=4) void motor(int left,int right)