CN110023856B - Method and computing device for generating motion profile by using S-shaped curve - Google Patents

Method and computing device for generating motion profile by using S-shaped curve Download PDF

Info

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

Links

Images

Classifications

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

Abstract

A method for generating a motion profile based on an S-shaped curve and a computing device thereof are provided. The method for generating the motion profile based on the S-shaped curve comprises the following steps: calculating a time period of each of an acceleration interval, a maximum speed interval, a deceleration interval, and a maximum deceleration interval under one or more constraints; generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval; and generating an overlapping motion profile in which two or more motion profiles overlap each other, wherein a final velocity of a previous motion is an initial velocity of a next motion.

Description

Method and computing device for generating motion profile by using S-shaped curve
Technical Field
The present disclosure relates to a method of generating a motion profile (motion profile) by using an S-shaped curve and a computing device thereof.
Background
Recently, the manufacturing robot has been actively applied to the fields of small-sized, precise assembly and manufacturing processes in the vehicle and semiconductor industries. To control motors mounted on joints of a robot, a trapezoidal or sigmoidal velocity profile for constraining jerk (jerk) values is used as a reference signal to generate point-to-point motion. Since the motion time and motion pattern of the robot are determined from the generated profile, it is important to generate a profile for a fast vibration-free motion.
Disclosure of Invention
Technical problem
A method of generating a motion profile is provided that is capable of generating an asymmetric velocity profile with arbitrarily limited jerk values and with arbitrarily constant initial and final velocities and capable of overlapping two or more motions.
Technical scheme
According to an aspect of the present disclosure, a method of generating a motion profile by using an S-shaped curve, the method comprising: calculating a time period of each of an acceleration interval, a maximum speed interval, a deceleration interval, and a maximum deceleration interval under one or more constraints; generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval; and generating an overlapping motion profile in which two or more motion profiles overlap each other, wherein a final velocity of a previous motion is an initial velocity of a next motion.
The initial and final speeds may comprise any constant.
The step of calculating the time period may comprise: the time period of each interval is calculated by using a corresponding polynomial expression according to a result of comparing a movement distance to a destination position with a first critical distance and a second critical distance, wherein the second critical distance is longer than the first critical distance.
When the movement distance is equal to or less than the first critical distance, the time period of each interval may be calculated by using the following polynomial expression:
T a =T v =T d =0
Figure GDA0003829726110000021
Figure GDA0003829726110000022
wherein, T a Time period, T, which may represent a maximum acceleration interval v Time period, T, which may represent a maximum speed interval d Time period, T, which may represent a maximum deceleration interval ja Time period, T, which may represent an acceleration interval jd Can representThe period of the deceleration interval.
When the movement distance is between the first critical distance and the second critical distance, the time period of each interval may be calculated by using the following polynomial expression:
T v =0
Figure GDA0003829726110000023
Figure GDA0003829726110000024
Figure GDA0003829726110000025
Figure GDA0003829726110000026
wherein, T a Time period, T, which may represent a maximum acceleration interval d Time period, T, which may represent a maximum deceleration interval ja Time period, T, which may represent an acceleration interval jd May represent a period of the deceleration interval.
When the movement distance is greater than the second critical distance, the time period of each interval may be calculated by using the following polynomial expression:
Figure GDA0003829726110000027
Figure GDA0003829726110000028
Figure GDA0003829726110000031
Figure GDA0003829726110000032
Figure GDA0003829726110000033
wherein, T a Time period, T, which may represent a maximum acceleration interval v Time period, T, which may represent a maximum speed interval d Time period, T, which may represent a maximum deceleration interval ja Time period, T, which may represent an acceleration interval jd Can represent the time period of the deceleration interval, and satisfies the T of the maximum acceleration ja May be T ja * T satisfying maximum deceleration jd May be T jd *。
The one or more constraints may include a first constraint (C1), a second constraint (C2), and a third constraint (C3), wherein the first constraint (C1) is an equality constraint between the start position and the end position, the second constraint (C2) is a constraint that the value of the velocity does not cross zero (0), and the third constraint (C3) is that the jerk, acceleration, and velocity may be within predetermined limit values at any point in time.
The step of calculating the time period may comprise: the time period for each interval is calculated by a non-linear programming technique that seeks a value that minimizes an objective function that takes the time period for each interval as a parameter.
According to one or more embodiments, a computing device for generating a motion profile by using an S-shaped curve, the computing device comprising: a preprocessor configured to: calculating a time period of each of an acceleration interval, a maximum speed interval, a deceleration interval, and a maximum deceleration interval under one or more constraints; and a contour generator configured to: generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval, and generating an overlapped motion profile in which two or more motion profiles in which a final velocity of a previous motion is an initial velocity of a next motion overlap each other.
The initial and final speeds may comprise any constant.
The preprocessor may be configured to: the time period of each interval is calculated by using a corresponding polynomial expression according to the result of comparing the movement distance to the destination position with the first critical distance and the second critical distance, which is longer than the first critical distance.
The preprocessor may be configured to calculate a time period of each interval by using the following polynomial expression when the motion distance is equal to or less than the first critical distance:
T a =T v =T d =0
Figure GDA0003829726110000041
Figure GDA0003829726110000042
wherein, T a Time period, T, which may represent a maximum acceleration interval v Time period, T, which may represent a maximum speed interval d Time period, T, which may represent a maximum deceleration interval ja Time period, T, which may represent an acceleration interval jd May represent the time period of the deceleration interval.
The preprocessor may be configured to: when the movement distance is between the first critical distance and the second critical distance, the time period of each interval is calculated by using the following polynomial expression:
T v =0
Figure GDA0003829726110000043
Figure GDA0003829726110000044
Figure GDA0003829726110000045
Figure GDA0003829726110000046
wherein, T a Time period, T, which may represent a maximum acceleration interval d Time period, T, which may represent a maximum deceleration interval ja Time period, T, which may represent an acceleration interval jd May represent a period of the deceleration interval.
The preprocessor may be configured to: when the movement distance is greater than the second critical distance, the time period of each interval is calculated by using the following polynomial expression:
Figure GDA0003829726110000047
Figure GDA0003829726110000048
Figure GDA0003829726110000049
Figure GDA00038297261100000410
Figure GDA0003829726110000051
wherein, T a Time period, T, which may represent a maximum acceleration interval v Time period, T, which may represent a maximum speed interval d Time period, T, which may represent a maximum deceleration interval ja Capable of indicating an acceleration intervalThe time period, tjd, may represent the time period of the deceleration interval, T, satisfying the maximum acceleration ja May be T ja * T satisfying maximum deceleration jd May be T jd *。
The one or more constraints may include a first constraint (C1), a second constraint (C2), and a third constraint (C3), wherein the first constraint (C1) is an equality constraint between the start position and the end position, the second constraint (C2) is a constraint that the value of the velocity does not cross zero (0), and the third constraint (C3) is that the jerk, the acceleration, and the velocity are within predetermined limit values at any point in time.
The preprocessor may be further configured to: the time period for each interval is calculated by a non-linear programming technique that looks for a value that minimizes the time period for each interval as an objective function of the parameter.
Advantageous effects
According to the embodiment, a motion profile capable of allowing the motor to move at an optimal time while satisfying the restriction condition may be generated.
Drawings
Fig. 1 is a diagram of a computing device that generates a motion profile according to an embodiment of the present disclosure.
Fig. 2 illustrates examples of a position profile (a), a velocity profile (b), and an acceleration profile (c) generated according to an embodiment of the present disclosure.
Fig. 3 illustrates an example of generating a motion profile according to a calculation of time per interval by comparing a critical distance with a destination location according to an embodiment of the present disclosure.
Fig. 4 illustrates an example of generating a motion profile from a calculation of time for each interval by using non-linear programming according to an embodiment of the present disclosure.
Fig. 5 and 6 are schematic flow diagrams illustrating a method of generating a motion profile according to an embodiment of the present disclosure.
Fig. 7 illustrates an example of overlapping motion profiles where two motion profiles overlap each other, according to an embodiment of the disclosure.
Best mode
According to an aspect of the present disclosure, a method of generating a motion profile by using an S-shaped curve, the method comprising: calculating a time period for each of an acceleration interval, a maximum speed interval, a deceleration interval, and a maximum deceleration interval under one or more constraints; generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval; and generating an overlapping motion profile in which two or more motion profiles overlap each other, wherein a final velocity of a previous motion is an initial velocity of a next motion.
Detailed Description
In the manner disclosed
Hereinafter, one or more embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
Fig. 1 is a diagram of a computing device that generates a motion profile according to an embodiment of the present disclosure.
Referring to fig. 1, a computing device 10 may generate a motion profile for controlling a motor or the like. Computing device 10 may be implemented as various numbers of hardware or/and software configurations that perform particular functions. For example, the computing device 10 may represent a data processing device built in hardware and include physically structured circuits for executing functions represented by codes or commands included in programs.
Computing device 10 may include a preprocessor 20 and a contour generator 40. Computing device 10 may be connected to display 60 and input device 80 via wires or wirelessly.
Preprocessor 20 may calculate an optimal time period for each interval in the motion profile. A method of calculating the time period of each interval will be described in detail later. The optimal time period may be a minimum time to minimize a moving distance during the interval.
The contour generator 40 may generate the motion contour by using a polynomial expression defined for each interval. The motion profile may include a position profile, a velocity profile, and an acceleration profile.
When the optimal time period for each interval is calculated, the contour generator 40 may calculate the acceleration, velocity, and position for each interval by applying the time and jerk to the polynomial expression defined for each interval. In one embodiment, the profile generator 40 may calculate acceleration by integrating jerk, velocity by integrating acceleration, and position by integrating velocity.
The contour generator 40 may generate overlapping motion contours for connecting two or more motions. To generate the overlapping motion profiles, the profile generator 40 applies the final velocity V of the previous motion f Set to the initial speed of the next move. Final speed V f And an initial velocity V i May be any constant. The constant may comprise 0.
According to the trapezoidal or S-curve velocity profile according to the related art, an asymmetric profile in which the acceleration time and the deceleration time are different from each other can be generated, but the velocities at the start point and the arrival point are limited to 0, and therefore, in order to generate a continuous motion, the next motion must be generated after the previous motion (velocity: 0) is finished.
According to an embodiment of the present disclosure, a motion profile having a constraint condition for limiting an initial speed and a final speed to arbitrary constants is generated, and the two motion profiles overlap each other without stopping the motion to reduce an operation time and improve productivity.
The display 60 is connected to the computing device 10 via wire or wirelessly to process a signal of an image output from the computing device 10 and provide the processed image to a user. The display 60 may include a Liquid Crystal Display (LCD) panel, an Organic Light Emitting Display (OLED) panel, an electrophoretic display (EPD) panel, and the like. The display 60 may be implemented as a touch screen to receive user input via touch operations and may serve as a user input interface.
The input device 80 is connected to the computing device 10 via a wire or wirelessly to generate input data for controlling the computing device 10. The input device 80 may include a keyboard, a dome switch, a touch pad, a mouse, a remote controller, a jog dial (jog dial), a jog switch (jog switch), and the like
Fig. 2 shows an example of a position profile (a), a velocity profile (b), and an acceleration profile (c) generated according to an embodiment of the present disclosure.
A motion profile according to an embodiment may comprise an acceleration phase for accelerating from an arbitrary initial velocity to a maximum velocity, a constant velocity phase continuing with the acceleration phase, and a deceleration phase following the constant velocity phase for reducing the velocity to an arbitrary final velocity.
The entire interval from the start to the end of the motion profile may be classified into seven intervals T 0 To T 7 . Here, the section T 0 To T 3 Corresponding to the acceleration phase, interval T 3 To T 4 Corresponding to the constant speed phase, interval T 4 To T 7 Corresponding to the deceleration phase.
The acceleration phase may be divided to include an interval T 0 To T 1 And a section T 2 To T 3 And includes the interval T having the maximum acceleration 1 To T 2 The maximum acceleration interval of (2). The constant speed phase may include a maximum speed interval, e.g. interval T where the motor is constantly operating at maximum speed 3 To T 4 . The deceleration phase may be divided to include an interval T 4 To T 5 And T 6 To T 7 And a section T including the motor operating at the maximum deceleration 5 To T 6 The maximum deceleration interval. As shown in velocity profile (b), initial velocity V (T) 0 ) And a final speed V (T) 7 ) May have a value other than 0.
In the velocity profile (b), the initial velocity and inclination of the acceleration section may be different from the final velocity and inclination of the deceleration section, and thus, an asymmetric S-curve velocity profile may be generated.
Hereinafter, the period for which the preprocessor 20 calculates each interval will be described below.
The constraint conditions for the time period for calculating the motion profile according to the embodiment of the present disclosure are as follows.
C1:
P(T 0 )=0,P(T 7 )=P f
V(T 0 )=V i ,V(T 7 )=V f
A(T 0 )=0,A(T 7 )=0
The constraint C1 includes an equality constraint between a starting position and an ending position, that is, the starting position is the origin 0 and the ending position is the destination position P f . Since the movement distance is from the origin to the destination position, the destination position is equal to the movement distance. Initial velocity V at the starting position i And a final speed V at the end position f Can be any constant. Any constant may include 0. The acceleration at the start position and the end position is 0.
C2:
sign(P f )=sign(V i )=sign(V f )
sign(a)=1,a>1
sign9a)=0,a=1
sign(a)=-1,a<1
Constraint C2 includes a constraint that the speed value does not cross speed 0. 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 vice versa, but has a negative value or a positive value.
C3:
|j(t=T 0 ~T 3 )|≤J a
|j(t=T 4 ~T 7 )|≤J d
|a(t=T 0 ~T 3 )|≤A m
|a(t=T 4 ~T 7 )|≤D m
|v(t=T 0 ~T 7 )|≤V m
The constraint C3 includes the constraint: at an arbitrary time point (T) 0 ≤t≤T 7 ) Jerk j, acceleration a, and velocity v are within predetermined limits. During the acceleration phase, the jerk is equal to or less than the first jerk limit J a And the acceleration is equal to or less than the maximum acceleration A m . During the deceleration phase, jerk is equal to or less than a second jerk limit J d And the deceleration is equal to or less than the maximum deceleration D m . In all the intervals, the speed is equal to or less than the maximum speed V m
First jerk limit J a And a second jerk limit J d Can be determined by the following formulas 1 and 2, respectively.
Figure GDA0003829726110000091
Figure GDA0003829726110000092
Here, β a And beta d Is a constant set by a user, and may represent the smoothness of the motion profile, and may be set to have a value greater than 0 and equal to or less than 1. Can be obtained by using beta a And beta d An S-curve speed profile is generated with asymmetric time periods of acceleration and deceleration intervals.
First jerk limit J a Can pass through the maximum acceleration A m Maximum velocity V m Initial velocity V i And beta a To calculate. Second jerk limit J d Through a maximum deceleration D m Maximum velocity V m Final speed V f And beta d To calculate.
Since the motion profile depends on time and motion distance, the method of generating the motion profile according to the embodiment of the present disclosure may be classified into three cases: such as short range, medium range, and long range.
Short range with short movement distance P f Therefore, the acceleration | a (t) | and the velocity | v (t) | may not reach the maximum acceleration a m Maximum deceleration D m And a maximum speed V m . Distance of movement P according to the medium distance situation f The acceleration | a (t) | can reach the maximum acceleration A m And maximum deceleration D m However, the velocity | V (t) | may not reach the maximum velocity V m . Due to the fact thatLong distance of movement P f Sufficiently long so that the acceleration | a (t) | and the velocity | v (t) | can reach the maximum acceleration A m Maximum deceleration D m And a maximum speed V m
Preprocessor 20 compares the movement distance (i.e., destination location P) f ) And a first threshold value P short And a second critical value P medium The comparison is made, and the time period of each section can be calculated by using a polynomial expression defined according to the case corresponding to the movement distance Pf among the short distance, the middle distance, and the long distance.
Preprocessor 20 may calculate first critical value P by using the following equations 3 and 4, respectively short And a second critical value P medium
Figure GDA0003829726110000093
Figure GDA0003829726110000094
When the distance P is moved f Satisfies the following condition of equation 5, i.e., the movement distance P f Is equal to or less than a first critical value P short (P f ≤P short ) Preprocessor 20 may then determine a movement distance P f Corresponding to a short distance.
P f ≤P short …(5)
When the distance P is moved f When equation 5 is satisfied, preprocessor 20 may calculate a time period for each interval as shown in equation 6 below.
T a =T v =T d =0
Figure GDA0003829726110000101
Figure GDA0003829726110000102
Here, T a Represents a section T 1 To T 2 Time period of (1), T v Represents a section T 3 To T 4 Time period of (1), T d Represents a section T 5 To T 6 Time period of (1), T ja Represents a section T 0 To T 1 And a section T 2 To T 3 Time period of (D), T jd Represents a section T 4 To T 5 And a section T 6 To T 7 The time period of (a).
At a short distance, the interval T 1 To T 2 Interval T 3 To T 4 And a section T 5 To T 6 Is omitted, interval T 0 To T 1 And interval T 2 To T 3 Time period T of ja And a section T 4 To T 5 And interval T 6 To T 7 Time period T of jd Can be calculated by using a numerical solution of a non-linear equation. Here, T may be obtained by applying Newton's method to equations f1 and f2 ja And T jd Calculated as a value. Numerical solutions of nonlinear equations and methods of calculating the values by using the newton method are well known in the art, and thus, detailed descriptions thereof are omitted.
When the distance P is moved f Satisfies formula 7, i.e., the movement distance P f At a first critical value P short And a second critical value P medium (P short <P f ≤P medium ) In between, preprocessor 20 may determine a movement distance P f Corresponding to the intermediate distance.
P short <P f ≤P medium …(7)
When the distance P is moved f When equation 7 is satisfied, preprocessor 20 may calculate the time period of each interval as shown in equation 8 below.
T v =0
Figure GDA0003829726110000103
Figure GDA0003829726110000104
Figure GDA0003829726110000105
Figure GDA0003829726110000111
In the case of intermediate distances, the interval T 3 To T 4 Is omitted and in the interval T 0 To T 1 And a section T 2 To T 3 In each interval of (1), calculating a constraint J imposed by the first jerk a Up to the maximum acceleration a m The time period spent; in the interval T 4 To T 5 And a section T 6 To T 7 In each interval of (1), calculating a constraint J by the second jerk d Up to the maximum deceleration D m The time period it takes. In this case, in the interval T 0 To T 1 And interval T 2 To T 3 During each interval of (a), the jerk area is equal to the maximum acceleration A m (ii) a In the interval T 4 To T 5 And a section T 6 To T 7 During each interval in (2), the jerk area is equal to the maximum deceleration D m . In the constraint condition C3, | a (T = T) is satisfied ja )|=A m T of (A) ja Is denoted as T ja * Satisfy | a (T = T) jd )|=D m T of jd Is denoted as T jd *。
The interval T can be calculated by using a numerical solution of a nonlinear equation 1 To T 2 And a section T 5 To T 6 Of each interval. Here, the equation f can be obtained by applying Newton's method to the equation 1 And equation f 2 Will T a And T d Calculated as a value.
When the distance P is moved f Satisfies formula 9, i.e., when the distance P is moved f Is greater than the second critical value P medium (P f >P medium ) Preprocessor 20 may then determine a movement distance P f Corresponding to long distances.
P f >P medium …(9)
When the distance P is moved f When equation 9 is satisfied, preprocessor 20 may calculate a time period for each interval as shown in equation 10 below.
Figure GDA0003829726110000112
Figure GDA0003829726110000113
Figure GDA0003829726110000114
Figure GDA0003829726110000115
Figure GDA0003829726110000121
The acceleration phase comprises an acceleration interval to a maximum acceleration and a constant acceleration interval at a maximum acceleration, and the deceleration phase comprises a deceleration interval to a maximum deceleration and a constant deceleration interval at a maximum deceleration.
In the case of long distances, as in medium distances, in the interval T 0 To T 1 And a section T 2 To T 3 In each interval of (1), calculating a constraint J imposed by the first jerk a Up to the maximum acceleration a m The time period spent; in the interval T 4 To T 5 And a section T 6 To T 7 In each interval of (1), calculating a constraint J imposed by the second jerk d To the maximum decelerationDegree D m The time period it takes. In this case, in the interval T 0 To T 1 And interval T 2 To T 3 During each interval of (2), the jerk area is equal to the maximum acceleration A m (ii) a In the interval T 4 To T 5 And interval T 6 To T 7 During each interval in (2), the jerk area is equal to the maximum deceleration D m . In the constraint condition C3, | a (T = T) is satisfied ja )|=A m T of ja Is denoted as T ja * Satisfy | a (T = T) jd )|=D m T of (A) jd Is represented as T jd *。
In addition, at time T of the acceleration phase 0 To T 3 And time T of deceleration phase 4 To T 7 During which the acceleration area is equal to the maximum velocity. In the constraint condition C3, | v (T = T) is satisfied ja +T a +T ja ) T of | = Vm a Is represented as T a * And satisfies | v (T = T) jd +T d +T jd ) T of | = Vm d Is denoted as T d *。
As described above, the preprocessor 20 determines and compares the critical distance with the movement distance according to the destination position, and can calculate the optimal period of time for each section by using the polynomial expression corresponding to the case determined according to the comparison result.
In another embodiment, preprocessor 20 may calculate the optimal time period for each interval by using a non-linear programming technique. The nonlinear programming technique uses a constraint optimization method as shown in equation 11 below. Non-linear programming techniques using the constraint optimization method are well known in the art, and thus, a description thereof is omitted.
Figure GDA0003829726110000122
For l ≦ T n ≤u,
h(T n )≤0,
g(T n )=0 (11)
Objective function f (T) minimizing time n ) The integral of the square of time as shown in equation 12 is used.
Figure GDA0003829726110000123
Inequality constraint h (T) n ) Is a condition of arbitrary limit value as in C3, and the equation constrains the condition g (T) n ) Is a condition indicating that the g function is 0 at the end point of each time interval as in C1. The lower limit l of the optimization variable is 0 and the upper limit u is calculated using when the movement distance is a long distance
Figure GDA0003829726110000124
Figure GDA0003829726110000131
|T v |。
Preprocessor 20 may calculate an optimal time for each interval by finding a value that minimizes a preset objective function under a predetermined constraint.
Fig. 3 illustrates an example of generating a motion profile according to a calculation of time per interval by comparing a critical distance with a destination location according to an embodiment of the present disclosure. Fig. 4 illustrates an example of generating a motion profile from a calculation of time for each interval by using non-linear programming according to an embodiment of the present disclosure. Fig. 3 and 4 show motion profiles with respect to an initial velocity and a final velocity having arbitrary values other than 0. (a) is a position profile, (b) is a velocity profile, and (c) is an acceleration profile. Referring to fig. 3 and 4, the motion profiles generated by both methods show similar results.
Fig. 5 is a flow chart illustrating a method of generating a motion profile according to an embodiment of the present disclosure. A method of generating a motion profile according to an embodiment of the present disclosure may be performed by the computing device 10 of fig. 1. Hereinafter, description about the above elements will be omitted.
Referring to fig. 5, the computing device 10 may receive constraints for generating a motion profile according to an embodiment of the present disclosure (S31). The computing device 10 may receive constraints determined according to a method of computing an optimal time.
The calculation means 10 may calculate an optimal time period for each interval in the motion profile under the constraint condition (S33). The calculation means 10 may calculate the optimal period of time for each interval by using a polynomial expression corresponding to the case determined according to the result of comparing the critical distance with the movement distance. In addition, the computing device 10 may calculate the optimal time period for each interval by using a non-linear programming technique.
The computing device 10 may generate a motion profile based on the optimal time period and the jerk for each interval (S35). The calculation device 10 calculates the acceleration a (t) by integrating the jerk j (t) for each section, calculates the velocity v (t) by integrating the acceleration a (t), and calculates the position p (t) by integrating the velocity v (t).
Computing device 10 may generate an overlapping motion profile by overlapping two or more motion profiles. The computing device 10 may calculate the final velocity V of the previous motion f Set as the initial velocity V of the next movement i To generate an overlapping motion profile.
Fig. 6 is a flowchart illustrating a method of calculating an optimal time for each interval illustrated in fig. 5. Fig. 6 shows an example of calculating an optimal period of time for each section by using a polynomial expression corresponding to a case determined according to a result of comparing the critical distance with the movement distance.
Referring to fig. 6, the calculation apparatus 10 receives the constraints C1 to C3 for generating the motion profile according to the embodiment of the present disclosure, and may calculate the optimal time period for each interval in the motion profile according to the constraints.
The constraint C1 is an equality constraint between the start position and the end position. The constraint C2 includes a constraint that the speed value does not pass through the speed 0. The constraint C3 includes the constraint: at an arbitrary time point (T) 0 ≤t≤T 7 ) Jerk J, acceleration a, and velocity v are at predetermined limits (J) a 、J d 、A m 、D m And V m ) And (4) the following steps.
The calculation means 10 can calculate the jerk limit value J in the acceleration section by equations 1 and 2 a And jerk limit value J in deceleration section d (S331)。
The calculating device 10 calculates the first critical value P as shown in equations 3 and 4 short And a second critical value P medium And can map the destination position P f And a first threshold value P short And a second critical value P medium Comparison is performed (S332 and S334).
When the destination position Pf is equal to or less than the first critical value P short At this time (S332), the computing apparatus 10 determines the movement distance P from the origin to the destination position f Corresponds to a short distance, and the time period of each interval may be calculated by using a numerical solution of a nonlinear equation as in equation 6. Here, the sections may include an acceleration section, a maximum speed section, a deceleration section, and a maximum deceleration section.
When the destination position P f Is greater than a first critical value P short And is equal to or less than the second critical value P medium At this time (S334), the computing apparatus 10 determines the movement distance P from the origin to the destination position f Corresponds to the middle distance, and the time period of each interval may be calculated by using a numerical solution of a non-linear equation as in equation 8 (S335).
When the destination position P f Greater than a second critical value P medium At this time (S334), the computing apparatus 10 determines the movement distance P from the origin to the destination position f Corresponds to a long distance, and the time period of each interval may be calculated by using equation 10 (S336).
The computing device 10 may be configured to calculate the acceleration interval based on the time T ja To determine the interval T 0 To T 1 And a section T 2 To T 3 According to the maximum acceleration interval T a To determine the interval T 1 To T 2 According to the time Tv of the maximum speed interval, determining the interval T 3 To T 4 According to the time T of the deceleration section jd To determine the interval T 4 To T 5 And a section T 6 To T 7 According to the time period T of the maximum deceleration interval d To determine the interval T 5 To T 6 Time period (S337).
As shown in fig. 5, the computing device 10 may generate a motion profile and an overlay motion profile based on the optimal time and jerk for each interval.
Fig. 7 illustrates an example of overlapping motion profiles where two motion profiles overlap each other, according to an embodiment of the disclosure. (a) is a position profile, (b) is a velocity profile, and (c) is an acceleration profile.
Referring to fig. 7, the final speed when the motion 1 ends is a value other than 0, and the motion 2 following the motion 1 has the final speed of the motion 1 as the initial speed. Thus, motion 1 does not need to be decelerated to final speed 0, and motion 2 does not need to be accelerated from speed 0. Thus, the time taken to perform the motion may be reduced.
That is to say the final speed V of the previous movement f Is set as the initial velocity V of the next movement i Two or more continuous motion profiles may overlap without stopping the motion, and thus, the operation time may be reduced and the motion may be performed in an optimized time, thereby improving productivity.
Further, according to an embodiment of the present disclosure, the final velocity V of the motion profile f And an initial velocity V i Can be set to an arbitrary constant other than 0, and therefore, it is not necessary to make the final speed V f The deceleration is 0, thereby saving time.
Further, according to the embodiments of the present disclosure, the initial speed and inclination of the acceleration section may be different from those of the deceleration section, and thus, an asymmetric S-shaped curve profile may be generated and vibration in the overlapping motion may be effectively reduced.
While the present disclosure has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the following claims.

