CN111615325B - 一种基于聚类的多功能贴片机贴装路径规划方法 - Google Patents
一种基于聚类的多功能贴片机贴装路径规划方法 Download PDFInfo
- Publication number
- CN111615325B CN111615325B CN202010387784.3A CN202010387784A CN111615325B CN 111615325 B CN111615325 B CN 111615325B CN 202010387784 A CN202010387784 A CN 202010387784A CN 111615325 B CN111615325 B CN 111615325B
- Authority
- CN
- China
- Prior art keywords
- mounting
- cyclic
- period
- cpindex
- pick
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/085—Production planning, e.g. of allocation of products to machines, of mounting sequences at machine or facility level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/0882—Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Game Theory and Decision Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Supply And Installment Of Electrical Components (AREA)
Abstract
一种基于聚类的多功能贴片机贴装路径规划方法,它属于电器技术及电气工程领域。本发明解决了现有的商业软件规划得到的贴装路径较长的问题。本发明具体通过以下步骤实现:步骤一:根据拾贴周期内各吸杆拾贴的元件类型,确定各吸杆贴装对应类型元件的贴装点信息;步骤二:根据步骤一中的贴装点信息,构造cycleMount结构体数组;步骤三:采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;步骤四:通过枚举法确定各拾贴周期贴装元件的先后顺序。本发明可以应用于多功能贴片机贴装路径的优化。
Description
技术领域
本发明属于电器技术及电气工程领域,具体涉及一种单动臂并列式贴片头贴片机的贴装路径规划方法。
背景技术
表面贴装技术(Surface Mount Technology,SMT)是将所需电子元件贴装到印制电路板(Printed Circuit Board,PCB)上的自动装配技术。经过表面贴装技术组装的印制电路板,具有密度高、可靠性强、体积小等特点,易于实现全自动化生产,在提高生产效率、节省制作成本上具有显著优势。现如今各类电子设备,小到计算器、收音机,大到计算机、通信电子设备、军用武器系统、航空航天系统,只要有集成电路等电子元件,为了使各个元件之间电气互连,都要使用印制电路板,对印制电路板的精密性和可靠性也提出了更高的要求。
贴片机是制作印制电路板的一个重要设备,其通常装配在点胶机或丝网印刷机后,同时也是印制电路板生产中最耗时、最复杂的设备,直接关系到生产线整体的精度和效率。而表面贴装技术是贴片机中的核心技术之一,对于不同类型的贴片机,其具体实施方式不尽相同。贴片机可分为拱架型、转塔型和复合型。
目前,主流的研究将贴片机拾贴优化过程拆解为两个相互耦合的子问题:供料器分配问题和元件贴装顺序问题。这两个问题均为NP-hard问题,尚无统一解法。贴装路径规划问题同旅行商问题类似(Travelling Salesman Problem,TSP),是一个经典的组合优化问题。
1、拱架型贴片机贴装元件流程
拱架型贴片机主要由固定的供料器槽、PCB加工平台以及可沿X轴或Y轴方向移动的贴片头组成。其中,提供各种装配元件的供料器插入供料器槽中,每个供料器对应一种类型的元件。印制电路板固定在加工平台上,贴片头在供料器和印制电路板之间往复运动。贴片头分为并列式和转塔式,其通常安装有一定数量的吸杆,吸杆上的吸嘴实现对元件的吸取和放置等。单动臂并列式贴片头贴片机的特点是:仅有一个可移动的贴片头,贴片头上各吸杆并排排列,机型系统结构简单,可实现高精度,适于各类封装的元件,有时也被称为多功能贴片机。
单动臂并列式贴片头贴片机(以下简称贴片机)的贴装元件过程大致为:PCB导入并固定至工作台后,带有贴片头的机械臂在供料槽上方运动,移动到各个待贴元件所在供料器上方,吸取一个或多个元件;吸取完对应元件后,分别移动到PCB上对应贴装点放置元件;贴装完成后,判断机器指定拾取元件类型同吸嘴类型是否匹配,若不匹配,贴片头移动至吸嘴库进行吸嘴更换;机器臂再次返回供料器进行第二轮元件拾取,依次类推,直至所有贴装点完成贴装。对于大型尺寸或高精度的元件,贴片头在拾取元件后还要移动至固定相机处进行检测,对拾取元件的角度和位置偏移进行补偿
贴片头每次拾取和装贴一轮元件被称为一个拾贴过程,对应的时间间隔称为拾贴周期。拾贴过程可分为拾取过程和贴装过程,贴装过程特指贴片头在拾贴周期中从第一个贴装点开始直至移动到最后一个贴装点的过程,其它过程统称为拾取过程。在给定各个拾贴周期吸杆贴装的元件类型的基础上,合理安排贴片头具体贴装点的先后顺序、规划贴装路径,可以有效提高贴片机的生产效率。
2、目前的研究缺陷
现有的商业软件规划得到的贴装路径基于某种策略或启发式搜索算法得到的结果,分散的贴装点使贴片头通常需从PCB折返完成贴装过程,因而得到的贴装路径较长,优化效果仍有待进一步提高。
发明内容
本发明的目的是为解决现有的商业软件规划得到的贴装路径较长的问题,而提出了一种基于聚类的多功能贴片机贴装路径规划方法。
本发明为解决上述技术问题采取的技术方案是:一种基于聚类的多功能贴片机贴装路径规划方法。该方法包括以下步骤:
步骤一:根据拾贴周期内各吸杆拾贴的元件类型,确定各吸杆贴装对应类型元件的贴装点信息;
步骤二:根据步骤一中的贴装点信息,构造cycleMount结构体数组;
所述cycleMount结构体数组包括:用于存储贴片头之间的移动距离的二维距离矩阵DistMatrix,用于存储距离矩阵中行及列对应的元件序号索引的向量CpIndex,用于存储距离矩阵中行及列对应的吸杆索引的向量RodIndex以及各子周期所用的吸杆数numRod;
步骤三:采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;
步骤四:通过枚举法确定各拾贴周期贴装元件的先后顺序。
本发明的有益效果是:本发明提出了一种基于聚类的多功能贴片机贴装路径规划方法,本发明基于聚类优化了贴装路径。本发明可操作性强、优化结果稳定、效果显著。实验结果表明,本发明提供的方法可以大幅提升贴片机的生产效率,对贴装路径的缩减达20.99%。
具体来说,本发明具备以下优势:
(1)将表面贴装技术优化问题拆分为多个子问题,主要讨论其中“贴装移动路径”规划的部分,在不影响既有优化结果的基础上,在合理的时间范围内完成贴装路经的规划。
(2)基于聚类对贴装路径进行优化,实验结果表明,该方法能大幅缩短贴装路径长度。
附图说明
图1为多功能贴片机基于聚类的贴装路径优化算法流程图;
图2a)所示为本发明拾贴周期1的贴装路径的示意图;
图2b)所示为商业软件拾贴周期1的贴装路径的示意图;
图2c)所示为本发明拾贴周期2的贴装路径的示意图;
图2d)所示为商业软件拾贴周期2的贴装路径的示意图;
图2e)所示为本发明拾贴周期3的贴装路径的示意图;
图2f)所示为商业软件拾贴周期3的贴装路径的示意图;
图2g)所示为本发明拾贴周期4的贴装路径的示意图;
图2h)所示为商业软件拾贴周期4的贴装路径的示意图。
具体实施方式
具体实施方式一:本实施方式所述的一种基于聚类的多功能贴片机贴装路径规划方法,该方法包括以下步骤:
本发明基于专利CN108925126A中的吸杆任务分配进行贴装路径规划,所述“吸杆任务分配”是指吸杆在各子周期贴装的元件类型;本发明提出了贴片机生产过程优化中的一种贴装路径的规划方法,并对其它环节的结果进行必要的说明。
步骤一:根据拾贴周期内各吸杆拾贴的元件类型,确定各吸杆贴装对应类型元件的贴装点信息;
步骤二:根据步骤一中的贴装点信息,构造cycleMount结构体数组;
所述cycleMount结构体数组包括:用于存储贴片头之间的移动距离的二维距离矩阵DistMatrix,用于存储距离矩阵中行及列对应的元件序号索引的向量CpIndex,用于存储距离矩阵中行及列对应的吸杆索引的向量RodIndex以及各子周期所用的吸杆数numRod;
步骤三:采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;
步骤四:通过枚举法确定各拾贴周期贴装元件的先后顺序。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中,根据拾贴周期内各吸杆拾贴的元件类型,确定各吸杆贴装对应类型元件的贴装点信息,其具体过程为:
为统一描述,规定操作人员面向机器时正前方为Y轴正方向,正右方位为X轴正方向,待加工PCB的左下端为坐标原点。对吸杆沿着X轴方向递增进行编号,用S表示吸杆总数,用s∈{1,2,...,S}表示吸杆的索引号,本发明解决的是具有六吸杆贴片头的贴片机贴装路径优化问题,记吸杆数S=6。规定贴片头移动过程中,其最左侧吸杆的坐标为贴片头坐标。
步骤一一:统计各元件类型对应的贴装点信息;
向量numCp中存储各类元件对应的贴装点个数,其中,在整个贴装过程中第c类元件对应的贴装点总数为numCp(c),将第c类元件对应的全部贴装点的X坐标存入大小为numCp(c)的向量CpTXc,将第c类元件对应的全部贴装点的Y坐标存入大小为numCp(c)的向量CpTYc,将第c类元件对应的全部贴装点的序号存入大小为numCp(c)的向量CpNoc;
对于表1中的PCB数据,元件类型号c=1(即QFP_ATME)对应的贴装点信息为:
numCp(c)=8
CpTXc=[86.5 68.8 79.9 91.2 95.8 75.3 71.2 97.6]
CpTYc=[25.8 37 54.6 52.7 32.3 27.7 47.9 43.5]
CpNoc=[1 2 3 4 5 6 7 8]
类似地,可以得到其他元件类型对应的贴装点信息;
步骤一二:统计各子周期的拾贴周期数,记向量Subcycle表示各子周期内拾贴周期数;对应表2有Subcycle=[3 2 1 1 1 1 1],对于拾贴周期k,拾贴周期k对应的子周期l的计算方法为:
subcycle(1)表示第1个子周期内拾贴周期数,对应表2,subcycle(1)的值为3。
其它步骤及参数与具体实施方式一相同。
本发明在已知贴片头生产任务的基础上,基于聚类的思想,并结合贴片机实际生产特性,对拱架型单动臂并列式贴片头贴片机表面贴装技术中的元件贴装顺序进行优化,而提出了一种新的贴装路径规划方法,以期提高贴片机的生产效率。
因此,如何安排元件贴装的先后顺序,缩短贴片头在PCB板上的移动距离,是本发明优化的目标。
具体实施方式三:本实施方式与具体实施方式一至二之一不同的是:所述步骤二中,根据步骤一中的贴装点信息,构造cycleMount结构体数组,其具体过程为:
cycleMount结构体数组中成员变量含义如表4所示:
表4 cycleMount结构体数组中成员变量表
成员名 | 存储形式 | 具体含义 |
CpIndex | 向量 | 距离矩阵中行及列对应的元件序号索引 |
RodIndex | 向量 | 距离矩阵中行及列对应的吸杆索引 |
DistMatrix | 二维矩阵 | 贴片头之间的移动距离 |
numRod | 整数 | 贴装吸杆数 |
不同的子周期l对应cycleMount结构体数组中的一个元素cycleMount[l],结构体中的成员cycleMount[l].CpIndex和cycleMount[l].RodIndex向量,用于确定cycleMount[l].DistMatrix中行/列索引和贴装点序号、所用吸杆编号之间的对应关系,cycleMount[l]中cycleMount[l].CpIndex表示子周期l内所有的贴装点序号,cycleMount[l].RodIndex中各元素对应贴装cycleMount[l].CpIndex中各贴装点时所用的吸杆编号,cycleMount[l].DistMatrix的r行c列的元素表示以吸杆cycleMount[l].RodIndex(r)贴装点cycleMount[l].CpIndex(r)和以吸杆cycleMount[l].RodIndex(c)贴装点cycleMount[l].CpIndex(c)时贴片头之间的距离;cycleMount[l].DistMatrix方阵的行数和列数均等于拾贴周期l中可贴装点总数,cycleMount[l].CpIndex和cycleMount[l].RodIndex的大小和cycleMount[l].DistMatrix方阵的行/列数相等。
假定某拾贴周期内的吸杆任务分配结果中,仅有吸杆2、3进行拾贴元件任务,吸杆2贴装的元件类型包含两个元件:23和24,吸杆3贴装的元件类型包含5个元件:30、31、33、34、35,则CpIndex和RodIndex大小均为7,CpIndex=[23 24 30 31 33 34 35],RodIndex=[2 2 3 3 3 3 3],而DistMatrix为7行7列矩阵,如DistMatrix(2,3)表示吸杆2拾取元件24时和吸杆3拾取元件30时的贴片头之间的距离。
构造cycleMount结构体成员的具体过程为:
步骤二一:初始化子周期索引l=1;
步骤二二:cycleMount[l]表示cycleMount结构体数组中子周期l的相关参数(包括子周期l对应的距离矩阵、元件序号索引的向量、吸杆索引的向量以及所用的吸杆数),确定子周期l所用的吸杆数cycleMount[l].numRod,式中,“.”为成员运算符,表示对结构体数组中的成员进行操作;CpType(l,s)≠0时,表示子周期l吸杆s贴装的元件类型为CpType(l,s),CpType(l,s)=0时,表示子周期l吸杆s不进行贴装,即吸杆s被禁用;
步骤二三:计算cycleMount[l]中元件序号索引cycleMount[l].CpIndex和吸杆索引cycleMount[l].RodIndex,
cycleMount[l].CpIndex和cycleMount[l].RodIndex均为一维向量,cycleMount[l].CpIndex和cycleMount[l].RodIndex的长度均为CpType(l,s)≠0,记m为向量元素索引,CpType(l,s)≠0;
cycleMount[l].CpIndex和cycleMount[l].RodIndex中各元素的具体计算方法如下:
式中CpIndex(m)等价于cycleMount[l].CpIndex(m),RudIndex(m)等价于cycleMount[l].RodIndex(m),numCp{CpType(l,s)}表示子周期l吸杆s贴装的元件类型CpType(l,s)包含的元件数,表1中元件类型1包含元件数为8;
步骤二四:计算cycleMount[l]中cycleMount[l].DistMatrix的值,r为行索引,c为列索引,cycleMount[l].DistMatrix(r,c)的具体计算方法为:
若cycleMount[l].CpIndex(r)=cycleMount[l].CpIndex(c)或cycleMount[l].RudIndex(r)=cycleMount[l].RudIndex(c),则令cycleMount[l].DistMatrix(r,c)=inf;
由于同一吸杆不可能同时吸取不同元件,同一元件也不可能被不同吸杆拾贴,因此当cycleMount[l].CpIndex(r)=cycleMount[l].CpIndex(c)或cycleMount[l].RudIndex(r)=cycleMount[l].RudIndex(c)时,距离矩阵中元素的值设为无穷大,在采用聚类算法时,避免选取的两个贴装点相同或使用的是同一个吸杆;
若cycleMount[l].CpIndex(r)≠cycleMount[l].CpIndex(c)或cycleMount[l].RudIndex(r)≠cycleMount[l].RudIndex(c),则有
式中:Cpx[cycleMount[l].CpIndex(r)]为元件cycleMount[l].CpIndex(r)的X坐标,Cpx[cycleMount[l].CpIndex(c)]为元件cycleMount[l].CpIndex(c)的X坐标,Cpy[cycleMount[l].CpIndex(r)]为元件cycleMount[l].CpIndex(r)的Y坐标,Cpy[cycleMount[l].CpIndex(c)]为元件cycleMount[l].CpIndex(c)的Y坐标,cycleMount[l].CpIndex(r)为索引r对应的元件,cycleMount[l].CpIndex(c)为索引c对应的元件,cycleMount[l].RudIndex(r)为索引r对应的吸杆,cycleMount[l].RudIndex(c)为索引c对应的吸杆;
步骤二五:子周期索引l自增1,重复步骤二二~二四,直至l>L,完成结构体数组cycleMount的构造,L表示子周期总数。
其它步骤及参数与具体实施方式一至二之一相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;其具体过程为:
步骤三二:对于当前拾贴周期k,确定拾贴周期k对应的子周期l;定义一个大小为S的向量RodUsed,s为吸杆索引,若CpType(l,s)值为0,则令RodUsed(s)=1,否则,令RodUsed(s)=0;
步骤三三:根据拾贴周期l中各吸杆拾贴的元件类型,遍历所有吸杆,分别以吸杆拾贴的元件类型所对应的各贴装点为中心点,从拾贴周期l需要的其它每个吸杆中各选取出一个距离中心点最近的贴装点,再计算贴装路径长度,并保留贴装路径长度最短的解;
步骤三三一:初始化向量的元素索引m=1;
步骤三三二:对于拾贴周期k对应的子周期l,提取出子周期l的贴片头移动距离矩阵tempDist:
tempDist=cycleMount[l].DistMatrix
以吸杆cycleMount[l].RodIndex(m)贴装点cycleMount[l].CpIndex(m)时贴片头的位置为中心,利用tmpSuckRod临时保存各吸杆贴装的贴装点序号,记录吸杆cycleMount[l].RodIndex(m)贴装元件cycleMount[l].CpIndex(m)信息:
tmpSuckRod{l,cycleMount[l].RudIndex(m)}=cycleMount[l].CpIndex(m);
若CpUsed{cycleMount[l].CpIndex(m)}=1,贴装点cycleMount[l].CpIndex(m)已确定拾贴周期和所用吸杆,执行步骤三三四;否则,执行步骤三三三;
步骤三三三:令totalDist=0,totalDist表示在步骤三三二假设中心的基础上贴片头移动的最小总距离,遍历tempDist第m行tempDist(m,:)中的所有元素,确定在步骤三三二假设中心的基础上,使贴片头移动距离最小的元素,记该元素所在位置为cmin列;
若CpIndex=[23 24 30 31 33 34 35],RodIndex=[2 2 3 3 3 3 3],则以吸杆2贴装元件23时贴片头的位置为中心,若吸杆3贴装元件30时贴片头距离中心点最近,则将其作为下一个贴装点;
若CpUsed{cycleMount[l].CpIndex(cmin)}=1,表示cmin对应的元件已确定贴装周期和所用吸杆,令tempDist(m,cmin)=inf,重新选取tempDist(m,:)中使贴片头移动距离最小的元素及选取出的元素对应的列cmin,直至满足CpUsed{cycleMount[l].CpIndex(cmin)}≠1,令tempDist(m,cmin)=inf;
记录吸杆cycleMount[l].RodIndex(cmin)拾取cycleMount[l].CpIndex(cmin)元件的信息:
tmpSuckRod{l,cycleMount[l].RudIndex(cmin)}=cycleMount[l].CpIndex(cmin)
更新贴片头移动的最小总距离:
totalDist=totalDist+tempDist(m,cmin)
对于距离矩阵tempDist中元素tempDist(m,cmin)表示吸杆cycleMount[l].RodIndex(cmin)贴装元件cycleMount[l].CpIndex(cmin)时和吸杆cycleMount[l].RodIndex(m)贴装元件cycleMount[l].CpIndex(m)时贴片头之间的距离;
遍历贴片头移动距离矩阵tempDist中各行各列的元素,记r为矩阵的行索引,c为列索引:
若cycleMount[l].CpIndex(r)=cycleMount[l].CpIndex(cmin)或cycleMount[l].CpIndex(c)=cycleMount[l].CpIndex(cmin),令tempDist(r,c)=inf;
若cycleMount[l].RodIndex(r)=cycleMount[l].RodIndex(cmin)或cycleMount[l].RodIndex(c)=cycleMount[l].RodIndex(cmin),令tempDist(r,c)=inf;
更新tempDist的值避免了在后续计算中选取重复的吸杆或元件;
类比上述确定距离中心点距离最近的贴装点的思路,在贴装点不重复选取的基础上,在步骤三三二假设中心的基础上,继续在tempDist(m,:)中确定个贴片头移动距离值最小的元素,由此确定出一组距离中心点最近的贴装点,即给定中心位置的一组距离以及距离最小的贴装点,根据中心位置的一组距离计算出该中心位置对应的贴装路径长度;
步骤三三四:m自增1,重复步骤三三二~步骤三三三,分别以不同吸杆贴装不同序号元件时的贴片头位置为中心,计算出每个中心位置对应的贴装路径长度,直至将各中心位置对应的贴装路径长度中的最小值作为当前拾贴周期k的历史最优值(最小值),有:
SuckRod(k,:)=tmpSuckRod(k,:),
CpUsed{SuckRod(k,s)}=1,s=1,2,…,S;
式中:“:”表示取矩阵的行或列的所有元素;
tmpSuckRod(k,:)为最优值对应的各吸杆贴装的贴装点序号,将最优值对应的贴装点作为当前拾贴周期k各吸杆贴装的元件序号SuckRod(k,:);
其它步骤及参数与具体实施方式一至三之一相同。
步骤三中使用聚类分析的方法,将贴装时贴片头位置接近的点划分为同一类,类对应拾贴周期,保证拾贴周期内贴片头移动的距离最小化,其本质上也是将整理路径规划问题拆分为各拾贴周期的子问题。这样的处理方法可以避免贴装点分散加大贴片头移动距离。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中通过枚举法确定各拾贴周期贴装元件的先后顺序;其具体过程为:
步骤四一:确定一个cycleMount[l].numRod行cycleMount[l].numRod列的矩阵Perm,矩阵中的各行均为1~cycleMount[l].numRod全排列的一种,且无重复行,记r为矩阵的行索引,c为矩阵的列索引,k为拾贴周期索引,初始化r=1、k=1;
步骤四二:拾贴周期k对应的子周期为l,根据Perm(r,:)的值确定贴装路径长度mountDist,初始化mountDist=0,遍历c=1,2,…,cycleMount[l].numRod-1,有
n1=SuckRod{k,Perm(r,c)},
n2=SuckRod{k,Perm(r,c+1)},
式中,Cpx(n1)为元件序号n1的X坐标,Cpx(n2)为元件序号n2的X坐标,Cpy(n1)为元件序号n1的Y坐标,Cpy(n2)为元件序号n2的Y坐标,rod_interval表示吸杆间间隔,rod_interval=30,Perm(r,c)表示矩阵Perm中第r行第c列对应的吸杆序号,n1表示吸杆Perm(r,c)贴装的元件序号,Perm(r,c+1)表示矩阵Perm中第r行第c+1列对应的吸杆序号,n2表示吸杆Perm(r,c+1)贴装的元件序号;
步骤四三:r自增1,重复步骤四二,直至r>cycleMount[l].numRod,保留mountDist的取值最小时的行序号rmin,将行序号rmin中的元件序号顺序作为当前拾贴周期k的元件贴装顺序;
MountSeq(k,c)=SuckRod{k,Perm(rmin,c)},c=1,2,…,cycleMount[l].numRod;
式中MountSeq(k,c)表示拾贴周期k第c个进行贴装的贴装点序号;
其它步骤及参数与具体实施方式一至四之一相同。
实施例
贴片机贴装路径规划是其生产过程优化的一个子问题。在进行贴装路径规划前,有必要对路径规划前的准备工作进行说明,主要包含PCB数据文件的导入与处理、吸杆和供料器的任务分配等内容。准备环节的处理方法虽然不是本发明的内容,但会对贴装路径规划的时间过程和结果产生影响。此外,贴装路径规划的结果以“拾贴周期内元件吸取矩阵”和“拾贴周期内元件贴装顺序矩阵”的形式呈现。
贴装路径优化首先需要读入目标文件,目标文件来源于PCB的CAD设计或是其它设备所得的文本数据,经过提取和转换后,得到表1所示的PCB数据文件。PCB数据文件中包含有元件序号、类型及坐标信息。
表1 PCB数据文件
元件类型和各类型元件数会决定吸杆分配结果和供料器分配结果。现对元件类型进行编号,按照表1中元件类型对应元件数由多到少的顺序(数量相同时按照出现的先后顺序)进行编号,如表2所示,“Cpc”表示第c类元件,c∈{1,2,...,C},其中C=7,如Cp2对应元件类型名为PLCC-29SF。
表2 PCB数据文件对应元件类型
本发明基于专利CN108925126A的吸杆任务分配结果,贴装路径规划不直接使用吸杆吸嘴类型分配结果,而是根据元件类型分配结果进行,如表3所示。
表3子周期内元件类型号矩阵及对应的拾贴周期数
吸杆1 | 吸杆2 | 吸杆3 | 吸杆4 | 吸杆5 | 吸杆6 | 拾贴周期数 | |
子周期1 | Cp5 | Cp7 | Cp2 | Cp1 | Cp5 | Cp6 | 3 |
子周期2 | Cp3 | Cp4 | Cp2 | Cp1 | Cp3 | Cp6 | 2 |
子周期3 | Cp3 | Cp4 | Cp2 | Cp1 | Cp3 | Cp0 | 1 |
子周期4 | 0 | Cp4 | Cp2 | Cp1 | Cp3 | 0 | 1 |
子周期5 | 0 | Cp4 | Cp2 | Cp1 | 0 | 0 | 1 |
子周期6 | 0 | Cp4 | 0 | 0 | 0 | 0 | 1 |
子周期7 | 0 | Cp7 | 0 | 0 | 0 | 0 | 1 |
为便于描述,定义一个L行S列的“子周期内元件类型号矩阵”,用符号CpType表示,L为子周期数。对应表3有,
其中,CpType中的第l行CpType(l,:)代表了第l个子周期对应的元件类型号行,其中的l行s列元素CpType(l,s)为第l个子周期中第s个吸杆拾贴的元件类型号。
“子周期内拾贴周期数”是一个大小为L的向量,存储了各子周期对应的拾贴周期数,用符号Subcycle表示,对应表3,Subcycle=[3 2 1 1 1 1 1]。
本发明阐述了一种基于聚类的贴装路径快速优化方案,其核心思想是以对贴装点进行贴装时,贴片头位置接近为原则进行分组,由此得到各拾贴周期贴装点,再采用枚举的方法确定各拾贴周期的最短贴装路径,实现整体贴装路径最优。“聚类+枚举”的贴装路径求解方案能够在合理的运算时间内获得最优解。
贴装路径规划是本发明的研究内容,具体指贴片头在各个拾贴周期上的移动路径规划方法,分别定义“拾贴周期内元件吸取矩阵”和“拾贴周期内元件拾贴顺序矩阵”,前者将贴装点坐标位置转换为贴片头位置,后者决定了贴片头访问贴装点的先后顺序,具体而言:
(1)“拾贴周期内元件吸取矩阵”可以表示为一个K行S列的二维矩阵,用符号SuckRod表示,其中K为拾贴周期数。其具体含义为:SuckRod中的第k行SuckRod(k,:)代表了第k个拾贴周期中拾贴的元件,如SuckRod(k,s)中k行s列元素为拾贴周期k中吸杆s贴装的元件序号。
(2)“拾贴周期内元件贴装顺序矩阵”可以表示为一个K行S列的二维矩阵,用符号MountSeq表示。其具体含义为:MountSeq中的第k行MountSeq(k,:)代表了第k个拾贴周期中元件拾贴的先后顺序,如MountSeq(k,s)中k行s列的元素为拾贴周期k中第s个进行贴装的元件序号。
各个拾贴周期内贴片头的移动路径由SuckRod和MountSeq矩阵共同决定。
本实施例的一种多功能贴片机的贴装路径规划方法,其是按照具体实施方式制备的。
本发明考虑一台单动臂六吸杆并列式贴片头多功能贴片机的拾贴优化过程,拾贴过程优化的输入信息为表1中的PCB数据文件。按照具体实施方式,可以得到贴装路径规划结果为:
图2a)~图2h)分别展示了前4个拾贴周期本发明和商业软件贴装路径规划结果。图中灰点表示所有贴装点,黑点表示当前拾贴周期内待贴装点,一旁标注了贴装顺序与贴装所用吸杆号,如(2-5)表示第2个被贴装的贴装点且所用吸杆为吸杆5。比较可得,商业软件所得的贴装路径规划在拾贴周期内移动路径长,不同贴装点之间还存在折返运动,而本发明的规划结果不会出现此类情况。
进一步比较实际贴装路径长度,表5比较了本发明提供的例子中,本发明与商业软件的拾贴路径规划结果,相比商业软件,本发明可实现贴装路径的改进,提高达20.99%。
表5拾贴路径规划效果的比较
贴装路径长度 | |
本发明 | 1715.2mm |
商业软件 | 2170.95mm |
改进比例 | 20.99% |
本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (4)
1.一种基于聚类的贴片机贴装路径规划方法,其特征在于,该方法包括以下步骤:
步骤一:根据拾贴周期内各吸杆拾贴的元件类型,确定各吸杆贴装对应类型元件的贴装点信息;其具体过程为:
步骤一一:统计各元件类型对应的贴装点信息;
向量numCp中存储各类元件对应的贴装点个数,其中,在整个贴装过程中第c类元件对应的贴装点总数为numCp(c),将第c类元件对应的全部贴装点的X坐标存入大小为numCp(c)的向量CpTXc,将第c类元件对应的全部贴装点的Y坐标存入大小为numCp(c)的向量CpTYc,将第c类元件对应的全部贴装点的序号存入大小为numCp(c)的向量CpNoc;
步骤一二:统计各子周期的拾贴周期数,记向量Subcycle表示各子周期内拾贴周期数;对于拾贴周期k,拾贴周期k对应的子周期l的计算方法为:
步骤二:根据步骤一中的贴装点信息,构造cycleMount结构体数组;
所述cycleMount结构体数组包括:用于存储贴片头之间的移动距离的二维距离矩阵DistMatrix,用于存储距离矩阵中行及列对应的元件序号索引的向量CpIndex,用于存储距离矩阵中行及列对应的吸杆索引的向量RodIndex以及各子周期所用的吸杆数numRod;
步骤三:采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;
步骤四:通过枚举法确定各拾贴周期贴装元件的先后顺序。
2.根据权利要求1所述的一种基于聚类的贴片机贴装路径规划方法,其特征在于,所述步骤二中,根据步骤一中的贴装点信息,构造cycleMount结构体数组,其具体过程为:
步骤二一:初始化子周期索引l=1;
步骤二二:cycleMount[l]表示cycleMount结构体数组中子周期l的相关参数,确定子周期l所用的吸杆数cycleMount[l].numRod,式中,“.”为成员运算符,表示对结构体数组中的成员进行操作;CpType(l,s)≠0时,表示子周期l吸杆s贴装的元件类型为CpType(l,s),CpType(l,s)=0时,表示子周期l吸杆s不进行贴装,即吸杆s被禁用;
步骤二三:计算cycleMount[l]中元件序号索引cycleMount[l].CpIndex和吸杆索引cycleMount[l].RodIndex,
cycleMount[l].CpIndex和cycleMount[l].RodIndex均为一维向量,cycleMount[l].CpIndex和cycleMount[l].RodIndex的长度均为CpType(l,s)≠0,记m为向量元素索引,CpType(l,s)≠0;
cycleMount[l].CpIndex和cycleMount[l].RodIndex中各元素的具体计算方法如下:
式中CpIndex(m)等价于cycleMount[l].CpIndex(m),RodIndex(m)等价于cycleMount[l].RodIndex(m),numCp{CpType(l,s)}表示子周期l吸杆s贴装的元件类型CpType(l,s)包含的元件数;
步骤二四:计算cycleMount[l]中cycleMount[l].DistMatrix的值,r为行索引,c为列索引,cycleMount[l].DistMatrix(r,c)的具体计算方法为:
若cycleMount[l].CpIndex(r)=cycleMount[l].CpIndex(c)或cycleMount[l].RodIndex(r)=cycleMount[l].RodIndex(c),则令cycleMount[l].DistMatrix(r,c)=inf;
若cycleMount[l].CpIndex(r)≠cycleMount[l].CpIndex(c)或cycleMount[l].RodIndex(r)≠cycleMount[l].RodIndex(c),则有
式中:Cpx[cycleMount[l].CpIndex(r)]为元件cycleMount[l].CpIndex(r)的X坐标,Cpx[cycleMount[l].CpIndex(c)]为元件cycleMount[l].CpIndex(c)的X坐标,Cpy[cycleMount[l].CpIndex(r)]为元件cycleMount[l].CpIndex(r)的Y坐标,Cpy[cycleMount[l].CpIndex(c)]为元件cycleMount[l].CpIndex(c)的Y坐标,cycleMount[l].CpIndex(r)为索引r对应的元件,cycleMount[l].CpIndex(c)为索引c对应的元件,cycleMount[l].RodIndex(r)为索引r对应的吸杆,cycleMount[l].RodIndex(c)为索引c对应的吸杆;
步骤二五:子周期索引l自增1,重复步骤二二~二四,直至l>L,完成结构体数组cycleMount的构造,L表示子周期总数。
3.根据权利要求2所述的一种基于聚类的贴片机贴装路径规划方法,其特征在于,所述步骤三中采用聚类的方法,确定各拾贴周期内吸杆贴装的元件序号;其具体过程为:
步骤三二:对于当前拾贴周期k,确定拾贴周期k对应的子周期l;定义一个大小为S的向量RodUsed,s为吸杆索引,若CpType(l,s)值为0,则令RodUsed(s)=1,否则,令RodUsed(s)=0;
步骤三三:根据拾贴周期l中各吸杆拾贴的元件类型,遍历所有吸杆,分别以吸杆拾贴的元件类型所对应的各贴装点为中心点,从拾贴周期l需要的其它每个吸杆中各选取出一个距离中心点最近的贴装点,再计算贴装路径长度,并保留贴装路径长度最短的解;
步骤三三一:初始化向量的元素索引m=1;
步骤三三二:对于拾贴周期k对应的子周期l,提取出子周期l的贴片头移动距离矩阵tempDist:
tempDist=cycleMount[l].DistMatrix
以吸杆cycleMount[l].RodIndex(m)贴装点cycleMount[l].CpIndex(m)时贴片头的位置为中心,利用tmpSuckRod临时保存各吸杆贴装的贴装点序号,记录吸杆cycleMount[l].RodIndex(m)贴装元件cycleMount[l].CpIndex(m)信息:
tmpSuckRod{l,cycleMount[l].RodIndex(m)}=cycleMount[l].CpIndex(m);
若CpUsed{cycleMount[l].CpIndex(m)}=1,贴装点cycleMount[l].CpIndex(m)已确定拾贴周期和所用吸杆,执行步骤三三四;否则,执行步骤三三三;
步骤三三三:令totalDist=0,totalDist表示在步骤三三二假设中心的基础上贴片头移动的最小总距离,遍历tempDist第m行tempDist(m,:)中的所有元素,确定在步骤三三二假设中心的基础上,使贴片头移动距离最小的元素,记该元素所在位置为cmin列;
若CpUsed{cycleMount[l].CpIndex(cmin)}=1,表示cmin对应的元件已确定贴装周期和所用吸杆,令tempDist(m,cmin)=inf,重新选取tempDist(m,:)中使贴片头移动距离最小的元素及选取出的元素对应的列cmin,直至满足CpUsed{cycleMount[l].CpIndex(cmin)}≠1,令tempDist(m,cmin)=inf;
记录吸杆cycleMount[l].RodIndex(cmin)拾取cycleMount[l].CpIndex(cmin)元件的信息:
tmpSuckRod{l,cycleMount[l].RodIndex(cmin)}=cycleMount[l].CpIndex(cmin)
更新贴片头移动的最小总距离:
totalDist=totalDist+tempDist(m,cmin)
对于距离矩阵tempDist中元素tempDist(m,cmin)表示吸杆cycleMount[l].RodIndex(cmin)贴装元件cycleMount[l].CpIndex(cmin)时和吸杆cycleMount[l].RodIndex(m)贴装元件cycleMount[l].CpIndex(m)时贴片头之间的距离;
遍历贴片头移动距离矩阵tempDist中各行各列的元素,记r为矩阵的行索引,c为列索引:
若cycleMount[l].CpIndex(r)=cycleMount[l].CpIndex(cmin)或cycleMount[l].CpIndex(c)=cycleMount[l].CpIndex(cmin),令tempDist(r,c)=inf;
若cycleMount[l].RodIndex(r)=cycleMount[l].RodIndex(cmin)或cycleMount[l].RodIndex(c)=cycleMount[l].RodIndex(cmin),令tempDist(r,c)=inf;
在步骤三三二假设中心的基础上,继续在tempDist(m,:)中确定个贴片头移动距离值最小的元素,由此确定出一组距离中心点最近的贴装点,即给定中心位置的一组距离以及距离最小的贴装点,根据中心位置的一组距离计算出该中心位置对应的贴装路径长度;
SuckRod(k,:)=tmpSuckRod(k,:),
CpUsed{SuckRod(k,s)}=1,s=1,2,…,S;
式中:“:”表示取矩阵的行或列的所有元素;
tmpSuckRod(k,:)为最优值对应的各吸杆贴装的贴装点序号,将最优值对应的贴装点作为当前拾贴周期k各吸杆贴装的元件序号SuckRod(k,:);
4.根据权利要求3所述的一种基于聚类的贴片机贴装路径规划方法,其特征在于,所述步骤四中通过枚举法确定各拾贴周期贴装元件的先后顺序;其具体过程为:
步骤四一:确定一个cycleMount[l].numRod行cycleMount[l].numRod列的矩阵Perm,矩阵中的各行均为1~cycleMount[l].numRod全排列的一种,且无重复行,记r为矩阵的行索引,c为矩阵的列索引,k为拾贴周期索引,初始化r=1、k=1;
步骤四二:拾贴周期k对应的子周期为l,根据Perm(r,:)的值确定贴装路径长度mountDist,初始化mountDist=0,遍历c=1,2,…,cycleMount[l].numRod-1,有
n1=SuckRod{k,Perm(r,c)},
n2=SuckRod{k,Perm(r,c+1)},
式中,Cpx(n1)为元件序号n1的X坐标,Cpx(n2)为元件序号n2的X坐标,Cpy(n1)为元件序号n1的Y坐标,Cpy(n2)为元件序号n2的Y坐标,rod_interval表示吸杆间间隔,rod_interval=30,Perm(r,c)表示矩阵Perm中第r行第c列对应的吸杆序号,n1表示吸杆Perm(r,c)贴装的元件序号,Perm(r,c+1)表示矩阵Perm中第r行第c+1列对应的吸杆序号,n2表示吸杆Perm(r,c+1)贴装的元件序号;
步骤四三:r自增1,重复步骤四二,直至r>cycleMount[l].numRod,保留mountDist的取值最小时的行序号rmin,将行序号rmin中的元件序号顺序作为当前拾贴周期k的元件贴装顺序;
MountSeq(k,c)=SuckRod{k,Perm(rmin,c)},c=1,2,…,cycleMount[l].numRod;
式中MountSeq(k,c)表示拾贴周期k第c个进行贴装的贴装点序号;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387784.3A CN111615325B (zh) | 2020-05-09 | 2020-05-09 | 一种基于聚类的多功能贴片机贴装路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387784.3A CN111615325B (zh) | 2020-05-09 | 2020-05-09 | 一种基于聚类的多功能贴片机贴装路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111615325A CN111615325A (zh) | 2020-09-01 |
CN111615325B true CN111615325B (zh) | 2021-05-07 |
Family
ID=72200084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010387784.3A Active CN111615325B (zh) | 2020-05-09 | 2020-05-09 | 一种基于聚类的多功能贴片机贴装路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111615325B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623770B (zh) * | 2022-11-07 | 2023-08-22 | 哈尔滨工业大学 | 基于k近邻算法的直排式贴片机贴装路径优化方法 |
CN115660201B (zh) * | 2022-11-08 | 2023-07-28 | 哈尔滨工业大学 | 基于动态规划的直排式贴片机贴装头元件分配方法 |
CN117641880B (zh) * | 2024-01-23 | 2024-03-29 | 合肥安迅精密技术有限公司 | 贴片机飞达排布优化方法及系统、存储介质 |
CN118195114B (zh) * | 2024-03-26 | 2024-08-27 | 东莞野火科技有限公司 | 一种贴片机的元件智能分配及路径智能规划方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10209682A (ja) * | 1997-01-21 | 1998-08-07 | Matsushita Electric Ind Co Ltd | 部品実装方法 |
CN1708217A (zh) * | 2004-06-10 | 2005-12-14 | 重机公司 | 部件装配机的部件装配优化方法和装置 |
WO2008042265A2 (en) * | 2006-09-29 | 2008-04-10 | Inferx Corporation | Distributed clustering method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103717007B (zh) * | 2014-01-22 | 2017-02-08 | 哈尔滨工业大学 | 基于聚类分析与遗传算法的多吸嘴贴片机贴装工艺优化方法 |
-
2020
- 2020-05-09 CN CN202010387784.3A patent/CN111615325B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10209682A (ja) * | 1997-01-21 | 1998-08-07 | Matsushita Electric Ind Co Ltd | 部品実装方法 |
CN1708217A (zh) * | 2004-06-10 | 2005-12-14 | 重机公司 | 部件装配机的部件装配优化方法和装置 |
WO2008042265A2 (en) * | 2006-09-29 | 2008-04-10 | Inferx Corporation | Distributed clustering method |
Also Published As
Publication number | Publication date |
---|---|
CN111615325A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111615325B (zh) | 一种基于聚类的多功能贴片机贴装路径规划方法 | |
CN108925126B (zh) | 一种单动臂并列式贴片头贴片机的吸杆任务分配方法 | |
CN111479404B (zh) | 一种基于混合遗传算法的led贴片机拾贴路径优化方法 | |
US7899561B2 (en) | Operating time reducing method, operating time reducing apparatus, program and component mounter | |
EP1586227A1 (en) | Method for optimization of an order of component mounting, apparatus using the same, and mounter | |
KR101062511B1 (ko) | 부품 장착 순서의 최적화 방법 및 부품 장착 순서의 최적화장치 | |
US7885723B2 (en) | Setting device, component mounting system, program and calculating method | |
EP3016490B1 (en) | Component mounting machine | |
CN116234293A (zh) | 一种电子元器件贴片路径优化方法、设备、介质及终端 | |
CN111586992B (zh) | 一种基于最近插入法的贴片机贴装路径规划方法 | |
Burke et al. | New models and heuristics for component placement in printed circuit board assembly | |
JP2002050900A (ja) | 部品実装順序最適化方法、その装置及び部品実装装置 | |
CN111615324B (zh) | 一种基于禁忌搜索算法的led贴片机拾贴路径优化方法 | |
CN115623770B (zh) | 基于k近邻算法的直排式贴片机贴装路径优化方法 | |
KR101004847B1 (ko) | 부품 장착 장치, 부품 장착 설정 산출 장치, 프로그램 및 부품 장착 설정 산출 방법 | |
CN116095980B (zh) | 一种基于最大二分配的贴片机吸嘴分配方法 | |
CN111465210A (zh) | 一种基于聚类的led贴片机拾贴路径优化方法 | |
CN106982547B (zh) | 一种smt贴片机多轴同步取料控制方法 | |
JP2008277770A (ja) | 部品実装方法 | |
CN108763602A (zh) | Pcb板智能排板算法 | |
JP2016207729A (ja) | 部品実装機、部品実装方法 | |
CN1979500A (zh) | 零件摆放自动检查系统及方法 | |
Hai-Ming et al. | A heuristic optimization algorithm for multi-head mounter | |
US20240242092A1 (en) | Placement path optimization method of surface mount machine based on row-column grouping genetic algorithm | |
CN118195114B (zh) | 一种贴片机的元件智能分配及路径智能规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |