助手机器人的识别功能.doc_第1页
助手机器人的识别功能.doc_第2页
助手机器人的识别功能.doc_第3页
助手机器人的识别功能.doc_第4页
助手机器人的识别功能.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

走迷宫机器人主要是基于自动导引小车(AGVauto-guided vehicle)的原理,实现小车识别路线,判断并自动规避障碍,选择正确的行进路线。导引方式采用与地面颜色有较大差别的导引线,使用反射式光电传感器感知导引线,障碍判断采用机械式传感器。驱动电机采用直流电机,电机控制方式为单向PWM开环控制。控制核心采用51单片机,控制系统与电路用光耦完全隔离以避免干扰。控制上采用分时复用技术,仅用一块单片机就实现了信号采集,路线判断,电机控制。该技术可以应用于无人工厂,仓库,服务机器人等领域。 总体规划对于走迷宫小车控制系统设计主要有三个方面:一、控制电路设计;二、传感器选择以及安放位置设计;三、程序设计。从总的方面来考虑,传感器的使用数量应该尽量少以减少单片机的信号处理量,但是又必须能使小车行驶自如。控制电路要根据选用的电机和传感器来设计,主要考虑稳定性,抗干扰性。一、 电路设计控制电路主要有电机驱动电路,单片机接口电路,电源电路三个部分。考虑到电机的起动电流和制动时比较大,会造成电源电压不稳定容易对单片机和传感器的工作产生干扰,所以,电机驱动电路和单片机以及传感器电路用光耦隔离。传感器的电源直接使用24V蓄电池,单片机的电源则通过7805将24V电源转换到5V。这里主要对驱动电路进行一下介绍:小车使用24V直流电机, 对于这种小功率直流电机的调速方法一般有两种。(1)线性型使用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,成本低,加速能力强,但功率损耗大,特别是低速大转距运行时,通过电阻R的电流大,发热厉害,损耗大。(2)脉宽调制另外一种是较常用的脉宽调速(PULSE WIDE MODULATIONPWM),这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转的等优点。因此决定采用PWM方式控制直流电机。PWM调速分为双向式和单向式两种 双向式图一即为较常用的PWM调速电路,在一个脉冲周期内(T=TaTb),T1和T3导通的时间为Ta,T2和T4导通的时间为Tb,这样在Ta这段时间内,电机通过的是正向电流,在Tb这段时间内为反相电流。当Ta=Tb时电机停转,TaTb时电机正转, Ta 图一 单向式单向式的电路更双向式相同。不同的是,在电机正转时,Tb这段时间内不通过反向电流,电机反转时,Ta内不通过正向电流。其调速原理基本与双向式相同。单向式与双向式相比,三极管的开关频率少一半,比较不容易发生上下三极管导通而造成电源短路的情况,故可靠性有所提高,但控制性能比双向式稍差。外特性、低速性能也不如双向式好。图二 图三如上左图所示为双向式调速方式下速度与占空比关系曲线,右图为单向式调速方式曲线。综合以上两种方式的优缺点,并考虑到走迷宫机器人对调速精度不太高,以及省电,器件损耗等各方面因素,决定采用单向式PWM。考虑到编程时可能会产生使T1、T2、T3、T4都导通的情况,以至电源短路,烧毁器件。为避免出现这种情况,设计了图四所示的电路。此电路只用一个三极管控制电路的通断,用四个继电器控制电流的流向,从而控制电机的转向。这样无论如何,都不会出现因编程原因而造成电源短路的情况。由于采用单片机控制电机,如果单片机的电源采用与电机同一电源,虽然经过稳压、滤波,但是单片机仍然容易受到电机以及继电器的干扰,为了避免干扰,采用光电隔离,单片机和电机采用两套电源。如图二红色方框所示,4N26光耦一般需要2mA以上的驱动电流,由于单片机的输出电流只有几百微安,故需要先接74LS245或者接一个三极管增加驱动能力(74LS245的高电平驱动能力为15mA)。光耦的输出再接给达林顿管,考虑到电机的短路电流有2A,故选用TIP132型号的达林顿管(允许通过的最大瞬时电流为8A)。另外在达林顿管的C极和电源的正极之间接一个耐流为2A的二极管(蓝色方框中),这样在关断电源后,使继电器反相,可以让电机放电,这样小车不至于因为惯性而滑行太远(实验证明,如果不加二极管,同样的初速度,小车要在断电后继续前进2030cm,如加了二级管则只要继续前进10cm左右)。考虑到走迷宫机器人对电机转速,距离控制的要求不高,为了简化程序和外接电路,所以没有考虑采用闭环PWM控制,用开环PWM控制就可以实现小车的功能。图四 二、 传感器:1、传感器的选择:小车要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当与给小车一个视觉功能。实现机器人的视觉功能有多种方式,有使用CCD摄像头进行图象采集和识别方法,但是此方法,在资金上耗费较多,而且还牵涉到图象采集,图象识别等领域,为了简单起见,使用多个反射式光电传感器。反射式光电传感器的光源有多种,有来自于红外发光二极管,普通发光二极管,以及激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较集中,传感器只接收很小个频率范围内的信号,不容易被干扰。对于障碍物的检测方面,可以使用超声波传感器,效果也较好,但相比之下,用机械式的传感器(微动开关)价格便宜,使用方便,无需提供电源。图五2、传感器安放位置(1)机械传感器:放置在小车的最前端,当小车碰到障碍物后者墙壁时,机械传感器就能给单片机一个中断信号,通知单片机遇到障碍,需要改变方向。(2)光电传感器摆放位置:(如图六)中间四个传感器用来检测小车是否走偏,前面两个用来判断小车是否到达路口,后面两个用于转弯时,小车的位置调整。图六下表列举了几种主要传感器输入情况:三、程序设计主程序主要起到一个导向和决策功能,决定什么时候小车该做什么。小车各种功能的实现主要通过调用具体的子程序。子程序有以下几个:(1) 检测光电传感器子程序:根据需要直接从端口读取即可,不过为了防止出现干扰和错误信号,采用延时读取的方法,即在第一次读取后延时一段时间再读取,如果第二次读取的信号和第一次的不一样,则说明可能存在干扰信号,就重新读取并比较,直到两次读取的信号一致为止。(2) 行走路线子程序:用于设定行走路线。(3) PWM子程序:用于控制马达转速。89C51芯片没有PWM输出功能,需要通过编程实现。为了在输出PWM波时,单片机仍能执行其他程序,可以利用单片机内部的定时器溢出中断来实现。占空比占用一个字节的RAM,占空比D=N/256。(4) 判断路口子程序:对传感器的输入值进行判断,以判断是否到达路口。(5) 延时子程序:定时功能。(6) 转弯子程序:当小车到达岔口并需要转弯时调用此程序。主要让小车在到达需要转向的路口时减速,调整位置,转向,然后继续前进。(7) 走直线子程序:小车在直导引线行驶时的调整程序。根据中间的四个光电传感器的反馈值来判断小车偏离导引线的距离,并根据偏离距离的不同,对电机进行调速,使左右电机有差速,以实现对小车的偏离进行调整(脉宽调速是使用单片机内部中断产生周期约为8ms的方波,通过改变高电平的宽度来进行改变电机的转速)。如图六所示,下半张是小车偏离导引线的情况,此时左轮减速,直到小车 图六 的2、3号传感器再次检测到导引线,即上半张图的情况,虽然此时小车回归导引线,但是小车的行进方向与导引线并不平行,小车仍会再次偏离,这样下去小车的行驶路线就变成了S型曲线,而且弧度会越来越大最终脱离导引线,因此如果小车出现偏离,就做下标记,当小车行驶回导引线时(中间四个光电的值为0110),调用一个调整子程序,根据前次小车偏离的程序,进行不同程度的调整。也就是在小车回归导引线的时候让(如图中的情况)右电机停转一端时间,使小车的行驶方向纠正回来,与导引线平行。 以下是主程序的流程图:四、走迷宫策略:如果迷宫不太复杂,且主要为纵横方向的直线,可采用让小车在路口始终左转或者始终右转的方法走迷宫,也就是让小车沿迷宫的边沿走,只要在出口处放置一个标记,让小车用光电传感器识别即可。另外也可以让小车在每个路口处记录

温馨提示

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

评论

0/150

提交评论