轨迹平滑方法、数控机床及计算机可读存储介质与流程

文档序号:31850684发布日期:2022-10-19 01:02阅读:71来源:国知局
轨迹平滑方法、数控机床及计算机可读存储介质与流程

1.本发明涉及机床加工技术领域,尤其涉及一种轨迹平滑方法、数控机床及计算机可读存储介质。


背景技术:

2.在机床加工轨迹规划领域,轨迹之间的平滑处理是必不可少的部分。由于数控机床中数控装置的特殊性,大多数数控机床只具备直线插补与圆弧插补功能,因此在进行轨迹规划之时,轨迹最后必须转化为直线或圆弧。但是对空间轨迹而言,空间轨迹可能会以异面直线的形式存在,因此,为了使轨迹具备封闭性,减小加工时各个运动轴速度与加速度的突跳,对空间轨迹进行轨迹平滑则显得十分有必要。
3.现有圆弧平滑、椭圆弧平滑、多项式曲线平滑等轨迹平滑技术的研究主要集中于二维平面之上,无法直接应用到三维空间之中,且在机床加工轨迹规划领域,对于三维空间轨迹之间的平滑技术的研究相对较少,且现有平滑处理往往只能实现几何层面的平滑,从而导致三维空间轨迹之间的平滑处理效果不够理想。


技术实现要素:

4.本发明的主要目的在于提供一种轨迹平滑方法、数控机床及计算机可读存储介质,旨在解决机床加工轨迹规中对三维空间轨迹之间的过渡平滑效果不够理想的技术问题。
5.为实现上述目的,本发明提供一种轨迹平滑方法,所述轨迹平滑方法包括以下步骤:
6.确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面;
7.若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值;
8.若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点;
9.根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑。
10.可选地,在所述判断所述第一直线和第二直线是否位于同一平面的步骤之后,所述方法还包括:
11.若所述第一直线和第二直线位于同一平面,则在所述平面获取所述第一直线和所述第二直线之间的共面交点;
12.执行所述根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧的步骤。
13.可选地,在所述判断所述公垂线段是否小于或等于预设的第一距离误差精度值的
步骤之后,所述方法还包括:
14.若所述公垂线段大于所述第一距离误差精度值,则确定所述待平滑轨迹对应的三阶贝塞尔曲线,以根据所述三阶贝塞尔曲线用于对所述待平滑轨迹进行曲线平滑。
15.可选地,所述确定所述待平滑轨迹对应的三阶贝塞尔曲线的步骤,包括:
16.根据所述公垂线段的中点确定与所述第一直线以及所述第二直线平行的辅助平面;
17.将所述第一直线投影至所述辅助平面得到第一投影直线,和,将所述第二直线投影至所述辅助平面得到第二投影直线;
18.根据所述第一投影直线和所述第二投影直线确定所述待平滑轨迹对应的三阶贝塞尔曲线。
19.可选地,所述根据所述第一投影直线和所述第二投影直线确定所述待平滑轨迹对应的三阶贝塞尔曲线的步骤,包括:
20.确定所述第一投影直线和所述第二投影直线之间的投影交点;
21.根据所述投影交点和预设的第三距离误差精度值,确定所述第一投影直线和所述第二投影直线共同对应的投影平滑圆弧;
22.根据所述第一投影直线、所述第二投影直线以及所述投影平滑圆弧,确定所述待平滑轨迹对应的三阶贝塞尔曲线。
23.可选地,所述根据所述第一投影直线、所述第二投影直线以及所述投影平滑圆弧,确定所述待平滑轨迹对应的三阶贝塞尔曲线的步骤,包括:
24.确定所述第一投影直线和所述第二投影直线分别与所述投影平滑圆弧之间的第一切点和第二切点,并确定所述第一切点和所述第二切点构成的切点直线;
25.确定所述投影平滑圆弧的顶点,并根据所述顶点确定与所述切点直线平行的平行直线;
26.确定所述平行直线与所述第一投影直线和所述第二投影直线分别相交的第三切点和第四切点;
27.根据所述第一切点、所述第二切点、所述第三切点以及所述第四切点,分别确定所述第一直线和所述第二直线对应的四个切点;
28.将所述四个切点作为三阶贝塞尔曲线的控制点,以确定所述待平滑轨迹对应的三阶贝塞尔曲线。
29.可选地,所述根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧的步骤,包括:
30.将所述第二距离误差精度值作为所述共面交点距离所述轨迹平滑圆弧的最短距离;
31.获取所述第一直线和所述第二直线之间的夹角度数,通过所述夹角度数和作为所述最短距离的所述第二距离误差精度值确定所述待平滑轨迹对应的轨迹平滑圆弧的原点和半径。
32.可选地,所述确定待平滑轨迹的第一直线和第二直线的步骤,包括:
33.判断待平滑轨迹是否存在曲线;
34.若所述待平滑轨迹存在曲线,则将所述曲线的两个端点中的第一端点对应的切线
确定为所述待平滑轨迹的第一直线,将所述曲线的两个端点中的第二端点对应的切线确定为所述待平滑轨迹的第二直线。
35.此外,为实现上述目的,本发明还提供一种轨迹平滑装置,包括:
36.几何识别模块,用于确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面;
37.几何运算模块,用于若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值;若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点;
38.平滑处理模块,用于根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑。
39.此外,为实现上述目的,本发明还提供一种数控机床,包括处理器、存储器、以及存储在所述存储器上的可被所述处理器执行的轨迹平滑程序,其中,所述轨迹平滑程序被所述处理器执行时,实现如上所述的轨迹平滑方法的步骤。
40.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有轨迹平滑程序,其中,所述轨迹平滑程序被处理器执行时,实现如上所述的轨迹平滑方法的步骤。
41.本发明技术方案中的轨迹平滑方法,通过确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面的步骤,无论是对于只包括直线形状的待平滑轨迹还是包括了曲线形状的待平滑轨迹都能够通过直线的方式简化处理,从而减少平滑处理时的计算量,提高待平滑轨迹平滑处理的效率;又通过若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值以及若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点的步骤,将三维空间中两条直线在预设的精度之内做近似共面处理,就能够实现三维空间中待平滑轨迹的平滑过渡。
42.最后根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑的步骤,就能够以圆弧平滑的方式实现三维空间中待平滑轨迹的平滑过渡,使得三维空间中待平滑轨迹具备很好的封闭性,减小了机床加工之时各个运动轴速度与加速度的突跳,以及基于圆弧的特性,平滑圆弧具有很好的对称性,其曲率最大值也便于计算,为后续运动轴的加速度规划提供了便利。
附图说明
43.图1为本发明实施例方案涉及的数控机床的硬件运行环境的终端结构示意图;
44.图2为本发明轨迹平滑方法第一实施例的流程示意图;
45.图3为本发明轨迹平滑方法涉及的圆弧平滑示意图;
46.图4为本发明轨迹平滑方法的第二实施例的流程示意图;
47.图5为本发明轨迹平滑方法的第二实施例中步骤s300的细化流程示意图;
48.图6为本发明轨迹平滑方法涉及的投影控制点示意图;
49.图7为本发明轨迹平滑方法涉及的三阶贝塞尔平滑示意图;
50.图8为本发明轨迹平滑方法涉及的具体应用整体流程示意图;
51.图9为本发明轨迹平滑装置的框架结构示意图。
52.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
53.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
54.本发明技术方案中的实施例总述:
55.基于目前在机床轨迹规划领域,对三维空间的轨迹平滑的研究相对较少,且都处于理论阶段,多数的研究主要集中于二维平面,常用的有二维平面上的有椭圆弧平滑、多项式曲线平滑等平滑技术。
56.本发明针对三维空间的待平滑轨迹进行平滑处理(平滑过渡),这里的待平滑轨迹包括了直线的平滑和曲线的平滑,具体地,包括直线接直线间的平滑、直线接曲线间的平滑、曲线接直线间的平滑以及曲线接曲线间的平滑。如果是直线接直线这种待平滑处理的情形,可以直接得到两条异面直线。如果是直接接曲线或者曲线接直线间的平滑或者曲线接曲线这三种待平滑处理的情形,可以将曲线的端点做切线处理从而形成两条异面直线。若两条异面直线之间的公垂线段在预设的第一距离误差精度值内,可以将两条异面直线做近似共面处理,进而根据两切线的交点和预设的第二距离误差精度值(交点距离平滑圆弧最短的距离)通过几何关系得到平滑圆弧,通过该平滑圆弧对待平滑轨迹进行圆弧平滑过渡。若两条异面直线之间的公垂线段超过了该第一距离误差精度值,此时就不能对待平滑轨迹通过平滑圆弧进行平滑处理,可以通过先将两条异面直线投影到同一投影平面得到两条共面相交直线,进而又通过圆弧平滑的方式得到平滑圆弧与两条共面相交直线的两个交点和两交点形成的直线,基于这一平滑圆弧又得到与两交点形成的直线平行的直线,这一平行的直线与两条共面相交直线之间又相交两交点,从而在这一投影平面就得到了上述的四个交点,根据投影的几何关系,得到了原两条异面直线上的四个点,并将这四个点作为三阶贝塞尔曲线的四个控制点,从而通过三阶贝塞尔曲线的方式对待平滑轨迹进行曲线平滑。
57.本发明实施例提出一种数控机床。数控机床可以包括数控铣床、数控车床、数控钻床、数控磨床、数控齿轮加工机床等任意类型的数控机床,在此不做限制。
58.如图1所示,图1是本发明实施例方案涉及的数控机床的硬件运行环境的结构示意图。
59.如图1所示,该数控机床可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示器(display)、输入单元比如控制面板,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wifi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。作为一种计算机存储介质的存储器1005中可以包括轨迹平滑程序。
60.本领域技术人员可以理解,图1中示出的硬件结构并不构成对设备的限定,可以包
括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
61.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、用户接口模块、网络通信模块以及轨迹平滑程序。
62.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的轨迹平滑程序,并执行以下各个实施例中的步骤。
63.基于上述控制器的硬件结构,提出本发明轨迹平滑方法的各个实施例。
64.本发明实施例提供一种轨迹平滑方法。
65.请参照图2,图2为本发明轨迹平滑方法第一实施例的流程示意图;在本发明第一实施例中,轨迹平滑方法包括以下步骤:
66.步骤s10,确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面;
67.在本实施例中,至于机床加工过程中哪些轨迹需要进行平滑处理可以根据加工的实际需要进行设置。其中的待平滑轨迹包括了直线-直线轨迹、直线-曲线轨迹、曲线-直线轨迹以及曲线-曲线轨迹。
68.比如在一直线-曲线的待平滑轨迹上,需要在直线和曲线之间进行平滑处理,使得机床的运动件通过直线能够平滑过渡到曲线从而不会在加工件上留下尖角或缺口。
69.对于待平滑轨迹的第一直线和第二直线,如果待平滑轨迹为直线-直线轨迹,就直接得到了待平滑轨迹的第一直线和第二直线,可以将直线-直线轨迹中的两段直线(严格来说是线段)其中一段直线为第一直线,另外的一段直线为第二直线。如果待平滑轨迹为直线-曲线轨迹、曲线-直线轨迹以及曲线-曲线轨迹中的任意一种,因为存在曲线的原因,需要将曲线进行切线处理,具体地,在曲线的端点,也就是两条线段的交接处做对应曲线的切线,如果是直线-曲线轨迹或者曲线-直线轨迹,那么待平滑轨迹中的直线作为第一直线或者第二直线,曲线与直线相交处的端点的切线作为第二直线或者第一直线。
70.判断第一直线和第二直线是否位于同一平面,从而确定待平滑轨迹是处于二维平面还是在三维空间。
71.具体地,在一实施例中,所述确定待平滑轨迹的第一直线和第二直线的步骤,包括:
72.步骤a,判断待平滑轨迹是否存在曲线;
73.步骤b,若所述待平滑轨迹存在曲线,则将所述曲线的两个端点中的第一端点对应的切线确定为所述待平滑轨迹的第一直线,将所述曲线的两个端点中的第二端点对应的切线确定为所述待平滑轨迹的第二直线。
74.在这一实施例中,需要对待平滑轨迹所包含线段的形状进行识别和判断,最主要的是要判断待平滑轨迹中是否包含了曲线的线段,如果待平滑轨迹存在着曲线,也即上文中提到的直线-曲线轨迹、曲线-直线轨迹以及曲线-曲线轨迹这几种待平滑轨迹的情形。此时就可以在曲线的端点处作出对应的两条切线,这两条切线各自作为第一直线还是第二直线可以取决于曲线两个端点所连接的线段,比如待平滑轨迹为直线-曲线轨迹,这里的直线线段如果为第一直线,那么曲线线段在与直线相接的端点所对应的切线就可以为第二直线。再比如待平滑轨迹为曲线-直线轨迹,如果曲线线段在与直线相接的端点所对应的切线为第一直线,那么该直线线段就可以为第二直线,至于待平滑轨迹中的两个相接线段哪个
为第一直线哪个为第二直线不需要区分的很清楚,只需要在待平滑轨迹中可以设置不同的第一直线和第二直线即可。
75.通过该实施例,即使待平滑轨迹中存在曲线的线段,也能够对曲线做出直线的处理,这样就能够减少几何关系的计算量,加快对待平滑轨迹的平滑处理的效率。
76.步骤s20,若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值;
77.如果第一直线和第二直线不在同一平面,说明待平滑轨迹处于三维空间,基于异面直线的几何位置关系,能够获取到第一直线和第二直线之间的公垂线段,即第一直线和第二直线的公垂线在第一直线和第二直线之间的线段部分。进而判断公垂线段是否在第一距离误差精度值内,这里的第一距离误差精度值可以根据用户的实际加工需求进行设置,比如0.1mm、0.3mm、1mm、5mm等,在此不做限制。
78.步骤s30,若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点;
79.如果公垂线段小于或等于预设的第一距离误差精度值,说明第一直线和第二直线之间的公垂线段在第一距离误差精度值内,那么就确定公垂线段的中点,并将该中点作为第一直线和所述第二直线之间的共面交点,也就在第一距离误差精度值内,可以将三维空间的待平滑轨迹做二维平面处理,设置公垂线段的中点为第一直线和所述第二直线之间的共面交点(实际在空间上则不是),但这并不会影响接下来的对待平滑轨迹的平滑处理,因为还在精度可控的范围之内。
80.步骤s40,根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑。
81.通过共面交点和第二距离误差精度值以及第一直线和第二直线的共面夹角,利用几何间的几何位置关系就能够得到待平滑轨迹对应的轨迹平滑圆弧。其中的第二距离误差精度值区分于第一距离误差精度值,两者的用途不同,且第二距离误差精度值也可以根据实际需要进行设置,比如0.7mm、1.3mm等,在此不做限制。
82.为了方便理解该步骤s40,可以参照图3,图3为本发明轨迹平滑方法涉及的圆弧平滑示意图。
83.具体地,步骤s40,包括:
84.步骤c,将所述第二距离误差精度值作为所述共面交点距离所述轨迹平滑圆弧的最短距离;
85.步骤d,获取所述第一直线和所述第二直线之间的夹角度数,通过所述夹角度数和作为所述最短距离的所述第二距离误差精度值确定所述待平滑轨迹对应的轨迹平滑圆弧的原点和半径。
86.如图3所示,ab可以为第一直线或第二直线,dc对应的就可以为第二直线或者第一直线。其中两者的共面交点为g,获取第一直线ab和所述第二直线dc之间的共面夹角的夹角度数,并根据第二距离误差精度值过该共面夹角的中点做线段gh,该线段gh作为点g距离即将作出的平滑圆弧的最短距离。通过此时已知的夹角度数以及线段gh的长度,就可以参照如图所示的几何关系确定该待平滑轨迹的平滑圆弧的原点和半径,从而最终也就是确定该
待平滑轨迹的平滑圆弧(轨迹平滑圆弧),从而通过该轨迹平滑圆弧对该待平滑轨迹进行圆弧平滑过渡。
87.在一是实施例中,步骤s10之后,还包括:
88.步骤e,若所述第一直线和第二直线位于同一平面,则在所述平面获取所述第一直线和所述第二直线之间的共面交点;
89.步骤f,执行所述根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧的步骤。
90.如果第一直线和第二直线位于同一平面,说明待平滑轨迹仅在于二维平面,那么就能够直接获取到第一直线和第二直线之间的共面交点。进而参照图3和上文同样的计算方式可以直接作出待平滑轨迹对应的轨迹平滑圆弧,实现了对处于二维平面的待平滑轨迹进行圆弧平滑过渡,平滑圆弧具有很优秀的封闭性和对称性,便于数控机床的运动件对待平滑轨迹和自身运动参数进行规划。
91.本发明技术方案中的轨迹平滑方法,通过确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面的步骤,无论是对于只包括直线形状的待平滑轨迹还是包括了曲线形状的待平滑轨迹都能够通过直线的方式简化处理,从而减少平滑处理时的计算量,提高待平滑轨迹平滑处理的效率;又通过若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值以及若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点的步骤,将三维空间中两条直线在预设的精度之内做近似共面处理,就能够实现三维空间中待平滑轨迹的平滑过渡,最后根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑的步骤,就能够以圆弧平滑的方式实现三维空间中待平滑轨迹的平滑过渡,使得三维空间中待平滑轨迹具备很好的封闭性,减小了机床加工之时各个运动轴速度与加速度的突跳,以及基于圆弧的特性,平滑圆弧具有很好的对称性,其曲率最大值也便于计算,为后续运动轴的加速度规划提供了便利。
92.请参照图4,图4为本发明轨迹平滑方法第二实施例的流程示意图;进一步地,基于本发明轨迹平滑方法的第一实施例提出本发明轨迹平滑方法的第二实施例,在本实施例中,所述步骤s20中判断所述公垂线段是否小于或等于预设的第一距离误差精度值的步骤之后,还包括:
93.步骤g,若所述公垂线段大于所述第一距离误差精度值,则确定所述待平滑轨迹对应的三阶贝塞尔曲线,以根据所述三阶贝塞尔曲线用于对所述待平滑轨迹进行曲线平滑。
94.在本实施例中,如果公垂线段大于预设的第一距离误差精度值,也即公垂线段不在第一距离误差精度值内。此时就不能通过圆弧平滑的方式对三维空间的待平滑轨迹进行平滑处理,需要引入三阶贝塞尔曲线对待平滑轨迹进行曲线平滑。
95.具体地,如图4所示,所述确定所述待平滑轨迹对应的三阶贝塞尔曲线的步骤,包括:
96.步骤s100,根据所述公垂线段的中点确定与所述第一直线以及所述第二直线平行的辅助平面;
97.步骤s200,将所述第一直线投影至所述辅助平面得到第一投影直线,和,将所述第二直线投影至所述辅助平面得到第二投影直线;
98.步骤s300,根据所述第一投影直线和所述第二投影直线,确定所述待平滑轨迹对应的三阶贝塞尔曲线。
99.可以参照图6,图6为本发明轨迹平滑方法涉及的投影控制点示意图。
100.本实施例中,在确定了公垂线段的中点之后,创建过该中点与第一直线以及第二直线同时平行的辅助平面,将三维空间的第一直线和第二直线投影到该辅助平面,也就完成了三维向二维的几何转化,如图6所示,得到了第一影直线new_line1和第二投影直线new_line2,进而又通过第一影直线new_line1和第二投影直线new_line2、预设的第三距离误差精度值得到原第一直线和第二直线上的三阶贝塞尔曲线的四个控制点,最后就得到了待平滑轨迹的平滑曲线。
101.再具体地,参照图5,图5为本发明轨迹平滑方法的第二实施例中步骤s300的细化流程示意图。所述步骤s300,包括:
102.步骤s310,确定所述第一投影直线和所述第二投影直线之间的投影交点;
103.步骤s320,根据所述投影交点和预设的第三距离误差精度值,确定所述第一投影直线和所述第二投影直线共同对应的投影平滑圆弧;
104.步骤s330,根据所述第一投影直线、所述第二投影直线以及所述投影平滑圆弧,确定所述待平滑轨迹对应的三阶贝塞尔曲线。
105.请继续参照图6,第一投影直线和第二投影直线之间的投影交点为d,预设的第三距离误差精度值与上述的第一距离误差精度值和第二距离误差精度值的用途也不同,不是同一概念,但取值上可以重叠,比如第三距离误差精度值可以为0.1mm、0.7mm、1.5mm等,在此不做限制。
106.在确定了投影交点d以及第三距离误差精度值,以及该第三距离误差精度值实际也为距离第一投影直线和第二投影直线可以作出的平滑圆弧的最短距离,即距投影平滑圆弧的最短距离dm,并且还获取了第一投影直线和第二投影直线之间的夹角度数,根据投影交点d、第三距离误差精度值dm以及第一投影直线和第二投影直线之间的夹角度数,通过几何关系就能够确定第一投影直线和第二投影直线对应的投影平滑圆弧,进而又通过第一投影直线、第二投影直线以及投影平滑圆弧,确定待平滑轨迹对应的三阶贝塞尔曲线。
107.进一步再具体地,所述步骤s330,包括:
108.步骤h,确定所述第一投影直线和所述第二投影直线分别与所述投影平滑圆弧之间的第一切点和第二切点,并确定所述第一切点和所述第二切点构成的切点直线;
109.步骤i,确定所述投影平滑圆弧的顶点,并根据所述顶点确定与所述切点直线平行的平行直线;
110.步骤j,确定所述平行直线与所述第一投影直线和所述第二投影直线分别相交的第三切点和第四切点;
111.步骤k,根据所述第一切点、所述第二切点、所述第三切点以及所述第四切点,分别确定所述第一直线和所述第二直线对应的四个切点;
112.步骤l,将所述四个切点作为三阶贝塞尔曲线的控制点,以确定所述待平滑轨迹对应的三阶贝塞尔曲线。
113.请继续参照图6,确定第一投影直线new_line1和所述第二投影直线new_line2分别与投影平滑圆弧之间的第一切点e和第二切点f,以及直线ef,过投影平滑圆弧的顶点m,创建直线gh,与第一投影直线和所述第二投影直线的交点分别为g、h。这样一来就在第一投影直线和第二投影直线上得到了四个点e、f、g、h,根据投影与原图形之间的对应关系,就可以确定与点e、f、g、h分别对应的第一直线和第二直线上的四个切点e’、f’、g’、h’,将e’、f’、g’、h’作为三阶贝塞尔曲线的控制点,就得到了所述待平滑轨迹对应的三阶贝塞尔曲线,对待平滑轨迹进行曲线平滑处理。为了区分三阶贝塞尔曲线和平滑圆弧,可以参照图7,图7为本发明轨迹平滑方法涉及的三阶贝塞尔平滑示意图,其中三阶贝塞尔曲线得控制点已用四个圆圈标注,对应的图7中的曲线即为三阶贝塞尔曲线,其中图中也展示了xyz三维空间坐标轴,此图仅做示意,在此不做过多陈述。
114.通过上述本发明的第二实施例,对于处于三维空间的待平滑轨迹在超过第一距离误差精度值的情况下,可以对该待平滑轨迹进行三阶贝塞尔曲线平滑过渡,可以使轨迹具备很好的封闭性,减小了加工之时机床各个运动轴速度与加速度的突跳,且该平滑曲线具备较好的对称性,曲率最大值也便于计算,为后续的运动轴等运动件的加速度规划提供了便利,通过以上对待平滑轨迹进行圆弧平滑或者曲线平滑可以很好的解决三维空间的轨迹平滑问题,具有广阔的应用前景。
115.可以将上述的各个实施例结合起来作为本发明的技术方案整体,为了更清楚地理解本发明,请参照图8,图8为本发明轨迹平滑方法涉及的具体应用整体流程示意图。
116.在实际的机床加工过程中,待平滑轨迹一般会有很多条,所以为了完成一次生产加工任务,可以多条待平滑轨迹进行平滑处理。
117.如图8所示,整体的轨迹平滑流程如下:
118.记待平滑轨迹条数为n,令i=1。
119.步骤1、判断i《=(n-1)是否成立,若成立,则进入步骤2,否则进入步骤6;
120.步骤2、对第i条和第i+1条轨迹中取出line1和line2也就是确定待平滑轨迹中的第一直线和第二直线。判断直线段line1与line2是否共面,若共面,则进入步骤3,否则,进入步骤4;
121.步骤3、对直线段line1与line2进行圆弧平滑,令i=i+1,进入步骤1;
122.步骤4、判断直线段line1与line2之间公垂线段的长度值dis是否小于第一距离误差精度值first_dis,若小于,则进入步骤2进行圆弧平滑,否则,进入步骤5进行三阶bezier(贝塞尔)曲线平滑;
123.步骤5、对直线段line1与line2进行三阶bezier曲线平滑,令i=i+1,进入步骤1;
124.步骤6、结束。
125.此外,参照图9,本发明还提出一种轨迹平滑装置,所述轨迹平滑装置包括:
126.几何识别模块a10,用于确定待平滑轨迹的第一直线和第二直线,并判断所述第一直线和第二直线是否位于同一平面;
127.几何运算模块a20,用于若所述第一直线和第二直线不位于同一平面,则获取所述第一直线和所述第二直线之间的公垂线段,并判断所述公垂线段是否小于或等于预设的第一距离误差精度值;若所述公垂线段小于或等于预设的第一距离误差精度值,则将所述公垂线段的中点作为所述第一直线和所述第二直线之间的共面交点;
128.平滑处理模块a30,用于根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧以根据所述轨迹平滑圆弧进行轨迹平滑。
129.可选地,几何运算模块a20,还用于:
130.若所述第一直线和第二直线位于同一平面,则在所述平面获取所述第一直线和所述第二直线之间的共面交点;
131.执行所述根据所述共面交点和预设的第二距离误差精度值,确定所述待平滑轨迹对应的轨迹平滑圆弧的步骤。
132.可选地,平滑处理模块a30,还用于:
133.若所述公垂线段大于所述第一距离误差精度值,则确定所述待平滑轨迹对应的三阶贝塞尔曲线,以根据所述三阶贝塞尔曲线用于对所述待平滑轨迹进行曲线平滑。
134.可选地,几何运算模块a20,还用于:
135.根据所述公垂线段的中点确定与所述第一直线以及所述第二直线平行的辅助平面;
136.将所述第一直线投影至所述辅助平面得到第一投影直线,和,将所述第二直线投影至所述辅助平面得到第二投影直线;
137.根据所述第一投影直线和所述第二投影直线确定所述待平滑轨迹对应的三阶贝塞尔曲线。
138.可选地,几何运算模块a20,还用于:
139.确定所述第一投影直线和所述第二投影直线之间的投影交点;
140.根据所述投影交点和预设的第三距离误差精度值,确定所述第一投影直线和所述第二投影直线共同对应的投影平滑圆弧;
141.根据所述第一投影直线、所述第二投影直线以及所述投影平滑圆弧,确定所述待平滑轨迹对应的三阶贝塞尔曲线。
142.可选地,几何运算模块a20,还用于:
143.确定所述第一投影直线和所述第二投影直线分别与所述投影平滑圆弧之间的第一切点和第二切点,并确定所述第一切点和所述第二切点构成的切点直线;
144.确定所述投影平滑圆弧的顶点,并根据所述顶点确定与所述切点直线平行的平行直线;
145.确定所述平行直线与所述第一投影直线和所述第二投影直线分别相交的第三切点和第四切点;
146.根据所述第一切点、所述第二切点、所述第三切点以及所述第四切点,分别确定所述第一直线和所述第二直线对应的四个切点;
147.将所述四个切点作为三阶贝塞尔曲线的控制点,以确定所述待平滑轨迹对应的三阶贝塞尔曲线。
148.可选地,几何运算模块a20,还用于:
149.将所述第二距离误差精度值作为所述共面交点距离所述轨迹平滑圆弧的最短距离;
150.获取所述第一直线和所述第二直线之间的夹角度数,通过所述夹角度数和作为所述最短距离的所述第二距离误差精度值确定所述待平滑轨迹对应的轨迹平滑圆弧的原点
和半径。
151.可选地,几何识别模块a10,还用于:
152.判断待平滑轨迹是否存在曲线;
153.若所述待平滑轨迹存在曲线,则将所述曲线的两个端点中的第一端点对应的切线确定为所述待平滑轨迹的第一直线,将所述曲线的两个端点中的第二端点对应的切线确定为所述待平滑轨迹的第二直线。
154.本发明的轨迹平滑装置具体实施方式与上述轨迹平滑方法各实施例基本相同,在此不再赘述。
155.此外,本发明还提供一种计算机可读存储介质。本发明计算机可读存储介质上存储有轨迹平滑程序,其中,轨迹平滑程序被处理器执行时,实现如上述的轨迹平滑方法的步骤。
156.其中,轨迹平滑程序被执行时所实现的方法可参照本发明轨迹平滑方法的各个实施例,此处不再赘述。
157.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
158.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
159.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
160.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
161.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
162.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造
性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
163.以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1