当前位置:文档之家› 电脑鼠的原理分析及算法研究

电脑鼠的原理分析及算法研究

电脑鼠的原理分析及算法研究摘要:本文阐述了电脑鼠的定义和意义,并对电脑鼠的工作原理及硬件、软件设备进行一定的分析,研究了一些传统和经典的算法。

关键词:电脑鼠,模块,算法,蚂蚁算法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.。

相关主题