CN107741731B - 一种s曲线计算精度引起的误差处理方法 - Google Patents
一种s曲线计算精度引起的误差处理方法 Download PDFInfo
- Publication number
- CN107741731B CN107741731B CN201710959299.7A CN201710959299A CN107741731B CN 107741731 B CN107741731 B CN 107741731B CN 201710959299 A CN201710959299 A CN 201710959299A CN 107741731 B CN107741731 B CN 107741731B
- Authority
- CN
- China
- Prior art keywords
- moment
- section
- displacement
- value
- displacement value
- 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.)
- Active
Links
Images
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/404—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 arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- 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/35—Nc in input of data, input till input file format
- G05B2219/35408—Calculate new position data from actual data to compensate for contour error
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
Abstract
本发明实施例公开了一种S曲线计算精度引起的误差处理方法,包括步骤:计算S曲线中加速段、匀速段、减速段中每一时刻的位移值;将所述加速段、匀速段、减速段的总位移与设定的位置进行比较,获得设定的位置与总位移的差值;在所述差值满足预定条件时,对所述加速段或减速段中每一时刻的位移值进行修正处理;根据修正后的每一时刻的位移值控制机器进行运动。实施本发明,可以使S曲线末端更加平滑,避免机器出现抖动。
Description
技术领域
本发明涉及工业控制领域,特别涉及一种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原理类似,在些不进行详述。
可以理解的,上述方法也可以用于对加速段的修正,原理类似,在此不进行详述。
实施本发明,具有如下有益效果:
可以理解的,在本发明提供的方法中,通过在加速段或减速段,通过对每一时刻所计算的位移值进行修正,可以使最终的位移值与设定位置相同或相接近,且使每一位置过渡更加平滑,从而可以克服可以对计算误差引起的曲线规划完成后的位置与设定的位置不相等而造成位置抖动的问题;或者克服曲线还没规划完,规划的位置就等于设定的位置,造成规划提前结束的问题;使受控设备更加平滑准确。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (2)
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为减速的总时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959299.7A CN107741731B (zh) | 2017-10-16 | 2017-10-16 | 一种s曲线计算精度引起的误差处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959299.7A CN107741731B (zh) | 2017-10-16 | 2017-10-16 | 一种s曲线计算精度引起的误差处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107741731A CN107741731A (zh) | 2018-02-27 |
CN107741731B true CN107741731B (zh) | 2020-02-14 |
Family
ID=61237634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710959299.7A Active CN107741731B (zh) | 2017-10-16 | 2017-10-16 | 一种s曲线计算精度引起的误差处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107741731B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111977571A (zh) * | 2019-05-21 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 一种升降机构速度控制方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232822A (ja) * | 1989-03-07 | 1990-09-14 | Fuji Photo Film Co Ltd | トラッキングサーボ装置 |
CN101082507A (zh) * | 2007-07-13 | 2007-12-05 | 重庆工学院 | 利用时栅位移传感器实现数控转台角位移预测测量的方法 |
CN103801981A (zh) * | 2012-11-14 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于样条插补的四次多项式速度规划算法 |
CN104181860A (zh) * | 2014-08-25 | 2014-12-03 | 浙江理工大学 | 数控机床s型加减速控制方法 |
CN104865894A (zh) * | 2015-03-20 | 2015-08-26 | 西安交通大学 | 基于统计模型的动梁式龙门机床双驱进给误差补偿方法及模型 |
CN105716558A (zh) * | 2014-12-05 | 2016-06-29 | 湘电集团有限公司 | 一种误差校正的方法及*** |
JP2016173594A (ja) * | 2010-06-24 | 2016-09-29 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 差分測定に基づき顕微鏡検査をスキャンするためのオートフォーカス |
CN106168790A (zh) * | 2016-02-29 | 2016-11-30 | 华南理工大学 | 一种在线改变目标速度和位置的s形加减速控制方法 |
-
2017
- 2017-10-16 CN CN201710959299.7A patent/CN107741731B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232822A (ja) * | 1989-03-07 | 1990-09-14 | Fuji Photo Film Co Ltd | トラッキングサーボ装置 |
CN101082507A (zh) * | 2007-07-13 | 2007-12-05 | 重庆工学院 | 利用时栅位移传感器实现数控转台角位移预测测量的方法 |
JP2016173594A (ja) * | 2010-06-24 | 2016-09-29 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 差分測定に基づき顕微鏡検査をスキャンするためのオートフォーカス |
CN103801981A (zh) * | 2012-11-14 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于样条插补的四次多项式速度规划算法 |
CN104181860A (zh) * | 2014-08-25 | 2014-12-03 | 浙江理工大学 | 数控机床s型加减速控制方法 |
CN105716558A (zh) * | 2014-12-05 | 2016-06-29 | 湘电集团有限公司 | 一种误差校正的方法及*** |
CN104865894A (zh) * | 2015-03-20 | 2015-08-26 | 西安交通大学 | 基于统计模型的动梁式龙门机床双驱进给误差补偿方法及模型 |
CN106168790A (zh) * | 2016-02-29 | 2016-11-30 | 华南理工大学 | 一种在线改变目标速度和位置的s形加减速控制方法 |
Non-Patent Citations (2)
Title |
---|
基于NUBRS曲线插补的五段S曲线加减速控制方法研究;周胜德,梁宏斌,乔宇;《组合机床与自动化加工技术》;20110430(第4期);第37-41,46页 * |
基于S曲线的步进电机速度与位移控制;魏磊,赵发勇,王秀英;《佳木斯大学学报(自然科学版)》;20170930;第35卷(第5期);第811-816页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107741731A (zh) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9389597B2 (en) | Motor control device | |
US20170017227A1 (en) | Thermal displacement correction apparatus for machine tool | |
JP2005122647A (ja) | 数値制御装置 | |
CN113128018B (zh) | 摩擦力计算方法、装置、机器人及可读存储介质 | |
CN108249238A (zh) | 一种电梯无称重启动转矩补偿方法、装置及*** | |
KR20160104075A (ko) | 롤러간 반송 제어 장치 | |
CN107741731B (zh) | 一种s曲线计算精度引起的误差处理方法 | |
CN106681134A (zh) | 一种高精度舵机位置控制方法 | |
EP0858626A1 (en) | Control by means of a set-point generator | |
JP2010063343A (ja) | モータ制御装置とそのトルクリップル補正方法及びモータ制御システム | |
EP3865957B1 (en) | Feedback control method and feedback control device | |
EP0258447A1 (en) | Method of returning to origin | |
CN112965439B (zh) | 一种电子凸轮的控制方法、装置、设备、存储设备 | |
US20040135532A1 (en) | Servocontrol system and method of setting | |
CN113726234A (zh) | 一种基于pid控制的步进电机双闭环控制方法及*** | |
US20180284720A1 (en) | Numerical controller | |
US11300946B2 (en) | Control component and method for determining an adapted master value of a master axis | |
CN113858213B (zh) | 一种用于目标同步的机器人动态轨迹规划方法 | |
US11086277B2 (en) | System and method for determining the parameters of a controller | |
JP6643462B2 (ja) | 移動プロファイルを提供するための方法、制御装置、機械、およびコンピュータプログラム | |
CN113253772A (zh) | 一种基于误差预估及补偿的伺服定位***及方法 | |
WO2020261649A1 (ja) | パラメータ調整方法 | |
US10354683B2 (en) | Servo control method having first and second trajectory generation units | |
CN112068490A (zh) | 一种轨迹规划方法、装置、电子设备及储存介质 | |
JP2007129789A (ja) | モータ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |