CN113111546A - 一种基于Petri网的多横梁水切割最优走刀路径规划方法 - Google Patents

一种基于Petri网的多横梁水切割最优走刀路径规划方法 Download PDF

Info

Publication number
CN113111546A
CN113111546A CN202110462059.2A CN202110462059A CN113111546A CN 113111546 A CN113111546 A CN 113111546A CN 202110462059 A CN202110462059 A CN 202110462059A CN 113111546 A CN113111546 A CN 113111546A
Authority
CN
China
Prior art keywords
cut
beam system
subtask
point
jth
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.)
Granted
Application number
CN202110462059.2A
Other languages
English (en)
Other versions
CN113111546B (zh
Inventor
何舟
施威杰
马子玥
张瑞杰
刘苗
古婵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Xidong Intelligent Technology Co ltd
Shaanxi University of Science and Technology
Original Assignee
Shaanxi University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shaanxi University of Science and Technology filed Critical Shaanxi University of Science and Technology
Priority to CN202110462059.2A priority Critical patent/CN113111546B/zh
Publication of CN113111546A publication Critical patent/CN113111546A/zh
Application granted granted Critical
Publication of CN113111546B publication Critical patent/CN113111546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/22Design optimisation, verification or simulation using Petri net models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Laser Beam Processing (AREA)

Abstract

一种基于Petri网的多横梁水切割最优走刀路径规划方法,先对多横梁水切割系统的加工区域进行划分,对于给定的切割任务,根据所在区域将加工任务分配给相应的横梁系统;再将每个横梁系统的待切割任务分割为子任务;然后对每个横梁系统的待切割子任务建立Petri网模型,将子任务的问题转换为整数线性规划问题;再在MATLAB中调用步骤五整数线性规划问题的相关程序,利用YALMIP优化工具箱求解程序内容并进行结果分析;最后对各个任务的时间窗进行调整实现横梁之间冲突的避免;本发明实现多横梁水切割系统在加工任意曲线的情况下的各横梁路径规划,使各个横梁系统所移动的距离之和最短,较大程度的降低加工成本,具有良好的应用前景。

Description

一种基于Petri网的多横梁水切割最优走刀路径规划方法
技术领域
本发明涉及数控水射流切割加工技术领域,具体涉及一种基于Petri网的多横梁水切割最优走刀路径规划方法。
技术背景
水切割也称水射流切割或水刀切割,是一种特殊的加工方法。它利用增压器将水加压到10MPa-400MPa甚至更高的压力,水获得压力后能再从细小的喷嘴喷射向待切割工件,将压力能转换为动能,从而形成高速射流,利用这种高速射流的动能对工件的冲击破坏作用,达到切断、成形的目的,因此其具有环保性、切割材料无选择性、生产成本低、自动化程度高等特点。由于与其他切割技术相比有明显的优势,水切割已经广泛应用于机械、航天航空、汽车、化工、建筑、装饰等行业,切割多达500多种类型材质,如钢材、钛、合金、大理石、皮革等,也是一些复合材料,易碎瓷材料复杂加工的唯一手段。
为了适应不同的加工工件,单横梁水切割系统和多横梁水切割系统应运而生。单横梁水切割系统利用安装在单一横梁上的刀头进行切割,所有切割任务仅由一个刀头完成,切割效率较低;多横梁水切割系统由多个横梁、导轨及工作台组成,各横梁可以并行加工,具备伸缩性和可扩展性,切割效率显著提高,成为大型工件水切割的首选方案。但是,为了保证衔接部分无切割死去,多横梁水切割系统的相邻两两横梁的加工区域存在一定的重叠;在重叠部分的加工任务就会存在由哪个横梁加工以及各个横梁加工区域内的加工任务及加工顺序的问题。现有技术只是将加工任务简化为一个点,单纯的归属于横梁的专属任务或者重叠区的任务后对其路径进行规划,该最优路径求解方法要求加工曲线为封闭曲线(即切入点和切出点相同),并且没有考虑到工作任务的轨迹同时跨越专属区和重叠区的情况,具有一定的局限性。
发明内容
为了克服上述现有技术的缺点,本发明的目的是提出一种基于Petri网的多横梁水切割最优走刀路径规划方法,能够实现多横梁水切割系统在加工任意曲线的情况下的各横梁路径规划,使各个横梁系统移动的距离之和最短,较大程度的降低加工成本,具有良好的应用前景。
为了达到上述目的,本发明采用如下技术方案:
1、一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,包括以下步骤:
步骤一:对多横梁水切割系统的加工区域进行划分;
步骤二:对于给定的切割任务,根据所在区域将加工任务分配给相应的横梁系统;
步骤三:将每个横梁系统的待切割任务分割为子任务;
步骤四:对每个横梁系统的待切割子任务建立Petri网模型;
步骤五:基于步骤四的Petri网模型,将步骤三的问题转换为整数线性规划问题;
步骤六:在MATLAB中调用步骤五整数线性规划问题的相关程序;
步骤七:利用YALMIP优化工具箱求解步骤六的程序内容并进行结果分析;
步骤八:对各个任务的时间窗进行调整实现横梁之间冲突的避免。
所述的步骤一具体为:分别将第1横梁系统、第2横梁系统、...、第i横梁系统、...、第n横梁系统中各横梁的最大工作区域作为各自的可达区,即第1可达区、第2可达区、...、第i可达区、...、第n可达区,将相邻的第j可达区和j+1可达区之间的重叠部分作为第j重叠区,其中j∈[1,n-1],第j重叠区左右边界线称为左重叠线、右重叠线,将第j重叠区的两侧各增加横梁的宽度,形成第j干涉区,第j干涉区左右边界线称为左干涉线、右干涉线,将第j可达区除去属于第j-1个干涉区和第j个干涉区的区域,作为第j专属区,j∈[2,n-1],第1个专属区为第1可达区除去属于第1个干涉区的区域,第n个专属区为第n可达区除去属于第n-1个干涉区的区域。
所述的步骤二具体为:
如果待切割轮廓完全位于第j专属区内,j∈[1,n],则将待切割轮廓分配给第j横梁系统;
如果待切割轮廓完全位于第j重叠区内,j∈[1,n-1],则将待切割轮廓分配给第j横梁系统或第j+1横梁系统;
如果待切割轮廓完全位于第j可达区内但不完全属于该可达区所包含的重叠区(即第2类),其中,j∈[1,n],则将待切割轮廓分配给第j横梁系统;
如果待切割轮廓连续跨越第j重叠区、第j+1重叠区、...、第j+h-1重叠区,j∈[1,n-1],h∈[1,n-1],j+h∈[1,n],h代表跨越的重叠区个数,以待切割轮廓跨越的各重叠区的中心线为界,将待切割轮廓沿导轨方向分割成第1段、第2段、…、第h段、第h+1段,分割后的各待切割轮廓段分别分配给第j横梁系统、第j+1横梁系统、…、第j+h-1横梁系统、第j+h横梁系统。
所述的步骤三具体为:
如果待切割任务没有跨越干涉线,完全位于干涉区或专属区内,则不需要对待切割任务进行分割,子任务即待切割任务;
如果待切割i任务跨越干涉线,将其以干涉线为界将该待切割任务分割为第1子任务,第2子任务,...。
所述的步骤四的Petri网模型如下:
第c横梁系统上子任务为rc个,对子任务进行分类,分为四类:切入点和切出点相同且不属于重叠区的子任务集合记为Rc,1,个数记为rc,1;切入点和切出点相同且不属于重叠区的子任务集合记为Rc,2,个数记为rc,2,并对该子任务集合内的任务j的端点进行编号为j1、j2,其中j∈[rc,1+1,rc,1+rc,2];切入点和切出点相同且属于第c-1重叠区的子任务集合记为Rc,3,个数记为rc,3,若c=1则该集合为空集;切入点和切出点相同且属于第c重叠区的子任务集合记为Rc,4,个数记为rc,4,若c=n则该集合为空集;其中,rc,1+rc,2+rc,3+rc,4=rc;
建立第c横梁系统起点及各个子任务的库所模型,用集合Pc来表示,
Figure BDA0003042655740000051
起点建立库所pc,0;集合Rc,1建立库所
Figure BDA0003042655740000052
集合Rc,2建立库所
Figure BDA0003042655740000053
Figure BDA0003042655740000054
集合Rc,3建立库所
Figure BDA0003042655740000055
集合Rc,4建立库所
Figure BDA0003042655740000056
建立第c横梁系统各个库所之间的变迁模型:
对于起点、集合Rc,1、集合Rc,3、集合Rc,4所建立的库所之间的变迁关系,库所pc,i和库所pc,j之间建立变迁tc,i,j和tc,j,i,i∈[0,rc,1]∪[rc,1+rc,2+1,rc,1+rc,2+rc,3+rc,4],j∈[0,rc,1]∪[rc,1+rc,2+1,rc,1+rc,2+rc,3+rc,4],i≠j,变迁tc,i,j表示第c横梁系统从第i个子任务的切出点运动到第j个子任务的切入点,wc,i,j表示第c横梁系统第i个子任务的切出点与第j个子任务的切入点间的距离wc,i,j=|xc,i-xc,j|+|yc,i-yc,j|,xc,i、yc,i、xc,j、yc,j分别代表第c横梁系统子任务i、j的横纵坐标,变迁tc,j,i表示第c横梁系统从第j个子任务的切出点运动到第i个子任务的切入点,wc,j,i表示第c横梁系统第j个子任务的切出点与第i个子任务的切入点间的距离,此类变迁总个数为rc,1+rc,3+rc,4+1)*(rc,1+rc,3+rc,4
对于起点、集合Rc,1、集合Rc,3、集合Rc,4所建立的库所和集合Rc,2所建立的库所之间的变迁关系,库所pc,i和库所pc,i之间建立变迁
Figure BDA0003042655740000057
Figure BDA0003042655740000058
Figure BDA0003042655740000061
变迁
Figure BDA0003042655740000062
表示第c横梁系统从第i个子任务的切出点运动到第j个子任务的j1切入点,
Figure BDA0003042655740000063
表示第c横梁系统第i个子任务的切出点与第j个子任务的j1切入点间的距离,变迁
Figure BDA0003042655740000064
表示第c横梁系统从第j个子任务的j1切出点运动到第i个子任务的切入点,
Figure BDA0003042655740000065
表示第c横梁系统第j个子任务的j1切出点与第i个子任务的切入点间的距离。同样,用
Figure BDA0003042655740000066
表示各个运动及其距离,此类变迁总个数为(rc,1+rc,3+rc,4+1)*rc,2*4:
对于集合Rc,2所建立的库所之间的变迁关系,库所pc,i和库所pc,j之间建立变迁
Figure BDA0003042655740000067
Figure BDA0003042655740000068
变迁
Figure BDA0003042655740000069
表示第c横梁系统从第i个子任务的i1切出点运动到第j个子任务的j1切入点,
Figure BDA00030426557400000610
表示第c横梁系统第i个子任务的i1切出点与第j个子任务的j1切入点间的距离,变迁
Figure BDA00030426557400000611
表示第c横梁系统从第j个子任务的j1切出点运动到第i个子任务的i1切入点,
Figure BDA00030426557400000612
表示第c横梁系统第j个子任务的j1切出点与第i个子任务的i1切入点间的距离;同样,用
Figure BDA00030426557400000613
Figure BDA00030426557400000614
表示各个运动切入点和切出点的距离,此类变迁总个数为rc,2*(rc,2-1)*4;
第c横梁系统的变迁总个数rc,t=(rc,1+rc,3+rc,4+1)*(rc,1+rc,3+rc,4)+(rc,1+rc,3+rc,4+1)*rc,2*4+rc,2*(rc,2-1)*4;
将第c横梁系统所有变迁所代表的运动距离组成一个1*rc,t的行向量
Figure BDA0003042655740000071
其中:i,j=0,1,2,...,rc,i<j;如果pc,i、pc,j代表出切入点和切出点不同的子任务,那么wi,j中的i和j含下标1和2代表不同的两点;
基于每个子任务只能被一个横梁访问且只能访问一次的原因,用k={1,2,...,K}表示横梁移动的次数,且车辆每增加一步就意味着刀头可能访问一个点;
用标识Mc,k来表示每一个横梁系统在每一步的工作状态,使用
Figure BDA0003042655740000072
表示第c横梁系统在第k步时在各个子任务pi处的位置标记,即第c横梁系统在第k步时所处的位置,其中c=1,2,...,n,k=1,2,...,K,i=0,1,...,rc;第c横梁系统在第k步时所处的位置pc,i,那么Mc,k(pc,i)=1,否则Mc,k(pc,i)=0;
Figure BDA0003042655740000073
Figure BDA0003042655740000074
分别表示第c横梁系统Petri网模型的前置关联矩阵和后置关联矩阵;若库所p的输出弧指向变迁t时,Prec(p,t)=1,否则Prec(p,t)=0;若变迁t的输出弧指向库所p时,Postc(p,t)=1,否则Postc(p,t)=0;
为了表示第c横梁系统在第k步的移动路径,在Petri网中采用rc,t*1的列向量
Figure BDA0003042655740000075
Figure BDA0003042655740000076
表示第c横梁系统在第k步的变迁触发向量,其中:i,j=0,1,2,...,rc,i<j;如果第c横梁系统在第k步的是从位置pc,i到位置pc,j,那么σc,k,i,j=1,即变迁tc,i,j触发,否则σc,k,i,j=0;如果pc,i、pc,j代表第c横梁系统出切入点和切出点不同的子任务,那么σc,k,i,j中的i和j含下标1和2代表两点。
所述的步骤五的整数线性规划问题模型如下:
目标函数为:
Figure BDA0003042655740000081
约束条件:
约束条件1:Mc,k=Mc,k-1+(Postc-Prec)×σc,k,c∈[1,n],k∈[1,K];该约束为状态方程,表达的是标识Mc,k、Mc,k-1与变迁触发向量σc,k之间的关系;
约束条件2:Mc,k-1-Prec×σc,k≥0,c∈[1,n],k∈[1,K];该约束约束了发生变迁后,变迁的前置库所内托肯数为非负数,即发射变迁前该变迁的前置库所中存在一定数量的托肯,约束了发生变迁的条件;
约束条件3:1T×σc,k≤1,c∈[1,n],k∈[1,K];该约束约束了列向量σc,k中最多仅能有一个元素为1,这表示每一个横梁每一步只能触发一个变迁;
约束条件4:
Figure BDA0003042655740000082
该约束约束了每一个横梁除了完全属于重叠区域的任务仅被该横梁访问一次;
约束条件5:
Figure BDA0003042655740000083
Figure BDA0003042655740000084
该约束约束了每个重叠区域的任务仅被一个横梁执行加工任务;
约束条件6:
Figure BDA0003042655740000091
Figure BDA0003042655740000092
约束条件7:
Figure BDA0003042655740000093
Figure BDA0003042655740000094
约束条件6和约束条件7约束了每个横梁系统中切入点和切出点不同的子任务,其只能从一点切入另一点切出;
其中,变量定义如下:
c是可供加工的的横梁的集合,c={1,2,...,n};
k是横梁的移动步数,K是横梁最多移动的步数,k={1,2,...,K};
i,j表示起点及子任务,i,j={0,1,2,...,rc},如果pc,i、pc,j代表第c横梁系统出切入点和切出点不同的子任务,那么σc,k,i,j中的i和j可以含下标1和2代表两点;
Figure BDA0003042655740000095
表示与第c横梁系统Petri网模型所有变迁所代表的运动对应的距离;
Figure BDA0003042655740000096
表示Petri网的变迁触发向量;如果第c横梁系统在第k步经点i出发去访问j点,则σc,k,i,j=1,否则σc,k,i,j=0;
Figure BDA0003042655740000097
是Petri网的位置标识,如果第c横梁系统在第k步时所处的位置是pc,i,那么Mc,k(pc,i)=1,否则Mc,k(pc,i)=0;
Figure BDA0003042655740000101
表示第c横梁系统Petri网模型的后置关联矩阵,如果变迁t的输出弧指向库所p时,Postc(p,t)=1,否则Postc(p,t)=0;
Figure BDA0003042655740000102
表示第c横梁系统Petri网模型的前置关联矩阵,如果库所p的输出弧指向变迁t时,Prec(p,t)=1,否则Prec(p,t)=0。
所述的步骤八具体为:根据刀头空行程的运动速度为vk、加工速度为vj、加工子任务切割长度L,计算刀头空行程运动时间tk=max(Δx,Δy)/vk、刀头加工运动时间为tj=L/vk,从而得到各横梁系统刀头运动时间窗;
采用先进先加工的原则:如果第c横梁系统在第c-1或c+1重叠区内加工时,第c-1或c+1横梁系统将要进入第c-1或c重叠区进行加工,第c-1或c+1横梁系统需等待第c横梁系统在第c-1或c重叠区加工完成并移出第c-1或c重叠区0.5s后进入第c-1或c重叠区进行加工任务。
本发明的有益效果为:
对于给定的各个任务的切入点和切出点,轮廓之间的走刀顺序也存在很多种可能性,并且针对不封闭的切割任务,能从该任务的两点中任意一点切入,所以走刀路径存在多种可能,移动的总距离也可能存在很大的差异,因此从这些走刀路径中寻找到最优的路径是十分有必要的。本发明方法结合了Petri网模型,将多横梁水切割系统走刀路径问题的模型转换为整数线性规划问题,在MATLAB中利用YALMIP优化工具箱对该问题进行求解,最终找到满足加工要求的最优走刀路径;本发明方法不仅具有良好的通用性,而且能够快速找到多横梁水切割系统走刀路径的最优路线,较大程度的降低加工成本,具有良好的应用前景。
本发明所提供的一种基于Petri网的多横梁水切割最优走刀路径规划方法具有通用性,不仅能够规划多横梁水切割系统的走刀路径,也可以规划单横梁水切割系统的走刀路径,能使所有的待切割任务仅被一横梁加工一次且所有横梁的移动距离之和最短,达到降低切割成本和时耗的目的;本发明还与时间窗的调整结合起来,达到避免横梁碰撞的目的,提高运行的可靠性。
附图说明
图1是本发明方法的流程框图。
图2是实施例的多横梁水切割系统的加工区域划分图。
图3是实施例的多横梁水切割系统的加工任务分配图。
图4是实施例的多横梁水切割系统的加工子任务分割图。
图5是实施例的多横梁水切割系统的走刀路径规划图。
具体实施方式
以下结合实施例和附图对发明作进一步说明。
参照图1,一种基于Petri网的多横梁水切割最优走刀路径规划方法,包含以下步骤:
步骤一:对多横梁水切割系统的加工区域进行划分:
分别将第1横梁系统、第2横梁系统的最大工作区域作为各自的可达区,即第1可达区、第2可达区,将相邻的第1可达区和2可达区之间的重叠部分作为第1重叠区,第1重叠区左右边界线称为左重叠线、右重叠线,将第1重叠区的两侧各增加横梁的宽度,形成第1干涉区,第1干涉区左右边界线称为左干涉线、右干涉线,将第1可达区除去属于第1个干涉区的区域,作为第1专属区,将第2可达区除去属于第1个干涉区的区域,作为第2专属区,如图2所示;
步骤二:对于给定的切割任务,将加工任务分配给相应的横梁系统,如图3所示;
待切割轮廓A1完全位于第1专属区内,则将待切割轮廓A1分配给第1横梁系统;待切割轮廓B1完全位于第2专属区内,则将待切割轮廓B1分配给第2横梁系统;
待切割轮廓A4、B4完全位于第1重叠区内,则将待切割轮廓A4、B4配给第1横梁系统或第2横梁系统;
待切割轮廓A2完全位于第1可达区内但不完全属于第1重叠区,则将待切割轮廓A2分配给第1横梁系统;待切割轮廓B2完全位于第2可达区内但不完全属于第1重叠区,则将待切割轮廓分配给第2横梁系统;
待切割轮廓A3和B3连续跨越第1重叠区,以待切割轮廓跨越的第1重叠区的中心线为界,将待切割轮廓沿导轨方向分割成第1段(A3)、第2段(B3)分别分配给第1横梁系统、第2横梁系统;
步骤三:将每个横梁系统的待切割任务分割为子任务,如图4所示:
对于第1横梁系统:
待切割任务A1没有跨越干涉线,完全位于专属区,则不需要对待切割任务进行分割,子任务ZA1即待切割任务A1;
待切割任务A2跨越干涉线,以干涉线为界将该待切割任务分割为第1子任务(ZA2),第2子任务(ZA3);待切割任务A3跨越干涉线,将其以干涉线为界将该待切割任务分割为第1子任务(ZA4),第2子任务(ZA5),第3子任务(ZA6);
待切割任务A4没有跨越干涉线,完全位于重叠区,则不需要对待切割任务进行分割,子任务ZA7即待切割任务A4;
对于第2横梁系统:
待切割任务B1没有跨越干涉线,完全位于专属区,则不需要对待切割任务进行分割,子任务ZB1即待切割任务B1;
待切割任务B2跨越干涉线,将其以干涉线为界将该待切割任务分割为第1子任务(ZB2),第2子任务(ZB3);待切割任务B3跨越干涉线,以干涉线为界将该待切割任务分割为第1子任务(ZB4),第2子任务(ZB5),第3子任务(ZB6);
待切割任务B4没有跨越干涉线,完全位于重叠区,则不需要对待切割任务进行分割,子任务ZB7即待切割任务B4;
多横梁水切割系统的子任务分割如图4所示,读取各个横梁系统的子任务切入切出点坐标:如下表:
表1横梁系统的子任务切入切出点坐标
子任务(第1横梁系统) 坐标 子任务(第2横梁系统) 坐标
A0 (9.05,6.75) B0 (147.55,6.61)
ZA1 (19.09,13.40) ZB1 (145.41,14.26)
ZA2<sub>1</sub> (60.00,46.81) ZB2<sub>1</sub> (110.00,43.35)
ZA2<sub>2</sub> (60.00,37.64) ZB2<sub>2</sub> (110.00,30.88)
ZA3<sub>1</sub> (60.00,46.81) ZB3<sub>1</sub> (110.00,43.35)
ZA3<sub>2</sub> (60.00,37.64) ZB3<sub>2</sub> (110.00,30.88)
ZA4<sub>1</sub> (60.00,25.19) ZB4<sub>1</sub> (85.00,25.19)
ZA4<sub>2</sub> (85.00,25.19) ZB4<sub>2</sub> (110.00,25.19)
ZA5<sub>1</sub> (60.00,25.19) ZB5<sub>1</sub> (110.00,25.19)
ZA5<sub>2</sub> (60.00,17.82) ZB5<sub>2</sub> (110.00,17.82)
ZA6<sub>1</sub> (60.00,17.82) ZB6<sub>1</sub> (85.00,17.82)
ZA6<sub>2</sub> (85.00,17.82) ZB6<sub>2</sub> (110.00,17.82)
ZA7 (85.16,12.07) ZB7 (85.16,12.07)
步骤四:对每个横梁系统的待切割子任务建立Petri网模型:
4.1)对于第1横梁系统:第1横梁系统上子任务为r1=7个,对子任务进行分类,分为四类:切入点和切出点相同且不属于重叠区的子任务集合记为R1,1(ZA1,个数r1,1=1);切入点和切出点不同的子任务集合记为R1,2(ZA2、ZA3、ZA4、ZA5、ZA6,个数r1,2=5),并对该子集合内的任务j的端点进行编号为j1、j2,其中j∈[2,6];此时,第c-1重叠区不存在,故集合R1,3为空集,r1,3=0;切入点和切出点相同且属于第1重叠区的子任务集合记为R1,4(ZA7,个数r1,4=1),其中,r1,1+r1,2+r1,3+r1,4=r1
对于第2横梁系统:第2横梁系统上子任务为r2=7个,对子任务进行分类,分为四类:切入点和切出点相同且不属于重叠区的子任务集合记为R2,1(ZB1,个数r2,1=1);切入点和切出点不同的子任务集合记为R2,2(ZB2、ZB3、ZB4、ZB5、ZB6,个数r2,2=5),并对该子集合内的任务j的端点进行编号为j1、j2,其中j∈[2,6];切入点和切出点相同且属于第1重叠区的子任务集合记为R1,3(ZB7,个数r2,4=1);此时,第c+1重叠区不存在,故集合R2,4为空集,r2,4=0;其中,r2,1+r2,2+r2,3+r2,4=r2
4.2)建立第1横梁系统起点及各个子任务的库所模型,用集合P1来表示,P1={p1,0,p1,1,...,p1,7}:起点建立库所p1,0;集合R1,1建立库所p1,1;集合R1,2建立库所p1,2、p1,3、...、p1,6;集合R1,3为空集;集合R1,4建立库所p1,7
建立第2横梁系统起点及各个子任务的库所模型,用集合P2来表示,P2={p2,0,p2,1,...,p2,7}:起点建立库所p2,0;集合R2,1建立库所p2,1;集合R2,2建立库所p2,2、p2,3、...、p2,6;集合R2,3建立库所p2,7;集合R2,4为空集;
4.3)建立第1横梁系统各个库所之间的变迁模型:
对于起点、集合R1,1、集合R1,3、集合R1,4所建立的库所之间的变迁关系,库所p1,i和库所p1,j之间建立变迁t1,i,j和t1,j,i(i∈{0,1,7},j∈{0,1,7},i≠j),变迁t1,i,j表示第1横梁系统从第i个子任务的切出点运动到第j个子任务的切入点,w1,i,j表示第1横梁系统第i个子任务的切出点与第j个子任务的切入点间的距离(w1,i,j=|x1,i-x1,j|+|y1,i-y1,j|,x1,i、y1,i、x1,j、y1,j分别代表第1横梁系统子任务i、j的横纵坐标),变迁t1,j,i表示第1横梁系统从第j个子任务的切出点运动到第i个子任务的切入点,w1,j,i表示第1横梁系统第j个子任务的切出点与第i个子任务的切入点间的距离,此类变迁总个数为(r1,1+r1,3+r1,4+1)*(r1,1+r1,3+r1,4)=6;
对于起点、集合R1,1、集合R1,3、集合R1,4所建立的库所和集合R1,2所建立的库所之间的变迁关系,库所p1,i和库所p1,j之间建立变迁
Figure BDA0003042655740000161
Figure BDA0003042655740000162
变迁
Figure BDA0003042655740000163
表示第1横梁系统从第i个子任务的切出点运动到第j个子任务的j1切入点,
Figure BDA0003042655740000164
表示第1横梁系统第i个子任务的切出点与第j个子任务的j1切入点间的距离,变迁
Figure BDA0003042655740000165
表示第1横梁系统从第j个子任务的j1切出点运动到第i个子任务的切入点,
Figure BDA0003042655740000166
表示第1横梁系统第j个子任务的j1切出点与第i个子任务的切入点间的距离,变迁
Figure BDA0003042655740000167
表示第1横梁系统从第i个子任务的切出点运动到第j个子任务的j2切入点,变迁
Figure BDA0003042655740000168
表示第1横梁系统从第j个子任务的j2切出点运动到第i个子任务的切入点,同样,用
Figure BDA0003042655740000169
表示各个运动及其距离,此类变迁总个数为(r1,1+r1,3+r1,4+1)*r1,2*4=60;
对于集合R1,2所建立的库所之间的变迁关系,库所p1,i和库所p1,j之间建立变迁
Figure BDA00030426557400001610
Figure BDA00030426557400001611
变迁
Figure BDA00030426557400001612
表示第1横梁系统从第i个子任务的i1切出点运动到第j个子任务的j1切入点,
Figure BDA00030426557400001613
表示第1横梁系统第i个子任务的i1切出点与第j个子任务的j1切入点间的距离,变迁
Figure BDA00030426557400001614
表示第1横梁系统从第j个子任务的j1切出点运动到第i个子任务的i1切入点,
Figure BDA00030426557400001615
表示第1横梁系统第j个子任务的j1切出点与第i个子任务的i1切入点间的距离。同样,用
Figure BDA00030426557400001616
Figure BDA00030426557400001617
表示各个运动切入点和切出点的距离,此类变迁总个数为r1,2*(r1,2-1)*4=80;
第1横梁系统的变迁总个数r1,t=(r1,1+r1,3+r1,4+1)*(r1,1+r1,3+r1,4)+(r1,1+r1,3+r1,4+1)*r1,2*4+r1,2*(r1,2-1)*4=146;
将第1横梁系统所有变迁所代表的运动距离组成一个1*146的行向量
Figure BDA0003042655740000171
Figure BDA0003042655740000172
,其中:i,j=0,1,2,...,rc,i<j;如果p1,i、p1,j(即i,j∈[2,6])代表切入点和切出点不同的子任务,那么wi,j中的i和j可以含下标1和2代表不同的两点;
基于每个子任务只能被一个横梁访问且只能访问一次的原因,用k={1,2,...,K}表示横梁移动的次数,且车辆每增加一步就意味着刀头可能访问一个点;
用标识M1,k来表示第1横梁系统在每一步的工作状态,使用M1,k=[M1,k(p1,0),M1,k(p1,1),...,M1,k(p1,7)]T表示第1横梁系统在第k步时在各个子任务pi处的位置标记,即第1横梁系统在第k步时所处的位置,其中k=1,2,...,K,i=0,1,...,7;第1横梁系统在第k步时所处的位置pc,i,那么M1,k(p1,i)=1,否则M1,k(p1,i)=0;
Pre1∈{0,1}8×146和Post1∈{0,1}8×146分别表示第1横梁系统Petri网模型的前置关联矩阵和后置关联矩阵;若库所p的输出弧指向变迁t时,Pre1(p,t)=1,否则Pre1(p,t)=0;若变迁t的输出弧指向库所p时,Post1(p,t)=1,否则Post1(p,t)=0;
为了表示第1横梁系统在第k步的移动路径,在Petri网中采用列向量
Figure BDA0003042655740000181
Figure BDA0003042655740000182
表示第1横梁系统在第k步的变迁触发向量,其中:i,j=0,1,2,...,rc,i<j;如果第1横梁系统在第k步的是从位置pc,i到位置pc,j,那么σc,k,i,j=1,即变迁tc,i,j触发,否则σc,k,i,j=0(如果pc,i、pc,j代表第1横梁系统切入点和切出点不同的子任务,那么σc,k,i,j中的i和j可以含下标1和2代表两点);
同理可得第2横梁系统待切割子任务的Petri网模型;
步骤五:基于步骤四的Petri网模型,将步骤三的问题转换为整数线性规划问题;
目标函数为:
Figure BDA0003042655740000183
约束条件:
约束条件1:Mc,k=Mc,k-1+(Postc-Prec)×σc,k,c∈[1,n],k∈[1,K];
本实施例为:M1,k=M1,k-1+(Post1-Pre1)×σ1,k,k∈[1,K]
M2,k=M2,k-1+(Post2-Pre2)×σ2,k,k∈[1,K]
该约束为状态方程,表达的是标识M1,k、M1,k-1与变迁触发向量σ1,k之间以及标识M2,k、M2,k-1与变迁触发向量σ2,k之间的关系;
约束条件2:Mc,k-1-Prec×σc,k≥0,c∈[1,n],k∈[1,K];
本实施例为:M1,k-1-Pre1×σ1,k≥0,k∈[1,K]
M2,k-1-Pre2×σ2,k≥0,k∈[1,K]
该约束约束了发生变迁后,变迁的前置库所内托肯数为非负数,即发射变迁前该变迁的前置库所中存在一定数量的托肯,约束了发生变迁的条件;
约束条件3:1T×σc,k≤1,c∈[1,n],k∈[1,K];
本实施例为:1T×σ1,k≤1,k∈[1,K]
1T×σ2,k≤1,k∈[1,K]
该约束约束了列向量σc,k中最多仅能有一个元素为1,这表示每一个横梁每一步只能触发一个变迁;
约束条件4:
Figure BDA0003042655740000191
本实施例为:
Figure BDA0003042655740000192
Figure BDA0003042655740000193
该约束约束了每一个横梁除了完全属于重叠区域的任务仅被该横梁访问一次,即任务ZA1、ZA2、ZA3、ZA4、ZA5、ZA6仅被第1横梁系统访问一次,即任务ZB1、ZB2、ZB3、ZB4、ZB5、ZB6仅被第2横梁系统访问一次;
约束条件5:
Figure BDA0003042655740000194
本实施例为:
Figure BDA0003042655740000195
该约束约束了每个重叠区域的任务仅被一个横梁执行加工任务,即任务ZA7/ZB7仅被第1横梁系统或第2横梁系统其中一个系统访问一次;
约束条件6:
Figure BDA0003042655740000196
Figure BDA0003042655740000197
本实施例为:
Figure BDA0003042655740000201
Figure BDA0003042655740000202
约束条件7:
Figure BDA0003042655740000203
Figure BDA0003042655740000204
本实施例为:
Figure BDA0003042655740000205
Figure BDA0003042655740000206
约束条件6和约束条件7约束了每个横梁系统中切入点和切出点不同的子任务,其只能从一点切入另一点切出;
其中,变量定义如下:
c是可供加工的的横梁的集合,c={1,2};
k是横梁的移动步数,K是横梁最多移动的步数,k={1,2,...,K};
i,j表示子任务,i,j={1,2,...,rc},如果pc,i、pc,j代表第c横梁系统出切入点和切出点不同的子任务,那么σc,k,i,j中的i和j可以含下标1和2代表两点;
Figure BDA0003042655740000207
表示与第1横梁系统Petri网模型所有变迁所代表的运动对应的距离;
Figure BDA0003042655740000208
表示与第2横梁系统Petri网模型所有变迁所代表的运动对应的距离;
Figure BDA0003042655740000209
表示Petri网的变迁触发向量,如果第1横梁系统在第k步经点i出发去访问j点,则σ1,k,i,j=1,否则σ1,k,i,j=0;
Figure BDA0003042655740000211
表示Petri网的变迁触发向量,如果第2横梁系统在第k步经点i出发去访问j点,则σ2,k,i,j=1,否则σ2,k,i,j=0;
M1,k=[M1,k(p1,0),M1,k(p1,1),...,M1,k(p1,7)]T是第1横梁系统Petri网的位置标识;
M2,k=[M2,k(p2,0),M2,k(p2,1),...,M2,k(p2,7)]T是第2横梁系统Petri网的位置标识;
Post1∈{0,1}8×146表示第1横梁系统库所与变迁的后置关联矩阵,Pre1∈{0,1}8×146表示第1横梁系统Petri网模型的前置关联矩阵;
Post2∈{0,1}8×146表示第2横梁系统库所与变迁的后置关联矩阵,Pre2∈{0,1}8×146表示第2横梁系统Petri网模型的前置关联矩阵;
步骤六:在MATLAB中调用步骤五整数线性规划问题的相关程序:
6.1)对每个横梁系统构建Petri网结构,包括前置关联矩阵、后置关联矩阵以及关联矩阵;
6.2)输入各个子任务坐标(见表1),计算每个横梁系统所构建的Petri网模型中每个变迁对应的距离wc,i,j
6.3)输入每个横梁系统的初始位置和最终位置,确定每个横梁系统Petri网的初始标识和最终标识等变量;
6.4)将整数线性规划问题的目标函数和约束条件转化为程序;
6.5)调用YALMIP优化工具箱求解;
步骤七:利用YALMIP优化工具箱求解步骤六的程序内容并进行结果分析:
本实施例利用YALMIP优化工具箱求解步骤六的程序后产生的多横梁水切割系统走刀路径规划结果如图5所示(为了路径表达的完整性,直线LA1、LA8、LA10、LB5、LB10、LB12用曲线来绘制);
第1横梁系统的走刀路径为:p1,0(起点)→LA1→LA2(p1,6/子任务ZA6)→LA3→LA4(p1,4/子任务ZA4)→LA5→LA6(p1,3/子任务ZA3)→LA7(p1,2/子任务ZA2)→LA8→LA9(p1,5/子任务ZA5)→LA10→LA11(p1,1/子任务ZA1)→LA12→p1,0(终点);
第2横梁系统的走刀路径为:p2,0(起点)→LB1→LB2(p2,7/子任务ZB7)→LB3→LB4(p2,6/子任务ZB6)→LB5→LB6(p2,4/子任务ZB4)→LB7→LB8(p2,3/子任务ZB3)→LB9(p2,2/子任务ZB2)→LB10→LB11(p2,5/子任务ZB5)→LB12→LB13(p2,1/子任务ZB1)→LA14→p2,0(终点);
该结果满足加工要求,每个任务均仅被加工一次,且重叠区内的任务仅被一个横梁系统加工;本实例多横梁水切割系统各个横梁的移动距离之和为d=322.2449;
步骤八:对各个任务的时间窗进行调整实现避免横梁之间的冲突;
假设刀头空行程的运动速度为vk=10(mm/s),运动时间为tk=max(Δx,Δy)/vk,加工速度为vj=1(mm/s),加工时间为tj=L/vk,其中L为加工子任务切割长度,本实施例的各横梁系统子任务切割长度如表2所示;
表2各横梁系统子任务切割长度
子任务(第1横梁系统) 切割长度L(mm) 子任务(第2横梁系统) 切割长度L(mm)
ZA1 34.05 ZB1 52.37
ZA2 31.83 ZB2 52.37
ZA3 48.12 ZB3 42.23
ZA4 25.00 ZB4 25.00
ZA5 29.69 ZB5 27.06
ZA6 25.00 ZB6 25.00
ZA7 37.75 ZB7 37.75
则所求的各横梁系统刀头运动时间窗如表3所示(其中干涉区区域内的运动用加粗表示,干涉区边界也算干涉区内的运动):
表3各横梁系统刀头运动时间窗
刀头运动(第1横梁系统) 时间窗 刀头运动(第2横梁系统) 时间窗
LA1 [0,6.2] LB1 [0,6.8]
LA2 [6.2,31.2] LB2 [6.8,44.5]
LA3 [31.2,31.9] LB3 [44.5,47.6]
LA4 [31.9,56.9] LB4 [47.6,72.6]
LA5 [56.9,58.2] LB5 [72.6,73.3]
LA6 [58.2,106.3] LB6 [73.3,98.3]
LA7 [106.3,138.1] LB7 [98.3,98.9]
LA8 [138.1,139.4] LB8 [98.9,141.1]
LA9 [139.4,169.1] LB9 [141.1,193.5]
LA10 [169.1,173.6] LB10 [193.5,194.1]
LA11 [173.6,207.6] LB11 [194.1,221.1]
LA12 [207.6,209.3] LB12 [221.1,225.0]
LB13 [225.0,277.4]
LB14 [277.4,278.4]
采用先进先加工的原则:如果第1横梁系统在第1重叠区内加工时,第2横梁系统将要进入第1重叠区进行加工,则第2横梁系统需等待第1横梁系统在第1重叠区加工完成并移出第1重叠区0.5s后进入第1重叠区进行加工任务;同样的,如果第2横梁系统在第1重叠区内加工时,如果第1横梁系统将要进入第1重叠区进行加工,则第1横梁系统需等待第2横梁系统在第1重叠区加工完成并移出第1重叠区0.5s后进入第1重叠区进行加工任务;
经过调整后的各横梁系统刀头运动时间窗如表4所示:
表4各横梁系统刀头运动时间窗
刀头运动(第1横梁系统) 时间窗 刀头运动(第2横梁系统) 时间窗
LA1 [0,6.2] LB1 [106.8,113.6]
LA2 [6.2,31.2] LB2 [113.6,151.3]
LA3 [31.2,31.9] LB3 [151.3,154.4]
LA4 [31.9,56.9] LB4 [154.4,179.4]
LA5 [56.9,58.2] LB5 [179.4,180.1]
LA6 [58.2,106.3] LB6 [180.1,205.1]
LA7 [106.3,138.1] LB7 [205.1,205.7]
LA8 [248.4,249.7] LB8 [205.7,247.9]
LA9 [294.7,297.4] LB9 [247.9,300.3]
LA10 [297.4,283.9] LB10 [300.3,300.9]
LA11 [283.9,317.9] LB11 [300.9,327.9]
LA12 [317.9,319.6] LB12 [327.9,331.8]
LB13 [331.8,384.2]
LB14 [384.2,385.2]