Claims (12)

1. A method of generating a motion profile by using an S-shaped curve, the method comprising:
under one or more constraint conditions, calculating a time period of each of an acceleration interval, a maximum speed interval, a deceleration interval and a maximum deceleration interval;
generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval; and
generating overlapping motion profiles in which two or more motion profiles overlap each other, wherein a final velocity of a previous motion is an initial velocity of a next motion,
wherein the step of calculating the time period comprises:
classifying the movement distance to the destination location as one of a short distance, a medium distance, and a long distance by comparing the movement distance to the destination location with a first critical distance and a second critical distance longer than the first critical distance; and
the time period of each interval is calculated using a corresponding polynomial expression differently defined according to the classified motion distance,
wherein the initial velocity and the final velocity of the motion profile are set to arbitrary constants other than 0,
the initial speed and inclination of the acceleration section is different from the final speed and inclination of the deceleration section.
2. The method of claim 1, wherein when the motion distance is equal to or less than a first critical distance, the motion distance is classified as a short distance and the time period of each interval is calculated by using the following polynomial expression:
T a =T v =T d =0
Figure FDA0003829726100000011
Figure FDA0003829726100000012
wherein, T a Time period, T, representing the maximum acceleration interval v Time period, T, representing the maximum speed interval d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period, J, representing a deceleration interval a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicates the final speed, P, at the end position f Indicating the destination location.
3. The method of claim 1, wherein when the motion distance is between a first critical distance and a second critical distance, the motion distance is classified as a median distance and the time period of each interval is calculated by using the following polynomial expression:
T v =0
Figure FDA0003829726100000021
Figure FDA0003829726100000022
Figure FDA0003829726100000023
Figure FDA0003829726100000024
wherein, T a Time period, T, representing the maximum acceleration interval d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period representing deceleration interval, J a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicating the final speed, P, at the end position f Indicates the destination location, A m Representing maximum acceleration, D m It is indicated that the maximum deceleration is,
t satisfying maximum acceleration ja Is T ja *,
T satisfying maximum deceleration jd Is T jd *。
4. The method of claim 1, wherein when the motion distance is greater than a second critical distance, the motion distance is classified as a long distance and the time period of each interval is calculated by using the following polynomial expression:
Figure FDA0003829726100000025
Figure FDA0003829726100000026
Figure FDA0003829726100000027
Figure FDA0003829726100000031
Figure FDA0003829726100000032
wherein, T a Time period, T, representing the maximum acceleration interval v Indicating the region of maximum velocityTime period of time, T d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period, J, representing a deceleration interval a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicating the final speed, V, at the end position m Indicating the maximum speed, P f Indicates the destination location, A m Denotes the maximum acceleration, D m It is indicated that the maximum deceleration is,
t satisfying maximum acceleration ja Is T ja *,
T satisfying maximum deceleration jd Is T jd *,
T satisfying maximum speed a Is T a *,
T satisfying maximum speed d Is T d *。
5. The method of claim 1, wherein the one or more constraints include a first constraint, a second constraint, and a third constraint, wherein the first constraint is an equality constraint between the starting position and the ending position, the second constraint is a constraint that the value of the velocity does not cross zero, and the third constraint is that the jerk, acceleration, and velocity are within predetermined limit values at any point in time.
6. The method of claim 1, wherein the step of calculating a time period comprises: the time period for each interval is calculated by a non-linear programming technique that looks for a value that minimizes the time period for each interval as an objective function of the parameter.
7. A computing device for generating a motion profile using an S-shaped curve, the computing device comprising:
a preprocessor configured to: calculating a time period of each of an acceleration interval, a maximum speed interval, a deceleration interval, and a maximum deceleration interval under one or more constraints; and
a contour generator configured to: generating a motion profile by applying the calculated time period and jerk to a polynomial expression defined for each interval, and generating an overlapped motion profile in which two or more motion profiles in which a final velocity of a previous motion is an initial velocity of a next motion overlap with each other,
wherein the preprocessor is configured to: classifying the movement distance to the destination location into a short distance, a middle distance, and a long distance by comparing the movement distance to the destination location with a first critical distance and a second critical distance longer than the first critical distance; and calculating a time period of each interval using a corresponding polynomial expression differently defined according to the classified moving distance,
wherein the initial velocity and the final velocity of the motion profile are set to arbitrary constants other than 0,
the initial speed and inclination of the acceleration section are different from the final speed and inclination of the deceleration section.
8. The computing device of claim 7, wherein the preprocessor is configured to: when the movement distance is equal to or less than the first critical distance, the movement distance is classified as a short distance and the time period of each section is calculated by using the following polynomial expression:
T a =T v =T d =0
Figure FDA0003829726100000041
Figure FDA0003829726100000042
wherein, T a Time period, T, representing the maximum acceleration interval v To representTime period of the maximum speed interval, T d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period, J, representing a deceleration interval a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicates the final speed, P, at the end position f Indicating the destination location.
9. The computing device of claim 7, wherein the preprocessor is configured to: when the movement distance is between the first critical distance and the second critical distance, the movement distance is classified as a middle distance and a time period of each interval is calculated by using the following polynomial expression:
T v =0
Figure FDA0003829726100000043
Figure FDA0003829726100000044
Figure FDA0003829726100000045
Figure FDA0003829726100000046
wherein, T a Time period, T, representing the maximum acceleration interval d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period, J, representing a deceleration interval a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicating the final speed, P, at the end position f Indicates the destination location, A m Denotes the maximum acceleration, D m The maximum deceleration is indicated in the form of a maximum deceleration,
t satisfying maximum acceleration ja Is T ja *,
T satisfying maximum deceleration jd Is T jd *。
10. The computing device of claim 7, wherein the preprocessor is configured to: when the moving distance is greater than the second critical distance, the moving distance is classified as a long distance and the time period of each interval is calculated by using the following polynomial expression:
Figure FDA0003829726100000051
Figure FDA0003829726100000052
Figure FDA0003829726100000053
Figure FDA0003829726100000054
Figure FDA0003829726100000055
wherein, T a Time period, T, representing the maximum acceleration interval v Time period, T, representing the maximum speed interval d Time period, T, representing the maximum deceleration interval ja Time period, T, representing acceleration interval jd Time period representing deceleration interval, J a Denotes the first jerk limit, J d Indicating a second jerk limit, V i Indicating an initial velocity, V, at a starting position f Indicating the final speed, V, at the end position m Indicating the maximum speed, P f Indicates the destination location, A m Representing maximum acceleration, D m It is indicated that the maximum deceleration is,
t satisfying maximum acceleration ja Is T ja *,
T satisfying maximum deceleration jd Is T jd *,
T satisfying maximum speed a Is T a *,
T satisfying maximum speed d Is T d *。
11. The computing device of claim 7, wherein the one or more constraints include a first constraint, a second constraint, and a third constraint, wherein the first constraint is an equality constraint between the starting position and the ending position, the second constraint is a constraint that the value of the velocity does not cross zero, and the third constraint is that the jerk, acceleration, and velocity are within predetermined limit values at any point in time.
12. The computing device of claim 7, wherein the preprocessor is further configured to: the time period for each interval is calculated by a non-linear programming technique that looks for a value that minimizes the time period for each interval as an objective function of the parameter.
CN201780064913.1A 2017-01-10 2017-10-27 Method and computing device for generating motion profile by using S-shaped curve Active CN110023856B (en)

