CN104898577A - S形曲线速度规划方法、装置及数控方法和数控机床 - Google Patents
S形曲线速度规划方法、装置及数控方法和数控机床 Download PDFInfo
- Publication number
- CN104898577A CN104898577A CN201510164164.2A CN201510164164A CN104898577A CN 104898577 A CN104898577 A CN 104898577A CN 201510164164 A CN201510164164 A CN 201510164164A CN 104898577 A CN104898577 A CN 104898577A
- Authority
- CN
- China
- Prior art keywords
- motionstatus
- function
- time period
- speed planning
- sigmoid 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/416—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43006—Acceleration, deceleration control
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明提供一种S形曲线速度规划方法、装置及数控方法和数控机床,该方法包括:获取预先设定的运动状态参数的期望值;获取Ti时间段起始时间点对应的状态函数Motionstatus(i);根据运动状态参数的期望值与状态函数Motionstatus(i)计算状态函数Motionstatus(i+1),并循环执行上述步骤,得到Ti至T7每个时间段的状态函数Motionstatus(i)至Motionstatus(8),以得到S形曲线速度规划的数据。利用本发明,将重复利用的方程或方法封装后,只需要更改封装起来的函数,而不是所有用到这个方程的地方,从而节省了编程人员的时间,提升了***的可靠性。
Description
技术领域
本发明涉及数控加工的加减速处理技术领域,尤其涉及一种S形曲线速度规划方法、装置及数控方法和数控机床。
背景技术
数控***中,为了保证机床在启动停止或者两条曲线段之间过渡时不产生冲击、失步、超程或者震荡,需采用专门的加减速控制算法,使得电机的输入按照一定的规律进行变化,在各种加工情况下都能快速准确的定位。现有技术在S形曲线加减速控制中,将S形曲线划分为七个时间段,根据***最大加速度等参数计算各个时间段的时间长度以完成S形曲线的规划,使得被控制的曲线轨迹的加速度呈线性且连续变化,以此来控制加工过程中的冲击和震荡等问题。
但是,在进行S形曲线加减速控制过程中,当最初算法要求产生变化,就需要为这种特殊情况来准备一套特别的公式组,并且还需要持续开发出新的公式来适应算法的变化,并付诸大量时间去测试。做一种改动需要对很多地方更改方程,漏掉或者出错的概率很高,出错也不易理解不易修正,交接工作时对新入手的算法工程师来说读懂这么多的公式也会消耗大量时间。
发明内容
本发明要解决的技术问题是提供一种S形曲线速度规划方法、装置及数控方法和数控机床,能够在需要改变运动状态参数时无需分别更改所有相关方程组,以节省编程人员的时间和提升***可靠性。
为解决上述问题,本发明提供的第一方案为提供一种S形曲线速度规划方法,所述S形曲线加减速的运行区间段被划分为7个连续的时间段T1、……Ti、……T7,所述方法包括:(1)获取预先设定的运动状态参数的期望值;(2)获取Ti时间段起始时间点对应的状态函数 Motionstatus(i);其中,所述状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,1≤i≤7;(3)根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1);其中,所述状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值;循环执行上述步骤(2)、(3),以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
其中,所述状态函数Motionstatus(i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti;所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
其中,所述根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1)的步骤包括:由所述运动状态参数的期望值计算所述时间段Ti的时间长度Di;由所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)。
其中,所述由所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)的步骤包括:利用如下公式计算所述状态函数Motionstatus(i+1)包括的加速度值:ai+1=J×Di+ai;利用如下公式计算所述状态函数Motionstatus(i+1)包括的速度值: 利用如下公式计算所述状态函数Motionstatus(i+1)包括的位移值: 利用如下公式计算所述状态函数Motionstatus(i+1)包括的时间值:ti+1=ti+Di。
其中,所述方法还包括:根据所述S形曲线速度规划的数据进行插补计算。
为解决上述问题,本发明提供的第二方案为提供一种基于S形曲线速度规划的数控方法,所述方法包括:利用如第一方案任意一项所述的S形曲线速度规划方法形成的S形曲线速度规划数据;根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运动。
为解决上述问题,本发明提供的第三方案为提供一种S形曲线速 度规划装置,所述S形曲线加减速的运行区间段被划分为7个连续的时间段T1、……Ti、……T7,所述装置包括:第一获取单元,用于获取预先设定的运动状态参数的期望值;第二获取单元,用于获取Ti时间段起始时间点对应的状态函数Motionstatus(i);其中,所述状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,1≤i≤7;计算单元,用于根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1);其中,所述状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值;所述第二获取单元和所述计算单元如上所述循环执行,以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
其中,所述状态函数Motionstatus(i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti;所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
其中,所述计算单元用于根据所述运动状态参数的期望值计算所述时间段Ti的时间长度Di;以及根据所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)。
为解决上述问题,本发明提供的第四方案为提供一种数控机床,包括如第三方案任一项所述的S形曲线速度规划装置以及控制装置,其中,所述控制装置用于根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运动。
本发明提供的一种S形曲线速度规划方法、装置及数控方法和数控机床,将S形曲线加减速控制过程中的运动状态进行封装以及通过建立状态函数将S形曲线加减速控制过程中所需的方程封装起来,如果需要改变运动状态参数则可以直接调用函数对封装起来的运动状态一起改掉,不易遗漏。将重复利用的方程或方法封装后,如果需要新的算法要求,只需要更改封装起来的函数,而不是所有用到这个方程的地方,从而节省了编程人员的时间,提升了***的可靠性。
附图说明
图1为现有技术中的S形曲线速度规划的运动状态参数对应关系示意图;
图2为本发明第一实施方式中的S形曲线速度规划方法的流程示意图;
图3为本发明第一实施方式中的S形曲线速度规划的运动状态参数对应关系示意图;
图4为本发明第一实施方式中计算状态函数Motionstatus(i+1)的方法流程示意图;
图5为本发明第二实施方式中的S形曲线速度规划方法的流程示意图;
图6为本发明第三实施方式中的S形曲线速度规划方法的流程示意图;
图7为本发明第一实施方式中的S形曲线速度规划装置的功能模块示意图;
图8为本发明第二实施方式中的S形曲线速度规划装置的功能模块示意图;
图9为本发明实施方式中数控机床的结构示意图。
具体实施方式
下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,均属于本发明保护的范围。
以下将首先对现有技术的数控***的S形曲线速度规划的基本原理进行说明:
请参阅图1,为现有技术中的S形曲线速度规划的运动状态参数对应关系示意图,S形曲线指数控***在加减速阶段的速度曲线形状呈S形,且S形曲线加减速的运行区间段一般可以分为七个连续的时间段,从S形曲线的起点依次分别为:加加速阶段、匀加速阶段、减 加速阶段、匀速阶段、加减速阶段、匀减速阶段和减减速阶段阶段。这七个时间段的时间长度分别记做T1、T2、T3、T4、T5、T6、T7,每个时间段末点的时间记做t1、t2、t3、t4、t5、t6、t7。并且,在变加减速区(加加速阶段、减加速阶段、加减速阶段、减减速阶段),加速度的导数为加加速度J,即|da/dt|=J,加加速度J为恒值;在恒加减速区(匀加速阶段、匀减速阶段、匀速阶段)加加速度J为0,因此,加加速度J在S形曲线各阶段的表达式为如下方程组(1):
S形曲线加减速处理包括区间判别处理、终点判别处理和实时插补计算,具体为:
(1)区间判别处理
区间判别计算各阶段的运行时间和过渡点时刻。在加工程序段的运动开始前,已知初始速度为vs,运行区间的期望速度为v,以及终点速度为ve;指定初位移为ps,末位移为pe;指定初始位移第一阶段到第七阶段末的位移为p1、p2、p3、p4、p5、p6、p7;第一阶段到第七阶段末的速度为v1、v2、v3、v4、v5、v6、v7,;加加速或者减减速为Ja,,加减速或者减加速为Jd,终点位移为L。其中,初始时间t1和初始位移ps均为0。S形曲线加减速处理在机床进入下一段加工路径前完全停止进给(即,加工程序段间的状态是停止模式),因此,设初始速度vs以及终止速度ve均为0。
进一步地,设定数控***所能到达的最大加速度大小为A,最大减速度大小为D;根据下列方程组(2)计算时间段T1、T2、T3、T4、T5、T6、T7的值,从而确定各个阶段的运行时间和过渡点时刻。
(2)终点判别处理
在数控机床的每个插补周期的插补运算之前进行终点判别,根据前一插补周期求出的位移计算出当前插补周期刀具中心离开本程序段终点的距离。
一般情况下,设A=D,且Ja=Jd,所以T1(加加速时间长度)=T3(减加速时间长度),T5(加减速时间长度)=T7(减减速时间长度)。
当时间段T1、T2、T3、T4、T5、T6、T7已知时,通过如下方程组(3)可求得每个阶段末的速度:
进一步地,通过如下方程组(4)可求得每个阶段末的位移:
(3)实时插补计算
根据方程组(4)计算的每个阶段的速度进行积分得到位移的计算公式如方程组(5):
至此完成一个插补周期的计算,得到当前插补周期的瞬时速度和位移,形成S形速度曲线,实现柔性加减速控制。
由以上可知,S型曲线速度规划***中,由于整个运动规划需要多个运动阶段(一般为7个),而每个运动阶段需要位移、速度、加速度、加加速度、时间等多个变量描述。当做速度规划时,需要根据不同的初末运动状态要求去设计每个阶段的运动模式,当一个阶段的运动模式确定后,再去分别用不同的方程去计算描述这个运动阶段的每个变量。这就***性的产生了非常多的情况和针对每种情况需要的数学方程,非常容易出错,不好更改现有算法,更不易添加新算法的问题就浮现了出来。本发明提供的一种S型曲线速度规划方法,就是利用“对这些变量进行封装,然后对其进行统一计算管理”来解决这个问题。具体原理如下所述。
请同时参阅图2和图3,为本发明第一实施方式中的S形曲线速 度规划方法的流程示意图以及S形曲线速度规划的运动状态参数对应关系示意图。
步骤S10,获取预先设定的运动状态参数的期望值。
其中,该运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
需要说明的是,上述运动状态参数的期望值一般是由用户设定或***自动默认的,具体的值一般不得超过数控加工设备允许的最大值。
S形曲线加减速的运行区间段通常被划分为7个连续的时间段T1、……Ti、………T7,但其中可能有一个或多个时间段的长度为0,例如T4的长度可能为0。
步骤S11,获取Ti时间段起始时间点对应的状态函数Motionstatus(i)。
其中,该状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,并且,1≤i≤7。
进一步地,该状态函数Motionstatus(i)包括的Ti时间段起始时间点对应的运动状态参数的值具体为:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti。
该状态函数Motionstatus(i)为预先将该数控***的S形曲线的对应时间段Ti内的运动状态参数进行封装而得到的,用于定义每个时间段的段末运动状态。
步骤S12,根据该运动状态参数的期望值与该状态函数Motionstatus(i)计算状态函数Motionstatus(i+1)。
其中,该状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值。
循环执行上述步骤S11、S12,以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
请同时参阅图4,步骤S12,即,根据该运动状态参数的期望值与该状态函数Motionstatus(i)计算状态函数Motionstatus(i+1)的步骤,具体包括如下步骤:
步骤S120,由运动状态参数的该期望值计算该时间段Ti的时间 长度Di。
步骤S121,由该状态函数Motionstatus(i)和该时间长度Di计算状态函数Motionstatus(i+1)。
具体地,利用如下公式(一)计算状态函数Motionstatus(i+1)包含的加速度值:
ai+t=J×Di+ai 公式(一)
利用如下公式(二)计算状态函数Motionstatus(i+1)包括的速度值:
利用如下公式(三)计算状态函数Motionstatus(i+1)包括的位移值:
利用如下公式(四)计算状态函数Motionstatus(i+1)包括的时间值:
ti+1=ti+Di 公式(四)
请参阅图5,为本发明第二实施方式中的S形曲线速度规划方法的流程示意图,相对于如图2所示的第一实施方式中的S形曲线速度规划方法,还包括如下步骤:
步骤S23,根据该S形曲线速度规划的数据进行插补计算。
具体地,根据确定的所有时间段的段末运动状态,即状态函数Motionstatus(i)、Motionstatus(i+1)……Motionstatus(8),建立如下方程组(6),进行插补计算。
图5中的其他步骤请参见图2以及相应的文字说明。
请参阅图6,为本发明第三实施方式中的S形曲线速度规划方法的流程示意图。
步骤S30,获取预先设定的运动状态参数的期望值。
其中,该运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
S形曲线加减速的运行区间段通常包括7个连续的时间段T1、……Ti、………T7,运动状态参数用于表征对应时间段内的运动状态。
步骤S31,获取T1时间段起始时间点对应的状态函数Motionstatus(1)。
其中,该状态函数Motionstatus(1)包括T1时间段起始时间点对应的运动状态参数的值,具体为:T1时间段起始时间点时的加速度a1、速度v1、位移p1及时间t1。上述这些值通常是预先设定的初始值。
该封装函数Motionstatus(i)为预先将该数控***的S形曲线的对应时间段Ti内的运动状态参数进行预先封装而得到的,用于定义每个时间段的段末运动状态。
由于S形曲线加减速的运行区间段包括七个连续的时间段,因此通过对各个时间段起始或结束时间点的运动状态分别进行预先封装而得到对应的状态函数:Motionstatus(1)、Motionstatus(2)、Motionstatus(3)……Motionstatus(i)……Motionstatus(7)、Motionstatus(8)。其中,封装函数Motionstatus(8),用于表征S形曲线最末时间点的运动状态,即T7时间段结束时间点的状态函数。
步骤S32,根据该运动状态参数的期望值与该状态函数Motionstatus(1)计算状态函数Motionstatus(2)。
举例来说,如果该时间段T1为加加速时间段,步骤S32可包括:
计算该时间段T1的时间长度D1:
计算状态函数Motionstatus(2)包括的(T2时间段起始时间点,也即T1时间段结束时间点对应的)运动状态参数的值:
a2=J×D1+a1
t2=t1+D1
步骤S33,根据该运动状态参数的期望值与该状态函数Motionstatus(2)计算状态函数Motionstatus(3)。
其中,该状态函数Motionstatus(3)包括T3时间段起始时间点(也即T2时间段结束时间点)对应的运动状态参数的值。
步骤S34,根据该运动状态参数的期望值与该状态函数Motionstatus(3)计算状态函数Motionstatus(4)。
其中,该状态函数Motionstatus(4)包括T4时间段起始时间点(也即T3时间段结束时间点)对应的运动状态参数的值。
步骤S35,根据该运动状态参数的期望值与该状态函数Motionstatus(4)计算状态函数Motionstatus(5)。
其中,该状态函数Motionstatus(5)包括T5时间段起始时间点(也即T4时间段结束时间点)对应的运动状态参数的值。
步骤S36,根据该运动状态参数的期望值与该状态函数Motionstatus(5)计算状态函数Motionstatus(6)。
其中,该状态函数Motionstatus(6)包括T6时间段起始时间点(也即T5时间段结束时间点)对应的运动状态参数的值。
步骤S37,根据该运动状态参数的期望值与该状态函数Motionstatus(6)计算状态函数Motionstatus(7)。
其中,该状态函数Motionstatus(7)包括T7时间段起始时间点(也即T6时间段结束时间点)对应的运动状态参数的值。
步骤S38,根据该运动状态参数的期望值与该状态函数Motionstatus(7)计算状态函数Motionstatus(8)。
其中,该状态函数Motionstatus(8)包括T7时间段结束时间点对应的运动状态参数的值。
通过计算得到T1至T7各个时间段对应的状态函数Motionstatus(1)至Motionstatus(8),从而得到S形曲线速度规划的数据。
进一步地,本发明还提供一种基于S形曲线速度规划的数控方法,包括利用如上所述的S形曲线速度规划方法形成的S形曲线速度规划数据产生相应的数控指令,以驱动机械相应地运动。
请参阅图7,为本发明第一实施方式中的S形曲线速度规划装置的结构示意图。
该装置40包括第一获取单元41、第二获取单元42以及计算单元43。
该第一获取单元41用于获取预先设定的运动状态参数的期望值。其中,该运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
上述运动状态参数的期望值一般是由用户设定或***自动默认的,具体的值一般不得超过数控加工设备允许的最大值。
S形曲线加减速的运行区间段通常被划分为7个连续的时间段T1、……Ti、………T7,但其中可能有一个或多个时间段的长度为0,例如T4的长度可能为0。
该第二获取单元42用于获取Ti时间段起始时间点对应的状态函数Motionstatus(i)。其中,该状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,具体为:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti,1≤i≤7。
该状态函数Motionstatus(i)为预先将该数控***的S形曲线的对应时间段Ti内的运动状态参数进行封装而得到的,用于定义每个时间段的段末运动状态。
该计算单元43用于根据该运动状态参数的期望值与该状态函数Motionstatus(i)计算状态函数Motionstatus(i+1)。其中,该状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值。
该第二获取单元42和该计算单元43如上所述循环执行,以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
其中,该计算单元43计算状态函数Motionstatus(i+1)具体为:由运动状态参数的该期望值计算该时间段Ti的时间长度Di,以及由该状态函数Motionstatus(i)和该时间长度Di计算状态函数Motionstatus(i+1)。
进一步地,该计算单元43具体用于:
利用如下公式(一)计算状态函数Motionstatus(i+1)包含的加速度值:
ai+1=J×Di+ai 公式(一)
利用如下公式(二)计算状态函数Motionstatus(i+1)包括的速度值:
利用如下公式(三)计算状态函数Motionstatus(i+1)包括的位移值:
利用如下公式(四)计算状态函数Motionstatus(i+1)包括的时间值:
ti+1=ti+Di 公式(四)
在其他实施方式中,该第二获取单元42还可以首先获取T1时间段起始时间点对应的状态函数Motionstatus(1)。
其中,该状态函数Motionstatus(1)包括T1时间段起始时间点对应的运动状态参数的值,具体为:T1时间段起始时间点时的加速度a1、速度v1、位移p1及时间t1。上述这些值通常是预先设定的初始值。
该封装函数Motionstatus(i)为预先将该数控***的S形曲线的对应时间段Ti内的运动状态参数进行预先封装而得到的,用于定义每个时间段的段末运动状态。
由于S形曲线加减速的运行区间段包括七个连续的时间段,因此通过对各个时间段起始或结束时间点的运动状态分别进行预先封装而得到对应的状态函数:Motionstatus(1)、Motionstatus(2)、Motionstatus(3)……Motionstatus(i)……Motionstatus(7)、Motionstatus(8)。其中,封装函数Motionstatus(8),用于表征S形曲线最末时间点的运动状态,即T7时间段结束时间点的状态函数。
由该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(1)计算状态函数Motionstatus(2)。
举例来说,如果该时间段T1为加加速时间段,该计算单元43计算该时间段T1的时间长度D1:
计算状态函数Motionstatus(2)包括的(T2时间段起始时间点,也即T1时间段结束时间点对应的)运动状态参数的值:
a2=J×D1+a1
t2=t1+D1
然后,该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(2)计算状态函数Motionstatus(3)。其中,该状态函数Motionstatus(3)包括T3时间段起始时间点(也即T2时间段结束时间点)对应的运动状态参数的值。
该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(3)计算状态函数Motionstatus(4)。其中,该状态函数Motionstatus(4)包括T4时间段起始时间点(也即T3时间段结束时间点)对应的运动状态参数的值。
该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(4)计算状态函数Motionstatus(5)。其中,该状态函数Motionstatus(5)包括T5时间段起始时间点(也即T4时间段结束时间点)对应的运动状态参数的值。
该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(5)计算状态函数Motionstatus(6)。其中,该状态函数Motionstatus(6)包括T6时间段起始时间点(也即T5时间段结束时间点)对应的运动状态参数的值。
该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(6)计算状态函数Motionstatus(7)。其中,该状态函数Motionstatus(7)包括T7时间段起始时间点(也即T6时间段结束时间点)对应的运动状态参数的值。
该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(7)计算状态函数Motionstatus(8)。其中,该状态函数Motionstatus(8)包括T7时间段结束时间点对应的运动状态参数的值。
通过计算得到T1至T7各个时间段对应的状态函数Motionstatus(1)至Motionstatus(8),从而得到S形曲线速度规划的数据。
请参阅图8,为本发明第二实施方式中的S形曲线速度规划装置的结构示意图。该装置50还包括插补计算单元54,用于根据该S形曲线速度规划的数据进行插补计算。
具体地,该插补计算反应54根据确定的所有时间段的段末运动状态,即状态函数Motionstatus(i)、Motionstatus(i+1)……Motionstatus(8),建立如下方程组(6),进行插补计算。
图8中的其他单元请参见图7以及相应的文字说明。
请参阅图9,为本发明实施方式中数控机床的结构示意图,该数控机床60包括如上所述的S形曲线速度规划装置60以及控制装置61,该控制装置61用于根据该S形曲线速度规划装置60计算得到的S形曲线速度规划数据产生相应的数控指令,以驱动机械相应地运动。
本发明提供的一种S形曲线速度规划方法、装置及数控方法和数控机床,将S形曲线加减速控制过程中的运动状态进行封装以及通过建立函数将S形曲线加减速控制过程中所需的方程组封装起来,如果需要改变运动状态参数则可以直接调用函数对封装起来的运动状态一起改掉,不易遗漏。将重复利用的方程组或方法封装后,如果需要新的算法要求,只需要更改封装起来的函数,而不是所有用到这个方程组的地方,从而节省了编程人员的时间,提升了***的可靠性。
在上述实施例中,仅对本发明进行了示范性描述,但是本领域技术人员在阅读本专利申请后可以在不脱离本发明的精神和范围的情况下对本发明进行各种修改。
Claims (10)
1.一种S形曲线速度规划方法,所述S形曲线加减速的运行区间段被划分为7个连续的时间段T1、……Ti、……T7,其特征在于,所述方法包括:
(1)获取预先设定的运动状态参数的期望值;
(2)获取Ti时间段起始时间点对应的状态函数Motionstatus(i);其中,所述状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,1≤i≤7;
(3)根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1);其中,所述状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值;
循环执行上述步骤(2)、(3),以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
2.如权利要求1所述的S形曲线速度规划方法,其特征在于,所述状态函数Motionstatus(i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti;
所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
3.如权利要求2所述的S形曲线速度规划方法,其特征在于,所述根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1)的步骤包括:
由所述运动状态参数的期望值计算所述时间段Ti的时间长度Di;
由所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)。
4.根据权利要求3所述的方法,其特征在于,所述由所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)的步骤包括:
利用如下公式计算所述状态函数Motionstatus(i+1)包括的加速度值:
ai+1=J×Di+ai;
利用如下公式计算所述状态函数Motionstatus(i+1)包括的速度值:
利用如下公式计算所述状态函数Motionstatus(i+1)包括的位移值:
利用如下公式计算所述状态函数Motionstatus(i+1)包括的时间值:
ti+1=ti+Di。
5.如权利要求1~4任一项所述的S形曲线速度规划方法,其特征在于,所述方法还包括:
根据所述S形曲线速度规划的数据进行插补计算。
6.一种基于S形曲线速度规划的数控方法,其特征在于,所述方法包括:
利用如权利要求1~5任意一项所述的S形曲线速度规划方法形成的S形曲线速度规划数据;
根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运动。
7.一种S形曲线速度规划装置,所述S形曲线加减速的运行区间段被划分为7个连续的时间段T1、……Ti、……T7,其特征在于,所述装置包括:
第一获取单元,用于获取预先设定的运动状态参数的期望值;
第二获取单元,用于获取Ti时间段起始时间点对应的状态函数Motionstatus(i);其中,所述状态函数Motionstatus(i)包括Ti时间段起始时间点对应的运动状态参数的值,1≤i≤7;
计算单元,用于根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+1);其中,所述状态函数Motionstatus(i+1)包括Ti时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参数的值;
所述第二获取单元和所述计算单元如上所述循环执行,以计算得到Ti至T7各个时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
8.如权利要求7所述的S形曲线速度规划装置,其特征在于,所述状态函数Motionstatus(i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:Ti时间段起始时间点时的加速度ai、速度vi、位移pi及时间ti;
所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度De、期望速度Ve和期望位移P。
9.如权利要求8所述的S形曲线速度规划装置,其特征在于,所述计算单元用于根据所述运动状态参数的期望值计算所述时间段Ti的时间长度Di;以及根据所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)。
10.一种数控机床,其特征在于,包括如权利要求7~9任一项所述的S形曲线速度规划装置以及控制装置,其中,所述控制装置用于根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510164164.2A CN104898577B (zh) | 2015-04-08 | 2015-04-08 | S形曲线速度规划方法、装置及数控方法和数控机床 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510164164.2A CN104898577B (zh) | 2015-04-08 | 2015-04-08 | S形曲线速度规划方法、装置及数控方法和数控机床 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104898577A true CN104898577A (zh) | 2015-09-09 |
CN104898577B CN104898577B (zh) | 2020-02-11 |
Family
ID=54031290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510164164.2A Active CN104898577B (zh) | 2015-04-08 | 2015-04-08 | S形曲线速度规划方法、装置及数控方法和数控机床 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104898577B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354102A (zh) * | 2016-10-18 | 2017-01-25 | 西平县朗玛数控设备有限公司 | 一种初加速度不为零的s型曲线速度控制方法 |
CN108663994A (zh) * | 2018-06-04 | 2018-10-16 | 绵阳逢研科技有限公司 | 一种伺服电机s曲线加减速控制方法 |
WO2018205248A1 (zh) * | 2017-05-12 | 2018-11-15 | 深圳配天智能技术研究院有限公司 | 样条路径的插补方法及相关设备 |
CN109407621A (zh) * | 2018-01-30 | 2019-03-01 | 武汉呵尔医疗科技发展有限公司 | 一种取样机械臂插补中s型加减速运动控制方法 |
CN111203870A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 舵机运动控制方法、装置及终端设备 |
CN112327954A (zh) * | 2020-11-14 | 2021-02-05 | 大连理工大学 | 非对称s型速度曲线控制的直线电机高精定位方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1267377A (zh) * | 1997-08-22 | 2000-09-20 | 霍尼韦尔公司 | 在面向对象的控制器里提供高性能封装数据引用的***和方法以及采用该***或方法的分布式控制*** |
CN1971457A (zh) * | 2005-11-25 | 2007-05-30 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控机床的加减速控制方法 |
EP2634657A1 (en) * | 2010-10-27 | 2013-09-04 | Makino Milling Machine Co., Ltd. | Numerical control method |
CN103713660A (zh) * | 2013-12-12 | 2014-04-09 | 南京工程学院 | 实现运动控制***s曲线加减速的控制电路 |
CN103713581A (zh) * | 2013-12-12 | 2014-04-09 | 南京工程学院 | 运动控制***s曲线加减速的实现方法 |
-
2015
- 2015-04-08 CN CN201510164164.2A patent/CN104898577B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1267377A (zh) * | 1997-08-22 | 2000-09-20 | 霍尼韦尔公司 | 在面向对象的控制器里提供高性能封装数据引用的***和方法以及采用该***或方法的分布式控制*** |
CN1971457A (zh) * | 2005-11-25 | 2007-05-30 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控机床的加减速控制方法 |
EP2634657A1 (en) * | 2010-10-27 | 2013-09-04 | Makino Milling Machine Co., Ltd. | Numerical control method |
CN103713660A (zh) * | 2013-12-12 | 2014-04-09 | 南京工程学院 | 实现运动控制***s曲线加减速的控制电路 |
CN103713581A (zh) * | 2013-12-12 | 2014-04-09 | 南京工程学院 | 运动控制***s曲线加减速的实现方法 |
Non-Patent Citations (2)
Title |
---|
董靖川 等: "通用型前瞻速度规划算法", 《计算机集成制造***》 * |
郑仲谦 等: "基于加减速时间控制的S形速度规划新算法研究", 《机电工程》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354102A (zh) * | 2016-10-18 | 2017-01-25 | 西平县朗玛数控设备有限公司 | 一种初加速度不为零的s型曲线速度控制方法 |
CN106354102B (zh) * | 2016-10-18 | 2018-11-27 | 西平县朗玛数控设备有限公司 | 一种初加速度不为零的s型曲线速度控制方法 |
WO2018205248A1 (zh) * | 2017-05-12 | 2018-11-15 | 深圳配天智能技术研究院有限公司 | 样条路径的插补方法及相关设备 |
CN109407621A (zh) * | 2018-01-30 | 2019-03-01 | 武汉呵尔医疗科技发展有限公司 | 一种取样机械臂插补中s型加减速运动控制方法 |
CN108663994A (zh) * | 2018-06-04 | 2018-10-16 | 绵阳逢研科技有限公司 | 一种伺服电机s曲线加减速控制方法 |
CN108663994B (zh) * | 2018-06-04 | 2020-08-25 | 绵阳逢研科技有限公司 | 一种伺服电机s曲线加减速控制方法 |
CN111203870A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 舵机运动控制方法、装置及终端设备 |
CN112327954A (zh) * | 2020-11-14 | 2021-02-05 | 大连理工大学 | 非对称s型速度曲线控制的直线电机高精定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104898577B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104898577A (zh) | S形曲线速度规划方法、装置及数控方法和数控机床 | |
CN102419570B (zh) | 数控机床高速加工的加减速前瞻控制方法 | |
CN104678899A (zh) | 曲线速度规划方法、装置及其数控加工路径数据处理方法 | |
CN104786221B (zh) | 一种基于以太网的开放式机械手控制方法 | |
CN103941647B (zh) | 用于嵌入式数控设备的柔性加减速控制插补方法 | |
CN1971457A (zh) | 一种用于数控机床的加减速控制方法 | |
CN103076759B (zh) | 一种获取数控***的s型曲线的方法及其装置 | |
CN103699056A (zh) | 高速高精度数控加工的小线段实时平滑过渡插补方法 | |
CN102774750A (zh) | 垃圾抓斗起重机及防摇摆控制方法 | |
US10514681B2 (en) | Numerical controller including overlap function between arbitrary blocks by common acceleration/deceleration control unit | |
CN108147143A (zh) | 一种自动码垛机器人控制*** | |
CN108435856A (zh) | 折弯机滑块定位补偿方法、***、设备及数控*** | |
CN204229676U (zh) | 一种卷烟机教学模拟实验平台 | |
CN103246236B (zh) | 一种考虑小直线段和连接点速度的数控***速度控制方法 | |
JPH02292122A (ja) | 数値制御方法及びその装置 | |
US6842651B1 (en) | Programmable controller having plural speed pattern generators | |
CN106709107A (zh) | 一种rv减速器三维参数化建模方法 | |
CN104423368A (zh) | 通过对多个***进行分组而统一管理控制的控制装置 | |
CN113119105A (zh) | 机器人多机联动控制方法、多机联动控制设备和控制*** | |
CN102968094A (zh) | 复合材料皮带滚压主机自动控制*** | |
CN103439915A (zh) | 一种电子凸轮的控制方法 | |
CN103501278B (zh) | 一种平滑的流量控制方法及装置 | |
CN107203380A (zh) | 一种sfc程序解释运行方法及装置 | |
CN107538484A (zh) | 一种应用于机器人电机的上位机调试装置 | |
Zhang et al. | Wireless CNC Motion Controller Designed with PSoC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |