螺旋线插补速度规划及其插补参数求解方法
在FANUC0MD系统上用宏程序开发螺旋线插补_陈芳

extend the function of CNC machine tools.
Key wor ds: NC machining; macro program; spiral interpolation
177
CHEN Fang
(School of Mechanical and Electronic Engineering, Shenzhen Polytechnic, Shenzhen Guangzhou 518055, China)
Abstr act: The method of developing spiral interpolation macro program on FANUC 0MD CNC system is discussed. At first the
程序号 ○9010 ○9011 ○9012 ○9013 ○9014 ○9015 ○9016 ○9017 ○9018 ○9019
参数号 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059
速度。
设螺旋线起点
坐 标 为 ( x1, y1, z1) , 终 点 坐 标 为 ( x2, y2, z2) , 图 1 所 示 为 XY 平
加工程序中, 调用宏程序指令格 式 为 : G10 X_Y_Z_I_J_F_, 则 设 宏程序号为 O9010 之后, 将参数 No.6050 设为 10 即可。
4 误差分析
根据以上螺旋线插补算法的分析, 用空间直线拟合
则宏程序代码参考如下: O90106 IF [#4003 EQ 90] GOTO 16 若 为 G91 则 计 算 终 点 绝 对坐标值( X2,Y2,Z2) #24= #24+#50016 系统变量 #5001 为程序段终点 X 坐标
数控编程中的高速插补算法解读

数控编程中的高速插补算法解读在数控机床的操作中,高速插补算法是至关重要的一环。
它能够使机床在高速运动中保持精准的定位和平滑的轨迹,从而实现高效的加工。
本文将对数控编程中的高速插补算法进行解读,探讨其原理和应用。
一、高速插补算法的原理高速插补算法是通过计算机对机床的轴运动进行控制,使其在高速运动中能够准确地按照预定的路径进行插补。
其原理主要包括两个方面:轨迹规划和速度控制。
1. 轨迹规划轨迹规划是指根据加工要求和机床的运动特性,确定机床在加工过程中的运动路径。
常见的轨迹规划方法有线性插补、圆弧插补和螺旋线插补等。
在高速插补算法中,需要根据机床的最大加速度和最大速度等参数,结合加工要求,确定合适的插补方式和路径。
2. 速度控制速度控制是指根据轨迹规划确定的路径,控制机床在运动过程中的速度。
在高速插补算法中,需要考虑机床的加速度和减速度,以及机床的最大速度等参数,通过合理的速度控制算法,使机床在高速运动中保持平稳的轨迹和准确的定位。
二、高速插补算法的应用高速插补算法在数控编程中有着广泛的应用。
它可以用于各种形状的曲线插补、复杂的轮廓加工和高速切割等。
下面将通过几个实际案例来介绍高速插补算法的应用。
1. 曲线插补在数控机床的加工过程中,经常需要对各种形状的曲线进行插补。
高速插补算法可以根据曲线的特点,通过合理的轨迹规划和速度控制,实现精准的曲线插补。
例如,在雕刻加工中,通过高速插补算法可以实现复杂曲线的精细加工,使得加工效率和加工质量得到提高。
2. 复杂轮廓加工在汽车零部件等复杂工件的加工中,常常需要进行复杂轮廓的加工。
高速插补算法可以根据轮廓的特点,通过合理的路径规划和速度控制,实现复杂轮廓的高效加工。
例如,在汽车车身板金加工中,通过高速插补算法可以实现车身轮廓的高速切割,从而提高生产效率和产品质量。
3. 高速切割在金属切割等领域,高速切割是一种常见的加工方式。
高速插补算法可以根据切割的要求,通过合理的路径规划和速度控制,实现高速切割。
阿基米德螺线的插补算法研究

阿基米德螺线的插补算法研究
王虎符;王文格
【期刊名称】《组合机床与自动化加工技术》
【年(卷),期】1996(000)001
【总页数】4页(P8-10,7)
【作者】王虎符;王文格
【作者单位】不详;不详
【正文语种】中文
【中图分类】TH123.1
【相关文献】
1.基于时间分割法的阿基米德螺线的插补算法研究 [J], 罗良玲;曹苏明
2.梯形速度控制变插补周期的实时插补算法研究 [J], 郑金兴;张铭钧
3.位模式插补与位插补速度控制算法研究 [J], 张威;赵东标;刘凯
4.基于等误差阿基米德螺线法的涡旋型线的拟合算法研究 [J], 刘涛;李银萍
5.基于UG的工业机器人圆弧插补后处理算法研究 [J], 王嘉翀;郭恩澍;李宏伟因版权原因,仅展示原文概要,查看原文内容请购买。
(完整word版)G32螺纹插补指令

板书设计:
如在旋转外螺当纹加工中,如图4—7A所示,为前置刀架常见的主轴正转。
刀具自右向左进行加工;当后置刀架加工时,如图4-7B所示,应为主轴反转,自左向右进行加工。
反之,成为左旋转螺纹,如图,4-7C 4-7D 所示.加工内螺纹时,如图4—8所示,一般自右向左进行切削加工。
2进刀方式
1)单向切入法;图4-9a所示,此切入法切削刃承受的弯曲压力小,状态较稳定,成削形状态较为有利,切深较大,侧向进刀时,齿间有足够空间排出切削。
用于加工螺距4mm以上的不锈钢等难加工材料的工件或刚
6.螺纹插补指令 G32
1指令的功能,标识脉冲后,刀具立即启动以F指定的螺距沿直线移至指令中指定的终点坐标值。
2指令格式:
G32 X(U) Z(W) F(E) ;
参数含义:
X,Z为螺纹切削终点坐标值;
U,W为螺纹切削终点相对于循环起点的坐标增量;
F为螺纹的导程,单线螺纹时为螺距;
长轴与短轴的判断方法:
aX Z
LZ
LX
锥螺纹。
在FANUC 0MD系统上用宏程序开发螺旋线插补

.
然
后 分析 了螺 旋 线插补 的算 法。根 据此 算法 给 出 了宏 程序 流程 图和代 码 ,最后 分析 了此 算法 的拟 合
误 差 。利 用该 方法可 以提 高和扩展 数控机 床 的功能 。 关 键 词 :数 控 加 工 ; 宏 程 序 ;螺 旋 线 插 补 中 图 分 类 号 :T 6 9 G 5 文 献 标 识 码 :A 文 章 编 号 :10 — 6 3 (0 6 6 16 0 0 2 6 7 2 0 )0 — 7 — 2
VOI No 6 . 9. . 1 NO , 0 V. 06 2
在 F N C0 A U MD系统 上用宏程序 开发螺旋线插补
陈 芳
( 圳 职 业 技 术学 院 机 电工 程 学 院 , 广 东 深 圳 深 585) 10 5
摘 要 : 讨 论 了 F NUC O A MD 数 控 系统 用 宏 程 序 开 发 螺 旋 线 插 补 功 能 的 方 法 。 介 绍 了宏 程 序 的 功 能
公 共 变量 在不 同的宏 程 序 中的 意 义相 同 。 # o 一 19 公 共 变量 当断 电 时 ,变量 # 0- 19初 始 化为 0 10 # 9 10 # 9 ;
0 一9 9 0#9 #Oo 1o
一
变 量 # 0 - 9 9的 数 据 保 存 , 即使 断 电 50# 9
2 螺旋线 插补算 法分析
设 宏 程 序 调 用 格 式 :Gx x
X Y Z
— — —
1 宏 程序 功 能简 介
用 户宏 的最 大特 征有 以下 几个 方 面 [:① 可 以在 用 2 1
I F 其 中 X Y Z j— 一, — _一
表示 螺旋 线 终 点 坐 标 值 ,I j一 表示 在 X、Y 轴 上 圆 心 相 对 与
一种实用的螺旋线插补算法的研究

Na j g2 0 1 Chn ) ni 1 0 6, ia n
摘要 : 根据 时 间分 割 法 的思 想 ,提 出 了一 种 螺 旋 线插补 算法 , 并介 绍 了该 方 法 的基本 原 理 和推 导 过程 。通 过 插 补 运 算 , 算 出每 个 插 补 周 期 内 X 计
轴 、 轴 和 Z 轴 的 进 给量 以驱 动 相 应轴 运 动 , 合 y 其 成 的运 动 轨 迹 形 成 一 段 螺 旋 线 。 为 使 电 机 平 稳 运 行 , 用 线 性 加 减 速 控 制 。 实 际 运 行 证 明 这 种 方 法 采
tme— d v d d m e h d a d t e p i cp e i a s e i — i i e t o n h r i l s lo d ・ n -
du e n de a l The a un ff e o , a c d i t i. mo t o e d f r X Y nd Z a i i c l u a e i e r i t r o a i n y l t x s s a c l t d n ve y n e p l to c ce o c nto h o r lt e mov m e fr l tvea s a d t e s n e nto ea i xi , n h y —
螺旋插补教程

螺旋插补例程在Turbo PMAC控制器中,螺旋插补仅仅是标准圆弧插补的扩展,不执行圆弧插补的轴将自动执行线性插补运动。
在螺旋插补中,一般使用X,Y作为圆弧插补轴,Z轴为直线轴垂直于XY平面,如果添加一个与圆弧平面垂直的旋转轴C,使刀具与运动路径成一个固定的夹角,可以保证刀具始终垂直于切割面。
例如,完成一个XY平面的起点为(X=10,Y=0)的完整圆,可以使用下列命令:NORMAL K-1 ;指定XY平面,Z轴为垂直轴CIRCLE2 ;逆时针圆弧插补ABS ;按坐标指定终点(绝对模式)INC(R) ;按圆心指定终点(相对模式)X10 Y0 I-10 ;开始圆弧运动如果没有给出一个轴的明确终点,则认为终点与起点重合,在圆弧插补中,若未定义圆弧终点坐标,默认会执行完整的圆弧,所以执行画圆的指令可以简化为:I-10加入Z轴,使其运动到Z=1,C轴为旋转轴旋转至360°,命令可变为:X10 Y0 I-10 Z1 C360由于是一个完整的圆,指令可简化为:I-10 Z1 C360应用实例有时,内螺纹太大无法进行攻丝,这就需要一个可以三维平动并可自身旋转的单点刀具,以确保紧贴并垂直于内表面进行切削。
这些直角坐标轴执行螺旋插补,旋转轴则以恒定角速度运动。
为确保满足切削深度并保护刀具,程序需要执行一系列“回合”,执行每个“回合”都会增加一定切削深度,一个“回合”是一段螺旋插补,专门完成一段螺纹,在各段之间使用Rapid运动以准备下个段的插补。
每个圆弧运动模式周期都会在XY平面产生一个完整的圆,Z轴会运动一个“螺距”,而C轴也会运动360°。
程序速度是刀具中心在XYZ空间的矢量速度(默认为Frax (X,Y,Z)命令)。
这个速度会在程序中分解到各轴,因为刀具中心的速度要慢于刀尖的速度。
可以在示例中使用刀具半径补偿,补偿方式在程序中隐含。
下图是螺旋插补的正视图和侧视图。
如下设置及程序可实现上图所示运动; Set up coordinate system设置坐标系&1 ;指定坐标系1#1->400X ;X(mm)2.5um分辨率#2->400Y ;Y(mm)2.5um分辨率#3->400Z ;Z(mm)2.5um分辨率#4->100C ;C(角度)0.01°分辨率I428=36000 ;#4(C)整圈3.6万ctsI5113=10 ;坐标系1粗插补10msI5190=60000 ;坐标系1速度6万cts/ms定义#define CenterX Q500 ;孔中心X坐标#define CenterY Q501 ;孔中心Y坐标#define RetractZ Q502 ;起刀位Z坐标#define StartZ Q503 ;切削开始Z坐标#define BottomZ Q504 ;孔底部Z坐标#define Pitch Q505 ;螺距(用户单位)#define ToolCenterRad Q506 ;刀具中心运动半径#define InsideRad Q507 ;未切削孔半径#define DepthIncr Q508 ;每“回合”切削深度#define ToolLength Q509 ;刀具中心距刀尖距离(刀具长度)#define ThreadDepth Q510 ;最终应达到的切削深度#define ThreadNum Q511 ;螺纹切削计数#define NumOfThreads Q512 ;总的螺纹数#define CutSpeed Q513 ;刀尖切削速度;设置系统常量RetractZ=450 ;起刀位距起始位置450mmToolLength=25 ;刀尖距刀具中心25mm;设置切削参数CenterX=-220 ;距起始位置(单位:毫米)CenterY=135 ;距起始位置(单位:毫米)BottomZ=20 ;距起始位置(单位:毫米)Pitch=10 ;螺距(单位:毫米)InsideRad=55 ;距孔圆心距离(单位:毫米)DepthIncr=0.2 ;每回合增加的深度(单位:毫米)ToolLength=25 ;距刀具中心(单位:毫米)ThreadDepth=8.0 ;距未切削表面(单位:毫米)NumOfThreads=10 ;完整圆弧个数(螺纹数)CutSpeed=80 ;切削速度单位:mm/minOPEN PROG 60 CLEARRAPID ;快速模式ABS ;所有轴均为绝对模式X(CenterX) Y(CenterY) Z(RetractZ) C0 ;到达孔入口处StartZ=BottomZ-Pitch/10Z(StartZ) ;Z到达开始切削位置ToolCenterRad=InsideRad+DepthIncr-ToolLengthX(ToolCenterRad) ;刀具中心运动至理想刀具中心运动半径FRAX(X,Y,Z) ;矢量速度中包含的轴;循环中螺纹数加1进入下一部分WHILE (ToolCenterRad+ToolLength<InsideRad+ThreadDepth)ThreadNum=0WHILE (ThreadNum<NumOfThreads+1)CIRCLE2 ;逆时针圆弧模式F(CutSpeed*InsideRad/(InsideRad-ToolLength))INC(Z,C) ;这些轴为增量模式I(-ToolCenterRad) Z(Pitch) C360 ;X,Y运动一个完整圆弧,Z轴运动一个螺距,C轴旋转360°ThreadNum=ThreadNum+1 ;螺纹计数+1ENDWHILERAPID ;快速进入下一段ABS(Z) ;绝对模式X(InsideRad-DepthIncr-ToolLength) ;清除孔内余物Z(StartZ) ;Z轴回归起刀位ToolCenterRad=ToolCenterRad+DepthIncr ;进入下一段X(ToolCenterRad) ;运动到下一个切削深度ENDWHILEX(CenterX) Y(CenterY) Z(RetractZ) ;归原位CLOSE使用G代码执行通常操作类似于螺纹切削会使用子程序,在G代码程序中,这种类型操作被称为“固定循环”由一个含有一系列代码参数的程序调用,在这个例子中,我们可以使用带有8个参数的G78代码调用,在下面给出:G78 X Y Z R P T D IX的值是孔圆心的X坐标Y的值是孔圆心的Y坐标Z的值是孔底部的Z坐标R的值是孔内部半径P的值是螺距T的值是螺纹计数D的值是期望切削深度I的值是每“回合”切削深度在Turbo PMAC中G代码子程序在Prog1000中定义,子程序每行前加入100倍于G 代码数字的标号,例如G78的子程序会调用Prog1000中的标号为N78000的行。
第四部分插补原理与速度控制

(3)迭代法偏差函数F的推导
①设加工点P在圆弧外侧或圆弧上,则加工偏差F≥0, 刀具需向X坐标负方向进给一步,即移动到新的加工点
P(Xi+1,Yi)。新加工点的偏差为: Fi+1,i = (Xi – 1)2 +Yi2 -(X02 + Y02)
=Xi2-2Xi+1-X02+Yi2-Y02 =F-2Xi+1 ②设加工点P在圆弧内侧,则加工偏差F<0,刀具需向
①偏差判别 根据偏差值确定刀具相对加工直线的位置。
②坐标进给 根据偏差判别的结果,决定控制沿哪个坐标 进给一步,以接近直线。
③偏差计算 计算新加工点相对直线的偏差,作为下一步 偏差判别的依据。
④终点判别 判断是否到达终点,未到达终点则返回第一 步,继续插补,到终点,则停止本程序段的插补。终 点判别可采用两种方法:一是每走一步判断Xi-Xe≥0及 Yi-Ye≥0是否成立,如成立,则插补结束否则继续。二 是把每个程序段中的总步数求出来,即n=|Xe | + | Ye | , 每走一步n-1,直到n=0为止。
线 型 偏差判别
象
1
2
限
3
4
F≥0
-Y
+X
+Y
-X
G02
F<0
+X
+Y
-X
-Y
F≥0
-X
-Y
+X
+Y
G03
F<0
+Y
-X
-Y
+X
(3)圆弧插补自动过象限处理
为了加工二个象限或二个以上象限的圆弧,圆弧插 补程序必须具有自动过象限功能。自动过象限程序包 括象限边界处理、过象限判断及数据处理等模块。
螺旋线插补速度规划及其插补参数求解方法

螺旋线插补速度规划及其插补参数求解方法王太勇;尤中桐;辛全琦【摘要】提出了一种基于曲率特性与7段式S型加减速的阿基米德螺线插补算法.该插补算法的速度规划综合考虑了螺旋线变半径特性与曲率特性对运行速度的持续限制,以求得到合理的速度规划结果.针对一般插补参数求解方法存在较高速度波动率的问题,设计了一种基于改进牛顿迭代的预估-校正法.该方法以1阶泰勒展开法求解迭代初值,然后利用改进牛顿迭代计算限定的次数得到精确值,最后通过仿真对比与实验说明其优势与应用价值,该方法可有效降低速度波动率,且满足数控系统实时性要求.【期刊名称】《天津大学学报》【年(卷),期】2018(051)011【总页数】10页(P1107-1116)【关键词】阿基米德螺线;加减速规划;速度波动;改进牛顿迭代【作者】王太勇;尤中桐;辛全琦【作者单位】天津大学机械工程学院,天津 300350;天津大学机械工程学院,天津300350;天津大学机械工程学院,天津 300350【正文语种】中文【中图分类】TH164制造业迅猛发展,在航空、航天、汽车、模具制造等领域,复杂曲线类零件的应用越来越广泛.是否具有空间参数曲线实时插补功能,是衡量数控系统加工能力的一个重要标志[1],然而除少数国外高端数控系统(西门子840D、法那科30i等)具有复杂参数曲线插补功能外,国内大多数数控系统通常只提供直线、圆弧插补功能[2-3],所以拓展插补功能是数控技术领域创新性发展的重要任务之一.在这方面,一些学者立足于阿基米德螺线(简称为螺旋线)的工程实际应用,进行了其数控加工方法研究,大致可划分为以下3个方向.(1) 基于时间分割法.罗良玲等[4]基于时间分割思想,以当前点位置与一个插补周期内的进给量作为已知条件,推导出插补点间的递推公式,进而求得各轴的增量.但是递推公式成立的前提是参数增量足够小,而这会限制最大运行速度,降低效率.(2) 基于数控系统宏功能.针对内置锥形螺纹与螺旋线形凸轮的加工,刘萍等[5]、邵伟平[6]与沈文华等[7]分别设计了基于FANUC宏程序的螺旋线插补模板.但是其本质是基于等参数法的小线段或小圆弧段逼近螺旋线,然后再进行直线、圆弧插补,该逼近计算过程由数控系统完成,增加了计算负担,影响实时性.(3) 基于极坐标机床.Qiu等[8]提出了一种采用微段螺旋线逼近待加工曲线的拟合算法,并详细分析了逼近误差,但是微段螺旋线的加工需要借助极坐标数控机床.鉴于此,Hu等[9]搭建了基于极坐标系的加工平台,利用数控转台转动与线性轴径向移动合成螺旋线轨迹.但是加工时,螺旋线中心必须与数控转台回转中心重合,这就给工件的装夹、调整带来了不便.本文以螺旋线参数化插补为出发点,提出了一种基于曲率特性与7段式S型加减速[10]的螺旋线插补算法.阐述了该插补算法的速度规划方法,引入自适应插补的概念,考虑了曲率变化对运行速度的持续限制,保证在插补精度、柔性加减速等约束条件下得到合理的速度规划结果.利用加权与相似三角形原理,提出了一种基于改进牛顿迭代的预估-校正法来求解插补参数,阐明了其计算原理,最后通过仿真与实验说明其优势与应用价值:在满足数控系统实时性要求的前提下,能有效降低速度波动率,减少迭代次数.阿基米德螺线是一种平面二维曲线.在《论螺线》一书中,阿基米德给出了如下定义:当一点P沿动射线OP以等速率运动的同时,这条射线又以等角速度绕点O旋转,点P的轨迹被称为“阿基米德螺线”.如图1所示,假设射线的初始长度为ρ0,其与x轴的初始夹角为0,点P的运动速率为v0,那么阿基米德螺线的极坐标方程可表示为式中:ρ为点P到坐标系原点O的距离;θ为射线OP与x轴正向的夹角;ρ0与v0为常数.由式(1)可得到对应的直角坐标参数方程为利用微积分方法,可以得到螺旋线的弧长积分公式为进一步可求得式(3)对应的1阶导数为更一步可求得式(3)对应的2阶导数为由2阶泰勒展开式得到进一步变换,可得所以已知弧长S与当前位置参数θ1,求解式(7)这个一元二次方程可得到对应的位置参数增量.参数曲线插补计算过程中,主要包括径向误差和弓高误差,由于径向误差很小,通常可以忽略[11].为保证加工精度,实时插补时相邻插补点间的弓高误差必须在允许范围内.图2为插补点间的弓高误差示意图,其中ERi为弓高误差,ri为当前插补点的曲率半径,Li为当前插补点与下一插补点之间的直线距离,θi和θi+1分别为当前插补点和下一插补点所对应的位置参数.由图2所示的几何关系,可得所以进给速度达到弓高误差约束后,在螺旋线曲率半径变化的持续限制下,进给速度式中:T为插补周期;vi为该插补周期的进给速度;εmax为允许的最大弓高误差.根据式(9)求出的实际进给速度,可以求得该插补周期内的位移,进而利用第4节的插补参数计算方法求得下一插补参数.速度规划就是针对某一段参数已知的螺旋线,根据给定的起始速度、终止速度和编程速度,经过一系列计算判断,确定插补该段螺旋线的速度变化规律.由于本文在速度规划上综合了7段式S型加减速与基于弓高误差约束的自适应插补,所以速度规划结果最多由以下几部分组成:加速、匀速、减速、自适应速度变化.其中加、减速方式分为4种类型:①加加速-匀加速-减加速;②加加速-减加速;③加减速-匀减速-减减速;④加减速-减减速.假设起始速度为vs,终止速度为ve,编程速度为F,最大加加速度为Jmax,最大加速度为Amax,螺旋线起点处θs与终点处θe在弓高误差约束下的最大速度分别为vs_ce与ve_ce,由螺旋线的变半径特性可知,螺旋线上其他点在弓高误差约束下的最大速度均介于二者之间.另外这里只考虑vs<vs_ce、ve<ve_ce且vs <F、ve<F.根据编程速度F与vs_ce和ve_ce的关系,分为3种情况进行讨论.情况1 F≥vs_ce且F≥ve_ceF超过了弓高误差约束下的最大速度,此时无需考虑F对速度规划的影响,最大速度仅由弓高误差限制.接下来的关键就是根据起始速度,求解加速达到弓高误差约束速度的位置点与其对应的加速阶段时间.假设以vs加速达到弓高误差约束速度的位置点参数为θs_ce,根据式(10)可以计算,以起始速度进行加速度从0加到Amax而后减为0的加速过程所需要的距离S_1,所需时间2,T,速度变化量v_1.螺旋线的总长为S_total,可利用式(3)求得(1) 若S_1>S_total,则在求解θs_ce时,加速方式一定为加加速-减加速,且θs_ce一定位于区间[θs,θe]内.(2) 若S_1≤S_total,则需要进一步判断当前速度v_c=vs+v_1是否超过了当前位置点θs_c处的弓高误差限制.由式(7),代入S=S_1与θ=θs可求得Δθ,进一步得到θs_c=θs+Δθ,再利用式(1)与式(6)可得到当前位置点弓高误差限制的最大速度vi.若v_c<vi,则在求解θs_ce时,加速方式一定为加加速-匀加速-减加速,且θs_ce一定位于区间[θs_c,θe]内.若v_c>vi,则在求解θs_ce时,加速方式一定为加加速-减加速,且θs_ce一定位于区间[θs,θs_c]内.确定了加速方式与解所在的区间[θss,θee],便可利用二分法求解θs_ce的精确值.过程如下所述.(1) 取区间中点θtemp=0.5(θss+θee).(2) 利用式(3)计算起始点θs到中点θtemp的距离S1,进而利用式(11)和式(12)计算运行到该点达到的速度v1.当加速方式为加加速-匀加速-减加速时,当加速方式为加加速-减加速时,(3) 根据该中点的位置参数θtemp,利用式(1)与式(6)得到弓高误差限制的最大速度v2.(4) 比较v1与v2的大小关系,缩小二分区间范围.若v1与v2之差满足精度要求,则停止计算,θtemp即为待求的θs_ce.若v1<v2,则令θss=θtemp;若v1>v2,则令θee=θtemp;返回步骤(1)继续计算.采用上述方法进行反向加速即可求得θe_ce,这里不再赘述.在求得了θs_ce与θe_ce后,根据二者的大小关系可确定整个螺旋线的速度规划结果:若θs<θs_ce=θe_ce<θe,速度规划结果为加速[θs,θs_ce]-减速[θs_ce,θe];若θs<θs_ce<θe_ce<θe,速度规划结果为加速[θs,θs_ce]-自适应插补[θs_ce,θe_ce]-减速[θe_ce,θe];若θs<θe_ce<θs_ce<θe,则达不到弓高误差约束的最大速度,速度规划结果为加速[θs,θse]-减速[θse,θe],这时需要求解实际的加速终点θse.分析可知,此时加速终点对应的参数一定位于区间[θe_ce,θs_ce]内,采用二分法进行求解,步骤如下所述.(1) 取区间中点θtemp=0.5(θe_ce+θs_ce).(2) 利用式(3)分别计算起始点θs与θe到中点θtemp的距离Ss与Se,通过判断Ss(Se)与S_1的大小关系确定加速方式(对θe来说是反向加速),再利用式(11)或式(12)计算运行到该点达到的速度vss与vee,同时记录下相应的加减速方式.(3) 比较vss与vee的大小关系,缩小二分区间范围.若vss与vee之差满足精度要求,则停止计算,θtemp即为待求的θse.若vss<vee,则令θe_ce=θtemp;若vss>vee,则令θs_ce=θtemp;返回步骤(1)继续计算.情况2 F介于vs_ce与ve_ce之间相比于情况1,这里在求得了θs_ce与θe_ce后,还需要考虑编程速度F与螺旋线半径变化趋势的影响.假设在弓高误差约束下F对应的位置点参数为θF,若存在匀速段,其终点位置参数为θue(求法在后文给出),螺旋线半径逐渐增大(即v0>0).根据θs_ce、θe_ce与θF三者的大小关系,可确定整个螺旋线的速度规划结果.若θs<θF<θs_ce<θe_ce<θe,速度规划结果为加速[θs,θF-匀速[θF,θue]-减速[θue,θe].若θs<θs_ce<θF<θe_ce<θe,速度规划结果为加速[θs,θs_ce]-自适应插补[θs_ce,θF]-匀速[θF,θue]-减速[θue,θe].若θs<θs_ce<θe_ce<θF<θe,速度规划结果为加速[θs,θs_ce]-自适应插补[θs_ce,θe_ce]-减速[θe_ce,θe].若θs<θe_ce<θs_ce<θe,则达不到弓高误差约束的最大速度,按照前文二分法可求解实际的交汇点θm与达到该点的速度vm,然后比较F与vm的大小关系:若F<vm,说明速度超限,速度规划结果为加速[θs,θF]-匀速[θF,θue]-减速[θue,θe];若F>vm,则无需考虑F的影响,速度规划结果为加速[θs,θm]-减速[θm,θe].若θs<θe_ce=θs_ce<θe,则实际的交汇点即为θs_ce(θe_ce),记达到该点的速度为vm,比较F与vm的大小关系:若F<vm,说明速度超限,速度规划结果为加速[θs,θF]-匀速[θF,θue]-减速[θue,θe];若F>vm,则无需考虑F的影响,速度规划结果为加速[θs,θs_ce]-减速[θs_ce,θe].匀速段的终点位置参数θue可由下述方法求解.(1) 通过判断F-ve与v_1的大小关系,利用式(13)和式(14)求解ve反向加速到F 所需要的时间,再进一步计算所运动的距离S.若F-ve>v_1,则有若F-ve<v_1,则有(2) 利用式(7)求解参数增量Δθ,进一步可得到θue=θe-Δθ,同时记录其加减速方式.采用相同的分析方法可得到螺旋线半径逐渐减小(即v0<0)情况下,整个螺旋线的速度规划结果.情况3 F≤vs_ce且F≤ve_ce这时无需考虑弓高误差对运行速度的限制,问题转变为已知起始速度、终止速度、编程速度与运动距离的S型加减速规划,具体规划方法可参考文献[12],这里不再赘述.上述速度规划算法的完整流程如图3所示.至此,根据速度规划结果与其对应的加减速方式,可求得各段的运行时间、关键点的速度、加速度、加加速度等信息,为求解插补参数做准备.需要说明的是,上述算法中的二分法在实际应用过程中,二分次数仅十几次就可以达到计算要求,并不会对数控系统的实时性造成太大影响.插补点计算的关键在于插补参数的求解,即已知当前插补参数与该插补周期内的位移,求解下一插补参数,其求解的精度与速度直接决定了最终的插补效果与加工质量.常用的泰勒展开法在求解插补参数时,由于存在截断误差,导致插补点求解不够精准,引起较大的速度波动.鉴于此,本文采用了一种基于改进牛顿迭代的预估-校正法,其原理如下.由1阶泰勒展开式可知式中:θi为已知的当前插补参数;θi+1为待求的下一插补参数;ΔL为两点间的弧长.将该插补周期内移动的距离S代入式(15)可得到下一插补参数利用式(16)即可计算得到下一插补参数的预估初值,为后续的迭代校正所用.假设p(θi)与p(θi+1)分别为当前插补点与所求下一插补点的位置,根据速度波动率[13]的定义可构造函数实际求解θi+1时,通常期望式(17)等于0,即不存在速度波动.由于式(17)为复杂的非线性方程,这里采用数值解法——改进牛顿迭代进行求解,迭代初值采用预估初值.迭代公式如下:与传统的牛顿迭代不同的是,改进牛顿迭代在每次迭代计算后并不是把本次迭代计算得到的结果直接作为下次迭代的输入值,而是按照下述基于加权与相似三角形原理的规则进一步求解下次迭代的输入值,使其更接近理想解,以加快收敛速度.假设迭代初值是,迭代一次后结果为,H(θi,)与H(θi,)为二者对应的速度波动率,为待求的下次迭代的实际输入值.(1) 如图4所示,若H(θi,)H(θi,) 0,则理想解介于二者之间,设对应的权重为W(θi,),对应的权重为W(θi,),可以得到则的值为(2) 如图5、图6所示,若|H(θi,)|>|H(θi,)|>0且H(θi,)H(θi,)>0,则理想解可能大于二者或者小于二者,具体情况可继续划分为以下两种情况.(a) 如图5所示,当<时,理想值大于二者,根据相似三角形原理可知(b) 如图6所示,当>时,理想值小于二者,根据相似三角形原理可知值得注意的是,图4、图5与图6仅是该分类下的某一种示意图,其他种可能并没有一一绘图示意,但是上述讨论的分类与其对应的计算方法已经把所有的可能都包含在内.根据第4.1节与第4.2节所述内容,可以得到插补参数的计算流程如图7所示,具体步骤如下所述.(1) 根据预估初值迭代计算一次得到.(2) 按照第4.2节的规则,进一步判断求解下次迭代计算的实际输入值.(3) 计算H(θi,).(4) 判断H(θi,)是否满足设定的速度波动率要求ε.(5) 若满足要求,则输出作为待求的插补参数,结束计算.(6) 若不满足要求,则令=代入迭代式(18),计算得到新的,转到步骤(2).上文算法已经通过C语言编程实现,获得的数据利用Matlab R2014b进行可视化,在计算机上进行该算法的仿真测试分析.测试环境如下:操作系统为Windows 7旗舰版;内存为8,GB;CPU为Inter(R) Core(TM)i5-4570 3.20,GHz×4;显卡为AMD Radeon HD 8490.这里仅以螺旋线ρ=10+θ/π(θ∈[0,π])(此时v0>0,v0<0时与此类似,就不再占用篇幅分析)作为待插补曲线,通过给定不同的初始条件,获得对应的速度与加速度曲线,说明其正确性.假设最大加加速度Jmax=10,000,mm/s3,最大加速度Amax=1,000mm/s2,插补周期T=0.002,s.对应不同的最大允许弓高误差εmax、初始速度vs、终止速度ve以及编程速度F,可以规划得到不同的速度与加速度曲线.这里给出4种较为典型的情况,其他情况就不再一一罗列.(1) 最大允许弓高误差εmax=0.000,5,mm,初始速度vs=96,mm/s,终止速度ve=102,mm/s,编程速度F=200,mm/s.速度规划结果为加速-自适应插补-减速,对应的速度与加速度曲线如图8所示.(2) 最大允许弓高误差εmax=0.000,5,mm,初始速度vs=96,mm/s,终止速度ve=98,mm/s,编程速度F=103,mm/s.速度规划结果为加速-自适应插补-匀速-减速,对应的速度与加速度曲线如图9所示.(3) 最大允许弓高误差εmax=0.001,mm,初始速度vs=0,mm/s,终止速度ve=0,mm/s,编程速度F=141.5,mm/s.速度规划结果为加速-匀速-减速,对应的速度与加速度曲线如图10所示.可由加速度曲线看出,放大的部分是很短暂的匀速过程.(4) 最大允许弓高误差εmax=0.001,mm,初始速度vs=0,mm/s,终止速度ve=0,mm/s,编程速度F=140,mm/s.速度规划结果为加速-减速,对应的速度与加速度曲线如图11所示.为了证明基于改进牛顿迭代的预估-校正法的优越性,以上述情况4作为初始条件,对传统的2阶泰勒展开法、2阶Runge-Kutta附加补偿值的方法[14]、基于一般牛顿迭代预估-校正法[15-16]和本文所提基于改进牛顿迭代的预估-校正法的计算精度进行了比较,同时对比了除去2阶泰勒展开法外,计算精度较高的其他3种方法的计算效率.其中两种预估-校正方法的要求速度波动率精度为10-10,最大迭代次数为5.图12所示为4种方法计算插补参数时的速度波动率对比,其中2阶泰勒展开法的速度波动率远远大于其他3种方法,最大约为3.8%,,2阶Runge-Kutta附加补偿值的方法的速度波动率小于2阶泰勒展开法的速度波动率,但高于两种预估-校正法的速度波动率,最大约为0.19%,.图13所示为精度最高的两种预估-校正法计算插补参数时的速度波动率对比,可见二者的计算精度大致相同,均达到10-11级.图14所示为4种方法的计算耗时对比.从计算耗时的角度看,由于2阶泰勒展开法和2阶Runge-Kutta附加补偿值的方法不存在迭代计算,均耗时较少;两种预估-校正法的计算耗时尽管高于2阶泰勒展开法和2阶Runge-Kutta附加补偿值的方法,但远小于插补周期2,ms,整体上基于改进牛顿迭代的预估-校正法平均耗时少于基于一般牛顿迭代的预估-校正法.图15所示为两种预估-校正法的迭代次数对比.从迭代次数的角度看,二者迭代次数均在5次以内,但是基于改进牛顿迭代的预估-校正法在部分区域的迭代次数更少,可见其计算效率更高.为进一步验证本文所提出的螺旋线插补算法的可行性,将该算法嵌入到本课题组开发的TSNC-SX-A1M型可重构数控系统中,在三轴铣床上进行切削加工实验.相关工艺要求如下:毛坯为6061铝板,刀具为f6的两齿端面立铣刀,切削深度为0.4,mm,主轴转速为1,000,r/min,进给速度为600,mm/min.图16为加工所用机床与加工情况,待加工的螺旋线轨迹为ρ=10+10θ/p(θ∈[0,3p]),如图17(a)所示,加工效果如图17(b)所示.实验结果表明,本文所提出的螺旋线插补算法可以在可重构数控系统平台上实现,算法有效且可行.综上,通过对螺旋线数学方程的建立及其插补算法的研究,探究在曲率特性的持续限制下,尽可能得到合理的速度规划结果,同时提出了一种新的插补参数求解方法来进一步降低速度波动率,通过算法仿真分析与实验,得出以下结论:(1) 速度规划算法在考虑曲率特性对运行速度的持续限制这一前提下,实现了螺旋线插补的柔性加减速控制;(2) 与已有方法相比,基于改进牛顿迭代的预估-校正法在有效降低速度波动率的同时又具有较高的计算效率.【相关文献】[1]张志强,王太勇,胡世广,等. 复杂空间参数曲线加工的插补算法[J]. 天津大学学报,2006,39(11):1331-1335.Zhang Zhiqiang,Wang Taiyong,Hu Shiguang,et al. Interpolation algorithm formachining complex parametric curves in space[J]. Journal of Tianjin University,2006,39(11):1331-1335(in Chinese).[2]王爱玲,沈兴全,吴淑琴,等. 现代数控编程技术及应用[M]. 北京:国防工业出版社,2002.Wang Ailing,Shen Xingquan,Wu Shuqin,et al. Modern Numerical Control Programming Technology and Application[M]. Beijing:National Defence Industry Press,2002(in Chinese).[3]杨萍,杨明泰,张阳阳. 高速数控加工中NURBS曲线拟合及插补技术的研究[J]. 中国机械工程,2015,26(12):1630-1234.Yang Ping,Yang Mingtai,Zhang Yangyang. Research on technologies of NURBS curve fitting and interpolation in high speed NC machining[J]. China Mechanical Engineering,2015,26(12):1630-1234(in Chinese).[4]罗良玲,曹苏明. 基于时间分割法的阿基米德螺线的插补算法研究[J]. 南昌大学学报:工学版,2002,24(3):22-24.Luo Liangling,Cao Suming. The calculation of interpolation of spiral of archimedes based on time-divided method[J]. Journal of Nanchang University:Engineering & Technology,2002,24(3):22-24(in Chinese).[5]刘萍,梅晓妍,王民权. 变半径螺旋线插补铣削宏程序优化设计[J]. 组合机床与自动化加工技术,2014,3(3):143-145.Liu Ping,Mei Xiaoyan,Wang Mingquan. Optimization design of macro program for variable radius spiral interpolation milling[J]. Modular Machine Tool & Automatic Manufacturing Technique,2014,3(3):143-145 (in Chinese).[6]邵伟平. 内锥螺纹的数控铣削分析[J]. 制造技术与机床,2009(1):24-25.Shao Weiping. Numerical control milling analysis of inner cone thread [J]. Manufacturing Technology & Machine Tool,2009(1):24-25 (in Chinese).[7]沈文华,张吉堂,于松章. 基于宏程序的阿基米德螺线形凸轮程序编制[J]. 机械管理开发,2016,31(3):17-19.Shen Wenhua,Zhang Jitang,Yu Songzhang. The preparation of archimedes spiral cam based on macro program[J]. Mechanical Management and Development,2016,31(3):17-19(in Chinese).[8] Qiu Hua,Akio Kubo,Li Ziye,et al. Optimal archimedes’ spiral interpolationfor cutter path generation in NC machining of noncircular contours[J]. International Journal of Advanced Manufacturing Technology,2008(36):69-82.[9] Hu Ronghua,Liu Qiangfei,Song Honggun. Profile processing of scroll compressor and its error analysis[J]. Advanced Materials Research,2012,503/504:937-940.[10]杨亮亮,许守金,史伟民,等. 始末速度不为零的S型加减速时间规划算法研究[J]. 机械工程学报,2016,52(23):199-206.Yang Liangliang,Xu Shoujin,Shi Weimin,et al. Research on S type acceleration and deceleration time planning algorithm with beginning and end speed non-zero[J]. Chinese Journal of Mechanical Engineering,2016,52(23):199-206(in Chinese).[11]富宏亚,李茂月,刘源,等. 基于曲率特性的柔性加减速NURBS插补器[J]. 计算机集成制造系统,2012,18(9):1921-1929.Fu Hongya,Li Maoyue,Liu Yuan,et al. NURBS interpolator with flexible acceleration and deceleration based on curvature properties[J]. Computer Integrated Manufacturing Systems,2012,18(9):1921-1929(in Chinese).[12]田军峰,林浒,姚壮,等. 数控系统S型曲线加减速快速规划研究[J]. 小型微型计算机系统,2013,34(1):168-172.Tian Junfeng,Lin Hu,Yao Zhuang,et al. Study on S-shape curve acceleration and deceleration control fast planning on CNC system[J]. Journal of Chinese Mini-Micro Computer Systems,2013,34(1):168-172(in Chinese).[13]刘强,刘焕,周胜凯,等. 无速度波动的NURBS曲线二次插补算法原理及其实现[J]. 计算机集成制造系统,2015,21(10):2659-2667.Liu Qiang,Liu Huan,Zhou Shengkai,et al. Principle and development of NURBS interpolation algorithm with zero-feedrate fluctuation[J]. Computer Integrated Manufacturing Systems,2015,21(10):2659-2667(in Chinese).[14] Jia Zhenyuan,Song Dening,Ma Jianwei,et al. A NURBS interpolator with constant speed at federate-sensitive regions under drive and contour-error constraints[J]. International Journal of Machine Tools & Manufacture,2017,116:1-17.[15] Wang Yunsen,Yang Dongsheng,Liu Yinzhong. A real-time look-ahead interpolation algorithm based on Akima curve fitting[J]. International Journal of Machine Tools & Manufacture,2014,85(5):122-130.[16] Wang Guoxun,Shu Qinlin,Wang Jun,et al. Research on adaptive non-uniform rational B-spline real-time interpolation technology based on acceleration constraints [J]. International Journal of Advanced Manufacturing Technology,2016,91(5):1-12.。
基于时间分割法的圆柱螺旋线插补算法的研究

基于时间分割法的圆柱螺旋线插补算法的研究今日,工业制造的技术已经发展到非常可观的水平,其中计算机控制技术(Computer Numerical Control,CNC)被广泛用于机械加工、金属切削、焊接和其他制造技术中。
CNC技术的发展,使得制造工序变得更加精确、可靠和高效,也提升了制造质量,是当前制造业、特别是机械制造中的重要技术之一。
圆柱螺旋线是CNC技术中一种重要的曲线解析技术,可用于解析ax2 + by2 + cxy + dx + ey + f = 0的非线性解析方程,用于描述二维几何形状。
由于圆柱螺旋线曲线的特殊性,它在工业制造过程中被广泛应用,如机床切削、焊接、放电加工等,并且在曲面雕刻、精密成型方面也可以发挥重要作用。
由于对圆柱螺旋线的精确插补有效提高制造质量、提高制造精度,因而异常重要。
时间分割插补是工业制造中一种常用的数控技术,其本质上就是将曲线插补分割成若干段分段曲线,每段插补按照给定的时间长度(即插补步长)进行插补计算,最后将不同段次插补得到的插补结果连接起来,形成一条连续的曲线。
基于时间分割法的圆柱螺旋线插补算法研究是关于利用时间分割法处理圆柱螺旋线的研究,其主要目的是研究出一种新的圆柱螺旋线插补算法,它结合了时间分割插补技术和圆柱螺旋线技术,能够有效地减少插补误差,提高插补精度和效率,从而更好地满足实际工程中的需要。
插补的本质就是将平面上的离散点转换成曲线,并且曲线上的点必须满足某些精度要求才能够满足工程应用的要求。
考虑到时间分割插补的特点,它可以带来较低的插补误差和提高插补精度。
但是,时间分割插补仅仅是一层技术,在处理圆柱螺旋线时,由于圆柱螺旋线曲线具有很强的特殊性,因此需要专门针对性地研究出一套具有更高精度的插补算法,以满足实际工程应用的需要。
因此,本文提出了一种基于时间分割法的圆柱螺旋线插补算法,将时间分割插补与圆柱螺旋线技术结合起来,提出了一套精确而高效的圆柱螺旋线插补算法,进一步提高了插补精度。
(完整word版)G32螺纹插补指令

授课教师授课班级授课时间课题名称七、G32螺纹插补指令选用教材《数控车床编程与操作》技工学校、职业学校数控类一体化教材化学工业出版社授课内容分析螺纹是零件上常见的一种结构,带螺纹的零件是机器设备中重要的零件之一,用途十分广泛,能起到连接、传动、紧固的作用,因此本课内容是数控车床编程中的重要内容。
考虑到三角螺纹在实践中应用较多,因此本课的内容中重点讲授三角螺纹的编程,本次课用到较多的工艺知识,授课前应做好复习。
如何使用G32指令加工螺纹是本次课的主要内容。
授课对象分析由于本校学生多数数学基础较差,因此在编程计算时应有耐心,多讲授经验公式,授课期间注意学生掌握情况的反馈,本课内容比较简单,只要讲清指令格式及多次加工的深度变化,学生较易掌握教学目的及要求掌握螺纹插补指令G32的格式含义及应用教学重点G32指令格式及含义、应用教学难点螺纹咼度的计算及多次加工的深度变化锥螺纹车削起点及终点的设定关键点及解决途径螺纹切削深度的计算米用经验公式简化,适当补习数学内容。
计算并采用合理的进给深度教学手段利用课件演示螺纹加工过程,结合课堂讲授及课堂练习等板书设计:七.G32螺纹插补指令1螺纹的工艺知识2 •螺纹插补指令G32①指令含义:②指令格式:G32 X(U)Z(W) F (E);1)圆柱直螺纹的切削指令格式:G32 X(U)-- Z(W)-- F(E)--小结: _____________作业: ___________2)多头直螺纹的切削指令格式:G32 X (U)-- Z (W)-- F (E)-- Q--;教学环节•组织教学 .教学过程1 •复习提问: ①写出下图标出外螺纹的大径、小径和牙型高、螺距②写出三角螺纹牙型高的计算公式及小径的计算公式2. 导入新课:数控车床加工螺纹具有效率高、精度高、表面质量好等优点,数控车 床可以加工公、英制的单头、多头、变螺距螺纹等,数控车床是如何来 加工螺纹的?3. 讲解新课教学内容七、G32螺纹插补指令 1. 螺纹编程的工艺知识,螺纹零件在零件图形上一般用简化形式标注,如M30 x 2表示公称直径为 32mm ,螺距为2mm 。
螺旋线及正弦曲线的一种快速插补算法

