一种过路径点的机械臂多轴运动规划优化方法与流程

文档序号:11272440阅读:482来源:国知局
一种过路径点的机械臂多轴运动规划优化方法与流程

本发明涉及自动化领域,特别涉及一种过路径点的机械臂多轴运动规划优化方法。



背景技术:

机械臂运动规划(manipulatormotionplaning)受限于一定的条件,指定机械臂的运动规划任务,求解起止位置间的运动序列。由于机械臂在运动规划过程中,需要考虑空间障碍物、非法区域等避碰要求和运动路径的合理可控要求,在机械臂实际过程中需要通过多个位置点的运动以实现以上要求。

目前,现有方法无法满足机械臂在运动规划中的高效率要求。因此,急需一种新的方法来提高机械臂多路径点运动规划的计算效率,从而完成受限状态下的机械臂连续轨迹运动。



技术实现要素:

本发明的目的是:提出一种过路径点的机械臂多轴运动规划优化方法,以解决机械臂在空间中实现高效率避碰优化的问题。

本发明解决其技术问题所采用的技术方案是:

一种过路径点的机械臂多轴运动规划优化方法,该方法是基于m个关节的机械臂,每个关节同步经过n个位置的轨迹优化过程,且将关节空间的两位置点之间的轨迹设为三次样条曲线,其关节运动轨迹方程为:qj(t)=aj+bj(t-tj)+cj(t-tj)2+dj(t-tj)3其中,t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj;其优化步骤如下:

s1、设定路径点处的运动约束方程,并通过所述运动约束方程建立机械臂通过路径点的连续运动方程;

其中,所述运动约束方程包括关节位置、速度和加速度的连续约束方程:

且轨迹始末速度

所述机械臂通过路径点的连续运动方程为:

其矩阵形式为:

s2、设置机械臂运动的多种约束方程,包括能量约束、运动约束和空间约束,如下:

并构建适应度函数,如下:

s3、以机械臂经过路径点的时间向量为被优化目标,并通过全局进化迭代优化算法求解最优的运动时间序列;

s4、将最优的运动时间序列代入所述关节运动轨迹方程中,最终得到路径点的机械臂多轴连续运动的最佳规划曲线。

进一步,所述步骤s3具体包括以下步骤:

s31、将时间序列t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj随机生成规模为k的初始种群;

s32、将所述初始种群在经过非支配排序后,通过遗传算法得到第一代子代种群;

s33、从第二代开始,将父代种群与子代种群合并;

s34、将合并后的种群再进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,得到个体拥挤度;

s35、根据非支配关系以及个体的拥挤度,采用拥挤度比较的计算公式选取合适的个体组成新的父代种群;

s36、最后,再将生成的新的父代种群通过遗传算法生成新的子代种群,重复步骤s33至步骤s35,直到满足程序结束的条件,得到最优或次优的运动时间序列。

进一步,所述非支配排序的步骤为:

s321、考虑一个目标函数个数为2、规模大小为k的种群;

s322、设j=1,对所有的g=1,2,3,…n且g≠j,基于适应度函数比较个体xj和个体xg之间的支配与非支配关系;

s323、如果不存在任何一个个体xg优于xj,则xj标记为非支配个体;

s324、令j=j+1,重复步骤a-d,直到找到所有的非支配个体;

s325、以此得到的非支配个体集是种群的第一级非支配层,忽略这些标记的非支配个体,重复步骤s321至s325,以此类推,得到整个被分类的种群,记为非支配排序种群。

进一步,所述快速非支配排序的步骤为:

s341、设种群k中每个个体k的参数nk为种群中支配个体k的数量,参数ok为种群中被个体k支配的个体集合;

s342、找到种群中nk=0的个体,并保存在当前集合f1中;

s343、对于当前集合f1中的每个个体i,其所支配的个体集合为oi,遍历oi中的每个个体l,执行jl=jl-1,如果jl≈0则将个体l保存在集合h中;

s344、记f1中得到的个体为第一个非支配层的个体,并以h作为当前集合,重复上述操作,直到整个种群被分级。

进一步,所述拥挤度的计算公式设置如下:

nd=nd+(finm(i+1)-finm(i-1)),n=2,3,....,n-1

其中,nd为通过迭代计算的拥挤度。

进一步,所述拥挤度比较的计算公式设置如下:

对于种群中的每个个体l存在的两个属性:非支配序nrank和拥挤度nd,定义个体i优于j,当且仅当irank≤jrank且id>jd。

进一步,所述遗传算法具体步骤包括:编码、选择、交叉和变异;

所述编码的具体步骤为:采用二进制编码方式,直接将运动时间序列由二进制符号0和1组成二值符号集{0,1},求解精度为所需的最小控制周期tp,构建个体基因型;

所述选择的具体步骤为:采用无回放余数随机选择,其过程为:

a、计算群体中各个在下一代群体中的期望生存数目ni;

b、用ni的整数部分确定各个对应个体在下一代群体中的生存数目;

c、以为各个个体的新的适应度,用比例选择方法随机确定下一代群体中还未确定的个体;

所述交叉的具体步骤为:选择算数交叉方法生成下一代,其过程为:

对个体xa和xb进行交叉,α设置为由进化代数决定的变量;

所述变异的具体步骤为:采用基本位变异,其过程为对个体编码串中以变异概率、随机指定的某一位或某几位基因座上的值做变异运算,以变异概率指定其为变异点;对每一个指定的变异点,对其基因值做取反运算代替,产生新的个体。

本发明的有益效果是:本发明所述的过路径点的机械臂多轴运动规划优化方法可以有效提高机械臂多路径点运动规划的计算效率,在机械臂多轴运动规划领域具有广泛应用价值。

附图说明

图1是本发明目的示意图。

图2是本发明优化方法的流程简图。

图3是遗传算法的简易步骤框图。

具体实施方式

以下结合附图,对本发明做进一步说明。

附图1所示的是一个基座固定的多轴机械臂,通过多个预设点的运动避让障碍物的过程示意图。

本实施例讲述的过程是基于m个关节的机械臂,每个关节同步经过n个位置的轨迹优化过程,且将关节空间的两位置点之间的轨迹设为三次样条曲线,其关节运动轨迹方程为:qj(t)=aj+bj(t-tj)+cj(t-tj)2+dj(t-tj)3

其中,t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj。

该关节运动轨迹的优化方法,如图2所示,具体包括如下步骤:

s1、设定路径点处的运动约束方程,并通过所述运动约束方程建立机械臂通过路径点的连续运动方程;

其中,所述运动约束方程包括关节位置、速度和加速度的连续约束方程:

且轨迹始末速度

所述机械臂通过路径点的连续运动方程为:

其矩阵形式为:

s2、设置机械臂运动的多种约束方程,包括能量约束、运动约束和空间约束,如下:

并构建适应度函数,如下:

s3、以机械臂经过路径点的时间向量为被优化目标,并通过全局进化迭代优化算法求解最优或次优的运动时间序列;

该步骤具体包括如下:

s31、将时间序列t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj随机生成规模为k的初始种群;

s32、将所述初始种群在经过非支配排序后,通过遗传算法得到第一代子代种群;

其中,非支配排序的步骤为:

s321、考虑一个目标函数个数为2、规模大小为k的种群;

s322、设j=1,对所有的g=1,2,3,…n且g≠j,基于适应度函数比较个体xj和个体xg之间的支配与非支配关系;

s323、如果不存在任何一个个体xg优于xj,则xj标记为非支配个体;

s324、令j=j+1,重复步骤a-d,直到找到所有的非支配个体;

s325、以此得到的非支配个体集是种群的第一级非支配层,忽略这些标记的非支配个体,重复步骤s321至s325,以此类推,得到整个被分类的种群,记为非支配排序种群;

其中,遗传算法具体步骤如图3所示,包括:编码、选择、交叉和变异;

编码的具体步骤为:采用二进制编码方式,直接将运动时间序列由二进制符号0和1组成二值符号集{0,1},求解精度为所需的最小控制周期tp,构建个体基因型;

选择的具体步骤为:采用无回放余数随机选择,其过程为:

a、计算群体中各个在下一代群体中的期望生存数目ni;

b、用ni的整数部分确定各个对应个体在下一代群体中的生存数目;

c、以为各个个体的新的适应度,用比例选择方法随机确定下一代群体中还未确定的个体;

交叉的具体步骤为:选择算数交叉方法生成下一代,其过程为:

对个体xa和xb进行交叉,α设置为由进化代数决定的变量;

变异的具体步骤为:采用基本位变异,其过程为对个体编码串中以变异概率、随机指定的某一位或某几位基因座上的值做变异运算,以变异概率指定其为变异点;对每一个指定的变异点,对其基因值做取反运算代替,产生新的个体;

s33、从第二代开始,将父代种群与子代种群合并;

s34、将合并后的种群再进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,得到个体拥挤度;

其中,快速非支配排序的步骤为:

s341、设种群k中每个个体k的参数nk为种群中支配个体k的数量,参数ok为种群中被个体k支配的个体集合;

s342、找到种群中nk=0的个体,并保存在当前集合f1中;

s343、对于当前集合f1中的每个个体i,其所支配的个体集合为oi,遍历oi中的每个个体l,执行jl=jl-1,如果jl≈0则将个体l保存在集合h中;

s344、记f1中得到的个体为第一个非支配层的个体,并以h作为当前集合,重复上述操作,直到整个种群被分级;

拥挤度的计算公式设置如下:

nd=nd+(finm(i+1)-finm(i-1)),n=2,3,....,n-1

其中,nd为通过迭代计算的拥挤度;

s35、根据非支配关系以及个体的拥挤度,采用拥挤度比较的计算公式选取合适的个体组成新的父代种群;

其中,拥挤度比较的计算公式设置如下:

对于种群中的每个个体l存在的两个属性:非支配序nrank和拥挤度nd,定义个体i优于j,当且仅当irank≤jrank且id>jd;

s36、最后,再将生成的新的父代种群通过遗传算法生成新的子代种群,重复步骤s33至步骤s35,直到满足程序结束的条件,得到最优的运动时间序列;

s4、将最优的运动时间序列代入关节运动轨迹方程中,最终得到路径点的机械臂多轴连续运动的最佳规划曲线。

本实施例的具体优化步骤如下:

a.对于m个关节的机械臂,研究每个关节同步经过n个位置的轨迹,可将关节空间的两位置点之间的轨迹设置为三次样条曲线,写成轨迹方程:

qj(t)=aj+bj(t-tj)+cj(t-tj)2+dj(t-tj)3

其中,t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj

确定路径点处关节位置、速度、加速度的连续约束方程:

确定轨迹始末速度

b.推导并确定过路径点处的相邻两段关系轨迹之间的关系方程:

得到其矩阵形式:

c.确定优化目标和约束条件:

d.确定适应度值表达式:

e.将时间序列t∈[tj,tj+1],j=0,1,......,n-2,hj=tj+1-tj随机产生规模为k的初始种群,非支配排序后通过遗传算法的选择、交叉、变异三个基本操作得到第一代子代种群。其中的遗传算法的非支配排序,其过程为:

①考虑一个目标函数个数为2、规模大小为k的种群;

②设j=1,对所有的g=1,2,3,…n且g≠j,基于适应度函数比较个体xj和个体xg之间的支配与非支配关系;

③如果不存在任何一个个体xg优于xj,则xj标记为非支配个体;

④令j=j+1,重复步骤a-d,直到找到所有的非支配个体;

⑤以此得到的非支配个体集是种群的第一级非支配层,忽略这些标记的非支配个体,重复步骤a-e,以此类推,得到整个被分类的种群,记为非支配排序种群;

f.从第二代开始,将父代种群与子代种群合并,进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群;

其中的快速非支配排序,其过程为:

①设种群k中每个个体k的参数nk为种群中支配个体k的数量,参数ok为种群中被个体k支配的个体集合;

②找到种群中nk=0的个体,并保存在当前集合f1中;

③对于当前集合f1中的每个个体i,其所支配的个体集合为oi,遍历oi中的每个个体l,执行jl=jl-1,如果jl≈0则将个体l保存在集合h中;

④记f1中得到的个体为第一个非支配层的个体,并以h作为当前集合,重复上述操作,直到整个种群被分级;

拥挤度的计算公式设置如下:

nd=nd+(finm(i+1)-finm(i-1)),n=2,3,....,n-1

其中,nd为通过迭代计算的拥挤度。

对于种群中的每个个体l存在的两个属性:非支配序nrank和拥挤度nd,定义个体i优于j,当且仅当irank≤jrank且id>jd;

g.最后,通过遗传算法的基本操作产生新的子代种群,重复e-g,直到满足程序结束的条件,得到满意的时间序列,在过程a中得到各关节的运动方程系数,得到最终机械臂多轴连续运动轨迹。

以上显示和描述了本方案的基本原理和主要特征和本方案的优点。本行业的技术人员应该了解,本方案不受上述实施例的限制,上述实施例和说明书中描述的只是说明本方案的原理,在不脱离本方案精神和范围的前提下,本方案还会有各种变化和改进,这些变化和改进都落入要求保护的本方案范围内。本方案要求保护范围由所附的权利要求书及其等效物界定。

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