一种基于遗传算法的机器人焊接路径规划方法与流程

文档序号:15096332发布日期:2018-08-04 14:39阅读:240来源:国知局

本发明涉及点焊控制技术领域,尤其涉及一种基于遗传算法的机器人焊接路径规划方法。



背景技术:

中国汽车产业正高速发展,作为汽车制造四大工艺——冲压、焊装、涂胶、总装中运用最广泛、最重要的焊接工艺,在汽车部件的生产工艺过程中被广泛地应用。

目前在行业内,点焊仍普遍采用人工规划的方法,该方法极大地依赖于工艺人员的经验,常常不能得到理论最优,与追求生产节拍高效的汽车行业相矛盾,所以,目前的焊接工艺将更大程度上依靠点焊机器人实现。在一般情况下,单台机器人焊接加工的路径是从机器人的原点出发,焊接所有的焊点,然后回到机器人原点,该过程要求机器人要焊接完所有的焊点,不能漏焊也不能重复焊接。在合理的工艺条件下,如何优化点焊机器人的焊接顺序即机器人最优路径规划成为一个难题。

路径规划是机器人学中一个重要的研究热点问题。机器人路径规划就是在一定的约束条件下,寻找一条最优的路径,评价该路径优劣与否的指标可以是走过该路径的距离、消耗的时间或者是机器人消耗功率等。国内外学者针对不同的路径约束条件,采用不同的算法对该问题做了很多研究,建立起了不同的焊接机器人路径模型。目前,路径规划应用的主要方法大致分为两类,即以自由空间法、图搜索法、单元分割法、人工势场法为代表的传统方法求解,和以遗传算法、粒子群算法等为代表的人工智能算法求解,而人工智能算法比传统方法更能适应社会的发展。

遗传算法是由美国密歇根大学JohnH.Holland教授及其学生最早提出的。遗传算法针对不同的实际应用问题,进行参数编码、初始种群生成、适应度函数和遗传策略(选择、交叉、变异)等设计。遗传算法的一般工作流程为:

(1)针对实际问题进行编码,把参数集合X和域转换为位串结构空间S;

(2)根据优化的目标设计适应度函数f(x);

(3)确定遗传操作策略:种群的选择、交叉和变异;

(4)生成初始群体;

(5)分别计算群体中所有个体对应的适应值f(x);

(6)按照遗传策略,运用选择、交叉和变异算子作用于群体,形成下一代种群;

(7)判断群体性能是否满足某一指标,不满足则返回到上一步,循环直至满足迭代次数或者达到性能指标。

自从遗传算法被提出以来,其得到了广泛的应用,特别是在函数优化、生产调度、模式识别、神经网络、自适应控制等领域。遗传算法(Genetic Algorithm) 遵循“适者生存”、“优胜劣汰”的原则,是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。遗传算法模拟一个人工种群的进化过程,通过选择、交叉以及变异等机制,在每次迭代中都保留一组候选个体,重复此过程,种群经过若干代进化后,理想情况下其适应度达到近似最优的状态。



技术实现要素:

本发明提供一种基于遗传算法的机器人焊接路径规划方法,解决的技术问题是,以机器人各关节运动量的代价函数为目标函数,通过遗传算法,求解出最优焊接路径,并求解出在每个焊点的最优位姿。

为解决以上技术问题,本发明提供一种基于遗传算法的机器人焊接路径规划方法,包括以下步骤:

S1.建立机器人D-H结构参数,并建立对应的机器人运动学方程;

S2.对所述机器人运动学方程中无干涉焊点的位姿进行逆运动学求解,求出表征每个机器人关节角的可行逆解;

S3.对所述可行逆解进行编码,生成初代种群染色体;

S4.建立机器人两个焊点间运动关节角变化量的目标函数;

S5.建立所述目标函数的适应度函数;

S6.对所述初代种群染色体进行遗传迭代操作,直到其子代种群染色体满足所述适应度函数的停止准则,将该子代种群染色体作为最优种群染色体;

S7.对所述最优种群染色体进行解码后得到最优焊接路径序列及其最优逆解。

进一步地,在所述步骤S3中,对所述可行逆解进行编码采取的编码方式为实数编码,所述初代种群染色体采用随机数发生器生成。

