# Algebraic Method-Based Point-to-Point Trajectory Planning of an Under-Constrained Cable-Suspended Parallel Robot with Variable Angle and Height Cable Mast

## Abstract

To avoid impacts and vibrations during the processes of acceleration and deceleration while possessing flexible working ways for cable-suspended parallel robots (CSPRs), point-to-point trajectory planning demands an under-constrained cable-suspended parallel robot (UCPR) with variable angle and height cable mast as described in this paper. The end-effector of the UCPR with three cables can achieve three translational degrees of freedom (DOFs). The inverse kinematic and dynamic modeling of the UCPR considering the angle and height of cable mast are completed. The motion trajectory of the end-effector comprising six segments is given. The connection points of the trajectory segments (except for point P3 in the X direction) are devised to have zero instantaneous velocities, which ensure that the acceleration has continuity and the planned acceleration curve achieves smooth transition. The trajectory is respectively planned using three algebraic methods, including fifth degree polynomial, cycloid trajectory, and double-S velocity curve. The results indicate that the trajectory planned by fifth degree polynomial method is much closer to the given trajectory of the end-effector. Numerical simulation and experiments are accomplished for the given trajectory based on fifth degree polynomial planning. At the points where the velocity suddenly changes, the length and tension variation curves of the planned and unplanned three cables are compared and analyzed. The OptiTrack motion capture system is adopted to track the end-effector of the UCPR during the experiment. The effectiveness and feasibility of fifth degree polynomial planning are validated.

## 1 Introduction

Cable-suspended parallel robots (CSPRs) are well-known as a particular type of parallel robots, in which flexible cables substitute rigid links to drive its end-effector. CSPRs where all cable attachment points are above the end-effector, and gravity acts as a cable tension. This is achieved by employing the gravity of the end-effector as the downward force and reverses all cables of CSPRs taut. CSPRs have many attractive merits over common parallel robots, such as large workspace and load capacity, low inertia, high accuracy and acceleration, easy assembly and disassembly, low cost and power consumption, as well as easy transportability and reconfigurability. One intrinsic disadvantage of CSPRs is that cables can only drag the end-effector but cannot push it [1,2,3]. In the last few decades, CSPRs have been widely applied in various fields due to their attractive merits, such as hoisting heavy loads [4, 5], large radio telescope [6, 7], high-speed manipulation , wind tunnel test , camera robot , 3D printer [11,12,13], rehabilitation robot [14, 15], building construction [16, 17], and haptic devices .

A trajectory is a path that specifies a rule of time such as in the light of accelerations and velocities at each point, while planning is to generate a time series of values obtained by an interpolation function of the required trajectory. The goal of trajectory planning is to generate reference inputs for the movement control system to ensure that the robot can carry out the planned trajectory. Actually, the inputs of trajectory planning algorithm are the path descriptions, and path constraints are applied by the robot’s dynamics. The outputs are the trajectory of the end-effector in the light of a time series of the values obtained by position, velocity, and acceleration. Thus, variables with a time series are generated by the trajectory planning algorithm, and these variables depict the pose of the end-effector with respect to the imposed constraints over time .

The trajectory planning of CSPRs has been investigated by some researchers. Jiang et al.  presented a technology of dynamic trajectory planning for CSPRs with six degrees of freedom (DOFs). A passive mechanical system equivalent to the CSPRs was presented. A trajectory design that extended beyond the robot’s static workspace was proposed. The angle convention of tilt-and-torsion could not only be utilized to establish the mathematical model, but also impose constraints for the rotational component of the trajectory. Under some conditions, the dynamic differential equations that controlled the translational component of the trajectory became linear. Thus, the natural frequency of a linear system of an equivalent passive spring with constant stiffness was gained, and a general solution for a periodic and natural trajectory was produced. This method was adopted to the trajectory of pure translation and more sophisticated movements, including pose change. Dion-Gauvin et al.  proposed a dynamic trajectory planning technology for CSPRs with three DOFs. The idea of the trajectory path originated from a hypocycloid curve, which was inserted in the plane determined by the acceleration vector at the start and end points. The presented movement can guarantee acceleration continuity at each endpoint and zero instantaneous velocity. A positive cable tension could be ensured by appropriately selecting the number of arcs for the hypocycloid. This trajectory could be utilized to sequentially connect continuous target points that might be outside the robot’s static workspace. This technology could produce large ranges of reachable target points compared to previous methods. Zhang et al.  investigated the trajectory planning of an under-constrained cable-suspended parallel robot (UCPR) with three DOFs and proposed a geometric method to plan a trajectory that extended beyond the robot’s static workspace. Cable tensions were positive along a straight-line path, and these conditions were given from a geometric point of view. A point-to-point trajectory satisfying the constraints of cable tension was devised in the $$s{ - }\ddot{s}$$ plane. The trajectory parameters were chosen by weighing the safety of cable tensions and the trajectory duration. To avoid the inability of connecting the designated points, a novel workspace was determined so that any target point could be reached in order in the workspace. The periodic trajectory was designed in a similar way, which included oscillations along a straight line and uniform circular movement in a horizontal plane. The scope of periodic trajectory parameters could be easily determined based on the constraints of cable tensions. The proposed method could produce analytical results and ensure that cable tensions were continuous and positive. Behzadipour et al.  investigated the trajectory planning of a cable-based high-speed parallel robot according to a specified geometric path. Time-optimized trajectory planning technology was applied to the robot, where the cable tensions must be greater than zero. The results of this technology were evaluated experimentally on the robot developed at the University of Waterloo. The property of the time-optimized technology was checked both for the computational time of the trajectory generation and the motion time of the robot. Barbazza et al.  proposed a new CSPR with reconfigurable end-effector, which was imagined for the pick and place operations in industrial environments. To achieve a pick and place operation with dynamic online reconstruction of the end-effector in the operational space, an optimized algorithm of trajectory planning was presented. In a simplified scenario, the results illustrated that the system had the ability to reduce motion time and avoid obstacles. Zhang et al.  investigated the influences of diverse trajectories on stiffness for a CSPR with six DOFs based on its kinematics and dynamics models. To analyze the stiffness variations during movement, the performance indices were chosen from the minimum eigenvalue of the dimensionally homogeneous stiffness matrix and the condition number. Three diverse trajectory planning approaches including quintic polynomial, trigonometric function, and S-type velocity profile were adopted to investigate the robot’s stiffness. After the curved trajectory and point-to-point straight-line trajectory were respectively planned, the accelerations of diverse approaches were analyzed, and the stiffness capabilities of these approaches were compared. The simulation outcomes showed that the performances of quintic polynomial and S-type velocity profile were optimal. They could both maintain the stiffness stability during motion control and optimize the travel time of quintic polynomial while maintaining stability. Jiang et al.  proposed a point-to-point dynamic trajectory planning technology for a CSPR with six DOFs to achieve a series of poses. Each segment of the trajectory was devised to possess zero rotational and translational velocities at its endpoints, and transitions between segments had the continuity of rotational and translational accelerations. This expression promoted the trajectory synthesis that extended beyond the robot’s static workspace. The elementary motion was a mathematical function, which could be applied to each coordinate direction along each trajectory segment. The kinematic constraints were met by selecting the coefficients of the function. According to the previous endpoint, the dynamic constraints were imposed by determining feasible areas. The optimally interpolated rotational trajectory segments without singularity were produced via spherical linear interpolation. Zhang et al.  studied the motion planning of a continuous path for a CSPR with three DOFs considering the dynamic constraints of the robot. The geometric and algebraic performances of the constraints for cable tensions were analyzed, and the sufficient and necessary conditions for the end-effector to cross singularities along straight-line paths were presented. A piecewise linear interpolation approach was introduced. The middle points were appropriately chosen to prevent collisions between obstacles and cables, and the generated trajectory was revised by quintic polynomial planning to improve the capability. The conditions for determining an ordinary plane curve from three points were given. A general curve interpolation approach was proposed. Three types of cyclical trajectories were devised. The presented approach of trajectory planning could not only meet the constraints of positive cable tension, but also ensure the continuity and safety of tension. Simulations and experiments validated the effectiveness of this approach. Xiang et al.  proposed a trajectory planning technology of dynamic transition for a fully-actuated CSPRs with three DOFs. The presented two-step technology could be applied to plan transition trajectories in order to generate periodic motions that extended beyond the static workspace of the robot. The robot dynamics were linearized and partly decoupled by dealing with the less limited gravity axis trajectory planning issue. The constraints of the other axes and corresponding dynamics model became linear time-varying. The generation of general transition trajectories and general periodic trajectories was completed by convex optimization. The presented technology had the ability to generate general periodic trajectories and offered a universal transition planner.

In summary, the angle and height of cable mast for CSPRs are fixed in the published literatures of trajectory planning, but the angle and height variations of cable mast for the UCPR are considered in this study. Three algebraic methods are adopted to plan a point-to-point trajectory for the UCPR. The end-effector of the UCPR with three cables can achieve three translational DOFs. The angle of cable mast can be changed by a gear drive along the circular base, which reduces the probability of collision between cables and obstacles. The height of cable mast can be altered by a hydraulic cylinder, which enlarges the reachable workspace of the end-effector. The given trajectory consisting of lines and arcs is a closed curve, which includes six segments that are connected end to end. The connection points of the trajectory segments (except for point P3 in the X direction) are devised to have zero instantaneous velocities, which ensure that the acceleration has continuity. The planned acceleration curves can achieve smooth transition at the connection points, thereby effectively avoiding impacts and vibrations of the robot.

The structure of this paper is organized as follows. Section 2 establishes the inverse kinematic modeling of the UCPR considering the angle and height of cable mast according to the vector closed loop principle. Section 3 sets up the dynamic modeling of the UCPR considering the angle and height of cable mast based on the Lagrange method. In Section 4, the trajectory of the end-effector for the UCPR is respectively planned using the three algebraic methods. Section 5 accomplishes the numerical simulation and experiments for the given trajectory based on fifth degree polynomial planning. Section 6 summarizes some conclusions.

## 2 Inverse Kinematic Modeling

The structural diagram of the UCPR with three cables is illustrated in Figure 1. Each cable mast can be rotated along the circular base by a gear drive, which reduces the probability of collision between cables and obstacles. The pulley located at the top of the cable mast can be raised or lowered by a hydraulic cylinder, which enlarges the reachable workspace of the end-effector. It is assumed that all cables are inelastic and massless straight lines. The inverse kinematics of the UCPR aims to solve the length of cables according to the pose of its end-effector.

Two reference frames are set up in order to depict the kinematic relationships of the UCPR. A global reference frame $$OXYZ$$ with origin $$O$$ is fixed at the center of the circular base of the robot, and the $$Z{ - }$$axis of frame $$OXYZ$$ points upward. A local reference frame $$PXYZ$$ is fixed on the end-effector, with its origin $$P$$ located at the centroid of the end-effector. $$A_{i} \;(i = 1,2,3)$$ denotes cable exit point, and $$B_{i} \;(i = 1,2,3)$$ represents cable attachment point between cable and the end-effector. $$R$$ stands for the radius of the circular base of the robot. $$H_{i} \;(i = 1,2,3)$$ denotes the height of cable mast. $$\Delta H_{i} \;(i = 1,2,3)$$ denotes the amount of change in the height of cable mast. $$\theta_{i} \;(i = 1,2,3)$$ represents the angle between $$OC_{i} \;(i = 1,2,3)$$ and the OX-axis. $$\Delta \theta_{i} \;(i = 1,2,3)$$ denotes the amount of change in the angle of cable mast. h stands for the thickness of the end-effector. The position vector of origin P in frame $$OXYZ$$ is expressed as $$\varvec{r}_{P} = [x_{P} \;\;y_{P} \;\;z_{P} ]^{\text{T}}$$. The generalized coordinates considering the pose of the end-effector as well as the angles and heights of cable masts in frame $$OXYZ$$ can be expressed as $$\varvec{q} = [x\;\;y\;\;z\;\;\Delta \theta_{1} \;\;\Delta \theta_{2} \;\;\Delta \theta_{3} \;\;\Delta H_{1} \;\;\Delta H_{2} \;\;\Delta H_{3} ]^{\text{T}}$$.

Since the end-effector of the UCPR has three translational DOFs, the rotation matrix from frame $$PXYZ$$ to frame $$OXYZ$$ is written as

$${}_{P}^{O} \varvec{R} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} } \right].$$
(1)

The angle $$\theta_{i}$$ of cable mast between $$OC_{i}$$ and the $$OX$$-axis is defined as

$$\theta_{i} = \frac{{2{{\uppi }}\left( {i - 1} \right)}}{3},\;\;i = 1,2,3.$$
(2)

The position vector from origin $$P$$ to cable attachment point $$B_{i}$$ is denoted as $$\varvec{r}_{{B_{i} }}$$, namely,

$$\varvec{r}_{{B_{i} }} = \left[ {\begin{array}{*{20}c} {r\cos \theta_{i} } & {r\sin \theta_{i} } & h \\ \end{array} } \right]^{\text{T}} ,\;\;i = 1,2,3.$$
(3)

The position vector from origin $$O$$ to cable exit point $$A_{i}$$ is denoted as $$\varvec{r}_{{A_{i} }}$$, namely,

$$\varvec{r}_{{A_{i} }} = \left[ {\begin{array}{*{20}c} {R\cos \theta_{i} } & {R\sin \theta_{i} } & {H_{i} } \\ \end{array} } \right]^{\text{T}} ,\;\;i = 1,2,3.$$
(4)

The inverse kinematics equation for the UCPR can be written as

$$\varvec{l}_{i} = \varvec{r}_{{A_{i} }} - {}_{P}^{O} \varvec{R}\;\varvec{r}_{{B_{i} }} - \varvec{r}_{P} ,\;\;i = 1,2,3,$$
(5)

where $$\varvec{l}_{i}$$ denotes the length vector of the ith cable.

The length scalar of the ith cable can be denoted as

$$l_{i} = \sqrt {\varvec{l}_{i}^{\text{T}} \;\varvec{l}_{i} } ,\;\;i = 1,2,3.$$
(6)

According to Eq. (5), the relationship between the velocity vector of cables and the velocity vector of the generated coordinates can be expressed as

$$\dot{\varvec{l}} = \varvec{J}\;\dot{\varvec{q}} ,$$
(7)

where $$\dot{\varvec{q}} = [\dot{x}\;{\kern 1pt} \dot{y}\;{\kern 1pt} \dot{z}\;{\kern 1pt} \Delta \dot{\theta }_{1} \;{\kern 1pt} \Delta \dot{\theta }_{2} \;{\kern 1pt} \Delta \dot{\theta }_{3} \;{\kern 1pt} \Delta \dot{H}_{1} \;{\kern 1pt} \Delta \dot{H}_{2} \;{\kern 1pt} \Delta \dot{H}_{3} ]^{\text{T}} ,$$denotes the velocity vector of the generated coordinates, $$\dot{\varvec{l}} = \left[ {\begin{array}{*{20}c} {l_{1} } & {l_{2} } & {l_{3} } \\ \end{array} } \right]^{\text{T}}$$is the velocity vector of cables, and J stands for the Jacobian matrix, which can be expressed as

$$\varvec{J} = \left[ {\begin{array}{*{20}c} {\frac{{\partial l_{1} }}{\partial x}} & {\frac{{\partial l_{1} }}{\partial y}} & {\frac{{\partial l_{1} }}{\partial z}} & {\frac{{\partial l_{1} }}{{\partial \Delta \theta_{1} }}} & {\frac{{\partial l_{1} }}{{\partial \Delta \theta_{2} }}} & {\frac{{\partial l_{1} }}{{\partial \Delta \theta_{3} }}} & {\frac{{\partial l_{1} }}{{\partial \Delta H_{1} }}} & {\frac{{\partial l_{1} }}{{\partial \Delta H_{2} }}} & {\frac{{\partial l_{1} }}{{\partial \Delta H_{3} }}} \\ {\frac{{\partial l_{2} }}{\partial x}} & {\frac{{\partial l_{2} }}{\partial y}} & {\frac{{\partial l_{2} }}{\partial z}} & {\frac{{\partial l_{2} }}{{\partial \Delta \theta_{1} }}} & {\frac{{\partial l_{2} }}{{\partial \Delta \theta_{2} }}} & {\frac{{\partial l_{2} }}{{\partial \Delta \theta_{3} }}} & {\frac{{\partial l_{2} }}{{\partial \Delta H_{1} }}} & {\frac{{\partial l_{2} }}{{\partial \Delta H_{2} }}} & {\frac{{\partial l_{2} }}{{\partial \Delta H_{3} }}} \\ {\frac{{\partial l_{3} }}{\partial x}} & {\frac{{\partial l_{3} }}{\partial y}} & {\frac{{\partial l_{3} }}{\partial z}} & {\frac{{\partial l_{3} }}{{\partial \Delta \theta_{1} }}} & {\frac{{\partial l_{3} }}{{\partial \Delta \theta_{2} }}} & {\frac{{\partial l_{3} }}{{\partial \Delta \theta_{3} }}} & {\frac{{\partial l_{3} }}{{\partial \Delta H_{1} }}} & {\frac{{\partial l_{3} }}{{\partial \Delta H_{2} }}} & {\frac{{\partial l_{3} }}{{\partial \Delta H_{3} }}} \\ \end{array} } \right].$$
(8)

## 3 Dynamic Modeling

The force analysis diagram of the UCPR is displayed in Figure 2. $$T_{i} \;(i = 1,2,3)$$ denotes the cable tension. $$T_{{\theta_{i} }} (i = 1,2,3)$$ stands for the torque of the cable mast around the $$OZ$$-axis. It is assumed that cable mast rotates counterclockwise along the circular base to be positive and clockwise to be negative. $$F_{i} \;(i = 1,2,3)$$ represents the force of the cable mast to the pulley upward. The dynamics model of the UCPR offers an explicit description of the relationship between its motion and force, which is established by the Lagrange method. The Lagrange equation of the UCPR is the difference between its total kinetic energy and total potential energy.

The kinetic energy of the end-effector can be written as

$$K_{1} { = }\frac{1}{2}m_{e} \dot{\varvec{q}}_{e}^{\text{T}} \dot{\varvec{q}}_{e} = \frac{1}{2}m_{e}\left( {\dot{x}^{2} + \dot{y}^{2} + \dot{z}^{2} } \right),$$
(9)

where $$m_{e}$$ denotes the mass of the end-effector, and $$\dot{\varvec{q}}_{e} = \left[ {\begin{array}{*{20}c} {\dot{x}} & {\dot{y}} & {\dot{z}} \\ \end{array} } \right]^{\text{T}}$$.

The potential energy of the end-effector can be expressed by

$$U_{1} = m_{e} gz,$$
(10)

where g denotes the magnitude of gravity acceleration.

The kinetic energy of cable mast rotating along the circular base can be depicted as

$$K_{2} = \frac{1}{2}I_{\theta } \dot{\varvec{q}}_{\theta }^{\text{T}} \dot{\varvec{q}}_{\theta } { = }\frac{1}{2}I_{\theta } \left( {\Delta \dot{\theta }_{1}^{2} + \Delta \dot{\theta }_{2}^{2} + \Delta \dot{\theta }_{3}^{2} } \right),$$
(11)

where $$I_{\theta } = m_{c} R^{2}$$ denotes the inertia moment of cable mast along the circular base, $$m_{c}$$ represents the mass of cable mast, and $$\dot{\varvec{q}}_{\theta } = \left[ {\begin{array}{*{20}c} {\Delta \dot{\theta }_{1} } & {\Delta \dot{\theta }_{2} } & {\Delta \dot{\theta }_{3} } \\ \end{array} } \right]^{\text{T}}$$.

The potential energy of cable mast rotating along the circular base can be described as

$$U_{2} = 0.$$
(12)

The kinetic energy of cable mast driven by the hydraulic cylinder in the Z direction can be represented by

$$K_{3} = \frac{1}{2}m_{c} \dot{\varvec{q}}_{H}^{\text{T}} \dot{\varvec{q}}_{H} { = }\frac{1}{2}m_{c} \left( {\Delta \dot{H}_{1}^{2} + \Delta \dot{H}_{2}^{2} + \Delta \dot{H}_{3}^{2} } \right),$$
(13)

where $$\dot{\varvec{q}}_{H} = \left[ {\begin{array}{*{20}c} {\Delta \dot{H}_{1} } & {\Delta \dot{H}_{2} } & {\Delta \dot{H}_{3} } \\ \end{array} } \right]^{\text{T}}$$.

The potential energy of cable mast driven by the hydraulic cylinder in the Z direction can be denoted by

$$U_{3} = \sum\limits_{i = 1}^{3} {m_{c} } g\Delta H_{i} .$$
(14)

The Lagrange formulation of the UCPR can be described by

\begin{aligned} L = & K_{1} + K_{2} + K_{3} - U_{1} - U_{2} - U_{3} \hfill \\ & \quad = \frac{1}{2}m_{e} \dot{\varvec{q}}_{e}^{\text{T}} \dot{\varvec{q}}_{e} + \frac{1}{2}I_{\theta } \dot{\varvec{q}}_{\theta }^{\text{T}} \dot{\varvec{q}}_{\theta } + \frac{1}{2}m_{c} \dot{\varvec{q}}_{H}^{\text{T}} \dot{\varvec{q}}_{H} \hfill \\ & \quad - m_{e} gz - \sum\limits_{i = 1}^{3} {m_{c} } g\Delta H_{i} . \hfill \\ \end{aligned}
(15)

The motion equation of the UCPR can be established using the Lagrange formulation as follows:

$$\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \dot{\varvec{q}}}}} \right) - \frac{\partial L}{{\partial \varvec{q}}} = \varvec{Q},$$
(16)

where $$\varvec{Q} = [T_{1} \;{\kern 1pt} \;T_{2} \;{\kern 1pt} \;T_{3} \;{\kern 1pt} \;T_{{\theta_{1} }} \;{\kern 1pt} \;T_{{\theta_{2} }} \;{\kern 1pt} \;T_{{\theta_{3} }} \;{\kern 1pt} \;F_{1} \;{\kern 1pt} \;F_{2} \;{\kern 1pt} \;F_{3} ]^{\text{T}}$$ represents the generalized force of the UCPR.

Substituting Eq. (15) into Eq. (16) leads to

$$\left\{ {\begin{array}{*{20}l} {\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \dot{x}}}} \right) = m_{e} \ddot{x},\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \dot{y}}}} \right) = m_{e} \ddot{y},\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \dot{z}}}} \right) = m_{e} \ddot{z},} \hfill \\ {\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{\theta }_{1} }}} \right) = I_{\theta } \Delta \ddot{\theta }_{1} ,\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{\theta }_{2} }}} \right) = I_{\theta } \Delta \ddot{\theta }_{2} ,\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{\theta }_{3} }}} \right) = I_{\theta } \Delta \ddot{\theta }_{3} ,} \hfill \\ {\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{H}_{1} }}} \right) = m_{c} \Delta \ddot{H}_{1} ,\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{H}_{2} }}} \right) = m_{c} \Delta \ddot{H}_{2} ,\;\;\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \Delta \dot{H}_{3} }}} \right) = m_{c} \Delta \ddot{H}_{3} .} \hfill \\ \end{array} } \right.$$
(17)

The partial derivative of the Lagrange formulation with regard to the generalized coordinates can be derived as

$$\left\{ {\begin{array}{*{20}l} {\frac{\partial L}{\partial x} = 0,\;\;\frac{\partial L}{\partial y} = 0,\;\;\frac{\partial L}{\partial z} = - m_{e} g,} \hfill \\ {\frac{\partial L}{{\partial \Delta \theta_{1} }} = 0,\;\;\frac{\partial L}{{\partial \Delta \theta_{2} }} = 0,\;\;\frac{\partial L}{{\partial \Delta \theta_{3} }} = 0,} \hfill \\ {\frac{\partial L}{{\partial \Delta H_{1} }} = - m_{c} g,\;\;\frac{\partial L}{{\partial \Delta H_{2} }} = - m_{c} g,\;\;\frac{\partial L}{{\partial \Delta H_{3} }} = - m_{c} g.} \hfill \\ \end{array} } \right.$$
(18)

The dynamics model of the UCPR can be obtained by

$$\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial \dot{\varvec{q}}}}} \right) - \frac{\partial L}{{\partial \varvec{q}}} = \left[ {\begin{array}{*{20}c} {m_{e} } & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & {m_{e} } & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & {m_{e} } & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & {I_{\theta } } & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & {I_{\theta } } & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & {I_{\theta } } & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & {m_{c} } & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & {m_{c} } & 0 \\ {} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & {m_{c} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{x}} \\ {\ddot{y}} \\ {\ddot{z}} \\ {\Delta \ddot{\theta }_{1} } \\ {\Delta \ddot{\theta }_{2} } \\ {\Delta \ddot{\theta }_{3} } \\ {\Delta \ddot{H}_{1} } \\ {\Delta \ddot{H}_{2} } \\ {\Delta \ddot{H}_{3} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ {m_{e} g} \\ 0 \\ 0 \\ 0 \\ {m_{c} g} \\ {m_{c} g} \\ {m_{c} g} \\ \end{array} } \right] = M\varvec{\ddot{q}} + \varvec{G} = - \varvec{J}^{\text{T}} \varvec{T},$$
(19)

where $$\varvec{T} = \left[ {\begin{array}{*{20}c} {T_{1} } & {T_{1} } & {T_{3} } \\ \end{array} } \right]^{\text{T}}$$ represents the tension vector of the three cables.

## 4 Point-to-Point Trajectory Planning

The given trajectory of the end-effector for the UCPR is illustrated as Figure 3, which is a closed curve comprising lines and arcs. Assume that the sequence of motion for the end-effector is as follows: $${\text{P}}0 \to$$$${\text{P}}1 \to$$$${\text{P}}2 \to$$$${\text{P}}3 \to$$$${\text{P}}4 \to$$$${\text{P}}5 \to {\text{P}}0$$. The coordinates from point $${\text{P}}0$$ to point $${\text{P}}5$$ respectively are $${\text{P}}0\;\left( {0,\;0,\;300} \right)$$, $${\text{P}}1\;\left( {100,\;0,\;300} \right)$$, $${\text{P}}2\;\left( {100,\;0,\;200} \right)$$, $${\text{P}}3\;\left( {0,\; - 100,\;200} \right)$$, $${\text{P}}4\;\left( { - 100,\;0,\;200} \right)$$, and $${\text{P}}5\;\left( { - 100,\;0,\;300} \right)$$. The equation for the given trajectory of the end-effector consists of six segments, which can be denoted as

$$x = \left\{ {\begin{array}{*{20}l} {10t,\;\;\;\left( {0 \le t \le 10} \right), \quad \;{\text{P}}0 \to {\text{P}}1,} \hfill \\ {100,\;\;\;\left( {10 < t \le 20} \right), \quad \;{\text{P}}1 \to {\text{P}}2,} \hfill \\ {100\cos \left( {\frac{{{\uppi }}}{40}\left( {t - 20} \right)} \right),\;\;\;\left( {20 < t \le 60} \right), \quad \;{\text{P}}2 \to {\text{P}}3 \to {\text{P}}4,} \hfill \\ { - 100,\;\;\;\left( {60 < t \le 70} \right), \quad \;{\text{P}}4 \to {\text{P}}5,} \hfill \\ {10t - 800,\;\;\;\left( {70 < t \le 80} \right), \quad \;{\text{P}}5 \to {\text{P}}0.} \hfill \\ \end{array} } \right.$$
(20)
$$y = \left\{ {\begin{array}{*{20}l} {0,\;\;\;\left( {0 \le t \le 10} \right), \quad \;{\text{P}}0 \to {\text{P}}1,} \hfill \\ {0,\;\;\;\left( {10 < t \le 20} \right), \quad \;{\text{P}}1 \to {\text{P}}2,} \hfill \\ { - 100\sin \left( {\frac{{{\uppi }}}{40}\left( {t - 20} \right)} \right),\;\;\;\left( {20 < t \le 60} \right), \quad \;{\text{P}}2 \to {\text{P}}3 \to {\text{P}}4,} \hfill \\ {0,\;\;\;\left( {60 < t \le 70} \right), \quad \;{\text{P}}4 \to {\text{P}}5,} \hfill \\ {0,\;\;\;\left( {70 < t \le 80} \right), \quad \;{\text{P}}5 \to {\text{P}}0,} \hfill \\ \end{array} } \right.$$
(21)
$$z = \left\{ {\begin{array}{*{20}l} {300,\;\;\;\left( {0 \le t \le 10} \right), \quad \;{\text{P}}0 \to {\text{P}}1,} \hfill \\ { - 10t + 400,\;\;\;\left( {10 < t \le 20} \right), \quad \;{\text{P}}1 \to {\text{P}}2,} \hfill \\ {200,\;\;\;\left( {20 < t \le 60} \right), \quad \;{\text{P}}2 \to {\text{P}}3 \to {\text{P}}4,} \hfill \\ {10t - 400,\;\;\;\left( {60 < t \le 70} \right), \quad \;{\text{P}}4 \to {\text{P}}5,} \hfill \\ {300,\;\;\;\left( {70 < t \le 80} \right), \quad \;{\text{P}}5 \to {\text{P}}0,} \hfill \\ \end{array} } \right.$$
(22)

where t denotes the motion time of the end-effector along the given trajectory.

Then, the trajectory is separately planned by three algebraic methods, which include fifth degree polynomial, cycloid trajectory, and double-S velocity curve. The planned and unplanned trajectories in the X, Y, Z directions are compared and analyzed.

### 4.1 Fifth Degree Polynomial Method

By planning the motion trajectory of the end-effector using fifth degree polynomial method, the formulas of position, velocity, and acceleration can be expressed as

\begin{aligned} p(t) = \sigma_{0} + \sigma_{1} (t - t_{0} ) + \sigma_{2} (t - t_{0} )^{2} + \sigma_{3} (t - t_{0} )^{3} \hfill \\ \quad \quad \; + \sigma_{4} (t - t_{0} )^{4} + \sigma_{5} (t - t_{0} )^{5} , \hfill \\ \end{aligned}
(23)
\begin{aligned} \dot{p}(t) = \sigma_{1} + 2\sigma_{2} (t - t_{0} ) + 3\sigma_{3} (t - t_{0} )^{2} \hfill \\ \quad \quad \; + 4\sigma_{4} (t - t_{0} )^{3} + 5\sigma_{5} (t - t_{0} )^{4} , \hfill \\ \end{aligned}
(24)
\begin{aligned} \ddot{p}(t) = 2\sigma_{2} + 6\sigma_{3} (t - t_{0} ) + 12\sigma_{4} (t - t_{0} )^{2} \hfill \\ \quad \quad \; + 20\sigma_{5} (t - t_{0} )^{3} , \hfill \\ \end{aligned}
(25)

where t0 and t1 denote the initial and final times of each trajectory segment, respectively; $$p(t_{0} ) = p_{0}$$ and $$p(t_{1} ) = p_{1}$$ represent the initial and final positions of each trajectory segment, respectively; $$\dot{p}(t_{0} ) = v_{0}$$ and $$\dot{p}(t_{1} ) = v_{1}$$ denote the initial and final velocities of each trajectory segment, respectively; and $$\ddot{p}(t_{0} ) = a_{0}$$ and $$\ddot{p}(t_{1} ) = a_{1}$$ denote the initial and final accelerations of each trajectory segment, respectively. In this case, by defining $$\Delta T = t_{1} - t_{0}$$ and $$\Delta p = p_{1} - p_{0}$$, the coefficients of the polynomial can be derived by

$$\left\{ {\begin{array}{*{20}l} {\sigma_{0} = p_{0} ,} \hfill \\ {\sigma_{1} = v_{0} ,} \hfill \\ {\sigma_{2} = \frac{1}{2}a_{0} ,} \hfill \\ {\sigma_{3} = \frac{1}{{2\Delta T^{3} }}\left[ {20\Delta p - (8v_{1} + 12v_{0} )\Delta T - (3a_{0} - a_{1} )\Delta T^{2} } \right],} \hfill \\ {\sigma_{4} = \frac{1}{{2\Delta T^{4} }}\left[ { - 30\Delta p + (14v_{1} + 16v_{0} )\Delta T + (3a_{0} - 2a_{1} )\Delta T^{2} } \right],} \hfill \\ {\sigma_{5} = \frac{1}{{2\Delta T^{5} }}\left[ {12\Delta p - 6(v_{1} + v_{0} )\Delta T + (a_{1} - a_{0} )\Delta T^{2} } \right].} \hfill \\ \end{array} } \right.$$
(26)

The trajectories in the X, Y, Z directions after fifth degree polynomial planning are shown in Figures 4, 5, and 6, respectively. The red, green, and blue solid lines denote the planned position, velocity, and acceleration curves, respectively. The black dotted lines represent the unplanned position, velocity, and acceleration curves.

In the X direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After fifth degree polynomial planning, the velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}0 \to {\text{P}}1$$, the maximum velocity is $$v_{\text{max} } = 18.75\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t\;{ = }\;5\;{\text{s}}$$, and the velocity curve is a parabola; the maximum acceleration is $$a_{\text{max} } = 5.773{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t\;{ = }\;2.1\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 5.773\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t\;{ = }\;7.9\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$11.546\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$, the minimum velocity is $$v_{\text{min} } = - 9.398{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 40\;{\text{s}}$$, and the velocity curve is parabola; the minimum acceleration is $$a_{\text{min} } = - 0.7253{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 28.5\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 0.7253\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 51.5\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$40\;{\text{s}}$$ and a magnitude of $$1.4506{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}5 \to {\text{P}}0$$, the maximum velocity is $$v_{\text{max} } = 18.94\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 75\;{\text{s}}$$, and the velocity curve is a parabola; the maximum acceleration is $$a_{\text{max} } = 5.891\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 72.2\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 5.891{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 77.9\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$10\:\text{s}$$ and a magnitude of $$11.782{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

In the Y direction, the planned position curve is completely consistent with the unplanned position curve in segments $${\text{P}}0 \to {\text{P}}1 \to {\text{P}}2$$ and $${\text{P}}4 \to {\text{P}}5 \to {\text{P}}0$$. The planned position curve lags behind the unplanned position curve in segment $${\text{P}}2 \to {\text{P}}3$$, while the planned position curve is ahead of the unplanned curve in segment $${\text{P}}3 \to {\text{P}}4$$. The unplanned velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ suddenly change, and the accelerations become infinite. After fifth degree polynomial planning, the velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}2 \to {\text{P}}3$$, the minimum velocity is $$v_{\text{min} } = - 9.348{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 30\;{\text{s}}$$, and the velocity curve is a parabola; the minimum acceleration is $$a_{\text{min} } = - 1.446\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 24.3\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 1.446\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 35.8\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$20\;{\text{s}}$$ and a magnitude of $$2.892\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}3 \to {\text{P}}4$$, the maximum velocity is $$v_{\text{max} } = 9.421\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 50\;{\text{s}}$$, and the velocity curve is parabola; the maximum acceleration is $$a_{\text{max} } = 1.458{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 44.3\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 1.458\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 55.8\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$20\;{\text{s}}$$ and a magnitude of $$2.916{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

In the Z direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After fifth degree polynomial planning, the velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}1 \to {\text{P}}2$$, the minimum velocity is $$v_{\hbox{min} } = - 18.94{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 15\;{\text{s}}$$, and the velocity curve is a parabola; the minimum acceleration is $$a_{\text{min} } = - 5.891{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 12.2\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 5.891\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 17.9\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$11.782\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}4 \to {\text{P}}5$$, the maximum velocity is $$v_{\text{max} } = 18.94{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 65\;{\text{s}}$$, and the velocity curve is parabola; the maximum acceleration is $$a_{\text{max} } = 5.891\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 62.2\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 5.891\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 67.9\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$11.782{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

The planned and unplanned trajectories for fifth degree polynomial are illustrated in Figure 7, in which the planned trajectories are completely consistent with the unplanned trajectories in segments $${\text{P}}0 \to {\text{P}}1$$, $${\text{P}}1 \to {\text{P}}2$$, $${\text{P}}4 \to {\text{P}}5$$, and $${\text{P}}5 \to {\text{P}}0$$, as well as the planned trajectories are basically consistent with the unplanned trajectories in segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$.

### 4.2 Cycloid Trajectory Method

A continuous acceleration curve can be obtained by using a cycloid trajectory method, which the equations of position, velocity, and acceleration can be expressed by

\begin{aligned} f(t) = \left( {f_{1} - f_{0} } \right)\left( {\frac{{t - t_{0} }}{{t_{1} - t_{0} }} - \frac{1}{{2{{\uppi }}}}\sin \frac{{2{{\uppi }}\left( {t - t_{0} } \right)}}{{t_{1} - t_{0} }}} \right) + f_{0} \hfill \\ \;\;\; = \Delta f\left( {\frac{{t - t_{0} }}{\Delta T} - \frac{1}{{2{{\uppi }}}}\sin \frac{{2{{\uppi }}\left( {t - t_{0} } \right)}}{\Delta T}} \right) + f_{0} , \hfill \\ \end{aligned}
(27)
$$\dot{f}(t) = \frac{\Delta f}{\Delta T}\left( {1 - \cos \frac{{2{{\uppi }}\left( {t - t_{0} } \right)}}{\Delta T}} \right),$$
(28)
$$\ddot{f}(t) = \frac{{2{{\uppi }}\Delta f}}{{\Delta T^{2} }}\sin \frac{{2{{\uppi }}(t - t_{0} )}}{\Delta T},$$
(29)

where t0 and t1 denote the initial and final times of each trajectory segment, respectively; $$f(t_{0} ) = f_{0}$$ and $$f(t_{1} ) = f_{1}$$ represent the initial and final positions of each trajectory segment, respectively. By defining $$\Delta T = t_{1} - t_{0}$$ and $$\Delta f = f_{1} - f_{0}$$.

The trajectories in the X, Y, Z directions after cycloid trajectory planning are shown in Figures 8, 9, and 10, respectively. The red, green, and blue solid lines denote the planned position, velocity, and acceleration curves, respectively. The black dotted lines represent the unplanned position, velocity, and acceleration curves.

In the X direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After cycloid trajectory planning, the velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}0 \to {\text{P}}1$$, the maximum velocity is $$v_{\text{max} } = 20{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t\;{ = }\;5\;{\text{s}}$$, and the velocity curve is a parabola; the maximum acceleration is $$a_{\text{max} } = 6.283\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}^{ 2}$$ when the time $$t\;{ = }\;2.5\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 6.283\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t\;{ = }\;7.5\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$12.566\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$, the minimum velocity is $$v_{\text{min} } = - 10.02{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 40\;{\text{s}}$$, and the velocity curve is parabola; the minimum acceleration is $$a_{\text{min} } = - 0.7893\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 30\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 0.7893{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 50\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$40\;{\text{s}}$$ and a magnitude of $$1.5786{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}5 \to {\text{P}}0$$, the maximum velocity is $$v_{\text{max} } = 20.2\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 75\;{\text{s}}$$, and the velocity curve is parabola; the maximum acceleration is $$a_{\text{max} } = 6.41\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 72.6\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 6.41\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 77.5\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$12.82\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

In the Y direction, the planned position curve is completely consistent with the unplanned position curve in segments $${\text{P}}0 \to {\text{P}}1 \to {\text{P}}2$$ and $${\text{P}}4 \to {\text{P}}5 \to {\text{P}}0$$. The planned position curve lags behind the unplanned position curve in segment $${\text{P}}2 \to {\text{P}}3$$, while the planned position curve is ahead of the unplanned curve in segment $${\text{P}}3 \to {\text{P}}4$$. The unplanned velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ suddenly change, and the accelerations become infinite. After cycloid trajectory planning, the velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}2 \to {\text{P}}3$$, the minimum velocity is $$v_{\text{min} } = - 9.971\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 30\;{\text{s}}$$, and the velocity curve is a parabola; the minimum acceleration is $$a_{\text{min} } = - 1.574\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 25\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 1.574{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 35\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$20\;{\text{s}}$$ and a magnitude of $$3.148\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}3 \to {\text{P}}4$$, the maximum velocity is $$v_{\text{max} } = 10.05{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 50\;{\text{s}}$$, and the velocity curve is parabola; the maximum acceleration is $$a_{\text{max} } = 1.587\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 45.1\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 1.587\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 55\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$20\;{\text{s}}$$ and a magnitude of $$3.174\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

In the Z direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After cycloid trajectory planning, the velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ achieve a parabolic smooth transition, and the accelerations realize a sinusoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}1 \to {\text{P}}2$$, the minimum velocity is $$v_{\text{min} } = - 20.2\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 15\;{\text{s}}$$, and the velocity curve is a parabola; the minimum acceleration is $$a_{\text{min} } = - 6.41{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 12.6\;{\text{s}}$$, while the maximum acceleration is $$a_{\text{max} } = 6.41\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 17.5\;{\text{s}}$$, and the acceleration curve is a sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$12.82{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$. In segment $${\text{P}}4 \to {\text{P}}5$$, the maximum velocity is $$v_{\text{max} } = 20.2\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t = 65\;{\text{s}}$$, and the velocity curve is parabola; the maximum acceleration is $$a_{\text{max} } = 6.41{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 62.6\;{\text{s}}$$, while the minimum acceleration is $$a_{\text{min} } = - 6.41{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t = 67.5\;{\text{s}}$$, and the acceleration curve is sinusoid with a period of $$10\;{\text{s}}$$ and a magnitude of $$12.82\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$.

The planned and unplanned trajectories for cycloid trajectory are illustrated in Figure 11, in which the planned trajectories are completely consistent with the unplanned trajectories in segments $${\text{P}}0 \to {\text{P}}1$$$${\text{P}}1 \to {\text{P}}2$$$${\text{P}}4 \to {\text{P}}5$$, and $${\text{P}}5 \to {\text{P}}0$$, as well as the planned trajectories are basically consistent with the unplanned trajectories in segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$.

### 4.3 Double-S Velocity Curve Method

For the velocity motion curve to exhibit a continuous acceleration and avoid potentially harmful or undesired vibration effects, a smoother motion curve should be defined, such as by using a successive acceleration curve of linear segmentation, as illustrated in Figure 12. The velocity obtained in this way is composed of linear segments joined by parabolic blends. The shape of the velocity curve is the reason for naming the trajectory as double-S shape, also known as seven-segment trajectory or bell shape, because it consists of seven diverse regions with constant jerk. Since the jerk is characterized by a step curve, the stress and vibration effects generated by the motion curve on the transmission chain and load are reduced relative to the trapezoidal velocity trajectory, and the characteristic is a jerk curve of the pulse.

Assume that

$$\left\{ {\begin{array}{*{20}l} {v_{\text{min} } = - v_{\text{max} } ,} \hfill \\ {a_{\text{min} } = - a_{\text{max} } ,} \hfill \\ {j_{\text{min} } = - j_{\text{max} } .} \hfill \\ \end{array} } \right.$$
(30)

where vmax and vmin denote the maximum and minimum velocity values, respectively; amax and amin represent the maximum and minimum acceleration values, respectively; and jmax and jmin stand for the maximum and minimum jerk values, respectively. The boundary conditions of the double-S trajectory can be expressed as follows: (1) initial velocity value v0 and final velocity value v7; (2) initial acceleration a0 and final acceleration v7 are set to zero.

The trajectory can be divided into three stages:

1. (1)

Acceleration stage, $$t \in \left[ {0,\;T_{b} } \right]$$, in which the acceleration has a linear curve from the initial value to the maximum value and then back to zero.

2. (2)

Maximum velocity stage, $$t \in \left[ {T_{b} ,\;T_{b} + T_{d} } \right]$$, with a constant velocity.

3. (3)

Deceleration stage, $$t \in \left[ {T_{b} + T_{d} ,\;\Delta T} \right]$$, being $$\Delta T = T_{b} + T_{d} + T_{b}$$, with curves opposite with regard to the acceleration stage.

Given the desired position $$\Delta g = g_{7} - g_{0}$$ and the constraints on the maximum values of velocity, acceleration, and jerk, the double-S trajectory can be calculated by using Eqs. (31)–(47) as follows.

1. (1)

Calculation of the trajectory for $$g_{7} > g_{0}$$

Variable description: t0 denotes the initial moment for each trajectory segment, $$t_{i} \;(i = 1,2, \ldots ,7)$$ denotes the final moment of the first $$i$$ segment motion for each trajectory segment, $$\Delta T = t_{7} - t_{0}$$ represents the total motion time of each trajectory segment, $$\tau_{i} = t_{i} - t_{i - 1} \;(i = 1,2, \ldots ,7)$$ denotes the time period of the ith segment motion for each trajectory segment, $$g_{i} \;(i = 0,1, \ldots ,7)$$ represents the position at the moment of $$t_{i} \;(i = 0,1, \ldots ,7)$$, and $$\Delta g = g_{7} - g_{0}$$ denotes the difference between the final and initial positions. In addition, b and c are two coefficients defined as $$b = \tfrac{1}{3}$$ and $$c = \tfrac{1}{4}$$, and $$T_{b} = b\Delta T$$.

Maximum velocity:

$$v_{\text{max} } = \frac{\Delta g}{{\left( {1 - b} \right)\Delta T}}.$$
(31)

Maximum acceleration:

$$a_{\text{max} } = \frac{\Delta g}{{b\left( {1 - b} \right)\left( {1 - c} \right)\Delta T^{2} }}.$$
(32)

Maximum jerk:

$$j_{\text{max} } = \frac{\Delta g}{{b^{2} c\left( {1 - b} \right)\left( {1 - c} \right)\Delta T^{3} }},$$
(33)
1. 1)

when $$t = t_{1}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{1} = v_{0} \tau_{1} + \frac{1}{6}j_{\text{max} } \tau_{1}^{3} ,} \hfill \\ {v_{1} = v_{0} + \frac{1}{2}j_{\text{max} } \tau_{1}^{2} ,} \hfill \\ \end{array} } \right.$$
(34)
2. 2)

when $$t = t_{2}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{2} = g_{1} + v_{1} \tau_{2} + \frac{1}{2}j_{\text{max} } \tau_{1} \tau_{2}^{2} ,} \hfill \\ {v_{2} = v_{1} + a_{\text{max} } \tau_{2} ,} \hfill \\ \end{array} } \right.$$
(35)
3. 3)

when $$t = t_{3}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{3} = g_{2} + v_{2} \tau_{3} + \frac{1}{3}j_{\text{max} } \tau_{3}^{3} ,} \hfill \\ {v_{3} = v_{2} + \frac{1}{2}j_{\text{max} } \tau_{3}^{2} ,} \hfill \\ \end{array} } \right.$$
(36)
4. 4)

when $$t = t_{4}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{4} = g_{3} + v_{3} \tau_{4} ,} \hfill \\ {v_{4} = v_{3} ,} \hfill \\ \end{array} } \right.$$
(37)
5. 5)

when $$t = t_{5}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{5} = g_{4} + v_{4} \tau_{5} - \frac{1}{6}j_{\text{max} } \tau_{5}^{3} ,} \hfill \\ {v_{5} = v_{4} - \frac{1}{2}j_{\text{max} } \tau_{5}^{2} ,} \hfill \\ \end{array} } \right.$$
(38)
6. 6)

when $$t = t_{6}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{6} = g_{5} + v_{5} \tau_{6} - \frac{1}{2}j_{\text{max} } \tau_{5} \tau_{6}^{2} ,} \hfill \\ {v_{6} = v_{5} - a_{\text{max} } \tau_{6} ,} \hfill \\ \end{array} } \right.$$
(39)
7. 7)

when $$t = t_{7}$$,

$$\left\{ {\begin{array}{*{20}l} {g_{7} = g_{6} + v_{6} \tau_{7} - \frac{1}{3}j_{\text{max} } \tau_{7}^{3} ,} \hfill \\ {v_{7} = v_{6} - \frac{1}{2}j_{\text{max} } \tau_{7}^{2} .} \hfill \\ \end{array} } \right.$$
(40)

Thus, the formulas of position, velocity, acceleration, and jerk for the double-S trajectory can be expressed respectively as

$$g\left( t \right) = \left\{ {\begin{array}{*{20}l} {v_{0} \left( {t - t_{0} } \right) + \frac{1}{6}j_{\text{max} } \left( {t - t_{0} } \right)^{3} ,\;\;\;0 \le t \le t_{1} ,} \hfill \\ {g_{1} + v_{1} \left( {t - t_{1} } \right) + \frac{1}{2}j_{\text{max} } \tau_{1} \left( {t - t_{1} } \right)^{2} ,\;\;\;t_{1} < t \le t_{2} ,} \hfill \\ {g_{2} + v_{2} \left( {t - t_{2} } \right) + \frac{1}{2}j_{\text{max} } \tau_{3} \left( {t - t_{2} } \right)^{2} - \frac{1}{6}j_{\text{max} } \left( {t - t_{2} } \right)^{3} ,\;\;\;t_{2} < t \le t_{3} ,} \hfill \\ {g_{3} + v_{3} \left( {t - t_{3} } \right),\;\;\;t_{3} < t \le t_{4} ,} \hfill \\ {g_{4} + v_{4} \left( {t - t_{4} } \right) - \frac{1}{6}j_{\text{max} } \left( {t - t_{4} } \right)^{3} ,\;\;\;t_{4} < t \le t_{5} ,} \hfill \\ {g_{5} + v_{5} \left( {t - t_{5} } \right) - \frac{1}{2}j_{\text{max} } \tau_{5} \left( {t - t_{5} } \right)^{2} ,\;\;\;t_{5} < t \le t_{6} ,} \hfill \\ {g_{6} + v_{6} \left( {t - t_{6} } \right) - \frac{1}{2}j_{\text{max} } \tau_{7} \left( {t - t_{6} } \right)^{2} + \frac{1}{6}j_{\text{max} } \left( {t - t_{6} } \right)^{3} ,\;\;\;t_{6} < t \le t_{7} .} \hfill \\ \end{array} } \right.$$
(41)
$$\dot{g}\left( t \right) = \left\{ {\begin{array}{*{20}l} {v_{0} + \frac{1}{2}j_{\text{max} } \left( {t - t_{0} } \right)^{2} ,\;\;\;t_{0} \le t \le t_{1} ,} \hfill \\ {v_{1} + a_{\text{max} } \left( {t - t_{1} } \right),\;\;\;t_{1} < t \le t_{2} ,} \hfill \\ {v_{2} + a_{\text{max} } \left( {t - t_{2} } \right) - \frac{1}{2}j_{\text{max} } \left( {t - t_{2} } \right)^{2} ,\;\;\;t_{2} < t \le t_{3} ,} \hfill \\ {v_{3} ,\;\;\;t_{3} < t \le t_{4} ,} \hfill \\ {v_{4} - \frac{1}{2}j_{\text{max} } \left( {t - t_{4} } \right)^{2} ,\;\;\;t_{4} < t \le t_{5} ,} \hfill \\ {v_{5} - a_{\text{max} } \left( {t - t_{5} } \right),\;\;\;t_{5} < t \le t_{6} ,} \hfill \\ {v_{6} - a_{\text{max} } \left( {t - t_{6} } \right) + \frac{1}{2}j_{\text{max} } \left( {t - t_{6} } \right)^{2} ,\;\;\;t_{6} < t \le t_{7} ,} \hfill \\ \end{array} } \right.$$
(42)
$$\ddot{g}\left( t \right) = \left\{ {\begin{array}{*{20}l} {j_{\text{max} } \left( {t - t_{0} } \right),\;\;\;t_{0} \le t \le t_{1} ,} \hfill \\ {a_{\text{max} } ,\;\;\;t_{1} < t \le t_{2} ,} \hfill \\ {a_{\text{max} } - j_{\text{max} } \left( {t - t_{2} } \right),\;\;\;t_{2} < t \le t_{3} ,} \hfill \\ {0,\;\;\;t_{3} < t \le t_{4} ,} \hfill \\ { - j_{\text{max} } \left( {t - t_{4} } \right),\;\;\;t_{4} < t \le t_{5} ,} \hfill \\ { - a_{\text{max} } ,\;\;\;t_{5} < t \le t_{6} ,} \hfill \\ { - a_{\text{max} } + j_{\text{max} } \left( {t - t_{6} } \right),\;\;\;t_{6} < t \le t_{7} ,} \hfill \\ \end{array} } \right.$$
(43)
$$\dddot g\left( t \right) = \left\{ {\begin{array}{*{20}l} {j_{\text{max} } ,\;\;\;t_{0} \le t \le t_{1} ,} \hfill \\ {0,\;\;\;t_{1} < t \le t_{2} ,} \hfill \\ { - j_{\text{max} } ,\;\;\;t_{2} < t \le t_{3} ,} \hfill \\ {0,\;\;\;t_{3} < t \le t_{4} ,} \hfill \\ { - j_{\text{max} } ,\;\;\;t_{4} < t \le t_{5} ,} \hfill \\ {0,\;\;\;t_{5} < t \le t_{6} ,} \hfill \\ {j_{\text{max} } ,\;\;\;t_{6} < t \le t_{7} .} \hfill \\ \end{array} } \right.$$
(44)

(2) Calculation of the trajectory for $$g_{7} < g_{0}$$

When $$g_{7} < g_{0}$$, the trajectory parameters can be calculated according to the above steps. It is essential to consider the initial and final positions/velocities with opposite signs and reverse the synthesis curves of position, velocity, acceleration, and jerk after the calculation. In general, given any initial and final values for position and velocity, that is, $$\hat{g}_{0}$$, $$\hat{g}_{7}$$, $$\hat{v}_{0}$$, and $$\hat{v}_{7}$$, in order to calculate the trajectory it is necessary to convert these values as

$$\left\{ {\begin{array}{*{20}l} {g_{0} = \varepsilon \hat{g}_{0} ,} \hfill \\ {g_{7} = \varepsilon \hat{g}_{7} ,} \hfill \\ {v_{0} = \varepsilon \hat{v}_{0} ,} \hfill \\ {v_{7} = \varepsilon \hat{v}_{7} ,} \hfill \\ \end{array} } \right.$$
(45)

where $$\varepsilon = {\text{sign}}\left( {\hat{g}_{0} - \hat{g}_{7} } \right)$$.

Similarly, the maximum and minimum values of velocity, acceleration, and jerk, that is, $$\hat{v}_{\text{max} }$$, $$\hat{v}_{\text{min} }$$, $$\hat{a}_{\text{max} }$$, $$\hat{a}_{\text{min} }$$, $$\hat{j}_{\text{max} }$$, and $$\hat{j}_{\text{min} }$$, should also be converted as

$$\left\{ {\begin{array}{*{20}l} {v_{\text{max} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{v}_{\text{max} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{v}_{\text{min} } ,} \hfill \\ {v_{\text{min} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{v}_{\text{min} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{v}_{\text{max} } ,} \hfill \\ {a_{\text{max} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{a}_{\text{max} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{a}_{\text{min} } ,} \hfill \\ {a_{\text{min} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{a}_{\text{min} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{a}_{\text{max} } ,} \hfill \\ {j_{\text{max} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{j}_{\text{max} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{j}_{\text{min} } ,} \hfill \\ {j_{\text{min} } = \frac{{\left( {\varepsilon + 1} \right)}}{2}\hat{j}_{\text{min} } + \frac{{\left( {\varepsilon - 1} \right)}}{2}\hat{j}_{\text{max} } .} \hfill \\ \end{array} } \right.$$
(46)

Finally, the calculated curves, that is, $$g(t)$$, $$\dot{g}(t)$$, $$\ddot{g}(t)$$, and $$\dddot g(t)$$, should be converted again as

$$\left\{ {\begin{array}{*{20}l} {\hat{g}\left( t \right) = \varepsilon g\left( t \right),} \hfill \\ {{\dot{\hat{g}}}\left( t \right) = \varepsilon \dot{g}\left( t \right),} \hfill \\ {\ddot{\hat{g}}\left( t \right) = \varepsilon \ddot{g}\left( t \right),} \hfill \\ {\dddot {\hat{g}}\left( t \right) = \varepsilon \dddot {g}\left( t \right).} \hfill \\ \end{array} } \right.$$
(47)

The trajectories in the X, Y, Z directions after double-S velocity curve planning are shown in Figures 13, 14, and 15, respectively. The red, green, and blue solid lines denote the planned position, velocity, and acceleration curves, respectively. The black dotted lines represent the unplanned position, velocity, and acceleration curves.

In the X direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After double-S velocity curve planning, the velocities at points $${\text{P}}1$$ and $${\text{P}}5$$ achieve a double-S curve smooth transition, and the accelerations realize a trapezoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}0 \to {\text{P}}1$$, the maximum velocity is $$v_{\text{max} } = 15{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {3.3\;{\text{s}},\;6.7\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the maximum acceleration is $$a_{\text{max} } = 6\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$when the time $$t \in \left[ {0.9\;{\text{s}},\;2.5\;{\text{s}}} \right]$$, while the minimum acceleration is $$a_{\text{min} } = - 6\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {7.5\;{\text{s}},\;9.1\;{\text{s}}} \right]$$, and the acceleration curve is a trapezoid. In segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$, the minimum velocity is $$v_{\text{min} } = - 7.519{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {33.4\;{\text{s}},\;46.7\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the minimum acceleration is $$a_{\text{min} } = - 0.7538\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {23.5\;{\text{s}},\;30\;{\text{s}}} \right]$$, while the maximum acceleration is $$a_{\text{max} } = 0.7538{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {50.1\;{\text{s}},\;56.6\;{\text{s}}} \right]$$, and the acceleration curve is trapezoid. In segment $${\text{P}}5 \to {\text{P}}0$$, the maximum velocity is $$v_{\text{max} } = 15.15\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {73.4\;{\text{s}},\;76.7\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the maximum acceleration is $$a_{\text{max} } = 6.122\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {71\;{\text{s}},\;72.5\;{\text{s}}} \right]$$, while the minimum acceleration is $$a_{\text{min} } = - 6.122\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {77.6\;{\text{s}},\;79.1\;{\text{s}}} \right]$$, and the acceleration curve is a trapezoid.

In the Y direction, the planned position curve is completely consistent with the unplanned position curve in segments $${\text{P}}0 \to {\text{P}}1 \to {\text{P}}2$$ and $${\text{P}}4 \to {\text{P}}5 \to {\text{P}}0$$. The planned position curve lags behind the unplanned position curve in segment $${\text{P}}2 \to {\text{P}}3$$, while the planned position curve is ahead of the unplanned curve in segment $${\text{P}}3 \to {\text{P}}4$$. The unplanned velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ suddenly change, and the accelerations become infinite. After double-S velocity curve planning, the velocities at points $${\text{P}}2$$ and $${\text{P}}4$$ achieve a double-S curve smooth transition, and the accelerations realize a trapezoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}2 \to {\text{P}}3$$, the minimum velocity is $$v_{\text{min} } = - 7.478\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {26.7\;{\text{s}},\;33.4\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the minimum acceleration is $$a_{\text{min} } = - 1.503{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {21.8\;{\text{s}},\;25\;{\text{s}}} \right]$$, while the maximum acceleration is $$a_{\text{max} } = 1.503\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {35.1\;{\text{s}},\;38.3\;{\text{s}}} \right]$$, and the acceleration curve is a trapezoid. In segment $${\text{P}}3 \to {\text{P}}4$$, the maximum velocity is $$v_{\text{max} } = 7.537{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {46.7\;{\text{s}},\;53.4\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the maximum acceleration is $$a_{\text{max} } = 1.515\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {41.8\;{\text{s}},\;45\;{\text{s}}} \right]$$, while the minimum acceleration is $$a_{\text{min} } = - 1.515{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$when the time $$t \in \left[ {55.1\;{\text{s}},\;58.3\;{\text{s}}} \right]$$, and the acceleration curve is trapezoid.

In the Z direction, the planned position curve is basically consistent with the unplanned position curve. The unplanned velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ suddenly change, and the accelerations become infinite. After double-S velocity curve planning, the velocities at points $${\text{P}}1$$, $${\text{P}}2$$, $${\text{P}}4$$, and $${\text{P}}5$$ achieve a double-S curve smooth transition, and the accelerations realize a trapezoidal smooth transition. Thus, impacts and vibrations of the robot caused by sudden changes in velocity during motion are effectively avoided. In segment $${\text{P}}1 \to {\text{P}}2$$, the minimum velocity is $$v_{\text{min} } = - 15.15\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {13.4\;{\text{s}},\;16.7\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the minimum acceleration is $$a_{\text{min} } = - 6.122\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {11\;{\text{s}},\;12.5\;{\text{s}}} \right]$$, while the maximum acceleration is $$a_{\text{max} } = 6.122\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {17.6\;{\text{s}},\;19.1\;{\text{s}}} \right]$$, and the acceleration curve is a trapezoid. In segment $${\text{P}}4 \to {\text{P}}5$$, the maximum velocity is $$v_{\text{max} } = 15.15{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {\text{s}}}} \right. \kern-0pt} {\text{s}}}$$ when the time $$t \in \left[ {63.4\;{\text{s}},\;66.7\;{\text{s}}} \right]$$, and the velocity curve is a double-S curve; the maximum acceleration is $$a_{\text{max} } = 6.122\;{{\text{mm}} \mathord{\left/ {\vphantom {{\text{mm}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {61\;{\text{s}},\;62.5\;{\text{s}}} \right]$$, while the minimum acceleration is $$a_{\text{min} } = - 6.122{{\;{\text{mm}}} \mathord{\left/ {\vphantom {{\;{\text{mm}}} {{\text{s}}^{ 2} }}} \right. \kern-0pt} {{\text{s}}^{ 2} }}$$ when the time $$t \in \left[ {67.6\;{\text{s}},\;69.1\;{\text{s}}} \right]$$, and the acceleration curve is trapezoid.

The planned and unplanned trajectories for double-S velocity curve are illustrated in Figure 16, in which the planned trajectories are completely consistent with the unplanned trajectories in segments $${\text{P}}0 \to {\text{P}}1$$, $${\text{P}}1 \to {\text{P}}2$$, $${\text{P}}4 \to {\text{P}}5$$, and $${\text{P}}5 \to {\text{P}}0$$. Compared with fifth-degree polynomial planning and cycloid trajectory planning, the trajectory error in segments $${\text{P}}2 \to {\text{P}}3 \to {\text{P}}4$$ is larger after double-S velocity curve planning.

After comparison and analysis, the velocity curves after fifth degree polynomial planning and cycloid trajectory planning in the X, Y, Z directions are parabolic smooth transitions, and the acceleration curves are sinusoidal smooth transitions. The velocity curves after double-S velocity curve planning in the X, Y, Z directions are double-S curve smooth transitions, and the acceleration curves are trapezoidal smooth transitions. In the same segment of trajectory, the maximum and minimum values of velocity curves after fifth degree polynomial planning are smaller than that after cycloid trajectory planning, and the maximum and minimum values of acceleration curves after fifth degree polynomial planning are less than that after cycloid trajectory planning. Thus, the trajectory after fifth degree polynomial planning is closer to the given trajectory than that after cycloid trajectory planning. This means that fifth degree polynomial planning is superior to cycloid trajectory planning. Although the maximum and minimum values of the velocity curves after double-S velocity curve planning are smaller than that after fifth degree polynomial planning, the parabolic curve is smoother than that of the double-S curve. The maximum and minimum values of the acceleration curves after double-S velocity curve planning are greater than that after fifth degree polynomial planning. The acceleration curve after double-S velocity curve planning is trapezoidal. The robot may produce a certain vibration in the acceleration and deceleration phases, and the sinusoidal curve is smoother than the trapezoidal curve. Therefore, fifth degree polynomial planning is better than double-S velocity curve planning .

## 5 Numerical Simulation and Experiments

The experiments are performed based on fifth degree polynomial planning. The experiment prototype of the UCPR is illustrated in Figure 17. Three cable masts are evenly distributed on the circular base and are fixed, i.e., $$\theta_{1} = 0$$, $$\theta_{2} = \tfrac{2\pi }{3}$$, $$\theta_{3} = \tfrac{4\pi }{3}$$, and $$\Delta \theta_{1} = \Delta \theta_{2} = \Delta \theta_{3} = 0$$. The three cable masts have the same height and are locked, that is, $$H_{1} = H_{2} = H_{3} = 660\;{\text{mm}}$$ and $$\Delta H_{1} = \Delta H_{2} = \Delta H_{3} = 0$$. The end-effector is considered as a point-mass, where the mass is $$m_{e} = 3\;{\text{kg}}$$. The mass of cable mast is $$m_{c} = 20\;{\text{kg}}$$.

The variation curves of the lengths of cable 1, cable 2, and cable 3 are demonstrated in Figures 18(a), 19(a), and 20(a), respectively. The variation curves of the tensions of cable 1, cable 2, and cable 3 are illustrated in Figures 18(b), 19(b), and 20(b), respectively. The red solid line denotes the experiment curve, the blue solid line represents the planned curve after fifth degree polynomial planning, and the black dotted line stands for the unplanned curve.

It can be observed from the figures that at the points where the velocity suddenly changes, the variation curves of the lengths and tensions of the unplanned three cables are sharp corner transitions, which will cause impacts and vibrations of the robot during the processes of acceleration and deceleration. In contrast, the variation curves of the lengths and tensions of the planned three cables are rounded transitions, which can effectively avoid impacts and vibrations of the robot. During the entire movement, the planned curves of the lengths and tensions of the three cables are continuous and smooth. The experiment curves of the lengths and tensions of the three cables are basically consistent with the planned curves of the lengths and tensions, which fully validate the effectiveness and feasibility of fifth degree polynomial planning.

The experimental length curves of the three cables have less fluctuations, while the experimental tension curves have large fluctuations. This is because during the experiments, the motor needs to continuously perform acceleration/deceleration and forward/reverse rotation, which drives the bevel gear to continuously carry out acceleration/deceleration and forward/reverse rotation meshing. The vibration caused by forward/reverse rotation meshing of bevel gears is transferred to cable, which causes the cable to vibrate during the experiment. Since the tension sensor is connected in series between the cable and the end-effector, the collected tension data will fluctuate greatly. This problem can be effectively overcome by improving the machining accuracy and assembly accuracy of bevel gears in the future process of updating the UCPR.

The OptiTrack motion capture system is adopted to track the end-effector of the UCPR in real-time during the experiment. The camera tracking trajectory and fifth degree polynomial planning trajectory of the end-effector are illustrated in Figure 21. The black solid line denotes the camera tracking trajectory, and the blue solid line represents fifth degree polynomial planning trajectory. After comparison, the camera tracking trajectory is basically the same as fifth degree polynomial planning trajectory. Meanwhile, it is also verified that the OptiTrack motion capture system has a high capture accuracy.

## 6 Conclusions

1. (1)

This paper completed the point-to-point trajectory planning of the UCPR with variable angle and height cable mast by using three algebraic methods. The inverse kinematic modeling of the UCPR considering the angle and height of cable mast was derived by the vector closed principle. The dynamic modeling of the UCPR considering the angle and height of cable mast was established according to the Lagrange method.

2. (2)

The given trajectory consisting of lines and arcs was a closed curve, which comprised six segments that were connected end to end. The trajectory was respectively planned using the three algebraic methods, including fifth degree polynomial, cycloid trajectory, and double-S velocity curve. The connection points of the trajectory segments (except for point P3 in the X direction) were devised to have zero instantaneous velocities, which ensured that the acceleration had continuity. The planned acceleration curves could achieve smooth transition at the connection points, thereby effectively avoiding impacts and vibrations of the robot.

3. (3)

Numerical simulation and experiments were accomplished for the given trajectory based on fifth degree polynomial planning. At the points where the velocity suddenly changed, the variation curves of the lengths and tensions of the unplanned three cables were sharp corner transitions, while the variation curves of the lengths and tensions of the planned three cables were rounded transitions, which could effectively avoid impacts and vibrations of the robot. During the entire movement, the planned curves of the lengths and tensions of the three cables were continuous and smooth. The experiment curves of the lengths and tensions of the three cables were basically consistent with the planned curves of the lengths and tensions, which fully validated the effectiveness and feasibility of fifth degree polynomial planning. The camera tracking trajectory of the end-effector for the UCPR was basically the same as fifth degree polynomial planning trajectory.

## References

1. S Qian, B Zi, W W Shang, et al. A review on cable-driven parallel robots. Chinese Journal of Mechanical Engineering, 2018, 31(1): 66.

2. A Pott, T Bruckmann. Cable-driven parallel robots. Cham: Springer, 2019.

3. J M Longval, C Gosselin. Dynamic trajectory planning and geometric analysis of a two-degree-of-freedom translational cable-suspended planar parallel robot using a parallelogram cable loop. Journal of Mechanisms and Robotics, 2019, 11(2): 020903.

4. B Zi, J Lin, S Qian. Localization, obstacle avoidance planning and control of a cooperative cable parallel robot for multiple mobile cranes. Robotics and Computer-Integrated Manufacturing, 2015, 34: 105-123.

5. L Scalera, P Gallina, S Seriani, et al. Cable-based robotic crane (CBRC): Design and implementation of overhead traveling cranes based on variable radius drums. IEEE Transactions on Robotics, 2018, 34(2): 474-485.

6. R Yao, X Q Tang, J S Wang, et al. Dimensional optimization design of the four-cable-driven parallel manipulator in FAST. IEEE/ASME Transactions on Mechatronics, 2010, 15(6): 932-941.

7. X Q Tang, R Yao. Dimensional design on the six-cable driven parallel manipulator of FAST. Journal of Mechanical Design, 2011, 133(11): 111012.

8. S Kawamura, H Kino, C Won. High-speed manipulation by using parallel wire-driven robots. Robotica, 2000, 18(1): 13-21.

9. X G Wang, S Y Ma, Q Lin. Hybrid pose/tension control based on stiffness optimization of cable-driven parallel mechanism in wind tunnel test. 2016 2nd International Conference on Control, Automation and Robotics (ICCAR), Hong Kong, China, April 28-30, 2016: 75-79.

10. L Wang, Y Sheng, Y Y Qiu, et al. Design and implementation of the control device for a cable-driven camera robot. Applied Mechanics and Materials, 2013, 373-375: 225-230.

11. E Barnett, C Gosselin. Large-scale 3D printing with a cable-suspended robot. Additive Manufacturing, 2015, 7: 27-44.

12. S Qian, K L Bao, B Zi, et al. Kinematic calibration of a cable-driven parallel robot for 3D printing. Sensors, 2018, 18(9): 1-22.

13. B Zi, N Wang, S Qian, et al. Design, stiffness analysis and experimental study of a cable-driven parallel 3D printer. Mechanism and Machine Theory, 2019, 132: 207-222.

14. H Xiong, X Diao. A review of cable-driven rehabilitation devices. Disability and Rehabilitation: Assistive Technology, 2019, 1-13.

15. Q Chen, B Zi, Z Sun, et al. Design and development of a new cable-driven parallel robot for waist rehabilitation. IEEE/ASME Transactions on Mechatronics, 2019, 24(4): 1497-1507.

16. P Bosscher, R L Williams, L S Bryson, et al. Cable-suspended robotic contour crafting system. Automation in Construction, 2007, 17(1): 45-55.

17. J-B Izard, A Dubor, P-E Hervé, et al. Large-scale 3D printing with cable-driven parallel robots. Construction Robotics, 2017, 1(1-4): 69-76.

18. K S Jadhao, P Lambert, T Bruckmann, et al. Design and analysis of a novel cable-driven haptic master device for planar grasping. Cable-Driven Parallel Robots, Cham: Springer, 2017: 307-318.

19. B Siciliano, L Sciavicco, L Villani, et al. Robotics modelling, planning and control. London: Springer, 2009.

20. X L Jiang, E Barnett, C Gosselin. Periodic trajectory planning beyond the static workspace for 6-DOF cable-suspended parallel robots. IEEE Transactions on Robotics, 2018, 34(4): 1128-1140.

21. P Dion-Gauvin, C Gosselin. Dynamic Point-to-point trajectory planning of a three-DOF cable-suspended mechanism using the hypocycloid curve. IEEE/ASME Transactions on Mechatronics, 2018, 23(4): 1964-1972.

22. N Zhang, W W Shang. Dynamic trajectory planning of a 3-DOF under-constrained cable-driven parallel robot. Mechanism and Machine Theory, 2016, 98: 21-35.

23. S Behzadipour, A Khajepour. Time-optimal trajectory planning in cable-based manipulators. IEEE Transactions on Robotics, 2006, 22(3): 559-563.

24. L Barbazza, F Oscari, S Minto, et al. Trajectory planning of a suspended cable driven parallel robot with reconfigurable end effector. Robotics and Computer-Integrated Manufacturing, 2017, 48: 1-11.

25. W J Zhang, W W Shang, B Zhang, et al. Stiffness-based trajectory planning of a 6-DOF cable-driven parallel manipulator. Proceedings of the Institution of Mechanical Engineers Part C-Journal of Mechanical Engineering Science, 2017, 231(21): 3999-4011.

26. X L Jiang, E Barnett, C Gosselin. Dynamic point-to-point trajectory planning beyond the static workspace for six-DOF cable-suspended parallel robots. IEEE Transactions on Robotics, 2018, 34(3): 781-793.

27. N Zhang, W W Shang, S Cong. Dynamic trajectory planning for a spatial 3-DoF cable-suspended parallel robot. Mechanism and Machine Theory, 2018, 122: 177-196.

28. S Xiang, H Gao, Z Liu, et al. Dynamic transition trajectory planning of three-DOF cable-suspended parallel robots via linear time-varying MPC. Mechanism and Machine Theory, 2020, 146: 103715.

29. L Biagiotti, C Melchiorri. Trajectory planning for automatic machines and robots. Berlin: Springer, 2008.

## Funding

Supported by National Natural Science Foundation of China (Grant Nos. 51925502, 51575150).

## Author information

Authors

### Contributions

BZ was in charge of the whole trial; TZ designed the experiments and wrote the manuscript; SQ assisted with structure and language of the manuscript. JHZ assisted with experimental setup. All authors read and approved the final manuscript.

### Authors’ Information

Tao Zhao, is currently a PhD candidate at School of Mechanical Engineering, Hefei University of Technology, China. His research interests include robotics and automation, modular and reconfigurable robots. Bin Zi, is currently a professor, the Dean of School of Mechanical Engineering, and the Director of Robotics Institute, Hefei University of Technology, China. He received the PhD degree from Xidian University, China, in 2007. His research interests include robotics and automation, mechatronics, and multirobot systems. Sen Qian, is currently an associate professor at School of Mechanical Engineering, Hefei University of Technology, China. He received the PhD degree from China University of Mining and Technology, China, in 2015. His research interests include robotics and automation. Jiahao Zhao, is currently a PhD candidate at School of Mechanical Engineering, Hefei University of Technology, China. His research interests include mechanism design of robots.

### Corresponding author

Correspondence to Bin Zi.

## Ethics declarations

### Competing Interests

The authors declare that they have no competing interests.

## Rights and permissions 