CN104133423A - 一种空间椭圆弧插补方法 - Google Patents
一种空间椭圆弧插补方法 Download PDFInfo
- Publication number
- CN104133423A CN104133423A CN201410339105.XA CN201410339105A CN104133423A CN 104133423 A CN104133423 A CN 104133423A CN 201410339105 A CN201410339105 A CN 201410339105A CN 104133423 A CN104133423 A CN 104133423A
- Authority
- CN
- China
- Prior art keywords
- interpolation
- rightarrow
- elliptic arc
- vector
- calculate
- 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.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
- Image Generation (AREA)
Abstract
一种空间椭圆弧插补方法,它有六大步骤:步骤1,定义空间椭圆弧插补代码格式;步骤2,译码获取空间椭圆弧插补数据信息;步骤3,计算插补圆心角;步骤4,插补参数增量计算;步骤5,插补点计算;步骤6,插补终点判断。本发明适用于任意起终点、任意空间平面的椭圆弧插补。椭圆弧的空间位置以及插补方向由椭圆弧的长轴方向向量以及短轴方向向量决定,并规定绕两个方向向量的向量积的逆时针方向插补。本发明无需进行插补象限判断,方法流程清晰简单,易于实现。
Description
技术领域
本发明涉及一种空间椭圆弧插补方法,属于数控加工技术领域。
背景技术
在数控加工中,经常涉及空间圆弧或椭圆弧的加工问题。空间圆弧插补是空间自由曲线曲面加工的重要方法,许多学者研究使用连续微小圆弧段形成的圆弧样条来逼近空间自由曲线曲面,相比于传统的微小空间直线段逼近,能大大降低代码的数量,提高逼近精度。圆弧是椭圆弧的特殊情况,相对来说空间圆弧插补更容易实现,但是在许多情况下,采用空间椭圆弧逼近空间自由曲线曲面能得到更好的效果,因此有必要研究一种空间椭圆弧的插补方法。而在已有的公开的文献中,大多采用坐标变换及三角函数计算来实现空间椭圆弧的插补,这些方法通常计算量大,过程复杂,难以在数控系统中实现。
为了实现空间椭圆弧插补,首先需要重新定义空间椭圆弧插补代码格式以形成一种通用统一的标准。然后,需要一种精确的插补点计算方法使生成的插补点都精确的位于被插补椭圆弧上,同时确保相邻插补点的距离满足指令插补步长要求。最后,需要一种准确的终点判断方法以及时结束插补任务,避免欠插补和过插补现象。
发明内容
本发明针对以上问题,提供了一种空间椭圆弧插补方法。该插补方法能根据给定的椭圆弧起点、终点以及椭圆弧长轴与短轴的方向向量完成任意空间平面内的椭圆弧插补。
本发明通过以下技术方案实现,方法流程如图1,具体步骤如下:
步骤1,定义空间椭圆弧插补代码格式:
本发明采用的空间椭圆弧插补代码格式为:
G03.1 X(U)_Y(V)_Z(W)_I_J_K_AL_BL_AX_AY_AZ_BX_BY_BZ_F_
X,Y,Z为终点绝对值坐标;
U,V,W为终点相对坐标(相对于起点);
I,J,K为中心相对坐标(相对于起点);
AL,BL为椭圆弧长轴长与短轴长;
AX,AY,AZ为椭圆长轴方向矢量;
BX,BY,BZ为椭圆短轴方向矢量;
F为进给速度;
规定插补方向为绕椭圆弧所在平面法矢(AX,AY,AZ)×(BX,BY,BZ)逆时针插补。
步骤2,译码获取空间椭圆弧插补数据信息:
令空间椭圆弧插补的起点为(xs,ys,zs),即前一段代码插补的终点,为已知;
若读取的空间椭圆弧插补代码为:
G03.1Xxe Yye Zze Iic Jjc Kkc ALa BLb AXAx AYAy AZAz BXBx BYBy BZBz Ff
则椭圆弧插补的终点为(xe,ye,ze);中心为(xc,yc,zc)=(xs+ic,ys+jc,zs+kc);长轴长为a,短轴长为b;长轴方向向量为短轴方向向量为
最大进给速度为f;各个数据信息表示如图2中所示。
步骤3,计算插补圆心角:
计算起点向量为Vs=(xs-xc,ys-yc,zs-zc),终点向量为Ve=(xe-xc,ye-yc,ze-zc),椭圆弧所在平面法矢可以计算为计算起点向量、终点向量与法矢的混合积为(Vs,Ve,N)=<(Vs×Ve),N>,若(Vs,Ve,N)>0,则圆弧插补圆心角若(Vs,Ve,N)≤0,则圆弧插补圆心计算符号“(·,·,·)”为三个向量的混合积计算,计算符号“×”为两个向量的向量积计算,计算符号“<·,·>”表示两个向量的数量积计算。
步骤4,插补参数增量计算:
若第i个插补周期的插补点为Xi=(xi,yi,zi),中心为C=(xc,yc,zc),由指令速度、加速度与加加速度决定的指令插补步长为Li,则插补参数增量为:其中:R2=||Xi-C||。计算符号“<·,·>”表示两个向量的数量积计算,计算符号“||·||”表示向量的三维欧几里德模长计算。
步骤5,插补点计算:
令当前插补点为(xi,yi,zi),下一个插补点为(xi+1,yi+1,zi+1),按如下计算:
系数A0~A8计算:
系数B0~B8计算:
H=(A0A4A8-A0A5A7-A1A3A8+A1A5A6+A2A3A7-A2A4A6)h3
+(A1A3-A0A4-A0A8+A2A6-A4A8+A5A7)h2+(A0+A4+A8)h-1
xi+1=xc+(xi-xc)(B0+A0B0h+A3B1h+A6B2h)
+(yi-yc)(B1+A1B0h+A4B1h+A7B2h)
+(zi-zc)(B2+A2B0h+A5B1h+A8B2h)
yi+1=yc+(xi-xc)(B3+A0B3h+A3B4h+A6B5h)
+(yi-yc)(B4+A1B3h+A4B4h+A7B5h)
+(zi-zc)(B5+A2B3h+A5B4h+A8B5h)
zi+1=zc+(xi-xc)(B6+A0B6h+A3B7h+A6B8h)
+(yi-yc)(B7+A1B6h+A4B7h+A7B8h)
+(zi-zc)(B8+A2B6h+A5B7h+A8B8h)
计算得到的(xi+1,yi+1,zi+1)即为插补点,通过伺服位置控制实现插补,同时也以(xi+1,yi+1,zi+1)按照上述计算方法递推下一个插补点。
步骤6,插补终点判断:
计算两个向量: 则圆心角增量为更新剩余插补圆心角θ=θ-Δθi,若θ>0,则返回步骤4继续插补;否则,插补结束。
根据以上步骤,本发明的一种空间椭圆弧插补方法适用于任意起终点、任意空间平面的椭圆弧插补。椭圆弧的空间位置以及插补方向由椭圆弧的长轴方向向量以及短轴方向向量决定,并规定绕两个方向向量的向量积的逆时针方向插补。本发明具有以下优点:
1.通用性。由椭圆弧的长轴方向向量以及短轴方向向量决定了椭圆弧的空间位置以及插补方向,可以完成任意空间椭圆弧的插补。
2.高精度。经过理论验证,由步骤5计算出的插补点都能保证精确的位于被插补椭圆弧上,因此插补点的径向误差为0。且通过步骤4计算的插补参数增量能达到0.1%以下的相对速度误差,插补精度高。
3.高效性。本发明在计算插补点时仅存在简单的四则运算,避免了三角函数的计算,只在参数增量计算时涉及开方计算,因此插补计算效率高,计算速度快。
4.简便性。本发明无需进行插补象限判断,方法流程清晰简单,易于实现。
附图说明
图1是本发明方法流程图;
图2是本发明椭圆弧插补代码定义的数据信息图。
图3是实施示例插补结果图;
图4是实施示例插补过程中的速度误差曲线。
符号说明:
图2中(xs,ys,zs)为椭圆弧插补起点;
图2中(xe,ye,ze)为椭圆弧插补终点;
图2中(xc,yc,zc)为椭圆弧插补中心;
图2中AL、BL分别为椭圆弧长轴长与短轴长;
图2中分别为椭圆弧长轴方向向量与短轴方向向量。
具体实施方式
下面结合附图对本发明实施示例作详细说明。以一个整椭圆为插补对象,实施流程图如图1所示,有以下具体步骤:
步骤1,定义空间椭圆弧插补代码格式:
以一个长轴长为50,短轴长为30,长轴方向方向量为(3,4,0),短轴方向向量为(-4,3,0),椭圆中心在原点(0,0,0)的椭圆为插补对象。定义椭圆弧插补起点与终点均为(30,40,0),即长轴的一个端点,插补进给速度为100mm/s,G代码格式为:
G03.1 X30 Y40 Z0 I-30 J-40 K0 AL50 BL30 AX3 AY4 AZ0 BX-4 BY3 BZ0 F100
步骤2,译码获取空间椭圆弧插补数据信息:
由G代码译码获得圆弧插补数据信息为:
椭圆弧终点:(xe,ye,ze)=(30,40,0)
椭圆弧中心:(xc,yc,zc)=(0,0,0)
椭圆弧长轴长:a=50
椭圆弧短轴长:b=30
椭圆弧长轴方向向量:
椭圆弧短轴方向向量:
插补最大进给速度:f=100mm/s
各信息代表如图2所示。
步骤3,计算插补圆心角:
计算起点向量为Vs=(30,40,0),终点向量为Ve=(30,40,0),椭圆弧所在平面法矢可以计算为计算起点向量、终点向量与法矢的混合积为(Vs,Ve,N)=<(Vs×Ve),N>=0,则圆弧插补圆心计算符号“(·,·,·)”为三个向量的混合积计算,计算符号×为两个向量的向量积计算,计算符号“<·,·>”表示两个向量的数量积计算。
步骤4,插补参数增量计算:
若第i个插补周期的插补点为Xi=(xi,yi,zi),中心为C=(xc,yc,zc),令由指令速度、加速度与加加速度决定的指令插补步长为Li=0.1mm,即以恒速插补,则插补参数增量为:
其中:R2=||Xi-C||。计算符号“<·,·>”表示两个向量的点积计算,计算符号“||·||”表示向量的三维欧几里德模长计算。
步骤5,插补点计算:
令当前插补点为(xi,yi,zi),下一个插补点为(xi+1,yi+1,zi+1),按如下计算:
系数A0~A8计算:
系数B0~B8计算:
H=(A0A4A8-A0A5A7-A1A3A8+A1A5A6+A2A3A7-A2A4A6)h3
+(A1A3-A0A4-A0A8+A2A6-A4A8+A5A7)h2+(A0+A4+A8)h-1
xi+1=xc+(xi-xc)(B0+A0B0h+A3B1h+A6B2h)
+(yi-yc)(B1+A1B0h+A4B1h+A7B2h)
+(zi-zc)(B2+A2B0h+A5B1h+A8B2h)
yi+1=yc+(xi-xc)(B3+A0B3h+A3B4h+A6B5h)
+(yi-yc)(B4+A1B3h+A4B4h+A7B5h)
+(zi-zc)(B5+A2B3h+A5B4h+A8B5h)
zi+1=zc+(xi-xc)(B6+A0B6h+A3B7h+A6B8h)
+(yi-yc)(B7+A1B6h+A4B7h+A7B8h)
+(zi-zc)(B8+A2B6h+A5B7h+A8B8h)
令i=0时,插补点为椭圆弧起点(30,40,0),通过步骤4与步骤5计算得到的插补点如下:
i | x | y | z |
0 | 30 | 40 | 0 |
1 | 29.91983352 | 40.05977764 | 0 |
2 | 29.83933539 | 40.11910959 | 0 |
3 | 29.75850812 | 40.17799404 | 0 |
4 | 29.67735424 | 40.23642924 | 0 |
5 | 29.59587631 | 40.29441345 | 0 |
6 | 29.51407692 | 40.351945 | 0 |
7 | 29.4319587 | 40.40902224 | 0 |
8 | 29.34952427 | 40.46564358 | 0 |
9 | 29.26677631 | 40.52180748 | 0 |
10 | 29.18371751 | 40.57751241 | 0 |
11 | 29.10035058 | 40.6327569 | 0 |
12 | 29.01667827 | 40.68753955 | 0 |
13 | 28.93270334 | 40.74185896 | 0 |
14 | 28.84842857 | 40.79571381 | 0 |
15 | 28.76385676 | 40.8491028 | 0 |
16 | 28.67899074 | 40.90202469 | 0 |
17 | 28.59383335 | 40.95447827 | 0 |
18 | 28.50838746 | 41.0064624 | 0 |
19 | 28.42265593 | 41.05797596 | 0 |
...... | ...... | ...... | ...... |
上表中i表示第i个插补周期;(x,y,z)表示每个插补周期生成的插补点。
步骤6,插补终点判断:
计算两个向量: 则圆心角增量为更新剩余插补圆心角θ=θ-Δθi,若θ>0,则返回步骤4继续插补;否则,插补结束。图3所示为插补结果,可以看出,本实例为一个在XY平面内的椭圆,经过理论验证,生成的插补点都精确的位于椭圆上。图4所示为插补过程中产生的相对速度误差曲线,可以看出,本发明方法产生的速度误差在0.075%以下,完全符合要求。
Claims (1)
1.一种空间椭圆弧插补方法,其特征在于:该方法具体步骤如下:
步骤1,定义空间椭圆弧插补代码格式:
采用的空间椭圆弧插补代码格式为:
G03.1 X(U)_Y(V)_Z(W)_I_J_K_AL_BL_AX_AY_AZ_BX_BY_BZ_F_
X,Y,Z为终点绝对值坐标;
U,V,W为相对于起点的终点相对坐标;
I,J,K为相对于起点的中心相对坐标;
AL,BL为椭圆弧长轴长与短轴长;
AX,AY,AZ为椭圆长轴方向矢量;
BX,BY,BZ为椭圆短轴方向矢量;
F为进给速度;
规定插补方向为绕椭圆弧所在平面法矢(AX,AY,AZ)×(BX,BY,BZ)逆时针插补;
步骤2,译码获取空间椭圆弧插补数据信息:
令空间椭圆弧插补的起点为(xs,ys,zs),即前一段代码插补的终点,为已知;
若读取的空间椭圆弧插补代码为:
G03.1Xxe Yye Zze Iic Jjc Kkc ALa BLb AXAx AYAy AZAz BXBx BYBy BZBz Ff
则椭圆弧插补的终点为(xe,ye,ze);中心为(xc,yc,zc)=(xs+ic,ys+jc,zs+kc);长轴长为a,短轴长为b;长轴方向向量为短轴方向向量为
最大进给速度为f;
步骤3,计算插补圆心角:
计算起点向量为Vs=(xs-xc,ys-yc,zs-zc),终点向量为Ve=(xe-xc,ye-yc,ze-zc),椭圆弧所在平面法矢计算为计算起点向量、终点向量与法矢的混合积为(Vs,Ve,N)=<(Vs×Ve),N>,若(Vs,Ve,N)>0,则圆弧插补圆心角若(Vs,Ve,N)≤0,则圆弧插补圆心计算符号“(·,·,·)”为三个向量的混合积计算,计算符号“×”为两个向量的向量积计算,计算符号“<·,·>”表示两个向量的数量积计算;
步骤4,插补参数增量计算:
若第i个插补周期的插补点为Xi=(xi,yi,zi),中心为C=(xc,yc,zc),由指令速度、加速度与加加速度决定的指令插补步长为Li,则插补参数增量为:其中:R2=||Xi-C||;计算符号“<·,·>”表示两个向量的数量积计算,计算符号“||·||”表示向量的三维欧几里德模长计算;
步骤5,插补点计算:
令当前插补点为(xi,yi,zi),下一个插补点为(xi+1,yi+1,zi+1),按如下计算:
系数A0~A8计算:
系数B0~B8计算:
H=(A0A4A8-A0A5A7-A1A3A8+A1A5A6+A2A3A7-A2A4A6)h3
+(A1A3-A0A4-A0A8+A2A6-A4A8+A5A7)h2+(A0+A4+A8)h-1
xi+1=xc+(xi-xc)(B0+A0B0h+A3B1h+A6B2h)
+(yi-yc)(B1+A1B0h+A4B1h+A7B2h)
+(zi-zc)(B2+A2B0h+A5B1h+A8B2h)
yi+1=yc+(xi-xc)(B3+A0B3h+A3B4h+A6B5h)
+(yi-yc)(B4+A1B3h+A4B4h+A7B5h)
+(zi-zc)(B5+A2B3h+A5B4h+A8B5h)
zi+1=zc+(xi-xc)(B6+A0B6h+A3B7h+A6B8h)
+(yi-yc)(B7+A1B6h+A4B7h+A7B8h)
+(zi-zc)(B8+A2B6h+A5B7h+A8B8h)
计算得到的(xi+1,yi+1,zi+1)即为插补点,通过伺服位置控制实现插补,同时也以(xi+1,yi+1,zi+1)按照上述计算方法递推下一个插补点;
步骤6,插补终点判断:
计算两个向量: 则圆心角增量为更新剩余插补圆心角θ=θ-Δθi,若θ>0,则返回步骤4继续插补;否则,插补结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410339105.XA CN104133423B (zh) | 2014-07-16 | 2014-07-16 | 一种空间椭圆弧插补方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410339105.XA CN104133423B (zh) | 2014-07-16 | 2014-07-16 | 一种空间椭圆弧插补方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133423A true CN104133423A (zh) | 2014-11-05 |
CN104133423B CN104133423B (zh) | 2016-11-09 |
Family
ID=51806143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410339105.XA Active CN104133423B (zh) | 2014-07-16 | 2014-07-16 | 一种空间椭圆弧插补方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133423B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885166A (zh) * | 2017-10-31 | 2018-04-06 | 北京航空航天大学 | 一种空间圆锥曲线通用插补方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5750010A (en) * | 1980-09-08 | 1982-03-24 | Fanuc Ltd | Numeric control system |
JPS642106A (en) * | 1987-06-24 | 1989-01-06 | Fanuc Ltd | System for controlling involute interpolating speed |
CN1540469A (zh) * | 2003-10-28 | 2004-10-27 | 华北电力大学 | 一种用于数控机床的三坐标圆弧插补方法及装置 |
CN101881953B (zh) * | 2009-05-06 | 2013-04-03 | 陈学恭 | 一种控制物体运动轨迹的插补方法 |
CN102147599B (zh) * | 2011-03-30 | 2013-09-18 | 华南理工大学 | 椭圆弧插补方法 |
CN103149879B (zh) * | 2011-12-07 | 2015-05-13 | 沈阳高精数控技术有限公司 | 一种基于弧长的数控系统椭圆插补方法 |
CN103176428B (zh) * | 2013-04-16 | 2015-01-21 | 易兴 | 基于球坐标的cnc系统插补算法及实现该算法的装置 |
CN103676787B (zh) * | 2013-12-13 | 2016-06-22 | 大连理工计算机控制工程有限公司 | 一种用于运动控制系统的圆心模式空间圆弧插补方法 |
-
2014
- 2014-07-16 CN CN201410339105.XA patent/CN104133423B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885166A (zh) * | 2017-10-31 | 2018-04-06 | 北京航空航天大学 | 一种空间圆锥曲线通用插补方法 |
CN107885166B (zh) * | 2017-10-31 | 2020-01-21 | 北京航空航天大学 | 一种空间圆锥曲线通用插补方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104133423B (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105353725A (zh) | 用于工业机器人的过辅助点姿态空间圆弧插补方法 | |
CN104155916B (zh) | 一种高精度快速空间圆弧插补方法 | |
CN103064344B (zh) | 一种基于nurbs曲线插补的速度平滑控制方法 | |
CN102147599B (zh) | 椭圆弧插补方法 | |
CN103676787B (zh) | 一种用于运动控制系统的圆心模式空间圆弧插补方法 | |
CN107102617B (zh) | 一种高精度空间椭圆曲线实时插补方法 | |
CN103792885B (zh) | 一种数控弯管加工仿真方法及装置 | |
CN115841548B (zh) | 一种叶片模型的计算机辅助生成方法及系统 | |
CN102331711A (zh) | 一种移动自主机器人的编队控制方法 | |
CN103149879B (zh) | 一种基于弧长的数控系统椭圆插补方法 | |
CN103744346A (zh) | 一种电子凸轮曲线生成方法 | |
CN102222138B (zh) | 一种基于曲面截型线分划的最短距离线对获取方法 | |
CN104317251A (zh) | 基于Obrechkoff算法的三次NURBS曲线实时插补方法 | |
Otsuki et al. | A method for the evaluation and magnified representation of two-dimensional contouring error | |
CN106950920A (zh) | 基于数控类设备的空间圆弧插补方法 | |
CN104133423A (zh) | 一种空间椭圆弧插补方法 | |
CN106707967A (zh) | 基于近似标准展开式的三维轮廓误差估计方法及装置 | |
KR101743795B1 (ko) | 위치제어 시스템에서 곡선보간 방법 | |
CN102880118B (zh) | 基于插补精度和加速度限制的变插补周期曲线插补方法 | |
CN110455260B (zh) | 隧道断面轮廓确定方法、装置及电子设备 | |
CN102790483A (zh) | 汽轮发电机定子线棒三维参数化建模与实体成型制造方法 | |
CN104020717B (zh) | 基于参数同步的五轴等距双nurbs刀具路径插补方法 | |
CN103197285B (zh) | 一种用于合成孔径雷达成像的导航数据拟合方法 | |
CN103529755B (zh) | 一种高精度直线插补方法 | |
CN103529754B (zh) | 一种任意曲线旋转插补方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |