技术领域
[0001] 本发明涉及相贯线焊接机器人技术领域,特别是涉及一种相贯线焊接机器人路径优化方法及系统。
相关背景技术
[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 相贯线是空间物体相贯所形成的交线,其焊接智能化是相关行业亟需解决的痛点问题,目前也对复杂相贯工件的焊接质量、生产效率以及人工成本等指标尤为重视。受限于机器人的工作空间和运动学约束,机器人无法保持固定的姿态以完成复杂相贯工件的焊接,严重影响了焊接的质量和效率。
[0004] 复杂相贯线机器人焊接需要解决的首要难题即为机械臂各关节与相贯工件之间的干涉和碰撞,其次通过分析、调节焊接工艺以保证焊接质量,最后为机器人焊接的效率和综合能耗等指标。上述各指标均为机器人焊接路径规划时需要考虑兼顾的问题。
[0005] 相对于双管相贯结构,多管相贯结构焊接的复杂性主要来源于机器人及焊枪与相贯工件多个支管之间的干涉或碰撞带来的安全问题,在焊接过程中,潜在碰撞主要源于机器人连杆(包括焊枪)与主支管之间,但由于机器人各连杆均为不规则结构,目前无法准确地对机械臂建立数学描述。其次,焊接线缆比较坚硬,不易折弯,如果发生缠绕将会对关节轴施加较大的反向力,影响机器人的动态性能,甚至造成机器人过载报警(机器人末端轴的扭矩较小)。再者,焊枪姿态也是焊接质量的影响因素之一,尤其是对于空间焊缝的全位置焊接,焊枪姿态的调整将直接影响焊缝成形质量。
具体实施方式
[0048] 下面结合附图与实施例对本发明做进一步说明。
[0049] 应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0050] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0051] 在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0052] 实施例1
[0053] 路径优化是一种通过寻找最佳路径来提高效率和优化资源利用的方法,针对特定目标,通过不同的方法和手段,使得实现该目标的路线更加高效、经济、可行。因此在加工制造业,路径优化技术有助于企业提高生产效率、提升产品质量、降低生产成本。
[0054] 遗传算法是计算机智能领域中用于解决最优化的一种搜索启发式算法,是模拟生物进化论中自然选择和遗传学机理的计算模型。遗传算法是一种高效、并行、全局搜索的方法,其特点在于将可行的解决方案表示成若干个染色体,并对染色体进行遗传操作,赋予相应的适应度,并逐代选择产生的最优解。该算法及其变体广泛应用于机器人智能制造、交通运输、物流等领域,能够有效地解决复杂的优化问题,为各行业的发展带来新的机遇和挑战。
[0055] 改进非支配排序遗传算法(NSGA‑Ⅱ)能够更好地解决多目标优化问题,改进了传统的遗传算法,最终得到的一组互不支配的解集(而非传统的单一解),并且在一定程度上满足各目标函数的约束条件。故基于NSGA‑Ⅱ的多目标优化算法适用于解决相贯线机器人焊接的路径规划问题。
[0056] 由此,本实施例提供一种基于NSGA‑Ⅱ的相贯线焊接机器人路径优化方法,以复杂相贯线为研究对象,采取机器人离线编程的方式,根据输入的机器人焊枪末端路径及其空间特征描述,经过目标函数抽象与量化、决策变量编码、碰撞模型距离计算等操作,基于NSGA‑Ⅱ算法优化机器人的焊接路径并自动生成焊接程序,实现焊接质量、综合能耗与线缆缠绕的最优化,提高焊接质量与效率,降低成本且提高计算资源的利用率,实现机器人焊接柔性化作业,有效避免机器人各关节与复杂相贯工件间的碰撞或干涉。
[0057] 具体步骤包括:
[0058] 以最小化机器人综合能耗、焊枪姿态调整次数和焊接线缆缠绕波动量为优化目标,以焊枪姿态的工作角、行走角和自转角为决策变量,构建焊枪姿态模型;
[0059] 以圆柱体为基元构建机器人各关节与相贯工件的碰撞模型,以通过机器人各关节与相贯工件间的距离判断是否发生碰撞;
[0060] 以无碰撞、焊接线缆缠绕量和机器人关节速度限制为约束条件,求解焊枪姿态模型,得到最优焊接路径。
[0061] 相对于双管相贯结构,多管相贯结构焊接的复杂性主要来源于机器人及焊枪与多个支管之间的干涉或者碰撞带来的安全问题。其次,焊接线缆比较坚硬,不易折弯,如果发生缠绕将会对关节轴施加较大的反向力,影响机器人的动态性能,甚至造成机器人过载报警(机器人末端轴的扭矩较小)。第三,焊枪姿态是焊接质量的影响因素之一,尤其是对于空间焊缝的全位置焊接,焊枪姿态的调整将直接影响焊缝成形质量。目前,在制造业节能、环保的政策推动下,以焊接机器人为主的大功率工业机器人的能耗问题面临更严格的要求,所以机器人的能耗指标不容忽视。
[0062] 综上,本实施例根据相贯线焊接工艺及机器人运动学的相关约束,以机器人综合能耗、焊枪姿态调整次数和焊接线缆缠绕波动量为优化目标,并分别对各优化目标进行量化,具体的评价量化方法如下:
[0063] 1)机器人综合能耗Wrob。
[0064] 由于机器人能耗模型较为复杂,涉及到运动学、动力学及摩擦等非线性内容,并且适用性较低,机器人本体结构或类型的改变将会导致能耗模型的失效,故本实施例进行了简化处理。假设机器人综合能耗与关节电机功率pmot、减速比ρred、关节位移θjnt成比例关系,则机器人综合能耗表示为:
[0065]
[0066] 其中, 为第j个关节的电机功率; 为第j个关节的减速比, 为第j个关节的位移。
[0067] 2)焊枪姿态调整次数Qweld。
[0068] 焊接质量受多方面因素的影响,本实施例主要讨论焊枪姿态调整对焊缝成形质量的影响。根据焊接工艺,假定:当焊枪轴线与二面角平分线重合、在上坡焊过程中焊枪前倾、在下坡焊过程中焊枪后倾,焊接质量最优。因此,根据整个焊接过程中的焊枪姿态调整次数间接判断焊接质量,即:
[0069]
[0070] 式中,Nd为离散路径点的数量, 为第i个路径点的焊枪姿态调整次数,可由决策变量解码计算。
[0071] 3)焊接线缆缠绕波动量Gwnd。
[0072] 焊接线缆缠绕波动量会影响送丝速度,进而对焊接质量产生影响。由于送丝机安装在机器人小臂后端,故本实施例选用机器人第4、6关节的位移和 表示焊接线缆缠绕量,并选取其方差来描述波动的大小。即:
[0073]
[0074] 式中,E(θ46)表示整个焊接过程线缆缠绕量的均值。
[0075] 对于多管相贯结构的焊接,其约束条件为:机器人关节速度限制、焊接线缆缠绕量(即线缆是否过度缠绕)、无碰撞和无奇异位形,则优化目标Fm及约束条件表示为:
[0076]
[0077] 式中,θfree代表机器人关节的可达工作空间, 为机器人关节速度限值,Δt为时间间隔, 表示机器人关节与相贯工件是否有碰撞发生;fdst(j,k)代表机器人关节j与相贯工件k是否存在碰撞或干涉的标志; 为当前时刻机器人关节角度值, 为上一时刻机器人关节角度值。
[0078] 焊接任务不同于普通的轨迹规划任务,不能采用更改路径点位置的方式进行避障,只能通过更改路径点的焊枪姿态达到避障的目的。由此,本实施例选取焊枪姿态作为可调节量,以焊枪姿态的工作角、行走角和自转角为决策变量,构建焊枪姿态模型。如图2中的(a)所示,移动标架{Ow:Xw,Yw,Zw}为焊缝坐标系,每个离散路径点的焊枪姿态由工作角ux、行走角vy和自转角ωz唯一确定。
[0079] 如图2中的(b)所示,坐标系{Ow}的构建方法为:轴Zw平行于二面角 的角平分线,指向远离焊缝的方向;轴Xw与相贯线在路径点Ow的切线重合,方向一致;由右手定则可确定轴Yw的方向。则:
[0080]
[0081] 故焊枪姿态表示为:
[0082]
[0083] 式中, 为坐标系{Ow}在机器人基坐标系下的位姿表示,由式(5)和离散路径点序列{p3,i}确定。
[0084] 同时,为适配改进非支配排序遗传算法(NSGA‑Ⅱ),更好地在染色体上表示决策变量,本实施例设计决策变量的实数编码方式,创新性地采取数制的方法对决策变量进行实数编码,如图3所示。这种编码方式不仅提高了算法的运算效率,还使得焊枪姿态的调整更为精确和灵活,从而优化焊接过程中的各项性能指标。
[0085] 变量Qk代表决策变量的实数值,其编、解码的计算方式如下:
[0086]
[0087] 式中,floor函数向下取整函数;δu、δv、δw分别表示决策变量工作角ux、行走角vy和自转角ωz的数制(均为奇数),即:
[0088]
[0089] 赋予ux、vy、ωz的每个取值一定的角度和姿态调整含义,据此可对式(6)和第i个路径点的焊枪姿态调整次数 进行计算。
[0090] 无碰撞作业是焊接任务的前提。在焊接过程中,潜在碰撞主要源于焊接机器人连杆(包括焊枪)与主支管之间,由于机器人各连杆均为不规则结构,无法准确地对机械臂建立数学描述。故本实施例进行简化处理,为避免碰撞或干涉,以圆柱体为基元构建如图4所示的机器人各关节与相贯工件的碰撞模型,并计算各基元间的距离以判断是否存在碰撞或干涉。
[0091] 在碰撞模型中,焊接机器人本体被分割为8个连杆,每个连杆被抽象为单独的圆柱体(Cy1,Cy2,…Cy8),每个圆柱体的空间位姿可由圆心、半径、高度以及轴线向量确定。以大臂Cy2为例,参数 完全地描述了大臂的位置和姿态,可由各关节坐标和运动学算法计算得出。同理,参数 确定了主管的空间位姿,参数 确定了
支管k的空间位姿。
[0092] 故焊接机器人各连杆与主支管之间的距离可简化为带起点的定长向量之间的距离。空间向量的位姿关系包括共面平行、共面相交和异面相交等,对于带起点的定长向量来说,其主要的空间关系已在图5中列出,其中:图5中的(a)、(b)、(c)分别为共面平行、延长平行和相交,图5中的(d)、(e)、(f)分别为异面相交、延长相交。两向量平行可利用点积判断,共面可利用叉乘判断,根据几何知识,计算两向量之间的实际距离dvec(j,k),故机器人各关节与相贯工件间的距离可转化为空间直线间距离的计算。
[0093]
[0094] 其中,fdst(j,k)为机器人关节j与相贯工件k是否存在碰撞或干涉的标志。
[0095] 在本实施例中,根据决策变量的编码方式,为NSGA‑Ⅱ算法设计合适的交叉和变异算子,以高效执行路径优化操作。
[0096] 具体地:
[0097] 遗传算法中较为重要的操作包括染色体的交叉、变异和选择。首先,为了在提高子代多样性的同时降低计算量,本实施例采取基于两点交叉的模拟二进制交叉(SBX)算子;即在父代染色体上随机生成两点,设定两点之间的染色体片段分别为Ch1和Ch2,利用模拟二进制交叉算子生成的子代染色体变量为Ch1'和Ch2',其计算方法为:
[0098]
[0099] 式中,round函数为四舍五入函数;αp为随机变量,其生成方式为:
[0100]
[0101] 式中,βr为(0,1)上均匀分布的随机数,λ为经验常数。
[0102] 其次,利用变异操作使得个体中某些基因发生改变,一方面能够维持种群的多样性,另一方面改善优化算法的局部搜索能力。本实施例选用高斯变异来提高轨迹规划的效率,即在父代染色体的随机位置用符合均值为μN、标准差为σN的正态分布的一个随机数来替换原有基因值:
[0103]
[0104] 最后,选择操作采用锦标赛算子。
[0105] 由此,将以上适用于复杂相贯线机器人焊接任务的优化目标、约束条件、染色体编码和遗传操作等代入到NSGA‑Ⅱ算法中,经过一定时间的进化迭代,便可得到最优焊接路径,将机器人焊枪末端的路径点和焊枪姿态转化为机器人运动指令参数,结合离线编程方式来实现焊接的智能化。
[0106] 实施例2
[0107] 本实施例提供一种相贯线焊接机器人路径优化系统,包括:
[0108] 优化模型构建模块,被配置为以最小化机器人综合能耗、焊枪姿态调整次数和焊接线缆缠绕波动量为优化目标,以焊枪姿态的工作角、行走角和自转角为决策变量,构建焊枪姿态模型;
[0109] 碰撞模型构建模块,被配置为以圆柱体为基元构建机器人各关节与相贯工件的碰撞模型,以通过机器人各关节与相贯工件间的距离判断是否发生碰撞;
[0110] 优化求解模块,被配置为以无碰撞、焊接线缆缠绕量和机器人关节速度限制为约束条件,求解焊枪姿态模型,得到最优焊接路径。
[0111] 此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0112] 在更多实施例中,还提供:
[0113] 一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
[0114] 应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0115] 存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0116] 一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
[0117] 实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0118] 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现完成实施例1中所述的方法。
[0119] 本发明还提供有形地存储在非暂时性计算机可读存储介质上的至少一个计算机程序产品。该计算机程序产品包括计算机可执行指令,例如包括在程序模块中的指令,其在目标的真实或虚拟处理器上的设备中执行,以执行如上所述的过程/方法。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施例中,可以根据需要在程序模块之间组合或分割程序模块的功能。用于程序模块的机器可执行指令可以在本地或分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质中。
[0120] 用于实现本发明的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
[0121] 在本发明的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
[0122] 本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0123] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。