一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子凸轮曲线生成方法、系统和计算机可读存储介质与流程

2022-07-30 17:07:22 来源:中国专利 TAG:


1.本发明涉及电子凸轮控制领域,特别是一种电子凸轮曲线生成方法、系统和计算机可读存储介质。


背景技术:

2.在多轴同步运动控制领域,电子凸轮控制通过获取主轴位置,查看电子凸轮曲线(即主轴和从轴位置的对应关系),得出从轴位置,从而实现主轴和从轴的啮合运动。目前有一种电子凸轮曲线生成方法是采用分段插值法,即预先确定一些线段以及位于线段之间的一些离散型值点,然后对这些离散型值点进行插值得到线段间的曲线,并最终形成电子凸轮曲线。其中,预先确定的线段是需要精确对应关系的线段。
3.目前的电子凸轮曲线生成方法中最多支持50条线段和10000个离散型值点。然而,随着技术要求的日益苛刻和复杂,电子凸轮曲线需要越来越多的线段来实现。
4.因此,本领域内的技术人员还在致力于寻找其他的电子凸轮曲线实现方法。


技术实现要素:

5.有鉴于此,本发明实施例中一方面提出了一种电子凸轮曲线生成方法,另一方面提出了一种电子凸轮曲线生成系统,用以较好地生成电子凸轮曲线。
6.本发明实施例中提出的一种电子凸轮曲线生成方法,包括:预先确定多条线段以及位于线段之间的离散型值点;将所述多条线段中的至少一条线段中的每条线段转换为多个离散型值点,且对所述多个离散型值点进行插值时能够得到所述线段;对所有离散型值点进行插值得到线段间的曲线,并最终形成电子凸轮曲线。
7.在一个实施方式中,所述至少一条线段包括:至少一条直线线段;所述将多条线段中的至少一条线段中的每条线段转换为多个离散型值点包括:将所述多条线段中的至少一条直线线段中的每条直线线段转换为四个离散型值点,所述四个离散型值点包括:对应所述直线线段起始端点位置的第一点,位于所述直线线段上且与所述第一点满足设定的接近要求的第二点,对应所述直线线段结束端点位置的第三点,位于所述直线线段上且与所述第三点满足设定的接近要求的第四点。
8.在一个实施方式中,所述设定的接近要求为间隔一个数值最小分辨率。
9.在一个实施方式中,所述至少一条线段包括至少一条曲线线段;所述将多条线段中的至少一条线段中的每条线段转换为多个离散型值点包括:为所述多条线段中的至少一条曲线线段中的每条曲线线段根据剩余的点资源分配该曲线线段可用的点资源;然后按照所述曲线线段的表达式将所述曲线线段转换为均布在所述曲线线段上的满足可用点资源的多个离散型值点。
10.在一个实施方式中,进一步包括:判断预先确定的所述多条线段的数量n是否超过一设定阈值t;其中,n和t均为正整数;如果是,则所述至少一条线段为:至少m条线段,其中m=n-t。
11.在一个实施方式中,所述设定阈值t为50。
12.本发明实施例中提出的一种电子凸轮曲线生成系统,包括:预规划模块,用于预先确定多条线段以及位于线段之间的离散型值点;线段替换模块,用于将所述多条线段中的至少一条线段中的每条线段转换为多个离散型值点,且对所述多个离散型值点进行插值时能够得到所述线段;曲线生成模块,用于对所有离散型值点进行插值得到线段间的曲线,并最终形成电子凸轮曲线。
13.在一个实施方式中,所述至少一条线段包括:至少一条直线线段;所述线段替换模块将所述多条线段中的至少一条直线线段中的每条直线线段转换为四个离散型值点,所述四个离散型值点包括:对应所述直线线段起始端点位置的第一点,位于所述直线线段上且与所述第一点满足设定的接近要求的第二点,对应所述直线线段结束端点位置的第三点,位于所述直线线段上且与所述第三点满足设定的接近要求的第四点。
14.在一个实施方式中,所述设定的接近要求为间隔一个数值最小分辨率。
15.在一个实施方式中,所述至少一条线段包括至少一条曲线线段;所述线段替换模块为所述多条线段中的至少一条曲线线段中的每条曲线线段根据剩余的点资源分配该曲线线段可用的点资源;然后按照所述曲线线段的表达式将所述曲线线段转换为均布在所述曲线线段上的满足可用点资源的多个离散型值点。
16.在一个实施方式中,进一步包括:判断模块,用于判断预先确定的所述多条线段的数量n是否超过一设定阈值t;如果是,则指示所述线段替换模块执行线段替换操作;其中,n和t均为正整数;所述线段替换模块将所述多条线段中的至少m条线段中的每条线段转换为多个离散型值点;其中m=n-t。
17.在一个实施方式中,所述设定阈值t为50。
18.本发明实施例中提出的又一种电子凸轮曲线生成系统,包括:至少一个存储器和至少一个处理器,其中:所述至少一个存储器用于存储计算机程序;所述至少一个处理器用于调用所述至少一个存储器中存储的计算机程序,执行如上任一实施方式所述的电子凸轮曲线生成方法。
19.本发明实施例中提出的计算机可读存储介质,其上存储有计算机程序;所述计算机程序能够被一处理器执行并实现如上任一实施方式所述的电子凸轮曲线生成方法
20.从上述方案中可以看出,本发明实施例中,通过将用于生成电子凸轮曲线的预先确定多条线段中的部分线段中的每条线段转换为通过插值计算能得到该线段的离散型值点,可以充分利用现有资源,并能够实现较多线段的电子凸轮曲线生成。
21.其中,针对直线线段可转换为四个离散型值点,需要的点数较少,且能插值得到该直线线段。
附图说明
22.下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
23.图1为本发明实施例中电子凸轮曲线生成方法的示例性流程图。
24.图2a为本发明一个例子中的一条电子凸轮曲线的示意图。
25.图2b为本发明一个例子中对图2a所示电子凸轮曲线中的第二线段进行离散型值
点转换的示意图。
26.图3为本发明实施例中的一种电子凸轮曲线生成系统的示例性结构图。
27.图4为本发明实施例中的另一种电子凸轮曲线生成系统的示例性结构图。
28.其中,附图标记如下:
[0029][0030]
具体实施方式
[0031]
本发明实施例中,考虑到现有技术中的电子凸轮曲线生成方法支持10000个离散型值点,而这10000个通常不会达到应用上限,为了实现更多线段的电子凸轮曲线,可考虑充分利用现有资源,将某些线段利用离散型值点表示,并确保对表示该线段的离散型值点进行插值计算时能得到与所述线段一致的线段。
[0032]
为使本发明的目的、技术方案和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示结构相同或结构相似但功能相同的部件。
[0033]
在本文中,“示例性”、“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示例性”、“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。
[0034]
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
[0035]
在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。在本文中,“第一”、“第二”等仅用于彼此的区分,而非表示它们的重要程度及顺序等。
[0036]
图1为本发明实施例中电子凸轮曲线生成方法的示例性流程图。如图1所示,该方法可包括如下步骤:
[0037]
步骤101,预先确定多条线段以及位于线段之间的离散型值点。
[0038]
本步骤中的确定线段及离散型值点的过程可与现有方法一致。
[0039]
步骤102,将所述多条线段中的至少一条线段中的每条线段转换为多个离散型值点,且对所述多个离散型值点进行插值时能够得到所述线段。
[0040]
图2a中示出了一个例子中的一条电子凸轮曲线,其中,横坐标为主轴(leadibg,l)取值x,纵坐标为从轴(following,f)取值f(x)。如图2a所示,该电子凸轮曲线上具有三条线段,第一线段21、第二线段22和第三线段23和通过对离散型值点进行插值得到的线段之间的两条过渡线tr1和tr2。本实施例中,以线段为直线线段的情况为例。其中,第一线段21的起始点(strat,s)为(0.000000,0.000000),结束点(end,e)为(50.000000,0.000000);第二线段22的起始点为(90.000000,50.000000),结束点为(190.000000,300.000000);第三线段23的起始点为(250.000000,0.000000),结束点为(360.000000,0.000000)。第一线段21和第二线段22之间插值得到的过渡线tr1的起始点为(50.000000,0.000000),结束点为(90.000000,50.000000);第二线段22和第三线段23之间插值得到的过渡线tr2的起始点为(190.000000,300.000000),结束点为(250.000000,0.000000)。
[0041]
图2b中示出了一个例子中对图2a所示电子凸轮曲线中的第二线段22进行离散型值点转换的示意图。本实施例中,针对第二线段22所对应的直线线段,图2b中将其转换为四个离散型值点表示(由于有两个点距离较近,因此对其进行了局部放大)。其中,所述四个离散型值点包括:对应所述直线线段起始端点位置的第一点s1(90.000000,50.000000),位于所述直线线段上且与所述第一点间隔一个数值最小分辨率(如浮点数据类型的最小分辨率)的第二点s2(90.000010,50.000025),对应所述直线线段结束端点位置的第三点s3(190.000000,300.000000),位于所述直线线段上且与所述第三点间隔一个数值最小分辨率的第四点s4(189.9999990,299.999975)。即本实施例中使得第一点和第二点无限接近或接近程度满足一设定的接近要求,第三点和第四点无限接近或接近程度满足一设定的接近要求。例如,设定的接近要求可以是上述的间隔一个数值最小分辨率,或者也可以是间隔两个数值的最小分辨率(即数值的最小分辨率的2倍)等。本实施例中,由于第一点s1和第二点s2特别近,因此二者之间经插值得到的第一过渡线t1几乎是一条直线,斜率=δy/δx=0.000025/0.000010=2.5;同理,第四点s4和第三点s3之间经插值得到的第二过渡线t2也几乎是一条直线,且斜率=δy/δx=0.000025/0.000010=2.5;由于第一过渡线t1和第二过渡线t2的斜率相同,因此,第二点s1和第四点s4之间的第三过渡线t3也将保持为斜率等于2.5的直线,这样通过对四个离散型值点进行插值便可得到原始第二线段22,实现了与多个线段一样的效果。
[0042]
另外,本实施例中,对于一些已知公式的非直线线段同样可对其进行离散型值点替换。例如正余弦曲线、多项式曲线等已知满足y=f(x)(n0≤x≤n1)公式的曲线线段;在对其进行离散型值点替换时,可根据系统剩余的点资源为该曲线线段分配可用的点资源例如为si个点,然后按照所述曲线线段的表达式将所述曲线线段转换为均布在所述曲线线段上的满足可用点资源的多个离散型值点,如si个离散型值点或si-w个离散型值点,其中si和w均为正整数。
[0043]
例如,假设需要对一条曲线线段进行离散型值点替换,且假设离散型值点剩余资源为s个点,则可将主轴位置值x按照从n0到n1等分为s个值,按照y=f(x)(n0≤x≤n1)计算出来s个点对应的y值,计算的s个(x,y)主从位置点即可作为离散型值点用来替换原来的曲
线。此方法在离散资源点资源充足的情况下,点越多越好,曲线的替换还原度越高。当然,若需要对r条曲线进行离散型值点替换,则可将剩余的s个点按照各曲线的区间大小进行分配,此处不对其进行限定。
[0044]
本实施例中,具体实现时,可进一步判断预先确定的所述多条线段的数量n是否超过一设定阈值t;如果超过,则所述至少一条线段可以为至少m条线段,其中m=n-t。在一个例子中,设定阈值t可以为50。
[0045]
当然,在其他实施方式中,当所述多条线段的数量n不超过设定阈值t时,本技术也不排除可对其中的部分线段采用离散型值点进行替代。
[0046]
步骤103,对所有离散型值点进行插值得到线段间的曲线,并最终形成电子凸轮曲线。
[0047]
以上对本发明实施例中的电子凸轮曲线生成方法进行了详细描述,下面再对发明实施例中的电子凸轮曲线生成系统进行详细描述。本发明实施例中的电子凸轮曲线生成系统可用于实施本发明实施例中的电子凸轮曲线生成方法,对于本发明系统实施例中未详细披露的细节可参见本发明方法实施例中的相应描述。
[0048]
图3为本发明实施例中的电子凸轮曲线生成系统的示例性结构图。如图3所示,该系统可包括:预规划模块301、线段替换模块302和曲线生成模块303。
[0049]
其中,预规划模块301用于预先确定多条线段以及位于线段之间的离散型值点。
[0050]
线段替换模块302用于将所述多条线段中的至少一条线段中的每条线段转换为多个离散型值点,且对所述多个离散型值点进行插值时能够得到所述线段。
[0051]
曲线生成模块303用于对所有离散型值点进行插值得到线段间的曲线,并最终形成电子凸轮曲线。
[0052]
具体实现时,所述至少一条线段可包括至少一条直线线段;则线段替换模块302可将所述多条线段中的至少一条直线线段中的每条直线线段转换为四个离散型值点,所述四个离散型值点包括:对应所述直线线段起始端点位置的第一点,位于所述直线线段上且与所述第一点满足设定的接近要求的第二点,对应所述直线线段结束端点位置的第三点,位于所述直线线段上且与所述第三点满足设定的接近要求的第四点。在一个实施方式中,所述设定的接近要求为间隔一个数值最小分辨率。
[0053]
此外,所述至少一条线段可包括至少一条曲线线段;则线段替换模块302可为所述多条线段中的至少一条曲线线段中的每条曲线线段根据剩余的点资源分配该曲线线段可用的点资源;然后按照所述曲线线段的表达式将所述曲线线段转换为均布在所述曲线线段上的满足可用点资源的多个离散型值点。
[0054]
另外,本实施例中还可包括如图3中的虚线部分所示,进一步包括:判断模块304,用于判断预先确定的所述多条线段的数量n是否超过一设定阈值t;如果是,则指示线段替换模块302执行线段替换操作;其中,n和t均为正整数。相应地,线段替换模块302可将所述多条线段中的至少m条线段中的每条线段转换为多个离散型值点;其中m=n-t。在一个实施方式中,所述设定阈值t为50。
[0055]
图4为本发明实施例中又一种电子凸轮曲线生成系统的结构示意图,如图4所示,该系统可包括:至少一个存储器41和至少一个处理器42。此外,还可以包括一些其它组件,例如通信端口等。这些组件通过总线43进行通信。
[0056]
其中,至少一个存储器41用于存储计算机程序。在一个实施方式中,该计算机程序可以理解为包括图3所示的电子凸轮曲线生成系统的各个模块。此外,至少一个存储器41还可存储操作系统等。操作系统包括但不限于:android操作系统、symbian操作系统、windows操作系统、linux操作系统等等。
[0057]
至少一个处理器42用于调用至少一个存储器41中存储的计算机程序,执行本发明实施例中所述的电子凸轮曲线生成方法。处理器42可以为cpu,处理单元/模块,asic,逻辑模块或可编程门阵列等。其可通过所述通信端口进行数据的接收和发送。
[0058]
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
[0059]
可以理解,上述各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
[0060]
此外,本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序能够被一处理器执行并实现本发明实施例中所述的电子凸轮曲线生成方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0061]
从上述方案中可以看出,本发明实施例中,通过将用于生成电子凸轮曲线的预先确定多条线段中的部分线段中的每条线段转换为通过插值计算能得到该线段的离散型值点,可以充分利用现有资源,并能够实现较多线段的电子凸轮曲线生成。
[0062]
其中,针对直线线段可转换为四个离散型值点,需要的点数较少,且能插值得到该直线线段。
[0063]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献