Next Article in Journal
Head-Mounted Display for Clinical Evaluation of Neck Movement Validation with Meta Quest 2
Previous Article in Journal
Self-Scheduled LPV Control of Asymmetric Variable-Span Morphing UAV
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints

1
CAS Key Laboratory of On-Orbit Manufacturing and Integration for Space Optics System, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033, China
2
School of Optoelectronics, University of Chinese Academy of Sciences, Beijing 100049, China
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(6), 3074; https://doi.org/10.3390/s23063074
Submission received: 11 February 2023 / Revised: 7 March 2023 / Accepted: 7 March 2023 / Published: 13 March 2023
(This article belongs to the Section Physical Sensors)

Abstract

:
This paper proposes a novel trajectory planning algorithm to design an end-effector motion profile along a specified path. An optimization model based on the whale optimization algorithm (WOA) is established for time-optimal asymmetrical S-curve velocity scheduling. Trajectories designed by end-effector limits may violate kinematic constraints due to the non-linear relationship between the operation and joint space of redundant manipulators. A constraints conversion approach is proposed to update end-effector limits. The path can be divided into segments at the minimum of the updated limitations. On each path segment, the jerk-limited S-shaped velocity profile is generated within the updated limitations. The proposed method aims to generate end-effector trajectory by kinematic constraints which are imposed on joints, resulting in efficient robot motion performance. The WOA-based asymmetrical S-curve velocity scheduling algorithm can be automatically adjusted for different path lengths and start/end velocities, allowing flexibility in finding the time-optimal solution under complex constraints. Simulations and experiments on a redundant manipulator prove the effect and superiority of the proposed method.

1. Introduction

Trajectory planning is a pivotal technique for motion control, determining the efficiency and quality of task execution in electromechanical systems using robots, computerized numerical control (CNC) machine tools, and automatic machines. Interpolation and velocity scheduling can be performed separately in trajectory planning when the task specifies a path. The non-uniform rational B-spline (NURBS) interpolation technique has emerged as a research trend owing to its excellent ability to shape expression and local modification [1,2,3,4], compensating for the shortage of linear and circular interpolation adopted in robots and CNC machines [5,6].
Various velocity-scheduling approaches, also called acceleration and deceleration (Acc/Dec) control algorithms, have been explored to cooperate with interpolation modules and generate feasible trajectories for electromechanical systems along specified paths [7]. From an industrial application perspective, boosting productivity increases economic benefits, making time optimality a major research goal in motion planning. A constant velocity profile with a controlled start–stop phase is recognized as the time-optimal trajectory within the velocity and acceleration limitations of the end-effector. The trapezoidal velocity profile, a linear segment (constant velocity) with parabolic blends, is a common time-optimal trajectory in industrial robots owing to its computational simplicity [8]. However, residual vibrations in mechanical systems cause a conflict between the speed and smoothness of the robot’s motion. The inherent acceleration discontinuity of the trapezoidal velocity profile brings infinite jerks, causing undesired vibrations.
The motion profile with confined jerks obtained using the S-curve Acc/Dec control algorithm has lower residual vibrations than the trapezoidal profile. The S-curve velocity profiles have been widely adopted to generate fast and smooth motion using methods such as finite impulse response (FIR) filtering [9,10,11], polynomial models [12], trigonometric functions [13], spline interpolation [14,15,16,17], and an optimization-based technique [18,19,20,21]. Because the process of S-curve velocity scheduling is intricate and challenging, it is investigated based on a few assumptions to simplify the calculation, the most common of which are summarized as follows.
Assumption 1.
The minimum jerk and acceleration are numerically equal to the maximum jerk and acceleration, respectively [22]. Accordingly, the acceleration and deceleration blocks are symmetric, resulting in a traditional symmetric S-curve (TSS) velocity profile.
Assumption 2.
The duration of the maximum and minimum accelerations is zero [23]. It produces five-phase S-curves without constant acceleration or deceleration phases.
Assumption 3.
The path length is sufficient for maximum velocity and acceleration.
Assumption 4.
The initial and final velocity of the path is zero.
Based on the simplification of Assumption 1, the symmetrical S-shaped motion profile can be derived, which is critical in the smooth trajectory planning method. FIR filters are widely used in the motion control of automation equipment owing to the ease of hardware implementation. Based on FIR filters, the acceleration continuous motion profile was generalized to a generic model with high-order continuity [24], and a time-optimal characteristic of the reference signal was injected [25]. The S-curve of a cubic polynomial can contribute to a tradeoff between motion smoothness and computational complexity. In [26], a time-optimal S-curve trajectory planning approach based on a third-order polynomial model was reported. The motion will be smoother if the snap (the first-order derivative of jerks) or high-order derivative of jerk is limited. Thus, a high-order continuous trajectory is realized by increasing the degree of the polynomial model [27] but causes the Runge phenomenon. The trigonometric function is also an alternative for generating fast movements with low vibration [28], where the jerk can be designed as a sine [29] or cosine waveform [30]. In [22], comparisons between the polynomial and trigonometric S-curve models were presented, and a modified sigmoid function was proposed as jerks to derive the infinite-order continuous motion profile.
Researchers have recently focused on asymmetric S-curves to reduce overshoot and suppress residual vibrations. For the seven-phase symmetrical S-curve, a jerk ratio is added to the deceleration block, differentiating it from the acceleration block; however, the jerk of each block remains equal [31]. Without Assumption 1, the derivation of the AS motion profile that empowers different jerks in each phase becomes more complicated. Some researchers have adopted Assumption 2 for simplification, resulting in a five-phase S-shaped motion profile. The velocity scheduling process is a constrained optimization problem handled by a non-linear programming solver to minimize the execution time [32]. The metaheuristic algorithm can also be applied because of its high computational efficiency and fast convergence. The time-optimal Acc/Dec method for multiple segments with the particle swarm optimization algorithm was introduced in [23] and applied to five-axis machining in [33]. As shown in Figure 1, though the five-phase S-curve is easier to derive formulas than the seven-phase profile, it expends more time when a constant acceleration phase is required to reach the maximum velocity. In [34], based on Assumptions 3 and 4, the rest-to-rest seven-phase freeform S-curve velocity planning method was developed to balance execution efficiency and accuracy for a single-segment path.
In addition, unlike CNC machines with simple kinematics, the relationship between the end effector and joint actuators in serial manipulators is non-linear. The smooth motion profile of the end-effector may lead to infeasible joint trajectories, particularly for redundant manipulators with infinite sets of inverse kinematics solutions. A bidirectional look-ahead (BLA) trajectory planning approach was advocated in [35] to reduce the end-effector velocity based on the velocity and acceleration constraints of the joint actuators but with increased execution time. BLA is a conservative strategy. It concentrates on the dangerous paths where constraint violations occur. However, BLA neglects to explore the potential of robots when joint actuators are far from the kinematic constraints. There is an extended execution time due to the conservative joint movements.
This study proposes a kinematic constraint conversion method from joint to operation space, reshaping the end-effector velocity-limit curve along the specified path. The optimization-based asymmetric S-curve velocity scheduling is performed on each path segment which is divided at the minimum of the velocity-limit curve. The WOA proposed in [36] is adopted to find the optimal traveling time of the motion profile. The advantages of the proposed method are summarized as follows.
  • The end-effector trajectory is essentially designed by the kinematic constraints of joint actuators rather than the operational-space constraints, which are used for the velocity scheduling of CNC machines [37].
  • This study provides an exact velocity-limit curve of the end-effector, not conservative as BLA described in [35]. It helps to explore the maximum capabilities within the kinematic constraints of robots, generating time-optimal trajectories to improve productivity.
  • The meta-heuristic WOA is adopted to find the time-optimal solution. The optimization-based trajectory planning method can flexibly handle complex constraints of the redundant manipulator and avoid solving the deceleration point.
  • The jerk-limited S-shaped velocity profile is categorized into four types depending on the existence of acceleration of deceleration blocks. The WOA-based asymmetric S-curve velocity Acc/Dec can be automatically adjusted for different arc lengths and the starting and ending velocities of a path.
The generated end-effector trajectory is smooth and time-optimal, enabling the maximum capabilities of robots to be unleashed while satisfying both end-effector limits and joint kinematic constraints.
The remainder of this paper is organized as follows. Section 2 proposes the seven-phase asymmetric S-curve Acc/Dec algorithm with the optimization objective of minimizing time. The NURBS trajectory model and time-optimal S-curve trajectory generation method under constraints kinematic are presented in Section 3. The simulation and experimental results in Section 4 and Section 5, respectively, on the self-developed redundant manipulator demonstrate the performance of the proposed trajectory planning approach. Finally, Section 6 concludes the paper.

2. Optimization of the Seven-Phase Asymmetrical S-Curve Acc/Dec Algorithm

This section introduces the minimum-time velocity scheduling method under the end-effector limit. The possible S-shaped velocity distribution of the end-effector can be classified into four categories by the path information given in the operation space. For each case, an optimization model with respect to the time parameter is derived which involves formulas of the seven-phase asymmetrical S-curve Acc/Dec algorithm. The meta-heuristic WOA was adopted to find the optimal solution.

2.1. Basis of the Seven-Phase Asymmetrical S-Curve

The motion profile of the complete asymmetrical Acc/Dec, comprising seven phases, is shown in Figure 2. Phases 1–3 belong to the acceleration block, phase 4 is a constant velocity block, and phases 5–7 belong to the deceleration block.
Tj (j = 1, 2, …, 7) represents the execution time of the jth phase and τ φ = j = 1 φ T j   φ = 1 , 2 ,   ,   7 . Jj (j = 1, 2, …, 7) denotes the jerk magnitude of the jth phase. L is the path length. vs. and ve are the velocity at the start and end points, respectively. aAcc and aDec are the maximum accelerations in the acceleration and deceleration blocks, respectively:
a A c c = J 1 T 1 = J 3 T 3
a D e c = J 5 T 5 = J 7 T 7
According to the acceleration-time curve in Figure 2, a(t) can be formulated as follows:
a t = J 1 t , 0 t τ 1 J 1 τ 1 , τ 1 t τ 2 J 3 t + J 3 τ 2 + J 1 τ 1 , τ 2 t τ 3 0 , τ 3 t τ 4 J 5 t + J 5 τ 4 , τ 4 t τ 5 J 5 τ 5 + J 5 τ 4 , τ 5 t τ 6 J 7 t J 7 τ 6 J 5 τ 5 + J 5 τ 4 , τ 6 t τ 7 ,
The velocity–time relationship v(t) can be derived from its integral relationship with acceleration. The equations for v(t), written as design parameters, are given in Equation (A1) in Appendix A. The integration of the velocity yields the displacement-time relationship x(t), and the corresponding equations are derived in Equation (A2) in Appendix A.
The total displacement x ( τ 7 ) should be equal to the path length L. The velocity at the last instant should be equal to the ending velocity. Thus, the following constraints at the last point are formed:
v τ 7 = v e , x τ 7 = L .
Moreover, the velocity and acceleration at an arbitrary instant should be less than the end-effector motion limits, which gives the constraints of the design parameters as follows:
a t a max ,
v t v max .
where amax and vmax are the maximum acceleration and velocity of the end effector, respectively.

2.2. Parameters Design of the Seven-Phase Asymmetrical S-Curve Acc/Dec

If the given path length L is sufficiently long, an S-curve motion profile with seven full phases can be obtained. However, one or more of these seven phases probably has zero duration. The S-curve may not simultaneously have acceleration, constant velocity, or deceleration blocks if the distance between the start and end points is short. Thus, the first step is to check the travel distance by defining the reference length L ref   = L Acc + L Dec , where:
L A c c = v s + v max v max v s J max , v max v s A max 2 J max 1 2 v s + v max v max v s J max + A max J max , v max v s > A max 2 J max
L D e c = v max + v e v max v e J max , v max v e A max 2 J max 1 2 v max + v e v max v e J max + A max J max , v max v e > A max 2 J max
in which, Jmax, Amax, and vmax are the end-effector jerk, acceleration, and velocity limits, respectively. L Acc and L Dec represent the reference length of the acceleration and deceleration block, respectively, which are calculated by trapezoidal approximation to the corresponding area of the velocity-time curve in Figure 2. For more details, please refer to [37].
Type 1. If L L ref , a long distance is identified. Setting v ( τ 7 ) =   v e ,   x ( τ 7 )   = L based on Equation (4), the jerk of each phase can be derived as follows:
J 1 = 2 T 1 3 C T L ( D T + 3 C T T 7 ) v e ( E T + 3 C T τ 5 ) v s C T ( B T + 3 A T ( τ 5 T 1 ) ) + A T E T J 5 = 2 T 5 3 A T L ( B T + 3 A T ( τ 7 T 1 ) ) v e + ( B T 3 A T 1 ) v s C T ( B T + 3 A T ( τ 5 T 1 ) ) + A T E T J 3 = J 1 T 1 / T 3 J 7 = J 5 T 5 / T 7 J 2 = J 4 = J 6 = 0 ,
where:
A T = T 1 + 2 T 2 + T 3 B T = T 1 2 3 T 2 2 T 3 2 3 T 2 T 3 C T = T 5 + 2 T 6 + T 7 D T = T 5 2 + 3 T 6 2 T 7 2 + 3 T 5 T 6 E T = T 5 2 + 3 T 6 2 + T 7 2 + 3 T 6 T 7 .
According to the jerk-time curve in Figure 2, J2, J4, and J6 are always zero. From Equations (1) and (2), J3 and J7 are related to J1 and J5, respectively. Thus, there are two unknowns, J1 and J5, which can be uniquely determined by Equation (4) of velocity and path length constraints.
Type 2. If L   <   L ref , the travel length is recognized as short. We further determine if an acceleration or deceleration block exists through the relationship between the starting and ending velocities as follows. Type 2.1 does not contain a deceleration block, so there is an unknown J1. If acceleration is absent, the only unknown is J5, which corresponds to Type 2.2. The constraints (4) are impossible to satisfy simultaneously. The path length should be guaranteed primarily. Thus, a relaxed velocity constraint is proposed in that the calculated velocity should be less than the given one at the ending point. Moreover, neither acceleration nor deceleration blocks exist in Type 2.3. The motion profile of the constant velocity block is exclusive once the path length and start velocity are determined.
Type 2.1. If v s   <   v e , there is no deceleration block, that is T 5   = T 6   = T 7   = 0 . Setting x τ 4 =   L based on Equation (4), the jerk of each phase can be expressed as follows:
J 1 = 6 T 1 L ( T 1 + T 2 + T 3 + T 4 ) v s T 1 2 T 3 2 + 3 T 2 T 4 + 3 ( T 1 + T 2 + T 3 ) ( T 2 + T 3 + T 4 ) J 3 = J 1 T 1 / T 3 J 2 = J 4 = J 5 = J 6 = J 7 = 0 .
Accordingly, the resulting velocity of the end point v e , r can be derived, which cannot be higher than v e . Thus, the constraints on the design parameters are specified as follows:
v e , r = v s + 3 A T L ( T 1 + T 2 + T 3 + T 4 ) v s T 1 2 T 3 2 + 6 T 2 T 4 + 3 ( T 1 + T 2 + T 3 ) ( T 2 + T 3 + T 4 ) v e .
Type 2.2. If v s   >   v e , the acceleration block is nonexistent, that is, T 1   = T 2   = T 3   = 0 . Setting x ( τ 7 ) T 1 = T 2 = T 3 = 0 = L based on Equation (4), the jerk of each phase can be denoted as
J 5 = 6 T 5 L ( T 4 + T 5 + T 6 + T 7 ) v s T 5 2 + 3 T 6 2 + 2 T 7 2 + 3 T 5 T 6 + 3 T 5 T 7 + 6 T 6 T 7 J 7 = J 5 T 5 / T 7 J 1 = J 2 = J 3 = J 4 = J 6 = 0 .
The resulting end velocity should be less than v e . The corresponding constraint imposed on the design parameters is given as:
v e , r = v s 3 C T L ( T 4 + T 5 + T 6 + T 7 ) v s T 5 2 + 3 T 6 2 + 2 T 7 2 + 3 T 5 T 6 + 3 T 5 T 7 + 6 T 6 T 7 v e .
Type 2.3. If v s   = v e , the motion profile contains only the constant velocity block and all jerks are zero. In addition, the execution time of the fourth phase is expressed as T 4 = L / v s based on Equation (4), and for other phases, the execution times are zero.
The jerk obtained at each phase of the S-curve should not be less than zero in all cases. The direction is reflected in the signs in Equations (15) and (16), which ensures nonzero jerks.
J 1 0 ,
J 5 0 .

2.3. Principle of the WOA Algorithm

The WOA is a swarm-based meta-heuristic algorithm [36] that is competitive in industrial applications, especially for engineering optimization problems [38]. It mimics the hunting behavior of humpback whales, comprising encircling, attacking, and searching for prey. The mathematical model is described below, and a detailed description can be found in [36].
  • Encircling prey.
The WOA assumes that the current best-search agent is the target prey. The position of other search agents is updated towards the best search agent just as humpback whales encircle their prey and it is formulated as:
D = C X * ( δ ) X ( δ ) ,
X ( δ + 1 ) = X * ( δ ) A D ,
where · denotes element-wise multiplication and   denotes the absolute value. δ denotes the current iteration, X is the position vector, and X * is the position vector of the best-search agent. A and C are the coefficient vectors, defined as:
A = 2 a r a ,
C = 2 r ,
where a decreases linearly from 2 to 0 during the iterations and r is a random vector defined in [0,1].
2.
Bubble-net attack approach (exploitation).
The WOA simulates the attack behavior using two options with equal probabilities: a shrinking encircling mechanism and a spiral updating position. The related mathematical model is as follows:
X ( δ + 1 ) = X * ( δ ) A D , p r < 0.5 D e b l cos ( 2 π l ) + X * ( δ ) , p r > 0.5 ,
where p r is a random number [0,1]. If p r   <   0 . 5 , the search agent performs the shrinking encircling mechanism. The enclosed circle gradually shrinks as the value of a decreases. Otherwise, the spiral model updates the position. D = X * δ X δ represents the distance from an arbitrary search agent to the best one, b is a constant that determines the shape of the logarithmic spiral, l is a random number in [0,1], and · denotes the element-wise multiplication.
The new position of the search agent was located between its original and prey positions when A   <   1 . The restricted but promising search space contributes to the exploitation capability of the WOA.
3.
Search for prey (exploration).
Inspired by the random prey-seeking behavior of humpback whales, the WOA can accomplish global search by setting A > 1 . The search agent is forced away from a randomly selected reference agent, which differs from the exploitation period having the best agent as the reference. The search behavior is modeled as:
D = C X r a n d X ,
X δ + 1 = X r a n d A D ,
where X r a n d represents the position vector of a random search agent.

2.4. WOA-Based Asymmetrical S-Curve Acc/Dec

WOA is adopted to find the best duration (Tj, j = 1,2, …, 7) for each phase of the S-curve and to minimize the execution time of a single NURBS segment. The related pseudocode is presented in Algorithm 1 and is described in detail below.
Algorithm 1. Pseudo-code of WOA-based asymmetrical S-curve Acc/Dec
Input:
(1) Arc length L, start velocity vs, and end velocity ve;
(2) S-curve type.
Output: The best search agent X*.
1:Set the swarm size Ns, maximum iterations Niter, and the weight factor ϑ
2:Initialize the population Xr of whales based on the S-curve type
3:Evaluate the fitness of each search agent using Equation (25)
4:Set X* as the best search agent
5:while (δ < Niter)
6:for each search agent
7: Update a, A, C, l, and pr
8:  if (pr < 0.5)
9:  if (|A| < 1)
10:   Calculate a new position of the current search agent using the first formula in Equation (21)
11:  otherwise (|A| ≥ 1)
12:   Select a random search agent (Xrand)
13:   Calculate a new position of the current search agent using Equation (23)
14:  end if
15:  otherwise (pr > 0.5)
16:  Calculate a new position of the current search agent using the second formula in Equation (21)
17:  end if
18: Check if the new position respects the kinematic constraints
19: If not, discard it. Otherwise, update the current search agent to the new position
20:end for
21: Calculate the fitness of each search agent using Equation (25)
22: Update X* if there is a better solution
23:δ = δ + 1
24:end while
25:return X*
  • Initialize the population of whales based on the S-curve type.
X = X 1 , X 2 , ... , X N s ,
where Xr = {T1, T2, T3, T4, T5, T6, T7} (r = 1,2, …, Ns) represents a potential solution, Ns is the swarm size, and Tj(j = 1,2, …, 7) is the duration of the jth phase of the S-shaped motion profile. If the path is recognized as a short distance, determine whether the S-curve velocity profile contains the acceleration and deceleration blocks by comparing the velocities at the start and end points and set the corresponding duration Tj(j = 1,2, …, 7) as zero.
2.
Evaluate the fitness value of each search agent.
The optimization problem is formulated as a maximal problem. For minimizing the motion time, the fitness function can be specified as:
f i t n e s s = 1 j = 1 7 ϑ j T j ,
where ϑ j is a weight factor imposed on the jth duration Tj(j = 1,2, …, 7) of the S-curve. The best search agent, X*, is determined by comparing the fitness values. A higher value indicates a better search agent.
3.
Determine whether the constraints are satisfied.
Check that the new position of search agent Xr respects the maximum acceleration limits (5), maximum velocity limits (6), and jerk constraints (15) and (16). It is also necessary to judge whether the ending velocity constraint (12) or (14) is met if the S-curve is Type 2.2 or Type 2.3. The path and velocity constraints (4) do not need to be checked again since they are already considered when the designing parameters. The agent is updated to the new position if all constraints are satisfied; otherwise, no update is performed.
The WOA-based asymmetric S-curve Acc/Dec can automatically recognize the absence of acceleration, constant velocity, and deceleration blocks, depending on the path requirements. The duration of each phase of the S-curve can be different and even zero if necessary. The proposed algorithm is applicable to any cases with arbitrary path length and start–stop velocity because it depends on no assumption.
In addition, the optimization methods used to determine the optimal time for each S-curve phase are not specific to the WOA. Other global search algorithms, such as the particle swarm optimization algorithm, grey wolf optimizer, and genetic algorithm, were also suitable. The WOA offers fast computation, good convergence, flexibility, and robustness. Moreover, it has been tested in numerous engineering problems [38]; therefore, it was adopted in this study.

3. Time-Optimal Asymmetric S-Curve Trajectory for Redundant Manipulators

3.1. Trajectory Model Based on the NURBS Interpolation Technique

The NURBS path C(u) can be expressed as:
C u = i = 0 m ω i d i N i , p u i = 0 m ω i N i , p u , u 0 , 1 ,
where p denotes the degree of the NURBS curve; di (i = 0,1, …, m) are the control points, a total of m + 1; ω i is the weights corresponding to the control points that determine the influence on the parametric curve; and N i , p ( u ) is the B-spline basis functions on a non-uniform knot vector U = [ u 0 , u 1 , , u m + p + 1 ] . The ith basis function is recursively expressed as follows:
N i , 0 u = 1 u i u u i + 1 0 o t h e r w i s e N i , p u = u u i u i + p u i N i , p 1 u + u i + p + 1 u u i + p + 1 u i + 1 N i + 1 , p 1 u ,
It is stipulated that 0/0 = 0.
The interpolation parameter u can be discretized as uk = u(kTs) and calculated iteratively as follows:
u k + 1 = u k + v c , k T d C ( u ) d u u k ,
where T denotes the time interval, which is initially set as the sampling time Ts, and vc,k is the trial motion profile of the end-effector at the kth time instant.
The arc length of an interval [ua, ub] on curve C(u) is defined as:
L u = u a u b C u d u ,
where C’(u) = dC(u)/du is the first-order derivative of Equation (26).
The solution of Equation (29) can be calculated using the composite Simpson formula if the interval is sufficiently small as follows:
L u a , u b = L u a , u a + u b 2 + L u a + u b 2 , u b ,
where:
L u a , u a + u b 2 = u b u a 12 L u a + 4 L 3 u a + u b 2 + L u a + u b 2 ,
L u a + u b 2 , u b = u b u a 12 L u a + u b 2 + 4 L u a + 3 u b 2 + L u b ,

3.2. Kinematic Constraint Handling

In general, the kinematic constraints of a redundant manipulator refer to the joint position, velocity, and acceleration limits, prescribed as follows:
q m i n , i q i q m a x , i q ˙ m i n , i q ˙ i q ˙ m a x , i q ¨ m i n , i q ¨ i q ¨ m a x , i ,
where q max , i   ( q min , i ) , q ˙ max , i   ( q ˙ min , i ) ,   and   q ¨ max , i   ( q ¨ min , i ) are the maximum (minimum) joint position, velocity, and acceleration of the ith joint, respectively; i = 1, …, n, n is the number of joints.
As is well known that the kinematic mapping of a manipulator is non-linear between the configuration and operation spaces. The S-shaped motion profile which schedules in operation space based on end-effector limits, that is, the end-effector trial motion profile, may lead to constraint violations in the configuration space. Assuming all joints are successfully confined within the maximum feasible position using the redundancy property, joint actuators may still violate the velocity and acceleration constraints. Thus, the S-curve trajectory designed by end-effector limits yields a set of trial joint trajectories that may be infeasible.
Although the trial joint trajectories cannot be directly used as input to control joint servos, it can be treated as a priori to derive the trial velocity and acceleration values of the ith joint as follows:
q ˙ k + 1 , i = q k + 1 , i q k , i T ,
q ¨ k + 1 , i = q k + 1 , i 2 q k , i + q k 1 , i T 2 .
According to the last two inequation constraints in Equation (33), the scaling time interval, indicating the minimum allowed time to move from q k to q k + 1 when satisfying all joint velocity and acceleration constraints, can be derived by solving the following optimization problem:
min 1 / T k 1 T k subject   to   T k > 0 q ˙ min , i q k + 1 , i q k , i T k q ˙ max , i , i = 1 , ... , n q ¨ min , i q k + 1 , i 2 q k , i + q k 1 , i T k 2 q ¨ max , i , i = 1 , ... , n ,
in which Tk is the kth scaling time interval; q k and q k + 1 are the joint position at the kth and (k + 1)th time instant, respectively; and n is the degree of freedom, which is equal to the number of joints of the redundant manipulator. The angle of joint motion from q k to q k + 1 is certain. If the joint velocity or acceleration exceeds the corresponding limit, the time interval Tk should be increased which is determined by the joint that exceeds the limit the most. Otherwise, Tk can be decreased. It means the joint actuators are allowed to improve motion capabilities before reaching the acceleration or velocity boundary.
The joint motor has the same motion capability in both directions, and the joint velocity and acceleration limits can be rewritten as q ˙ min = - q ˙ lim , q ˙ max = q ˙ lim   and   q ¨ min = - q ¨ lim ,   q ¨ max = q ¨ lim , respectively. By setting Γ k = 1 / T k , Equation (36) can be converted into the following non-linear optimization form:
min Γ k Γ k subject   to   Γ k < 0 q k + 1 q k Γ k q ˙ l i m 0 q k + 1 2 q k q k 1 Γ k 2 q ¨ l i m 0 ,
An interior-point algorithm for non-linear programming [39] was adopted to solve Equation (37). Based on the calculated kth time interval Tk, the end-effector velocity was updated as follows:
v lim , k = v c , k T s / T k ,
If the kth time interval Tk is greater than the sampling time Ts, implying constraint violations from q k to q k + 1 , the end-effector velocity should be reduced to comply with the kinematic constraints of the joint actuators. In contrast, the robot has not released its full potential if Tk < Ts.
The velocity-limit curve (VLC) as a function of the path, which represents the maximum tolerable velocity of the end-effector under the kinematic bounds of the joint actuators, can be treated as a constraint to performing velocity scheduling. Thus, the end-effector maximum velocity constraint (6) can be rewritten as:
v t v lim .

3.3. Time-Optimal Asymmetric S-Curve for Multiple NURBS Segments

Based on the VLC of the end-effector, the critical points where the kinematic constraints of the joint actuators exceed the maximum can be found. The NURBS path is split at these critical points, and velocity scheduling is performed for each segment using the asymmetric S-curve Acc/Dec based on WOA. The pseudocode in Algorithm 2 summarizes this process.
The minimum execution time along the desired path minimizes the execution time for each NURBS segment. If the NURBS curve is divided into Nγ segments, the arc length Lγ (γ = 1,2, …, Nγ) of each segment can be recursively calculated using Equations (29)–(32). The start and end velocities of each segment were determined using the VLC of the end-effector in Equation (38). Based on the method presented in Section 2.2, the S-curve type along the γth NURBS segment can be determined. Thus, each segment can be viewed as a single path to schedule the velocity. The WOA-based asymmetric S-curve Acc/Dec algorithm generates a time-optimal velocity profile for each segment. The time-optimal asymmetric S-curve trajectory for the end-effector which respects all constraints is generated eventually.
Algorithm 2. Time-optimal asymmetric S-curve trajectory generation
Input: VLC of the end-effector along the specified path.
Output: The end-effector desired motion profile.
1:Identify the critical points at local minimum points of VLC in Equation (38)
2:Split the NURBS curve into Nγ segments at critical points
3:Estimate the arc length of each NURBS segment using Equations (29)–(32)
4:Derive the start and end velocities of each segment using the VLC in Equation (38)
5:for each NURBS segment
6: Calculate the reference length using Equations (7) and (8)
7:if LγLref,γ
8:  Call Algorithm 1
9:  Calculate the jerk of each phase of the S-curve using Equation (9)
10:otherwise Lγ < Lref,γ
11:  Determine whether the acceleration and deceleration blocks exist
12  if vs,γ < ve,γ
13:   The deceleration block does not exist
14:   Set T5,γ = T6,γ = T7,γ = 0
15:   Call Algorithm 1
16:   Calculate the jerk of each phase of the S-curve using Equation (11)
17:  otherwise vs,γ > ve,γ
18:   The acceleration block does not exist
19:   Set T1,γ = T2,γ = T3,γ = 0
20:   Call Algorithm 1
21:   Calculate the jerk of each phase of the S-curve using Equation (13)
22:  otherwise vs,γ = ve,γ
23:   Acceleration and deceleration blocks do not exist
24:   Set T1,γ = T2,γ = T3,γ = T5,γ = T6,γ = T7,γ = 0 and T4,γ = Lγ/vs,γ
25:   Set the jerk of each phase of the S-curve as zero
26:   end if
27:end if
28: Calculate the acceleration of each phase using Equation (3)
29: Calculate the velocity of the γth NURBS segment by integrating acceleration
30: Determine the interpolation parameter u using Equation (28)
31: Determine the NURBS path using Equations (26) and (27)
32:end for
33:Derive the asymmetric S-curve trajectory

4. Simulation

Simulations were performed to confirm the feasibility and effectiveness of the proposed time-optimal asymmetric S-curve (TOAS) trajectory planning approach. A comparison with BLA [35] and TSS Acc/Dec control algorithm [37] also demonstrated the efficiency of the proposed method. Moreover, the trajectories generated by the end-effector trial motion profile (TMP) method are analyzed to illustrate the effect of kinematic constraint handling.
A 9-DOF redundant manipulator, self-developed in our laboratory, was employed for simulation. Figure 3 shows the mechanical structure and kinematic model. The representation of forward kinematics depends on the product of the exponential equations, and the related parameters are recorded in Table 1.
Moreover, a virtual model of the robot is used in the simulation without considering the actual control loop performance. For better illustration, the limits of each joint were set to:
q lim = π , π / 2 , π , π / 2 , π , π / 2 , π , π / 2 , π   rad q ˙ lim = 0.8 , 0.8 , 0.9 , 0.9 , 0.9 , 0.9 , 1 , 1 , 1   r a d / s q ¨ lim = 2 , 2 , 3 , 3 , 3 , 3 , 5 , 5 , 5   r a d / s 2 .
The end-effector path employed a diamond-shaped curve constructed from the NURBS curve, as shown in Figure 4. The orientation of the end-effector holds along the entire path. The knot vector, control points, and weight of each control point are listed in Table A1 in Appendix B.
The closed-loop inverse kinematics algorithm is used to achieve kinematic mapping from end-effector to joints; more details can be found in [40]. When the end-effector trial motion profile is designed based on constraints in operational space, as shown in Figure 5, the joint trajectories in Figure 6 can be derived.
The joint positions are bounded within limits owing to redundancy. Although most of the joint velocities are less than the maximum allowed value, joint acceleration overruns occur in the start–stop phase and the four corners of the diamond curve with a large centripetal acceleration, as shown in Figure 6c. Hence, velocity scheduling based only on the end-effector limitations is infeasible for a robot with complicated kinematics. Robotic capabilities are underutilized in some potential places, whereas the possibility of joint constraint violations exists in dangerous places.
In this study, the joint motion shown in Figure 6 is a priori for deriving the end-effector velocity-limit curve. The diamond curve was divided into six segments at the local minimum of the velocity-limit curve. Velocity scheduling was performed for each segment, and the results are shown in Figure 7.
The proposed TOAS method can flexibly deal with the complex constraints of redundant robots, while BLA and TSS require bidirectional scanning from the local minima velocity to satisfy the constraints. Moreover, TSS derives the velocity profile of each segment from the end-effector velocity, acceleration, and jerk limits in the operation space, whereas the TOAS and BLA are guided by the kinematic constraints of the joint actuators. Because the end-effector limitation is related to the configuration of the serial manipulator, as joint motors drive it, a motion profile based on joint mobility can be designed. However, BLA emphasizes velocity scale-down when joint constraints are violated. In contrast, TOAS allows increasing the end-effector velocity when the joint velocity and acceleration have not reached limits. Moreover, TOAS also considers path constraints. The end-effector velocity of the TOAS may not achieve the maximum tolerable velocity if the arc length is not long enough, such as in the motion profiles of the first and sixth segments in Figure 7.
The joint velocity and acceleration curves for the three methods are plotted in Figure 8. The TOAS and BLA consider the joint velocity and acceleration limits during velocity planning. The movements of all joints were confined to the permissible range. TSS provides a similar end-effector motion profile but causes joint constraint violation because only limits in the operation space are considered. Joints 1, 2, and 6 exhibit different degrees of joint acceleration overrun, as observed from the dashed red line in the partial enlargements of Figure 8a,b,f, respectively. Owing to the prior, the velocity scheduling for each segment starts from the local minimum of the end-effector velocity-limit curve. Consequently, the TSS has no serious limit exceedance as TMP, which also only pays attention to the bounds imposed on the end-effector. In addition, TOAS can provide more efficient planning results than BLA and TSS. For a visual comparison, bar charts of the average joint velocity and acceleration are displayed in Figure 9.
TOAS adopts a metaheuristic algorithm to search for time-optimal kinematic parameters within the acceleration and velocity limits of joint actuators to reduce the execution time along the path. As shown in Table 2, when enforcing the same geometric path, BLA and TSS require similar amounts of time, whereas TOAS takes less time and even less time than the TMP situation.
Table 3 and Table 4 enumerate the position and orientation errors of the end-effector. The position error indicates the Euclidean metric between the designed and measured positions of the end effector, which is described in Cartesian coordinates. The orientation error represents the difference in the Euler angles between the measured attitude and the specified one, which must be perpendicular to the yz-plane. TMP suffers from large trajectory-following errors as the kinematic constraints are violated. TSS can maintain a high tracking performance overall but causes large errors when the joint accelerations are slightly out of bounds. TOAS exhibits similar precision to BLA and TSS while providing faster planning results.

