电脑鼠走迷宫技术报告

电脑鼠走迷宫技术报告
电脑鼠走迷宫技术报告

项目编号:31SZDYKC-090601

苏州市职业大学研究性课题教学项目学生研究论文

项目名称: IEEE标准电脑鼠走迷宫研究论文题目:Micromouse615电脑鼠项目报告学生班级:07嵌入式应用技术

学生姓名:陈高娟张扬

所在系(部):计算机工程系

指导教师:徐丽华

摘要

“电脑鼠”是使用嵌入式微控制器、传感器和机电运动部件构成的一种微型机器人,可以在“迷宫”中自动记忆和选择路径,快速地达到所设定的目的地。电脑鼠走迷宫竞赛是一项具有一定难度、富有挑战性和趣味性的比赛。本研究性课程重点对电脑鼠硬件、迷宫算法进行分析研究。本研究性课程通过对电脑鼠自动穿越迷宫过程的研究,综合嵌入式专业的电路设计、传感器控制、单片机程序开发和算法研究等多学科知识,熟悉掌握嵌入式应用开发的全过程。

本文首先介绍了电脑鼠的起源与发展,分析了电脑鼠的硬件组成和工作原理,在此基础上重点讨论了电脑鼠软件的设计与实现,具体包括:等高图制作、电脑鼠冲刺、电脑鼠转弯、电脑鼠搜索、相对方向与绝对方向转变、墙壁资料存储和电脑鼠搜索策略,最后对研究性课程教学过程中遇到的问题进行了讨论与总结。

关键词:嵌入式系统,电脑鼠,智能算法

ABSTRACT

The 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. The students can know how to design and implement an embedded application through the curriculum.

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:Embedded System,Micromouse,Intellegent Algorithm

目录

摘要 (2)

第一章前言 (2)

1.1项目背景 (2)

1.2项目介绍 (3)

1.3项目成员及分工 (3)

第二章电脑鼠项目介绍 (5)

2.1 电脑鼠的起源与发展 (5)

2.1.1电脑鼠的起源 (5)

2.1.2国际电脑鼠的发展 (5)

2.1.3我国电脑鼠的发展情况 (7)

2.2 电脑鼠走迷宫比赛 (7)

2.2.1电脑鼠Micromouse615 (7)

2.2.2 电脑鼠迷宫Micromouse Maze (8)

2.2.3 电脑鼠比赛简述 (9)

第三章电脑鼠硬件与软件 (10)

3. 1相关开发工具 (10)

3.2电脑鼠硬件 (10)

3.2.1 电脑鼠硬件组成 (10)

3.2.2电脑鼠基本动作 (13)

3.3电脑鼠软件 (14)

3.3.1等高图制作模块 (16)

3.3.2冲刺模块 (17)

3.3.3转弯模块 (17)

3.3.4搜索模块 (18)

3.3.5迷宫地图相对方向与绝对方向的建立 (18)

3.3.6墙壁资料存储 (20)

3.3.7电脑鼠搜索策略 (21)

第四章问题总结及改进 (22)

4.1硬件方面的问题及解决方法 (22)

4.2 软件方面的问题及解决方法 (22)

第五章项目总结与展望 (25)

5.1 课程学习过程 (25)

5.2 课程总结 (27)

5.3项目展望 (29)

致谢 (30)

参考文献 (31)

附录IEEE电脑鼠走迷宫竞赛规则 (32)

第一章前言

所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设定的目的地。

1.1项目背景

电脑鼠可看作是一种具有人工智能的小型机器人,依照比赛规则,当电脑鼠放入“迷宫”起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷宫中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。

国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛。首场电脑鼠迷宫竞赛1979年于纽约举行,1991年以来,每年都有世界级的比赛。2007年,国内开始举行IEEE标准电脑鼠走迷宫邀请赛,自举办以来各高校参赛踊跃,许多大学还开设了“电脑鼠原理和制作”选修课程。

电脑鼠走迷宫竞赛具有一定难度,是一项富有挑战性和趣味性的比赛。电脑鼠可看作是一个集多项工程学科知识于一体的小型系统,成功的设计者通常都是合作团体,他们必须考虑电子、电气、机械以及计算机各方面的问题,重量、速度、功耗、传感技术、重心以及程序各方面都是设计中需要决定和综合考虑的因素。

电脑鼠结合了多学科知识,对于提升我们的动手能力、团队协作能力和创新能力,促进课堂知识的消化和扩展自身的知识面都非常有帮助;另外成立小组合作参赛,不仅使我们学到了知识,而且加强了同学之间的交流,交际能力语言表达能力等也得到了锻炼和提升;最后电脑鼠走迷宫竞赛极具趣味性,容易得到学生的认同及参与,并能很好的激发和引导学生这方面的兴趣和爱好,为继续参加比赛和深入学习提供了良好的条件。

研究性课程是我校根据高等职业技术教育人才培养目标和学校课程改革的需要而开设的校本课程。《IEEE标准电脑鼠走迷宫研究》研究性课程教学项目于

2009年4月申请并获立项审批,为期一年,至2010年3月底结束。

1.2项目介绍

本课程将重点研究电脑鼠硬件与改进、迷宫算法分析与改进。通过对由微处理器控制的、集传感与控制于一体的电脑鼠自动穿越迷宫过程的的研究,综合嵌入式专业的电路设计、传感器控制、单片机程序开发和算法研究等多学科知识,学生可熟悉掌握嵌入式应用开发的全过程,从而具备一定的嵌入式应用开发基础与能力。另外,该课程可以提高学生专业学习兴趣,锻炼学生独立学习、综合运用专业知识的能力,最后,在项目研究基础上组织学生报名参加2009全国电脑鼠走迷宫竞赛验证研究成果,通过竞赛锻炼学生应对挑战,超越自我,肯定自我的自信和精神。

通过该研究性课程,我们将要完成电路板测试、算法研究、资料查询与检索、项目管理等学校课程外的知识与技术技能的学习、整合,培养科技创新意识和动手设计能力。通过系统分析、硬件设计、软件设计、整合电路设计、汇编语言、C语言在单片机开发中的应用知识,培养运用专业知识解决问题的综合应用能力,具体包括:

(1) 制定学习计划、项目计划,学会合理安排时间与事先准备的能力;

(2) 检索信息,查阅资料,自主学习的能力;

(3) 团体合作,与项目组成员以及老师的沟通协调能力;

(4) 分析、设计、编程、调试、测试等软件设计的综合能力;

(5) 规范编程,整理文档,综合演示,锻炼文字表达、语言表达能力。(6)通过竞赛,培养责任感、荣誉感、集体观念,锻炼学生在遇到难题与压力的情况下不放弃、迎难而上,树立坚强的自信心。

1.3项目成员及分工

本课程项目以小组为单位,指导老师是徐丽华老师,项目开展过程中郑洪静老师也给予了很多帮助。小组共4位学生成员,他们是:组长陈高娟,组员沈伟华,仇高源,张扬。人员的安排及分工情况如下:

徐丽华:指导老师,项目总体负责人,项目设计,项目管理与控制。细化任务目

标,指导学生按教学预案的计划实施。郑洪静:辅助指导老师。指导硬件设计与调试。

陈高娟:学生组长,女。专业课成绩优异,理解与沟通能力较强,细心,责任心强。具体负责与指导教师及队员的沟通,参加项目实施,项目文档整理负责人。沈伟华:队员,男。专业课成绩优异,有较强逻辑思维,编程基本功扎实。具体负责硬件分析与调试,迷宫算法分析与改进。仇高源:队员,男。硬件基本功好,钻研精神强。具体负责硬件分析与改进。张扬:队员,男。头脑灵活,然自控能力不强,负责迷宫算法分析与改进。

本项目最终分别针对电脑鼠项目情况、电脑鼠程序算法及分析和电脑鼠硬件分析及改进完成了3篇研究性论文。

本文重点讨论电脑鼠走迷宫项目的整体情况,具体介绍项目背景、项目组成及项目开展当中遇到的一些问题,对整个项目进行总结。本文由陈高娟和张扬共同撰写。其中,陈高娟主要负责第一章项目背景,第四章项目组成部分和第五章项目总结,张扬主要负责第二章电脑鼠项目介绍第三章电脑鼠软件和硬件。

第二章电脑鼠项目介绍

2.1 电脑鼠的起源与发展

2.1.1电脑鼠的起源

1956年,“信息论之父”克劳德?埃尔伍德?香农(Claude Elwood Shannon)参与发起了达特默斯人工智能会议,成为这一新学科的开山鼻祖之一。他不仅率先把人工智能运用于电脑下棋方面,而且发明了一个能自动穿越迷宫的“电老鼠”,以此证明计算机可以通过学习提高智能。

最初,电脑鼠是机械的。1972年,机械设计杂志发起了一场比赛。在比赛中,仅由捕鼠器弹簧驱动的机械鼠不停地与其它参赛鼠竞赛,以判断哪个机械鼠能够沿着跑道跑出最长的距离。冠军是“Mousemobile”,它跑了825.3英尺。

1977年,IEEE Spectrum杂志提出电脑鼠的观念。电脑鼠是一个小型的由微处理器控制的机器人车辆,在复杂迷宫中具有译码和导航的功能和能力。

2.1.2国际电脑鼠的发展

1979年,电子和电气工程师协会(IEEE)通过其Spectrum and Computer 杂志发起了一场竞赛,比赛项目是为制造出能够在最短时间内自主走出迷宫的电脑鼠的人奖励$1000美元。尽管没有人知道会是什么结果,但Spectrum的Roger Allan宣称全世界约有6000人对该比赛有兴趣,并于3月份的截至时期前付了$3.95美元参赛费。竞赛给每只电脑鼠多次试运行机会,只要在试运行期间顺利完成了一次就可以参加6月在纽约的国际计算机会议进行的决赛。有6只电脑鼠进入了决赛,其中两只电脑鼠最终完成了比赛。

1980年,在伦敦Euromicro’80举办了一场欧洲版的比赛,但是18个参赛鼠都没能成功地完成这个迷宫赛。比赛的观众当中,有五位来自日本新科学基金会的代表,他们将此比赛规则带回了东京,后来还在1980年11月举办了首场全

日本电脑鼠比赛。

1985年8月,在日本Tsukuba举行了首场世界电脑鼠大赛。电脑鼠来自整个欧洲和美国,使用的传感器有红外的、超声波的和CCD的,驱动装置有步进电机的和DC伺服电机的。所有最高奖项均由日本的电脑鼠Noriko-1赢得,一举成为世界冠军。

1987年工程协会(IEE)在伦敦举办了一场电脑鼠锦标赛,13个电脑鼠角逐冠军。来自美国麻省理工学院(MIT)的DavidOtten带着他的两个参赛鼠MiteeMouseI和MiteeMouseII获得了一等奖和二等奖。比赛采用新的得分体制,以奖励那些能够智能、高效地解开迷宫的方案和能够独立运行的电脑鼠。

在1989年10月21日,IES邀请澳大利亚、日本、台湾、UK和美国最好的电脑鼠来参加新加坡首场国际电脑鼠大赛。来自美国和台湾的电脑鼠等待着复仇的时机,因为他们在7月份的伦敦大赛曾一度被新加坡打败。13个来自当地的和外国的参赛者的电脑鼠在3个小时的比赛中,表演出来的速度和敏捷程度使得观众叹为观止。新加坡获得第2名、第4名、第5名和第7名的事实出乎了很多人的意外。

1994年举行的第十五届全日本电脑鼠竞赛已经具有相当大的规模,超过80只电脑鼠参加了此次比赛,其中有三只来自其他国家(美国、韩国新加坡)的电脑鼠,最终美国麻省理工学院David Otten的电脑鼠MITEE 7以11秒81的成绩夺得冠军。

1996年举行的第十七届全日本电脑鼠竞赛中,日本电脑鼠NORIKO-FINAL以12"74的成绩击败来自美国,韩国和新加坡的电脑鼠夺得冠军。

2006年,The UK Micromouse 2006 competition伯明翰举行,比赛包括maze solver, non-contact wall follower, contact wall follower, and drag race events四类,除了英国的入围者还有来自新加坡的最优秀电脑鼠参加,最终COOL Y以5.6秒的成绩夺maze solver比赛的冠军。

2006年第二十七届全日本电脑鼠竞赛中,来自新加坡南洋理工工院黃明吉教授的电脑鼠MIN4a夺得冠军。

2008年,第二十九届全日本电脑鼠竞赛中,来自新加坡的电脑鼠南洋理工工院黃明吉教授凭借MIN5再次夺得冠军。

2009年,在美国APEC2009电脑鼠竞赛中新加坡南洋理工工院电脑鼠队以11.81秒的综合计算时间,技压群“鼠”,击退美国麻省理工学院(Massachusetts Institute of Technology,MIT)等强劲对手三度夺得冠军。台湾龙华科技大学夺得第三名。速度最快的电脑鼠是由来自位于华盛顿的BattelLe Northwest实验室的Art Boland,Phil Stover,和Ron Dilbeck制造的。根据Boland的观点,他们围绕一个微型计算机构建作品,这个微型计算机具有足够大的存储器,可存储需要在迷宫中99个不同位置做决定时所需的信息。通常采用的策略是,第一次通过时(允许有三次通过机会),允许电脑鼠在每个拐弯处随机选择。第二次通过时,电脑鼠尝试它“知道”在第一次没有尝试的新路线。然后用收集到的消息计算最佳路线,用于第三次通过。

2.1.3我国电脑鼠的发展情况

我国电脑鼠发展起步的比较晚,国内比赛从前年才开始。2008年长三角嵌入式系统创新设计应用竞赛暨IEEE标准电脑鼠走迷宫邀请赛在华东师范大学举行,50支队伍参加了电脑鼠走迷宫竞赛。比赛的规模和质量都比往年有很大的提高。

2009年全国电脑鼠走迷宫邀请赛先分别于长三角、北京、天津、山东、四川、湖北、陕西和山西等赛区进行分区预赛,再有各赛区荣获一等奖的队伍参加北京的总决赛。11月8日全国电脑鼠走迷宫总决赛在北京航空航天大学首享科技大厦举行,其中曾在国际上荣获第三名的台湾龙华科技大学的电脑鼠也受邀参加了本次决赛。

2.2 电脑鼠走迷宫比赛

2.2.1电脑鼠Micromouse615

我们采用的是由广州周立功单片机发展有限公司设计和生产的标准套件。该套件包含电脑鼠Micromouse615(电脑鼠)、IEEE标准迷宫及丰富的配套资料。

Micromouse615采用铝制车架,重量轻,散热性能好。采用双步进电机,车轮直接安装在电机轴上,机械结构简单安装方便。Micromouse615车身长12cm,

宽9cm ,短小精悍,可灵活的在迷宫格中完成90度和180度转弯。如图错误!未找到引用源。所示

2.2.2 电脑鼠迷宫Micromouse Maze

迷宫由256个方块(单元)组成,每个方块的大小为18 cm 见方,排成16行×16列。迷宫的隔墙板沿方块的四周布设,形成迷宫通道。隔墙板的两个侧面是白色的,顶部是红色的。迷宫的地板由木质材料做成,涂上不反光的黑漆。隔墙板的侧面和顶部对红外线有反射特性,而地板则对红外线有吸收特性。

该开发套件中提供2个迷宫,一个16x16的标准迷宫和一个8x8的四分之一

2-1 Micromouse615

全迷宫

四分之一迷宫

图2-2

迷宫,如图2-3所示。对于16x16的标准迷宫,迷宫的起始单元可选设在迷宫四个角落之中的任何一个。起始单元必须三面有隔墙,只留一个出口。终点设在迷宫中央,由四个的正方形单元构成。如果是四分之一迷宫,终点与起点就是迷宫的对角线上的两个拐角处。

两个迷宫所有参数都符合IEEE电脑鼠竞赛标准, 16x16标准迷宫可用于正式比赛,8x8四分之一迷宫仅大小和标准迷宫不同,可在日常练习和小规模竞赛时使用。

2.2.3 电脑鼠比赛简述

最初举办电脑鼠走迷宫竞赛有两个目的,一是为公众提供一个了解微电子学发展及IEEE协会的窗口,其次是为工程师们提供一个发挥聪明才智的空间,激发他们的创造力,最终带动相关领域的技术发展。这一想法最初是由Spectrum 的编辑,Donald Christiansen提出的。

最新的电脑鼠比赛规则是2006年国际电工和电子工程学会(IEEE)制定的电脑鼠走迷宫竞赛规则[1],这个规则将会对我们制作电脑鼠具体方案的设计提供依据。

电脑鼠的基本功能是从起点开始走到终点,这个过程称为一次“运行”,所花费的时间称为“运行时间”。从终点回到起点所花费的时间不计算在运行时间内。电脑鼠从第一次激活到每次运行开始,所花费的时间称为“迷宫时间”。如果电脑鼠在比赛时需要手动辅助,这个动作称为“碰触”。竞赛使用这三个参数,即运行时间﹑迷宫时间和碰触,从速度﹑求解迷宫的效率和电脑鼠可靠性三个方面来进行评分。

电脑鼠的得分是通过计算每次运行的“排障时间”来衡量的。所谓排障时间是这样计算的:先将迷宫时间的1/30加上一次运行时间,如果这次运行结束以后电脑鼠没有被碰触过,那么还要再减去10秒的奖励时间,这样得到的就是排障时间。电脑鼠在迷宫中的停留或运行的总时间不可超过15分钟,在限时内允许运行多次,允许取其中最短的排障时间作为参赛的计分成绩。当然,排障时间越短越好

例如:一个电脑鼠在迷宫中运行时间为4分钟(240秒)没有碰触过,迷宫

时间使用了20秒,这次运行的排障时间就是:20秒+(240秒×1/30)-10秒=18秒。

第三章电脑鼠硬件与软件

3. 1相关开发工具

我们采用广州周立功单片机发展有限公司提供的相关开发套件。开发环境采用IAR EWARM,调试工具包括LM LINK USB JTAG调试器和SPI接口的键盘显示模块。在开发过程中采用调试工具,使调试过程更为方便。

1. IAR EWARM开发环境简介

IAR Embeded Workbench for ARM(下面简称IAR EWARM)是一个针对ARM处理器的集成开发环境,它包含项目管理器、编辑器、C/C++编译器和ARM汇编器、连接器XLINK和支持RTOS的调试工具C-SPY。在EWARM环境下可以使用C/C++和汇编语言方便的开发嵌入式应用程序。比较其它的ARM开发环境,IAR EWARM 具有开发容易、使用方便和代码紧凑等特点。

目前IAR EWARM 支持ARM Cortex-M3内核的最新版本是4.42a,该版本支持Luninary全系列的MCU.

2. LM LINK调试器简介

LM LINK 是由广州致远电子有限公司开发的低成本高性能USB JTAG调试区,它专门用于对Luninary系列单片机程序的调试和卸载。该调试器结合IAR EWARM 集成开发环境,可支持所有LM3S系列MCU的程序的下载与调试。

LM LINK采用USB接口与电脑连接,打破传统的并口和串口下载程序的方式,无论是台式电脑还是笔记本电脑都应用自如。透明外壳封装、设计小巧、晶莹剔透、价格低廉、性价比高、调试下载更快、使用更加方便。

3.2电脑鼠硬件

3.2.1 电脑鼠硬件组成

电脑鼠的硬件大致分为以下几部分:传感器、执行部件、微处理器、机械结

构,如图3-1所示

图3-1电脑鼠硬件结构图

1.传感器

它是电脑鼠感知外界环境的窗口,是电脑鼠的双眼。好的传感器是电脑鼠准确获取外部环境信息以做出正确判断的依据,是电脑鼠灵敏快捷的保证。红外测距方式在电脑鼠上应用最广。常见的红外如图3-2所示

Micromouse615使用5组红外传感器,每组红外传感器由红外发线射器和红外线接收器组成用于检测迷宫墙壁信息,分别用于检测左、左前、前、右前和右五个方向的墙壁信息。我们用U1-U5表示红外线接收头传感器,RF1-RF5为发送红外线装置,使用5组可调电阻W1-W5控制红外信号发射强度,调整可见距离。信号采用载波调制,增强抗干扰性。

图3-2 红外传感器

2.执行部件

电机是电脑鼠的动力源,是电脑鼠的四肢。只有具备健壮且灵活的四肢的电脑鼠才有可能在比赛中高效的解开迷宫。电机不但要能输出足够的马力还要便于控制,在此基础上再配以合适的控制算法就能使电脑鼠快速而精确的行走。电脑鼠中常用的是步进电机和直流电机,步进电机控制容易,但直流电机使电脑鼠控制更加灵敏。

Micromouse615上有两个两相四线制的步进电机,左电机和右电机用来控制电脑鼠前进,左转和右转,停止。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。四相步进电机如图3-3所示

3.

微处理器

微处理器是电脑鼠的核心部分,是电脑鼠的大脑。几乎所有的信息,包括墙壁信息,位置信息,角度信息和电机状态信息等都需要经过微处理器处理并做出相应的判断。所有的数据分析,算法实现和执行指令的发出等都需要由微处理器来完成。

Micromouse615的微控制器是由Luminary 公司生产的Cotex-M3内核的ARM 处理器——LM3S615,该芯片具有32位RISC 性能,带有8KB 单周期Flash ,2KB 单周期SARM ,2个定时器(每一个都可配置为一个32位定时器或两个16位定时图3-3 四相步进电机

器,以及高达18个GPIO 口。

4.机械结构

电脑鼠要能够在迷宫里面灵活穿梭,必须有一副好身板,有适合在迷宫中快速运行的身体结构。首先他必须结实,拥有两只东倒西歪的轮子的电脑鼠是很难不在迷宫中碰壁的,其次身材娇小的电脑鼠在迷宫里是会更灵活的,它有更大的空间用于完成转弯,有更大的空间用于纠正姿,最后体重太大和没有平衡感的老鼠也是不适宜迷宫竞赛的。基于如此多的考虑,一只学富五车而又娇小玲珑的电脑鼠要求我们从机械上面有更多创新。电脑鼠的机械结构如图3-4所示,左边是车身电路板,右边是电脑鼠行走的两个车轮及控制车轮的电机。

3.2.2电脑鼠基本动作

电脑鼠基本动作包括路口检测,行走控制和转弯。

路口检测:由安装在前、右、左的三个红外线发射对管和接收部件实现,利用时钟中断来控制,实现远红外测距功能,探测前、右、左有无障碍。

行走控制:由左、右45°角的两个红外线发射对管和接收部件实现,利用时钟中断来控制,实现近红外测距功能,保持电脑鼠在中轴线上行走,避免撞墙。

转弯:由于电机采用的是步进电机,只要对一个电机的步数进行设定,电机采用PWM 进行驱动,另外一个电机停止或者反转同样的步数,当然这个步数要自

己实际测量。

图3-4 电脑鼠的机械结构

3.3电脑鼠软件

电脑鼠的软件主要可以分为等高图制作模块、冲刺模块、转弯模块、搜索模块、相对方向与绝对方向转变模块、墙壁资料存储模块和电脑鼠搜索策略模块这七个模块。如图3-5所示。

图3-5 软件主要模块图

下面介绍一下电脑鼠运行中必须要知道的一些参数,及其在程序运行过程中的用途。电脑鼠在运行中可以划分为四个状态:等待,启动,搜索迷宫和冲刺状态。

1.等待状态

在该状态中,电脑鼠静止在起点,等待开始命令。同时实时显示传感器检测结果和电池电压,这样方便调试传感器的灵敏度和更换电池。

当控制启动的按键按下后,电脑鼠进入启动状态。

2.启动状态

在该状态中,电脑鼠根据第一次转弯的方向判断起点是在坐标的(0,0)点

还是在(15,0)点。其程序流程图见图3-6所示:

图3-6判断起点坐标程序流程图

3. 搜索迷宫状态

在该状态中,电脑鼠的任务就是搜索并记忆迷宫地图,以采用右手搜索法则为例搜索全迷宫,其流程图如图3-7所示。

4.冲刺状态

迷宫搜索完毕后,根据算法找出一条最优路径冲刺到终点,冲刺结束后返回到起点。

3.3.1等高图制作模块

等高图就是等高线地图的简称,有如一般地图可以标出同一高度的地区范围,或有如气象报告时的等气压的范围和大小。那么等高图运用在迷宫地图上,可以标出每个迷宫格到起点相等步数的关系,许多封闭路径的逃脱与冲刺的关卡都可以在制作出等高图后迎刃而解,使电脑鼠更容易逃脱,少走一些弯路。

首先开辟一块16*16的二维数组空间(MapStep[16][16]),其中每一个元素图3-7 迷宫搜索流程图

代表迷宫的一个方格,用以计算后储存各方格至起点的最短路径步数(所谓步数即为路径中经过的方格数)。当起点坐标处标识为1时,可以直接达到的相邻方格均为2,再远的方格的等高值依次递增,这样距离越远的地方等高值越大。

具体的实现方法可以参照电脑鼠研究性课题的****研究性论文。

3.3.2冲刺模块

冲刺函数的实现是建立在等高图已经建立好的基础上的。当电脑鼠要进行冲刺的时候,调用冲刺函数时,首先会调用等高图制作函数将等高图制作好。然后该函数通过等高图和墙壁信息来进行电脑鼠的行进控制。当然,我们认为电脑鼠在走直道的时候应该会比走弯道的时候,来的更快一点,所以我们没有进行特殊的加权,直接是走直道的。

电脑鼠从起点开始,一直利用等高图信息和墙壁信息进行一格一格的对比,只有当这一格在电脑鼠绝对方向上时,这一格才算记录到进行直道冲刺,同时直道格数加一。当遇到电脑鼠要转弯的时候,已经将要走的步数记录下来了,接下来直接调用行进函数,控制电脑鼠走完记录好的步数后,即走到电脑鼠要转弯的地方后,再进行转弯,然后接着继续进行上一步的动作。

具体的实现方法可以参照电脑鼠研究性课题的****研究性论文。

3.3.3转弯模块

转弯也是电脑鼠运行时必不可少一部分,同时转弯也分为静止转弯和行进中转弯。静止转弯要求电脑鼠首先要停止,主要用在电脑鼠进行搜索中,这时要求电脑鼠要绝对的稳定,所以采用静止转弯比较好。行进中转弯的特点是消除了静止转弯的要求电脑鼠停止的弊端,可以节省一些时间,主要用在电脑鼠进行冲刺时,这时要求电脑鼠要以竟可能短的时间从起点到达终点,所以行进中转弯可以节省不少的时间。

静止转弯时,对两个电机设置走相同的步数,如当要转左转90°时,设置左电机向后走40步,右电机向前走40步。通过两个电机走的方位不同,来实现静止转弯,但静止转弯的缺点就是,在转弯前首先要让电机停止,然后再对电机

算法分析与设计 查找迷宫的最短路径(深度算法)

算法分析与设计 查找迷宫的最短路径(深度算法) 计算机科学与技术12级 16班 2012/12/16

【摘要】:迷宫求解是一个古老的游戏,要在迷宫中找到出口,需要经过一连串的错误尝试才能找到正确的路径,有的时候甚至找不到路径。类似于给定一个m*n的矩形网格,设其左上角为起点S。一辆汽车从起点出发驶向右下角终点T。在若干网格处设置了障碍,表示该网格不可到达。设计一个算法,求汽车从起点S出发到达终点T的一条路线。用计算机求解这个问题时,我们通常采用的是回溯方法,即从入口出发,顺某方向向前探索,若能走通,则继续往前走;否则沿原路退回。换一个方向再继续探索,直至所有可能的通路都探索到为止。为了保证在任何位置上都能沿原路退回,显然需要用一个后进先出的结构来保存从入口到当前位置的路径。因此,在求迷宫通路的算法中应用“栈”也就是自然而然的事。当然还有其他的方法来解决,例如顺序表,深度优先遍历,广度优先遍历等。 【关键词】:最短路径; 时间复杂度;深度优先搜索 【Summary】Maze solving is an ancient game , you want to find the exit in the maze , need to go through a series of trial and error to find the right path , and sometimes not even find the path . A m * n rectangular grid , similar to a given set its upper-left corner as the starting point S . A car from the starting point towards the bottom right corner of the end of T . Set up barriers at certain grid , indicates that the grid is unreachable . Design an algorithm , find the car starting to reach the end point T, route from the starting point S . Use the computer to solve this problem , we usually use the backtracking method , that is, starting from the entrance , Shun forward to explore a direction , if we go through , and continue to move forward ; otherwise return along the same route . Continue to explore another direction , until all possible paths to explore to far . In order to ensure that in any position along the same route back , it is clear that the need to use a LIFO structure to save the path from the entrance to the current position . Therefore , in seeking labyrinth path algorithm application "stack" is the natural thing to do . Of course , there are other ways to solve , for example, the sequence table , depth-first traversal , breadth -first traversal . 【Key phrase】Shortest path ; time complexity ; deep-first search

实验四:A星算法求解迷宫问题实验

实验四:A*算法求解迷宫问题实验 一、实验目的 熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解迷宫问题,理解求解流程和搜索顺序。 二、实验内容 迷宫问题可以表述为:一个二维的网格,0表示点可走,1表示点不可以走,点用(x,y)表示,寻找从某一个给定的起始单元格出发,经由行相邻或列相邻的单元格(可以通过的),最终可以到达目标单元格的、所走过的单元格序列。在任一个单元格中,都只能看到与它邻近的4个单元格(如果位于底边,则只有3个;位于4个角上,则只有2个是否能通过)。 A*算法是人工智能中的一种搜索算法,是一种启发式搜索算法,它不需遍历所有节点,只是利用包含问题启发式信息的评价函数对节点进行排序,使搜索方向朝着最有可能找到目标并产生最优解的方向。它的独特之处是检查最短路径中每个可能的节点时引入了全局信息,对当前节点距终点的距离做出估计,并作为评价节点处于最短路线上的可能性的度量。 A*算法中引入了评估函数,评估函数为:f(n)=g(n)+h(n)其中:n是搜索中遇到的任意状态。g(n)是从起始状态到n的代价。h(n)是对n到目标状态代价的启发式估计。即评估函数f ( n) 是从初

始节点到达节点n 处已经付出的代价与节点n 到达目标节点的接近程度估价值的总和。 这里我们定义n点到目标点的最小实际距离为h(n)*,A*算法要满足的条件为:h(n)<=h(n)* 迷宫走的时候只能往上下左右走,每走一步,代价为1,这里我们采用的估价函数为当前节点到目标节点的曼哈顿距离,即:h(n)=|end.x –n.x|+ |end.y –n.y| 这里end表示迷宫的目标点,n表示当前点,很明显这里h(n)<=h(n)*。 g(n)容易表示,即每走一步的代价是1,所以利用f(n)=g(n)+h(n)这种策略,我们可以不断地逼近目标点,从而找到问题的解。 时间复杂度:m行n列的迷宫矩阵实现算法的时间复杂度为O(m*n). 实验结果:

人工智能电脑鼠搜迷宫实验

北京科技大学实验报告 学院:自动化学院专业:智能科学学技术班级: 姓名:学号:实验日期:2017年11月6日 实验名称:人工智能电脑鼠搜迷宫实验 实验目的:掌握电脑鼠的基本操作及智能搜索算法操作。 实验仪器:KEIL MDK、电脑鼠、J-Link、VS 实验原理:所谓“电脑鼠”,英文名叫做Micromouse,是一种具有人工智能的轮式机器人,是由嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。当电脑鼠放入起点,按下启动键之后,他就必须自行决定搜索法则并且在迷宫中前进,转弯,记忆迷宫墙壁资料,计算最短路径,搜索终点等功能。电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。本实验中,通过红外传感器检测电脑鼠所处位置状态,通过智能算法保存地图并实现地图的搜索,通过pid等控制算法控制电机,达到电脑鼠搜索迷宫并计算最短路径等功能。 实验内容与步骤: 实验内容 1)KEIL MDK的安装 2)电脑鼠硬件的检查及调整 3)智能搜索算法的编写 4)算法的调试与优化 5)实验结果

实验步骤 (一)KEIL MDK的安装 1双击运行Ke i l MDK 4.12 安装程序,出现软件安装界面,如图所示: 2点击Next,勾选安装协议; 3选择安装路径,建议安装在C 盘,运行速度快些 4 填入用户信息,个人用户随意填入即可; 点击Next 就进入实质的安装过程了,Wait for a Whle… 5点击Finish,Keil MDK 就完成安装了,可以发现桌面上生成了名为“Keil uVis ion4”的可执行文件快捷方式。

(二)检查和调整电脑鼠的硬件 1.电机检查:在电脑鼠程序文件中找到Motor.c文件,直接为两侧电机赋相同的速度值,用G-link连接电脑鼠和电脑,传入程序,打开电脑鼠放在地面上,如果电脑鼠能正常直线行进,即证明两侧电机正常工作。如果有电机有问题,拆下原来的电机换新的再次进行电机检查即可。 2.传感器检查:用G-link连接电脑鼠和电脑,打开传感器查询模式,用手逐渐靠近每一个传感器,如果相应的传感器值由小变大,那么此传感器工作正常。且每个传感器在手指位于相同距离时,回传的传感器值近似相等即证明传感器都正常工作,如果有传感器有问题,拆下原来的传感器换新的再次进行传感器检查即可。 传感器回传值查询界面 (三)智能搜索算法的编写 在含底层驱动的程序的基础上加上算法,实现智能搜索,把电脑鼠变成一只真正的智能的老鼠。

八年级生物上册人教版探究活动报告册答案

八年级生物上册人教版探究活动报告册答案集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

观察蚯蚓 ●实验准备 1.阴暗的;潮湿;夜间; ●过程和方法 1.(1)圆筒形;体节;暗红色; (2)厚;环带;环带;环带;朝上;朝下;左边;右边;14~16; (3)有黏液;粗糙;刚毛;腹部; 2.伸张和收缩;灵活,自如,转向方便;协助运动; ●结果和结论 1.两侧;利于再生修复 2.上皮细胞分泌粘液; 3.纵、横肌的交互舒缩及体表的刚毛 ●讨论 1.表格 动物的名称蚯蚓 所属的动物类群环节动物 体表特征身体呈两侧对称,具有分节现象 呼吸方式体壁呼吸 运动方式依靠体节和刚毛运动 2. 蚯蚓的身体是一圈一圈地分节,是环节动物;而线形动物全体是光滑的,没有分节特征。 3.略(自己随便说个现象,然后找答案) 4.略(说一个兴趣的问题,然后探究回答) 鸟适于飞行的形态结构特点 活动准备 1.(1) 家鸽流线直无。 1.(2) 胸部 2. 家鸽家鸽 过程和方法 1.鸟的身体适于飞行吗? 2. 鸟的身体有适于飞行的特点 身体呈流线型、胸肌发达、骨骼轻,薄,中空… 3.(1)流线型,减少飞行时所遇到的阻力。 3.(2)爬升时起作用。羽小枝是勾连的。能够在空气中产生足够的升力和动力。

3.(3) 可以牵动两翼,产生动力,完成飞行 3.(4)鸟发达的胸肌,需要很大的骨面积来附着这些肌肉。因此龙骨突很发达。 结果和结论 鸟的形态结构 特点 与飞行之间的关系 体形 流线型 减少空气阻力 前趾 变成翼 飞行器官 羽毛 体表被覆羽毛 利于飞行 是否有牙齿 没有牙齿 便于快速取食 胸骨 胸骨发达,有龙骨突 增大胸肌的固着面 胸肌 胸肌发达 牵动翼飞行 讨论 1. 肺 辅助 肺部 2.没有直接的关系。恒温是增强了对环境的适应能力。 3.主要是鸟的消化系统,呼吸系统有关。鸟的食量大,消化强,排便快,呼吸效率高。 小鼠走迷宫获取食物的学习行为 活动准备 1.遗传因素 生活经验和学习 少 突出 过程和方法 1. 小鼠需要经过多少次“尝试与错误”才能获取食物? 2. 小鼠经过的 “尝试与错误”越多,获取食物的可能性越大。 学习行为需要经过“尝试与错误” 3. (1(2) (3) 4.(2)计时,并在出口 等待 (3)出口的 (4)拿食物对小鼠进行适当的引导 (6)1 结果和结论 1. 2. 3.减少 小鼠走迷宫获取食物逐渐熟练 讨论 次数 第一天 第二天 第三天 第四天 第五天 第六天 第七天 时间s 次数 第一天 第二天 第三天 第四天 第五天 第六天 第七天 时间s 101 92 76 60 50 41 30 0 50100 150第一天第二天第三天第四天第五天第六天第七天 单位/秒

电脑鼠走迷宫死区排除算法

电脑鼠走迷宫大赛探索过程算法优化研究 ——死路排除算法 ——死区域算法1摘要 电脑鼠走迷宫大赛是由国际电工和电子工程学会(IEEE)举办的人工智能领域的一项国际性赛事,集机械、电子、控制、光学、程序设计和人工智能等多方面科技知识于一体[1],具有很高的知名度。迷宫算法的优劣直接影响比赛的最终成绩。本文从经典迷宫算法入手,先后提出了能排除单行当列死路的“死路排除算法”和能够排除任意形状死区域的“渗透法”,然后通过测试验证两种改进算法的优越性。改进算法的核心思想是通过已经获得的迷宫信息排除不包含最短路径信息的死区域。同时,文中创造性的将“渗透思想”用于迷宫算法当中,很好的实现了死区域的判定与排除。与经典算法相比,改进算法在时间、空间方面都有良好的优化效果。 2背景简介 电脑鼠走迷宫大赛是国际电工和电子工程学会(IEEE)每年都会举办的一项国际性赛事,于1972年由美国机械杂志发起。比赛中的电脑鼠是一个小型的由微处理器控制的机器人车辆,在复杂迷宫中具有译码和导航功能。该比赛自推出以来,受到了世界各国师生的青睐。2007年和2008年,上海市计算机学会率先在中国主办了两次IEEE标准电脑鼠走迷宫邀请赛(长三角地区),有三十多所院校参加,反响强烈。2009年比赛范围扩展到全国,共有9个赛区的52所高校参赛[2]。 2.1电脑鼠走迷宫大赛规则[3] 电脑鼠的基本功能是从起点开始走到终点,这个过程称为一次“运行”,所花费的时间称为“运行时间”;电脑鼠从第一次激活到每次运行开始所花费的时间称为“迷宫时间”;电脑鼠在比赛时手动辅助的动作称为“碰触”。竞赛使用这3个参数,从速度、求解迷宫的效率和电脑鼠的可靠性三个方面来进行评判。 电脑鼠的得分是通过计算每次运行的“排障时间”来衡量的,即将迷宫时间的1/30加一次运行时间;如果未被碰触过,则再减去10s(奖励时间),这样得到的就是排障时间。电脑鼠在迷宫中停留或运行的总时间不可超过15min,在限时内允许运行多次。如果进入迷宫是为了进行探测和记忆,则这次运行就称为“试跑”;如果进入迷宫是根据先前的记忆和经验,按照智能算法确定最佳路径,并以最快的速度到达目的地,则这次运行就称为“冲刺”。 2.2迷宫、电脑鼠规格 迷宫由256个方块组成,每个方块18 平方厘米,排成16行×16列。迷宫的隔板沿方块的四周布设,形成迷宫通道。如图1为迷宫照片。图2为电脑鼠样例照片,该电脑鼠采用ARM7处理器——LM3S615作为主控芯片。五组可测距的红外线传感器按照某固定频率对迷宫格周围障碍进行采样,获取迷宫隔板信息。 图1 迷宫照片图2 电脑鼠样例照片 2.3已有算法

电脑鼠设计与制作——文档

电脑鼠的设计与制作 0.序言 0.1电脑鼠 电脑鼠是机电一体化装置,是使用微控制器、传感器和机电运动部件构成的一种智能行走装置,是一种具有人工智能的小型机器人。电脑鼠可以在不同“迷宫”中自动记忆和选择路径,采用相应的算法,快速地达到所设定的目的地。集成了计算机、电子和机械、电机、自动化和传感器等技术,是真正具有独创性的东西,其制作为学生提供了创意、制作、实现和展示的机会。 必要的知识(可以百度): (1)电子部分 ?电路设计 ?微处理器 ?传感器 (2)机械结构 (3)算法设计 0.2电脑鼠的设计目标 本项目要实现的是用电脑鼠找出迷宫中通往终点的最短路径并以最快速度到达迷宫的终点。 电脑鼠从迷宫起点位置前进,由程序判断通过前视距离探测器探测到的迷宫状况,控制驱动机构前进或转向并记录路径和距离(控制车轮编码器可完成),由于起点位置和终点位置是已知的,虽然不知道具体路径,但通过编写算法程序即可找到最短路径,在重新开始时便可以最快速度从最短路径到达终点。 设计的电脑鼠应该具有三种最基本的能力: ?拥有稳定、准确、快速的行走能力 ?能争取判断环境的能力(如有墙、有路)

记忆路径的能力 图1 8*8迷宫布局图 总之,电脑鼠的设计目标是:在最短的时间内找到一条通往总店的最短路径,并以最快速度从起点到达终点。如何衡量: 迷宫时间(搜索时间):电脑鼠激活到每次运行开始的时间; 注:搜索结束,从终点返回到起点的时间不算在迷宫时间内; 运行时间:电脑鼠从起点走到终点的时间; 如果电脑鼠在比赛时需要手动辅助,这个动作就成为“碰触”。若“碰触”了,则需要失去10秒的奖励时间。 比赛使用者三个参数,从速度、求解迷宫的效率和电脑鼠的可靠性三个方面来进行评分。 成绩=迷宫时间/30+运行时间-奖励时间(非碰触) 例子:一个电脑鼠在迷宫中的搜索时间为4分钟,没有碰触过,运行时间使用了20秒,这次运行的排障时间就是: 20+(240×1/30)-10=18秒 1.电脑鼠的构成 电脑鼠是指由车身、轮子、和相关软件构成。车体是电脑鼠最基本的架构,它的设计在电脑鼠的整体规划中战友想到重要的地位,应当遵守整体结构坚固耐用、材质轻、重心低的原则。在设计中,既要考虑到符合各零件的规格,又要考虑到配合迷宫的规格。

八年级生物上册人教版 探究活动报告册答案1

观察蚯蚓 ●实验准备 1.阴暗的;潮湿;夜间; ●过程和方法 1.(1)圆筒形;体节;暗红色; (2)厚;环带;环带;环带;朝上;朝下;左边;右边;14~16; (3)有黏液;粗糙;刚毛;腹部; 2.伸张和收缩;灵活,自如,转向方便;协助运动; ●结果和结论 1.两侧;利于再生修复 2.上皮细胞分泌粘液; 3.纵、横肌的交互舒缩及体表的刚毛 ●讨论 2. 蚯蚓的身体是一圈一圈地分节,是环节动物;而线形动物全体是光滑的,没有分节特征。 3.略(自己随便说个现象,然后找答案) 4.略(说一个兴趣的问题,然后探究回答)

鸟适于飞行的形态结构特点 1.(1)家鸽流线直无。 1.(2)胸部 1.鸟的身体适于飞行吗? 2.鸟的身体有适于飞行的特点 身体呈流线型、胸肌发达、骨骼轻,薄,中空… 3.(1)流线型,减少飞行时所遇到的阻力。 3.(2)爬升时起作用。羽小枝是勾连的。能够在空气中产生足够的升力和动力。 3.(3)可以牵动两翼,产生动力,完成飞行 1.肺辅助肺部 2.没有直接的关系。恒温是增强了对环境的适应能力。 3.主要是鸟的消化系统,呼吸系统有关。鸟的食量大,消化强,排便快,呼吸效率高。

小鼠走迷宫获取食物的学习行为 ? 活动准备 1.遗传因素生活经验和学习少突出 ? 过程和方法 1.小鼠需要经过多少次“尝试与错误”才能获取食物? 2.小鼠经过的“尝试与错误”越多,获取食物的可能性越大。 学习行为需要经过“尝试与错误” 3.(1)饿着肚子这样才能寻找食物,完成学习。 (2) (3) 4.(2)计时,并在出口等待(3)出口的 (4)拿食物对小鼠进行适当的引导(6)1 ? 结果和结论 1. 2. 3.减少小鼠走迷宫获取食物逐渐熟练 ? 讨论 1.动物在生存的过程中会学习一些行为。最先是尝试,在尝试的过程中会出现错误,不断改正后最后会形成一个学习行为。 2.不相同。因为其他同学选择的小鼠和我的小鼠不一样。 3.这样实验的结果为更准确。 4.可能会增加。因为动物越高等,学习能力越强,反而,越弱。 次数 第一天 第二天 第三天 第四天 第五天 第六天 第七天 时间s 次数 第一天 第二天 第三天 第四天 第五天 第六天 第七天 时间s 101 92 76 60 50 41 30

智能小车中的迷宫算法

智能小车中的迷宫算法 2008-10-27 15:20 智能小车中的迷宫算法 看了周立功上面的电脑鼠走迷宫的视频感觉非常有趣,一直都做个小车玩,可没材料,只能看着视频上的小车路行轨迹整出来了这个算法,我不知道真正的算法是怎么实现的,这只是我自己想的一个算法,而且没有完整的小车程序,有空买了小车的再整理总程序。 https://www.360docs.net/doc/8f3543773.html,/pro_ydkz/MicroMouse615.asp这是视频地址。 先看看那大体的迷宫图,随便画的,不是很准确,红色的是小车的运行轨迹,蓝色小圈表示要保存的节点,右下角是起始点: 首先是数据结构,对于整个程序来说,首先要做的是把整个图存下来,有过数据结构基础的这个应该不难,图一般是以结点的方式存储,也就是图中的蓝色小圈,结点的存储格式也是很重要的,我前后尝试了好几种才确定下来。节点有两中逻辑相连方式,一个是图形连接,对应* lt_north,*lt_west,*lt_south,*lt_east,一个是线性连接,对应*frontpoint和*nextpoint,线性连接是为了容易判断当前小车所到结点是否已经记录,也为了后面迷宫算法的树形实现。如下:Struct mappoint { Float point_x,point_y; //我是以坐标形式存储,这事相对坐标 Bool ltb_north,ltb_west,ltb_south,ltb_east; //这是记录每个结前后左右 是否有相通结 Mappoint * lt_north,*lt_west,*lt_south,*lt_east; //这是前后左右相通节点的地址

电脑鼠实验报告.

《视觉机器人》 实验报告 学院: 姓名: 专业: 二零一六年一月

目录 第1章背景和意义 (3) 第2章系统方案设计 (4) 第3章硬件设计 (5) 3.1电脑鼠基本硬件组成 (5) 3.2电脑鼠基本动作 (9) 第4章软件设计 (9) 4.1电脑鼠软件设计概要说明 (9) 4.2等高图制作模块 (11) 4.3冲刺模块 (12) 4.4转弯模块 (12) 4.5搜索模块 (13) 4.6迷宫地图相对方向与绝对方向的建立 (13) 4.7墙壁资料存储 (15) 4.8电脑鼠搜索策略 (16) 参考文献 (17) 附件: (17)

第1章背景和意义 电脑鼠可看作是一种具有人工智能的小型机器人,依照比赛规则,当电脑鼠放入“迷宫”起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。电脑鼠结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技识。国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛。首场电脑鼠迷宫竞赛1979年于纽约举行,1991年以来,每年都有世界级的比赛。2007年,国内开始举行IEEE标准电脑鼠走迷宫邀请赛,自举办以来高校参赛踊跃,许多大学还开设了“电脑鼠原理和制作”选修课程。电脑鼠走迷宫竞赛具有一定难度,是一项富有挑战性和趣味性的比赛。电脑鼠可看作一个集多项工程学科知识于一体的小型系统,成功的设计者通常都是合作团体。他们必须考虑电子、电气、机械以及计算机各方面的问题,重量、速度、功耗、传感技术重心以及程序各方面都是设计中需要决定和综合考虑的因素。电脑鼠结合了多学科知识,对于提升我们的动手能力、团队协作能力和创新能力,促进课堂知识的消化和扩展自身的知识面都非常有帮助;另外成立小组合作参赛,不仅使我们学到了知识,而且加强了同学之间的交流,交际能力语言表达能力等也得到了锻炼和提升;最后电脑鼠走迷宫竞赛极具趣味性,容易得到学生的认同及参与,并能很好的激发和引导学生这方面的兴趣和爱好,为继续参加比赛和深入学习提供了良好的条件。

Pclab-300Morris水迷宫分析系统

Morris水迷宫及分析系统参数一 1.工作条件 1.1本本仪器可在下列条件下工作: 电源:220伏(±10%),单相,50赫兹(±1赫) 环境温度:摄氏0度——摄氏40度 技术参数 2.1 技术功能指标 2.1.1 A、B、C、D四个区的运动时间 2.1.2 A、B、C、D四个区的运动距离 2.1.3大(小)鼠在迷宫中运动的总时间 2.1.4大(小)鼠在迷宫中运动的总距离 2.1.5 大(小)鼠穿越目标区域的次数 2.1.6 内环、中环、外环的运动时间 2.1.7内环、中环、外环的运动距离 2.1.8大(小)鼠在迷宫中运动的平均速度 *2.1.9大(小)鼠在各个区域中运动的时效 *2.1.10大(小)鼠在迷宫中运动轨迹的回放 *2.1.11实时生成的数据可以导入Excel 2.2 技术参数指标 *2.2.1 传输方式:USB2.0 2.2.2 采样位数:10bit 2.2.3 动态范围:80dB-100dB 2.2.4 镜头接口:C/CS 2.2.5 供电方式:单独+12V供电 2.2.6 幅面:1280×1024 2.2.7 快门速度:8μs-26μs 2.2.8 快门方式:电子快门 2.2.9 象元尺寸:6.7μm×6.7μm 2.2.10 软件支持:jpg,bmp 2.附件、备件、专用工具或其他消耗品 3.1水迷宫测试软件一套 *3.5微视USB摄像头一个(USB接口可以代替采集卡,传输速度是采集卡的10倍) 3.6万向支架一个 3.7 12V电源一个 3.8 排水机一个 3.9 水温调控装置一个 3.10 配套电缆一套 3.11 说明书一本

参数二 系统功能特点要求: 1.适用于(大小鼠)神经药理学,神经生理学,神经心理学,老年病学等的研究。 2.采用视频摄像跟踪技术,实现实验过程的自动化,实现Morris水迷宫实验的定量化、精确化和客观性; 3.Morris水迷宫的尺寸规格按照Morris本人的设计,采用玻璃钢制作,可长期使用,视频摄像系统固定在特制的支架上,可拆卸,方便实验; 4.能够储存原始的视频图像,视频文件格式支持AVI和MPEG-1压缩格式;空间分辨率最高可达640x480像素(常用320x240像素),时间分辨率最高可达25帧/秒(常用15帧/秒);测量所得的指标结果精度高并供完整的实验数据库功能,作为研究的真实记录和今后进行教学演示的素材; 5.可在星光条件(0.01Lux)下进行视频分析(包括实时分析); 6.采用开放式、模块化设计,系统可扩展性强,可外接其他的分析模块,轨迹点坐标序列数据和指标结果可导入到Excel,便于用户在Excel、SPSS、SAS等分析统计软件中作进一步分析处理; 8.分析灵活,支持时段分析,支持定时终止和人工终止,并具有丰富的显示方式,能对动物的运动情况采用轨迹图、参数指标、曲线、直方图等多种显示方式,并可生成完整的报告,供打印输出; 水迷宫软件功能: 1.可记录大小鼠游泳路径距离,时间,速度。 2.可进行象限分析,包括各象限的距离,时间等。 3.可测定入水角度. 4.可测定穿越目标区次数。 5.可进行环行分析。 6.可自动记录大小鼠第一次到达目标区的时间、距离。 7.可实时观测和记录大小鼠运动的轨迹。并具备轨迹回放功能 8.全部数据可自动生成EXCEL结果。 9.实时图像在1024*768,16位或32位真彩色状态下观测。画面为 768*576像素,25帧/秒。 10.可以实时录像,以进行图像回放。 11.数据和轨迹可打印,并以数据库方式(名称,组别,动物编号)储存 结果,删除方便。 12.可人工设定采样时间。

电脑鼠机器人迷宫竞赛规则

第四届青少年机器人活动暨亚洲机器人锦标赛中国区选拔赛 电脑鼠机器人迷宫竞赛规则 竞赛要求使用东莞市博思电子数码科技有限公司的电脑鼠机器人器材。如下图所示: (一)场地尺寸及环境要求 1.迷宫场地由8×8个边长为180.00×180.00mm 的正方形单元组成(见图1 )。 电脑鼠机器人迷宫竞赛是一种利用嵌入式微控制器、传感器和机电运动部件构成的一种智能的小型机器人比赛,它要求机器人在指定的迷宫中自动探索并找出通往终点的路径,赛中机器人需随时掌握自身的位置信息,准确获取墙壁信息并做记录,最终依靠记忆找出最佳路径并以最短的时间走出迷宫,赢得比赛。 一、简述 二、规则

2.图2示例场地图 3.四周的隔墙将整个迷宫封闭,迷宫隔墙的侧面为白色,顶部为红色。迷宫的地面为木质, 用于隔开每个单元格的围板称为墙壁,迷宫场地的墙壁高50.00mm,厚12.00mm,因此两堵隔墙所构成的通道其实际宽度为168.00mm(示例场地图见图2)

使用油漆漆成黑色。迷宫地面上印有墙壁的定位线,作组装场地时定位墙壁的标记,隔墙侧面和顶部的涂料需能反射红外线,地板的涂料需能吸收红外线。 4.迷宫的起始单元必须有三面隔墙,余下一个出口。例如,若没有隔墙的出口端为“北”向时,那么迷宫的外墙就构成“东”、“南”、“西”方位的隔墙。 5.6.迷宫场地中,将每个正方形单元的四角每两边相交的位置的点我们定义为“格点”。除了停泊区域中心的格点外,其余每个格点至少要延伸出一面隔墙或与一面隔墙相接触。由格点延伸出去的墙壁的组合方式多种多样,以迷宫左下角的一个格点为例,如下图中黑色部分为格点,示例场地图见图 2 A 、从格点处延伸出一块墙壁后,与该节点有关的墙壁的几种布置位置如下: B 、从格点处延伸出两块墙壁后,与该节点有关的墙壁的几种布置位置如下: 符合本规则的迷宫场地设计方案数量众多,但迷宫的格数始终是8×8格,四边的围墙不变,变化的是围墙内部的各个墙壁,比赛时具体使用场地,由比赛现场公布。

迷宫算法求解

/* ****************迷宫算法求解***************** */ /* bc++3.1和vc++6.0下调试通过* */ /*********设计目标:教学演示**********************/ #include #include #include "stdlib.h" #define NULL 0 #define rows 10 #define cols 10 typedef struct {int row; int col; }PosType; //坐标点结构 typedef struct {int ord;//通道块在路径上的"序号" PosType seat;//通道块在迷宫中的"坐标位置" int di;//从此通道快走向下一通道块的"方向" }SElemType;//栈的元素类型 typedef struct {SElemType *base; SElemType *top; int stacksize; }SqStack;//堆栈结构 int InitStack(SqStack &s)//初始化堆栈 { s.base=(SElemType *)malloc(100*sizeof(SElemType)); if(!s.base) return 0; s.top=s.base; s.stacksize=100; return 1; }

int StackEmpty(SqStack s) //栈空判别 {return(s.top==s.base); } int Pop(SqStack &s,SElemType &e)//弹栈 {if(s.top==s.base)return 0; e=*--s.top; return 1; } int Push(SqStack &s,SElemType e)//将元素压入堆栈 {if(s.top-s.base>=s.stacksize) {s.base=(SElemType *)realloc(s.base,(s.stacksize+10)*sizeof(SElemType)); if(!s.base)exit(-2); s.top=s.base+s.stacksize; s.stacksize+=10; } *s.top++=e; return 1; } static int maze[rows][cols]= {{0,0,0,0,0,0,0,0,0,0}, {0,1,1,0,1,1,1,0,1,0}, {0,1,1,0,1,0,1,0,1,0}, {0,1,1,0,1,0,0,1,1,0}, {0,1,1,0,0,1,1,1,1,0}, {0,1,1,1,0,1,1,1,1,0}, {0,1,0,1,1,1,0,1,1,0}, {0,1,0,0,0,1,0,0,1,0}, {0,0,1,1,1,1,1,1,1,0}, {0,0,0,0,0,0,0,0,0,0}, }; //初始迷宫数据(1-通,0-不通)

迷宫电脑鼠的硬件设计简介

迷宫电脑鼠的硬件设计简介应用科技 N●l 吴曼展 (同济大学中德学院上海市200092) f摘要】人工智能技术是一门融合了众多学科的新星科学,它被广泛地应用于勘探、侦察、医疗救援、抢险以及日常生活的各个方面。智能机器人竞赛则是~项旨在开发人工智能技术而举行的比赛,它集科学、娱乐和比赛于_t体,在各国引起了广泛关注和极大兴趣。目前豳际上有很多针对机器人技术的比赛,两IEEE迷宫鼠竞赛鬻楚其中的一个典羹代表。本文首先辩近年来在国际上迅速开矮的迷宫槐器入竞赛作了简簧介绍,簿要说碉了迷宫鬣竞赛的竞赛规则以及发展历史,同时也分析了国内外关于此课题的研究现状。其次,本文对迷寓鼠的硬件设计作了一个擞体规划,将迷宫鼠的设计分为微控制器模块、马达驱动模块、传感器模块、人工智能模块移数据存镳及佼埝模块。最嚣还瓣参据IEEE迷寥甄竞赛弱餐毵毫}lI嚣久雩筝了~些溅试。 【关键词】人工智能迷宫电脑鼠智能传感器嵌入式系统 中期分类号:TP文献标识码:A1009-91毒x(2009)27—0025-02 1.引言 人工智能楚一门由诗算机科学、控制谂、信息论、聿搴经生理学、心理学、落害学等多种学科互相渗透而发震起来的综合性学科。它所研究的是如何制造出入造的智能机器或智能系统,来模拟人类智能活动的能力,以延伸人们的智能。智能枫器入竞赛是一项罄在秀发人王餐戆技零焉举办麓毙赛,宅融合7众多最薅沿领域的研究技术,是一颈集科学、娱乐和比赛于一体的活幼,近年来在世界各国引起了广泛关注和极大兴趣。 2‘遮塞电麓纛蠢奏餐务 MicromouseCompetition,鼢迷宫鼠竞赛,起源于上世纪70年代。该竞赛要求一智能机器人在一个指定16.16格迷宫中自动寻找到规定的目标地点,然质疑指定熊落基发剃达强熬逵,曩辩短老获魅。困其终形醚{羰老鼠,爱黻褥名迷塞电脑鼠竟赛。 第一次迷宫电脑鼠竞赛是在1972年由《MachineDesign}发起的,参赛的迷塞撬器入是撬壤雏,矮弹簧辍裁力。在疆悉瓣卡豆年孛,该院赛穗继在英国、荧国、日本、新加坡、澳大利弧等国家举办,吸引了众多国家和地区的参赛者参加。而随着迷宫设计和竞赛规则的不断完善、电脑鼠的不断智能化发展,目前IEEE迷富毫瓣鬣竞赛瑟经戒鸯掘嚣久镶域懿有趣懿、其蠢攘战性豹、技术先进翡耋瑟研究方向。在国内的迷宫机器人研究方面,尽管起步较晚(迷宫机器人进入中闼麓不多是上世纪九十年代),但随着各方面按术的不断完善,特别是微控制器技术、铸惑器技本、入工智能技术的发鼹,国内黪班嚣入巍赛也褒翅必鲤蒙建开最。而迷宫鼠竞赛在台湾、香港等发达地区也已缀举办过多次。 3.迷寓■的硬件设计思想 迷宫鬣夔硬黪设谤是一瑗系统瓣工程。‘玄涉及到诲多方裁,毽括微控镧嚣攒块、马达驱动模块、传感器模块以及备模块间的相互连接。在设计之前,设计者岿须要对照个电脑鼠的各部分构造有一个大致的了解,由于迷宫是由256块18cmXl8cm夔单元接缀戒,除去墙体辱度1。2cm,嚣壤淹熬实赫距离兔16.8cm,因此可以考虑将整个电脑鼠就设计在一块lOcm见方的底板上,以使其能能方便、灵活地转向。 迷宫鬣戆电路援缕梅分必上下辩层。上瓣隽挖嗣援,其孛镪捂镞控穰器MCU、传感器检测电路和一些数据存储与连接模块。下层为驱动板,主要包括左右两侧的车轮、驱动马达、两翼的CNY70光电传感器、万向轮、H桥驱动芯片等。两层之间经震蠡壤镧柱用予支撑。这样的设诗安簿,栽够燕诧迷富鬣各部分的稳造、继分备模块的功能,同时也有利于拆装和臼后保养维护。 3.1微控制器模块 徽控稍嚣单元,帮MicrocontrollerUnit,或称单片税(Mcu),悬指将中央处理单元CPU、程序存储嚣ROM、数据存储嚣RAM以及输入输出端口(i/0口)等 单独翘囊两者缀合成不阏性能的交换黼络结构来实现。根据交换网络入端信道数与出端倍道数的不同,可以把交换网络分成集线器、扩线器和分配嚣。 集线器的功能是将用户电路的串行码进行串并转换,经过话存进入交换网络,通常采用“顺序写入、控制读出”的控制方式。T级话存的功能主要耀来完成话音的交换,邋常采霜“随机写入、控翻读出”静控稍方式。扩线器的功能是将T级话存的话音信息,经过扩线器话存后进行并串转换,送鬣苓疆戆PCm蝼口。扩线爨话存遴褰采援“控铡写入、蹶彦读遗”戆羧刳方式。 4时分交换网络中元器件的接口、驱动和改进措施 4。1根据所需容量来选择掰型的存健器芯片 由上可知,在对分交换弼络中,话音存储器和控制存储器都是由存储器芯片米实现的,现代程控交换机中将用到大量的存储芯片,实现使用中逶常鬏攥爨纛鸯墨来选择存键嚣蕊冀,焚整戆芯片襄选麓SYSTEMS公司豹SRM2016、S01idTateScientific公词的SCM6116以及HITACHT公司的HM6264等系列。 4.2采用先进的BiCMOS技术 传统的存储器芯片通常是通过CMOS工艺实现,随糟微电子技术的发震,塞瑗了毅型瓣BiCMOS器锌,臻BiCMOS器l孛实现熬存德器芯片与CMOS实现的存储器相比,性能指标将大大优化,反映猩衡量速度性能的传输她迟时阀搬标将缩小,传输速度明鼹提高,德量其舆效率搜能的功耗指标将大大减小,只有几磷大小。 先进的BiCMOS技术集中了双极型晶体管和CMOS器件的优点,两者互枣},在数字程控交换懿交换网络瓣实瑗中占有翡驻霞势。麓CMOS工艺实现的存储器芯片构成的交换网络,在实现使用中,会因为其速度指标问题而如现数搬码流丢失的误鼹现象,这说明,利用CMOS工艺缀难进一步生产遽信发展所需的速度更高、驱动能力更强的存储器芯片,而先进的BiCMOS技术在存储器芯片的速度、容量和功耗等性能指标上提供了数据交换所要求瓣哥靠戆。铡翔瓣予典黧戆六管静态存镰器,稠麓BiCMOS菝术,胃菝壤葵在较低的电源电压(3.3V)下工作,同时可提高存取速度,缩短读碍时间,功耗也可降副较低承平。 此外,交换网络及SPCE中的其它元器件也可以选用BiCMOS器件来实现。BiCMOS逻辑门在逶髂数字部传(翔编鹚器、译诲嚣秘摸/数转羧器等)和门阵列的应用中极为广泛,因为它的扇出数一般为5~8,如此大的扇出数意味着具有较强的带负载能力,而且BiCMOS门比CmOSf1能更快速地驱动这些负载。另矫,BiCMOSfj中的器件尺寸可以怒一致的,这就降低了通信数字部件在物理设计上的难度;不同的CMOS电路对减小单位负载的舆惩送往缝不溺,对予BiCMOS电爨,蠹予双稷墅捺捷BJT嚣俘隔开了CMOS电路的主体与负载,使得不同电路中负载的状况变差都是相同的,这样就简化了通信和信感处理用数字逻辑部{牛和电路的设计任务,提毫了工作效寨。 5结论 交换阏络是数字程控交换橇翡关键缝成部分之一,其髋能壹羧影豌着稷控交换机的技术指标和通话质墩。随着计算机技术、超大规模集成电路投本、微激子技本鞍半导体存德按零懿进~步发震,震瑟黪麦透静BiCMOS工艺制作的器件用于程控交换机交换网络的实现将成为现实,这将使通信成璧褥到可靠的保证,同时将会有越来越多鲍裹毅暹售技术窝电子元器侈_暾用于交换网络的实现中。目前,已有专用集成电路芯片朋于程羧交换机按续(典型的如用户电路芯片)。面利用BiCMOs工艺制作稷控交换机内部的交换弼络元器件,使之集成记并应孺子电信工稷实践中,关于这一方面的研究和腹用,将是我们今后继续进行的研究方向之一。 参考文献 [1]叶敏.糕控数字交换与交换网[M].北京:北京邮电学院出版技,1993。 (2]躲正友,杨为理.程控数字交换机硬件软件及应用[M].北京:清华大学出舨社,1995。 【3]成立,陈照章,董索玲,等.一种低压耗快闪式静态随机读写存储器[J].微电子学。2003■ 科技博览l25

小白鼠走迷宫

《小鼠走迷宫》实验报告 生技基地:孟祥东 0121121202 殷振琦 生物技术:李静新

小白鼠走迷宫 【摘要】本实验通过在人为设置的迷宫里,小白鼠不断感受复杂通道的结构,调整和改进自己的行为。随着训练次数的增加,条件反射逐渐建立,以至在大脑皮层形成记忆。通过记录动物搜寻食物的时间长短可以对此加以评价。 【关键词】小白鼠迷宫记忆 前言:《实验动物学》最近10年,遗传科学家对两种动物建立了一系列遗传工程的技术,可以改变(去掉或加上)其体内基因的组成,这两种动物是老鼠和果蝇。在哺乳类动物中,老鼠可谓具有得天独厚的优势。昆虫类的果蝇行为简单,脑也较小,不如哺乳类的老鼠脑较大。此外,老鼠也更接近人类,通过老鼠的实验可以间接地了解人脑的功能。学习和记忆是神经系统高级中枢的重要机能之一。学习是神经系统不断接受环境刺激而获得的行为习惯和经验;获得的行为习惯和经验维持一定时间的能力就是记忆。动物的学习和记忆能力对其生存具有重要意义。本次实验,我们通过观察,分析小白鼠学习和记忆过程,理解大脑在动物行为机制建立中的作用;通过实验,了解数据统计分析在科学研究中的重要作用。 1.材料与方法 1.1材料 小白鼠、纸板(做迷宫)、食物、秒表 1.2方法 1.2.1 饥饿处理的小白鼠1只,放置在迷宫入口,记录其找到食物所需时间。5分钟后, 重复上述步骤,同样的间隔时间对其进行相同实验,每只小白鼠共计进行6次实 验。 1.2.2 对另一只进行饥饿处理的小鼠进行相同实验,记录每只小白鼠找到食物所需时 间。 1.2.3 绘制图表,进行数据分析。 2.结果 2.2曲线图

