数控系统中C样条曲线插补方法的设计与实现 - 论文0506-new 联系客服

发布时间 : 星期五 文章数控系统中C样条曲线插补方法的设计与实现 - 论文0506-new更新完毕开始阅读

沈阳师范大学本科毕业论文

3数控系统C样条曲线插补算法实现

数控系统插补算法的基本思想就是识别出数控加工程序中的连续微小线段加工区域,在保证加工精度的条件下,将由指令点指定的折线加工路径转化为平滑的样条曲线加工路径,并通过样条曲线插补来实现高表面质量的高速加工。

该算法由指令点参数化、特征指令点拟合和样条曲线插补3个部分组成,特征指令点拟合用于将指令点指定的折线加工路径转化成样条曲线加工路径;样条曲线插补用于对拟合而成的样条曲线进行插补计算。 3.1 数据点参数化

设给定n+1个数据点Pi,i=0,1,2i=0,1,2数曲线上的点P?ti?,那么对Pi,

n。如果我们把给定的n+1个数据点看作是某一参n插值,就是要求出参数曲线P?t?,使得P?t??Pi。

n的参数插值曲线或逼近曲线必须先给数

t要唯一地决定一条插值于n+1个点Pi,i=0,1,2据点Pi指定相应的参数值ti使其形成一个严格递增的序列:t0?t1?称为关于参数?tn,

t的一个分割(Partition)。其中每个参数值称为节点(knot)或断点(breakpoint)。对于插值曲线而言,它决定了位于曲线上的这些数据点与其参数域t??t0,tn?内的相应点之间的一种对应关系。对一组有序数据点决定一个参数分割称之为对这组数据点实行参数化。

把插值曲线看作质点顺序通过的一些空间位置(即数据点)的运动轨迹,参数t看作时间,那么对数据点的参数化,就等于规定了质点依次到达这些空间位置的时间。它们是人为给定的。同一组数据点,即使采用同样的插值法,若数据点的参数化不同,将可能获得不同的插值曲线。我们希望,对数据点的参数化,应尽可能反映被插(逼)曲线或设计员想要用数据点所构造的曲线的性质。对数据点实行参数化主要采用均匀参数化法。

使每个节点区间长度(用向前差分表示) ?i?ti?1?ti?正的常数,i?0,1,点在参数轴上呈等距分布,为处理方便起见,常取成整数序列

,n?1,即节

ti?i, i?0,1,,n (3-1)

这种参数化法仅适合于数据点多边形各边(或称弦)接近相等的场合。否则,在多边形相邻段弦长相差悬殊的情况下,生成插值曲线后弦长较长的那段曲线显得较扁平,弦长较短的那段曲线则膨胀得厉害,甚至出现尖点或打圈自交的情况。

出现上述问题,从物理上可解释如下:把参数t看作时间,质点P随着时间变化在空间扫出一条依次经过给定位置(即数据点)的曲线P(t)。采用均匀参数化就意味着在任意两邻点间花费同样多的时间,而不管它们间的距离如何。如果汽车沿着这样一条插值曲线行驶时,数据点成了站点,当两邻站点间距离大时,就必须高速前进。如果接下来的两相邻

-13-

沈阳师范大学本科毕业论文

站点间距离很小时,由于不能把速度突然减下来,就会发生过冲问题。 3.2 C样条数据点拟合

对于连续微小线段加工区域中得n个特征指令点,可用一条n-1段的三次样条曲线

S(u)进行拟合,以达到平滑加工路径的目的。假定特征指令点Pi与Pj之间由指令点Pi,

Pi?1,,Pj?1和Pj指定的折线加工路径以及拟合而成的曲线段Si(u)的表达式可写为

3Si(u)?Au?Biu2?Ciu?Di u??i?ui,uj?? (3-2)

式中,Ai、Bi、Ci、Di分别为曲线段Si(u)的系数(维数与运动轴数目相等),u为曲线S(u)的参变量对于曲线段Si(u)来说其值在ui,uj之间进行变化,ui为特征指令点Pi所对应的参数值,uj为特征指令点Pj所对应的参数值。

图3-3 特征指令点的拟合

为确保指令点所对应的参数值能反映出线段长度和相邻线段间夹角的分布情况,可采用向心参数化方法来对指令点进行参数化,即

?ui?0??l?ui?ui?1?ni?1 i=2,3,?lj?1??j?2? (3-3)

