电脑鼠的原理分析及算法研究
关于电脑鼠的论文(有框图)
电脑鼠学习心得和遇到的问题及解决方法彭旺 16012126学习心得:在大一的时候就经常看见学长们整天在宿舍弄一个小车,后来才知道那就是视觉知道机器人。
于是到了大二选择选修课的时候就果断选了这个课。
本来我选的是机器人那个,上了才知道又要做实验还要参加比赛还要交押金甚是麻烦,顿时欲哭无泪,硬着头皮去上,因为分组问题被弄到了电脑鼠这边来,觉得比机器人那边要好玩得多。
第一次去上课就要交押金,并且那个电脑鼠还好贵的,整整两千多啊。
那是最开始就给我们讲了电脑鼠处理器运行的相关函数,后面几节课分别讲了电脑鼠在迷宫中搜索以及最后冲刺的相关程序。
好吧,我承认当时确实有点无聊。
直到后来,老师终于给了我们完整的程序,于是兴奋的我们毫不犹豫的把程序“捎”了进去,然后把电脑鼠放到迷宫中,结果发现它除了撞墙就是转圈。
探索调试:我们小组分工合作,一起研发。
电脑鼠走迷宫可以采用全迷宫探索策略,即将迷宫的所有单元均搜索一次,从中找出最佳的行走路径。
或者可以采用部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径。
我们的电脑鼠要实现的功能有如下几个方面:路口检测:由安装在前、右、左的三个红外线发射对管SIR563ST3F 和IRM8601S实现, 发射信号为38KHz, 实现远红外测距功能, 探测前、右、左有无障碍。
行走控制:由左、右两个红外线发射对管SIR563ST3F和IRM8601S为实现, 发射信号为30.5KHz, 实现近红外测距功能, 保持电脑鼠在中轴线上行走, 避免撞墙。
路程控制:安装在左右轮内侧的红外收发对管IR204和PD204一6B, 对黑白码盘计数, 按照迷宫单元的长度为单位进行路程计数, 以记录老鼠在迷宫中的位置同时还可以准确地实现转弯。
微控制器和其它子系统共同构成一个闭环的反馈控制系统, 通过对三种传感器信号的检测行走信号、路口信号和黑白码盘计数信号, 由微控制器进行运算, 运算结果交给电机执行, 由此实现电脑鼠的智能穿越迷宫。
人工智能电脑鼠搜迷宫实验
北京科技大学实验报告学院:自动化学院专业:智能科学学技术班级:姓名:学号:实验日期: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连接电脑鼠和电脑,打开传感器查询模式,用手逐渐靠近每一个传感器,如果相应的传感器值由小变大,那么此传感器工作正常。
迷宫电脑鼠的设计报告
2、管脚定义如下:
3、通过L9110驱动芯片IA、IB输入的逻辑值的组合,不同高低电平的输入输出,控制电机正转、反转、停转。L9110的逻辑关系表如下表所示:
L9110逻辑关系
IA
IB
OA
OB
H
L
H
L
正转
L
H
L
H
反转
L
L
L
L
停止
H
H
L
L
停止
3.3
3.3.1
电脑鼠正常行走包括直走、左转弯、右转弯和向后转弯四个功能函数。这四个功能函数中要用到T0、T1定时/计数器;所以函数中首先初始化T0、T1。T0初始化:打开总开关EA=1;开T0中断ET0=1;设定T0模式2,8位自动重装值定时计数器TMOD&=0xf6; TMOD|=0x06;设定T0计数初值,定义中断脉冲数TH0=256-ICP;TL0=256-ICP;//启动T0计数TR0=1;T1初始化也是一样的。
传感器组是由38KHz的红外一体化接收头和红外发射管构成的障碍感测器。为了能够让传感器组正常工作,红外发射管需要一个38KHz的方波来驱动,使红外发射管发射出调制频率与接收头接收频率匹配的红外光。如图所示,是产生38KHz方波的载波发生器电路。
(4)传感器的调试
(主要写每组传感器如何进行调试。)
1、左右两边的传感器检测是否有墙壁。
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
//红外地址接口定义(74HC138译码器
迷宫电脑小鼠实验报告
一、实验背景迷宫实验是心理学和神经科学领域常用的实验方法,用于研究动物的学习和记忆能力。
近年来,随着计算机技术的不断发展,迷宫实验也逐步实现了电脑化。
本实验旨在利用迷宫电脑小鼠实验系统,研究小鼠在迷宫中的行为特征,以及其学习记忆能力。
二、实验目的1. 了解迷宫电脑小鼠实验系统的操作方法和原理。
2. 观察并记录小鼠在迷宫中的行为表现。
3. 分析小鼠的学习记忆能力,探讨影响因素。
三、实验材料1. 迷宫电脑小鼠实验系统:包括迷宫、电脑控制台、摄像头等。
2. 实验小鼠:体重20-25克,性别不限。
四、实验方法1. 迷宫电脑小鼠实验系统操作:将迷宫电脑小鼠实验系统连接到电脑,启动软件,设置实验参数,如迷宫形状、实验次数、时间限制等。
2. 实验步骤:(1)将实验小鼠放入迷宫入口,记录其进入迷宫的时间。
(2)观察并记录小鼠在迷宫中的行为表现,如逃避、探索、犹豫等。
(3)记录小鼠到达迷宫出口的时间,并计算其速度。
(4)重复实验多次,观察小鼠的学习记忆能力。
五、实验结果与分析1. 实验结果(1)实验小鼠在迷宫中的行为表现:在实验初期,小鼠表现出逃避、犹豫等行为,随着实验次数的增加,小鼠逐渐适应迷宫环境,表现出更快的速度和更准确的方向判断。
(2)实验小鼠的学习记忆能力:经过多次实验,小鼠的学习记忆能力得到显著提高。
在后期实验中,小鼠能够快速找到迷宫出口,且速度逐渐提高。
2. 分析(1)迷宫电脑小鼠实验系统能够有效地模拟真实迷宫环境,为研究小鼠的学习记忆能力提供可靠平台。
(2)实验结果表明,小鼠在迷宫中的行为表现与其学习记忆能力密切相关。
逃避、犹豫等行为可能表明小鼠在适应迷宫环境过程中存在困难,而随着实验次数的增加,小鼠逐渐适应迷宫,表现出更好的学习记忆能力。
(3)实验结果还表明,迷宫电脑小鼠实验系统具有良好的重复性和可靠性,可用于研究小鼠的学习记忆能力。
六、结论本实验通过迷宫电脑小鼠实验系统,研究了小鼠在迷宫中的行为表现和学习记忆能力。
电脑鼠算法
算法简介
08计算机(1)班 龚若皓
软件算法所需要实现的功能
最基本的功能: 最基本的功能: 1.正确记录迷宫的信息 1.正确记录迷宫的信息 2.正录小车的状态(当前的方向,四周的挡板情况等) 正确记录小车的状态 3.确保小车的移动, 3.确保小车的移动,停止和转弯的可控性 确保小车的移动
需要实现的核心功能 1.实现基本的从起点到终点的寻路过程。 1.实现基本的从起点到终点的寻路过程。 实现基本的从起点到终点的寻路过程 2.实现等高表的生成算法。 2.实现等高表的生成算法。 实现等高表的生成算法 3.实现从当前的位置通过最有效的路径移动到指定的任意位置。 3.实现从当前的位置通过最有效的路径移动到指定的任意位置。 实现从当前的位置通过最有效的路径移动到指定的任意位置 (通过建立等高表来实现) 通过建立等高表来实现) 4.根据已经得到的迷宫地图信息实现起点到终点的最短路径分析。 4.根据已经得到的迷宫地图信息实现起点到终点的最短路径分析。 根据已经得到的迷宫地图信息实现起点到终点的最短路径分析 (通过建立等高表来实现) 通过建立等高表来实现)
寻路算法简介
正确使用堆栈, 2. 正确使用堆栈,整个选路算法的运行过程中会大量地使用堆栈 的入栈和出栈操作,如果对入栈和出栈的条件判断不正确, 的入栈和出栈操作,如果对入栈和出栈的条件判断不正确,有 可能造成数据紊乱,整个算法就崩溃了, 可能造成数据紊乱,整个算法就崩溃了,最好使用调试版上的 数码管实时显示堆栈栈顶的数据,发现有错误就在程序中寻找 数码管实时显示堆栈栈顶的数据, 错误,直到整个寻路算法稳定为止。 错误,直到整个寻路算法稳定为止。
数据的存储方式
绝对方向和相对方向的变换: 绝对方向和相对方向的变换: 假设数值0 假设数值0,1,2,3分别表示绝对方向的上,右,下,左,那 分别表示绝对方向的上, 么就用0 么就用0,1,2,3中的其中一个数值来表示当前小车车头朝向的方 向,当然这个数值是动态变化的,每转弯一次该数值应当变化一 当然这个数值是动态变化的, 次,例如当前方向的数值为3(左方),那么经过一次右转操作后 例如当前方向的数值为3 左方),那么经过一次右转操作后 ), 该数值就应该变化为0 该数值就应该变化为0了(上方)。其实转化的规则相当简单,只 上方)。其实转化的规则相当简单, )。其实转化的规则相当简单 要右转方向数值就加1 只要左转方向数值就加3 要右转方向数值就加1,只要左转方向数值就加3,只要后转方向数 值就加2 当然可能有越界的情况, 值就加2,当然可能有越界的情况,所以得出的方向数值再进行模 运算对4 运算对4取余数得出的结果就是转弯后小车的车头所面向的方向的 数值了。 数值了。
走迷宫电脑鼠的算法分析与研究
走迷宫电脑鼠的算法分析与研究收稿日期:2010-03-30;修订日期:2010-11-08作者简介:夏炎(1984-),男,南京人,硕士研究生,研究方向:基于ARM 的嵌入式系统的设计与开发。
夏炎(南京工业大学电子与信息工程学院,南京210013)摘要:电脑鼠的灵活性和智能程度不但取决于硬件的结构和性能,还取决于软件设计的好坏,越是智能的电脑鼠,其软件设计就越不简单。
对走迷宫电脑鼠的算法做了总结和比较,并对各算法的优缺点进行了阐述。
关键词:电脑鼠;迷宫;算法中图分类号:TP18文献标识码:A 文章编号:1008-8725(2011)01-0194-03Analyzing and Researching on Maze-runningMicromouse AlgorithmXIA Yan(School of Electronics and Information Engineering,Nanjing University of Technology,Nanjing 210013,China )Abstract:The flexibility and intelligence degree of Micromouse depended on not only structure and properties of hardware,but also whether software design was good or bad.The more intelligent the Micromouse was,the more difficult software design was.This paper concluded and compared the algorithms of maze -running micromouse,and discribed advantages and disadvantages of different algorithms.Key words:Micromouse;maze;algorithm0引言人类在科技的发展史上,一直在尝试着想要创造出一个具有肢体、感官、脑力等综合一体的智能机器人,而电脑鼠就是一个能够用来诠释肢体、感官及脑力综合工作的基本实例,这也是当初电脑鼠被发明的理由,希望能够借助电脑鼠的创作来进而研究与发明更加复杂的机械。
人工智能电脑鼠搜迷宫实验
北京科技大学实验报告学院:自动化专业:智能科学与技术班级:智能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.算法设计在本次实验中,使用的是机械鼠优先向左移动的,即深度优先算法。
基于ARM的电脑鼠走迷宫的研究
基于ARM的电脑鼠走迷宫的研究摘要:目标是设计制作集传感器与控制于一体的,能够自动穿越迷宫的电脑鼠。
该电脑鼠结合了模拟电路、数字电路,自动控制理论等相关专业知识。
提出将模块化方法应用于系统软、硬件的设计,不仅提高了软硬件开发效率,而且提高了软硬件在实验及检修过程中的可维护性、可升级性。
这里设计的电脑鼠能在迷宫中搜索路径,走出迷宫,并能实现路径优化。
关键词:电脑鼠;嵌入式;ARM;迷宫路径优化0 引言电脑鼠(Micromouse)是智能机电鼠的简称,是一个由微处理器控制的集探测、分析、行走功能于一体,能够自动搜索最佳路径到达目的地的微型机器人。
实际上电脑鼠就是一个电力驱动小车,而这个电动小车是由一个或多个微控制器来控制,通过传感器和其他各功能器件的配合,具备一定的智能。
同时,电脑鼠需拥有探测障碍物、行走、转弯、加减速和制动等基本功能。
本文是以IEEE 国际电脑鼠竞赛为背景,以美国Luminary Micro 公司生产的ARM CortexM3 内核的ARM 处理器LM3S615 为主控制器,控制和检测红外传感器;微控制器根据检测到的传感信号,控制电机驱动电路,调整行走,按照载入搜索算法进行迷宫的探测,寻找最短路径,最终实现从起点到终点的冲刺。
1 电脑鼠系统整体设计方案如图1 所示,整个系统可以大致分为以下主要部分:电源模块,控制模块,执行机构模块,传感器模块,机身模块。
可以做形象的比喻:电源模块是电脑鼠的葡萄糖,控制模块是电脑鼠的大脑,传感器模块是电脑鼠的眼睛,机身模块是电脑鼠的躯干,执行机构是电脑鼠的腿;各模块之间相互配合使电脑鼠正常工作并寻找到终点。
2 电脑鼠硬件研究与实现2.1 电脑鼠硬件设计原理本文研究的电脑鼠是一。
电脑鼠算法
左上区域
左上区域 左上区域 左上区域 右上区域 右上区域 右上区域 右上区域
上方 0
下方 2 左方 3 右方 1 上方 0 下方 2 左方 3 右方 1
右手法则
中左法则 左手法则 中右法则 左手法则 中右法则 中左法则 右手法则
4)回溯
• 当电脑鼠的四个方向都为不 可行(有墙或已走过)时,
• 栈顶元素出栈 • 电脑鼠返回栈顶位置
• 演示栈
1) 栈思考题
• a)若栈的输入序列是a、b、c、d,则可能的输出序列 有哪几种类?
• b)判断一个输入字符串是否为中心对称。例如xyx、 xyyx都是中心对称。 • c)假设一个算术表达式中包含括号、方括号和花括号3 种类型的括号,编写一个算法来判别表达式中的括号是 否配对,以字符“\0”作为算术表达式的结束符。
• 迷宫二维数组,每个结点定义为FFFF表示上右下左都有 墙。
• 迷宫鼠方向:电脑鼠放入方向,一般默认为向上(1000)
• 栈,加入起点坐标
• 下面以起点为(0,0),终点为(7,7)为例讲解
3)电脑鼠寻路
• While(当前结点不是终点){
• 记录电脑鼠所在点迷宫信 息,电脑鼠方向 • 按向心法则寻路 • If(没有可行路径) 回溯
传感 器
软件 设计
关键 技术
机械 结构 处理 器
驱动 装置
二、电脑鼠迷宫竞赛
目的
电脑鼠走迷宫竞赛的目的是制作一个微型机器人, 它能在最短的时间内穿越迷宫到达终点。参赛的机器人 称为“电脑鼠”,将电脑鼠放入迷宫并启动操作的人称 为“操作员”。
迷宫的规范
1) 迷宫由16×16个﹑18cm×18cm大小的正方形单 元所组成。 2)迷宫的起始单元可选设在迷宫四个角落之中的 任何一个。起始单元必须三面有隔墙,只留一个出口。
电脑鼠的原理
电脑鼠的原理
电脑鼠是一种电脑外设,用于控制计算机的光标移动。
它包括一个球封装在外壳内部,并且有几个按键用于执行特定的功能。
电脑鼠的原理基于光学或机械技术。
对于光学鼠标,它使用一个红色或红外线LED(发光二极管)来照亮工作表面,并通
过一个传感器来捕捉鼠标在表面上的运动。
传感器会根据鼠标相对于工作表面的运动来生成X轴和Y轴的移动数据,然后
将这些数据传送到计算机,计算机再根据这些数据来移动光标。
对于机械鼠标,它包括一个球和一个轴承。
当鼠标在工作表面上移动时,球接触到工作表面并旋转。
传感器会检测球的旋转并将这些旋转运动转换成移动数据,然后将这些数据传送到计算机,计算机再根据这些数据来移动光标。
无论是光学鼠标还是机械鼠标,它们都依赖于鼠标底部的滑动垫来提供光滑的表面以便于移动。
滑动垫通常由一层特殊材料制成,可以使鼠标在表面上滑动自如。
除了控制光标的移动,电脑鼠还可以通过点击鼠标上的按键执行特定的功能,比如打开应用程序、选择文件、拖动文件等。
这些鼠标按键的信号也会传送到计算机,根据程序设定来执行相应的操作。
总的来说,电脑鼠通过捕捉和传送特定的移动数据,以及控制鼠标上的按键信号,来实现对计算机光标的控制和各种操作的执行。
电脑鼠
电脑鼠百科名片本词条主要介绍电脑鼠所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称,它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设定的目的地。
国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛,自举办以来参加国踊跃,为此许多大学还开设了“电脑鼠原理和制作”选修课程。
电脑鼠可谓是一种具有人工智能的小型机器人,依照新制的比赛规则,当电脑鼠放入起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷宫中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。
电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。
人类在科技的发展史上,一直在尝试着想要创造出一个具有肢体、感官、脑力等综合一体的智能机器人,而电脑鼠就是一个很能够用来诠释肢体、感官及脑力综合工作的基本实例,这也是当初电脑鼠被发明的理由,希望能够借助电脑鼠的创作来进而研究与发明更加复杂的机械。
电脑鼠走迷宫一只电脑鼠是具有机电知识整合的基本架构,本身就像是一个智能的机器人。
要在指定的迷宫中比赛,就像是一个人置身于竞赛中,必须要靠本身的判断力、敏捷动作及正确探查周边环境,来赢得胜利。
一般来说,一只电脑鼠需具备有下列三件基本能力:(1) 拥有稳定且快速的行走能力;(2) 能正确判断能力;(3) 记忆路径的能力。
行走能力指的就是电机,当电机收到讯号时,系统必须判断是否能同步行走,遇到转角时,转弯的角度是否得当,一个好的电机驱动程序,可以减少行走时所需要做的校正时间。
判断能力的关键就在于传感器,它的地位如同人类的双眼,一个好的传感器驱动程序,可避免一些不必要的错误动作,如撞壁、行走路线的偏移等等。
而记忆能力就像是大脑,它的功能并没有因为看不见而遭到忽视,相反地,它的地位在整场比赛中是最重要的,他必须把所走过的路都能一一记下来,并将其资料送给系统,让系统整理出最佳路径以避开不必要的路段。
电脑鼠控制系统工作原理及设计方案
电脑鼠控制系统工作原理及设计方案1电脑鼠工作原理电脑鼠周围安装六组红外传感器,分别感知左方、左前方、前方、右前方、右方,发射端发射一定频率的红外线,接收端通过六个方向的反射波来判断是否有障碍物,实时地储存单元格的资料,通过六组红外传感器反馈的迷宫信息,控制电脑鼠完成避障、转弯、加速等动作,运用智能算法对迷宫的部分单元格或全部单元格进行遍历,并将迷宫的信息以有效的数据结构存储,微控制器根据这些记录信息运用迷宫高效算法找到一条最优化路径,从而实现从起点到终点的最大化冲刺。
2 硬件电路设计为完成迷宫探测和冲刺任务,电脑鼠需具备以下各功能模块:ARM微处理器作为控制核心协调各功能模块正常工作;电机及驱动模块实时控制电机启动、制动;红外检测模块负责红外线探测感知;电源为整个系统供电稳定电压,陀螺仪及指南针模块确定电脑鼠方位,根据走过的距离,从而解析出所在坐标。
硬件组成如图1所示。
2.1 电源模块电源调节器件通常使用线性稳压器件(如LM7805),具有输出电压可调、稳压精度高的优点,但是其线性调整工作方式在工作有较大的热损耗,导致电源利用率不高、满足不了便携低功耗需求。
开关电源调节器,不同于线性稳压器件,以完全导通或关断的方式工作,通过控制开关管的导通与截止时间,有效的减少工作中的热损耗,提高了电源利用率。
本设计中电源模块为系统提供三种不同的电压,12V电源用于驱动电机,使用开关式电源LM2596将12V直流电压降到5V给红外模块、人机交互模块供电,再通过AMS1117将5V降到3.3V,供ARM处理器及其他模块使用。
2.2 微处理器模块微处理器是整个控制系统的核心,它完成从红外检测模块获取路径信息,采集瞬时速度,进行数据处理,控制算法运算,输出实时控制量等功能。
为了保证系统的实用性和易扩展性,本控制系统采用意法半导体推出的增强型系列STFM32F103RCT6,STM32F103xx增强型系列使用高性能的ARM Correx-M3 32位的RISC内核,工作频率为72MHz,内置高。
电脑鼠原理
电脑鼠原理
电脑鼠,作为电脑外设设备的一种,是用来控制电脑光标移动和操作的工具。
它的原理是通过传感器感知手指在其表面的移动,然后将这种移动转化为电脑屏幕上光标的移动,从而实现对电脑的控制。
下面将详细介绍电脑鼠的原理和工作原理。
首先,电脑鼠的原理是基于光学或机械的。
光学鼠标是利用LED发出光线,
然后通过透镜将光线聚焦到表面上,当鼠标移动时,表面的纹理会导致光线的反射发生变化,然后传感器会检测到这种变化,并将其转化为电脑屏幕上光标的移动。
而机械鼠标则是利用滚轮和球来感知鼠标的移动,当鼠标移动时,球会转动,滚轮会感知到球的转动并将其转化为电脑屏幕上光标的移动。
其次,电脑鼠的工作原理是通过传感器来实现的。
传感器是电脑鼠的核心部件,它可以感知手指在鼠标表面的移动,并将这种移动转化为电脑屏幕上光标的移动。
传感器的种类有很多,包括光电传感器、激光传感器等,它们都可以实现对鼠标移动的感知和转化。
另外,电脑鼠的原理还涉及到对电脑的控制。
通过电脑鼠,用户可以实现对电
脑的精准控制,包括光标的移动、文件的操作、游戏的操作等。
这是因为电脑鼠可以将手指在其表面的移动准确地转化为电脑屏幕上光标的移动,从而实现对电脑的精准控制。
总的来说,电脑鼠的原理是基于光学或机械的,通过传感器感知手指在鼠标表
面的移动,并将这种移动转化为电脑屏幕上光标的移动,从而实现对电脑的控制。
它的工作原理是通过传感器来实现的,传感器可以感知鼠标的移动并将其转化为电脑屏幕上光标的移动。
通过电脑鼠,用户可以实现对电脑的精准控制,包括光标的移动、文件的操作、游戏的操作等。
这就是电脑鼠的原理和工作原理。
第五章电脑鼠控制策略与算法研究
第五章蚁群算法在迷宫电脑鼠中的应用5.1 引言许多智能问题,如下棋游戏、战略决策、机器人路径规划等都可以转化为寻找迷宫最优路径问题。
传统解决迷宫最优路径问题的算法通常会随着迷宫规模的增大、复杂性的增加,算法的空间和时间复杂性呈指数增加,从而很难用于求解大规模的问题实例。
从蚁群觅食过程中能够发现蚁巢与食物源之间的最短路径受到启发,并利用该过程与著名的旅行商问题( Traveling Salesman Problem, TSP)之间的相似性,意大利学者M. Dorigo等人提出了一种新型的模拟进化算法---蚁群算法[1,2]。
对TSP问题的求解结果显示,蚁群算法具有极强的鲁棒性和发现较好解的能力,但同时也存在一些缺陷,如收敛速度慢、易出现停滞现象等[2]。
目前,蚁群算法已在组合优化、计算机网络路由、连续函数优化、机器人路径规划、数据挖掘、电网优化等领域取得了突出的成就[2-5],实践证明该算法是一种解决优化问题特别是组合优化问题的有力工具。
5.2 迷宫的基本信息及常用迷宫搜寻策略5.2.1 迷宫的基本信息从比赛规则中得知,迷宫是由一个个18cm×18cm大小的方格组成的,迷宫大小为16×16,即行列各有16个方格。
若将三维迷宫转化成二维图形,迷宫可用图5.1表示.图 5.1 迷宫行列与坐标对应关系5.2.2 常用搜寻法则和策略5.2.2.1迷宫搜寻法则设定搜寻法则和策略是为了电脑鼠可以以最快的方式找到终点,到达目标后随即从所走过的路径中找出一条可行路径返回起点,然后再做冲刺,直达目的;法则的设定很重要,它可以使电脑鼠不多走冤枉路,可节省很多时间而制胜。
每一只电脑鼠到达一方格时它最多有三个方向可前进,最少则因为三面都有墙,没有可以前进的方向;当遇到二个以上的可选择方向时,由于不同场合需要而有不同优先搜寻的方向顺序,常见的法则有以下几种:①右手法则:遇叉路时,以右边为优先前进方向,然后直线方向,左边方向;②左手法则:遇叉路时,以左边为优先前进方向,然后直线方向,右边方向;③中左法则:与右手法则相似,不过方向选择顺序改为直线优先,然后左边,右边;④中右法则:遇叉路时,以直线为优先前进方向,然后右边方向,左边方向;⑤求心法则:遇叉路时,以距中心最短的那个方向优先,然后依次选择。
IEEE电脑鼠调试(选作实验)
电脑鼠连续过弯技术
4、实验原理
内外轮的速度变化
电脑鼠连续过弯技术
对比三种转弯方式
原地转
一个转,一个不转
一个快转,一个慢转
电脑鼠的高速运行 三、电脑鼠的高速运行 1、实验目的 在保证运行稳定性的前提下提高运行的极限速度,并修正高速运 行时的姿势。
3、实验重点 在高速中保持电机丌失步以及电脑鼠运行姿势
电脑鼠的高速运行
测试电脑鼠的最高速度和最大加速度
在高速运动时如何修正以下轨迹?
电脑鼠搜索迷宫的策略改进 四、电脑鼠搜索迷宫的策略改进 1、实验目的 提高电脑鼠在比赛中的效率。
2、实验内容 改进已有的搜索法则及冲刺策略提高比赛成绩。
3、实验重点 对比几种法则和策略,选取最优
电脑鼠搜索迷宫的策略改进
电池电压检测
实验原理
VCC = 3 * VADC + VD VCC = 3 * VADC +0.35
电脑鼠连续过弯技术 二、电脑鼠连续过弯技术 1、实验目的 掌握电脑鼠连续过弯技术 2、实验内容 改进电脑鼠的转弯方式,由静止转弯变为连续转弯 并提高转弯的稳定性。 3、实验重点 如何控制转弯前后电脑鼠的所处位置
电脑鼠原理与应用
选作实验
电池电压检测
电脑鼠连续过弯技术 电脑鼠的高速运行
电脑鼠搜索迷宫的策略改进
电池电压检测
一、电池电压检测 1、实验目的 掌握LM3S615上A/D的使用方法。 2、实验内容 使用A/D模块检测电池电压,并用7289 Ex Board模 块显示。 3、实验重点 LM3S615上A/D的使用
完全搜索
时间长
丌完全搜索
?
时间短 路径可能非最短
路径最短
电脑鼠搜索迷宫的策略改进 完全搜索
电脑鼠电路及搜索算法
电脑鼠电路及搜索算法 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT本科毕业设计设计题目:电脑鼠电路的改进及搜索算法的研究学生姓名:陈昱学号:专业:应用物理学指导教师:杨济民学院:物理与电子科学学院2010年 5月 5日毕业设计内容介绍目录中文摘要 (4)英文摘要 (4)一、引言 (5)二、硬件改进 (7)(一)电源电路的改进 (7)1、原电路 (7)(1)电机驱动芯片供电 (7)(2)系统供电 (7)(3)传感器供电 (7)2、改进方案 (8)(二)传感器电路的改进 (10)1、工作原理 (10)2、原电路 (10)3、改进方案 (11)三、底层算法的研究 (12)(一)传感器驱动 (12)(二)电机控制 (14)(三)姿态纠正 (17)(四)信息采集 (19)(五)连续转弯 (21)四、迷宫算法的研究 (21)(一)传统算法 (21)(二)本文的迷宫算法 (22)五、算法的实现与调试 (24)(一)基于 uC/OS-II 多进程的软件设计 (24)(二)软件调试 (34)六、总结 (34)七、致谢 (35)参考文献 (35)电脑鼠电路的改进及搜索算法的研究陈昱(山东师范大学物理与电子科学学院济南)摘要: 简要介绍了电脑鼠走迷宫竞赛。
分析了MicroMouse615中电源系统和红外发射系统的不足,提出了改进方案,并给出了电路图。
给出了电机控制算法、用于姿态纠正的数字PID算法、传感器驱动算法、连续转弯算法、迷宫信息采集算法以及迷宫搜索与最短路径算法等算法模块。
用基于RTOS的多进程架构实现了上述各算法模块,并给出了各个算法的流程图。
用无线模块与上位机进行通讯实现了算法的实时跟踪与可视化。
关键词:数字PID 迷宫算法红外测距电机控制 RTOS中图分类号:Micromouse circuit improvements and search algorithmChen yu(Shandong Normal University Colleges of Physics & Electronics, Jinan)Abstract : Introduced the Micromouse maze the power system and infrared emission system of MicroMouse615 , proposed a improvement program, and gived the circuit diagram. Motor control algorithm was given, together with the Digital PID algorithm to correct posture, sensor-driven algorithm, continuous turning algorithms, maze of information acquisition algorithm and a maze search algorithm with the shortest path algorithm framework for multi-process mechanism was used to achieve the above algorithm module, and the flow chart of each algorithm was given .Real-time tracking and visualization of algorithm were achieved through communicating with the host computer algorithm by wireless module .Key words: Digital PID; Maze algorithm; Infrared range; Motor Control; RTOS CLASSNO:一、引言电脑鼠英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置(微型机器人)。
电脑鼠
一种电脑鼠走迷宫的算法电脑鼠的英文名称为Micromouse,实际上是一个由微处理器控制的,集感知、判断、行走功能于一体,能够自动寻找最佳路径到达目的地的小型机器人。
它可以在“迷宫”中自动感知并记忆迷宫地图,通过一定的算法,寻找一条最佳路径,以最快的速度到达目的地。
1997年,在美国举办了第一届电脑鼠竞赛,随后,电脑鼠竞赛传入欧洲,首届欧洲电脑鼠竞赛于1980年在伦敦举办,之后英国的电脑鼠比赛便由电子工程协会(IEE)主办。
1980年11月日本电脑鼠协会(JMA)在东京举办了第一届竞赛,此后,日本每年都要举办一届电脑鼠竞赛。
我国台湾也于1986年10月举办了首届电脑鼠比赛。
现在国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛,各国选手报名踊跃,主要是大学生,为此部分大学还开设了“电脑鼠原理和制作”选修课程。
由于电脑鼠要由参赛选手自己设计制作,不仅要求选手具有嵌入式系统应用﹑传感器﹑控制技术等多方面的知识、经验和实践能力,还要求具有编写寻找最佳路径算法的能力。
由于迷宫路径设置是随机的,因而竞赛难度较大,极富挑战性。
这对培养和提高学生的创新精神和实践能力,有着深远的意义。
2007年5月—8月将举办由我国部分地区(上海及长三角地区)参加的首届电脑鼠邀请赛。
1电脑鼠走迷宫的规则有关电脑鼠国际比赛的详细规则,可参阅国际电工和电子工程学会(IEEE)的官方网站:/sc2006/2006MicromouseRules.pdf。
迷宫的规格迷宫由256个方块(单元)组成,每个方块的大小为18厘米见方,排成16行×16列。
迷宫的隔墙板沿方块的四周布设,形成迷宫通道。
隔墙板高5厘米﹑厚1.2厘米,因此迷宫通道的实际宽度是16.8厘米。
隔墙板的两个侧面是白色的,顶部是红色的。
迷宫的地板由木质材料做成,涂上没有反光的黑漆。
隔墙板的侧面和顶部对红外线有反射特性,而地板则对红外线有吸收特性。
嵌入式电脑鼠运行算法的研究
h
喜v.
Ⅵ
霉4转弯状态分析围
图5进度分析图
大致地分析完成之后,进行相关的计
毕竟保证转弯成功是首要的。这里假设前进的速度为IOolIlr毗,这是一个1F常普通且容易返到的速度。计
算需要在近似的情况下完成(关于计算的合理性会在下面论证),假设整个转弯过程按照c阶段的速度, 则中心在转弯时共走过sI=2xPlxR忙141 3mm.在100mrn居的速度下,需要约I 4s。如果我的电瞄鼠宽 80mm,mⅡ外侧轮子走过的路程为s2=2xPIx(R+wv4蝴04 lmm,要在l 4s内完成这段路程,则速度为 1444mmB同理。可得内侧轮子走过约78 5mm的距离,速度为55 6“蚰止。假如,加速度与减速度同为
oo
…一一+--+一十一”…一一一~+--+-.+一-++
I l ● l l oo 01 02 03 o●oS o‘07 o口09
J
I
o^oB
oC
oD
oE
or
除此之外,还可以用完伞定义的方法确定每个单元格,因为 迷宫只有256个单元格。这样,确定一个单元格只需按照序号查
图2迷宫描绘图
询。按这种方法进行标记时,也要采用绝对方向这一概念(方便序号的变换)。一种可行的定义方法如下: 定义起点编号为0。对每次的电脑鼠的前进方向的判断完成之后,更改编号。更改方法为向北则定义 为num+16(num为编号),向南为num.16,向东为num+1,向西为num.1。需要注意的是,下一单元格编号 的更新必须在本单元格的相关信息记录完成之后前往下一个单元格之前。墙壁信息的记录,使用一个字节 即可记录一个单元格的墙壁相关信息。记录值为:NORTH=1,EAST=2,SOUTH=4,wEST=8。这样 任何单元格的墙壁信息都在一个0一15的闭区间内取值。比如,起点的墙壁信息为14。 这样电脑鼠就能在迷宫中知道自己现在在哪,之前去过哪还有就是走过的地方是什么样子的,最后就 可将整个迷宫描绘出来。一个迷宫可能被描绘成如图2所示。
电脑鼠算法优化分析
电脑鼠算法优化分析作者:李彤来源:《河南科技》2017年第03期摘要:电脑鼠是由微处理器控制的集感知、判断、行走功能于一体的小型机器人,其可以在“迷宫”中自动感知并记忆迷宫地图,以最快的速度到达目的地。
基于此,针对电脑鼠算法进行优化分析。
关键词:电脑鼠算法;微处理器控制;路径选择法则;自动搜索中图分类号:TP242 文献标识码:A 文章编号:1003-5168(2017)02-0024-021电脑鼠算法概述电脑鼠走迷宫可采用全迷宫探索策略,即将迷宫所有单元均搜索一次,从中找出最佳行走路径。
这种策略需要有足够的时间或探测次数,但在IEEE竞赛规则中每场竞赛只有15min,因此是不可能的。
另一种方法是部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径,显然只能采用这种策略。
2迷宫信息的存储因为迷宫分为16×16=256个方格,所以很直观地可以想到用一个二维矩阵来存储一个迷宫的信息,矩阵中的每一个元素用于存储地图中一个方格的信息,矩阵每个元素可以定义成Byte 型,只用其中的4位就可以存储方格四面的挡板信息。
要获取某一个方格单个方向的挡板信息,只需做一个简单的运算看结果是否为0即可。
2.1数据的存储方式绝对方向和相对方向的变换:假设数值0、1、2、3分别表示绝对方向的上、右、下、左,那么就用0、1、2、3中的其中一个数值来表示当前小车车头朝向的方向,当然这个数值是动态变化的,其实转化的规则相当简单,右转方向数值加1,左转方向数值加3,后转方向数值加2,当然可能有越界的情况。
所以,得出的方向数值再进行模运算对4取余数得出的结果,就是转弯后小车的车头所面向的方向的数值。
通过矩阵可以找到当前的小车方向和转弯后的小车方向的对应关系,得出的相对方向和绝对方向的转换公式如下所示:转弯后的绝对方向=(转弯前的绝对方向+转弯数值)%4小车的车头方向一般是用一个全局变量来存储的,方便在转弯的函数中进行修改,避免C 语言中一些作用域的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电脑鼠的原理分析及算法研究摘要:本文阐述了电脑鼠的定义和意义,并对电脑鼠的工作原理及硬件、软件设备进行一定的分析,研究了一些传统和经典的算法。
关键词:电脑鼠,模块,算法,蚂蚁算法Analysis of the Principle and Study of Algorithm ofMicroMouseWang Huinan 04010515(Southeast University, Nanjing, 211189)Abstract:This paper describes the definition and significance of MicroMouse. And analyzing the work principle of MicroMouse’s hardware and software equipment. Studying a number of traditional and classical algorithms.Key words: MicroMouse; Module; Algorithms; Ant algorithm本学期,我选修了机电一体化——电脑鼠。
通过学习和查找资料,我对电脑鼠的运行原理有了一定的了解,并产生了一些新的想法。
1电脑鼠的基本知识1.1电脑鼠的定义所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称,它可以在“迷宫”中自动记忆和选择路径,寻找出口,最终达到所设定的目的地。
实际上电脑鼠就是一个电力驱动小车,而这个电动小车是由一个或多个为控制器来控制,通过传感器和其他各功能器件的配合,具备一定的智能。
同时,电脑鼠拥有探测障碍物、行走、转弯、加减速好制动等基本功能。
1.2电脑鼠的意义电脑鼠可谓是一种具有人工智能的小型机器人,结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。
人类在科技的发展史上,一直在尝试着想要创造出一个具有肢体、感官、脑力等综合一体的智能机器人,而电脑鼠就是一个很能够用来诠释肢体、感官及脑力综合工作的基本实例,这也是当初电脑鼠被发明的理由,希望能够借助电脑鼠的创作来进而研究与发明更加复杂的机械。
2电脑鼠的整体设计方案如图所示。
整个系统可以初步分为以下主要部分:电源模块,控制模块,执行机构模块,传感器模块,机身模块。
可以形象地认为,电源模块是电脑鼠的“动力源泉”,控制模块是电脑鼠的“大脑”,传感器模块是电脑鼠的“眼睛”,机身模块是电脑鼠的“躯干”,执行机构是电脑鼠的“脚”,几个模块之间要相互配合才能使这个电脑鼠最终“逃离”迷宫。
3电脑鼠的硬件原理3.1电脑鼠的硬件设计原理本文研究的电脑鼠是一个跨学科的综合作品,主要由电源、传感器、步进电机、控制核心电路、机身5个部分组成,如图1所示。
所以,电脑鼠的硬件设计主要包括电源模块、微控制器单元模块、传感器模块、电机控制模块4个部分的设计。
其中LM3S615微控制器是电脑鼠的核心,通过检测到的传感器信号,结合载入的搜索算法,控制步进电机,实现电脑鼠在迷宫中的行走。
3.2电源模块MicroMouse615 采取外接锂电池供电,并为整个系统提供三种不同的电压,分别用来驱动电机、给传感器供电和给微控制器供电。
MicroMouse615 装有两个永磁式步进电机,系统中直接把电池的输出电压连接到电机的驱动芯片上。
LM3S615 微控制器需要3.3V 供电,电路如图,外接电源经过C36、C2 滤波,然后通过SPX1117M-3.3 将电源稳压至 3.3V。
SPX1117M-3.3 是Exar 公司生产的LDO 芯片,其特点是输出电流大,输出电压精度高,稳定性高。
其输入电压范围为4.7V 到12V,输出电流可达800mA。
在其输出端的C3、C4 用来改善瞬态响应和稳定性。
MicroMouse615 使用的红外传感器的工作电压为5V,在一般情况下可以把电池的输出电压经过LDO 稳到5V。
但若电池电压较低或瞬间被拉低时,系统就不能为传感器提供稳定的电源,这将严重影响传感器的灵敏度。
所以原电路把系统中已经较为稳定的3.3V 电压升到5V。
3.3微控制器单元模块本文采用美国Luminary Micro公司生产的CorteX-M3内核的ARM处理器LM3S615,该芯片具有32位RISC性能,具备32 KB单周期FLASH,8 KB单周期SRAM,29个中断,带8个优先级。
微控制器模块和其他模块共同构成一个闭环的反馈控制系统,通过对路程信号、岔口信号和姿势修正信号的检测,经由LM3S615进行运算,再将结果赋给电机执行,由此实现电脑鼠的智能穿越迷宫。
3.4传感器原理MicroMouse615 使用一体化红外接收头IRM8601S,它内部集成自动增益控制电路、带通滤波电路、解码电路及输出驱动电路。
当连续收到38KHz 的红外线信号时,将产生脉宽10ms 左右的低电平,有效电平维持时间TWL 的范围为400μs<TWL<800μs。
如果没有收到信号,便在TWL 结束后输出高电平。
再根据数据手册,其调制信号应为周期1000us 的方波。
IRM8601S 内部的带通滤波器的中心频率为38KHz,所以发射红外线的载波信号为38KHz 时经过滤波器衰减最小,传感器最灵敏,越是偏离就衰减的越多,这是一体化接收头抗干扰的关键原理。
3.5电机原理电机控制模块主要负责控制电脑鼠的运动,包括电机和电机驱动电路两部分。
电机为两个两相四线制步进电机,工作电压为7.4 V。
电机驱动芯片采用BA6845FS,每个芯片包含2个H桥,它的最大驱动电流为1 A,且在输入逻辑的控制下输出有3种模式:正向、反向和停止。
一般的永磁式直流电动机的定子由永久磁钢组成,其主要作用是在电动机气隙中产生磁场,其电枢绕组通电后产生反应磁场。
由于电刷的换向作用,使得这两个磁场的方向在直流电动机运行的过程中始终保持互相垂直,从而产生最大转矩而驱动电动机不停的运转。
4电脑鼠的软件实现电脑鼠的软件部分主要用来检测迷宫环境,传送控制信号给相应的硬件模块,对在迷宫中行走的电脑鼠进行制导与导航。
其主要由迷宫搜索主程序和其他实现各种功能的子程序组成,主程序主要起到搜索探测迷宫和决策功能,而其他各种功能则是通过调用其相应子程序来实现的,搜索流程如图所示。
4.1 迷宫搜索主程序在没有预知迷宫路径的情况下,电脑鼠必须优先探索迷宫中的所有单元格,直到抵达终点为止。
做这个处理的电脑鼠要随时知道自己的位置及姿态,同时要记录所有访问过的方块四周是否有墙壁,并且在搜索过程中尽量避免重复搜索它搜索过的地方。
4.2其他子程序4.2.1 路程检测子程序通过安装在两轮内侧的红外线收发管和黑白码盘来测算电脑鼠走过的路程,确定电脑鼠在迷宫中的位置,并在岔口实现精确的90°和180°转弯。
4.2.2 岔口检测子程序由安装在正前、左前、右前方向的3个红外发射管发射38 kHz的信号完成远距检测,根据传感器读入值,判断迷宫中障碍信息、路口信息。
4.2.3 姿势修正子程序根据左右两侧红外传感器接收的反馈信号来判断电脑鼠偏离迷宫巷道中轴线的程度,通过调整步进电机工作脉冲使某一边电机减速来修正电脑鼠的行驶方向,使其基本行走在中轴线附近。
4.2.4 转弯子程序当电脑鼠检测到岔口,且需要转弯时,调用该子程序。
4.2.5 最优路径子程序通过对迷宫环境进行搜索检测,数组自动记录迷宫地图信息以及迷宫中每一单元格到起始点的路程,运行最优路径子程序,就能找到一条从始点到终点的最短路径。
其实质是一种路径优化算法,常用的算法有等高图法和蚁群算法。
4.2.6 冲刺子程序调用此程序可使电脑鼠循着最短路径从起点以最快的速度冲到终点。
5算法分析5.1常见算法右手法则 :以右边为优先的前进方向,然后是直线方向、左边方向。
左手法则 :以左边为优先的前进方向,然后是直线方向、右边方向。
中左法则 :以直线为优先的前进方向,然后是左边方向、右边方向。
与此类似的还有中右法则。
乱数法则 :取随机值作为前进方向。
向心法则 :由于终点设在迷宫的中心,遇有交叉时 ,以指向迷宫中心的方向为优先的前进方向。
5.2深度优先搜索(DFS)从入口出发,顺着某一方向向前探索,若能走通,则继续往前走;否则沿原路退回(回溯),换一个方向再继续探索.直至所有可能的通路都探索到为止。
如果恰好某一步探索到出口,则就找到了从入口到出口的路径。
为了保证在任何位置上都能沿原路退回,防止死循环,需要使用堆栈来保存大量记录。
而要求解迷宫最短路径,则必须用深度优先搜索出所有到达出口的路径,通过比较得到最短距离的路径.这样也必然要求增加数据空间来保存搜索过程中当前最短路径.增加了空间复杂度。
5.3广度优先搜索(BFS)从入口出发,离开入口后依次访问与当前位置邻接的单元格(上下左右方向),然后分别从这些相邻单元格出发依次访问它们的邻接格,并使“先被访问的单元格的邻接格‘先于’后被访问的单元格的邻接格”被访问,直至访问到迷宫出口,则找到了迷宫问题的最优解,即迷宫最短路径。
该算法的显著特点是“层层推进”,探索点会随着探索的深入急剧增加,相应地,需要大量的空间用来保存探索过程的记录。
空间复杂度大。
5.4蚂蚁算法在电脑鼠中的应用在利用蚁群算法求解迷宫最短路径问题时,为了使每只蚂蚁能以尽可能高的概率生成可行解,本文采用两组数量相等的蚁群分别从迷宫的起点和终点同时出发,该表记录蚂蚁当前走过的点集,以避免选择已经走过的点。
对任意一只蚂蚁,在移动过程中可以定义如下的生命周期:①蚂蚁走进死角,除非沿原路返回一步或多步,不能再朝前移动,则将该蚂蚁从系统中删除;②蚂蚁到达另一组蚁群的出发点,此时该蚂蚁走过的路径为一条可行路径;③蚂蚁碰到另一组的某只蚂蚁。
如果这两只蚂蚁所经过的点没有重复(tH遇点除外),则将两只蚂蚁所经过的路径相连以构成迷宫的一条可行路径。
因此,从蚁群的产生到生命周期的结束,会有一部分蚂蚁找到问题的可行解,但可行解的数量小于蚁群数的一半。
结束语本文从介绍电脑鼠入手,分析了电脑鼠的软、硬件原理,介绍有些算法。
参考文献[1]周立功,等.Cortex-M3 开发指南.广州:致远电子有限公司,2008.2.[2]樊晓平,等.复杂环境下基于蚁群优化算法的机器人路径规划[J]_控制与决策,2004,19(2).[3]张琛.直流无刷电机原理及应用[M].北京:机械工业出版社,1996.。