CN111113409B - 一种基于分步优化的多机器人多工位协作点焊规划方法 - Google Patents
一种基于分步优化的多机器人多工位协作点焊规划方法 Download PDFInfo
- Publication number
- CN111113409B CN111113409B CN201911146612.0A CN201911146612A CN111113409B CN 111113409 B CN111113409 B CN 111113409B CN 201911146612 A CN201911146612 A CN 201911146612A CN 111113409 B CN111113409 B CN 111113409B
- Authority
- CN
- China
- Prior art keywords
- welding
- robot
- time
- spot
- point
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
- B23K37/02—Carriages for supporting the welding or cutting element
- B23K37/0258—Electric supply or control circuits therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于分步优化的多机器人多工位协作点焊作业规划方法,包括:对多机器人多工位协作点焊作业优化问题进行描述与分析,并设立约束条件与优化目标,建立多机器人多工位协作点焊作业优化模型;基于任务均衡原则,建立初始分配方案,进行焊点编码分配和遗传算法迭代求解,得到局部最优焊点分配方案;单机器人焊点排序;完成焊点工位分配,得到多机器人多工位协作点焊作业规划方案。本发明提供了一种多机器人协作多工位点焊作业规划方法,解决了多机器人多工位任务规划问题约束和模型复杂、搜索解空间广导致难于求解的问题,提高了算法的搜索能力和收敛速度。
Description
技术领域
本发明涉及多机器人协作任务规划技术领域,特别是涉及一种基于分步优化的多机器人多工位协作点焊规划方法。
背景技术
随着机器人技术的发展,工业机器人已经被广泛地应用于工业生产和日常生活的各方各面,如焊接、喷涂、搬运等领域。汽车内饰件点焊作业在以往的手动焊接作业中,需要焊接工人长期接触弧光和高温,而且工作强度比较大,这种存在危险的工作并不能长期操作,很容易对工人身体造成不可挽回的损伤。焊接机器人操作更加灵活,不但可以在提高机械制造的效率基础上,降低成本,还能确保操作工人的身体健康,在焊接作业中发挥重要的作用。
目前大多数工厂机器人系统采用示教及离线编程的方式,机器人轨迹由人工示教编程完成,存在着比如生产成本较高、环境适应能力差等缺陷,很难做到本工位和工位间节拍平衡,多种产品切换时,生产线也需要平衡,故在生产过程中,机器人有较多的等待时间。针对机器人轨迹优化的任务规划问题,目前的研究大多将其建模为旅行商问题(TSP)进行表述。此类NP-hard问题通常可采用一些启发式方法来求解,例如模拟退火算法、遗传算法以及蚁群算法等。
随着机器人技术不断提升创新,研究方向也逐渐从单机器人的简单应用转向多机器人的协调作业。对于本项目的汽车内饰件点焊作业,为了适应复杂的操作环境和降低生产成本,由多机器人多工位协同作业共同完成指定的工作任务。然而,由于多机器人多工位任务规划问题中建立的模型较单机器人单工位模型复杂,约束繁多,搜索解空间随着问题规模的扩大与焊点的增加成指数增长,使用传统启发式算法求解会浪费大量的计算空间与时间,计算效率较低。
发明内容
发明目的:为了克服上述现有技术的不足,提供了一种基于分步优化的多机器人多工位协作点焊规划方法,该方法提供了针对汽车内饰件点焊作业的多机器人多工位协作任务规划算法,面对复杂、约束繁多的多机器人多工位作业优化问题,采用分步优化的方式将问题与模型简化,很好地减小了搜索解空间,提高了算法的计算效率和收敛速度。
技术方案:为实现上述发明目的,本发明采用以下技术方案:
一种基于分步优化的多机器人多工位协作点焊规划方法,包括以下步骤:
(1)对多机器人多工位协作点焊作业优化问题进行描述与分析,并设立约束条件与优化目标,建立多机器人多工位协作点焊作业优化模型;
(2)基于任务均衡原则,建立初始分配方案,进行焊点编码分配和遗传算法迭代求解,得到局部最优焊点分配方案;
(3)按照局部最优焊点分配方案将焊点分配至各机器人,使用LKH求解器进行单机器人焊点排序并计算机器人作业时间;
(4)根据局部最优焊点分配方案与单机器人焊点排序计算各机器人单机器人作业时间平分点,确定平分焊点并基于平分焊点将焊点分配给各工位并计算各工位机器人共同工作的总时间,完成工位分配。
进一步的,步骤(1)包括以下步骤:
(11)对多机器人多工位协作点焊作业优化问题进行描述与分析;
对焊接工件建立坐标系,首先定义焊点集合:P={1,2,3,…,m},式中,括号中的数字代表每个焊点的唯一ID,在计算过程中不可更改,共有m个焊点;定义工位数为s,每个工位机器人数为r,机器人集合:Rij,i=1,…,s,j=1,…,r,i代表工位号,j代表机器人编号,分别代表各工位的所有机器人;机器人在焊接平面xOy平面上运动的空走最大速度为vxy,加速度为axy,焊接方向上最大运动速度vz,加速度为az,每个焊点作业时间为τi,i=1,2,...,m,其中i为焊点ID,焊点焊接时间不唯一确定,则τi∈[τimin,τimax];各工位最终分配焊点序列为Si={Pi1,Pi2,…,Pimi},i=1,…,s,其中每个P为由焊点集中无缺失无重复选取的焊点,用焊点集合中ID表示,排列顺序代表焊接顺序,上式中,每个工位每个机器人最终分配焊点序列为Rpij={Pij1,Pij2,…,Pijmij},i=1,…,s,j=1,…,r,同样,各机器人最终分配焊点序列中无重复焊点,总集为焊点集合,其中
(12)约束条件
(a)各机器人及外部轴位姿可达性约束;
(b)各机器人及外部轴最大速度、加速度约束;
(c)机器人及外部轴的碰撞约束;
(d)各焊点的焊接作业时间的区间约束;
(13)构建优化目标
基于单机器人作业时间与焊接任务均衡性构建优化目标{U1,U2},U1为焊接时间最短,用各工位焊接总时间表示,U2为焊接任务均衡性,表示为单机器人作业时间最大差;
(14)建立多机器人多工位协作点焊作业优化模型
取优化目标相对平均值作为影响因子,建立的多机器人多工位协作点焊作业优化模型如下:
其中,ck表示各个优化目标的权重,焊点P所属机器人Rij可达空间为Rij(qrng),其中qrng为机器人关节向量范围,记vijk(t)为机器人Rij第k个关节当前速度,Vijkrng为机器人Rij第k个关节速度范围,aijk(t)为机器人Rij第k个关节当前加速度,Aijkrng为机器人Rij第k个关节加速度范围,记焊点所占用空间为Rwp,机器人Rij此时姿态所占空间为Rij(qij),其中qij为机器人Rij当前关节向量,其他机器人姿态所占空间为
进一步的,步骤(2)包括以下步骤:
(21)建立初始分配方案
(a)焊点数据预处理:首先计算原始焊点数据协方差矩阵进行PCA主成分分析,获得特征向量,即OBB有向包围盒的主轴;再计算得到OBB包围盒的中心点,得到平移算子;最后进行坐标系的变换得到焊接工作坐标系中的焊点坐标,将在整车坐标系描述的焊点坐标转换为机器人工作坐标系描述的点云模型;
(b)构建分配策略:根据流水线上机器人的导轨布局,寻求平行于焊接平面坐标X,Y轴分割直线li,i∈R,首先将任务作为单工位考虑,基于分割直线将焊点分配给r个机器人,简化了机器人和外部轴可达性约束与碰撞约束;
(c)构建时间比较函数:为确定合理的初始分配方案,同时考虑初始分配方案中焊点数目N与分配分区固定矩形边长d,设原工作区域大小为l*d,焊点总数为N,选取每一条分割线时,将原有的工作区域划分成两个,设分割后两个区域的大小分别为l1*d,l2*d分割后两个区域的焊点为N1,N2,设焊接时间比较函数C(N,l,d);划分后的分区焊点数Ni,i=1,2,越大,所需的焊接时间越大,总时间越大;l越大,所需空走时间越大,总时间越大。焊接时间近似与焊点数与焊接区域成正比,以令两区域时间尽可能接近的原则,两个区域的时间差与两区域焊点数N1,N2和两个区域的不同边长度l1,l2有关,给出时间比较函数C(N,l,d),其中Ci,i=1,2,分别为分割后两区域相对焊接时间,C表示分割后两区域相对时间差,k k,α1,α2为常数:
C=∣C1-C2∣;
(d)确定初始分配方案:根据时间比较函数,选取每条分割线时令C最小,得到对应的分割直线li,i∈R,确定初始分配方案;
(22)焊点编码分配
(a)首先将焊点按y坐标大小进行排序,选取编号m1焊点的y值作为l1的y坐标,将焊点分为两部分;
(b)其次,分别对两组焊点x坐标进行排序,取编号m2,m3,分别令两组中第m2,m3个焊点的x值作为l2,l3的x坐标;通过{m1,m2,m3}的取值可涵盖所有分配情况且每组{m1,m2,m3}的分配情况是唯一的;
(c)对{l1,l2,l3}所属编号{m1,m2,m3}采用格雷码编码,每条染色体由18位二进制格雷码表示,每条分割线由6位格雷码表示,且满足约束条件如下,其中N为焊点数:
(23)遗传算法求解,得到局部最优焊点分配方案
(a)选择:选择算子采用轮盘赌与最优个体保留,首先将种群中的最优个体加以保留;其次替换下代种群中的最差个体,以保证每代种群的最优个体适应度不会变差;再次采用轮盘赌算法根据个体的适应度优劣按比例制作轮盘;最后取0-1随机数从轮盘中选择对应适应度的个体,更加优秀的个体被选中的概率越大,组成新种群;
(b)交叉:交叉算子采用部分匹配交叉,首先对种群内选中个体分别根据交叉概率选取父代交叉个体;其次在父代个体每条分割线格雷码首位随机生成交叉点;最后将两个父代个体的部分染色体基因片断加以交换重组,生成新个体加入新种群;
(c)变异:变异算子采用随机点变异,首先根据交叉概率选取变异个体;其次除格雷码首位随机选择变异点位置;最后变异点位置取非,生成新个体加入新种群;
(d)终止条件判断:达到最大遗传代数或最优适应度收敛代数满足条件,当前最优个体为局部最优焊点分配方案。
进一步的,步骤(3)包括以下步骤:
(31)分配焊点至各机器人
根据局部最优焊点分配方案将工作区间分成数个部分,根据机器人的位置依次将焊点分配给各机器人;
(32)LKH求解器焊点排序
(a)根据优化目标与调用形式对LKH求解器源程序进行修改,注释‘system(pause)’语句;
(b)将参数写入par文件,主要的参数包括:<PROBLEM_FILE>为目标文件,<OPTIMUM>为已知最优路径长度,<MOVE_TYPE>为领域搜索K-opt的K值,<TOUR_FILE>为最优路径输出文件,<RUNS>为总运行次数;
(c)调用LKH求解器,输入写入的par文件,结果输出至根文件夹,完成LKH求解器焊点排序;
(33)计算单机器人作业时间
按照机器人焊接运动模式,根据得到的各机器人焊点序列计算梯形加减速运动时间tTrapezoid:
其中,k为当前机器人焊接序列的焊点顺序编号,取值范围为1~m,dxy,k为机器人在初始高度平面空走距离,为空走前后两个焊点坐标(xk,yk)(xk+1,yk+1)欧式距离;dz,k为机器人垂直方向运动距离,为初始高度h0与焊点高度zk的差;D为梯形加减速运动刚好达到最大速度并立刻减速至静止的运动距离,用以判断运动过程是否达到了最大运动速度,t为运动时间;
a)计算空走时间:计算机器人在初始高度平面运动的时间;
b)计算单机器人作业时间:首先计算垂直方向运动时间,其次计算焊接时间,最后根据最大速度,加速度及焊点的空间位置得到单机器人作业时间,完成单机器人焊点排序;
其中trun为机器人空走时间,twork为机器人工作时间,txy,k为机器人焊接第k个焊点初始高度平面运动的时间,tz,k为焊接第k个焊点垂直方向的运动时间,τk为第k个焊点所需焊接时间。
进一步的,步骤(4)包括以下步骤:
(41)计算时间平分点
根据步骤(3)得到的单机器人作业时间按工位数平分,将分隔作业时间的节点作为时间平分点,分别计算每个机器人时间平分点;
(42)确定平分焊点
对于每个机器人选取焊接时间最接近时间平分点的焊点作为平分焊点;
(43)工位分配
根据每个机器人时间平分点与平分焊点的关系将焊点分配给不同工位,具体步骤如下:
(a)消除时间平分点所在的运动轨迹,基于平分焊点将其余焊点平分成与工位数对应的几个部分,若平分焊点作业时间先于最接近的时间平分点,进行步骤(b);若后于最接近的时间平分点,进行步骤(c);
(b)平分焊点与前一焊点划分至同一部分;
(c)平分焊点与后一焊点划分至同一部分;
(d)根据时间平分点判断几个部分作业时间大小,按作业时间由大至小分别从工位一分配至最后工位对应机器人;
(44)计算各机器人作业时间与总作业时间
基于梯形加减速运动时间tTrapezoid公式和单机器人焊点排序公式计算每个工位各机器人的作业时间,由于流水线上机器人同时进行作业,选取最大的作业时间为总作业时间,完成工位分配。
有益效果:与现有技术相比,本发明的一种分步优化算法通过多机器人焊点任务分配、单机器人焊点排序、焊点工位分配,得到局部最优多机器人多工位协作点焊任务分配方案,有效解决多机器人多工位任务规划问题约束和模型复杂、搜索解空间较广导致难于求解的问题,提高了算法的搜索能力和收敛速度,相对于传统的人工示教编程成本低且适应性好具有广阔的应用前景及经济效益。
附图说明
图1为本发明方法的流程框图;
图2为汽车内饰件流水线布局图;
图3为本发明多机器人多工位协作点焊作业优化模型建立方法的流程框图;
图4为汽车内饰件焊点示意图;
图5为本发明多机器人焊点分配方法的流程框图;
图6为多机器人焊点分配示意图;
图7为本发明单机器人焊点排序方法的流程框图;
图8为本发明工位分配方法的流程框图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
图1为本专利所提出的基于分步优化的多机器人多工位协作点焊作业规划方法的总体流程图。算法的具体步骤如下:
1、多机器人多工位协作点焊作业优化模型建立
本发明针对汽车内饰件点焊作业流水线,如图2所示,该流水线主要对汽车门板连接处焊点进行焊接并装配。主要由可拆装的焊接和装配单元构成,焊接目前有2个工位,每个工位有4台3轴机器人同时完成焊接任务。每个机器人可以沿着三条导轨运动,焊机的焊接单元可以沿着任意方向运动以及绕垂直工件的法线旋转。如图3所示,根据汽车内饰件点焊流水线工位与机器人情况对多机器人多工位协作点焊作业优化问题进行描述与分析;考虑多方面因素,设立约束条件;基于作业时间与焊接任务均衡性构建优化目标;建立多机器人多工位协作点焊作业优化模型。具体包括以下步骤:
(1)优化问题描述分析
如图4所示,对门板工件建立坐标系,首先定义焊点集合:P={1,2,3,…,m},式中,括号中的数字代表每个焊点的唯一ID,在计算过程中不可更改,共有m个焊点。定义机器人集合:Rij,i=1,2,j=1,2,3,4,i代表工位号,j代表机器人编号。机器人在焊接平面xOy平面上运动的空走最大速度为vxy,加速度为axy,焊接方向上最大运动速度vz,加速度为az,每个焊点作业时间为τi,i=1,2,...,m,其中i为焊点ID,焊点焊接时间不唯一确定,则τi∈[τimin,τimax]。两工位最终分配焊点序列为S1={P11,P12,…,P1m1},S2={P21,P22,…,P2m2},其中每个Pij为由焊点集中无缺失无重复选取的焊点,用焊点集合中ID表示,排列顺序代表焊接顺序。上式中,m1+m2=m。每个工位每个机器人最终分配焊点序列为Rpij={Pij1,Pij2,…,Pijmij},i=1,2,j=1,2,3,4,同样,所有集合中无重复焊点,总集为焊点集合,其中m1=m11+m12+m13+m14,m2=m21+m22+m23+m24;
(2)设立约束条件
考虑多方面因素,设立如下约束条件:
1)各机器人及外部轴位姿可达性约束;
2)各机器人及外部轴最大速度、加速度约束;
3)机器人及外部轴的碰撞约束;
4)各焊点的焊接作业时间的区间约束;
5)其他约束条件,例如考虑焊接变形的冷却时间等。
(3)构建优化目标
基于单机器人作业时间与焊接任务均衡性构建优化目标{U1,U2},U1为焊接时间最短,用两工位焊接总时间表示,U2为焊接任务均衡性,表示为机器人工作时间最大差;
(4)建立多机器人多工位协作点焊作业优化模型
取优化目标相对平均值作为影响因子,建立的多机器人多工位协作点焊作业优化模型如下:
其中ck表示各个优化目标的权重,焊点P所属机器人Rij可达空间为Rij(qrng),其中qrng为机器人关节向量范围,记vijk(t)为机器人Rij第k个关节当前速度,Vijkrng为机器人Rij第k个关节速度范围,aijk(t)为机器人Rij第k个关节当前加速度,Aijkrng为机器人Rij第k个关节加速度范围,记焊点所占用空间为Rwp,机器人Rij此时姿态所占空间为Rij(qij)(其中qij为机器人Rij当前关节向量),其他机器人姿态所占空间为。
2、多机器人焊点分配
本步骤基于任务均衡原则,建立初始分配方案,进行焊点编码分配和遗传算法迭代求解,最终得到局部最优焊点分配方案。如图5所示,具体包括以下步骤:
(1)建立初始分配方案
本发明根据原始焊点数据建立初始分配方案,该算法的具体步骤如下:
a)焊点数据预处理:首先计算原始焊点数据协方差矩阵进行PCA主成分分析,获得特征向量,即OBB(Oriented Bounding Box,有向包围盒)的主轴;再计算得到OBB包围盒的中心点,得到平移算子;最后进行坐标系的变换得到焊接工作坐标系中的焊点坐标,将在整车坐标系描述的焊点坐标转换为机器人工作坐标系描述的点云模型;
b)构建分配策略:如图6所示,根据流水线上机器人的导轨布局,寻求平行于X轴分割直线l1,将原工件分为上下两部分,然后对上下两部分分别寻找平行于Y轴的分割射线l2和l3,简化了机器人和外部轴可达性约束与碰撞约束;
c)构建时间比较函数:为确定合理的初始分配方案,同时考虑初始分配方案中焊点数目N与分配分区固定矩形边长d。设原工作区域大小为l*d,焊点总数为N,选取每一条分割线时,将原有的工作区域划分成两个,设分割后两个区域的大小分别为l1*d,l2*d分割后两个区域的焊点数为N1,N2,设焊接时间比较函数C(N,l,d)。划分后的分区焊点数Ni(i=1,2)越大,所需的焊接时间越大,总时间越大;l越大,所需空走时间越大,总时间越大。焊接时间近似与焊点数与焊接区域成正比,以令两区域时间尽可能接近的原则,两个区域的时间差与两区域焊点数N1,N2和两个区域的不同边长度l1,l2有关,给出时间比较函数C(N,l,d),其中Ci(i=1,2)分别为分割后两区域相对焊接时间,C表示分割后两区域相对时间差,k,α1,α2为常数:
C=∣C1-C2∣ (2);
d)确定初始分配方案:根据时间比较函数,令C最小,得到对应的{l1,l2,l3},确定初始分配方案;
(2)焊点编码分配
为增加遗传算法多样性与可行性,使连续数值间码距较小,结合焊点的分布及编号选取{l1,l2,l3}并编码,具体步骤如下:
a)首先将焊点按y坐标大小进行排序。选取编号m1焊点的y值作为l1的y坐标,将焊点分为两部分;
b)其次,分别对两组焊点x坐标进行排序,取编号m2,m3,分别令两组中第m2,m3个焊点的x值作为l2,l3的x坐标。通过{m1,m2,m3}的取值可涵盖所有分配情况且每组{m1,m2,m3}的分配情况是唯一的;
c)对{l1,l2,l3}所属编号{m1,m2,m3}采用格雷码编码,每条染色体由18位二进制格雷码表示,每条分割线由6位格雷码表示,且满足约束条件如下,其中N为焊点数:
(3)遗传算法求解
将得到的编码作为遗传算法的基因型,将初始分配方案作为初始种群,以进化规律产生新的表现型,优化目标适应度可由步骤3单机器人焊点排序获得,终止条件为达到最大遗传代数或最优适应度收敛代数满足条件,进行迭代求解得到性能指标最好的个体,循环迭代产生新个体及寻找最优个体,每一代种群执行具体步骤如下:
a)选择:选择算子采用轮盘赌与最优个体保留,首先将种群中的最优个体加以保留;其次替换下代种群中的最差个体,以保证每代种群的最优个体适应度不会变差;再次采用轮盘赌算法根据个体的适应度优劣按比例制作轮盘;最后取0-1随机数从轮盘中选择对应适应度的个体,更加优秀的个体被选中的概率越大,组成新种群。
b)交叉:交叉算子采用部分匹配交叉,首先对种群内选中个体分别根据交叉概率选取父代交叉个体;其次在父代个体每条分割线格雷码首位随机生成交叉点;最后将两个父代个体的部分染色体基因片断加以交换重组,生成新个体加入新种群。
c)变异:变异算子采用随机点变异,首先根据交叉概率选取变异个体;其次除格雷码首位随机选择变异点位置;最后变异点位置取非,生成新个体加入新种群。
d)终止条件判断:达到最大遗传代数或最优适应度收敛代数满足条件,当前最优个体为局部最优焊点分配方案。
3、单机器人焊点排序
使用LKH(Lin-Kernighan-Helsgaun)求解器进行单机器人焊点排序并计算机器人作业时间,如图7所示,具体步骤如下:
(1)分配焊点至各机器人
根据局部最优焊点分配方案将工作区间分成四个部分,根据机器人的位置依次将焊点分配给各机器人。
(2)LKH求解器焊点排序
针对单机器人分配的焊点序列,将单机器人焊点排序类比于经典TSP(TravellingSalesman Problem)问题,采用LKH求解器进行求解。具体步骤如下:
a)根据优化目标与调用形式对LKH求解器源程序进行修改,注释‘system(pause)’等语句。
b)将参数写入par文件,主要的参数包括:<PROBLEM_FILE>为目标文件,<OPTIMUM>为已知最优路径长度,<MOVE_TYPE>为领域搜索K-opt的K值,<TOUR_FILE>为最优路径输出文件,<RUNS>为总运行次数。
c)调用LKH求解器,输入写入的par文件,结果输出至根文件夹,完成LKH求解器焊点排序。
(3)计算单机器人作业时间
机器人焊接运动模式为先在机器人初始高度平面运动至焊点正上方,然后垂直向下运动到达焊点位置,进行焊接,焊接完成后回到初始高度平面进行下一个焊点焊接。按照机器人焊接运动模式,根据得到的机器人焊点序列计算梯形加减速运动时间函数tTrapezoid:
其中,k为当前机器人焊接序列的焊点顺序编号,取值范围为1~m。dxy,k为机器人在初始高度平面空走距离,为空走前后两个焊点坐标(xk,yk)(xk+1,yk+1)欧式距离;dz,k为机器人垂直方向运动距离,为初始高度h0与焊点高度zk的差。D为梯形加减速运动刚好达到最大速度并立刻减速至静止的运动距离,用以判断运动过程是否达到了最大运动速度,t为运动时间。
a)计算空走时间:计算机器人在初始高度平面运动的时间。
b)计算单机器人作业时间:首先计算垂直方向运动时间,其次计算焊接时间,最后根据最大速度,加速度及焊点的空间位置得到单机器人作业时间,完成单机器人焊点排序。
其中trun为机器人空走时间,twork为机器人工作时间,txy,k为机器人焊接第k个焊点初始高度平面运动的时间,tz,k为焊接第k个焊点垂直方向的运动时间,τk为第k个焊点所需焊接时间。
4、工位分配
如图8所示,根据局部最优焊点分配方案与单机器人焊点排序计算各机器人单机器人作业时间平分点,以焊接时间最接近时间平分点的焊点作为平分焊点并基于平分焊点将焊点分配给各工位并计算各工位机器人共同工作的总时间,具体步骤如下:
(1)计算时间平分点
将第3步得到的单机器人作业时间按工位数平分,将分隔作业时间的节点作为时间平分点,分别计算每个机器人时间平分点。
(2)确定平分焊点
对于每个机器人选取焊接时间最接近时间平分点的焊点作为平分焊点。
(3)工位分配
根据每个机器人时间平分点与平分焊点的关系将焊点分配给不同工位,具体步骤如下:
a)消除时间平分点所在的运动轨迹,基于平分焊点将其余焊点平分成与工位数对应的几个部分,若平分焊点作业时间先于最接近的时间平分点,进行步骤b);若后于最接近的时间平分点,进行步骤c)。
b)平分焊点与前一焊点划分至同一部分。
c)平分焊点与后一焊点划分至同一部分。
d)根据时间平分点判断几个部分作业时间大小,按作业时间由大至小分别从工位一分配至最后工位对应机器人。
(4)计算各机器人作业时间与总作业时间
基于式(5)(6)计算每个工位各机器人的作业时间,由于流水线上机器人同时进行作业,选取最大的作业时间为总作业时间,完成工位分配。
Claims (4)
1.一种基于分布优化的多机器人多工位协作点焊规划方法,其特征在于,包括以下步骤:
(1)对多机器人多工位协作点焊作业优化问题进行描述与分析,并设立约束条件与优化目标,建立多机器人多工位协作点焊作业优化模型;包括以下步骤:
(11)对多机器人多工位协作点焊作业优化问题进行描述与分析;
对焊接工件建立坐标系,首先定义焊点集合:P={1,2,3,…,m},式中,括号中的数字代表每个焊点的唯一ID,在计算过程中不可更改,共有m个焊点;定义工位数为s,每个工位机器人数为r,机器人集合:Rij,i=1,…,s,j=1,…,r,i代表工位号,j代表机器人编号,分别代表各工位的所有机器人;机器人在焊接平面xOy平面上运动的空走最大速度为vxy,加速度为axy,焊接方向上最大运动速度vz,加速度为az,每个焊点作业时间为τi,i=1,2,...,m,其中i为焊点ID,焊点焊接时间不唯一确定,则τi∈[τimin,τimax];各工位最终分配焊点序列为Si={Pi1,Pi2,…,Pimi},i=1,…,s,其中每个P为由焊点集中无缺失无重复选取的焊点,用焊点集合中ID表示,排列顺序代表焊接顺序,上式中,每个工位每个机器人最终分配焊点序列为Rpij={Pij1,Pij2,…,Pijmij},i=1,…,s,j=1,…,r,同样,各机器人最终分配焊点序列中无重复焊点,总集为焊点集合,其中
(12)约束条件
(a)各机器人及外部轴位姿可达性约束;
(b)各机器人及外部轴最大速度、加速度约束;
(c)机器人及外部轴的碰撞约束;
(d)各焊点的焊接作业时间的区间约束;
(13)构建优化目标
基于单机器人作业时间与焊接任务均衡性构建优化目标{U1,U2},U1为焊接时间最短,用各工位焊接总时间表示,U2为焊接任务均衡性,表示为单机器人作业时间最大差;
(14)建立多机器人多工位协作点焊作业优化模型
取优化目标相对平均值作为影响因子,建立的多机器人多工位协作点焊作业优化模型如下:
其中,ck表示各个优化目标的权重,焊点P所属机器人Rij可达空间为Rij(qrng),其中qrng为机器人关节向量范围,记vijk(t)为机器人Rij第k个关节当前速度,Vijkrng为机器人Rij第k个关节速度范围,aijk(t)为机器人Rij第k个关节当前加速度,Aijkrng为机器人Rij第k个关节加速度范围,记焊点所占用空间为Rwp,机器人Rij此时姿态所占空间为Rij(qij),其中qij为机器人Rij当前关节向量,其他机器人姿态所占空间为
(2)基于任务均衡原则,建立初始分配方案,进行焊点编码分配和遗传算法迭代求解,得到局部最优焊点分配方案;
(3)按照局部最优焊点分配方案将焊点分配至各机器人,使用LKH求解器进行单机器人焊点排序并计算机器人作业时间;
(4)根据局部最优焊点分配方案与单机器人焊点排序计算各机器人单机器人作业时间平分点,确定平分焊点并基于平分焊点将焊点分配给各工位并计算各工位机器人共同工作的总时间,完成工位分配。
2.根据权利要求1所述的一种基于分布优化的多机器人多工位协作点焊规划方法,其特征在于,步骤(2)包括以下步骤:
(21)建立初始分配方案
(a)焊点数据预处理:首先计算原始焊点数据协方差矩阵进行PCA主成分分析,获得特征向量,即OBB的主轴;再计算得到OBB包围盒的中心点,得到平移算子;最后进行坐标系的变换得到焊接工作坐标系中的焊点坐标,将在整车坐标系描述的焊点坐标转换为机器人工作坐标系描述的点云模型;
(b)构建分配策略:根据流水线上机器人的导轨布局,寻求平行于焊接平面坐标X,Y轴分割直线li,i∈R,首先将任务作为单工位考虑,基于分割直线将焊点分配给r个机器人,简化了机器人和外部轴可达性约束与碰撞约束;
(c)构建时间比较函数:为确定合理的初始分配方案,同时考虑初始分配方案中焊点数目N与分配分区固定矩形边长d,设原工作区域大小为l*d,焊点总数为N,选取每一条分割线时,将原有的工作区域划分成两个,设分割后两个区域的大小分别为l1*d,l2*d分割后两个区域的焊点为N1,N2,设焊接时间比较函数C(N,l,d);划分后的分区焊点数Ni,i=1,2,越大,所需的焊接时间越大,总时间越大;l越大,所需空走时间越大,总时间越大;焊接时间近似与焊点数与焊接区域成正比,以令两区域时间尽可能接近的原则,两个区域的时间差与两区域焊点数N1,N2和两个区域的不同边长度l1,l2有关,给出时间比较函数C(N,l,d),其中Ci,i=1,2,分别为分割后两区域相对焊接时间,C表示分割后两区域相对时间差,k,α1,α2为常数:
C=∣C1-C2∣;
(d)确定初始分配方案:根据时间比较函数,选取每条分割线时令C最小,得到对应的分割直线li,i∈R,确定初始分配方案;
(22)焊点编码分配
(a)首先将焊点按y坐标大小进行排序,选取编号m1焊点的y值作为l1的y坐标,将焊点分为两部分;
(b)其次,分别对两组焊点x坐标进行排序,取编号m2,m3,分别令两组中第m2,m3个焊点的x值作为l2,l3的x坐标;通过{m1,m2,m3}的取值可涵盖所有分配情况且每组{m1,m2,m3}的分配情况是唯一的;
(c)对{l1,l2,l3}所属编号{m1,m2,m3}采用格雷码编码,每条染色体由18位二进制格雷码表示,每条分割线由6位格雷码表示,且满足约束条件如下,其中N为焊点数:
(23)遗传算法求解,得到局部最优焊点分配方案
(a)选择:选择算子采用轮盘赌与最优个体保留,首先将种群中的最优个体加以保留;其次替换下代种群中的最差个体,以保证每代种群的最优个体适应度不会变差;再次采用轮盘赌算法根据个体的适应度优劣按比例制作轮盘;最后取0-1随机数从轮盘中选择对应适应度的个体,更加优秀的个体被选中的概率越大,组成新种群;
(b)交叉:交叉算子采用部分匹配交叉,首先对种群内选中个体分别根据交叉概率选取父代交叉个体;其次在父代个体每条分割线格雷码首位随机生成交叉点;最后将两个父代个体的部分染色体基因片断加以交换重组,生成新个体加入新种群;
(c)变异:变异算子采用随机点变异,首先根据交叉概率选取变异个体;其次除格雷码首位随机选择变异点位置;最后变异点位置取非,生成新个体加入新种群;
(d)终止条件判断:达到最大遗传代数或最优适应度收敛代数满足条件,当前最优个体为局部最优焊点分配方案。
3.根据权利要求1所述的一种基于分布优化的多机器人多工位协作点焊规划方法,其特征在于,步骤(3)包括以下步骤:
(31)分配焊点至各机器人
根据局部最优焊点分配方案将工作区间分成数个部分,根据机器人的位置依次将焊点分配给各机器人;
(32)LKH求解器焊点排序
(a)根据优化目标与调用形式对LKH求解器源程序进行修改,注释‘system(pause)’语句;
(b)将参数写入par文件,主要的参数包括:<PROBLEM_FILE>为目标文件,<OPTIMUM>为已知最优路径长度,<MOVE_TYPE>为领域搜索K-opt的K值,<TOUR_FILE>为最优路径输出文件,<RUNS>为总运行次数;
(c)调用LKH求解器,输入写入的par文件,结果输出至根文件夹,完成LKH求解器焊点排序;
(33)计算单机器人作业时间
按照机器人焊接运动模式,根据得到的各机器人焊点序列计算梯形加减速运动时间tTrapezoid:
其中,k为当前机器人焊接序列的焊点顺序编号,取值范围为1~m,dxy,k为机器人在初始高度平面空走距离,为空走前后两个焊点坐标(xk,yk)(xk+1,yk+1)欧式距离;dz,k为机器人垂直方向运动距离,为初始高度h0与焊点高度zk的差;D为梯形加减速运动刚好达到最大速度并立刻减速至静止的运动距离,用以判断运动过程是否达到了最大运动速度,t为运动时间;
a)计算空走时间:计算机器人在初始高度平面运动的时间;
b)计算单机器人作业时间:首先计算垂直方向运动时间,其次计算焊接时间,最后根据最大速度,加速度及焊点的空间位置得到单机器人作业时间,完成单机器人焊点排序;
其中trun为机器人空走时间,twork为机器人工作时间,txy,k为机器人焊接第k个焊点初始高度平面运动的时间,tz,k为焊接第k个焊点垂直方向的运动时间,τk为第k个焊点所需焊接时间。
4.根据权利要求1所述的一种基于分布优化的多机器人多工位协作点焊规划方法,其特征在于,步骤(4)包括以下步骤:
(41)计算时间平分点
根据步骤(3)得到的单机器人作业时间按工位数平分,将分隔作业时间的节点作为时间平分点,分别计算每个机器人时间平分点;
(42)确定平分焊点
对于每个机器人选取焊接时间最接近时间平分点的焊点作为平分焊点;
(43)工位分配
根据每个机器人时间平分点与平分焊点的关系将焊点分配给不同工位,具体步骤如下:
(a)消除时间平分点所在的运动轨迹,基于平分焊点将其余焊点平分成与工位数对应的几个部分,若平分焊点作业时间先于最接近的时间平分点,进行步骤(b);若后于最接近的时间平分点,进行步骤(c);
(b)平分焊点与前一焊点划分至同一部分;
(c)平分焊点与后一焊点划分至同一部分;
(d)根据时间平分点判断几个部分作业时间大小,按作业时间由大至小分别从工位一分配至最后工位对应机器人;
(44)计算各机器人作业时间与总作业时间
基于梯形加减速运动时间tTrapezoid公式和单机器人焊点排序公式计算每个工位各机器人的作业时间,由于流水线上机器人同时进行作业,选取最大的作业时间为总作业时间,完成工位分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146612.0A CN111113409B (zh) | 2019-11-21 | 2019-11-21 | 一种基于分步优化的多机器人多工位协作点焊规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146612.0A CN111113409B (zh) | 2019-11-21 | 2019-11-21 | 一种基于分步优化的多机器人多工位协作点焊规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111113409A CN111113409A (zh) | 2020-05-08 |
CN111113409B true CN111113409B (zh) | 2021-05-11 |
Family
ID=70495892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911146612.0A Active CN111113409B (zh) | 2019-11-21 | 2019-11-21 | 一种基于分步优化的多机器人多工位协作点焊规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111113409B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111890336B (zh) * | 2020-06-15 | 2022-05-10 | 成都飞机工业(集团)有限责任公司 | 一种机器人多目标点示教方法、系统 |
CN112068586B (zh) * | 2020-08-04 | 2021-08-13 | 西安交通大学 | 一种空间时间联合优化的四旋翼无人飞行器轨迹规划方法 |
CN114083180B (zh) * | 2020-08-24 | 2022-07-26 | 中国科学院沈阳自动化研究所 | 面向焊接生产线的焊缝任务分配方法及系统 |
CN112496582B (zh) * | 2020-11-23 | 2022-05-10 | 博迈科海洋工程股份有限公司 | 一种海洋工程复杂节点多机器人焊接协同控制方法 |
CN112677152B (zh) * | 2020-12-16 | 2023-01-31 | 齐齐哈尔大学 | 一种多机器人作业过程的规划与动态监督控制方法 |
CN112757294B (zh) * | 2020-12-28 | 2022-07-26 | 华南理工大学 | 一种基于可达性球的机器人路径中转点搜索方法 |
CN114043475B (zh) * | 2021-11-03 | 2023-04-28 | 中国船舶集团有限公司第七一六研究所 | 基于b-apf的多焊接机器人路径优化方法及系统 |
CN113894795B (zh) * | 2021-11-17 | 2023-11-28 | 青岛九维华盾科技研究院有限公司 | 一种工业机器人外部轴位置优化方法 |
CN114781863B (zh) * | 2022-04-21 | 2024-06-07 | 南京航空航天大学 | 多机器人协同加工效率与质量双目标优化任务规划方法 |
CN114571081B (zh) * | 2022-04-22 | 2022-11-25 | 佛山市天劲新能源科技有限公司 | 一种软包电池生产用的焊接控制系统、方法和装置 |
CN115008093B (zh) * | 2022-06-14 | 2023-03-14 | 广东天太机器人有限公司 | 一种基于模板识别的多焊接点焊接机器人控制系统及方法 |
CN115415694B (zh) * | 2022-08-29 | 2024-01-12 | 无锡达诺精密钣金有限公司 | 一种钣金工艺用焊接方法、系统及装置 |
CN117519055B (zh) * | 2023-12-12 | 2024-05-28 | 天津大学 | 一种考虑复杂人机协作模式的平行装配线调度方法和装置 |
CN117841006B (zh) * | 2024-03-06 | 2024-05-28 | 中建三局集团有限公司 | 抓取机械手多优化目标的轨迹优化方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011122428A1 (de) * | 2011-12-24 | 2012-06-28 | Daimler Ag | Laserschweißvorrichtung mit einer Assistenzeinheit |
CN102662350A (zh) * | 2012-05-31 | 2012-09-12 | 东南大学 | 主从式多机器人协作系统的轨迹示教与规划方法 |
CN104215206A (zh) * | 2014-09-28 | 2014-12-17 | 东南大学 | 一种双机器人协作系统的基坐标标定方法 |
CN105081524A (zh) * | 2015-08-27 | 2015-11-25 | 清华大学 | 焊接过程中轨迹在线动态规划与焊道跟踪协同的控制方法 |
CN105302062A (zh) * | 2015-10-15 | 2016-02-03 | 东南大学 | 一种基于任务解耦的多机器人协作焊接路径的生成方法 |
US20160325386A1 (en) * | 2015-05-08 | 2016-11-10 | Lincoln Global, Inc. | Drop center positioner with multiple rotate modules |
CN107390684A (zh) * | 2017-07-14 | 2017-11-24 | 华南理工大学 | 一种多机器人协同的汽车零配件焊接最优路径规划方法 |
CN110135651A (zh) * | 2019-05-23 | 2019-08-16 | 广东工业大学 | 双焊接机器人及其协同路径规划装置和协同路径规划方法 |
-
2019
- 2019-11-21 CN CN201911146612.0A patent/CN111113409B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011122428A1 (de) * | 2011-12-24 | 2012-06-28 | Daimler Ag | Laserschweißvorrichtung mit einer Assistenzeinheit |
CN102662350A (zh) * | 2012-05-31 | 2012-09-12 | 东南大学 | 主从式多机器人协作系统的轨迹示教与规划方法 |
CN104215206A (zh) * | 2014-09-28 | 2014-12-17 | 东南大学 | 一种双机器人协作系统的基坐标标定方法 |
US20160325386A1 (en) * | 2015-05-08 | 2016-11-10 | Lincoln Global, Inc. | Drop center positioner with multiple rotate modules |
CN105081524A (zh) * | 2015-08-27 | 2015-11-25 | 清华大学 | 焊接过程中轨迹在线动态规划与焊道跟踪协同的控制方法 |
CN105302062A (zh) * | 2015-10-15 | 2016-02-03 | 东南大学 | 一种基于任务解耦的多机器人协作焊接路径的生成方法 |
CN107390684A (zh) * | 2017-07-14 | 2017-11-24 | 华南理工大学 | 一种多机器人协同的汽车零配件焊接最优路径规划方法 |
CN110135651A (zh) * | 2019-05-23 | 2019-08-16 | 广东工业大学 | 双焊接机器人及其协同路径规划装置和协同路径规划方法 |
Non-Patent Citations (2)
Title |
---|
双机器人协同焊接的轨迹优化;翟敬梅等;《焊接学报》;20150125;第36卷(第1期);全文 * |
基于改进遗传算法工业机器人多路径组合规划;周波等;《华中科技大学学报》;20111111;第39卷;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111113409A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111113409B (zh) | 一种基于分步优化的多机器人多工位协作点焊规划方法 | |
CN110069880B (zh) | 一种基于仿真的多目标设备布局和生产排程协同优化方法 | |
CN112526927B (zh) | 面向五轴数控机床旋转轴空间定位误差快速优化补偿方法 | |
CN108544495B (zh) | 一种多焊接机器人的焊接路径规划方法、系统及设备 | |
Xin et al. | A time-space network model for collision-free routing of planar motions in a multirobot station | |
CN105956689B (zh) | 一种基于改进粒子群优化的运输和生产协同调度方法 | |
CN110053052B (zh) | 多层som异构焊接机器人的任务分配与路径规划方法 | |
CN110134062B (zh) | 一种基于强化学习的多轴数控机床加工路径优化方法 | |
CN115122338B (zh) | 一种基于多目标优化的多机器人协作弧焊任务规划方法 | |
CN114669916B (zh) | 一种基于改进遗传算法的双机器人协同焊接任务规划方法 | |
CN111745653B (zh) | 基于双机械臂的船体外板曲面成形协同加工的规划方法 | |
CN114296440A (zh) | 一种融合在线学习的agv实时调度方法 | |
Andrzejewski et al. | Optimisation process for robotic assembly of electronic components | |
Hani et al. | Simulation based optimization of a train maintenance facility | |
Zhou et al. | Multi-objective optimization of greening scheduling problems of part feeding for mixed model assembly lines based on the robotic mobile fulfillment system | |
CN111580488B (zh) | 基于改进遗传算法的wbs缓冲区车辆排序调度方法 | |
CN115741703A (zh) | 一种适用于多工位多机器人光学测点任务分配的方法 | |
CN114290335B (zh) | 一种机器人轨迹规划方法 | |
CN107066654A (zh) | 面向点云模型的包容盒面的轨迹控制点拾取方法和装置 | |
Qiu et al. | An enhanced approach for joint configuration of a robot performing in a repetitive task | |
CN112632777B (zh) | 面向家电产品装配线的ⅱ型双边装配线平衡方法及系统 | |
CN108469746B (zh) | 一种用于机器人仿真系统的工件放置规划方法 | |
CN117196271B (zh) | 一种柔性车间异构机器人双效调度方法 | |
JP3576404B2 (ja) | 生産ラインの作業配分シミュレーション方法 | |
CN117970813B (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 |