Claims (7)

1.一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,包括以下步骤:
步骤一:对多横梁水切割系统的加工区域进行划分;
步骤二:对于给定的切割任务,根据所在区域将加工任务分配给相应的横梁系统;
步骤三:将每个横梁系统的待切割任务分割为子任务;
步骤四:对每个横梁系统的待切割子任务建立Petri网模型;
步骤五:基于步骤四的Petri网模型,将步骤三的问题转换为整数线性规划问题;
步骤六:在MATLAB中调用步骤五整数线性规划问题的相关程序;
步骤七:利用YALMIP优化工具箱求解步骤六的程序内容并进行结果分析;
步骤八:对各个任务的时间窗进行调整实现横梁之间冲突的避免。
2.根据权利要求1所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,所述的步骤一具体为:分别将第1横梁系统、第2横梁系统、...、第i横梁系统、...、第n横梁系统中各横梁的最大工作区域作为各自的可达区,即第1可达区、第2可达区、...、第i可达区、...、第n可达区,将相邻的第j可达区和j+1可达区之间的重叠部分作为第j重叠区,其中j∈[1,n-1],第j重叠区左右边界线称为左重叠线、右重叠线,将第j重叠区的两侧各增加横梁的宽度,形成第j干涉区,第j干涉区左右边界线称为左干涉线、右干涉线,将第j可达区除去属于第j-1个干涉区和第j个干涉区的区域,作为第j专属区,j∈[2,n-1],第1个专属区为第1可达区除去属于第1个干涉区的区域,第n个专属区为第n可达区除去属于第n-1个干涉区的区域。
3.根据权利要求2所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于:所述的步骤二具体为:
如果待切割轮廓完全位于第j专属区内,j∈[1,n],则将待切割轮廓分配给第j横梁系统;
如果待切割轮廓完全位于第j重叠区内,j∈[1,n-1],则将待切割轮廓分配给第j横梁系统或第j+1横梁系统;
如果待切割轮廓完全位于第j可达区内但不完全属于该可达区所包含的重叠区(即第2类),其中,j∈[1,n],则将待切割轮廓分配给第j横梁系统;
如果待切割轮廓连续跨越第j重叠区、第j+1重叠区、…、第j+h-1重叠区,j∈[1,n-1],h∈[1,n-1],j+h∈[1,n],h代表跨越的重叠区个数,以待切割轮廓跨越的各重叠区的中心线为界,将待切割轮廓沿导轨方向分割成第1段、第2段、…、第h段、第h+1段,分割后的各待切割轮廓段分别分配给第j横梁系统、第j+1横梁系统、…、第j+h-1横梁系统、第j+h横梁系统。
4.根据权利要求3所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,所述的步骤三具体为:
如果待切割任务没有跨越干涉线,完全位于干涉区或专属区内,则不需要对待切割任务进行分割,子任务即待切割任务;
如果待切割i任务跨越干涉线,将其以干涉线为界将该待切割任务分割为第1子任务,第2子任务,...。
5.根据权利要求4所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于:所述的步骤四的Petri网模型如下:
第c横梁系统上子任务为rc个,对子任务进行分类,分为四类:切入点和切出点相同且不属于重叠区的子任务集合记为Rc,1,个数记为rc,1;切入点和切出点相同且不属于重叠区的子任务集合记为Rc,2,个数记为rc,2,并对该子任务集合内的任务j的端点进行编号为j1、j2,其中j∈[rc,1+1,rc,1+rc,2];切入点和切出点相同且属于第c-1重叠区的子任务集合记为Rc,3,个数记为rc,3,若c=1则该集合为空集;切入点和切出点相同且属于第c重叠区的子任务集合记为Rc,4,个数记为rc,4,若c=n则该集合为空集;其中,rc,1+rc,2+rc,3+rc,4=rc
建立第c横梁系统起点及各个子任务的库所模型,用集合Pc来表示,
Figure FDA0003042655730000031
起点建立库所pc,0;集合Rc,1建立库所
Figure FDA0003042655730000032
集合Rc,2建立库所
Figure FDA0003042655730000033
Figure FDA0003042655730000034
集合Rc,3建立库所
Figure FDA0003042655730000035
集合Rc,4建立库所
Figure FDA0003042655730000036
建立第c横梁系统各个库所之间的变迁模型:
对于起点、集合Rc,1、集合Rc,3、集合Rc,4所建立的库所之间的变迁关系,库所pc,i和库所pc,j之间建立变迁tc,i,j和tc,j,i,i∈[0,rc,1]∪[rc,1+rc,2+1,rc,1+rc,2+rc,3+rc,4],j∈[0,rc,1]∪[rc,1+rc,2+1,rc,1+rc,2+rc,3+rc,4],i≠j,变迁tc,i,j表示第c横梁系统从第i个子任务的切出点运动到第j个子任务的切入点,wc,i,j表示第c横梁系统第i个子任务的切出点与第j个子任务的切入点间的距离wc,i,j=|xc,i-xc,j|+|yc,i-yc,j|,xc,i、yc,i、xc,j、yc,j分别代表第c横梁系统子任务i、j的横纵坐标,变迁tc,j,i表示第c横梁系统从第j个子任务的切出点运动到第i个子任务的切入点,wc,j,i表示第c横梁系统第j个子任务的切出点与第i个子任务的切入点间的距离,此类变迁总个数为rc,1+rc,3+rc,4+1)*(rc,1+rc,3+rc,4
对于起点、集合Rc,1、集合Rc,3、集合Rc,4所建立的库所和集合Rc,2所建立的库所之间的变迁关系,库所pc,i和库所pc,j之间建立变迁
Figure FDA0003042655730000041
Figure FDA0003042655730000042
i∈[0,rc,1]∪[rc,1+rc,2+1,rc,1+rc,2+rc,3+rc,4],j∈[rc,1+1,rc,1+rc,2],变迁
Figure FDA0003042655730000043
表示第c横梁系统从第i个子任务的切出点运动到第j个子任务的j1切入点,
Figure FDA0003042655730000044
表示第c横梁系统第i个子任务的切出点与第j个子任务的j1切入点间的距离,变迁
Figure FDA0003042655730000045
表示第c横梁系统从第j个子任务的j1切出点运动到第i个子任务的切入点,
Figure FDA0003042655730000046
表示第c横梁系统第j个子任务的j1切出点与第i个子任务的切入点间的距离;同样,用
Figure FDA0003042655730000047
表示各个运动及其距离,此类变迁总个数为(rc,1+rc,3+rc,4+1)*rc,2*4;
对于集合Rc,2所建立的库所之间的变迁关系,库所pc,i和库所pc,j之间建立变迁
Figure FDA0003042655730000048
i∈[rc,1+1,rc,1+rc,2],j∈[rc,1+1,rc,1+rc,2],i≠j,变迁
Figure FDA0003042655730000051
表示第c横梁系统从第i个子任务的i1切出点运动到第j个子任务的j1切入点,
Figure FDA0003042655730000052
表示第c横梁系统第i个子任务的i1切出点与第j个子任务的j1切入点间的距离,变迁
Figure FDA0003042655730000053
表示第c横梁系统从第j个子任务的j1切出点运动到第i个子任务的i1切入点,
Figure FDA0003042655730000054
表示第c横梁系统第j个子任务的j1切出点与第i个子任务的i1切入点间的距离;同样,用
Figure FDA0003042655730000055
Figure FDA0003042655730000056
表示各个运动切入点和切出点的距离,此类变迁总个数为rc,2*(rc,2-1)*4;
第c横梁系统的变迁总个数rc,t=(rc,1+rc,3+rc,4+1)*(rc,1+rc,3+rc,4)+(rc,1+rc,3+rc,4+1)*rc,2*4+rc,2*(rc,2-1)*4;
将第c横梁系统所有变迁所代表的运动距离组成一个1*rc,t的行向量
Figure FDA0003042655730000057
其中:i,j=0,1,2,...,rc,i<j;如果pc,i、pc,j代表出切入点和切出点不同的子任务,那么wi,j中的i和j含下标1和2代表不同的两点;
基于每个子任务只能被一个横梁访问且只能访问一次的原因,用k={1,2,...,K}表示横梁移动的次数,且车辆每增加一步就意味着刀头可能访问一个点;
用标识Mc,k来表示每一个横梁系统在每一步的工作状态,使用
Figure FDA0003042655730000058
表示第c横梁系统在第k步时在各个子任务pi处的位置标记,即第c横梁系统在第k步时所处的位置,其中c=1,2,...,n,k=1,2,...,K,i=0,1,...,rc;第c横梁系统在第k步时所处的位置pc,i,那么Mc,k(pc,i)=1,否则Mc,k(pc,i)=0;
Figure FDA0003042655730000061
Figure FDA0003042655730000062
分别表示第c横梁系统Petri网模型的前置关联矩阵和后置关联矩阵;若库所p的输出弧指向变迁t时,Prec(p,t)=1,否则Prec(p,t)=0;若变迁t的输出弧指向库所p时,Postc(p,t)=1,否则Postc(p,t)=0;
为了表示第c横梁系统在第k步的移动路径,在Petri网中采用rc,t*1的列向量
Figure FDA0003042655730000063
Figure FDA0003042655730000064
表示第c横梁系统在第k步的变迁触发向量,其中:i,j=0,1,2,...,rc,i<j;如果第c横梁系统在第k步的是从位置pc,i到位置pc,j,那么σc,k,i,j=1,即变迁tc,i,j触发,否则σc,k,i,j=0;如果pc,i、pc,j代表第c横梁系统出切入点和切出点不同的子任务,那么σc,k,i,j中的i和j含下标1和2代表两点。
6.根据权利要求5所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,所述的步骤五的整数线性规划问题模型如下:
目标函数为:
Figure FDA0003042655730000065
约束条件:
约束条件1:Mc,k=Mc,k-1+(Postc-Prec)×σc,k,c∈[1,n],k∈[1,K];该约束为状态方程,表达的是标识Mc,k、Mc,k-1与变迁触发向量σc,k之间的关系;
约束条件2:Mc,k-1-Prec×σc,k≥0,c∈[1,n],k∈[1,K];该约束约束了发生变迁后,变迁的前置库所内托肯数为非负数,即发射变迁前该变迁的前置库所中存在一定数量的托肯,约束了发生变迁的条件;
约束条件3:1T×σc,k≤1,c∈[1,n],k∈[1,K];该约束约束了列向量σc,k中最多仅能有一个元素为1,这表示每一个横梁每一步只能触发一个变迁;
约束条件4:
Figure FDA0003042655730000071
该约束约束了每一个横梁除了完全属于重叠区域的任务仅被该横梁访问一次;
约束条件5:
Figure FDA0003042655730000072
Figure FDA0003042655730000073
该约束约束了每个重叠区域的任务仅被一个横梁执行加工任务;
约束条件6:
Figure FDA0003042655730000074
Figure FDA0003042655730000075
约束条件7:
Figure FDA0003042655730000076
Figure FDA0003042655730000077
约束条件6和约束条件7约束了每个横梁系统中切入点和切出点不同的子任务,其只能从一点切入另一点切出;
其中,变量定义如下:
c是可供加工的的横梁的集合,c={1,2,...,n};
k是横梁的移动步数,K是横梁最多移动的步数,k={1,2,...,K};
i,j表示起点及子任务,i,j={0,1,2,...,rc},如果pc,i、pc,j代表第c横梁系统出切入点和切出点不同的子任务,那么σc,k,i,j中的i和j可以含下标1和2代表两点;
Figure FDA0003042655730000081
表示与第c横梁系统Petri网模型所有变迁所代表的运动对应的距离;
Figure FDA0003042655730000082
表示Petri网的变迁触发向量;如果第c横梁系统在第k步经点i出发去访问j点,则σc,k,i,j=1,否则σc,k,i,j=0;
Figure FDA0003042655730000085
是Petri网的位置标识,如果第c横梁系统在第k步时所处的位置是pc,i,那么Mc,k(pc,i)=1,否则Mc,k(pc,i)=0;
Figure FDA0003042655730000083
表示第c横梁系统Petri网模型的后置关联矩阵,如果变迁t的输出弧指向库所p时,Postc(p,t)=1,否则Postc(p,t)=0;
Figure FDA0003042655730000084
表示第c横梁系统Petri网模型的前置关联矩阵,如果库所p的输出弧指向变迁t时,Prec(p,t)=1,否则Prec(p,t)=0。
7.根据权利要求6所述的一种基于Petri网的多横梁水切割最优走刀路径规划方法,其特征在于,所述的步骤八具体为:根据刀头空行程的运动速度为vk、加工速度为vj、加工子任务切割长度L,计算刀头空行程运动时间tk=max(Δx,Δy)/vk、刀头加工运动时间为tj=L/vk,从而得到各横梁系统刀头运动时间窗;
采用先进先加工的原则:如果第c横梁系统在第c-1或c+1重叠区内加工时,第c-1或c+1横梁系统将要进入第c-1或c重叠区进行加工,第c-1或c+1横梁系统需等待第c横梁系统在第c-1或c重叠区加工完成并移出第c-1或c重叠区0.5s后进入第c-1或c重叠区进行加工任务。
CN202110462059.2A 2021-04-27 2021-04-27 一种基于Petri网的多横梁水切割最优走刀路径规划方法 Active CN113111546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110462059.2A CN113111546B (zh) 2021-04-27 2021-04-27 一种基于Petri网的多横梁水切割最优走刀路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110462059.2A CN113111546B (zh) 2021-04-27 2021-04-27 一种基于Petri网的多横梁水切割最优走刀路径规划方法

Publications (2)

Publication Number Publication Date
CN113111546A true CN113111546A (zh) 2021-07-13
CN113111546B CN113111546B (zh) 2021-11-16

Family

ID=76721877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110462059.2A Active CN113111546B (zh) 2021-04-27 2021-04-27 一种基于Petri网的多横梁水切割最优走刀路径规划方法

Country Status (1)

Country Link
CN (1) CN113111546B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346459A (zh) * 2011-10-09 2012-02-08 东南大学 多横梁式水射流切割系统的切割过程离线协调方法
CN102566506A (zh) * 2011-12-23 2012-07-11 东南大学 组合水切割过程的在线协调控制与Petri网验证方法
CN102601744A (zh) * 2011-12-23 2012-07-25 东南大学 基于Petri网的多横梁水切割走刀路径优选方法
US20190101894A1 (en) * 2014-01-22 2019-04-04 Omax Corporation Generating optimized tool paths and machine commands for beam cutting tools
CN111445186A (zh) * 2020-03-27 2020-07-24 陕西科技大学 一种基于Petri网理论的带时间窗的车辆路径优化方法
CN111983970A (zh) * 2020-08-10 2020-11-24 上海数设科技有限公司 一种水刀快进线自动避障规划方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346459A (zh) * 2011-10-09 2012-02-08 东南大学 多横梁式水射流切割系统的切割过程离线协调方法
CN102566506A (zh) * 2011-12-23 2012-07-11 东南大学 组合水切割过程的在线协调控制与Petri网验证方法
CN102601744A (zh) * 2011-12-23 2012-07-25 东南大学 基于Petri网的多横梁水切割走刀路径优选方法
US20190101894A1 (en) * 2014-01-22 2019-04-04 Omax Corporation Generating optimized tool paths and machine commands for beam cutting tools
CN111445186A (zh) * 2020-03-27 2020-07-24 陕西科技大学 一种基于Petri网理论的带时间窗的车辆路径优化方法
CN111983970A (zh) * 2020-08-10 2020-11-24 上海数设科技有限公司 一种水刀快进线自动避障规划方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JUN LI ET AL: "A Two-Stage Approach to Path Planning and Collision Avoidance of Multibridge Machining Systems", 《IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS》 *
ZHOU HE ET AL.: "Path planning for automated guided vehicle systems with time constraints using time Petri nets", 《MEASUREMENT AND CONTROL》 *
孟祥虎: "着色旅行商问题及其动态化研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *

Also Published As

Publication number Publication date
CN113111546B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN108857092B (zh) 激光切割路径规划方法、装置、存储介质及计算机设备
CN100451891C (zh) 微小程序段的动态前瞻处理方法及实现装置
JP3662799B2 (ja) 数値制御装置及び数値制御方法
CN105045211B (zh) 一种等弓高误差变步长切线插补方法
WO2013037693A2 (de) System und verfahren zur automatisierten erstellung von roboterprogrammen
CN102601744B (zh) 基于Petri网的多横梁水切割走刀路径优选方法
CN112596464B (zh) 一种大型复杂舱体结构件数控加工走刀路径优化方法
CN113111546B (zh) 一种基于Petri网的多横梁水切割最优走刀路径规划方法
US6779175B2 (en) Method and system for converting graphic databases into coded workpiece processing programs
Kariuki et al. Generation and optimization of pocket milling tool paths-A review
CN114700944A (zh) 一种面向异种任务的双机器人协同路径规划方法
Aungkulanon et al. Vertical transportation systems embedded on shuffled frog leaping algorithm for manufacturing optimisation problems in industries
CN1158154C (zh) 控制机床特别是edm机床的方法和设备
JP2000089814A (ja) 工具送り速度制御方法
CN109702355A (zh) 一种双激光头切割方法及其装置
CN116451888A (zh) 基于多avg的柔性生产车间协同调度的方法
Jin et al. Concurrent fused filament fabrication with multiple extruders
Overmars et al. Hybrid FMS control architectures based on holonic principles
CN116880431B (zh) 一种多工作站同时对多工件进行多道工序加工系统及方法
Pratama et al. Cellular bucket brigades with worker collaboration on U-lines with discrete workstations
Bao et al. A steerable GA method for block erection of shipbuilding in virtual environment
JP3576406B2 (ja) 作業ロボットのレイアウトシミュレーション方法
Bernold et al. Process planning for automated stone cutting
CN118478155B (zh) 一种基于3d视觉的多机器人联动焊接系统
Basova et al. Lifecycle Management of Modular Machine Tools

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220920

Address after: Room 304, Unit 1, Building 4, Zone B, Xinli Shijia Apartment, Greenland Century City, No. 5, Zhangba 3rd Road, High-tech Zone, Xi'an City, Shaanxi Province 710000

Patentee after: Xi'an Xidong Intelligent Technology Co.,Ltd.

Patentee after: SHAANXI University OF SCIENCE & TECHNOLOGY

Address before: 710021 Shaanxi province Xi'an Weiyang university campus of Shaanxi University of Science and Technology

Patentee before: SHAANXI University OF SCIENCE & TECHNOLOGY