更进一步地,在所述步骤S5中,所述适应度函数的倒数定义为所述路径评价函数。

又进一步地,在所述步骤S6中,所述迭代遗传操作包括步骤:

S6-1.设定选择算子,在本代种群染色体中选定两个个体序列;

S6-2.设定交叉算子,对选定的两个所述个体序列作部分匹配交叉运算,产生两个交叉子代;

S6-3.设定变异算子,对所述交叉子代做插入变异运算,产生下一代种群染色体。

再进一步地,在所述步骤S6-2中,所述部分匹配交叉运算包括步骤:

S6-21.在每个所述个体序列中随机选择两个基因,并将两个所述基因之间的序列片段为交叉片段;

S6-22.交换两个所述个体序列的所述交叉片段,产生原始后代;

S6-23.确定所述序列片段外基因的映射关系;

S6-24.通过所述映射关系,替换两个所述序列片段外对应位置的基因,得到将所述原始后代合法化的所述交叉子代。

再进一步地,在所述步骤S6-3中,所述部分匹配交叉运算为:在一个所述交叉子代中随机选择一个基因点,将它取出并插入另一个随机的位置。

进一步地,在所述步骤S6-1中,所述选择算子为随机遍历抽样法;在所述步骤S6-2中,所述部分匹配交叉运算的交叉概率为0.9;在所述步骤S6-3中,所述插入变异运算的变异概率为0.05。

进一步地,在所述步骤S6中,所述停止准则为:满足所述适应度函数的预设指标或达到迭代次数的上限。

进一步地,所述步骤S6具体为:对所述初代种群染色体进行多次迭代遗传操作后生成的子代种群染色体,满足所述适应度函数的预设指标且未达到迭代次数的上限时,则所述子代种群染色体作为所述最优种群染色体,或不满足所述路径评价函数的预设指标时继续进行多次迭代遗传操作后达到迭代次数的上限,得到的终代种群染色体作为所述最优种群染色体;或者,对所述初代种群染色体进行多次迭代遗传操作后的子代种群染色体,达到迭代次数的上限,则该子代种群染色体作为所述最优种群染色体。

本发明提供的一种基于遗传算法的机器人焊接路径规划方法,应用于点焊机器人的路径规划过程,将焊接路径规划问题抽象为旅行商问题,以机器人各关节角变化量的代价函数为评价指标,采用遗传算法,其中编码方式为实数编码,交叉方式为部分匹配交叉,变异方式为插入变异,能够自动求解出最优点焊顺序,实现焊接路径的最优化。

附图说明

图1是本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法的步骤流程图;

图2是本发明提供的图1实施例中步骤S3和S7的编解码对照图;

图3是本发明实施例提供的图1实施例中步骤S3的种群规模经验数据表示意图;

图4是本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法的随机遍历抽样法示意图;

图5是本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法的工作流程图。

具体实施方式

下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。

现今,单台机器人焊接加工的路径是从机器人的原点出发,焊接所有的焊点,然后回到机器人原点,该过程要求机器人要焊接完所有的焊点,不能漏焊也不能重复焊接。因此机器人的路径优化问题可以抽象成经典的旅行商TSP (Traveling Salesman Problem)数学模型。

旅行商TSP问题就是一个旅行商从驻地出发,遍历访问n(n≥2)个城市后返回驻地(每个城市仅访问一次),应该如何安排他的旅行路线才能使其旅行路程最短。如果把机器人的原点设定为0点,需要加工的焊点的编号分别为1, 2……n,那么机器人焊接路径优化就是寻找最优的加工焊点序列(0,i,…,0)。

为了寻找最优的加工焊点序列,本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法的步骤流程图,如图1所示,在本实施例中,所述的一种基于遗传算法的机器人焊接路径规划方法,包括以下步骤:

S1.建立机器人D-H结构参数,并建立对应的机器人运动学方程;

S2.对所述机器人运动学方程中无干涉焊点的位姿进行逆运动学求解,求出表征每个机器人关节角的可行逆解;

S3.对所述可行逆解进行编码,生成初代种群染色体;

