1. 问题重述
“中国制造2025”是在新的国际国内环境下,中国政府立足于国际产业变革大势,作出的全面提升中国制造业发展质量和水平的重大战略部署。在“智能制造工程”的大背景下,智能制造成为大家讨论的热点问题。
本题目讨论研究机械加工零件在自动化生产线加工过程中零件位置识别问题。在工业制造自动生产线中,在装夹、包装、分拣等工艺过程中需要根据图像处理利用计算机自动智能识别零件特定位置,并由机械手自动搬运到特定位置(标准位置)。某零件轮廓示意图如图1所示,图2表示零件搬运前后的位置示意图。
Figure 1. Schematic diagram of part outline
图1. 零件轮廓示意图
注:红色为放置在平面上任意位置的零件轮廓;黑色为零件标准位置的轮廓图。
Figure 2. Parts location
图2. 零件位置图
数据文件说明:本题目提供的数据文件包括3个图像数据附件,分别为DATA1、DATA2、DATA3。其中,数据文件DATA1为机械手抓取零件后所放置的标准位置,零件轮廓数据可以视为被抓取零件的模板数据;数据文件DATA2为机械手抓取零件前需要计算机自动识别出的单个零件图像轮廓数据;数据文件DATA3为机械手抓取零件前需要计算机自动识别出的多个零件图像轮廓数据。所有图像数据均由安置于固定位置的同一相机拍摄,且焦距固定,被拍摄零件均放置于同一高度的平面上。
问题1:根据题目给出的零件轮廓数据DATA2,请建立模型识别计算出给定零件的位置坐标,尽量尝试提供多种模型或求解算法,并分析评价给出求解零件位置算法的计算速度是否快速高效,给出每种方法的识别时间。
问题2:前面讨论的都是单个零件放置于平面上的情况,对于多个零件显示在同一图像中的情况,应如何建立模型[1],请根据已给出数据DATA3识别不同零件的位置。
问题3:前面讨论的都是给定零件的位置识别问题,请讨论分析能否运用你们的方法或模型识别其他形状的零件。建议自己寻找或设定某种特定形状的零件轮廓图进行识别验证,分析所提供模型或方法的通用性。
2. 模型假设
1) 假设每个零件严格符合生产标准;
2) 假设在测量零件参考点的坐标时误差可忽略;
3) 假设在使用探测器时,空气中的介质对距离的测量没有影响;
4) 假设探测器发出的每条射线都被探测器检测到,探测器密度对接收信息没有影响;
5) 假设测量仪器足够精准。
3. 问题分析
3.1. 问题一的分析
首先对附件DATA1和DATA2所给的数据,利用MATLAB软件读取并分别显示出机械手抓取零件后所放置的标准位置图像,和机械手抓取零件前需要计算机自动识别的单个零件轮廓图像。
方法一:坐标法描述位置。根据MATLAB显示的零件标准位置图像利用几何图像法,以零件中间大圆的圆心为坐标系原点在平面上建立直角坐标系。在零件上选取10个固定的参考点用其坐标描述零件的位置。将附件中DATA1和DATA2中数据导入到Excel表格中,将DATA1中标准图像的信息合并到DATA2中,生成新的Excel数据表,再将该数据表转化为MATLAB文件,显示出任意位置零件轮廓图像中复合标准位置的图像,并根据标准位置建立直角坐标系,求得已选取的10个固定点的坐标来描述零件的位置[2]。方法二:距离法描述位置。在零件的图像数据采集平面内两侧在固定位置安装2个探测器。检测探测器发射源到达零件特定位置的距离,用零件上不同点距离探测器的长度描述零件的位置。
从两种不同的方法位置测量原理分析识别时间,并分析评价两者的高效性。
用坐标法识别零件位置时,识别时间主要包括两部分:图像识别时间和求出十个点的坐标的时间。
用距离法识别零件位置时,识别时间主要包括每个探测器的光源从发射到反射回来所需的时间。
3.2. 问题二的分析
首先根据附件DATA3所给数据,用MATLAB软件显示出多个零件在同一图像中的情况。利用问题一已建立的模型,识别并描述多个零件的位置。
方法一:将DATA3中数据导入到Excel表格中,再将问题一中已生成DATA1的Excel标准图像的信息合并到DATA3数据表格中,由该新和成的数据转化成MATLAB文件,显示出在多个零件轮廓图像中复合标准位置的图像(见图14)。进而建立直角坐标系,求出每个零件上10个固定点的坐标,描述各零件的位置。
方法二:利用问题一中已安装的2个探测器,分别检测到达多个零件上特定位置的距离,用零件不同点距离探测器的长度描述零件的位置。
3.3. 问题三的分析
基于问题一建立的两种模型推广到其他形状的零件。我们自己设计特定形状的零件并应用已建立的模型描述该零件的位置。
首先将该零件放置于标准位置,建立直角坐标系,并在零件上选取多个固定点测量其坐标,描述其位置。
再利用已固定的探测器检测到达该零件特定位置的距离,用探测器测得的距离描述零件的位置。
4. 符号说明
符号 |
符号说明 |
|
零件上选取的10个固定点分别在标准位置的坐标 |
|
零件上10个固定点分别在图像中的坐标 |
|
零件上10个固定点分别在图像中的坐标 |
|
在标准位置,零件上3个参考点分别到探测器A的距离 |
|
在标准位置,零件上3个参考点分别到探测器B的距离 |
|
零件在图像中3个参考点分别到探测器A的距离 |
|
零件在图像中3个参考点分别到探测器B的距离 |
|
零件在图像中3个参考点分别到探测器A的距离 |
|
零件在图像中3个参考点分别到探测器B的距离 |
5. 模型建立与求解
5.1. 问题一模型建立
5.1.1. 单个零件模型
首先,用MATLAB软件显示出零件的标准位置图像,如图3所示。
Figure 3. Standard position image of parts
图3. 零件的标准位置图像
5.1.2. 坐标描述法模型
以处于标准位置时零件中大圆的圆心作为坐标原点,用CAD画图软件[3] [4]建立直角坐标系,并在零件上选取10个固定点(图4中蓝色标记点),来描述零件的位置,其中距离参数如图中标记,结果如图4所示。
Figure 4. Standard position coordinate diagram
图4. 标准位置坐标图
选取的10个固定点的坐标为:
A1 |
A2 |
A3 |
A4 |
A5 |
(20, 0) |
(0, 20) |
(−20, 0) |
(0, 0) |
(−5, −15) |
A6 |
A7 |
A8 |
A9 |
A10 |
(5, −15) |
(−5, −25) |
(5, −25) |
(−13.685, −25) |
(13.685, −25) |
根据附件DATA2中信息,在MATLAB中画出机械手抓取零件前需要计算机自动识别的单个零件轮廓图像[5]。如图5所示。
Figure 5. Single part contour image at any position
图5. 任意位置单个零件轮廓图像
分别将DATA1和DATA2的信息导入到Excel文件中,并在Excel中将DATA1信息中的FALSE替换为数值1,TURE替换为数值2,然后将修改后的DATA1与Excel中的DATA2合成为新的Excel文件。利用该文件在MATLAB中画出任意位置单个零件轮廓图像与标准位置的复合图像。结果如图6。
Figure 6. Composite image of a single part and standard position
图6. 单个零件与标准位置的复合图像
根据标准位置的图像,在复合图中用CAD建立直角坐标系,并根据零件上已选取的10个固定点坐标来描述单个零件的位置。结果如图7所示(单位为:mm)。
Figure 7. Coordinate diagram of a single part at any position
图7. 任意位置单个零件坐标图
10个坐标分别为:
B1 |
B2 |
B3 |
B4 |
B5 |
(−14.14, 31.14) |
(−14.14, 2.86) |
(14.14, 2.86) |
(0, 17.00) |
(14.14, 24.07) |
B6 |
B7 |
B8 |
B9 |
B10 |
(8.00, 31.14) |
(21.21, 31.14) |
(14.14, 38.21) |
(28.28, 24.07) |
(8, 44.35) |
综上,根据坐标法的原理,可计算出不同方向,不同旋转角度的零件的参考点的坐标,从而利用计算机自动智能识别出零件特定的位置[6]。
5.1.3. 距离描述法模型
在识别零件的生产线固定位置安装2个探测器A和B,选取零件中三个小圆的圆心1、2、3为特定点,分别检测A、B两个探测器到达圆心1、2、3的距离,用该距离表示零件的位置。特定点及各参数如图8所示(单位:mm)
Figure 8. Representation of distance method points and parameters
图8. 距离法点及参数的表示图
距离法表示标准位置零件的示意图(图9)。
Figure 9. Distance representation of standard position
图9. 标准位置的距离表示图
A-1 = 33.61 mm;A-2 = 39.34 mm;A-3 = 64.88 mm;B-1 = 67.71 mm;B-2 = 66.4 mm;B-3 = 38.79 mm。
距离法表示任意位置单个零件位置的示意图(图10)。
Figure 10. Image representation of a single part distance method at any position
图10. 任意位置单个零件距离法表示图像
测量结果为:
A-11 = 85.08 mm;A-12 = 76.94 mm;A-13 = 48.97 mm;B-11 = 41.42 mm;B-12 = 60.02 mm;B-13 = 80.49 mm。
综上,根据距离法的原理,可计算出不同方向,不同旋转角度的零件上三个固定点距离探测器A、B的距离,从而利用计算机识别出零件的位置。
5.1.3. 两种方法的识别时间
用坐标法识别零件位置时,识别时间主要包括两部分:图像识别时间和求出十个点的坐标的时间。具体过程如图11所示。
Figure 11. Coordinate method recognition time step diagram
图11. 坐标法识别时间步骤图
用距离法识别零件位置时,识别时间主要包括每个探测器的光源从发射到反射回来所需的时间。具体过程如图12所示。
Figure 12. Distance method recognition time step diagram
图12. 距离法识别时间步骤图
第一种方法中,识别图像的方法:基于MATLAB GUI [7] [8]的零件图像识别(即基于图像边缘检测,提取零件图像特征和用径向基神经网络实现识别的方法),因为题中所识别的零件对称且轮廓光滑,因此在用这种方法时,不用为了避免或减少误识别而获取多个子矩阵,也不会影响识别率,从而提高了速率节省了时间。
第二种方法中,主要运用到光源的反射时间来获取距离,所以可以从光源的传播速度来分析零件位置的识别时间。
5.2. 问题二模型建立
5.2.1. 多个零件模型
首先,用MATLAB软件将附件DATA3中的数据显示出多个零件在同一图像中的情况,如图13所示。
Figure 13. Multiple part contour images
图13. 多个零件轮廓图像
5.2.2. 坐标法表示多个零件位置
将所给附件DATA3导入到Excel中,并将问题一中已修改DATA1的Excel数据合并到DATA3的Excel文件中。利用该文件在MATLAB中画出多个零件轮廓图像与标准位置的复合图像。结果如图14所示。
Figure 14. Composite image of multiple parts and standard positions
图14. 多个零件与标准位置的复合图像
根据标准位置的图像,在复合图中建立直角坐标系,并根据已确定的10个固定点坐标来描述多个零件的位置。结果如图15所示。
Figure 15. Coordinate diagram of multiple parts
图15. 多个零件的坐标图
10个固定点的坐标分别为:
上方零件坐标:
B1 |
B2 |
B3 |
B4 |
B5 |
(−14.14, 31.14) |
(−14.14, 2.86) |
(14.14, 2.86) |
(0, 17.00) |
(14.14, 24.07) |
B6 |
B7 |
B8 |
B9 |
B10 |
(8.00, 31.14) |
(21.21, 31.14) |
(14.14, 38.21) |
(28.28, 24.07) |
(8, 44.35) |
下方零件坐标:
C1 |
C2 |
C3 |
C4 |
C5 |
(−41.06, −25.92) |
(−29.66, −51.81) |
(−3.78, −40.41) |
(−22.42, −33.16) |
(−12.33, −20.99) |
C6 |
C7 |
C8 |
C9 |
C10 |
(−21.65, −17.37) |
(−8.70, −11.67) |
(−18.03, −8.05) |
(−0.61, −14.82) |
(−26.12, −4.91) |
5.2.3. 距离法表示多个零件的位置
利用已安装的探测器A和B,分别检测探测器到达每个零件特定点的距离,用该距离表示零件的位置。结果如图16。
Figure 16. Multiple parts distance representation image
图16. 多个零件距离表示图像
上方零件的距离表示:
= 83.7939 mm;
= 55.9152 mm;
= 57.2145 mm;
= 70.6736 mm;
= 81.2492 mm;
= 106.3496 mm
下方零件的距离表示:
A-11 = 85.08;A-12 = 76.94;A-13 = 48.97;B-11 = 41.42;B-12 = 60.02;B-13 = 80.49
综上,识别多个零件特定位置时,问题一中所提出的坐标法与距离法的模型依然适用,且原理相同,均可利用计算机识别出多个零件的位置。
5.3. 问题三模型建立
5.3.1. 坐标法表示特定形状零件位置
首先我们自己设计特定形状的零件,以该零件中心圆点为原点,并在标准位置建立了直角坐标系,选取零件左右两侧两个小圆的圆心和零件中心圆点到零件边际线的垂直点(如蓝色标记1、2、3点)作为坐标参考点(如图17)。
Figure 17. Standard position coordinate diagram of specific shape parts
图17. 特定形状零件标准位置坐标图
在坐标系中求出参考点的坐标识别其位置:
1 = (−4, 0);2 = (4, 0);3 = (0, 3)。
5.3.3. 距离法表示特定形状零件的位置
利用已安装的探测器A和B,分别检测探测器到达零件参考点的距离,用该距离表示零件的位置。结果如图18。
Figure 18. Distance representation image of a part with a specific shape
图18. 特定形状零件距离表示图像
A1 = 25.61 mm;A2 = 31.24 mm;A3 = 26.24 mm;
B1 = 31.24 mm;B2 = 25.61 mm;B3 = 26.24 mm
综上:
针对坐标法:对于不同形状的零件轮廓(可不对称),只要确定和建立它们在标准位置时的坐标系,找出可固定位置的参考点(要求尽量少,可缩短识别位置时间,提高效率)的坐标,便可利用计算机识别其位置;
针对距离法:对于不同形状的零件轮廓(可不对称),只要确定和固定两个探测器的位置,找出可固定位置的参考点(要求尽量少,可缩短识别位置时间,提高效率),根据光源反射时间,计算出探测器到各参考点的距离,从而利用计算机识别其位置。
6. 模型评价
6.1. 模型的优点
1) 用坐标将图像中零件的位置具体描述;
2) 距离法可以直接得到零件的位置方向;
3) 该模型可以推广到其他特定形状的零件识别问题中。
6.2. 模型的缺点
1) 距离法检测时,空气介质和探测器的密度会对测量结果产生误差;
2) 求取坐标时,测量存在误差。