作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。
标题 | 迷宫电脑鼠控制系统设计 | ||||||||||||||||||||||||||||||||||
技术领域 | 工业安全 | ||||||||||||||||||||||||||||||||||
行业 | |||||||||||||||||||||||||||||||||||
简介 | 电脑鼠实际上是集传感与控制于一体的,能够自动穿越迷宫的微型机器人。本课题结合模拟电路、数字电路知识以及传感器知识,制作出一个性能优良的电脑鼠,在迷宫中找到一条最优路径,走出迷宫。根据国际标准迷宫电脑鼠的比赛规则,通过各种方案的对比,确定在本文中采用NXP公司ARM7LPC2138作为控制核心,将新兴的群智能算法运用到迷宫电脑鼠中。 | ||||||||||||||||||||||||||||||||||
内容 |
![]() 曾璐(1983-) 女,江西赣州人,江西理工大学应用科学学院教师,研究方向为过程控制和嵌入式系统。 摘要:电脑鼠实际上是集传感与控制于一体的,能够自动穿越迷宫的微型机器人。本课题结合模拟电路、数字电路知识以及传感器知识,制作出一个性能优良的电脑鼠,在迷宫中找到一条最优路径,走出迷宫。根据国际标准迷宫电脑鼠的比赛规则,通过各种方案的对比,确定在本文中采用NXP公司ARM7LPC2138作为控制核心,将新兴的群智能算法运用到迷宫电脑鼠中。 关键词:最优路径、迷宫、电脑鼠、ARM、蚁群算法 Abstract: Micromouse in fact being microrobot with integrated sensor and controller, which is controlled by the microprocessor, can automatically traverse maze. Combining with analog circuits, digital circuits and sensors knowledge, we construct a fine performance micromouse that can find an optimal path in the maze. In accordance with international maze micromouse competition standards, compared with some different schemes, it makes certain that using ARM7LPC2138 as control core can apply the intelligent algorithms in maze micro-mouse. Key words: Optimal path; maze; micro-mouse; ARM; Ant colony algorithm 智能机电鼠又称电脑鼠,电脑鼠( micro mouse)是一只迷人的人工智慧鼠,它不但有锐利的眼睛和灵活的双脚,还有聪明的头脑来控制眼睛和双脚,使眼睛和双脚能够同心协力,互相配合,以达成唯一的目标——走出迷宫。实际上电脑鼠就是一个电动小车,而这个电动小车是由一个或多个微控制器来控制,通过传感器和其他各器件的配合,具备一定智能。目前,电脑鼠在一些电子设计竞赛中出现的比较多,电脑鼠走迷宫是机器人比赛中比较重要的一个分支,其主要考察的是电脑鼠对未知世界的自动探索和学习过程。 本课题是以“IEEE国际电脑鼠上海邀请赛”为背景,将采用飞利浦公司的微控制器LPC2138作为电脑鼠的控制核心,近年来国际上新兴的蚁群算法实现从起点到终点的最优路径选择,实现理论到模型制作的实际创新过程。蚁群算法是通过对生物行为的分析而得出的团体最优配置和路径选择,与电脑鼠的路径选择是非常相似。结合模拟电路、数字电路知识以及传感器知识,将平时所学的各种控制理论运用到实践当中,制作出一个性能优良的电子产品——能够走迷宫的电脑鼠。 1 系统总体设计方案 为本课题的最佳电脑鼠也是一个多学科的综合产物,主要包括电源,传感器,步进电机,控制核心电路,机身5个部分。传感器就是电脑鼠的眼睛,用来获取各方面的信息,送到LPC2138(电脑鼠的大脑)中处理,然后驱动步进电机,由步进电机(电脑鼠的脚)执行相应的动作,包括加减速,转弯,停止。 迷宫电脑鼠的控制系统设计主要包括三个方面:①控制电路设计;②传感器选择以及安放位置设计;③程序设计。选用LED显示电脑鼠运行时的状态,ULN2003驱动4相6线步进电机,JY043W红外线传感器检测距离和LPC2138作为控制器。由于电脑鼠走迷宫和蚂蚁觅食过程两个问题上具有很大的相似性,用蚁群算法来解决电脑鼠走迷宫具有很强的优越性。因此蚁群算法选择方案。 如图1所示,整个系统可以初步分为以下主要部分:电源模块,控制模块,执行机构模块,传感器模块,机身模块。可以形象地认为,电源模块是电脑鼠的“动力源泉”,控制模块是电脑鼠的“大脑”,传感器模块是电脑鼠的“眼睛”,机身模块是电脑鼠的“躯干”,执行机构是电脑鼠的“脚”,几个模块之间要相互配合才能使这只老鼠正常工作并最终“逃离”迷宫。 2 电脑鼠控制系统设计 2.1 电脑鼠硬件系统设计 在一只电脑鼠的架构完成前必须先进行硬件的整体规划,图2为系统硬件架构发展流程图。 机身是电脑鼠的最基本架构,选用双主动轮,单从动轮的方案,从动轮使用万向轮,转弯时是通过两个主动轮的差速来达到转弯效果,通过读取传感器来进行及时调整消除单从动轮转动时造成的误差。在本设计中,选用了PHILIPS公司基于ARM7TDMI-S核、单电源供电的LPC2138作为系统的微处理器。 2.1.1 电源电路 移动电源的地位在移动式机器人中历来十分重要,可以说是机器人的生命源。在该系统中,需要使用12V、5V、3.3V的直流稳压电源,其中驱动二个步进电机电机使用12V左右的电源,而LPC2138微处理器及外围器件需要3.3V电源,其他器件需5V电源。为简化系统设计,系统配8节电池(每节1.5V,8*1.5=12V),通过三端稳压芯片L7805CV供需要5V的器件使用,再对5V电源使用SPX1117M3-3.3降低到3.3V供ARMLPC2138微处理器及其他部分使用。系统电源电路如图3所示。 2.1.2 传感器检测电路 电脑鼠通过传感器来认识迷宫这个未知的世界,因此,传感器的选择有着至关重要的作用。本课题中选用JY043W传感器,使用+5V直流电源供电。在运算放大器的输入端口对红外传感器的输出值与设定值进行比较,电位器R33用于调节灵敏度,在不同环境、不同光源下必须通过此来调节,以减少误动作的产生。红外传感器测距电路如图4所示。 2.1.3 步进电机驱动电路和LED显示电路 本课题中设计了最简单的用控制器I/O口来发出控制信号,通过达林顿管电压放大后来控制步进电机。为了防止控制紊乱造成电机的损坏,在步进电机和驱动芯片之间连接了电阻,为了不影响驱动能力,电阻大小为1KΩ。 人机交互界面即键盘和数码管显示电路,是人和电脑鼠交流的界面。通过按键启动电脑鼠开始工作,在LED上显示当前电脑鼠的运行状态,每一种LED代表当前老鼠的运行状态,包括加速、减速、左转90°,右转90°,转180°等。 2.2 电脑鼠底层软件系统设计 在主程序中,首先是初始化(其中包括了GPIO的初始化、定时器1捕获初始化等)。初始化结束后,判断启动开关是否按下,如未按下,则继续等待并检测是否有健按下;如果启动键按下,LED显示开机运行状态,同时调用蚁群算法搜寻策略的子程序,在蚁群算法搜寻策略的子程序中,通过算法控制策略,根据所获取的不同的传感器信息,调用不同的底层步进电机驱动程序,有了这些基本的运动程序,电脑鼠就可以在迷宫中运动并搜索最优路径,直至寻找出最优路径。若找出最优路径,电脑鼠运动至终点并LED显示目标寻找结束。主程序的设计框图如图5所示: 3 电脑鼠驱动执行机构与感知系统的研究 在电脑鼠系统中,传感器模块是电脑鼠的“眼睛”,运动执行机构(轮子)是电脑鼠的“脚”。通过红外传感器来感知迷宫这个未知的世界,电脑鼠则根据传感器所获取的相关信息由步进电机来驱动两个轮子执行相应的动作。 3.1 电脑鼠的驱动执行机构研究 迷宫的大小和迷宫每一格的大小都是已知的,当老鼠轮子大小确定的时候,每来一个脉冲,老鼠行走的距离也是一定的,那么我们就可以控制脉冲的个数来确定和检测老鼠是否走过了一单元,而不需要另外再加一个测距装置,在硬件复杂度上得到简化。因此步进电机是一个较好的选择。 控制步进电机按照脉冲的控制顺序的给定可以有几种工作方式,本课题中选用双四拍的控制方式。表1是四相双四拍工作方式的控制数据表。 表1 四相双四拍工作方式的控制数据表
控制步进电机进行加减速就是实际上控制每次换相的时间间隔,如果利用定时器中断方式来控制电机变速,就是不断地改变定时器装载值得大小。每接收一个脉冲信号CP,驱动步进电机旋转一个步距角(细分时为一个细分步距角),步进电机的转速与CP的频率成正比,CP的脉冲个数决定了步进电机旋转的角度。电机的转动方向由DIR信号决定。 3.2 电脑鼠感知系统的研究 电脑鼠在探测迷宫时要完成两个基本任务:一是能够快速测定电脑鼠与迷宫隔墙之间的距离,以保证电脑鼠在行走时不碰到隔墙墙壁;二是能够及时测定电脑鼠行走的距离,以便推算出电脑鼠在迷宫中确切的位置信息。 为了实现电脑鼠在迷宫中运动更加有效率,则电脑鼠的运动轨迹应为直线(拐弯时除外)。根据上述分析,分别在电脑鼠机身的左右两侧各安装了一个红外发射传感器A1和A2,初始化距迷宫左右壁的距离为L1和L2,再考虑一定偏移裕度Ample1和Ample2,则对应的检测距离为:L1±Ample1和L2±Ample2。 当机身向左偏移时,则机身左边的传感器检A1测到的距离小于所设定的阈值L1±Ample1,机身右边的传感器检A2测到的距离大于所设定的阈值L2±Ample2,此时控制器检测到传感器的信息,发送相应的控制命令给电脑鼠的左右两个电机,进行向右转动调整,直到恢复为电脑鼠运动的初始状态;当机身向右偏移时,则机身右边的传感器检A2测到的距离小于所设定的阈值L2±Ample2,机身左边的传感器检A1测到的距离大于所设定的阈值L1±Ample1,此时控制器检测到传感器的信息,发送相应的控制命令给电脑鼠的左右两个电机,进行向左转动调整,直到恢复为电脑鼠运动的初始状态。 4 蚁群算法在迷宫电脑鼠中的应用 在利用蚁群算法求解迷宫最短路径问题时,为了使每只蚂蚁能以尽可能高的概率生成可行解,本文采用两组数量相等的蚁群分别从迷宫的起点和终点同时出发,该表记录蚂蚁 当前走过的点集,以避免选择已经走过的点。 对任意一只蚂蚁,在移动过程中可以定义如下的生命周期:①蚂蚁走进死角,除非沿原路返回一步或多步,不能再朝前移动,则将该蚂蚁从系统中删除;②蚂蚁到达另一组蚁群的出发点,此时该蚂蚁走过的路径为一条可行路径;③蚂蚁碰到另一组的某只蚂蚁。如果这两只蚂蚁所经过的点没有重复(相遇点除外),则将两只蚂蚁所经过的路径相连以构成迷宫的一条可行路径。因此,从蚁群的产生到生命周期的结束,会有一部分蚂蚁找到问题的可行解,但可行解的数量小于蚁群数的一半。 5 小结 本文从分析迷宫电脑鼠比赛规则入手,介绍了电脑鼠硬件系统的设计过程和流程图,将电脑鼠整个系统设计进行模块化划分:LPC2138作为电脑鼠的大脑,蚁群优化算法作为电脑鼠的思想,红外测距传感器作为电脑鼠的眼睛,步进电机作为电脑鼠行走的驱动机构。并对迷宫电脑鼠控制系统的驱动执行机构和感知系统进行了介绍。进行了迷宫电脑鼠控制系统硬件部分和软件部分的设计。选用了Philips高性能32位微控制器LPC2138,设计了其外围电路。经过不断地调试,本控制系统能达到预期的设计要求。迷宫算法是迷宫电脑鼠比赛的关键技术,然后根据迷宫电脑鼠比赛的特点,确定一种符合本课题要求的改进蚁群算法。 参考文献 [1] Joseph L Jones[美],原魁,邹伟等译. 机器人编程技术——基于行为的机器人实战指南[M]. 机械工业出版社,2005. [2] 董玉成,陈义华. 基于蚂蚁算法的移动机器人路径规划[J]. 重庆大学学报. 2003,3(26). [3] 钱真彦. 走迷宫机器人——控制系统设计[M]. 上海交通大学,2004. [4] 樊晓平等. 复杂环境下基于蚁群优化算法的机器人路径规划[J]. 控制与决策,2004,19(2) . [5] 高丽宏. 移动机器人的路径规划和避障控制[大连理工大学硕士学位论文]. 2002. |