论文部分内容阅读
随着国家经济转型和产业结构调整,智能制造已经成为工业发展的不可阻挡的趋势。机器替代工人在生产中作业变得越来越普遍,传统的机器人往往通过离线编程来固定运动轨迹,从事一些简单重复的工作,灵活性较差。当联合了机器视觉技术后,机器人就拥有了能观察的“眼睛”,能够替代人眼完成一些复杂的、高精度的工作。在工业生产中,流水线分拣是一个非常重要的环节,由于分拣作业情况复杂,劳动强度大,人工分拣成本高,且容易受主观意识影响出错。针对上诉问题,本文联合机器人和视觉技术设计了一套分拣系统,用于替代人工完成分拣任务。分拣系统需要研究解决的核心问题有两个,一是目标识别问题,传送带上的目标运动速度快,种类多,分布散乱,且不同类型目标之间差别小,必须使用高效率的识别算法才能满足分拣实时性要求。二是目标的跟踪和抓取问题,同一个目标会多次重复出现在图像序列中,需要设计算法将其标记出来,在跟踪抓取单个运动目标的同时,其它进入抓取区域的目标位置在不断变化,需要设计一种稳定的跟踪策略,保证每个目标都能被准确跟踪到。本文为解决上诉两个问题进行详细的原理分析和实验论证,主要的工作内容如下:(1)完成分拣系统的搭建和标定工作。分拣机器人采用的是EPSON公司的LS6-602机器人,工业相机采用Basler公司的acA1600-20gm相机。对整个系统进行了标定,求得机器人基础坐标系和工具坐标系转换关系,传送带的角度和运行速度,图像像素坐标和工具坐标的转换关系。(2)实现图像中多种目标的快速识别。分析了灰度匹配算法在多种类目标识别时速度和稳定性上的不足,进而采用快速检测特征点的ORB算法,为解决ORB算法在旋转角度过大时匹配性能下降的问题,分别计算待识别目标和模板圆形ROI中的轮廓质心,将两者轮廓质心同时旋转到水平方向,消除一部分角度后再进行匹配,选取正确匹配点数量最多的模板类型作为识别结果。(3)设计了基于时间的目标去重算法和传送带跟踪抓取策略。计算图像中每个目标离开相机视野的系统时间,将其绑定为目标的属性,遍历比较当前图像与前一帧图像所有目标的时间属性,如果差值在阈值范围内的目标则被标记为重复目标。规划机器人跟踪轨迹,计算当前系统时间与待抓取目标时间属性的差,得到目标进入抓取区域的时间,以此估计机器人跟踪所需时间。根据传送带速度和跟踪时间求得目标抓取点的坐标。(4)使用多线程技术实现生产者和消费者模式,协调目标识别任务和跟踪抓取任务同时运行。一个线程负责识别,将识别结果根据目标的时间属性由小到大存入公共队列,另一个线程负责跟踪,从结果队列中取数据,通过TCP通信将结果数据发送给机器人。为避免发送的数据丢失或阻塞,跟踪线程每次只向机器人发送一条数据,等收到机器人抓取完成信号后,再发送下一条数据。最后整合前期工作,基于Opencv和QT平台编程实现了上述算法流程,准确无误地对传送带上的目标连续进行分拣。