Trajectory smooth transition method, device and computer-readable medium

By obtaining the trajectory connection points and transition radius in Cartesian space, using bisection to calculate the moment and performing trajectory fusion in joint space to generate the transition segment trajectory, the smoothness problem of industrial robot trajectories when they are not coplanar or only move in posture is solved, smooth transition is achieved, and mechanical vibration and component damage are avoided.

CN115270040BActive Publication Date: 2025-10-03AGILEBOT ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210704298.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-21
Publication Date
2025-10-03
Estimated Expiration
2042-06-21

AI Technical Summary

Technical Problem

Existing technologies have difficulty in handling smooth transition issues in industrial robot trajectory planning when two trajectories are not coplanar or when two trajectories only move in posture but not in position, resulting in mechanical vibration and component damage.

Method used

By obtaining the connection points and transition radius of the trajectory in Cartesian space, the moment of intersection is calculated using bisection method, and the trajectory is fused in the joint space to generate the transition segment trajectory to ensure a smooth transition of velocity and acceleration.

Benefits of technology

It achieves smooth transition in irregular trajectories, avoids mechanical vibration and component damage, and is a smooth transition method suitable for any trajectory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115270040B_ABST
    Figure CN115270040B_ABST
Patent Text Reader

Abstract

The present invention relates to a method, device and computer-readable medium for trajectory smooth transition. The method includes: obtaining the planned first trajectory, second trajectory, the connection point of the first trajectory and the second trajectory, and the transition radius; determining a sphere with the connection point as the center and the transition radius as the radius, intersecting with the first trajectory at the first intersection point and intersecting with the second trajectory at the second intersection point; respectively calculating the first moment corresponding to the first intersection point on the first trajectory and the second moment corresponding to the second intersection point on the second trajectory; setting the transition time according to the first moment and the second moment; merging the first sub-trajectory in the first trajectory whose last running time is the transition time and the second sub-trajectory in the second trajectory whose starting running time is the transition time to generate a transition segment trajectory. The present invention solves the problem of smooth transition when the two trajectories are not coplanar or the two trajectories only move in posture but not in position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application mainly relates to the field of industrial robots, and specifically to a trajectory smooth transition method, device and computer-readable medium. Background Art

[0002] Industrial robots are playing an increasingly prominent role in the development of industrial automation, and trajectory planning is a core function in robot control systems. Basic industrial robot trajectories typically consist of straight lines, circular arcs, and point-to-point trajectories in joint space. However, in practical applications, complex trajectories are constructed by sequentially combining and connecting these basic trajectories. The junction between two trajectories often has a rough corner. Therefore, the robot must decelerate to a stop at this junction before accelerating along the subsequent trajectory. Otherwise, the sudden change in speed and acceleration can cause severe shock, causing the robot to vibrate or even damage its mechanical components. However, in various practical applications, robot trajectories must be smooth and free of corners, minimizing speed fluctuations or requiring a higher speed to pass through the junction to improve cycle time. To meet these requirements, a transition trajectory must be inserted between the two trajectories. This transition trajectory must be sufficiently smooth to allow the robot to smoothly transition from the previous trajectory to the next.

[0003] A common smooth trajectory transition algorithm is arc transition, which connects two trajectories using an arc. The arcs are tangent to the preceding and following trajectories at points S and E, respectively. When the robot moves along the preceding trajectory to S, it enters the arc-shaped transition trajectory, and when it reaches E, it enters the following trajectory. Arc transitions introduce a jump in acceleration at the junction of the transition segment and the trajectory, which can cause mechanical vibration. Furthermore, arcs can only solve the transition problem between two coplanar trajectories. Arcs cannot be used to connect two trajectories when the two trajectories are not coplanar or when the two trajectories only move in posture but not in position, limiting the practical application of arc transitions. Summary of the Invention

[0004] The technical problem to be solved by the present application is to provide a trajectory smooth transition method, device and computer-readable medium to solve the problem that the Cartesian space transition algorithm is difficult to handle when two trajectories are not coplanar or the two trajectories only move in posture but not in position.

[0005] In order to solve the above technical problems, the present application provides a method for smooth trajectory transition, including: obtaining the planned first trajectory, second trajectory, connection point of the first trajectory and second trajectory, and transition radius; determining a sphere with the connection point as the center and the transition radius as the radius, intersecting with the first trajectory at the first intersection point and intersecting with the second trajectory at the second intersection point; respectively calculating the first moment corresponding to the first intersection point on the first trajectory and the second moment corresponding to the second intersection point on the second trajectory; setting the transition time according to the first moment and the second moment; merging the first sub-trajectory in the first trajectory whose last running time is the transition time and the second sub-trajectory in the second trajectory whose starting running time is the transition time to generate a transition segment trajectory; connecting the transition segment trajectory with the first intersection point and the second intersection point respectively to generate an entire continuous running trajectory.

[0006] In one embodiment of the present invention, a first moment corresponding to the first intersection point on the first trajectory is calculated by binary search and / or a second moment corresponding to the second intersection point on the second trajectory is calculated by binary search.

[0007] In one embodiment of the present invention, calculating the first moment corresponding to the first intersection point on the first trajectory by using a binary search method includes:

[0008] a. defining a first position and a second position on the first trajectory, and setting the first position as the starting point of the first trajectory, and the second position as the connection point;

[0009] b. defining half of the time required to move from the first position to the second position as a first intermediate moment, and defining the position corresponding to the first intermediate moment on the first trajectory as a first intermediate point;

[0010] c. Calculating the distance between the first intermediate point and the connection point based on the coordinates of the first intermediate point and the connection point;

[0011] d. If the distance is greater than the transition radius, then the first intermediate point is updated to the first position and the first intermediate moment is updated to the moment corresponding to the first position; otherwise, the first intermediate point is updated to the second position and the first intermediate moment is updated to the moment corresponding to the second position;

[0012] e. If the distance between the first position and the second position is less than the first allowable error range, the first position is used as the first intersection point and the moment corresponding to the first position is used as the first moment; otherwise, return to step b and continue iterating.

[0013] In one embodiment of the present invention, calculating the second moment corresponding to the second intersection point on the second trajectory by using a binary search method includes:

[0014] a. defining a third position and a fourth position on the second trajectory, and setting the third position as the connection point, and the fourth position as the end point of the second trajectory;

[0015] b. defining half of the time required to move from the third position to the fourth position as a second intermediate moment, and defining the position corresponding to the second intermediate moment on the second trajectory as a second intermediate point;

[0016] c. calculating the distance between the second intermediate point and the connection point according to the coordinates of the second intermediate point and the connection point;

[0017] d. If the distance is greater than the transition radius, then update the second intermediate point to the fourth position and the second intermediate moment to the moment corresponding to the fourth position; otherwise, update the second intermediate point to the third position and the second intermediate moment to the moment corresponding to the third position;

[0018] e. If the distance between the third position and the fourth position is less than the second allowable error range, the third position is used as the second intersection point and the moment corresponding to the third position is used as the second moment; otherwise, return to step b and continue iterating.

[0019] In one embodiment of the present invention, setting the transition time according to the first moment and the second moment includes: taking the smaller value of the running time from the first intersection point to the connection point and the running time from the connection point to the second intersection point as the transition time.

[0020] In one embodiment of the present invention, a first sub-trajectory in the first trajectory whose last running time is the transition time is merged with a second sub-trajectory in the second trajectory whose starting running time is the transition time to generate a transition segment trajectory, which includes: substituting the coordinates of the connection point in Cartesian space into the first trajectory and then inversely solving to obtain its coordinates in the joint space; substituting the time corresponding to the first sub-trajectory into the first trajectory and then inversely solving to obtain its first running state information in the joint space, the first running state information including position, velocity and acceleration; substituting the time corresponding to the second sub-trajectory into the second trajectory and then inversely solving to obtain its second running state information in the joint space, the second running state information including position, velocity and acceleration; and adding the first running state information and the second running state information to generate the transition segment trajectory.

[0021] In one embodiment of the present invention, adding the first operating status information and the second operating status information to generate a transition segment trajectory includes: adding the position of the first operating status information and the position of the second operating status information and then subtracting the coordinates of the connection point in the joint space to obtain the position of the transition segment trajectory; adding the speed of the first operating status information and the speed of the second operating status information to obtain the speed of the transition segment trajectory; adding the acceleration of the first operating status information and the acceleration of the second operating status information to obtain the acceleration of the transition segment trajectory.

[0022] In one embodiment of the present invention, the transition section trajectory is further subjected to joint limit calibration, motor speed calibration and motor torque calibration. If the calibration fails, the transition time is reduced and the trajectory fusion is performed again, and then the calibration is repeated until the calibration passes.

[0023] In order to solve the above technical problems, the present application provides a trajectory smooth transition device, including: a memory for storing instructions executable by a processor; a processor for executing the instructions to implement the trajectory smooth transition method as described above.

[0024] In order to solve the above technical problems, the present application provides a computer-readable medium storing computer program code, which, when executed by a processor, implements the above-mentioned trajectory smooth transition method.

[0025] The technical solution of this application has the following beneficial effects compared with the prior art:

[0026] The trajectory smooth transition method of the present application solves the problem that the Cartesian space transition algorithm is difficult to handle when the two trajectories are not coplanar or the two trajectories only move in posture but not in position, by fusing the two trajectories in the joint space; by iteratively finding the intersection point of the two trajectory segments and the transition radius to form a sphere, it solves the problem that the intersection point of the trajectory segment and the transition segment cannot be found in an irregular trajectory, making the transition method applicable to any trajectory. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to make the above-mentioned objects, features and advantages of the present invention more clearly understood, the specific embodiments of the present invention are described in detail below with reference to the accompanying drawings, in which:

[0028] Figure 1 Schematic diagram of generating a transition trajectory by fusing two trajectories in one embodiment of the present application;

[0029] Figure 2 This is a flow chart of a trajectory smooth transition method according to an embodiment of the present application;

[0030] Figure 3is a timing diagram of a trajectory smooth transition method according to an embodiment of the present application;

[0031] Figure 4 This is a flow chart of the fusion of the first sub-trajectory and the second sub-trajectory according to an embodiment of the present application;

[0032] Figure 5A to Figure 5C is a graph showing the relationship between the fusion time and the speed curve of the transition trajectory according to an embodiment of the present application;

[0033] Figure 6 This is a system block diagram of a trajectory smooth transition device according to an embodiment of the present application. DETAILED DESCRIPTION

[0034] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0035] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the present invention is not limited to the specific embodiments disclosed below.

[0036] As used in this application and the claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" are not intended to refer to the singular but may include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.

[0037] Unless otherwise specified, the relative arrangement of the parts and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present application. Meanwhile, it should be understood that, for ease of description, the sizes of the various parts shown in the accompanying drawings are not drawn according to actual proportional relationships. Technology, methods and equipment known to those of ordinary skill in the relevant art may not be discussed in detail, but in appropriate cases, the technology, methods and equipment should be considered as a part of the specification. In all examples shown and discussed here, any specific value should be interpreted as being merely exemplary, rather than as a limitation. Therefore, other examples of exemplary embodiments can have different values. It should be noted that similar numbers and letters represent similar items in the following drawings, and therefore, once an item is defined in an accompanying drawing, it does not need to be further discussed in subsequent drawings.

[0038] Furthermore, it should be noted that the use of terms such as "first" and "second" to define components is solely for the purpose of distinguishing the corresponding components. Unless otherwise stated, these terms have no special meaning and therefore should not be construed as limiting the scope of protection of this application. Furthermore, while the terms used in this application are selected from commonly known and commonly used terms, some terms mentioned in this specification may have been selected by the applicant at his or her discretion, and their detailed meanings are explained in the relevant sections of this description. Furthermore, this application should be understood not only by the actual terms used, but also by the meaning implied by each term.

[0039] Flowcharts are used in this application to illustrate the operations performed by systems according to embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the various steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.

[0040] Figure 1 FIG is a schematic diagram of a transition segment trajectory generated by fusing two segments of trajectory in one embodiment of the present application. Figure 1 As shown, various complex trajectories of industrial robots in actual applications are formed by combining and connecting basic trajectories in sequence. In this embodiment, the trajectory of the industrial robot is formed by connecting a first trajectory 11 and a second trajectory 12. The starting point of the first trajectory 11 is A and the end point is B. The starting point of the second trajectory 12 is B and the end point is C. The connection point between the first trajectory 11 and the second trajectory 12 is B. There is a non-smooth corner at the connection point B. Therefore, when the robot moves from A to B, it usually needs to slow down to a stop and then accelerate from B to C. Otherwise, severe impact will be generated due to the sudden change in speed and acceleration, causing the robot to shake or even damage the robot's mechanical parts. In order to make the robot smoothly transition from the first trajectory 11 to the second trajectory 12, it is necessary to insert a transition section trajectory 13 between the first trajectory 11 and the second trajectory 12, and the transition section trajectory 13 needs to be smooth enough to enable the robot to cut into the second trajectory 12 from the first trajectory 11 at a relatively smooth speed.

[0041] Figure 2 FIG. 2 is a flow chart of a trajectory smooth transition method 200 according to an embodiment of the present application. Figure 2 As shown, the trajectory smooth transition method 200 includes:

[0042] Step S21: Obtain the planned first trajectory, second trajectory, connection point between the first trajectory and the second trajectory, and transition radius.

[0043] Step S22: Determine a sphere with the connection point as the center and the transition radius as the radius, intersecting the first trajectory at a first intersection point and intersecting the second trajectory at a second intersection point.

[0044] Step S23: Calculate a first moment corresponding to the first intersection point on the first trajectory and a second moment corresponding to the second intersection point on the second trajectory respectively.

[0045] Step S24: setting a transition time according to the first moment and the second moment.

[0046] Step S25: Merge the first sub-trajectory in the first trajectory whose last running time is the transition time with the second sub-trajectory in the second trajectory whose starting running time is the transition time to generate a transition segment trajectory.

[0047] Step S26: Connect the transition segment trajectory with the first intersection point and the second intersection point respectively to generate a whole continuous running trajectory.

[0048] The following will be combined Figure 1-2 Steps S21 to S26 are described in detail.

[0049] In steps S21-S22, the industrial robot has completed the planning of the first trajectory and the second trajectory according to the planning algorithm. This application does not limit the planning algorithm. Figure 1 As shown, the connection point between first trajectory 11 and second trajectory 12 is B. The coordinates of connection point B in Cartesian space are obtained, as well as the transition radius R. The value of transition radius R can be set as needed, and no restrictions are imposed on the value of transition radius R. A sphere is defined with connection point B as the center and transition radius R as the radius. The sphere intersects first trajectory 11 at a first intersection point S and intersects second trajectory 12 at a second intersection point E. The first intersection point S is the starting point of transition segment trajectory 13, and the second intersection point E is the end point of transition segment trajectory 13.

[0050] In step S23, if the first trajectory and / or the second trajectory are regular spatial curves, the first trajectory can be expressed as Γ1(t) and the second trajectory can be expressed as Γ2(t). Substituting the Cartesian coordinates of the first intersection point into the expression Γ1(t) for the first trajectory can calculate the first moment corresponding to the first intersection point on the first trajectory. Substituting the Cartesian coordinates of the second intersection point into the expression Γ2(t) for the second trajectory can calculate the second moment corresponding to the second intersection point on the second trajectory.

[0051] In some embodiments, the first trajectory and / or the second trajectory may be an irregular spatial curve, and there is no spatial expression based on coordinates, that is, the moment when the robot passes the first intersection point and the second intersection point cannot be simply calculated. Therefore, it is necessary to continuously iterate to approximate the first moment corresponding to the robot passing the first intersection point, and continuously iterate to approximate the second moment corresponding to the robot passing the second intersection point. In some embodiments, the first moment corresponding to the first intersection point on the first trajectory is calculated by binary search. Calculating the first moment corresponding to the first intersection point on the first trajectory by binary search includes:

[0052] a. Define the first position and the second position on the first trajectory, and define the time corresponding to the first position on the first trajectory as T m , define the time corresponding to the second position on the first trajectory as T n Set the initial position of the first position as the starting point of the first trajectory, and the initial position of the second position as the connection point.

[0053] b. Define half of the time required to move from the first position to the second position as the first intermediate time T h , that is, T h =(T n -T m The position corresponding to the first intermediate moment on the first trajectory is defined as the first intermediate point.

[0054] c. Calculate the distance between the first intermediate point and the connection point based on the coordinates of the first intermediate point and the connection point.

[0055] d. If the distance is greater than the transition radius, update the first intermediate point to the first position and the first intermediate moment T h Update to the time T corresponding to the first position m Otherwise, the first intermediate point is updated to the second position, and the first intermediate moment T h Update to the time T corresponding to the second position n .

[0056] e. If the distance between the first position and the second position is less than the first allowable error range, it means that the first position and the second position are close enough to the first intersection point. The first position can be regarded as the first intersection point, and the time T corresponding to the first position is m As the first moment, otherwise return to step b to continue iteration. The value of the first allowable error range can be set as needed, and this application does not impose any limitation on this.

[0057] In some embodiments, calculating the second time corresponding to the second intersection point on the second trajectory by binary search includes:

[0058] a. Define the third and fourth positions on the second trajectory, and define the corresponding time of the third position on the second trajectory as T x , define the time corresponding to the fourth position on the second trajectory as T y Set the initial position of the third position as the connection point, and the initial position of the fourth position as the end point of the second trajectory.

[0059] b. Define half of the time required to move from the third position to the fourth position as the second intermediate time T z , that is, T z =(T y -T x ) / 2, and define the position on the second trajectory corresponding to the second intermediate moment as the second intermediate point.

[0060] c. Calculate the distance between the second intermediate point and the connection point based on the coordinates of the second intermediate point and the connection point;

[0061] d. If the distance is greater than the transition radius, update the second intermediate point to the fourth position and the second intermediate time T z Update to the time T corresponding to the fourth position y Otherwise, the second intermediate point is updated to the third position, and the second intermediate moment T z Update to the time T corresponding to the third position x ;

[0062] e. If the distance between the third position and the fourth position is less than the second allowable error range, it means that the third position and the fourth position are close enough to the second intersection point. Then the third position is taken as the second intersection point, and the time T corresponding to the third position is x As the second moment, otherwise return to step b to continue iteration. The value of the second allowable error range can be set as needed, and this application does not impose any limitation on this.

[0063] In step S24, setting the transition time according to the first moment and the second moment includes: recording the first moment corresponding to the first intersection point as t s , the second moment corresponding to the second intersection point is recorded as t e The running time of the first trajectory is T1, and the running time from the first intersection point to the connection point is T1-t s The running time from the connection point on the second trajectory to the second intersection point is t e , set the transition time to T1-t s With t e The smaller of the two.

[0064] Figure 3 This is a timing diagram of a trajectory smooth transition method according to an embodiment of the present application. Figure 3As shown, the running time of the first track 11 is T1, the running time of the second track 12 is T2, and the transition time is T se From the time axis, the robot runs on the first track 11 from time 0 until T1-T se , the transition time is from T1- T se The robot starts running from time T1 until T1, and runs on the second trajectory 12 from time T1 until T1+T2-T se . The running time in the first trajectory is [T1-T se , T1] time period, the running time of the first sub-trajectory 110 and the second trajectory is [T1-T se , T1] The second sub-trajectory 120 in the time period is subjected to trajectory fusion to generate a transition segment trajectory.

[0065] Figure 4 FIG4 is a flow chart 400 of merging the first sub-trajectory and the second sub-trajectory according to an embodiment of the present application. Figure 4 As shown, the flowchart 400 of merging the first sub-trajectory with the second sub-trajectory includes:

[0066] Step S401: Substitute the coordinates of the connection point in Cartesian space into the first trajectory and then inversely solve to obtain its coordinates in joint space. Inverse solution refers to the process of finding the position of each axis of the robot in joint space when the coordinates of the robot in Cartesian space are known. Substitute the coordinates of the connection point in Cartesian space into the first trajectory and then inversely solve to obtain its coordinates in joint space J B .

[0067] Step S402: Substitute the time corresponding to the first sub-trajectory into the first trajectory and perform an inverse analysis to obtain its first operating state information in the joint space. The first operating state information includes position, velocity, and acceleration. The time t corresponding to the first sub-trajectory falls within the interval [T1 - Tse, T1]. Substitute the time t corresponding to the first sub-trajectory into the expression Γ1(t) of the first trajectory and perform an inverse analysis to obtain its first operating state information in the joint space. The first operating state information includes position J1(t), velocity J1'(t), and acceleration J1''(t).

[0068] Step S403: Substitute the time corresponding to the second sub-trajectory into the second trajectory and then inversely solve to obtain the second running state information in the joint space. The second running state information includes position, velocity and acceleration. The time t corresponding to the second sub-trajectory also belongs to the interval [T1- Tse, T1]. Substitute the time t-(T1- Tse, T1) corresponding to the second sub-trajectory into the interval [T1- Tse, T1]. se ) is substituted into the expression of the second trajectory Γ2(t) and then the inverse solution is obtained to obtain the second running state information in the joint space. The second running state information includes the position J2[t-( T1-T se)], speed J2'[t-( T1-T se )] and acceleration J2''[t-( T1-T se )].

[0069] Step S404: Add the first running state information and the second running state information to generate a transition segment trajectory. Adding the first running state information and the second running state information to generate the transition segment trajectory includes: adding the position of the first running state information and the position of the second running state information and then subtracting the coordinates of the connection point in the joint space to obtain the position J(t) of the transition segment trajectory, that is, J(t) = J1(t) + J2[t-( T1-T se )]-J B ;

[0070] The speed of the transition segment trajectory J'(t) is obtained by adding the speed of the first running state information and the speed of the second running state information, that is, J'(t) = J1'(t) + J2'[t-( T1-T se )];

[0071] The acceleration of the transition segment trajectory J''(t) is obtained by adding the acceleration of the first running state information and the acceleration of the second running state information, that is, J''(t)= J1''(t)+ J2''[t-( T1-T se )].

[0072] For t∈[0, T1- T se ] time period, and can be obtained by directly substituting it into Γ1(t). se The trajectory within the time period can be directly substituted into Γ2(t) to obtain the trajectory. The position of the entire continuous running trajectory can be expressed as:

[0073] J(t)= J1(t), t∈[0, T1-T se ]

[0074] J(t)= J1(t)+ J2[t-( T1-T se )]-J B , t∈[T1-T se , T1]

[0075] J(t)= J2[t-( T1-T se )] , t∈[T1, T1+T2-T se ]

[0076] The speed of the entire continuous running trajectory generated can be expressed as:

[0077] J'(t)= J1'(t), t∈[0, T1-T se ]

[0078] J'(t)= J1'(t)+ J2'[t-( T1-T se )], t∈[T1-T se , T1]

[0079] J'(t)= J2'[t-( T1-T se )] , t∈[T1, T1+T2-T se ]

[0080] The acceleration of the entire continuous running trajectory can be expressed as:

[0081] J''(t)= J1''(t), t∈[0, T1-T se ]

[0082] J''(t)= J1''(t)+ J2''[t-( T1-T se )], t∈[T1-T se , T1]

[0083] J''(t)= J2''[t-( T1-T se )], t∈[T1, T1+T2-T se ]

[0084] Since the trajectory fusion is performed by adding the velocity and acceleration in the joint space, as long as the velocity and acceleration of the first trajectory and the second trajectory are continuous and smooth, the velocity and acceleration of the transition trajectory after fusion must be continuous and smooth.

[0085] In some embodiments, the trajectory smooth transition method further includes:

[0086] Perform joint limit check on the transition section trajectory. If the check fails, reduce the transition time and re-fuse the trajectory until the check passes.

[0087] Perform motor speed calibration on the transition trajectory. If the calibration fails, reduce the transition time and re-fuse the trajectory until the calibration passes.

[0088] Perform motor torque calibration on the transition trajectory. If the calibration fails, reduce the transition time and re-fuse the trajectory until the calibration passes.

[0089] The transition segment trajectory formed after trajectory fusion is calibrated for joint limits, motor speed, and motor torque to ensure that the fused trajectory is within the joint limit range and does not exceed the motor speed and torque limits, thereby improving the safety of robot operation.

[0090] Figure 5A to Figure 5C : is a graph showing the relationship between the fusion time and the speed curve of the transition trajectory in one embodiment of the present application. Figure 5A As shown, the transition time T se When the robot moves to the transition section, the speed curve will first go through the deceleration section 511, then turn to the uniform speed section 512, and then turn to the acceleration section 515. se When the speed is too low, the speed curve is not smooth enough and there are still ups and downs. The robot will go through the process of deceleration and then acceleration. The robot cannot cut from the first track to the second track at a relatively smooth speed. Figure 5C In the transition time T se When the robot moves to the transition trajectory, the speed curve will first go through the acceleration segment 551, then turn to the uniform speed segment 552, and then turn to the deceleration segment 555. se When the value is too large, the speed curve is not smooth enough and there are still ups and downs. The robot will experience the process of acceleration and deceleration. The robot cannot cut from the first track to the second track at a relatively smooth speed. Figure 5B In the transition time T se Moderate, when the robot runs to the transition track, the speed curve will only go through the uniform speed section 521, which can make the robot's running speed fluctuation in the transition track very small, and the robot switches from the first track to the second track at a fairly smooth speed. Figures 5A to 5C It can be seen that by adjusting the transition time T se The shape of the transition trajectory can be adjusted, T se The smaller the value, the closer the transition trajectory is to the original trajectory. se The larger the transition time, the more the transition trajectory deviates from the original trajectory. The trajectory smooth transition method of the present application adjusts the transition time through an iterative algorithm, without the need to estimate the transition time, thus avoiding the fluctuation of the robot's running speed caused by the introduction of inappropriate transition time.

[0091] The trajectory smooth transition method of the present application solves the problem that the Cartesian space transition algorithm is difficult to handle when the two trajectories are not coplanar or the two trajectories only move in posture but not in position, by fusing the two trajectories in the joint space; by iteratively finding the intersection point of the two trajectory segments and the transition radius to form a sphere, it solves the problem that the intersection point of the trajectory segment and the transition segment cannot be found in an irregular trajectory, making the transition method applicable to any trajectory.

[0092] The present invention also includes a trajectory smooth transition device, comprising a memory and a processor, wherein the memory is used to store instructions executable by the processor; and the processor is used to execute the instructions to implement the trajectory smooth transition method described above.

[0093] Figure 6 This is a system block diagram of a trajectory smooth transition device according to an embodiment of the present invention. Figure 6 As shown, the operating device 600 may include an internal communication bus 601, a processor 602, a read-only memory (ROM) 603, a random access memory (RAM) 604, and a communication port 605. When used on a personal computer, the operating device 600 may also include a hard disk 606. The internal communication bus 601 enables data communication between the components of the operating device 600. The processor 602 can make decisions and issue prompts. In some embodiments, the processor 602 may be composed of one or more processors. The communication port 605 enables data communication between the operating device 600 and the outside world. In some embodiments, the operating device 600 can send and receive information and data from a network via the communication port 605. The operating device 600 may also include various forms of program storage units and data storage units, such as a hard disk 606, a read-only memory (ROM) 603, and a random access memory (RAM) 604. These can store various data files used for computer processing and / or communication, as well as possible program instructions executed by the processor 602. The processor executes these instructions to implement the main components of the method. The processing result of the processor is transmitted to the user device through the communication port and displayed on the user interface.

[0094] The above-mentioned operating method can be implemented as a computer program, stored in the hard disk 606, and loaded into the processor 602 for execution to implement the operating method of the present application.

[0095] The present invention also includes a computer-readable medium storing computer program code, which implements the above-mentioned method for operating a database when executed by a processor.

[0096] When the operating methods for the database are implemented as a computer program, they can also be stored in a computer-readable storage medium as an article of manufacture. For example, computer-readable storage media can include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs)), smart cards, and flash memory devices (e.g., electrically erasable programmable read-only memories (EPROMs), cards, sticks, key drives). In addition, the various storage media described herein can represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" can include, but is not limited to, wireless channels and various other media (and / or storage media) that can store, contain, and / or carry code and / or instructions and / or data.

[0097] It should be understood that the embodiments described above are merely illustrative. The embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or any combination thereof. For hardware implementation, the processor may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and / or other electronic units designed to perform the functions described herein, or a combination thereof.

[0098] Some aspects of this application may be implemented entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or a combination of hardware and software. These hardware and software components may be referred to as "data blocks," "modules," "engines," "units," "components," or "systems." A processor may be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, or combinations thereof. Furthermore, various aspects of this application may be embodied as computer products embodied in one or more computer-readable media, including computer-readable program code. For example, computer-readable media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes), optical disks (e.g., compact disks, digital versatile disks, DVDs), smart cards, and flash memory devices (e.g., cards, sticks, key drives, etc.).

[0099] A computer-readable medium may include a propagated data signal embodying computer program code, for example, in baseband or as part of a carrier wave. The propagated signal may be in a variety of forms, including electromagnetic, optical, etc., or a suitable combination thereof. A computer-readable medium may be any computer-readable medium other than a computer-readable storage medium that can be connected to an instruction execution system, apparatus, or device to communicate, propagate, or transmit the program for use. The program code on the computer-readable medium may be transmitted via any suitable medium, including radio, cable, fiber optic cable, radio frequency signal, or similar medium, or any combination of the above.

[0100] At the same time, this application uses specific terms to describe the embodiments of this application. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a certain feature, structure, or characteristic related to at least one embodiment of this application. Therefore, it should be emphasized and noted that "one embodiment," "an embodiment," or "an alternative embodiment" mentioned twice or multiple times in different locations in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures, or characteristics in one or more embodiments of this application may be appropriately combined.

[0101] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise stated, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of the individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining the number of digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of the present application are approximate values, in specific embodiments, the settings of such numerical values ​​are as accurate as possible within the feasible range.

[0102] The basic concepts have been described above. It will be apparent to those skilled in the art that the above disclosures are merely illustrative and do not constitute limitations on this application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and amendments to this application. Such modifications, improvements, and amendments are suggested in this application and remain within the spirit and scope of the exemplary embodiments of this application.

Claims

1. A trajectory smooth transition method, characterized in that: include: Obtaining the planned first trajectory, second trajectory, connection point of the first trajectory and the second trajectory, and transition radius; Determine a sphere with the connection point as the center and the transition radius as the radius, intersecting the first trajectory at a first intersection point and intersecting the second trajectory at a second intersection point; respectively calculating a first moment corresponding to the first intersection point on the first trajectory and a second moment corresponding to the second intersection point on the second trajectory; Setting a transition time according to the first moment and the second moment; Merge the first sub-trajectory in the first trajectory whose last running time is the transition time with the second sub-trajectory in the second trajectory whose starting running time is the transition time to generate a transition segment trajectory; Perform joint limit checks, motor speed checks, and motor torque checks on the transition segment trajectory. If the checks fail, reduce the transition time, re-fuse the trajectory, and then check again, repeating the process until the checks pass. Connect the transition segment trajectory with the first intersection point and the second intersection point to generate a continuous running trajectory. The step of setting the transition time according to the first moment and the second moment includes: taking the smaller value of the running time from the first intersection point to the connection point and the running time from the connection point to the second intersection point as the transition time; Among them, the first sub-trajectory in the first trajectory whose last running time is the transition time and the second sub-trajectory in the second trajectory whose starting running time is the transition time are merged to generate the transition segment trajectory, which includes: substituting the coordinates of the connection point in the Cartesian space into the first trajectory and then inversely solving to obtain its coordinates in the joint space; substituting the time corresponding to the first sub-trajectory into the first trajectory and then inversely solving to obtain its first running state information in the joint space, the first running state information including position, velocity and acceleration; substituting the time corresponding to the second sub-trajectory into the second trajectory and then inversely solving to obtain its second running state information in the joint space, the second running state information including position, velocity and acceleration; adding the first running state information and the second running state information to generate the transition segment trajectory.

2. The trajectory smooth transition method according to claim 1, characterized in that: A first time corresponding to the first intersection point on the first trajectory is calculated by binary search and / or a second time corresponding to the second intersection point on the second trajectory is calculated by binary search.

3. The trajectory smooth transition method according to claim 2, characterized in that: Calculating the first moment corresponding to the first intersection point on the first trajectory by using a binary search method includes: a. defining a first position and a second position on the first trajectory, and setting the first position as the starting point of the first trajectory, and the second position as the connection point; b. defining half of the time required to move from the first position to the second position as a first intermediate moment, and defining the position corresponding to the first intermediate moment on the first trajectory as a first intermediate point; c. Calculating the distance between the first intermediate point and the connection point based on the coordinates of the first intermediate point and the connection point; d. If the distance is greater than the transition radius, then the first intermediate point is updated to the first position and the first intermediate moment is updated to the moment corresponding to the first position; otherwise, the first intermediate point is updated to the second position and the first intermediate moment is updated to the moment corresponding to the second position; e. If the distance between the first position and the second position is less than the first allowable error range, the first position is used as the first intersection point and the moment corresponding to the first position is used as the first moment; otherwise, return to step b and continue iterating.

4. The trajectory smooth transition method according to claim 2, wherein: Calculating the second moment corresponding to the second intersection point on the second trajectory by using a binary search method includes: a. defining a third position and a fourth position on the second trajectory, and setting the third position as the connection point, and the fourth position as the end point of the second trajectory; b. defining half of the time required to move from the third position to the fourth position as a second intermediate moment, and defining the position corresponding to the second intermediate moment on the second trajectory as a second intermediate point; c. calculating the distance between the second intermediate point and the connection point according to the coordinates of the second intermediate point and the connection point; d. If the distance is greater than the transition radius, then update the second intermediate point to the fourth position and the second intermediate moment to the moment corresponding to the fourth position; otherwise, update the second intermediate point to the third position and the second intermediate moment to the moment corresponding to the third position; e. If the distance between the third position and the fourth position is less than the second allowable error range, the third position is used as the second intersection point and the moment corresponding to the third position is used as the second moment; otherwise, return to step b and continue iterating.

5. The trajectory smooth transition method according to claim 1, characterized in that: Adding the first operating state information and the second operating state information to generate a transition segment trajectory includes: Adding the position of the first running state information and the position of the second running state information and then subtracting the coordinates of the connection point in the joint space to obtain the position of the transition segment trajectory; Adding the speed of the first running state information and the speed of the second running state information to obtain the speed of the transition segment trajectory; The acceleration of the transition segment trajectory is obtained by adding the acceleration of the first operating state information and the acceleration of the second operating state information.

6. A trajectory smooth transition device, comprising: a memory for storing instructions executable by the processor; A processor, configured to execute the instructions to implement the method according to any one of claims 1 to 5.

7. A computer-readable medium storing computer program code, wherein the computer program code implements the method according to any one of claims 1 to 5 when executed by a processor.

Citation Information

Patent Citations

  • Jump motion track planning method capable of setting vertical height and bending angle height

    CN110900597A

  • Transition method and device of processing path, storage medium and computer equipment

    CN114415598A