Applications Claiming Priority (3)

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

Publications (2)

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

Family

ID=62840210

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (9)

* 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
CN115922687B (en) * 2022-05-23 2023-11-17 以诺康医疗科技(苏州)有限公司 Motion trail planning method and device based on S-shaped speed curve
KR102652609B1 (en) 2023-12-20 2024-04-01 한국건설기술연구원 Apparatus and Method for Providing Speed Profile of Heavy Vehicle Suspected of being Overloaded

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359224A (en) * 2007-07-31 2009-02-04 洛克威尔自动控制技术股份有限公司 Improved blending algorithm for trajectory planning
CN101939711A (en) * 2007-10-21 2011-01-05 通用电气智能平台有限公司 System and method for jerk limited trajectory planning for a path planner
CN106168790A (en) * 2016-02-29 2016-11-30 华南理工大学 A kind of online change target velocity and the S-shaped Acceleration-deceleration Control Method of position

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418332B2 (en) * 2005-05-03 2008-08-26 Xerox Corporation Dynamic S curve stepper motor profile
TWI302234B (en) * 2005-08-10 2008-10-21 Delta Electronics Inc Motion command reshaping method with analog input for position s curve
US8710777B2 (en) * 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
US9041337B2 (en) * 2012-05-18 2015-05-26 Linestream Technologies Motion profile generator
KR102128568B1 (en) * 2013-05-27 2020-07-01 한국과학기술원 Tuning rule of the optimized s-curve motion profile to robustly minimize the residual vibration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359224A (en) * 2007-07-31 2009-02-04 洛克威尔自动控制技术股份有限公司 Improved blending algorithm for trajectory planning
CN101939711A (en) * 2007-10-21 2011-01-05 通用电气智能平台有限公司 System and method for jerk limited trajectory planning for a path planner
CN106168790A (en) * 2016-02-29 2016-11-30 华南理工大学 A kind of online change target velocity and the S-shaped Acceleration-deceleration Control Method of position

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110023856B (en) Method and computing device for generating motion profile by using S-shaped curve
CN106168790B (en) S-shaped acceleration and deceleration control method for changing target speed and position on line
CN111169469B (en) Vehicle trajectory planning method and device, storage medium and automobile
TWI499878B (en) Electronic cam control device and electronic cam curve generating method
WO2018126967A1 (en) Method and device for planning and controlling velocity of shuttle, and shuttle
JP2001296912A (en) Motor velocity/acceleration decision method, acceleration/deceleration generation method, acceleration/deceleration control method, acceleration/ deceleration controller and motor controller
CN114647248B (en) Robot obstacle avoidance method, electronic device and readable storage medium
KR20170044987A (en) Trajectory generating method for jerk limited
WO2018042704A1 (en) Command value generating device
JP2016087755A (en) Device and method for revising program of industrial robot
JPH0969006A (en) Curve interpolating method for speed control at connecting operation of robot
JP2020077311A (en) Numerical controller, processing route setting method, and program
US20150045958A1 (en) Time chart creation apparatus, controller, machine element control system, time chart creation method, and information storage medium
CN110398993B (en) Speed control method, apparatus and computer readable storage medium
JP2018144147A (en) Operation program generation device of robot
JP6348099B2 (en) Control device provided with confirmation means when creating synchronous operation teaching data
CN108665518B (en) Control method and system for adjusting animation speed
CN115129065A (en) Robot moving speed determining method and device
US6809491B2 (en) Positioning control method
KR100540588B1 (en) Trajectory generation method and system for real-time response at motion control
JP6801802B1 (en) Controller system and its control method
KR20090107864A (en) Apparatus for generating Velocity Profile, Apparatus for Controlling Motor and Method thereof
CN110362040A (en) Robot motion&#39;s method for planning track based on B-spline
JP2009116880A (en) Method and apparatus for controlling motion process of mechanical member
WO2023119348A1 (en) Program teaching assistance device

Legal Events

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

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA AEROSPACE Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA TECHWIN Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20190703

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA AEROSPACE Co.,Ltd.

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

Effective date of registration: 20210120

Address after: Han Guoshouershi

Applicant after: Hanwha Corp.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA TECHWIN Co.,Ltd.

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

Effective date of registration: 20231220

Address after: Gyeonggi Do city of South Korea

Patentee after: Han Huajiqiren(zhu)

Address before: Seoul City, Korea

Patentee before: Hanwha Corp.

TR01 Transfer of patent right