首页> 中国专利> 一种S曲线计算精度引起的误差处理方法

一种S曲线计算精度引起的误差处理方法

摘要

本发明实施例公开了一种S曲线计算精度引起的误差处理方法,包括步骤:计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正处理;根据修正后的每一时刻的位移值控制机器进行运动。实施本发明,可以使S曲线末端更加平滑,避免机器出现抖动。

著录项

  • 公开/公告号CN107741731A

    专利类型发明专利

  • 公开/公告日2018-02-27

    原文格式PDF

  • 申请/专利权人 深圳市合信自动化技术有限公司;

    申请/专利号CN201710959299.7

  • 发明设计人 粟汝基;

    申请日2017-10-16

  • 分类号

  • 代理机构深圳汇智容达专利商标事务所(普通合伙);

  • 代理人潘中毅

  • 地址 518000 广东省深圳市南山区西丽镇茶光路南深圳集成电路设计应用产业园209

  • 入库时间 2023-06-19 04:40:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-14

    授权

    授权

  • 2018-03-23

    实质审查的生效 IPC(主分类):G05B19/404 申请日:20171016

    实质审查的生效

  • 2018-02-27

    公开

    公开

说明书

技术领域

本发明涉及工业控制领域,特别涉及一种S曲线计算精度引起的误差处理方法。

背景技术

在工控行业中,PLC控制器通过S型曲线控制策略,可以能够对机器开始运动和停止运动时更加平滑,而S曲线的规划过程中会由于数据类型和计算的精度误差,导致最后规划的位置(计算出的位置)和给定的位置有偏差,如果偏差值处理不好的话会在S曲线末端不平滑,使机器(受控设备)运行时出现抖动。

发明内容

本发明所要解决的技术问题在于,提供一种S曲线计算精度引起的误差处理方法,可以使S曲线末端更加平滑,避免机器出现抖动。

为了解决上述技术问题,本发明的实施例的一方面提供一种S曲线计算精度引起的误差处理方法,包括步骤:

计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;

将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;

在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正。

其中,所述计算S曲线中加速段、匀速段、减速段中每一时刻的位移值的步骤具体为:

在加速段,通过公式一计算获得每一时刻的位移值:

Sa = V_lim*Ta*(1 - Ta*sin(tπ/Ta)/π)/2(一)

其中,V_lim为最大目标速度,Ta为加速的总时间,t为某一时刻;

在匀速段,通过公式二计算获得第一时刻的位移值:

Sc = V_lim*t (0<t<Tc)(二)

其中,Tc为匀速段的总时间;

在减速段,通过公式三计算获得每一时刻的位移值:

Sd = V_lim*(t+Td*sin(tπ/Td)/π)/2(三)

其中,Td为减速的总时间。

其中,在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正的步骤具体为:

当所述差值大于零时,获得加速段或减速段每一时刻最近三次所计算出的位移值,根据所述三个位移值获得两个位置增量;

将所述每一时刻对应的两个位置增量与所述差值进行比较;

如果所述差值位于所述时刻对应的两个位置增量之间,则将所述时刻的上一个位移值加上所述位置增量作为所述时刻的当前位移值,否则将所计算获得的最近一次位移值作为所述时刻的当前位移值。

其中,在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正的步骤具体为:

当所述差值小于零时,将计算出的匀速段减去预定长度,并重新将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的当前差值,使所述当前差值大于零;

获得加速段或减速段每一时刻最近三次所计算出的位移值,根据所述三个位移值获得两个位置增量;

将所述每一时刻对应的两个位置增量与所述当前差值进行比较;

如果所述当前差值位于所述时刻对应的两个位置增量之间,则将所述时刻的上一个位移值加上所述位置增量作为所述时刻的当前位移值,否则将所计算获得的最近一次位移值作为所述时刻的当前位移值。

实施本发明实施例,具有如下有益效果:

本发明提供了一种S曲线计算精度引起的误差处理方法,通过在加速段或减速段,通过对每一时刻所计算的位移值进行修正,可以使最终的位移值与设定位置相同或相接近,且使每一位置过渡更加平滑,从而可以克服可以对计算误差引起的曲线规划完成后的位置与设定的位置不相等而造成位置抖动的问题;或者克服曲线还没规划完,规划的位置就等于设定的位置,造成规划提前结束的问题;使受控设备更加平滑准确。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明提供的一种S曲线计算精度引起的误差处理方法一个实施例的主流程示意图;

图2是图1中步骤S12的一个实施例的流程示意图;

图3是图1中步骤S12的一个实施例的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

如图1所示,示出了本发明提供的一种S曲线计算精度引起的误差处理方法的一个实施例的主流程示意图;在该实施例中,该方法包括如下步骤:

步骤S10,计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;

具体地,在加速段,通过公式一计算获得每一时刻的位移值:

Sa = V_lim*Ta*(1 - Ta*sin(tπ/Ta)/π)/2(一)

其中,V_lim为最大目标速度,Ta为加速的总时间,t为某一时刻;

在匀速段,通过公式二计算获得第一时刻的位移值:

Sc = V_lim*t (0<t<Tc)(二)

其中,Tc为匀速段的总时间;

在减速段,通过公式三计算获得每一时刻的位移值:

Sd = V_lim*(t+Td*sin(tπ/Td)/π)/2(三)

其中,Td为减速的总时间。

可以理解的是,V_lim、Ta和sin()计算都可能会造成误差,最后都会导致计算的结果误差;例如,V_lim一般单位是rpm(转每分钟)或者是pps(脉冲每秒),转换到内部使用的单位的时候会需要重新计算,或者是需要修改最大的目标速度,中间过程的计算都会由于数据的乘除造成精度有取舍而存在误差。

步骤S11,将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;

具体地,计算出加速段位移值Sa,匀速段位移值Sc,减速段位移值Sd,用设定的位置(例如SM)减去计算出的三段位移值(Sa+Sc+Sd)总和,看是否存在差值,如果没有则不需要处理,如果有差值则需要记录下差值Se(即SM-(Sa+Sc+Sd)获得的值);

步骤S12,在所述差值满足预定条件时,对所述减速段中每一时刻的位移值进行修正;

步骤S13,根据修正后的每一时刻的位移值控制机器进行运动。

请一并结合图2和图3所示,分别示出了步骤S12中当误差值大于零和小于零的详细处理过程。

如图2所示,当误差值大于零时,所述步骤S12具体包括:

步骤S120,获得减速段每一时刻最近三次所计算出的位移值,根据所述三个位移值获得两个位置增量;例如,在某一时刻最近三次计算出的位移值为S1、S2和S3(其中S1为最早一次的位移值,S3为当前计算出的位移值),则可以计算获得上一次的位置增量Sd1=S2-S1,当前的位置增量Sd2=S3-S2;

步骤S121,将所述每一时刻对应的两个位置增量与所述差值进行比较,在一个例子中,具体地将每一时刻的Sd1与Sd2和位移值Se进行比较;

步骤S122,如果所述差值位于所述时刻对应的两个位置增量之间,则将所述时刻的上一个位移值加上所述位置增量作为所述时刻的当前位移值,否则将所计算获得的最近一次位移值作为所述时刻的当前位移值,例如在某一时刻Sd1<=Se=Sd2时,则认为计算出的对应此时刻最新一次的位移值存在较大误差,则需要对其进行修正,具体地,将上一个位移值加上位置增量(S2+Se)作为此时刻的当前位移值;否则,则认为计算出的对应此时刻最新一次的位移值不存在误差或误差非常小,不用进行修正,直接将所计算获得的最近一次位移值作为所述时刻伯当前位移值。通过该步骤,从而可以使最终位移值更接近设定的位置,从而克服曲线末端的不平滑。

如图3所示,当误差值小于零时,所述步骤S12具体包括:

步骤S130,将计算出的匀速段减去预定长度(具体地,是在公式二中,将Tc减去一个固定值),使匀速段减短,并重新将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的当前差值,使所述当前差值大于零;

步骤S131,获得减速段每一时刻最近三次所计算出的位移值,根据所述三个位移值获得两个位置增量;

步骤S132,将所述每一时刻对应的两个位置增量与所述当前差值进行比较;

步骤S133,如果所述当前差值位于所述时刻对应的两个位置增量之间,则将所述时刻的上一个位移值加上所述位置增量作为所述时刻的当前位移值,否则将所计算获得的最近一次位移值作为所述时刻的当前位移值。

可以理解的是,后续步骤S131至步骤S133与前一实施例中的步骤S120至步骤S122原理类似,在些不进行详述。

可以理解的,上述方法也可以用于对加速段的修正,原理类似,在此不进行详述。

实施本发明,具有如下有益效果:

可以理解的,在本发明提供的方法中,通过在加速段或减速段,通过对每一时刻所计算的位移值进行修正,可以使最终的位移值与设定位置相同或相接近,且使每一位置过渡更加平滑,从而可以克服可以对计算误差引起的曲线规划完成后的位置与设定的位置不相等而造成位置抖动的问题;或者克服曲线还没规划完,规划的位置就等于设定的位置,造成规划提前结束的问题;使受控设备更加平滑准确。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号