1目录一、设计任务和要求.......................................2二、设计应用背景.........................................2三、难点分析.............................................2四、实施方案.............................................34.1两套方案的分析与比较..........................................34.1.1主控系统..................................................34.1.2循迹模块..................................................34.1.3避障模块..................................................54.2设计最终拟采用的方案..........................................84.2.1传感器选择................................................84.2.2优缺点分析以及成本.......................................12五、流程图设计..........................................125.1循线的流程图...............................................125.2避障的流程图...............................................13六、收获与体会..........................................14参考文献................................................142一、设计任务和要求机器人要实现自动导引循迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。二、设计应用背景自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航一种实用有效的方法。三、难点分析自己组装一个小车框架,在小车的左右两边分别加装一个光电开关,实现小车的循迹功能,在小车的右边水平固定一个光电开关,实现小车的避障功能。将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对小车的智能控制。3四、实施方案4.1两套方案的分析与比较4.1.1主控系统方案1:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案2:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定了AT89S52单片机作为本设计的主控装置,52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是52单片机价格非常低廉。4.1.2循迹模块循线的过程其实就是不断判断循线传感输出电压值并做出相应判断的过程。根据场地信息的不同,可以将循线分为两个部分:1)循线行进:黑线较为平缓,没有太大的转弯(转弯角度不超过270度)。这种情况,不需要依靠左右两端的转弯辅助探头,只要当左侧偏转探头探测的黑线时,右侧轮子加快速度,从而使小车前进方向向左偏转;同理,当右探头偏转探头探测到黑线时,则相应的左轮加快速度,右轮减慢速度,使机器人前进方向4向右偏转。所以说,小车所谓的循线前进,其实是一次次摇晃前进的宏观表现。图6循线行进原理图2)循线转弯:当出现较大的转弯(需要一次转弯超过270度)。这种情况是通过左右两端的转弯辅助探头分析出来的,其实是过程如下图所示:图7循线转弯原理图同一侧的盘转探头和转弯探头同时探测到黑线,小车判断为转弯状状况。小车先低速(通过PWM控制,以50%的速率前进一小段距离)与转弯方向异侧的轮子前进,同侧的轮子以与一侧轮子相同的速率倒退,这样,小车便会绕着两个轮子中心连线的中点原地转弯。内侧(转弯方向一侧)偏转探头探测到黑线后停止转弯,恢复到循线前进状态。方案1:采用反射式红外发射-接收器,但易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定。再加上输出的是模拟电压,而单片机处理的是数字电压,需要电路的转换,制作复杂。5方案2:采用两只光电开关(如图2.3),分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。光电开关工作示意图如图2.4.图2.3光电开关图2.4光电开关工作示意图4.1.3避障模块为简化避障控制系统,这里选用直流减速电动机且实施开环控制,但是,这样不免带来控制不精确的问题,尤其是在绕过障碍物的过程中,采用开环控制,通过计算时间来实现避过障碍物的方法会遇到很多意想不到的问题(例如,电源电降低后,转过一定角度的时间会相应增加)。这里为了简化,只给出简易的三种避障方式:前方障碍、左方障碍和右方障碍。下面分别对其加以阐释。1)前方障碍:当在小车前行的方向上存在障碍物时,车身前方的红外传感器探测到障碍物。考虑到小车采用前轮驱动控制,如果此时后退,由于后面万向轮6的转动方向此时可能会出现不确定的情形,导致控制失败。因而,设计中采用“暂停“的方法——当小车探测到障碍时,电机停止运转;当障碍物撤离时,电机恢复原有状态。具体示意图,如图10所示:障碍物图10前方障碍原理图2)左方障碍:当在小车前行的方向的左边存在障碍物时,车身左方的红外传感器探测到障碍物。考虑到小车控制的精度问题,这里只采用简单的左转弯控制,即右侧车轮加快速度,左侧的车轮反向加速,从而使小车前进方向迅速向左偏转。具体示意图,如图11所示:障碍物7图11左方障碍原理图3)右方障碍:当在小车前行的方向的右边存在障碍物时,车身右方的红外传感器探测到障碍物。考虑到小车控制的精度问题,这里只采用简单的右转弯控制,即左侧车轮加快速度,右侧的车轮反向加速,从而使小车前进方向迅速向右偏转。具体示意图,如图12所示:障碍物图12右方障碍原理图方案1:采用二只光电开关分别置于小车的左右两端,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。但此方案过于依赖硬件、且成本较高、又缺乏创造性,而且置于小车左方的光电开关用到的几率很小,所以最终未采用此方案。采用红外线光电开关。由于红外线指向性强,在介质中传播远,因而红外线经常应用于距离的测量、障碍物的探测等。红外线探测障碍物并绕过障碍物模块是利用红外线发射器向某一方向红外线,红外线在空气中传播,途中碰到障碍物就立即返回来,红外线接收器收到反射光经相应的电路进行处理,以测定障碍物的方位及距离,并向小车发送控制信号以使小车绕过障碍物。方案2:采用一个红外线传感器即光电开关置于小车右端,选用光电开关的原因是其灵敏度高,较稳定,且外围电路比较简单;红外光电开关有3根引线,2根接电源,1根为输出,初始状态下为高电平,检测到障碍物时变8为低电平,将其信号输入单片机可对小车电机进行控制。4.2设计最终拟采用的方案4.2.1传感器选择4.2.1.1避障模块采用集成的红外光电对管采用TCRT5000单束反射式光电传感器,实现发射接收一体化。图4TCRT5000单束反射式光电传感器功能:通过红外光的发射和接受,实现电路的导通和关断。原理:由高功率发射管发射红外光,当遇到障碍物后被反射回来,被高灵敏度的光电管接受,传感器电路导通;当未到障碍物时,传感器电路关断。避障传感器电路:避障检测电路以TCRT5000光电对管和LM311(单路电压比较器)为核心电路图:9+-234和187104VCC15010K5000TCRT10K5.1KLED红色LM311Rc图17避障检测电路图功能:用于判断是否探测到障碍物。原理:采用TCRT5000反射式红外探测,由于光电对管距离地面较近,所以所发射的红外光未经过调制。采用LM311比较器,作为模拟电路和数字电路的接口。当光电对管TCRT5000中的光敏三级管未接收到红外光线时,三级管不导通,比较器正相输入端的电压值(接近VCC)高于负相输入端电压(通过10K可变电阻调节),所以比较器输出端电压为高电平,红色LED指示灯熄灭;当光电对管TCRT5000中的光敏三级管接收到红外光线时,三级管导通,比较器正相输入端的电压值(接近0V)低于负相输入端电压,所以比较器输出端电压为低电平,红色LED指示灯点亮。因为输出的电压值为VCC或者0V,所以同样可以直接将检测得到的信号传递给单片机处理芯片。显然可以通过调节可变电阻Rc的大小,实现探测距离的变化。TCRT5000接收管接收到红外光时,电阻变小,相当于“导通”,+输入端电压变低,低于-输入端,输出低电平;没接收到光时电阻变大,相当于“断开”,+输入端电压变高,高于-输入端,输出高电平。4.2.1.2循线模块红外放射式光电传感器特性与工作原理:反射式光电传感器的光源有多种,常用的有红外发光二极管,普通发光二极管,以及激光二极管。理论上光电传感器只要位于被测区域反射表面可受到光源照射同时又能被接收管接收到的范围就能进行检测,然而这是一种理想的结果。因为光的反射受到多种因素的影响,如反射表面的形状、颜色、光洁度,日光、日光灯照射等不确定因素。如果直接用发射和接收管进行测量将因为干扰产生错误信号,采用对反射光强进行测量的方法可以提高系统的可靠性和准确性。红外反射光强法的测量原理是将发射信号经调制后送红外管发射,光敏管接10收调制的红外信号,原理如图3-11所示。图3-11红外发射接收原理红外循线具体设计与实现:接近传感器应用场合不同选择不同,感觉的距离范围不同,可从几毫米到几米。对于自动寻迹和小车轮子的测速传感器,反射距离都在1cm左右,探测环境都在阴影之下,不易受到日光的干扰。