电脑鼠.doc_第1页
电脑鼠.doc_第2页
电脑鼠.doc_第3页
电脑鼠.doc_第4页
电脑鼠.doc_第5页
免费预览已结束,剩余75页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 引 言1.1选题的依据与意义随着微电子计算机软/硬件,通信和电子工程等多种技术的融合,嵌入式系统的技术含量也越来越高。为了促进信息技术的科技创新,不断的更新机器人技术是一个很好的创新方式。 本课题将采用飞利浦公司的微控制器LPC2138作为电脑鼠的控制核心,近年来国际上新兴的蚁群算法实现从起点到终点的最优路径选择,实现理论到模型制作的实际创新过程。蚁群算法是通过对生物行为的分析而得出的团体最优配置和路径选择,与电脑鼠器鼠的路径选择是非常相似。智能机电鼠又称电脑鼠,电脑鼠( micro mouse)是一只迷人的人工智慧鼠,它不但有锐利的眼睛和灵活的双脚,还有聪明的头脑来控制眼睛和双脚,使眼睛和双脚能够同心协力,互相配合,以达成唯一的目标走出迷宫。实际上电脑鼠就是一个电动小车,而这个电动小车是由一个或多个微控制器来控制、通过传感器和其他各器件的配合,具备一定智能。目前,电脑鼠在一些电子设计竞赛中出现的比较多,电脑鼠走迷宫是机器人比赛中比较重要的一个分支,其主要考察的是电脑鼠对未知世界的自动探索和学习过程。本课题是以“IEEE国际电脑鼠上海邀请赛”为背景,结合模拟电路、数字电路知识以及传感器知识,将平时所学的各种控制理论运用到实践当中,制作出一个性能优良的电子产品能够走迷宫的电脑鼠。1.2 本课题的国内外研究现状1.2.1 电脑鼠的前世今生电脑鼠的发源地在美国,一九七七年,美国举办了第一届真正的电子式老鼠的比赛,从此电脑鼠便外流至世界各地。但是电脑鼠却在美国销声匿迹了十一年,直至一九八八年美国才举办第二届电脑鼠大赛。在一九七七年美国举办了第一届电脑鼠比赛后,电脑鼠便传至了欧洲,第一届欧洲电脑鼠比赛在一九八零年英国伦敦举行,结果由主队英国人制作的电脑鼠获得冠军。此后,英国的比赛便由英国电子工程协会主办。接着电脑鼠就传至亚洲来了,一九八零年十一月,日本电脑鼠协会在东京举行第一届全国日本电脑鼠比赛,但不幸地,比赛的十八队电脑鼠全军覆没,但他们并不因此晦气,往后每年都举行电脑鼠比赛。然后,电脑鼠终于受到国人们关注,台湾的第一次电脑鼠比赛是在一九八六年三月,当时是邀请日本的一些专家来台作表演比赛,接着在同年十月,举行第一届全国电脑鼠大赛,从此电脑鼠便在台湾定了居,每年都有它的比赛。接着谈谈电脑鼠的黑马新加坡,新加坡的第一届电脑鼠比赛迟至一九八七年才举办,但该次比赛的冠军在隔年参加伦敦国际电脑鼠比赛便获得了第三名。第二届比赛的亚军参加了IEEE比赛,将蝉联两年的世界冠军(麻省理工大学)给打了下来。勇夺世界冠军之后,新加坡的电脑鼠声明大震,在电脑鼠界之中拥有了一席之地。进入21世纪后,电脑鼠终于受到国内人士的关注。为了促进上海信息技术的科技创新,在上海市科学技术委员会、上海市教育委员会和上海市科学技术协会的指导下,举办“第三届上海市嵌入式系统创新设计应用竞赛”暨“IEEE标准电脑鼠走迷宫”邀请赛(长三角地区)。日前,日本第21届micromouse迷宫机器人初级大赛中部地区预选赛决出了胜负,由参赛者中村恵也制造的以6秒541的成绩夺得冠军。 1.2.2 蚁群算法的研究历史自1991年意大利学者Dorigo等人提出蚁群算法后的近五年时间里。并没有在国际学术界引起广泛关注。自然这段时期在蚁群算法理论及其应用也没有取得突破性进展。1996年,Dorigo等人在IEEE Transactions on Systems,Man, and Cybernetics-Part B上发表“Antsystem: optimization by a colony of coop-erating agents”一文。在这篇文章中,Dorigo等不仅更加系统地阐述了蚁群算法的基木原理和数学模型还将其与遗传算法、禁忌搜索算法、模拟退火算法、爬山法等进行丁仿真实验比较并把单纯地解决对称TSP拓展到解决非对称TSP、指派问题(quadratic assignment problem,QAP)以及车间作业调度问题(job-shop scheduling problem,JSP),且对蚁群算法,初始化参数对其性能的影响作了初步探讨。这是蚁群算法发展史上的又一篇奠基性文章。自1996年之后的五年时间里蚁群算法逐渐引起了世界许多国家研究者的关注,其应用领域得到丁迅速拓宽,这期间也有大量有价值的研究成果陆续发表。 对蚁群算法不断高涨的研究热情导致了1998年10月15日至10月16日在比利时布鲁塞尔召开丁第一届蚁群算法国际研讨会,会议由创始人Dorigo负责组织。第一届就吸引了来自世界各地的50多位蚁群算法研究者。随后每隔两年都要在布鲁塞尔召开一次蚁群算法国际研讨会历届会议的论文集均由著名的Lecture Notes in Computer Science(SCI Index)结集出版。2000年,Dorigo和Bonabeau等人在国际顶级学术刊物Nature发表了蚁群算法的研究综述。从而把这一领域的研究推向了国际学术的最前沿。鉴于Dorigo在蚁群算法研究领域的杰出贡献,2003年11月欧盟委员会特别授予他“居里夫人杰出成就奖(Marie Curie Excellence Award)。进入21世纪后的最近几年Nature曾多次对蚁群算法的研究成果进行报道,Future Generation Computer Systems(Vol.16 .No.8)和IEEE Transactions on Evolutionary Computation(Vol.6 ,No.4)分别于2000年和2002年出版了蚁群算法特刊。如今,在国内外许多学术期刊和会议上蚁群算法已经成为一个备受关注的研究热点和前沿性课题。随着对蚁群算法研究的不断深入,人们已开始关注蚁群算法的硬件实现这一新的研究方向。蚁群算法的硬件实现是仿生硬件领域内的一个分支,也是蚁群算法发展的高级阶段。Isaacs等人将遗传算法和蚁群算法结合,提出丁一种嵌入式硬件随机数据发生器设计的新思路。但他们只做了离线仿真,并没有在硬件上实现。Scheuermann等人在深入分析了将蚁群算法映射到FPGA难点的基础上提出了一种基于群体-蚁群优化(population-based ant colony optimization,P-ACO)算法的仿生硬件实现方案并详细给出了P- ACO算法的仿生硬件实现方案,并详细给出P-ACO算法FPGA硬件总体结构各主要模块的实现过程。我国在蚁群算法领域的研究起步较晚从公开发表的论文(以投稿日期为标准)看国内最先研究蚁群算法的是东北大学控制仿真研究中心的张纪会博士与徐心和教授(1997年10月)。在国内蚁群算法的众多研究者,值得一提的是当时年仅17岁高二学生陈烨于2001年在计算机工程(Vo1.27 .No.12)上发表了“带杂交算子的蚁群算法”一文,并基于Visual Basic开发了一个功能齐全、界面友好的“蚁群算法实验室”,引起了国内一大蚁群算法研究者的极大关注。回顾蚁群算法自创立以来十多年的发展历程。日前人们对蚁群算法的研究由当初单一的TSP领域渗透到了多个应用领域,由解决一维静态优化问题发展到解决多维动态组合优化问题山离散域范围内研究逐渐拓展到了连续域范围内研究,而且在蚁群算法的硬件实现取得了突破性进展;同时在蚁群算法的模型改进及与其他仿生优化算法的融合方面也取得了相当丰富的研究成果从而使这种新兴的仿生优化算法展现出前所未有的勃勃生机,并已经成为一种完全可与遗传算法相媲美的仿生优化算法。1.3迷宫电脑鼠的关键技术从上世纪七十年代美国举办第一届电脑鼠走迷宫比赛开始,到如今该比赛已经遍及全球。电脑鼠走迷宫比赛是考察一个机电系统对一个未知环境的探索、分析以及决策能力的一种比赛,随着科技的发展,各参赛者在电脑鼠机械结构上的差距并不明显。在同样规则和相近的机械结构的情况下,决定比赛胜负往往就是电脑鼠对迷宫的探索和决策的算法,因此迷宫算法也就成为了各电脑鼠爱好者们研究的热门课题。随着迷宫的出现,就有人对迷宫算法进行专门的研究。经过几十年的发展,电脑鼠走迷宫算法已经多种多样,除了简单的传统的左右手算法等之外,目前比较先进的算法有八方向走迷宫算法、遗传算法、蚁群算法等等,这些算法的基础是近代的一些比较著名的理论,因此较之以前有了很大的进步。然而到目前为止,没有任何一种算法堪称完美,每种算法都有自己的特点,更没有哪种算法可以完全取代其他的算法。因此在迷宫算法领域里形成了多足鼎立的局面。走迷宫算法的一个重要用途就是机器人设计。随着各种技术的飞速发展,机器人的用途也越来越广,人们要求机器人可以完成的工作的复杂度也越来越高,电脑鼠作为一个机电整合的系统,其发展也是越好的。电脑鼠走迷宫是针对一个未知的、待探测的环境,用红外线或超声波等传感器采集周围数据回给处理器,通过软件处理生成一个简单的平面电子地图,而后通过对地图坐标的观测给定电脑鼠想要它行走的X,Y坐标,电脑鼠自身通过对刚才数据的采集而计算出一条合适路径,而自动走到相应的地点,从而实现了简单的绘制未知地形地图及定位功能,这是电脑鼠算法研究的一个重要技术基础。其应用的前景应该是非常光明的,因为机器人的发展是一个不可阻挡的历史潮流,在机器人代替人作的一些工作中,有些环境是不可以或者很难事先预知的,如火山口、深海底、外星球等人不能够到达的地方。这就要求机器人有相当高的智能,其中最基础的就是对未知环境的探测及决策能力。走迷宫算法研究的意义也就为机器人的智能打下基础。1.4电脑鼠走迷宫的规则1.4.1 目的电脑鼠走迷宫竞赛的目的是制作一个微型机器人,使其能在最短的时间内穿越迷宫到达终点。参赛的机器人称为“电脑鼠”,将电脑鼠放入迷宫并启动操作的人称为“操作员”。1.4.2 迷宫的规范迷宫由1616个18cm18cm大小的正方形单元所组成。迷宫的隔墙高5cm,厚1.2cm,因此两个隔墙所构成的通道的实际距离为16.8cm。外墙将整个迷宫封闭。迷宫隔墙的侧面为白色,顶部为红色。迷宫的地面为木质,使用油漆漆成黑色。隔墙侧面和顶部的涂料能够反射红外线,地板的涂料则能够吸收红外线。迷宫的起始单元可选设在迷宫四个角落之中的任何一个。起始单元必须三面有隔墙,只留一个出口。例如,如果没有隔墙的出口端为“北”时,那么迷宫的外墙就构成位于“西”和“南”的隔墙。电脑鼠竞赛的终点设在迷宫中央,由四个的正方形单元构成。在每个单元的四角可以插上一个小立柱,其截面为正方形。立柱长1.2cm,宽1.2cm,高5cm。小立柱所处的位置称为“格点”。除了终点区域的格点外,每个格点至少要与一面隔墙相接触。迷宫制作的尺寸精度误差应不大于5%,或小于2cm。迷宫地板的接缝不能大于0.5mm,接合点的坡度变化不超过4度。隔墙和之间的空隙不大于1mm。1.4.3 电脑鼠的规范电脑鼠必须自成独立系统,不能使用可燃物为能源。电脑鼠的长和宽限定在25cm25cm。每次运行中电脑鼠几何尺寸的变化不能超过25cm25cm。对电脑鼠的高度没有限制。电脑鼠穿越迷宫时不能在其身后留下任何东西。电脑鼠不能跳越、攀爬、钻挖和损毁迷宫隔墙。1.4.4 竞赛规则电脑鼠的基本功能是从起点开始走到终点,这个过程称为一次“运行”,所花费的时间称为“运行时间”。从终点回到起点所花费的时间不计算在运行时间内。从电脑鼠的第一次激活到每次运行开始,这段期间所花费的时间称为“迷宫时间”。如果电脑鼠在比赛时需要手动辅助,这个动作称为“碰触”。竞赛使用这三个参数,从速度求解迷宫的效率和电脑鼠的可靠性三个方面来进行评分。电脑鼠的得分是通过计算每次运行的“排障时间”来衡量的,排障时间越短越好。排障时间是这样计算的:先将迷宫时间的1/30加上一次运行时间,如果这次运行结束以后电脑鼠没有被碰触过,那么还要再减去10秒的奖励时间,这样得到的就是排障时间。每个电脑鼠允许运行多次,取其中最短的排障时间即作为参赛的计分成绩。例子:一个电脑鼠在迷宫中运行时间为4分钟(240秒)没有碰触过,迷宫时间使用了20秒,这次运行的排障时间就是:20秒+(240秒1/30)-10秒 = 18秒。竞赛中电脑鼠在迷宫中的总时间不可超过15分钟,在该限时内,电脑鼠可以运行任意次。电脑鼠到达迷宫中心的目的地后,可以使用手动放回起点,或让电脑鼠自动回到起点,前者被视为碰触,因此在以后的运行中,将失去减10秒的奖励。从电脑鼠离开起点到进入终点的这段时间为运行时间。迷宫时间是从电脑鼠第一次激活开始计算的,电脑鼠第一次激活后不需要马上就开始运动,但必须在迷宫起点处整装待命。穿越迷宫的时间由竞赛工作人员人工测量或由装在起点和终点处的红外线传感器自动测量。使用红外传感器时,起点红外传感器应放置在起点单元和下一个单元之间的边界上;终点传感器应放置在终点单元的入口处。传感器沿水平方向发射红外线,高出地面约1cm。电脑鼠在启动过程中,操作员不可再选择策略。一旦竞赛迷宫的布局揭晓,操作员不能将任何有关迷宫布局的信息再传输给电脑鼠。迷宫所在房间的亮度、温度和湿度与周围环境相同。改变亮度的要求是否被接受须由竞赛组织者决定。如果电脑鼠出现故障,操作员可以在裁判的许可下放弃该次运行,并放回到起点重新开始。但不能仅因为转错弯就要求重新开始。如果参赛因为技术原因决定停止当前运行,裁判可以允许该队重新运行,但要增加3分钟的迷宫时间作为惩罚。例如,一个电脑鼠在比赛开始以后4分钟停止,重新运行后用去的迷宫时间为7分钟,那么该电脑鼠在迷宫中还可以重新再开始运行的时间就只剩下8分钟了。如果电脑鼠在比赛中任何部分被替换,比如电池、EPROMS或者做出其它重要的调整,必须清除电脑鼠中有关迷宫信息的内存。细微的调节,例如调整传感器,可以在裁判的许可下进行,无须清除内存,但是对速度或策略控制的调节,则必须要清除内存。一个电脑鼠的任意部分(除电池外)都不能用到其它的电脑鼠上。例如,如果一个底盘使用两个可互换的微控制器芯片,即它们属于同一个电脑鼠,最大运行时间也是15分钟。当需要更换微控制器时,先前的内存必须被清除。当比赛官方认为某电脑鼠的运行将破坏或损毁迷宫时,有权停止其运行或取消其参赛资格。1.5 课题研究内容及本论文章节安排电脑鼠是一个复杂的系统工程,包括的环节很多,如障碍物检测、步进电机驱动控制、智能算法的研究等。由于迷宫具有随机性和不确定性,红外测距检测是否有墙壁和智能算法的选择是本文的关键技术,选用新兴的蚂蚁算法,发挥蚂蚁算法在迷宫搜索中的优势,实现电脑鼠在最短时间内找到迷宫的出口。为了突出重点,本论文从系统设计总体方案入手,通过几种不同方案的对比,选择一种性能最优的可行方案,然后对电脑鼠实行模块化设计,主要包括电源模块,步进电机驱动模块,红外测距模块,智能算法研究模块。本篇论文的章节安排:第一章绪论:简单介绍了本课题的选题背景,电脑鼠的国内外研究现状,蚁群优化算法和电脑鼠的发展历史以及迷宫电脑鼠比赛的比赛规则,最后对整篇论文进行了章节的规划。 第二章系统总体设计方案:将电脑鼠整个系统设计进行模块化划分,通过各种可行方案的可行性和可靠性对比(包括传感器选择方案,电机选择及驱动方案,人机界面选择方案),最终选择一种适合本系统的最优方案:LPC2138作为电脑鼠的大脑,蚁群优化算法作为电脑鼠的思想,红外测距传感器作为电脑鼠的眼睛,步进电机作为电脑鼠行走的驱动机构。分别从硬件与软件入手,给出了系统总的设计流程以及模块化设计的框图。 第三章系统硬件电路设计:在本章主要介绍了电脑鼠硬件系统的设计过程,首先提出了硬件系统设计的流程图,分别从机身,LPC21318最小系统,电源电路,红外测距检测电路,步进电机驱动电路,键盘显示电路一一介绍,分析了电路的原理,器件的选型和参数的计算,经过调试,达到设计基本要求。第四章步进电机控制及障碍物检测:在电脑鼠系统,传感器模块是电脑鼠的“眼睛”,执行机构是电脑鼠的“脚”。因此在本章中,首先讨论了步进电机的控制,介绍步进电机的特点,术语和控制原理,根据本课题的要求,设计了适合迷宫电脑鼠的步进电机的控制方案。然后从红外传感器的选择,原理以及安装设计等方面详细叙述了电脑鼠感知系统的设计过程。第五章电脑鼠的控制策略及算法研究:从蚂蚁的基本习性和觅食策略入手,提出了人工蚂蚁与真实蚂蚁的异同之处,介绍基本蚁群算法的机制原理和数学模型,以及蚁群算法的应用。然后根据迷宫电脑鼠比赛的特点,提出了一种改进的蚁群算法并给出算法的基本流程图。第六章系统的调试及运行:从系统硬件和蚁群算法实验两方面入手,给出了在设计、制作和调试电脑鼠过程中的步进电机各项调试数据,算法实验的各项数据(对不同规格迷宫的起点和终点坐标、迭代次数和最优路径)。 第七章本文总结与展望:对本文进行总结,叙述了在本论文中所做的各项工作以及本系统还存在的不足之处,并对本系统提出了展望。1.6 本章小节 在绪论中,主要介绍了本课题的依据与意义,迷宫电脑鼠的国内外研究状况,接着是介绍迷宫电脑鼠比赛的规则和电脑鼠的关键技术,本章的最后部分叙述了课题研究内容及本论文章节安排.通过绪论,能给本文起到抛砖引玉的作用。第二章 系统总体设计方案2.1 引言电脑鼠中各学科的关系电脑鼠实际上就是一个电动小车,由一个或多个微控制器来控制、通过传感器和其他各器件的配合,具备一定的智能。电脑鼠是一个多学科的综合产物,主要包括电源,传感器,步进电机,控制核心电路,机身5个部分,传感器就是电脑鼠的眼睛,用来获取个方面的信息,送到LPC2138(电脑鼠的大脑)中处理,然后驱动步进电机,由步进电机(电脑鼠的脚)执行相应的动作,包括加,减速,转弯(90度,180度),停止。图2.1 电脑鼠中多学科之间关系的框图2.2系统设计方案的讨论本设计中,系统可划分几个基本模块化,对于各个模块的实现,分别有以下几种不同的设计方案:2.2.1电机选择方案方案一:选择直流电机。直流电机的优点:效率高、速度快、耗电小;缺点:控制困难、程序设计困难、电路结构复杂。直流电机的控制电路与控制程序相对来说要复杂,而且若要达到很高的控制精度,对硬件电路和软件程序的要求的非常高,这一点对电脑鼠比赛时老鼠行走要精确、灵活的特点是不符的;但同时要看到,在电脑鼠比赛中,最终的成绩裁定是通过搜索和冲刺的时间来确定的,因此,速度对电脑鼠最终的成绩影响很大,直流电机速度快,效率高的优点在这里可以得到很好的发挥。控制方面的困难只是相对于步进电机来说的,因为直流电机是最早出现的电动机,也是能实现调速最早的电动机,所以在直流电机调速领域里积累的经验也是最丰富的,给我们对直流电机的控制提供了方便。方案二:选择步进电机。步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变为角位移,即给一个脉冲,步进电机就转一个角度,因此非常合适单片机控制。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,电机则转过一个步距角,同时步进电机只有周期性的无累积误差,精度高。步进电机优点:控制容易、程序简短、电路设计较容易,控制精度高。这在电脑鼠走迷宫中的应用是非常有用而且方便的,因为迷宫的大小和迷宫每一格的大小都是已知的,当老鼠轮子大小确定的时候,每来一个脉冲,老鼠行走的距离也是一定的,那么我们就可以控制脉冲的个数来确定和检测老鼠是否走过了一单元,而不需要另外再加一个测距装置,在硬件复杂度上得到简化。因此,步进电机是一个较好的选择。表2.1步进电机与直流电机的比较步进电机直流电机优点控制容易,程序简短,电路设计容易效率高,速度快耗电小缺点效率低,速度慢,耗电大控制困难,程序设计困难,电路结构复杂注意事项利用CPU作脉冲控制加减速齿轮,利用闭环回路控制2.2.2 电机驱动方案方案一:使用ULN2003功率放大器件驱动电机。通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。方案二:使用L298N芯片驱动电机。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号,而且电路简单,使用比较方便。方案三:采用与步进电机相匹配的成品驱动装置。使用该方法实现步进电机驱动,其优点是工作可靠,节省制作和调试的时间,但成本很高。 2.2.3 传感器选择方案传感器是电脑鼠的眼睛,是一个智能机电系统将外部环境的信息转化成为处理器能识别的信息的重要部件。因此,传感器在电脑鼠的整体电路设计中占有相当重要的地位,它的主要目的有两个,一是检测到底哪个方向有墙,二是检测电脑鼠与墙的距离,以作为避障和加减速的判断。随着智能控制技术的飞速发展,机器人用传感器的不断研制,通常机器人所用的传感器有:内部传感器:加速度传感器、速度传感器、位置传感器、姿态传感器;外界传感器:远距离传感器、非接触传感器、接触传感器。方案一:超声波测距方案。超声波是一种频率为20 KHz以上的声波,具有直线传播的能力,频率越高,绕射能力越弱,但反射能力越强,其指向性强,能量消耗缓慢,在介质中传播的距离较远,利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制。为此,利用超声波的这些性质就可制成超声波传感器。超声波传感器具有信息处理简单快速、价格低,硬件实现简单等特点,在移动机器人中得到了广泛的应用。超声波距离传感是由发射器和接收器构成的,绝大多数的超声波距离传感器的发射器和接收器都是利用压电效应研制而成的。将超声波发射后,根据经被测物体的反射回来的回波延迟时间,计算被测物体的距离。由于超声波在空气中的传播速度与空气的温度和湿度有关,温度越高,传播速度越快,温度每升高10,传播速度增加0.6m/s,在比较精确的测量中,必须把温度的变化和其它因素考虑进去。在要求不高的情况下,可以通过下面的公式计算: 其中:为超声波传感器和被测物间的距离;为空气中超声波的传播速度;为声音往返传感器和被测物一次所需的时间。 超声波传感器主要优点如下:价格低廉。对于应用机器人来讲,价格是最重要的因素之一。易于维护。在实际使用中,维护是一个非常重要的问题,极强的超声波比较容易得到,超声波的波长很短,很容易做成细束的形状,并且超声波传感器易于与机器人的其它子系统接口。高测量精度。超声波传感器具有很高的测量精度,其测量精度一般可达到1%。并且测量范围可以达到0. 15ml0m左右。 采用超声波传感器来实现小车的导航、避障和目标跟踪。超声波测距的几点问题:存在测量“盲区”。入射角对测距有较大的影响。超声波换能器发出的超声波波束不是一条直线,而是具有一定的指向性开角的波束,所以超声波入射角对测量结果的影响很大,当入射波和障碍物之间的角度太大时就有产生幻影的可能。要想取得比较准确的测量数据,超声波传感器的入射波要和被测物体的表面要尽可能垂直,反射面要相对光滑一些。由于超声波传感器具有一定的局限性,表现在探测波束角过大,方向性差,往往只能获得目标的距离信息,不能提供目标的边界信息。在实际应用中,往往采用其他传感器来补偿,或采用多传感器融合技术。方案二:CCD摄像头方案。视觉信息是通过视觉传感器转换成电信号,在经过采样和幅值化后形成一幅数字图像。电荷藕合器件CCD(Charge Coupled Devices)是一种光电探测器件,与其它以电流或电压为信号的光电器件不同的是,CCD以电荷包的形式存储和传送信息。由于它具有灵敏度高、光谱响应宽、动态范围大等优点,己成为现代光电子学和测试技术中最活跃的传感器,被广泛应用于各种光电系统。 CCD是由若干个光敏元素以一定顺序排列而成的一条光敏线或一个光敏面,并同辅助电路组合成大规模集成电路。使用CCD摄像头进行图像采集和识别,测量范围广,在资金上耗费较多,而且还牵涉到图像采集,图像识别等领域,实现较为复杂。方案三:红外线测距方案。利用红外线测距的反射式光电传感器的光源有多种,有来自于红外发光二极管,普通发光二极管,以及激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较集中,在近距离要实现精确测,传感器只接收很小个频率范围内的信号,不容易被干扰。表2.2 各种传感器的比较传感器基本感测装置性能价格红外线发光元件/感光元件在近距离要实现精确测量稍复杂低超声波超声波发射/接收元件近距离可以精确测量,发射接收电路稍复杂中等摄像头CCD(电荷耦合装置)测量范围广,但处理复杂较高2.2.4 人机界面方案方案一:采用LED数码管显示。虽然LED只能显示数字和有限简单的字符,但其功耗低,控制简单,基本能达到本课题的设计要求,显示电脑鼠运行时的各种状态。方案二:采用LCD液晶显示。LCD可以显示所有字符及自定义字符,并能同时显示多组数据、汉字、字符清晰。由于自身具有控制器,不但可以减轻主控制器的负担,而且可以实现菜单驱动的显示效果,实现编辑模块全屏幕的功能,达到友好的人机界面。用LCD显示能解决LED驱动只能显示数字等几个简单数字的缺点,性能好,效果多,控制方便,显示方式多。2.2.5 迷宫算法方案随着电脑鼠走迷宫比赛的出现,就有人对迷宫算法进行专门的研究。作为电脑鼠走迷宫比赛的关键技术,迷宫算法的选择至关重要。方案一:左右手算法。左(右)手算法是指迷宫电脑鼠在迷宫中行走,遇到岔路口时,机器人贴迷宫左(右)侧的墙壁实现行走。但这种算法智能适应于小规模的迷宫比赛,如果迷宫规格增大,算法的效率不高。方案二:人工神经网络。人工神经网络( Artificial Neural Networks)是对人脑或自然神经网络(Natural Neural Network)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能人工神经网络是在现代神经科学的基础上提出来的。它虽然反映了人脑功能的基本特征,但远不是自然神经网络的逼真描写,而只是它的某种简化抽象和模拟。方案三:蚁群算法。从蚂蚁觅食的过程得到启发,蚂蚁以信息素作为媒介实现了群体内部的间接通信,依赖自身催化与正向反馈的机制最终发现觅食的最短路径。蚁群算法能够将问题求解的快速性、全局优化特性与有限时间内解的合理性结合起来,因此对于能够直接转化为路径优化问题的组合类寻优问题,能取得比较理想的效果。2.3 系统最终设计方案迷宫电脑鼠的控制系统设计主要包括三个方面:控制电路设计;传感器选择以及安放位置设计;程序设计。从总的方面来考虑,传感器的使用数量应该尽量少以减少处理器的信号处理量,但是又必须能使电脑鼠行驶自如。控制电路要根据选用的电机和传感器来设计,主要考虑稳定性,抗干扰性。最终设计方案为:选用4相6线的步进电机,JY043W红外线传感器和ARM LPC2138作为控制芯片。2.3.1 系统的功能模块和设计方案电脑鼠是一个具备自主判断、决策能力的小型机电整合系统,具备一般自动移动机器人的特性。在本文中将电脑鼠要实现的功能划分为如图所示三个功能模块:感知功能、执行功能、自主决策功能。图2.2 电脑鼠的功能模块由此功能图,则整个系统可以初步分为以下主要部分:电源模块,控制模块,执行机构模块,传感器模块,机身模块,我们可以形象地认为,电源模块是电脑鼠的“动力源泉”,控制模块是电脑鼠的“大脑”,传感器模块是电脑鼠的“眼睛”,机身模块是电脑鼠的“躯干”,执行机构是电脑鼠的“脚”,几个模块之间要相互配合才能使这只老鼠正常工作并最终“逃离”迷宫。这几个模块之间若要相互配合,需要一些信号线和控制线将其相互正确的连接起来。这些信号线和控制线就是电脑鼠的“神经系统”。把各个模块合理整合起来就得到了系统整体方案。其中,控制模块是整个系统的核心,机身模块是支撑整个系统的骨架,外部存储器是控制模块进行读写外部资料的“记事本”,传感器模块是整个系统智能化的一个重要部分,人机交换模块是人与电脑鼠进行对话的界面。如图所示。图2.3 电脑鼠控制系统整体设计方案2.4 本章小结在本章中,首先介绍了电脑鼠与各个学科之间的关系,涵盖了机械工程,电机电子,控制工程和电脑科技。电脑鼠系统设计采用模块化设计,分别对电机,电机驱动,传感器模块和迷宫算法方案的选择进行讨论,并提出了一种适合本课题的可行性设计方案:选用4相6线的步进电机,JY043W红外线传感器,ARM LPC2138作为控制芯片以及蚂蚁算法作为迷宫电脑鼠的核心算法。通过本章的介绍,能够对本课题有了全局的认识。第三章 系统控制系统设计3.1 引言在一只电脑鼠的架构完成前必须先进硬件的整体规划,如果架构设计过做的话,在实际制作中会觉得知道从何下手,所以一个好的规划是非常重要的,图3.1为系统硬件架构发展程图。图3.1 系统硬件设计流程3.2 电脑鼠硬件系统设计3.2.1电脑鼠机身设计机身是电脑鼠的最基本架构,它的设计在电脑鼠的整体规划中占有相当的地位,但却也是最关键的地方。以下将探讨机身设计时所应注意的地方。有关于机身的设计,原则上整体结构要坚固耐用,材质要轻、重心要低,还有在设计不但要配合各零件的规格,也要符合迷宫的规格,根据规则的规定,比赛中迷宫的每一个单元格都是18cm*18cm的正方形,每一个单元格的墙壁都有1.2cm,也就是说电脑鼠的最大宽度应限定在18-1.2=16.8cm之内。但因为老鼠在迷宫中行走时要有一定的空间裕度,否则稍微有一点不稳定还没来得及调整就会撞在墙壁上,再者为了便于转弯灵活,电脑鼠应该做尽可能的小,在本文实际制作中,电脑鼠机身规格为:长12cm,宽8cm,高5cm,车身用轻制铝合金制作。另外,轮子在整个机身设计中占有相当重要的地位。一般来说,轮子分为主动轮和从动轮,主动轮即是电机所带动的轮子,主动轮要有两个,两主动轮之间的距离必须在16.8cm以下才能在迷宫中行走,在本设计中两轮之间距离设定为11.2cm,安置在机身两侧的中心线上。兼于机身的高度,为了降低重心,保证电脑鼠行使的更稳,设计的轮子半径大小约为24mm。从动轮的选择也要注意配合,首先一定要灵活,否则会影响老鼠在行走过程中的姿态,致使控制起来很困难;其次,从动轮个数选择要恰当,若用两个从动轮,设计精度比较高时则行走非常稳定,尤其是在转弯的时候比单个从动轮要稳定的多,但双从动轮对设计精度的要求非常高,而且不能走不平整的路,若有两个主动轮和两个从动轮,则在设计精度不够的情况下或者是走在不平整的地面上时,会有一个轮子悬空,给控制带来不便;单个从动轮不存在这个问题,因为在任何情况下(除非老鼠飞起来)它都是三点接触地面的,但它在转弯的时候就容易造成误差。表3.1 电脑鼠轮子设计的优劣对比主轮单辅轮双辅轮设计时注意事项两主轮间距离小16.8cm(最好在1012cm之间)。优点设计较容易;行走时主轮较不会空转。转弯时较稳定;若设计良好,则行走十分稳定。缺点转弯时误差较大。设计较困难;若设计不良,行走时容易造成主轮空转。在选择方案时,选用的是双主动轮,单从动轮的方案,从动轮使用万向轮,转弯时是通过两个主动轮的差速来达到转弯效果,通过读取传感器来进行及时调整消除单从动轮转动时造成的误差。电脑鼠的机械架构的如图 3.3所示:图3.3 电脑鼠机身框架图3.2.2 LPC2138最小系统设计微处理器是电脑鼠的大脑,是整个硬件电路设计的灵魂,负责整个硬件电路系统中各个周边电路、元件的协调。在本设计中,选用了PHILIPS公司的基于ARM7TDMI-S核、单电源供电的LPC2138作为系统的微处理器。对于LPC2138芯片,最小系统需要两组电源、复位电路、晶振电路,P0.14脚接一个上拉电阻禁止ISP功能。LPC2138最小系统原理方框图如图所示。LPC2138复位电路电源电路系统时钟电路JTAG接口电路图3.4 LPC2138最小系统原理框图ARM内核采用精简指令集计算机(RISC)体系结构,具有大量的通用寄存器,指令格式使用统一和长度固定,寻址方式简单,内含2套指令系统(ARM指令集和Thumb指令集)。极低的功耗,适合对功耗要求较高的应用,如便携式产品。 能够提供0.9MIPS/MHz的三级流水线结构。LPC2138一些主要特性:小型LQFP64封装的16/32ARM7TDMIS微控制;8KB片内静态RAM;32KB片内Flash程序存储器;128位宽度接口/加速器实现高达60MHz的操作频率;片内Boot装载程序实现在系统编程(ISP)和在应用编程(IAP)。Flash编程时间:1ms可编程256字节,扇区擦除或整片擦除只需400ms;EmbeddedICERT和嵌入式跟踪接口,可实时调试和高速跟踪执行代码;2个8路10位AD转换器共包含8个模拟输入,每个通道的转换时间短至2.44s;2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗;多个串口行接口,包括2个16C550工来标准UART、2个高速I2C接口(400Kb/s)、SPI和具有缓冲作用和数据长度可变功能的SSP;多达47个可承受5V电压的通用I/O口;向量中断控制器。可配置优先级和向量地址;多达9个边沿或电平触发的外部中断引脚;通过片内PLL可实现最大为60MHz的CPU操作频率;片内晶体振荡电路支持频率:130MHz;2个低功耗模式:空闲和掉电;通过外部中断将处理器从掉电模式中唤醒;单电源供电,含有上电复位(POR)和掉电检测(BOD)电路。CPU操作电压为3.03.6V。3.2.2.1电源电路LPC2138微控制器的内核和I/O使用同一电源电压,只需单电源3.3V供电。从外部输入5V直流电源,经过C6、C7滤波,然后通过SPX1117M3-3.3将电源稳压至3.3V。当正确连接电源后,POWER灯点亮。LPC2138具有独立的模拟电源引脚VDDA、VSSA,为了降低噪声和出错几率,模拟电源与数字电源应该隔离。图3.5中的L1和L2就是用于电源隔离的元件(将数字电源的高频噪声隔离),一般取10uH。图3.5 系统电源电路SPX1117M3-3.3是Sipex公司生产的LDO芯片,其特点为输出电流大,输出电压精度高,稳定性高。SPX1117系列LDO芯片输出电流可达800mA,输出电压的精度在1%以内。使用时,其输出端通常需要一个至少10F的钽电容来改善瞬态响应和稳定性。实际电路用了一个4.7F的钽电容。3.2.2.2 复位电路由于ARM芯片的高速、低功耗和低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性和电源监控可靠性等诸多方面也提出了更高的要求。本系统中的复位电路使用带I2C存储器的电源监控芯片CAT1025JI-30,提高了系统的可靠性。其电路原理如图3.6所示。图3.6 系统复位电路在图3.6中,信号nRST连接到LPC2138芯片的复位 ,当复位按键RST按下时,CAT1025JI-30的引脚立即输出复位信号,LPC2138芯片复位。使用CAT1025JI-30芯片时,其RESET引脚上的下拉电阻和引脚上的上拉电阻都是不能省略。3.2.2.3系统时钟电路LPC2138可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHz)。若不使用片内PLL功能及ISP下载功能,则外部晶振频率为130MHz,外部时钟频率为150MHz;若使用片内PLL功能或ISP下载功能,则外部晶振频率为1025MHz,外部时钟频率为1025MHz。在本设计中,使用11.0592MHz晶振,电路如所示。用11.0592MHz晶振的原因是使串口波特率更精确,同时能支持LPC2138微控制器芯片内部PLL及ISP功能。图3.7 系统时钟电路3.2.2.4 JTAG接口电路本设计中采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与LPC2138的连接如图所示。图3.8 JTAG接口电路根据LPC2138的应用手册说明,在RTCK引脚接一个4.7K的下拉电阻,使系统复位后LPC2138内部JTAG接口使能,这样就可以直接进行JTAG仿真调试。如果用户需要使用P1.26P1.31作I/O口,不进行JTAG仿真调试,则可以在用户程序中通过设置PINSEL2寄存器来使LPC2131内部JTAG接口禁止。3.2.3 电源电路移动电源的地位在移动式机器人中历来十分重要,可以说是机器人的生命源。移动电源需要同时满足机器人的多种能源需要,如为移动机构提供动力、为控制电路提供稳定的电压和为服务执行模块提供能源等。在移动式机器人领域,一般采用化学电池作为移动电源。理想的电池应该具有十分高的能量密度、能够在放电过程中保持恒定的 电压、内阻小以便具有快速放电能力、能够耐高温、可充电以及成本低等。但实际上没有一种电池可同时具备上述优点,这就要求设计人员根据实际任务的需要,选择一种合适的电池。在该系统中,需要使用12V、5V、3.3V的直流稳压电源,其中,驱动二个步进电机电机使用12V左右的电源,而LPC2138微处理器及外围器件需要3.3V电源,其他器件需5V电源.为简化系统设计,系统配8节电池,通过三端稳压芯片L7805CV供需要5V的器件使用,再对5V电源使用SPX1117M3-3.3降低到3.3V供ARMLPC2138微处理器及其他部分使用。5V电源电路加了工作指示灯,并且加了二极管对电路加以保护。通过绿色发光二极管LED1指示电源工作状态,R1为LED1的限流电阻。发光二极管的正常工作电压为1.5V1.7V,正常工作电流为10mA,所以流过R1的电流应为10mA左右。R1电阻值的计算公式:W7805是一个典型的三端固定输出正稳压器。三端是指电压输入端、电压输出端和公共接地端。它有稳定电压的作用,只要输入的电压在6V以上,负载的变化在允许的范围内(输入电压范围+7V+25V),它的输出都能够维持稳定的5V。需要注意的是,由于流过它的电流很大(大约0.51A),元件在使用使温度会很高,所以在使用时需加散热片。系统电源电路如图3.所示。图3.9 电源电路3.2.4 传感器检测电路在电脑鼠硬件设计过程中,传感器的选择有着至关重要的作用,电脑鼠通过传感器来认识迷宫这个未知的世界。在电脑鼠硬件设计过程中,传感器的选择有着至关重要的作用,电脑鼠通过传感器来认识迷宫这个未知的世界。JY043W是收发一体的红外反射式光电管, 其原理图如Error! Reference source not found.所示。该传感器电路参数的设置方法与直流电机测速装置的光电发射接受模块相同,本课题中该传感器使用+5V直流电源供电,R23取值方法如下:发光二极管LED导通时压降约1.5V,一般发光二极管在电流为3mA的时候就可以起辉发亮,最高可以承受1012mA甚至更高的电流,故:R23max=1.1k R23min=350为了使发光管发出的红外线强度够大,R23的电阻取330;R24的作用是保护光敏三极管,且保证在光敏三极管导通时,OUT端输出一个接近于0V的低电压,这一点要看三极管导通状况如何,若是深度饱和状态,则R24一般取5K左右即可,若饱和程度不深,则要约10K,而其饱和程度又取决于光敏三极管上接收的红外线的强度。又由于其是反射式的,接收到的红外线强弱与距离又有一定的关系,因此,在R24确定的情况下,OUT的输出电压是与距离成一定的正比例关系。总结如下:在R23和R24 一定的情况下,距离越远反射回的光强度越小饱和程度越低输出电压越大。图3.11 JY043W的原理图及红外传感器测距电路JY043W输出信号经过LM324运算放大器组成的比较器后,送到LPC2138中进行相应的处理.LM324 是四运放集成电路。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。由于LM324 四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。每个运算放大器的工作原理一样,在此以第一个为例进行说明。在运算放大器的输入端口对红外传感器的输出值与设定值进行比较,电位器R33用于调节灵敏度,在不同环境、不同光源下必须通过此来调节,以减少误动作的产生。3.2.5 步进电机驱动电路步进电机的驱动电路有很多种,可以用一片L298来驱动一个步进电机,也有专门的步进电机驱动模块,使用方便.由于步进电机控制本来就非常简单,若增加一个驱动模块势必增加成本和电路复杂度,因此,本课题中采用了最简单的用控制器I/O口来发出控制信号,通过达林顿管电压放大后来控制步进电机的控制电路。其电路图如图3.所示:图3.12 步进电机驱动电路 ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。为了防止控制紊乱造成电机的损坏,在步进电机和驱动芯片之间连接了电阻,为了不影响驱动能力,电阻大小为10。3.2.6 人机交互界面人机交互界面即键盘和数码管显示电路,是人和电脑鼠交流的界面,使人对机器人的运行情况更好的了解,出现意外情况采取相应的对策。通过按键启动电脑鼠开始工作,在LED上显示当前电脑鼠的运行状态,每一种LED代表当前老鼠的运行状态(包括加速、减速、左转90,右转90,转180等)。如图3.13所示的LED显示电路中,8个LED采用共阳极接法,由P0.16P0.23这8个GPIO控制,输出1时对应的LED熄灭,输出0时对应的LED点亮。电路中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论