WO2018131778A1 - Method for generating motion profile by using s-curve, and computing device - Google Patents

Method for generating motion profile by using s-curve, and computing device Download PDF

Info

Publication number
WO2018131778A1
WO2018131778A1 PCT/KR2017/012030 KR2017012030W WO2018131778A1 WO 2018131778 A1 WO2018131778 A1 WO 2018131778A1 KR 2017012030 W KR2017012030 W KR 2017012030W WO 2018131778 A1 WO2018131778 A1 WO 2018131778A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
section
maximum
acceleration
motion
Prior art date
Application number
PCT/KR2017/012030
Other languages
French (fr)
Korean (ko)
Inventor
배상진
Original Assignee
한화테크윈주식회사
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 한화테크윈주식회사 filed Critical 한화테크윈주식회사
Priority to CN201780064913.1A priority Critical patent/CN110023856B/en
Publication of WO2018131778A1 publication Critical patent/WO2018131778A1/en

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

Definitions

  • the present embodiment relates to a method for generating a motion profile using an S-curve and a computing device therefor.
  • Incoming motor control mounted on the robot's joints uses an S-curve velocity profile that limits the trapezoidal or jerk values as a reference signal to generate point to point motion. Since the movement time and the moving pattern of the robot are determined by the generated profile, it is important to generate a profile for high speed low vibration motion.
  • Embodiments of the present invention provide a method of generating a motion profile having any limited jerk value, generating an asymmetric speed profile with any constant as the initial and ending speeds, and superimposing two or more motions.
  • Motion profile generation method using the S-curve under one or more constraints, calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; Generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section; And generating an overlapping motion profile in which two or more motion profiles, the final velocity of the previous motion as the initial velocity of the next motion, are continuous.
  • the initial speed and the final speed may be any constant.
  • the calculating of time may include calculating time of each section by a corresponding polynomial according to a comparison result with a moving distance to a target position, a first threshold distance, and a second threshold distance longer than the first threshold distance. can do.
  • the time of each interval is calculated by the polynomial of
  • Ta may be a time of the maximum acceleration section
  • Tv may be a time of the maximum speed section
  • Td may be a time of the maximum deceleration section
  • Tja may be a time of the acceleration section
  • Tjd may be a time of the deceleration section.
  • the time of each interval is calculated by the polynomial of
  • Ta may be a time of the maximum acceleration section
  • Td may be a time of the maximum deceleration section
  • Tja may be a time of the acceleration section
  • Tjd may be a time of the deceleration section.
  • the time of each interval is calculated by the polynomial of
  • Ta is the time of the maximum acceleration section
  • Tv is the time of the maximum speed section
  • Td is the time of the maximum deceleration section
  • Tja is the time of the acceleration section
  • Tjd is the time of the deceleration section
  • Tja satisfying the maximum acceleration in Tja may be Tja *
  • Tjd satisfying the maximum deceleration in Tjd may be Tjd *.
  • the one or more constraints may include a first constraint (C1), which is an equivalent constraint of a starting position and an ending position, a second constraint (C2), which is a constraint that the value of velocity does not cross zero, and a jerk at any point in time, It may include a third constraint (C3) is a constraint that the acceleration, the speed is within any limit value.
  • the time calculating step may include calculating a time of each section by a nonlinear program technique for finding a solution that minimizes an objective function using the time of each section as a parameter.
  • the pre-processing unit for calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; And generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section, and generating a superimposed motion profile in which two or more motion profiles in which the final velocity of the previous motion is the initial velocity of the next motion are generated. It includes;
  • the initial speed and the final speed may be any constant.
  • the preprocessor may calculate the time of each section by a corresponding polynomial according to a comparison result of the movement distance to the target position, the first critical distance, and the second critical distance longer than the first critical distance.
  • the preprocessing unit if the movement distance is less than the first critical distance,
  • Ta may be a time of the maximum acceleration section
  • Tv may be a time of the maximum speed section
  • Td may be a time of the maximum deceleration section
  • Tja may be a time of the acceleration section
  • Tjd may be a time of the deceleration section.
  • the preprocessing unit if the movement distance is between the first critical distance and the second critical distance,
  • Ta may be a time of the maximum acceleration section
  • Td may be a time of the maximum deceleration section
  • Tja may be a time of the acceleration section
  • Tjd may be a time of the deceleration section.
  • the preprocessing unit if the movement distance is greater than the second critical distance,
  • Ta is the time of the maximum acceleration section
  • Tv is the time of the maximum speed section
  • Td is the time of the maximum deceleration section
  • Tja is the time of the acceleration section
  • Tjd is the time of the deceleration section
  • Tja satisfying the maximum acceleration in Tja may be Tja *
  • Tjd satisfying the maximum deceleration in Tjd may be Tjd *.
  • the one or more constraints may include a first constraint (C1), which is an equivalent constraint of a starting position and an ending position, a second constraint (C2), which is a constraint that the value of velocity does not cross zero, and a jerk at any point in time, It may include a third constraint (C3) is a constraint that the acceleration, the speed is within any limit value.
  • the preprocessing unit may calculate the time of each section by a nonlinear program technique for finding a solution that minimizes the objective function using the time of each section as a parameter.
  • a motion profile capable of moving to an optimal time while satisfying a constraint condition may be generated.
  • FIG. 1 illustrates a computing device for generating a motion profile according to an embodiment of the present invention.
  • FIG. 2 is an example of a position profile (a), a velocity profile (b) and an acceleration profile (c) generated according to one embodiment of the invention.
  • 3 is an example of generating a motion profile by calculating the time for each section by comparing the critical distance and the target position according to an embodiment of the present invention.
  • FIG. 4 is an example in which a motion profile is generated by calculating time for each section by nonlinear programming according to an embodiment of the present invention.
  • 5 and 6 are flowcharts schematically illustrating a method of generating a motion profile according to an embodiment of the present invention.
  • Motion profile generation method using the S-curve under one or more constraints, calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; Generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section; And generating an overlapping motion profile in which two or more motion profiles, the final velocity of the previous motion as the initial velocity of the next motion, are continuous.
  • FIG. 1 illustrates a computing device for generating a motion profile according to an embodiment of the present invention.
  • the computing device 10 may generate a motion profile for controlling a motor or the like.
  • Computing device 10 may be implemented in various numbers of hardware or / and software configurations that perform particular functions.
  • computing device 10 may refer to a data processing device embedded in hardware that has physically structured circuitry to perform functions represented by code or instructions contained within a program.
  • the computing device 10 may include a preprocessor 20 and a profile generator 40.
  • the computing device 10 may be connected to the display 60 and the input device 80 by wire or wirelessly.
  • the preprocessor 20 may calculate an optimal time for each section of the motion profile. A detailed description of the time calculation method for each section will be described later.
  • the optimum time may be a minimum time that minimizes the moving distance of the section.
  • the profile generator 40 may generate a motion profile using a polynomial defined for each section.
  • the motion profile may include a position profile, a velocity profile and an acceleration profile.
  • the profile generator 40 may calculate the acceleration, speed, and position of each section by applying time and jerk to the polynomial defined in each section. In one embodiment, the profile generator 40 may calculate the acceleration by integrating the jerk, calculate the speed by integrating the acceleration, and calculate the position by integrating the speed.
  • the profile generator 40 may generate an overlapping motion profile connecting two or more motions.
  • the profile generator 40 sets the final speed Vf of the previous motion to the initial speed Vi of the next motion in order to generate the overlapping motion profile.
  • the final speed Vf and the initial speed Vi can be any constant.
  • the constant may contain zero.
  • Embodiments of the present invention can generate a motion profile including constraints that limit the initial and end speeds to arbitrary constants, and can reduce operation time and increase productivity by superimposing two motion profiles without stationary motion.
  • the display 60 may be connected to the computing device 10 by wire or wirelessly, and may process an image output from the computing device 10 to provide to the user.
  • the display 50 may include a liquid crystal display panel (LCD), an organic light emitting display panel (OLED), an electrophoretic display panel (EPD), or the like.
  • the display 60 may be provided in the form of a touch screen to receive an input through a user's touch and operate as a user input interface.
  • the input device 80 is connected to the computing device 10 by wire or wirelessly to generate input data for controlling the computing device 10.
  • the input device 80 may include a key pad, a dome switch, a touch pad, a mouse, a remote controller, a jog wheel, a jog switch, and the like.
  • FIG. 2 is an example of a position profile (a), a velocity profile (b) and an acceleration profile (c) generated according to one embodiment of the invention.
  • the motion profile according to an embodiment of the present invention may include an acceleration step for accelerating from an initial initial speed to a maximum speed, a constant velocity step following the acceleration step, and a deceleration step for decelerating to a final speed in succession with the constant speed step.
  • an acceleration step for accelerating from an initial initial speed to a maximum speed
  • a constant velocity step following the acceleration step for accelerating from an initial initial speed to a maximum speed
  • a deceleration step for decelerating to a final speed in succession with the constant speed step.
  • All sections from the start to the end of the motion profile can be divided into seven sections, T0 to T7.
  • the sections T0 to T3 correspond to the acceleration stage
  • the sections T3 to T4 correspond to the constant speed stage
  • the sections T4 to T7 correspond to the deceleration stage.
  • the acceleration stage may be divided into an acceleration section including a T0 to T1 and a T2 to T3 section and a maximum acceleration section, which is a T1 to T2 section operating at the maximum acceleration.
  • the constant speed step may include a maximum speed section that is a T3 to T4 section operating at constant speed at the maximum speed.
  • the deceleration step may be divided into a deceleration section including a T4 to T5 and a T6 to T7 section and a maximum deceleration section that is a T5 to T6 section that operates at the maximum deceleration.
  • the initial velocity v (T0) and final velocity v (T7) can be non-zero values.
  • the initial velocity and slope of the acceleration section in the velocity profile b may be different from the final velocity and slope of the deceleration section, so that an asymmetric S-curve velocity profile can be generated.
  • Constraints for calculating the time of the motion profile according to an embodiment of the present invention are as follows.
  • Constraints C1 are equality constraints of the starting position and the ending position.
  • the starting position is the origin (0) and the ending position is the target position (Pf). Since the moving distance is from the origin to the target position, the target position becomes the moving distance.
  • the initial velocity Vi at the starting position and the final velocity Vf at the ending position may each be any constant. Any constant may contain zero.
  • the acceleration at the start and end positions is zero.
  • Constraint C2 is a constraint that the velocity value does not cross over velocity zero. That is, in each of the acceleration section and the deceleration section, the speed does not change from a negative value to a positive value or from a positive value to a negative value, and has a negative value or a positive value.
  • Constraints C3 are constraints that jerk (j, jerk), acceleration (a), and speed (v) are within arbitrary limits at any time point T0? T?
  • the jerk is equal to or less than the first jerk limit value Ja and the acceleration is equal to or less than the maximum acceleration Am.
  • the jerk is below the second limit value Jd and the deceleration is below the maximum deceleration Dm.
  • the speed is below the maximum speed (Vm).
  • the first jerk limit value Ja and the second jerk limit value Jd may be determined by the following equations (1) and (2), respectively.
  • is a constant set by the user and may indicate a smoothness of the motion profile, and may be set to a value greater than 0 and less than or equal to 1.
  • can generate an S-curve velocity profile in which the time between the acceleration and deceleration sections is asymmetric.
  • the first jerk limit value Ja may be calculated by the maximum acceleration Am, the maximum speed Vm, the final speed Vf, and ⁇ a.
  • the second jerk limit value Jd may be calculated by the maximum deceleration Dm, the maximum speed Vm, the final speed Vf, and ⁇ d.
  • the motion profile generation method according to the embodiment of the present invention is classified into three cases of short distance, medium distance, and long distance according to the movement distance. Separate.
  • the shorter distance has shorter travel distance (Pf), ) And speed ( ) Is characterized by not reaching the maximum acceleration (Am), the maximum deceleration (Dm), the maximum speed (Vm).
  • the moving distance Pf of the intermediate distance is the acceleration ( ) Reaches maximum acceleration (Am) and maximum deceleration (Dm), but speed ( ) Does not reach the maximum speed (Vm).
  • the long distance travel distance (Pf) is long enough that the acceleration ( ) And speed ( ) Is characterized by reaching the maximum acceleration Am, the maximum deceleration Dm, and the maximum speed Vm.
  • the preprocessor 20 compares the moving distance (ie, the target position Pf) with the first threshold value Pshort and the second threshold value Pmedium, and corresponds to the movement distance Pf among the short distance, the medium distance, and the long distance.
  • the time for each section can be calculated using a polynomial defined according to the case.
  • the preprocessing unit 20 may calculate the first threshold value Pshort and the second threshold value Pmedium by the following equations (3) and (4), respectively.
  • the moving distance Pf satisfies the condition of the following equation (5), that is, if the moving distance Pf is less than or equal to the first threshold value Pshort (Pf ⁇ Pshort), the moving distance Pf ) Can be determined to belong to a short distance.
  • the preprocessor 20 may calculate time for each section as shown in Equation (6).
  • Ta is the time in the T1 ⁇ T2 section
  • Tv is the time in the T3 ⁇ T4 section
  • Td is the time in the T5 ⁇ T6 section
  • Tja is the time in each of the T0 ⁇ T1 and T2 ⁇ T3 section
  • Tjd is T4 ⁇ T5 and T6 Time of each of the ⁇ T7 section is shown.
  • T1 to T2, T3 to T4, and T5 to T6 sections are omitted, and the times of the T0 to T1 and T2 to T3 sections (Tja) and the T4 to T5 sections and the T6 to T7 sections, respectively.
  • Tjd can be calculated using the numerical solution of nonlinear equations.
  • Tja and Tjd may be calculated as a solution by applying Newton's Method to equations f1 and f2. Since the numerical solution of the nonlinear equation and the Newton method are used for obtaining a solution, a detailed description thereof will be omitted.
  • the moving distance Pf satisfies equation (7), that is, if the moving distance Pf is between the first threshold value Pshort and the second threshold value (Pshort ⁇ Pf ⁇ Pmedium), It may be determined that the movement distance Pf belongs to the intermediate distance.
  • the preprocessor 20 may calculate time for each section as shown in Equation (8).
  • the sections T3 to T4 are omitted, and the time to accelerate to the slope of the first jerk limit value Ja in the sections T0 to T1 and T2 to T3 respectively to reach the maximum acceleration Am is calculated.
  • the time to reach the maximum deceleration Dm by accelerating with the slope of the second jerk limit value Jd in the intervals T ⁇ T5 and T6 ⁇ T7 is calculated.
  • the area of the jerk during the sections T0 to T1 and the period T2 to T3 is equal to the maximum acceleration (Am), respectively, and the areas of the jerk for the sections T4 to T5 and T6 to T7 are the maximum deceleration (Dm) and same.
  • C3 Tja to Tja * satisfying Am
  • Tjd satisfying Dm is expressed as Tjd *.
  • the time in each of the T1 to T2 sections and the T5 to T6 sections can be calculated using the numerical solution of the nonlinear equation.
  • Ta and Td can be calculated as a solution by applying Newton's Method to equations f1 and f2.
  • the preprocessor 20 determines that the moving distance Pf belongs to the long distance. Can be.
  • the preprocessor 20 may calculate time for each section as shown in Equation (10).
  • the acceleration phase includes a section that accelerates and accelerates to the maximum acceleration and a maximum acceleration
  • the deceleration section includes a section that decelerates with the maximum deceleration and a section that decelerates with the maximum deceleration.
  • the time for accelerating with the slope of the first jerk limit value Ja and reaching the maximum acceleration Am in each of the T0 to T1 sections and the T2 to T3 sections is calculated, and the T4 to T5 sections are calculated.
  • a time for accelerating with the slope of the second jerk limit value Jd in the period T6 to T7 to reach the maximum deceleration Dm is calculated.
  • the area of the jerk during the sections T0 to T1 and the period T2 to T3 is equal to the maximum acceleration (Am), respectively, and the areas of the jerk for the sections T4 to T5 and T6 to T7 are the maximum deceleration (Dm) and same.
  • C3 Tja to Tja * satisfying Am
  • Tjd satisfying Dm is expressed as Tjd *.
  • the acceleration area is equal to the maximum speed during the time T0 to T3 of the acceleration phase and the time T4 to T7 of the deceleration phase.
  • Td that satisfies is expressed as Td *.
  • the preprocessing unit 20 may determine the threshold distance, compare it with the movement distance according to the target position, and calculate the optimum time for each section by the polynomial corresponding to the case determined according to the comparison result.
  • the preprocessor 20 may calculate the optimal time for each section using a nonlinear programming technique.
  • the nonlinear programming technique uses a constrained optimization technique such as (11). Since the nonlinear programming technique using the limited optimization technique is well known, a detailed description thereof will be omitted.
  • the objective function f (Tn) for minimizing time uses integral time-squared as shown in Eq. (12).
  • An inequality constraint h (Tn) is a condition that is within an arbitrary limit value such as C3, and an equality constraint g (Tn) is a condition indicating that the g function is zero at the end of each time period, as in C1.
  • the summer condition (l) of the optimization variable is 0, and the summer condition (u) is calculated when the above-mentioned moving distance is long.
  • the preprocessor 20 may calculate the optimal time for each section by finding a solution that minimizes a predetermined objective function under a predetermined constraint.
  • 3 is an example of generating a motion profile by calculating the time for each section by comparing the critical distance and the target position according to an embodiment of the present invention.
  • 4 is an example in which a motion profile is generated by calculating time for each section by nonlinear programming according to an embodiment of the present invention.
  • 3 and 4 are motion profiles for any initial and final velocity other than zero.
  • (a) is a position profile
  • (b) is a velocity profile
  • (c) is an acceleration profile. Referring to FIGS. 3 and 4, it can be seen that the motion profiles of the two methods yield similar results.
  • FIG. 5 is a flowchart schematically illustrating a motion profile generation method according to an embodiment of the present invention.
  • the method of generating a motion profile according to an embodiment of the present invention may be performed by the computing device 10 shown in FIG. 1.
  • the computing device 10 shown in FIG. 1 In the following, detailed descriptions of contents overlapping with those described above will be omitted.
  • the computing device 10 may receive a constraint for generating a motion profile according to an embodiment of the present invention (S31).
  • the computing device 10 may receive a predetermined constraint condition according to a method of calculating an optimal time.
  • the computing device 10 may calculate the optimal time for each section of the motion profile under the constraint condition (S33).
  • the computing device 10 may calculate an optimal time for each section by a polynomial corresponding to a case determined according to a result of comparing the critical distance and the moving distance.
  • the computing device 10 may calculate the optimal time for each section using a nonlinear programming technique.
  • the computing device 10 may generate a motion profile based on the optimal time and jerk of each section (S35).
  • the computing device 10 calculates the acceleration a (t) by integrating the jerks j (t) of each section, and calculates the speed v (t) by integrating the acceleration a (t).
  • the velocity v (t) may be integrated to calculate the position p (t).
  • the computing device 10 may generate an overlapping motion profile that overlaps two or more motion profiles.
  • the computing device 10 may set the final speed Vf of the previous motion to the initial speed Vi of the next motion to generate an overlapping motion profile.
  • 6 is a flowchart schematically illustrating a method of calculating an optimum time for each section of FIG. 5.
  • 6 illustrates an example of calculating an optimum time for each section by a polynomial corresponding to a case determined according to a comparison result of a critical distance and a moving distance.
  • the computing device 10 may receive the constraints C1 to C3 for generating the motion profile according to an embodiment of the present invention and calculate the optimal time for each section of the motion profile under the constraint. have.
  • Constraint C1 is an equivalent constraint between the starting position and the ending position.
  • Constraint C2 is a constraint that the velocity value does not cross velocity zero.
  • Constraints C3 are constraints that jerk j, acceleration a, and speed v are within arbitrary limit values Ja, Jd, Am, Dm, Vm at any time point T0 ⁇ t ⁇ T7.
  • the computing device 10 may calculate the limit value Ja of the jerk in the acceleration section and the limit value Jd of the jerk in the deceleration section by equations (1) and (2) (S331).
  • the computing device 10 calculates the first threshold value Pshort and the second threshold value Pmedium as shown in equations (3) and (4), and sets the target position Pf as the first threshold value Pshort and It may be compared with a second threshold value (Pmedium) (S332, S334).
  • the computing device 10 determines that the movement distance Pf from the origin to the target position belongs to a short distance, and the nonlinearity of Equation (6) is determined.
  • the time for each section may be calculated using a numerical solution of the equation (S333).
  • the section may include an acceleration section, a maximum acceleration section, a maximum speed section, a deceleration section and a maximum deceleration section.
  • the computing device 10 indicates that the movement distance Pf from the origin to the target position belongs to the intermediate distance.
  • the time for each section may be calculated using the numerical solution of the nonlinear equation (8) (S335).
  • the computing device 10 determines that the movement distance Pf from the origin to the target position belongs to a long distance, as shown in Equation (10).
  • the time for each section may be calculated (S336).
  • the computing device 10 determines the time of the sections T0 to T1 and T2 to T3 by the time Tja of the acceleration section, and determines the time of the sections of T1 to T2 by the time of the maximum acceleration section Ta,
  • the time of the T3 to T4 section is determined by the time Tv of the speed section
  • the time of the T4 to T5 and T6 to T7 sections is determined by the time Tjd of the deceleration section
  • the time Td of the maximum deceleration section By the time of the section T5 ⁇ T6 can be determined (S337).
  • the computing device 10 may generate a motion profile and an overlapping motion profile based on the optimal time and jerk of each section, as shown in FIG. 5.
  • FIG. 7 is an example of an overlapping motion profile superimposing two motion profiles according to an embodiment of the present invention.
  • (a) is a position profile
  • (b) is a velocity profile
  • (c) is an acceleration profile.
  • the final speed when motion 1 ends is a non-zero value
  • motion 2 subsequent to motion 1 sets the final speed of motion 1 as the initial speed. Therefore, motion 1 decelerates to a final speed of zero, and motion 2 does not need to accelerate from zero, thereby reducing the time.
  • the exemplary embodiment of the present invention sets the final speed Vf of the previous motion to the initial speed Vi of the next motion, thereby reducing the operation time by overlapping two or more successive motion profiles without stopping, thereby optimizing time. Can be moved to increase productivity.
  • the final velocity Vf and the initial velocity Vi of the motion profile may be set to any constant other than zero, so that the final velocity Vf does not need to be decelerated to zero. Can be reduced.
  • the embodiment of the present invention can have a value different from the initial speed and the slope of the acceleration section and the final speed and the slope of the deceleration section to generate an asymmetric S-curve profile, and thus is effective for vibration reduction even in motion overlapping. .

Abstract

The present embodiment provides a method for generating a motion profile by using an S-curve, and a computing device therefor. A method for generating a motion profile by using an S-curve according to an embodiment of the present invention comprises the steps of: under one or more restrictions, calculating a time of each of an acceleration section, a maximum acceleration section, a maximum velocity section, a deceleration section, and a maximum deceleration section; applying the calculated time and a jerk to a polynomial defined for each section to generate a motion profile; and generating a superimposed motion profile having two or more consecutive motion profiles in which a final velocity of a previous motion is an initial velocity of a subsequent motion.

Description

S-커브를 이용한 모션 프로파일 생성 방법 및 컴퓨팅 장치Motion profile generation method and computing device using S-curve
본 실시예는 S-커브를 이용한 모션 프로파일 생성 방법 및 이를 위한 컴퓨팅 장치에 관한 것이다. The present embodiment relates to a method for generating a motion profile using an S-curve and a computing device therefor.
최근 자동차, 반도체 산업을 중심으로 소형, 정밀조립 및 가공공정분야에 제조용 로봇의 도입이 활발하게 이루어지고 있다. 로봇의 관절에 장착되는 들어가는 모터 제어에서는 point to point 모션을 생성하기 위해서 사다리꼴 혹은 저크(jerk) 값을 제한하는 S-커브 속도 프로파일을 기준 신호(reference signal)로 사용한다. 생성되는 프로파일에 따라 로봇의 이동 시간 및 움직이는 패턴이 결정되므로 고속 저 진동 모션을 위한 프로파일 생성이 중요하다. Recently, the introduction of robots for manufacturing in small, precision assembly and processing processes has been actively made around the automotive and semiconductor industries. Incoming motor control mounted on the robot's joints uses an S-curve velocity profile that limits the trapezoidal or jerk values as a reference signal to generate point to point motion. Since the movement time and the moving pattern of the robot are determined by the generated profile, it is important to generate a profile for high speed low vibration motion.
본 발명의 실시예는 임의의 제한된 저크 값을 가지며, 임의의 상수를 초기 속도 및 종료 속도로 하는 비대칭의 속도 프로파일 생성하고, 2개 이상의 모션을 중첩시키는 모션 프로파일 생성 방법을 제공한다.Embodiments of the present invention provide a method of generating a motion profile having any limited jerk value, generating an asymmetric speed profile with any constant as the initial and ending speeds, and superimposing two or more motions.
본 발명의 일 실시예에 따른 S-커브를 이용한 모션 프로파일 생성 방법은, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계; 상기 산출된 시간 및 저크를 구간별로 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함한다. Motion profile generation method using the S-curve according to an embodiment of the present invention, under one or more constraints, calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; Generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section; And generating an overlapping motion profile in which two or more motion profiles, the final velocity of the previous motion as the initial velocity of the next motion, are continuous.
상기 초기속도 및 상기 최종 속도는 임의의 상수일 수 있다. The initial speed and the final speed may be any constant.
상기 시간 산출 단계는, 목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리와 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출하는 단계;를 포함할 수 있다. The calculating of time may include calculating time of each section by a corresponding polynomial according to a comparison result with a moving distance to a target position, a first threshold distance, and a second threshold distance longer than the first threshold distance. can do.
상기 이동거리가 제1 임계거리 이하이면, If the moving distance is less than the first critical distance,
Figure PCTKR2017012030-appb-I000001
의 다항식에 의해 각 구간의 시간이 산출되고,
Figure PCTKR2017012030-appb-I000001
The time of each interval is calculated by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간일 수 있다. Here, Ta may be a time of the maximum acceleration section, Tv may be a time of the maximum speed section, Td may be a time of the maximum deceleration section, Tja may be a time of the acceleration section, and Tjd may be a time of the deceleration section.
상기 이동거리가 제1 임계거리와 제2 임계거리 사이이면, If the moving distance is between the first critical distance and the second critical distance,
Figure PCTKR2017012030-appb-I000002
의 다항식에 의해 각 구간의 시간이 산출되고,
Figure PCTKR2017012030-appb-I000002
The time of each interval is calculated by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간일 수 있다. Here, Ta may be a time of the maximum acceleration section, Td may be a time of the maximum deceleration section, Tja may be a time of the acceleration section, and Tjd may be a time of the deceleration section.
상기 이동거리가 제2 임계거리보다 크면, If the moving distance is greater than the second critical distance,
Figure PCTKR2017012030-appb-I000003
의 다항식에 의해 각 구간의 시간이 산출되고,
Figure PCTKR2017012030-appb-I000003
The time of each interval is calculated by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간이고, Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section,
Tja에서 최대 가속도를 만족하는 Tja가 Tja*이고, Tjd에서 최대 감속도를 만족하는 Tjd가 Tjd*일 수 있다. Tja satisfying the maximum acceleration in Tja may be Tja *, and Tjd satisfying the maximum deceleration in Tjd may be Tjd *.
상기 하나 이상의 제한조건은, 출발 위치와 종료 위치의 등가 제약인 제1 제한조건(C1), 속도의 값이 0을 교차하지 않는다는 제약인 제2 제한조건(C2), 및 임의의 시점에서 저크, 가속도, 속도가 임의의 한계값 이내에 존재하는 제약인 제3 제한조건(C3)을 포함할 수 있다. The one or more constraints may include a first constraint (C1), which is an equivalent constraint of a starting position and an ending position, a second constraint (C2), which is a constraint that the value of velocity does not cross zero, and a jerk at any point in time, It may include a third constraint (C3) is a constraint that the acceleration, the speed is within any limit value.
상기 시간 산출 단계는, 상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출하는 단계;를 포함할 수 있다. The time calculating step may include calculating a time of each section by a nonlinear program technique for finding a solution that minimizes an objective function using the time of each section as a parameter.
본 발명의 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 전처리부; 및 상기 산출된 시간 및 저크를 구간별로 정의된 다항식에 적용하여 모션 프로파일을 생성하고, 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 프로파일 생성부;를 포함한다. Computing device according to an embodiment of the present invention, under one or more constraints, the pre-processing unit for calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; And generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section, and generating a superimposed motion profile in which two or more motion profiles in which the final velocity of the previous motion is the initial velocity of the next motion are generated. It includes;
상기 초기속도 및 상기 최종 속도는 임의의 상수일 수 있다.The initial speed and the final speed may be any constant.
상기 전처리부는, 목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리의 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출할 수 있다.The preprocessor may calculate the time of each section by a corresponding polynomial according to a comparison result of the movement distance to the target position, the first critical distance, and the second critical distance longer than the first critical distance.
상기 전처리부는, 상기 이동거리가 제1 임계거리 이하이면, The preprocessing unit, if the movement distance is less than the first critical distance,
Figure PCTKR2017012030-appb-I000004
의 다항식에 의해 각 구간의 시간을 산출하고,
Figure PCTKR2017012030-appb-I000004
Calculate the time of each interval by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간일 수 있다. Here, Ta may be a time of the maximum acceleration section, Tv may be a time of the maximum speed section, Td may be a time of the maximum deceleration section, Tja may be a time of the acceleration section, and Tjd may be a time of the deceleration section.
상기 전처리부는, 상기 이동거리가 제1 임계거리와 제2 임계거리 사이이면, The preprocessing unit, if the movement distance is between the first critical distance and the second critical distance,
Figure PCTKR2017012030-appb-I000005
의 다항식에 의해 각 구간의 시간을 산출하고,
Figure PCTKR2017012030-appb-I000005
Calculate the time of each interval by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간일 수 있다. Here, Ta may be a time of the maximum acceleration section, Td may be a time of the maximum deceleration section, Tja may be a time of the acceleration section, and Tjd may be a time of the deceleration section.
상기 전처리부는, 상기 이동거리가 제2 임계거리보다 크면, The preprocessing unit, if the movement distance is greater than the second critical distance,
Figure PCTKR2017012030-appb-I000006
의 다항식에 의해 각 구간의 시간을 산출하고,
Figure PCTKR2017012030-appb-I000006
Calculate the time of each interval by the polynomial of
여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간이고, Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section,
Tja에서 최대 가속도를 만족하는 Tja가 Tja*이고, Tjd에서 최대 감속도를 만족하는 Tjd가 Tjd*일 수 있다. Tja satisfying the maximum acceleration in Tja may be Tja *, and Tjd satisfying the maximum deceleration in Tjd may be Tjd *.
상기 하나 이상의 제한조건은, 출발 위치와 종료 위치의 등가 제약인 제1 제한조건(C1), 속도의 값이 0을 교차하지 않는다는 제약인 제2 제한조건(C2), 및 임의의 시점에서 저크, 가속도, 속도가 임의의 한계값 이내에 존재하는 제약인 제3 제한조건(C3)을 포함할 수 있다. The one or more constraints may include a first constraint (C1), which is an equivalent constraint of a starting position and an ending position, a second constraint (C2), which is a constraint that the value of velocity does not cross zero, and a jerk at any point in time, It may include a third constraint (C3) is a constraint that the acceleration, the speed is within any limit value.
상기 전처리부는, 상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출할 수 있다.The preprocessing unit may calculate the time of each section by a nonlinear program technique for finding a solution that minimizes the objective function using the time of each section as a parameter.
본 실시예에 의해 제한 조건을 만족하면서 최적 시간으로 이동할 수 있는 모션 프로파일을 생성할 수 있다. According to the present embodiment, a motion profile capable of moving to an optimal time while satisfying a constraint condition may be generated.
도 1은 본 발명의 일 실시예에 따른 모션 프로파일을 생성하는 컴퓨팅 장치를 도시한다. 1 illustrates a computing device for generating a motion profile according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따라 생성된 위치 프로파일(a), 속도 프로파일(b) 및 가속도 프로파일(c)의 예이다. 2 is an example of a position profile (a), a velocity profile (b) and an acceleration profile (c) generated according to one embodiment of the invention.
도 3은 본 발명의 일 실시예에 따른 임계거리와 목표위치의 비교에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다. 3 is an example of generating a motion profile by calculating the time for each section by comparing the critical distance and the target position according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 비선형 프로그래밍에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다.4 is an example in which a motion profile is generated by calculating time for each section by nonlinear programming according to an embodiment of the present invention.
도 5 및 도 6은 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법을 개략적으로 설명하는 흐름도이다. 5 and 6 are flowcharts schematically illustrating a method of generating a motion profile according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 2개의 모션 프로파일을 중첩한 중첩 모션 프로파일의 예이다.7 is an example of an overlapping motion profile superimposing two motion profiles according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 S-커브를 이용한 모션 프로파일 생성 방법은, 하나 이상의 제한 조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계; 상기 산출된 시간 및 저크를 구간별로 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함한다. Motion profile generation method using the S-curve according to an embodiment of the present invention, under one or more constraints, calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section; Generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section; And generating an overlapping motion profile in which two or more motion profiles, the final velocity of the previous motion as the initial velocity of the next motion, are continuous.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 모션 프로파일을 생성하는 컴퓨팅 장치를 도시한다. 1 illustrates a computing device for generating a motion profile according to an embodiment of the present invention.
도 1을 참조하면, 컴퓨팅 장치(10)는 모터 등을 제어하기 위한 모션 프로파일을 생성할 수 있다. 컴퓨팅 장치(10)는 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 컴퓨팅 장치(10)는 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. Referring to FIG. 1, the computing device 10 may generate a motion profile for controlling a motor or the like. Computing device 10 may be implemented in various numbers of hardware or / and software configurations that perform particular functions. For example, computing device 10 may refer to a data processing device embedded in hardware that has physically structured circuitry to perform functions represented by code or instructions contained within a program.
컴퓨팅 장치(10)는 전처리부(20) 및 프로파일 생성부(40)를 포함할 수 있다. 컴퓨팅 장치(10)는 디스플레이(60) 및 입력장치(80)와 유선 또는 무선으로 연결될 수 있다.The computing device 10 may include a preprocessor 20 and a profile generator 40. The computing device 10 may be connected to the display 60 and the input device 80 by wire or wirelessly.
전처리부(20)는 모션 프로파일의 구간별 최적 시간을 산출할 수 있다. 구간별 시간 산출 방법의 상세한 설명은 후술한다. 최적 시간은 구간의 이동거리를 최소로 하는 최소 시간일 수 있다.The preprocessor 20 may calculate an optimal time for each section of the motion profile. A detailed description of the time calculation method for each section will be described later. The optimum time may be a minimum time that minimizes the moving distance of the section.
프로파일 생성부(40)는 구간별로 정의된 다항식을 이용하여 모션 프로파일을 생성할 수 있다. 모션 프로파일은 위치 프로파일, 속도 프로파일 및 가속도 프로파일을 포함할 수 있다. The profile generator 40 may generate a motion profile using a polynomial defined for each section. The motion profile may include a position profile, a velocity profile and an acceleration profile.
프로파일 생성부(40)는 각 구간의 최적 시간이 산출되면, 각 구간에 정의된 다항식에 시간 및 저크를 적용하여 각 구간의 가속도, 속도 및 위치를 산출할 수 있다. 일 실시예에서 프로파일 생성부(40)는 저크를 적분하여 가속도를 산출하고, 가속도를 적분하여 속도를 산출하고, 속도를 적분하여 위치를 산출할 수 있다. When the optimum time for each section is calculated, the profile generator 40 may calculate the acceleration, speed, and position of each section by applying time and jerk to the polynomial defined in each section. In one embodiment, the profile generator 40 may calculate the acceleration by integrating the jerk, calculate the speed by integrating the acceleration, and calculate the position by integrating the speed.
프로파일 생성부(40)는 둘 이상의 모션을 잇는 중첩 모션 프로파일을 생성할 수 있다. 프로파일 생성부(40)는 중첩 모션 프로파일을 생성하기 위해 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정한다. 최종 속도(Vf) 및 초기 속도(Vi)는 임의의 상수일 수 있다. 상수는 0을 포함할 수 있다.The profile generator 40 may generate an overlapping motion profile connecting two or more motions. The profile generator 40 sets the final speed Vf of the previous motion to the initial speed Vi of the next motion in order to generate the overlapping motion profile. The final speed Vf and the initial speed Vi can be any constant. The constant may contain zero.
기존의 사다리꼴 혹은 S-커브 속도 프로파일은 가속시간과 감속시간이 상이한 비대칭 속도프로파일을 생성할 수 있지만, 출발지점과 도착지점의 속도를 0으로 제한하기 때문에 연속된 모션을 만들기 위해서 이전 모션의 종료(속도: 0) 이후에 다음 모션을 생성해야 한다. Existing trapezoidal or S-curve velocity profiles can generate asymmetric velocity profiles with different acceleration and deceleration times, but limit the velocity of the starting and destination points to zero, so that the end of the previous motion ( After the velocity: 0) you have to generate the next motion.
본 발명의 실시예는 초기 속도와 종료 속도를 임의의 상수로 제한하는 구속 조건을 포함한 모션 프로파일을 생성하고, 정지 모션 없이 두 개의 모션 프로파일을 중첩시킴으로써 오퍼레이션 시간을 단축시키고 생산성을 높일 수 있다. Embodiments of the present invention can generate a motion profile including constraints that limit the initial and end speeds to arbitrary constants, and can reduce operation time and increase productivity by superimposing two motion profiles without stationary motion.
디스플레이(60)는 컴퓨팅 장치(10)와 유선 또는 무선으로 연결되어 컴퓨팅 장치(10)로부터 출력되는 영상을 신호 처리하여 사용자에게 제공할 수 있다. 디스플레이(50)는 액정 디스플레이 패널(LCD), 유기 발광 디스플레이 패널(OLED), 전기 영동 디스플레이 패널(EPD) 등으로 이루어질 수 있다. 디스플레이(60)는 사용자의 터치를 통하여 입력을 받을 수 있도록 터치스크린 형태로 구비되어, 사용자 입력 인터페이스로서 동작할 수 있다. The display 60 may be connected to the computing device 10 by wire or wirelessly, and may process an image output from the computing device 10 to provide to the user. The display 50 may include a liquid crystal display panel (LCD), an organic light emitting display panel (OLED), an electrophoretic display panel (EPD), or the like. The display 60 may be provided in the form of a touch screen to receive an input through a user's touch and operate as a user input interface.
입력장치(80)는 컴퓨팅 장치(10)와 유선 또는 무선으로 연결되어 컴퓨팅 장치(10)의 제어를 위한 입력 데이터를 발생시킨다. 입력장치(80)는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드, 마우스, 리모컨, 조그 휠, 조그 스위치 등으로 구성될 수 있다. The input device 80 is connected to the computing device 10 by wire or wirelessly to generate input data for controlling the computing device 10. The input device 80 may include a key pad, a dome switch, a touch pad, a mouse, a remote controller, a jog wheel, a jog switch, and the like.
도 2는 본 발명의 일 실시예에 따라 생성된 위치 프로파일(a), 속도 프로파일(b) 및 가속도 프로파일(c)의 예이다. 2 is an example of a position profile (a), a velocity profile (b) and an acceleration profile (c) generated according to one embodiment of the invention.
본 발명의 일 실시예에 따른 모션 프로파일은 임의의 초기 속도로부터 최대 속도까지 가속하는 가속단계, 가속단계와 연속하여 이어지는 등속단계, 등속단계와 연속하여 임의의 최종 속도까지 감속하는 감속단계를 포함할 수 있다. The motion profile according to an embodiment of the present invention may include an acceleration step for accelerating from an initial initial speed to a maximum speed, a constant velocity step following the acceleration step, and a deceleration step for decelerating to a final speed in succession with the constant speed step. Can be.
모션 프로파일의 시작부터 종료까지 전 구간을 T0~T7의 7개의 구간으로 구분할 수 있다. 여기서, T0~T3 구간은 가속단계에 대응하고, T3~T4 구간은 등속단계에 대응하고, T4~T7 구간은 감속단계에 대응한다. All sections from the start to the end of the motion profile can be divided into seven sections, T0 to T7. Here, the sections T0 to T3 correspond to the acceleration stage, the sections T3 to T4 correspond to the constant speed stage, and the sections T4 to T7 correspond to the deceleration stage.
가속단계는 T0~T1 및 T2~T3 구간을 포함하는 가속구간과 최대 가속도로 동작하는 T1~T2 구간인 최대 가속구간으로 구분할 수 있다. 등속단계는 최대 속도로 등속 동작하는 T3~T4 구간인 최대 속도구간을 포함할 수 있다. 감속단계는 T4~T5 및 T6~T7 구간을 포함하는 감속구간과 최대 감속도로 동작하는 T5~T6 구간인 최대 감속구간으로 구분할 수 있다. 속도 프로파일(b)에서 볼 수 있듯이, 초기 속도(v(T0)) 및 최종 속도(v(T7))는 0이 아닌 값일 수 있다. The acceleration stage may be divided into an acceleration section including a T0 to T1 and a T2 to T3 section and a maximum acceleration section, which is a T1 to T2 section operating at the maximum acceleration. The constant speed step may include a maximum speed section that is a T3 to T4 section operating at constant speed at the maximum speed. The deceleration step may be divided into a deceleration section including a T4 to T5 and a T6 to T7 section and a maximum deceleration section that is a T5 to T6 section that operates at the maximum deceleration. As can be seen in the velocity profile b, the initial velocity v (T0) and final velocity v (T7) can be non-zero values.
속도 프로파일(b)에서 가속구간의 초기 속도 및 기울기는 감속구간의 최종 속도 및 기울기와 상이할 수 있고, 따라서 비대칭 S-커브 속도 프로파일이 생성될 수 있다. The initial velocity and slope of the acceleration section in the velocity profile b may be different from the final velocity and slope of the deceleration section, so that an asymmetric S-curve velocity profile can be generated.
이하, 전처리부(20)의 구간별 시간 산출 방법을 설명한다.Hereinafter, the time calculation method for each section of the preprocessor 20 will be described.
본 발명의 일 실시예에 따른 모션 프로파일의 시간을 산출하기 위한 제한 조건은 하기와 같다. Constraints for calculating the time of the motion profile according to an embodiment of the present invention are as follows.
Figure PCTKR2017012030-appb-I000007
Figure PCTKR2017012030-appb-I000007
제한조건 C1은 출발 위치와 종료 위치의 등가 제약(equality constraints)으로서, 출발 위치는 원점(0)이고, 종료 위치는 목표 위치(Pf)이다. 이동거리는 원점부터 목표 위치까지이므로, 목표 위치가 이동거리가 된다. 출발 위치에서의 초기 속도(Vi)와 종료 위치에서의 최종 속도(Vf)는 각각 임의의 상수일 수 있다. 임의의 상수는 0을 포함할 수 있다. 출발 위치와 종료 위치에서의 가속도는 0이다.Constraints C1 are equality constraints of the starting position and the ending position. The starting position is the origin (0) and the ending position is the target position (Pf). Since the moving distance is from the origin to the target position, the target position becomes the moving distance. The initial velocity Vi at the starting position and the final velocity Vf at the ending position may each be any constant. Any constant may contain zero. The acceleration at the start and end positions is zero.
Figure PCTKR2017012030-appb-I000008
Figure PCTKR2017012030-appb-I000008
제한조건 C2는 속도 값은 속도 0을 교차(cross-over)하지 않는다는 제약이다. 즉, 가속구간 및 감속구간 각각에서 속도는 음의 값에서 양의 값으로 또는 양의 값에서 음의 값으로 변하지 않고, 음의 값 또는 양의 값을 갖는다.Constraint C2 is a constraint that the velocity value does not cross over velocity zero. That is, in each of the acceleration section and the deceleration section, the speed does not change from a negative value to a positive value or from a positive value to a negative value, and has a negative value or a positive value.
Figure PCTKR2017012030-appb-I000009
Figure PCTKR2017012030-appb-I000009
제한조건 C3은 임의의 시점(T0≤t≤T7)에서 저크(j, jerk), 가속도(a), 속도(v)가 임의의 한계 값 이내에 있다는 제약이다. 가속단계에서 저크는 제1 저크 한계값(Ja) 이하이고, 가속도는 최대 가속도(Am) 이하이다. 감속단계에서 저크는 제2 한계값(Jd) 이하이고, 감속도는 최대 감속도(Dm) 이하이다. 전 구간에서 속도는 최대 속도(Vm) 이하이다. Constraints C3 are constraints that jerk (j, jerk), acceleration (a), and speed (v) are within arbitrary limits at any time point T0? T? In the acceleration stage, the jerk is equal to or less than the first jerk limit value Ja and the acceleration is equal to or less than the maximum acceleration Am. In the deceleration step, the jerk is below the second limit value Jd and the deceleration is below the maximum deceleration Dm. In all sections, the speed is below the maximum speed (Vm).
제1 저크 한계값(Ja) 및 제2 저크 한계값(Jd)은 각각 하기 식 (1) 및 식 (2)에 의해 결정될 수 있다.The first jerk limit value Ja and the second jerk limit value Jd may be determined by the following equations (1) and (2), respectively.
Figure PCTKR2017012030-appb-I000010
Figure PCTKR2017012030-appb-I000010
여기서, β는 사용자에 의해 설정된 상수로서, 모션 프로파일의 스무스한 정도(smoothness)를 나타낼 수 있으며, 0보다 크고 1 이하의 값으로 설정될 수 있다. β에 의해 가속구간과 감속구간의 시간이 비대칭인 S-커브 속도 프로파일을 생성할 수 있다. Here, β is a constant set by the user and may indicate a smoothness of the motion profile, and may be set to a value greater than 0 and less than or equal to 1. β can generate an S-curve velocity profile in which the time between the acceleration and deceleration sections is asymmetric.
제1 저크 한계값(Ja)은 최대 가속도(Am), 최대 속도(Vm), 최종 속도(Vf) 및 βa에 의해 산출될 수 있다. 제2 저크 한계값(Jd)은 최대 감속도(Dm), 최대 속도(Vm), 최종 속도(Vf) 및 βd에 의해 산출될 수 있다. The first jerk limit value Ja may be calculated by the maximum acceleration Am, the maximum speed Vm, the final speed Vf, and βa. The second jerk limit value Jd may be calculated by the maximum deceleration Dm, the maximum speed Vm, the final speed Vf, and βd.
모션 프로파일은 시간 및 이동거리에 의존하므로, 본 발명의 실시예에 따른 모션 프로파일 생성 방법은 이동거리에 따라 크게 단거리(short distance), 중거리(medium distace), 장거리(long distance)의 3가지 케이스로 구분한다. Since the motion profile depends on time and movement distance, the motion profile generation method according to the embodiment of the present invention is classified into three cases of short distance, medium distance, and long distance according to the movement distance. Separate.
단거리는 이동거리(Pf)가 짧아 가속도(
Figure PCTKR2017012030-appb-I000011
)와 속도(
Figure PCTKR2017012030-appb-I000012
)는 최대 가속도(Am), 최대 감속도(Dm), 최대 속도(Vm)에 도달하지 못하는 특징이 있다. 중거리의 이동거리(Pf)는 가속도(
Figure PCTKR2017012030-appb-I000013
)가 최대 가속도(Am)와 최대 감속도(Dm)에 도달할 정도이나, 속도(
Figure PCTKR2017012030-appb-I000014
)가 최대 속도(Vm)에 도달하지 못하는 특징이 있다. 장거리의 이동거리(Pf)는 충분히 길어 가속도(
Figure PCTKR2017012030-appb-I000015
)와 속도(
Figure PCTKR2017012030-appb-I000016
)는 최대 가속도(Am), 최대 감속도(Dm), 최대 속도(Vm)에 도달하는 특징이 있다.
The shorter distance has shorter travel distance (Pf),
Figure PCTKR2017012030-appb-I000011
) And speed (
Figure PCTKR2017012030-appb-I000012
) Is characterized by not reaching the maximum acceleration (Am), the maximum deceleration (Dm), the maximum speed (Vm). The moving distance Pf of the intermediate distance is the acceleration (
Figure PCTKR2017012030-appb-I000013
) Reaches maximum acceleration (Am) and maximum deceleration (Dm), but speed (
Figure PCTKR2017012030-appb-I000014
) Does not reach the maximum speed (Vm). The long distance travel distance (Pf) is long enough that the acceleration (
Figure PCTKR2017012030-appb-I000015
) And speed (
Figure PCTKR2017012030-appb-I000016
) Is characterized by reaching the maximum acceleration Am, the maximum deceleration Dm, and the maximum speed Vm.
전처리부(20)는 이동거리(즉, 목표위치(Pf))를 제1 임계값(Pshort) 및 제2 임계값(Pmedium)과 비교하여, 단거리, 중거리, 장거리 중 이동거리(Pf)가 해당하는 케이스에 따라 정의된 다항식을 이용하여 구간별 시간을 산출할 수 있다. The preprocessor 20 compares the moving distance (ie, the target position Pf) with the first threshold value Pshort and the second threshold value Pmedium, and corresponds to the movement distance Pf among the short distance, the medium distance, and the long distance. The time for each section can be calculated using a polynomial defined according to the case.
전처리부(20)는 제1 임계값(Pshort) 및 제2 임계값(Pmedium)을 각각 하기 식 (3) 및 식 (4)에 의해 산출할 수 있다. The preprocessing unit 20 may calculate the first threshold value Pshort and the second threshold value Pmedium by the following equations (3) and (4), respectively.
Figure PCTKR2017012030-appb-I000017
Figure PCTKR2017012030-appb-I000017
전처리부(20)는 이동거리(Pf)가 하기 식 (5)의 조건을 만족하면, 즉, 이동거리(Pf)가 제1 임계값(Pshort) 이하이면(Pf≤Pshort), 이동거리(Pf)가 단거리에 속하는 경우로 판단할 수 있다. If the moving distance Pf satisfies the condition of the following equation (5), that is, if the moving distance Pf is less than or equal to the first threshold value Pshort (Pf ≦ Pshort), the moving distance Pf ) Can be determined to belong to a short distance.
Figure PCTKR2017012030-appb-I000018
Figure PCTKR2017012030-appb-I000018
전처리부(20)는 이동거리(Pf)가 식 (5)를 만족하면, 하기 식 (6)과 같이 구간별로 시간을 산출할 수 있다. If the moving distance Pf satisfies Equation (5), the preprocessor 20 may calculate time for each section as shown in Equation (6).
Figure PCTKR2017012030-appb-I000019
Figure PCTKR2017012030-appb-I000019
여기서, Ta는 T1~T2 구간의 시간, Tv는 T3~T4 구간의 시간, Td는 T5~T6 구간의 시간, Tja는 T0~T1 및 T2~T3 구간 각각의 시간, Tjd는 T4~T5 및 T6~T7 구간 각각의 시간을 나타낸다. Here, Ta is the time in the T1 ~ T2 section, Tv is the time in the T3 ~ T4 section, Td is the time in the T5 ~ T6 section, Tja is the time in each of the T0 ~ T1 and T2 ~ T3 section, Tjd is T4 ~ T5 and T6 Time of each of the ~ T7 section is shown.
단거리 케이스에서, T1~T2 구간, T3~T4 구간 및 T5~T6 구간은 생략되고, T0~T1 구간 및 T2~T3 구간 각각의 시간(Tja)과 T4~T5 구간 및 T6~T7 구간 각각의 시간(Tjd)은 비선형 방정식의 수치해법을 이용하여 산출할 수 있다. 이때 방정식(f1, f2)에 뉴턴법(Newton's Method)을 적용하여 Tja 및 Tjd를 해로서 산출할 수 있다. 비선형 방정식의 수치해법 및 뉴턴법에 의해 해를 구하는 방법은 공지의 방법이므로 상세한 설명은 생략한다. In the short-range case, the T1 to T2, T3 to T4, and T5 to T6 sections are omitted, and the times of the T0 to T1 and T2 to T3 sections (Tja) and the T4 to T5 sections and the T6 to T7 sections, respectively. (Tjd) can be calculated using the numerical solution of nonlinear equations. In this case, Tja and Tjd may be calculated as a solution by applying Newton's Method to equations f1 and f2. Since the numerical solution of the nonlinear equation and the Newton method are used for obtaining a solution, a detailed description thereof will be omitted.
전처리부(20)는 이동거리(Pf)가 식 (7)을 만족하면, 즉, 이동거리(Pf)가 제1 임계값(Pshort)과 제2 임계값 사이이면(Pshort<Pf≤Pmedium), 이동거리(Pf)가 중거리에 속하는 경우로 판단할 수 있다. If the moving distance Pf satisfies equation (7), that is, if the moving distance Pf is between the first threshold value Pshort and the second threshold value (Pshort <Pf ≦ Pmedium), It may be determined that the movement distance Pf belongs to the intermediate distance.
Figure PCTKR2017012030-appb-I000020
Figure PCTKR2017012030-appb-I000020
전처리부(20)는 이동거리(Pf)가 식 (7)을 만족하면, 하기 식 (8)과 같이 구간별로 시간을 산출할 수 있다. If the moving distance Pf satisfies Equation (7), the preprocessor 20 may calculate time for each section as shown in Equation (8).
Figure PCTKR2017012030-appb-I000021
Figure PCTKR2017012030-appb-I000021
중거리 케이스에서, T3~T4 구간은 생략되고, T0~T1 구간 및 T2~T3 구간에서 각각 제1 저크 한계값(Ja)의 기울기로 가속하여 최대 가속도(Am)에 도달하는 시간이 산출되고, T4~T5 구간 및 T6~T7 구간에서 각각 제2 저크 한계값(Jd)의 기울기로 가속하여 최대 감속도(Dm)에 도달하는 시간이 산출된다. 이 경우, T0~T1 구간 및 T2~T3 구간 동안의 저크의 면적은 각각 최대 가속도(Am)와 같고, T4~T5 구간 및 T6~T7 구간 동안의 저크의 면적은 각각 최대 감속도(Dm)와 같다. C3의 제한조건에서
Figure PCTKR2017012030-appb-I000022
= Am을 만족하는 Tja를 Tja*, 그리고
Figure PCTKR2017012030-appb-I000023
= Dm을 만족하는 Tjd를 Tjd*로 표시한다.
In the medium distance case, the sections T3 to T4 are omitted, and the time to accelerate to the slope of the first jerk limit value Ja in the sections T0 to T1 and T2 to T3 respectively to reach the maximum acceleration Am is calculated. The time to reach the maximum deceleration Dm by accelerating with the slope of the second jerk limit value Jd in the intervals T˜T5 and T6˜T7 is calculated. In this case, the area of the jerk during the sections T0 to T1 and the period T2 to T3 is equal to the maximum acceleration (Am), respectively, and the areas of the jerk for the sections T4 to T5 and T6 to T7 are the maximum deceleration (Dm) and same. In the constraint of C3
Figure PCTKR2017012030-appb-I000022
= Tja to Tja * satisfying Am, and
Figure PCTKR2017012030-appb-I000023
= Tjd satisfying Dm is expressed as Tjd *.
T1~T2 구간 및 T5~T6 구간 각각의 시간은 비선형 방정식의 수치해법을 이용하여 산출할 수 있다. 이때 방정식(f1, f2)에 뉴턴법(Newton's Method)을 적용하여 Ta 및 Td를 해로서 산출할 수 있다. The time in each of the T1 to T2 sections and the T5 to T6 sections can be calculated using the numerical solution of the nonlinear equation. At this time, Ta and Td can be calculated as a solution by applying Newton's Method to equations f1 and f2.
전처리부(20)는 이동거리(Pf)가 식 (9)를 만족하면, 즉, 제2 임계값(Pmedium)보다 크면(Pf>Pmedium), 이동거리(Pf)가 장거리에 속하는 경우로 판단할 수 있다. When the moving distance Pf satisfies Equation (9), that is, when the moving distance Pf is greater than the second threshold value Pmedium (Pf> Pmedium), the preprocessor 20 determines that the moving distance Pf belongs to the long distance. Can be.
Figure PCTKR2017012030-appb-I000024
Figure PCTKR2017012030-appb-I000024
전처리부(20)는 이동거리(Pf)가 식 (9)를 만족하면, 하기 식 (10)과 같이 구간별로 시간을 산출할 수 있다. If the moving distance Pf satisfies Equation (9), the preprocessor 20 may calculate time for each section as shown in Equation (10).
Figure PCTKR2017012030-appb-I000025
Figure PCTKR2017012030-appb-I000025
가속 단계는 최대 가속도까지 가속 구간 및 최대 가속도로 등가속하는 구간, 감속 단계는 최대 감속도로 감속하는 구간 및 최대 감속도로 등감속하는 구간을 포함한다. The acceleration phase includes a section that accelerates and accelerates to the maximum acceleration and a maximum acceleration, and the deceleration section includes a section that decelerates with the maximum deceleration and a section that decelerates with the maximum deceleration.
장거리 케이스의 경우, 중거리 케이스와 마찬가지로 T0~T1 구간 및 T2~T3 구간에서 각각 제1 저크 한계값(Ja)의 기울기로 가속하여 최대 가속도(Am)에 도달하는 시간이 산출되고, T4~T5 구간 및 T6~T7 구간에서 각각 제2 저크 한계값(Jd)의 기울기로 가속하여 최대 감속도(Dm)에 도달하는 시간이 산출된다. 이 경우, T0~T1 구간 및 T2~T3 구간 동안의 저크의 면적은 각각 최대 가속도(Am)와 같고, T4~T5 구간 및 T6~T7 구간 동안의 저크의 면적은 각각 최대 감속도(Dm)와 같다. C3의 제한조건에서
Figure PCTKR2017012030-appb-I000026
= Am을 만족하는 Tja를 Tja*, 그리고
Figure PCTKR2017012030-appb-I000027
= Dm을 만족하는 Tjd를 Tjd*로 표시한다.
In the case of the long-distance case, as in the medium-distance case, the time for accelerating with the slope of the first jerk limit value Ja and reaching the maximum acceleration Am in each of the T0 to T1 sections and the T2 to T3 sections is calculated, and the T4 to T5 sections are calculated. And a time for accelerating with the slope of the second jerk limit value Jd in the period T6 to T7 to reach the maximum deceleration Dm, respectively. In this case, the area of the jerk during the sections T0 to T1 and the period T2 to T3 is equal to the maximum acceleration (Am), respectively, and the areas of the jerk for the sections T4 to T5 and T6 to T7 are the maximum deceleration (Dm) and same. In the constraint of C3
Figure PCTKR2017012030-appb-I000026
= Tja to Tja * satisfying Am, and
Figure PCTKR2017012030-appb-I000027
= Tjd satisfying Dm is expressed as Tjd *.
그리고, 가속단계의 시간(T0~T3) 및 감속단계의 시간(T4~T7) 동안 가속도 면적은 최대속도와 같다. C3의 제한조건에서
Figure PCTKR2017012030-appb-I000028
을 만족하는 Ta를 Ta*,
Figure PCTKR2017012030-appb-I000029
을 만족하는 Td를 Td*로 표시한다.
The acceleration area is equal to the maximum speed during the time T0 to T3 of the acceleration phase and the time T4 to T7 of the deceleration phase. In the constraint of C3
Figure PCTKR2017012030-appb-I000028
Satisfying Ta *,
Figure PCTKR2017012030-appb-I000029
Td that satisfies is expressed as Td *.
전처리부(20)는 전술한 바와 같이, 임계거리를 결정하여 목표 위치에 따른 이동거리와 비교하고, 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출할 수 있다. As described above, the preprocessing unit 20 may determine the threshold distance, compare it with the movement distance according to the target position, and calculate the optimum time for each section by the polynomial corresponding to the case determined according to the comparison result.
다른 실시예에서, 전처리부(20)는 비선형 프로그래밍(nonlinear programming) 기법을 사용하여 구간별 최적 시간을 산출할 수 있다. 비선형 프로그래밍기법은 식 (11)과 같이 제한된(constrained) 최적화 기법을 이용한다. 제한된 최적화 기법을 이용한 비선형 프로그래밍기법은 공지이므로 상세한 설명은 생략한다. In another embodiment, the preprocessor 20 may calculate the optimal time for each section using a nonlinear programming technique. The nonlinear programming technique uses a constrained optimization technique such as (11). Since the nonlinear programming technique using the limited optimization technique is well known, a detailed description thereof will be omitted.
Figure PCTKR2017012030-appb-I000030
Figure PCTKR2017012030-appb-I000030
시간을 최소로 하는 목적함수(f(Tn))는 식 (12)와 같이 integral time-squared를 이용한다. The objective function f (Tn) for minimizing time uses integral time-squared as shown in Eq. (12).
Figure PCTKR2017012030-appb-I000031
Figure PCTKR2017012030-appb-I000031
부등식 제한조건 h(Tn)은 C3와 같이 임의의 한계 값 이내에 있다는 조건이고, 등식 제한조건 g(Tn)은 C1과 같이 각 시간구간의 종료 시점에서 g함수가 0임을 나타내는 조건이다. 최적화 변수의 하계 조건(l)은 0으로 하고, 상계 조건(u)은 전술된 이동거리가 장거리인 경우 산출된
Figure PCTKR2017012030-appb-I000032
을 사용한다.
An inequality constraint h (Tn) is a condition that is within an arbitrary limit value such as C3, and an equality constraint g (Tn) is a condition indicating that the g function is zero at the end of each time period, as in C1. The summer condition (l) of the optimization variable is 0, and the summer condition (u) is calculated when the above-mentioned moving distance is long.
Figure PCTKR2017012030-appb-I000032
Use
전처리부(20)는 소정의 제한 조건 하에서 미리 설정된 목적함수를 최소화하는 해를 찾음으로써 구간별 최적 시간을 산출할 수 있다. The preprocessor 20 may calculate the optimal time for each section by finding a solution that minimizes a predetermined objective function under a predetermined constraint.
도 3은 본 발명의 일 실시예에 따른 임계거리와 목표위치의 비교에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다. 도 4는 본 발명의 일 실시예에 따른 nonlinear programming에 의한 구간별 시간 산출에 의해 모션 프로파일을 생성한 예이다. 도 3 및 도 4는 0이 아닌 임의의 초기속도 및 최종 속도에 대한 모션 프로파일이다. (a)는 위치 프로파일, (b)는 속도 프로파일, (c)는 가속도 프로파일이다. 도 3 및 도 4를 참조하면, 두 가지 방법에 의한 모션 프로파일이 유사한 결과를 도출하고 있음을 알 수 있다. 3 is an example of generating a motion profile by calculating the time for each section by comparing the critical distance and the target position according to an embodiment of the present invention. 4 is an example in which a motion profile is generated by calculating time for each section by nonlinear programming according to an embodiment of the present invention. 3 and 4 are motion profiles for any initial and final velocity other than zero. (a) is a position profile, (b) is a velocity profile, and (c) is an acceleration profile. Referring to FIGS. 3 and 4, it can be seen that the motion profiles of the two methods yield similar results.
도 5는 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법을 개략적으로 설명하는 흐름도이다. 본 발명의 일 실시예에 따른 모션 프로파일 생성 방법은 도 1에 도시된 컴퓨팅 장치(10)에 의해 수행될 수 있다. 이하에서 전술된 내용과 중복하는 내용의 상세한 설명은 생략한다.5 is a flowchart schematically illustrating a motion profile generation method according to an embodiment of the present invention. The method of generating a motion profile according to an embodiment of the present invention may be performed by the computing device 10 shown in FIG. 1. In the following, detailed descriptions of contents overlapping with those described above will be omitted.
도 5를 참조하면, 컴퓨팅 장치(10)는 본 발명의 일 실시예에 따른 모션 프로파일 생성을 위한 제한조건을 수신할 수 있다(S31). 컴퓨팅 장치(10)는 최적 시간을 산출하는 방법에 따라 정해진 제한 조건을 수신할 수 있다. Referring to FIG. 5, the computing device 10 may receive a constraint for generating a motion profile according to an embodiment of the present invention (S31). The computing device 10 may receive a predetermined constraint condition according to a method of calculating an optimal time.
컴퓨팅 장치(10)는 제한 조건 하에서 모션 프로파일의 구간별 최적 시간을 산출할 수 있다(S33). 컴퓨팅 장치(10)는 임계거리와 이동거리의 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출할 수 있다. 또는 컴퓨팅 장치(10)는 비선형 프로그래밍(nonlinear programming) 기법을 사용하여 구간별 최적 시간을 산출할 수 있다. The computing device 10 may calculate the optimal time for each section of the motion profile under the constraint condition (S33). The computing device 10 may calculate an optimal time for each section by a polynomial corresponding to a case determined according to a result of comparing the critical distance and the moving distance. Alternatively, the computing device 10 may calculate the optimal time for each section using a nonlinear programming technique.
컴퓨팅 장치(10)는 각 구간의 최적 시간 및 저크를 기초로 모션 프로파일을 생성할 수 있다(S35). 컴퓨팅 장치(10)는 각 구간의 저크(j(t))를 적분하여 가속도(a(t))를 산출하고, 가속도(a(t))를 적분하여 속도(v(t))를 산출하고, 속도(v(t))를 적분하여 위치(p(t))를 산출할 수 있다. The computing device 10 may generate a motion profile based on the optimal time and jerk of each section (S35). The computing device 10 calculates the acceleration a (t) by integrating the jerks j (t) of each section, and calculates the speed v (t) by integrating the acceleration a (t). , The velocity v (t) may be integrated to calculate the position p (t).
컴퓨팅 장치(10)는 둘 이상의 모션 프로파일을 중첩한 중첩 모션 프로파일을 생성할 수 있다. 컴퓨팅 장치(10)는 중첩 모션 프로파일을 생성하기 위해 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정할 수 있다.The computing device 10 may generate an overlapping motion profile that overlaps two or more motion profiles. The computing device 10 may set the final speed Vf of the previous motion to the initial speed Vi of the next motion to generate an overlapping motion profile.
도 6은 도 5의 구간별 최적 시간 산출 방법을 개략적으로 설명하는 흐름도이다. 도 6의 실시예는 임계거리와 이동거리의 비교 결과에 따라 결정된 케이스에 대응하는 다항식에 의해 구간별로 최적 시간을 산출하는 예이다. 6 is a flowchart schematically illustrating a method of calculating an optimum time for each section of FIG. 5. 6 illustrates an example of calculating an optimum time for each section by a polynomial corresponding to a case determined according to a comparison result of a critical distance and a moving distance.
도 6을 참조하면, 컴퓨팅 장치(10)는 본 발명의 일 실시예에 따른 모션 프로파일 생성을 위한 제한조건(C1 내지 C3)을 수신하여 제한 조건 하에서, 모션 프로파일의 구간별 최적 시간을 산출할 수 있다. Referring to FIG. 6, the computing device 10 may receive the constraints C1 to C3 for generating the motion profile according to an embodiment of the present invention and calculate the optimal time for each section of the motion profile under the constraint. have.
제한조건 C1은 출발 위치와 종료 위치의 등가 제약이다. 제한조건 C2는 속도 값은 속도 0을 교차하지 않는다는 제약이다. 제한조건 C3은 임의의 시점(T0≤t≤T7)에서 저크(j), 가속도(a), 속도(v)가 임의의 한계 값(Ja, Jd, Am, Dm, Vm) 이내에 있다는 제약이다. Constraint C1 is an equivalent constraint between the starting position and the ending position. Constraint C2 is a constraint that the velocity value does not cross velocity zero. Constraints C3 are constraints that jerk j, acceleration a, and speed v are within arbitrary limit values Ja, Jd, Am, Dm, Vm at any time point T0 ≦ t ≦ T7.
컴퓨팅 장치(10)는 식 (1) 및 식 (2)에 의해 가속구간에서의 저크의 한계 값(Ja) 및 감속구간에서의 저크의 한계 값(Jd)을 산출할 수 있다(S331). The computing device 10 may calculate the limit value Ja of the jerk in the acceleration section and the limit value Jd of the jerk in the deceleration section by equations (1) and (2) (S331).
컴퓨팅 장치(10)는 식 (3) 및 식 (4)와 같이 제1 임계값(Pshort)과 제2 임계값(Pmedium)을 산출하고, 목표 위치(Pf)를 제1 임계값(Pshort) 및 제2 임계값(Pmedium)과 비교할 수 있다(S332, S334). The computing device 10 calculates the first threshold value Pshort and the second threshold value Pmedium as shown in equations (3) and (4), and sets the target position Pf as the first threshold value Pshort and It may be compared with a second threshold value (Pmedium) (S332, S334).
컴퓨팅 장치(10)는 목표 위치(Pf)가 제1 임계값(Pshort) 이하이면(S332), 원점에서 목표 위치까지의 이동거리(Pf)가 단거리에 속한다고 판단하고, 식 (6)의 비선형 방정식의 수치해법을 이용하여 구간별 시간을 산출할 수 있다(S333). 여기서 구간은 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간을 포함할 수 있다. If the target position Pf is less than or equal to the first threshold value Pshort (S332), the computing device 10 determines that the movement distance Pf from the origin to the target position belongs to a short distance, and the nonlinearity of Equation (6) is determined. The time for each section may be calculated using a numerical solution of the equation (S333). The section may include an acceleration section, a maximum acceleration section, a maximum speed section, a deceleration section and a maximum deceleration section.
컴퓨팅 장치(10)는 목표 위치(Pf)가 제1 임계값(Pshort)보다 크고 제2 임계값(Pmedium) 이하이면(S334), 원점에서 목표 위치까지의 이동거리(Pf)가 중거리에 속한다고 판단하고, 식 (8)의 비선형 방정식의 수치해법을 이용하여 구간별 시간을 산출할 수 있다(S335).If the target position Pf is greater than the first threshold Pshort and is less than or equal to the second threshold Pmedium (S334), the computing device 10 indicates that the movement distance Pf from the origin to the target position belongs to the intermediate distance. After the determination, the time for each section may be calculated using the numerical solution of the nonlinear equation (8) (S335).
컴퓨팅 장치(10)는 목표 위치(Pf)가 제2 임계값(Pmedium)보다 크면(S334), 원점에서 목표 위치까지의 이동거리(Pf)가 장거리에 속한다고 판단하고, 식 (10)과 같이 구간별 시간을 산출할 수 있다(S336).When the target position Pf is greater than the second threshold value Pmedium (S334), the computing device 10 determines that the movement distance Pf from the origin to the target position belongs to a long distance, as shown in Equation (10). The time for each section may be calculated (S336).
컴퓨팅 장치(10)는 가속구간의 시간(Tja)에 의해 T0~T1 및 T2~T3 구간의 시간을 결정하고, 최대 가속구간(Ta)의 시간에 의해 T1~T2 구간의 시간을 결정하고, 최대 속도구간의 시간(Tv)에 의해 T3~T4 구간의 시간을 결정하고, 감속구간의 시간(Tjd)에 의해 T4~T5 및 T6~T7 구간의 시간을 결정하고, 최대 감속구간의 시간(Td)에 의해 T5~T6 구간의 시간을 결정할 수 있다(S337). The computing device 10 determines the time of the sections T0 to T1 and T2 to T3 by the time Tja of the acceleration section, and determines the time of the sections of T1 to T2 by the time of the maximum acceleration section Ta, The time of the T3 to T4 section is determined by the time Tv of the speed section, the time of the T4 to T5 and T6 to T7 sections is determined by the time Tjd of the deceleration section, and the time Td of the maximum deceleration section. By the time of the section T5 ~ T6 can be determined (S337).
컴퓨팅 장치(10)는 도 5에 도시된 바와 같이 각 구간의 최적 시간 및 저크를 기초로 모션 프로파일 및 중첩 모션 프로파일을 생성할 수 있다.The computing device 10 may generate a motion profile and an overlapping motion profile based on the optimal time and jerk of each section, as shown in FIG. 5.
도 7은 본 발명의 일 실시예에 따른 2개의 모션 프로파일을 중첩한 중첩 모션 프로파일의 예이다. (a)는 위치 프로파일, (b)는 속도 프로파일, (c)는 가속도 프로파일이다. 7 is an example of an overlapping motion profile superimposing two motion profiles according to an embodiment of the present invention. (a) is a position profile, (b) is a velocity profile, and (c) is an acceleration profile.
도 7을 참조하면, 모션 1이 종료될 때의 최종 속도는 0이 아닌 값이고, 모션 1에 연속하는 모션 2가 모션 1의 최종 속도를 초기 속도로 한다. 따라서, 모션 1이 0의 최종 속도까지 감속하고, 모션 2가 0부터 가속할 필요가 없어 시간을 단축할 수 있다. Referring to FIG. 7, the final speed when motion 1 ends is a non-zero value, and motion 2 subsequent to motion 1 sets the final speed of motion 1 as the initial speed. Therefore, motion 1 decelerates to a final speed of zero, and motion 2 does not need to accelerate from zero, thereby reducing the time.
즉, 본 발명의 실시예는 이전 모션의 최종 속도(Vf)를 다음 모션의 초기 속도(Vi)로 설정하여, 둘 이상의 연속된 모션 프로파일을 정지 없이 중첩시킴으로써 동작 시간을 단축시킬 수 있어 최적화된 시간으로 이동이 가능하므로 생산성을 높일 수 있다. That is, the exemplary embodiment of the present invention sets the final speed Vf of the previous motion to the initial speed Vi of the next motion, thereby reducing the operation time by overlapping two or more successive motion profiles without stopping, thereby optimizing time. Can be moved to increase productivity.
또한, 본 발명의 실시예는 모션 프로파일의 최종 속도(Vf) 및 초기 속도(Vi)는 0이 아닌 임의의 상수로 설정할 수 있어, 최종 속도(Vf)를 0까지 감속할 필요가 없기 때문에 시간을 줄일 수 있다. In addition, in the embodiment of the present invention, the final velocity Vf and the initial velocity Vi of the motion profile may be set to any constant other than zero, so that the final velocity Vf does not need to be decelerated to zero. Can be reduced.
또한, 본 발명의 실시예는 가속구간의 초기속도 및 기울기가 감속구간의 최종속도 및 기울기와 상이한 값을 가질 수 있어 비대칭 S-커브 프로파일을 생성할 수 있고, 따라서 모션 중첩에서도 진동 저감에 효과적이다.In addition, the embodiment of the present invention can have a value different from the initial speed and the slope of the acceleration section and the final speed and the slope of the deceleration section to generate an asymmetric S-curve profile, and thus is effective for vibration reduction even in motion overlapping. .
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the accompanying drawings, it is merely an example, and those skilled in the art may realize various modifications and equivalent other embodiments therefrom. I can understand. Accordingly, the true scope of protection of the invention should be defined only by the appended claims.

Claims (16)

  1. 하나 이상의 제한조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 단계;Calculating, under one or more constraints, each time of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section;
    상기 산출된 시간 및 저크를 구간별로 정의된 다항식에 적용하여 모션 프로파일을 생성하는 단계; 및Generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section; And
    이전 모션의 최종 속도를 다음 모션의 초기 속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 단계;를 포함하는 S-커브를 이용한 모션 프로파일 생성 방법.And generating an overlapping motion profile in which two or more motion profiles having the final speed of the previous motion as the initial speed of the next motion are successive.
  2. 제1항에 있어서,The method of claim 1,
    상기 초기속도 및 상기 최종 속도는 임의의 상수인, S-커브를 이용한 모션 프로파일 생성 방법.Wherein the initial speed and the final speed are arbitrary constants.
  3. 제1항에 있어서, 상기 시간 산출 단계는,The method of claim 1, wherein the time calculation step,
    목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리의 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출하는 단계;를 포함하는, S-커브를 이용한 모션 프로파일 생성 방법.Comprising a step of calculating the time of each section by the corresponding polynomial according to the comparison result of the moving distance to the target position and the first critical distance and the second critical distance longer than the first threshold distance; Motion profile generation method using
  4. 제3항에 있어서, The method of claim 3,
    상기 이동거리가 제1 임계거리 이하이면, If the moving distance is less than the first critical distance,
    Figure PCTKR2017012030-appb-I000033
    Figure PCTKR2017012030-appb-I000033
    의 다항식에 의해 각 구간의 시간이 산출되고,The time of each interval is calculated by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간인, S-커브를 이용한 모션 프로파일 생성 방법.Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section, the motion profile generation method using the S-curve. .
  5. 제3항에 있어서, The method of claim 3,
    상기 이동거리가 제1 임계거리와 제2 임계거리 사이이면, If the moving distance is between the first critical distance and the second critical distance,
    Figure PCTKR2017012030-appb-I000034
    의 다항식에 의해 각 구간의 시간이 산출되고,
    Figure PCTKR2017012030-appb-I000034
    The time of each interval is calculated by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간인, S-커브를 이용한 모션 프로파일 생성 방법.Here, Ta is the time of the maximum acceleration section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section, motion profile generation method using the S-curve.
  6. 제3항에 있어서, The method of claim 3,
    상기 이동거리가 제2 임계거리보다 크면, If the moving distance is greater than the second critical distance,
    Figure PCTKR2017012030-appb-I000035
    의 다항식에 의해 각 구간의 시간이 산출되고,
    Figure PCTKR2017012030-appb-I000035
    The time of each interval is calculated by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간이고, Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section,
    Tja에서 최대 가속도를 만족하는 Tja가 Tja*이고, Tja that satisfies the maximum acceleration in Tja is Tja *,
    Tjd에서 최대 감속도를 만족하는 Tjd가 Tjd*인,Tjd satisfying the maximum deceleration in Tjd is Tjd *,
    S-커브를 이용한 모션 프로파일 생성 방법.Motion profile generation method using S-curve.
  7. 제1항에 있어서, 상기 하나 이상의 제한조건은,The method of claim 1, wherein the one or more constraints are:
    출발 위치와 종료 위치의 등가 제약인 제1 제한조건(C1), 속도의 값이 0을 교차하지 않는다는 제약인 제2 제한조건(C2), 및 임의의 시점에서 저크, 가속도, 속도가 임의의 한계값 이내에 존재하는 제약인 제3 제한조건(C3)을 포함하는, S-커브를 이용한 모션 프로파일 생성 방법.The first constraint C1, which is an equivalent constraint of the starting position and the end position, the second constraint C2, which is a constraint that the value of velocity does not cross zero, and the jerk, acceleration, and velocity at any point in time. And a third constraint (C3) which is a constraint present within the value.
  8. 제1항에 있어서, 상기 시간 산출 단계는,The method of claim 1, wherein the time calculation step,
    상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출하는 단계;를 포함하는, S-커브를 이용한 모션 프로파일 생성 방법.And calculating a time of each section by a nonlinear program technique for finding a solution that minimizes an objective function using the time of each section as a parameter.
  9. 하나 이상의 제한조건 하에서, 가속구간, 최대 가속구간, 최대 속도구간, 감속구간 및 최대 감속구간 각각의 시간을 산출하는 전처리부; 및Pre-processing unit for calculating the time of each of the acceleration section, the maximum acceleration section, the maximum speed section, the deceleration section and the maximum deceleration section under one or more constraints; And
    상기 산출된 시간 및 저크를 구간별로 정의된 다항식에 적용하여 모션 프로파일을 생성하고, 이전 모션의 최종 속도를 다음 모션의 초기속도로 하는 둘 이상의 모션 프로파일이 연속된 중첩 모션 프로파일을 생성하는 프로파일 생성부;를 포함하는 S-커브를 이용한 모션 프로파일 생성을 위한 컴퓨팅 장치.A profile generation unit generating a motion profile by applying the calculated time and jerk to a polynomial defined for each section, and generating a superimposed motion profile in which two or more motion profiles, the final velocity of the previous motion as the initial velocity of the next motion, are consecutive. Computing device for generating a motion profile using the S-curve comprising a.
  10. 제9항에 있어서,The method of claim 9,
    상기 초기속도 및 상기 최종 속도는 임의의 상수인, S-커브를 이용한 모션 프로파일 생성을 위한 컴퓨팅 장치.And the initial speed and the final speed are arbitrary constants.
  11. 제9항에 있어서, 상기 전처리부는,The method of claim 9, wherein the pretreatment unit,
    목표위치까지의 이동거리와 제1 임계거리 및 상기 제1 임계거리보다 긴 제2 임계거리의 비교 결과에 따라 대응하는 다항식에 의해 각 구간의 시간을 산출하는, 모션 프로파일 생성을 위한 컴퓨팅 장치.And calculating a time of each section by a corresponding polynomial according to a comparison result of a movement distance to a target position, a first threshold distance, and a second threshold distance longer than the first threshold distance.
  12. 제11항에 있어서, 상기 전처리부는,The method of claim 11, wherein the preprocessing unit,
    상기 이동거리가 제1 임계거리 이하이면, If the moving distance is less than the first critical distance,
    Figure PCTKR2017012030-appb-I000036
    의 다항식에 의해 각 구간의 시간을 산출하고,
    Figure PCTKR2017012030-appb-I000036
    Calculate the time of each interval by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간인, 모션 프로파일 생성을 위한 컴퓨팅 장치.Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section, computing device for generating a motion profile.
  13. 제11항에 있어서, 상기 전처리부는,The method of claim 11, wherein the preprocessing unit,
    상기 이동거리가 제1 임계거리와 제2 임계거리 사이이면, If the moving distance is between the first critical distance and the second critical distance,
    Figure PCTKR2017012030-appb-I000037
    의 다항식에 의해 각 구간의 시간을 산출하고,
    Figure PCTKR2017012030-appb-I000037
    Calculate the time of each interval by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간인, 모션 프로파일 생성을 위한 컴퓨팅 장치.Here, Ta is the time of the maximum acceleration section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section, computing device for generating a motion profile.
  14. 제11항에 있어서, 상기 전처리부는,The method of claim 11, wherein the preprocessing unit,
    상기 이동거리가 제2 임계거리보다 크면, If the moving distance is greater than the second critical distance,
    Figure PCTKR2017012030-appb-I000038
    의 다항식에 의해 각 구간의 시간을 산출하고,
    Figure PCTKR2017012030-appb-I000038
    Calculate the time of each interval by the polynomial of
    여기서, Ta는 최대 가속구간의 시간, Tv는 최대 속도구간의 시간, Td는 최대 감속구간의 시간, Tja는 가속구간의 시간, Tjd는 감속구간의 시간이고, Here, Ta is the time of the maximum acceleration section, Tv is the time of the maximum speed section, Td is the time of the maximum deceleration section, Tja is the time of the acceleration section, Tjd is the time of the deceleration section,
    Tja에서 최대 가속도를 만족하는 Tja가 Tja*이고, Tja that satisfies the maximum acceleration in Tja is Tja *,
    Tjd에서 최대 감속도를 만족하는 Tjd가 Tjd*인,Tjd satisfying the maximum deceleration in Tjd is Tjd *,
    모션 프로파일 생성을 위한 컴퓨팅 장치.Computing device for motion profile generation.
  15. 제11항에 있어서, 상기 하나 이상의 제한조건은,The method of claim 11, wherein the one or more constraints are:
    출발 위치와 종료 위치의 등가 제약인 제1 제한조건(C1), 속도의 값이 0을 교차하지 않는다는 제약인 제2 제한조건(C2), 및 임의의 시점에서 저크, 가속도, 속도가 임의의 한계값 이내에 존재하는 제약인 제3 제한조건(C3)을 포함하는, 모션 프로파일 생성을 위한 컴퓨팅 장치.The first constraint C1, which is an equivalent constraint of the starting position and the end position, the second constraint C2, which is a constraint that the value of velocity does not cross zero, and the jerk, acceleration, and velocity at any point in time. And a third constraint (C3) which is a constraint present within the value.
  16. 제11항에 있어서, 상기 전처리부는,The method of claim 11, wherein the preprocessing unit,
    상기 각 구간의 시간을 파라미터로 하는 목적함수를 최소로 하는 해를 찾는 비선형 프로그램 기법에 의해 각 구간의 시간을 산출하는 단계;를 포함하는, 모션 프로파일 생성을 위한 컴퓨팅 장치.Calculating a time of each section by a nonlinear program technique for finding a solution that minimizes an objective function using the time of each section as a parameter.
PCT/KR2017/012030 2017-01-10 2017-10-27 Method for generating motion profile by using s-curve, and computing device WO2018131778A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201780064913.1A CN110023856B (en) 2017-01-10 2017-10-27 Method and computing device for generating motion profile by using S-shaped curve

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170003404A KR20180082115A (en) 2017-01-10 2017-01-10 Method for generating motion profile using S-curve and Computing device
KR10-2017-0003404 2017-01-10

Publications (1)

Publication Number Publication Date
WO2018131778A1 true WO2018131778A1 (en) 2018-07-19

Family

ID=62840210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/012030 WO2018131778A1 (en) 2017-01-10 2017-10-27 Method for generating motion profile by using s-curve, and computing device

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023226302A1 (en) * 2022-05-23 2023-11-30 以诺康医疗科技(苏州)有限公司 Motion trajectory planning method and apparatus based on s-curve velocity profile

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110450166B (en) * 2019-08-22 2022-10-14 上海新时达机器人有限公司 Corner acceleration optimization method and device based on S-shaped curve robot transition track planning
CN113156891B (en) * 2021-04-26 2023-02-17 北京航空航天大学 Feed rate planning method based on bow height error limitation and jerk continuity
CN113253772B (en) * 2021-07-02 2021-10-12 武汉市正弦电气技术有限公司 Servo positioning system and method based on error estimation and compensation
KR102525150B1 (en) * 2021-08-05 2023-04-27 한국생산기술연구원 Apparatus for generating parabolic motion profile and method thereof
CN114131613B (en) * 2021-12-21 2023-05-26 伯朗特机器人股份有限公司 Inching operation control method based on S curve
CN114578809A (en) * 2022-01-13 2022-06-03 达闼机器人股份有限公司 Speed control method and device of movable equipment and movable equipment
KR102553301B1 (en) * 2022-01-17 2023-07-10 김종은 Motion Controlling Apparatus of Motor for Keeping Jerk

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1719631A1 (en) * 2005-05-03 2006-11-08 Xerox Corporation Dynamic S curve stepper motor velocity profiles
US20070038314A1 (en) * 2005-08-10 2007-02-15 Tsung-Hsin Cheng Motion command reshaping method with analog input for position s curve
US20110307096A1 (en) * 2007-07-31 2011-12-15 Rockwell Automation Technologies, Inc. blending algorithm for trajectory planning
US20130307459A1 (en) * 2012-05-18 2013-11-21 Linestream Technologies Motion profile generator
KR20140139388A (en) * 2013-05-27 2014-12-05 한국과학기술원 Tuning rule of the optimized s-curve motion profile to robustly minimize the residual vibration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7919940B2 (en) * 2007-10-21 2011-04-05 Ge Intelligent Platforms, Inc. System and method for jerk limited trajectory planning for a path planner
US8710777B2 (en) * 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
CN106168790B (en) * 2016-02-29 2020-08-18 华南理工大学 S-shaped acceleration and deceleration control method for changing target speed and position on line

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1719631A1 (en) * 2005-05-03 2006-11-08 Xerox Corporation Dynamic S curve stepper motor velocity profiles
US20070038314A1 (en) * 2005-08-10 2007-02-15 Tsung-Hsin Cheng Motion command reshaping method with analog input for position s curve
US20110307096A1 (en) * 2007-07-31 2011-12-15 Rockwell Automation Technologies, Inc. blending algorithm for trajectory planning
US20130307459A1 (en) * 2012-05-18 2013-11-21 Linestream Technologies Motion profile generator
KR20140139388A (en) * 2013-05-27 2014-12-05 한국과학기술원 Tuning rule of the optimized s-curve motion profile to robustly minimize the residual vibration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023226302A1 (en) * 2022-05-23 2023-11-30 以诺康医疗科技(苏州)有限公司 Motion trajectory planning method and apparatus based on s-curve velocity profile

Also Published As

Publication number Publication date
KR20180082115A (en) 2018-07-18
CN110023856B (en) 2022-12-13
CN110023856A (en) 2019-07-16

Similar Documents

Publication Publication Date Title
WO2018131778A1 (en) Method for generating motion profile by using s-curve, and computing device
US7818087B2 (en) Method and control device for guiding the movement of a movable machine element of a machine
WO2021091022A1 (en) Machine learning system and operating method for machine learning system
WO2017022893A1 (en) System and method for controlling redundant robot for enhancing stiffness in workspace, and recording medium having computer-readable program for executing method
WO2022085958A1 (en) Electronic device and method for operating same
WO2013081413A1 (en) Method for operating scene on touch screen
WO2016029875A1 (en) Coordinative processing method and system for workpiece and coordinative control method and apparatus
WO2022191448A1 (en) Control system for flexible joint robot
WO2022045485A1 (en) Apparatus and method for generating speech video that creates landmarks together
WO2017052060A1 (en) Real-time device control system having hierarchical architecture and real-time robot control system using same
EP3039508A1 (en) Display device and method of setting group information
WO2021045246A1 (en) Apparatus and method for providing extended function to vehicle
WO2022203415A1 (en) Spatial information-based system for matching route data and sensor data
Ameri et al. Non-Iterative Positive Constrained Control of Cable-Driven Parallel Robots
WO2019151555A1 (en) Object detection method and robot system
WO2022039328A1 (en) Road accident detection and notification system
WO2023042965A1 (en) Method for generating road topology information and system thereof
WO2011087308A2 (en) Apparatus and method for controlling a crane
WO2024048818A1 (en) Apparatus and method for automatically suppressing resonance of servo system
WO2017030269A1 (en) Method and system for writing mode automatic switching
WO2017122958A1 (en) Method for controlling mirroring of construction machine, and mirroring system
WO2023054827A1 (en) Head-mounted display device supporting voice command dependent on program, and method for supporting voice command dependent on program, for head-mounted display device
WO2021137486A1 (en) Robot control device, method and computer program
WO2024048819A1 (en) Controller and control method based on variable structure, and recording medium for performing same control method
WO2015126055A2 (en) Recursive analysis method for walsh-hadamard transform

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17891092

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17891092

Country of ref document: EP

Kind code of ref document: A1