5. Experimental Results

Experiments were carried out on the nine-DOF redundant manipulator to illustrate the practicability of the proposed TOAS trajectory planning approach. As shown in Figure 3, the robot features two types of vertical and horizontal joints with nine revolute joints. Each joint consists of a measuring module, driving unit, joint motor, and brake unit. The joint motor is controlled by the driving unit, which communicates with the PC-based control system using the EtherCAT protocol. The control system delivers commands to the robot via TwinCAT automation software at a sampling rate of 200 HZ. Joint information can be collected by a measuring module including two built-in encoders, with a 1000 Hz measurement frequency, which is higher than the control-signal transmission frequency. The absolute encoder collects position information, whereas the incremental encoder returns changes in position, indicating joint velocities. The acceleration values were calculated using numerical differentiation.
The motion system was restricted by the robotic mechanical structure and bandwidth of the control loop. The bandwidth of the velocity loop was 18 Hz. For security purposes, the velocity and acceleration limitations of each joint are set to 0.1 rad/s and 0.5 rad/s2, respectively.
The end-effector path is defined as a butterfly-shaped NURBS curve, as shown in Figure 10. The relevant parameters are listed in Table A2 of Appendix B. The total length of the geometric path is 1.62 m. Specifying the tangential velocity of the end effector as 15 mm/s; the TMP trajectory required 108.885 s to execute. The trial joint trajectories can be obtained as the prior using the closed-loop inverse kinematics algorithm.
The path was divided into thirteen segments based on the velocity limits along the butterfly-shaped NURBS curve. The end-effector velocity of each segment was designed using the WOA-based S-curve velocity-scheduling algorithm, and the motion profile along the path is depicted in Figure 11. The design velocity decreases if the joint constraint is violated at a specified constant velocity. If possible, an increase in the design velocity is allowed under the updated velocity limit, which is the maximum allowed end-effector velocity along the path within the joint motion constraints.
The designed trajectory of the end effector is located on the yz-plane, 0.7 m along the positive x-axis of the base frame {S}, where the whiteboard should be placed. Figure 12 shows the results of the trajectory-tracking experiment.
The position, velocity, and acceleration profiles of each joint derived using the inverse kinematics are shown in Figure 13. The proposed method provides a reasonable joint motion within the allowable range. In addition, TOAS takes 96.755 s to complete the butterfly curve, while TSS and BLA require 113.055 s and 113.195 s, respectively. However, the motion accuracy of the experiment is worse than that simulated on an ideal model because of the influence of the actual controller and intrinsic mechanical structure. The trajectory tracking errors, including the mean position and orientation errors, are listed in Table 5. The TMP causes large path deformations, where the planning result violates the kinematic constraints, saturating the joint motors. The tracking error of the TOAS is of the same magnitude as that of the BLA and TSS. The results illustrate that TOAS provides faster motion than the other two methods while guaranteeing high trajectory tracking performance.

6. Conclusions

We have introduced a TOAS trajectory planning approach to achieve the fast and smooth motion requirements of a specified end-effector path within the kinematic constraints. According to a velocity-limit curve along the specified path, asymmetric S-curve velocity scheduling is performed in segments. The WOA finds the optimal S-shape motion profile. Moreover, it requires no assumption to generate a TOAS for paths with arbitrary arc length and start-end velocity. The metaheuristic WOA improves the flexibility of constraint processing and avoids deciding the deceleration block onset. The feasibility and effectiveness of the method were verified through suitable simulations and experiments on a redundant manipulator. The task execution time along the same NURBS path of the TOAS was approximately 14.5% less than that with BLA and TSS. The time-optimal motion profile with high-accuracy trajectory tracking is designed based on the kinematic constraints of the joint actuators, unlocking the robotic capabilities. The proposed approach can be applied to serial manipulators adopting a numerical method to solve inverse kinematic problems, generating smooth trajectories, and reducing task execution time. However, the TOAS method is offline-based and requires a set of trial joint trajectories as priors to impose joint constraints on the end-effector. In the future, we will explore a real-time approach to address joint velocity and acceleration bounds when designing trajectories in the operation space.

Author Contributions

Conceptualization, T.L.; methodology, T.L.; validation, J.C.; formal analysis, T.L. and Y.L.; data curation, T.L. and S.G.; writing—original draft preparation, T.L.; writing—review and editing, T.L. and J.C.; supervision, M.Z. and L.C.; project administration, M.Z. and L.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (no. 11672290).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data that support the findings of this study are available from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest. We declare that we do not have any commercial or associative interest that represents a conflict of interest in connection with the work submitted.

Appendix A

