A method and system for optimizing the trajectory of a robot arm based on acceleration control
By interpolating the motion trajectory of the robotic arm with acceleration control, the problem of sudden starts and stops of the robot was solved, achieving smooth start and stop, and improving motion stability and positioning accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING INST OF RADIO MEASUREMENT
- Filing Date
- 2023-11-22
- Publication Date
- 2026-06-26
AI Technical Summary
Existing offline trajectory planning methods for industrial robots cause the robot to start and stop abruptly at the beginning and end of its movement, resulting in vibration and impact, which affects the work performance and leads to wear and reduced positioning accuracy.
An acceleration-controlled motion trajectory optimization method is adopted. By interpolating the motion trajectory of the robot arm into a straight line and introducing acceleration and deceleration interpolation intervals during the motion, the changes in acceleration and jerk are controlled to ensure their continuity and avoid abrupt changes.
It enables smooth start-up and stopping of the robotic arm, improves the smoothness of the movement process, reduces vibration and impact, and maintains the stability and positioning accuracy of the robot's motion trajectory.
Smart Images

Figure CN117565038B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics. More specifically, it relates to a method and system for optimizing the motion trajectory of a robotic arm based on acceleration control. Background Technology
[0002] Existing offline trajectory planning methods for industrial robots only provide the positional information of each trajectory point and the robot's posture information. The robot exhibits abrupt starts and stops at the beginning and end of its movement, leading to vibration and impact. Although this phenomenon only exists at the beginning and end of a trajectory segment, it still affects the robot's operational efficiency and inevitably leads to wear and tear and reduced positioning accuracy over long-term use. This situation arises because the trajectory planning method lacks distinct acceleration and deceleration intervals, instead resulting in a trajectory with evenly spaced points.
[0003] When the robot begins to move, it accelerates from a standstill to a preset speed via a very short acceleration period, then maintains a constant speed until the end of the movement, at which point it decelerates again in a very short time. Furthermore, the peak accelerations during both the acceleration and deceleration phases are very high throughout the entire movement. Therefore, existing offline trajectory planning methods for industrial robots suffer from abrupt starts and stops at the beginning and end of the motion process, resulting in impact forces due to the enormous acceleration, causing shocks and vibrations in the robot's movement. Summary of the Invention
[0004] The purpose of this invention is to provide a method and system for optimizing the motion trajectory of a robotic arm based on acceleration control, so as to solve at least one of the problems existing in the prior art.
[0005] To achieve the above objectives, the present invention adopts the following technical solution:
[0006] The first aspect of this invention provides a method for optimizing the motion trajectory of a robotic arm based on acceleration control, the method comprising:
[0007] Perform linear trajectory interpolation on the robot arm's motion trajectory;
[0008] The control cycle of the robotic arm is obtained, and the distance the robotic arm moves per second during the movement is calculated based on the control cycle.
[0009] Obtain various parameters of the robotic arm during the motion process;
[0010] The distance of the robot at the corresponding time at the end of each interpolation interval is calculated based on the parameters.
[0011] The number of interpolation points for each cycle of the robot in each interpolation interval and the total number of interpolation points for all cycles in each interpolation interval are calculated based on the control cycle and the parameters.
[0012] The number of interpolation points in each period is equally divided into the corresponding period to obtain the position of the interpolation point, and the distance between the interpolation point and the interpolation start point is calculated.
[0013] The position and orientation of the point to be interpolated are calculated based on the distance between the point to be interpolated and the starting point of interpolation.
[0014] Optionally, each interpolation interval includes an acceleration interpolation interval and a deceleration interpolation interval;
[0015] The motion process includes an acceleration process corresponding to the acceleration interpolation interval, a constant speed process running at maximum speed, and a deceleration process corresponding to the deceleration interpolation interval; wherein
[0016] The starting speed of the acceleration process and the ending speed of the deceleration process are both 0.
[0017] Optionally, the acceleration process includes a first stage in which the jerk increases linearly from 0, a second stage in which the jerk equals its maximum value, a third stage in which the jerk decreases linearly to 0, a fourth stage in which the jerk equals 0, a fifth stage in which the jerk increases linearly from 0 in the opposite direction to the jerk in the first stage, a sixth stage in which the jerk equals its maximum value in the opposite direction to the jerk in the second stage, and a seventh stage in which the jerk decreases linearly to 0 in the opposite direction to the jerk in the third stage.
[0018] The uniform velocity process includes an eighth stage where the jerk is equal to 0;
[0019] The deceleration motion includes a ninth stage where the acceleration increases linearly from 0, opposite to the direction of the acceleration in the first stage; a tenth stage where the acceleration equals its maximum value, opposite to the direction of the acceleration in the second stage; an eleventh stage where the acceleration decreases linearly to 0, opposite to the direction of the acceleration in the third stage; a twelfth stage where the acceleration equals 0; a thirteenth stage where the acceleration increases linearly from 0; a fourteenth stage where the acceleration equals its maximum value; and a fifteenth stage where the acceleration decreases linearly to 0.
[0020] The periods of the first stage, the third stage, the fifth stage, the seventh stage, the ninth stage, the eleventh stage, the thirteenth stage, and the fifteenth stage are equal;
[0021] The periods of the second stage, the sixth stage, the tenth stage, and the fourteenth stage are equal;
[0022] The fourth stage and the twelfth stage have the same cycle.
[0023] Optionally, obtaining the various parameters of the robotic arm during the motion process includes...
[0024] The values of the periods for the first stage, the second stage, the fourth stage, and the eighth stage are determined according to the actual application situation.
[0025] Determine the movement speed of the robotic arm during normal detection based on the actual application situation;
[0026] The jerk coefficient is calculated based on the movement speed of the robotic arm during normal detection and the speed corresponding to each stage;
[0027] The maximum acceleration is calculated based on the acceleration coefficient and the time coordinates within each stage.
[0028] Determine whether the maximum acceleration is less than the preset maximum acceleration;
[0029] If so, the distance of the robot at the corresponding time at the end of each interpolation interval is calculated based on the parameters.
[0030] Optionally, the calculation of the jerk coefficient based on the movement speed of the robotic arm during normal detection and the corresponding speed within each stage includes...
[0031] The jerk coefficient is calculated based on the correspondence between the robot's normal detection speed and the speeds in the first, second, third, fourth, fifth, sixth, and seventh stages; whereby...
[0032] The speed of the robotic arm during normal detection is equal to the speed during the seventh stage.
[0033] Optionally, the step of calculating the maximum acceleration based on the accelerometer coefficient and the time coordinates within each stage includes...
[0034] The acceleration within each stage is calculated based on the acceleration coefficient and the time coordinate within each stage, and the maximum acceleration is obtained based on the acceleration within each stage.
[0035] Optionally, calculating the distance of the robot at the corresponding time at the end of each interpolation interval based on the various parameters includes...
[0036] The displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval and the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval are calculated based on the parameters.
[0037] Optionally, calculating the displacement of the robotic arm at the moment corresponding to the end of the acceleration interpolation interval includes...
[0038] Calculate the integral of the velocity within the seventh stage over the time interval of the seventh stage to obtain the displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval; and
[0039] The calculation of the displacement of the robotic arm at the moment corresponding to the end of the deceleration interpolation interval includes...
[0040] The velocity within the fifteenth stage is integrated over the time interval of the fifteenth stage to obtain the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval.
[0041] Optionally, the step of calculating the number of interpolation points for each cycle of the robot within each interpolation interval and the total number of interpolation points for all cycles within each interpolation interval based on the control cycle and the various parameters includes...
[0042] Calculate the number of interpolation points for the robotic arm in each stage within the acceleration interpolation interval and the total number of interpolation points across all stages within the acceleration interpolation interval; and
[0043] Calculate the number of interpolation points of the robot in each stage within the deceleration interpolation interval and the total number of interpolation points in all stages within the deceleration interpolation interval.
[0044] A second aspect of the present invention provides a motion trajectory optimization system for a robotic arm based on acceleration control, the system comprising:
[0045] The first interpolation module is used to perform linear trajectory interpolation on the robot arm's motion trajectory;
[0046] The first calculation module is used to obtain the control cycle of the robot and calculate the distance the robot moves per second during the movement based on the control cycle.
[0047] The parameter acquisition module is used to acquire various parameters of the robotic arm during the motion process;
[0048] The second calculation module is used to calculate the distance of the robot at the corresponding time at the end of each interpolation interval based on the parameters.
[0049] The third calculation module is used to calculate the number of interpolation points of the robot in each interpolation interval and the total number of interpolation points in all cycles in each interpolation interval based on the control cycle and the various parameters.
[0050] The fourth calculation module is used to equally divide the number of interpolation points in each period into the corresponding period to obtain the position of the interpolation point, and to calculate the distance between the interpolation point and the interpolation start point.
[0051] The fifth calculation module is used to calculate the position and orientation of the point to be interpolated based on the distance between the point to be interpolated and the starting point of interpolation.
[0052] The beneficial effects of this invention are as follows:
[0053] This invention proposes a method for optimizing the motion trajectory of a robotic arm based on acceleration control, which effectively realizes acceleration control during the start-up and stop process of the robotic arm, enabling smooth start-up and stop of the robotic arm; at the same time, trajectory interpolation is performed on the robot, which improves motion stability without changing the robot's motion trajectory. Attached Figure Description
[0054] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
[0055] Figure 1 A schematic diagram of the existing displacement, velocity, acceleration, and jerk curves is shown.
[0056] Figure 2 The diagram shows the displacement, velocity, acceleration, and jerk curves in the acceleration-controlled manipulator trajectory optimization method provided in this embodiment of the invention. Detailed Implementation
[0057] To more clearly illustrate the present invention, the following description, in conjunction with embodiments and accompanying drawings, further explains the invention. Similar components in the drawings are indicated by the same reference numerals. Those skilled in the art should understand that the specific description below is illustrative rather than restrictive and should not be construed as limiting the scope of protection of the present invention.
[0058] like Figure 1 As shown, a complete S-shaped curve motion consists of 7 stages. The initial stage, 1, involves acceleration with a linearly increasing acceleration until the acceleration reaches its maximum value, 'a'. max Phase 2: Continue uniform acceleration with maximum acceleration until time t2. Phase 3: Continue acceleration with a linearly decreasing acceleration until the acceleration reaches zero, at which point the velocity reaches its maximum value V. max Phase 4: Maintain uniform motion until t4; during the deceleration phase, the situation is symmetrical to phases 1, 2, and 3 of the acceleration phase.
[0059] exist Figure 1 In the middle, V max t is the maximum speed at which the robotic arm operates. i (i = 1-7) represents the turning point time of each stage, τ i (i = 1-7) represents the time coordinates of each stage, T i (i = 1-7) represents the continuous running time of each stage, a max J is the maximum acceleration, and J is the jerk.
[0060] exist Figure 1 In the process shown, the jerk J curve undergoes a step change. This abrupt change results in an uneven acceleration curve with an inflection point, causing vibration in the robotic arm detection system. This vibration is amplified, especially when the robotic arm grips the extension rod, thus affecting the reliability of the detection. Therefore, to improve the motion smoothness of the robotic arm detection system and avoid step changes in jerk J, the S-curve acceleration / deceleration control method is improved. The inventors discovered that if the acceleration curve is a higher-order curve of second order or above, the continuity of acceleration and jerk can be guaranteed, thereby avoiding step changes in jerk J. This is called the improved S-curve acceleration / deceleration control algorithm.
[0061] In view of this, one embodiment of the present invention provides a method for optimizing the motion trajectory of a robotic arm based on acceleration control. The method includes: performing linear trajectory interpolation on the robotic arm's motion trajectory; obtaining the control cycle of the robotic arm and calculating the distance traveled per second by the robotic arm during the motion based on the control cycle; obtaining various parameters of the robotic arm during the motion; calculating the distance of the robotic arm at the corresponding time at the end of each interpolation interval based on the various parameters; calculating the number of interpolation points for each cycle and the total number of interpolation points for all cycles within each interpolation interval based on the control cycle and the various parameters; equally dividing the number of interpolation points in each cycle into the corresponding cycle to obtain the position of the interpolation point, and calculating the distance between the interpolation point and the interpolation starting point; and calculating the position and attitude of the interpolation point based on the distance between the interpolation point and the interpolation starting point.
[0062] In a specific example, the basic linear interpolation method is first used to interpolate and optimize a distance near the start and end points of each line in the trajectory planning. Then, the robot's motion trajectory is interpolated in Cartesian space. Based on the improved S-curve acceleration control, the trajectory optimization of the robot in Cartesian trajectory space is realized.
[0063] This embodiment effectively controls the acceleration during the start-up and stop of the robotic arm, enabling smooth start-up and stop. At the same time, trajectory interpolation is performed on the robot to improve motion stability without changing the robot's trajectory.
[0064] In a specific example, linear trajectory interpolation of the robot's motion trajectory includes...
[0065] The formula for calculating the position and orientation of each interpolation point in the linear trajectory interpolation is as follows:
[0066]
[0067] In the formula, x n y n and z n These are the first position component, second position component, and third position component of the nth interpolation point, respectively; α n β n and γ n X1, Y1, and Z1 are the first, second, and third position components of adjacent first trajectory points in the robot's motion trajectory, respectively; X2, Y2, and Z2 are the first, second, and third position components of adjacent second trajectory points in the robot's motion trajectory, respectively; A1, B1, and Γ1 are the first, second, and third position components of adjacent first trajectory points in the robot's motion trajectory, respectively; A2, B2, and Γ2 are the first, second, and third position components of adjacent second trajectory points in the robot's motion trajectory, respectively; κ n It is the ratio of the distance from the nth interpolation point to the interpolation start point to the distance between the first trajectory point and the second trajectory point.
[0068] In a specific example, obtaining the control cycle of the robotic arm and calculating the distance the robotic arm moves per second during its movement based on the control cycle includes:
[0069] A defined cycle for the robotic arm controller system, where the control cycle is T ms, means that it moves 1000 / T points per second during synchronous motion.
[0070] In one possible implementation, the interpolation intervals include an acceleration interpolation interval and a deceleration interpolation interval; the motion process includes an acceleration process corresponding to the acceleration interpolation interval, a constant speed process running at maximum speed, and a deceleration process corresponding to the deceleration interpolation interval; wherein the starting speed of the acceleration process and the ending speed of the deceleration process are both 0.
[0071] In a specific example, based on the actual motion detected by the robotic arm, the start and end speeds of the acceleration and deceleration processes are set to zero. In this case, the operation process is completely symmetrical.
[0072] In one possible implementation, the acceleration process includes a first stage where the jerk increases linearly from 0, a second stage where the jerk equals its maximum value, a third stage where the jerk decreases linearly to 0, a fourth stage where the jerk equals 0, a fifth stage where the jerk increases linearly from 0 in the opposite direction to the jerk in the first stage, a sixth stage where the jerk equals its maximum value in the opposite direction to the jerk in the second stage, and a seventh stage where the jerk decreases linearly to 0 in the opposite direction to the jerk in the third stage; the uniform motion process includes an eighth stage where the jerk equals 0; and the deceleration motion includes a ninth stage where the jerk increases linearly from 0 in the opposite direction to the jerk in the first stage, and a seventh stage where the jerk decreases linearly to 0 in the opposite direction to the jerk in the third stage. The second stage includes the tenth stage where the jerk is in the opposite direction to the jerk and equals its maximum value; the eleventh stage where the jerk is in the opposite direction to the jerk in the third stage and decreases linearly to 0; the twelfth stage where the jerk is equal to 0; the thirteenth stage where the jerk increases linearly from 0; the fourteenth stage where the jerk is equal to its maximum value; and the fifteenth stage where the jerk decreases linearly to 0. The periods of the first, third, fifth, seventh, ninth, eleventh, thirteenth, and fifteenth stages are equal; the periods of the second, sixth, tenth, and fourteenth stages are equal; and the periods of the fourth and twelfth stages are equal.
[0073] In a specific example, the displacement, velocity, acceleration, and jerk J curves are as follows: Figure 2 As shown. Figure 2 As shown, T1 = T3 = T5 = T7 = T9 = T 11 =T 13 =T 15 T2 = T6 = T 10 =T 14 T4 = T 12 .Depend on Figure 2 It can be seen that during the time intervals T1 to T3, the motion undergoes variable acceleration with increasing acceleration; during the time intervals T3 to T4, it undergoes uniform acceleration; during the time intervals T4 to T7, it undergoes variable acceleration with decreasing acceleration; the velocity reaches its maximum value at time T7; before this time interval, the velocity and displacement increase nonlinearly; during the time intervals T7 to T8, the acceleration is 0, and the motion is uniform, while the displacement increases linearly. The changes in acceleration and velocity in the latter half are opposite to those in the first half.
[0074] In a specific example, since T1 = T3 = T5 = T7 = T9 = T 11 =T 13 =T 15 , T2=T6=T10=T14, T4=T 12 That is, the time for T1, T2 and T4 can be determined.
[0075] In one possible implementation, obtaining the various parameters of the robot during the motion process includes determining the period values of the first stage, the second stage, the fourth stage, and the eighth stage according to the actual application; determining the movement speed of the robot during normal detection according to the actual application; calculating the jerk coefficient based on the movement speed of the robot during normal detection and the corresponding speed in each stage; calculating the maximum acceleration based on the jerk coefficient and the time coordinate in each stage; determining whether the maximum acceleration is less than a preset maximum acceleration; if so, calculating the distance of the robot at the corresponding time at the end of each interpolation interval based on the various parameters.
[0076] This embodiment effectively controls the acceleration during the start-up and stop of the robotic arm, enabling smooth start-up and stop. At the same time, trajectory interpolation is performed on the robot to improve motion stability without changing the robot's motion trajectory.
[0077] In a specific example, the formula for calculating the jerk J(t) is:
[0078]
[0079] In the formula, t i (i = 1, 2…15) represents the turning point time of each stage; τ i (i = 1, 2, ... 15) represents the time coordinates of each stage; T1 is the period of the first stage; T2 is the period of the second stage; and k is the jerk coefficient.
[0080] In one possible implementation, calculating the jerk coefficient based on the robot's normal detection speed and the corresponding speed in each stage includes calculating the jerk coefficient based on the correspondence between the robot's normal detection speed and the speeds in the first stage, second stage, third stage, fourth stage, fifth stage, sixth stage, and seventh stage; wherein the robot's normal detection speed is equal to the speed in the seventh stage.
[0081] In a specific example, the movement speed of the robotic arm during normal detection is determined, i.e. Figure 2 V in max Furthermore, the jerk coefficient k is calculated based on the robot's normal operating speed and the formula shown below.
[0082]
[0083] v2 = v1 + 0.5kT1T2(T1 + T2)
[0084]
[0085] v4 = v3 + kT1T4(T1 + T2)
[0086]
[0087] v6 = v5 + 0.5kT1T2(T1 + T2)
[0088]
[0089] v7=V max
[0090] In the formula, v1, v2, v3, v4, v5, v6 and v7 are the velocities of t1, t2, t3, t4, t5, t6 and t7, respectively; T1 is the period of the first stage; T2 is the period of the second stage; T4 is the period of the fourth stage; and k is the jerk coefficient.
[0091] In one possible implementation, calculating the maximum acceleration based on the accelerometer coefficient and the time coordinates within each stage includes calculating the acceleration within each stage based on the accelerometer coefficient and the time coordinates within each stage, and obtaining the maximum acceleration based on the acceleration within each stage.
[0092] In a specific example, the maximum acceleration is determined according to a formula, and it is determined that the maximum acceleration is less than the maximum acceleration of the robot arm's end effector under load. The formula is:
[0093]
[0094] In the formula, t i (i = 1, 2…15) represents the turning point time of each stage; τ i (i = 1, 2, ... 15) represents the time coordinates of each stage; T1 is the period of the first stage; T2 is the period of the second stage; and k is the jerk coefficient.
[0095] In one possible implementation, calculating the distance of the robot at the corresponding moment at the end of each interpolation interval based on the various parameters includes calculating the displacement of the robot at the moment corresponding to the end of the acceleration interpolation interval and the displacement of the robot at the moment corresponding to the end of the deceleration interpolation interval based on the various parameters.
[0096] In one possible implementation, calculating the displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval includes calculating the integral of the velocity within the seventh stage over the time period of the seventh stage to obtain the displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval; and calculating the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval includes calculating the integral of the velocity within the fifteenth stage over the time period of the fifteenth stage to obtain the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval.
[0097] In a specific example, the final displacement S7 at time t7 is determined based on the duration of each cycle and the jerk coefficient k. Specifically, the formula for calculating the velocity at each moment is as follows:
[0098]
[0099] In the formula, t i (i = 1, 2…15) represents the turning point time of each stage; τ i (i = 1, 2, ... 15) represents the time coordinates of each stage; T1 is the period of the first stage; T2 is the period of the second stage; and k is the jerk coefficient.
[0100] In one possible implementation, calculating the number of interpolation points of the robot in each interpolation interval and the total number of interpolation points in all cycles within each interpolation interval based on the control cycle and the various parameters includes calculating the number of interpolation points of the robot in each stage within the acceleration interpolation interval and the total number of interpolation points in all stages within the acceleration interpolation interval; and calculating the number of interpolation points of the robot in each stage within the deceleration interpolation interval and the total number of interpolation points in all stages within the deceleration interpolation interval.
[0101] In a specific example, the number of interpolation points required for each cycle and the total number of interpolation points for the seven cycles before time t7 are determined based on the determined cycle duration, the machine cycle of the robot controller, and the interpolation points for each cycle.
[0102] In a specific example, the number of interpolation points in each period is equally divided within the current period, and then the distance ΔL between the location of the required interpolation point and the starting point of the interpolation is calculated.
[0103] In a specific example, the position and orientation of the difference point are calculated based on the trajectory points at the left and right ends of the distance ΔL from the interpolation starting point and the formula.
[0104] This embodiment effectively controls the acceleration during the start-up and stop of the robotic arm, enabling smooth start-up and stop. At the same time, trajectory interpolation is performed on the robot to improve motion stability without changing the robot's motion trajectory.
[0105] Another embodiment of the present invention provides a robotic arm motion trajectory optimization system based on acceleration control. The system includes a first interpolation module for performing linear trajectory interpolation on the robotic arm's motion trajectory; a first calculation module for acquiring the control cycle of the robotic arm and calculating the distance the robotic arm moves per second during the motion based on the control cycle; a parameter acquisition module for acquiring various parameters of the robotic arm during the motion process; a second calculation module for calculating the distance of the robotic arm at the corresponding time at the end of each interpolation interval based on the various parameters; a third calculation module for calculating the number of interpolation points of the robotic arm in each interpolation interval and the total number of interpolation points in all cycles within each interpolation interval based on the control cycle and the various parameters; a fourth calculation module for equally dividing the number of interpolation points in each cycle into the corresponding cycle to obtain the position of the interpolation point, and calculating the distance between the interpolation point and the interpolation starting point; and a fifth calculation module for calculating the position and attitude of the interpolation point based on the distance between the interpolation point and the interpolation starting point.
[0106] This embodiment effectively controls the acceleration during the start-up and stop of the robotic arm, enabling smooth start-up and stop. At the same time, trajectory interpolation is performed on the robot to improve motion stability without changing the robot's motion trajectory.
[0107] In the description of this invention, it should be noted that the terms "upper," "lower," etc., indicating the orientation or positional relationship are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Unless otherwise expressly specified and limited, the terms "installed," "connected," and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication between two elements. For those skilled in the art, the specific meaning of the above terms in this invention can be understood according to the specific circumstances.
[0108] It should also be noted that in the description of this invention, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0109] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. For those skilled in the art, other variations or modifications can be made based on the above description. It is impossible to exhaustively list all the implementation methods here. All obvious variations or modifications derived from the technical solutions of the present invention are still within the protection scope of the present invention.
Claims
1. A method for optimizing the motion trajectory of a robotic arm based on acceleration control, characterized in that, The method includes Perform linear trajectory interpolation on the robot arm's motion trajectory; The control cycle of the robotic arm is obtained, and the distance the robotic arm moves per second during the movement is calculated based on the control cycle. Obtain various parameters of the robotic arm during the motion process; The distance of the robot at the corresponding time at the end of each interpolation interval is calculated based on the parameters. The number of interpolation points for each cycle of the robot in each interpolation interval and the total number of interpolation points for all cycles in each interpolation interval are calculated based on the control cycle and the parameters. The number of interpolation points in each period is equally divided into the corresponding period to obtain the position of the interpolation point, and the distance between the interpolation point and the interpolation start point is calculated. The position and orientation of the point to be interpolated are calculated based on the distance between the point to be interpolated and the starting point of interpolation; Each interpolation interval includes an acceleration interpolation interval and a deceleration interpolation interval; The motion process includes an acceleration process corresponding to the acceleration interpolation interval, a constant speed process running at maximum speed, and a deceleration process corresponding to the deceleration interpolation interval. in The starting speed of the acceleration process and the ending speed of the deceleration process are both 0. The acceleration process includes a first stage where the jerk increases linearly from 0, a second stage where the jerk equals its maximum value, a third stage where the jerk decreases linearly to 0, a fourth stage where the jerk equals 0, a fifth stage where the jerk increases linearly from 0 in the opposite direction to the jerk in the first stage, a sixth stage where the jerk equals its maximum value in the opposite direction to the jerk in the second stage, and a seventh stage where the jerk decreases linearly to 0 in the opposite direction to the jerk in the third stage. The uniform velocity process includes an eighth stage where the jerk is equal to 0; The deceleration process includes a ninth stage where the jerk increases linearly from 0, opposite to the direction of the jerk in the first stage; a tenth stage where the jerk equals its maximum value, opposite to the direction of the jerk in the second stage; an eleventh stage where the jerk decreases linearly to 0, opposite to the direction of the jerk in the third stage; a twelfth stage where the jerk equals 0; a thirteenth stage where the jerk increases linearly from 0; a fourteenth stage where the jerk equals its maximum value; and a fifteenth stage where the jerk decreases linearly to 0. in The periods of the first stage, the third stage, the fifth stage, the seventh stage, the ninth stage, the eleventh stage, the thirteenth stage, and the fifteenth stage are equal; The periods of the second stage, the sixth stage, the tenth stage, and the fourteenth stage are equal; The fourth stage and the twelfth stage have the same cycle.
2. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 1, characterized in that, The acquisition of various parameters of the robotic arm during the motion process includes The values of the periods for the first stage, the second stage, the fourth stage, and the eighth stage are determined according to the actual application situation. Determine the movement speed of the robotic arm during normal detection based on the actual application situation; The jerk coefficient is calculated based on the movement speed of the robotic arm during normal detection and the speed corresponding to each stage; The maximum acceleration is calculated based on the acceleration coefficient and the time coordinates within each stage. Determine whether the maximum acceleration is less than the preset maximum acceleration; If so, the distance of the robot at the corresponding time at the end of each interpolation interval is calculated based on the parameters.
3. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 2, characterized in that, The calculation of the jerk coefficient based on the robot's normal movement speed and the corresponding speed within each stage includes... The jerk coefficient is calculated based on the correspondence between the movement speed of the robotic arm during normal detection and the speeds in the first stage, second stage, third stage, fourth stage, fifth stage, sixth stage, and seventh stage. in The speed of the robotic arm during normal detection is equal to the speed during the seventh stage.
4. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 3, characterized in that, The calculation of the maximum acceleration based on the acceleration coefficient and the time coordinates within each stage includes... The acceleration within each stage is calculated based on the acceleration coefficient and the time coordinate within each stage, and the maximum acceleration is obtained based on the acceleration within each stage.
5. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 4, characterized in that, The calculation of the distance of the robot at the corresponding time at the end of each interpolation interval based on the parameters includes... The displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval and the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval are calculated based on the parameters.
6. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 5, characterized in that, The calculation of the displacement of the robotic arm at the moment corresponding to the end of the acceleration interpolation interval includes... Calculate the integral of the velocity from the first stage to the seventh stage over the time interval from the first stage to the seventh stage to obtain the displacement of the manipulator at the moment corresponding to the end of the acceleration interpolation interval; and The calculation of the displacement of the robotic arm at the moment corresponding to the end of the deceleration interpolation interval includes... The velocity from the ninth stage to the fifteenth stage is integrated over the time interval from the ninth stage to the fifteenth stage to obtain the displacement of the manipulator at the moment corresponding to the end of the deceleration interpolation interval.
7. The method for optimizing the motion trajectory of a robotic arm based on acceleration control according to claim 6, characterized in that, The calculation of the number of interpolation points for the robot in each interpolation interval and the total number of interpolation points for all cycles in each interpolation interval, based on the control cycle and the various parameters, includes... Calculate the number of interpolation points of the robot in each stage within the acceleration interpolation interval and the total number of interpolation points in all stages within the acceleration interpolation interval; and Calculate the number of interpolation points of the robot in each stage within the deceleration interpolation interval and the total number of interpolation points in all stages within the deceleration interpolation interval.
8. A robotic arm motion trajectory optimization system based on acceleration control, characterized in that, The system includes The first interpolation module is used to perform linear trajectory interpolation on the robot arm's motion trajectory; The first calculation module is used to obtain the control cycle of the robot and calculate the distance the robot moves per second during the movement based on the control cycle. The parameter acquisition module is used to acquire various parameters of the robotic arm during the motion process; The second calculation module is used to calculate the distance of the robot at the corresponding time at the end of each interpolation interval based on the parameters. The third calculation module is used to calculate the number of interpolation points of the robot in each interpolation interval and the total number of interpolation points in all cycles in each interpolation interval based on the control cycle and the various parameters. The fourth calculation module is used to equally divide the number of interpolation points in each period into the corresponding period to obtain the position of the interpolation point, and to calculate the distance between the interpolation point and the interpolation start point. The fifth calculation module is used to calculate the position and orientation of the point to be interpolated based on the distance between the point to be interpolated and the starting point of interpolation; Each interpolation interval includes an acceleration interpolation interval and a deceleration interpolation interval; The motion process includes an acceleration process corresponding to the acceleration interpolation interval, a constant speed process running at maximum speed, and a deceleration process corresponding to the deceleration interpolation interval. in The starting speed of the acceleration process and the ending speed of the deceleration process are both 0. The acceleration process includes a first stage where the jerk increases linearly from 0, a second stage where the jerk equals its maximum value, a third stage where the jerk decreases linearly to 0, a fourth stage where the jerk equals 0, a fifth stage where the jerk increases linearly from 0 in the opposite direction to the jerk in the first stage, a sixth stage where the jerk equals its maximum value in the opposite direction to the jerk in the second stage, and a seventh stage where the jerk decreases linearly to 0 in the opposite direction to the jerk in the third stage. The uniform velocity process includes an eighth stage where the jerk is equal to 0; The deceleration process includes a ninth stage where the jerk increases linearly from 0, opposite to the direction of the jerk in the first stage; a tenth stage where the jerk equals its maximum value, opposite to the direction of the jerk in the second stage; an eleventh stage where the jerk decreases linearly to 0, opposite to the direction of the jerk in the third stage; a twelfth stage where the jerk equals 0; a thirteenth stage where the jerk increases linearly from 0; a fourteenth stage where the jerk equals its maximum value; and a fifteenth stage where the jerk decreases linearly to 0. in The periods of the first stage, the third stage, the fifth stage, the seventh stage, the ninth stage, the eleventh stage, the thirteenth stage, and the fifteenth stage are equal; The periods of the second stage, the sixth stage, the tenth stage, and the fourteenth stage are equal; The fourth stage and the twelfth stage have the same cycle.