迷宫电脑鼠的设计—课程设计论文
- 格式:docx
- 大小:26.07 KB
- 文档页数:18
电脑鼠走迷宫路径规划及控制方法的研究2011年 6 月2 日摘要电脑鼠是使用嵌入式微控制器、传感器和机电运动部件构成的一种微型机器人,可以在迷宫中自动记忆和选择路径,快速地达到所设定的目的地。
电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。
本论文首先介绍了电脑鼠的起源与发展,分析了电脑鼠的硬件组成和工作原理,在此基础上重点讨论了电脑鼠软件的设计与实现,具体包括:等高图制作、电脑鼠冲刺、电脑鼠转弯、电脑鼠搜索、相对方向与绝对方向转变、墙壁资料存储和电脑鼠搜索策略。
通过对电脑鼠自动穿越迷宫过程,综合嵌入式专业的电路设计,传感器控制,单片机程序开发和算法研究等多学科知识的研究,使我熟悉掌握嵌入式应用开发的全过程。
最后对电脑鼠研究过程中遇到的问题进行了讨论与总结。
关键词:电脑鼠;迷宫的算法;路径规划;电机;红外感应器ABSTRACTThe micromouse is a typical micro robot, which inclueds embedded microcontroller, sensors and mechanical motion. The micromouse can choose a best and fast way to the destination in the maze, with automatic memory. The contest of micromouse go through a maze is a difficult but challenging and interesting game. This Research-based Curriculum focuses on the hardware design of micromouse and the maze algorithm. The research includes the knowledge of circuit design, the embedded microcontroller program and algorithms such.This paper firstly introduces the origin and development of micromouse. Then it analyzses the micromouse's hardware composition and working principles. After that we discuss the design and implementation of the software. It includes the maze map, absolute orientation, search strategy and optimal path method of the research. At last, the problems during the studying process are discussed and summarized.Keywords: Micromouse,;Flood Algorithm;Path Planning;Motor;Infrared目录第一章绪论 (1)1.1电脑鼠介绍 (1)1.2电脑鼠的国内外现状 (2)1.3电脑鼠比赛简述 (3)第二章迷宫的算法 (4)2.1迷宫坐标和方向 (4)2.2迷宫搜寻法则 (5)2.2.1基础的搜寻法则 (6)2.2.2中心搜寻法则 (7)2.3洪水算法简介 (8)2.4最优路径算法 (8)2.4.1等高图的制作原理 (9)2.4.2转弯加权的等高图 (10)2.5模拟最佳路径 (10)第三章运动控制 (12)3.1电脑鼠原理 (12)3.2底层驱动程序及顶层算法程序 (13)3.2.1两相四线制步进电机驱动时序 (13)3.2.2步进电机的加减速控制 (14)3.3电脑鼠转弯 (15)3.4电脑鼠运动状态的控制 (18)3.4.1电脑鼠姿势修正 (18)第四章软硬件原理 (21)4.1电脑鼠的硬件构造和特点 (21)4.2原理说明 (23)4.2.1电机驱动电路 (23)4.2.2红外线接收传感器 (24)4.2.3按键电路 (26)4.2.4处理器 (27)4.2.5机械结构 (29)4.3软件设计 (30)4.3.1软件开发环境 (30)4.3.2电脑鼠的主要程序 (33)第五章总结与展望 (34)参考文献 (36)附件 (38)附件1程序 (38)附件2英文文献 (43)附件3中文翻译 (54)谢辞 .............................................................................................. 错误!未定义书签。
电脑鼠学习心得和遇到的问题及解决方法彭旺 16012126学习心得:在大一的时候就经常看见学长们整天在宿舍弄一个小车,后来才知道那就是视觉知道机器人。
于是到了大二选择选修课的时候就果断选了这个课。
本来我选的是机器人那个,上了才知道又要做实验还要参加比赛还要交押金甚是麻烦,顿时欲哭无泪,硬着头皮去上,因为分组问题被弄到了电脑鼠这边来,觉得比机器人那边要好玩得多。
第一次去上课就要交押金,并且那个电脑鼠还好贵的,整整两千多啊。
那是最开始就给我们讲了电脑鼠处理器运行的相关函数,后面几节课分别讲了电脑鼠在迷宫中搜索以及最后冲刺的相关程序。
好吧,我承认当时确实有点无聊。
直到后来,老师终于给了我们完整的程序,于是兴奋的我们毫不犹豫的把程序“捎”了进去,然后把电脑鼠放到迷宫中,结果发现它除了撞墙就是转圈。
探索调试:我们小组分工合作,一起研发。
电脑鼠走迷宫可以采用全迷宫探索策略,即将迷宫的所有单元均搜索一次,从中找出最佳的行走路径。
或者可以采用部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径。
我们的电脑鼠要实现的功能有如下几个方面:路口检测:由安装在前、右、左的三个红外线发射对管SIR563ST3F 和IRM8601S实现, 发射信号为38KHz, 实现远红外测距功能, 探测前、右、左有无障碍。
行走控制:由左、右两个红外线发射对管SIR563ST3F和IRM8601S为实现, 发射信号为30.5KHz, 实现近红外测距功能, 保持电脑鼠在中轴线上行走, 避免撞墙。
路程控制:安装在左右轮内侧的红外收发对管IR204和PD204一6B, 对黑白码盘计数, 按照迷宫单元的长度为单位进行路程计数, 以记录老鼠在迷宫中的位置同时还可以准确地实现转弯。
微控制器和其它子系统共同构成一个闭环的反馈控制系统, 通过对三种传感器信号的检测行走信号、路口信号和黑白码盘计数信号, 由微控制器进行运算, 运算结果交给电机执行, 由此实现电脑鼠的智能穿越迷宫。
电子技术课程设计报告学院:专业:年级:姓名:学号:指导老师:第一章课程设计任务和总体设计1.1课程设计任务该课程设计以两人组队的形式,制作寻线型电脑鼠。
要求能够在8×8的迷宫中搜索路径并计算出最短路径。
其中迷宫由25mm宽的黑线组成。
电脑鼠第一次进入迷宫和返回迷宫时,可以循着黑线走到终点并记录迷宫信息,第二次进入迷宫时,根据第一次所记录的迷宫信息选择最短路径冲刺到终点。
1.2总体设计思路和步骤寻线型电脑鼠不同于以前的走迷宫,是利用红外传感器进行路线探测并选择前进方向的小型智能机器人。
其设计步骤包括:系统设计、利用Altium Designer软件绘制原理图和PCB图,电脑鼠硬件焊接组装、软件代码书写调试和总体调试。
硬件部分主要由传感器,单片机,电机驱动组成。
传感器采用红外传感器,由发射管和接收管组成,可探测黑线迷宫。
单片机采用IAP15W413AS芯片,用于编写和实现程序。
电机驱动由单片机产生的PWM以及L9110芯片进行驱动。
软件部分主要由产生PWM函数,搜寻路径法则,记录信息,测速盘组成。
此课程设计中电脑鼠按照左手法则进行路线搜索,根据测速盘的计数得到迷宫坐标并储存。
第一次排除迷宫中的死路,第二次便可沿迷宫中最短路径走出迷宫。
第二章硬件设计2.1硬件设计步骤硬件设计步骤如图1所示。
设计原理图、生成PCB板之后进行手动布线,再根据PCB板将原件、轮子、轴承、电机、齿轮等器件进行组装,调整传感器角度使之能够达到良好的接受效果。
最后进行电路测试,测试方式在软件设计部分说明。
2.2主控模块(单片机)包括单片机(图2)和电脑下载部分(图3)。
单片机采用了STC15W4K32S4芯片,其原理图为:图2寻线型电脑鼠电机驱动单片机PCB板制作红外传感器图1管脚图:图3图42.3传感器模块传感器模块运用了5对发光二极管(白)+红外光敏三极管(黑)的组合(如图7),成一条直线置于电脑鼠前端用于探测赛道。
电脑鼠走迷宫作者:陈敬作者单位:省杭州市青少年科技活动中心1.期刊论文曾璐.周贤娟迷宫电脑鼠控制系统设计-自动化博览2009,26(7)电脑鼠实际上是集传感与控制于一体的,能够自动穿越迷宫的微型机器人.本课题结合模拟电路、数字电路知识以及传感器知识,制作出一个性能优良的电脑鼠,在迷宫中找到一条最优路径,走出迷宫.根据国际标准迷宫电脑鼠的比赛规则,通过各种方案的对比,确定在本文中采用NXP公司ARM7LPC2138作为控制核心,将新兴的群智能算法运用到迷宫电脑鼠中.2.期刊论文朱闻达IEEE迷宫电脑鼠的迷宫搜索算法研究-中国科技博览2009,""(27)迷宫电脑鼠的概念最早由IEEE Spectrum杂志在七十年代提出,随后这项比赛先后在英国、美国、日本、新加坡等国家开展,现在已成为世界级的电子机器人竞赛.电脑鼠是一个能够自主搜索一个16×16单元格的迷宫中心机器人小车.本文总结了常见的搜索算法,吸收现有算法的思想,提出一个适用于电脑鼠竞赛的实用算法.为了测试所设计的算法的性能,用Visual Studio制作测试环境,编程实现上述算法,设置了数个正式比赛使用的迷宫来进行算法测试,并且借助图形界面展示算法仿真的效果,测试结果表明算法具有较好的实时性和鲁棒性.3.期刊论文吴曼晨迷宫电脑鼠的硬件设计简介-中国科技博览2009,""(27)人工智能技术是一门融合了众多学科的新星科学,它被广泛地应用于勘探、侦察、医疗救援、抢险以及日常生活的各个方面.智能机器人竞赛则是一项旨在开发人工智能技术而举行的比赛,它集科学、娱乐和比赛于一体,在各国引起了广泛关注和极大兴趣.目前国际上有很多针对机器人技术的比赛,而IEEE迷宫鼠竞赛则是其中的一个典型代表.本文首先对近年来在国际上迅速开展的迷宫机器人竞赛作了简要介绍,简要说明了迷宫鼠竞赛的竞赛规则以及发展历史,同时也分析了国内外关于此课题的研究现状.其次,本文对迷宫鼠的硬件设计作了一个整体规划,将迷宫鼠的设计分为微控制器模块、马达驱动模块、传感器模块、人工智能模块和数据存储及传输模块.最后还对参加IEEE迷宫鼠竞赛的智能机器人作了一些测试.4.期刊论文朱姗.傅或哲.吴忠丽.王伟.仇润鹤一种走迷宫电脑鼠的设计与实现-微型电脑应用2008,24(9)该文介绍了一种基于ARM嵌入式的电脑鼠,主要由电源、传感子系统、电机控制子系统、微控制器单元等功能模块组成,文中对各个模块的工作原理,分别从硬件结构、软件流程二个主要环节对走迷宫的电脑鼠实现过程进行深入的说明,并在算法方面对传统的中左法则进行了改进,基于泛洪算法的思想,结合向心法则,提出了一种简单的电脑鼠走迷宫的算法,仅用一个一维数组就可以记录迷宫的全部信息,具有较低的复杂度,易于实现编程,本设计有较广泛的发展应用前景.5.期刊论文屈传坤.徐国政.崔建伟.宋爱国.QU Chuan-kun.XU Guo-zheng.CUIJian-wei.SONG Ai-guo基于DSP的电脑鼠系统设计-电气电子教学学报2008,30(4)本文设计了一种基于DSP的微型机器人一电脑鼠系统.通过对车体速度和方向进行控制,使电脑鼠顺利穿越迷宫到达终点并顺利返回起点.实践证明,该系统能完全实现自主控制,抗干扰能力强,稳定性好.6.会议论文张晋嵌入式电脑鼠运行算法的研究2009本文阐述了电脑鼠设计的构思和实现的过程,主要从算法上分析如何使电脑鼠寻找最佳路径快速的找到迷宫终点。
可编辑修改西安建筑科技大学 课程设计(论文)题 目: 院 (系): 专业班级: 姓 名: 学 号: 指导教师:可视化走迷宫游戏2011 年 9 月 15 日欢迎下载可编辑修改西安建筑科技大学课程设计(论文)任务书专业班级: 计算机901 学生姓名: 指导教师(签名):一、课程设计(论文)题目走迷宫游戏:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的 右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到 粮仓处。
二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。
课程设计是加强学生实践能力的一个强有力手 段。
课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。
严格实 施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训 练,将起到显著的促进作用。
本题目要达到目的:熟练掌握最短路径的算法设计。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术 参数、设计要求等)1、 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动; 2、 迷宫的墙足够结实,老鼠不能穿墙而过; 3、 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败; 4、 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙; 找出走出迷宫的所有路径,以及最短路径。
四、应收集的资料及主要参考文献:由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上 机练习了“线性表”的基本操作。
参考文献:1. 本年级使用的教材:数据结构与算法分析(C++版)(第二版)影印版 2005.72. 数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著 3. 数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著 4. 《Visual C++编程实例》(任意一本此类书籍)五、审核批准意见教研室主任(签字)欢迎下载可编辑修改摘要本设计是为了实现一个可视化迷宫,以及利用最短路径算法 寻找迷宫的出路以及将最短路径打印在屏幕上,并且限制小老鼠 不能穿越墙,只能在路径上移动。
目录摘要 (2)1、课程设计的目的及要求 (3)2、题目分析 (3)1.1 功能分析 (3)1.2 性能需求分析 (3)1.3 算法分析 (3)3、系统设计 (4)3.1系统整体设计 (4)3.2硬件设计 (5)3.2.1 硬件结构设计 (5)3.2.2 传感器组设计 (5)3.2.3 电机驱动电路设计 (6)3.3软件设计 (11)3.3.1 电脑鼠正常行走程序设计 (11)3.3.2 电脑鼠记路径程序设计 (12)3.3.3 电脑鼠找终点程序设计 (13)摘要“电脑鼠”是使用嵌入式或单片机微控制器、传感器和机电运动部件构成的一种微型机器人,可以在“迷宫”中自动记忆和选择路径,快速地达到所设定的目的地。
电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。
本研究性课程重点对电脑鼠硬件、迷宫算法进行分析研究。
本研究性课程通过对电脑鼠自动穿越迷宫过程的研究,综合嵌入式专业的电路设计、传感器控制、单片机程序开发和算法研究等多学科知识,熟悉掌握嵌入式应用开发的全过程。
关键词:嵌入式或单片机微控制器,电脑鼠,智能算法1、课程设计的目的及要求本项目要实现的是用电脑鼠找出迷宫中通往终点的最短路径并以最快速度到达迷宫的终点。
电脑鼠从迷宫起点位置前进,由程序判断通过前视距离探测器探测到的迷宫状况,控制驱动机构前进或转向并记录路径和距离(控制车轮编码器可完成),由于起点位置和终点位置是已知的,虽然不知道具体路径,但通过编写算法程序即可找到最短路径,在重新开始时便可以最快速度从最短路径到达终点。
设计的电脑鼠应该具有三种最基本的能力:•拥有稳定、准确、快速的行走能力•能争取判断环境的能力(如有墙、有路)•记忆路径的能力总之,电脑鼠的设计目标是:在最短的时间内找到一条通往总店的最短路径,并以最快速度从起点到达终点。
如何衡量:迷宫时间(搜索时间):电脑鼠激活到每次运行开始的时间;注:搜索结束,从终点返回到起点的时间不算在迷宫时间内;运行时间:电脑鼠从起点走到终点的时间;如果电脑鼠在比赛时需要手动辅助,这个动作就成为“碰触”。
HUNAN CITY UNIVERSITY 数据结构课程设计报告设计题目:老鼠走迷宫专业:计算机科学与技术学生姓名:邓宇班级学号: 0906401-23指导教师:杨格兰、胡奇光2011 年 6 月 18 日一、设计时间2011年6月20日——24日二、设计地点湖南城市学院第一实验楼计算机系机房509三、设计目的1.培养实际工作所需要的动手能力,进一步熟悉基本概念;2.熟练掌握对实际问题的抽象技能,了解程序基本的流程;3.培养查阅资料,独立思考问题的能力。
四、设计人邓宇五、指导老师杨格兰、胡奇光六、设计课题老鼠走迷宫开发环境:Visual Studio 2010 Ultimate UML Activity DiagramVisual C # 2008 Express EditionsAdobe Photoshop CS4七、基本思路及关键问题的解决方法技术要求:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
要求:1、老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;解决方案:老鼠图片形象可以用Photoshop来制作,通过键盘按键事件发送消息到对象(老鼠),实现老鼠的移动。
2、迷宫的墙足够结实,老鼠不能穿墙而过;解决方案:在老鼠每一步的移动中检测是否撞墙,若是则停止走动。
由于地图是图片,要检测就需要取出墙壁那点的颜色(显然不是白色),然后作比较来作碰撞检测。
3、若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;解决方案:加载定时器,设定60秒钟,若在规定的时间,及时间变成0时,弹出对话框提示用户游戏失败。
4、添加编辑迷宫功能,可修改当前迷宫。
解决方案:备用一张地图图片资源,可以用于更换地图。
八、算法及流程图Visio流程图:因为这是面向对象而非面向工程的程序设计,事件和判断都具有同时性和并发性。
UML建模图如下:九、调试过程中出现的问题及解决方法本次课程设计出现最严重的问题是通过键盘来如何控制对象(老鼠)的移动,刚开始做时试用了多种方法但是没有效果。
南京理工大学毕业设计说明书(论文)作者: 学号:学院(系):自动化学院专业: 电气工程及其自动化题目: 走迷宫电脑鼠软件设计目次1 引言 (1)1.1 电脑鼠的简介 (1)1.2论文主要完成的工作 (1)1.3 器件选择 (2)1.4 相关开发工具 (5)2 走迷宫挡板检测 (5)2.1 红外接收头的工作原理 (5)2.2 原理分析 (6)2.3 用红外进行挡板检测 (7)3 步进电机的驱动控制 (8)3.1步进电机的驱动 (11)3.2车速检测模块 (11)4 电脑鼠姿势修正 (12)4.1姿势修正 (12)4.2挡板检测 (14)4.3 电脑鼠转弯 (15)5 电脑鼠走迷宫的算法 (17)5.1电脑鼠软件主要模块 (17)5.2迷宫地图相对方向与绝对方向的建立 (17)5.3墙壁资料存储 (21)5.4电脑鼠搜索策略 (23)5.5 迷宫搜索程序 (26)结论 (31)致谢 (32)参考文献 (33)1 引言1.1 电脑鼠的简介人类在科技的发展上,一直在尝试着想要创造出一个具有肢体,感觉,脑力,综合一体的机械,而智能老鼠既是一个能够用来诠释肢体,感官及脑力综合工作的智能机械。
所谓的智能老鼠我们用电脑鼠(MicroMouse)来代替,它是使用微控器,光电传感器和机动运动部件构成一种智能行走装置的俗称,它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设的目的地。
电脑鼠搜索路径应该是没有人工干预的情况下自主完成的,也就是说,需要运用搜索算法使电脑鼠自主行走。
搜索算法的主要目的是,根据电脑鼠当前的位置确定下一步,以迅速达到迷宫的中心并返回,同时利用搜索迷宫时得到的隔墙信息找出从起点到终点并返回的最优路径。
电脑鼠的制作技术的基本要求一定要稳定,在符合规则的不同迷宫中都能运行自如。
快速,高效的探索迷宫则一直是个重点更是个难点。
快速和高效两个要素又彼此联系,相互影响。
实现快速探索可以通过选用合适的电机解决,但是快速不一定实现高效。
XXXX大学本科毕业设计(论文)中期报告毕业设计(论文)题目:走迷宫电脑鼠控制系统的研究与改进专业(方向):测控技术与仪器学生信息:学号:XXXXXX 姓名:XXX 班级:XXXXX指导教师信息:教师号:XXXX 姓名:XXX 职称:XX报告提交日期:2011年4月25日1. 中期报告说明在这一阶段,我主要对本次设计运用所学的基础理论、专业知识对课题研究的原理和方法进行较为深入的分析,通过实验和参数结果的比较进一步确定设计方案,为最终的设计做准备。
了解了改进电脑鼠加减速和拐弯性能的种类和特点;对电脑鼠运行原理以及电脑鼠各个部分的结构和功能有一定的了解;对传统原地拐弯的缺陷和连续拐弯进行分析确定主要影响电脑鼠运行可靠性和稳定性的因素;对系统中的驱动部分和软件进行了初步分析,力争能对其做一些改进,使电脑鼠加减速和拐弯性能能有一定的提高。
.走迷宫电脑鼠控制系统综述电脑鼠程序设计的整体结构可以分为两层,底层驱动程序和顶层算法程序。
底层驱动程序主要实现电脑鼠的一些基本功能,比如至极限控制其前进N个单位坐标格,测量它前进的距离,向右或者向左转90度、向后转、迷宫格四周墙壁信息的检测等。
电脑鼠的转弯分为90度转弯和180度转弯两种。
90度转弯又分为前进中转弯和原地转弯两种。
前进中转弯可节约时间,效率高,转弯半径相对于原地转弯要小,但控制相对于原地转弯要困难。
电脑鼠驱动硬件部分采用步进电机,通过控制步进电机的加减速来实现电脑鼠的加减速。
电脑鼠采用锂电池供电。
3. 稳定性控制改进为了减少轮胎的打滑,降低车身的晃动,防止电机的震荡与失步,一种有效的解决方案是对电机进行匀加减速的控制。
步进电机的加减速需要通过设节拍的频率来实现。
假设每步的平均速度等于中心时间的速度。
通过计算得精确的公式:=。
但上式需要开平方, 不适合没有浮点运算功能的LM3S615处理器,因此利用泰勒公式变换得到近似的递推公式:。
通过计算发现使用近似公式得出的相邻项比值除C1 / C2 外其他各相邻项比值和使用精确公式算出的比值的误差都很小,故可单独令C1=0.414*2C0,而C2,C3, …, Cn可由近似公式计算出。
目录摘要 (2)1、课程设计的H的及要求 (3)2、题目分析 (3)1.1功能分析 (3)1.2性能需求分析 (3)1.3算法分析 (3)3、系统设计 (4)3」系统整体设计 (4)3.2锁件设计 (6)3.2.1硬件结构设计 (6)3. 2.2传感器组设计 (6)3. 2.3电机驱动电路设计 (7)3.3软件设计 (11)3.3.1电脑鼠正常行走程序设讣 (11)3. 3.2电脑鼠记路径程序设计 (13)3. 3.3电脑鼠找终点程序设计 (14)摘要“电脑鼠”是使用嵌入式或单片机微控制器、传感器和机电运动部件构成的一种微型机器人, 可以在“迷宫”中门动记忆和选择路径,快速地达到所设定的H的地。
电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。
本研究性课程重点对电脑鼠硬件、迷宫算法进行分析研究。
木研究性课程通过对电脑鼠白动穿越迷宫过程的研究,综合尿入式专业的电路设计、传感器控制、单片机程序开发和算法研究等名学科知识,熟悉学握嵌入式应用开发的全过程。
关键词:嵌入式或单片机微控制器,电脑鼠,押能算法1、课程设计的冃的及要求本项目婆实现的是用电脑鼠找出迷宫中通往终点的瑕短路径并以最快速度到达迷宫的终点。
电脑鼠从迷宫起点位置前进,由程用判断通过前视距离探测器探测到的迷宫状况,控制驱动机构前进或转向并记录路径和距离(控制年轮编码器可完成),由于起点位置和终点位置是已知的,虽然不知道具体路径,但通过编写算法程序即可找到最短路径,在束新开始时便町以最快速度从最短路径到达终点。
设计的电脑鼠应该具有三种玻基木的能力:・拥有稳定、准确、快速的行走能力・能争取判断环境的能力(如有墙、有路)・记忆路径的能力总之,电脑鼠的设计目标是:在最短的时间内找到-条通往总店的最短路径,并以戢快速度从起点到达终点。
如何衡量:迷宫时间(搜索时间〉:电脑鼠激活到每次运行开始的时间;注:搜索结束,从终点返回到起点的时间不算在迷宫时间内;运行时间:电脑鼠从起点走到终点的时间;如果电脑鼠在比赛时需耍手动辅助,这个动作就成为“碰触”。
若“碰触” 了,则需要失去10秒的奖励时间。
2、题目分析2.1电脑鼠的构成电脑鼠主要包括三部分:机械部分(执行机构)、电子控制装置、软件。
电脑鼠是指由车身、轮子、和相关软件构成。
车体是电脑鼠最基本的架构,它的设计在电脑鼠的整体规划中战友想到重要的地位,应当遵守整体结构坚固耐用、材质轻、巫心低的原则。
在设计中,既要考虑到符合各零件的规格,乂耍考虑到配合迷宫的规擀。
2.2功能分析1、拥有稳定、准确、快速的行走能力通过电动带动车轮转动,使小车向前行走。
2、能争取判断环境的能力(如有墙、有路)运用传感器来探测,是否有障碍物,路径是否可以行走,达到随意在迷宫里行走的能力。
3、记忆路径的能力4、能够迷宫电脑鼠能够在找到终点坐标并能返冋原点。
2.3算法分析根据要求,电脑鼠耍在迷宫里穿行,不会碰到障碍,避开障碍的到达指定的坐标,迷宫电脑鼠要设计到的算法。
1、90和180度转弯的算法2、找到终点,需要用到右手法则和向心法则3、电脑鼠需要记忆路径,所以记忆路径的算法4、电脑鼠的方向有可能发生偏移,所以要有修正方向的算法。
3、系统设计3.1系统整体设计迷宫为8*8,迷'宫格大小为18*18cm,选取电脑鼠底盘大小为迷言格一半8*8cm 左右。
4.2算法流程如图30所示,是电脑鼠主程序流程图。
启动按键按下后,电脑鼠启动,然后根据设定的终点坐标,探索迷宫,通过到达终点子程序找到终点后,蜂鸣器发出提示音, 说明找到终点。
之后电脑鼠根据记忆通过返I叫起点子程序按原路返I叫起点,不再去走走不通的路。
电脑鼠到达起点后,调用冲刺子程序立即掉头,根据先前探索阶段记忆卜•的路径冲刺到终点后停止,完成电脑鼠走迷宫。
图30主程序流程图3.2硬件设计3.2.1硬件结构设计(1)微控制器微控制器是电脑鼠的核心,对以选择单片机,若RAM需求量大或者算法复杂或和性能要求高时,需要使用ARM等高性能的微处理器。
(2)传感器传感器的作用是用来感知环境,探测电脑鼠的左、前、右是否有路可走。
本设计中采用的是红外线方式,发射和接收分别受微控制器控制。
山换件电路部分结构框图可知,在电脑鼠的前、左、右、左前、右前方共有5组,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左、右、前三个方向上是否冇支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止电脑鼠走偏而撞到迷宫墙。
(3)显示器显示器是用来显示当前位置等相关信息的,是电脑鼠的可选部分。
(4)电源电源用來为单片机供电,选择哪种电池,这也将影响电路的设计。
3.2.2传感器组设计木电脑鼠设计有5组传感器。
这5组传感器分别安装于电脑鼠的左、左前、前、右前、右5个不同的方向,其中左、右、前三组传感器是用丁-探测电脑鼠在当前迷宫格左右前三个方向上是否有支路的,左前、右前两纽传感器呈45度安装,用于电脑鼠行进过程屮进行姿态矫止,防止走偏而撞到迷穴墙。
(1)译码器由于单片机引脚有限,为了节约引脚接口,采JIJ 74IIC138译码器将单•片机的三位二进制编码译码为8位控制线,使用其中的5位控制线分别控制5个传感器组的分时工作(采用分时检测传感器,主要为了防止多组传感器之间的相互卡扰)。
通过单片机的P37、P13、P14分别为3-8译码选择器的地址输入AO、Al、A2,通过地址选择对应的传感器组。
例如A0A1A2地址为000时,74HC138输出Y0有效,从而使第一组传感器工作,而其他组传感器处于没有工作的状态。
这样就可以实现单片机的3 个引脚控制5个或者更多的传感器组。
74IIC138管脚图:州A A2鸟S2 $ E GND图14 138译码器管脚图74HC138功能表:输入输出S\歹2 +爲凡4九£瞪打0X X X X11111111X1X X X1111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110由上表可见74IIC138译码器输出低电平有效。
为增加译码器功能,除三个输入端AO、Al、A2外,还设置了S1、頁,石,使译码器具有较强的抗干扰能力且便于扩展。
当S1=O时,不管其他输入如何,电路输出均为“1”,即无译码输出;只有当Sl = l,且頁=頁=0时,译码器才处于允许工作状态,输出与输入二进制码相对应, 如A2 A1A0-110时,Y6输出低电平。
如图15所示,是硬件电路部分3-8译码选择器电路。
(2)载波发生器红外传感器是由红外发射管和红外一体化接收头构成的障碍检测器。
为了能够让传感器组正常工作,红外发射管需要一个38KHz的方波来驱动,使红外发射管发射出调制频率与接收头接收频率匹配的红外光。
如图16所示,是产生38KIIZ方波的载波发生器电路。
图16 38KHz载波发牛器电路(3)传感器电路传感器电路山红外发射LED和红外-体化接收头IIS0038构成,红外LED山载波发牛器产生的CLOCK (,-f号驳动产卞38KHz红外调制光。
RP1为可调电阻,通过调节RP1 來调节红外LED发光强度,从而调整传感器组检测迷宫墙障碍物的距离,RP1电阻越大,检测距离越近,电阻越小,检测距离越远。
图17所示是传感器1的电路,川于电脑鼠的环境感知,另外四组传感器也与该组传憾器相同的。
电脑鼠通过对这五组传感器信息的融合,实现环境感知功能。
n 7;i<ri图17传感器组电路3.2.3电机驱动电路设计如图4-卜1所示,是用来驱动电脑鼠伺服电机的驱动电路。
由于单片机I/O 口电流输出能力 冇限,不能直接驱动电机转动。
为了能让单片机控制电机运转,需要使用电机驱动电路,将单片 机[/0 口弱电流放犬到足以驱动电机的电流。
104=-PH2.0-6P■ 图 4 1-14. 1. 1驱动电路芯片L91101、器件的管脚图如图4-1-1-1所示。
2、管脚定义如下:+3.7V ML13 TT1 4—Hnt 1 23 4 ■ ?>6图 4-1-1-13、L9110的逻辑关系衣如表3所示:表如图4-1-1所示,是左电机驱动电路.右电机驱动电路和这个也是一样的。
也为左电机,1. 2脚是电机纽绕,与驱动芯片L9110输出相连。
3脚是电机光电码盘A相脉冲输出,连接到T1定时/计数湍1外部产数引脚,通过脉冲计数,计算电机角位移和速度。
电路图中引脚与驱动电路中的引脚编号%对应。
通过1.9110驱动芯片[A、IB输入的逻辑倒的组合,控制电机正转、反转、停转。
3.3软件设计3.3.1电脑鼠正常行走程序设计迷宫隔墙构成的通道宽度为18厘米,通帘所制作的电脑鼠的宽度为8厘米左右。
在这种悄况下,如果电脑鼠行进在通道中央,其边缘与迷宫隔墙间的距离在3~4厘米左右;如果偏离了,那么一边的距离会增加,另一边的距离会减少。
通过安装在电脑鼠上的传感器能够快速、准确地测量这些距离信息,以便不断地调整电脑鼠的行进方向。
使用红外LED管测距时,发射管和接收管平行安装在电脑鼠的前方或左、右方。
当发送管发射的红外光线遇到迷宫隔墙后,红外光线发生反射并被接收管所接收。
接收管收到的信号转换为电压,它和电脑鼠与迷宫隔墙Z间的距离冇确切的对应关系。
检测该输出电床的人小就町以测尬电脑鼠与迷宫隔墙Z间的距离。
首先设定电脑鼠离左右墙的安全距离,由于各电脑鼠在硬件方面有一定的差异, 所得到的检测数据也冇定的差显,那么安全距离的设定大家可以根据H己的电脑鼠进行相应的调整。
当然左右的安全距离也可以设定为不一样的值,只要能保证电脑鼠前进的时候能走直线,而不撞到墙就可以了。
如图所示:读出左前方LED的数据Z后用来跟左边安全距离比较,当偏向左边的时就要修正电脑鼠的位置了,我们町以通过减慢右边轮子的速度來调整屯脑鼠的位置。
接若就读出右前方LED的数据Z后丿IJ來跟右边女全距离比较,当偏向右边的时就要修止电脑鼠的位置了,我们可以通过减慢左边轮子的速度來调整电脑鼠的位置。
3.3.2电脑鼠记路径程序设计记永电脑鼠的轨迹的方法1:(1)当电脑鼠一次也未经过该处时,设定D=-1(2)当电脑鼠通过该处一次以上,而且以后还有町能通过时,设定电脑鼠放后离开此处的方向为东侧时D=3,西侧时D=1,北侧时D=0,南侧时1>2。
(3)当方块最多只能通过-次时D=4电脑鼠走完图& 4. 3迷宫的轨迹,用D值來表示时,如下图所示:记录屯脑鼠的轨迹的方法2:用八位寄存器来记录路径,各位对应的关系如下:0〜3四位表示各方块东南西北各面是否有墙,0表示没有;1表示有。