式中ui——指令点Pi所对应的参数值

li——线段lPi?1Pi的长度

lj?1——线段lPj?1Pj的长度

曲线段Si(u)中有4个系数矢量,因此需要4个边界条件才能确定出这些系数矢量。为确保曲线段Si(u)通过特征指令点Pi与Pj,且与相邻曲线段在特征指令点处满足一阶参数连续,可将特征指令点Pi与Pj处的坐标值和切矢量作为边界条件。将这些边界条件代入曲线段Si(u)的表达式便可得到

-14-

沈阳师范大学本科毕业论文

?ui3?2?3ui?u3j??3u2?jui22uiu2j2ujui1uj11??Ai??Pi?????P'?0??Bi??i???? (3-4)

???Pj1Ci???????'?0???Di???Pj?为从式(3-5)中计算出曲线段Si(u)的系数Ai、Bi、Ci、Di,除可从数控加工程序中获

''得特征指令点Pi与Pj处的坐标值,还需要特征指令点处的切矢量Pi与Pj。由于数控加工

程序中并不提供指令点处的切矢量,因此现在问题就是如何确定指令点Pi与Pj处的切矢量。

3.3 C样条插补

通过上述过程便可将连续微小线段加工区域中的折线加工路径转化为样条曲线加工路径。对于拟合而成的样条曲线S?u?,可采用二阶Taylor展开式近似计算第i个插补周期的参

数值ui,得到如下计算公式

vTui?ui?1?'i?1S?ui?1?2'''?vSuS???ui?1?T?ai?1i?1i?1??2''2?S?ui?1?S?ui?1??2?? (3-5) ??式中 ui?1——第i?1个插补周期的参数值

'vi?1——第i?1个插补周期的进给速度

T——数控系统的插补周期

ai?1——第i?1个插补周期的加速度

S'?ui?1?——曲线S?u?在ui?1处的一阶导矢量 S''?ui?1?——曲线S?u?在ui?1处的二阶导矢量

其中S?ui?1?与S''?ui?1?可通过如下公式进行计算

'2?Su?3Au??i?1i?1?2Bui?1?C? (3-6) ?''??S?ui?1??6Aui?1?2B式中,A,B,C为样条曲线S?u?的系数。

将进给速度vi?1代入式(3-6),便可计算出第i个插补周期的参数值ui所在的参数区间,将ui代入该区间对应曲线段的表达式,便可计算出第i个插补周期的插补点。

-15-

沈阳师范大学本科毕业论文

4数控系统插补软件设计

4.1 软件开发工具介绍 4.1.1 .NET Framework

微软公司将.NET Framework定义为:支持生成和运行下一代应用程序和XML WEB Sevices 的内部windows组件。.NET主要实现以下目标:

? 提供面向对象的开发环境,支持本地代码的开发、远程对象的开发。

? 更好地解决开发应用程序的版本和部署版本之间的冲突。 ? 使用解决方案,调用第三方代码,实现代码复用。

? 使开发人员面对不通语言的代码时,有一样的开发经验,如Windows应用程序

与Web应用程序。

? 公共语言运行库是.NET框架的基础。

.NET框架的核心是运行时的执行环境,即公共语言运行库。编译的第一步会将源代码编译成中间托管代码。.NET使用托管代码的好处在于可以提供跨语言集成、跨语言异常处理、安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务。

所有.NET下的语言都将先转化到公共CLR(运行时)上的代码,然后右公共运行时统一编译执行。

4.1.2 Visual Studio 2005 介绍

Visual Studio是一套完整的开发工具集,利用它可以生成Windows应用程序,Web应用程序,Web Service程序等。VB.NET、VC.NET、C#.NET、J#.NET都可以在这个环境中开发。利用此IDE可以共享工具且有助于创建混合语言解决方案。另外,这些编程语言使用了.NET Framework的功能,通过此框架可以简化ASP.NET Web 的开发难度。

Visual Studio 中包含的Visual Web Developer为Web编程提供了一个全新的设计器,其中包含许多用于创建编辑网页的增强功能。Visual Web Developer自带一个轻型Web服务引擎,可以在开发时不使用IIS,直接在Visual Web Developer调试使用。在Visual Web Developer中,各个页面将会动态编译,开发人员修改页面后,刷新就会重新编译。

-16-