注:纵坐标表示所用时间(单位:秒),横坐标表示实验次数,系列一表示小鼠B,系列二表示小鼠A 2.3分析 2.3.1 随着小白鼠学习和记忆过程的进行,小白鼠找到食物的时间越来越短; 2.3.2 气温对小白鼠的活动能力有较大影响,低温使小白鼠活动能力降低; 3、讨论 德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,遗忘在学习之后立即开始,而且遗忘的进程并不是均匀的。最初遗忘速度很快,以后逐渐缓慢。他认为"保持和遗忘是时间的函数",并根据他的实验结果绘成描述遗忘进程的曲线,即著名的艾宾浩斯记忆遗忘曲线。 人的大脑是一个记忆的宝库,人脑经历过的事物,思考过的问题,体验过的情感和情绪,练习过的动作,都可以成为人们记忆的内容。例如英文的学习中单词、短语和句子,甚至文章的内容都是通过记忆完成的。从"记"到"忆"是有个过程的,这其中包括了识记、保持、再认和回忆。有很多人在学习英语的过程中,只注重了学习当时的记忆效果,孰不知,要想做好学习的记忆工作,是要下一番工夫的,单纯的注重当时的记忆效果,而忽视了后期的保持和再认同样是达不到良好的效果的。 在信息的处理上, 记忆是对输入信息的编 码、贮存和提取的过程, 从信息处理的角度上, 英文的第一次学习和背 诵只是一个输入编码的 过程。人的记忆的能力

迷宫问题的C++算法实现

#ifndef MMIGONG_H #define MMIGONG_H #define MAX_SIZE 100 #include using namespace std; struct Node { int x; int y; int di; }; class Stack { private: int rrow; int ccolm; int top; int count; int minlenght; Node stack[MAX_SIZE]; Node sstack[MAX_SIZE]; public: Stack(); //初始化 //int **InsortMiGong(); //输入迷宫(即一个二维数组) void FindPath(int ab[][10]); //找出迷宫的出路 }; Stack::Stack() //初始化 { rrow=0; ccolm=0; top=-1; count=1; minlenght=MAX_SIZE; } /*int ** Stack::InsortMiGong() //输入迷宫(即一个二维数组) { int row=1,colm=1; while(true) { cout<<"请输入迷宫的行数和列数:";

cin>>row>>colm; if(row<=0||colm<=0) { cout<<"输入错误!请重新输入:"<>mg[i][j]; return mg; }*/ void Stack::FindPath(int ab[][10]) //找出迷宫的出路 { int a,b,di,find,k; top++;stack[top].x=1; stack[top].y=1; stack[top].di=-1; ab[1][1]=-1; while(top>-1) { a=stack[top].x; b=stack[top].y; di=stack[top].di; if(a==8&&b==8) { cout<

相关文档
最新文档