郑晨旭 李 亚
(天津科技大学天津市轻工与食品工程机械装备集成设计与在线监控重点实验室,天津 300222)
为迎合市场需求,以巧克力为核心的产品也走向了多元化,其中带有塑料手柄的巧克力棒产品以其新颖的外形和干净卫生的食用体验受到市场青睐。由于其制作工艺需要在巧克力浇筑前将塑料手柄放入模具中,目前传统的生产线主要依靠人力摆放,劳动力成本高,效率低下。少数企业采用自动化设备上料摆放,但由于巧克力塑料手柄外型的多样性与不规则性,上料错误率较高。近年来,机器视觉技术逐渐被应用于物体识别与引导机器人完成抓取[1-2],海潮等[3]提出了基于机器视觉的在线监测技术;邱素贞等[4]设计了基于机器视觉的码垛机器人控制系统;杨新海[5]提出了生产线目标同步抓取的方法。上述研究机器视觉均基于面阵相机,对线阵相机配合机器人抓取的系统研究不足。
相较于面阵相机,线阵相机检测精度更高,拍照速度更快,更适用于一维动态目标[6]。试验拟以某巧克力生产线为例,结合现场实际需求,设计基于线阵相机的巧克力棒自动上料摆放系统。针对线阵相机难以进行手眼标定的问题,提出利用传动带运动扫描成像的手眼标定思路;为提高生产效率,设计多目标抓取的机器人末端手爪,优化追踪路线以提高追踪效率。
通过对现场情况和实际需求的调研,明确系统需要满足以下几点要求:① 确保巧克力塑料手柄上料摆放准确率;② 与现场流水线节奏配合;③ 每盘模具(8个工位)完成时间<10 s。根据以上要求对系统进行设计选型。
系统采用模块化设计,系统架构如图1所示。振动给料盘将巧克力塑料手柄输送到传送带上,工业相机拍照获取图像通过GigE接口发送给上位工控机,上位机界面采用QT开发,经过特征检测和模板匹配原理获得巧克力塑料手柄实时位姿信息,通过TCP协议与下位机通讯,将结果发送给下位机机器人,驱动机器人进行追踪抓取,机器人对现场流水线情况判断后,最终摆放到模具中,系统工作流程如图2所示。
图2 系统工作流程图Figure 2 System work flow diagram
给料模块由振动给料盘和传送带组成。由于振动给料盘可能出现上料速度不匀的情况,为保证摆放质量,上料留有30%余量,设定振动给料盘出料速度为90个/min。线阵相机成像依赖物体与相机相对运动,成像质量与传送带速度有关,故传动带采用步进电机驱动,且电机驱动器采用专用电机控制DSP芯片和应用矢量型闭环控制技术以保证传动带运行速度的稳定性。为避免巧克力塑料手柄在传送带上发生堆叠,根据塑料手柄尺寸计算选定传送带速度为1 m/s。
1.SCARA机器人 2.条形光源 3.工业相机 4.编码器 5.振动给料盘 6.传送带 7.暗箱 8.四工位手爪 9.目标图1 系统架构图Figure 1 System architecture diagram
视觉采集模块包括工业相机、光源、图像采集卡、编码器等硬件。线阵相机工作区域宽度设定为300 mm,检测精度设定为0.2 mm,相机与传送带距离约为300 mm。根据条件选择2K分辨率线阵相机,型号为大恒公司的 LA-GC-02K05B-00-R,帧频为26 kHz,镜头焦距选择为16 mm,光源采用条形LED光源。当线阵相机图像拼接方向与传送带运行方向不同或相机采集频率与传送带速度不匹配时均会影响相机成像[7],两种情况下拼接得到的标定板图像如图3和图4所示。
图3 传送带速度与采集频率不符导致图像压缩Figure 3 Image compression due to the inconsistency between the conveyor belt speed and the acquisition frequency
图4 传送带与相机有夹角导致图像平移Figure 4 Image translation due to the included angle between the conveyor belt and the camera
故相机在安装时需垂直传送带方向安装,使相机传感器Yc轴与传送带运行方向一致。相机拍照通过传送带编码器进行外触发,为保证图像不被压缩,图片纵向分辨率与横向分辨率相等,可得:
(1)
式中:
Px、Py——图像横向、纵向分辨率,m/pix;
V——传送带运行速度,m/s;
Vc——相机拍照频率,Hz;
T、Tc——扫描一帧图像传送带运行时间和相机拍照时间,s。
根据传送带实际运行速度与相机参数计算求得相机拍照频率。
抓取模块由SCARA机器人和机器人控制器组成。机器人大臂最大运动速度为375°/s,抓取与摆放时大臂角度间隔约为90°,由于每盘模具工位较多,往返耗时较长,故根据模具尺寸设计由4个气缸组成的气动手爪,实现多个巧克力塑料手柄的抓取,减少机器人往复次数,提高上料效率。机器人控制器与现场PLC连接获取现场流水线运动状态。机器人抓取逻辑图如图5所示。
图5 抓取逻辑图Figure 5 Grab logic diagram
手眼标定是为了获得像素坐标系与机器人坐标系之间的转换关系,使图像处理结果能够以机器人坐标系的形式发送给机器人,通常的手眼标定都通过相机视野与机器人工作空间交集内的点来求得二者的映射关系,由于线阵相机获得的是一维图像,无法获得与机器人末端交集的特征点,故提出一种利用传动带运动扫描成像进行线阵相机与机器人的手眼标定方法。设定传送带所在平面为基准平面,以传送带运动方向为图像坐标系Yi轴方向,通过传送带使标定板与相机产生相对运动进行标定,建立手眼标定模型,如图6所示。
图6 手眼标定模型Figure 6 Hand-eye calibration model
镜头在制造过程中的精度误差会使直线投影发生偏移产生畸变[8-9],由于线阵相机畸变较面阵相机更小,且目标集中在图像中间区域,可忽略相机畸变带来的影响。可以将线阵相机看作是面阵相机图像中的一列,根据相机成像原理建立像素坐标系(UOV)、图像坐标系(XiOiYi)、相机坐标系(XcOcYc)和世界坐标系(XwOwYw)的坐标关系,为方便理解计算,将图像坐标系倒立翻转投影至与相机坐标系同侧,如图7所示。
图7 成像原理与坐标系关系Figure 7 Imaging principle and coordinate system relation
光源发出的光线照到巧克力塑料手柄上的点P后经过光心将图像投影到像平面上形成像点Pi,经过CMOS感光元件将光信号转化为电信号后形成一维图像,将一维图像按帧排列拼接得到二维图像。
(2)
式中:
dxi——像素在Xi方向上物理尺寸;
Syi——缩放比例因子(由传送带运行速度和相机拍照频率获得)。
(3)
式中:
Syc——比例因子;
Zc——光心到传送带平面的距离(忽略误差将其看作固定值),mm。
将传送带运动切向方向设定为Xw正方向,取图像中心点为世界坐标系原点Ow,安装时调整相机平面与传送带水平面平行,可得相机坐标系与世界坐标系的变换关系为:
(4)
式中:
r3×3——矩阵旋转向量;
t1×3——矩阵平移向量。
合并得到像素坐标系到世界坐标系的转换矩阵:
(5)
得到物像之间变换关系,通过移动标定板获取多组数据,根据待定系数法可求得相机内外参数。
相机与机器人的标定本质是求相机坐标系(XcOcYc)与机器人坐标系(XrOrYr)的转换矩阵,而相机坐标系与世界坐标系的关系已在相机标定中得到结果,接下来求解世界坐标系与机器人坐标系之间的关系。通过传送带的运动将标定板送至机器人的工作区域内,拼接后得到二维图像,通过相机标定结果可得到图像中标定板每个点在世界坐标系坐标(xci,yci),依次将机器人末端指向标定板上每个点并记录其在机器人坐标系的坐标(xri,yri)。由于机器人和传送带都在水平面上安装,将机器人坐标系与世界坐标系看作同一平面,根据标定板上的点分别在两个坐标系内的坐标可求解得转换矩阵:
(6)
式中:
θ——机器人与传送带间的夹角,rad;
Tx、Ty、Tz——Xw、Yw、Zw轴方向上的平移距离,mm。
整理得到手眼标定的转换结果:
(7)
图像处理的任务是为了定位巧克力塑料手柄的位姿信息,发送给机器人进行抓取。先对图像进行预处理消除图像噪声后,采用基于几何形状特征的模板匹配找到巧克力塑料手柄的位置与姿态。
工业相机采集的图像会因为光照、现场干扰等因素产生噪声[10-11]。将RGB通道下的图像经过平均法获得灰度图像后,以式(8)为高斯低通滤波器对得到的灰度图像进行卷积,可以有效消除噪声干扰。
(8)
式中:
σ——标准偏差。
标准偏差决定了滤波通带的宽度,取σ2为10,最后进行对比度增强突出目标轮廓。
模板匹配算法是通过创建图像模板,移动模板遍历整个图像,通过相似度函数判断后获取目标位置的一种算法[12]。首先建立图像模板,通过Canny算子获取目标轮廓,由于巧克力塑料手柄是厚度相同的均匀目标,对塑料手柄轮廓坐标进行积分可以获得质心坐标[13],以其质心与外接最小矩形短边方向为正方向,获取目标与像素坐标系夹角,对模板图像进行仿射变换得到角度为0的模板图像,如图8所示。
图8 模板图像的建立Figure 8 The establishment of template image
巧克力塑料手柄从振动给料盘传输到传送带上的位置和角度是随机的,所以需从模板图像的不同角度创建模板用来搜索不同位姿的目标。由于使用模板遍历原图像时,每个位置都会产生一个ROI图像,完全遍历原图像耗时较长,故采用基于图像金字塔的模板匹配方法。经效率对比,设置图像金字塔层数为4层,创建对应的金字塔图像,采用均值波对创建好的图像进行平滑处理以消除采样形成的锯齿。利用Sobel算子分别计算图像横向与纵向边缘特征点梯度向量:
(9)
(10)
将得到的u,v方向的边缘梯度向量合并为单位向量,得:
(11)
记ROI图像轮廓的梯度单位向量为td(ui,vi),选取N个模板特征点,通过模板图像和ROI图像梯度单位向量的内积衡量二者之间的匹配度,则:
(12)
遍历图像后得到每个目标的位置与姿态,放入队列中等待发送给机器人实施抓取,图像处理结果如图9所示。
图9 图像处理结果Figure 9 Image processing results
根据图像处理的结果与编码器的反馈,可对目标计算得到其实时位置,当满足在工作空间且机器人有需求时,控制系统发送目标位姿信息至机械臂,机械臂开始执行追踪过程。由于传送带在不断运动,取追踪过程中任意时刻t为例,如图10所示,实时反馈的追踪算法的速度分量时刻指向当前时刻目标位置,由于目标的移动和反馈的滞后性,实时反馈追踪不断更新塑料手柄的实时位置并进行逆运动学求解,计算量大而且追踪路径变长,影响抓取效率。文章采用一种对目标位置的阶段式预测拦截算法进行抓取。
图10 追踪示意图Figure 10 Tracing diagram
由于机器人运动轨迹与加速度曲线参数很难精确获取,难以由机器人运动轨迹结合目标运动轨迹预测出实际抓取点,但传送带采用步进电机驱动,传送带速度V比较平稳,且利用机器人控制器的时钟可获取机器人到达当前点的时刻记为T,末端执行器在上一个点的时刻为Ti-1,移动到当前点的时刻记为Ti,则下一个追踪点相对当前点的偏移S为:
(13)
由于传送带坐标系和机械臂坐标系存在角度θ,则在机器人坐标系X轴与Y轴的偏移分别为Scosθ和Ssinθ。机器人要在两个维度计算偏移量,为了提高执行效率,在机器人工作空间以三点法建立工件坐标系(XuOuYu),工件坐标系Xu、Yu轴方向与传送带坐标系Xc、Yc轴一致,将发送至机器人的坐标转换至工件坐标系上。由此当机器人移动到发送点并开始追踪时,由于传送带方向与机器人工件坐标系方向一致,则只需X轴一个维度的计算量,降低了程序冗余。
追踪第一阶段是机器人末端未进入传送带上方空间时,提前预测目标将要到达的大致位置,将机器人开始追踪时刻目标坐标加追踪偏移量得到位置如式(14)所示。
X1=xt1+D1,
(14)
式中:
X1——追踪第一阶段位移,mm。
xt1——目标发送时的坐标;
D1——超前偏移量(根据经验得到)。
追踪第二阶段是机器人末端靠近目标后,利用编码器反馈提高抓取精度,但由于反馈的滞后性,在反馈的坐标后加入速度积分补偿得到追踪点坐标如式(15)所示。
(15)
式中:
X2——追踪第二阶段位移,mm。
xt——根据编码器返回的目标实时坐标;
V——传送带运行速度,mm/s;
T——当前时刻时钟数值,s;
T0——机器人进入第二段追踪时的时刻,s。
机器人末端执行器经过两个阶段追踪拦截到目标,在抓取等待点经过位移X1+X2到达捕获点。
为验证系统的效率与精度,搭建试验平台,固定模具位置。对传动带上的巧克力塑料手柄进行抓取摆放试验,通过目标摆放结果验证系统精度和稳定性。对塑料手柄质心进行标记,记录抓取后机器人末端与理论抓取位置之间的误差,并通过定时器记录机器人一个抓取周期的时间,共进行20盘摆放试验,对每盘模具数据平均后得到试验结果,见图11。
图11 试验结果数据Figure 11 Experimental data
由图11可知,系统抓取误差<0.5 mm,误差主要来源于坐标系平面不完全平行等因素;系统每盘完成时间<7 s,满足企业需求。通过目标摆放是否到位验证系统精度和稳定性,共统计20盘(160个工位),摆放成功个数为154个,其成功率>95%。
系统将视觉系统与控制系统相结合,提出了线阵相机手眼标定思路,优化了追踪轨迹算法,实现巧克力塑料手柄的自动上料摆放。经大量样本试验结果表明,系统摆放成功率>95%,平均每盘摆放时间相较企业生产要求时间10 s缩短至7 s以内,符合生产需求。而且系统具有良好的可移植性,基于模板匹配的物体识别算法具有很好的开放性,可以胜任其他领域目标抓取工作。