本发明涉及工业机器人应用领域,尤其是基于遗传算法和五次多项式插值的机器人路径规划方法,适用于六自由度工业机器人在焊接、喷涂、工装夹具及自动化作业等领域范畴。
背景技术:
随着自动化技术的发展,工业机器人在制造业中的地位越来越显著。为进一步提高机器人工作效率,保证产品质量,对机器人轨迹规划深入研究一直是热点问题。传统工业机器人大多是通过固定示教再现的手段来执行任务的,首先要进行机器人路径规划,还要再接着进行运动规划。这很大程度上依赖工程师的经验水平,并且会随着工作量的增多而变得难以操作。
技术实现要素:
针对上述技术问题,本发明提供一种基于遗传算法和五次多项式插值的机器人路径规划方法,通过数学模型与计算机运算的结合,使得路径规划与运动规划快速到位,从而提高机器人轨迹规划效率,缩短规划步骤与时间。
为实现上述目的,本发明采用下述技术方案:
基于遗传算法和五次多项式插值的机器人路径规划方法,根据机器人dh参数建立机器人模型,确认工作任务点,求解关节角,同步使用遗传算法规划机器人任务点的执行顺序以及使用五次多项式插值规划相邻任务点之间关节运动规律,最后直接输出运动最优路径以及各机械臂运动规律图。
进一步地,使用遗传算法对机器人任务点执行顺序的规划,包括以下步骤:
步骤1,按照dh参数建立机器人运动学模型;
步骤2,将机器人任务空间离散化为具体的位姿矩阵ti,记录笛卡尔空间坐标vi=(xi,yi,zi);
步骤3,按机器人逆解公式求得各位姿矩阵ti对应的关节角θi;
步骤4,对任务点进行自然数序列编码1-n,计算任意两任务点之间的距离,该距离矩阵如下:
步骤5,拟定遍历所有任务点之间的距离之和为评价函数l,如下:
其中,s为任务点编码顺序;
步骤6,使用遗传算法优化任务点顺序;
步骤7,从最终种群中挑选出适应度值最大的个体,记录其基因值作为最优序列s。
进一步地,步骤6中使用遗传算法优化任务点顺序,包括以下步骤:
步骤61,初始化种群,随机产生个体数为m的种群,各个体按照进行乱序n全排列,设定总迭代次数c;
步骤62,计算每一个个体的适应度值;
fitness=1/ls(3)
步骤63,对适应度值进行排序,删除适应度值低的个体,代替适应度高的个体,保持种群规模;
步骤64,随机选两个个体,任意交换其中两段基因的值,检测重复基因并进行对应修改,直到基因无冲突,保持种群规模;
步骤65,随机选取部分个体,任意交换其中两个位置的基因值,保持种群规模,同时执行迭代次数c=c-1;
步骤66,重复执行步骤6,直到达到预定迭代次数c为0。
进一步地,使用五次多项式插值对相邻任务点之间关节运动规律的规划,包括以下步骤:
步骤8,建立五次多项式模型,如下:
θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5(4)
其中,t为时间,a为多项式系数,θ为关节角向量,t0和tf为关节插值的首末时间点;
步骤9,根据步骤7中所得优化序列s,顺次取得s序列中i号和i+1(i≧1)号任务点对应的关节坐标向量,作为一组关节插值的节点;
步骤10,根据相关型号的六自由度机器人关节运动参数要求,设置包括角速度
步骤11,重复执行步骤3直至插值完毕s序列中最后两个任务点元素,生成整个序列的所有关节角运动规律图。
有益效果:
本发明根据机器人dh参数建立数学模型;将机器人工作任务点的位姿矩阵ti离散出来;对位姿矩阵ti进行逆解求得对应的qi;通过遗传算法优化任务点的作业顺序;通过五次多项式插值优化相邻点运动规律,得到运动规律曲线图;因此,本发明可以帮助工程师快速规划机器人工作顺序以及运动规律,延长设备寿命,节约工作调试时间。
附图说明
图1是本发明的流程图;
图2是本发明一实施例的的机器人空间任务点示意图;
图3是本发明一实施例的的遗传算法规划的机器人空间路径图;
图4是本发明一实施例的的遗传算法收敛图;
图5是本发明一实施例的机器人空间一段位移图;
图6是本发明一实施例的机器人空间二段位移图;
图7是本发明一实施例的机器人空间一段角速度图;
图8是本发明一实施例的机器人空间二段角速度图;
图9是本发明一实施例的机器人空间一段角加速度图;
图10是本发明一实施例的机器人空间二段角加速度图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本实施例提出一种六自由度机器人路径规划方法,如图1所示,本例型号为puma560,dh参数如下表1:
表1puma560dh参数
步骤1,将机器人15个任务空间点离散化,如图2所示,对应具体的位姿矩阵为ti,ti的位置向量为vi=(xi,yi,zi),(i=1,2,3…15);
拟定遍历15个任务空间点之间的距离之和l,其中s为15个任务空间点编码顺序:
步骤2,产生初始种群m=50,迭代次数c=500,每个个体由15个基因乱序全排列而成,设置交叉概率为0.5,变异概率为0.2。
步骤3,计算各个体的适应度值,并且按照从大到小的顺序排列,依据“轮盘赌”法则,复制适应度值大的个体到下一代,淘汰适应度值小的个体,保持种群规模。
fitness=1/ls(2)
步骤4,随机选两个个体,任意交换其中两段基因的值,检测重复基因并进行对应修改,直到基因无冲突,保持种群规模。
步骤5,随机选取部分个体,任意交换其中两个位置的基因值,保持种群规模,同时执行迭代总次数自减1。
步骤6,重复执行步骤3至步骤5,直至达到总迭代次数为0,如图3、4所示,退出遗传算法寻优程序,得到优化序列s。
步骤7,按照dh参数对各个ti进行逆解求得对应的关节角θi。这里取三个位姿点作为代表。通过机器人逆解求得各关节角如下:
将θp1、θ、p2、θp3的各个关节角值带入五次多项式中,设置角速度0.05rad/s-2,角加速度为0,其中θp2的末值为θp3的初值。
θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5(3)
步骤8,重复执行步骤7,直至插值完毕s序列中最后一组关节角,使用matlab绘制出各关节运动规律曲线图,如图5-10所示。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。