基于机器视觉的五自由度分拣机械臂设计

2020-09-11 09:04蔡荣欣胡遵阳
安阳工学院学报 2020年4期
关键词:物块圆柱体预处理

李 昊,蔡荣欣,胡遵阳

(宿州学院机械与电子工程学院,安徽宿州234000)

机器人技术的开发与应用经过长时间的发展,已经成为现代工业不可或缺的一部分。在机器人行业蓬勃发展的今天,德国提出“工业4.0”战略,拉开了第四次科技革命的帷幕,中国随后也提出“智造2020”。在这样的大环境下,智能制造将逐渐依赖机器自动化,并对其加工产品的复杂度和灵活度的要求逐步提高,在工业生产中采用机器自动化代替人工已是大势所趋。工业生产投入大量机器人,不仅可以代替人工,解放工人的双手,降低时间成本和资金成本,而且还可以让产品生产的流水线更加精确化、规范化,从而保证了产品的生产质量和生产效率。一般在工业生产的流水线上,主流的机器人当属机械臂。其中,机械臂在工业分拣中得到了广泛的应用。复杂的拾取-放置工作使得工业机械臂在工业流水线上作业时,需要人工干预其轨迹,无法真正实现智能自动化,这就大大降低了机械臂对环境的适应性,背离了使用机器人参与生产的初衷。因此,致力于工业生产的科学家们近几年将机器视觉技术用于工业机器人的改良中,以解决流水线上产品在传送带位置随机的问题,因其极高的实用性,逐渐成为国内外的科学家的研究热点。机器视觉技术无疑使机器人得到了更多的环境信息,并且可以利用这些信息进行决策和处理,给予了机器人判断和决策的能力。为此,提出了一种基于机器视觉的五自由度分拣机械臂。在分拣的基础上,通过对同类物块摆放状态的检测,识别出物块摆放状态,反馈到机械臂做出相应的工作方式对物块进行抓取作业。

1 图像处理

机器视觉采用opencv,机器视觉的主要框架如图1所示。

图1 机器视觉的主要框架

这是一个主要摄像头拍摄取样、数据预处理、图像矫正、神经网络识别等的过程。一般数据预处理就是对图像信号进行降噪滤波处理,降低外界因素对图像信号的干扰,这是从图像中提取物块信息的前提。

1.1 图像预处理

图像预处理模块的主要功能是摄像机标定、图像畸变校正和频率选择滤波。如果相机图像没有经过参数标定,就会产生畸变变形。将设备拍到的成像对象进行标定,利用校正后的参数对相机采集的所有图像进行校正,并通过频率选择对图像信号进行滤波,使图像信号更接近真实环境的图像信息。图像预处理模块首先接收摄像机捕获的传输信号的参数节点,然后分析接收图像节点。在接收多幅图像后,计算相机标定参数并反馈给相机参数节点。如果相机没有校准,图像预处理将读取图像,并用校正后的参数对图像进行校正,并将校正后的图像反馈给计算机。

1.2 降噪处理

利用域平均滤波噪声的思想,在实验中对同一目标拍摄多幅图像,通过对多幅图像信息进行叠加和平均,可以减弱随机噪声对图像信息的影响。在相同条件下,接受相同物块的M幅图像如下所示。

那么多幅图像平均法为

如果图像信息中只有均值为零,方差为,添加行白噪声与图像无关,图像之间的噪声也不相关,即

1.3 目标物块图像的提取

在对相机拍摄的图像进行预处理之后,为了便于识别和分类目标物块,将进一步处理图像并将位于不同图像区域中的目标物块与图像背景分离。在这方面,采用边缘检测方法,通过将边缘作为目标物块和目标物块之间广泛存在的图像的最基本特征的基础以及背景图片来划分目标物块的位置。

该方法的目的是检测和确定目标块和背景之间的边缘点。本设计使用与不同方向上的边对应的一系列渐变方向梯度集,使得写入方向上的梯度模板仅对模板方向上的突变敏感。然后将每个方向上的梯度模板与图像卷积,其中最大模数是边缘点的强度示数。对应于最大模量的模板的方向是边缘点的方向,其被定义为

式中,i表示方向模板的序号,Wi表示第i方向的模板,|Gi(m,n)|表示第i方向的梯度模板,N表示模板的个数,*表示为卷积处理。对求得的G(m,n)进行取阀值分析,就可以得到边缘点和方向系数,其中的边缘点的方向就用上述定义的变量表示。

2 机械臂设计与控制原理

机械臂设计采用镁铝合金为主要材质,在结构上采用圆周圆盘带滚珠模型,使机械臂抓取物块时的受力在底盘上而非在底盘自由度上,减少舵机堵转概率,底盘重1.5 kg;圆盘直径13cm,底盘选择角度为360°。机械臂共有五个自由度,包括四个垂直180°的自由度,和一个360°旋转的自由度。其中第五个自由度可以使得机械臂在平面内设置位置上进行搬运工作完成平面中精确和迅速的定位。第二、三、四个自由度是具有垂直升降的移动关节,可以用于在垂直面或者圆柱面内的运动。第一个自由度是抓取关节,对机械抓进行控制,从而达到抓取物块的功能。由于材料的承受力大保证了机械臂在垂直方向上具有较强的刚度,五个自由度的配合又保证了较高的精确度,同时咋水平面内可以自由快速的转动,所以对于应对平面定位以及完成分拣抓取物块任务的完成,是符合设计要求的。

