游历机器人系统研制及性能分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

游历机器人系统研制及性能分析摘要:为参加第十三届未来伙伴中国智能机器人比赛的机器人奥运游一项,针对比赛规则我院老师和学生共同研制了一款游历机器人。描述了机器人系统硬件构成,提出了三层式控制方案,设计了奥运游每一个景点的算法及控制程序,阐明了整个系统的软硬件的协同工作流程。游历机器人性能测试实验证明:系统各模块运转良好,视觉识别算法可有效提取寻迹信息,机器人准确到达每一个景点,整个路程米耗时。游历机器人具有较好的稳定性与较高的扩展性。关键字:游历;机器人;硬件构成;软件设计;性能测试中图分类号:TP242.31前言“机器人奥运游”竞赛项目要求参赛机器人在规定假期时间内,游历尽量多的景点,获得尽量多的得分,并在假期结束前回到出发地。目的是引导参赛队研究、设计并制作具有优秀硬件与软件系统的移动机器人,逐步提高机器的能力与智能。选用AVR的单片机作为核心控制器,内部硬件资源比较丰富,外部接口很多,集成了A/D、PWM、EEPROM、FLASH、SPI、WTD、IIC、T/C等功能部件,使外围电路变得很简单,来满足控制需求,再AVR的单片机是采用RISC指令集结构的新型8位单片机。由于AVR单片机采用单指令操作,所以,在相同时钟的情况下,AVR的单片机的指令周期只有8051型机的1/2,且采用两极指令流水线,可以在执行当前指令的同时获取下一条指令,所以具备1MI/s/MHZ的调整处理能力,特别是采用32个通用工作寄存器,克服了单一累加器数据处理带来的瓶颈现象,从而使得指令代码更加灵活,编码更容易。2硬件构成为了实现机器人游历要求,依据功能实现要求,系统硬件电路主要由控制器模块、执行模块、红外避障模块、寻迹模块、红外接收模块和电源模块等模块电路。系统硬件构成框图如图1所示。Atmega128最小控制电路能源模块电池红外避障模块灰度寻迹模块LCD12864显示模块执行模块电机声控启动模块红外遥控启动模块图1系统硬件构成框图2.1大脑控制器电路芯片使用AVR单片机ATmega128I/O口比较多,可以从外接的红外模块和声控模块上采集到的启动信号,启动机器开始景点的遍历,遍历过程中依据灰度模块采集到的寻迹信号,红外避障模块检测的路障、山峰信息和景点已到达等信号,并对信号进行分析,作出决策,以驱电路寻迹行走。2.2动力部分采用14.5V的聚合物锂电池供电,通过控制器发指令控制电机的转动方向和速度。电机驱动板由降压电路,信号驱动电路,滤波电路,电机驱动电路和减速直流电机及电轮组成。组成框图如下图所示。降压电路芯片电池14.5V 5V信号驱动电路滤波电路电机驱动电路减速直流电机四路方向与PWM信号图电机驱动与电源电路框图电源电路采用包含了DC/DC变换器所需要的主要功能的单片控制电路芯片MC34063且价格便宜。它由具有温度自动补偿功能的基准电压发生器、比较器、占空比可控的振荡器,R—S触发器和大电流输出开关电路等组成。该器件可用于升压变换器、降压变换器、反向器的控制核心,由它构成的DC/DC变换器仅用少量的外部元器件。在这里作降压电路,把锂电池提供的14.5V的电压降成5V,在经过三端稳压器7805稳压后给控制器芯片及其它芯片作电源。由控制器根据情况发出四个电机的四路动行方向控制信号与PWM脉宽调制速度控制信号,控制信号经过信号驱动电路74HC244,然后分别经光电耦合P521滤波电路芯片滤波后的四组信号,再经电机驱动电路芯片L298驱动减速直流电机以一定的速度和方向运转,进行各个景点的游历。2.3视觉部分此游历机器人的视觉部分由两种模块即灰度模块和避障模块组成。机器人前后各有一块五灰度模块用于循迹,前后各有三块单路的避障模块用于检测不同方向上的障碍物,然后根据看到的实物做出行动的方位。2.3.1灰度模块TCRT5000传感器的工作原理与一般的红外传感器一样,一传一感.TCRT5000具有一个红外发射管和一个红外接收管.当发射管的红外信号经反射被接收管接收后,接收管的电阻会发生变化,在电路上一般以电压的变化形式体现出来,而经过ADC转换或LM324等电路整形后得到处理后的输出结果.电阻的变化起取于接收管所接收的红外信号强度,常表现在反射面的颜色和反射面接收管的距离两二方面.硬件参考原理图如下:图TCRT5000参考原理图外接一指示二极管,传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。2.3.2红外避障模块该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出38KHZ的频率红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,接收指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~80cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。其硬件原理图如下图所示。图红外避障模块电路原理图图中电路由74HC00D四与非门电路芯片来调节940nm的红外发射管的发射频率和调节38kHZ的红外接收管的接收频率,以达到最好的发射与接收性能。接收管采用灵敏度比较高的SM0038,接收到红外信号后,经过增益放大、滤波、解码之后,输出的数据可以直接送给MCU进行处理。2.4能源系统机器人能源系统是核心控制模块、红外避障模块、灰度模块及运动部件――电机等耗能部件的集中供电场所。根据各耗能元件的供电参数,能源系统选用14.8V、2.6A的便于携带的聚合物锂电池供电,这样在行走过程中避免了电源的阻障,经济耐用,可多次充电,保证系统各电路模块的电源要求。2.5启动方式启动方式有两种:声控启动和红外启动。2.5.1声控启动图声控模块电路原理图2.5.2红外启动采用通用的红外家电遥控器做发射端,对其中的键位解码来控制机器人的启动。红外线编码是数据传输和家用电器遥控常用的一种通讯方法,其实质是一种脉宽调制的串行通讯。家电遥控中常用的红外编码电路有µPD6121G型、HT622型和7461型等,这里选用的是µPD6121G型,使用ATmega128单片机的捕获中断功能来实现其解码。3控制方案与软件设计AVR的单片机不仅有丰富的硬件资源,还有配套的开发应用软件,支持C语言程序设计。为了能够让控制程序容易上手编写,现采用的控制方案是把系统用到的与硬件电路有关的内容一一编写成函数并加以封装生成DLL文件,只留函数接口给用户,用户只管分析控制算法,编写主控程序。从功能与控制角度来看,可将机器人系统控制软件分为底层程序的编写和主控制程序的编写。3.1底层系统控制程序的编写针对硬件分析原理实现编程,包括红外避障信号采集函数、寻迹信号采集函数、红外遥控信号采集函数、液晶屏LCD1286信息输出函数、电机控制函数、声控信号采集函数、实时时钟DS1307处理函数和继电器处理函数、系统指示灯控制函数及串口通信函数等组成。主控程序根据每次游历场地不同,分析控制算法,通过函数接口调用底层函数以实现游历要求。3.1.1红外避障信号采集函数红外避障模块的输出信号是开关量信号:1有障碍,0无障碍。在游历机器人中红外避障模块的作用有以下几点:一是用于检测道路中随机安排的路障,二是用于确定是否到达某个景点,三是确定是上桥还是下桥,四是检测是否是攀登山峰。根据系统需求,需要机器人的两端各安装3个模块,一个水平安装,检测路障和景点标牌,另外安装两个向下30°角度用于检测桥和山峰信息。ATmega128单片机通过读红外避障模块接入的I/O引脚信号,以判断道路情况做出运行控制操作。3.1.2寻迹信号采集函数寻迹模块的输出信号也是开关量信号:0白线,1非白线。机器人在场地内是沿绿地毯上的白色线条行驶的,再白色的线条构成的路况信息有:直线、S线、15°角转弯、30°角转弯、45°角转弯、75°角转弯、十字路口、丁字路口,为了能对以上路况作出判断,在机器人车板下面安装寻迹模块,前后一排各五个模块,两模块之间的间隔距离是白线的宽度,也即中间模块采集到信号,直行,两边的两组两个模块采集到的信号以判断偏离白线的情况,调整车轮电机的速度,以保证沿白线行驶。车板的左右两边各安装一个寻迹模块,以判断是十字路口还是丁字路口,通过分析ATmega128单片机读得的寻迹模块接入I/O引脚寻迹采集到的信息,以判断道路情况做出运行控制操作。3.1.3红外遥控信号采集函数红外线通讯的发送部分主要是把待发送的数据转换成一定格式的脉冲,然后驱动红外发光管向外发送数据。接收部分则是完成红外线的接收、放大、解调,还原成同步发射格式相同(但高、低电位刚好相反的脉冲信号。这些工作通常由一体化的接收头来完成,主要输出TTL兼容电平。最后通过解码把脉冲信号转换在数据,从而实现数据的传输,如图所示是红外线遥控制系统的原理框图。键盘发光管PD6121G编码调制驱动接收头解调解码图红外遥控系统示意图该红外遥控系统的编码格式如图所示。µPD6121G遥控器的二进制“0”由0.56ms的间隔加0.565ms的脉冲表示;二进制“1”由0.56ms的间隔加1.685ms的脉冲表示。每次发送的32二进制码可分成两部分,其中前16位是遥控器辨识码,主要用于区别不同遥控器,后16位是接收按键值,这两个部分的后8位都是前8位的反码,用作数据校验。每帧数据以9ms的间隔加4.5ms的脉冲作为数据头。“header”“0”“1”图脉冲编码格式在机器人系统板上的接收头接ATmega128单片机的PD3/ICPI引脚,即利用16位时钟单元T/C1的捕获中断来实现红外线解码。T/C1内部的输入捕获单元可以应用于精确捕获外部发生的事情,亦即事件发生的时间印记。当一个输入捕获事件发生在外部引脚ICPI上的逻辑电平也随之发生变化时,T/C1的计数值将被拷贝到捕获寄存器ICR1并设置捕获中断标志,如果捕获中断允许并且总中断IE打开,系统则进入中断服务程序,利用这一功能测量红一脉冲的脉宽以实现红外传输的解码。捕获中断的触发可以是ICPI引脚上电平变化的上升沿,也可以是下降沿。根据前述脉冲调制规则,现以下降沿为触发事件来进行讨论。图是红外接收头的工作时序图,图中,一个下降沿到下一个下降沿之间刚好是一个脉冲加一个间隙的时间,这样,根据编码规则,这个时间长度所对应的信号关系如下:前导数据的时间:9ms+4.5ms=13.5ms数据“0”的时间:0.565ms+0.56ms=1.125ms数据“1”的时间:1.685ms+0.56ms=2.245msheader16位遥控器辨识码bit0bit1bit78位键值反码超时码图工作时序针对以上时序,通过ATmega128单片机的T0溢出中断产生100µs的脉冲串,T1下降沿触发输入捕获中断,首先置有效数据位变量的值([16,23]-16=0~7),然后测量两个下降沿之间的脉沖数,根据脉冲数来确定是哪种类型的数据信息,其中数据类型有:信号“0”、信号“1”、前导数据码、数据结束码和超时码,根据数据类型,置位有效数据位变量指定位的值。3.1.4液晶屏LCD12864信息输出函数液晶屏LCD12864的数据传送方式有两种:并行和串行,为了占用更少的控制器I/O口,采用串行通信,只需要(SCLK:时钟信号线,SDA:串行数据信号线)两根信号线就可以了。这样大大节约了引脚的使用。串行数据传送共分三个字节完成:第一字节:串口控制—格式11111ABC,A为数据传送方向控制:1表示数据从LCD到MCU,0表示数据从MCU到LCD,B为数据类型选择:1表示数据是显示数据,0表示数据是控制指令,C固定为0;第二字节:(并行)8位数据的高4位—格式DDDD0000;第三字节:(并行)8位数

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功