电脑鼠算法
- 格式:ppt
- 大小:3.52 MB
- 文档页数:59
西南交通大学课程设计微机硬件综合课程设计(课程代码:0473007)年级: 本科2010级姓名: 代雷波(20103190)刘湘(20103194)专业: 网络工程指导老师: 蒋朝根二零一三年五月目录第1章背景和意义 (3)第2章系统方案设计 (4)第3章硬件设计 (5)3.1电脑鼠基本硬件组成 (5)3.2电脑鼠基本动作 (7)第4章软件设计 (9)4.1电脑鼠软件设计概要说明 (9)4.2等高图制作模块 (11)4.3冲刺模块 (12)4.4转弯模块 (12)4.5搜索模块 (13)4.6迷宫地图相对方向与绝对方向的建立 (13)4.7墙壁资料存储 (16)4.8电脑鼠搜索策略 (16)第5章结论 (18)参考文献 (19)附件: (20)第1章背景和意义电脑鼠可看作是一种具有人工智能的小型机器人,依照比赛规则,当电脑鼠放入“迷宫”起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。
电脑鼠结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技识。
国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛。
首场电脑鼠迷宫竞赛1979年于纽约举行,1991年以来,每年都有世界级的比赛。
2007年,国内开始举行IEEE标准电脑鼠走迷宫邀请赛,自举办以来高校参赛踊跃,许多大学还开设了“电脑鼠原理和制作”选修课程。
电脑鼠走迷宫竞赛具有一定难度,是一项富有挑战性和趣味性的比赛。
电脑鼠可看作一个集多项工程学科知识于一体的小型系统,成功的设计者通常都是合作团体。
他们必须考虑电子、电气、机械以及计算机各方面的问题,重量、速度、功耗、传感技术重心以及程序各方面都是设计中需要决定和综合考虑的因素。
电脑鼠结合了多学科知识,对于提升我们的动手能力、团队协作能力和创新能力,促进课堂知识的消化和扩展自身的知识面都非常有帮助;另外成立小组合作参赛,不仅使我们学到了知识,而且加强了同学之间的交流,交际能力语言表达能力等也得到了锻炼和提升;最后电脑鼠走迷宫竞赛极具趣味性,容易得到学生的认同及参与,并能很好的激发和引导学生这方面的兴趣和爱好,为继续参加比赛和深入学习提供了良好的条件。
电脑鼠走迷宫路径规划及控制方法的研究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)谢辞 .............................................................................................. 错误!未定义书签。
电脑鼠走迷宫大赛探索过程算法优化研究——死路排除算法——死区域算法0摘要电脑鼠走迷宫大赛是由国际电工和电子工程学会(IEEE)举办的人工智能领域的一项国际性赛事,集机械、电子、控制、光学、程序设计和人工智能等多方面科技知识于一体[1],具有很高的知名度。
迷宫算法的优劣直接影响比赛的最终成绩。
本文从经典迷宫算法入手,先后提出了能排除单行当列死路的“死路排除算法”和能够排除任意形状死区域的“渗透法”,然后通过测试验证两种改进算法的优越性。
改进算法的核心思想是通过已经获得的迷宫信息排除不包含最短路径信息的死区域。
同时,文中创造性的将“渗透思想”用于迷宫算法当中,很好的实现了死区域的判定与排除。
与经典算法相比,改进算法在时间、空间方面都有良好的优化效果。
1背景简介电脑鼠走迷宫大赛是国际电工和电子工程学会(IEEE)每年都会举办的一项国际性赛事,于1972年由美国机械杂志发起。
比赛中的电脑鼠是一个小型的由微处理器控制的机器人车辆,在复杂迷宫中具有译码和导航功能。
该比赛自推出以来,受到了世界各国师生的青睐。
2007年和2008年,上海市计算机学会率先在中国主办了两次IEEE标准电脑鼠走迷宫邀请赛(长三角地区),有三十多所院校参加,反响强烈。
2009年比赛范围扩展到全国,共有9个赛区的52所高校参赛[2]。
1.1电脑鼠走迷宫大赛规则[3]电脑鼠的基本功能是从起点开始走到终点,这个过程称为一次“运行”,所花费的时间称为“运行时间”;电脑鼠从第一次激活到每次运行开始所花费的时间称为“迷宫时间”;电脑鼠在比赛时手动辅助的动作称为“碰触”。
竞赛使用这3个参数,从速度、求解迷宫的效率和电脑鼠的可靠性三个方面来进行评判。
电脑鼠的得分是通过计算每次运行的“排障时间”来衡量的,即将迷宫时间的1/30加一次运行时间;如果未被碰触过,则再减去10s(奖励时间),这样得到的就是排障时间。
电脑鼠在迷宫中停留或运行的总时间不可超过15min,在限时内允许运行多次。
Microcontrollers &Embe dded Systems 2011年第5期ww w .mesne 电脑鼠软件系统关键技术研究**基金项目:淮阴工学院青年教师科研基金(项目编号:2917372)。
李亚洲,严石(淮阴工学院电子与电气工程学院,淮阴223003)引 言电脑鼠(micro mouse)是一个由微处理器控制的集感知、判断、行走功能于一体,能够自动寻找最佳路径到达目的地的微型机器人。
电脑鼠走迷宫竞赛就是让电脑鼠在迷宫中从起点以最短的时间走到终点的过程[1]。
电脑鼠是集软件和硬件为一体的系统。
电脑鼠的软件系统是电脑鼠的大脑,需要具备获得迷宫信息、遍历迷宫、计算最优路径等功能。
同时,在没有硬件支持的情况下,电脑鼠软件系统应能够模拟迷宫,以验证算法的正确性。
1 总体设计根据电脑鼠比赛的要求,电脑鼠要遍历迷宫,以获得迷宫信息;电脑鼠要根据迷宫信息,获得最优路径;电脑鼠要根据最优路径,实现最终冲刺。
电脑鼠软件系统的设计包括迷宫表示、迷宫遍历、最优路径查找等模块。
2 电脑鼠软件系统关键技术2.1 迷宫表示电脑鼠迷宫由16 16个正方形单元格组成,单元格大小为18cm 18c m 。
俯视迷宫,每个单元只有4条边,每条边只能有两种状态 墙壁或通路。
针对这种情况,可以使用四维数组或者结构体表示单元格的4条边,用2个数字表示迷宫单元每条边的2种情况。
对于迷宫,可以使用坐标表示每个单元的位置。
假设电脑鼠置于起点,电脑鼠正对通路,电脑鼠正前方为正Y 方向,电脑鼠右方为正X 方向。
这样,对于迷宫中的每个单元格都对应一个确定的坐标。
设计时,可采用坐标值作为二维数组的索引。
2.2 迷宫遍历电脑鼠要尽可能遍历迷宫中每一个单元格,为寻找最优路径提供足够的信息。
对于电脑鼠探测墙壁,通过传感器得到的是前方、右方以及左方等相对方向上的信息,为了记录迷宫中每个单元格的信息,需要把相对方向转换为绝对方向。
相对方向,是指相对于电脑鼠正对的方向。
电脑鼠学习心得和遇到的问题及解决方法彭旺 16012126学习心得:在大一的时候就经常看见学长们整天在宿舍弄一个小车,后来才知道那就是视觉知道机器人。
于是到了大二选择选修课的时候就果断选了这个课。
本来我选的是机器人那个,上了才知道又要做实验还要参加比赛还要交押金甚是麻烦,顿时欲哭无泪,硬着头皮去上,因为分组问题被弄到了电脑鼠这边来,觉得比机器人那边要好玩得多。
第一次去上课就要交押金,并且那个电脑鼠还好贵的,整整两千多啊。
那是最开始就给我们讲了电脑鼠处理器运行的相关函数,后面几节课分别讲了电脑鼠在迷宫中搜索以及最后冲刺的相关程序。
好吧,我承认当时确实有点无聊。
直到后来,老师终于给了我们完整的程序,于是兴奋的我们毫不犹豫的把程序“捎”了进去,然后把电脑鼠放到迷宫中,结果发现它除了撞墙就是转圈。
探索调试:我们小组分工合作,一起研发。
电脑鼠走迷宫可以采用全迷宫探索策略,即将迷宫的所有单元均搜索一次,从中找出最佳的行走路径。
或者可以采用部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径。
我们的电脑鼠要实现的功能有如下几个方面:路口检测:由安装在前、右、左的三个红外线发射对管SIR563ST3F 和IRM8601S实现, 发射信号为38KHz, 实现远红外测距功能, 探测前、右、左有无障碍。
行走控制:由左、右两个红外线发射对管SIR563ST3F和IRM8601S为实现, 发射信号为30.5KHz, 实现近红外测距功能, 保持电脑鼠在中轴线上行走, 避免撞墙。
路程控制:安装在左右轮内侧的红外收发对管IR204和PD204一6B, 对黑白码盘计数, 按照迷宫单元的长度为单位进行路程计数, 以记录老鼠在迷宫中的位置同时还可以准确地实现转弯。
微控制器和其它子系统共同构成一个闭环的反馈控制系统, 通过对三种传感器信号的检测行走信号、路口信号和黑白码盘计数信号, 由微控制器进行运算, 运算结果交给电机执行, 由此实现电脑鼠的智能穿越迷宫。
项目编号:31SZDYKC-090601 全国大学生电子设计竞赛项目名称:电脑鼠走迷宫学生班级:1104班学生姓名:王忆文所在系(部):通信工程系指导教师:摘要“电脑鼠”是使用嵌入式微控制器、传感器和机电运动部件构成的一种微型机器人,可以在“迷宫”中自动记忆和选择路径,快速地达到所设定的目的地。
电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。
能力。
通过系统分析、硬件设计、软件设计、整合电路设计、汇编语言、C语言专业知识解决问题的综合应用能力,激发我们对电脑鼠的研究兴趣。
创新点是提出了对电脑鼠电源电路、传感器电路的改进方案。
给出了电机控制算法、用于纠正姿态的算法、传感器驱动算法、连续转弯算法、迷宫信息采集算法以及迷宫搜索与迷宫最短路径算法等算法模块。
关键词:嵌入式系统,电脑鼠,智能算法ABSTRACT"Computer mouse" is the use of embedded microcontrollers, sensors and electromechanical moving parts consisting of a micro-robot maze memory and automatically select the path to reach the set destination. Computer Mouse Maze Competition is a certain degree of difficulty, challenging and fun game.completion of the research program circuit board testing, knowledge and technical skills in the school curriculum learning algorithm, data query and retrieval, project management, integration cultivate awareness of scientific and technological innovation and hands-on design capabilities. System analysis, hardware design, software design, integrated circuit design, assembly language, C language application of knowledge in the development of SCM culture integrated application skills, stimulate our interest in the study of computer mouse use our expertise to solve the problem.The innovation of the computer mouse power circuit, sensor circuit improvement program. Motor control algorithm, the algorithm used to correct posture, the sensor-driven algorithm, continuous turning algorithm, the maze information collection algorithms, and maze search maze shortest path algorithm, algorithm module.Keywords:Embedded System,Micromouse,Intellegent Algorithm目录摘要 (2)第一章前言 (2)1.1项目背景 (2)1.2项目介绍第三章电脑鼠硬件与软件 (2)第二章电脑鼠硬件及软件 (4)2.1电脑鼠的硬件 (4)2.1.1 电脑鼠硬件组成 (4)2.1.2电脑鼠基本动作 (6)2.2电脑鼠软件 (7)2.2.1等高图制作模块 (9)2.2.2冲刺模块 (10)2.2.3转弯模块 (10)2.2.4搜索模块 (11)2.2.5迷宫地图相对方向与绝对方向的建立 (11)2.2.6墙壁资料存储 (13)2.2.7电脑鼠搜索策略第四章问题总结及改进 (14)第三章问题总结及改进 (15)总结 (19)参考文献 (20)第一章前言所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。
南京理工大学毕业设计说明书(论文)作者: 学号:学院(系):自动化学院专业: 电气工程及其自动化题目: 走迷宫电脑鼠软件设计目次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)来代替,它是使用微控器,光电传感器和机动运动部件构成一种智能行走装置的俗称,它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设的目的地。
电脑鼠搜索路径应该是没有人工干预的情况下自主完成的,也就是说,需要运用搜索算法使电脑鼠自主行走。
搜索算法的主要目的是,根据电脑鼠当前的位置确定下一步,以迅速达到迷宫的中心并返回,同时利用搜索迷宫时得到的隔墙信息找出从起点到终点并返回的最优路径。
电脑鼠的制作技术的基本要求一定要稳定,在符合规则的不同迷宫中都能运行自如。
快速,高效的探索迷宫则一直是个重点更是个难点。
快速和高效两个要素又彼此联系,相互影响。
实现快速探索可以通过选用合适的电机解决,但是快速不一定实现高效。
北京科技大学实验报告学院:自动化专业:智能科学与技术班级:智能1501姓名:卢静怡学号:41523404 实验日期:2017年11 月8 日实验名称:人工智能电脑鼠搜迷宫实验实验目的:掌握电脑鼠的基本操作及智能搜索算法操作。
实验仪器:KEIL MDK、电脑鼠、J-Link、VS实验原理:所谓“电脑鼠”,英文名叫做Micromouse,是一种具有人工智能的轮式机器人,是由嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。
当电脑鼠放入起点,按下启动键之后,他就必须自行决定搜索法则并且在迷宫中前进,转弯,记忆迷宫墙壁资料,计算最短路径,搜索终点等功能。
电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。
本实验中,通过红外传感器检测电脑鼠所处位置状态,通过智能算法保存地图并实现地图的搜索,通过pid等控制算法控制电机,达到电脑鼠搜索迷宫并计算最短路径等功能。
实验内容与步骤:内容1)KEIL MDK的安装2)电脑鼠硬件的检查及调整3)智能搜索算法的编写4)算法的调试与优化5)实验结果步骤(一)KEIL MDK的安装按照实验指导书上的步骤安装,一步一步安装成功KEIL MDK uVision5 (二)检查和调整电脑鼠的硬件1.电机检查:我们原始的电脑鼠下载好程序之后,开机即可试探性运动。
故判断,电机无故障。
2.传感器检查:我们原始的电脑鼠在初跑时总是会对墙壁不感应,如果用手挡住传感器周围的光线后放开,那么电脑鼠会产生一个相应动作。
分析是原代码中接受传感器信号的参数不合适的原因。
(三)智能搜索算法的编写我们组结合了很多同学的经验,最终找到了影响电脑鼠运动的核心参数。
并且修正了一个反应弧长的设定,使得后来电脑鼠试跑非常成功。
1.查资料——常见的算法形式选择曼哈顿距离作为预测函数h(n),整体的框架代码如下:2.算法设计在本次实验中,使用的是机械鼠优先向左移动的,即深度优先算法。