主板设计由电源模块、颜色识别模块、EEPROM模块、串口模块、已经扩展接口。设计双层板,将电源模块与控制模块分开,避免电流过大导致主路板升温损坏元器件。可以实现物块的识别、物块的抓取、搬运、分拣。在软件使用方面,编写上位机对机械臂抓取位置进行设置,并通过上位机反馈的舵机角度,记录下位置信息,在keil5软件中进行程序编写,对机械臂搬运工作实现自动化。

3 神经网络识别

神经元是由生物学研究和大脑反应机制建立的拓扑网络。本实验参考神经元拓扑结构设计神经网络,神经元的拓扑结构如图2.

图2 神经元的拓扑结构图

将若干个处理神经元通过一定的互联模型连接成一个网络,这个网络通过一定的处理可以模拟人的一些动作过程,以达到识别分类的目的。一个人工神经元将接受的信息x1,···,xn-1通过用W0,W1,···,Wn-1来表示连接强度,以点积的形式合成为输入,如拓扑结构图所示,并把它和设定的偏差作比较,再经过某函数f的变换,便得到处理神经元的输出y。

神经元的输入和输出的关系为

其中,xi标识为第i个输入元素;Wi表示为从第i个输入与神经元之间的互联权系数;θ表示为神经元的阈值;y表示为神经元的输出。

本部分运用Matlab软件进行目标物块识别,利用软件强大的功能,构建BP神经网络、训练和仿真。

一般将样本容量为N的训练集表示为

将算式中Xn定义为该样本中对应的ni维输入特征量,将tn为n0维的区别输出变量。

其中损失函数定义为

为了取得最优的连接权值,需要将下列算式求解,解决最优化问题:

得出相对于参数Θ的梯度方向为

通过不断修正参数Θ,直到训练过程收敛。

BP网络神经对目标物块识别流程主要是,将摄像头拍摄的图像信息预处理得出的向量和目标编号组合起来,组成一个训练样本,这样对于每一幅图像都具有了训练样本,再将训练样本中的目标编号删除,剩下的不变矩序列就可以作为待识别的样本数据。建立神经网络、训练神经网络,识别待识别的样本数据,网络在通过映射给出识别结果。

4 机械臂对目标物块的分拣

通过BP神经网络对物块图像信息的分析,可以得到实时的目标位置数据,由上位机得出的各个位置的舵机角度参数,利用STM32芯片实现对机械臂的控制,最终完成分拣任务(包如图3)。

图3 物块摆放位置点和机械臂摆放位置

本文采用不同形状、颜色的小物块进行实验。在相同条件下,只更改物块的一种属性,所以本文设置三组对照组,颜色相同形状不同、形状相同颜色不同、颜色相同大小不同。实验图纸与机械臂舵机角度的关系如表1所示。

表1 实验图纸与机械臂舵机角度关系表

设置颜色都为黑色的圆柱体、正方体、长方体。将黑色圆柱体摆放在1号位置,摆放目标位置为A位置;将黑色正方体摆放在2号位置,摆放目标位置为4号位置;将黑色长方体摆放在3号位置,摆放目标位置为B号位置。设置形状都为圆柱体,颜色分别为黑色、白色、蓝色。将黑色圆柱体摆放在1号位置,摆放目标位置为A位置;将白色圆柱体摆放在2号位置,摆放目标位置为4号位置;将蓝色圆柱体摆放在3号位置,摆放目标位置为B号位置。设置形状都为底面积相同的圆柱体,颜色都为黑色,高分别为3 cm、10 cm、15 cm。将黑色圆柱体摆(3cm)放在1号位置,摆放目标位置为A位置;将黑色圆柱体(10cm)摆放在2号位置,摆放目标位置为4号位置;将黑色圆柱体(15cm)摆放在3号位置,摆放目标位置为B号位置。得出表2的实验结果。

表2 识别结果

5 总结

本文设计的基于机器视觉的五自由度机械臂具有操作简单、结构稳定、方便安装、便于维护等优点。通过相关实验的验证,模型基本符合预期设计标准。本文设计的机械臂控制系统尽管实现了运行控制、图像采集、数据通信等功能,但碍于实验室条件下的测试,还有许多问题亟待解决。

猜你喜欢
物块圆柱体预处理
KR预处理工艺参数对脱硫剂分散行为的影响
求解奇异线性系统的右预处理MINRES 方法
污泥预处理及其在硅酸盐制品中的运用
探究传送带模型中两者共速后保持相对静止的条件
人工“向日葵”材料问世
基于预处理MUSIC算法的分布式阵列DOA估计
坡角多大,圆柱体在水平面滚得最远
临界速度的得出及应用
找出圆柱体
圆柱体上的最短路径