A robot speed planning method, device, storage medium and robot

CN117170240BActive Publication Date: 2026-09-18GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311255587.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2026-09-18
Estimated Expiration
2043-09-26

AI Technical Summary

Technical Problem

[0005]本发明的主要目的在于克服上述相关技术的缺陷,提供一种机器人速度规划方法、装置、存储介质及机器人,以解决相关技术中同一条运动路径中,加速、减速过程中只能使用相同的加减速曲线的问题

Benefits of technology

[0015] According to the technical solution of the present invention, different types of acceleration and deceleration curves can be used during acceleration and deceleration to achieve flexible control over changes in the motion command rate, effectively improving the overall efficiency and stability of robot operation and enhancing product competitiveness. Users can use different types of acceleration and deceleration curves during acceleration and deceleration according to actual application requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117170240B_ABST
    Figure CN117170240B_ABST
Patent Text Reader

Abstract

This invention provides a robot speed planning method, apparatus, storage medium, and robot. The method includes: acquiring a preset total path distance, acceleration curve type for the acceleration phase, deceleration curve type for the deceleration phase, and motion parameters; calculating the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type based on the motion parameters; determining whether to use the curve using the acceleration curve type and the curve using the deceleration curve type for acceleration and deceleration planning respectively, or to use the curve using the acceleration curve type for acceleration and deceleration planning respectively, depending on whether the total path distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement; and outputting a corresponding set of interpolation points based on the performed acceleration and deceleration planning. This invention enables flexible control of changes in motion command rate, effectively improving the overall efficiency and stability of robot operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of control, and more particularly to a robot speed planning method, apparatus, storage medium, and robot. Background Technology

[0002] In industrial robot applications, efficiently and smoothly completing tasks is a crucial issue in robot motion control. In a single motion operation, selecting the acceleration / deceleration curve that best suits the actual needs during acceleration and deceleration can significantly improve the robot's efficiency and stability.

[0003] Common acceleration / deceleration curves include T-shaped curves, S-shaped curves, and Sine curves. T-shaped curves have high operating efficiency, but the acceleration is abrupt, which can easily cause shaking at the robot's end effector. S-shaped curves balance efficiency and stability and are currently the most widely used type of acceleration / deceleration curve. Sine curves are based on S-shaped curves, further optimizing their stability and making their motion smoother, but they have lower operating efficiency.

[0004] In the field of industrial robots, some manufacturers provide two or three types of acceleration and deceleration curves for users, which can enable different acceleration and deceleration curves to be used for different motion operations, but cannot enable different acceleration and deceleration curves to be used for the same motion operation; some manufacturers input acceleration parameters and deceleration parameters separately, which can achieve asymmetric planning of the same acceleration and deceleration curves, but this cannot fully utilize the advantages of different acceleration and deceleration curves. Summary of the Invention

[0005] The main objective of this invention is to overcome the deficiencies of the aforementioned related technologies and provide a robot speed planning method, device, storage medium, and robot to solve the problem in the related technologies that only the same acceleration and deceleration curves can be used during acceleration and deceleration in the same motion path.

[0006] This invention provides a robot speed planning method, comprising: obtaining a preset total distance of the path to be planned, an acceleration curve type for the acceleration phase, a deceleration curve type for the deceleration phase, and motion parameters; calculating, based on the motion parameters, the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type; determining, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, whether to use the curve using the acceleration curve type and the curve using the deceleration curve type for acceleration planning and deceleration planning respectively, or to use the curve using the acceleration curve type for acceleration planning and deceleration planning; and outputting a corresponding set of interpolation points based on the performed acceleration planning and deceleration planning.

[0007] Optionally, determining whether to use a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use a curve of the acceleration curve type for acceleration planning and deceleration planning, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, includes: determining whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement; if the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, then using a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively; if the total distance is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, then using a curve of the acceleration curve type for acceleration planning and deceleration planning.

[0008] Optionally, the acceleration curve type of the acceleration phase includes at least one of an S-shaped curve, a T-shaped curve, and a Sine curve; the deceleration curve type of the deceleration phase includes at least one of an S-shaped curve, a T-shaped curve, and a Sine curve; the motion parameters include at least one of initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period.

[0009] Another aspect of the present invention provides a robot speed planning device, comprising: an acquisition unit, configured to acquire a preset total distance of the path to be planned, an acceleration curve type for the acceleration phase, a deceleration curve type for the deceleration phase, and motion parameters; a calculation unit, configured to calculate, based on the motion parameters, the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type; a determination unit, configured to determine, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, whether to perform acceleration planning and deceleration planning using the curve using the acceleration curve type and the curve using the deceleration curve type respectively, or to perform acceleration planning and deceleration planning using the curve using the acceleration curve type; and an output unit, configured to output a corresponding set of interpolation points based on the performed acceleration planning and deceleration planning.

[0010] Optionally, the determining unit determines whether to use a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use a curve of the acceleration curve type for acceleration planning and deceleration planning, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement. This includes: determining whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement; if the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, then using a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively; if the total distance is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, then using a curve of the acceleration curve type for acceleration planning and deceleration planning.

[0011] Optionally, the acceleration curve type of the acceleration phase includes at least one of an S-shaped curve, a T-shaped curve, and a Sine curve; the deceleration curve type of the deceleration phase includes at least one of an S-shaped curve, a T-shaped curve, and a Sine curve; the motion parameters include at least one of initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period.

[0012] In another aspect, the present invention provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods described above.

[0013] In another aspect, the present invention provides a robot including a processor, a memory, and a computer program stored in the memory that can run on the processor, wherein the processor executes the program to implement the steps of any of the methods described above.

[0014] In another aspect, the present invention provides a robot including any of the robot speed planning devices described above.

[0015] According to the technical solution of the present invention, different types of acceleration and deceleration curves can be used during acceleration and deceleration to achieve flexible control over changes in the motion command rate, effectively improving the overall efficiency and stability of robot operation and enhancing product competitiveness. Users can use different types of acceleration and deceleration curves during acceleration and deceleration according to actual application requirements.

[0016] According to the technical solution of this invention, when there is no uniform speed segment, acceleration curves are used for acceleration and deceleration planning to ensure that the robot can operate smoothly regardless of whether there is a uniform speed segment or not. This ensures stable operation of the robot under various conditions, reduces servo motor wear, and extends product lifespan. Attached Figure Description

[0017] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute an undue limitation of the invention. In the drawings:

[0018] Figure 1 This is a schematic diagram of an embodiment of the robot speed planning method provided by the present invention;

[0019] Figure 2 This is a schematic diagram of a specific embodiment of the robot speed planning method provided by the present invention;

[0020] Figure 3 This is a schematic diagram of another specific embodiment of the robot speed planning method provided by the present invention;

[0021] Figure 4 This is a schematic diagram of another specific embodiment of the robot speed planning method provided by the present invention;

[0022] Figure 5 It includes the path, velocity, and acceleration diagrams for single S-shaped, T-shaped, and Sine-shaped acceleration / deceleration curves;

[0023] Figure 6 To generate a distance graph, velocity graph, and acceleration graph for selecting a combination of S-shaped acceleration and deceleration curves;

[0024] Figure 7 The distance graph, velocity graph, and acceleration graph are generated to select a combination of S-shaped acceleration curves and T-shaped deceleration curves;

[0025] Figure 8 The distance graph, velocity graph, and acceleration graph are generated by selecting a combination of S-shaped acceleration curves and Sine-shaped deceleration curves.

[0026] Figure 9 This is a structural block diagram of an embodiment of the robot speed planning device provided by the present invention. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0029] One approach in related technologies involves optimizing operational efficiency or stability based on a given speed curve. However, these approaches use a single acceleration and deceleration curve, which cannot accurately meet the start and stop requirements of every motion operation, resulting in minimal improvement to the overall performance of the industrial robot. Another approach involves using different motion parameters during acceleration and deceleration, but this still relies on the same acceleration and deceleration curve, failing to fully utilize the characteristics of the acceleration and deceleration curve.

[0030] When there is no constant speed segment, combining different types of acceleration and deceleration curves will result in acceleration and speed steps, causing the robot's end effector to shake.

[0031] This invention provides a robot speed planning method.

[0032] Figure 1 This is a schematic diagram of an embodiment of the robot speed planning method provided by the present invention.

[0033] like Figure 1 As shown, according to an embodiment of the present invention, the speed planning method includes at least steps S110 and S130.

[0034] Step S110: Obtain the preset total distance S of the path to be planned, the acceleration curve type AccType of the acceleration phase, the deceleration curve type DecType of the deceleration phase, and the motion parameter Parm.

[0035] Specifically, speed planning can be completed by the user inputting the total distance S, the acceleration / deceleration curve type Type (acceleration curve type AccType for acceleration phase, deceleration curve type DecType for deceleration phase) and motion parameters Parm.

[0036] The acceleration curve type (AccType) during the acceleration phase and the deceleration curve type (DecType) during the deceleration phase can be preset by the user, meaning the user selects the acceleration and deceleration curve types. For example, there are three acceleration curve types: A, B, and C, which the user can choose from; and there are three deceleration curve types: A, B, and C, which the user can choose from.

[0037] The acceleration curve type of the acceleration phase may specifically include at least one of the following: S-shaped curve, T-shaped curve, and Sine curve; the deceleration curve type of the deceleration phase may specifically include at least one of the following: S-shaped curve, T-shaped curve, and Sine curve.

[0038] The motion parameter Parm is used to calculate the displacement during acceleration, the displacement during deceleration, and the running time. The motion parameters include, but are not limited to, initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period. Different acceleration and deceleration curves may require different motion parameters.

[0039] Step S120: Calculate the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type based on the motion parameters.

[0040] The acceleration curve type and deceleration curve type are determined based on the acceleration curve type AccType of the acceleration phase and the deceleration curve type DecType of the deceleration phase. For example, to determine the type of AccType, if the user inputs type A (the same applies to types B and C), then AccType = type A; to determine the type of DecType, if the user inputs type B (the same applies to types A and C), then DecType = type B.