The velocity–time equation v(t) is derived by integrating acceleration, which can be written in the following form:
v ( t ) = { 1 2 J 1 t 2 + v s 0 t τ 1 J 1 τ 1 t 1 2 J 1 τ 1 2 + v s τ 1 t τ 2 1 2 J 3 t 2 + ( J 3 τ 2 + J 1 τ 1 ) t 1 2 J 3 τ 2 2 1 2 J 1 τ 1 2 + v s τ 2 t τ 3 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + ( J 3 τ 2 + J 1 τ 1 ) τ 3 + v s τ 3 t τ 4 1 2 J 5 t 2 + J 5 τ 4 t 1 2 J 5 τ 4 2 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + ( J 3 τ 2 + J 1 τ 1 ) τ 3 + v s τ 4 t τ 5 ( J 5 τ 5 + J 5 τ 4 ) t + 1 2 J 5 ( τ 5 2 τ 4 2 ) 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + ( J 3 τ 2 + J 1 τ 1 ) τ 3 + v s τ 5 t τ 6 1 2 J 7 t 2 + ( J 7 τ 6 J 5 τ 5 + J 5 τ 4 ) t + 1 2 J 7 τ 6 2 + 1 2 J 5 ( τ 5 2 τ 4 2 ) 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + ( J 3 τ 2 + J 1 τ 1 ) τ 3 + v s τ 6 t τ 7
The position–time equation x(t) is deduced from its integral relationships with velocity, which can be written in the following form:
x ( t ) = { 1 6 J 1 t 3 + v s t 0 t τ 1 1 2 J 1 τ 1 t 2 + ( 1 2 J 1 τ 1 2 + v s ) t + 1 6 J 1 τ 1 3 τ 1 t τ 2 1 6 J 3 t 3 + 1 2 ( J 3 τ 2 + J 1 τ 1 ) t 2 + ( 1 2 J 3 τ 2 2 1 2 J 1 τ 1 2 + v s ) t + 1 6 J 3 τ 2 3 + 1 6 J 1 τ 1 3 τ 2 t τ 3 ( 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + J 3 τ 3 τ 2 + J 1 τ 3 τ 1 + v s ) t + 1 3 J 3 τ 3 3 + 1 6 J 3 τ 2 3 + 1 6 J 1 τ 1 3 1 2 J 3 τ 3 2 τ 2 1 2 J 1 τ 3 2 τ 1 τ 3 t τ 4 1 6 J 5 t 3 + 1 2 J 5 τ 4 t 2 + ( 1 2 J 5 τ 4 2 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + J 3 τ 3 τ 2 + J 1 τ 3 τ 1 + v s ) t + 1 6 J 5 τ 4 3 + 1 3 J 3 τ 3 3 + 1 6 J 3 τ 2 3 + 1 6 J 1 τ 1 3 1 2 J 3 τ 3 2 τ 2 1 2 J 1 τ 3 2 τ 1 τ 4 t τ 5 1 2 J 5 ( τ 5 τ 4 ) t 2 + ( 1 2 J 5 ( τ 5 2 τ 4 2 ) 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + J 3 τ 3 τ 2 + J 1 τ 3 τ 1 + v s ) t + 1 6 J 5 ( τ 5 3 + τ 4 3 ) + 1 3 J 3 τ 3 3 + 1 6 J 3 τ 2 3 + 1 6 J 1 τ 1 3 1 2 J 3 τ 3 2 τ 2 1 2 J 1 τ 3 2 τ 1 τ 5 t τ 6 1 6 J 7 t 3 + 1 2 ( J 7 τ 6 J 5 τ 5 + J 5 τ 4 ) t 2 + ( 1 2 J 7 τ 6 2 + 1 2 J 5 ( τ 5 2 τ 4 2 ) 1 2 J 3 ( τ 3 2 + τ 2 2 ) 1 2 J 1 τ 1 2 + J 3 τ 3 τ 2 + J 1 τ 3 τ 1 + v s ) t 1 6 J 7 τ 6 3 + 1 6 J 5 ( τ 5 3 + τ 4 3 ) + 1 3 J 3 τ 3 3 + 1 6 J 3 τ 2 3 + 1 6 J 1 τ 1 3 1 2 J 3 τ 3 2 τ 2 1 2 J 1 τ 3 2 τ 1 τ 6 t τ 7

Appendix B

Table A1 lists the parameters of the diamond-shaped NURBS curve in Figure 4, including the degree, knot vector, control points, and weight of each control point.
Table A1. Parameters of t diamond-shaped curve.
Table A1. Parameters of t diamond-shaped curve.
ItemsParameters
Degree: p2
Knot vector: U1×120, 0, 0, 0.25, 0.25, 0.50, 0.50, 0.75, 0.75, 1.00, 1.00, 1.00
Weights: ω1×91.00, 10.00, 1.00, 10.00, 1.00, 10.00, 1.00, 10.00, 1.00
Control points: d9×3(m)(0.70, −0.15, 1.00); (0.70, 0, 1.10); (0.70, 0.15, 1.00); (0.70, 0.30, 0.90); (0.70, 0.15, 0.80); (0.70, 0, 0.70); (0.70, −0.15, 0.80); (0.70, −0.30, 0.90); (0.70, −0.15, 1.00);
Table A2 lists the parameters of the butterfly-shaped NURBS curve in Figure 10, including the degree, knot vector, control points, and weight of each control point.
Table A2. Parameters of a butterfly-shaped curve.
Table A2. Parameters of a butterfly-shaped curve.
ItemsParameters
Degree: p2
Knot vector: U1×550, 0, 0, 0, 0.0083, 0.0150, 0.0361, 0.0855, 0.1293, 0.1509, 0.1931, 0.2273, 0.2435, 0.2561, 0.2692, 0.2889, 0.3170, 0.3316, 0.3482, 0.3553, 0.3649, 0.3837, 0.4005, 0.4269, 0.4510, 0.4660, 0.4891, 0.5000, 0.5109, 0.5340, 0.5489, 0.5731, 0.5994,
0.6163, 0.6351, 0.6447, 0.6518, 0.6683, 0.6830, 0.7111, 0.7307, 0.7439, 0.7565, 0.7729, 0.8069, 0.8491, 0.8707, 0.9145, 0.9639, 0.9850, 0.9917, 1, 1, 1, 1
Weights: ω1×551.00, 1.00, 1.00, 1.20, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 2.00, 1.00, 1.00, 5.00, 3.00, 1.00, 1.10, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.10, 1.00, 3.00, 5.00, 1.00, 1.00, 2.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.20, 1.00, 1.00, 1.00
Control points: d55×3(m)(0.700, 0, 1.009); (0.700, 0.004, 1.009); (0.700, 0.006, 0.998); (0.700, 0.009, 0.980); (0.700, 0.060, 1.005); (0.700, 0.093, 1.034); (0.700, 0.144, 1.068); (0.700, 0.206, 1.055); (0.700, 0.184, 0.990); (0.700, 0.160, 0.960); (0.700, 0.152, 0.922); (0.700, 0.116, 0.935); (0.700, 0.150, 0.914); (0.700, 0.140, 0.882); (0.700, 0.115, 0.862); (0.700, 0.136, 0.819); (0.700, 0.106, 0.837); (0.700, 0.101, 0.858); (0.700, 0.086, 0.834); (0.700, 0.063, 0.850); (0.700, 0.039, 0.867); (0.700, 0.022, 0.888); (0.700, 0.005, 0.945); (0.700, 0.010, 0.900); (0.700, 0.021, 0.879); (0.700, 0, 0.860); (0.700, −0.021, 0.879); (0.700, −0.010, 0.900); (0.700, −0.005, 0.945); (0.700, −0.022, 0.888); (0.700, −0.039, 0.867); (0.700, −0.063, 0.850);(0.700, −0.086, 0.834); (0.700, −0.101, 0.858); (0.700, −0.106, 0.837); (0.700, −0.136, 0.819); (0.700, −0.115, 0.862); (0.700, −0.140, 0.882); (0.700, −0.150, 0.914); (0.700, −0.116, 0.935); (0.700, −0.152, 0.922); (0.700, −0.160, 0.960); (0.700, −0.184, 0.990); (0.700, −0.206, 1.055); (0.700, −0.144, 1.068); (0.700, −0.093, 1.034); (0.700, −0.060, 1.005); (0.700, −0.009, 0.980); (0.700, −0.006, 0.998); (0.700, −0.004, 1.009); (0.700, 0, 1.009);

References

  1. Ji, S.; Lei, L.; Zhao, J.; Lu, X.; Gao, H. An adaptive real-time NURBS curve interpolation for 4-axis polishing machine tool. Robot. Comput.-Integr. Manuf. 2021, 67, 102025. [Google Scholar] [CrossRef]
  2. Tsai, M.-S.; Nien, H.-W.; Yau, H.-T. Development of an integrated look-ahead dynamics-based NURBS interpolator for high precision machinery. Comput.-Aided Des. 2008, 40, 554–566. [Google Scholar] [CrossRef]
  3. Lee, A.-C.; Lin, M.-T.; Pan, Y.-R.; Lin, W.-Y. The feedrate scheduling of NURBS interpolator for CNC machine tools. Comput.-Aided Des. 2011, 43, 612–628. [Google Scholar] [CrossRef]
  4. Wu, G.; Zhao, W.; Zhang, X. Optimum time-energy-jerk trajectory planning for serial robotic manipulators by reparameterized quintic NURBS curves. Proc. Inst. Mech. Eng. Part C-J. Mech. Eng. Sci. 2021, 235, 4382–4393. [Google Scholar] [CrossRef]
  5. Wang, W.; Hu, C.; Zhou, K.; He, S.; Zhu, L. Local asymmetrical corner trajectory smoothing with bidirectional planning and adjusting algorithm for CNC machining. Robot. Comput.-Integr. Manuf. 2021, 68, 102058. [Google Scholar] [CrossRef]
  6. He, S.; Yan, C.; Deng, Y.; Lee, C.-H.; Zhou, X. A tolerance constrained G(2) continuous path smoothing and interpolation method for industrial SCARA robots. Robot. Comput.-Integr. Manuf. 2020, 63, 101907. [Google Scholar] [CrossRef]
  7. Sun, Y.W.; Jia, J.J.; Xu, J.T.; Chen, M.S.; Niu, J.B. Path, feedrate and trajectory planning for free-form surface machining: A state-of-the-art review. Chin. J. Aeronaut. 2022, 35, 12–29. [Google Scholar] [CrossRef]
  8. Montalvo, V.; Estevez-Ben, A.A.; Rodriguez-Resendiz, J.; Macias-Bobadilla, G.; Mendiola-Santibanez, J.D.; Camarillo-Gomez, K.A. FPGA-Based Architecture for Sensing Power Consumption on Parabolic and Trapezoidal Motion Profiles. Electronics 2020, 9, 1301. [Google Scholar] [CrossRef]
  9. Biagiotti, L.; Melchiorri, C. Trajectory generation via FIR filters: A procedure for time-optimization under kinematic and frequency constraints. Control Eng. Pract. 2019, 87, 43–58. [Google Scholar] [CrossRef]
  10. Besset, P.; Béarée, R. FIR filter-based online jerk-constrained trajectory generation. Control Eng. Pract. 2017, 66, 169–180. [Google Scholar] [CrossRef] [Green Version]
  11. Ha, C.-W.; Lee, D. Analysis of Embedded Prefilters in Motion Profiles. IEEE Trans. Ind. Electron. 2018, 65, 1481–1489. [Google Scholar] [CrossRef]
  12. 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]
  13. Li, H.Z.; Le, M.D.; Gong, Z.M.; Lin, W. Motion Profile Design to Reduce Residual Vibration of High-Speed Positioning Stages. IEEE-ASME Trans. Mechatron. 2009, 14, 264–269. [Google Scholar]
  14. Liang, F.; Yan, G.; Fang, F. Global time-optimal B-spline feedrate scheduling for a two-turret multi-axis NC machine tool based on optimization with genetic algorithm. Robot. Comput.-Integr. Manuf. 2022, 75, 102308. [Google Scholar] [CrossRef]
  15. Liu, H.; Lai, X.; Wu, W. Time-optimal and jerk-continuous trajectory planning for robot manipulators with kinematic constraints. Robot. Comput.-Integr. Manuf. 2013, 29, 309–317. [Google Scholar] [CrossRef]
  16. Mercy, T.; Jacquod, N.; Herzog, R.; Pipeleers, G. Spline-Based Trajectory Generation for CNC Machines. IEEE Trans. Ind. Electron. 2019, 66, 6098–6107. [Google Scholar] [CrossRef]
  17. 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]
  18. Ma, J.W.; Gao, S.; Yan, H.T.; Lv, Q.; Hu, G.Q. A new approach to time-optimal trajectory planning with torque and jerk limits for robot. Robot. Auton. Syst. 2021, 140, 103744. [Google Scholar] [CrossRef]
  19. Jahanpour, J.; Alizadeh, M.R. A novel acc-jerk-limited NURBS interpolation enhanced with an optimized S-shaped quintic feedrate scheduling scheme. Int. J. Adv. Manuf. Technol. 2015, 77, 1889–1905. [Google Scholar] [CrossRef]
  20. Lin, J.; Somani, N.; Hu, B.; Rickert, M.; Knoll, A. An Efficient and Time-Optimal Trajectory Generation Approach for Waypoints Under Kinematic Constraints and Error Bounds. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 5869–5876. [Google Scholar]
  21. Wang, F.; Wu, Z.; Bao, T. Time-Jerk optimal Trajectory Planning of Industrial Robots Based on a Hybrid WOA-GA Algorithm. Processes 2022, 10, 1014. [Google Scholar] [CrossRef]
  22. Fang, Y.; Hu, J.; Liu, W.; Shao, Q.; Qi, J.; Peng, Y. Smooth and time-optimal S-curve trajectory planning for automated robots and machines. Mech. Mach. Theory 2019, 137, 127–153. [Google Scholar] [CrossRef]
  23. Lu, T.-C.; Chen, S.-L.; Yang, E.C.-Y. Near Time-Optimal S-Curve Velocity Planning for Multiple Line Segments Under Axis Constraints. IEEE Trans. Ind. Electron. 2018, 65, 9582–9592. [Google Scholar] [CrossRef]
  24. Biagiotti, L.; Melchiorri, C. FIR filters for online trajectory planning with time- and frequency-domain specifications. Control Eng. Pract. 2012, 20, 1385–1399. [Google Scholar] [CrossRef] [Green Version]
  25. Biagiotti, L.; Melchiorri, C. Optimization of Generalized S-Curve Trajectories for Residual Vibration Suppression and Compliance with Kinematic Bounds. IEEE-ASME Trans. Mechatron. 2021, 26, 2724–2734. [Google Scholar] [CrossRef]
  26. Hassan, G.; Gouttefarde, M.; Chemori, A.; Hervé, P.E.; Rafei, M.E.; Francis, C.; Sallé, D. Time-Optimal Pick-and-Throw S-Curve Trajectories for Fast Parallel Robots. IEEE/ASME Trans. Mechatron. 2022, 27, 4707–4717. [Google Scholar] [CrossRef]
  27. Lee, D.; Ha, C.-W. Optimization Process for Polynomial Motion Profiles to Achieve Fast Movement with Low Vibration. IEEE Trans. Control Syst. Technol. 2020, 28, 1892–1901. [Google Scholar] [CrossRef]
  28. Fang, Y.; Qi, J.; Hu, J.; Wang, W.; Peng, Y. An approach for jerk-continuous trajectory generation of robotic manipulators with kinematical constraints. Mech. Mach. Theory 2020, 153, 103957. [Google Scholar] [CrossRef]
  29. Li, H.Z. A jerk-constrained asymmetric motion profile for high-speed motion stages to reduce residual vibration. Int. J. Comput. Appl. Technol. 2016, 53, 149–156. [Google Scholar] [CrossRef] [Green Version]
  30. Zhu, Q.; Jin, Y.; Zhu, Y. An optimized cosine jerk motion profile with higher efficiency and flexibility. Assem. Autom. 2022, 42, 350–360. [Google Scholar] [CrossRef]
  31. Rew, K.H.; Kim, K.S. A Closed-Form Solution to Asymmetric Motion Profile Allowing Acceleration Manipulation. IEEE Trans. Ind. Electron. 2010, 57, 2499–2506. [Google Scholar] [CrossRef]
  32. Acharya, P.; Nguyen, K.-D.; La, H.M.; Liu, D.; Chen, I.M. Nonprehensile Manipulation:A Trajectory-Planning Perspective. IEEE-ASME Trans. Mechatron. 2021, 26, 527–538. [Google Scholar]
  33. Kornmaneesang, W.; Chen, S.-L. Time-optimal feedrate scheduling with actuator constraints for 5-axis machining. Int. J. Adv. Manuf. Technol. 2022, 119, 6789–6807. [Google Scholar] [CrossRef]
  34. Bai, Y.; Chen, X.; Sun, H.; Yang, Z. Time-Optimal Freeform S-Curve Profile Under Positioning Error and Robustness Constraints. IEEE/ASME Trans. Mechatron. 2018, 23, 1993–2003. [Google Scholar] [CrossRef]
  35. Trigatti, G.; Boscariol, P.; Scalera, L.; Pillan, D.; Gasparetto, A. A new path-constrained trajectory planning strategy for spray painting robots—Rev.1. Int. J. Adv. Manuf. Technol. 2018, 98, 2287–2296. [Google Scholar] [CrossRef]
  36. Mirjalili, S.; Lewis, A. The Whale Optimization Algorithm. Adv. Eng. Softw. 2016, 95, 51–67. [Google Scholar] [CrossRef]
  37. Du, X.; Huang, J.; Zhu, L.-M. A complete S-shape feed rate scheduling approach for NURBS interpolator. J. Comput. Des. Eng. 2015, 2, 206–217. [Google Scholar] [CrossRef] [Green Version]
  38. Gharehchopogh, F.S.; Gholizadeh, H. A comprehensive survey: Whale Optimization Algorithm and its applications. Swarm Evol. Comput. 2019, 48, 1–24. [Google Scholar] [CrossRef]
  39. Waltz, R.A.; Morales, J.L.; Nocedal, J.; Orban, D. An interior algorithm for nonlinear optimization that combines line search and trust region steps. Math. Program. 2006, 107, 391–408. [Google Scholar] [CrossRef]
  40. Liu, T.; Zhu, M.; Chen, L. Trajectory Planning for Hyper-Redundant Manipulators Based on Lie Theory. In Proceedings of the 2021 IEEE International Conference on Real-time Computing and Robotics (RCAR), Xining, China, 15–19 July 2021; pp. 63–68. [Google Scholar]
Figure 1. Comparison between the seven-phase and five-phase S-curves. Solid red line: seven-phase S-curve; dashed blue line: five-phase S-curve. vs. and ve are the velocity at the start and end points, respectively. vmax is the maximum velocity.
Figure 1. Comparison between the seven-phase and five-phase S-curves. Solid red line: seven-phase S-curve; dashed blue line: five-phase S-curve. vs. and ve are the velocity at the start and end points, respectively. vmax is the maximum velocity.
Sensors 23 03074 g001
Figure 2. Motion profile of seven-phase asymmetric S-curve Acc/Dec.
Figure 2. Motion profile of seven-phase asymmetric S-curve Acc/Dec.
Sensors 23 03074 g002
Figure 3. Mechanical structure and kinematic model of the 9-DOF manipulator. {S} is the base frame and {B} is the frame fixed on the end−effector.
Figure 3. Mechanical structure and kinematic model of the 9-DOF manipulator. {S} is the base frame and {B} is the frame fixed on the end−effector.
Sensors 23 03074 g003
Figure 4. Diamond-shaped curve constructed from the NURBS curve.
Figure 4. Diamond-shaped curve constructed from the NURBS curve.
Sensors 23 03074 g004
Figure 5. End-effector (EE) trial motion profile along the diamond-shaped NURBS path. The dashed black lines divide the arc length at the four corners of the diamond-shaped NURBS path.
Figure 5. End-effector (EE) trial motion profile along the diamond-shaped NURBS path. The dashed black lines divide the arc length at the four corners of the diamond-shaped NURBS path.
Sensors 23 03074 g005
Figure 6. Nine-DOF joint trajectories of the trial motion profile: (a) joint positions; (b) joint velocities; (c) joint accelerations. Dotted grey line: the limits of joint position, velocity, and acceleration.
Figure 6. Nine-DOF joint trajectories of the trial motion profile: (a) joint positions; (b) joint velocities; (c) joint accelerations. Dotted grey line: the limits of joint position, velocity, and acceleration.
Sensors 23 03074 g006
Figure 7. End-effector (EE) velocity profile for different velocity scheduling methods: TOAS (solid yellow line); BLA (dotted blue line); TSS (dashed red line). The dotted grey line is the VLC along the diamond path. The dashed black lines divide the NURBS path into six segments according to the VLC.
Figure 7. End-effector (EE) velocity profile for different velocity scheduling methods: TOAS (solid yellow line); BLA (dotted blue line); TSS (dashed red line). The dotted grey line is the VLC along the diamond path. The dashed black lines divide the NURBS path into six segments according to the VLC.
Sensors 23 03074 g007
Figure 8. Nine-DOF joint velocity and acceleration profile for different velocity scheduling methods, and (ai) correspond to joints 1–9. Solid yellow line: TOAS; dotted blue line: BLA; dashed red line: TSS; dotted grey line: the limits of the joint velocity and acceleration. * represents the motion curves of TOAS nearing limits. Δ represents the motion curves of TSS violating limits.
Figure 8. Nine-DOF joint velocity and acceleration profile for different velocity scheduling methods, and (ai) correspond to joints 1–9. Solid yellow line: TOAS; dotted blue line: BLA; dashed red line: TSS; dotted grey line: the limits of the joint velocity and acceleration. * represents the motion curves of TOAS nearing limits. Δ represents the motion curves of TSS violating limits.
Sensors 23 03074 g008aSensors 23 03074 g008b
Figure 9. Average values of joint velocity and acceleration for the different velocity scheduling methods. (a) Average velocity of each joint; (b) average acceleration of each joint.
Figure 9. Average values of joint velocity and acceleration for the different velocity scheduling methods. (a) Average velocity of each joint; (b) average acceleration of each joint.
Sensors 23 03074 g009
Figure 10. Butterfly-shaped curve constructed from the NURBS curve.
Figure 10. Butterfly-shaped curve constructed from the NURBS curve.
Sensors 23 03074 g010
Figure 11. End-effector (EE) motion profile based on the time-optimal S-curve trajectory planning method. The dotted gray line is the VLC along the butterfly path. The dashed black lines divide the NURBS path into thirteen segments according to the VLC.
Figure 11. End-effector (EE) motion profile based on the time-optimal S-curve trajectory planning method. The dotted gray line is the VLC along the butterfly path. The dashed black lines divide the NURBS path into thirteen segments according to the VLC.
Sensors 23 03074 g011
Figure 12. Experimental results.
Figure 12. Experimental results.
Sensors 23 03074 g012
Figure 13. Nine-DOF joint motion profiles for the proposed time-optimal asymmetric S-curve trajectory planning method. Dotted grey line: the limits of the joint position, velocity, and acceleration in (a) joint position; (b) joint velocity; and (c) joint acceleration.
Figure 13. Nine-DOF joint motion profiles for the proposed time-optimal asymmetric S-curve trajectory planning method. Dotted grey line: the limits of the joint position, velocity, and acceleration in (a) joint position; (b) joint velocity; and (c) joint acceleration.
Sensors 23 03074 g013
Table 1. Kinematics parameters of the 9-DOF manipulator.
Table 1. Kinematics parameters of the 9-DOF manipulator.
iScrew AxisConfiguration
at Zero Position
Parameter Values
(m)
1 ξ 1 = 0 ; 0 ; 1 ; 0 ; 0 ; 0 ; M 0 = 1 0 0 1 0 0 0 0 0 0 0 0 1 d 0 1 d 1 = 0.2878 d 2 = 0.3498 d 3 = 0.3187 d 4 = 0.2940 d 5 = 0.2350 d = d 1 + d 2 + d 3 + d 4 + d 5
2 ξ 2 = 1 ; 0 ; 0 ; d 1 ; 0 ; 0 ;
3 ξ 3 = 0 ; 0 ; 1 ; 0 ; 0 ; 0 ;
4 ξ 4 = 1 ; 0 ; 0 ; d 1 d 2 ; 0 ; 0 ;
5 ξ 5 = 0 ; 0 ; 1 ; 0 ; 0 ; 0 ;
6 ξ 6 = 1 ; 0 ; 0 ; d 1 d 2 d 3 ; 0 ; 0 ;
7 ξ 7 = 0 ; 0 ; 1 ; 0 ; 0 ; 0 ;
8 ξ 8 = 1 ; 0 ; 0 ; d 1 d 2 d 3 d 4 ; 0 ; 0 ;
9 ξ 9 = 0 ; 0 ; 1 ; 0 ; 0 ; 0 ;
Table 2. Execution time for different velocity scheduling methods.
Table 2. Execution time for different velocity scheduling methods.
MethodTMPTOASBLATSS
Time (s)7.0306.9108.0558.100
Table 3. Position errors for different velocity scheduling methods.
Table 3. Position errors for different velocity scheduling methods.
MethodTMPTOASBLATSS
Maximum position errors (m)7.67 × 10−33.53 × 10−42.29 × 10−47.08 × 10−4
Mean position errors (m)4.25 × 10−45.37 × 10−54.44 × 10−56.23 × 10−5
Table 4. Orientation errors for different velocity scheduling methods.
Table 4. Orientation errors for different velocity scheduling methods.
MethodTMPTOASBLATSS
Maximum orientation errors (rad)9.34 × 10−37.93 × 10−57.06 × 10−51.17 × 10−4
Mean orientation errors (rad)6.69 × 10−42.95 × 10−61.15 × 10−68.44 × 10−6
Table 5. Trajectory tracking errors for different velocity scheduling methods.
Table 5. Trajectory tracking errors for different velocity scheduling methods.
MethodTMPTOASBLATSS
Mean position errors (m)2.82 × 10−27.92 × 10−46.38 × 10−41.21 × 10−3
Mean orientation errors (rad)8.13 × 10−33.24 × 10−41.75 × 10−46.67 × 10−4
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

Liu, T.; Cui, J.; Li, Y.; Gao, S.; Zhu, M.; Chen, L. Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints. Sensors 2023, 23, 3074. https://doi.org/10.3390/s23063074

AMA Style

Liu T, Cui J, Li Y, Gao S, Zhu M, Chen L. Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints. Sensors. 2023; 23(6):3074. https://doi.org/10.3390/s23063074

Chicago/Turabian Style

Liu, Tianyu, Jingkai Cui, Yanhui Li, Siyuan Gao, Mingchao Zhu, and Liheng Chen. 2023. "Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints" Sensors 23, no. 6: 3074. https://doi.org/10.3390/s23063074

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