APP下载

基于C3连续PH曲线的短线段拐角实时光顺算法

2023-12-04张立强许洋洋闫业翠

计算机集成制造系统 2023年11期
关键词:光顺弧长拐角

谢 健,张立强,许洋洋,闫业翠

(上海工程技术大学 机械与汽车工程学院,上海 201620)

0 引言

数控机床在加工复杂零件时,通常利用计算机辅助制造(CAM)软件对刀具路径进行离散化处理,生成连续的短线段,并采用基本的G01指令对路径进行插值[1]。根据短线段的长度,G01指令的移动范围从几微米到几十毫米不等。加工过程中,由于短线段路径拐角处的切向和法向的不连续,会导致机床各轴运动的加速度和跃度波动,引起刀具的振动,破坏零件的表面光滑度,降低加工质量和加工效率。为解决该问题,国内外学者常采用轨迹光顺技术对连续短线段的拐角进行平滑处理,即利用高阶样条曲线插补拐角生成平滑的刀具路径,再进行速度规划[2-5],使机床的进给运动实现平滑转接,从而实现高效率,低振动的数控加工。

轨迹光顺技术中常用的样条曲线有NURBS曲线[6-7]、B样条[8-9]和Bezier曲线[10]。但是由于上述样条曲线的弧长与曲线参数之间没有确定的解析关系,拐角光顺算法中的弧长必须使用迭代数值算法[11-12]来估计。弧长精度要求越高,计算量越大,计算机的运算时间越长,不利于实时应用。而Pythagorean-Hodograph(PH)曲线[13]提供了弧长与曲线参数之间确定的解析关系,弧长计算量小,运算时间短,因此在实时光顺算法研究中引起了广泛的关注。JAHANPOUR[14]提出了基于C2连续的五次PH曲线的高速轮廓加工算法。SHI等[15-17]提出了基于五次PH曲线的拐角光顺算法,并结合动态前瞻速度规划算法实现了机床运动的平滑转接。FAROUKI等[18]提出了基于G2连续的七次PH曲线拐角光顺算法。目前多数基于PH曲线的拐角光顺算法仅限于G2和C2的二阶连续,虽然在一定程度上提高了计算效率,但光顺后的C2连续路径只能保证机床各轴运动的加速度连续。C2连续与C3连续相比[19],机床运行过程中的跃度存在较大波动,这种跃度曲线的不连续和高振幅会导致机床运动的不平稳,影响加工质量。因此,构造C3连续的PH曲线,对于实时光顺算法具有重要意义。

综上所述,为了同时实现拐角光顺算法中的实时性与机床各轴运动的跃度连续,本文提出了基于C3连续PH曲线的实时光顺算法。该算法通过在线性刀具路径之间插入设计的对称PH曲线来实现。在综合考虑最大近似误差和线性段长度约束的前提下,求解计算控制点的位置,以实现PH曲线和线性段衔接点处的C3连续。并采用五次多项式的柔性加减速曲线对光顺后的刀具路径进行速度规划和插补,实现了机床各轴运动的跃度连续。最后对所提算法进行仿真分析和实验验证,通过对比C2连续实时光顺算法来验证本文算法的有效性。

1 C3连续实时光顺算法

1.1 PH曲线

设L(t)=(x(t),y(t))表示平面上一条Bezier曲线,定义为:

(1)

当L(t)满足以下条件时,称为PH曲线:

x′(t)=u2(t)-v2(t),

y′(t)=2u(t)v(t),

(2)

(3)

参数速度σ(t)表示为:

(4)

根据u(t)和v(t)的系数可以得到σ(t)的系数:

i=0,…,n-1。

(5)

参数速度σ(t)是L(t)关于t的变化率,对σ(t)积分,可得到弧长s关于参数t的多项式函数:

(6)

此外,PH曲线对应的曲率为:

(7)

1.2 C3连续过渡PH曲线的构造

本节通过在两个连续的短线段之间插入一个对称PH曲线进行拐角过渡,提出了C3连续实时光顺算法。设计的对称PH曲线表示为:

(8)

为了构造C3连续的PH曲线,引入六次Bernstein多项式为:

(9)

其中Bi(i=0,1,…,13)为控制点,由C3连续的几何特征、用户定义的误差极限和线性段长度约束共同确定。

如图1所示,P0、P1和P2为3个连续的位置坐标。所设计的PH曲线分别通过第一个和最后一个控制点B0和B13,并与控制多边形的第一条线段B0B1和最后一条线段B12B13相切。为了保证平滑样条曲线与原始线性刀具路径衔接点处的位置和切向连续性,需调整控制点B0、B1位于线性段P0P1上,控制点B12、B13位于线性段P1P2上。

为了在衔接点B0(t=0)和B13(t=1)处实现加速度和跃度的连续性,确保刀具路径的C3连续。需要满足的充要条件为[20]:

(10)

如图1所示,因为设计的样条曲线是对称的,所以由控制点组成的控制多边形也是对称的,可以得到如下等式:

(11)

结合式(2)、式(9)~式(11),式(8)中的控制点具有以下关系:

(12)

由式(12)可知,控制点之间的相对位置被确定。考虑到PH曲线的对称性,由控制点组成的向量表示如下:

(13)

(14)

(15)

如图2所示,Pt1,Pt2是线性刀具路径与B6B7延长线的交点,用于计算l和d之间的长度关系。

(16)

(17)

在ΔPt1Pt2P1中,结合式(17),可得

(18)

因此,结合式(17)和式(18),l和d之间的长度关系如下:

(19)

1.3 最大近似误差约束

由于构造的PH曲线是对称的,最大近似误差emax发生在PH曲线的中点(L(0.5))和P1之间,如图1所示。结合式(8)和式(15),最大近似误差emax计算如下:

(20)

将式(15)和式(19)代入式(20)中,则最大近似误差emax表达式为:

(21)

由式(21)中最大近似误差emax的表达式可知,最大近似误差emax仅由控制多边形长度l决定。在用户定义的误差极限ε的约束下,可以得到控制多边形的长度l计算如下:

(22)

1.4 线性段长度约束

在构造过渡PH曲线的过程中,除了最大近似误差emax会影响控制多边形的长度,拐角两侧的线性段长度也会对控制多边形的长度产生影响。在实际加工过程中,可能会出现如图3所示的因线性段长度不足,从而导致构造的相邻PH曲线出现轮廓重叠的现象。

因此,控制多边形的长度l被约束为:

(23)

结合式(22)与式(23),构造的过渡PH曲线的控制多边形长度l被约束为:

(24)

由式(24)可知,缩短控制多边形的长度l会导致最大近似误差减小,因此在式(24)的约束条件下,最大近似误差始终在用户定义的误差极限范围内。

1.5 PH曲线的弧长计算

已知弧长函数s(t)的系数与参数速度σ(t)的系数σi(i=0,1,…,12)有关。根据式(5),参数速度的系数σi(i=0,1,…,12)可以用ui,vi(i=0,1,…,6)的系数表示为:

i=0,…,12。

(25)

结合u0,…,u6和v0,…,v6的关系,式(25)中的系数σi(i=0,1,…,12)表示为:

(26)

通过将参数速度的系数σk代入式(6),PH曲线的弧长s(t)计算如下:

(27)

1.6 实时光顺算法的应用

1.6.1 算法流程

C3连续实时光顺算法流程如图4所示,包括以下3个步骤:首先读取相邻拐角数据点信息(连续3个位置点P0、P1、P2)并输入用户定义的误差极限ε,由式(24)确定PH曲线的控制多边形长度l。接着将控制多边形的长度l代入式(15)和式(26)中分别计算出PH曲线的控制点Bi和参数速度系数σi。最后将控制点Bi代入式(8)和式(7)分别求出PH曲线L(t)和曲率κ(t)的解析式,并将参数速度系数σi代入式(27)中,求出弧长s(t)。

此外,所提出的实时光顺算法是以二维平面刀具路径为例进行介绍的,但是该算法是可以直接应用在三维空间刀具路径的拐角光顺中,因为三维路径中每两个相邻短线段都在一个二维平面上,而拐角光顺过程实际上仍然在二维平面上进行。

1.6.2 柔性加减速规划

针对连续短线段构成的刀具路径,采用本文算法,在拐角处可以获得C3连续的PH曲线。如图5所示,光顺后的刀具路径由红色的PH曲线和蓝色的线性段构成。由于PH曲线的中点是局部最大曲率点,因此该点的进给速度应该被约束到局部最小。为了避免加速度和跃度超过机床设定的Amax和Jmax,引起机床振动,将PH曲线中点的进给速度约束为[4]:

(28)

式中:Fmax为最大进给速度,κi为PH曲线中点的曲率,Ts为一个采样周期,γmax、Amax、Jmax分别为最大弓高误差、系统设定的最大加速度和最大跃度。通过式(28)确定每个区间起始点和终止点的进给速度后,利用图6所示的五次多项式柔性加减速曲线[2]对光顺后的C3连续刀具路径进行速度规划与插补,实现机床各轴运动的跃度连续。

2 仿真与实验

2.1 仿真分析

为了验证本文所提C3连续实时光顺算法的有效性,在MATLAB R2018a平台上进行仿真分析。实际的刀具路径不一定是平面轮廓,往往由空间中顺序连接的短线段构成。首先采用一个简单的线性三维轨迹来说明拐角光顺效果。三维轨迹是一个空间封闭五角星,设置误差极限为0.05mm,拐角光顺后的效果如图7所示。五角星轨迹经拐角光顺后,插补点的曲率随弧长的变化如图8所示。可以看出局部曲率最大点出现在样条曲线的中点处,体现了PH曲线对称分布的特点。

为了进一步验证算法的普适性,采用一个包含多种拐角特征(锐角、直角和钝角)的平面蝶形轮廓轨迹进行仿真验证。蝶形轮廓轨迹总长为463.70mm,共有30个拐角。设置误差极限为0.05 mm,拐角光顺后的效果如图9所示。从拐角局部放大图可知,最大近似误差出现在PH曲线的中点处,通过Y轴的数据点坐标可知光顺后的平滑路径与原始线性路径之间的最大近似误差被约束到用户定义的误差极限0.05 mm内。

轨迹光顺技术中常采用非均匀有理B样条 (Non-Uniform Rational B-Splines,NURBS) 曲线和B样条进行拐角光顺,但曲线的弧长和曲线参数之间没有确定的解析关系,若要得到足够精确的弧长,需要设置更小的估算误差,这大大增加了弧长的计算量,不适合实时应用。而本文所采用的PH曲线,弧长可解析计算,减少了计算量,提高了计算效率。

为验证本文算法的实时性,分别采用C2连续的NURBS曲线[6]、C3连续的B样条[9]和本文算法对蝶形轨迹进行拐角光顺。弧长计算时间如表1所示,其中TN、TB和TPH分别表示采用相应拐角光顺方法后计算整条刀具路径弧长所需要的平均时间(计算10次),ε表示不同的误差极限约束。由表1可知,本文所提的拐角光顺算法弧长计算时间明显较短,算法效率最高。每一个拐角的弧长计算时间约为0.05ms。对于一个插补周期为0.5ms至4ms的典型CNC系统来说,本文的拐角光顺算法完全满足实时性的要求[22]。

表1 蝶形轨迹弧长计算时间

文献[17]中基于PH曲线的C2连续算法只能保证加速度的连续,本文提出的C3连续拐角光顺算法与C2连续算法相比,可以实现机床各轴运动的跃度连续。为了证明所提算法在拐角处可以获得更加平滑的跃度曲线。本文对两种拐角光顺算法后的刀具路径采用相同的速度规划与插补方法进行验证。仿真中设置的参数如表2所示。

表2 仿真参数

由于蝶形轨迹为平面轮廓,这里仅对X,Y轴的跃度曲线进行对比分析。如图10所示,C2连续拐角光顺算法插补后的跃度曲线存在突变且跃度波动较大,甚至在某些拐角处超过了最大跃度极限。而本文算法插补后的跃度曲线比C2算法更加平滑,如图11所示。

对比两种算法在6个典型拐角处的Y轴跃度最大值,如表3所示。本文算法较C2算法跃度波动平均降低了44.3%,跃度曲线更加平滑,验证了本算法可以实现机床各轴运动跃度连续的有效性。

表3 Y轴跃度对比

在实际加工中,本文所提算法可以实现不间断的进给运动,而传统点对点插补算法在路径拐角处的进给速度必须减速为零,降低了加工效率。通过对比本文算法与传统点对点插补算法和上述C2连续算法在加工相同蝶形轮廓轨迹的速度曲线来说明算法的加工效率。如图12所示,点对点插补方法的加工总时间为9.862 s,C2连续算法的加工总时间为8.019 s,而本文算法的加工总时间为7.671 s,相对于点对点插补算法和C2连续算法加工时间分别减少了28.6%和4.6%。有效说明本文算法在确保机床各轴连续运动的基础上提高了加工效率。

2.2 实验验证

为了验证所提算法可以实现机床各轴运动的加速度和跃度连续,将上述光顺算法集成于课题组开发的开放式数控系统中。该数控系统包含上位机和下位机两个部分,上位机是基于Windows XP +RTX8.1实时控制软件在PC机上开发的,可以提供实时计算和多线程计算,下位机是一台运动控制卡(固高GTS-800-PG)。实验平台采用如图13所示的的江苏厚道HD-V185F三轴立式加工中心进行铣削加工实验。毛坯材料为7050-T7451铝合金,尺寸为200×180×15 mm。刀具选用硬质合金球头铣刀,铣削深度为0.5 mm。实验设备参数和刀具参数如表4所示,实验刀具路径采用上述仿真中的蝶形轮廓,最大进给速度为80 mm/s,最大加速度为800 mm/s2,最大跃度为50 000 mm/s3,最大近似误差极限为0.05 mm,最大弓高误差为0.001 mm,采样周期为0.5 ms。铣削加工效果如图14所示。

表4 设备参数和刀具参数

实验过程中,通过上位机插补可以直接得到插补指令、合成速度与各轴的速度分量。为了进一步得到相应的加速度和跃度曲线,需要对得到的插补点坐标按照采样周期做关于时间的运算处理。加工过程中的插补命令如图15所示,各规划区间的运动学曲线如图16所示。图15中的蓝色和绿色曲线分别表示X、Y轴的实时插补命令。从图16可知速度曲线、加速度曲线和跃度曲线均平滑连续。

各轴的加速度曲线,跃度曲线分别如图17和图18所示。由图17的加速度曲线放大图可知,各轴的加速度曲线均连续,且实际加工中的最大加速度小于实验设定的最大加速度800 mm/s2。由图18的跃度曲线放大图可知,各轴的跃度曲线均连续,且最大跃度小于实验设定的最大跃度50 000 mm/s3。这表明本文提出的C3连续拐角光顺算法应用在上述实验平台的实时加工中能够确保机床平稳的进给运动,减少机床振动,提高零件的加工质量。

3 结束语

本文针对加工过程中,因连续短线段路径拐角处的切向和法向不连续导致的机床各轴加速度和跃度波动问题,提出了C3连续实时光顺算法。该算法通过在相邻短线段间插入满足最大近似误差和线性段长度约束的PH曲线,实现了直线段与PH曲线衔接点处C3连续的平滑过渡。并采用五次多项式的柔性加减速曲线对光顺后的C3连续路径进行速度规划与插补,实现了机床各轴运动的跃度连续。通过仿真分析与传统算法相比,整个刀具路径弧长的计算时间明显降低,验证了本文算法的实时性。与C2连续算法相比,跃度波动平均下降了44.3%,跃度曲线更加平滑。与传统点对点插补算法相比,加工时间减少了28.6%,提高了加工效率。最后将本算法集成在开放式数控系统中并用于控制一台立式加工中心的实时铣削加工,验证了本文算法的实用性。在后续研究中,考虑对PH曲线两端的控制点进行独立调整,构造出非对称的PH曲线以减少拐角处的曲率,进一步提高加工质量和效率。

猜你喜欢

光顺弧长拐角
拐 角
求弧长和扇形面积的方法
三角函数的有关概念(弧长、面积)
三角函数的有关概念(弧长、面积)
Where Is My Home?
平面网格铣削加工光顺刀轨快速生成方法
HDSHM系统船体型线光顺应用经验
走过那一个拐角
拐角遇到奇迹
基于面法向量谱变换的网格光顺算法