[0041] For example, if the preset acceleration curve type (i.e., the curve type AccType of the acceleration phase) is type A (assuming the user inputs an acceleration curve type of type A), then the acceleration segment displacement Sacc using the type A curve is calculated; if the preset deceleration curve type (i.e., the curve type DecType of the deceleration phase) is type B (assuming the user inputs a deceleration curve type of type B), then the deceleration segment displacement Sdec using the type B curve is calculated.

[0042] For example, when the acceleration curve type is an S-shaped curve, a T-shaped curve, or a Sine curve, the displacement of the acceleration segment is calculated as follows:

[0043] (1) S-shaped acceleration / deceleration curve:

[0044] T1 = Acc / Jerk

[0045] T2 = Vec / Acc - Acc / Jerk

[0046] T3 = Acc / Jerk

[0047] S1=Jerk*T1 3 / 6

[0048] S2 = 0.5 * Jerk * ​​T1 2 T2+0.5*Acc*T2 2

[0049] S3 = 0.5 * Jerk * ​​T1 2 *T3+Acc*T2*T3+0.5*Acc*T3 2 -Jerk*T33 / 6

[0050] Sacc=S1+S2+S3

[0051] Where Vec is the maximum velocity, Acc is the maximum acceleration, Jerk is the maximum jerk, T1 is the acceleration period, T2 is the uniform acceleration period, T3 is the deceleration period, and Sacc is the acceleration displacement.

[0052] (2) T-shaped acceleration / deceleration curve:

[0053] Sacc = 0.5 * Vec 2 / Acc

[0054] Where Vec is the maximum velocity, Acc is the maximum acceleration, and Sacc is the displacement during the acceleration phase.

[0055] (3) Sine-type acceleration / deceleration curve:

[0056] Tacc = 0.5 * π * Vec / Acc

[0057] Sacc = Acc * Tacc 2 / π

[0058] Where Vec is the maximum velocity, Acc is the maximum acceleration, Tacc is the acceleration time, and Sacc is the displacement during the acceleration segment.

[0059] When the deceleration curve type is an S-curve, T-curve, or Sine curve, the displacement of the deceleration segment is calculated as follows:

[0060] (1) S-shaped acceleration / deceleration curve:

[0061] T1 = Dec / Jerk

[0062] T2 = Vec / Dec - Dec / Jerk

[0063] T3 = Dec / Jerk

[0064] S1=Jerk*T1 3 / 6

[0065] S2 = 0.5 * Jerk * ​​T1 2 T2+0.5*Dec*T2 2

[0066] S3 = 0.5 * Jerk * ​​T1 2 *T3+Dec*T2*T3+0.5*Dec*T3 2 -Jerk*T3 3 / 6

[0067] Sacc=S1+S2+S3

[0068] Where Vec is the maximum velocity, Dec is the maximum deceleration, Jerk is the maximum acceleration, T1 is the acceleration / deceleration time, T2 is the uniform acceleration time, T3 is the deceleration time, and Sdec is the deceleration displacement.

[0069] (2) T-shaped acceleration / deceleration curve:

[0070] Sdec = 0.5 * Vec 2 / Dec

[0071] Where Vec is the maximum velocity, Acc is the maximum acceleration, and Sdec is the displacement during the deceleration phase.

[0072] (3) Sine-type acceleration / deceleration curve:

[0073] Tdec = 0.5 * π * Vec / Dec

[0074] Sdec = Dec * Tdec 2 / π

[0075] Where Vec is the maximum velocity, Acc is the maximum acceleration, Tdec is the deceleration time, and Sdec is the displacement during the deceleration phase.

[0076] Besides the three types of acceleration / deceleration curves listed above, other types of acceleration / deceleration curves can also be used to achieve this invention. For example, it can include at least one of the following curves: Cos type curve, Quintic type curve, Door type curve, SawTooth type curve, and Exp type curve. For example, type A can be a Cos type curve, type B can be a Quintic type curve, and type C can be a Door type curve.

[0077] (1) Cos type: Acc / Dec acceleration curve Cos curve function;

[0078] (2) Quintic type: The Acc / Dec curve is a 5th-order curve (an upgraded version of the S-type, which is a 3rd-order curve);

[0079] (3) Door type: Jerk curve is a square wave curve;

[0080] (4) SawTooth type: The Jerk curve is a sawtooth curve;

[0081] (5) Exp type: Jerk curve is an exponential curve.

[0082] Step S130: Based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, determine whether to use the curve of the acceleration curve type and the curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use the curve of the acceleration curve type for acceleration planning and deceleration planning.

[0083] In one specific implementation, it is determined whether the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec. If the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, then acceleration planning and deceleration planning are performed using the AccType curve and the DecType curve, respectively. If the total distance S is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, then acceleration planning and deceleration planning are performed using the AccType curve.

[0084] Specifically, determining whether the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, aims to determine whether a uniform speed segment exists. If the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, it indicates the existence of a uniform speed segment. If the total distance S is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, it indicates the absence of a uniform speed segment. If a uniform speed segment exists, the two types of curves can be combined, i.e., using an acceleration curve of type AccType and a deceleration curve of type DecType for acceleration and deceleration planning respectively. If a uniform speed segment does not exist, forcibly combining the two types of curves will result in acceleration or speed jumps, causing robot end effector jitter. Therefore, in the absence of a uniform speed segment, the same curve as the acceleration segment is used to complete the deceleration planning.

[0085] Taking an S-shaped curve, T-shaped curve, or Sine curve as an example, the position-time relationship S(t) for the acceleration and deceleration segments can be obtained, where J is the jerk and A is the acceleration. max For maximum acceleration, V max The maximum speed is given by t1-t7, which are the time nodes for each stage, and S1-S6 are the displacements corresponding to each time node.

[0086] (1) S-shaped acceleration / deceleration curve (segments 1-3 are acceleration planning, segment 4 is constant speed planning, and segments 5-7 are deceleration planning):

[0087]

[0088] Where J is jerk, A max For maximum acceleration, V maxThe maximum speed is given by t1-t7, which are the time nodes for each stage, and S1-S6 are the displacements corresponding to each time node.

[0089] (2) T-shaped acceleration / deceleration curve (where the first segment is acceleration planning, the second segment is constant velocity planning, and the third segment is deceleration planning):

[0090]

[0091] Among them, A acc For maximum acceleration, V max The maximum speed is given by t1-t3, which are the time nodes for each stage, and S(t) is the displacement corresponding to each time node.

[0092] (3) Sine-type acceleration / deceleration curves (where the first segment is acceleration planning, the second segment is constant velocity planning, and the third segment is deceleration planning):

[0093]

[0094] Among them, A acc For maximum acceleration, A dec For the maximum deceleration, V max The maximum speed is given by t1-t3, which are the time nodes for each stage, and S(t) is the displacement corresponding to each time node.

[0095] Step S140: Based on the acceleration planning and deceleration planning performed, output the corresponding set of interpolation points.

[0096] Specifically, each interpolation cycle sends an interpolation point to the robot, thereby achieving robot motion control. That is, every interpolation cycle T, the controller sends a position value to the robot. The set of position values ​​S(T), S(2T), S(3T), ..., S(nT) required to complete a full motion is the set of interpolation points for that motion. For example, to control the robot's end effector to move from point A to point B, S(t) is obtained through acceleration and deceleration planning, and it is calculated that 200 cycles are needed to complete this motion. Then the set of interpolation points is S(T), S(2T), S(3T), ..., S(200T).

[0097] To clearly illustrate the technical solution of the present invention, the execution flow of the robot speed planning method provided by the present invention will be described below with a specific embodiment.

[0098] Figure 2 This is a schematic diagram of a specific embodiment of the robot speed planning method provided by the present invention. Figure 3 This is a schematic diagram of another specific embodiment of the robot speed planning method provided by the present invention. Figure 4 This is a schematic diagram of another specific embodiment of the robot speed planning method provided by the present invention. For example... Figure 2 , Figure 3 , Figure 4 As shown,

[0099] Step 1: Parameter Input:

[0100] (1) Total distance S;

[0101] (2) AccType, the curve type for the acceleration phase. Among them, Figure 2 It is assumed that there are three types of acceleration curves: type A, type B, and type C. Figure 3 It is assumed that there are two types of acceleration curves, type A and type B. Figure 4 It is assumed that there are three or more types of acceleration curves: type A, type B, type C, ..., type Z.

[0102] (3) Curve type DecType during the deceleration phase. Among them, Figure 2 It is assumed that there are three types of deceleration curves: type A, type B, and type C. Figure 3 Assuming there are two types of deceleration curves, type A and type B, Figure 4 It is assumed that there are three or more types of deceleration curves: type A, type B, type C, ..., type Z.

[0103] (4) Motion parameter Parm. Used to calculate the displacement during acceleration, deceleration and running time. Motion parameters include, but are not limited to, initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration and interpolation period. Different acceleration and deceleration curves may require different motion parameters.

[0104] Step 2: Determine the type of AccType. Assuming the user inputs type A (the same applies to types B and C), then AccType = type A.

[0105] Step 3: Based on the motion parameter Parm, calculate the acceleration segment displacement Sacc using the type A curve.

[0106] Step 4: Determine the type of DecType. Assuming the user inputs type B (the same applies to types A and C), then DecType = type B.

[0107] Step 5: Based on the motion parameter Parm, calculate the acceleration segment displacement Sdec using the B-type curve.

[0108] Step 6: Determine if the total distance S is greater than Sacc + Sdec (the sum of the displacements of the acceleration and deceleration segments). If yes, proceed to Step 7; otherwise, proceed to Step 8. This step is to determine if a uniform speed segment exists. If a uniform speed segment exists, the two types of curves can be combined. If a uniform speed segment does not exist, forcibly combining the two types of curves will result in acceleration or speed jumps, causing the robot's end effector to vibrate. Therefore, in the absence of a uniform speed segment, the same curve as the acceleration segment will be used to complete the deceleration planning.

[0109] Step 7: If the total distance S is greater than Sacc + Sdec, then use the corresponding AccType and DecType curves to plan acceleration and deceleration respectively, and jump to Step 9.

[0110] Step 8: If the total distance S is less than or equal to Sacc + Sdec, then use the curve of the corresponding AccType type for acceleration and deceleration planning.

