基于线阵CCD的水中机器人输油管检测比赛策略Word下载.docx
《基于线阵CCD的水中机器人输油管检测比赛策略Word下载.docx》由会员分享,可在线阅读,更多相关《基于线阵CCD的水中机器人输油管检测比赛策略Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
实验证明,该方案有效可行,在2015年度华北五省机器人大赛“基础组输油管检测技术挑战赛”中,获得第一的好成绩。
1 比赛规则介绍[2]
基础组输油管检测技术挑战赛要求参赛队各派一条机器鱼参加比赛,这个机器鱼由水中机器人创新平台基础版搭建的单关节摆动机构推动。
1.1 比赛项目场地设置
用直径75mm白色PVC管铺设模拟输油管线,PVC管铺入水池底部,管线场地如图1所示。
用直径3cm圆形实心黑色标记表示漏油处,共设置8个漏油处,随机分布在输油管各处。
场地图标识起点和终点所处的虚线方框内部分别为起点区和终点区,起点区和终点区用黑色胶带标记规划范围。
图1 输油管检测技术挑战赛场地图
1.2 比赛过程
比赛开始前,机器鱼置于起点分隔线框内,不得超过分隔线。
裁判吹哨示意比赛开始,比赛计时开始,由裁判远程连接并启动机器鱼,启动后不允许再进行任何操作。
机器鱼沿着输油管线按照白色箭头指示方向游动,不得偏离管线,从正上方观察若机器鱼在水平面上的投影与管线在水平面上的投影没有重叠则比赛停止,计时结束。
游动的同时检测管线上标记的漏油处,检测到漏油处时通过一定方式告知现场裁判及观众,可以是声音、光、回传PC机数据等,机器鱼全身进入终点区比赛结束,计时停止。
1.3 比赛的计分规则
漏油处检测分:
正确检测到一个漏油处加10分,正确检测要求从正上方观测机器鱼与漏油处有重合,并且同时以明确的方式报告检测到漏油处。
机器鱼在未遇到漏油处时有报告则为误报,扣10分,满分80分。
完成比赛分:
不偏离管线(判断标准以比赛过程描述为准)到达终点处完成比赛,加20分。
计时分:
在150s内完成比赛,比赛用时为T,获得(150-T)/4分。
技术分:
根据比赛采用的技术形式及比赛完成情况给技术分。
评定标准:
检测过程中机器鱼结构未接触到管道的队伍获得基础技术分10分,比赛过程中有接触到管道的队伍没有基础技术分,根据漏油处报告方式、创新思路、技术难度、实用性四个方面由评委每个方面给出0-10分的评分。
技术分满分为50分,总分为四部分得分相加。
2 检测原理及系统构成
2.1 检测原理
笔者利用的线阵CCD模块,由128个光电二极管的线阵阵列组成。
光源发出的光经过水池、输水管道的反射照射到CCD上,光的能量在光电二极管上产生光电流,相关像素点上的有源积分电路对这些光电流进行积分,形成所对应的电势。
经信号处理后可由蓝牙无线传送到电脑终端,实时显示被测区域的感光电势图。
这样就能区分水池的蓝色、水管的白色和漏点的黑色,确保机器鱼在竖直方向上沿管道运行,检测并报告漏点。
2.1 系统构成
利用AVR单片机产生线阵CCD的驱动脉冲驱动CCD工作,输出信号经单片机内部的A/D转换、放大和滤波后,再通过二值化的处理,输出信号通过蓝牙设备传输到电脑终端,通过图像的偏移程度自动校正尾部舵机的旋转。
当检测到漏点时,单片机驱动Led灯闪。
硬件结构框图如图2所示。
图2 系统结构框图
3 硬件电路
3.1 线阵CCD
笔者利用TSL1401R-LF线阵CCD模块,它的核心是一片具有128个像素的线阵CCD,可以直接与任意系列MCU相连接进行数据采集处理。
该线阵CCD模块具有以下特点:
高灵敏度、体积小、重量轻、功耗低、接口简单、易于固定[3]。
线阵CCD的安装如图3所示。
图3 线阵CCD的安装图
3.2 微处理器
水中机器人创新平台选用的是ATMEGA128单片机。
ATMEGA128使用RISC指令集,指令周期绝大部分为单周期指令,具有相当高的执行速度,8MHz频率下工作的ATMEL128相当于224MHz频率下工作的普通MSC51,可适应CCD驱动所要求的高频脉冲信号。
此外,工具包括C编译器宏汇编程序Atmega128(有整套的开发调试器/仿真器和评估版),开发比较方便[4]。
3.3 蓝牙通信设备
DF-BluetoothV3蓝牙模块采用独特双层设计板,既美观又可防止静电模块。
可以设计两个电源输入口,一个宽电压供电(3.5-8V),一个3.3V供电,以适用于各种场合。
系统可以用STATE和LINK指示灯清晰显示模块工作状态和连接状态,其中,STATE状态有搜索状态(高104ms,周期2s,0.5Hz闪烁);
LINK状态一般在配对后常亮[5]。
4 软件设计
软件程序主要由3个功能模块组成:
CCD驱动和数据采集模块、数据处理模块、数据通信和显示模块。
4.1 CCD驱动与信号处理
在CCD的应用系统中,一般都会用到微处理器,所以采用“软件驱动”法,就无需增加硬件设备,电路结构也最为简单,系统成本最低。
因此,只要能克服驱动频率低、资源浪费多及时序不均匀等特点,将会是一种理想的驱动方法。
利用ATMEGA128单片机产生线阵CCD的驱动程序,即产生保证CCD器件正常工作的转移时钟、传输时钟、采样保持时钟、复位时钟、信号处理和A/D转换所需的同步脉冲,保证线阵CCD输出信号精确。
复位脉冲RS每到来一次,CCD将输出1个光敏单元信号,单片机对这些信号进行采集,信号经放大滤波调理后,再经二值化处理,从而得到清晰地图像。
输水管检测流程图如图4所示。
4.2 测量结果显示
测量的结果由蓝牙装置传输给电脑,可以通过CCD上位机软件观察到机器鱼分别在游动过程中的CCD电压图和检测到漏点时CCD电压图,分别由图5、图6所示。
图4 输水管检测流程图
4.3 蓝牙通信
蓝牙是一种支持设备短距离通信的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。
本系统中主要用的是蓝牙配对和BluetoothSerialPort协议。
其中配对的是两个Bluetooth设备间建立新关系的过程。
在此过程中,将进行链路密钥(在请求建立连接之前或在连接阶段);
而BluetoothSerialPort的主要功能是将Bluetooth的通信转化为VirtualSerialPort(虚拟串口)。
经过这样的转换后,使用Bluetooth的Client程序就可以像使用串口一样操作Bluetooth,并通过这个把采集的线阵电势图传递给电脑。
图5 机器鱼在游动过程中CCD电压图
图6 机器鱼检测到漏点时CCD电压图
5 直角拐弯检测漏点策略
经过反复的测试,基于线阵CCD的机器鱼在输油管的直行段上检漏具有相当大的先进性,但在直角拐弯有些瑕疵。
为解决直角拐弯可能出现漏点漏检的情况,笔者经过反复的调试和实验,最终得到直角拐弯漏点检测算法。
上文已得出线阵CCD具有一定的前瞻性,在此给出两个定义。
拐弯动作的执行:
当机器鱼头部的线阵CCD检测到前方无管道时,机器鱼的中心离拐弯的直角边还有20cm左右的距离,所以继续前进3个周期左右之后拐弯。
漏点判断的动作:
根据比赛规则,正上方观测的机器鱼与漏油处有重合时,报告检测到漏点。
实际上,当机器鱼的线阵CCD检测到漏点时,鱼身中心距离漏点30cm左右,所以继续前进5个周期再报告漏点检测。
通常来说,机器鱼采用的是寻管道策略,即线阵CCD一直在做检测管道、反馈信号通过尾部舵机保持机器鱼的中线和管道的中线重合的功能,这就会造成管道垂直处机器鱼未经过的情况。
如果有漏点刚好分布在管道垂直处,线阵CCD检测到漏点,并做出漏点判断动作,但机器鱼身体未能在漏点上垂直经过,这就会违反比赛规则。
综上,笔者建议在机器鱼鱼身增添两个直流推进器,既能在直行时提升速度,拐弯时又能最大化地投影接触,一举两得。
6 结语
本文提出了基于线阵CCD的单关节机器鱼输油管检漏比赛的策略,采用线阵CCD,ATMEGA128及高速的A/D转换器构成测量系统,测量精度高且响应时间短。
该策略为“基础组输油管检测技术挑战赛”比赛寻求检测漏点准确率高、机器鱼游动速度快提供了一种方法。
参考文献
[1]北京大学智能控制实验室.水中机器人竞赛推介书[M/OL].2012.http:
//.
[2]国际水中机器人联盟.2015国际机器人水中大赛基础组比赛项目及规则[EB/OL].[2015-05].http:
//&
uk=3429302021&
fid=128694300765220.
[3]韩丙辰.CCD光幕靶交汇测量精度研究[J].科技情报开发与经济,2005(8):
173-174.
[4]沈建良.ATMEGA128单片机入门与提高[M].北京:
北京航空航天大学出版社,2009:
13-37.
[5]邢传玺,栾晓明.基于蓝牙的嵌入式通信模块的实现[J].应用科技,2009(9):
43-47.
本文结合单关节机器鱼输油管检漏比赛,提出利用线阵CCD作为巡管道、检测漏点的策略,采用AVR单片机驱动CCD工作并对采集的数据处理,经蓝牙无线传输到电脑终端实时观测。
在此基础上,本文还提出直角拐弯检测漏点策略,使得机器鱼的垂直投影能最大比例地与管道重合,防止出现漏点。
整个策略简化了电路结构,且鱼身无外挂物,游动时所受阻力小、速度快,检测漏点精确率高,很大程度凸显了线阵CCD的优势。