1 Introduction

Robot manipulators are mechanisms composed of an assembly of links and joints that is roughly analogous to the human arm; the end-effector is usually equipped with a gripping tool making it possible to manipulate objects. These robots are often intended for performing complex and repetitive tasks in large workspaces. In order to enhance the efficiency of a robotic manipulator when performing a given operation, it is necessary to determine the best trajectory to execute this task by the optimization of certain variables.

Generally, the robot manipulators execute two types of tasks, namely, continuous tasks (CT) and pick-and-place tasks (PPT). In CT, the robot end-effector is meant to attend a smooth and continuous trajectory. This appears in operations such as flame-cutting, arc-welding, and deburring. In PPT, only the first and last configurations should be respected in addition to the obstacles to be avoided. These two configurations are connected with a free trajectory. This can be the case with placing components on circuit boards, point-to-point welding, and tool changes in machine tools [1].

As the robot can be described in two types of tasks, continuous tasks, and pick-and-place tasks, it is the same for the trajectory. Usually, trajectory planning is performed in the operational space (OS) and the joint space (JS). In OS, the trajectory can be naturally described by the end-effectors, and it is easy to display and visualize the trajectory. On the other hand, it is difficult to guarantee that singularities do not occur. Trajectory planning in the JS will reach the points defined in the OS with better accuracy since errors due to the solution of the forward and reverse kinematic models are not introduced in the system. However, in the majority of cases, the trajectory of the robots is planned in the joint space because, since the joints of the robot manipulators receive the action of the control, planning in the operational space requires a kinematic inversion in order to derive the evolution of variables in the JS [2].

High operating speed is one of the essential requirements to minimize production cycle time in many automated production systems, especially in robotic units. Thus, the development of a method that obtains a fast movement of robots has been broadly studied in the subject of robot manipulators. However, considering the high non-linearity of the systems and coupling between joints and the gravity effects of rigid links, it is possible to get approximate solutions [3, 4]. In this area, the authors proposed an important phase plane method [5, 6]. However, the torque and acceleration profiles of these algorithms present a discontinuity, and this is due that the links that constitute the robot are perfectly rigid and to the fact that the actuator dynamics are neglected. Later, to overcome this kind of drawback, the authors in [7] introduced actuator jerk constraint limits. However, their method could not be precisely optimal over time, but the trajectories generated might be used for further innovative control approaches. Xiao et al. [8] recently obtained minimum traveling time and smooth trajectory for online operations, converting kinematic and dynamic constraints of joint space and the path of operating space into parameter space by using the cubic polynomial fitting technique. The optimization problem of time-optimal becomes non-convex by considering the viscous friction of the mechanism. Other minimum time methods using genetic algorithms for kinematics and dynamics trajectory planning can be found in [9] and [10], respectively. Abu-Dakka et al. [11] established a new genetic algorithm method for optimal trajectory and without collision between the first and last configurations in complex environments as the robot moves.

Apart from optimization of traveling time, bounding or minimizing the jerk is necessary because low-jerk trajectories may be achieved more smoothly and precisely. Furthermore, a high-jerk value can heavily excite its resonance frequencies and wear out the robot structure; vibrations produced by non-smooth trajectories can present significant errors and damage the actuators while the robot is completing tasks as trajectory tracking [12]. For the optimization of the jerk, the value of jerk in the objective function can appear in two principal approaches, one as the maximum absolute value of the jerk (minimax approach) in studies [13,14,15,16,17], while in [18,19,20] as the time integral of the squared jerk along the trajectory for a robot manipulator.

In the manufacturing process, the movements of industrial robots are habitually needed to be performed in a time-jerk optimal way. Trajectory planning approaches along with continuous tasks (CT) with time-jerk optimal have also been proposed in scientific research [21,22,23,24,25,26]. Different optimization approaches were utilized to get the optimal trajectory by minimizing the hybrid objective function composed of two terms proportional to the traveling time and the interval squared jerk; for example, studies in Refs. [23, 26, 27] used the sequential quadratic programming (SQP) technique, while in Ref. [24], a meta-heuristic approach, namely teaching learning based optimization (TLBO), was employed for producing time-optimal smooth motion trajectories. Another hybrid method is that in Refs. [28, 29], where a time energy smoothness trajectory planning algorithm is presented. In this technique, the trajectories are generated in third-order spline form using general constrained nonlinear optimization, considering the joint physical limits and the actuator’s power consumption.

In robotics, trajectories are mostly described by algebraic splines (e.g., quintic splines [27], cubic splines [10, 30], quartic splines [31], B-splines [32,33,34,35], and trigonometric splines [18]), Bezier [36] and polynomial interpolation functions in [37, 38]. Sometimes a mix of them is established to produce the best reference trajectories. For example, in [39], the authors combine fourth- and fifth-order polynomials, while [40] combined 7th-order polynomials and cubic splines to guarantee zero jerk at the joint movement’s limits. Ref. [41] proposed a smooth trajectory planning approach with the combination of septuple B-splines in JS and cubic splines in OS of robot manipulator.

In addition to these broad varieties of interpolation functions, particularly we pay attention to radial basis functions (RBFs), which are an advanced technique for scattered data interpolation based on linear combinations of terms that include a single univariate function [42]. However, to our knowledge, there are not many publications in scientific research dealing with the trajectory planning problems by using RBF interpolation methods for robotic systems. In this context, in Ref. [43] the authors presented a new approach for planning trajectory in pick-and-place operations using Gaussian RBF; the obtained trajectory is compared with those of other interpolation techniques. Reference [44] offers a direct solution to optimal control problems. It is based on the interpolation of global radial basis functions (RBFs) on arbitrary collocation points. In their proposed approach, states and controls are parameterized with any arbitrary global RBF and the continuous-time optimal control problem is discretized using arbitrary collocation points to translate it into a nonlinear programming problem, while in Ref. [45] combining radial basis function (RBF) interpolation with Galerkin projection provides a new approach to effectively solve general optimal control problems. They develop a very flexible solution to optimal control problems, especially non-smooth problems involving discontinuities, while simultaneously taking into account trajectory accuracy and computational efficiency, and Ref. [46] proposed to use radial basis functions with Gaussian kernels for generating smooth Cartesian paths for robot where the motion is defined by a sequence of intermediate knots through which the robot has to move.

This paper aims to propose an original trajectory planning technique using MQ-RBFs with the requirements of rapidity and high-precision operations for robotic systems. The practical interest of this study is that MQ-RBF can simply be used for planning smooth trajectories with continuous derivatives for any order and with specific boundary conditions. Indeed, a robot manipulator is basically a precision machine in which vibrations are regarded as an unwanted phenomenon. These vibrations are caused by the presence of structural elasticity in the mechanical system, and they can be induced if the actuation devices are subjected to trajectories with a discontinuous acceleration profile. Furthermore, a considerable discontinuity in acceleration induces a rapid variation in the inertial forces applied to the robot structure, which will excite inherent structural elasticity. In consequence, this problem must be addressed during the trajectory planning process by selecting adequate profiles and imposing appropriate continuity and end conditions. Moreover, an important property of MQ-RBF is the existence of a shape parameter that significantly affects the profile for the generated trajectories of robot manipulators. Performance of the proposed approach was tested and verified for different examples in continuous tasks/pick-and-place tasks, with/without optimization and by using other interpolation functions in order to obtain an optimal trajectory.

The rest of the paper will be arranged as follows. Section 2 defines the problem of trajectory optimization, namely the objective function to minimize using sequential quadratic programming (SQP) techniques. In Sect. 3, multiquadric-RBF is adopted to model the joint trajectory, considering boundary conditions and the optimization process. Then, in Sect. 4, the proposed method is compared with a set of classical planning approaches. In Sect. 5, the proposed interpolation technique is tested to the PUMA 560 industrial robot with six revolute joints for two cases by minimizing: the first case is the transfer time and the second one is the bi-objective time-jerk index. Finally, the main conclusions are reported in Sect. 6.

2 Problem statement

In this problem, the PUMA 560 robot manipulator with six degrees of freedom is considered. In industrial operations, the robot manipulators must pass through a sequence of intermediate knots in OS. However, as described in the previous section, the execution of trajectory planning in the task space is relatively complicated, and the via-points are converted into JS using kinematic inversion. Hence, a trajectory will be constructed based on the via-points in JS and then minimized for some cost functions.

The robot manipulator’s trajectory is required to take as little transfer time as possible to increase productivity and be smooth enough to avoid excessive mechanical vibrations by applying kinematic constraints.

Hence, the optimization problem is mathematically defined as follows. Minimize:

$$Min\;\left[ {K_{T} \;\sum\limits_{i = 1}^{n - 1} {h_{i} } + K_{J} \;\sum\limits_{j = 1}^{N} {\;\int\limits_{0}^{T} {\left( {\dddot q_{j}^{{}} (t)} \right)^{2} \;dt} } } \right]$$
(1)

Subject to:

$$\left\{ {\begin{array}{*{20}c} {\left| {\dot{q}_{j} (t)} \right| \le \dot{q}_{j}^{\max } ,\;j = 1,\,2,\,...,\,N} \\ {\left| {\ddot{q}_{j} (t)} \right| \le \ddot{q}_{j}^{\max } ,\;j = 1,\,2,\,...,\,N} \\ {\left| {\dddot q_{j} (t)} \right| \le \dddot q_{j}^{\max } ,\;j = 1,\,2,\,...,\,N} \\ \end{array} } \right.$$
(2)

The meaning of the symbols mentioned above is explained in Table 1.

Table 1 Meaning of symbols

Noting that the two objectives have contradictory effects. Traveling time minimization would lead to faster but less smooth trajectories while reducing the jerk objective will lead to smoother but slower trajectories. This stated problem is solved with sequential quadratic programming (SQP) techniques available in MATLAB™. The trajectory solving of the above defined optimization problem must meet not only the continuity constraints appearing in Eq. (2) but also the interpolation conditions for all the knots, as well as the kinematic boundary conditions.

3 Proposed method

3.1 Definition of the trajectory by means of multiquadric radial basis functions

The interpolation functions are probably the most frequent operations used in many engineering and sciences problems such as the approximation of a function, a common idea implied by these functions to represent the approximate function as a linear combination of a set of points and a basis function which follows the interpolation condition [47].

A fundamental interpolation problem may be presented as follows:

Given a data set \(\left( {x_{i} ,y_{i} } \right)\), \(i = 1,...,n\) with \(x_{i}\) and \(y_{i}\) being coordinates of a point that assumed to be all different from each other, find a continuous function f such that:

$$f(x_{i} ) = y_{i} ,\;i = 1,\,...,n$$
(3)

Indeed, to solve this interpolation problem, Hardy and Rolland [48, 49] introduced an original idea based on the MQ-RBF’s method for the function approximation, which were proved to be the best interpolation functions in more than thirty functions [50]. An RBF is a real-valued function whose value depends only on the radial distance from the origin of any specific reference point called as “center,” which is known as radial basis function (RBF) and has the form:

$$\phi \left( {x,c} \right) = \phi \left( {\left\| {x - c} \right\|} \right)$$
(4)

where \(\phi\) is the radial basis function, \(\left\| {\;.\;} \right\|\) denotes the Euclidean distance, x coordinate of a point, and c is the RBF center. Any multivariate functions which can be expressed as univariate functions of the Euclidean norm \(\left\| {\;.\;} \right\|\) are called radial basis functions.

The RBF basis function could be piecewise infinitely smooth and may have the shape parameter σ in multiquadric and Gaussian cases, or smooth and may not have it, for example, as in polyharmonic splines. The shape parameter σ, used to tune the overall shape of the RBF basis function in the approximation process, is a free positive constant needed to be specified by the user in advance [51].

In this study, we are especially interested in the classical MQ-RBF, which is given by [52]:

$$\phi (r) = \sqrt {r^{2} + \sigma^{2} }$$
(5)

with:

$$r = \left\| {\;x\; - \;c\;} \right\|$$

and

$$\sigma \,{ > }\,0$$

where the 1st, second, and third derivatives are expressed as follows:

$$\frac{\partial \phi \left( r \right)}{{\partial x}} = \frac{(x - c)}{{\sqrt {r^{2} + \sigma^{2} } }} = \frac{(x - c)}{{\phi \left( r \right)}}$$
(6)
$$\frac{{\partial^{2} \phi \left( r \right)}}{{\partial x^{2} }} = \frac{1}{{\sqrt {r^{2} + \sigma^{2} } }} - \frac{{(x - c)^{2} }}{{(r^{2} + \sigma^{2} )^{3/2} }} = \left( {1 - \frac{{(x - c)^{2} }}{{\phi \left( r \right)^{2} }}} \right)\frac{1}{\phi \left( r \right)}$$
(7)
$$\frac{{\partial^{3} \phi \left( r \right)}}{{\partial x^{3} }} = \frac{{3\;(x - c)^{3} }}{{(r^{2} + \sigma^{2} )^{5/2} }} - \frac{3\;(x - c)}{{(r^{2} + \sigma^{2} )^{3/2} }} = \left( {\frac{{3\;(x - c)^{3} }}{{\phi \left( r \right)^{2} }} - \frac{3\;(x - c)}{1}} \right)\frac{1}{{\phi \left( r \right)^{3} }}$$
(8)

Hence, to approximate the interpolating function f everywhere by a linear combination of certain RBF \(\phi_{j}\), gives, [52]

$$f\left( x \right) = \sum\limits_{j = 1}^{n} {\omega_{j} \;\phi_{j} \left( {\left\| {x - c_{j} } \right\|} \right)}$$
(9)

where \(f\left( x \right)\) is a sum of n RBF’s, each associated with a center \(c_{j} = \,\;x_{j}\) and weighted by an appropriate weight \(\omega_{j}\). \(x\) is the input which we wish to evaluate our function \(f\). By choosing interpolate nodes, we can approximate the function \(f\left( x \right)\):

$$y_{i} = \sum\limits_{j = 1}^{n} {\omega_{j} \;\phi_{j} \left( {\left\| {x_{i} - x_{j} } \right\|} \right)} ,\quad i = 1,\;...,n$$
(10)

After some algebra, solving the interpolation problem leads to a system of linear equations is obtained as follows form:

$$KW=Y,$$
(11)

with

$$\left\{ {\begin{array}{*{20}c} {W = \left[ {\omega_{1} ,\,\,...,\omega_{n} } \right]^{\,\,T} \,} \\ {Y = \left[ {y_{1} ,\,\,...,y_{n} } \right]^{\,\,T} \,} \\ \end{array} } \right.$$

Note that the entries of the interpolation matrix are given by \(A_{ij} = \phi_{j} (x_{i} );\) \(i,\;j = 1,...,n\) and constitute a positive definite matrix. Thus, using relation Eq. (5), we can define the coefficient matrix as follows:

$$K\; = \left[ {\begin{array}{*{20}c} 1 & {\phi_{2} (x_{1} )} & \cdots & {\phi_{n} (x_{1} )} \\ {\phi_{1} (x_{2} )} & 1 & \cdots & {\phi_{n} (x_{2} )} \\ \vdots & \vdots & \ddots & \vdots \\ {\phi_{1} (x_{n} )} & {\phi_{2} (x_{n} )} & \cdots & 1 \\ \end{array} } \right]$$
(12)

3.2 Boundary conditions

In robot trajectory context, the time scale is referred by the independent variable \(x\) and the \(n\) points requirement to be interpolated in increasing order, i.e., \(x_{1} < x_{2} < \,\;... < x_{m}\). Likewise, we are generally interested in assigning the velocity and acceleration for the start and end knots of trajectory, i.e.,

$$\nu_{1} = \frac{{\partial \,f\left( {x = x_{1} } \right)}}{\partial \,x},\quad \nu_{n} = \frac{{\partial \,f\left( {x = x_{n} } \right)}}{\partial \,x},$$
(13)
$$a_{1} = \frac{{\partial^{2} f\left( {x = x_{1} } \right)}}{{\partial x^{2} }},\quad a_{n} = \frac{{\partial^{2} f\left( {x = x_{n} } \right)}}{{\partial x^{2} }}$$
(14)

where velocities \(\left\{ {v_{1} ,\;v_{n} } \right\}\) and accelerations \(\left\{ {a_{1} ,\;a_{n} } \right\}\) are given data of the problem.

To accomplish this goal two extra knots (virtual via-points) with the associated RBFs should be introduced near each extreme point of RBF’s so that the boundary conditions for velocity and acceleration can be respected. Therefore, the relation Eq. (9) rewrite as follows:

$$f\left( x \right) = \sum\limits_{j = 1}^{n + 4} {\omega_{j} \;\phi_{j} \left( {\left\| {x - c_{j} } \right\|} \right)}$$
(15)

The new elements defining the associated linear system are as follows:

  • The coefficients matrix \(K\;\left[ {n + 4 \times n + 4} \right]\):

    $$K\; = \left[ {k_{1} \quad \quad k_{2} } \right]\;$$
    (16)

    with:

    $$k_{1} = \left[ {\begin{array}{*{20}c} 1 & {\phi_{2} \left( {x_{1} } \right)} & \cdots & {\phi_{n} \left( {x_{1} } \right)} \\ {\phi_{1} \left( {x_{2} } \right)} & 1 & \cdots & {\phi_{n} \left( {x_{2} } \right)} \\ \vdots & \vdots & \ddots & \vdots \\ {\phi_{1} \left( {x_{n} } \right)} & {\phi_{2} \left( {x_{n} } \right)} & \cdots & 1 \\ {\phi^{\prime}_{1} \left( {x_{n + 1} } \right)} & {\phi^{\prime}_{2} \left( {x_{n + 1} } \right)} & \cdots & {\phi^{\prime}_{n} \left( {x_{n + 1} } \right)} \\ {\phi^{\prime}_{1} \left( {x_{n + 2} } \right)} & {\phi^{\prime}_{2} \left( {x_{n + 2} } \right)} & \cdots & {\phi^{\prime}_{n} \left( {x_{n + 2} } \right)} \\ {\phi^{\prime\prime}_{1} \left( {x_{n + 3} } \right)} & {\phi^{\prime\prime}_{2} \left( {x_{n + 3} } \right)} & \cdots & {\phi^{\prime\prime}_{n} \left( {x_{n + 3} } \right)} \\ {\phi^{\prime\prime}_{1} \left( {x_{n + 4} } \right)} & {\phi^{\prime\prime}_{2} \left( {x_{n + 4} } \right)} & \cdots & {\phi^{\prime\prime}_{n} \left( {x_{n + 4} } \right)} \\ \end{array} } \right]$$
    (17)
    $$k_{2} = \left[ {\begin{array}{*{20}c} {\phi_{n + 1} \left( {x_{1} } \right)} & {\phi_{n + 2} \left( {x_{1} } \right)} & {\phi_{n + 3} \left( {x_{1} } \right)} & {\phi_{ + 4} \left( {x_{1} } \right)} \\ {\phi_{n + 1} \left( {x_{2} } \right)} & {\phi_{n + 2} \left( {x_{2} } \right)} & {\phi_{n + 3} \left( {x_{2} } \right)} & {\phi_{n + 4} \left( {x_{2} } \right)} \\ \vdots & \vdots & \vdots & \vdots \\ {\phi_{n + 1} \left( {x_{n} } \right)} & {\phi_{n + 2} \left( {x_{n} } \right)} & {\phi_{n + 3} \left( {x_{n} } \right)} & {\phi_{n + 4} \left( {x_{n} } \right)} \\ {\phi^{\prime}_{n + 1} \left( {x_{n + 1} } \right)} & {\phi^{\prime}_{n + 2} \left( {x_{n + 1} } \right)} & {\phi^{\prime}_{n + 3} \left( {x_{n + 1} } \right)} & {\phi^{\prime}_{n + 4} \left( {x_{n + 1} } \right)} \\ {\phi^{\prime}_{n + 1} \left( {x_{n + 2} } \right)} & {\phi^{\prime}_{n + 2} \left( {x_{n + 2} } \right)} & {\phi^{\prime}_{n + 3} \left( {x_{n + 2} } \right)} & {\phi^{\prime}_{n + 4} \left( {x_{n + 2} } \right)} \\ {\phi^{\prime\prime}_{n + 1} \left( {x_{n + 3} } \right)} & {\phi^{\prime\prime}_{n + 2} \left( {x_{n + 3} } \right)} & {\phi^{\prime\prime}_{n + 3} \left( {x_{n + 3} } \right)} & {\phi^{\prime\prime}_{n + 4} \left( {x_{n + 3} } \right)} \\ {\phi^{\prime\prime}_{n + 1} \left( {x_{n + 4} } \right)} & {\phi^{\prime\prime}_{n + 2} \left( {x_{n + 4} } \right)} & {\phi^{\prime\prime}_{n + 3} \left( {x_{n + 4} } \right)} & {\phi^{\prime\prime}_{n + 4} \left( {x_{n + 4} } \right)} \\ \end{array} } \right]$$
    (18)

    Noting that the previous four rows of matrix K are calculated via relations given in Eqs. (6) and (7). Moreover, the values of the four extra knots added to RBF’s trajectory are given by:

    $$\begin{array}{c}{x}_{n+1}={x}_{1}+0.02\left({x}_{2}-{x}_{1}\right);\;\;\;{x}_{n+2}={x}_{n}-0.02\left({x}_{n}-{x}_{n-1}\right);\\ {x}_{n+3}={x}_{1}+0.04\left({x}_{2}-{x}_{1}\right);\;\;\;{x}_{n+4}={x}_{n}-0.04\left({x}_{n}-{x}_{n-1}\right)\end{array}$$
    (19)
  • The unknown vector of the linear system:

    $$W\left[ {n + 4 \times 1} \right] = \left[ {\omega_{1} ,\,\,...,\omega_{n} ,\omega_{n + 1} ,\omega_{n + 2} ,\omega_{n + 3} ,\omega_{n + 4} } \right]^{\,\,T} \,$$
    (20)

    and where the vector \(Y\) becomes:

    $$Y\left[ {n + 4 \times 1} \right] = \left[ {y_{1} ,\,\,...,y_{n} ,v_{1} ,v_{n} ,a_{1} ,a_{n} } \right]^{\,\,T} \,$$
    (21)

3.3 Optimization process consideration

In the optimization problem, the solution to this problem was denoted as the vector of optimization variables \(F = (h_{1} ,...,\,h_{n - 1} ,\)\(\sigma_{1} ,...,\,\sigma_{N} )\). That is, the issue is to find a set of optimum values for the time intervals \(h_{j} \,(h_{j} = t_{j + 1} - t_{j} ,j = 1,\,...,\,n - 1)\), and the suitable shape parameters \(\sigma_{i} \,(i = 1,\,...,\,N)\) such as the transfer time is minimized between each pair of adjacent knots. Kinematic constraints on velocity, acceleration, and jerk for all joints are respected using the MQ-RBF interpolation technique. Also, it remains to describe the expression of the objective function Eq. (1) in order, to be able to implement the algorithm for the trajectory optimization constructed with MQ-RBFs, So, the objective function Eq. (1) can be defined in terms of MQ-RBF and formulated as.

$$Fobj = \;K_{T} \;T + K_{J} \;JM$$
(22)

where the execution time

$$T = \sum\limits_{i = 1}^{n - 1} {h_{i} }$$
(23)

and absolute mean jerk

$$JM = \sum\limits_{j = 1}^{N} {\sqrt {\frac{1}{T}\int\limits_{0}^{T} {\dddot q_{j}^{2} (t)\;dt} } }$$
(24)

Therefore, to be capable to compare the results obtained by our method, the values of the weighting coefficients KT and KJ presented in the expression of the objective function Eq. (22) have been adjusted by choosing KJ = 0 permits to find a minimum-time trajectory Eq. (23), while setting KT = 0 permits to find a minimum-jerk trajectory profile is found Eq. (24).

4 Comparative examples

4.1 Trajectory for pick-and-place tasks

As previously stated, the objective here is to find a trajectory that connects a beginning and final configuration while also satisfying other specified constraints at the endpoints (null limit velocity and acceleration). To achieve this goal, we will use two knots associated with the limit configurations, and four extra-knots are inserted according Eq. (19). The trajectory found by MQ-RBF is then compared to those obtained by using [52]:

  • Gaussian RBF (Ga-RBF):

    $$\varphi (r) = \exp \left( { - \frac{1}{2}\frac{{r^{2} }}{{\sigma^{2} }}} \right)$$
    (25)
  • Generalized inverse multiquadric RBF (GIMQ-RBF):

    $$\varphi (r) = \frac{1}{{\left( {r^{2} + \sigma^{2} } \right)^{2} }}$$
    (26)
  • Inverse quadric RBF (IQ-RBF):

    $$\varphi (r) = \frac{1}{{\sqrt {r^{2} + \sigma^{2} } }}$$
    (27)
  • Quintic RBF (Qnt-RBF):

    $$\varphi (r) = \;r^{5}$$
    (28)

As a first illustrative example, a single link trajectory is considered it has to connect the limit configurations qi = 0, qf = π and the employed time interval tf = 1.5 s. Also, the shape parameter σ is taken the same for all applied radial basis functions and we suppose σ = tf. Trajectory plots of the five RBF’s which connect the endpoints are given in Fig. 1. The corresponding profiles of velocity, acceleration, and jerk are also plotted in Fig. 1, for purposes of comparison. Table 2 reports the extreme recorded values.

Fig. 1
figure 1

Trajectory model for pick-and-place tasks

Table 2 Maximum values of velocity, acceleration, and jerk recorded during pick-and-place tasks. (The bold values indicate the lowest values)

Note from Fig. 1 that the position profiles for the five RBF’s models are not significantly different and they link the initial and final positions in a smooth way, with no overshoot beyond the endpoints. From velocity, acceleration, and jerk points of view, it is clear that Ga-RBF trajectory behaves like the Qnt-RBF model and that Qnt-RBF trajectory has a better velocity and acceleration profiles. However, this superiority is paid by having significantly higher values in the jerk function. It can be noted that MQ-RBF trajectory is close to those of the GIMQ-RBF and IQ-RBF models but with better scores in terms of extreme values of jerk compared with other RBF’s trajectories, as indicated in Table 2.

4.2 Trajectory for continuous tasks

As a second illustrative example, a single link trajectory is considered for planning trajectory in continuous tasks as in Ref. [18]. The trajectory has to connect the following angles (in degrees) q = [120,60,80,120,0]. The employed time intervals are 2 s between each pair of adjacent knots. The objective of this example is to test the use of MQ-RBF for planning joint trajectories and to compare the results with those obtained by using:

  • Gaussian RBF (Ga-RBF): implemented according to Ref. [43], and

  • Cubic spline (CS): implemented according to Ref. [53]

Note that the only drawback of the cubic splines is just the presence of the discontinuity in the acceleration function at the extreme points. This can be avoided, by adding two free extra-knots in the second and penultimate position. Trajectory plots of the three interpolation functions (MQ-RBF, Ga-RBF, and CS) which pass through the five sets of knots with and their derivative are given in Fig. 2. Table 3 summarizes the extreme recorded values of velocity, acceleration, and jerk.

Fig. 2
figure 2

Trajectory model for continuous tasks

Table 3 Maximum values of velocity, acceleration, and jerk recorded during continuous tasks. (The bold values indicate the lowest values)

Indeed, from Fig. 2 the position and velocity profiles of the MQ-RBF and Ga-RBF trajectories behave like the cubic spline. Also, it can be noted in Fig. 2 that Ga-RBF trajectory determined according the procedure described in [43] has a better velocity and acceleration profile. However, this superiority is paid by having an oscillating jerk profile with significantly higher values, compared with the MQ-RBF trajectory which has the better scores in terms of extreme values of jerk, as indicated in Table 3.

5 Generating trajectories results and interpretations

5.1 Example 1: Minimum time trajectory

The objective function that contains the minimum-time Eq. (23) for the PUMA 560 robot is considered in this example. The goal is to plan optimal trajectories and compare the obtained results with those given in Chettibi’s recent works [43]. The knot angle values in the joint space are reported in Table 4, and the kinematic limits of the joints are given in Table 5. Note that the velocity and acceleration at start knots and end knots were set as zero.

Table 4 Joint space knots for trajectory planning
Table 5 Kinematic constraints of the robot joints

The obtained total traveling time of the trajectory is T = 17.2347 s, the optimum values of time intervals are h1 = 3.3201 s, h2 = 1.1645 s, h3 = 1.9295 s, h4 = 2.3207 s, h5 = 2.4683 s, h6 = 2.9501 s, and h7 = 3.0816 s and the optimum values MQ-RBF shape parameters are σ1 = 3.0214, σ2 = 9.0955, σ3 = 2.4557, σ4 = 1.5580, σ5 = 8.5448, and σ6 = 2.9987. The joint trajectories and their derivatives of the 6-DOF robot manipulator in minimum time which pass through the six via-points using the MQ-RBF interpolation, are given in Fig. 3.

Fig. 3
figure 3

Optimized trajectory with minimum time

The traveling time found by the Gaussian RBF interpolation in [43] is about 17.7107 s. In Refs. [30, 54], it is stated a minimum time of about 18.451 s using cubic spline and 21.964 s using cubic B-spline, respectively. The results obtained by the MQ-RBF interpolation technique are comparable with those from Chettibi [43], taking into account end conditions and kinematic constraints. This first example illustrates that the proposed technique is capable of achieving shorter production times. This appears to be an essential property that is highly desirable in the industrial field.

5.2 Example 2: Minimum time-jerk trajectory

The second example aims to plan a smooth trajectory planning for the industrial robot PUMA 560 with six revolute joints and to compare the obtained results with the algorithms given by two important earlier studies [14, 34]. For each knot point, there are four different knot angles (n = 4), although the authors [14, 34] utilized joint space values reported in Table 6 while respecting kinematic constraints given in Table 7. Note that the velocity and acceleration were set as zero at the beginning and end points of the trajectory.

Table 6 Joint space knots for trajectory planning
Table 7 Kinematic constraints of the robot joints

In order to be able to compare the results yielded by our method, the values of the weighting coefficients KT and KJ presented in the expression of the objective function Eq. (22) have been adjusted as Gasparetto and Zanotto [34], so that the traveling time of the algorithm described in this example and the technique presented in [34] would be the same (about 9.1 s). The obtained total traveling time of the trajectory is T = 9.0975 s, the optimum values of time intervals are h1 = 3.3393 s, h2 = 2.5904 s, and h3 = 3.3393 s, and the optimum values of MQ-RBF shape parameters are σ1 = 5.5483, σ2 = 3.3848, σ3 = 5.3837, σ4 = 6.0000, σ5 = 5.9905, and σ6 = 5.4499.

The 6-DOF robot manipulator’s trajectories and their derivatives up to the third-order are presented in Fig. 4. These figures show that the two first derivatives of joint trajectories curves are null in the beginning and endpoint of the trajectory. They show that all kinematic performances are met. Figures 5, 6, 7, and 8 show the mean kinematic values (velocity, acceleration, and jerk) for all joints and their average values, respectively, compared with those obtained by the method proposed by [14, 34].

Fig. 4
figure 4

Optimized trajectory with minimum time-jerk

Fig. 5
figure 5

Mean velocity values

Fig. 6
figure 6

Mean acceleration values

Fig. 7
figure 7

Mean jerk values

Fig. 8
figure 8

Average kinematic values

Table 8 illustrates the maximum joint velocities, accelerations, and jerks obtained from our method. It can be noticed from these values that all kinematic performances for the robot manipulator are met.

Table 8 Maximum kinematic values

Table 9 illustrates the mean kinematic values of velocity, acceleration, and jerk and their average values for all joints, compared with those results from Gasparetto and Piazzi works [14, 34]. Gasparetto and Zanotto [34] used the cubic splines interpolation with the SQP method to minimize the time-jerk objective function whereas in the front of Piazzi’s work [14] which the trajectory interpolated by means of minimum jerk (MJ) cubic splines. In this study, as shown in Table 9, the mean jerks of joint 1, 2, 3, 5, and 6 yielded by MQ-RBF are lower than those yielded by Gasparetto’s technique with 14%, 7%, 15%, 1%, and 11% respectively, and the results yielded by Piazzi’s method are lower with 16%, 11%, 16%, 1%, and 16% respectively. It can be easily said that the MQ-RBF technique performed better than those presented in the earlier studies [14, 34] in the aspect of jerk value.

Table 9 Mean kinematic values

6 Conclusion

A new technique, using multiquadric radial basis functions (MQ-RBFs), has been presented to construct robot trajectories. The trajectory planning is performed in the JS, and the transfers with via-points can be simply attained satisfying imposed boundary conditions. Considering this fact, the proposed approach was tested and verified in diverse cases and with others interpolation functions such as RBF’s and splines. Also, the trajectory constructed with MQ-RBF is optimized; using SQP technique and a minimum-time, smooth trajectory profile is found for the 6-DOF PUMA 560 robot that meets kinematics constraints. The proposed methodology has been tested in simulation and the results are compared with important approaches proposed by the previous authors [14, 30, 34, 43, 54].

The performance of the proposed technique can be summarized as follows:

  1. 1.

    The trajectory construction using MQ-RBFs allows to generate smooth trajectories with satisfying imposed constraints on the initial and final velocities and accelerations.

  2. 2.

    The proposed approach is capable to construct joint trajectories for robot manipulators as good as cubic splines, cubic B-spline and Gaussian-RBF in terms of traveling time but with continuous derivatives and significantly decreased jerk.

  3. 3.

    The proposed technique also makes it possible to process a large number of via-points in a trajectory with simple implementation.

  4. 4.

    MQ-RBF technique provides minimum jerk index with the same transfer time compared to previous studies.

Further research will investigate and exploit the benefits of the proposed technique for planning the trajectory of parallel manipulators and CNC machines. Other innovative multi-objective optimization techniques will also be taken into account. Optimal trajectory planning can also be improved by using other optimization techniques. In addition, other Hybrid RBF (HRBF) interpolation methods such as the Hybrid Gaussian–cubic radial basis function can be considered to obtain smooth trajectories.