Next Article in Journal
Improving the Spatial Characteristics of Three-Level LUT-Based Mealy FSM Circuits
Next Article in Special Issue
Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing
Previous Article in Journal
Design and Implementation of Two Immersive Audio and Video Communication Systems Based on Virtual Reality
Previous Article in Special Issue
Fiber Tensioning Systems in a Robotized Winding Procedure for Composite Materials Building Processes
 
 
Order Article Reprints
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots

1
School of Mechanical Engineering, Dalian University of Technology, Dalian 116024, China
2
AVIC Optronics, No. 25, Kaiyuan West Road, Xigong District, Luoyang 471000, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(5), 1135; https://doi.org/10.3390/electronics12051135
Received: 22 December 2022 / Revised: 21 February 2023 / Accepted: 23 February 2023 / Published: 26 February 2023

Abstract

:
This work deals with jerk–continuous trajectory planning for robotic manipulators by means of the fourth-order S-curve to ensure motion smoothness. The algorithm presented in this work can cause the acceleration and jerk to stay in a saturated state in order to improve the efficiency of a robot’s programming and operation. Moreover, a multi-axis synchronization planning algorithm is proposed and integrated for enhanced motion stability in terms of generated synchronized and continuous motion trajectories, for which the effectiveness of the proposed trajectory planning algorithm is verified in both the joint and Cartesian spaces. The proposed algorithm does not involve any optimization procedures or iterative processes, as the kinematically constrained trajectory is generated by polynomial equations to realize the real-time motion control of robots. Moreover, the presented algorithm can generate the jerk continuity trajectory, rather than only the acceleration continuity, as in most reported works.

1. Introduction

With the development of automation technology and computer science, industrial robots have been increasingly used in automatic assembly, spot welding, palletizing, drilling, and material handling due to their outstanding flexibility and adaptability [1,2]. As an essential issue in robotic technology, trajectory planning plays an important role in the process of controlling a robot to accomplish required tasks, as the selection of the trajectory significantly affects the stability and reliability of the robot. In trajectory planning, full consideration of the kinematic constraints of a robot can reduce the wear of the actuator and improve the velocity and tracking accuracy. Therefore, kinematic constraints, such as the velocity, acceleration, and jerk of the robot, are commonly considered in trajectory planning [3]. Moreover, real-time motion control is essential for industrial robots; thus, trajectory planning with lower computational complexity and time consumption is preferred.
In order to realize the smooth and fast motion of a robot in the joint or task space, many research works have been reported, in which trajectory planning methods based on polynomial and spline curves are the most commonly adopted [4,5,6,7,8]. Lin et al. [9] presented a robot’s cubic polynomial joint trajectory based on kinematic constraints, which could generate the shortest motion trajectory. One limitation of the previous method was that it could not guarantee the continuity of acceleration. Liu et al. [10] developed quintic polynomial trajectory planning in joint space, and the results showed that the quintic polynomial could continuously ensure smooth acceleration, but with a cusp in the jerk profile. In view of the foregoing issue, Tang et al. [11] divided the task trajectory into multiple segments and used a 4-4-7-4 polynomial (a 4-4-7-4 polynomial trajectory means that three via-points between the starting and end positions are selected to construct four segments of the total path, where the third segment adopts a seventh-order polynomial equation to mathematically depict the trajectory, while the remaining segments adopt a fourth-order polynomial) to plan the trajectory by means of the sequential quadratic programming algorithm (SQP) in order to minimize the execution time, which could ensure the continuity and controllability of the joint jerk curve, together with a reduction in shock and residual vibration. Aiming at the high performance of robots in motion planning, trajectory planning algorithms have also been reported in combination with intelligent optimization algorithms. Machmudah et al. [12] adopted a genetic algorithm (GA) and particle swarm optimization (PSO) to search the feasible sixth-order polynomial trajectories in joint space in a complex geometric environment to optimize the time taken for motion planning while subject to dynamic constraints. Huang et al. [13] proposed a method of using quintic B-spline interpolation in the joint space, and the non-dominated sorting genetic algorithm (NSGA-II) was deployed to obtain the optimal time–jerk trajectory. Kucuk [14] integrated a cubic spline with a seven-order polynomial to construct a smooth motion trajectory with a minimal execution time and an initial zero-impact for serial and parallel robots by means of PSO. On the other hand, most of these trajectory planning methods, which were based on polynomials and splines, required the application of various numerical optimization techniques in order to find the optimal solutions, resulting in increased processing time and hardware resources, which heavily affected the real-time operation of the robots in their applications.
In light of the previous works, this work presents a smooth trajectory generation algorithm that uses a quartic polynomial to represent the motion trajectories of a robot’s joints to realize the real-time motion control of the robot. Moreover, a multi-axis synchronization planning algorithm is integrated to ensure the motion stability. The major advantage of the proposed algorithm lies in the buffeting suppression for the robot joints with the generation of a smooth-motion trajectory (i.e., the C 3 -continuity level, namely, jerk continuity)—which is subject to the optimal execution time without the use of an iterative optimization algorithm—for real-time control.

2. Jerk–Continuous Trajectory Planning

The design of trajectories is a central issue in motion planning for robotic applications—for instance, as depicted in Figure 1, a trajectory can be generated for the accomplishment of the task of a robot from the starting position p s to ending position p e in the Cartesian space, where p s and p e are the functions of the joint variables q s = [ θ 1 s , θ 2 s , ] and q e = [ θ 1 e , θ 2 e , ] , respectively. Particularly for the point-to-point (PTP) task, the S-curve trajectory is a relatively better candidate for minimizing the residual vibrations during a robot’s motions [15,16,17]. In this procedure, different robot performances will be shown, and they heavily depend on the different motion profiles of the actuated joints, which are solved by using the inverse kinematics.
In general, for a given set of constraints (i.e., the maximum values of motion parameters of the joints, e.g., velocity, acceleration, jerk, etc.), increased smoothness of the trajectory will lead to a higher trajectory generation time and computational complexity [18]. It is noteworthy that the total planning time can be reduced to the minimum if the jerk, acceleration, and velocity can reach the peak values rapidly and can stay constant as long as possible [6]; they are constrained to the limitations of the motion parameters. Therefore, the trajectory with the minimum time should include a segment with a constant velocity, acceleration, and jerk, for which the velocity, acceleration, and jerk can reach their allowable maximums. Henceforth, this section presents a modified S-curve trajectory planning algorithm with a continuous jerk for multi-degree-of-freedom (dof) industrial robots in order to obtain the optimal trajectory in terms of execution time and to ensure the motion smoothness while being subject to kinematic constraints.

2.1. From Third-Order to Fourth-Order S-Curve Trajectories

The third-order S-curve trajectory was initially proposed by Castin and Paul [19], and it has become one of the most extensively used trajectory models due to the moderate complexity of the generation of the trajectory in the shortest planning time with the consideration of the jerk constraints.
As shown in Figure 2, the standard form of the third-order S-curve trajectory consists of seven segments, of which the first [ t 0 , t 3 ] and the last three [ t 4 , t 7 ] segments represent the acceleration and deceleration phases, respectively. The motion curves are produced by modifying the trapezoidal velocity profile by limiting the rising time of the acceleration profile [20]. According to the well-known Pontryagin maximum principle [21], the time-optimal jerk curve can be written in a Bang–Bang format, namely,
j ( t ) = j m t 0 t < t 1 , t 6 t < t 7 0 t 1 t < t 2 , t 3 t < t 4 , t 5 t < t 6 j m t 2 t < t 3 , t 4 t < t 5
where j m stands for the maximum jerk constraint, and the time-varying acceleration, velocity, and displacement of the trajectory can be calculated from the integral of the polynomial equation. Compared to the trajectory of a trapezoidal profile featuring a sharp acceleration, the rectangular jerk curve adopted with this motion trajectory can reduce the reaction forces on the robot joints caused by sudden acceleration, leading to a longer service life of the robot. On the other hand, this trajectory has the drawback of a jerk cusp, which will cause the robot to shake at the starting and ending positions of its movements, thus affecting the tracking accuracy. For applications requiring high precision, it is essential to ensure that the jerk curve is continuous to eliminate this shaking.
To handle this problem, a fourth-order S-curve trajectory planning model is introduced to divide each acceleration segment of the previous third-order S-curve trajectory into three independent stages, which causes the overall trajectory curve to have fifteen segments. The advantage of this algorithm is that a smooth trajectory can be planned while being subject to jerk continuity, and the optimal execution time can be solved according to the prescribed boundary conditions and kinematically constrained velocity, acceleration, and jerk. Moreover, by making use of this algorithm, it is possible to realize real-time robot motion control, as it does not involve any iterative processes. Figure 3 depicts the normalized kinematic trajectory. Assuming that the maximum velocity, acceleration, and jerk are set to v max , a max , and j max , that the starting point and velocity are set to q s and v s , and that the position and velocity at the ending position are denoted by q e and v e , consequently, the jerk function of the trajectory can be defined as follows:
j ( t ) = τ i T i j max t 0 t < t 1 , t 12 t < t 13 j max t 1 t < t 2 , t 13 t < t 14 1 τ i T i j max t 2 t < t 3 , t 14 t < t 15 0 t 3 t < t 4 , t 7 t < t 8 , t 11 t < t 12 τ i T i j max t 4 t < t 5 , t 8 t < t 9 j max t 5 t < t 6 , t 9 t < t 10 1 τ i T i j max t 6 t < t 7 , t 10 t < t 11
where t i ( i = 1 , 2 , , 15 ) represents the instantaneous time of each movement transition, and  τ i = t t i 1 represents the zero time at the transition point of each movement phase. The whole trajectory consists of fifteen segments, and the execution time of each segment is defined by T i = t i t i 1 . The relationships among the jerk j ( t ) , acceleration a ( t ) , velocity v ( t ) , and displacement q ( t ) of the fourth-order S-curve trajectory are given by
j ( t ) = a ( t ) = a ( t i ) + t i t j ( τ i ) d t v ( t ) = v ( t i ) + t i t a ( τ i ) d t q ( t ) = q ( t i ) + t i t v ( τ i ) d t
The parameterized motion functions with different time segments are expressed in Table 1.
The motion profiles of the deceleration phase are symmetrical to those of the acceleration phase, which can also be obtained with an integration operation, which will not be described in detail. It can be seen in Figure 3 that in the acceleration phase, the equations of time intervals T 1 = T 3 = T 5 = T 7 and T 2 = T 6 can be derived, and during the deceleration phase, the equations T 9 = T 11 = T 13 = T 15 and T 10 = T 14 exist. Since the velocity profile of the trajectory is symmetrical about the time variations, the time intervals of the acceleration and deceleration phases are equal; therefore, the motion profiles of the trajectory depend on four time intervals, i.e., the time intervals with a varying jerk T s , constant jerk T j , constant acceleration T a , and constant velocity T v . Therefore, the total execution time for the tracking of the overall trajectory is the summation of the 15 time intervals as follows:
T f = i = 1 15 T i = 8 T s + 4 T j + 2 T a + T v
Let us define the rate of change in the jerk over time as a snap, with the maximum allowable snap being s max . The four previously mentioned key time intervals can be calculated with the following equations:
T s = j max s max T j = a max j max T s T a = v max a max T j 2 T s T v = q s q e v max T a 2 T j 4 T s

2.2. Calculation of the Time Parameter

When planning an S-curve trajectory with prescribed constraints, there are many different algorithms for optimizing the execution time. With a fifteen-segment trajectory, the time interval can be calculated by means of Equation (5); particular situations with different motion parameters and trajectory shapes have been reported [22,23]. For instance, a trajectory can be classified into different motion profiles to solve the numerical solutions of the motion parameters [22], and the expected solution will be selected from numerous cases, leading to complex solutions due to the multiple complicated symbolic equations. As shown in Figure 4, eight different profiles of the jerk of a four-order S-curve trajectory exist, which increases the computational burden in the selection of the appropriate trajectory with the aforementioned algorithm. Moreover, the time parameter can also be solved with an iterative algorithm with respect to the classified cases [23], as this can optimize the algorithm to reduce the computation cost; on the other hand, the iterative procedure will increase the time consumption, thus preventing real-time motion control.
In this work, a four-step algorithm is proposed to calculate T s , T j , T a , and T v ; these time parameters are defined in Equation (5). According to the results that are calculated in each step, the trajectory type can be determined, and for different trajectory types, only the time interval of the necessary trajectory segment is essential for calculation in order to avoid redundant data processing for reduced time consumption. A flowchart of the algorithm is depicted in Figure 5 with a detailed interpretation below.
In the first step, by means of Equation (5), the maximum motion parameters can be determined if the time parameters T s , T j , T a , and T v exist:
j max = s max T s a max = s max T s ( T s + T j ) v max = s max T s ( T s + T j ) ( 2 T s + T j + T a ) d max = s max T s ( T s + T j ) ( 2 T s + T j + T a ) ( 4 T s + 2 T j + T a + T v )
where s max represents the maximum allowable snap, which is the second derivative of the acceleration [24], to evaluate the continuity of the jerk.
In the following steps, the calculation of the time intervals with different motion profiles will be presented.

2.2.1. Calculation of Time Interval T s with Varying Jerk

Step 1: Without considering the jerk, acceleration, and velocity constraints (i.e., T j , T a , and T v are nonexistent), the relationship between the maximum displacement d max and the snap s max can be derived based on Equation (6):
| d max | = | d ( t 15 | T j = T a = T v = 0 ) | = 8 T s 4 s max
Moreover, the maximum displacement is calculated as d max = q s q e ; then, the maximum time interval T s is calculated by using the displacement constraint:
T s d = q s q e 8 s max 4
Step 2: Similarly, with Equation (6), the relationship between the maximum velocity v max and the snap s max without the consideration of the jerk and acceleration constraints (i.e., T j and T a are nonexistent) can be solved as follows:
| v max | = | v ( t 7 | T j = T a = 0 ) | = 2 T s 3 s max
Thus, the boundary value of T s is calculated from the following velocity constraint:
T s v = v max 2 s max 3
Step 3: By the same token, without considering the jerk constraint (i.e., T j is nonexistent), the maximum acceleration a max can be expressed in terms of s max :
| a max | = | a ( t 3 | T j = 0 ) | = T s 2 s max
The boundary value of T s is subject to the following acceleration constraint:
T s a = a max s max
Step 4: Finally, the boundary value of T s is directly calculated with the jerk constraint:
T s j = j max s max
To this end, the time interval of the jerk can be determined from the following minimum:
T s = min { T s d , T s v , T s a , T s j }
In accordance with Equation (14), the time interval of the jerk may have the following four different solutions:
Case 1: 
If T s = T s d , the displacement constraint is the only influencing factor that limits the motion time; thus, it is unnecessary to calculate the time intervals of the other trajectory segments, and there are only trajectory segments with varying jerks. In this case, the motion parameters, such as the jerk, acceleration, and velocity, cannot reach their maximum, and the real maximum jerk, acceleration, and velocity are equal to j m = s max T s d , a m = j m T s d , and  v m = 2 a m T s d , respectively.
Case 2: 
If T s = T s v , the maximum velocity can be reached without the maximum jerk and acceleration. In this case, the maximal reachable jerk and acceleration are j m = s max T s v and a m = j m T s v , respectively. For the calculation of the remaining motion parameters, the reader can refer to Section 2.2.4.
Case 3: 
If T s = T s a , the maximum acceleration reaches its maximum without the maximum jerk, and the maximum reachable jerk is j m = s max T s v . For the calculation of the remaining motion parameters, the reader can refer to Section 2.2.3.
Case 4: 
If T s = T s j , for the calculation of the remaining motion parameters, the reader can refer to Section 2.2.2.

2.2.2. Calculation of Time Interval T j with Constant Jerk

If Case 4 in Section 2.2.1 exists, i.e.,  T s = T s j , and the maximum displacement d max can be written as a function of T j without considering the acceleration and velocity constraints from Equation (6), then:
| d max | = | q e q s | = | d ( t 15 | T a = T v = 0 ) | = j max ( 8 T s 3 + 16 T s 2 T j + 10 T s T j 2 + 2 T j 3 )
Accordingly, the maximum jerk j max can be adopted to represent the displacement, since the time calculation is carried out to obtain the maximum allowable jerk, namely, j m = j max . The following calculations can be realized by using a similar approach.
With the displacement constraint, the boundary value of T j is calculated as
| T j d | = T s 3 27 + | q e q s | 4 j max + | q e q s | T s 3 54 j max + | q e q s | 2 16 j max 2 3 + T s 3 27 + | q e q s | 4 j max | q e q s | T s 3 54 j max + | q e q s | 2 16 j max 2 3 5 T s 3
The maximum velocity v max can be calculated with T j without considering the acceleration constraint:
| v max | = | v ( t 7 | T a = 0 ) | = j max ( 2 T s 2 + 3 T s T j + T j 2 )
with the boundary value of T j v being calculated according to the velocity constraint:
T j v = T s 2 4 + v max j max 3 T s 2
Moreover, the maximum acceleration is given by
| a max | = a ( t 3 | = j max ( T s + T j ) )
with the boundary value of T j from the acceleration constraint being
T j a = a max j max T s
Finally, the time interval T j for a motion with constant jerk is calculated as
T j = min { T j d , T j v , T j a }
Similarly to Section 2.2.1, the selection of T j depends on the following three cases:
Case 1: 
If T j = T j d , i.e.,  T a = T v = 0 , only the trajectory segments with varying jerk and constant jerk exist, and the jerk can reach its maximum j max ; therefore, the real maximum acceleration and velocity are calculated as a m = j max ( T s + T j d ) and v m = a m ( 2 T s + T j ) , respectively.
Case 2: 
If T j = T j v , the maximum velocity can reach its maximum without the maximum acceleration, and the real maximum acceleration is calculated as a m = j max ( T s + T j v ) . For the calculation of the other motion parameters, the reader can refer to Section 2.2.4.
Case 3: 
If T j = T j a , for the calculation of the time intervals, the reader can refer to Section 2.2.3.

2.2.3. Calculation of Time Interval T a with Constant Acceleration

As shown in Section 2.2.1 and Section 2.2.2, the time intervals T s = T s j and T j = T j a exist. Without considering the velocity constraint, the maximum displacement d max is calculated in terms of T a as
| d max | = | d ( t 15 | T v = 0 ) | = a max ( 8 T a 2 + 3 T a T j + 6 T s T a + 8 T s 2 + 2 T j 2 + 8 T s T j )
Therefore, according to the displacement constraint, the boundary value of T a is solved as
T a d = 3 T j 2 3 T s + ( 2 T s + T j ) 2 4 + q e q s a max
Moreover, the maximum velocity is calculated as
| v max | = | v ( t 7 ) | = a max ( T a + 2 T s + T j )
and based on the velocity constraint, the boundary value of T a is solved as
T a v = v max a max T j 2 T s
Finally, the time interval T a with a constant acceleration is selected according to
T a = min { T a d , T a v }
In this case, the selection of T a depends on the following two cases:
Case 1: 
If T a = T a d , i.e.,  T v = 0 , due to the limitation on displacement, trajectory segments with a constant velocity do not exist. Although the acceleration can reach its maximum, the velocity cannot, and the real maximum velocity is v m = a max ( 2 T s + T a d ) .
Case 2: 
If T a = T a v , both the maximum acceleration and velocity can reach their maximums, and for the calculation of the motion parameters, the reader can refer to Section 2.2.4.

2.2.4. Calculation of Time Interval T v with Constant Velocity

Combining the previously calculated time intervals (e.g., T s , T j , and T a ) and Equation (26) leads to the time interval of the constant velocity:
T v = q e q s v max ( 4 T s + 2 T j + T a )
So far, the four time intervals ( T s , T j , T a , and T v ) of the S-curve trajectory can be solved analytically case by case. In general, the kinematic constraints on robot joints are prescribed in real industrial applications; therefore, time intervals that are constrained by the acceleration and velocity can be calculated in advance and saved in the robot controller, wherein only the displacement constraints will be taken into consideration in real-time trajectory planning. Since the previously presented algorithm involves all of the trajectory profiles to meet the requirements of the kinematic constraints, it can accomplish trajectory planning with reliable and effective trajectories that are subject to the prescribed displacement. Moreover, the algorithm adopts the continuous trajectory curve of the jerk to ensure the smoothness of the curves of the acceleration and velocity; thus, it can avoid possible joint buffetings when the robot moves. In summary, the proposed algorithm can make the robot reach its maximum acceleration and velocity in the shortest time while aiming at a constrained time-optimal trajectory.

2.3. Time Synchronization of Multi-Axis Motions

