基于几何图像法在机械零件加工过程中的位置识别
Position Recognition in the Machining Process of Mechanical Parts Based on Geometric Image Method
DOI: 10.12677/pm.2024.1411389, PDF, HTML, XML,   
作者: 张惠玲:上海理工大学理学院,上海
关键词: 位置识别几何图像法AtuoCADMATLABExcelPosition Recognition Geometric Image Method AtuoCAD MATLAB Excel
摘要: 研究机械加工零件在自动化生产线加工过程中零件位置识别,是近年来热门的研究问题。本文通过坐标法和距离法分析和识别零件的位置,采用几何图像法及AutoCAD作图等方法,给出了数学模型及解决方案。首先,先根据题目所给附件DATA1和DATA2,利用MATLAB软件显示出机械手抓取零件后所放置的标准位置图像和机械手抓取零件前需要计算机自动识别的单个零件轮廓图像。方法一:坐标法描述位置。根据零件的标准位置图像利用几何图像法在平面上建立直角坐标系,以零件中间大圆的圆心为坐标系原点。在零件上选取10个固定参考点用其坐标描述零件的位置。将DATA1和DATA2中数据导入到Excel表格中,将两者合并,在单个零件轮廓图像中复合出标准位置图像并建立直角坐标系,根据零件上选取的10个固定点来描述其位置。方法二:距离法描述位置。在识别零件的生产线固定位置安装2个探测器,分别检测到达零件不同位置的距离,用零件各特定点距离探测器的长度描述零件位置。从两种不同的位置测量原理分析识别时间,坐标法识别时,识别时间主要包括:图像识别和得出十个点的坐标的时间;距离法识别时,识别时间主要包括每个探测器的光源从发射到反射回来所需的时间,进行比较两者的高效性。其次,利用问题一中建立的第一种方法,根据标准位置的图像建立直角坐标系,用每个零件上固定的10个点的坐标分别描述多个零件的位置。利用第二种方法,分别检测探测器到各零件固定位置点的距离,用每个零件到达两个探测器的距离描述零件的位置。最后,基于问题一建立的两种模型推广到其他形状的零件。我们自己设计特定形状的零件并应用已建立的模型。方法一:首先将该零件放置于标准位置,建立直角坐标系,并在零件上选取多个固定点测量其坐标,描述位置。方法二:利用已固定的探测器检测到达该零件特定点的距离,用探测器测得的距离描述零件的位置。
Abstract: Research on the position recognition of mechanical parts in the process of automated production line processing has been a hot research issue in recent years. This paper analyzes and identifies the position of parts by using the coordinate method and distance method, and uses the geometric image method and AutoCAD drawing methods to give a mathematical model and solution. First, according to the attachments DATA1 and DATA2 given in the question, the standard position image placed after the manipulator grabs the part and the single part contour image that needs to be automatically recognized by the computer before the manipulator grabs the part are displayed using MATLAB software. Method 1: Describe the position using the coordinate method. According to the standard position image of the part, a rectangular coordinate system is established on the plane using the geometric image method, and the center of the large circle in the middle of the part is used as the origin of the coordinate system. 10 fixed reference points are selected on the part to describe the position of the part with their coordinates. Import the data in DATA1 and DATA2 into an Excel table, merge the two, composite the standard position image in the single part contour image and establish a rectangular coordinate system, and describe its position according to the 10 fixed points selected on the part. Method 2: Describe the position using the distance method. Two detectors are installed at fixed positions on the production line for identifying parts. The distances to different positions of the parts are detected respectively, and the lengths of each specific point of the parts from the detectors are used to describe the position of the parts. The recognition time is analyzed from two different position measurement principles. When the coordinate method is used for recognition, the recognition time mainly includes: the time for image recognition and obtaining the coordinates of ten points; when the distance method is used for recognition, the recognition time mainly includes the time required for the light source of each detector to be emitted and reflected back. The efficiency of the two is compared. Secondly, using the first method established in question 1, a rectangular coordinate system is established according to the image of the standard position, and the coordinates of the 10 fixed points on each part are used to describe the positions of multiple parts. Using the second method, the distances from the detector to the fixed position points of each part are detected respectively, and the distances from each part to the two detectors are used to describe the position of the part. Finally, the two models established based on question 1 are extended to parts of other shapes. We design parts of specific shapes by ourselves and apply the established models. Method 1: First, place the part in the standard position, establish a rectangular coordinate system, and select multiple fixed points on the part to measure its coordinates and describe the position. Method 2: Use a fixed detector to detect the distance to a specific point on the part, and use the distance measured by the detector to describe the position of the part.
文章引用:张惠玲. 基于几何图像法在机械零件加工过程中的位置识别[J]. 理论数学, 2024, 14(11): 198-211. https://doi.org/10.12677/pm.2024.1411389

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. 符号说明

符号

符号说明

Ai

零件上选取的10个固定点分别在标准位置的坐标

Bi

零件上10个固定点分别在图像中的坐标

Ci

零件上10个固定点分别在图像中的坐标

Ai

在标准位置,零件上3个参考点分别到探测器A的距离

Bi

在标准位置,零件上3个参考点分别到探测器B的距离

A1i

零件在图像中3个参考点分别到探测器A的距离

B1i

零件在图像中3个参考点分别到探测器B的距离

A i

零件在图像中3个参考点分别到探测器A的距离

B i

零件在图像中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. 多个零件距离表示图像

上方零件的距离表示:

A 1 = 83.7939 mm; A 2 = 55.9152 mm; A 3 = 57.2145 mm;

B 1 = 70.6736 mm; B 2 = 81.2492 mm; B 3 = 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) 求取坐标时,测量存在误差。

参考文献

[1] 司守奎, 孙兆亮. 数学建模算法与应用[M]. 北京: 国防工业出版社, 2017.
[2] 夏庆观, 盛党红, 路红, 陈桂. 零件图像的特征提取和识别的研究[J]. 中国机械工程, 2005, 16(22): 2031-2033.
[3] 李秀娟. AtuoCAD绘图2008简明教程[M]. 北京: 北京艺术与科学电子出版社, 2009.
[4] 唐建成. 机械制图及CAD基础[M]. 北京: 北京理工大学出版社, 2013.
[5] 杨淑莹. 模式识别与智能计算: MATLAB技术实现[M]. 北京: 电子工业出版社, 2008.
[6] 边肇祺, 张学工. 模式识别[M]. 北京: 清华大学出版社, 2000.
[7] 刘美丽. MATLAB语言与应用[M]. 北京: 国防工业出版社, 2012.
[8] 谢中华. 李国栋. 刘焕进. MATLAB从零到进阶[M]. 北京: 北京航空航天大学出版社, 2017.