[0111] Step 9: After the planning is completed, output the set of interpolation points. Send one interpolation point to the robot in each cycle to realize the robot motion control.

[0112] Common acceleration / deceleration curves for industrial robots include S-curves, T-curves, and Sine curves. In motion control systems, users need to input the acceleration / deceleration curve type (Type), total distance (S), and motion parameters (Parm) to complete speed planning. Under the premise of the same distance and the same motion parameter settings, the planning results for the distance, speed, and acceleration of the above three acceleration / deceleration curves are as follows: Figure 5 As shown. Figure 5 It includes path, velocity, and acceleration graphs for single S-shaped, T-shaped, and Sine-shaped acceleration / deceleration curves. The horizontal axis represents the number of interpolation cycles; the vertical axis in the path graph represents path distance; the vertical axis in the velocity graph represents velocity; and the vertical axis in the acceleration graph represents the resultant linear velocity.

[0113] from Figure 5 It can be observed that the T-shaped curve has the shortest running time and the highest efficiency, but the acceleration has a step, which can easily cause the robot's end effector to shake. The Sine curve has continuous and differentiable acceleration, and runs stably, but its efficiency is relatively low. The S-shaped curve is between the T-shaped and Sine curves, balancing efficiency and stability, but none of them are particularly outstanding. Each of the three curves has its own advantages and disadvantages. If they are applied alone to the same motion operation, they will not be able to perfectly meet the requirements for speed changes during acceleration and deceleration.

[0114] The technical solution of this invention can use different types of acceleration and deceleration curves during acceleration and deceleration according to actual application needs.

[0115] The technical solution of the present invention is verified by a specific embodiment below:

[0116] Type A curves are defined as S-shaped curves, Type B curves as T-shaped curves, and Type C curves as Sine curves.

[0117] In the motion control method of this invention, in addition to inputting the total distance S and motion parameters Parm, the user can also input the acceleration / deceleration curve types AccType and DecType. The user can select different types of acceleration / deceleration curves to complete the motion operation according to specific needs, thus achieving selectable acceleration / deceleration types.

[0118] Specifically, the following two inventive points are verified:

[0119] (I) Verification of the function that “different types of acceleration and deceleration curves can be used during acceleration and deceleration in the same motion path”.

[0120] Figure 6 This is a combination of a S-shaped acceleration curve and an S-shaped deceleration curve, resulting in a distance graph, velocity graph, and acceleration graph. The horizontal axis represents the number of interpolation cycles; the vertical axis in the distance graph represents distance; the vertical axis in the velocity graph represents velocity; and the vertical axis in the acceleration graph represents the resultant linear velocity. For example... Figure 6 As shown, when both the acceleration type (AcccType) and deceleration type (DecType) are selected as S-curves, this combination is the same as the traditional S-curve, where both the acceleration and deceleration processes are planned using S-curves.

[0121] Figure 7 This diagram shows the path, velocity, and acceleration plots for selecting a combination of an S-shaped acceleration curve and a T-shaped deceleration curve. The horizontal axis represents the number of interpolation cycles; the vertical axis in the path plot represents distance; the vertical axis in the velocity plot represents velocity; and the vertical axis in the acceleration plot represents the resultant linear velocity. For example... Figure 7 As shown, when the acceleration type (AcccType) is set to S-curve and the deceleration type (DecType) is set to T-curve, the acceleration process is planned using an S-curve and the deceleration process is planned using a T-curve when the displacement input is large. This is suitable for scenarios with normal start-up and rapid stop.

[0122] Figure 8 This is a combination of a S-shaped acceleration curve and a Sine-shaped deceleration curve, resulting in a distance plot, velocity plot, and acceleration plot. The horizontal axis represents the number of interpolation cycles; the vertical axis in the distance plot represents distance; the vertical axis in the velocity plot represents velocity; and the vertical axis in the acceleration plot represents the resultant linear velocity. For example... Figure 8 As shown, when the acceleration type (AcccType) is set to S-curve and the deceleration type (DecType) is set to Sine curve, the output path, velocity, and acceleration graphs are displayed. When the displacement input is large, the acceleration process uses an S-curve for planning, and the deceleration process uses a Sine curve, suitable for scenarios with normal starts and smooth stops.

[0123] This verifies the functionality proposed in this invention to use different types of acceleration and deceleration curves during acceleration and deceleration.

[0124] (II) Verification of the "processing strategy for acceleration and deceleration curves that cannot be combined".

[0125] Figure 6 In this process, S-curve velocity planning is used for both small and large displacements.

[0126] Figure 7 In the process, when the input is a large displacement (with a constant speed segment), the acceleration segment uses an S-shaped curve and the deceleration segment uses a T-shaped curve for speed planning; when the input is a small displacement (without a constant speed segment), the acceleration uses an S-shaped curve, and the deceleration segment does not use a T-shaped curve but uses the same S-shaped curve as the acceleration segment, thus ensuring smooth machine operation.

[0127] Figure 8 In the input, when a large displacement is input, the acceleration segment is an S-shaped curve, and the deceleration segment is a Sine-shaped curve; when a small displacement is input, both the acceleration and deceleration segments are S-shaped curves.

[0128] This verifies that the proposed strategy for handling the incompatibility of acceleration and deceleration curves ensures the stability of robot motion.

[0129] The above verifications all take the acceleration type AccType as an S-shaped curve as an example. Similarly, when the acceleration type AccType is a T-shaped curve or a Sine curve, the deceleration type DecType can also be combined with an S-shaped curve, a T-shaped curve, and a Sine curve, so that different types of acceleration and deceleration curves can be used to complete speed planning during the acceleration and deceleration processes in the same motion path.

[0130] Figure 9 This is a structural block diagram of an embodiment of the robot speed planning device provided by the present invention. Figure 9 As shown, the robot speed planning device 100 includes an acquisition unit 110, a calculation unit 120, a determination unit 130, and an output unit 140.

[0131] The acquisition unit 110 is used to acquire the total distance of the preset path to be planned, the acceleration curve type of the acceleration phase, the deceleration curve type of the deceleration phase, and motion parameters.

[0132] Specifically, speed planning can be completed by the user inputting the total distance S, the acceleration / deceleration curve type Type (acceleration curve type AccType for acceleration phase, deceleration curve type DecType for deceleration phase) and motion parameters Parm.

[0133] The acceleration curve type (AccType) during the acceleration phase and the deceleration curve type (DecType) during the deceleration phase can be preset by the user, meaning the user selects the acceleration and deceleration curve types. For example, there are three acceleration curve types: A, B, and C, which the user can choose from; and there are three deceleration curve types: A, B, and C, which the user can choose from.

[0134] The acceleration curve type of the acceleration phase may specifically include at least one of the following: S-shaped curve, T-shaped curve, and Sine curve; the deceleration curve type of the deceleration phase may specifically include at least one of the following: S-shaped curve, T-shaped curve, and Sine curve.

[0135] The motion parameter Parm is used to calculate the displacement during acceleration, the displacement during deceleration, and the running time. The motion parameters include, but are not limited to, initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period. Different acceleration and deceleration curves may require different motion parameters.

[0136] The calculation unit 120 is used to calculate the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type based on the motion parameters.

[0137] The acceleration curve type and deceleration curve type are determined based on the acceleration curve type AccType of the acceleration phase and the deceleration curve type DecType of the deceleration phase. For example, to determine the type of AccType, if the user inputs type A (the same applies to types B and C), then AccType = type A; to determine the type of DecType, if the user inputs type B (the same applies to types A and C), then DecType = type B.

[0138] For example, if the preset acceleration curve type (i.e., the curve type AccType of the acceleration phase) is type A (assuming the user inputs an acceleration curve type of type A), then the acceleration segment displacement Sacc using the type A curve is calculated; if the preset deceleration curve type (i.e., the curve type DecType of the deceleration phase) is type B (assuming the user inputs a deceleration curve type of type B), then the deceleration segment displacement Sdec using the type B curve is calculated.

[0139] For example, when the acceleration curve type is an S-shaped curve, a T-shaped curve, or a Sine curve, the displacement of the acceleration segment is calculated as follows:

[0140] (1) S-shaped acceleration / deceleration curve:

[0141] T1 = Acc / Jerk

[0142] T2 = Vec / Acc - Acc / Jerk

[0143] T3 = Acc / Jerk

[0144] S1=Jerk*T1 3 / 6

[0145] S2 = 0.5 * Jerk * ​​T1 2 T2+0.5*Acc*T2 2

[0146] S3 = 0.5 * Jerk * ​​T1 2 *T3+Acc*T2*T3+0.5*Acc*T3 2 -Jerk*T3 3 / 6

[0147] Sacc=S1+S2+S3

[0148] Where Vec is the maximum velocity, Acc is the maximum acceleration, Jerk is the maximum jerk, T1 is the acceleration period, T2 is the uniform acceleration period, T3 is the deceleration period, and Sacc is the acceleration displacement.

[0149] (2) T-shaped acceleration / deceleration curve:

[0150] Sacc = 0.5 * Vec 2 / Acc

[0151] Where Vec is the maximum velocity, Acc is the maximum acceleration, and Sacc is the displacement during the acceleration phase.

[0152] (3) Sine-type acceleration / deceleration curve:

[0153] Tacc = 0.5 * π * Vec / Acc

[0154] Sacc = Acc * Tacc 2 / π

[0155] Where Vec is the maximum velocity, Acc is the maximum acceleration, Tacc is the acceleration time, and Sacc is the displacement during the acceleration segment.

[0156] When the deceleration curve type is an S-curve, T-curve, or Sine curve, the displacement of the deceleration segment is calculated as follows:

[0157] (1) S-shaped acceleration / deceleration curve:

[0158] T1 = Dec / Jerk

[0159] T2 = Vec / Dec - Dec / Jerk

[0160] T3 = Dec / Jerk

[0161] S1=Jerk*T1 3 / 6

[0162] S2 = 0.5 * Jerk * ​​T1 2 T2+0.5*Dec*T2 2

[0163] S3 = 0.5 * Jerk * ​​T1 2 *T3+Dec*T2*T3+0.5*Dec*T3 2 -Jerk*T3 3 / 6

[0164] Sacc=S1+S2+S3

[0165] Where Vec is the maximum velocity, Dec is the maximum deceleration, Jerk is the maximum acceleration, T1 is the acceleration / deceleration time, T2 is the uniform acceleration time, T3 is the deceleration time, and Sdec is the deceleration displacement.

[0166] (2) T-shaped acceleration / deceleration curve:

[0167] Sdec = 0.5 * Vec 2 / Dec

[0168] Where Vec is the maximum velocity, Acc is the maximum acceleration, and Sdec is the displacement during the deceleration phase.

[0169] (3) Sine-type acceleration / deceleration curve:

[0170] Tdec = 0.5 * π * Vec / Dec

[0171] Sdec = Dec * Tdec 2 / π

[0172] Where Vec is the maximum velocity, Acc is the maximum acceleration, Tdec is the deceleration time, and Sdec is the displacement during the deceleration phase.

[0173] Besides the three types of acceleration / deceleration curves listed above, other types of acceleration / deceleration curves can also be used to achieve this invention. For example, it can include at least one of the following curves: Cos type curve, Quintic type curve, Door type curve, SawTooth type curve, and Exp type curve. For example, type A can be a Cos type curve, type B can be a Quintic type curve, and type C can be a Door type curve.

[0174] (1) Cos type: Acc / Dec acceleration curve Cos curve function;

[0175] (2) Quintic type: The Acc / Dec curve is a 5th-order curve (an upgraded version of the S-type, which is a 3rd-order curve);

[0176] (3) Door type: Jerk curve is a square wave curve;

[0177] (4) SawTooth type: The Jerk curve is a sawtooth curve;

[0178] (5) Exp type: Jerk curve is an exponential curve.

[0179] The determining unit 130 is used to determine, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, whether to use the curve of the acceleration curve type and the curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use the curve of the acceleration curve type for acceleration planning and deceleration planning.

[0180] In one specific implementation, it is determined whether the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec. If the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, then acceleration planning and deceleration planning are performed using the AccType curve and the DecType curve, respectively. If the total distance S is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, then acceleration planning and deceleration planning are performed using the AccType curve.

[0181] Specifically, determining whether the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, aims to determine whether a uniform speed segment exists. If the total distance S is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, it indicates the existence of a uniform speed segment. If the total distance S is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, Sacc+Sdec, it indicates the absence of a uniform speed segment. If a uniform speed segment exists, the two types of curves can be combined, i.e., using an acceleration curve of type AccType and a deceleration curve of type DecType for acceleration and deceleration planning respectively. If a uniform speed segment does not exist, forcibly combining the two types of curves will result in acceleration or speed jumps, causing robot end effector jitter. Therefore, in the absence of a uniform speed segment, the same curve as the acceleration segment is used to complete the deceleration planning.

[0182] Taking an S-shaped curve, T-shaped curve, or Sine curve as an example, the position-time relationship S(t) for the acceleration and deceleration segments can be obtained, where J is the jerk and A is the acceleration. max For maximum acceleration, Vmax The maximum speed is given by t1-t7, which are the time nodes for each stage, and S1-S6 are the displacements corresponding to each time node.

[0183] (1) S-shaped acceleration / deceleration curve (segments 1-3 are acceleration planning, segment 4 is constant speed planning, and segments 5-7 are deceleration planning):

[0184]

[0185] Where J is jerk, A max For maximum acceleration, V max The maximum speed is given by t1-t7, which are the time nodes for each stage, and S1-S6 are the displacements corresponding to each time node.

[0186] (2) T-shaped acceleration / deceleration curve (where the first segment is acceleration planning, the second segment is constant velocity planning, and the third segment is deceleration planning):

[0187]

[0188] Among them, A acc For maximum acceleration, V max The maximum speed is given by t1-t3, which are the time nodes for each stage, and S(t) is the displacement corresponding to each time node.

[0189] (3) Sine-type acceleration / deceleration curves (where the first segment is acceleration planning, the second segment is constant velocity planning, and the third segment is deceleration planning):

[0190]

[0191] Among them, A acc For maximum acceleration, A dec For the maximum deceleration, V max The maximum speed is given by t1-t3, which are the time nodes for each stage, and S(t) is the displacement corresponding to each time node.

[0192] The output unit 140 is used to output the corresponding set of interpolation points based on the acceleration planning and deceleration planning performed.

[0193] Specifically, each interpolation cycle sends an interpolation point to the robot, thereby achieving robot motion control. That is, every interpolation cycle T, the controller sends a position value to the robot. The set of position values ​​S(T), S(2T), S(3T), ..., S(nT) required to complete a full motion is the set of interpolation points for that motion. For example, to control the robot's end effector to move from point A to point B, S(t) is obtained through acceleration and deceleration planning, and it is calculated that 200 cycles are needed to complete this motion. Then the set of interpolation points is S(T), S(2T), S(3T), ..., S(200T).

[0194] The present invention also provides a storage medium corresponding to the robot speed planning method, wherein a computer program is stored thereon, which, when executed by a processor, implements the steps of any of the aforementioned methods.