As multi-dof mechanical systems, industrial robots are usually composed of multiple joints connected in series or parallel. In robot motion control, attention should be paid to the motion synchronization of each joint during the design of trajectories in the joint space to ensure the motion accuracy of the robot’s end-effector, although each joint can be controlled independently. The planning algorithm presented in Section 2.2 can generate different time-optimal trajectories, but the execution time of each joint will be different due to the different kinematic constraints, which may result in some joints staying in motion while others stop moving, resulting in decreased robot compliance and trajectory tracking precision.
In light of the motion accuracy, it is essential to consider the time synchronization of the motions among the robot’s joints during trajectory planning. Here, synchronization with respect to time means that all joints should complete their motions simultaneously when the robot executes its task, which can improve the stability of the robot when in motion, in addition to ensuring trajectory tracking accuracy. Algorithm 1 depicts the corresponding trajectory planning algorithm for synchronization.
Algorithm 1 Trajectory planning algorithm for multi-axis synchronization
Input: The initial q s ( t 0 ) and final q e ( t f ) positions of the robot and the kinematic constraints { v max , a max , j max }
Output: Time-synchronized motion trajectory
1: Use of the single-joint trajectory planning algorithm to calculate the execution time of trajectory planning for each joint T f , k
2: Selection of the maximum execution time in step 1 as the synchronization time T f s y n c = max { T f , 1 , T f , 2 , , T f , n }
3: Calculation of the synchronization factor λ k = T f s y n c T f , k , k = 1 , 2 , , n
4: Modification of the kinematic constraints of each joint { v max = v max λ k , a max = a max λ k 2 , j max = j max λ k 3 }
5: Calculation of the new motion trajectory according to the new kinematic constraint { v max , a max , j max }
In Algorithm 1, the first stage is the calculation of the minimum execution time of each joint according to the prescribed kinematic constraints; then, the largest one is selected as the normalized time to synchronize the motion trajectories of the remaining joints in order to make all of the joints adapt to the slowest joint’s motion. In this procedure, the optimality of the execution time will be ignored; there are many methods for ensuring synchronous joint motion subject to kinematic constraints. The common approach to reducing the maximum motion parameters is to adopt an iterative algorithm to calculate the time intervals, but this has a high computational burden. In this work, a time-scaling method is applied to modify the geometric trajectory with the aim of handling the problem of parameter tuning, whereby the maximum velocity, acceleration, and jerk of a joint can be reached for an n-axis robot, while the remaining n 1 robot joints will move within the same time. The time-synchronization algorithm is illustrated with a linear trajectory in the Cartesian space; the trajectory ends and the maximum motion parameters are listed in Table 2, and the planning results are shown in Figure 6.
In Figure 6, it can be clearly seen that for the time-unsynchronized trajectory, the motion along the z-axis lasted for the longest time, and the motion along the x-axis took the shortest time. It is noted that the motion parameters along the three axes reached the constrained maximum values. On the other hand, the time-synchronized trajectory ensured that the same time was taken for motion along the three axes; the algorithm presented in Section 2.3 was adopted to adjust the original motions along the y- and z-axes to make the motion times of the latter two consistent with that of the x-axis. Moreover, the maximum motion parameters along the y- and z-axes (i.e., velocity, acceleration, and jerk) decreased along the synchronized trajectory compared to the original motion profiles.

3. Case Study: Trajectory Planning for a Five-Axis Manipulator

In this section, trajectory planning for a five-dof robotic manipulator that is to accomplish a PTP task is illustrated, as depicted in Figure 7. The trajectory planning was carried out in the joint space, where the angular positions of the joints were determined by solving the inverse kinematics according to the initial and final positions of the end-effector in the Cartesian space. Table 3 lists the boundary conditions of the task’s requirements in the joint space and the kinematic limitations of the robotic joints.
In the trajectory planning, the third-order and four-order S-curve trajectories were simulated in combination with the algorithm for multi-joint synchronized motions, and the results are shown in Figure 8. With the time-synchronized trajectory planning algorithms, the displacement, velocity, and acceleration profiles of all of the robotic joints for both trajectories were continuous, and the maximum motion parameters met the requirements of all of the prescribed kinematic constraints of the joints, which could ensure the continuity and stability of the robot’s motion.
On the other hand, it was noteworthy that there was a sudden change in the acceleration curve of the third-order S-curve trajectory, and the jerks did not start and end with zero values, thus introducing a shock when the robot started or stopped moving. By contrast, the algorithm presented in this work was able to produce a trajectory with acceleration smoothness and jerk continuity, which could reduce these disadvantageous effects on the robot’s motion. Moreover, the smoothness of the fourth-order S-curve trajectory was able to effectively avoid the problems of the impact and wear of the mechanical system caused by the frequent and rapid starting and stopping motions of the robot in the picking/placing applications.
To show the effectiveness of the proposed algorithm in S-curve trajectory planning, the computation times are listed in Table 4 and compared to those of different algorithms [25,26]. The computation time for the fourth-order S-curve in the case study was equal to 1.3461 s, which was lower than that of the quintic polynomial and cubic splines. The reason lies in that the algorithm was able to cause the robot to have a maximal driving performance for each joint while meeting its kinematic constraints. Moreover, the computation time for trajectory generation was close to that of the third-order S-curve trajectory. The maximum jerk appeared in the fourth joint, and the maximum jerk for the fourth-order S-curve was smaller than those in previously published works, but was slightly larger than that of the third-order one. It should also be noted that the generated trajectory was continuous on the C 3 level (i.e., the continuity level indicates the continuity of the motion parameters; for example, C 2 indicates acceleration continuity and C 3 indicates jerk continuity), rather than the C 2 level of the reported works [25,26,27,28,29,30]; thus, it could effectively avoid joint buffetings while programming the robot and could ensure the compliance of the robot with start–stop moments.
In terms of computational efficiency, the mean computation time for 100 trajectory generations for the five-dof robot was equal to 1.5 ms in the MATLAB environment, where the PC setup involved an Intel Core i5-9400F 2.90 GHz processor and 8 GB of memory. In light of the computational setup, the algorithm presented in this work can provide real-time motion control for robots.

4. Conclusions