螺旋线及正弦曲线的一种快速插补算法
吴辉;宁亭
【期刊名称】《华中理工大学学报》
【年(卷),期】1995(023)005
【摘要】提出了一种基于时间分割法的带前加减速控制的螺旋线及正弦曲线的快速插补算法,并分析了其插补精度。
该算法具有速度快、精度高等优点。
【总页数】3页(P57-59)
【作者】吴辉;宁亭
【作者单位】不详;不详
【正文语种】中文
【中图分类】TG659
【相关文献】
1.一种简捷的快速直线插补新算法 [J], 叶秀云;朱文;田刚
2.一种简捷的快速圆弧插补新算法的设计与计算 [J], 权秀敏;尹显明
3.一种具有快速平稳特性的螺纹插补算法 [J], 陈书法;邓晓红;周建来;杜玉玲
4.一种实用的螺旋线插补算法的研究 [J], 崔国栋;赵东标
5.一种实时快速NURBS插补算法研究与实现 [J], 吴继春;唐小琦;陈吉红;周会成因版权原因,仅展示原文概要,查看原文内容请购买。
螺旋插补教程

螺旋插补例程在Turbo PMAC控制器中,螺旋插补仅仅是标准圆弧插补的扩展,不执行圆弧插补的轴将自动执行线性插补运动。
在螺旋插补中,一般使用X,Y作为圆弧插补轴,Z轴为直线轴垂直于XY平面,如果添加一个与圆弧平面垂直的旋转轴C,使刀具与运动路径成一个固定的夹角,可以保证刀具始终垂直于切割面。
例如,完成一个XY平面的起点为(X=10,Y=0)的完整圆,可以使用下列命令:NORMAL K-1 ;指定XY平面,Z轴为垂直轴CIRCLE2 ;逆时针圆弧插补ABS ;按坐标指定终点(绝对模式)INC(R) ;按圆心指定终点(相对模式)X10 Y0 I-10 ;开始圆弧运动如果没有给出一个轴的明确终点,则认为终点与起点重合,在圆弧插补中,若未定义圆弧终点坐标,默认会执行完整的圆弧,所以执行画圆的指令可以简化为:I-10加入Z轴,使其运动到Z=1,C轴为旋转轴旋转至360°,命令可变为:X10 Y0 I-10 Z1 C360由于是一个完整的圆,指令可简化为:I-10 Z1 C360应用实例有时,内螺纹太大无法进行攻丝,这就需要一个可以三维平动并可自身旋转的单点刀具,以确保紧贴并垂直于内表面进行切削。
这些直角坐标轴执行螺旋插补,旋转轴则以恒定角速度运动。
为确保满足切削深度并保护刀具,程序需要执行一系列“回合”,执行每个“回合”都会增加一定切削深度,一个“回合”是一段螺旋插补,专门完成一段螺纹,在各段之间使用Rapid运动以准备下个段的插补。
每个圆弧运动模式周期都会在XY平面产生一个完整的圆,Z轴会运动一个“螺距”,而C轴也会运动360°。
程序速度是刀具中心在XYZ空间的矢量速度(默认为Frax (X,Y,Z)命令)。
这个速度会在程序中分解到各轴,因为刀具中心的速度要慢于刀尖的速度。
可以在示例中使用刀具半径补偿,补偿方式在程序中隐含。
下图是螺旋插补的正视图和侧视图。
如下设置及程序可实现上图所示运动; Set up coordinate system设置坐标系&1 ;指定坐标系1#1->400X ;X(mm)2.5um分辨率#2->400Y ;Y(mm)2.5um分辨率#3->400Z ;Z(mm)2.5um分辨率#4->100C ;C(角度)0.01°分辨率I428=36000 ;#4(C)整圈3.6万ctsI5113=10 ;坐标系1粗插补10msI5190=60000 ;坐标系1速度6万cts/ms定义#define CenterX Q500 ;孔中心X坐标#define CenterY Q501 ;孔中心Y坐标#define RetractZ Q502 ;起刀位Z坐标#define StartZ Q503 ;切削开始Z坐标#define BottomZ Q504 ;孔底部Z坐标#define Pitch Q505 ;螺距(用户单位)#define ToolCenterRad Q506 ;刀具中心运动半径#define InsideRad Q507 ;未切削孔半径#define DepthIncr Q508 ;每“回合”切削深度#define ToolLength Q509 ;刀具中心距刀尖距离(刀具长度)#define ThreadDepth Q510 ;最终应达到的切削深度#define ThreadNum Q511 ;螺纹切削计数#define NumOfThreads Q512 ;总的螺纹数#define CutSpeed Q513 ;刀尖切削速度;设置系统常量RetractZ=450 ;起刀位距起始位置450mmToolLength=25 ;刀尖距刀具中心25mm;设置切削参数CenterX=-220 ;距起始位置(单位:毫米)CenterY=135 ;距起始位置(单位:毫米)BottomZ=20 ;距起始位置(单位:毫米)Pitch=10 ;螺距(单位:毫米)InsideRad=55 ;距孔圆心距离(单位:毫米)DepthIncr=0.2 ;每回合增加的深度(单位:毫米)ToolLength=25 ;距刀具中心(单位:毫米)ThreadDepth=8.0 ;距未切削表面(单位:毫米)NumOfThreads=10 ;完整圆弧个数(螺纹数)CutSpeed=80 ;切削速度单位:mm/minOPEN PROG 60 CLEARRAPID ;快速模式ABS ;所有轴均为绝对模式X(CenterX) Y(CenterY) Z(RetractZ) C0 ;到达孔入口处StartZ=BottomZ-Pitch/10Z(StartZ) ;Z到达开始切削位置ToolCenterRad=InsideRad+DepthIncr-ToolLengthX(ToolCenterRad) ;刀具中心运动至理想刀具中心运动半径FRAX(X,Y,Z) ;矢量速度中包含的轴;循环中螺纹数加1进入下一部分WHILE (ToolCenterRad+ToolLength<InsideRad+ThreadDepth)ThreadNum=0WHILE (ThreadNum<NumOfThreads+1)CIRCLE2 ;逆时针圆弧模式F(CutSpeed*InsideRad/(InsideRad-ToolLength))INC(Z,C) ;这些轴为增量模式I(-ToolCenterRad) Z(Pitch) C360 ;X,Y运动一个完整圆弧,Z轴运动一个螺距,C轴旋转360°ThreadNum=ThreadNum+1 ;螺纹计数+1ENDWHILERAPID ;快速进入下一段ABS(Z) ;绝对模式X(InsideRad-DepthIncr-ToolLength) ;清除孔内余物Z(StartZ) ;Z轴回归起刀位ToolCenterRad=ToolCenterRad+DepthIncr ;进入下一段X(ToolCenterRad) ;运动到下一个切削深度ENDWHILEX(CenterX) Y(CenterY) Z(RetractZ) ;归原位CLOSE使用G代码执行通常操作类似于螺纹切削会使用子程序,在G代码程序中,这种类型操作被称为“固定循环”由一个含有一系列代码参数的程序调用,在这个例子中,我们可以使用带有8个参数的G78代码调用,在下面给出:G78 X Y Z R P T D IX的值是孔圆心的X坐标Y的值是孔圆心的Y坐标Z的值是孔底部的Z坐标R的值是孔内部半径P的值是螺距T的值是螺纹计数D的值是期望切削深度I的值是每“回合”切削深度在Turbo PMAC中G代码子程序在Prog1000中定义,子程序每行前加入100倍于G 代码数字的标号,例如G78的子程序会调用Prog1000中的标号为N78000的行。
车床数控系统中的螺纹插补算法

