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

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

An error processing method caused by the calculation precision of S curve

The embodiment of the invention discloses an error processing method, a S curve calculation accuracy caused by displacement comprises the steps of: each time the value of the calculation of S curve in the acceleration stage, constant speed section, deceleration period; total displacement of the acceleration section, the uniform section, the deceleration section is compared with the set position, the difference was the set position and the total displacement; the difference between a predetermined condition is satisfied, the displacement of every moment of the acceleration or deceleration in value is corrected according to the displacement; every moment values of the modified machine motion control. The implementation of the invention can make the end of the S curve more smooth and avoid the jitter of the machine.

【技术实现步骤摘要】
一种S曲线计算精度引起的误差处理方法
本专利技术涉及工业控制领域,特别涉及一种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时,则认为计算出的对应此时刻最新一次的位移值存在较大误差,则需要对其进行修正,具本文档来自技高网...
一种S曲线计算精度引起的误差处理方法

【技术保护点】
一种S曲线计算精度引起的误差处理方法,其特征在于,包括步骤:计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正处理;根据修正后的每一时刻的位移值控制机器进行运动。

【技术特征摘要】
1.一种S曲线计算精度引起的误差处理方法,其特征在于,包括步骤:计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正处理;根据修正后的每一时刻的位移值控制机器进行运动。2.如权利要求1所述的方法,其特征在于,所述计算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为减速的总时间。3.如权利要求2所述的方法,其特征在于,在所述差值满足预定条件时,对所述加速段减速段中每...

【专利技术属性】
技术研发人员:粟汝基
申请(专利权)人:深圳市合信自动化技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1