In this work, a trajectory planning algorithm for robotic manipulators was proposed; it considered the jerk continuity, and the fourth-order S-curve was adopted to generate the trajectory to ensure smooth motion and to avoid the unexpected joint buffetings at instantaneous moments when the robot would start to move. With its guaranteed trajectory flexibility, this algorithm can cause the acceleration and jerk to stay in a saturated state, which can improve the efficiency of robot programming. Moreover, a multi-axis synchronization planning algorithm was proposed and integrated for enhanced motion stability of a robot in terms of the generated synchronized and continuous motion trajectories. The effectiveness of the proposed trajectory planning algorithm was verified in both the joint and Cartesian spaces.
The algorithm proposed in this work does not involve any optimization procedures or iterative processes, as the kinematically constrained trajectory is generated by polynomial equations; thus, it features the advantages of real-time motion control for robots. The major advantage of the proposed algorithm lies in the generation of a smooth motion trajectory, which is subject to the optimal execution time, without the use of an iterative optimization algorithm. In addition, it can divide the whole trajectory into multiple smaller segments to speed up the acceleration/deceleration procedure in order to make full use of the motion performance to produce a superior trajectory. Moreover, the generated trajectory can allow the continuity level of jerk continuity to be realized, rather than the acceleration continuity reported in most other works; thus, it can effectively avoid shocks during the robot’s movements. Future work will be devoted to extending the trajectory planning with the consideration of arbitrary boundary conditions that are suitable for applications that take spatially multi-segmented trajectories into account.

Author Contributions

Conceptualization, methodology, data curation, writing—review and editing, supervision, G.W.; software, validation, formal analysis, writing—original draft preparation, N.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Liaoning Province (grant number: 20180520028).

Data Availability Statement

Data available from the authors upon request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gasparetto, A.; Boscariol, P.; Lanzutti, A.; Vidoni, R. Trajectory planning in robotics. Math. Comput. Sci 2012, 6, 269–279. [Google Scholar] [CrossRef]
  2. Moghaddam, M.; Nof, S.Y. Parallelism of pick-and-place operations by multi-gripper robotic arms. Robot. Comput.-Integr. Manuf. 2016, 42, 135–146. [Google Scholar] [CrossRef]
  3. Wei, S.; Han, W.; Huang, M. A trajectory planning algorithm for industrial robots based on kinematics constraints. J. Henan Polytec. Uni. 2020, 39, 91–96. [Google Scholar]
  4. Cook, C.C.; Ho, C.Y. The application of spline functions to trajectory generation for computer-controlled manipulators. In Computing Techniques for Robots; Aleksander, I., Ed.; Springer: Boston, MA, USA, 1985; pp. 101–110. [Google Scholar]
  5. Chen, Y.-C. Solving robot trajectory planning problems with uniform cubic B-splines. Optim. Control Appl. Methods 1991, 12, 247–262. [Google Scholar] [CrossRef]
  6. Nguyen, K.D.; Ng, T.C.; Chen, I.M. On algorithms for planning s-curve motion profiles. Int. J. Adv. Robot. Syst. 2008, 5, 11. [Google Scholar] [CrossRef]
  7. Wu, G.; Zhao, W.; Zhang, X. Optimum time-energy-jerk trajectory planning for serial robotic manipulators by reparameterized quintic NURBS curves. Proc. Ins. Mech. Eng. Part C J. Mech. Eng. Sci. 2021, 235, 4382–4393. [Google Scholar] [CrossRef]
  8. Wu, G.; Zhang, S. Real-time jerk-minimization trajectory planning of robotic arm based on polynomial curve optimization. Proc. Ins. Mech. Eng. Part C J. Mech. Eng. Sci. 2022, 236, 10852–10864. [Google Scholar] [CrossRef]
  9. Lin, C.S.; Chang, P.R.; Luh, J. Formulation and optimization of cubic polynomial joint trajectories for industrial robots. IEEE Trans. Autom. Contrl. 1984, 28, 1066–1074. [Google Scholar] [CrossRef]
  10. Liu, X.L.; Lin, S.G.; Ou, Y.-X. The trajectory planning of manipulator double-Quintic transition. Mach. Des. Manuf. 2014, 4, 40–43. [Google Scholar]
  11. Tang, J.T.; Zhang, J.J.; Wang, X.H.; Yang, G.W.; Qi, K.C. An improved study of robot trajectory planning. Mech. Des. 2017, 34, 31–35. [Google Scholar]
  12. Machmudah, A.; Parman, S.; Zainuddin, A.; Chacko, S. Polynomial joint angle arm robot motion planning in complex geometrical obstacle. Appl. Soft Comput. 2013, 13, 1099–1109. [Google Scholar] [CrossRef]
  13. Huang, J.; Hu, P.; Wu, K.; Zeng, M. Optimal time-jerk trajectory planning for industrial robots. Mech. Mach. Theory 2018, 121, 530–544. [Google Scholar] [CrossRef]
  14. Kucuk, S. Optimal trajectory generation algorithm for serial and parallel manipulators. Robot. Comput. Integr. Manuf. 2017, 48, 219–232. [Google Scholar] [CrossRef]
  15. Meckl, P.H.; Seering, W.P. Minimizing residual vibration for point-to-point motion. Vib. Acous. Streas. Rel. Des. 1985, 107, 378–382. [Google Scholar] [CrossRef]
  16. Meckl, P.H.; Arestides, P.B.; Woods, M.C. Optimized s-curve motion profiles for minimum residual vibration. In Proceedings of the 1998 American Control Conference, Philadelphia, PA, USA, 26 June 1998; pp. 2627–2631. [Google Scholar]
  17. Tsay, D.M.; Lin, C.F. Asymmetrical inputs for minimizing residual response. In Proceedings of the IEEE International Conference on Mechatronics, Taipei, Taiwan, 10–12 July 2005; pp. 235–240. [Google Scholar]
  18. Siciliano, B.; Sciavicco, L.; Oriola, G. Trajectory Planning. In Robotics: Modelling, Planning and Control; Springer: London, UK, 2008; pp. 161–189. [Google Scholar]
  19. Castain, R.H.; Paul, R.P. An on-line dynamic trajectory generator. Int. J. Robot. Res. 1984, 3, 68–72. [Google Scholar] [CrossRef]
  20. Biagiotti, L.; Melchiorri, C. Trajectory Planning for Automatic Machines and Robots; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  21. Pontryagin, L.S. Mathematical Theory of Optimal Processes; Routledge: Oxford, UK, 2018. [Google Scholar]
  22. Lee, A.Y.; Choi, Y. Smooth trajectory planning methods using physical limits. Proc. Ins. Mech. Eng. Part C J. Mech. Eng. Sci. 2014, 229, 2127–2143. [Google Scholar] [CrossRef]
  23. Zhang, X.S.; Zhu, D.K.; Pan, F. Research on S-curve flexible Acc/Dec control algorithm in NC machining. Manuf. Autom. 2020, 42, 68–73, 124. [Google Scholar]
  24. Mellinger, D.; Kumar, V. Minimum snap trajectory generation and control for quadrotors. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 2520–2525. [Google Scholar]
  25. Macfarlane, S.; Croft, E.A. Jerk-bounded manipulator trajectory planning: Design for real-time applications. IEEE Trans. Robot. Autom. 2003, 19, 42–52. [Google Scholar] [CrossRef][Green Version]
  26. Chettibi, T.; Lehtihet, H.; Haddad, M.; Hanchi, S. Minimum cost trajectory planning for industrial robots. Eur. J. Mech. 2004, 23, 703–715. [Google Scholar] [CrossRef]
  27. Huang, T.; Wang, P.F.; Mei, J.P.; Zhao, X.M.; Chetwynd, D.G. Time minimum trajectory planning of a 2-DOF translational parallel robot for pick-and-place operations. CIRP Ann. 2007, 56, 365–368. [Google Scholar] [CrossRef]
  28. Ziegler, J.; Bender, P.; Dang, T.; Stiller, C. Trajectory planning for Bertha-local, continuous method. In Proceedings of the IEEE Intelligent Vehicles Symposium, Dearborn, MI, USA, 8–11 June 2014; pp. 450–457. [Google Scholar]
  29. Dai, Z.; Sheng, X.; Hu, J.; Zhang, D. Design and implementation of Béier curve trajectory planning in DELTA parallel robots. In Proceedings of the8th International Conference, ICIRA 2015, Portsmouth, UK, 24–27 August 2015; pp. 420–430. [Google Scholar]
  30. Min, K.; Ni, F.; Zhang, G.; Shu, X.; Liu, H. A C2 continuous trajectory planning method for 6-DOF rotational robot manipulators. Assem. Autom. 2022, 42, 616–627. [Google Scholar] [CrossRef]