L (C L H ; 给长度 减 1 D S R ),L 总进
L (C L 2 A D S R + ),
I NTR2: OR A
J R
OR OR
N , T ZI A N
L H
; 工未 完成, 续 下一次 中断 ; 加 继
第二 步 :偏 差 甬数 :F F R = + :初 始 偏 差 为 : : ;计 O 数 器 的设 置 分 以下 两种情 况 : 1 1 . ,F F R ) < 时 fT = + ,计 数 器以 I 为计 数 值 。 2 )当 F ≥丁 ,F F T 时 = - ,计数 器 以 I1 + 为计 数 值 。 采 用 以一插 补 算法 ,每 次计 数 器溢 出 中断 时 ,z轴 进 I : 给 一 步 ,而 不 必 每 个 主 轴脉 冲 到来 时 都 进 行插 补运 算 。 I
和进给步数 Z 应满足如下 比例关系 :
( 进给步数) ( : 主轴脉冲数1=( 螺纹导程) ( : 编码 器每转脉冲数)
即: ZP T / =/ -K
终点 因此,螺纹插朴町 归结于直线插补, 直线插补
的算法实现螺鼓插补 . .
3常用的螺纹 ( 直线)插补算法
目前数控 系统 采片 的插 补算法分为两大类 :脉 冲增 } j 1 射插补法 和数槲采样插补法 . 冲增量插补 的结粜 是输 出 脉
CM 便 是存这 种中 理指 导下 ,通 过生 产 、经营 各个环 IS 亍
业 ,带 动 产业 结构 优化 升 级” ( 十五 ”纲 要 ) ‘ ‘ ,让 信 息 化
带动T业化 ,广泛使用先进制造技术 ,将信息技术与现代 管理技术和制造技术相结合 ,应用于企业开发 、生产 、销 售和服务的全过程 ,通过信息集成 、过程优化以及资源优 化配置 ,实现物流 、信息流 、价值流的集成和优化 ,提高
对于直流交流伺服电机常用的插补算法

对于直流交流伺服电机常用的插补算法(1)经典插补算法
这类算法主要是针对直线、圆弧、抛物线、螺旋线的插补,插补的方法
有脉冲增量插补和数据采样插补两种,经典插补算法已经十分成熟,但近年
来也有针对这类方法的改进性研究。
(2)参数曲线插补算法
参数化曲线被国际标准化组织规定为CAD/CAM的数据交换标准,针对参数化曲线的插补研究是当前的一一个研究热点,目前主要有两种参数化曲线的插补研究:①B样条曲线插补;②NURBS曲线插补。
其中NURBS插补算法更具有优良特性,是当前运动控制技术的一一个研究热点。
然而高速、高精度的NURBS插补技术还有很多问题急需研究。
如插补计算的稳定性问题、插补计算时延问题、插补精度与插补速度的矛盾问题。
运动控制系统的NURBS插补和数控机床的插补又不完全相同,运动控制系统应用对象广泛,针对不同的控制对象,插补算法又有不同的要求。
插补算法的适应性问题是运动控制系统插补所特有的问题。
(3)智能插补算法
由于神经网络技术的发展,利用基于三层前向神经网络的插补算法也有报导。
神经网络是近年发展起来的一门新兴学科。
由于它具有逼近任意非线性函数的能力,使得采用神经网络进行非线性轮廓插补成为可能。
神经网络具有并行处理的特点,能大幅度缩短插补周期,提高插补精度。
且由于其插补时间与曲线表达式无关,使其对非线性轮廓,尤其对高次参数方程的插衣表现出较大的优越性。
但是它尚处于起步阶段,极少有真正的工业应用。
螺旋插补教程

