基于遗传算法的多主轴头加工空行程轨迹规划
2022-03-11崔榕芳陈蔚芳潘立剑刘振华
崔榕芳,陈蔚芳+,潘立剑,朱 帅,刘振华
(1.南京航空航天大学 机电学院,江苏 南京 210016; 2.江苏中智自动化有限公司,江苏 泰州 225300)
0 引言
多主轴头五轴数控机床为多主轴头结构,可以同时安装锯片、铣刀等多把不同类型或不同规格的刀具。加工中的机床通过旋转A轴进行“换刀”,其操作简单方便,一般用于工件的多轨迹加工,即在一次加工中按照工艺顺序完成对多个轨迹的加工。加工时,刀具走刀总行程由轨迹加工的有效行程和在不同轨迹之间的走刀空行程组成。对于确定的加工,有效行程一定,走刀空行程则是影响加工效率的重要因素,又因为刀具可任意调整,极易与工件发生全局干涉,所以对多主轴头加工进行无碰撞空行程规划具有极其重要的意义。
目前,关于空行程规划的研究主要集中在板材切割等平面多轮廓数控加工方面,主要思路为将空行程规划问题归结为广义旅行商问题,然后基于蚁群算法、贪心-遗传算法[1]和量子进化算法[2]等进行优化。与平面多轮廓三轴加工不同,本文研究多轨迹五轴加工,一方面多轨迹加工的空行程为绕工件的三维路径,而平面多轮廓是二维的;另一方面,五轴加工的刀具轨迹规划除了确定零件加工面上的刀触点轨迹外,还要确定相应的刀轴矢量,此为数控加工领域研究的热点和难点之一。国内外已有很多学者分别从刀触点轨迹规划和刀轴矢量规划两方面开展研究,综合考虑刀触点轨迹拓扑结构和刀触点轨迹参数,目前自由曲面的刀触点轨迹生成算法主要有等参数法、截平面法、等残余高度法和多面体法[3-5]等。刀轴矢量规划的基本原则是兼顾高精、高效的同时,避免加工中可能存在的干涉现象,主要有两种思路:①先产生后调整[6];②在刀轴矢量可行空间中进行规划[7]。然而,五轴加工路径规划的大部分研究均针对有效切削路径,五轴加工空行程规划方面鲜有研究。
因为多轴数控机床与机械臂有类似的串联开链结构,所以可以借鉴机械臂等路径规划方面的研究。机械臂路径规划算法分为传统算法和智能算法,传统算法主要有A*算法[8]、人工势场算法[9]、快速搜索随机数[10]等,这些算法存在求解代价高、容易陷入局部极值和求解效率低等缺点。为了克服缺点,一方面学者从改进传统算法方向研究,例如陈满意等[11]提出低振荡人工势场-自适应快速扩展随机树(Adaptive Rapidly exploring Random Tree,ARRT)混合算法进行路径规划,机械臂先采用低振荡人工势场法搜索,在遇到局部极小、碰撞等情况时切换为ARRT进行逃离,直至到达目标点。仿真分析证明,机械臂在多障碍环境下对环境复杂度的适应性强,路径搜索成功率高于经典算法。另一方面,很多学者广泛研究智能算法在机械臂路径规划领域的应用,如遗传算法、蚁群算法[12]等。与传统求解算法相比,智能算法在求解路径规划问题上具有更好的鲁棒性,遗传算法因此而广泛应用于组合优化领域,例如祁若龙等[13]提出基于遗传算法的空间机械臂避障轨迹规划与优化方法,建立了机械臂关节空间避障轨迹方程,并提取影响轨迹特性的参数,借助遗传算法的适合度指标评定函数迭代,得到了一条无碰撞且满足空间机械臂路径规划要求的轨迹。
由于目前缺乏多主轴头五轴加工空行程规划方面的研究,本文基于遗传算法提出一种多主轴头加工的空行程自动规划方法。针对五轴加工轨迹规划中的刀位点轨迹规划和刀轴矢量规划,分别提出相应的规划方法,将空行程轨迹规划转化为参数优化问题,最后采用遗传算法进行求解。与传统手动规划算法相比,本文算法既可自动生成路径,又对轨迹中的刀塔姿角没有任何限制,同时末端轨迹长度最短且轨迹运动具有柔性。
1 多主轴头机床运动学建模
本文的研究对象为四主轴头五轴数控机床,机床具有双摆头结构,且A轴上装有4个主轴头,可以同时安装4把不同类型或不同规格的刀具,如图1所示。机床加工无碰撞轨迹规划研究首先需要对机床模型进行简化和数学描述,因为数控机床与机械臂有类似的串联开链结构,所以采用Modified D-H(Denavit-Hartenberg)法建立机床的运动学模型。图1中的坐标系建立在旋转A轴的刀塔中心位置,是多主轴头机床的工作坐标系,以该坐标系下的点(-1 500, 0, 0)为基座中心,A轴中心为末端点,建立机床的Modified D-H模型,从而建立首末坐标系以及各个关节坐标系之间的关系,模型参数如表1所示,其中q1,q2,q3分别为沿Y轴、X轴与Z轴的直线位移,q4,q5分别为旋转轴C轴、A轴的旋转度。
表1 多主轴头机床Modified D-H参数表
相邻两坐标系的齐次变换矩阵为
i-1Ti=trotx(αi)×trans(ai,0,0)×
trotz(θi)×trans(0,0,di)。
(1)
式中:trotx(),troty(),trotz()分别为绕基点坐标系x,y,z轴的旋转变换矩阵;trans()为平移变换矩阵。
以刀具锯片的刀位点作为Modified D-H模型末端点,假设已知旋转轴的位移分别为θA,θC,则末端点相对基点坐标系的旋转变换矩阵为T1;末端点在基点坐标系中的坐标值为x,y,z,则相对于基点坐标系末端点的齐次变换矩阵为T2。
T1=trotx(θA)×troty(pi/2-θC)×
trotz(-pi/2)。
(2)
T2(1,1)=T1(3,3);T2(1,2)=T1(2,3);
T2(1,3)=T1(1,3);T2(1,4)=x;
(3)
T2(2,1)=T1(3,2);T2(2,2)=T1(2,2);
T2(2,3)=T1(1,2);T2(2,4)=y;
(4)
T2(3,1)=T1(3,1);T2(3,2)=T1(2,1);
T2(3,3)=T1(1,1);T2(3,4)=z;
(5)
T2(4,1)=0;T2(4,2)=0;
T2(4,3)=0;T2(4,4)=1。
(6)
2 空行程轨迹规划
2.1 基于最短路径的刀位点轨迹规划
多主轴头加工一般用于木材加工,工件的外形比包围球更接近长方体,而且为了避免因本体区域增大造成轨迹规划空间浪费,因此采用长方体近似模拟工件外形。由于多主轴头机床无需停机换刀,一般用于多轨迹加工,其中各条加工轨迹分别分布在工件的不同加工面。多主轴头加工的空行程规划是指一段切削轨迹末端点与下一段切削轨迹起始点间的路径规划。多主轴头机床同时装有多把刀具,本文以下一段轨迹的切削刀具作为规划对象,提出一种基于最短路径的刀位点轨迹规划,如图2a所示,将空行程中规划刀具的首末两点垂直投影在工件表面,基于长方体最短表面距离法求出两投影点间的最短表面路径及其与工件棱的交点;然后在笛卡尔空间里以起始点、棱交点和末端点间的直线段作为规划刀具的刀位点轨迹,使刀具既可避开工件又能得到刀位点的最短路径。单方块工件的空行程规划中最多有两个棱交点,如图2b所示。
对于由两个方块组成的阶梯形工件(如图3),将空行程中规划刀具的首末两点垂直投影在工件表面,求得两投影点间的连线与工件表面的交点A和B,同时基于交点A和B将投影点间的直线轨迹分解为3段;然后采用最短表面路径替代与工件干涉的虚线轨迹段,并求出相应的棱交点;最后以起始点、两个棱角点、末端点间的直线段作为刀位点轨迹,同样既可使刀具避开工件,又使刀具轨迹长度最短。因此上述规划方法具有拓展性,通过多次分解轨迹求取棱交点,能够对复杂工件的空行程路径进行规划。
2.2 无碰撞刀轴矢量规划
2.2.1 刀轴矢量规划
上述刀位点轨迹能否保证4把刀具不与工件发生碰撞,还取决于刀塔的姿角。而刀塔仅能确定起始点和末端点的姿角,不能确定轨迹中其他位置的姿角,因此需要对刀轴矢量进行规划。无碰撞刀轴矢量规划方法如下:基于刀位点轨迹中的棱交点进行分段描述,在各段轨迹中采用五次多项式规划关节空间内两旋转轴A,C的轨迹,同时在笛卡尔空间里采用五次多项式规划刀位点轨迹的直线运动,曲线拟合、数控轨迹的插补计算通常均采用奇数次样条,很少采用偶数次样条[14]。由于起始点和末端点各关节轴位置已知且速度和加速度为0,各个轨迹点的刀轴矢量由棱交点处的刀轴矢量确定,可以通过优化该参数实现无碰撞。
假设有一条理想的分段轨迹,末端刀位点遵从基于最短路径的直线轨迹,并将在关节空间内通过五次样条拟合得到的旋转轴角位移映射到笛卡尔空间,然后假设该轨迹中共有n个棱交点,则轨迹分为n+1段,第i段轨迹的数学描述如下:
旋转轴A角位移
θA,i(t)=ai0+ai1t+ai2t2+ai3t3+ai4t4+ai5t5,
1≤i≤n+1;
(7)
旋转轴C角位移
θC,i(t)=ci0+ci1t+ci2t2+ci3t3+ci4t4+ci5t5,
1≤i≤n+1;
(8)
末端轨迹沿x轴方向位移
xi(t)=bi0+bi1t+bi2t2+bi3t3+bi4t4+bi5t5,
1≤i≤n+1。
(9)
可知,在第i段轨迹中ai0,…,ai5,bi0,…,bi5,ci0,…,ci5是需要进一步确定的常数。以求解ai0,…,ai5为例:
(10)
其中ti为这段轨迹的运动时间。
由式(10)可以得到:
(11)
一方面刀位点轨迹是刀具底面中心点的轨迹,而刀具均有一定半径,特别是锯片的半径比(半径与轴线长度的比)较大;另一方面,各轨迹点的刀轴矢量由五次多项式规划,在始末端点和棱交点处刀轴矢量一定的情况下是确定的,只有当始末端点与工件表面的垂直距离足够长时才能使刀具不与工件发生干涉。综上所述,如果刀具严格遵循规划出的刀位点轨迹,则可能在棱交点处出现刀轴矢量由①到②突变的情况,亦或导致h1,h2数值太大,如图4所示。为此,提出将棱交点处的刀具平移到图4中的虚线位置,且平移后与平移前的刀具位于过棱交点并垂直于交点所在棱的同一平面上,其相对位置由图4中的参数h3、h4确定。因此,除了需要优化上述棱交点处的刀轴矢量参数,还需优化始末端点与工件的垂直距离参数h1,h2,以及每个棱交点处的刀具位置参数h3,h4。
综上所述,如果刀位点轨迹中有n个棱交点,则需要确定的参数数量为
N=2×2n+n+(n+1)+2n+2。
(12)
其中,有2n个旋转轴角位移值,2n个旋转轴速度值,n个x轴速度值,n+1段运行时间,n个刀具位置参数h3,n个刀具位置参数h4,以及垂直距离参数h1,h2。
2.2.2 两级相交检测算法
此处的碰撞检测指在多主轴头加工的空行程中对A轴上安装的4把刀具和工件进行干涉检测。如图5所示,A轴上的4把刀具分别为φ200 mm带刀柄的锯片和φ60 mm,φ12.7 mm,φ6 mm的铣刀,采用圆柱体近似模拟刀具,并在机床Modified D-H模型的末端坐标系上建立4把刀具的齐次变换矩阵。图6所示为对刀具模型进行点集化处理,然后按相交检测方法遍历刀具点集数据中的所有点,若其中有一点与工件发生碰撞现象,则表示在该路径点下刀具与工件表面发生干涉,反之没有发生干涉。如果在每个轨迹点的碰撞检测中遍历刀具的所有点,则一条刀具轨迹中的碰撞检测计算量将比较大。根据碰撞时刀具与工件的相对位置分两种情况:①刀具与工件面碰撞,如图7a所示,刀具的底端最外圈先与工件发生干涉,不干涉时刀具点集的所有点都在工件任一表面之外;②刀具与工件棱碰撞,如图7b所示,这种情况比较复杂,通过判断刀具点集是否与工件有交集来确定是否干涉。
因为在轨迹中情况①发生的几率较大,所以提出两级相交检测算法,其判断流程如图8所示。
(1)粗检阶段 判断刀具的圆柱上下底面的外圈点集是否与工件有交点,若有交点,则说明刀具与工件一定发生干涉;若无交点,则进入精检阶段。
(2)精检阶段 判断刀具所有点是否都在工件任一表面之外,若是则必无干涉;否则,找到在工件各表面之内的各个点集进行求交运算,若交集为空集则必无干涉,反之则必有干涉。
2.3 平动轴柔性轨迹
3个平动轴的轨迹可由末端刀位点位移和旋转轴角位移确定。对于第i段轨迹中的j点,假设x轴分位移为xi,j,则轨迹段起始点、末端点各轴分位移可由刀位点轨迹规划求得,假设起始点、末端点沿X,Y,Z轴的位移分别为xi,0,xi,s,yi,0,yi,s,zi,0,zi,s,由xi,j,xi,0,xi,s可得位移比例ki,j,
ki,j=(xi,j-xi,0)/(xi,s-xi,0),
(13)
则末端轨迹点y轴和z轴分位移yi,j,zi,j分别为
yi,j=ki,j(yi,s-yi,0)+yi,0,
(14)
zi,j=ki,j(zi,s-zi,0)+zi,0。
(15)
由末端轨迹和旋转轴角位移可唯一确定刀塔中心点轨迹,假设在t0时刻末端运动到轨迹点j0,由式(3)~式(6)求得相对于基点末端点的齐次变换矩阵Ti0,j0,2;其中基点末端点相对刀塔中心点的变换矩阵为tr,如式(16)所示,由tr右乘Ti0,j0,2可得相对于基点刀塔中心点的齐次变换矩阵Ti0,j0,3如式(17)所示。
tr=transl(42.2+302,80,0);
(16)
Ti0,j0,3=Ti0,j0,2×inv(tr)。
(17)
式中inv(tr)为tr矩阵的逆矩阵。
刀塔中心点坐标为(Ti0,j0,3(1,4),Ti0,j0,3(2,4),Ti0,j0,3(3,4)),刀塔中心点轨迹如图9所示。
q1,q2,q3平动轴的移动量分别为-Ti0,j0,3(2,4)-a4,Ti0,j0,3(1,4),-a2+d4-Ti0,j0,3(3,4),其中a2,a4,d4为Modified D-H模型参数,各平动轴的位移、速度和加速度曲线如图10所示。由图可知,速度、加速度曲线中没有突变点,表明平动轴运动具有柔性,这是因为末端轨迹和旋转轴均为五次样条曲线,使得平动轴的轨迹方程次数不会低于4。
3 基于遗传算法优化参数
3.1 空行程规划目标函数
研究表明,遗传算法在求解高维非线性问题时有很好的稳定性和鲁棒性,通过基因迭代,能够在较短计算时间内解决复杂优化问题,因此选择遗传算法来优化参数。出于安全、稳定、节能等方面的需求,多主轴头加工的空行程规划必须满足如下工作特性要求:①刀具不与工件发生全局干涉;②规划轨迹使各旋转角的运动量最小;③末端轨迹长度最短;④空行程运动时间最短。将上述要求转换为目标函数,得到:
(18)
(19)
fh=h1+h2;
(20)
(21)
(22)
式中:fob为干涉评值;fq为两旋转轴角度增量之和;fh为始末端点与工件垂直距离h1,h2的和;fl为各棱交点处刀具位置参数h3,h4之和;ft为各段轨迹运动时间之和;mn+1为第n+1段轨迹的检测点数;j表示旋转轴1或2;n为棱交点的个数。
为了求解简便,将多目标优化问题通过权重系数法转化为单目标优化问题,定义空行程轨迹优化目标函数为
minfG=-fob/(η1ft+η2fq+η3fh+η4fl)。
(23)
式中:fG为基因适应度指标;η1,η2,η3,η4为加权因子,表征算法对各参数要求的严格程度。如果要求两个旋转轴角度的增量之和最小,则始末端点与工件的垂直距离之和不为最小。根据加权因子设定,如果η3>η2,则优先保证端点与工件的垂直距离最小;反之,如果η3<η2,则优先保证两旋转轴角度增量之和最小。需要注意的是,几个加权因子的设置需要保证加权因子所在的几项在数量级上相同,否则数量级大的项会使数量级小的项退化失效。在实际加工中,首先要求首末端点与工件间的垂直距离h1,h2不得大于刀具直径的1.5倍,并要求距离参数h3,h4的取值尽可能小,在此基础上进一步要求时间最短。又因为fq的变化量对路径规划影响不大,所以加权因子的设置需满足η3>η4>η1>η2。结合经验及设备性能,对ti,θAi,θCi,h1,h2,hi,3,hi,4进行如下约束:ti∈[1,15],h1∈[0,60],h2∈[0,60],θAi∈[-3.14,3.14],θCi∈[-3.14,3.14],hi,3∈[0,100],hi,4∈[0,100]。
3.2 遗传算法求解
3.2.1 空行程轨迹规划参数
表2 空行程轨迹规划模型参数
3.2.2 遗传算法参数选择
设种群规模均为200,初始种群随机产生;适应度尺度变换为排序方式;选择方式为轮盘赌;交叉因子为0.92。情况①8个优化参数的取值范围下界为[-3.14,-3.14,1,1,0,0,0,0],上界为[3.14,3.14,10,10,60,60,60,60];情况②的13个优化参数取值范围下界为[-3.14,-3.14,-3.14,-3.14,1,1,1,0,0,0,0,0,0],上界为[3.14,3.14,3.14,3.14,10,10,10,100,100,100,100,100,100]。
3.2.3 优化结果
算法迭代50次后最优个体基本趋于稳定,情况①最终优化得到的参数分别为[-1.571,0.648,1.070,1.002,0.015,3.629,28.609,0.031],情况②最终优化得到的参数分别为[1.48,-1.643, 1.659,1.058, 1.449, 1, 2.614,10.511,19.537,28.718,3.493,0.04,43.96]。以情况①为例,遗传算法适应度函数迭代计算过程中的“运动时间优化情况”、“旋转轴角度变化情况”、“h1+h2优化情况”和“h3+h4优化情况”如图11所示,各优化项通过遗传算法的迭代虽有波动,但最终均得到收敛,趋于稳定。由此可见,遗传算法在空行程轨迹规划多目标优化过程中起到了重要的作用,并最终得到了适应度函数各项指标的近似最优解。
关节空间内的各轴样条曲线轨迹如图12所示,以中间分界线为准,从左到右为轨迹第1段~第2段。本文采用的样条函数具有1 阶和2 阶可导的特性,因此在运动过程中加速度和速度连续,满足规划要求。
4 仿真验证
4.1 仿真平台
本文通过在Vericut中建立多主轴头机床的机床文件、控制文件、加工坐标系、工件、夹具和数控代码文件,开发出多主轴头机床的虚拟仿真系统。如图13所示,图中坐标系为机床加工坐标系,其与机床Modified D-H模型中的基点坐标系保持一致。在算法优化得到参数并自动生成NC代码后,运用该仿真系统对NC代码进行模拟加工,通过检验代码中是否存在干涉碰撞等问题对算法进行验证。
4.2 仿真验证
单棱交点的最终运动过程如图14所示,图中锯片沿着规划的刀位点直线轨迹从起始点到达指定的目的位置,运动过程中刀具姿角不受限制,即不必保持刀具法线始终垂直于工件表面,而且首末端点处刀具与工件表面的垂直距离很小。
双棱交点的最终运动过程如图15所示,运动过程中刀具姿角同样不受限制。
传统手动空行程规划如图16所示,其刀具末端轨迹采用抛物线形式,刀轴矢量从初始值匀速变化到末端值,然后不断手动调节抛物线轨迹参数和旋转轴各轴角度的变化量,直到仿真过程中没有碰撞干涉发生。与传统空行程规划相比,本文所提算法可自动生成无干涉空行程路径,对轨迹中的刀塔姿角没有任何限制,同时末端轨迹长度最短且轨迹运动具有柔性。
5 结束语
本文针对四主轴头五轴机床的多轨迹加工,提出并实现了基于遗传算法的空行程规划方法,同时优化了系统的运动性能,最终得到一条速度和加速度连续、运动时间较短、旋转轴角度增量小、末端轨迹长度最短并能够使整个刀塔成功避开工件的理想轨迹。另外,本文所提算法经过连续50次反复验证,刀具均未与工件发生干涉,稳定可靠且计算效率较高,其中计算量最大的运算为干涉检验。在Intel i5,2.60 GHz 处理器上进行计算,每段轨迹设置30个干涉检验点,单方块工件的空行程规划平均耗时100 s 就可以得到一组可行解。值得说明的是:
(1)本文基于遗传算法的轨迹规划在同一初始情况和初始设置的条件下,每次计算得到的参数虽然不完全相同,但是参数的各次数值均相差不大,且接近最优解。其中以棱交点为分界点,可以对空行程的路径分段进行参数优化。
(2)本文算法不受主轴头数目限制,可以推广至其他主轴结构,其中碰撞检测方法可以根据特殊的主轴头结构进行调整。基于本方法可以对多轨迹加工中的各条轨迹进行排序,从而使整个空行程最优。
(3)理论上,本文算法能够推广到由任意方块组成的工件的空行程规划上,然而随着工件复杂性增加、组成工件的方块数目增多,一方面会使计算成本增加,计算时间增长;另一方面,规划出的路径会随之被分为很多小段,使得空行程中频繁加减速。因此若无必要,应尽量减少组成工件的方块数目。
(4)本文研究了多面体加工中的防碰撞轨迹规划,可以应用到复杂工件的单、多面体混合加工中,对其整体路径规划问题进行研究。