[0195] The present invention also provides a robot corresponding to the robot speed planning method, including a processor, a memory, and a computer program stored in the memory that can run on the processor, wherein the processor executes the program to implement the steps of any of the aforementioned methods.

[0196] The present invention also provides a robot corresponding to the robot speed planning device, including any of the robot speed planning devices described above.

[0197] Accordingly, the solution provided by this invention allows for the use of different types of acceleration and deceleration curves during acceleration and deceleration, enabling flexible control over changes in the rate of motion commands. This effectively improves the overall efficiency and stability of robot operation, enhancing product competitiveness. Users can choose different types of acceleration and deceleration curves based on their specific application needs.

[0198] According to the technical solution of this invention, when there is no uniform speed segment, acceleration curves are used for acceleration and deceleration planning to ensure that the robot can operate smoothly regardless of whether there is a uniform speed segment or not. This ensures stable operation of the robot under various conditions, reduces servo motor wear, and extends product lifespan.

[0199] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored as one or more instructions or codes on or transmitted via a computer-readable medium. Other examples and embodiments are within the scope and spirit of this invention and the appended claims. For example, due to the nature of software, the functions described above can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Furthermore, the functional units can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit.

[0200] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0201] The units described as separate components may or may not be physically separate. Similarly, the components of the control device may or may not be physical units; they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0202] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to related technologies, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0203] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A robot speed planning method, characterized in that, include: The system obtains the total distance of the preset path to be planned, the acceleration curve type of the acceleration phase, the deceleration curve type of the deceleration phase, and motion parameters. The acceleration curve type of the acceleration phase and the deceleration curve type of the deceleration phase are preset by the user. Different types of acceleration and deceleration curves can be used during acceleration and deceleration in the same motion path. Based on the motion parameters, calculate the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type, respectively. Based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, it is determined whether to use the curve of the acceleration curve type and the curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use the curve of the acceleration curve type for acceleration planning and deceleration planning. Based on the acceleration and deceleration planning performed, the corresponding set of interpolation points is output.

2. The method according to claim 1, characterized in that, Based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, determine whether to use a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use a curve of the acceleration curve type for acceleration planning and deceleration planning, including: Determine whether the total distance traveled is greater than the sum of the displacement of the acceleration phase and the displacement of the deceleration phase; If the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, then the acceleration curve type and the deceleration curve type are used respectively for acceleration planning and deceleration planning. If the total distance is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, then the acceleration curve type is used for acceleration planning and deceleration planning.

3. The method according to claim 1 or 2, characterized in that, The acceleration curve type of the acceleration phase includes at least one of the following: S-shaped curve, T-shaped curve, and Sine curve; the deceleration curve type of the deceleration phase includes at least one of the following: S-shaped curve, T-shaped curve, and Sine curve. The motion parameters include at least one of the following: initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period.

4. A robot speed planning device, characterized in that, include: The acquisition unit is used to acquire the total distance of the preset path to be planned, the acceleration curve type of the acceleration phase, the deceleration curve type of the deceleration phase, and motion parameters. The acceleration curve type of the acceleration phase and the deceleration curve type of the deceleration phase are preset by the user. Different types of acceleration and deceleration curves can be used during acceleration and deceleration in the same motion path. The calculation unit is used to calculate the acceleration segment displacement of the curve using the acceleration curve type and the deceleration segment displacement of the curve using the deceleration curve type based on the motion parameters. The determining unit is configured to determine, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, whether to use the curve of the acceleration curve type and the curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use the curve of the acceleration curve type for acceleration planning and deceleration planning. The output unit is used to output the corresponding set of interpolation points based on the acceleration planning and deceleration planning performed.

5. The apparatus according to claim 4, characterized in that, The determining unit, based on whether the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, determines whether to use a curve of the acceleration curve type and a curve of the deceleration curve type for acceleration planning and deceleration planning respectively, or to use a curve of the acceleration curve type for acceleration planning and deceleration planning, including: Determine whether the total distance traveled is greater than the sum of the displacement of the acceleration phase and the displacement of the deceleration phase; If the total distance is greater than the sum of the acceleration segment displacement and the deceleration segment displacement, then the acceleration curve type and the deceleration curve type are used respectively for acceleration planning and deceleration planning. If the total distance is less than or equal to the sum of the acceleration segment displacement and the deceleration segment displacement, then the acceleration curve type is used for acceleration planning and deceleration planning.

6. The apparatus according to claim 4 or 5, characterized in that, The acceleration curve type of the acceleration phase includes at least one of the following: S-shaped curve, T-shaped curve, and Sine curve; the deceleration curve type of the deceleration phase includes at least one of the following: S-shaped curve, T-shaped curve, and Sine curve. The motion parameters include at least one of the following: initial velocity, initial acceleration, final velocity, final acceleration, maximum velocity, maximum acceleration, and interpolation period.

7. A storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1-3.

8. A robot, characterized in that, It includes a processor, a memory, and a computer program stored in the memory that can run on the processor, wherein the processor executes the program to implement the steps of any one of claims 1-3.

9. A robot, characterized in that, Includes the robot speed planning device as described in any one of claims 4-6.

Citation Information

Patent Citations

  • NURBS curve interpolation method with processing path length being known

    CN107272598A