CN115202291A - 一种基于椭圆弧拟合的nurbs曲线插补方法 - Google Patents

一种基于椭圆弧拟合的nurbs曲线插补方法 Download PDF

Info

Publication number
CN115202291A
CN115202291A CN202210954999.8A CN202210954999A CN115202291A CN 115202291 A CN115202291 A CN 115202291A CN 202210954999 A CN202210954999 A CN 202210954999A CN 115202291 A CN115202291 A CN 115202291A
Authority
CN
China
Prior art keywords
pulse
axis
coordinate
curve
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210954999.8A
Other languages
English (en)
Inventor
刘清建
张旭
董潇禹
管增翰
朱柏旭
刘志刚
李政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University of Technology
Original Assignee
Tianjin University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University of Technology filed Critical Tianjin University of Technology
Priority to CN202210954999.8A priority Critical patent/CN115202291A/zh
Publication of CN115202291A publication Critical patent/CN115202291A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34083Interpolation general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

一种基于椭圆弧拟合的NURBS曲线插补方法,它属于数控系统的插补技术领域。本发明解决了现有数控加工方法对样条曲线的拟合精度低,对样条曲线插补时所需的运算量大导致插补效率低的问题。本发明方法具体为:步骤一、对数控加工的样条曲线进行分段后,再依次对各段曲线进行椭圆弧拟合,分别得到每段曲线对应的椭圆弧拟合结果;步骤二、根据拟合椭圆的长半轴长度、短半轴长度、期望速度以及各坐标轴允许的最大加速度进行椭圆弧速度规划;步骤三、根据速度规划得到每一个插补周期内所需完成的椭圆弧的起点、终点,再进行椭圆弧的插补处理。本发明方法可以应用于数控系统的插补技术领域。

Description

一种基于椭圆弧拟合的NURBS曲线插补方法
技术领域
本发明属于数控系统的插补技术领域,具体涉及一种基于椭圆弧拟合的NURBS曲线插补方法。
背景技术
随着制造行业的不断发展,传统用微小直线段或者圆弧段逼近复杂曲线的数控加工方法已经无法满足现阶段工件加工精度及加工效率的要求,并且传统的直线插补和圆弧插补加减速变换频繁,方向突变,精度低,表面光滑度差,已经无法实现大多数工件的轮廓精度,甚至无法满足复杂曲面工件轮廓形成的要求。针对传统插补算法的不足,大家引入了非均匀有理B样条曲线(NURBS)曲线。NURBS曲线插补具有数据传输量小、传输速度快等特点,且易于实现多轴联动、高速高精加工。同时,NURBS曲线为标准解析形状以及自由曲面曲线和曲面的精确表示提供了一种通用的数学形式且相对于没有固定形式的曲线便于计算。在数控系统中如何完成曲线设定的轨迹和速度要求成为了当前研究的核心内容,它也决定加工件的质量。当前NURBS曲线插补最为常用的方法为两个大类别:一种是直接插补方法,另一种就是拟合曲线两大类。就直接插补方法而言会受到弓高误差和进给速度恒定的影响而导致精度无法满足要求;拟合曲线通过将曲线分割,利用圆弧、直线等其它线型去拟合微小曲线段的方法,但是现阶段拟合曲线插补大多数通过高次方程迭代计算出插补参数,过于复杂。
目前,许多学者在控制进给速度以提高精度方面进行了一系列的研究。随着曲线复杂程度的增加,将曲线拟合为直线段或圆弧的方法存在拟合数据计算量大,通信传输负荷高以及加工效率低等缺点。Faux I D等把弓高误差看作是从实际NURBS曲线到加工路径的单向Hausdorff距离,并通过构造一个非线性优化问题来近似弓高误差,该方法十分复杂且不能通过解析方法得到结果,难以运用于实际加工场合中。Wei Fan等利用密切圆(Osculating Circle,OC)近似法和单向Hausdorff距离近似法对弓高误差进行后续补偿,并利用梯形以及正弦曲线描述加加速度的变化规律提出了连续加速度的S模型速度规划方法,以提高加工的精度和高效,尽管OC方法可以有效地平滑轨迹的弓高误差,但是对于较高的曲率半径变化会使得弓高误差的评估精度下降。由于复杂型面加工过程中曲线的拟合度会降低,使得刀具轨迹不平滑,在微段连接处切向不连续,极大地降低了加工效率和表面质量。为了解决这个问题,样条曲线直接插补技术应运而生。目前已有多种不同的NURBS曲线插补方法,如最早的泰勒一阶和二阶展开方法、反馈插补法、“预估——校正”插补法和函数拟合插补法等,在这些插补方法中涉及多次曲线求值和求导计算,甚至需要进行数据庞大的反复迭代计算。而由于B样条基函数采用递归定义,其求值和求导过程十分复杂耗时,因此上述方法需要占用大量的计算资源。刘宇等人分析了泰勒展开法中的速度波动与曲线曲率的关系,并指出泰勒展开法对于误差的控制是一种开环方法。Yeh和Hsu在一阶泰勒展开法的基础上,对高阶截断误差进行分析,提出了补偿算法,提高速度精度,但该法只能保持恒定进给速度,无法适应加工中的速度变化。Farouki和Tsai也采用一阶泰勒展开式,并进行了修正,速度精度较高,但由于修正项求解复杂,限制了应用范围。李传军等提出的基于3次B样条曲线的快速直接插补方法,采用B样条的节点插入技术与微分递推求值技术进行3次样条插补,虽然节省了运行的计算时间,但是未进行前瞻速度规划处理。刘强、刘欢等提出了具有低馈率波动的四次方程插值方法,虽然完全消除了任意二度导曲线的馈滤波动并提高了精度,但是四次方程求解复杂且效率不够高。
椭圆曲线作为数控加工的一种常见二次曲线,其数控加工的控制方法研究相对较少,主要是两种方法,一种宏程序方法,它是从工程应用考虑,由于当前主要是利用数控系统自身提供的宏程序功能,将椭圆弧离散为直线或者圆弧,而后再由数控系统对离散后的线型进行速度规划好插补。顾丽亚等人利用宏功能编程得到椭圆曲线插补,依据“数据密化”原理和曲线公式可以使用宏程序制造出椭圆插补,这样做的结果就是往往拟合精度是编程人员自己掌握,离散的数据量不统一,且若是离散的数据量也不能无限大,即其离散精度也不是受限的,且对于后续数控系统的任务压力也比较大,同时使用宏功能不可以使用机床固定循环功能,有一定的局限性。另外一种方法是针对椭圆曲线自身进行速度规划和插补算法的研究。具体如:王琨琦等人提出了利用比较积分法的椭圆弧插补,结合了比较法和积分法的优点,但是每一次脉冲进给时需比较各坐标进给脉冲间隔的大小,才能确定每次具体进给的基准轴,每输出一个脉冲就得作偏差判别、坐标进给和新偏差计算,此外还需要进行过象限处理,计算较为繁琐。一些学者提出了在时间分割原理基础上,对圆心角进行分割的椭圆弧插补算法,在运算时间方面进行改进的一种算法。该改进算法的插补精度可达到以往类似算法的插补精度,但是该算法的公式计算较为复杂,可能会引起程序数据堆积。一些研究人员利用圆去映射椭圆被称为映射法,插补速度快,插补递推算法将每个可能的插补方向的偏差计算与偏差比较结合考虑,算法简单,计算快捷,插补公式由映射圆的圆弧插补公式推导而来。可直接应用己有的较成熟可靠的圆弧插补程序,但是这种方法精确度不够,只是从圆去推断椭圆,没有精确到具体的椭圆线型表达式。还有一些学者采用高速高精加工的椭圆弧平滑压缩插补算法,此方法虽简单可行,但都存在轮廓误差和速度波动无法控制的问题。研究人员紧接着提出了等误差方法,虽然提高了椭圆的加工精度,但仍无法有效地控制速度波动。因此大量学者对数值方法进行了研究,通过较为精确地推导出插补点与弧长的关系,来有效地降低速度波动,如Toshio提出的半参数和双参数转换法、John提出的经验参数迭代法和Toshio提出的逆椭圆积分法,这些方法因涉及到多次迭代与复杂数值计算,实时性较差,所以均无法应用于数控系统。
综上所述,现有的直接对样条曲线进行速度规划和插补的方法普遍存在运算量较大、前瞻处理情况复杂,无法很好预测钳制速度的问题;离散处理方法中没有一种很好的线型,不能用较少的数据量来满足拟合精度,且所能达到的最高拟合精度较低,普遍存在拟合数据过多,整体计算量较大的问题,且更多的采用了高次方程等,而没有考虑从现实的二次曲线方面来进行拟合和插补等处理。
发明内容
本发明的目的是为解决现有数控加工方法对样条曲线的拟合精度低,对样条曲线插补时所需的运算量大导致插补效率低的问题,而提出的一种基于椭圆弧拟合的NURBS曲线插补方法。
本发明为解决上述技术问题所采取的技术方案是:一种基于椭圆弧拟合的NURBS曲线插补方法,所述方法具体包括以下步骤:
步骤一、对数控加工的样条曲线进行分段后,再依次对各段曲线进行椭圆弧拟合,分别得到每段曲线对应的椭圆弧拟合结果;
所述步骤一中,对各段曲线进行椭圆弧拟合的具体过程为:
步骤一一、将数控加工的样条曲线的各个分段点依次表示为u0,u1,...,uk+1,其中,样条曲线的起始点us=u0,样条曲线的末端点ue=uk+1,计算中间变量Δu:
Figure BDA0003790912240000031
则u1=u0+Δu,u2=u1+Δu,...,ue=uk+1=uk+Δu;
步骤一二、将整个样条曲线放入笛卡尔坐标系中,得到每个分段点在笛卡尔坐标系下的坐标;
对于任意的一段曲线,记该段曲线的两个端点分别为un和un+1,将un在笛卡尔坐标系下的坐标记为A′,将un+1在笛卡尔坐标系下的坐标记为B′,将过A′点的切线和过B′点的切线的交点记为D′点,将过A′点切线的法线与过B′点切线的法线的交点记为C′点;
在笛卡尔坐标系下,将该段曲线旋转角度α,得到该段曲线在笛卡尔坐标系下旋转后的曲线段,将旋转后的曲线段的端点un在笛卡尔坐标系下的位置记为A(xA,yA),将旋转后的曲线段的端点un+1在笛卡尔坐标系下的位置记为B(xB,yB),将过A点切线和过B点切线的交点在笛卡尔坐标系下的位置记为D(xD,yD),将过A点切线的法线与过B点切线的法线的交点在笛卡尔坐标系下的位置记为C(xC,yC);
根据公式:
Figure BDA0003790912240000041
整理得到:
Figure BDA0003790912240000042
求出C(xC,yC)和D(xD,yD)后,选取AD、DB、BC和AC中最长边的长度作为椭圆弧的长半轴a,最短边的长度作为椭圆弧的短半轴b;
步骤一三、将点A(xA,yA)作为椭圆弧的初始坐标,将点B(xB,yB)作为椭圆弧的末端坐标,根据确定出的长半轴a和短半轴b对旋转后的曲线段进行椭圆弧拟合,得到旋转后的曲线段对应的初步拟合曲线,即求解出椭圆弧,再执行步骤一四;
步骤一四、将拟合曲线即椭圆弧的中点坐标记为坐标点
Figure BDA0003790912240000043
将旋转后的曲线段在笛卡尔坐标系下的中点记为F,将中点F与
Figure BDA0003790912240000044
之间的距离作为拟合误差ε;
若拟合误差ε小于等于设定的阈值,则执行步骤一六;
若拟合误差ε大于设定的阈值,则执行步骤一五;
步骤一五、对旋转后的曲线段进行二次分段,即将un和
Figure BDA0003790912240000045
作为曲线的两个端点,采用步骤一二至步骤一四的方法对端点为un
Figure BDA0003790912240000046
的曲线进行拟合;
步骤一六、将初步计算所得的椭圆弧作为旋转后的曲线段的拟合曲线,并采用步骤一二至步骤一四的方法对下一段曲线进行拟合;
步骤二、根据拟合椭圆的长半轴长度、短半轴长度、期望速度以及各坐标轴允许的最大加速度进行椭圆弧速度规划;
步骤三、根据速度规划得到每一个插补周期内所需完成的椭圆弧的起点、终点,再进行椭圆弧的插补处理。
本发明的有益效果是:
本发明方法与NURBS曲线的直接处理算法相比较,本发明是利用椭圆弧拟合分段后的原曲线,椭圆拟合插补的进给速度光滑,可以大大减少机床的振动;同时椭圆弧的曲率半径是变化的,可以去满足不同的弯曲形式;本发明方法的优势在于椭圆拟合精度高、插补时间短,效率高,需要的计算量少,计算复杂程度低,最大可能的向期望速度接近靠拢,同时与原曲线形状误差很小。
附图说明
图1为本发明方法的流程图;
图2为对样条曲线进行分段的示意图;
图3为椭圆弧拟合的流程图;
图4为平面直角坐标系下样条曲线的示意图;
图5为一段曲线在平面直角坐标系下的示意图;
图6为图5的曲线旋转角度α后的示意图;
图7为初步的椭圆弧拟合结果图;
图8为拟合误差判断的示意图;
图9为插补算法的流程图;
图10为划分区间的示意图;
图11为速度规划的流程图;
图12为利用象限角分割区间的示意图;
图13为椭圆弧旋转的示意图;
图14为椭圆任意点切线矢量和法线矢量的示意图;
图15为根据毕达哥拉斯定理得到L的示意图;
图16为向心运动中速度方向改变的示意图;
图17为纯加速运动和纯减速运动速度曲线图;
图18为到达期望速度的速度曲线图;
图19为达到最大速度的速度曲线图;
图20为超过期望速度的速度曲线图。
具体实施方式
具体实施方式一、结合图1说明本实施方式。本实施方式所述的一种基于椭圆弧拟合的NURBS曲线插补方法,所述方法具体包括以下步骤:
步骤一、如图2所示,对数控加工的样条曲线进行分段后,再依次对各段曲线进行椭圆弧拟合,分别得到每段曲线对应的椭圆弧拟合结果;
步骤二、根据拟合椭圆的长半轴长度、短半轴长度、期望速度以及各坐标轴允许的最大加速度进行椭圆弧速度规划;
步骤三、根据速度规划得到每一个插补周期内所需完成的椭圆弧的起点、终点,再进行椭圆弧的插补处理。
椭圆弧拟合曲线算法的原理是对原曲线任意选取一段,利用选取曲线线段的初始坐标和末端坐标,用此两点坐标通过算法中的椭圆弧求解方法,得到与原曲线段首末坐标一致的椭圆弧曲线段。求解原曲线与拟合曲线的变量中点的差值得到拟合误差,若满足要求则进行下一段曲线的拟合,若不满足要求需要将中点坐标和初始坐标作为新的曲线段再次利用椭圆弧拟合曲线,按照上述方法进行迭代直至拟合误差满足要求。本发明方法可以用较少的段数来获得更好的拟合精度。
在速度规划方面,本发明利用椭圆弧上的切线矢量来合成加速度以获得椭圆弧上任意一点的最大加速度进行积分,得到时间速度曲线图,而后在满足各项钳制速度的前提下获取更快的运行效率。本发明利用椭圆弧所在平面进行映射转化为直角坐标系X、Y轴,根据平面直角坐标系的X、Y轴各自所允许的最大加速度计算出象限分割的角度。遵循合成加速度分解到各个轴上的分解加速度不能够超出各自轴所允许的最大计算速度值的原则求解出椭圆弧上任意角度的合成加速度,根据末端速度的三个钳制要求条件,求解出最大允许的末端速度,进而求解出椭圆弧段的初始速度。根据速度-时间公式求解出任意一个插补周期内的速度变化量并绘制出对应的速度规划图,由不同速度类别划分求解出对应的椭圆弧的初始速度、初始角度、末端速度、末端角度等相关数据信息,为下一步椭圆弧的插补提供了数据。
在插补阶段,本发明进行椭圆弧的插补是通过本插补周期内所完成的最长脉冲数与椭圆弧的首末角度差值来获得一个角度变化量Δθ,而后利用椭圆弧公式计算出下一个插补坐标,依次用该方法进行迭代计算,完成椭圆弧的插补。不同于当前的主流处理方式,本发明采用了一种基于角度增量的方式来判别每次每轴的脉冲发送,计算过程更加简单高效,降低了常规的八个象限的分类处理情况,而是归一到同一个处理模型下。并最终通过仿真验证了整个处理方法的高效、高精的效果。同时,本处理方法也可以用于其它类型曲线的处理方式上,具有一定的通用性。
具体实施方式二:结合图3说明本实施方式。本实施方式与具体实施方式一不同的是,所述步骤一中,对各段曲线进行椭圆弧拟合的具体过程为:
步骤一一、将数控加工的样条曲线的各个分段点依次表示为u0,u1,...,uk+1,其中,样条曲线的起始点us=u0,样条曲线的末端点ue=uk+1,计算中间变量Δu:
Figure BDA0003790912240000071
则u1=u0+Δu,u2=u1+Δu,...,ue=uk+1=uk+Δu;
步骤一二、如图4所示,将整个样条曲线放入笛卡尔坐标系中,得到每个分段点在笛卡尔坐标系下的坐标;
对于任意的一段曲线,记该段曲线的两个端点分别为un和un+1,如图5所示,将un在笛卡尔坐标系下的坐标记为A′,将un+1在笛卡尔坐标系下的坐标记为B′,将过A′点的切线和过B′点的切线的交点记为D′点,将过A′点切线的法线与过B′点切线的法线的交点记为C′点;
如图6所示,在笛卡尔坐标系下,将该段曲线旋转角度α,得到该段曲线在笛卡尔坐标系下旋转后的曲线段,将旋转后的曲线段的端点un在笛卡尔坐标系下的位置记为A(xA,yA),将旋转后的曲线段的端点un+1在笛卡尔坐标系下的位置记为B(xB,yB),将过A点切线和过B点切线的交点在笛卡尔坐标系下的位置记为D(xD,yD),将过A点切线的法线与过B点切线的法线的交点在笛卡尔坐标系下的位置记为C(xC,yC);
根据公式:
Figure BDA0003790912240000072
整理得到:
Figure BDA0003790912240000073
求出C(xC,yC)和D(xD,yD)后,选取AD、DB、BC和AC中最长边的长度作为椭圆弧的长半轴a,最短边的长度作为椭圆弧的短半轴b;
步骤一三、将点A(xA,yA)作为椭圆弧的初始坐标,将点B(xB,yB)作为椭圆弧的末端坐标,根据确定出的长半轴a和短半轴b对旋转后的曲线段进行椭圆弧拟合,得到旋转后的曲线段对应的初步拟合曲线,即求解出椭圆弧,再执行步骤一四;
步骤一四、如图7所示,将拟合曲线即椭圆弧的中点坐标记为坐标点
Figure BDA0003790912240000074
将旋转后的曲线段在笛卡尔坐标系下的中点记为F,将中点F与
Figure BDA0003790912240000075
之间的距离作为拟合误差ε;
拟合曲线(即椭圆弧)与原曲线的拟合误差分析
如图7所示,在拟合曲线(即椭圆弧)和原曲线之间存在一个拟合误差ε,判断拟合误差是否满足要求。
当前主流判断拟合误差的方法是取拟合曲线中点与原曲线的中点,两点之间的距离即为拟合误差。在本发明中就是如图7所示,F点坐标为原曲线首末u值的中值所对应的坐标,样条曲线段中点F与拟合曲线段中点
Figure BDA0003790912240000081
之间的距离即为拟合误差ε。如图8所示,
(I)当拟合误差在拟合精度之中,我们进行下一阶段样条曲线的拟合与插补。
(II)当拟合误差在拟合精度以外,我们将之前的分段点进行二次分段,即取
Figure BDA0003790912240000082
重复上述步骤进行拟合和插补直至满足拟合精度。即
若拟合误差ε小于等于设定的阈值,则执行步骤一六;
若拟合误差ε大于设定的阈值,则执行步骤一五;
步骤一五、对旋转后的曲线段进行二次分段,即将un
Figure BDA0003790912240000083
作为曲线的两个端点,采用步骤一二至步骤一四的方法对端点为un和
Figure BDA0003790912240000084
的曲线进行拟合;
步骤一六、将初步计算所得的椭圆弧作为旋转后的曲线段的拟合曲线,并采用步骤一二至步骤一四的方法对下一段曲线进行拟合。
根据已知数据xB=CE,xC=0,Δy=yA-yB,yB=b-Δy得到下式:
Figure BDA0003790912240000085
根据
Figure BDA0003790912240000086
yA-yB=Δy=b-bsinθ,得到
Figure BDA0003790912240000087
Figure BDA0003790912240000088
将上式带入Δy=b-bsinθ得到下式:
Figure BDA0003790912240000089
由关于sinθ二次函数的求根公式得到sinθ的值:
Figure BDA00037909122400000810
cosθ也可以确定,通过
Figure BDA0003790912240000091
确定椭圆长半轴的数值大小。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:结合图10说明本实施方式。本实施方式与具体实施方式一或二不同的是,所述步骤三的具体过程为:
步骤三一、在以椭圆自身的长轴为X′轴,短轴为Y′轴的坐标系下,计算椭圆上分割角θ′为:
Figure BDA0003790912240000092
其中,β代表在椭圆拟合过程中椭圆旋转的角度,θ为旋转β角度后的坐标系下椭圆弧矢量最长脉冲轴(此区域内每次发送脉冲进行插补时,必然有此轴参与发送脉冲,即最长脉冲轴)区分角度;
再根据分割角θ′求解出四个角度区域:
Figure BDA0003790912240000093
即,将椭圆插补区域划分为(θ′1,θ′2]、(θ′2,θ′3]、(θ′3,θ′4]、(θ′4,θ′1]四个区间;在区间(θ′2,θ′3]和(θ′4,θ′1]内最长脉冲轴为Y轴,在区间(θ′1,θ′2]和(θ′3,θ′4]内最长脉冲轴为X轴;
步骤三二、将椭圆的圆心坐标表示为O(x0,y0),插补起点坐标表示为(x1,y1),插补终点坐标表示为(xn,yn),θs为插补起点到椭圆圆心的矢量与X轴正半轴的夹角,即
Figure BDA0003790912240000094
θe为插补终点到椭圆圆心的矢量与X轴正半轴的夹角,即
Figure BDA0003790912240000095
Figure BDA0003790912240000096
则旋转角度β后的初始角度θ′s=θs-β,末端角度θ′e=θe-β;
若在θ′1,θ′2,θ′3,θ′4四个角度中至少有一个存在于θ′s与θ′e之间,则根据方程组:
Figure BDA0003790912240000097
解出满足方程组的两个点,再根据图像判别唯一性得到点P(xθ′,yθ′),并根据点P(xθ′,yθ′)计算最长脉冲轴为X轴的部分的脉冲数:
Figure BDA0003790912240000101
其中,pulunity为Y轴的脉冲当量,pulunitx为X轴的脉冲当量(脉冲当量的单位是pulse/mm,即单位长度1毫米等于多少脉冲数),(x′n,y′n)是旋转角度β后插补终点的坐标;
当式中|xθ′-x′n|和|yθ′-y′n|出现小数部分,若小数部分大于0.5,直接进1,否则,只保留整数部分;
则最长脉冲轴为X轴的部分的脉冲数n1为:n1=nx1
Figure BDA0003790912240000102
其中,(x′1,y′1)是旋转角度β后插补起点的坐标;
当式中|xθ′-x′1|和|yθ′-y′1|出现小数部分,若小数部分大于0.5,直接进1,否则,只保留整数部分;
最长脉冲轴为Y轴的部分的脉冲数n2为:n2=ny2;则总脉冲数为n=n1+n2
若θ′1,θ′2,θ′3,θ′4四个角度均未存在于θ′s与θ′e之间,则:
Figure BDA0003790912240000103
当|x′n-x′1|和|y′n-y′1|出现小数部分,若小数部分大于0.5,直接进1,否则,只保留整数部分;
总脉冲数为:n=max{nx,ny};
根据总脉冲数n计算椭圆分段后每段的夹角
Figure BDA0003790912240000104
夹角含有了正负符号,也就是说直接和椭圆初始角度累加n次就达到椭圆末端角度位置。
其中,初末角度范围默认为0-360°,当顺时针插补时,我们规定初始末端角度差值为负值,则角度是递减的,若θe>θs角度为递增,令θe=θe-360,则初始末端角度差值为θes
当逆时针插补时,我们规定初始末端角度差值为正值。则角度是递增的,若θe<θs角度为递减,令:θe=θe+360,则初始末端角度差值为θes
步骤三三、根据椭圆的表达式将插补起点坐标表示为x1=a×cosθs,y1=b×sinθs,考虑旋转角度β的影响,求解出X′OY′坐标系下插补起点坐标;
插补起点坐标到椭圆圆心的距离len1为:
Figure BDA0003790912240000111
插补起点坐标到椭圆圆心坐标的矢量与X轴正半轴夹角的三角函数为:
Figure BDA0003790912240000112
根据上文求解出旋转角度β后的初始角度θ′s=θs-β,下一步求解出在X′OY′坐标系下插补起点坐标(x′1,y′1):
Figure BDA0003790912240000113
接下来,根据椭圆在X′OY′坐标系下的方程:
Figure BDA0003790912240000114
椭圆下一点插补坐标(x′2,y′2)到椭圆圆心的矢量与X′正半轴的夹角为θ′2_se=θ′s+Δθ,根据θ′2_se得到下一点插补坐标:
Figure BDA0003790912240000115
(x′2,y′2)到椭圆圆心的距离len′2为:
Figure BDA0003790912240000116
(x′2,y′2)到椭圆圆心的矢量与X′轴正半轴夹角的三角函数为:
Figure BDA0003790912240000117
在经过旋转角度变换后θ2_se=θ′2_se+β,坐标点(x′2,y′2)在笛卡尔坐标系下的坐标为:
Figure BDA0003790912240000118
步骤三四、设X轴方向脉冲余数为repulse_x,Y轴方向脉冲余数为repulse_y,根据(x1,y1)和(x2,y2)得到X轴方向的坐标增量Δx1以及Y轴方向的坐标增量Δy1
Δx1=x2-x1
Δy1=y2-y1
则X轴方向上的脉冲余数为repulse_x=Δx1×pulunitx,Y轴方向上的脉冲余数为repulse_y=Δy1×pulunity
再根据repulse_x和repulse_y确定脉冲坐标;
步骤三五、通过步骤三三至步骤三四的方法,得到插补段上所有插补点的坐标,即任意插补点坐标(xi,yi)和任意脉冲坐标(xi_r,yi_r)。
任意插补点坐标为
Figure BDA0003790912240000121
其中
Figure BDA0003790912240000122
(x′i,y′i)为椭圆在X′OY′坐标系下的坐标。
其中cosβ,sinβ,cosΔθ,sinΔθ这四个变量可以在开始插补前获得,后续进入插补就作为常量值直接带入即可,所以上式只涉及加减乘除运算,不涉及三角函数运算,降低了计算复杂度,提高了计算的精度。并根据插补点和脉冲余量之间的关系脉冲发送,直至插补点坐标达到插补终点。
为了防止出现整圆情况,需要增加一个标记量,当第一次进行插补是不需要进行判断终点坐标,若第二次开始需要进行终点坐标的比较判断,若与终点坐标的误差在于0.5个脉冲数之内,可以说明该段曲线的椭圆弧插补完成,进行下一段插补直至整条曲线拟合完成。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:结合图9说明本实施方式。本实施方式与具体实施方式一至三之一不同的是,所述根据repulse_x和repulse_y确定脉冲坐标,其具体过程为:
I.当|repulse_x|≥|repulse_y|时,向X轴发送脉冲的坐标的确定方式为:
若repulse_x>0,则第i个脉冲的X轴坐标xi_r为:xi_r=x(i-1)_r+1/pulunitx,i≥2,i为第i个脉冲,x(i-1)_r为第i-1个脉冲的X轴坐标;
若repulse_x≤0,则第i个脉冲的X轴坐标xi_r为:xi_r=x(i-1)_r-1/pulunitx
当|repulse_x|≥|repulse_y|时,向Y轴发送脉冲的坐标的确定方式为:
步骤1、若repulse_y>0,当Y轴不发送脉冲时,记第i个脉冲的Y轴坐标yi_r_1=y(i-1)_r,y(i-1)_r为第i-1个脉冲的Y轴坐标,当Y轴发送脉冲时,记第i个脉冲的Y轴坐标yi_r_2=y(i-1)_r+1/pulunity
若repulse_y≤0,当Y轴不发送脉冲时,记第i个脉冲的Y轴坐标yi_r_1=y(i-1)_r,当Y轴发送脉冲时,记第i个脉冲的Y轴坐标yi_r_2=y(i-1)_r-1/pulunity
步骤2、根据脉冲坐标(xi_r,yi_r_1)确定反馈值ret1,根据脉冲坐标(xi_r,yi_r_2)确定反馈值ret2
求出脉冲坐标(xi_r,yi_r_1)到椭圆圆心的距离leni_r_1
Figure BDA0003790912240000131
脉冲坐标(xi_r,yi_r_1)到椭圆圆心的矢量与X′正半轴夹角θ′i_r_1的三角函数为:
Figure BDA0003790912240000132
设θ″i_r_1=θ′i_r1-β,根据θ″i_r_1求解出转换到X′OY′坐标系下的脉冲坐标(x′i_r,y′i_r_1):
Figure BDA0003790912240000133
根据转换后的脉冲坐标(x′i_r,y′i_r_1)求解出反馈值ret1
Figure BDA0003790912240000134
同理,对脉冲坐标(xi_r,yi_r_2)进行处理,求解出反馈值ret2
步骤3、若ret1>ret2,则Y轴发送脉冲,Y轴方向的脉冲坐标yi_r=yi_r_2,若ret1≤ret2,则Y轴不发送脉冲,Y轴方向的脉冲坐标yi_r=yi_r_1,进而得到第i个脉冲的脉冲坐标(xi_r,yi_r);
II.当|repulse_x|<|repulse_y|时,向Y轴发送脉冲的坐标的确定方式为:
若repulse_y>0,则第i个脉冲的Y轴坐标yi_r为:yi_r=y(i-1)_r+1/pulunity,i≥2,i为第i个脉冲,y(i-1)_r为第i-1个脉冲的Y轴坐标;
若repulse_y≤0,则第i个脉冲的Y轴坐标yi_r为:yi_r=y(i-1)_r-1/pulunity
当|repulse_x|<|repulse_y|时,向X轴发送脉冲的坐标的确定方式为:
步骤(1):若repulse_x>0,当X轴不发送脉冲时,记第i个脉冲的X轴坐标xi_r_1=x(i-1)_r,x(i-1)_r为第i-1个脉冲的X轴坐标,当X轴发送脉冲时,记第i个脉冲的X轴坐标xi_r_2=x(i-1)_r+1/pulunitx
若repulse_x≤0,当X轴不发送脉冲时,记第i个脉冲的X轴坐标xi_r_1=x(i-1)_r,当X轴发送脉冲时,记第i个脉冲的X轴坐标xi_r_2=x(i-1)_r-1/pulunitx
步骤(2):根据脉冲坐标(xi_r_1,yi_r)确定反馈值ret3,根据脉冲坐标(xi_r_2,yi_r)确定反馈值ret4
求解出脉冲坐标(xi_r_1,yi_r)到椭圆圆心的距离leni_r_2
Figure BDA0003790912240000141
脉冲坐标(xi_r_1,yi_r)到椭圆圆心的矢量和X′正半轴夹角θ′i_r_2的三角函数为:
Figure BDA0003790912240000142
设θ″i_r_2=θ′i_r_2-β,根据θ″i_r_2求解出转换到X′OY′坐标系下的脉冲坐标(x′i_r_1,y′i_r):
Figure BDA0003790912240000143
简化上式为:
Figure BDA0003790912240000144
根据转换后的脉冲坐标(x′i_r_1,y′i_r)求解出反馈值ret3
Figure BDA0003790912240000145
同理,对(xi_r_2,yi_r)进行处理得到ret4
步骤(3):若ret3>ret4,则X轴发送脉冲,X轴方向的脉冲坐标xi_r=xi_r_2,若ret3≤ret4,则X轴不发送脉冲,X轴方向的脉冲坐标xi_r=xi_r_1,进而得到第i个脉冲的脉冲坐标(xi_r,yi_r)。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述角度θ的计算方式为:
Figure BDA0003790912240000151
其中,pulunitx为X轴的脉冲当量,pulunity为Y轴的脉冲当量。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式六:结合图11说明本实施方式。本实施方式与具体实施方式一至五之一不同的是,所述椭圆弧速度规划的具体过程为:
根据已知各坐标轴允许的最大加速度计算出角度θdiv用于象限分割,通过θdiv分割出四个象限,如图12所示,四个象限为0°~θdiv,θdiv~180°-θdiv,180°-θdiv~180°+θdiv,180°+θdiv~360°-θdiv;
Figure BDA0003790912240000152
在曲线拟合方法进行速度规划时,椭圆会发生一定的旋转角度,如图13所示:
根据图13可以得出,β=∠BO2P1-∠P1O2C。(遵循角度正负原则)
如图14所示,在椭圆上任意点的切线的法线矢量可以设为:
Figure BDA0003790912240000153
那么该椭圆上任意点的切线矢量可以设为:
Figure BDA0003790912240000154
旋转前椭圆任意点切线的角度为θ,那么有旋转后的切线的角度α=θ+β,可将tanα变化为下式所示:
Figure BDA0003790912240000155
根据图15所示三角形三边比例关系已知,令角度α的对边为:-bcosθ′cosβ+asinθ′sinβ,邻边为:asinθ′cosβ+bcosθ′sinβ的直角三角形中利用毕达哥拉斯定理得到L:
Figure BDA0003790912240000156
旋转一定角度后的分割角计算公式如下:
Figure BDA0003790912240000157
同时得到不同分割象限下的最大合成加速度amax,按照合成加速度分解到XY各自轴上的加速度分量不能超出XY各自轴允许的最大加速度的原则,其计算公式及区间划分如下:
Figure BDA0003790912240000161
其中amax_x表示的是X轴最大允许的加速度值,amax_y表示的Y轴最大允许的加速度值。
椭圆弧段的最大允许的末端速度受到四个钳制速度的约束,如下:
①反向加速的钳制
根据公式
Figure BDA0003790912240000162
及在最后一个椭圆弧段的末端速度为0,进行反向加速达到的最大速度为ve_1
②最大允许向心加速度的钳制
在椭圆弧上进行加速度运动,必然会产生一个向心加速度,受到向心加速度的约束。根据公式
Figure BDA0003790912240000163
化简公式
Figure BDA0003790912240000164
(an取值为最大合成加速度的比例系数η,r为末端的曲率半径,若是当前椭圆末端完成之后还连接下一个椭圆,则此时的曲率半径r取值为当前椭圆弧的末端曲率半径re_now和下一个椭圆的初始曲率半径rns_now的两者最小值,即r=min(re_now,rns_now))。得到在向心加速度钳制下的末端速度ve_2
③速度运动方向发生转向时的速度的钳制
在向心运动下,转向意味着速度不会改变,只会改变方向,如图16所示:
Figure BDA0003790912240000165
其中,φ是速度方向改变的角度,即椭圆弧段的最大允许的末端速度ve=min{ve_1,ve_2,ve_3,vr},vr为期望速度。即取四个速度中的最小值作为本椭圆弧段的最大运行末端速度。
因为椭圆弧任意弧长的公式为:
Figure BDA0003790912240000166
则对于椭圆弧上任意角度处的弧长半径近似为:
Figure BDA0003790912240000167
从初始角度θs到末端角度θe积分,得到距离S的速度变化Δv2,如下:
Figure BDA0003790912240000168
Figure BDA0003790912240000171
Figure BDA0003790912240000172
式中,
Figure BDA0003790912240000173
(1)当
Figure BDA0003790912240000174
此时椭圆弧段内运动为纯加速或纯减速,示意图如图17所示:
以当前插补周期初始的合成加速度aT1近似T内的加速度,其正负是由纯加速运动还是纯减速运动来判断,若是纯加速运动则为正值,若是纯减速运动则为负值,通过距离加速度公式求解ST1,如下:
Figure BDA0003790912240000175
vs_T1为插补周期的初始速度,也是上一个插补周期的末端速度。为此插补周期的初始角度对应的弧长半径为
Figure BDA0003790912240000176
求解该插补周期的角度变化量dθ如下:
ST1=rT1×dθ
通过上式的dθ和该插补周期的初始角度θs_T1求解末端角度θe_T1,如下:
dθ=θs_T1e_T1
根据初始角度和末端角度利用式(1)和式(2)求解该插补周期的速度变化量
Figure BDA0003790912240000181
利用速度变化量求解末端速度,如下:
纯加速运动过程:
Figure BDA0003790912240000182
纯减速运动过程:
Figure BDA0003790912240000183
但是此时的末端速度还会受到向心加速度的钳制,根据上述钳制速度的第二种情况得到
Figure BDA0003790912240000184
此时插补周期的末端速度为v′e_T1=min(vn,ve_T1),而后|v′e_T1-ve|与此插补周期末端角度θe_T1到本椭圆弧段末端角度θe所求解的最大速度变化量Δv′,求解公式参考式(1)和式(2),其中的初始角度和末端角度分别为:此插补周期末端角度θe_T1和本椭圆弧段末端角度θe;|v′e_T1-ve|,Δv′两者进行比较,得到插补周期结束时的末端速度,如下:
Figure BDA0003790912240000185
(2)当
Figure BDA0003790912240000186
(能够到达最大允许速度ve),该情况时间速度曲线又分成三种情况。
①vs≤vr,且vm>vr(vm为最大速度,以椭圆弧末端速度ve为初始速度,以椭圆弧末端角度为初始角度θe,以椭圆弧的初始位置为末端角度θs,利用式2进行速度积分求解出来最大速度变化量
Figure BDA0003790912240000187
而后利用式1,求解出来最大速度
Figure BDA0003790912240000188
由vs加速到期望速度vr,保持期望速度vr一段时间,随后减速达到最大允许速度ve,如图18所示:
②vs≤vr,且vm≤vr(vm为最大速度):由vs加速到最大速度vm,然后减速到最大允许速度ve,如图19所示:
③vs>vr:为减速情况,由vs减速到期望速度vr,保持一段时间,然后减速到最大允许速度ve,如图20所示:
对于
Figure BDA0003790912240000189
这种情况,本次插补周期首先通过到达期望速度所需要的加速度
Figure BDA00037909122400001810
的正负值作为合成加速度的正负值依据,当Δas-r>0,则此时的合成加速度aT1>0,反之若Δas-r<0,则此时的合成加速度aT1<0,其中T为插补周期,然后再两者绝对值比较大小,再分情况进行处理:
(1)若|Δas-r|≤|aT1|,意味着在此插补周期内可以达到期望速度,根据到达期望速度的加速度求解距离
Figure BDA0003790912240000191
可以求解出插补周期结束的角度θe_T1,插补周期时间结束时的速度为vr。根据插补周期结束的角度即可确定插补周期的终点。
(2)若|Δas-r|>|aT1|,意味着达不到期望速度,始终保持减速或加速状态结束该插补周期,计算插补周期结束的角度θe_T1,插补周期时间结束时的速度为ve_T1,以及插补周期结束时的角度θe_T1。方法同
Figure BDA0003790912240000192
椭圆弧段内运动与前面所述的纯加速或纯减速方法一致。
由于当
Figure BDA0003790912240000193
在此情况下,本椭圆弧段的末端速度是可以达到的,为了防止计算无法确定减速点位置,需要在每个插补周期内再增加一个校核,即以椭圆弧末端速度ve为初始速度,以椭圆弧末端角度为初始角度θe,以椭圆弧的本插补周期的末端角度θe_T1为末端角度,利用式(2)进行速度积分求解出来最大速度变化量
Figure BDA0003790912240000194
而后利用式(1),求解出来最大速度
Figure BDA0003790912240000195
当ve_T1≥vm_e_e_T1则说明必须以速度vm_e_e_T1为本插补周期的末端速度则有ve_T1=vm_e_e_T1,且标记此后进入纯减速阶段,后续处理按照纯减速处理方式进行;若ve_T1<vm_e_e_T1,则说明还未进行到纯减速阶段,可以继续按照前面的计算方式进行。
通过求解出插补周期的速度、距离和角度利用椭圆弧插补对所加工的样条曲线进行拟合,为实现本发明插补方法提供数据,并且解决以往插补算法进给速度不稳定的问题。
其它步骤及参数与具体实施方式一至五之一相同。
本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (4)

1.一种基于椭圆弧拟合的NURBS曲线插补方法,其特征在于,所述方法具体包括以下步骤:
步骤一、对数控加工的样条曲线进行分段后,再依次对各段曲线进行椭圆弧拟合,分别得到每段曲线对应的椭圆弧拟合结果;
所述步骤一中,对各段曲线进行椭圆弧拟合的具体过程为:
步骤一一、将数控加工的样条曲线的各个分段点依次表示为u0,u1,...,uk+1,其中,样条曲线的起始点us=u0,样条曲线的末端点ue=uk+1,计算中间变量Δu:
Figure FDA0003790912230000011
则u1=u0+Δu,u2=u1+Δu,...,ue=uk+1=uk+Δu;
步骤一二、将整个样条曲线放入笛卡尔坐标系中,得到每个分段点在笛卡尔坐标系下的坐标;
对于任意的一段曲线,记该段曲线的两个端点分别为un和un+1,将un在笛卡尔坐标系下的坐标记为A′,将un+1在笛卡尔坐标系下的坐标记为B′,将过A′点的切线和过B′点的切线的交点记为D′点,将过A′点切线的法线与过B′点切线的法线的交点记为C′点;
在笛卡尔坐标系下,将该段曲线旋转角度α,得到该段曲线在笛卡尔坐标系下旋转后的曲线段,将旋转后的曲线段的端点un在笛卡尔坐标系下的位置记为A(xA,yA),将旋转后的曲线段的端点un+1在笛卡尔坐标系下的位置记为B(xB,yB),将过A点切线和过B点切线的交点在笛卡尔坐标系下的位置记为D(xD,yD),将过A点切线的法线与过B点切线的法线的交点在笛卡尔坐标系下的位置记为C(xC,yC);
根据公式:
Figure FDA0003790912230000012
整理得到:
Figure FDA0003790912230000013
求出C(xC,yC)和D(xD,yD)后,选取AD、DB、BC和AC中最长边的长度作为椭圆弧的长半轴a,最短边的长度作为椭圆弧的短半轴b;
步骤一三、将点A(xA,yA)作为椭圆弧的初始坐标,将点B(xB,yB)作为椭圆弧的末端坐标,根据确定出的长半轴a和短半轴b对旋转后的曲线段进行椭圆弧拟合,得到旋转后的曲线段对应的初步拟合曲线,即求解出椭圆弧,再执行步骤一四;
步骤一四、将拟合曲线即椭圆弧的中点坐标记为坐标点
Figure FDA0003790912230000021
将旋转后的曲线段在笛卡尔坐标系下的中点记为F,将中点F与
Figure FDA0003790912230000022
之间的距离作为拟合误差ε;
若拟合误差ε小于等于设定的阈值,则执行步骤一六;
若拟合误差ε大于设定的阈值,则执行步骤一五;
步骤一五、对旋转后的曲线段进行二次分段,即将un
Figure FDA0003790912230000023
作为曲线的两个端点,采用步骤一二至步骤一四的方法对端点为un
Figure FDA0003790912230000024
的曲线进行拟合;
步骤一六、将初步计算所得的椭圆弧作为旋转后的曲线段的拟合曲线,并采用步骤一二至步骤一四的方法对下一段曲线进行拟合;
步骤二、根据拟合椭圆的长半轴长度、短半轴长度、期望速度以及各坐标轴允许的最大加速度进行椭圆弧速度规划;
步骤三、根据速度规划得到每一个插补周期内所需完成的椭圆弧的起点、终点,再进行椭圆弧的插补处理。
2.根据权利要求1所述的一种基于椭圆弧拟合的NURBS曲线插补方法,其特征在于,所述步骤三的具体过程为:
步骤三一、在以椭圆自身的长轴为X′轴,短轴为Y′轴的坐标系下,计算椭圆上分割角θ′为:
Figure FDA0003790912230000025
其中,β代表在椭圆拟合过程中椭圆旋转的角度,θ为旋转β角度后的坐标系下椭圆弧矢量最长脉冲轴区分角度;
再根据分割角θ′求解出四个角度区域:
Figure FDA0003790912230000026
即,将椭圆插补区域划分为(θ′1,θ′2]、(θ′2,θ′3]、(θ′3,θ′4]、(θ′4,θ′1]四个区间;在区间(θ′2,θ′3]和(θ′4,θ′1]内最长脉冲轴为Y轴,在区间(θ′1,θ′2]和(θ′3,θ′4]内最长脉冲轴为X轴;
步骤三二、将椭圆的圆心坐标表示为O(x0,y0),插补起点坐标表示为(x1,y1),插补终点坐标表示为(xn,yn),θs为插补起点到椭圆圆心的矢量与X轴正半轴的夹角,即
Figure FDA0003790912230000031
θe为插补终点到椭圆圆心的矢量与X轴正半轴的夹角,即
Figure FDA0003790912230000032
Figure FDA0003790912230000033
则旋转角度β后的初始角度θ′s=θs-β,末端角度θ′e=θe-β;
若在θ′1,θ′2,θ′3,θ′4四个角度中至少有一个存在于θ′s与θ′e之间,则根据方程组:
Figure FDA0003790912230000034
解出满足方程组的两个点,再根据图像判别唯一性得到点P(xθ′,yθ′),并根据点P(xθ′,yθ′)计算最长脉冲轴为X轴的部分的脉冲数:
Figure FDA0003790912230000035
其中,pulunity为Y轴的脉冲当量,pulunitx为X轴的脉冲当量,(x′n,y′n)是旋转角度β后插补终点的坐标;
则最长脉冲轴为X轴的部分的脉冲数n1为:n1=nx1
Figure FDA0003790912230000036
其中,(x′1,y′1)是旋转角度β后插补起点的坐标;
最长脉冲轴为Y轴的部分的脉冲数n2为:n2=ny2;则总脉冲数为n=n1+n2
若θ′1,θ′2,θ′3,θ′4四个角度均未存在于θ′s与θ′e之间,则:
Figure FDA0003790912230000037
总脉冲数为:n=max{nx,ny};
根据总脉冲数n计算椭圆分段后每段的夹角
Figure FDA0003790912230000038
步骤三三、根据椭圆的表达式将插补起点坐标表示为x1=a×cosθs,y1=b×sinθs
插补起点坐标到椭圆圆心的距离len1为:
Figure FDA0003790912230000039
插补起点坐标到椭圆圆心坐标的矢量与X轴正半轴夹角的三角函数为:
Figure FDA0003790912230000041
求解出在X′OY′坐标系下插补起点坐标(x′1,y′1):
Figure FDA0003790912230000042
根据椭圆在X′OY′坐标系下的方程:
Figure FDA0003790912230000043
椭圆下一点插补坐标(x′2,y′2)到椭圆圆心的矢量与X′正半轴的夹角为θ′2_se=θ′s+Δθ,根据θ′2_se得到下一点插补坐标:
Figure FDA0003790912230000044
(x′2,y′2)到椭圆圆心的距离len′2为:
Figure FDA0003790912230000045
(x′2,y′2)到椭圆圆心的矢量与X′轴正半轴夹角的三角函数为:
Figure FDA0003790912230000046
在经过旋转角度变换后θ2_se=θ′2_se+β,坐标点(x′2,y′2)在笛卡尔坐标系下的坐标为:
Figure FDA0003790912230000047
步骤三四、设X轴方向脉冲余数为repulse_x,Y轴方向脉冲余数为repulse_y,根据(x1,y1)和(x2,y2)得到X轴方向的坐标增量Δx1以及Y轴方向的坐标增量Δy1
Δx1=x2-x1
Δy1=y2-y1
则X轴方向上的脉冲余数为repulse_x=Δx1×pulunitx,Y轴方向上的脉冲余数为repulse_y=Δy1×pulunity
再根据repulse_x和repulse_y确定脉冲坐标;
步骤三五、通过步骤三三至步骤三四的方法,得到插补段上所有插补点的坐标,即任意插补点坐标(xi,yi)和任意脉冲坐标(xi_r,yi_r)。
3.根据权利要求2所述的一种基于椭圆弧拟合的NURBS曲线插补方法,其特征在于,所述根据repulse_x和repulse_y确定脉冲坐标,其具体过程为:
I.当|repulse_x|≥|repulse_y|时,向X轴发送脉冲的坐标的确定方式为:
若repulse_x>0,则第i个脉冲的X轴坐标xi_r为:xi_r=x(i-1)_r+1/pulunitx,i≥2,i为第i个脉冲,x(i-1)_r为第i-1个脉冲的X轴坐标;
若repulse_x≤0,则第i个脉冲的X轴坐标xi_r为:xi_r=x(i-1)_r-1/pulunitx
当|repulse_x|≥|repulse_y|时,向Y轴发送脉冲的坐标的确定方式为:
步骤1、若repulse_y>0,当Y轴不发送脉冲时,记第i个脉冲的Y轴坐标yi_r_1=y(i-1)_r,y(i-1)_r为第i-1个脉冲的Y轴坐标,当Y轴发送脉冲时,记第i个脉冲的Y轴坐标yi_r_2=y(i-1)_r+1/pulunity
若repulse_y≤0,当Y轴不发送脉冲时,记第i个脉冲的Y轴坐标yi_r_1=y(i-1)_r,当Y轴发送脉冲时,记第i个脉冲的Y轴坐标yi_r_2=y(i-1)_r-1/pulunity
步骤2、根据脉冲坐标(xi_r,yi_r_1)确定反馈值ret1,根据脉冲坐标(xi_r,yi_r_2)确定反馈值ret2
求出脉冲坐标(xi_r,yi_r_1)到椭圆圆心的距离leni_r_1
Figure FDA0003790912230000051
脉冲坐标(xi_r,yi_r_1)到椭圆圆心的矢量与X′正半轴夹角θ′i_r_1的三角函数为:
Figure FDA0003790912230000052
设θ″i_r_1=θ′i_r_1-β,根据θ″i_r_1求解出转换到X′OY′坐标系下的脉冲坐标(x′i_r,y′i_r_1):
Figure FDA0003790912230000053
根据转换后的脉冲坐标(x′i_r,y′i_r_1)求解出反馈值ret1
Figure FDA0003790912230000061
同理,对脉冲坐标(xi_r,yi_r_2)进行处理,求解出反馈值ret2
步骤3、若ret1>ret2,则Y轴发送脉冲,Y轴方向的脉冲坐标yi_r=yi_r_2,若ret1≤ret2,则Y轴不发送脉冲,Y轴方向的脉冲坐标yi_r=yi_r_1,进而得到第i个脉冲的脉冲坐标(xi_r,yi_r);
II.当|repulse_x|<|repulse_y|时,向Y轴发送脉冲的坐标的确定方式为:
若repulse_y>0,则第i个脉冲的Y轴坐标yi_r为:yi_r=y(i-1)_r+1/pulunity,i≥2,i为第i个脉冲,y(i-1)_r为第i-1个脉冲的Y轴坐标;
若repulse_y≤0,则第i个脉冲的Y轴坐标yi_r为:yi_r=y(i-1)_r-1/pulunity
当|repulse_x|<|repulse_y|时,向X轴发送脉冲的坐标的确定方式为:
步骤(1):若repulse_x>0,当X轴不发送脉冲时,记第i个脉冲的X轴坐标xi_r_1=x(i-1)_r,x(i-1)_r为第i-1个脉冲的X轴坐标,当X轴发送脉冲时,记第i个脉冲的X轴坐标xi_r_2=x(i-1)_r+1/pulunitx
若repulse_x≤0,当X轴不发送脉冲时,记第i个脉冲的X轴坐标xi_r_1=x(i-1)_r,当X轴发送脉冲时,记第i个脉冲的X轴坐标xi_r_2=x(i-1)_r-1/pulunitx
步骤(2):根据脉冲坐标(xi_r_1,yi_r)确定反馈值ret3,根据脉冲坐标(xi_r_2,yi_r)确定反馈值ret4
求解出脉冲坐标(xi_r_1,yi_r)到椭圆圆心的距离leni_r_2
Figure FDA0003790912230000062
脉冲坐标(xi_r_1,yi_r)到椭圆圆心的矢量和X′正半轴夹角θ′i_r_2的三角函数为:
Figure FDA0003790912230000063
设θ″i_r_2=θ′i_r_2-β,根据θ″i_r_2求解出转换到X′OY′坐标系下的脉冲坐标(x′i_r_1,y′i_r):
Figure FDA0003790912230000071
简化上式为:
Figure FDA0003790912230000072
根据转换后的脉冲坐标(x′i_r_1,y′i_r)求解出反馈值ret3
Figure FDA0003790912230000073
同理,对(xi_r_2,yi_r)进行处理得到ret4
步骤(3):若ret3>ret4,则X轴发送脉冲,X轴方向的脉冲坐标xi_r=xi_r_2,若ret3≤ret4,则X轴不发送脉冲,X轴方向的脉冲坐标xi_r=xi_r_1,进而得到第i个脉冲的脉冲坐标(xi_r,yi_r)。
4.根据权利要求3所述的一种基于椭圆弧拟合的NURBS曲线插补方法,其特征在于,所述角度θ的计算方式为:
Figure FDA0003790912230000074
其中,pulunitx为X轴的脉冲当量,pulunity为Y轴的脉冲当量。
CN202210954999.8A 2022-08-10 2022-08-10 一种基于椭圆弧拟合的nurbs曲线插补方法 Pending CN115202291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210954999.8A CN115202291A (zh) 2022-08-10 2022-08-10 一种基于椭圆弧拟合的nurbs曲线插补方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210954999.8A CN115202291A (zh) 2022-08-10 2022-08-10 一种基于椭圆弧拟合的nurbs曲线插补方法

Publications (1)

Publication Number Publication Date
CN115202291A true CN115202291A (zh) 2022-10-18

Family

ID=83585173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210954999.8A Pending CN115202291A (zh) 2022-08-10 2022-08-10 一种基于椭圆弧拟合的nurbs曲线插补方法

Country Status (1)

Country Link
CN (1) CN115202291A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115647575A (zh) * 2022-12-28 2023-01-31 歌尔股份有限公司 激光加工控制方法、装置、设备及存储介质
CN116048004A (zh) * 2022-12-14 2023-05-02 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048004A (zh) * 2022-12-14 2023-05-02 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备
CN116048004B (zh) * 2022-12-14 2024-04-19 天津理工大学 数控系统中基于切线矢量的阿基米德螺线实时插补方法及设备
CN115647575A (zh) * 2022-12-28 2023-01-31 歌尔股份有限公司 激光加工控制方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109571473B (zh) 一种误差可控的小线段轨迹光顺方法
CN115202291A (zh) 一种基于椭圆弧拟合的nurbs曲线插补方法
CN104615083B (zh) 基于刀位点修改的曲面刀轨轮廓误差补偿方法
CN108568817B (zh) 一种基于贝塞尔曲线的Delta机器人轨迹连接控制方法
CN109765887B (zh) 一种自动驾驶控制方法
CN109664303B (zh) 一种误差可控的四轴工业机器人b样条过渡式平顺轨迹生成方法
CN108062073B (zh) 一种用于高质量加工的圆弧平滑压缩插补方法
CN108227630B (zh) 一种采用时间参数多项式插补的自由曲面数控加工方法
CN103064344B (zh) 一种基于nurbs曲线插补的速度平滑控制方法
CN104615084B (zh) 加工进给速度优化的刀轨曲线轮廓误差补偿方法
CN108073138B (zh) 适用于高速高精加工的椭圆弧平滑压缩插补算法
CN109976262B (zh) 一种针对微线段加工的全局曲率连续光顺方法
Zhang et al. Minimum time corner transition algorithm with confined feedrate and axial acceleration for nc machining along linear tool path
CN111913441B (zh) 一种基于轨迹模式的拐角平滑过渡方法
CN109918807B (zh) 一种优化曲率的局部刀轨光顺方法
CN113985817B (zh) 一种可在线插补的机器人小线段轨迹局部光顺方法及系统
CN112486101B (zh) Nurbs曲线自适应前瞻插补方法
WO2024124794A1 (zh) 一种五轴联动同步刀具路径插补方法和系统
CN115122329B (zh) 一种便捷的工业机器人关节空间轨迹规划方法
US20240210915A1 (en) Five-axis linkage synchronous tool path interpolation method and system
CN113504764B (zh) 基于位置矢量加权积分的连续线段数控加工路径平滑方法
CN111633668A (zh) 一种用于机器人加工三维自由曲面的运动控制方法
CN118192435A (zh) 采用圆弧映射和加减速算法的nurbs插补方法及系统
CN111722591A (zh) 一种商标模切机高精度联动插补的方法
CN111610751A (zh) 过点集nurbs插值曲线的插值误差多次细分迭代计算方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination