CN109697272B - 一种简易的二次b样条曲线拟合方法 - Google Patents
一种简易的二次b样条曲线拟合方法 Download PDFInfo
- Publication number
- CN109697272B CN109697272B CN201811330142.9A CN201811330142A CN109697272B CN 109697272 B CN109697272 B CN 109697272B CN 201811330142 A CN201811330142 A CN 201811330142A CN 109697272 B CN109697272 B CN 109697272B
- Authority
- CN
- China
- Prior art keywords
- point
- value
- curve
- control point
- spline curve
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
Abstract
本发明公开了一种简易的二次B样条曲线拟合方法,它包括以下步骤:根据离散刀具原始轨迹曲线,分段建立原始轨迹曲线段,设定拟合曲线偏差值e的数值;在所述原始轨迹曲线段上设起点为P1、终点为P4、中部由左向右两点分别为P2和P3,所述P1、P2、P3和P4均为型值点,取所述原始轨迹曲线段上的第一控制点CP0和第二控制点CP1等于型值点P1;根据型值点几何关系来计算控制点;通过上述所有型值点形成二次均匀B样条曲线段。本发明算法简单且满足加工误差。
Description
技术领域
本发明涉及一种计算机辅助制造及数控加工领域,更具体地说,涉及一种简易的二次B样条曲线拟合方法。
背景技术
数控系统的主要功能是精确控制刀具加工工件时的运动轨迹。对零件等工件加工的轨迹轮廓一般有直线或者圆弧组成。当有一些非圆曲线轨迹轮廓时,加工代码则使用很密很短的小线段进行轨迹轮廓描述。高档的数控系统一般都会对这些小线段进行样条曲线拟合,然后根据拟合的曲线进行插补,这样可以提高加工精度,速度控制可以更平稳,加工效果更好。
而由于数控系统一般都是嵌入式的硬件平台,主CPU的数据处理能力很有限,而数控系统的实时性要求很高,一般的样条曲线拟合算法由于太复杂需要很长的运算时间,普通数控系统难以实时地把曲线拟合出来,也难以实现对误差的控制。
发明内容
本发明克服了现有技术的不足,提供了一种算法简单且满足加工误差的简易的二次B样条曲线拟合方法。
为了实现上述目的,本发明采用了下述技术方案:
一种简易的二次B样条曲线拟合方法,它包括以下步骤:
S1.根据离散刀具原始轨迹曲线,分段建立原始轨迹曲线段,设定拟合曲线偏差值e的数值;
S2.在所述原始轨迹曲线段上设起点为P1、终点为P4、中部由左向右两点分别为P2和P3,所述P1、P2、P3和P4均为型值点,取所述原始轨迹曲线段上的第一控制点CP0和第二控制点CP1等于型值点P1;
S3.过型值点P2做切矢量L1,所述切矢量L1平行于过型值点P1和型值点P3所形成的直线P1P3,所述切矢量L1上设有第三控制点CP2和第四控制点CP3,所述第三控制点CP2到过型值点P1和型值点P2所形成的直线最短距离小于或等于拟合曲线偏差值e,所述第四控制点CP3到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,所述的第三控制点CP2和第四控制点CP3的中点为型值点P2;
S4.过型值点P3做切矢量L2,所述切矢量L2平行于过型值点P2和型值点P4所形成的直线P2P4,所述切矢量L2上设有第五控制点CP4和第六控制点CP5,所述第五控制点CP4到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,所述第六控制点CP5到过型值点P3和型值点P4所形成的直线最短距离小于或等于拟合曲线偏差值e,所述的第五控制点CP4和第六控制点CP5的中点为型值点P3;
S5.取所述原始轨迹曲线段上的第七控制点CP6和第八控制点CP7等于型值点P4;
S6.通过上述所有型值点形成二次均匀B样条曲线段。
优选地,所述的步骤S2具体为:根据B样条曲线几何性质推导得到,
端点位置为:
端点切矢为:
P0,2′(0)=(CP1-CP0)
P0,2′(1)=(CP2-CP1)
中点位置为:
中点矢量为:
P0,2′(1/2)=P0,2(1)-P0,2(0);
由此可得,二次均匀B样条曲线段起点位置等于原始轨迹曲线段的起点,所述原始轨迹曲线段的起点处的切向矢量等于CP0CP1,所述原始轨迹曲线段的起点位置为控制线CP0CP1的中点。
优选地,所述的步骤S6中的形成二次均匀B样条曲线段的具体步骤为,S61.给定m+n+1个顶点CPi(i=0,1,…,m+n),经过推导得出:
为第k段n次均匀B样条曲线段k=0,1,…,m,这些曲线的全体称为n次均匀B样条曲线,CPi(i=0,1,…,n+m)为控制点;
其中,基函数定义为
当n=2时,为二次均匀B样条曲线,其基函数为:
则第k段2次均匀B样条曲线段为:
与现有技术相比,本发明的有益效果:
本发明通过二次B样条曲线分段进行拟合,并通过型值点和控制点之间的几何关系,有效地减少了控制点数目,让操作更加简单;通过根据二次B样条曲线几何性质,来让拟合曲线路径和型值点折线原始路径的误差控制在拟合曲线偏差值e范围内,有效地减少了误差,另外,拟合曲线偏差值e是人工设定的,是可以控制的,其增加了灵活性。
附图说明
图1为本发明一种简易的二次B样条曲线拟合方法的型值点切矢量和控制点平面示意图;
图2为本发明中二次B样条曲线示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进一步描述:
参考图1,一种简易的二次B样条曲线拟合方法,它包括以下步骤:
S1.根据离散刀具原始轨迹曲线,分段建立原始轨迹曲线段,设定拟合曲线偏差值e的数值,其拟合曲线偏差值e的数值是预先设定的;
S2.在原始轨迹曲线段上设起点为P1、终点为P4、中部由左向右两点分别为P2和P3,所述P1、P2、P3和P4均为型值点,取原始轨迹曲线段上的第一控制点CP0和第二控制点CP1等于型值点P1;
S3.过型值点P2做切矢量L1,切矢量L1平行于过型值点P1和型值点P3所形成的直线P1P3,切矢量L1上设有第三控制点CP2和第四控制点CP3,所述第三控制点CP2到过型值点P1和型值点P2所形成的直线最短距离小于或等于拟合曲线偏差值e,第四控制点CP3到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,第三控制点CP2和第四控制点CP3的中点为型值点P2;
由此可得:
CP2=P2-Len1*(P3-P1)/|P3-P1|;
CP3=P2+Len1*(P3-P1)/|P3-P1|;
其中Len1=min(e/sin(∠P2P1P3),e/sin(∠P2P3P1));
S4.过型值点P3做切矢量L2,切矢量L2平行于过型值点P2和型值点P4所形成的直线P2P4,切矢量L2上设有第五控制点CP4和第六控制点CP5,第五控制点CP4到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,第六控制点CP5到过型值点P3和型值点P4所形成的直线最短距离小于或等于拟合曲线偏差值e,第五控制点CP4和第六控制点CP5的中点为型值点P3;
由此可得:
CP4=P3-Len2*(P4-P2)/|P4-P2|;
CP5=P3+Len2*(P4-P2)/|P4-P2|;
其中Len2=min(e/sin(∠P3P2P4),e/sin(∠P3P4P2));
S5.取原始轨迹曲线段上的第七控制点CP6和第八控制点CP7等于型值点P4;
S6.由二次均匀B样条的性质可知,通过步骤S1至S5求得的控制点CPk(k=0,1,……,7),其决定的二次均匀B样条曲线,经过型值点Pi(i=1,……,4),且曲线路径和型值点折线路径的误差控制在e范围内,通过上述所有型值点形成二次均匀B样条曲线段。
在本实施例中,所述的步骤S2具体为:根据B样条曲线几何性质推导得到,
端点位置为:
端点切矢为:
P0,2′(0)=(CP1-CP0)
P0,2′(1)=(CP2-CP1)
中点位置为:
中点矢量为:
P0,2′(1/2)=P0,2(1)-P0,2(0);
由此可得,二次均匀B样条曲线段起点位置等于原始轨迹曲线段的起点,所述原始轨迹曲线段的起点处的切向矢量等于CP0CP1,所述原始轨迹曲线段的起点位置为控制线CP0CP1的中点;
原始轨迹曲线段上的第七控制点CP6和第八控制点CP7等于型值点P4的具体依据同上述原理相同,即原始轨迹曲线段的起点和终点的切向矢量由前两个控制点和后两个控制点决定。
在本实施例中,步骤S6中的形成二次均匀B样条曲线段的具体步骤为,S61.给定m+n+1个顶点CPi(i=0,1,…,m+n),经过推导得出:
为第k段n次均匀B样条曲线段k=0,1,…,m,这些曲线的全体称为n次均匀B样条曲线,CPi(i=0,1,…,n+m)为控制点;
其中,基函数定义为
当n=2时,为二次均匀B样条曲线,其基函数为:
则第k段2次均匀B样条曲线段为:
通过上述分析可以得到,如图2所示,二次均匀B样条曲线是由控制点CPk(k=0,1,……,m)序列决定;当已知一系列型值点Pi(i=01,……,n),构造一条二次均匀B样条曲线使其通过这些点,也就是求解这条B样条曲线的控制点CPk(k=0,1,……,m)序列,而通过本实施例中的步骤S1至S6,便可以得到控制点位置,增加了操作便捷性。
以上内容仅为本发明的较佳实施方式,对于本领域的普通技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。
Claims (3)
1.一种简易的二次B样条曲线拟合方法,其特征在于,它包括以下步骤:
S1.根据离散刀具原始轨迹曲线,分段建立原始轨迹曲线段,设定拟合曲线偏差值e的数值;
S2.在所述原始轨迹曲线段上设起点为P1、终点为P4、中部由左向右两点分别为P2和P3,所述P1、P2、P3和P4均为型值点,取所述原始轨迹曲线段上的第一控制点CP0和第二控制点CP1等于型值点P1;
S3.过型值点P2做切矢量L1,所述切矢量L1平行于过型值点P1和型值点P3所形成的直线P1P3,所述切矢量L1上设有第三控制点CP2和第四控制点CP3,所述第三控制点CP2到过型值点P1和型值点P2所形成的直线最短距离小于或等于拟合曲线偏差值e,所述第四控制点CP3到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,所述的第三控制点CP2和第四控制点CP3的中点为型值点P2;
S4.过型值点P3做切矢量L2,所述切矢量L2平行于过型值点P2和型值点P4所形成的直线P2P4,所述切矢量L2上设有第五控制点CP4和第六控制点CP5,所述第五控制点CP4到过型值点P2和型值点P3所形成的直线最短距离小于或等于拟合曲线偏差值e,所述第六控制点CP5到过型值点P3和型值点P4所形成的直线最短距离小于或等于拟合曲线偏差值e,所述的第五控制点CP4和第六控制点CP5的中点为型值点P3;
S5.取所述原始轨迹曲线段上的第七控制点CP6和第八控制点CP7等于型值点P4;
S6.通过上述所有型值点形成二次均匀B样条曲线段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330142.9A CN109697272B (zh) | 2018-11-09 | 2018-11-09 | 一种简易的二次b样条曲线拟合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330142.9A CN109697272B (zh) | 2018-11-09 | 2018-11-09 | 一种简易的二次b样条曲线拟合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697272A CN109697272A (zh) | 2019-04-30 |
CN109697272B true CN109697272B (zh) | 2022-12-09 |
Family
ID=66229786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811330142.9A Active CN109697272B (zh) | 2018-11-09 | 2018-11-09 | 一种简易的二次b样条曲线拟合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697272B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147221A (zh) * | 2019-05-27 | 2019-08-20 | 广西大学 | 一种基于b样条曲线的可验证随机数产生方法和验证方法 |
CN113835423B (zh) * | 2020-06-08 | 2024-03-26 | 苏州艾吉威机器人有限公司 | 基于b样条曲线的路径规划方法、运动控制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01120604A (ja) * | 1987-11-04 | 1989-05-12 | Sony Corp | 数値制御加工方法 |
CN104898554A (zh) * | 2015-04-30 | 2015-09-09 | 柳州宏开汽车科技有限公司 | 一种基于离散刀位点的复合刀具路径生成方法 |
CN105425725A (zh) * | 2015-12-09 | 2016-03-23 | 华中科技大学 | 一种离散刀具轨迹的曲线拟合方法 |
CN105955194A (zh) * | 2016-05-10 | 2016-09-21 | 大连理工大学 | 一种离散加工路径的拐点平滑方法 |
-
2018
- 2018-11-09 CN CN201811330142.9A patent/CN109697272B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01120604A (ja) * | 1987-11-04 | 1989-05-12 | Sony Corp | 数値制御加工方法 |
CN104898554A (zh) * | 2015-04-30 | 2015-09-09 | 柳州宏开汽车科技有限公司 | 一种基于离散刀位点的复合刀具路径生成方法 |
CN105425725A (zh) * | 2015-12-09 | 2016-03-23 | 华中科技大学 | 一种离散刀具轨迹的曲线拟合方法 |
CN105955194A (zh) * | 2016-05-10 | 2016-09-21 | 大连理工大学 | 一种离散加工路径的拐点平滑方法 |
Non-Patent Citations (1)
Title |
---|
一种改进B样条曲线拟合算法研究;段振云等;《机械设计与制造》;20160531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109697272A (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109571473B (zh) | 一种误差可控的小线段轨迹光顺方法 | |
Liu et al. | Development and implementation of a NURBS interpolator with smooth feedrate scheduling for CNC machine tools | |
Tsai et al. | Development of a real-time look-ahead interpolation methodology with spline-fitting technique for high-speed machining | |
CN108073138B (zh) | 适用于高速高精加工的椭圆弧平滑压缩插补算法 | |
CN108549325B (zh) | 一种自由曲面弧长参数曲线加工轨迹生成方法 | |
CN103048953B (zh) | 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法 | |
CN109697272B (zh) | 一种简易的二次b样条曲线拟合方法 | |
CN106774153B (zh) | 一种s形球头铣刀的轮廓度补偿方法 | |
CN109496286B (zh) | 数控系统及其路径规划方法和计算机可读存储介质 | |
CN103631198A (zh) | 基于G2连续Bézier曲线的刀具轨迹压缩方法 | |
CN104155916A (zh) | 一种高精度快速空间圆弧插补方法 | |
CN102540977B (zh) | 数控加工中的误差估算方法 | |
CN106292531B (zh) | 一种计算加工zn1蜗杆盘状成形刀具廓形边界的算法 | |
Baek et al. | Precision NURBS interpolator based on recursive characteristics of NURBS | |
CN113111404B (zh) | 一种加工轨迹的空间连续小线段圆弧与直线拟合方法 | |
CN108196511B (zh) | 一种螺旋刀具车削轨迹的误差预测方法 | |
Zhang et al. | Local Corner Smoothing Transition Algorithm Based on Double Cubic NURBS for Five-axis Linear Tool Path. | |
CN109991921B (zh) | 一种平顺b样条轨迹直接生成方法 | |
CN116484635A (zh) | 基于改进圆弧拟合算法的正弦弧线拟合局部光顺方法 | |
CN103454977B (zh) | 飞机结构件细碎曲面的直纹化系统 | |
CN109491321A (zh) | 一种基于h型精密运动平台的轮廓误差估计方法 | |
CN113515091B (zh) | 一种拐角平滑样条的轨迹实时插补方法和装置 | |
CN113835397B (zh) | 基于b样条曲线和路径积分的线性数控加工路径平滑方法 | |
CN109283892A (zh) | 一种基于参数化曲线几何特征和弓高误差限制的进给速率自适应插补算法 | |
Tsai et al. | Study on acceleration/deceleration feedrate planning for multi-block line segments using estimated contour error formulation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |