Skip to main content

Velocity Constraints Based Approach for Online Trajectory Planning of High-Speed Parallel Robots


High-speed parallel robots have been extensively utilized in the light industry. However, the influence of the nonlinear dynamic characteristics of high-speed parallel robots on system’s dynamic response and stable operation cannot be ignored during the high-speed reciprocating motion. Thus, trajectory planning is essential for efficiency and stability from pick-and-place (PAP) actions. This paper presents a method for planning the equal-height pick-and-place trajectory considering velocity constraints to improve the PAP efficiency and stability of high-speed parallel robots. The velocity constraints in the start-and-end points can reduce vibration from picking and placing, making the trajectory more suitable to complex beltline situations. Based on velocity constraints, trajectory optimization includes trajectory smoothness and joint torque to optimize cycle time is carried out. This paper proposes an online trajectory optimization solution. By using back propagation (BP) neural networks, the solution is simplified and can be solved in real-time. Simulation and experiments were carried out on the SR4 parallel robot. The results show that the proposed method improves the efficiency, smoothness, and stability of the robot. This paper proposes an online trajectory planning method which is velocity constraints based and can improve the efficiency and stability of high-speed parallel robots. The work of this research is conducive to finely applying high-speed parallel robots.

1 Introduction

In current years, high-speed parallel robots have been extensively utilized. They play an essential role in many fields, for example, food, electronics, and the light industry [1, 2]. In order to achieve efficiency and stability of production, pick-and-place (PAP) robots with excellent performance are increasingly required [3,4,5]. The motion information input to the robot dramatically affects the performance of the robot [6,7,8]. Through trajectory planning, motion information such as position, velocity, and acceleration can be generated to provide to the control system of the robot. Accordingly, it is vital to study the trajectory planning method for high-speed parallel PAP robots.

Commonly, one of the leading research concerns in trajectory planning is constructing smooth parametric movement laws [9]. Many scholars have carried out relevant research on trajectory planning in PAP [10,9,13]. A time-optimal planning algorithm was proposed by Zhang [14]. Moreover, the elliptical path and improved sinusoidal velocity planning were used by the algorithm for the Delta robot. Xie et al. [15] proposed a Lamé curve algorithm to study the trajectory planning problem for high-speed parallel robots. Using quantic B-spline, a global G3 continuity toolpath smoothing method was proposed by Xie et al. [16, 17] for five degrees of freedom PMRs. By polynomials [18, 19], Bézier curves [20], Cubic spline curves [21,22,23,24,25], B-spline curves [9, 16, 26,27,28], etc., many scholars constructed the robot movement law. As well as robot efficiency and stability are required in the industrial, the high-order spline curves are increasingly used to construct the movement law, such as quintic B-spline curves [9, 16, 28] or the quintic Bézier curves [20].

The robot end-effector motion can be obtained from constructed parametric movement law by giving the cycle time, the trajectory planning parameters, and the target path point information. In order to enhance the performance, it is essential to optimize cycle time and trajectory planning parameters for trajectory planning study [9]. There are many trajectory planning methods that were proposed with the goal of minimizing cycle time to improve operation efficiency [25, 29,30,31]. According to Ref. [28], a trajectory planning method was proposed, which used the smoothness of trajectory as the optimization objective, based on quintic B-spline curves, and applied on high-speed PAP parallel robots. Furthermore, this method provided a generic smoothness index in a Cartesian coordinate system by optimizing the trajectory parameters with a combined optimization goal - acceleration and jerk. In Croft's study on trajectory planning [25], a time-optimal method was proposed, which was constrained by torques and the derivatives of joint torques. In Han's research on trajectory planning method [9], motor drive capability and tracking error were used as constraints. In addition, the method used BP neural network to achieve online optimization, which provides a general idea to realize an algorithm run in real-time.

In general, studying the velocity constraints based approach of trajectory planning is necessary for the fast infeed situation. Most PAP trajectory planning didn’t consider the velocity constraints at the start-and-end points because of the limitation of the complexity and computational efficiency in the optimization problem. Nevertheless, the velocity constraint can facilitate the accuracy of PAP on the conveyor from experience. Furthermore, the approach should make the trajectories, which are based on velocity constraints, without losing stability and efficiency by combining the parallel robot’s dynamic properties and anisotropic kinematic.

In summary, this paper will propose a velocity constraints based approach for online trajectory planning of high-speed parallel robots. This work proposed the space equal-height pick-and-place trajectory, which is based on the quintic B-spline, in the approach. There are trajectory parameters such as geometric offset and time are defined. Then, with smoothness and time as the goal of optimization, two optimization problems are proposed respectively. The BP neural network method not only simplifies the optimization problem but also implements our approach's algorithm in real-time. What’s more, a flow chart of trajectory planning, which can be extensively used to high-speed parallel robots in PAP, is given.

2 Velocity Constraints Based Approach for Online Trajectory Planning

2.1 Description of 5-th B-spline Curve

Firstly, the basic principle of constructing uniaxial motion law based on B-spline is briefly introduced: according to Refs. [27, 32], the displacement s with path point coordinates of \(s_{0} \ldots s_{f}\) can be expressed by using p-order B-spline as a function of time t.

$$s(t) = \sum\limits_{i = 0}^{n} {Q_{i} } \cdot N_{i,p} (t), \quad 0 \le t \le T,$$

where \(Q_{i}\) is n + 1 control points, and \(N_{i,p} \left( t \right)\) is the basis function of the B-spline of degree p. The De-Boor recursive algorithm was satisfied in the construction of basis function:

$$N_{i,0} (t) = \left\{ {\begin{array}{*{20}l} {1, \, t_{i} \le t < t_{i + 1} }, \\ {0,{\text{ otherwise}}} ,\\ \end{array} } \right.$$
$$N_{i,p} (t) = \frac{{t - t_{i} }}{{t_{i + p} - t_{i} }}N_{i,p - 1} (t) + \frac{{t_{i + p + 1} - t}}{{t_{i + p + 1} - t_{i + 1} }}N_{i + 1,p - 1} (t).$$

where \(t_{i} \left( {i = 0, \ldots ,m} \right)\) is m + 1 nodes, constituting the node sequence of \(s(t)\). The node sequence satisfies the following relationship to constrain the start-and-end position, velocity, and acceleration:

$$\left\{\underbrace {0 \ldots 0}_{p + 1},\underbrace {{t_{p + 1} \ldots t_{m - p - 1} }}_{m - 2p - 1},\underbrace {T \ldots T}_{p + 1}\right\}.$$

The relationship between the number of nodes m + 1 and the number of control points n + 1 and p is m = n + p + 1.

The size of basis function \(N_{i,p} \left( t \right)\) can be calculated according to Eqs. (2) and (3), as the time interval of the control node in Eq. (4) is given. Furthermore, the motion law of single-axis displacement is obtained if the control points \(Q_{i}\) are given.

In order to make the target trajectory of the robot pass through the set path points and meet the constraints such as speed and acceleration at the start-and-end points, it is necessary to establish the relationship between the control points \(Q_{i}\) and the above constraints and path points.

Because of \(t_{0} \ldots t_{p} = 0\), the basis function satisfies \(N_{0,0} \left( t \right) \ldots N_{p - 1,0} \left( t \right) = 0\), \(N_{p,0} (t) = \left\{ {\begin{array}{*{20}l} {1, \, t_{p} \le t < t_{p + 1} } \\ {0,{\text{ otherwise}}} \\ \end{array} } \right.\). Then,

$$s(0) = \sum\limits_{i = 0}^{n} {Q_{i} } \cdot N_{i,p} (0) = Q_{0} .$$


$$s(T) = \sum\limits_{i = 0}^{n} {Q_{i} } \cdot N_{i,p} (1) = Q_{n} .$$

The node repetition at the start and end of the node sequence is p + 1 to ensure that the coordinates of the first and last control points coincide with the start and end of path points.

If there are f + 1 path points in total, it is necessary to determine two virtual nodes, \(t_{p + 1}\) and \(t_{n}\), to control the acceleration of the start-and-end points. Therefore, the node sequence is as Eq. (7).

$$\left\{\underbrace {0 \ldots 0}_{{s_{0} }},t_{p + 1} ,\underbrace {{t_{p + 2} \ldots t_{n - 1} }}_{{s_{1} \ldots s_{f - 1} }},t_{n} ,\underbrace {T \ldots T}_{{s_{f} }}\right\},$$

where \(s_{1} \ldots s_{f-1}\) corresponds to \(t_{p + 2} \ldots t_{n - 1}\) one by one, there is \(n - p - 2 = f - 1\). To obtain \(C^{4}\) continuous spline curve, the parameter p is set to 5. Then, f + 1 interpolation constraint equations can be obtained since the trajectory passes through f + 1 path points \(s_{0} \ldots s_{f}\):

$$\left\{ \begin{gathered} s(0) = s_{0} = Q_{0}, \hfill \\ s(t_{p + 2} ) = s_{1} = \sum\nolimits_{i = 0}^{n} {Q_{i} \cdot N_{i,p} (t_{p + 2} )}, \hfill \\ \cdots \hfill \\ s(t_{n - 1} ) = s_{f - 1} = \sum\nolimits_{i = 0}^{n} {Q_{i} \cdot N_{i,p} (t_{n - 1} )} ,\hfill \\ s(T) = s_{f} = \sum\nolimits_{i = 0}^{n} {Q_{i} \cdot N_{i,p} (1)} = Q_{n} \cdot N_{n,0} (1) = Q_{n} .\hfill \\ \end{gathered} \right.$$

The r-order derivative of \(s\left( t \right)\) composed of B-spline can also be expressed in the form of \(p - r\) B-spline according to the properties of B-spline:

$$\dot{s}(t) = \sum\nolimits_{i = 0}^{n - 1} {Q_{Vi} \cdot N_{i + 1,p - 1} (t)} {, }0 \le t \le T,$$
$$\ddot{s}(t) = \sum\nolimits_{i = 0}^{n - 2} {Q_{Ai} \cdot N_{i + 2,p - 2} (t)} {, }0 \le t \le T,$$
$$\dddot s(t) = \sum\nolimits_{i = 0}^{n - 3} {Q_{Ji} \cdot N_{i + 3,p - 3} (t)} {, }0 \le t \le T,$$


$$Q_{Vi} = \frac{p}{{t_{i + p + 1} - t_{i + 1} }}\left( {Q_{i + 1} - Q_{i} } \right),$$
$$Q_{Ai} = \frac{p - 1}{{t_{i + p + 1} - t_{i + 2} }}\left( {Q_{Vi + 1} - Q_{Vi} } \right),$$
$$Q_{Ji} = \frac{p - 2}{{t_{i + p + 1} - t_{i + 3} }}\left( {Q_{Ai + 1} - Q_{Ai} } \right).$$

After that, six boundary constraint equations can be obtained according to the velocity, acceleration, and jerk constraints of the start-and-end points:

$$\left\{ \begin{gathered} \dot{s}(0) = \sum\nolimits_{i = 0}^{n - 1} {Q_{Vi} \cdot N_{i + 1,p - 1} (0)} = Q_{{V_{{0}} }} = v_{0} , \hfill \\ \ddot{s}(0) = \sum\nolimits_{i = 0}^{n - 2} {Q_{Ai} \cdot N_{{i + {2},p - 2}} (0)} = Q_{{A_{{0}} }} = a_{0} , \hfill \\ \dddot s(0) = \sum\nolimits_{i = 0}^{n - 3} {Q_{Ji} } \cdot N_{{i + {3},p - 3}} (0) = Q_{{J_{{0}} }} = j_{0} {, } \hfill \\ \dot{s}(T) = \sum\nolimits_{i = 0}^{n - 1} {Q_{Vi} \cdot N_{i + 1,p - 1} (T)} = Q_{{V_{n - 1} }} = v_{1} , \hfill \\ \ddot{s}(T) = \sum\nolimits_{i = 0}^{n - 2} {Q_{Ai} \cdot N_{{i + {2},p - 2}} (T)} = Q_{{A_{n - 2} }} = a_{1} , \hfill \\ \dddot s(T) = \sum\nolimits_{i = 0}^{n - 3} {Q_{Ji} \cdot N_{{i + {3},p - 3}} (T)} = Q_{{J_{n - 3} }} = j_{1} . \hfill \\ \end{gathered} \right.$$

By combining Eq. (8) with Eq. (15), the equation of solving the control points \(Q_{i}\) can be obtained:

$${\boldsymbol{Q = A}}^{ - 1} {\boldsymbol{B}},$$

where matrix Q is the calculated trajectory planning control point vector, expressed as:

$${\boldsymbol{Q = }}\left[ {Q_{0} , \ldots ,Q_{n} } \right]^{{\text{T}}} .$$

In Eq. (16), matrices A and B are expressed as:

$${\boldsymbol{A}} = \left[ {\begin{array}{*{20}c} {{\boldsymbol{A}}_{1} } \\ {{\boldsymbol{A}}_{2} } \\ \end{array} } \right], \, {\boldsymbol{B}} = \left[ {\begin{array}{*{20}c} {{\boldsymbol{B}}_{1} } \\ {{\boldsymbol{B}}_{2} } \\ \end{array} } \right],$$

where \({\boldsymbol{B}}_{1}\) represents the sequence of f + 1 path points, and \({\boldsymbol{B}}_{2}\) represents the speed, acceleration, and jerk of the start-and-end points of single-axis motion, so B is 6 × 1, \({\boldsymbol{B}}_{1}\) and \({\boldsymbol{B}}_{2}\) are further expressed as:

$$\left\{ \begin{gathered} {\boldsymbol{B}}_{1} = \left[ {s_{0} , \ldots ,s_{f} } \right]^{{\text{T}}} , \, \hfill \\ {\boldsymbol{B}}_{2} = \left[ {v_{0} ,a_{0} ,j_{0} ,v_{1} ,a_{1} ,j_{1} } \right]^{{\text{T}}} , \hfill \\ \end{gathered} \right.$$

where \({\boldsymbol{A}}_{1}\) is the matrix of size (f + 1) × (n + 1) formed by the basis function, expressed as:

$${\boldsymbol{A}}_{1} = \left[ {\begin{array}{*{20}l} 1 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ {N_{0,p} (\tau_{p + 2} )} \hfill & {N_{1,p} (\tau_{p + 2} )} \hfill & \cdots \hfill & {N_{n,p} (\tau_{p + 2} )} \hfill \\ \vdots \hfill & \vdots \hfill & \ddots \hfill & \vdots \hfill \\ {N_{0,p} (\tau_{n - 1} )} \hfill & {N_{1,p} (\tau_{n - 1} )} \hfill & \cdots \hfill & {N_{n,p} (\tau_{n - 1} )} \hfill \\ 0 \hfill & \cdots \hfill & 0 \hfill & 1 \hfill \\ \end{array} } \right].$$

where \({\boldsymbol{A}}_{2}\) is the matrix of size 6 ×  (n + 1), and the matrix elements are derived from the coefficients of the control points \(Q_{i}\) in the boundary constraint equation, expressed as Eq. (21).

$$\begin{gathered} {\boldsymbol{A}}_{2} = \hfill \\ \left[ {\begin{array}{*{20}l} {\alpha_{1,0} } \hfill & {\alpha_{1,1} } \hfill & {} \hfill & {} \hfill & \cdots \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill \\ {\alpha_{2,0} } \hfill & {\alpha_{2,1} } \hfill & {\alpha_{2,2} } \hfill & {} \hfill & \cdots \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill \\ {\alpha_{3,0} } \hfill & {\alpha_{3,1} } \hfill & {\alpha_{3,2} } \hfill & {\alpha_{3,3} } \hfill & \cdots \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill \\ {} \hfill & {} \hfill & {} \hfill & {} \hfill & \cdots \hfill & {} \hfill & {} \hfill & {\alpha_{4,n - 1} } \hfill & {\alpha_{4,n} } \hfill \\ {} \hfill & {} \hfill & {} \hfill & {} \hfill & \cdots \hfill & {} \hfill & {\alpha_{5,n - 2} } \hfill & {\alpha_{5,n - 1} } \hfill & {\alpha_{5,n} } \hfill \\ {} \hfill & {} \hfill & {} \hfill & {} \hfill & \cdots \hfill & {\alpha_{6,n - 3} } \hfill & {\alpha_{6,n - 2} } \hfill & {\alpha_{6,n - 1} } \hfill & {\alpha_{6,n} } \hfill \\ \end{array} } \right]. \hfill \\ \end{gathered}$$

Given the time interval of node sequence

$$\left\{\underbrace {0 \ldots 0}_{{s_{0} }},t_{p + 1} ,\underbrace {{t_{p + 2} \ldots t_{n - 1} }}_{{s_{1} \ldots s_{f - 1} }},t_{n} ,\underbrace {T \ldots T}_{{s_{f} }} \right\},$$

where the time T for robot motion, and the path points \(s_{0} \ldots s_{f}\) passed by the single axis, the control points \(Q_{i}\) can be obtained, and then the functions of displacement, velocity, acceleration, and jerk of the single-axis with time can be calculated according to Eqs. (1), (9)–(11). So far, the parametric motion law of the single-axis is constructed.

2.2 Geometric Trajectory Generation

The pick-and-place (PAP) trajectory is typical in manufacturing. When the robot performs the PAP operation, it has high requirements for the accuracy of start-and-end points and the stability during operation, but it does not have high requirements for the contour accuracy of trajectory, which corresponds to fewer path points. To ensure smooth picking and placing, it is necessary to carry out moving up and moving down actions above the start-and-end points. Thus, two intermediate path points \(s_{1}\) and \(s_{f - 1}\) need to be set. For considering the path symmetry, the path midpoint \(s_{2}\) needs to be set. There are five path points, i.e., f = 4. The trajectory can be called the equal-height pick-and-place (PAP) trajectory since the start-and-end points are equal height. The PAP trajectory is spatial with velocity constraints, rather than planar. In Figure 1, a space equal-height PAP trajectory was shown. By controlling 5 path points and velocity on the start-and-end points, a trajectory curve can be defined.

Figure 1
figure 1

Space equal-height pick-and-place trajectory

The m + 1(m + 1 = f + 2p + 3 = 17) nodes was contained in node sequence:

$$\left\{\underbrace {0 \ldots 0}_{{s_{0} }},t_{6} ,\underbrace {{t_{7} }}_{{s_{1} }},\underbrace {{t_{8} }}_{{s_{2} }},\underbrace {{t_{9} }}_{{s_{3} }},t_{10} ,\underbrace {T \ldots T}_{{s_{4} }}\right\},t_{8} = {\raise0.7ex\hbox{$T$} \!\mathord{\left/ {\vphantom {T 2}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$2$}}.$$

\({\boldsymbol{B}}_{1}\) and \({\boldsymbol{B}}_{2}\) are represented as follows:

$${\boldsymbol{B}}_{1} = \left[ {{\boldsymbol{s}}_{0} ,{\boldsymbol{s}}_{1} ,{\boldsymbol{s}}_{2} ,{\boldsymbol{s}}_{3} ,{\boldsymbol{s}}_{4} } \right]^{{\text{T}}} , \, {\boldsymbol{B}}_{2} = \left[ {{\boldsymbol{v}}_{0} ,{\boldsymbol{0}},{\boldsymbol{0}},{\boldsymbol{v}}_{1} ,{\boldsymbol{0}},{\boldsymbol{0}}} \right]^{{\text{T}}} .$$

Due to the existence of velocity at the starting and ending points, the path points \(s_{0} \ldots s_{f}\) needs to be offset to obtain a smooth trajectory. The offset is based on the product of velocity and time, and adjustable offset parameters \(\left( {\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right)\) are introduced. The following relations was satisfied by the path points:

$${\boldsymbol{s}}_{1} = {\boldsymbol{s^{\prime}}}_{1} + {\boldsymbol{v}}_{0} \cdot \lambda_{1} T,$$
$${\boldsymbol{s}}_{2} = {\boldsymbol{s^{\prime}}}_{2} + \frac{{{\boldsymbol{v}}_{0} - {\boldsymbol{v}}_{1} }}{2} \cdot \lambda_{2} T,$$
$${\boldsymbol{s}}_{3} = {\boldsymbol{s^{\prime}}}_{3} - {\boldsymbol{v}}_{1} \cdot \lambda_{3} T,$$
$$\left[ {\begin{array}{*{20}c} {{\boldsymbol{s^{\prime}}}_{1} } \\ {{\boldsymbol{s^{\prime}}}_{2} } \\ {{\boldsymbol{s^{\prime}}}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}l} {x_{0} } \hfill & {y_{0} } \hfill & {z_{0} + \eta \Delta z} \hfill & {\theta_{0} } \hfill \\ {\frac{{x_{0} + x_{1} }}{2}} \hfill & {\frac{{y_{0} + y_{1} }}{2}} \hfill & {z_{0} + \Delta z} \hfill & {\frac{{\theta_{0} + \theta_{1} }}{2}} \hfill \\ {x_{1} } \hfill & {y_{1} } \hfill & {z_{0} + \eta \Delta z} \hfill & {\theta_{1} } \hfill \\ \end{array} } \right],$$

where the offset parameters of the trajectory are \(\left( {\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right)\). The height of the trajectory is \(\Delta z\). The height coefficient of the path points \({\varvec{s}}_{1}\) and \({\varvec{s}}_{3}\) is \(\eta\). Displacement can be obtained as:

$${{\varvec{\upchi}}}(t) = \sum\limits_{i = 0}^{n} {{\boldsymbol{Q}}_{i} } \cdot N_{i,p} (t),0 \le t \le T,$$
$${\dot{\varvec{\chi }}}(t) = \sum\limits_{i = 0}^{n - 1} {{\boldsymbol{Q}}_{Vi} } \cdot N_{i + 1,p - 1} (t), \, 0 \le t \le T,$$
$${\varvec{\ddot{\chi }}}(t) = \sum\limits_{i = 0}^{n - 2} {{\boldsymbol{Q}}_{Ai} } \cdot N_{{i + {2},p - 2}} (t), \, 0 \le t \le T,$$
$${\varvec{\dddot \chi }}(t) = \sum\limits_{i = 0}^{n - 3} {{\boldsymbol{Q}}_{Ji} } \cdot N_{{i + {3},p - 3}} (t), \, 0 \le t \le T.$$

The nodes sequence is normalized to the following for facilitating the subsequent optimization problems solution:

$$\tau_{i} = \frac{{t_{i} }}{T},i = 1,2, \cdots ,17.$$

2.3 Online Smooth Trajectory Optimization

2.3.1 The Optimization Problem of Trajectory Smoothness

In the Cartesian coordinate system, the evaluation index of trajectory smoothness is defined by acceleration maximum and jerk maximum of the trajectory, which are function of \(\left( {\tau_{6} ,\tau_{7} ,\tau_{{9}} ,\tau_{{{10}}} ,\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right)\).

$$a_{\max } \left( {\tau_{6} ,\tau_{7} ,\tau_{{9}} ,\tau_{{{10}}} ,\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right) = \mathop {\max }\limits_{0 \le t \le T} \left\| {{\varvec{\ddot{\chi }}}\left( t \right)} \right\|,$$
$$j_{\max } \left( {\tau_{6} ,\tau_{7} ,\tau_{{9}} ,\tau_{{{10}}} ,\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right) = \mathop {\max }\limits_{0 \le t \le T} \left\| {{\varvec{\dddot \chi }}\left( t \right)} \right\|,$$
$$\left\{ \begin{gathered} 0 < \tau_{6} < \tau_{7} < 0.5 < \tau_{9} < \tau_{10} < 1, \hfill \\ 0 < \lambda_{i} < 1 \, \left( i = 1,2,3 \right) . \hfill \\ \end{gathered} \right.$$

Note that the height \(\Delta z\) and height coefficient \(\eta\) are not included in the optimized parameters. This is because they only affect the motion on the z-axis in the Cartesian coordinate system, and have little effect on the final trajectory. Therefore, they are not considered in the optimization problem.

For given sequence of nodes, Figure 2 shows that \(\lambda_{i} \left( {i = 1,2,3} \right)\) is convex. In addition, when \(a_{\max }\) and \(j_{\max }\) take the minimum values, \(\lambda_{i} \left( {i = 1,2,3} \right)\) has different values, respectively, which helps us construct the optimization objective by combining \(a_{\max }\) and \(j_{\max }\).

Figure 2
figure 2

Distributions of \(a_{\max }\) and \(j_{\max }\) versus \(\lambda_{1} ,\lambda_{2} ,\lambda_{3}\)

Ref. [28] proved the convexity of the distributions of \(a_{\max }\) and \(j_{\max }\) with \(\tau_{i} (i = 6,7,9,10)\). Therefore, it can be considered that the distribution of \(a_{\max }\) and \(j_{\max }\) with \(\tau_{i} (i = 6,7,9,10)\) and \(\lambda_{i} \left( {i = 1,2,3} \right)\) is convex.

The parameters \(\left( {\tau_{6} ,\tau_{7} ,\tau_{{9}} ,\tau_{{{10}}} ,\lambda_{1} ,\lambda_{2} ,\lambda_{3} } \right)\) have different values when \(a_{\max }\) and \(j_{\max }\) take the minimum values. Therefore, the objective function is constructed by normalizing \(a_{\max }\) and \(j_{\max }\):

$$\begin{gathered} \max \, F = \frac{{\min \left( {a_{\max } } \right)}}{{a_{\max } }} + \frac{{\min \left( {j_{\max } } \right)}}{{j_{\max } }}, \hfill \\ {\text{subject to:}} \hfill \\ \, \left\{ \begin{gathered} 0 < \tau_{6} < \tau_{7} < 0.5 < \tau_{9} < \tau_{10} < 1, \hfill \\ 0 < \lambda_{i} < 1 \,\left( i = 1,2,3\right). \hfill \\ \end{gathered} \right. \hfill \\ \end{gathered}$$

Based on the previous derivation, F is convex because it and its gradient are continuous in the feasible region. There is a global optimal solution to the optimization problem. Therefore, based on MATLAB® The fmincon function in the optimization toolbox, namely the interior point method, can easily solve the optimization problem.

Through experience, parameters \(\tau_{i} (i = 6,7,9,10)\) and \(\lambda_{i} \left( {i = 1,2,3} \right)\) can converge faster with (0.01, 0.21, 0.79, 0.99, 0.21, 0.50, 0.21) as the initial value of iteration. Figure 3 shows the parameters iteration process and the trajectory result of an example. In this example, trajectory starts at (0, 0, 0) and ends at (280 mm, − 200 mm, 0) with 40 mm height, 0.250 s trajectory time, and 200 mm/s start-and-end velocity.

Figure 3
figure 3

The optimization result of an example

This example was chosen because it represents a typical situation on a production line: an object moves along a conveyor belt at a constant speed into the robot workspace and is subsequently picked up and placed in the target position on another conveyor belt.

2.3.2 The Optimization Problem of Trajectory Time

The anisotropy of parallel robot dynamics is also a factor worthy of consideration in parallel robot trajectory planning. Through the rigid body dynamic model of the robot, the following optimization problems can be obtained under the constraints of joint torque and its derivative:

$$\begin{gathered} \min \, T, \hfill \\ {\text{subject to:}} \hfill \\ \, \left\{ \begin{gathered} \left| {\tau_{{{\text{motor }}i}} \left( t \right)} \right| \le \tau_{\max } , \hfill \\ \left| {\frac{{{\text{d}}\tau_{{{\text{motor }}i}} \left( t \right)}}{{{\text{d}}t}}} \right| \le \tau^{\prime}_{\max } , \hfill \\ F = F_{\max } . \hfill \\ \end{gathered} \right. \hfill \\ \end{gathered}$$

Based on the given trajectory start-and-end kinematics parameters, the trajectory time T can be obtained by solving the optimization problem. However, in order to meet the constraint of \(F = F_{\max }\), the optimization problem in the previous section needs to be solved (multiple times), which will significantly increase the solution time of the optimization problem of trajectory time.

2.3.3 Optimization Procedure

An online solution method based on BP neural network is proposed to realize the online solution of optimization problems. Figure 4 shows the flow chart of trajectory planning method.

Figure 4
figure 4

Flow chart of online smooth trajectory planning

First step is randomly generating start-and-end kinematic trajectory parameters \(\Delta x\), \(\Delta y\), \(\Delta z\), \(v_{y0}\), \(v_{y1}\), T. In order to make the network have less input and better universality, the input of the network contains relative span rather than absolute coordinates. For consideration of the symmetry, only the velocity in the y-axis direction is considered here.

Next, the training set of trajectory parameters is obtained by trajectory smoothing optimization. Figure 5 shows the structure and input and output of the network. Based on the training experience, the network has two hidden layers, and the number of nodes is (12, 12). Because the network size is small, the activation function is sigmoid function. One thousand data groups were generated in the experiment, where 70% were used as the training set, 15% as the verification set, and 15% as the test set. The results on the test set show that the R value is 0.98964. The optimization problem corresponding to Eq. (37) can be solved in real-time through the network. The operation essence of the BP network is equivalent to matrix multiplication. Due to the small scale of network structure, the calculation time on CPU Intel i5-4400e is far less than 1 ms, which meets the operation requirements of control system. Through calculation and experiment, using interior point method to solve this optimization problem generally takes more than 2 min.

Figure 5
figure 5

Neural network structure of trajectory smoothness

Secondly, multiple groups of trajectory parameters (\(x_{0}\), \(x_{1}\), \(y_{0}\), \(y_{1}\), \(z_{0}\), \(\Delta z\), \(v_{y0}\), \(v_{y1}\)) in workspace are generated randomly. The input velocity value is only in the y-axis direction by the actual working conditions and the complexity of the network. Since Eq. (38) relates to the dynamic model of a particular robot, these sets should cover all PAP positions in the robot workspace as much as possible. Based on the neural network of trajectory smoothness, the \(F = F_{\max }\) constraint in Eq. (38) can be easily realized. Therefore, the optimization problem of Eq. (38) can be easily and quickly solved.

Similarly, the neural network of trajectory time is generated by generating the data set of trajectory time. Figure 6 shows the input, output and size of the neural network for trajectory time. The network has two hidden layers, and the number of nodes is (20, 20). The activation function is also sigmoid function. Four thousand data groups were generated in the experiment, of which 70% were used as the training set, 15% as the verification set, and other 15% as the test set. The results on the test set show that the R value is 0.99183. The network enables the trajectory time optimization problem of Eq. (38) to be solved in real-time. The calculation time on CPU Intel i5-4400e is far less than 1 ms, which meets the operation requirements of control system. Through experiment, using interior point method to solve the optimization problem generally takes more than 10 minutes.

Figure 6
figure 6

Neural network structure of trajectory time

By combining the two neural networks, the trajectory parameters \((\tau_{i} ,\lambda_{j} )\) and trajectory time T can be calculated in real-time according to the given PAP situation, so as to generate PAP trajectory.

3 Verification

In order to verify the velocity constraints based approach for online trajectory planning, simulation and experiment are carried out with SR4 parallel robot as an example. The simulation verification is carried out based on MATLAB. In Figure 7, a 3D view of the overall and moving platform structure of the SR4 robot is shown. The movement of SR4 mechanism [33] includes three translational movements and rotation of z-axis. Through the bevel gear and crank-rocker between the two platforms, the relative vertical motion of the upper and lower moving sub-platforms is transformed into the rotational motion of the z-axis.

Figure 7
figure 7

3D view of the SR4 parallel robot

In the simulation, the moving trajectory of the robot is the industry-standard “Adept cycle” with velocity constraints. The industry-standard “Adept cycle” is a standard PAP trajectory commonly used to test the performance of robots. Generally, its span is 305 mm, and its height is 25 mm. Figure 8 shows the trajectory used for the simulation. The starting point of the track is \(( - {{305} \mathord{\left/ {\vphantom {{305} {2\sqrt 2 }}} \right. \kern-\nulldelimiterspace} {2\sqrt 2 }},{{305} \mathord{\left/ {\vphantom {{305} {2\sqrt 2 }}} \right. \kern-\nulldelimiterspace} {2\sqrt 2 }}, - 650)\), the ending point is \(({{305} \mathord{\left/ {\vphantom {{305} {2\sqrt 2 }}} \right. \kern-\nulldelimiterspace} {2\sqrt 2 }}, - {{305} \mathord{\left/ {\vphantom {{305} {2\sqrt 2 }}} \right. \kern-\nulldelimiterspace} {2\sqrt 2 }}, - 650)\), and the height is 25 mm. The height coefficient \(\eta\) is 0.5. The velocity of the start and end points is 200 mm/s, and the direction is along the y-axis. The maximum torque \(\tau_{\max }\) is \(0.6{\text{ N}} \cdot {\text{m}}\). The maximum derivative of torque \(\tau^{\prime}_{\max }\) is 30 N·m/s. Based on the above experimental parameters, the target trajectory time is 0.213 s by the trajectory time neural network. Therefore, 0.213 s will be used as the trajectory time in the comparison.

Figure 8
figure 8

Path of the “Adept Cycle” with start-and-end velocity constraints in the basic coordinate system of the SR4 parallel robot

In Figure 9, the joint jerk of the robot is shown. Comparing Figure 9(a) and (b), through optimization, the peak and peak values of joint jerk are reduced by 26.68%, especially the values of joint 2, 3, and 4 at the start-and-end points are significantly reduced.

Figure 9
figure 9

Jerk of unoptimized trajectory and optimized trajectory versus time

In Figure 10, the joint torque derivative of the robot is shown. Comparing Figure 10(a) and (b), through optimization, the peak and peak values of joint torque derivative are reduced by 11.39%.

Figure 10
figure 10

Torque derivative of unoptimized trajectory and optimized trajectory versus time

The simulation results show that the joint jerk and torque derivative are effectively improved after parameter optimization, which reflects the stability of the robot motion.

Experiments were carried out on the TH-SR4 parallel robot shown in Figure 11. Endevco’s three-axis integrated circuit piezoelectric accelerometer was used to measure the acceleration of x-axis and y-axis. Figure 12 shows the change of acceleration in x-axis and y-axis before and after optimization. After optimization, the acceleration on the x-axis changes little, but the peak acceleration on the y-axis decreases by 26.37%. The acceleration experiment result shows that, after parameter optimization, the acceleration in the y-axis is effectively improved, which means that the robot's performance has been improved on the proposed space equal-height pick-and-place trajectory with velocity constraints.

Figure 11
figure 11

Experimental set-up

Figure 12
figure 12

Acceleration of the end-effector in the x- and y-axis

Figure 13 shows the change of driver current in active joints before and after optimization. The driving current is proportional to the joint torque, and its unit is the thousandth ratio of the rated current. It can be directly seen from Figure 13 that after optimization, the torque of joints 2 and 4 decreases significantly, reflecting the decrease of acceleration in the y-axis direction in the robot coordinate system, which is consistent with the acceleration measurement results in Figure 12.

Figure 13
figure 13

Acceleration of the end-effector in the x- and y-axis

Figure 14 shows the pick-and-place (PAP) experiment, which compares the two cases of trajectory with and without velocity constraints (Additional file 1). In Figure 14, the left frames are the placement time. Two yellow lines stand for the edge parallel lines of the object at the placement time. In right frames, yellow dotted lines stand for the edge parallel lines of the ideal position of the object. Red lines stand for the edge parallel lines of the object’s actual position. It can be found that vibration occurs without velocity constraints. By using the proposed velocity constraints based approach, the vibration of picking and placing objects is effectively reduced. It can also be seen that in the case of velocity constraints, even after placing the object, the end effector can still follow the object and conveyor, which provides robustness for the application of the end effector soft gripper. In addition, after optimizing trajectory parameters, the proposed trajectory planning method can also make the robot pick and place with a faster cycle time because the trajectory time optimization is based on the constraints of torque and its derivative, which brings the performance of the joint motors.

Figure 14
figure 14

Pick-and-place experiment

The results of PAP experiment show that the proposed velocity constraints based approach for trajectory planning is helpful to the improvement of efficiency, smoothness, and stability in PAP operations.

4 Conclusions

The presented velocity constraints in the start-and-end points can reduce vibration from picking and placing, making the trajectory more suitable to complex beltline situations. This paper proposed a velocity constraints based approach, which is for online trajectory planning and can be applied on high-speed parallel robots for picking and placing, especially for fast infeed situations. The proposed trajectory and its parameters, which are of the trajectory planning method, are based on quintic B-spline curves. On this basis, BP neural networks are trained to simplify and solve two optimization problems, i.e., the improvement of trajectory smoothness and the reduction of cycle time. Moreover, the algorithm can solve the solution in real-time, which meets the requirements of the robot control system. Finally, on the SR4 high-speed parallel robot, the proposed method is validated. The adopted test trajectory in verification is the industry-standard “Adept cycle” with start-and-end velocity constraints. The simulation and experimental results show that the proposed velocity constraints based approach for trajectory planning is helpful to achieve trajectory smoothing for PAP operations and improve the motion stability of the robot. The proposed method can be applied to other high-speed parallel robots for trajectory planning. In addition, the presented trajectory smoothness optimization solution with the neural network can also be used for other serial PAP robots.

Availability of Data and Materials

The datasets used and/or analyzed during the current study are available from the corresponding author on reasonable request.


  1. V Nabat, M Rodriguez, S Krut, et al. Par4: very high speed parallel robot for pick and-place. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. Alberta, 2005.

  2. Z Y Yin, B Belzile, J Angeles, et al. Elastodynamics of a parallel schönflies-motion generator. Proceedings of the CCTOMM Mechanisms, Machines, and Mechatronics Symposium. Montreal, 2019.

  3. T Huang, Z X Li, M Li, et al. Conceptual design and dimensional synthesis of a novel 2DOF translational parallel robot for pick-and-place operations. Journal of Mechanical Design, 2004, 126(3): 449-455.

    Article  Google Scholar 

  4. T Huang, J Mei, Z Li. A method for estimating servomotor parameters of a parallel robot for rapid pick-and-place operations. Journal of Mechanical Design, 2005, 127(4): 596-601.

    Article  Google Scholar 

  5. T Huang, S T Liu, J P Mei, et al. Optimal design of a 4-DOF SCARA type parallel robot using dynamic performance indices and angular constraints. Mechanism and Machine Theory, 2013, 70(3): 246-253.

    Article  Google Scholar 

  6. F G Xie, X J Liu, Y H Zhou. A parallel robot with SCARA motions and its kinematic issues. Proceedings of the 3rd IFToMM International Symposium on Robotics and Mechatronics. Singapore, 2013.

  7. F G Xie, X J Liu. Design and development of a high-speed and high-rotation robot with four identical arms and a single platform. Journal of Mechanisms and Robotics, 2015, 7(4): 041015.

    Article  Google Scholar 

  8. Z J Ma, F G Xie, J K Chen, et al. An adsorption machining robot and its force design. 14th International Conference on Intelligent Robotics and Applications, Yantai, 2021.

  9. G Han. High acceleration characteristics optimization and stable motion control of pick-and-place parallel robots. Beijing: Tsinghua University, 2020. (in Chinese)

    Google Scholar 

  10. J F Gauthier, J Angeles, S Nokleby. Optimization of a test trajectory for SCARA systems. Advances in Robot Kinematics: Analysis and Design, 2008: 225-234.

  11. R J M Masey, J O Gray, T J Dodd, et al. Elliptical point to point trajectory planning using electronic cam motion profiles for high speed industrial pick and place robots. Proceedings of the 14th IEEE international conference on Emerging technologies & factory automation. Mallorca, 2009.

  12. T Su, L Cheng, Y Wang, et al. Time-optimal trajectory planning for Delta robot based on quintic pythagorean-hodograph curves. IEEE Access, 2018, 6: 28530-28539.

    Article  Google Scholar 

  13. C J Barnard, S Briot, S Caro. Trajectory generation for high speed pick and place robots. Proceedings of the ASME 2012 11th Biennial Conference on Engineering Systems Design and Analysis. Nantes, 2012.

  14. Y Zhang. Research on the key technology for the open control platform of parallel robots. Harbin: Harbin Institute of Technology, 2013. (in Chinese)

  15. Z Xie, D Shang, P Ren. Optimization and experimental verification of pick-and-place trajectory for a delta parallel robot based on Lamé curves. Journal of Mechanical Engineering, 2015, 51: 52–29.

    Article  Google Scholar 

  16. Z H Xie, F G Xie, X J Liu, et al. Global G3 continuity toolpath smoothing for a 5-DoF machining robot with parallel kinematics. Robotics and Computer-Integrated Manufacturing, 2021, 67: 102018.

    Article  Google Scholar 

  17. Z H Xie, F G Xie, X J Liu, et al. Tracking error prediction informed motion control of a parallel machine tool for high-performance machining. International Journal of Machine Tools and Manufacture, 2021: 103714.

  18. P Barre, R Bearee, P Borne. Influence of a jerk controlled movement law on the vibratory behavior of high-dynamics systems. Journal of Intelligent and Robotic Systems, 2005, 42: 275-293.

    Article  Google Scholar 

  19. P Lambrechts, M Boerlage, M Steinbuch. Trajectory planning and feedforward design for electromechanical motion systems. Control Engineering Practice, 2005, 13(2): 145-157.

    Article  Google Scholar 

  20. Z Dai, X Sheng, J Hu, et al. Design and implementation of Bézier curve trajectory planning in DELTA parallel robots. Proceedings of the 8th International Conference on Intelligent Robotics and Applications, Portsmouth, 2015: 420-430.

  21. F Bourbonnais, P Bigras, I A Bonev. Minimum-time trajectory planning and control of a pick-and-place five-bar parallel robot. IEEE/ASME Transactions on Mechatronics, 2015, 20(2): 740-749.

    Article  Google Scholar 

  22. A Gasparetto, V Zanotto. A technique for time-jerk optimal planning of robot trajectories. Robotics and Computer-Integrated Manufacturing, 2007, 24(3): 415-426.

    Article  Google Scholar 

  23. A Gasparetto, A Lanzutti, R Vidoni, et al. Experimental validation and comparative analysis of optimal time-jerk algorithms for trajectory planning. Robotics and Computer Integrated Manufacturing, 2012, 28(2): 164-181.

    Article  Google Scholar 

  24. T Huang, P F Wang, J P Mei, et al. Time minimum trajectory planning of a 2-DOF translational parallel robot for pick-and-place operations. CIRP Annals, 2007, 56(1): 365-368.

    Article  Google Scholar 

  25. D Constantinescu, E A Croft. Smooth and time-optimal trajectory planning for industrial manipulators along specified path. Journal of Robotic Systems, 2000, 17(5), 233-249.

    Article  Google Scholar 

  26. M R Azizi, R Khani. An algorithm for smooth trajectory planning optimization of isotropic translational parallel manipulators. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 2016, 230(12): 1987-2002.

    Google Scholar 

  27. A Gasparetto, V Zanotto. A new method for smooth trajectory planning of robot manipulators. Mechanism and Machine Theory, 2007, 42(4): 455-471.

    Article  MathSciNet  Google Scholar 

  28. Y H Li, T Huang, D G Chetwynd. An approach for smooth trajectory planning of high-speed pick-and-place parallel robots using quintic B-splines. Mechanism and Machine Theory, 2018, 126: 479-490.

    Article  Google Scholar 

  29. G Sahar, J M Hollerbach. Planning of minimum-time trajectories for robot arms. SAGE Publications, 1984: 90-100.

  30. J E Bobrow, S Dubowsky, J S Gibson. Time-optimal control of robotic manipulators along specified paths. The International Journal of Robotics Research, 1985, 4(3): 554-561.

    Article  Google Scholar 

  31. I T Pietsch, M Krefft, O T Becker. How to reach the dynamic limits of parallel robots? An autonomous control approach. IEEE Transactions on Automation Science and Engineering, 2005, 2(4): 369-379.

    Article  Google Scholar 

  32. L Piegl, W Tiller. The NURBS book (2nd ed.). New York: Springer-Verlag, 1997.

    Book  Google Scholar 

  33. X J Liu, G Han, F G Xie, et al. A novel parameter optimization method for the driving system of high-speed parallel robots. Journal of Mechanisms & Robotics, 2018, 10(4): 041010.

    Article  Google Scholar 

Download references


Not applicable.


Supported by National Natural Science Foundation of China (Grant Nos. 51922057, 91948301).

Author information

Authors and Affiliations



DY was in charge of the whole trial and the main writing and revision of the manuscript; FX and XL supported with their extensive experience and gave advices on the manuscript. All authors read and approved the final manuscript.

Authors’ Information

Di Yang, born in 1998, is currently a PhD candidate at DME, Tsinghua University, China.

Fugui Xie, born in 1982, is currently an associate professor and a Ph.D. candidate supervisor at DME, Tsinghua University, China.

Xin-Jun Liu, born in 1971, is currently a professor and a Ph.D. candidate supervisor at DME, Tsinghua University, China. His research interests include robotics, parallel mechanisms, and advanced manufacturing equipment. Tel: +86-10-62795191.

Corresponding author

Correspondence to Fugui Xie.

Ethics declarations

Competing Interests

The authors declare no competing financial interests.

Supplementary Information

Additional file 1. Pick-and-place experiment video.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, D., Xie, F. & Liu, X. Velocity Constraints Based Approach for Online Trajectory Planning of High-Speed Parallel Robots. Chin. J. Mech. Eng. 35, 127 (2022).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI:


  • Trajectory planning
  • High-speed parallel robot
  • Velocity constraints
  • BP neural network