电脑鼠走迷宫技术报告.
电脑鼠走迷宫路径规划及控制方法的研究

电脑鼠走迷宫路径规划及控制方法的研究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)谢辞 .............................................................................................. 错误!未定义书签。
老鼠运动轨迹实验报告

一、实验目的通过本次实验,了解老鼠在迷宫中的运动轨迹,探究其寻找出口的策略,并尝试运用数据结构中的搜索算法来模拟老鼠的行走过程,分析其路径选择的特点。
二、实验原理迷宫问题是一个经典的算法问题,旨在通过模拟老鼠在迷宫中寻找出口的过程,来验证和优化搜索算法。
本实验采用深度优先搜索(DFS)算法来模拟老鼠的运动轨迹,通过堆栈来存储老鼠走过的路径,并记录其最终找到出口的最短路径。
三、实验材料1. 迷宫地图:一个二维数组,表示迷宫的布局,其中0代表无墙、没走过;1代表墙;2代表无墙、已走过。
2. C语言编程环境:用于编写和运行实验代码。
3. 输入设备:用于输入起始点和迷宫地图。
四、实验步骤1. 设计迷宫地图,初始化二维数组map[10][12]。
2. 输入起始点坐标(行列坐标),判断输入是否合法(越界或起始点在墙中)。
3. 初始化一个空堆栈,用于存储老鼠走过的路径。
4. 使用深度优先搜索算法遍历迷宫,寻找出口:a. 将起始点入栈。
b. 标记当前点为已走过。
c. 判断当前点是否为出口,如果是,则输出路径,结束搜索。
d. 找到当前点的后继点(上下左右),如果后继点合法且未走过,则将其入栈并标记为已走过,继续搜索。
e. 如果当前点没有后继点,则回溯,弹出栈顶元素,尝试下一个方向。
5. 输出最短路径,记录老鼠的运动轨迹。
五、实验结果与分析1. 迷宫地图及起始点:```0 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 1 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 1 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 11 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1```2. 老鼠起始点坐标:(1, 1)3. 运动轨迹及最短路径:```老鼠运动轨迹:[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (2, 11), (3, 11), (4, 11), (5, 11), (6, 11), (7, 11), (8, 11), (9, 11), (10, 11), (11, 11)]最短路径:[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (2, 11), (3, 11), (4, 11), (5, 11), (6, 11), (7, 11), (8, 11), (9, 11), (10, 11), (11, 11)]```4. 分析:通过实验结果可以看出,老鼠在迷宫中寻找出口的过程主要遵循深度优先搜索策略,即优先探索当前路径的深度,直到找到出口。
电脑鼠的迷宫演算法

班級:四技系統三甲 組員:49839033葉家宏 49839056黃致中 指導老師:黎靖
摘要
•如果把電腦鼠比喻成人來看,那硬體就是四肢, 而軟體就相當於電腦鼠的大腦。在此報告中討論 兩種路徑演算,兩種皆可再細分很多種演算法。
• 區域性演算法
又分為右手法則、左手法則、中左法則、中右法則、 向心法則。
• 演算法則有洪水填充法(Flood-Fill algorithm)及A*演算法與 其諸多的變形演算法等。
選擇你想搜尋的演算法
右手法則
區域性演算法
左手法則 中左法則 中右法則 向心法則
全域性演算法
洪水填充法 A*演算法
右手法則
• 電腦鼠遇到岔路時,以右手為優先,其次直線、左手。
右手法則-迷宮範例
圖11
選擇F值較小的E6為下一步
A*演算法(13/15)
• 全域性演算法
又分為洪水演算法、A*演算法。
區域性演算法
• 應用在探索迷宮的階段。 • 由於迷宮狀態未知,因此只能根據目前電腦鼠週遭的環境, 試著尋找到達終點的路徑。 • 演算法有左手法則、右手法則、中左法則、中右法則及向 心法則等。
全域性演算法
• 應用在已經部份或完全探索迷宮後,此時可以根據已探索 的迷宮資料找到起點至終點的最短路徑。
• 將E2設定為父節點(如圖8), 並將D2從開啟列表中刪除且 加入關閉列表中。計算E2相 鄰節點的F值。 E3 → G=54 H=4*10 F=94 F1 → G=58 H=7*10 F=128 F2 → G=54 H=6*10 F=114 F3 → G=58 H=5*10 F=108 並將其指向父節點。 選擇F值較小的E3為下一步
A*演算法(3/15)
数据结构课程设计报告——可视化走迷宫游戏

可编辑修改西安建筑科技大学 课程设计(论文)题 目: 院 (系): 专业班级: 姓 名: 学 号: 指导教师:可视化走迷宫游戏2011 年 9 月 15 日欢迎下载可编辑修改西安建筑科技大学课程设计(论文)任务书专业班级: 计算机901 学生姓名: 指导教师(签名):一、课程设计(论文)题目走迷宫游戏:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的 右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到 粮仓处。
二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。
课程设计是加强学生实践能力的一个强有力手 段。
课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。
严格实 施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训 练,将起到显著的促进作用。
本题目要达到目的:熟练掌握最短路径的算法设计。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术 参数、设计要求等)1、 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动; 2、 迷宫的墙足够结实,老鼠不能穿墙而过; 3、 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败; 4、 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙; 找出走出迷宫的所有路径,以及最短路径。
四、应收集的资料及主要参考文献:由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上 机练习了“线性表”的基本操作。
参考文献:1. 本年级使用的教材:数据结构与算法分析(C++版)(第二版)影印版 2005.72. 数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著 3. 数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著 4. 《Visual C++编程实例》(任意一本此类书籍)五、审核批准意见教研室主任(签字)欢迎下载可编辑修改摘要本设计是为了实现一个可视化迷宫,以及利用最短路径算法 寻找迷宫的出路以及将最短路径打印在屏幕上,并且限制小老鼠 不能穿越墙,只能在路径上移动。
老鼠走迷宫的算法分析

一种电脑鼠走迷宫的算法电脑鼠走迷宫的算法1探测策略电脑鼠走迷宫可以采用全迷宫探索策略,即将迷宫的所有单元均搜索一次,从中找出最佳的行走路径。
这种策略需要有足够的时间或探测次数,但在IEEE竞赛规则中每场竞赛只有15分钟的时间,因此是不可能的。
另一种方法是部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径,显然只能采用这种策略。
电脑鼠在一巷道内行走,如果最后无路可走,则该巷为死巷。
电脑鼠在任一单元内,可能的行走方向最多只有三个(前、左、右),如果有二个或二个以上的可能行走方向,称为交叉,遇有交叉时,由于有多个可以行走的方向,在行走方向的选择上,可有下面的几种选择法则:•右手法则:遇有交叉时,以右边为优先的前进方向,然后是直线方向、左边方向。
•左手法则:遇有交叉时,以左边为优先的前进方向,然后是直线方向、右边方向。
•中左法则:遇有交叉时,以直线为优先的前进方向,然后是左边方向、右边方向。
与此类似的还有中右法则。
•乱数法则:遇有交叉时,取随机值作为前进方向。
•向心法则:由于终点在迷宫的中心,遇有交叉时,以向迷宫中心的方向为优先的前进方向。
2标记为了记忆迷宫的详细信息,需要对迷宫单元的位置进行线路标记。
全迷宫共有16×16个单元组成,可采用二维坐标方式标记,即用每个单元的XY坐标表示,如起点可标记为(0,0),终点为(7,7)。
此外,还需要对迷宫单元的可行进方向进行标记,可采用绝对方位或相对方位二种方式。
绝对方位:这是一种与电脑鼠行进方向无关的标记方式,以一个四位的二进制数,分别表示“东”﹑“西”﹑“南”和“北”四个方向。
以1表示允许行进(无墙壁),0表示不允许行进(有墙壁)。
相对方位:这是一种与电脑鼠行进方向有关的标记方式,以一个三位的二进制数即可实现标记,分别表示“前”“左”“右”,以1表示允许(无墙壁),0表示不允许(有墙壁)。
3阻断在电脑鼠试跑过程中或在最后冲刺时,需要对部分路径进行“阻断”,即在发现某条路径是死路(只有入口而无出口)时,在该路径的入口处(一般是交叉点)设置标记,即将入口的线路标记由1改为0。
数据结构课程设计报告——可视化走迷宫游戏

西安建筑科技大学课程设计(论文)题目:可视化走迷宫游戏院(系):专业班级:姓名:学号:指导教师:2011年 9月 15 日西安建筑科技大学课程设计(论文)任务书专业班级:计算机 901学生姓名:指导教师(署名):一、课程设计(论文)题目走迷宫游戏:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操控老鼠在规定的时间内走到粮仓处。
二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。
课程设计是增强学生实践能力的一个强有力手段。
课程设计要修业生在达成程序设计的同时能够写出比较规范的设计报告。
严格实行课程设计这一环节,关于学生基本程序设计修养的培育和软件工作者工作作风的训练,将起到明显的促使作用。
此题目要达到目的:娴熟掌握最短路径的算法设计。
三、本次课程设计(论文)任务的主要内容和要求(包含原始数据、技术参数、设计要求等)1、老鼠形象可辨识,可用键盘操控老鼠上下左右挪动;2、迷宫的墙足够结实,老鼠不可以穿墙而过;3、正确检测结果,若老鼠在规准时间内走到粮仓处,提示成功,不然提示失败;4、增添编写迷宫功能,可改正目前迷宫,改正内容:墙变路、路变墙;找出走出迷宫的所有路径,以及最短路径。
四、应采集的资料及主要参照文件:因为本课程没有安排“课内上机”学时,所以,在课程设计从前一定自己已经上机练习了“线性表”的基本操作。
参照文件:1.今年级使用的教材:数据结构与算法剖析( C++ 版)(第二版)影印版 2005.72.数据结构与算法,科学第一版社, 2005.08 ;赵娴静祁飞等编著3.数据结构 -C++ 语言描绘,西安交通大学第一版社,1999.01,赵娴静编著4.《Visual C++ 编程实例》 (随意一本此类书本 )五、审查同意建议教研室主任(署名)纲要本设计是为了实现一个可视化迷宫,以及利用最短路径算法找寻迷宫的出路以及将最短路径打印在屏幕上,并且限制小老鼠不可以穿越墙,只好在路径上挪动。
走迷宫电脑鼠软件设计

南京理工大学毕业设计说明书(论文)作者: 学号:学院(系):自动化学院专业: 电气工程及其自动化题目: 走迷宫电脑鼠软件设计目次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)来代替,它是使用微控器,光电传感器和机动运动部件构成一种智能行走装置的俗称,它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设的目的地。
电脑鼠搜索路径应该是没有人工干预的情况下自主完成的,也就是说,需要运用搜索算法使电脑鼠自主行走。
搜索算法的主要目的是,根据电脑鼠当前的位置确定下一步,以迅速达到迷宫的中心并返回,同时利用搜索迷宫时得到的隔墙信息找出从起点到终点并返回的最优路径。
电脑鼠的制作技术的基本要求一定要稳定,在符合规则的不同迷宫中都能运行自如。
快速,高效的探索迷宫则一直是个重点更是个难点。
快速和高效两个要素又彼此联系,相互影响。
实现快速探索可以通过选用合适的电机解决,但是快速不一定实现高效。
老鼠走迷宫数据结构课程设计报告

高攀
鼠在规定的时间 内走到粮仓处。
要求:
1、老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;
2、迷宫的墙足够结实,老鼠不能穿墙而过;
3、正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则
提示失败;
4、添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变 墙; 5、找出走出迷宫的所有路径,以及最短路径。 利用序列化功能实现迷宫地图文件的存盘和读出等功能。
本程序使用OpenGL图形库来实现上述程序功能,采用面向对象的程序 设计方法编写了一个3D小游戏,定义两个类:老鼠类和迷宫类。 OpenGL简介: OpenGL 作为当前主流的图形 API具有以下特点:
1、与 C 语言紧密结合。 OpenGL 命令最初就是用 C 语言函数来进行 描述的,对于学习过 C 语言的人来讲,OpenGL 是容易理解和学习。 2、 强大的可移植性。 微软的 Direct3D 虽然也是十分优秀的图形 API, 但它只用于 Windows 系统(现在还要加上一个 XBOX 游 戏机)。而 OpenGL 不仅用于 Windows,还可以用于 Unix/Linux 等其它系统,它甚 至在大型计算机、各种 专业计算机(如:医疗用显示设备)上都有应 用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是 平台无关。
调用老鼠类对象的getmaze()函数获取老鼠所在的迷宫指针;
初始化OpenGL图形窗口;
while(游戏未结束)
{
调用CPU闲时绘图函数重复绘图;
检测键盘控制;
}
return;
}
2、绘制老鼠函数void Mouse::drawmouse()
功能:负责在OpenGL构图空间中绘制老鼠形象。 用法:在需要绘制老鼠的时候调用mymouse.drawmouse()函数即可,本 程序是在myDispaly()函数中调用的。 伪代码: void Mouse::drawmouse() {
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电脑鼠走迷宫 1 项目编号:31SZDYKC-090601
全国大学生电子设计竞赛 项目名称:电脑鼠走迷宫 学生班级:1104班 学生姓名:王忆文 所在系(部):通信工程系 指导教师: 电脑鼠走迷宫
2 摘 要 “电脑鼠”是使用嵌入式微控制器、传感器和机电运动部件构成的一种微型机器人,可以在 “迷宫”中自动记忆和选择路径,快速地达到所设定的目的地。电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。
能力。通过系统分析、硬件设计、软件设计、整合电路设计、汇编语言、C语言专业知识解决问题的综合应用能力,激发我们对电脑鼠的研究兴趣。 创新点是提出了对电脑鼠电源电路、传感器电路的改进方案。给出了电机控制算法、用于纠正姿态的算法、传感器驱动算法、连续转弯算法、迷宫信息采集算法以及迷宫搜索与迷宫最短路径算法等算法模块。 关键词:嵌入式系统,电脑鼠,智能算法电脑鼠走迷宫
3 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电脑鼠走迷宫
1 目录 摘要 ………………………..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 电脑鼠走迷宫
2 第一章 前言
所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设定的目的地。
1.1项目背景 电脑鼠可看作是一种具有人工智能的小型机器人,依照比赛规则,当电脑鼠放入“迷宫”起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷宫中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。 国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛。首场电脑鼠迷宫竞赛1979年于纽约举行,1991年以来,每年都有世界级的比赛。2007年,国内开始举行IEEE标准电脑鼠走迷宫邀请赛,自举办以来各高校参赛踊跃。 电脑鼠走迷宫竞赛具有一定难度,是一项富有挑战性和趣味性的比赛。电脑鼠可看作是一个集多项工程学科知识于一体的小型系统,成功的设计者通常都是合作团体,他们必须考虑电子、电气、机械以及计算机各方面的问题,重量、速度、功耗、传感技术、重心以及程序各方面都是设计中需要决定和综合考虑的因素。 电脑鼠结合了多学科知识,对于提升我们的动手能力、团队协作能力和创新能力,促进课堂知识的消化和扩展自身的知识面都非常有帮助;
1.2项目介绍 本课程将重点研究电脑鼠硬件与改进、迷宫算法分析与改进。通过对由微处理器控制的、集传感与控制于一体的电脑鼠自动穿越迷宫过程的的研究,综合嵌入式专业的电路设计、传感器控制、单片机程序开发和算法研究等多学科知识,学电脑鼠走迷宫 3 生可熟悉掌握嵌入式应用开发的全过程,从而具备一定的嵌入式应用开发基础与能力。另外,该课程可以提高学生专业学习兴趣,锻炼学生独立学习、综合运用专业知识的能力。 通过该研究性课程,我们将要完成电路板测试、算法研究、资料查询与检索、项目管理等学校课程外的知识与技术技能的学习、整合,培养科技创新意识和动手设计能力。通过系统分析、硬件设计、软件设计、整合电路设计、汇编语言、C语言在单片机开发中的应用知识,培养运用专业知识解决问题的综合应用能力,具体包括: (1) 制定学习计划、项目计划,学会合理安排时间与事先准备的能力; (2) 检索信息,查阅资料,自主学习的能力; (3) 团体合作,与项目组成员以及老师的沟通协调能力; (4) 分析、设计、编程、调试、测试等软件设计的综合能力; (5) 规范编程,整理文档,综合演示,锻炼文字表达、语言表达能力。 (6)通过竞赛,培养责任感、荣誉感、集体观念,锻炼学生在遇到难题与压力的情况下不放弃、迎难而上,树立坚强的自信心。电脑鼠走迷宫
4 第二章 电脑鼠硬件与软件 2.1电脑鼠硬件 2.1.1 电脑鼠硬件组成 电脑鼠的硬件大致分为以下几部分:传感器、执行部件、微处理器、机械结构,如图3-1所示
1.传感器 传感器是电脑鼠准确获取外部环境信息以做出正确判断的依据,是电脑鼠灵敏快捷的保证。红外测距方式在电脑鼠上应用最广。 Micromouse615使用5组红外传感器,每组红外传感器由红外发线射器和红外线接收器组成用于检测迷宫墙壁信息,分别用于检测左、左前、前、右前和右五个方向的墙壁信息。我们用U1-U5表示红外线接收头传感器,RF1-RF5为发送红外线装置,使用5组可调电阻W1-W5控制红外信号发射强度,调整可见距离。信号采用载波调制,增强抗干扰性。
电脑鼠 传感器 执行部件 微处理器 机械结构 红外传感器
车身设计
步进电机
LM3S615
图3-1电脑鼠硬件结构图 电脑鼠走迷宫
5 2.执行部件 电机是电脑鼠的动力源,是电脑鼠的四肢。只有具备健壮且灵活的四肢的电脑鼠才有可能在比赛中高效的解开迷宫。电机不但要能输出足够的马力还要便于控制,在此基础上再配以合适的控制算法就能使电脑鼠快速而精确的行走。电脑鼠中常用的是步进电机和直流电机,步进电机控制容易,但直流电机使电脑鼠控制更加灵敏。 Micromouse615上有两个两相四线制的步进电机,左电机和右电机用来控制电脑鼠前进,左转和右转,停止。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。四相步进电机如图3-3所示
3.微处理器 微处理器是电脑鼠的核心部分,是电脑鼠的大脑。几乎所有的信息,包括墙壁信息,位置信息,角度信息和电机状态信息等都需要经过微处理器处理并做出相应的判断。所有的数据分析,算法实现和执行指令的发出等都需要由微处理器来完成。 Micromouse615的微控制器是由Luminary 公司生产的Cotex-M3内核的ARM处理器——LM3S615,该芯片具有32位RISC性能,带有8KB单周期Flash,2KB单周期SARM,2个定时器(每一个都可配置为一个32位定时器或两个16位定时器,以及高达18个GPIO口。 4.机械结构 电脑鼠要能够在迷宫里面灵活穿梭,必须有一副好身板,有适合在迷宫中快速运行的身体结构。首先他必须结实,拥有两只东倒西歪的轮子的电脑鼠是很难不在迷宫中碰壁的,其次身材娇小的电脑鼠在迷宫里是会更灵活的,它有更大的空间用于完成转弯,有更大的空间用于纠正姿,最后体重太大和没有平衡感的老鼠也是不适宜迷宫竞赛的。基于如此多的考虑,一只学富五车而又娇小玲珑的电脑鼠要求我们从机械上面有更多创新。电脑鼠的机械结构如图3-4所示,左边是