CN110023856B - 通过使用s型曲线生成运动轮廓的方法及计算装置 - Google Patents

通过使用s型曲线生成运动轮廓的方法及计算装置 Download PDF

Info

Publication number
CN110023856B
CN110023856B CN201780064913.1A CN201780064913A CN110023856B CN 110023856 B CN110023856 B CN 110023856B CN 201780064913 A CN201780064913 A CN 201780064913A CN 110023856 B CN110023856 B CN 110023856B
Authority
CN
China
Prior art keywords
interval
time period
distance
maximum
acceleration
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
Application number
CN201780064913.1A
Other languages
English (en)
Other versions
CN110023856A (zh
Inventor
裵商辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Han Huajiqiren Zhu
Original Assignee
Hanwha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hanwha Corp filed Critical Hanwha Corp
Publication of CN110023856A publication Critical patent/CN110023856A/zh
Application granted granted Critical
Publication of CN110023856B publication Critical patent/CN110023856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P31/00Arrangements for regulating or controlling electric motors not provided for in groups H02P1/00 - H02P5/00, H02P7/00 or H02P21/00 - H02P29/00
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34095Look ahead segment calculation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35585Motion command profile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

提供一种基于S型曲线生成运动轮廓的方法及其计算装置。基于S型曲线生成运动轮廓的方法包括:在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个区间的时间段;通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式来生成运动轮廓;以及生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,前一运动的最终速度是下一运动的初始速度。

Description

通过使用S型曲线生成运动轮廓的方法及计算装置
技术领域
本公开涉及一种通过使用S型曲线生成运动轮廓(motion profile)的方法及其计算装置。
背景技术
近来,制造机器人已被积极应用于车辆和半导体工业中的小尺寸、精确组装和制造工艺的领域。为了控制安装在机器人的关节上的电机,用于约束加加速度(jerk)值的梯形或S型曲线速度轮廓被用作参考信号以生成点对点运动。由于机器人的运动时间和运动模式根据生成的轮廓来确定,因此生成用于快速无振动运动的轮廓是重要的。
发明内容
技术问题
提供一种生成运动轮廓的方法,该方法能够生成具有任意限制的加加速度值并具有任意常数的初始速度和最终速度的不对称的速度轮廓并能够重叠两个或更多个运动。
技术方案
根据本公开的一方面,一种通过使用S型曲线生成运动轮廓的方法,所述方法包括:在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个区间的时间段;通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式来生成运动轮廓;以及生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,前一运动的最终速度是下一运动的初始速度。
初始速度和最终速度可包括任意常数。
计算时间段的步骤可包括:通过根据将至目的地位置的运动距离与第一临界距离和第二临界距离进行比较的结果使用相应的多项式表达式,来计算每个区间的时间段,其中,第二临界距离比第一临界距离长。
当运动距离等于或小于第一临界距离时,可通过使用以下多项式表达式来计算每个区间的时间段:
Ta=Tv=Td=0
Figure GDA0003829726110000021
Figure GDA0003829726110000022
其中,Ta可表示最大加速区间的时间段,Tv可表示最大速度区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段。
当运动距离在第一临界距离与第二临界距离之间时,可通过使用以下多项式表达式来计算每个区间的时间段:
Tv=0
Figure GDA0003829726110000023
Figure GDA0003829726110000024
Figure GDA0003829726110000025
Figure GDA0003829726110000026
其中,Ta可表示最大加速区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段。
当运动距离大于第二临界距离时,可通过使用以下多项式表达式来计算每个区间的时间段:
Figure GDA0003829726110000027
Figure GDA0003829726110000028
Figure GDA0003829726110000031
Figure GDA0003829726110000032
Figure GDA0003829726110000033
其中,Ta可表示最大加速区间的时间段,Tv可表示最大速度区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段,满足最大加速度的Tja可以是Tja*,满足最大减速度的Tjd可以是Tjd*。
所述一个或多个约束条件可包括第一约束条件(C1)、第二约束条件(C2)和第三约束条件(C3),其中,第一约束条件(C1)是起始位置与结束位置之间的等式约束,第二约束条件(C2)是速度的值不越过零(0)的约束,第三约束条件(C3)是加加速度、加速度和速度可在任意时间点都在预定限制值内。
计算时间段的步骤可包括:通过非线性编程技术来计算每个区间的时间段,其中,非线性编程技术寻找使将每个区间的时间段作为参数的目标函数最小化的值。
根据一个或多个实施例,一种通过使用S型曲线生成运动轮廓的计算装置,所述计算装置包括:预处理器,被配置为:在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个区间的时间段;以及轮廓生成器,被配置为:通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式来生成运动轮廓,并生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,在所述两个或更多个运动轮廓中,前一运动的最终速度是下一运动的初始速度。
初始速度和最终速度可包括任意常数。
预处理器可被配置为:通过根据将至目的地位置的运动距离与第一临界距离和第二临界距离进行比较的结果使用相应的多项式表达式,来计算每个区间的时间段,其中,第二临界距离比第一临界距离长。
预处理器可被配置为:当运动距离等于或小于第一临界距离时,通过使用以下多项式表达式来计算每个区间的时间段:
Ta=Tv=Td=0
Figure GDA0003829726110000041
Figure GDA0003829726110000042
其中,Ta可表示最大加速区间的时间段,Tv可表示最大速度区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段。
预处理器可被配置为:当运动距离在第一临界距离与第二临界距离之间时,通过使用以下多项式表达式来计算每个区间的时间段:
Tv=0
Figure GDA0003829726110000043
Figure GDA0003829726110000044
Figure GDA0003829726110000045
Figure GDA0003829726110000046
其中,Ta可表示最大加速区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段。
预处理器可被配置为:当运动距离大于第二临界距离时,通过使用以下多项式表达式来计算每个区间的时间段:
Figure GDA0003829726110000047
Figure GDA0003829726110000048
Figure GDA0003829726110000049
Figure GDA00038297261100000410
Figure GDA0003829726110000051
其中,Ta可表示最大加速区间的时间段,Tv可表示最大速度区间的时间段,Td可表示最大减速区间的时间段,Tja可表示加速区间的时间段,Tjd可表示减速区间的时间段,满足最大加速度的Tja可以是Tja*,满足最大减速度的Tjd可以是Tjd*。
所述一个或多个约束条件可包括第一约束条件(C1)、第二约束条件(C2)和第三约束条件(C3),其中,第一约束条件(C1)是起始位置与结束位置之间的等式约束,第二约束条件(C2)是速度的值不越过零(0)的约束,第三约束条件(C3)是加加速度、加速度和速度在任意时间点都在预定限制值内。
预处理器还可被配置为:通过非线性编程技术来计算每个区间的时间段,其中,非线性编程技术寻找使将每个区间的时间段作为参数的目标函数最小化的值。
有益效果
根据实施例,可生成能够在满足限制条件的同时允许电机按最优时间移动的运动轮廓。
附图说明
图1是根据本公开的实施例的生成运动轮廓的计算装置的示图。
图2示出根据本公开的实施例而生成的位置轮廓(a)、速度轮廓(b)和加速度轮廓(c)的示例。
图3示出根据本公开的实施例的根据通过将临界距离与目的地位置进行比较而进行的每个区间的时间的计算来生成运动轮廓的示例。
图4示出根据本公开的实施例的根据通过使用非线性编程而进行的每个区间的时间的计算来生成运动轮廓的示例。
图5和图6是示出根据本公开的实施例的生成运动轮廓的方法的示意流程图。
图7示出根据本公开的实施例的两个运动轮廓彼此重叠的重叠运动轮廓的示例。
最优方式
根据本公开的一方面,一种通过使用S型曲线生成运动轮廓的方法,所述方法包括:在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个的时间段;通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式来生成运动轮廓;以及生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,前一运动的最终速度是下一运动的初始速度。
具体实施方式
公开的方式
在下文中,将参照附图详细描述本公开的一个或多个实施例。
图1是根据本公开的实施例的生成运动轮廓的计算装置的示图。
参照图1,计算装置10可生成用于控制电机等的运动轮廓。计算装置10可被实现为执行特定功能的各种数量的硬件或/和软件配置。例如,计算装置10可表示内置在硬件中的数据处理装置,并包括用于执行由包括在程序中的代码或命令所表示的功能的物理结构化的电路。
计算装置10可包括预处理器20和轮廓生成器40。计算装置10可经由有线或无线地连接到显示器60和输入装置80。
预处理器20可计算运动轮廓中的每个区间的最优时间段。稍后将详细描述计算每个区间的时间段的方法。最优时间段可以是使区间期间的运动距离最小化的最小时间。
轮廓生成器40可通过使用针对每个区间定义的多项式表达式来生成运动轮廓。运动轮廓可包括位置轮廓、速度轮廓和加速度轮廓。
当每个区间的最优时间段被计算时,轮廓生成器40可通过将时间和加加速度应用到针对每个区间定义的多项式表达式来计算每个区间的加速度、速度和位置。在一个实施例中,轮廓生成器40可通过对加加速度进行积分来计算加速度,通过对加速度进行积分来计算速度并通过对速度进行积分来计算位置。
轮廓生成器40可生成用于连接两个或更多个运动的重叠运动轮廓。为了生成重叠运动轮廓,轮廓生成器40将前一运动的最终速度Vf设置为下一运动的初始速度。最终速度Vf和初始速度Vi可以是任意常数。常数可包括0。
依照根据现有技术的梯形或S型曲线速度轮廓,可生成加速时间和减速时间彼此不同的不对称轮廓,但是在起点和到达点处的速度被限制为0,因此,为了生成连续的运动,下一运动必须在前一运动(速度:0)结束之后生成。
根据本公开的实施例,生成具有用于将初始速度和最终速度限制为任意常数的约束条件的运动轮廓,并且两个运动轮廓彼此重叠而没有停止运动以减少操作时间并提高生产力。
显示器60经由有线或无线地连接到计算装置10,以处理从计算装置10输出的图像的信号并将处理的图像提供给用户。显示器60可包括液晶显示器(LCD)面板、有机发光显示器(OLED)面板、电泳显示器(EPD)面板等。显示器60可被实现为触摸屏以接收经由触摸操作的用户输入,并且可用作用户输入接口。
输入装置80经由有线或无线地连接到计算装置10,以生成用于控制计算装置10的输入数据。输入装置80可包括键盘、圆顶开关、触摸板、鼠标、遥控器、调节旋钮(jogwheel)、轻摇开关(jog switch)等
图2示出根据本公开的实施例生成的位置轮廓(a)、速度轮廓(b)和加速度轮廓(c)的示例。
根据实施例的运动轮廓可包括用于从任意初始速度加速到最大速度的加速阶段,与加速阶段连续持续的恒速阶段,以及跟随恒定速度阶段的用于将速度减小到任意最终速度的减速阶段。
从运动轮廓的起始到结束的整个区间可被分类为七个区间T0至T7。这里,区间T0至T3对应于加速阶段,区间T3至T4对应于恒速阶段,区间T4至T7对应于减速阶段。
加速阶段可被划分为包括区间T0至T1和区间T2至T3的加速区间,以及包括具有最大加速度的区间T1至T2的最大加速区间。恒速阶段可包括最大速度区间,例如,电机以最大速度恒定地操作的区间T3至T4。减速阶段可被划分为包括区间T4至T5和T6至T7的减速区间,以及包括电机以最大减速度进行操作的区间T5至T6的最大减速区间。如速度轮廓(b)中所示,初始速度V(T0)和最终速度V(T7)可具非0的值。
在速度轮廓(b)中,加速区间的初始速度和倾斜度可与减速区间的最终速度和倾斜度不同,因此,可生成不对称的S型曲线速度轮廓。
在下文中,将在下面描述预处理器20计算每个区间的时间段。
根据本公开的实施例的用于计算运动轮廓的时间段的约束条件如下。
C1:
P(T0)=0,P(T7)=Pf
V(T0)=Vi,V(T7)=Vf
A(T0)=0,A(T7)=0
约束条件C1包括起始位置和结束位置之间的等式约束,也就是说,起始位置是原点0,结束位置是目的地位置Pf。由于运动距离是从原点到目的地位置,因此目的地位置等于运动距离。在起始位置处的初始速度Vi和在结束位置处的最终速度Vf均可以是任意常数。任意常数可包括0。在起始位置和结束位置处的加速度为0。
C2:
sign(Pf)=sign(Vi)=sign(Vf)
sign(a)=1,a>1
sign9a)=0,a=1
sign(a)=-1,a<1
约束条件C2包括速度值不越过速度0的约束。也就是说,在加速区间和减速区间中的每个区间中,速度不从负值改变为正值或者反之亦然,而是具有负值或正值。
C3:
|j(t=T0~T3)|≤Ja
|j(t=T4~T7)|≤Jd
|a(t=T0~T3)|≤Am
|a(t=T4~T7)|≤Dm
|v(t=T0~T7)|≤Vm
约束条件C3包括这样的约束:在任意时间点(T0≤t≤T7),加加速度j、加速度a和速度v在预定限制值内。在加速阶段中,加加速度等于或小于第一加加速度限制Ja,并且加速度等于或小于最大加速度Am。在减速阶段中,加加速度等于或小于第二加加速度限制Jd,并且减速度等于或小于最大减速度Dm。在所有区间中,速度等于或小于最大速度Vm
第一加加速度限制Ja和第二加加速度限制Jd可分别由下面的式1和式2确定。
Figure GDA0003829726110000091
Figure GDA0003829726110000092
这里,βa和βd是由用户设置的常数,并且可表示运动轮廓的平滑度,并且可被设置为具有大于0且等于或小于1的值。可通过使用βa和βd来生成具有加速区间和减速区间的不对称的时间段的S型曲线速度轮廓。
第一加加速度限制Ja可通过最大加速度Am、最大速度Vm、初始速度Vi和βa来计算。第二加加速度限制Jd可通过最大减速度Dm、最大速度Vm、最终速度Vf和βd来计算。
由于运动轮廓取决于时间和运动距离,因此根据本公开的实施例的生成运动轮廓的方法可被分类为三种情况:例如,短距离、中距离和远距离。
短距离具有短的运动距离Pf,因此,加速度|a(t)|和速度|v(t)|可能不会达到最大加速度Am、最大减速度Dm和最大速度Vm。根据中距离情况的运动距离Pf,加速度|a(t)|可达到最大加速度Am和最大减速度Dm,但是速度|v(t)|可能不会达到最大速度Vm。由于长距离的运动距离Pf足够长,因此加速度|a(t)|和速度|v(t)|可达到最大加速度Am、最大减速度Dm和最大速度Vm
预处理器20将运动距离(即,目的地位置Pf)与第一临界值Pshort和第二临界值Pmedium进行比较,并且可通过使用根据短距离、中距离和长距离之中的运动距离Pf所对应的情况定义的多项式表达式来计算每个区间的时间段。
预处理器20可通过使用下面的式3和式4分别计算第一临界值Pshort和第二临界值Pmedium
Figure GDA0003829726110000093
Figure GDA0003829726110000094
当运动距离Pf满足下面的式5的条件,即,运动距离Pf等于或小于第一临界值Pshort(Pf≤Pshort)时,预处理器20可确定运动距离Pf对应于短距离。
Pf≤Pshort…(5)
当运动距离Pf满足式5时,预处理器20可如下面的式6所示计算每个区间的时间段。
Ta=Tv=Td=0
Figure GDA0003829726110000101
Figure GDA0003829726110000102
这里,Ta表示区间T1至T2的时间段,Tv表示区间T3至T4的时间段,Td表示区间T5至T6的时间段,Tja表示区间T0至T1和区间T2至T3的时间段,Tjd表示区间T4至T5和区间T6至T7的时间段。
在短距离的情况下,区间T1至T2、区间T3至T4以及区间T5至T6被省略,区间T0至T1和区间T2至T3的时间段Tja以及区间T4至T5和区间T6至T7的时间段Tjd可通过使用非线性方程的数值解来计算。这里,可通过将牛顿法(Newton's method)应用于方程式f1和方程式f2来将Tja和Tjd计算为值。非线性方程的数值解和通过使用牛顿法计算所述值的方法在本领域中是公知的,因此,省略其详细描述。
当运动距离Pf满足式7,即,运动距离Pf在第一临界值Pshort与第二临界值Pmedium(Pshort<Pf≤Pmedium)之间时,预处理器20可确定运动距离Pf对应于中距离。
Pshort<Pf≤Pmedium…(7)
当运动距离Pf满足式7时,预处理器20可如下面的式8所示计算每个区间的时间段。
Tv=0
Figure GDA0003829726110000103
Figure GDA0003829726110000104
Figure GDA0003829726110000105
Figure GDA0003829726110000111
在中距离的情况下,区间T3至T4被省略,并且在区间T0至T1和区间T2至T3中的每个区间中,计算由第一加加速度限制Ja的倾斜度达到最大加速度Am所花费的时间段;在区间T4至T5和区间T6至T7中的每个区间中,计算由第二加加速度限制Jd的倾斜度达到最大减速度Dm所花费的时间段。在这种情况下,在区间T0至T1和区间T2至T3中的每个区间期间,加加速度面积等于最大加速度Am;在区间T4至T5和区间T6至T7中的每个区间期间,加加速度面积等于最大减速度Dm。在约束条件C3中,满足|a(t=Tja)|=Am的Tja被表示为Tja*,满足|a(t=Tjd)|=Dm的Tjd被表示为Tjd*。
可通过使用非线性方程的数值解来计算区间T1至T2和区间T5至T6中的每个区间的时间段。这里,可通过将牛顿法应用于方程式f1和方程式f2来将Ta和Td计算为值。
当运动距离Pf满足式9,即,当运动距离Pf大于第二临界值Pmedium(Pf>Pmedium)时,预处理器20可确定运动距离Pf对应于长距离。
Pf>Pmedium…(9)
当运动距离Pf满足式9时,预处理器20可如下面式10所示计算每个区间的时间段。
Figure GDA0003829726110000112
Figure GDA0003829726110000113
Figure GDA0003829726110000114
Figure GDA0003829726110000115
Figure GDA0003829726110000121
加速阶段包括至最大加速度的加速区间和以最大加速度的恒定加速区间,减速阶段包括至最大减速度的减速区间和以最大减速度的恒定减速区间。
在长距离的情况下,如在中距离中一样,在区间T0至T1和区间T2至T3中的每个区间中,计算由第一加加速度限制Ja的倾斜度达到最大加速度Am所花费的时间段;在区间T4至T5和区间T6至T7中的每个区间中,计算由第二加加速度限制Jd的倾斜度达到最大减速度Dm所花费的时间段。在这种情况下,在区间T0至T1和区间T2至T3中的每个区间期间,加加速度面积等于最大加速度Am;在区间T4至T5和区间T6至T7中的每个区间期间,加加速度面积等于最大减速度Dm。在约束条件C3中,满足|a(t=Tja)|=Am的Tja被表示为Tja*,满足|a(t=Tjd)|=Dm的Tjd被表示为Tjd*。
此外,在加速阶段的时间T0至T3和减速阶段的时间T4至T7期间,加速度面积等于最大速度。在约束条件C3中,满足|v(t=Tja+Ta+Tja)|=Vm的Ta被表示为Ta*,并且满足|v(t=Tjd+Td+Tjd)|=Vm的Td被表示为Td*。
如上所述,预处理器20确定临界距离并将临界距离与根据目的地位置的运动距离进行比较,并可通过使用与根据比较结果确定的情况对应的多项式表达式来计算每个区间的最优时间段。
在另一实施例中,预处理器20可通过使用非线性编程技术来计算每个区间的最优时间段。非线性编程技术使用如下面的式11所示的约束优化方法。使用约束优化方法的非线性编程技术在本领域中是公知的,因此,省略其描述。
Figure GDA0003829726110000122
对于l≤Tn≤u,
h(Tn)≤0,
g(Tn)=0 (11)
使时间最小化的目标函数f(Tn)使用如式12中所示的时间平方的积分。
Figure GDA0003829726110000123
不等式约束条件h(Tn)是如C3中任意限制值的条件,并且等式约束条件g(Tn)是指示如C1中g函数在每个时间区间的结束点处为0的条件。优化变量的下限l是0,并且当运动距离是长距离时,上限u使用计算的
Figure GDA0003829726110000124
Figure GDA0003829726110000131
|Tv|。
预处理器20可通过找到在预定约束条件下使预先设置的目标函数最小化的值来计算每个区间的最优时间。
图3示出根据本公开的实施例的根据通过将临界距离与目的地位置进行比较而进行的每个区间的时间的计算来生成运动轮廓的示例。图4示出根据本公开的实施例的根据通过使用非线性编程而进行的每个区间的时间的计算来生成运动轮廓的示例。图3和图4示出关于具有任意值而不是0的初始速度和最终速度的运动轮廓。(a)是位置轮廓,(b)是速度轮廓,(c)是加速度轮廓。参照图3和图4,通过两种方法生成的运动轮廓显示相似的结果。
图5是示出根据本公开的实施例的生成运动轮廓的方法的流程图。根据本公开的实施例的生成运动轮廓的方法可由图1的计算装置10执行。在下文中,将省略关于上述元件的描述。
参照图5,计算装置10可接收根据本公开的实施例的用于生成运动轮廓的约束条件(S31)。计算装置10可接收根据计算最优时间的方法确定的约束条件。
计算装置10可在约束条件下计算运动轮廓中的每个区间的最优时间段(S33)。计算装置10可通过使用与根据将临界距离与运动距离进行比较的结果确定的情况对应的多项式表达式来计算每个区间的最优时间段。另外,计算装置10可通过使用非线性编程技术来计算每个区间的最优时间段。
计算装置10可基于每个区间的最优时间段和加加速度来生成运动轮廓(S35)。计算装置10通过对每个区间的加加速度j(t)进行积分来计算加速度a(t),通过对加速度a(t)进行积分来计算速度v(t),并通过对速度v(t)进行积分来计算位置p(t)。
计算装置10可通过重叠两个或更多个运动轮廓来生成重叠运动轮廓。计算装置10可将前一运动的最终速度Vf设置为下一运动的初始速度Vi,以生成重叠运动轮廓。
图6是示出图5中示出的计算每个区间的最优时间的方法的流程图。图6示出通过使用与根据将临界距离与运动距离进行比较的结果确定的情况对应的多项式表达式来计算每个区间的最优时间段的示例。
参照图6,计算装置10接收根据本公开的实施例的用于生成运动轮廓的约束条件C1至C3,并且可根据约束条件计算运动轮廓中的每个区间的最优时间段。
约束条件C1是起始位置和结束位置之间的等式约束。约束条件C2包括速度值不穿过速度0的约束。约束条件C3包括这样的约束:在任意时间点(T0≤t≤T7),加加速度j、加速度a和速度v在预定限制值(Ja、Jd、Am、Dm和Vm)内。
计算装置10可通过式1和式2来计算加速区间中的加加速度限制值Ja和减速区间中的加加速度限制值Jd(S331)。
计算装置10如式3和式4中所示计算第一临界值Pshort和第二临界值Pmedium,并且可将目的地位置Pf与第一临界值Pshort和第二临界值Pmedium进行比较(S332和S334)。
当目的地位置Pf等于或小于第一临界值Pshort时(S332),计算装置10确定从原点到目的地位置的运动距离Pf对应于短距离,并且可通过使用如式6中的非线性方程的数值解来计算每个区间的时间段。这里,区间可包括加速区间、最大加速度区间、最大速度区间、减速区间和最大减速度区间。
当目的地位置Pf大于第一临界值Pshort并且等于或小于第二临界值Pmedium时(S334),计算装置10确定从原点到目的地位置的运动距离Pf对应于中距离,并且可通过使用如式8中的非线性方程的数值解来计算每个区间的时间段(S335)。
当目的地位置Pf大于第二临界值Pmedium时(S334),计算装置10确定从原点到目的地位置的运动距离Pf对应于长距离,并且可通过使用式10来计算每个区间的时间段(S336)。
计算装置10可根据加速区间的时间Tja来确定区间T0至T1和区间T2至T3的时间段,根据最大加速区间Ta的时间来确定区间T1至T2的时间段,根据最大速度区间的时间Tv来确定区间T3至T4的时间段,根据减速区间的时间Tjd来确定区间T4至T5和区间T6至T7的时间段,并根据最大减速区间的时间Td来确定区间T5至T6的时间段(S337)。
如图5中所示,计算装置10可基于每个区间的最优时间和加加速度来生成运动轮廓和重叠运动轮廓。
图7示出根据本公开的实施例的两个运动轮廓彼此重叠的重叠运动轮廓的示例。(a)是位置轮廓,(b)是速度轮廓,(c)是加速度轮廓。
参照图7,当运动1结束时的最终速度是非0的值,并且跟随运动1的运动2具有运动1的最终速度作为初始速度。因此,运动1不需要减速到最终速度0,并且运动2不需要从速度0加速。因此,可减少执行运动所花费的时间。
也就是说,前一运动的最终速度Vf被设置为下一运动的初始速度Vi,两个或更多个连续的运动轮廓可在不停止运动的情况下重叠,于是,可减少操作时间并且运动可在优化的时间内执行,从而提高生产力。
此外,根据本公开的实施例,运动轮廓的最终速度Vf和初始速度Vi可被设置为非0的任意常数,因此,不需要使最终速度Vf减速为0,从而节省时间。
此外,根据本公开的实施例,加速区间的初始速度和倾斜度可以与减速区间的初始速度和倾斜度不同,因此,可生成不对称的S型曲线轮廓并且有效减少重叠运动中的振动。
尽管已经参照本公开的示例性实施例具体示出并描述了本公开,但是本领域普通技术人员将理解,在不脱离如由权利要求限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。

Claims (12)

1.一种通过使用S型曲线生成运动轮廓的方法,所述方法包括:
在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个区间的时间段;
通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式,来生成运动轮廓;以及
生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,前一运动的最终速度是下一运动的初始速度,
其中,计算所述时间段的步骤包括:
通过将至目的地位置的运动距离与第一临界距离和比第一临界距离长的第二临界距离进行比较,将至目的地位置的运动距离分类为短距离、中距离和远距离中的一个;以及
使用根据所分类的运动距离而不同地定义的对应的多项式表达式来计算每个区间的时间段,
其中,所述运动轮廓的初始速度和最终速度被设置为除0之外的任意常数,
所述加速区间的初始速度和倾斜度与所述减速区间的最终速度和倾斜度不同。
2.根据权利要求1所述的方法,其中,当运动距离等于或小于第一临界距离时,所述运动距离分类为短距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Ta=Tv=Td=0
Figure FDA0003829726100000011
Figure FDA0003829726100000012
其中,Ta表示最大加速区间的时间段,Tv表示最大速度区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Pf表示目的地位置。
3.根据权利要求1所述的方法,其中,当运动距离在第一临界距离与第二临界距离之间时,所述运动距离分类为中距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Tv=0
Figure FDA0003829726100000021
Figure FDA0003829726100000022
Figure FDA0003829726100000023
Figure FDA0003829726100000024
其中,Ta表示最大加速区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Pf表示目的地位置,Am表示最大加速度,Dm表示最大减速度,
满足最大加速度的Tja为Tja*,
满足最大减速度的Tjd为Tjd*。
4.根据权利要求1所述的方法,其中,当运动距离大于第二临界距离时,所述运动距离分类为远距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Figure FDA0003829726100000025
Figure FDA0003829726100000026
Figure FDA0003829726100000027
Figure FDA0003829726100000031
Figure FDA0003829726100000032
其中,Ta表示最大加速区间的时间段,Tv表示最大速度区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Vm表示最大速度,Pf表示目的地位置,Am表示最大加速度,Dm表示最大减速度,
满足最大加速度的Tja为Tja*,
满足最大减速度的Tjd为Tjd*,
满足最大速度的Ta为Ta*,
满足最大速度的Td为Td*。
5.根据权利要求1所述的方法,其中,所述一个或多个约束条件包括第一约束条件、第二约束条件和第三约束条件,其中,第一约束条件是起始位置与结束位置之间的等式约束,第二约束条件是速度的值不越过零的约束,第三约束条件是加加速度、加速度和速度在任意时间点都在预定限制值内。
6.根据权利要求1所述的方法,其中,计算时间段的步骤包括:通过非线性编程技术来计算每个区间的时间段,其中,非线性编程技术寻找使将每个区间的时间段作为参数的目标函数最小化的值。
7.一种通过使用S型曲线生成运动轮廓的计算装置,所述计算装置包括:
预处理器,被配置为:在一个或多个约束条件下,计算加速区间、最大加速区间、最大速度区间、减速区间和最大减速区间中的每个区间的时间段;以及
轮廓生成器,被配置为:通过将计算的时间段和加加速度应用到针对每个区间定义的多项式表达式来生成运动轮廓,并生成两个或更多个运动轮廓彼此重叠的重叠运动轮廓,其中,在所述两个或更多个运动轮廓中,前一运动的最终速度是下一运动的初始速度,
其中,所述预处理器被配置为:通过将至目的地位置的运动距离与第一临界距离和比第一临界距离长的第二临界距离进行比较,将至目的地位置的运动距离分类为短距离、中距离和远距离;以及使用根据所分类的运动距离而不同地定义的对应的多项式表达式来计算每个区间的时间段,
其中,所述运动轮廓的初始速度和最终速度被设置为除0之外的任意常数,
所述加速区间的初始速度和倾斜度与所述减速区间的最终速度和倾斜度不同。
8.根据权利要求7所述的计算装置,其中,预处理器被配置为:当运动距离等于或小于第一临界距离时,所述运动距离分类为短距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Ta=Tv=Td=0
Figure FDA0003829726100000041
Figure FDA0003829726100000042
其中,Ta表示最大加速区间的时间段,Tv表示最大速度区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Pf表示目的地位置。
9.根据权利要求7所述的计算装置,其中,预处理器被配置为:当运动距离在第一临界距离与第二临界距离之间时,所述运动距离分类为中距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Tv=0
Figure FDA0003829726100000043
Figure FDA0003829726100000044
Figure FDA0003829726100000045
Figure FDA0003829726100000046
其中,Ta表示最大加速区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Pf表示目的地位置,Am表示最大加速度,Dm表示最大减速度,
满足最大加速度的Tja为Tja*,
满足最大减速度的Tjd为Tjd*。
10.根据权利要求7所述的计算装置,其中,预处理器被配置为:当运动距离大于第二临界距离时,所述运动距离分类为远距离并且通过使用以下多项式表达式来计算每个区间的时间段:
Figure FDA0003829726100000051
Figure FDA0003829726100000052
Figure FDA0003829726100000053
Figure FDA0003829726100000054
Figure FDA0003829726100000055
其中,Ta表示最大加速区间的时间段,Tv表示最大速度区间的时间段,Td表示最大减速区间的时间段,Tja表示加速区间的时间段,Tjd表示减速区间的时间段,Ja表示第一加加速度限制,Jd表示第二加加速度限制,Vi表示在起始位置处的初始速度,Vf表示在结束位置处的最终速度,Vm表示最大速度,Pf表示目的地位置,Am表示最大加速度,Dm表示最大减速度,
满足最大加速度的Tja为Tja*,
满足最大减速度的Tjd为Tjd*,
满足最大速度的Ta为Ta*,
满足最大速度的Td为Td*。
11.根据权利要求7所述的计算装置,其中,所述一个或多个约束条件包括第一约束条件、第二约束条件和第三约束条件,其中,第一约束条件是起始位置与结束位置之间的等式约束,第二约束条件是速度的值不越过零的约束,第三约束条件是加加速度、加速度和速度在任意时间点都在预定限制值内。
12.根据权利要求7所述的计算装置,其中,预处理器还被配置为:通过非线性编程技术来计算每个区间的时间段,其中,非线性编程技术寻找使将每个区间的时间段作为参数的目标函数最小化的值。
CN201780064913.1A 2017-01-10 2017-10-27 通过使用s型曲线生成运动轮廓的方法及计算装置 Active CN110023856B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170003404A KR20180082115A (ko) 2017-01-10 2017-01-10 S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치
KR10-2017-0003404 2017-01-10
PCT/KR2017/012030 WO2018131778A1 (ko) 2017-01-10 2017-10-27 S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
CN110023856A CN110023856A (zh) 2019-07-16
CN110023856B true CN110023856B (zh) 2022-12-13

Family

ID=62840210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780064913.1A Active CN110023856B (zh) 2017-01-10 2017-10-27 通过使用s型曲线生成运动轮廓的方法及计算装置

Country Status (3)

Country Link
KR (1) KR20180082115A (zh)
CN (1) CN110023856B (zh)
WO (1) WO2018131778A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110450166B (zh) * 2019-08-22 2022-10-14 上海新时达机器人有限公司 基于s形曲线机器人过渡轨迹规划的拐角加速度优化方法及装置
CN113156891B (zh) * 2021-04-26 2023-02-17 北京航空航天大学 一种基于弓高误差限制和加加速度连续的进给率规划方法
CN113253772B (zh) * 2021-07-02 2021-10-12 武汉市正弦电气技术有限公司 一种基于误差预估及补偿的伺服定位***及方法
KR102525150B1 (ko) * 2021-08-05 2023-04-27 한국생산기술연구원 파라볼릭 모션 프로파일 생성 장치 및 그 방법
CN114131613B (zh) * 2021-12-21 2023-05-26 伯朗特机器人股份有限公司 一种基于s曲线的点动操作控制方法
CN114578809A (zh) * 2022-01-13 2022-06-03 达闼机器人股份有限公司 可移动设备的速度控制方法、装置及可移动设备
KR102553301B1 (ko) * 2022-01-17 2023-07-10 김종은 저크를 일정하게 유지하는 모터의 모션 제어 장치
CN115922687B (zh) * 2022-05-23 2023-11-17 以诺康医疗科技(苏州)有限公司 一种基于s形速度曲线的运动轨迹规划方法及装置
CN115542732B (zh) * 2022-09-15 2024-06-18 中国北方车辆研究所 一种伺服运动控制***加减速轨迹规划方法及装置
KR102652609B1 (ko) 2023-12-20 2024-04-01 한국건설기술연구원 과적단속구간에서 비정상 가감속 형태로 주행하는 과적혐의차량의 식별을 위한 화물차량의 속도 프로파일 산출방법 및 산출장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359224A (zh) * 2007-07-31 2009-02-04 洛克威尔自动控制技术股份有限公司 用于轨迹规划的改进的融合算法
CN101939711A (zh) * 2007-10-21 2011-01-05 通用电气智能平台有限公司 用于路径规划装置的加加速度受限的轨迹规划的***和方法
CN106168790A (zh) * 2016-02-29 2016-11-30 华南理工大学 一种在线改变目标速度和位置的s形加减速控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418332B2 (en) * 2005-05-03 2008-08-26 Xerox Corporation Dynamic S curve stepper motor profile
TWI302234B (en) * 2005-08-10 2008-10-21 Delta Electronics Inc Motion command reshaping method with analog input for position s curve
US8710777B2 (en) * 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
US9041337B2 (en) * 2012-05-18 2015-05-26 Linestream Technologies Motion profile generator
KR102128568B1 (ko) * 2013-05-27 2020-07-01 한국과학기술원 잔류진동을 강인하게 저감하기 위한 최적 s-커브 모션 프로파일 설계 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359224A (zh) * 2007-07-31 2009-02-04 洛克威尔自动控制技术股份有限公司 用于轨迹规划的改进的融合算法
CN101939711A (zh) * 2007-10-21 2011-01-05 通用电气智能平台有限公司 用于路径规划装置的加加速度受限的轨迹规划的***和方法
CN106168790A (zh) * 2016-02-29 2016-11-30 华南理工大学 一种在线改变目标速度和位置的s形加减速控制方法

Also Published As

Publication number Publication date
WO2018131778A1 (ko) 2018-07-19
KR20180082115A (ko) 2018-07-18
CN110023856A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN110023856B (zh) 通过使用s型曲线生成运动轮廓的方法及计算装置
CN106168790B (zh) 一种在线改变目标速度和位置的s形加减速控制方法
TWI499878B (zh) 電子凸輪控制裝置及電子凸輪曲線產生方法
CN107070329B (zh) S型运行曲线计算方法以及步进电机旋转控制方法
CN109434831B (zh) 机器人运行方法、装置、机器人、电子设备及可读介质
CN111169469A (zh) 一种车辆的轨迹规划方法、装置、存储介质及汽车
JP2001296912A (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
CN114647248B (zh) 机器人避障方法、电子设备及可读存储介质
JP6006277B2 (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
KR20170044987A (ko) 저크가 제한된 궤적 생성 방법
WO2018042704A1 (ja) 指令値生成装置
JPH0969006A (ja) ロボットの接続動作時に速度制御を行なうための曲線補間方法
US20150045958A1 (en) Time chart creation apparatus, controller, machine element control system, time chart creation method, and information storage medium
CN110398993B (zh) 速度控制方法、装置及计算机可读存储介质
KR101743795B1 (ko) 위치제어 시스템에서 곡선보간 방법
JP2018144147A (ja) ロボットの動作プログラム生成装置
JP3204042B2 (ja) ロボットの軌道の生成装置
JP6348099B2 (ja) 同期運転教示データ作成時の確認手段を備える制御装置
CN108665518B (zh) 一种调节动画速度的控制方法及***
CN115129065A (zh) 机器人移动速度确定方法及装置
US20040059495A1 (en) Positioning control method
JP6801802B1 (ja) コントローラシステムおよびその制御方法
Shahzadeh et al. Path planning for cnc machines considering centripetal acceleration and jerk
KR20090107864A (ko) 속도 프로파일 생성 장치, 모터 제어 장치 및 방법
WO2017199997A1 (ja) 地図表示システムおよび地図表示プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA AEROSPACE Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA TECHWIN Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190703

Address after: Gyeongnam Changwon City, South Korea

Applicant after: Hanwha Precision Machinery Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA AEROSPACE Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210120

Address after: Han Guoshouershi

Applicant after: Hanwha Corp.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: Hanwha Precision Machinery Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231220

Address after: Gyeonggi Do city of South Korea

Patentee after: Han Huajiqiren(zhu)

Address before: Seoul City, Korea

Patentee before: Hanwha Corp.