S4.建立机器人两个焊点间运动关节角变化量的目标函数;

S5.建立所述目标函数的适应度函数;

S6.对所述初代种群染色体进行遗传迭代操作,直到其子代种群染色体满足所述适应度函数的停止准则,将该子代种群染色体作为最优种群染色体;

S7.对所述最优种群染色体进行解码后得到最优焊接路径序列及其最优逆解。

需要补充说明的是,在所述步骤S1中,D-H结构参数(D-H结构模型)是一种对机器人连杆和关节进行建模的较简单有效的方法,适用于任何机器人构型,也适用于不同坐标之间的变换。结构参数建立后,进一步通过建立对应的机器人运动学方程,对焊点的位姿进行逆运动学求解,求出位姿的可行逆解(机器人各关节角),如步骤S2。

在所述步骤S3中,对所述可行逆解进行编码采取的编码方式为实数编码若机器人需要焊接4个焊点,其中机器人在每个焊点无干涉位姿对应的机器人逆解有4个,将所有逆解进行实数编码,如图2所示的编解码对照表,则染色体的基因数目为16。所述初代种群染色体采用随机数发生器生成,比如其中的一条染色体为:

(1→6→2→8→7→4→6→5→14→15→13→12→11→10→9→3)。

在所述步骤S4中,对于机器人各运动关节而言,各关节的运动难易程度不同,前三个关节主要控制机器人的位置变化,其驱动的电机功率大,而机器人的后三个关节主要进行姿态的变化,对应的电机功率比较小,可用运动关节角变化量C(i,j)来评价机器人在焊点i的位姿运动到焊点j位姿的运动量,C(i,j)定义如公式(1):

其中,θni表示机器人在焊点i对应的关节轴n的角度;Δθn表示机器人从i焊点位姿到j焊点位姿的相对转角;an表示机器人关节轴n的运动加权系数,取 a1=2,a2=2,a3=2,a4=1,a5=1,a6=1。

在所述步骤S5中,所述适应度函数的倒数定义为所述路径评价函数。适应度函数值反映了对应解的优劣程度,是遗传算法进化选择的依据。适应度的设计首先应保证它的函数值为非负,还要保证在选择时要让适应函数值大的染色体被选中的概率大,因此适应函数的设计要对评价函数做一定的变换,如本发明中的路径评价函数C(i,j)值越小,则机器人表示路径效果越好,因此取适应度函数为评价函数的倒数,即有:

对于所述初代种群染色体,因为采用随机数发生器生成的方法生成,种群的规模M的确定是生成初始群体的关键问题。种群大小规模M要取一个合适的数值,种群规模过大计算量大,收敛速度较慢,而种群规模过小则限制了遗传算法的搜寻空间会导致未成熟收敛,本发明实施例的种群规模可参照图3所示的种群规模经验数据表示意图。

在所述步骤S6中,所述迭代遗传操作包括步骤:

S6-1.设定选择算子,在本代种群染色体中选定两个个体序列;

S6-2.设定交叉算子,对选定的两个所述个体序列作部分匹配交叉运算,产生两个交叉子代;

S6-3.设定变异算子,对所述交叉子代做插入变异运算,产生下一代种群染色体。

再进一步地,在所述步骤S6-1中,设定选择算子的目的是把优化的个体(或解)直接遗传到下一代或配对交叉产生的新个体再遗传到下一代。本发明采用的选择算子为:随机遍历抽样法。如图4所示的随机遍历抽样法示意图,对于随机遍历抽样法,n为选择的个体数目,等距离地选择个体,选择指针的间距为 1/n,第一个指针的位置是[0,1/n]区间内的随机数,第二个指针的位置是[1/n, 2/n]区间内的随机数,以此类推。举例说明,假设要选择6个个体,则指针间的间距为1/6=0.167,若第一个指针在区间内产生的随机数为0.1,则其余5个指针的位置分别为0.267,0.434,0.601,0.768,0.935,其选择的结果如图4所示,依次选择了1,2,3,4,6,8。

在所述步骤S6-2中,交叉运算是模拟自然界繁衍的产生的过程,指从群体中随机选择两个个体进行配对,并交换部分基因,最终产生两个新的子代。本发明采用的交叉算子为部分匹配交叉。部分匹配交叉实际上是在简单的两点交叉的基础上并对引起非法性的断路修复的算子。本发明实施例提供的所述部分匹配交叉运算包括步骤:

S6-21.在每个所述个体序列中随机选择两个基因,并将两个所述基因之间的序列片段为交叉片段;

S6-22.交换两个所述个体序列的所述交叉片段,产生原始后代;

S6-23.确定所述序列片段外基因的映射关系;

S6-24.通过所述映射关系,替换两个所述序列片段外对应位置的基因,得到将所述原始后代合法化的所述交叉子代。

举例说明:

假设旅行商问题中,城市的数目为8,部分匹配交叉产生子代的过程如下:

首先,在种群中随机选择两条染色体作为父代,产生的随机交叉基因(竖线后)为第二个基因和第六个基因。

父代1:(1|3 5 7 2 4|6 8)

父代2:(2|3 8 1 4 2|7 6)

然后,对父代的交叉片段进行交换,原始后代变成了:

原始子代1:(1|3 8 1 4 2|6 8)

原始子代2:(2|3 5 7 2 4|7 6)

可以看出,交叉后的原始子代存在断路,要将其合法化修复,需将交叉区外的基因片段通过映射关系进行替换,其过程如下:

设定映射关系为:

修复后子代1:(7|3 8 1 4 2|6 5)

修复后子代2:(4|3 5 7 2 4 |1 6)

本发明实施例中采用的交叉算子为部分匹配交叉法,其交叉概率取为0.9。

在所述步骤S6-3中,所述插入变异运算即是:父代的染色体中的某些基因用等位基因来代替来产生新的子代。该变异方法就是在父代染色体中随机选择一个基因点,并将它插入一个随机的位置,本发明变异概率取0.05。假设一个父代染色体,随机产生的基因点为第4个基因,插入的位置为7,则该父代染色体及其子代染色体如下:

父代:(1 2 3 5 8 7 6 4);子代:(1 2 3 8 7 6 5 4)。

在所述步骤S6中,所述停止准则为:满足所述适应度函数的预设指标或达到迭代次数的上限。所述步骤S6具体为:对所述初代种群染色体进行多次迭代遗传操作后生成的子代种群染色体,满足所述适应度函数的预设指标且未达到迭代次数的上限时,则所述子代种群染色体作为所述最优种群染色体,或不满足所述路径评价函数的预设指标时继续进行多次迭代遗传操作后达到迭代次数的上限,得到的终代种群染色体作为所述最优种群染色体;或者,对所述初代种群染色体进行多次迭代遗传操作后的子代种群染色体,达到迭代次数的上限,则该子代种群染色体作为所述最优种群染色体。

在所述步骤S7中,可采用反变换法的解析法来求解机器人运动学逆解,通过分别左乘矩阵实现角度解耦,最后找到相应角度的正弦值或余弦值的函数,进而求出对应的角度值。

参照图2的编解码对照表,假设对一条染色体进行解码:

(1→6→2→8→7→4→6→5→14→15→13→12→11→10→9→3),其解码过程就是判断染色体基因的所属的焊点出现的顺序,若当前基因所属的焊点已经在前面出现过,则跳过该基因。该染色体解码后的焊接路径为(1→2→4→3),焊点1位姿最优逆解取1,焊点2位姿最优逆解取6,焊点4位姿最优逆解取14,焊点4位姿最优逆解取12。

总体上,与图1相对应地,本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法的工作流程图(特别地针对所述步骤S6)可参见图5,循环的开始,所述种群染色体为初代种群染色体,在满足停止准则之前,所述种群染色体为子代种群染色体,当满足所述停止准则时,所述种群染色体即为最优种群染色体,随后循环结束。

本发明实施例提供的一种基于遗传算法的机器人焊接路径规划方法,应用于点焊机器人的路径规划过程,将焊接路径规划问题抽象为旅行商问题,以机器人各关节角变化量的代价函数为评价指标,采用遗传算法,其中编码方式为实数编码,交叉方式为部分匹配交叉,变异方式为插入变异,能够自动求解出最优点焊顺序,实现焊接路径的最优化。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1