S形曲线速度规划方法、装置及数控方法和数控机床的制作方法
【技术领域】
[0001] 本发明涉及数控加工的加减速处理技术领域,尤其涉及一种S形曲线速度规划方 法、装置及数控方法和数控机床。
【背景技术】
[0002] 数控系统中,为了保证机床在启动停止或者两条曲线段之间过渡时不产生冲击、 失步、超程或者震荡,需采用专门的加减速控制算法,使得电机的输入按照一定的规律进行 变化,在各种加工情况下都能快速准确的定位。现有技术在S形曲线加减速控制中,将S形 曲线划分为七个时间段,根据系统最大加速度等参数计算各个时间段的时间长度以完成S 形曲线的规划,使得被控制的曲线轨迹的加速度呈线性且连续变化,以此来控制加工过程 中的冲击和震荡等问题。
[0003] 但是,在进行S形曲线加减速控制过程中,当最初算法要求产生变化,就需要为这 种特殊情况来准备一套特别的公式组,并且还需要持续开发出新的公式来适应算法的变 化,并付诸大量时间去测试。做一种改动需要对很多地方更改方程,漏掉或者出错的概率很 高,出错也不易理解不易修正,交接工作时对新入手的算法工程师来说读懂这么多的公式 也会消耗大量时间。
【发明内容】
[0004] 本发明要解决的技术问题是提供一种S形曲线速度规划方法、装置及数控方法和 数控机床,能够在需要改变运动状态参数时无需分别更改所有相关方程组,以节省编程人 员的时间和提升系统可靠性。
[0005] 为解决上述问题,本发明提供的第一方案为提供一种S形曲线速度规划方法,所 述S形曲线加减速的运行区间段被划分为7个连续的时间段1\、……1\、……T7,所述方 法包括:(1)获取预先设定的运动状态参数的期望值;(2)获取1\时间段起始时间点对应 的状态函数Motionstatus(i);其中,所述状态函数Motionstatus(i)包括1\时间段起 始时间点对应的运动状态参数的值,1 <i< 7 ;(3)根据所述运动状态参数的期望值与 所述状态函数Motionstatus(i)计算状态函数Motionstatus(i+l);其中,所述状态函数 M〇ti〇nstatuS(i+l)包括时间段结束时间点或Ti+1时间段起始时间点对应的运动状态 参数的值;循环执行上述步骤(2)、(3),以计算得到1\至T7各个时间段对应的状态函数 Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划的数据。
[0006] 其中,所述状态函数Motionstatus(i)包括的时间段起始时间点对应的运动状 态参数的值包括A时间段起始时间点时的加速度ai、速度Vi、位移Pi及时间ti;所述运动 状态参数的期望值包括:加加速度J、期望加速度4、期望减速度队、期望速度和期望位移 P〇
[0007]其中,所述根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计 算状态函数Motionstatus(i+1)的步骤包括:由所述运动状态参数的期望值计算所述时间 段Ti的时间长度Di;由所述状态函数Motionstatus(i)和所述时间长度Di计算状态函数Motionstatus(i+1)〇
[0008] 其中,所述由所述状态函数Motionstatus (i)和所述时间长度Di计算状态函数 Motionstatus (i+1)的步骤包括:利用如下公式计算所述状态函数Motionstatus (i+1)包 括的加速度值:ai+1= JXDi+ai;利用如下公式计算所述状态函数Motionstatus (i+1)包 括的速度值:
;利用如下公式计算所述状态 函数Motionstatus (i+1)包括的位移值:
丨利用如下公式计算所述状态函数Motionstatus (i+1)包括的时间值:ti+1 =ti+Di〇
[0009] 其中,所述方法还包括:根据所述S形曲线速度规划的数据进行插补计算。
[0010] 为解决上述问题,本发明提供的第二方案为提供一种基于s形曲线速度规划的数 控方法,所述方法包括:利用如第一方案任意一项所述的s形曲线速度规划方法形成的SB 曲线速度规划数据;根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运 动。
[0011] 为解决上述问题,本发明提供的第三方案为提供一种S形曲线速度规划装置, 所述S形曲线加减速的运行区间段被划分为7个连续的时间段1\、……Ti、……T7,所 述装置包括:第一获取单元,用于获取预先设定的运动状态参数的期望值;第二获取单元, 用于获取1\时间段起始时间点对应的状态函数Motionstatus(i);其中,所述状态函数 Motionstatus(i)包括1\时间段起始时间点对应的运动状态参数的值,1彡i彡7 ;计算 单元,用于根据所述运动状态参数的期望值与所述状态函数Motionstatus(i)计算状态函 数Motionstatus(i+1);其中,所述状态函数Motionstatus(i+1)包括1\时间段结束时间 点或Ti+1时间段起始时间点对应的运动状态参数的值;所述第二获取单元和所述计算单元 如上所述循环执行,以计算得到1\至T7各个时间段对应的状态函数Motionstatus(i)至 Motionstatus(8),从而得到S形曲线速度规划的数据。
[0012] 其中,所述状态函数Motionstatus(i)包括的时间段起始时间点对应的运动状 态参数的值包括A时间段起始时间点时的加速度ai、速度Vi、位移Pi及时间ti;所述运动 状态参数的期望值包括:加加速度J、期望加速度4、期望减速度队、期望速度和期望位移 P〇
[0013] 其中,所述计算单元用于根据所述运动状态参数的期望值计算所述时间段凡的 时间长度Di;以及根据所述状态函数Motionstatus(i)和所述时间长度D,计算状态函数Motionstatus(i+1)〇
[0014] 为解决上述问题,本发明提供的第四方案为提供一种数控机床,包括如第三方案 任一项所述的S形曲线速度规划装置以及控制装置,其中,所述控制装置用于根据所述S形 曲线速度规划数据产生数控指令,以驱动机械相应地运动。
[0015]本发明提供的一种S形曲线速度规划方法、装置及数控方法和数控机床,将S形曲 线加减速控制过程中的运动状态进行封装以及通过建立状态函数将S形曲线加减速控制 过程中所需的方程封装起来,如果需要改变运动状态参数则可以直接调用函数对封装起来 的运动状态一起改掉,不易遗漏。将重复利用的方程或方法封装后,如果需要新的算法要 求,只需要更改封装起来的函数,而不是所有用到这个方程的地方,从而节省了编程人员的 时间,提升了系统的可靠性。
【附图说明】
[0016]图1为现有技术中的S形曲线速度规划的运动状态参数对应关系示意图;
[0017] 图2为本发明第一实施方式中的S形曲线速度规划方法的流程示意图;
[0018]图3为本发明第一实施方式中的S形曲线速度规划的运动状态参数对应关系示意 图;
[0019] 图4为本发明第一实施方式中计算状态函数Motionstatus (i+1)的方法流程示意 图;
[0020] 图5为本发明第二实施方式中的S形曲线速度规划方法的流程示意图;
[0021] 图6为本发明第三实施方式中的S形曲线速度规划方法的流程示意图;
[0022] 图7为本发明第一实施方式中的S形曲线速度规划装置的功能模块示意图;
[0023] 图8为本发明第二实施方式中的S形曲线速度规划装置的功能模块示意图;
[0024] 图9为本发明实施方式中数控机床的结构示意图。
【具体实施方式】
[0025] 下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清 楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实 施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所 获得的所有其他实施方式,均属于本发明保护的范围。
[0026] 以下将首先对现有技术的数控系统的S形曲线速度规划的基本原理进行说明:
[0027] 请参阅图1,为现有技术中的S形曲线速度规划的运动状态参数对应关系示意图, S形曲线指数控系统在加减速阶段的速度曲线形状呈S形,且S形曲线加减速的运行区间 段一般可以分为七个连续的时间段,从S形曲线的起点依次分别为:加加速阶段、匀加速阶 段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段和减减速阶段阶段。这七个时间段的 时间长度分别记做T 2、T3、T4、T5、T6、T7,每个时间段末点的时间记做tp t2、t3、t4、t5、t6
、 t7。并且,在变加减速区(加加速阶段、减加速阶段、加减速阶段、减减速阶段),加速度的导 数为加加速度J,即Ida/dtI= J,加加速度J为恒值;在恒加减速区(匀加速阶段、匀减速 阶段、匀速阶段)加加速度J为〇,因此,加加速度J在S形曲线各阶段的表达式为如下方程 组⑴:
[0028]
[0029] S形曲线加减速处理包括区间判别处理、终点判别处理和实时插补计算,具体为:
[0030] (1)区间判别处理
[0031] 区间判别计算各阶段的运行时间和过渡点时刻。在加工程序段的运动开始前,已 知初始速度为vs,运行区间的期望速度为V,以及终点速度为指定初位移为ps,末位移为 pe;指定初始位移第一阶段到第七阶段末的位移为pi、p2、p3、p4、p5、p6、p7;第一阶段到第七 阶段末的速度为VpVyVyVpVpVpVh;加加速或者减减速为Ja,,加减速或者减加速为Jd, 终点位移为L。其中,初始时间和初始位移ps均为0。S形曲线加减速处理在机床进入 下一段加工路径前完全停止进给(即,加工程序段间的状态是停止模式),因此,设初始速 度Vs以及终止速度ve均为0。
[0032] 进一步地,设定数控系统所能到达的最大加速度大小为A,最大减速度大小为D; 根据下列方程组(2)计算时间段1\、T2、T3、T4、T5、T6、T7的值,从而确定各个阶段的运行时 间和过渡点时刻。
[0034] (2)终点判别处理
[0035] 在数控机床的每个插补周期的插补运算之前进行终点判别,根据前一插补周期求 出的位移计算出当前插补周期刀具中心离开本程序段终点的距离。
[0036] 一般情况下,设A= D,且Ja=Jd,所以(加加速时间长度)=T3 (减加速时间长 度),T5 (加减速时间长度)=T7 (减减速时间长度)。
[0037]当时间段1\、T2、T3、T4、T5、T6、T7已知时,通过如下方程组(3)可求得每个阶段末 的速度:
[0039] 进一步地,通过如下方程组(4)可求得每个阶段末的位移:
[0041] (3)实时插补计算
[0042]根据方程组(4)计算的每个阶段的速度进行积分得到位移的计算公式如方程组 (5):
[0044] 至此完成一个插补周期的计算,得到当前插补周期的瞬时速度和位移,形成SB 速度曲线,实现柔性加减速控制。
[0045] 由以上可知,S型曲线速度规划系统中,由于整个运动规划需要多个运动阶段(一 般为7个),而每个运动阶段需要位移、速度、加速度、加加速度、时间等多个变量描述。当做 速度规划时,需要根据不同的初末运动状态要求去设计每个阶段的运动模式,当一个阶段 的运动模式确定后,再去分别用不同的方程去计算描述这个运动阶段的每个变量。这就爆 炸性的产生了非常多的情况和针对每种情况需要的数学方程,非常容易出错,不好更改现 有算法,更不易添加新算法的问题就浮现了出来。本发明提供的一种S型曲线速度规划方 法,就是利用"对这些变量进行封装,然后对其进行统一计算管理"来解决这个问题。具体 原理如下所述。
[0046] 请同时参阅图2和图3,为本发明第一实施方式中的S形曲线速度规划方法的流 程示意图以及S形曲线速度规划的运动状态参数对应关系示意图。
[0047] 步骤S10,获取预先设定的运动状态参数的期望值。
[0048] 其中,该运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度队、 期望速度I和期望位移P。
[0049] 需要说明的是,上述运动状态参数的期望值一般是由用户设定或系统自动默认 的,具体的值一般不得超过数控加工设备允许的最大值。
[0050]S形曲线加减速的运行区间段通常被划分为7个连续的时间段1\、……1\、......... T7,但其中可能有一个或多个时间段的长度为0,例如T4的长度可能为0。
[0051] 步骤S11,获取1\时间段起始时间点对应的状态函数Motionstatus(i)。
[0052] 其中,该状态函数Motionstatus(i)包括1\时间段起始时间点对应的运动状态参 数的值,并且,1彡i彡7。
[0053] 进一步地,该状态函数Motionstatus (i)包括的凡时间段起始时间点对应的运动 状态参数的值具体为A时间段起始时间点时的加速度ai、速度Vi、位移Pi及时间tp
[0054] 该状态函数Motionstatus(i)为预先将该数控系统的S形曲线的对应时间段凡内 的运动状态参数进行封装而得到的,用于定义每个时间段的段末运动状态。
[0055] 步骤S12,根据该运动状态参数的期望值与该状态函数Motionstatus(i)计算状 态函数Motionstatus (i+1)〇
[0056] 其中,该状态函数Motionstatus(i+l)包括凡时间段结束时间点或Ti+1时间段起 始时间点对应的运动状态参数的值。
[0057] 循环执行上述步骤Sll、S12,以计算得到凡至T7各个时间段对应的状态函数 Motionstatus (i)至Motionstatus (8),从而得到S形曲线速度规划的数据。
[0058] 请同时参阅图4,步骤S12,S卩,根据该运动状态参数的期望值与该状态函数 Motionstatus (i)计算状态函数Motionstatus (i+1)的步骤,具体包括如下步骤:
[0059]步骤S120,由运动状态参数的该期望值计算该时间段的时间长度Dp
[0060] 步骤S121,由该状态函数Motionstatus⑴和该时间长度Di计算状态函数 Motionstatus(i+1)〇
[0061] 具体地,利用如下公式(一)计算状态函数Motionstatus (i+1)包含的加速度值:
[0062]a^^JXDi+ai 公式(一)
[0063] 利用如下公式(二)计算状态函数Motionstatus(i+1)包括的速度值:
[0065] 利用如下公式(三)计算状态函数Motionstatus(i+1)包括的位移值:
[0067] 利用如下公式(四)计算状态函数Motionstatus(i+1)包括的时间值:
[0068]ti+1=ti+Di公式(四)
[0069] 请参阅图5,为本发明第二实施方式中的S形曲线速度规划方法的流程示意图,相 对于如图2所示的第一实施方式中的S形曲线速度规划方法,还包括如下步骤:
[0070] 步骤S23,根据该S形曲线速度规划的数据进行插补计算。
[0071] 具体地,根据确定的所有时间段的段末运动状态,即状态函数Motionstatus(i)、 Motionstatus(i+1)......Motionstatus(8),建立如下方程组(6),进行插补计算。
[0073] 图5中的其他步骤请参见图2以及相应的文字说明。
[0074] 请参阅图6,为本发明第三实施方式中的S形曲线速度规划方法的流程示意图。
[0075] 步骤S30,获取预先设定的运动状态参数的期望值。
[0076] 其中,该运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度队、 期望速度I和期望位移P。
[0077]S形曲线加减速的运行区间段通常包括7个连续的时间段1\、……凡、.........T7, 运动状态参数用于表征对应时间段内的运动状态。
[0078] 步骤S31,获取1\时间段起始时间点对应的状态函数Motionstatus⑴。
[0079] 其中,该状态函数Motionstatus(1)包括1\时间段起始时间点对应的运动状态参 数的值,具体为时间段起始时间点时的加速度ai、速度Vl、位移Pl及时间ti。上述这些 值通常是预先设定的初始值。
[0080] 该封装函数Motionstatus(i)为预先将该数控系统的S形曲线的对应时间段凡内 的运动状态参数进行预先封装而得到的,用于定义每个时间段的段末运动状态。
[0081] 由于S形曲线加减速的运行区间段包括七个连续的时间段,因此通过对各 个时间段起始或结束时间点的运动状态分别进行预先封装而得到对应的状态函数: Motionstatus(1) >Motionstatus(2) >Motionstatus(3)......Motionstatus(i)...... Motionstatus(7)、Motionstatus(8)。其中,封装函数Motionstatus(8),用于表征S形曲 线最末时间点的运动状态,即T7时间段结束时间点的状态函数
。
[0082] 步骤S32,根据该运动状态参数的期望值与该状态函数Motionstatus(l)计算状 态函数Motionstatus(2) 〇
[0083] 举例来说,如果该时间段1\为加加速时间段,步骤S32可包括:
[0084] 计算该时间段的时间长度D1:
[0085] 计算状态函数Motionstatus(2)包括的(T2时间段起始时间点,也即T#寸间段结 束时间点对应的)运动状态参数的值:
[0086]a2=JXD
[0089]t2=t…丄
[0090] 步骤S33,根据该运动状态参数的期望值与该状态函数Motionstatus(2)计算状 态函数Motionstatus(3) 〇
[0091] 其中,该状态函数Motionstatus(3)包括T3时间段起始时间点(也即1~2时间段结 束时间点)对应的运动状态参数的值。
[0092] 步骤S34,根据该运动状态参数的期望值与该状态函数Motionstatus(3)计算状 态函数Motionstatus(4) 〇
[0093] 其中,该状态函数Motionstatus(4)包括T4时间段起始时间点(也即T3时间段结 束时间点)对应的运动状态参数的值。
[0094] 步骤S35,根据该运动状态参数的期望值与该状态函数Motionstatus(4)计算状 态函数Motionstatus(5) 〇
[0095] 其中,该状态函数Motionstatus(5)包括T5时间段起始时间点(也即1\时间段结 束时间点)对应的运动状态参数的值。
[0096] 步骤S36,根据该运动状态参数的期望值与该状态函数Motionstatus(5)计算状 态函数Motionstatus(6) 〇
[0097] 其中,该状态函数Motionstatus(6)包括T6时间段起始时间点(也即T5时间段结 束时间点)对应的运动状态参数的值。
[0098] 步骤S37,根据该运动状态参数的期望值与该状态函数Motionstatus(6)计算状 态函数Motionstatus(7) 〇
[0099] 其中,该状态函数Motionstatus(7)包括T7时间段起始时间点(也即^时间段结 束时间点)对应的运动状态参数的值。
[0100] 步骤S38,根据该运动状态参数的期望值与该状态函数Motionstatus(7)计算状 态函数Motionstatus(8) 〇
[0101] 其中,该状态函数Motionstatus(8)包括^时间段结束时间点对应的运动状态参 数的值。
[0102] 通过计算得到1\至T7各个时间段对应的状态函数Motionstatus(1)至 Motionstatus(8),从而得到S形曲线速度规划的数据。
[0103] 进一步地,本发明还提供一种基于S形曲线速度规划的数控方法,包括利用如上 所述的S形曲线速度规划方法形成的S形曲线速度规划数据产生相应的数控指令,以驱动 机械相应地运动。
[0104] 请参阅图7,为本发明第一实施方式中的S形曲线速度规划装置的结构示意图。
[0105] 该装置40包括第一获取单元41、第二获取单元42以及计算单元43。
[0106] 该第一获取单元41用于获取预先设定的运动状态参数的期望值。其中,该运动状 态参数的期望值包括:加加速度J、期望加速度4、期望减速度队、期望速度和期望位移 Po
[0107] 上述运动状态参数的期望值一般是由用户设定或系统自动默认的,具体的值一般 不得超过数控加工设备允许的最大值。
[0108] S形曲线加减速的运行区间段通常被划分为7个连续的时间段1\、……Ti、......... T7,但其中可能有一个或多个时间段的长度为0,例如T4的长度可能为0。
[0109] 该第二获取单元42用于获取Ti时间段起始时间点对应的状态函数 Motionstatus(i)。其中,该状态函数Motionstatus(i)包括1\时间段起始时间点对应的 运动状态参数的值,具体为A时间段起始时间点时的加速度ai、速度Vi、位移Pi及时间ti, 1 ^i^ 7〇
[0110] 该状态函数Motionstatus(i)为预先将该数控系统的S形曲线的对应时间段凡内 的运动状态参数进行封装而得到的,用于定义每个时间段的段末运动状态。
[0111] 该计算单元43用于根据该运动状态参数的期望值与该状态函 数Motionstatus(i)计算状态函数Motionstatus(i+l)。其中,该状态函数 Motionstatus(i+1)包括时间段结束时间点或Ti+1时间段起始时间点对应的运动状态参 数的值。
[0112] 该第二获取单元42和该计算单元43如上所述循环执行,以计算得到1\至T7各个 时间段对应的状态函数Motionstatus(i)至Motionstatus(8),从而得到S形曲线速度规划 的数据。
[0113] 其中,该计算单元43计算状态函数Motionstatus(i+1)具体为:由运动状态参数 的该期望值计算该时间段的时间长度Dp以及由该状态函数Motionstatus(i)和该时间 长度Di计算状态函数Motionstatus(i+1) 〇
[0114] 进一步地,该计算单元43具体用于:
[0115] 利用如下公式(一)计算状态函数Motionstatus(i+1)包含的加速度值:
[0116]ai+1= JXD i+ai 公式(一)
[0117] 利用如下公式(二)计算状态函数Motionstatus(i+1)包括的速度值:
[0119]利用如下公式(三)计算状态函数Motionstatus(i+1)包括的位移值:
[0121] 利用如下公式(四)计算状态函数Motionstatus(i+1)包括的时间值:
[0122]ti+1=ti+Di 公式(四)
[0123] 在其他实施方式中,该第二获取单元42还可以首先获取时间段起始时间点对 应的状态函数Motionstatus(1) 〇
[0124] 其中,该状态函数Motionstatus(1)包括时间段起始时间点对应的运动状态参 数的值,具体为时间段起始时间点时的加速度ai、速度Vl、位移Pl及时间ti。上述这些 值通常是预先设定的初始值。
[0125] 该封装函数Motionstatus(i)为预先将该数控系统的S形曲线的对应时间段凡内 的运动状态参数进行预先封装而得到的,用于定义每个时间段的段末运动状态。
[0126] 由于S形曲线加减速的运行区间段包括七个连续的时间段,因此通过对各 个时间段起始或结束时间点的运动状态分别进行预先封装而得到对应的状态函数: Motionstatus(l)、Motionstatus(2)、Motionstatus(3)......Motionstatus(i)...... Motionstatus(7)、Motionstatus(8)。其中,封装函数Motionstatus(8),用于表征S形曲 线最末时间点的运动状态,即T7时间段结束时间点的状态函数。
[0127] 由该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(1) 计算状态函数Motionstatus(2) 〇
[0128] 举例来说,如果该时间段1\为加加速时间段,该计算单元43计算该时间段T1的 时间长度D1 :
[0129] 计算状态函数Motionstatus(2)包括的(^时间段起始时间点,也即T#寸间段结 束时间点对应的)运动状态参数的值:
[0130] a2=JXD
[0133] t2=ti+Di
[0134] 然后,该计算单元43根据该运动状态参数的期望值与该状态函数 Motionstatus(2)计算状态函数Motionstatus(3)。其中,该状态函数Motionstatus(3)包 括T3时间段起始时间点(也即T2时间段结束时间点)对应的运动状态参数的值。
[0135] 该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(3)计 算状态函数Motionstatus(4)。其中,该状态函数Motionstatus(4)包括^时间段起始时 间点(也即T3时间段结束时间点)对应的运动状态参数的值。
[0136] 该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(4)计 算状态函数Motionstatus(5)。其中,该状态函数Motion
status(5)包括^时间段起始时 间点(也即T4时间段结束时间点)对应的运动状态参数的值。
[0137] 该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(5)计 算状态函数Motionstatus(6)。其中,该状态函数Motionstatus(6)包括^时间段起始时 间点(也即T5时间段结束时间点)对应的运动状态参数的值。
[0138] 该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(6)计 算状态函数Motionstatus(7)。其中,该状态函数Motionstatus(7)包括^时间段起始时 间点(也即T6时间段结束时间点)对应的运动状态参数的值。
[0139] 该计算单元43根据该运动状态参数的期望值与该状态函数Motionstatus(7)计 算状态函数Motionstatus(8)。其中,该状态函数Motionstatus(8)包括^时间段结束时 间点对应的运动状态参数的值。
[0140] 通过计算得到1\至T7各个时间段对应的状态函数Motionstatus(1)至 Motionstatus(8),从而得到S形曲线速度规划的数据。
[0141] 请参阅图8,为本发明第二实施方式中的S形曲线速度规划装置的结构示意图。该 装置50还包括插补计算单元54,用于根据该S形曲线速度规划的数据进行插补计算。
[0142] 具体地,该插补计算反应54根据确定的所有时间段的段末运动状态,即状态函数 Motionstatus(i)、Motionstatus(i+1)......Motionstatus(8),建立如下方程组(6),进行插 补计算。
[0144] 图8中的其他单元请参见图7以及相应的文字说明。
[0145] 请参阅图9,为本发明实施方式中数控机床的结构示意图,该数控机床60包括如 上所述的S形曲线速度规划装置60以及控制装置61,该控制装置61用于根据该S形曲线 速度规划装置60计算得到的S形曲线速度规划数据产生相应的数控指令,以驱动机械相应 地运动。
[0146] 本发明提供的一种S形曲线速度规划方法、装置及数控方法和数控机床,将S形曲 线加减速控制过程中的运动状态进行封装以及通过建立函数将S形曲线加减速控制过程 中所需的方程组封装起来,如果需要改变运动状态参数则可以直接调用函数对封装起来的 运动状态一起改掉,不易遗漏。将重复利用的方程组或方法封装后,如果需要新的算法要 求,只需要更改封装起来的函数,而不是所有用到这个方程组的地方,从而节省了编程人员 的时间,提升了系统的可靠性。
[0147] 在上述实施例中,仅对本发明进行了示范性描述,但是本领域技术人员在阅读本 专利申请后可以在不脱离本发明的精神和范围的情况下对本发明进行各种修改。
【主权项】
1. 一种S形曲线速度规划方法,所述S形曲线加减速的运行区间段被划分为7个连续 的时间段T1、……Ti、……T7,其特征在于,所述方法包括: (1) 获取预先设定的运动状态参数的期望值; (2) 获取Ti时间段起始时间点对应的状态函数Motionstatus (i);其中,所述状态函数 Motionstatus (i)包括凡时间段起始时间点对应的运动状态参数的值,1彡i彡7 ; (3) 根据所述运动状态参数的期望值与所述状态函数Motionstatus (i)计算状态函数 Motionstatus (i+Ι);其中,所述状态函数Motionstatus (i+Ι)包括1\时间段结束时间点或 Ti+1时间段起始时间点对应的运动状态参数的值; 循环执行上述步骤(2)、(3),以计算得到凡至T7各个时间段对应的状态函数 Motionstatus (i)至Motionstatus (8),从而得到S形曲线速度规划的数据。2. 如权利要求1所述的S形曲线速度规划方法,其特征在于,所述状态函数 Motionstatus (i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:T 4寸间段起 始时间点时的加速度ap速度Vi、位移Pi及时间t i; 所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度队、期望速度 入和期望位移P。3. 如权利要求2所述的S形曲线速度规划方法,其特征在于,所述根据所述运动状态参 数的期望值与所述状态函数Motionstatus (i)计算状态函数Motionstatus (i+Ι)的步骤包 括: 由所述运动状态参数的期望值计算所述时间段Ti的时间长度D i; 由所述状态函数Motionstatus⑴和所述时间长度Di计算状态函数 Motionstatus(i+Ι)〇4. 根据权利要求3所述的方法,其特征在于,所述由所述状态函数Motionstatus (i)和 所述时间长度Di计算状态函数Motionstatus (i+Ι)的步骤包括: 利用如下公式计算所述状态函数Motionstatus (i+Ι)包括的加速度值: ai+1= JXD i+ai; 利用如下公式计算所述状态函数Motionstatus (i+Ι)包括的速度值:利用如下公式计算所述状态函数Motionstatus (i+Ι)包括的位移值:利用如下公式计算所述状态函数Motionstatus (i+Ι)包括的时间值: ti+1= t i+Di〇5. 如权利要求1~4任一项所述的S形曲线速度规划方法,其特征在于,所述方法还包 括: 根据所述S形曲线速度规划的数据进行插补计算。6. -种基于S形曲线速度规划的数控方法,其特征在于,所述方法包括: 利用如权利要求1~5任意一项所述的S形曲线速度规划方法形成的S形曲线速度规 划数据; 根据所述S形曲线速度规划数据产生数控指令,以驱动机械相应地运动。7. -种S形曲线速度规划装置,所述S形曲线加减速的运行区间段被划分为7个连续 的时间段!\、……1\、……T7,其特征在于,所述装置包括: 第一获取单元,用于获取预先设定的运动状态参数的期望值; 第二获取单元,用于获取Ti时间段起始时间点对应的状态函数Motionstatus (i);其 中,所述状态函数Motionstatus (i)包括Ti时间段起始时间点对应的运动状态参数的值, l^i^7; 计算单元,用于根据所述运动状态参数的期望值与所述状态函数Motionstatus (i)计 算状态函数Motionstatus (i+Ι);其中,所述状态函数Motionstatus (i+Ι)包括1\时间段结 束时间点或Ti+1时间段起始时间点对应的运动状态参数的值; 所述第二获取单元和所述计算单元如上所述循环执行,以计算得到1\至T 7各个时间段 对应的状态函数Motionstatus (i)至Motionstatus (8),从而得到S形曲线速度规划的数 据。8. 如权利要求7所述的S形曲线速度规划装置,其特征在于,所述状态函数 Motionstatus (i)包括的Ti时间段起始时间点对应的运动状态参数的值包括:T 4寸间段起 始时间点时的加速度ap速度Vi、位移Pi及时间t i; 所述运动状态参数的期望值包括:加加速度J、期望加速度Ae、期望减速度队、期望速度 入和期望位移P。9. 如权利要求8所述的S形曲线速度规划装置,其特征在于,所述计算单元用于根 据所述运动状态参数的期望值计算所述时间段Ti的时间长度D i;以及根据所述状态函数 Motionstatus (i)和所述时间长度Di计算状态函数Motionstatus (i+Ι) 〇10. -种数控机床,其特征在于,包括如权利要求7~9任一项所述的S形曲线速度规 划装置以及控制装置,其中,所述控制装置用于根据所述S形曲线速度规划数据产生数控 指令,以驱动机械相应地运动。
【专利摘要】本发明提供一种S形曲线速度规划方法、装置及数控方法和数控机床,该方法包括:获取预先设定的运动状态参数的期望值;获取Ti时间段起始时间点对应的状态函数Motionstatus(i);根据运动状态参数的期望值与状态函数Motionstatus(i)计算状态函数Motionstatus(i+1),并循环执行上述步骤,得到Ti至T7每个时间段的状态函数Motionstatus(i)至Motionstatus(8),以得到S形曲线速度规划的数据。利用本发明,将重复利用的方程或方法封装后,只需要更改封装起来的函数,而不是所有用到这个方程的地方,从而节省了编程人员的时间,提升了系统的可靠性。
【IPC分类】G05B19/416
【公开号】CN104898577
【申请号】CN201510164164
【发明人】黄鹏
【申请人】北京配天技术有限公司
【公开日】2015年9月9日
【申请日】2015年4月8日