螺旋插补例程在Turbo PMAC控制器中,螺旋插补仅仅是标准圆弧插补的扩展,不执行圆弧插补的轴将自动执行线性插补运动。
在螺旋插补中,一般使用X,Y作为圆弧插补轴,Z轴为直线轴垂直于XY平面,如果添加一个与圆弧平面垂直的旋转轴C,使刀具与运动路径成一个固定的夹角,可以保证刀具始终垂直于切割面。
例如,完成一个XY平面的起点为(X=10,Y=0)的完整圆,可以使用下列命令:NORMAL K-1 ;指定XY平面,Z轴为垂直轴CIRCLE2 ;逆时针圆弧插补ABS ;按坐标指定终点(绝对模式)INC(R) ;按圆心指定终点(相对模式)X10 Y0 I-10 ;开始圆弧运动如果没有给出一个轴的明确终点,则认为终点与起点重合,在圆弧插补中,若未定义圆弧终点坐标,默认会执行完整的圆弧,所以执行画圆的指令可以简化为:I-10加入Z轴,使其运动到Z=1,C轴为旋转轴旋转至360°,命令可变为:X10 Y0 I-10 Z1 C360由于是一个完整的圆,指令可简化为:I-10 Z1 C360应用实例有时,内螺纹太大无法进行攻丝,这就需要一个可以三维平动并可自身旋转的单点刀具,以确保紧贴并垂直于内表面进行切削。
这些直角坐标轴执行螺旋插补,旋转轴则以恒定角速度运动。
为确保满足切削深度并保护刀具,程序需要执行一系列“回合”,执行每个“回合”都会增加一定切削深度,一个“回合”是一段螺旋插补,专门完成一段螺纹,在各段之间使用Rapid运动以准备下个段的插补。
每个圆弧运动模式周期都会在XY平面产生一个完整的圆,Z轴会运动一个“螺距”,而C轴也会运动360°。
程序速度是刀具中心在XYZ空间的矢量速度(默认为Frax (X,Y,Z)命令)。
这个速度会在程序中分解到各轴,因为刀具中心的速度要慢于刀尖的速度。
可以在示例中使用刀具半径补偿,补偿方式在程序中隐含。
下图是螺旋插补的正视图和侧视图。
如下设置及程序可实现上图所示运动; Set up coordinate system设置坐标系&1 ;指定坐标系1#1->400X ;X(mm)2.5um分辨率#2->400Y ;Y(mm)2.5um分辨率#3->400Z ;Z(mm)2.5um分辨率#4->100C ;C(角度)0.01°分辨率I428=36000 ;#4(C)整圈3.6万ctsI5113=10 ;坐标系1粗插补10msI5190=60000 ;坐标系1速度6万cts/ms定义#define CenterX Q500 ;孔中心X坐标#define CenterY Q501 ;孔中心Y坐标#define RetractZ Q502 ;起刀位Z坐标#define StartZ Q503 ;切削开始Z坐标#define BottomZ Q504 ;孔底部Z坐标#define Pitch Q505 ;螺距(用户单位)#define ToolCenterRad Q506 ;刀具中心运动半径#define InsideRad Q507 ;未切削孔半径#define DepthIncr Q508 ;每“回合”切削深度#define ToolLength Q509 ;刀具中心距刀尖距离(刀具长度)#define ThreadDepth Q510 ;最终应达到的切削深度#define ThreadNum Q511 ;螺纹切削计数#define NumOfThreads Q512 ;总的螺纹数#define CutSpeed Q513 ;刀尖切削速度;设置系统常量RetractZ=450 ;起刀位距起始位置450mmToolLength=25 ;刀尖距刀具中心25mm;设置切削参数CenterX=-220 ;距起始位置(单位:毫米)CenterY=135 ;距起始位置(单位:毫米)BottomZ=20 ;距起始位置(单位:毫米)Pitch=10 ;螺距(单位:毫米)InsideRad=55 ;距孔圆心距离(单位:毫米)DepthIncr=0.2 ;每回合增加的深度(单位:毫米)ToolLength=25 ;距刀具中心(单位:毫米)ThreadDepth=8.0 ;距未切削表面(单位:毫米)NumOfThreads=10 ;完整圆弧个数(螺纹数)CutSpeed=80 ;切削速度单位:mm/minOPEN PROG 60 CLEARRAPID ;快速模式ABS ;所有轴均为绝对模式X(CenterX) Y(CenterY) Z(RetractZ) C0 ;到达孔入口处StartZ=BottomZ-Pitch/10Z(StartZ) ;Z到达开始切削位置ToolCenterRad=InsideRad+DepthIncr-ToolLengthX(ToolCenterRad) ;刀具中心运动至理想刀具中心运动半径FRAX(X,Y,Z) ;矢量速度中包含的轴;循环中螺纹数加1进入下一部分WHILE (ToolCenterRad+ToolLength<InsideRad+ThreadDepth)ThreadNum=0WHILE (ThreadNum<NumOfThreads+1)CIRCLE2 ;逆时针圆弧模式F(CutSpeed*InsideRad/(InsideRad-ToolLength))INC(Z,C) ;这些轴为增量模式I(-ToolCenterRad) Z(Pitch) C360 ;X,Y运动一个完整圆弧,Z轴运动一个螺距,C轴旋转360°ThreadNum=ThreadNum+1 ;螺纹计数+1ENDWHILERAPID ;快速进入下一段ABS(Z) ;绝对模式X(InsideRad-DepthIncr-ToolLength) ;清除孔内余物Z(StartZ) ;Z轴回归起刀位ToolCenterRad=ToolCenterRad+DepthIncr ;进入下一段X(ToolCenterRad) ;运动到下一个切削深度ENDWHILEX(CenterX) Y(CenterY) Z(RetractZ) ;归原位CLOSE使用G代码执行通常操作类似于螺纹切削会使用子程序,在G代码程序中,这种类型操作被称为“固定循环”由一个含有一系列代码参数的程序调用,在这个例子中,我们可以使用带有8个参数的G78代码调用,在下面给出:G78 X Y Z R P T D IX的值是孔圆心的X坐标Y的值是孔圆心的Y坐标Z的值是孔底部的Z坐标R的值是孔内部半径P的值是螺距T的值是螺纹计数D的值是期望切削深度I的值是每“回合”切削深度在Turbo PMAC中G代码子程序在Prog1000中定义,子程序每行前加入100倍于G 代码数字的标号,例如G78的子程序会调用Prog1000中的标号为N78000的行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第51卷 第11期 2018年11月天津大学学报(自然科学与工程技术版)Journal of Tianjin University (Science and Technology )V ol. 51 No. 11Nov. 2018收稿日期:2018-03-13;修回日期:2018-07-07.作者简介:王太勇(1962— ),男,博士,教授,**************.cn. 通讯作者:尤中桐,*********************.基金项目:国家自然科学基金资助项目(51475324);天津市科学技术委员会资助项目(16PTGCCX00080).Supported by the National Natural Science Foundation of China (No.51475324) and the Tianjin Science & Technology Council(No.16PTGCCX00080).DOI:10.11784/tdxbz201803042螺旋线插补速度规划及其插补参数求解方法王太勇,尤中桐,辛全琦(天津大学机械工程学院,天津 300350)摘 要:提出了一种基于曲率特性与7段式S 型加减速的阿基米德螺线插补算法.该插补算法的速度规划综合考虑了螺旋线变半径特性与曲率特性对运行速度的持续限制,以求得到合理的速度规划结果.针对一般插补参数求解方法存在较高速度波动率的问题,设计了一种基于改进牛顿迭代的预估-校正法.该方法以1阶泰勒展开法求解迭代初值,然后利用改进牛顿迭代计算限定的次数得到精确值,最后通过仿真对比与实验说明其优势与应用价值,该方法可有效降低速度波动率,且满足数控系统实时性要求.关键词:阿基米德螺线;加减速规划;速度波动;改进牛顿迭代中图分类号:TH164 文献标志码:A 文章编号:0493-2137(2018)11-1107-10Spiral Interpolation Velocity Planning and Method of SolvingInterpolation ParametersWang Taiyong ,You Zhongtong ,Xin Quanqi(School of Mechanical Engineering ,Tianjin University ,Tianjin 300350,China )Abstract :This study aims to propose an Archimedes spiral interpolation algorithm based on curvature characteristicsand 7-segment-S-type acceleration/deceleration. To obtain a reasonable velocity planning result ,the constant limita-tion of the variable spiral radius and curvature characteristics related to the running velocity was considered in the velocity planning of this interpolation algorithm. To reduce the high rate of velocity fluctuation in the general method of solving interpolation parameters ,a predictor-corrector method based on an improved Newton iteration was de-signed. The first-order Taylor expansion method was used to obtain the initial iteration value ,and then the exact value was obtained by the improved Newton iteration. The advantages and application value of the predictor-corrector method are shown by simulation comparison and experiment. The method can effectively reduce the rate of velocity fluctuation and meet the real-time requirement of the computer numerical control (CNC )systems.Keywords :Archimedes spiral ;acceleration/deceleration planning ;velocity fluctuation ;improved Newton iterationmethod制造业迅猛发展,在航空、航天、汽车、模具制造等领域,复杂曲线类零件的应用越来越广泛.是否具有空间参数曲线实时插补功能,是衡量数控系统加工能力的一个重要标志[1],然而除少数国外高端数控系统(西门子840D 、法那科30i 等)具有复杂参数曲线插补功能外,国内大多数数控系统通常只提供直线、圆弧插补功能[2-3],所以拓展插补功能是数控技术领域创新性发展的重要任务之一.在这方面,一些学者立足于阿基米德螺线(简称为螺旋线)的工程实际应用,进行了其数控加工方法研究,大致可划分为以下3个方向.(1) 基于时间分割法.罗良玲等[4]基于时间分割思想,以当前点位置与一个插补周期内的进给量作为已知条件,推导出插补点间的递推公式,进而求得各轴的增量.但是递推公式成立的前提是参数增量足够小,而这会限制最大运行速度,降低效率.·1108· 天津大学学报(自然科学与工程技术版) 第51卷 第11期(2) 基于数控系统宏功能.针对内置锥形螺纹与螺旋线形凸轮的加工,刘萍等[5]、邵伟平[6]与沈文华等[7]分别设计了基于FANUC 宏程序的螺旋线插补模板.但是其本质是基于等参数法的小线段或小圆弧段逼近螺旋线,然后再进行直线、圆弧插补,该逼近计算过程由数控系统完成,增加了计算负担,影响实时性.(3) 基于极坐标机床.Qiu 等[8]提出了一种采用微段螺旋线逼近待加工曲线的拟合算法,并详细分析了逼近误差,但是微段螺旋线的加工需要借助极坐标数控机床.鉴于此,Hu 等[9]搭建了基于极坐标系的加工平台,利用数控转台转动与线性轴径向移动合成螺旋线轨迹.但是加工时,螺旋线中心必须与数控转台回转中心重合,这就给工件的装夹、调整带来了不便.本文以螺旋线参数化插补为出发点,提出了一种基于曲率特性与7段式S 型加减速[10]的螺旋线插补算法.阐述了该插补算法的速度规划方法,引入自适应插补的概念,考虑了曲率变化对运行速度的持续限制,保证在插补精度、柔性加减速等约束条件下得到合理的速度规划结果.利用加权与相似三角形原理,提出了一种基于改进牛顿迭代的预估-校正法来求解插补参数,阐明了其计算原理,最后通过仿真与实验说明其优势与应用价值:在满足数控系统实时性要求的前提下,能有效降低速度波动率,减少迭代次数.1 阿基米德螺线方程阿基米德螺线是一种平面二维曲线.在《论螺线》一书中,阿基米德给出了如下定义:当一点P 沿动射线OP 以等速率运动的同时,这条射线又以等角速度绕点O 旋转,点P 的轨迹被称为“阿基米德螺线”.如图1所示,假设射线的初始长度为ρ0,其与x 轴的初始夹角为0,点P 的运动速率为v 0,那么阿基米德螺线的极坐标方程可表示为00ρρθ=+v (1)式中:ρ为点P 到坐标系原点O 的距离;θ为射线OP 与x 轴正向的夹角;ρ0与v 0为常数.由式(1)可得到对应的直角坐标参数方程为0000()cos ()sin ρθθρθθ=+⎧⎨=+⎩x v y v (2)利用微积分方法,可以得到螺旋线的弧长积分公式为2002()2v v L v θρθ+=⋅0000arsinh()2v v vρθ+ (3)图1 平面阿基米德螺线Fig.1 Archimedes spiral in a plane进一步可求得式(3)对应的1阶导数为()L θ′=22(4)更一步可求得式(3)对应的2阶导数为2()L θ′′222(5)由2阶泰勒展开式得到21121()()()()L L L θθθθθ′=+−+ 21210.5()()θθθ′′−L (6)进一步变换,可得211()()()-θθθθ′==Δ+S L L L 210.5()θθ′′ΔL (7)所以已知弧长S 与当前位置参数θ1,求解式(7)这个一元二次方程可得到对应的位置参数增量.2 基于弓高误差约束的螺旋线自适应插补参数曲线插补计算过程中,主要包括径向误差和2018年11月 王太勇等:螺旋线插补速度规划及其插补参数求解方法 ·1109·弓高误差,由于径向误差很小,通常可以忽略[11].为保证加工精度,实时插补时相邻插补点间的弓高误差必须在允许范围内.图2为插补点间的弓高误差示意图,其中ER i 为弓高误差,r i 为当前插补点的曲率半径,L i 为当前插补点与下一插补点之间的直线距离,θi 和θi+1分别为当前插补点和下一插补点所对应的位置参数.由图2所示的几何关系,可得ER =i i r (8)图2 相邻插补点间的弓高误差Fig.2Chord error between adjacent interpolation points所以进给速度达到弓高误差约束后,在螺旋线曲率半径变化的持续限制下,进给速度=i v (9)式中:T 为插补周期;v i 为该插补周期的进给速度;εmax 为允许的最大弓高误差.根据式(9)求出的实际进给速度,可以求得该插补周期内的位移,进而利用第4节的插补参数计算方法求得下一插补参数.3 螺旋线插补算法的速度规划3.1 速度规划原理速度规划就是针对某一段参数已知的螺旋线,根据给定的起始速度、终止速度和编程速度,经过一系列计算判断,确定插补该段螺旋线的速度变化规律.由于本文在速度规划上综合了7段式S 型加减速与基于弓高误差约束的自适应插补,所以速度规划结果最多由以下几部分组成:加速、匀速、减速、自适应速度变化.其中加、减速方式分为4种类型:①加加速-匀加速-减加速;②加加速-减加速;③加减速-匀减速-减减速;④加减速-减减速. 3.2 速度规划算法假设起始速度为v s ,终止速度为v e ,编程速度为F ,最大加加速度为J max ,最大加速度为A max ,螺旋线起点处θs 与终点处θe 在弓高误差约束下的最大速度分别为v s_ce 与v e_ce ,由螺旋线的变半径特性可知,螺旋线上其他点在弓高误差约束下的最大速度均介于二者之间.另外这里只考虑v s <v s_ce 、v e <v e_ce 且v s <F 、v e <F .根据编程速度F 与v s_ce 和v e_ce 的关系,分为3种情况进行讨论.情况1 F ≥v s_ce 且F ≥v e_ceF 超过了弓高误差约束下的最大速度,此时无需考虑F 对速度规划的影响,最大速度仅由弓高误差限制.接下来的关键就是根据起始速度,求解加速达到弓高误差约束速度的位置点与其对应的加速阶段时间.假设以v s 加速达到弓高误差约束速度的位置点参数为θs_ce ,根据式(10)可以计算,以起始速度进行加速度从0加到A max 而后减为0的加速过程所需要的距离S _1,所需时间2T ,速度变化量v _1.螺旋线的总长为S _total ,可利用式(3)求得 max max3_1max 2_1max 2T A J S Tv J T v J T =⎧⎪=+⎨⎪=⎩(10)(1) 若S _1>S _total ,则在求解θs_ce 时,加速方式一定为加加速-减加速,且θs_ce 一定位于区间[θs ,θe ]内.(2) 若S _1≤S _total ,则需要进一步判断当前速度v _c =v s +v _1是否超过了当前位置点θs_c 处的弓高误差限制.由式(7),代入S =S _1与θ=θs 可求得Δθ,进一步得到θs_c =θs +Δθ,再利用式(1)与式(6)可得到当前位置点弓高误差限制的最大速度v i .若v _c <v i ,则在求解θs_ce 时,加速方式一定为加加速-匀加速-减加速,且θs_ce 一定位于区间[θs_c ,θe ]内.若v _c >v i ,则在求解θs_ce 时,加速方式一定为加加速-减加速,且θs_ce 一定位于区间[θs ,θs_c ]内. 确定了加速方式与解所在的区间[θss ,θee ],便可利用二分法求解θs_ce 的精确值.过程如下所述.(1) 取区间中点θtemp =0.5(θss +θee ).(2) 利用式(3)计算起始点θs 到中点θtemp 的距离S 1,进而利用式(11)和式(12)计算运行到该点达到的速度v 1.当加速方式为加加速-匀加速-减加速时,2s max max max max max 2max max max s 0.5(2/)(2/)/S v A J A t A J t v A J A t v v v⎧=++⋅⎪+⎪⎨Δ=+⎪⎪=+Δ⎩(11)·1110· 天津大学学报(自然科学与工程技术版) 第51卷 第11期当加速方式为加加速-减加速时,3s max 2max s 2S v t J t v J t v v v⎧=+⎪Δ=⎨⎪=+Δ⎩(12)(3) 根据该中点的位置参数θtemp ,利用式(1)与式(6)得到弓高误差限制的最大速度v 2.(4) 比较v 1与v 2的大小关系,缩小二分区间范围.若v 1与v 2之差满足精度要求,则停止计算,θtemp 即为待求的θs_ce .若v 1<v 2,则令θss =θtemp ;若v 1>v 2,则令θee =θtemp ;返回步骤(1)继续计算. 采用上述方法进行反向加速即可求得θe_ce ,这里不再赘述.在求得了θs_ce 与θe_ce 后,根据二者的大小关系可确定整个螺旋线的速度规划结果:若θs <θs_ce =θe_ce <θe ,速度规划结果为加速[θs ,θs_ce ]-减速[θs_ce ,θe ];若θs <θs_ce <θe_ce <θe ,速度规划结果为加速[θs ,θs_ce ]-自适应插补[θs_ce ,θe_ce ]-减速[θe_ce ,θe ];若θs <θe_ce <θs_ce <θe ,则达不到弓高误差约束的最大速度,速度规划结果为加速[θs ,θse ]-减速[θse ,θe ],这时需要求解实际的加速终点θse .分析可知,此时加速终点对应的参数一定位于区间[θe_ce ,θs_ce ]内,采用二分法进行求解,步骤如下所述.(1) 取区间中点θtemp =0.5(θe_ce +θs_ce ).(2) 利用式(3)分别计算起始点θs 与θe 到中点θtemp 的距离S s 与S e ,通过判断S s (S e )与S _1的大小关系确定加速方式(对θe 来说是反向加速),再利用式(11)或式(12)计算运行到该点达到的速度v ss 与v ee ,同时记录下相应的加减速方式.(3) 比较v ss 与v ee 的大小关系,缩小二分区间范围.若v ss 与v ee 之差满足精度要求,则停止计算,θtemp 即为待求的θse .若v ss <v ee ,则令θe_ce =θtemp ;若v ss >v ee ,则令θs_ce =θtemp ;返回步骤(1)继续计算. 情况2 F 介于v s_ce 与v e_ce 之间 相比于情况1,这里在求得了θs_ce 与θe_ce 后,还需要考虑编程速度F 与螺旋线半径变化趋势的影响.假设在弓高误差约束下F 对应的位置点参数为θF ,若存在匀速段,其终点位置参数为θue (求法在后文给出),螺旋线半径逐渐增大(即v 0>0).根据θs_ce 、θe_ce 与θF 三者的大小关系,可确定整个螺旋线的速度规划结果.若θs <θF <θs_ce <θe_ce <θe ,速度规划结果为加速[θs ,θF -匀速[θF ,θue ]-减速[θue ,θe ].若 θs <θs_ce <θF <θe_ce <θe ,速度规划结果为加速[θs ,θs_ce ]-自适应插补[θs_ce ,θF ]-匀速[θF ,θue ]-减速[θue , θe ].若θs <θs_ce <θe_ce <θF <θe ,速度规划结果为加速[θs ,θs_ce ]-自适应插补[θs_ce ,θe_ce ]-减速[θe_ce ,θe ].若 θs <θe_ce <θs_ce <θe ,则达不到弓高误差约束的最大速度,按照前文二分法可求解实际的交汇点θm 与达到该点的速度v m ,然后比较F 与v m 的大小关系:若F <v m ,说明速度超限,速度规划结果为加速[θs ,θF ]-匀速[θF ,θue ]-减速[θue ,θe ];若F >v m ,则无需考虑F 的影响,速度规划结果为加速[θs ,θm ]-减速[θm ,θe ].若 θs <θe_ce =θs_ce <θe ,则实际的交汇点即为θs_ce (θe_ce ),记达到该点的速度为v m ,比较F 与v m 的大小关系:若F <v m ,说明速度超限,速度规划结果为加速[θs ,θF ]-匀速[θF ,θue ]-减速[θue ,θe ];若F >v m ,则无需考虑F 的影响,速度规划结果为加速[θs ,θs_ce ]-减速[θs_ce ,θe ].匀速段的终点位置参数θue 可由下述方法求解.(1) 通过判断F -v e 与v _1的大小关系,利用式(13)和式(14)求解v e 反向加速到F 所需要的时间,再进一步计算所运动的距离S .若F -v e >v _1,则有e _1max max max2e max max max //0.5(2/)(2)t F v v A T J A S v A J A t T t ⎧=−−⎪=⎨⎪=+++⎩匀加加加加加匀加(13)若F -v e <v _1,则有e max 2t S ⎧⎪⎨=⎪⎩加加加加加加 (14)(2) 利用式(7)求解参数增量Δθ,进一步可得到θue =θe -Δθ,同时记录其加减速方式. 采用相同的分析方法可得到螺旋线半径逐渐减小(即v 0<0)情况下,整个螺旋线的速度规划结果. 情况3 F ≤v s_ce 且F ≤v e_ce这时无需考虑弓高误差对运行速度的限制,问题转变为已知起始速度、终止速度、编程速度与运动距离的S 型加减速规划,具体规划方法可参考文献[12],这里不再赘述.上述速度规划算法的完整流程如图3所示. 至此,根据速度规划结果与其对应的加减速方式,可求得各段的运行时间、关键点的速度、加速度、加加速度等信息,为求解插补参数做准备.需要说明的是,上述算法中的二分法在实际应用过程中,二分次数仅十几次就可以达到计算要求,并不会对数控系统的实时性造成太大影响.2018年11月王太勇等:螺旋线插补速度规划及其插补参数求解方法 ·1111·图3速度规划算法流程Fig.3Flow chart of velocity planning algorithm4 插补参数实时计算插补点计算的关键在于插补参数的求解,即已知当前插补参数与该插补周期内的位移,求解下一插补参数,其求解的精度与速度直接决定了最终的插补效果与加工质量.常用的泰勒展开法在求解插补参数时,由于存在截断误差,导致插补点求解不够精准,引起较大的速度波动.鉴于此,本文采用了一种基于改进牛顿迭代的预估-校正法,其原理如下.4.1 预估初值的确定由1阶泰勒展开式可知1111()()()()()()()()θθθθθθθθθθ++++′≈+−⎧⎨′Δ=−≈−⎩i i i i ii i i i iL L LL L L L(15)式中:θi为已知的当前插补参数;θi+1为待求的下一插补参数;ΔL为两点间的弧长.将该插补周期内移动的距离S代入式(15)可得到下一插补参数1()θθθ+=+′i iiSL(16)利用式(16)即可计算得到下一插补参数的预估初值,为后续的迭代校正所用.4.2 改进牛顿迭代假设p(θi)与p(θi+1)分别为当前插补点与所求下一插补点的位置,根据速度波动率[13]的定义可构·1112· 天津大学学报(自然科学与工程技术版) 第51卷 第11期造函数11()()(,)100%θθθθ++−−=×i i i i p p SH S(17)实际求解θi +1时,通常期望式(17)等于0,即不存在速度波动.由于式(17)为复杂的非线性方程,这里采用数值解法——改进牛顿迭代进行求解,迭代初值采用预估初值.迭代公式如下:()(1)()111()1(,)(,)θθθθθθ+++++=−′k k k i i i i k i i H H (18)与传统的牛顿迭代不同的是,改进牛顿迭代在每次迭代计算后并不是把本次迭代计算得到的结果直接作为下次迭代的输入值,而是按照下述基于加权与相似三角形原理的规则进一步求解下次迭代的输入值,使其更接近理想解,以加快收敛速度.假设迭代初值是()1θ+k i ,迭代一次后结果为(1)1θ++k i ,H (θi ,()1θ+k i )与H (θi ,(1)1k i θ++)为二者对应的速度波动率,(1)1,temp k i θ++为待求的下次迭代的实际输入值.(1) 如图4所示,若H (θi ,()1θ+k i )H (θi ,(1)1θ++k i )≤ 0,则理想解介于二者之间,设()1θ+k i 对应的权重为W (θi ,()1θ+k i ),(1)1θ++k i 对应的权重为W (θi ,(1)1θ++k i ),可以得到(1)1()1(1)()11(,)(,)(,)(,)k i i k i i k k i i i i H W H H θθθθθθθθ++++++=− (19)()1(1)1(1)()11(,)(,)(,)(,)θθθθθθθθ++++++=−k i i k i i k k i i i i H W H H(20)则(1)1,temp k i θ++的值为(1)()()(1)(1)1,temp 1111(,)(,)k k k k k i i i i i i i W W θθθθθθθ++++++++=+(21)(2) 如图5、图6所示,若|H (θi ,()1θ+k i )|>|H (θi ,(1)1θ++k i )|>0且H (θi ,()1θ+k i )H (θi ,(1)1θ++k i )>0,则理想解可能大于二者或者小于二者,具体情况可继续划分为以下两种情况.(a ) 如图5所示,当()1θ+k i <(1)1θ++k i 时,理想值大于二者,根据相似三角形原理可知(1)1(1)(1)1,temp 1(1)()11(,)(,)(,)k i i k k i i k k ii ii H H H θθθθθθθθ+++++++++=+⋅−(1)()11k k i i θθ+++− (22)(b ) 如图6所示,当()1θ+k i >(1)1θ++k i 时,理想值小于二者,根据相似三角形原理可知(1)1(1)(1)1,temp 1()(1)11(,)(,)(,)k i i k k i i k k i i i i H H H θθθθθθθθ+++++++++=−⋅−()(1)11k k i i θθ+++−(23)值得注意的是,图4、图5与图6仅是该分类下的某一种示意图,其他种可能并没有一一绘图示意,但是上述讨论的分类与其对应的计算方法已经把所有的可能都包含在内.图4 理想解介于二者之间Fig.4Ideal value between the two values图5 理想解大于二者Fig.5Ideal value is more than the two values图6 理想解小于二者Fig.6 Ideal value is less than the two values4.3 插补参数计算流程根据第4.1节与第4.2节所述内容,可以得到插补参数的计算流程如图7所示,具体步骤如下所述.(1) 根据预估初值()1θ+k i 迭代计算一次得到(1)1θ++k i . (2) 按照第4.2节的规则,进一步判断求解下次迭代计算的实际输入值(1)1,temp θ++k i .2018年11月 王太勇等:螺旋线插补速度规划及其插补参数求解方法 ·1113·(3) 计算H (θi ,(1)1,temp θ++k i ).(4) 判断H (θi ,(1)1,temp θ++k i )是否满足设定的速度波动率要求ε.(5) 若满足要求,则输出(1)1,temp θ++k i 作为待求的插补参数,结束计算.(6) 若不满足要求,则令()1θ+k i =(1)1,temp θ++k i 代入迭代式(18),计算得到新的(1)1θ++k i ,转到步骤(2).图7 插补参数计算流程Fig.7 Flow chart of calculating interpolation parameters5 算法仿真与分析上文算法已经通过C 语言编程实现,获得的数据利用Matlab R 2014b 进行可视化,在计算机上进行该算法的仿真测试分析.测试环境如下:操作系统为Windows 7旗舰版;内存为8GB ;CPU 为Inter (R ) Core (TM )i5-4570 3.20GHz ×4;显卡为AMD Radeon HD 8490.这里仅以螺旋线ρ=10+θ/π(θ[0∈,π])(此时 v 0>0,v 0<0时与此类似,就不再占用篇幅分析)作为待插补曲线,通过给定不同的初始条件,获得对应的速度与加速度曲线,说明其正确性.假设最大加加速度J max =10000mm/s 3,最大加速度A max =1000mm/s 2,插补周期T =0.002s .对应不同的最大允许弓高误差εmax 、初始速度v s 、终止速度v e 以及编程速度F ,可以规划得到不同的速度与加速度曲线. 这里给出4种较为典型的情况,其他情况就不再一一罗列.(1) 最大允许弓高误差εmax =0.0005mm ,初始速度v s =96mm/s ,终止速度v e =102mm/s ,编程速度F =200mm/s .速度规划结果为加速-自适应插补-减速,对应的速度与加速度曲线如图8所示.(2) 最大允许弓高误差εmax =0.0005mm ,初始速度v s =96mm/s ,终止速度v e =98mm/s ,编程速度F =103mm/s .速度规划结果为加速-自适应插补-匀速-减速,对应的速度与加速度曲线如图9所示.图8 情况1速度与加速度曲线Fig.8Velocity and acceleration curves of Case 1图9 情况2速度与加速度曲线Fig.9 Velocity and acceleration curves of Case 2(3) 最大允许弓高误差εmax =0.001mm ,初始速度v s =0mm/s ,终止速度v e =0mm/s ,编程速度F =141.5mm/s .速度规划结果为加速-匀速-减速,对应的速度与加速度曲线如图10所示.可由加速度曲线看出,放大的部分是很短暂的匀速过程.图10 情况3速度与加速度曲线Fig.10 Velocity and acceleration curves of Case 3(4) 最大允许弓高误差εmax =0.001,mm ,初始速度v s =0mm/s ,终止速度v e =0,mm/s ,编程速度F =140mm/s .速度规划结果为加速-减速,对应的速度与·1114·天津大学学报(自然科学与工程技术版)第51卷 第11期加速度曲线如图11所示.图11情况4速度与加速度曲线Fig.11Velocity and acceleration curves of Case 4为了证明基于改进牛顿迭代的预估-校正法的优越性,以上述情况4作为初始条件,对传统的2阶泰勒展开法、2阶Runge-Kutta附加补偿值的方法[14]、基于一般牛顿迭代预估-校正法[15-16]和本文所提基于改进牛顿迭代的预估-校正法的计算精度进行了比较,同时对比了除去2阶泰勒展开法外,计算精度较高的其他3种方法的计算效率.其中两种预估-校正方法的要求速度波动率精度为10-10,最大迭代次数为5.图12所示为4种方法计算插补参数时的速度波动率对比,其中2阶泰勒展开法的速度波动率远远大于其他3种方法,最大约为3.8%,2阶Runge-Kutta 附加补偿值的方法的速度波动率小于2阶泰勒展开法的速度波动率,但高于两种预估-校正法的速度波动率,最大约为0.19%.图124种方法的速度波动率对比Fig.12Comparison of the velocity fluctuation rate of four methods图13所示为精度最高的两种预估-校正法计算插补参数时的速度波动率对比,可见二者的计算精度大致相同,均达到10-11级.图14所示为4种方法的计算耗时对比.从计算耗时的角度看,由于2阶泰勒展开法和2阶Runge-Kutta附加补偿值的方法不存在迭代计算,均耗时较少;两种预估-校正法的计算耗时尽管高于2阶泰勒展开法和2阶Runge-Kutta附加补偿值的方法,但远小于插补周期2ms,整体上基于改进牛顿迭代的预估-校正法平均耗时少于基于一般牛顿迭代的预估-校正法.图15所示为两种预估-校正法的迭代次数对比.从迭代次数的角度看,二者迭代次数均在5次以内,但是基于改进牛顿迭代的预估-校正法在部分区域的迭代次数更少,可见其计算效率更高.图13两种预估-校正法的速度波动率对比Fig.13Comparison of the velocity fluctuation rate of two predictor-corrector methods图142阶Runge-Kutta附加补偿值的方法与两种预估校正法计算耗时对比Fig.14Comparison of time consumption of 2nd-order Runge-Kutta compensation method and two pre-dictor-corrector methods图15两种预估-校正法迭代次数对比Fig.15Comparison of iteration number of two predictor-corrector methods6 实验验证为进一步验证本文所提出的螺旋线插补算法的2018年11月 王太勇等:螺旋线插补速度规划及其插补参数求解方法 ·1115·可行性,将该算法嵌入到本课题组开发的TSNC-SX-A1M 型可重构数控系统中,在三轴铣床上进行切削加工实验.相关工艺要求如下:毛坯为6061铝板,刀具为φ6的两齿端面立铣刀,切削深度为0.4mm ,主轴转速为1000r/min ,进给速度为600mm/min .图16为加工所用机床与加工情况,待加工的螺旋线轨迹为ρ=10+10θ/π(θ[0∈,3π]),如图17(a )所示,加(a )加工机床(b )加工情况图16 加工机床与加工情况Fig.16Machine tool and machining situation(a )待加工螺旋线轨迹(b )加工效果图17 螺旋线实际加工Fig.17 Machining of archimedes spiral 工效果如图17(b)所示.实验结果表明,本文所提出的螺旋线插补算法可以在可重构数控系统平台上实现,算法有效且可行.7 结 论综上,通过对螺旋线数学方程的建立及其插补算法的研究,探究在曲率特性的持续限制下,尽可能得到合理的速度规划结果,同时提出了一种新的插补参数求解方法来进一步降低速度波动率,通过算法仿真分析与实验,得出以下结论:(1) 速度规划算法在考虑曲率特性对运行速度的持续限制这一前提下,实现了螺旋线插补的柔性加减速控制;(2) 与已有方法相比,基于改进牛顿迭代的预估-校正法在有效降低速度波动率的同时又具有较高的计算效率. 参考文献:[1] 张志强,王太勇,胡世广,等. 复杂空间参数曲线加工的插补算法[J ]. 天津大学学报,2006,39(11):1331-1335.Zhang Zhiqiang ,Wang Taiyong ,Hu Shiguang ,et al. Interpolation algorithm for machining complex paramet-ric curves in space [J ]. Jour nal of Tianjin Univer sity ,2006,39(11):1331-1335(in Chinese ).[2] 王爱玲,沈兴全,吴淑琴,等. 现代数控编程技术及应用[M ]. 北京:国防工业出版社,2002.Wang Ailing ,Shen Xingquan ,Wu Shuqin ,et al. Mode n Nume ical Cont ol P og amming Technology and Application [M ]. Beijing :National Defence Indus-try Press ,2002(in Chinese ).[3] 杨 萍,杨明泰,张阳阳. 高速数控加工中NURBS曲线拟合及插补技术的研究[J ]. 中国机械工程,2015,26(12):1630-1234.Yang Ping ,Yang Mingtai ,Zhang Yangyang. R esearch on technologies of NUR BS curve fitting and interpola-tion in high speed NC machining [J ]. China Mechanical Engineering ,2015,26(12):1630-1234(in Chinese ).[4] 罗良玲,曹苏明. 基于时间分割法的阿基米德螺线的插补算法研究[J ]. 南昌大学学报:工学版,2002,24(3):22-24.Luo Liangling ,Cao Suming. The calculation of interpo-lation of spiral of archimedes based on time-divided method [J ].Jou r nal of Nanchang Unive r sity :Engineer ing & Technology ,2002,24(3):22-24(in·1116·天津大学学报(自然科学与工程技术版)第51卷 第11期Chinese).[5]刘 萍,梅晓妍,王民权. 变半径螺旋线插补铣削宏程序优化设计[J]. 组合机床与自动化加工技术,2014,3(3):143-145.Liu Ping,Mei Xiaoyan,Wang Mingquan. Optimizationdesign of macro program for variable radius spiral inter-polation milling[J]. Modular Machine Tool & AutomaticManufactur ing Technique,2014,3(3):143-145 (inChinese).[6]邵伟平. 内锥螺纹的数控铣削分析[J]. 制造技术与机床,2009(1):24-25.Shao Weiping. Numerical control milling analysis of in-ner cone thread [J]. Manufactur ing Technology & Ma-chine Tool,2009(1):24-25 (in Chinese).[7]沈文华,张吉堂,于松章. 基于宏程序的阿基米德螺线形凸轮程序编制[J]. 机械管理开发,2016,31(3):17-19.Shen Wenhua,Zhang Jitang,Yu Songzhang. Thepreparation of archimedes spiral cam based on macroprogram[J]. Mechanical Management and Development,2016,31(3):17-19(in Chinese).[8]Qiu Hua,Akio Kubo,Li Ziye,et al. Optimal ar-chimedes’ spiral interpolation for cutter path generationin NC machining of noncircular contours[J]. Interna-tional Journal of Advanced Manufacturing Technology,2008(36):69-82.[9]Hu R onghua,Liu Qiangfei,Song Honggun. Profile processing of scroll compressor and its error analysis[J].Advanced Mater ials Resear ch,2012,503/504:937-940.[10]杨亮亮,许守金,史伟民,等. 始末速度不为零的S 型加减速时间规划算法研究[J]. 机械工程学报,2016,52(23):199-206.Yang Liangliang,Xu Shoujin,Shi Weimin,et al. Re-search on S type acceleration and deceleration time plan-ning algorithm with beginning and end speed non-zero[J]. Chinese Jou nal of Mechanical Enginee ing,2016,52(23):199-206(in Chinese). [11]富宏亚,李茂月,刘 源,等. 基于曲率特性的柔性加减速NURBS插补器[J]. 计算机集成制造系统,2012,18(9):1921-1929.Fu Hongya,Li Maoyue,Liu Yuan,et al. NURBS in-terpolator with flexible acceleration and decelerationbased on curvature properties[J]. Computer Integr atedManufactur ing Systems,2012,18(9):1921-1929(inChinese).[12]田军峰,林 浒,姚 壮,等. 数控系统S型曲线加减速快速规划研究[J]. 小型微型计算机系统,2013,34(1):168-172.Tian Junfeng,Lin Hu,Yao Zhuang,et al. Study on S-shape curve acceleration and deceleration control fastplanning on CNC system[J]. Jour nal of Chinese Mini-Micr o Computer Systems,2013,34(1):168-172(inChinese).[13]刘 强,刘 焕,周胜凯,等. 无速度波动的NURBS 曲线二次插补算法原理及其实现[J]. 计算机集成制造系统,2015,21(10):2659-2667.Liu Qiang,Liu Huan,Zhou Shengkai,et al. Principleand development of NURBS interpolation algorithm withzero-feedrate fluctuation[J]. Computer Integrated Manu-factur ing Systems,2015,21(10):2659-2667(in Chi-nese).[14]Jia Zhenyuan,Song Dening,Ma Jianwei,et al. A NUR BS interpolator with constant speed at federate-sensitive regions under drive and contour-error con-straints[J]. Inter national Jour nal of Machine Tools &Manufacture,2017,116:1-17.[15]Wang Yunsen,Yang Dongsheng,Liu Yinzhong. A real-time look-ahead interpolation algorithm based on Akimacurve fitting[J]. International Journal of Machine Tools& Manufacture,2014,85(5):122-130.[16]Wang Guoxun,Shu Qinlin,Wang Jun,et al. Research on adaptive non-uniform rational B-spline real-time in-terpolation technology based on acceleration constraints[J]. Inter national Jour nal of Advanced Manufactur ingTechnology,2016,91(5):1-12.(责任编辑:金顺爱)。