Figure 1. Tracked spatial trajectory of a robot end-effector from the starting position p s to the ending position p e (the original robot CAD model of IRB 4600 was downloaded from the official ABB website).
Figure 1. Tracked spatial trajectory of a robot end-effector from the starting position p s to the ending position p e (the original robot CAD model of IRB 4600 was downloaded from the official ABB website).
Electronics 12 01135 g001
Figure 2. Kinematic trajectory of the third-order S-curve.
Figure 2. Kinematic trajectory of the third-order S-curve.
Electronics 12 01135 g002
Figure 3. Kinematic trajectory of the fourth-order S-curve.
Figure 3. Kinematic trajectory of the fourth-order S-curve.
Electronics 12 01135 g003
Figure 4. Different motion profiles when planning an S-curve trajectory.
Figure 4. Different motion profiles when planning an S-curve trajectory.
Electronics 12 01135 g004
Figure 5. Flowchart of the proposed S-curve trajectory planning algorithm.
Figure 5. Flowchart of the proposed S-curve trajectory planning algorithm.
Electronics 12 01135 g005
Figure 6. Comparison of the planned motion parameters along with a linear trajectory (solid lines—synchronized motion; dashed lines—unsynchronized motion).
Figure 6. Comparison of the planned motion parameters along with a linear trajectory (solid lines—synchronized motion; dashed lines—unsynchronized motion).
Electronics 12 01135 g006
Figure 7. Coordinate systems of a five-dof manipulator and trajectory planning for a PTP task.
Figure 7. Coordinate systems of a five-dof manipulator and trajectory planning for a PTP task.
Electronics 12 01135 g007
Figure 8. Comparison of planned trajectory for the five-DOF manipulator in terms of the motion profiles in the joint space.
Figure 8. Comparison of planned trajectory for the five-DOF manipulator in terms of the motion profiles in the joint space.
Electronics 12 01135 g008
Table 1. The expression of the motion profiles with different time intervals and curve segments.
Table 1. The expression of the motion profiles with different time intervals and curve segments.
TimeFunction of Motion ProfilesNotations
t [ t 0 , t 1 ] j ( t ) = j max T 1 τ 1 a ( t ) = j max 2 T 1 τ 1 2 v ( t ) = j max 6 T 1 τ 1 3 + v s q ( t ) = j max 24 T 1 τ 1 4 + v s τ 1 + q s
t [ t 1 , t 2 ] j ( t ) = j max a ( t ) = j max τ 2 + j max 2 T 1 v ( t ) = j max 2 τ 2 2 + j max 2 T 1 τ 2 + v 1 q ( t ) = j max 6 τ 2 3 + j max 4 T 1 τ 2 2 + v 1 τ 2 + q 1 v 1 = v 0 + j max 6 T 1 2 q 1 = v 0 T 1 + j max 24 T 1 3
t [ t 2 , t 3 ] j ( t ) = j max j max T 3 τ 3 a ( t ) = j max τ 3 j max 2 T 3 τ 3 2 + j max 2 ( T 1 + 2 T 2 ) v ( t ) = j max 2 τ 3 2 j max 6 T 3 τ 3 3 + j max 2 ( T 1 + 2 T 2 ) τ 3 + v 2 q ( t ) = j max 6 τ 2 3 j max 6 T 3 τ 4 3 + j max 4 ( T 1 + 2 T 2 ) τ 3 2 + v 2 τ 3 + q 2 v 2 = v 1 + j max 2 T 2 ( T 1 + T 2 ) q 2 = q 1 + j max 12 T 2 2 ( 2 T 2 + 3 T 1 ) + v 1 T 2
t [ t 3 , t 4 ] j ( t ) = 0 a ( t ) = a max v ( t ) = a max τ 4 v 3 q ( t ) = a max 2 τ 4 2 + v 3 τ 4 + q 3 v 3 = v 2 + j max 6 T 3 ( 3 T 1 + 6 T 2 + 2 T 3 ) q 3 = q 2 + j max 8 T 3 2 ( 2 T 1 + 4 T 2 + T 3 ) + v 2 T 3
t [ t 4 , t 5 ] j ( t ) = j max T 5 τ 5 a ( t ) = j max 2 T 5 τ 5 2 + a max v ( t ) = j max 6 T 5 τ 5 3 + a max τ 5 + v 4 q ( t ) = j max 24 T 5 τ 5 4 + a max 2 τ 5 2 + q 4 v 4 = v 3 + a max T 4 q 4 = q 3 + 2 max 2 T 4 2 + v 3 T 4
t [ t 5 , t 6 ] j ( t ) = j max a ( t ) = j max τ 6 + a max j max 2 T 5 v ( t ) = j max 2 τ 6 2 + a max j max 2 τ 5 τ 6 + v 5 q ( t ) = j max 6 τ 6 3 + 1 2 a max j max 2 τ 5 τ 6 2 + v 5 τ 6 + q 5 v 5 = v 4 a max 6 T 5 2 + a max T 5 q 5 = q 4 j max 24 T 5 3 + a max 2 T 5 2 + v 4 T 5
t [ t 6 , t 7 ] j ( t ) = j max + j max T 7 τ 7 a ( t ) = j max τ 7 + j max 2 T 7 τ 7 2 + a max j max 2 T 5 j max T 6 v ( t ) = j max 2 τ 7 2 + j max 6 T 7 τ 7 3 + a max j max 2 T 5 j max T 7 τ 7 + v 6 q ( t ) = j max 6 τ 7 3 j max 24 T 7 τ 7 4 + 2 a max j max T 5 2 j max T 1 4 τ 7 2 + v 6 τ 7 + q 6 v 6 = v 5 j max 2 T 6 2 + a max j max 2 T 5 T 6 q 6 = q 5 + 6 a max 3 j max T 5 2 j max T 6 12 T 6 2 + v 5 T 6
t [ t 7 , t 8 ] j ( t ) = 0 a ( t ) = 0 v ( t ) = v 7 q ( t ) = v 7 τ 8 + q 7 v 7 = v 6 j max 3 T 7 2 + a max j max 2 T 5 j max T 6 T 7 q 7 = q 6 j max 8 T 7 3 + 2 a max j max T 5 2 j max T 6 4 T 7 2
Table 2. Linear trajectory and the maximum motion parameters.
Table 2. Linear trajectory and the maximum motion parameters.
AxisInitial Position [ m ] Final Position [ m ] Velocity [ m / s ] Acceleration [ m / s 2 ] Jerk [ m / s 3 ]
x032440
y021.4535
z01.51.2335
Table 3. Desired positions and kinematic motion limits of the robot’s joints.
Table 3. Desired positions and kinematic motion limits of the robot’s joints.
Joint12345
Angular position [ rad ] Initial00000
Final π / 6 π / 4 π / 3 π / 2 π / 3
Kinematic constraintsVelocity  [ rad / s ] 11.41.423
Acceleration  [ rad / s 2 ] 35578
Jerk  [ rad / s 3 ] 2535404040
Table 4. Comparison of the results of multiple trajectory planning methods.
Table 4. Comparison of the results of multiple trajectory planning methods.
Trajectory ModelCalculation Time [ s ] Maximal Jerk [ rad / s 3 ] Continuity Level
Quintic polynomial [25]1.466740 (Joint 4) C 2
Cubic spline [26]2.167939.83 (Joint 4) C 2
Third-order S-curve1.273439.06 (Joint 4) C 2
Fourth-order S-curve1.346139.38 (Joint 4) C 3
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wu, G.; Zhang, N. Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots. Electronics 2023, 12, 1135. https://doi.org/10.3390/electronics12051135

AMA Style

Wu G, Zhang N. Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots. Electronics. 2023; 12(5):1135. https://doi.org/10.3390/electronics12051135

Chicago/Turabian Style

Wu, Guanglei, and Ning Zhang. 2023. "Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots" Electronics 12, no. 5: 1135. https://doi.org/10.3390/electronics12051135

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop