Skip to main content
  • Original Article
  • Open access
  • Published:

Kinematic and Dynamic Analysis of a 3-PRUS Spatial Parallel Manipulator


Parallel Kinematic Machines (PKMs) are being widely used for precise applications to achieve complex motions and variable poses for the end effector tool. PKMs are found in medical, assembly and manufacturing industries where accuracy is necessary. It is often desired to have a compact and simple architecture for the robotic mechanism. In this paper, the kinematic and dynamic analysis of a novel 3-PRUS (P: prismatic joint, R: revolute joint, U: universal joint, S: spherical joint) parallel manipulator with a mobile platform having 6 Degree of Freedom (DoF) is explained. The kinematic equations for the proposed spatial parallel mechanism are formulated using the Modified Denavit-Hartenberg (DH) technique considering both active and passive joints. The kinematic equations are used to derive the Jacobian matrix of the mechanism to identify the singular points within the workspace. A Jacobian based stiffness analysis is done to understand the variations in stiffness for different poses of the mobile platform and further, it is used to decide trajectories for the end effector within the singularity free region. The analytical model of the robot dynamics is presented using the Euler-Lagrangian approach with Lagrangian multipliers to include the system constraints. The gravity and inertial forces of all links are considered in the mathematical model. The analytical results of the dynamic model are compared with ADAMS simulation results for a pre-defined trajectory of the end effector.

1 Introduction

Robot manipulators can be broadly classified into open or closed depending upon the connections between each link and the end effector. Due to the open structure of serial manipulators, the errors and inertial effects in each link gets added up at the end effector which results in reduced accuracy and rigidity. A Parallel Manipulator (PM) has the end effector connected by several independent kinematic chains that enable superior rigidity and precision over serial manipulators [1, 2]. These mechanisms have wide applications in manufacturing and service industries, health care, space, etc. PMs also have a higher payload to weight ratio since the load carried by the end effector is distributed along the legs within the mechanism. However, most parallel manipulators have lower workspace compared to serial manipulators due to the constraint motion of the end effector. Various researchers have proposed different designs of PMs having multiple Degrees of Freedom (DoF) depending upon the applications. Among these, the six DoF symmetric PMs are the most promising architecture because of its relatively larger workspace and lower singularities [3, 4]. The Stewart-Gough platform, one of the early proposed six DoF PM, has two platforms connected via six limbs [5, 6]. Merlet [7] and Domagoj et al. [8] analysed the forward and inverse kinematic equations for the Stewart-Gough mechanism using interval analysis method and geometrical approach respectively. David et al. [9] have proposed another six DoF parallel mechanism for accurate measurement applications. The direct kinematics for the mechanism is obtained using the geometrical approach, and the design parameter optimization is based on the study of the condition number of the Jacobian. Nicholas et al. [10] introduced a six DoF PM having six legs. It consists of three prismatic actuators each aligned parallel to one axis of the cartesian plane. Each leg consists of two passive revolute joints whose axis is parallel to the direction of the prismatic joint. Each leg is attached to the mobile platform via a spherical joint. The direct kinematics for the mechanism is solved by considering the orientation and the position separately in the mathematical model. However, the orientations of the mobile platform is limited due to the interferences between the legs during motion making it difficult for applications needing higher mobility. Byun et al. [11] have developed the 3-PPSP parallel manipulator also having six DoF. The solutions for the inverse and forward kinematics are obtained from the geometrical model, and the workspace is computed by applying suitable displacements to each active prismatic joint. Bruno et al. [12] proposed an optimal design for a six DoF parallel mechanism having three legs. The mechanism consists of a mobile platform connected to the base by three identical five-bar linkages. The workspace analysis is done using the geometrical kinematic model, and its optimisation is done to ensure maximum singularity free constant orientation workspace. Ketankumar et al. [13] developed the loop closure equations for the planar 3-RRR PM and analyzed the singularity using Instantaneous Centre of Rotation (ICR) method. This methodology is however applicable to simple architectures and difficult for spatial mechanisms. Singularity is an inherent property of closed chain mechanisms which occurs when the motion of the end effector does not produce any motion of the end effector or when the end effector cannot resist any forces or torques even if all actuators are locked. Gabardi et al. [14] have presented the complete kinematics of a 4-UPU parallel manipulator by Screw Theory, and further, the Jacobian Singularities have been determined. A numerical procedure for optimizing the geometrical parameters to get a singularity-free workspace is also presented in the paper. Refs. [15] and [16] are other examples of analytical parallel kinematics solution via Screw theory whose design has been optimized by considering the singularity-free workspace. One common solution to avoiding singularities within the workspace is by replacing one or more passive joints with actuated joints. Sreenivasan et al. [17], Hunt and Primrose [18] and Bruyninckx [19] proposed parallel mechanisms having six joints each on the base and the mobile platform. These mechanisms possess higher stiffness, lower inertia effects and larger payload carrying capacities. However, these mechanisms have relatively lower work volumes with complex architecture. Obtaining the direct kinematics for these mechanisms from the conventional geometrical approach or Screw theory is a difficult task. Serder [20] has demonstrated the application of modified DH modelling technique to obtain the kinematic relations for the planar 3 DoF RRR mechanism. The author has incorporated the constraints into the model by assuming appropriate constraint equations. The constant distance between any two consecutive joints on the mobile platform is considered as the constraint equation for the RRR mechanism. By this methodology, both the passive and active joint variables are incorporated into the mathematical model. In context to real-time control, dynamics of a parallel manipulator is analysed to determine the input force to be exerted by actuators to produce a desired trajectory for the end effector. Several methods such as Euler-Lagrangian formulation [21], Principle of Virtual Work [22], Newton-Euler formulation [23] are used to obtain the dynamic equations of robotic systems. Inverse dynamic analysis of a parallel mechanism is done for a pre-defined path of the end effector. Leroy et al. [24] developed the dynamic model of a three DoF parallel mechanism by incorporating the holonomic constraints using Lagrangian multipliers into the Euler-Lagrangian equation.

Despite extensive researches happening in the field of parallel mechanisms, most mechanisms have limited workspace, complicated architecture, difficulties in solving inverse kinematics, etc. To overcome these shortcomings, the development of parallel manipulators with simpler architectures has been accelerated. Nevertheless, manipulators having decoupled motion of the end effector is quite limited and remains a challenging task especially in cases of six DoF manipulators. Geometric modelling or Screw theory are the usual approaches employed to obtain the kinematic model of parallel mechanisms. In Geometric modelling approach, the loop closure equations are formulated for the mechanism in terms of all joint variables and dimensional parameters. However, the formulation of loop closure equations is a very cumbersome task, especially for complex geometries. In addition, the procedures used in this approach cannot be generalised for all manipulator designs [25]. Also, obtaining the loop closure equations for mechanisms having more number of legs is very difficult. Screw Theory [14, 16, 26] is another well-established methodology which is found in many literatures to obtain the kinematic model for parallel mechanisms. According to this method, it has only two coordinate frames of which one is located at the base and the other is at the end-effector. However, in the DH modelling approach, frames are assigned to all joints up to the end effector. Therefore, the Kinematic model formulated using the DH approach will include all joint variables inclusive of both active and passive joints. Even though the computation involved with the DH model is slightly higher, the singularity analysis performed with the DH model will be more effective than that obtained from the Screw theory model. This is because the analysis considers the singularity induced due to both active and passive joints. In this paper, the authors’ have showcased a methodology to use modified DH modelling technique to reduce the computational difficulties by breaking down the closed parallel mechanism into individual serial manipulators. The conventional DH modelling is applied on each leg and finally coupled together using suitable constraint equations. Denavit-Hartenberg (DH) modelling technique is a widely used method to obtain kinematics of serial manipulators. This method is a direct and easy to learn approach for obtaining forward and inverse kinematics of open-chain mechanisms. In this paper, a novel 3-PRUS manipulator is proposed. This mechanism has only three legs unlike the case of other 6 DoF mechanisms having six legs. This helps in reducing the inertia effects especially during fast motions. The DH modelling approach is used to investigate the kinematics of the 3-PRUS mechanism by considering each leg as an open-chain separately. The three legs modelled separately are coupled finally using suitable constraints to account for the closed configuration of the manipulator. The conceptual design and analysis of the proposed 3-PRUS parallel mechanism having decoupled non-redundant motions of the end effector are explained in the following sections. The conceptual design and mobility analysis of the 3-PRUS mechanism is described in Section 2. The forward and inverse kinematics modelling is addressed in Section 3. Jacobian matrix for the manipulator is derived analytically and further used to analyse performances including singularity and stiffness indices for the manipulator. An algorithm is explained to obtain the maximum singularity free work volume for the robotic system. In Section 4, the closed form dynamic model is developed analytically using the Euler-Lagrangian formulation and compared with ADAMS results for a pre-defined trajectory path of the end effector. The results obtained are explained in Section 5. In Section 6, the details regarding the prototype manufactured is explained and analysed.

2 Geometrical Design of the 3-PRUS Manipulator

Parallel robots generally possess complicated kinematics and dynamics which further complicates the control of the robot [27]. Such complications of parallel robots can be avoided by proposing simpler designs with lesser number of legs and joints to the mechanism. Achieving kinematically decoupled motions of the mobile platform is yet another challenging task to be solved. Keeping in mind the above problems, certain considerations have been made to propose the 3-PRUS mechanism. Figures 1 and 2 shows the CAD model and schematic model of the 3-PRUS mechanism. The parallel manipulator composes of a base and mobile platform connected by three legs. Each leg consists of a one DoF Prismatic (P) joint, a one DoF Revolute (R) joint, a two DoF Universal (U) joint and a three DoF Spherical (S) joint. Among this, the prismatic and revolute joints are active, universal and spherical joints are passive. Decoupled motions of the mobile platform are possible since each leg consists of two active joints aligned normal to each other. The three sliders move parallel to each other as shown in Figure 2. The mobile platform is connected to the individual sliders through the S joint. The U joint can be assumed as two R joints, and the S joint as a three intersecting R joints normal to each other. The proposed mechanism has six DoF that exhibits simpler kinematics, considerable stiffness and higher load carrying capacity. A fully parallel manipulator can have only one solution to the inverse kinematic problem. Levenberg-Marquardt Algorithm is used in this paper to obtain the exact solution to the inverse kinematics problem which is explained in the following section. The number of DoF for the 3-PRUS mechanism is theoretically calculated using the modified Chebyshev–Grübler–Kutzbach formula [28] expressed in Eq. (1):

$$DoF = d\left( {e - g - 1} \right) + \mathop \sum \limits_{i = 1}^{g} f_{i} + \vartheta - \epsilon ,$$

where ‘d’ is the number of DoF in three-dimensional space, ‘e’ is the number of elements, ‘g’ is the number of joints, ‘fi’ is the number of DoF for the ith joint, ‘ϑ’ is the number of excessive non-common constraints and ‘ϵ’ is the degrees of partial freedom of links that affects the motion to one side of links. Substituting the above values for the 3-PRUS mechanism into Eq. (1),

$$DoF = 6\left( {11 - 12 - 1} \right) + \left( {3 + 3 + 6 + 9} \right) + 0 - 3 = 6.$$
Figure 1
figure 1

CAD model of the 3-PRUS manipulator

Figure 2
figure 2

Schematic model of the 3-PRUS manipulator

Eq. (2) indicates that independent control of the six active joints (3-P and 3-R) can enable complete mobility to the mobile platform. This makes the 3-PRUS manipulator suitable for health care applications like scanning or massaging, assembly operations, painting, pick/place operations, and light machining tasks.

3 Kinematic Modelling

Kinematic modelling is done to find analytical relations between the input and output variables of the mechanism. Input variables correspond to the values of actuated joints. Output variables refer to the position and orientation of the mobile platform. These kinematic equations are necessary to analyse the workspace, determine singular points and further develop the dynamic model of the parallel robot. This section explains DH modelling concepts to obtain the inverse kinematic equations for the parallel spatial mechanism. DH method is a well-established method to model serial mechanisms for the pose of the end effector. Most parallel mechanisms can be assumed as multiple serial linkages coupled together at the end effector.

3.1 Forward Kinematics

Forward kinematics is done to obtain the pose of the end effector in terms of the joint variables. Initially, the closed mechanism is split into individual open chains. The individual open chains are assumed as separate three serial manipulators with its zeroth frame located at {O1}, {O2}, and {O3} respectively, as shown in Figure 2. The DH algorithm is applied to each leg to get its own end-effector pose from {O1}, {O2}, and {O3}. The three individual legs are coupled together at the three corners of the platform by taking the distance between them a constant. The frames assigned to each joint according to the DH convention is shown in Figure 3, which is common to all three legs. Let {O2} be the global frame about which the pose of the mobile platform is to be determined. The DH parameters assigned between two consecutive frames are listed in Table 1 and is substituted into the standard transformation matrix [29] to obtain relations between each frame. The pose of the seventh frame with respect to the zeroth frame for each leg is derived from Eq. (3),

$$T_{{O_{i} }}^{7} = T_{{O_{i} }}^{1} *T_{1}^{2} *T_{2}^{3} *T_{3}^{4} *T_{4}^{5} *T_{5}^{6} *T_{6}^{7} , \quad i = 1,2,3.$$
Figure 3
figure 3

DH frame assignment for one leg of the 3-PRUS manipulator

Table 1 DH parameters for the first leg

Frame {7} corresponds to the last frame of the spherical joint on the mobile platform. To obtain the pose of the end effector tip from {O2}, another frame {8} is assigned at the tip of the end effector as shown in Figure 4. The pose of the end effector tip from global frame {O2} for the middle leg is obtained from Eq. (4),

$${\left( {T_{{O_2}}^8} \right)_M} = {\left( {T_{{O_2}}^7} \right)_M}\cdot\left[ {\begin{array}{*{20}{l}}1&0&0&0\\0&1&0&n\\0&0&1&b\\0&0&0&1\end{array}} \right].$$
Figure 4
figure 4

Frame assignment for the end effector and previous frame

Similarly, the poses of the end effector tip from the global frame {O2} along the left and right legs are given in Eqs. (5) and (6) respectively:

$$\begin{aligned}{\left( {T_{{O_2}}^8} \right)_L} &= T_{{O_2}}^{{O_1}}\cdot{\left( {T_{{O_1}}^7} \right)_L}\cdot{\left( {T_7^8} \right)_L} \\ &= \left[{\begin{array}{*{20}{c}}1&0&0&0\\0&1&0&c\\0&0&1&0\\0&0&0&1\end{array}} \right]\cdot{\left({T_{{O_1}}^7} \right)_L}\cdot\left[ {\begin{array}{*{20}{c}}1&0&0&{0.866b}\\0&1&0&n\\0&0&1&{ - 0.5b}\\0&0&0&1\end{array}} \right],\end{aligned}$$
$$\begin{aligned}{\left( {T_{{O_2}}^8} \right)_R} &= T_{{O_2}}^{{O_3}}\cdot{\left( {T_{{O_3}}^7} \right)_R}\cdot{\left( {T_7^8} \right)_R} \\ &= \left[ {\begin{array}{*{20}{c}}1&0&0&0\\0&1&0&{ - c}\\0&0&1&0\\0&0&0&1\end{array}} \right]\cdot\quad {\left( {T_{{O_3}}^7} \right)_R}\cdot\left[ {\begin{array}{*{20}{c}}1&0&0&{0.866b}\\0&1&0&n\\0&0&1&{ - 0.5b}\\0&0&0&1\end{array}} \right].\end{aligned}$$

3.2 Inverse Kinematics

Inverse kinematics deals with the determination of the joint variables corresponding to the known pose of the mobile platform. In the previous section, the pose of the end effector tip is determined separately from the global frame {O2} by assuming each leg to be individual serial chains. This implies that Eqs. (4), (5) and (6) can be equated to the desired pose matrix to couple the three legs and obtain the closed-form inverse kinematic solution for the 3-PRUS manipulator.

$$\left( {T_{{O_{2} }}^{8} } \right)_{L} = \left( {T_{{O_{2} }}^{8} } \right)_{M} = \left( {T_{{O_{2} }}^{8} } \right)_{R} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {n_{x} } \\ {\begin{array}{*{20}c} {n_{y} } \\ {n_{z} } \\ 0 \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {o_{x} } \\ {\begin{array}{*{20}c} {o_{y} } \\ {o_{z} } \\ 0 \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {a_{x} } \\ {a_{y} } \\ {\begin{array}{*{20}c} {a_{z} } \\ 0 \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {P_{x} } \\ {\begin{array}{*{20}c} {P_{y} } \\ {P_{z} } \\ 1 \\ \end{array} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right].$$

Considering the linear dependency property of the orientation matrix [29], the column vectors of the orientation matrix and the position vectors in Eq. (7) are equated with forming eighteen sets of equations. However, according to the DH model of the 3-PRUS mechanism, there are 21 joint variables considering both active and passive joints. Therefore, the holonomic constraints given in Eq. (8) are used for the additional three equations which couple the three legs to get an exact solution to the inverse kinematics.

$$\begin{aligned} &\left\{ {\left[ {\left( {S_{X} } \right)_{i} - \left( {S_{X} } \right)_{j} } \right]^{2} + \left[ {\left( {S_{Y} } \right)_{i} - \left( {S_{Y} } \right)_{j} } \right]^{2} + \left[ {\left( {S_{Z} } \right)_{i} - \left( {S_{Z} } \right)_{j} } \right]^{2} } \right\} \\ &\quad= k^{2} ;\quad i,j = 1,2,3;i \ne j. \end{aligned}$$

\(\left( {S_{X} } \right)_{i,j} , \left( {S_{Y} } \right)_{i,j}\) and \(\left( {S_{Z} } \right)_{i,j}\) corresponds to the position vector of the seventh frame for the ith leg expressed with respect to the global frame {O2}. An iterative Levenberg–Marquardt Algorithm (LMA) is used to solve the set of 21 non-linear equations. The LMA is a curve fitting method that adaptively varies the parameter updates between Gradient descent method and the Gauss–Newton method [30]. This is a heuristic method used to compute the solution for the set of equations. In this method, the set of equations are expressed as ‘f(x) = 0’ where x represents all the joint variables, x= [x1x2x3x21]T. LMA uses a damping factor (λ) to control the incremental step size after every iteration. As the value of λ is increased, the step size gets reduced which accordingly varies the time taken to find the solution. The algorithm begins by initiating the set of values for x. Residues are the values of each function obtained on substituting the joint variables in each iteration. The objective of this algorithm is to minimise this residue and finally approach to zero. If the residue approaches zero, the step size should be increased and therefore λ is to be decreased and vice versa. The flowchart of the algorithm used to solve the set of equations is shown in Figure 5. The increments are given to the variables after each iteration that is calculated using Eq. (9),

$$({{\acute{\varvec{J}}}^{\rm T}}{\acute{J}} + \lambda \varvec{I})\varvec\delta = {\acute{\varvec{j}}^{\rm T}}R,$$


$$\acute{J} = \left[ {\begin{array}{*{20}c} {\frac{{\partial f_{1} }}{{\partial x_{1} }}} & {\frac{{\partial f_{1} }}{{\partial x_{2} }}} & {\begin{array}{*{20}c} \cdots & {\frac{{\partial f_{1} }}{{\partial x_{n} }}} \\ \end{array} } \\ {\frac{{\partial f_{2} }}{{\partial x_{1} }}} & {\frac{{\partial f_{2} }}{{\partial x_{2} }}} & {\begin{array}{*{20}c} \cdots & {\frac{{\partial f_{2} }}{{\partial x_{n} }}} \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {\frac{{\partial f_{n} }}{{\partial x_{1} }}} \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ {\frac{{\partial f_{n} }}{{\partial x_{2} }}} \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \vdots \\ \cdots \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ {\frac{{\partial f_{n} }}{{\partial x_{n} }}} \\ \end{array} } \\ \end{array} } \\ \end{array} } \right].$$
Figure 5
figure 5

Flowchart for Levenberg–Marquardt Algorithm

I is the identity matrix, δ is the increment matrix, R is the residue matrix and K is the iteration number. The algorithm designed in MATLAB stops running when the solution reaches within a tolerance of 0.01 or when the iteration number reaches the maximum (Kmax) assigned. The algorithm will return the values of x during the last iteration as the solution when either of the above conditions comes first. The average time taken to solve a set of equations by the LMA algorithm is 42 s using an Intel Core i7 processor.

3.3 Jacobian Matrix for the 3-PRUS Mechanism

The previous sections have introduced the pre-requisites needed to define and calculate the Jacobian matrix. Jacobian matrix relates the velocity between joint variables and the end effector variables. A similar approach explained in the previous section is used to derive the Jacobian matrix. Each leg is assumed as a serial robot which is coupled together using suitable kinematic constraints. Let x= [PxPyPzα β γ]T denotes the generalized vector of the end effector pose representing the six DoF. The joint variables describing the geometry is expressed in general as, θ= [x1x2x3x21]T which comprises of both active and passive joints. Input and output vectors for the closed-loop mechanism can be expressed generally as,

$$F\left( {\theta ,x} \right) = 0,$$

where \(\gamma , \beta \; {\text {and}} \; \alpha\) are the Euler angles defining the angular rotation of the end effector platform and \(P_{x} , P_{y}\) and \(P_{z}\) represents the position coordinates of the end effector tip. The distance between any two consecutive corners of the mobile platform expressed in terms of joint variables and Euler angles are equated together to form Eq. (10). Equations in terms of joint variables are obtained from the DH model explained in Section 3.1. The position coordinates of each corner of the mobile platform Kj, in terms of joint variables are given in Eq. (11),

$$\begin{aligned} {[{\text{K}}_1]} & = a\cos{x_{2}} \cos{x_{2}} + a\sin{x_{2}} \sin{x_{3}} \sin{x_{4}} ; \\ & \quad a\cos{x_{3}} \sin{x_{4}} - c; \\ & \quad a\cos{x_{2}} \sin{x_{3}} \sin{x_{4}} - a\cos{x_{4}} \sin{x_{2}} - x_{1} ; \\ [{\text{K}}_{2} ] & = a\cos{x_{9}} \cos{x_{11}} + a\sin{x_{9}} + \sin{x_{10}} \sin{x_{11}} ; \\ & \quad a\cos{x_{10}} \sin{x_{11}} ; \\ & \quad a\cos{x_{9}} \sin{x_{10}} \sin{x_{11}} - a\cos{x_{11}} \sin{x_{9}} - x_{8} ; \\ [{\text{K}}_{3} ] & = a\cos{x_{16}} \cos{x_{18}} + a\sin{x_{16}} \sin{x_{17}} \sin{x_{18}} ; \\ & \quad a\cos{x_{17}} \sin{x_{18}} + c; \\ & \quad a\cos{x_{16}} \sin{x_{17}} \sin{x_{18}} - a\cos{x_{18}} \sin{x_{16}} - x_{15} . \\ \end{aligned}$$

The next step is to obtain the position coordinates of \(K_{j}\) in terms of the Euler angles. Two frames {B} and {P} are located at the global frame and the end effector tip respectively as shown in Figure 6. The frames are assigned similar to that used for the DH model. The rotation matrix in Eq. (12) is used to transform between frames {B} and {P} in terms of zyx Euler angles [31]:

$$\begin{aligned} {}_{P}^{B} R &= R_{z} \left( \alpha \right)\cdot R_{y} \left( \beta \right) \cdot R_{X} \left( \gamma \right) \\ &= \left[ {\begin{array}{*{20}c} {\text{c}\beta \text{c}\alpha } & {\text{c}\gamma \text{s}\alpha \text{s}\beta - \text{c}\alpha \text{s}\gamma } & {\text{s}\alpha \text{s}\gamma + \text{c}\alpha \text{c}\gamma \text{s}\beta } \\ {\text{c}\beta \text{s}\alpha } & {\text{c}\alpha \text{c}\gamma + \text{s}\alpha \text{s}\beta \text{s}\gamma } & {\text{c}\alpha \text{s}\beta \text{s}\gamma - \text{c}\gamma \text{s}\alpha } \\ { - \text{s}\beta } & {\text{c}\beta \text{s}\gamma } & {\text{c}\gamma \text{c}\beta } \\ \end{array} } \right], \end{aligned}$$

where s = sin(·) and c = cos(·). The position coordinates for Kj from global frame in terms of Euler angles is as follows:

$${}^B K_j = [P_x \quad P_y \quad P_z]^{\rm T}+{{}_p^B}R \cdot [K_{xi}\quad K_{yj}\quad K_{zj}]^{\rm T},$$

after substitution,

$$\begin{aligned} [{\text{K}}_{1} ] & = P_{x} + b\text{s}\left( \delta \right)\text{c}\beta \text{c}\gamma + b\text{c}\left( \delta \right)\left( {\text{s}\alpha \text{s}\gamma + \text{c}\alpha \text{c}\gamma \text{s}\beta } \right); \\ & \quad P_{y} + b\text{s}\left( \delta \right)\text{c}\beta \text{s}\gamma + b\text{c}\left( \delta \right)\left( {\text{c}\alpha \text{s}\beta \text{s}\gamma - \text{c}\gamma \text{s}\alpha } \right); \\ & \quad P_{Z} - \text{s}\beta b\text{s}\left( {30} \right) + b\text{c}\left( \delta \right)\text{c}\alpha \text{c}\beta ; \\ [{\text{K}}_{2} ] & = P_{X} - b\text{c}\beta \text{c}\gamma ; \\ & \quad P_{y} - b\text{c}\beta \text{s}\gamma ; \\ & \quad P_{z} + b\text{s}\beta ; \\ [{\text{K}}_{3} ] & = P_{x} + b\text{s}\left( \delta \right)c\beta c\gamma - bc\left( \delta \right)\left( {\text{s}\alpha \text{s}\gamma + c\alpha c\gamma \text{s}\beta } \right); \\ & \quad P_{y} + b\text{s}\left( \delta \right)\text{c}\beta \text{s}\gamma - b\text{c}\left( \delta \right)\left( {\text{c}\alpha \text{s}\beta \text{s}\gamma - \text{c}\gamma \text{s}\alpha } \right); \\ & \quad P_{Z} - \text{s}\beta b\text{s}\left( \delta \right) - b\text{c}\left( \delta \right)\text{c}\alpha \text{c}\beta ; \\ \end{aligned}$$
Figure 6
figure 6

Line diagram representation of a leg in the 3-PRUS mechanism

As mentioned earlier, the distance between any two consecutive corners of the mobile platform is written separately using Eqs. (11) and (14) and equated together to form Eq. (10). Partially differentiating Eq. (10),

$$\frac{\partial F}{\partial \theta }\dot{\theta } + \frac{\partial F}{\partial x}\dot{x} = \varvec{A}\dot{\theta } + \varvec{B}\dot{x} = 0.$$

In most cases, however, a simplified Jacobian matrix (J) can be obtained by considering the active joints only [31]. By this assumption, matrices A and B are both (3 × 6) matrix obtained by partially differentiating Eq. (10) with active joints and end effector pose variables. The simplified Jacobian matrix is derived from Eq. (16). The Jacobian model for the 3-PRUS mechanism is a square matrix of order six.

$$\dot{\theta } = \varvec{A}^{ - 1} \varvec{B}\dot{x} = \varvec{J}\dot{x}.$$

4 Dynamic Modelling of the 3-PRUS Manipulator

The dynamic model is used to study the force and torque variations of the active joints as a function of time for a desired trajectory of the mobile platform. There are three important methods to obtain a dynamic model for parallel robots, namely, the Newton–Euler procedure; the Euler Lagrangian formulation with Lagrangian multipliers and the Principle of Virtual Work. In this section, the dynamic model of the 3-PRUS manipulator is developed using the Euler Lagrangian technique with Lagrangian multipliers [32]. According to this method,

$$\frac{\text{d}}{\text{d}t}\left( {\frac{\partial L}{{\partial \dot{q}_{i} }}} \right) - \frac{\partial L}{\partial q} = \tau_{i} - \mathop \sum \limits_{j = 1}^{m} \vartheta_{j} \frac{{\partial \eta_{j} \left( q \right)}}{{\partial q_{i} }}.$$

Expressing the above equation in state-space form, we get,

$$\left[ {M\left( q \right)} \right]\ddot{q} + \left[ {C\left( {q,\dot{q}} \right)} \right]\dot{q} + G\left( q \right) = \tau - \left[ {\psi \left( q \right)} \right]^{\text{T}} \vartheta,$$

where ϑ is the Lagrangian multiplier matrix, and ψ(q) is the partial derivative of the constraint equation for the closed mechanism. The 3-PRUS manipulator is dynamically modelled for each leg individually. One leg is further divided into three parts, namely, the slider, connecting link and the mobile platform. The kinetic and potential energies for each subpart are written separately and finally coupled together to form the Lagrangian (L). Let m1, m2, and m3 be the masses of the slider, connecting link and mobile platform with end effector as indicated in Figure 6.

For the first leg, Kinetic energy of the slider,

$$K_{1} = \frac{1}{2}m_{1} \left( {\dot{x}_{1} } \right)^{2}.$$

Kinetic energy of the connecting link,

$$K_{2} = \frac{1}{2}m_{2} v_{2}^{2} + \frac{1}{2}I_{2xx} \dot{x}_{2}^{2} + \frac{1}{2}I_{2yy} \dot{x}_{3}^{2} + \frac{1}{2}I_{2zz} \dot{x}_{4}^{2},$$

where \(v_{2}^{2} = v\dot{x}_{2}^{2} + v\dot{y}_{2}^{2} + v\dot{z}_{2}^{2}\) (refer Appendix). I2xx, I2yy and I2zz are the moment of inertia terms and a is the length of the rigid link. Kinetic energy of the moving platform,

$$K_{3} = \frac{1}{2}m_{3} v_{3}^{2} + \frac{1}{2}I_{3xx} \dot{x}x_{5}^{2} + \frac{1}{2}I_{3yy} \dot{x}_{6}^{2} + \frac{1}{2}I_{3zz} \dot{x}_{7}^{2},$$

where \(v_{3}^{2} = v\dot{x}_{3}^{2} + v\dot{y}_{3}^{2} + v\dot{z}_{3}^{2}\), (refer Appendix).

Potential Energy of slider,

$$P_{1} = 0,$$

Potential energy of connecting link,

$$P_{2} = m_{2} g\left( {vy_{2} } \right),$$

Potential energy of moving platform,

$$P_{3} = m_{3} g(vy_{3} ).$$

The same procedure is applied to the other two legs of the 3-PRUS mechanism. The Lagrangian (L) is equal to the total kinetic energy minus the total potential energy of the system. The three legs are finally coupled together using the Lagrangian multipliers. The equation of motion for one leg is expressed in general as follows:

$$\left[ {\begin{array}{*{20}c} F \\ {\tau_{1} } \\ {\tau_{2} } \\ {\tau_{3} } \\ {\tau_{4} } \\ {\tau_{5} } \\ {\tau_{6} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {Mass } \\ {Matrix} \\ \end{array} } \right]_{7 \times 7} \left[ {\begin{array}{*{20}c} {\ddot{L}_{i} } \\ {\ddot{\theta }_{1} } \\ {\ddot{\theta }_{2} } \\ {\ddot{\theta }_{3} } \\ {\ddot{\theta }_{4} } \\ {\ddot{\theta }_{5} } \\ {\ddot{\theta }_{6} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {Corriolis} \\ {Matrix} \\ \end{array} } \right]_{7 \times 7} \left[ {\begin{array}{*{20}c} {\dot{L}_{i} } \\ {\dot{\theta }_{1} } \\ {\dot{\theta }_{2} } \\ {\dot{\theta }_{3} } \\ {\dot{\theta }_{4} } \\ {\dot{\theta }_{5} } \\ {\dot{\theta }_{6} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {Gravity} \\ {Matrix} \\ \end{array} } \right]_{7 \times 1}.$$

The overall mass, Coriolis, gravity and force matrices of the complete system in the state-space form are expressed in the following order,

$$\begin{aligned}&{\left[ M \right]_{21 \times 21}} = \left[ {\begin{array}{*{20}{c}}{{{\left( {{M_1}} \right)}_{7 \times 7}}}&0&0\\0&{{{\left( {{M_2}} \right)}_{7 \times 7}}}&0\\0&0&{{{\left( {{M_3}} \right)}_{7 \times 7}}}\end{array}} \right]; \\ &{\left[ C \right]_{21 \times 21}} = \left[ {\begin{array}{*{20}{c}}{{{\left( {{C_1}} \right)}_{7 \times 7}}}&0&0\\0&{{{\left( {{C_2}} \right)}_{7 \times 7}}}&0\\0&0&{{{\left( {{C_3}} \right)}_{7 \times 7}}}\end{array}} \right]; \\ &{\left[ G \right]_{21 \times 1}} = \left[ {\begin{array}{*{20}{c}}{{{\left( {{G_1}} \right)}_{7 \times 1}}}\\{{{\left( {{G_2}} \right)}_{7 \times 1}}}\\{{{\left( {{G_3}} \right)}_{7 \times 1}}}\end{array}} \right]; {\left[ {\tau^\prime} \right]_{21 \times 1}} = \left[ {\begin{array}{*{20}{c}}{{{\left( {{\tau _1}} \right)}_{7 \times 1}}}\\{{{\left( {{\tau _2}} \right)}_{7 \times 1}}}\\{{{\left( {{\tau _3}} \right)}_{7 \times 1}}}\end{array}} \right]\end{aligned}$$

The Lagrangian multipliers included in the Lagrangian formulation takes into account the constraint forces imparted from the geometrical arrangement of the mechanism. The constraints defined in Eq. (8) are used to obtain the constraint matrix (ψ(q)). The matrix is derived on partial differentiation of the constraint equations with respect to each variable. Hence, the order of ψ(q) tensor for this mechanism is (3 × 21). Let ϑ be the Lagrangian multiplier matrix of the system. Murray et al. [33] have stated that the work done by the constraint force is zero. Therefore,

$${\text{Work done by constraint force }} = \left( {\left[ {\psi \left( q \right)} \right]^\text{T} \vartheta } \right)^{\rm T} \dot{q} = 0$$

or \(\psi \left( q \right)\dot{q} = 0\).

Differentiating above equation with time gives,

$$\left[ {\psi \left( q \right)} \right]\ddot{q} + \left[ {\psi (\dot{q})} \right]\dot{q} = 0.$$

Re-arranging Eqs. (18) and (28), the Lagrangian multiplier ([ϑ]) for the system is determined as follows,

$$\begin{aligned} \vartheta &= - \left( {\left[ \psi \right]\left[ M \right]^{ - 1} \left[ \psi \right]^{\rm T} } \right)^{ - 1} \left\{ {\left[ {\dot{\psi }} \right]q }\right.\\ &\quad \left.{+ \left[ {\dot{\psi }} \right]\left[ M \right]^{ - 1} \left( {\tau - \left[ C \right]\dot{q} - G} \right)} \right\}. \end{aligned}$$

Eq. (29) is substituted back into Eq. (18), to get the final expression for the torque variations,

$$\tau = \left[ {M\left( q \right)} \right]\ddot{q} + \left[ {C\left( {q,\dot{q}} \right)} \right]\dot{q} + G\left( q \right) + \left[ {\psi \left( q \right)} \right]^{\rm T} \vartheta .$$

The above equation is used to study the torque variations at every joint. Based on this analysis suitable actuators are chosen at every active joint. A numerical simulation for the dynamic analytical model is demonstrated in the next section, and its results are compared with ADAMS for a pre-defined trajectory of the end effector.

5 Results and Discussion

Dimensional synthesis, workspace analysis, singularity, stiffness analysis and dynamic simulation study are discussed in detail in this section. The workspace analysis is carried out based on the kinematic relations derived in Sections 3.1 and 3.2. The dimensions of the various links within the manipulator are determined from the workspace analysis. The Jacobian matrix is used to analyse the singularity and stiffness for the 3-PRUS mechanism. The singularity analysis is carried out to determine the singular poses of the mechanism. A numerical simulation example is also included in this section to validate the dynamic analytical model with ADAMS results.

5.1 Workspace Analysis and Dimensional Synthesis

The forward kinematic relations developed from the DH model is used to plot the workspace for the 3-PRUS manipulator. The workspace is plotted based on the flow chart shown in Figure 7. Based on this flowchart, a point is marked in the three-dimensional cartesian space after every iteration if it satisfies the constraint Eq. (8) for an instantaneous pose of the end effector. Therefore, this algorithm will identify and plot the points that lie within the reachable region of the manipulator.

Figure 7
figure 7

Flow chart for the workspace plot

The algorithm is used to plot a cluster of points in three-dimensional space that satisfies Eq. (8) using MATLAB. The individual points are marked using the position coordinates derived from the forward kinematic equations defined in Eq. (7). Each point is obtained by assigning different values to the joint variables within the specified limit. The magnitude of the linear joint variables ranges from 0 to 1.2 m, and that of the revolute joint varies from − 45° to 45° during the iteration. The flow chart for dimensional synthesis based on the workspace analysis is shown in Figure 8. According to this algorithm, the work volumes for all combinations of link dimensions are quantified using the ‘Convhull’ function in MATLAB. The volumes computed are then further analysed to choose that combination of link dimensions corresponding to maximum volume. The results of dimensional synthesis based on this algorithm is listed in Table 2.

Figure 8
figure 8

Flow diagram for dimensional synthesis based on the workspace

Table 2 Link dimensions after optimisation

The reachable volume for the 3-PRUS manipulator is shown in Figure 9. The reachable space for the manipulator is approximately ellipsoid in shape and its volume corresponding to the geometric parameters listed in Table 2 is 2.86 × 10−2 m3. Khaled et al. [34] proposed the 3-SPS parallel mechanism which consists of one active prismatic joint and two passive spherical joints in each leg. The approximate work volume for that mechanism is 1.32 × 10−5 m3. Li et al. [35] proposed the 3-PRS mechanism for surgical applications and its estimated work volume is 3.2 × 10−4 m3. Xu et al. [36] proposed the 6-PSS parallel mechanism and its work volume is conical and approximately 6.29 × 10−3 m3. This study shows that the workspace for the 3-PRUS manipulator is relatively larger compared to other parallel manipulators of similar dimensions mentioned above.

Figure 9
figure 9

Reachable points for the 3-PRUS Parallel manipulator

5.2 Singularity Analysis

The Jacobian matrix is used to analyse the singular position and enable position control for the end effector. Determination of singular points is necessary during path planning since these points may cause loss of DoF for the end effector when reached. This analysis is an extension of the workspace analysis to decide the workable volume of the end effector free from singular positions. The positioning of the end effector should be restricted within the singular free region during the working. Nawratil [37] has stated a theorem for non-redundant six DoF mechanisms that the manipulator reaches a singular position if and only if the determinant of the Jacobian matrix vanishes. A numerical based algorithm is used to determine the singular points within the workspace of the 3-PRUS mechanism by determining points where the determinant of the Jacobian becomes zero. Singularity-free workspace is plotted based on the flowchart shown in Figure 10 and the singular free workspace for the 3-PRUS manipulator is shown in Figure 11. The algorithm developed in MATLAB is used for the singularity analysis which identifies the locations where the determinant of the Jacobian matrix does not become zero. The singularity free region of the manipulator shown in Figure 11 is a subset of the reachable workspace shown in Figure 9. Smooth and un-interrupted motions of the end effector are possible within this region.

Figure 10
figure 10

Singularity analysis flow diagram

Figure 11
figure 11

Singularity-free workspace

5.3 Stiffness Analysis

This section explains the Jacobian based stiffness analysis from the DH model that is effectively applicable to parallel manipulators having non-redundant DoF. The stiffness model is simplified by assuming every link in the manipulator rigid and isotropic. Also, the active and passive joints are assumed finite stiffness values whose magnitude depends upon the joint. Higher stiffness values of manipulators can improve its dynamic performance during fast motions. Compared to serial manipulators, parallel manipulators offer higher stiffness and accuracy to the mobile platform [38]. The stiffness properties for the 3-PRUS mechanism is defined by a (6 × 6) stiffness matrix (K). In this analysis, the manipulator is assumed to be in static equilibrium and every actuator is modelled as springs. The stiffness of the PM is evaluated by considering an elastic model for every joint variable. The change in joint variable δθ when a joint force f is applied is obtained from Eq. (31):

$$f = k\cdot\delta \theta ,$$

where k = diag[k1k6] is the actuated joint stiffness matrix, whose elements ki are the stiffness of each actuator.

According to the principle of Virtual work, the end effector force F in terms of the joint force f is given using the following equation,

$$\varvec{F} = \varvec{J}^{\text{T}} \varvec{f}.$$

Rewriting Eq. (16) for infinitesimal displacements, we get,

$$\delta \theta = \varvec{J}\cdot\delta x.$$

Substituting Eqs. (31) and (33) into Eq. (32):

$$\varvec{F} = (\varvec{J}^{\rm T} k\varvec{J})\cdot\delta x = \varvec{K}\cdot\delta x.$$

Hence, the stiffness matrix (K) for the mechanism is given by the following expression assuming constant stiffness to all actuators.

$$\varvec{K} = \varvec{J}^{\rm T} k\varvec{J}.$$

The above model is used to obtain the stiffness maps for the 3-PRUS parallel manipulator. In this analysis, the active prismatic and revolute joints are assumed stiffness magnitudes of 1000 N/m and 500 N/m [21] respectively. The stiffness of the mobile platform largely depends upon the stiffness of the actuators according to this methodology. The (6 × 6) Jacobian matrix of the 3-PRUS mechanism derived in Section 2 is substituted into Eq. (34), to study the stiffness variations. The stiffness matrix characterises the stiffness at a given point of its workspace. The static stiffness maps for different poses of the mobile platform within the singular free region is shown in Figure 12. The stiffness mesh graphs in Figure 12a–f shows that the stiffness along x, y, z, α, β, and γ does not have significant changes for different positions of the end effector having the same orientation. This property of the manipulator improves the kinematic accuracy of the end effector. Also, it is clear from Figure 12g–i that magnitude of stiffness reduces as the angle made by the platform increases. This is because the loads acting on the end effector when it makes an angle with the global frame will create a moment reaction on the platform accounting for its reduced stiffness for larger angles. A similar trend is observed even when the mobile platform rotates about the y and z axis. Stiffness of the manipulator is maximum when the platform is aligned to the global axis, that is when α = 0, β = 0 and γ = 0. Figure 12j–l show a slight decrease in the magnitude of stiffness along x, y, and z for larger heights. The magnitude of the stiffness plot can be changed by adjusting the values of joint stiffness. Therefore, this analysis guides the choice of joints depending upon its applications and judge whether the manipulator can withstand the workloads acting on the platform when put to work.

Figure 12
figure 12

Stiffness plots for different poses of the mobile platform

5.4 Analytical and ADAMS Based Simulation—A Comparative Study

In this section, a simulation study of the dynamic model is demonstrated by considering the same geometrical parameters listed in Table 2. The comparative study of the analytical and ADAM based simulation is performed as per the flow diagram shown in Figure 13.

Figure 13
figure 13

Flow diagram for the comparative study of the dynamics simulation

The dynamic model of the mechanism is analysed for a pre-defined trajectory of the end effector. The end effector tip is assumed to follow a smooth cubic trajectory expressed as

$$P_{x} = a_{0x} + a_{1x} t + a_{2x} t^{2} + a_{3x} t^{3},$$
$$P_{y} = a_{0y} + a_{1y} t + a_{2y} t^{2} + a_{3y} t^{3},$$
$$P_{z} = a_{0z} + a_{1z} t + a_{2z} t^{2} + a_{3z} t^{3},$$
$$\alpha = a_{1} \sin\left( {\frac{{n_{1} \pi t}}{{T_{d} }}} \right); \beta = a_{2} \sin\left( {\frac{{n_{2} \pi t}}{{T_{d} }}} \right); \gamma = a_{3} \sin\left( {\frac{{n_{3} \pi t}}{{T_{d} }}} \right),$$

where the constants \(n_{1} , n_{2}\) and \(n_{3}\) control the frequency of trajectory and \(T_{d}\) is the total time duration for the simulation. The constants in the above equation are determined based on the boundary conditions applied to the end effector. The initial and final positions of the end effector are P(0) = (40, 580, 360) and P(10) = (− 60, 480, 640) respectively. The initial and final velocities of the end effector are assumed to be zero. Similarly, the angular positions of the mobile platform during the first and fourth seconds are (0.5, 0.4236, 0.747) and (− 0.5, − 0.3078, 0.747) radians respectively. The coefficients computed for the above-mentioned boundary conditions are listed in Table 3. The path followed by the end effector is shown in Figure 14.

Table 3 List of coefficients for the cubic trajectory
Figure 14
figure 14

End effector cubic trajectory from initial to final positions

During the simulation study, the positional coordinates and the corresponding Euler angles are computed using Eqs. (36), (37), (38) and (39) for every time interval of 0.1 s. The inverse kinematics is then solved for every instantaneous pose of the end effector using the Levenberg Marquardt Algorithm explained in Section 3.2. On solving the inverse kinematics, the values for every joint variable is computed for every time interval of 0.1 s. Taking the time derivative of the joint variables for every instant give the theoretical linear and angular velocity variations of the prismatic and revolute joints, respectively, as is shown in Figure 15.

Figure 15
figure 15

a Slider velocity vs time, b Angular velocity vs time

To simplify the analysis, every slider and the connecting links are assumed as slender bars and the mobile platform as a triangular plate. The results of the dynamic model are compared with the corresponding results of the 3-PRUS model in ADAMS. Figure 16 shows the imported model of the 3-PRUS manipulator in ADAMS. The analysis is done for a payload of 0.5 kg. This load is added to the mass of the mobile platform in the simulation study.

Figure 16
figure 16

a Imported 3-PRUS mechanism in ADAMS, b Spherical joints assigned on the mobile platform in ADAMS

The actuation force and torque variations with time for every active joint obtained by the two methods are illustrated in Figure 17. The slight variations in the dynamic Force and Torque values obtained by the two approaches are observed as a part of simplifying the analytical model. To lower the complexities involved in formulating the dynamic equations, the effect of friction has not been considered in this paper. However, in the ADAMS simulation model, a dynamic coefficient of friction value of 0.3 has been assigned at every joint. This accounts for the slight increase in the Force and Torque values in the ADAMS simulation model compared to the analytical model.

Figure 17
figure 17

Numerical simulation results: a Sliding force plot (L-E), b Sliding force plot (ADAMS), c Torque plot (L-E), d Torque plot (ADAMS)

The maximum force required by each slider according to the analysis is 5.2 N, 4.4 N and 3.4 N, respectively. The dynamic model is used to choose the appropriate actuators depending upon the forces computed for different applications. The maximum force for each slider in the force plot is taken as the theoretical force required to calculate the actuator torques considering the lead screw parameters.

Assuming reasonable safety factors (say 1.5), the actual torque is calculated using Eq. (40):

$$\tau_{actual} = \eta \tau_{theoretical} ,$$

where η is the safety factor. The dynamic model developed can be used to design controllers and study the total power consumptions for different applications.

6 Prototype of the Dual 3-PRUS Manipulator

The 3-PRUS manipulator mainly comprises of sliders, revolute joints, universal joints and spherical joints interconnected by rigid links. The slider slides straight along the guide rod by the aid of a lead screw attached to the motor. The prototype is manufactured using simpler parts mainly to display the motion of the mobile platform. Two similar 3-PRUS manipulators are fabricated to demonstrate coordinative assembly operation. The physical prototype of the dual 3-PRUS manipulator is shown in Figure 18 in which one arm is at the top of the fixed frame and the other is at the lower portion. Two additional actuators are used at each end of the arm to rotate and open/close the end effector attached to the platform. There are eight motors in total to be controlled for an individual 3-PRUS mechanism. The user defines the path followed by the end effector for each mechanism via the MATLAB interface using the laptop connected to the system. The end effector tracks the trajectory based on the inverse kinematics. The angular rotations of each motor connected to the slider via lead screw is calculated using Eq. (41):

$$\theta = \frac{{2\pi \left( {\Delta L_{i} } \right)}}{p},$$

where p is the pitch of the lead screw and ∆Li is the slider displacement for each leg. The angular rotations calculated is then given as input to the controller to enable rotations to the motor.

Figure 18
figure 18

Experimental setup of 3-PRUS dual PKM prototype

7 Conclusions and Outlook

In this paper, the kinematic and dynamic model of a novel six DoF 3-PRUS parallel manipulator is developed. The proposed design has a simple architecture with six active and six passive joints each. The mechanism is modelled using the DH convention, and the closed-form inverse kinematics solution is obtained by considering suitable constraint equations. The forward kinematic equations are further used to plot the reachable volume of the end effector. A numerical based Levenberg–Marquardt Algorithm (LMA) is explained to solve the inverse kinematics equations. The optimized link dimensions are computed from the workspace analysis to determine the maximum volume the end effector can move. The Jacobian matrix for the 3-PRUS is derived using an analytical approach by incorporating the holonomic constraints within the mechanism. The Jacobian matrix which is a (6 × 6) tensor for the 3-PRUS parallel manipulator is used to analyze the singularity and stiffness of the mechanism. Based on this analysis, the maximum singular free workspace for the defined geometric parameters is determined. The methodology explained in this paper is easy to understand and applicable to any parallel manipulators having complex geometries by defining suitable constraint equations. The closed-form dynamic model of the manipulator is developed using the Euler–Lagrangian formulation. The results of the dynamic model for a pre-defined trajectory is compared with ADAMS. The mathematical model developed in this paper can be used to choose suitable actuators and design appropriate controllers for automation. Finally, the prototype of a dual 3-PRUS manipulator is manufactured to study the motion of the mobile platform. The two manipulators can be made to coordinate with each other to do a specific task. This mechanism can be effectively used for health care applications, such as scanning, physiotherapy, surgical applications, etc., by changing the upper and lower bounds of the link dimensions and using suitable end effector. Kinematic calibration and error analysis may also be done on the prototype to evaluate the accuracy and precision of the mechanism. Machine learning algorithms can be incorporated to decide intelligent trajectory for different applications.


  1. D Chablat, L Baron, R Jha. Kinematics and workspace analysis of a 3PPPS parallel robot with u-shaped base. Proceedings of the ASME Design Engineering Technical Conference, 2017, 1: 1–9.

    Google Scholar 

  2. C M G X Kong. Type synthesis of parallel mechanisms. Springer Publications, 2007.

  3. R P Podhorodeski, K H Pittens. A class of parallel manipulators based on kinematioally simple branches. Journal of Mechanical Design, Transactions of the ASME, 1994, 116(3): 908–914.

    Article  Google Scholar 

  4. G Yang, I Chen, W Chen, et al. Kinematic design of a six-DOF parallel-kinematics machine with decoupled-motion architecture. IEEE Transactions on Robotics, 2004, 20(5): 876–884.

    Article  Google Scholar 

  5. D Stewart. A platform with six degrees of freedom. Proceedings of the Institution of Mechanical Engineers, 1965, 180(1): 371–386.

    Article  Google Scholar 

  6. E F Fichter. Stewart platform-based manipulator: General theory and practical construction. International Journal of Robotics Research, 1986, 5(2): 157–182.

    Article  Google Scholar 

  7. J P Merlet. Solving the forward kinematics of a gough-type parallel manipulator with interval analysis. International Journal of Robotics Research, 2004, 23(3): 221–235.

    Article  Google Scholar 

  8. D Jakobović, L Budin. Forward kinematics of a Stewart platform mechanism. Journal of Mechanical Design, 2002, 115(4): 277–282.

    Google Scholar 

  9. D Corbel, O Company, F Pierrot. Optimal design of a 6-dof parallel measurement mechanism integrated in a 3-dof parallel machine-tool. 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS, 2008: 1970–1976.

  10. N Seward, I A Bonev. A new 6-DOF parallel robot with simple kinematic model. Proceedings - IEEE International Conference on Robotics and Automation, 2014: 4061–4066.

  11. H S Cho, Y K Byun. Analysis of a novel 6-DOF, 3-PPSP parallel manipulator. The International Journal of Robotic Research, 1997, 16(1): 859–872.

    Google Scholar 

  12. B Monsarrat, C M Gosselin. Workspace analysis and optimal design of a 3-Leg 6-DOF parallel platform mechanism. IEEE Transactions on Robotics and Automation, 2003, 19(6): 954–966.

    Article  Google Scholar 

  13. K H Patel, Y K Patel, V C Nayakpara, et al. Workspace and singularity analysis of 3-RRR planar parallel manipulator. 1st International and 16th National Conference on Machines and Mechanisms, iNaCoMM 2013, 2013: 1071–1077.

  14. M Gabardi, M Solazzi, A Frisoli. An optimization procedure based on kinematics analysis for the design parameters of a 4-UPU parallel manipulator. Mechanism and Machine Theory, 2019, 133(1): 211–228.

    Article  Google Scholar 

  15. D Gan, J Dias, L Seneviratne. Unified kinematics and optimal design of a 3rRPS metamorphic parallel mechanism with a reconfigurable revolute joint. Mechanism and Machine Theory, 2016, 96(1): 239–254.

    Article  Google Scholar 

  16. D Gan, J S Dai, J Dias, et al. Singularity-free workspace aimed optimal design of a 2T2R parallel mechanism for automated fiber placement. Journal of Mechanisms and Robotics, 2015, 7(4): 1–9.

    Google Scholar 

  17. S V Sreenivasan, K J Waldron, P Nanua. Closed-form direct displacement analysis of a 6-6 Stewart platform. Mechanism and Machine Theory, 1994, 29(6): 855–864.

    Article  Google Scholar 

  18. K H Hunt, E J F Primrose. Assembly configurations of some in-parallel-actuated manipulators. Mechanism and Machine Theory, 1993, 28(1): 31–42.

    Article  Google Scholar 

  19. H Bruyninckx. 321-HEXA: A fully-parallel manipulator with closed-form position and velocity kinematics. Proceedings - IEEE International Conference on Robotics and Automation, April, 1997: 2657–2662.

  20. Serder Kucuk. Serial and parallel robot manipulators - Kinematics, dynamics, control and optimization. Tech. Press, 2012.

    Book  Google Scholar 

  21. D Zhang, X Su, Z Gao, et al. Design, analysis and fabrication of a novel three degrees of freedom parallel robotic manipulator with decoupled motions. International Journal of Mechanics and Materials in Design, 2013, 9(3): 199–212.

    Article  Google Scholar 

  22. D Chablat, P Wenger, S Staicu. Dynamics of the orthoglide parallel robot. UPB Scientific Bulletin, Series D: Mechanical Engineering, 2009, 71(3): 3–16.

    Google Scholar 

  23. K Harib, K Srinivasan. Kinematic and dynamic analysis of Stewart platform-based machine tool structures. Robotica, 2003, 21(5): 541–554.

    Article  Google Scholar 

  24. N Leroy, A M Kokosy, W Perruquetti. Dynamic modeling of a parallel robot. Application to a surgical simulator. Proceedings - IEEE International Conference on Robotics and Automation, 2003, 3: 4330–4335.

  25. J J Fernandes, A Arockia Selvakumar. Kinematic and dynamic analysis of 3PUU parallel manipulator for medical applications. Procedia Computer Science, 2018, 133(1): 604–611.

    Article  Google Scholar 

  26. D Gan, J Dias, L Seneviratne. Unified kinematics and optimal design of a 3rRPS metamorphic parallel mechanism with a reconfigurable revolute joint. Mechanism and Machine Theory, 2016, 96(2): 239–254.

    Article  Google Scholar 

  27. Y Li, Q Xu. Design and development of a medical parallel robot for cardiopulmonary resuscitation. IEEE/ASME Transactions on Mechatronics, 2007, 12(3): 265–273.

    Article  MathSciNet  Google Scholar 

  28. Y Li, L Wang, J Liu, et al. Applicability and generality of the modified Grübler-Kutzbach criterion. Chinese Journal of Mechanical Engineering (English Edition), 2013, 26(2): 257–263.

    Article  Google Scholar 

  29. I J Nagarath, R K Mittal. Robotics & Control, 22nd ed. Tata McGraw Hill Press, 2013.

  30. H P Gavin. The Levenburg-Marqurdt algorithm for nonlinear least squares curve-fitting problems. Duke University, 2019, 1–19.

  31. Jean-Pierre Merlet. Jacobian and inverse kinematics. In: Parallel Robots, Springer Publications, 2000: 65–89.

  32. T A Dwarakanath, A Ghosal. Kinematic analysis and design of articulated manipulators with joint motion constraints. Journal of Mechanical Design, 2017, 116(969): 1992–1995.

    Google Scholar 

  33. G H L John J Murray. Dynamic modelling of closed chain robotic manipulators and implications for trajectory control. IEEE Transactions on Robotics and Automation, 1989, 5(4): 522–528.

    Article  Google Scholar 

  34. A Khalid, S Mekid. Intelligent spherical joints based tri-actuated spatial parallel manipulator for precision applications. Robotics and Computer-Integrated Manufacturing, 2018, 54(1): 173–184.

    Article  Google Scholar 

  35. Y Li, Q Xu. Kinematic analysis of a 3-PRS parallel manipulator. Robotics and Computer-Integrated Manufacturing, 2007, 23(4): 395–408.

    Article  Google Scholar 

  36. W Xu, Y Li, X Xiao. Kinematics and workspace analysis for a novel 6-PSS parallel manipulator. 2013 IEEE International Conference on Robotics and Biomimetics, ROBIO December, 2013: 1869–1874.

  37. G Nawratil. New performance indices for 6R robots. Mechanism and Machine Theory, 2007, 42(11): 1499–1511.

    Article  MATH  Google Scholar 

  38. T Bonnemains, H Chanal, B C Bouzgarrou, et al. Stiffness computation identification of parallel kinematic machine tools. Journal of Manufacturing Science and Engineering, Transactions of the ASME, 2009, 131(4): 0410131–0410137.

    Article  Google Scholar 

Download references


The authors thank the members of the Robotics/Mechatronics Lab NITC for providing the necessary facilities and machinery to build the prototype of the manipulator.


Not applicable.

Author information

Authors and Affiliations



MJT proposed the novel design of the parallel manipulator and developed the kinematic and dynamic analytical model of the robotic mechanism. APS guided in analysing the singularity and stiffness for the proposed mechanism. MLJ and APS were in charge of the whole structure of the manuscript. All authors contributed to the preparation of the manuscript. All authors read and approved the final manuscript.

Authors’ Information

Mervin Joe Thomas is currently a PhD candidate in the field of Robotics under the Mechanical Engineering Department, National Institute of Technology Calicut, India (NITC). He received his master degree from NITC in 2017. His research interests include the development of parallel/hybrid manipulators that is suitable for precise applications. Various aspects such as the singularity analysis, workspace optimisation, controller design and development of low-cost manipulators are his other topics of interest.

M. L. Joy is currently a professor in Mechanical Engineering at National Institute of Technology, Calicut (NITC) with 33 years of teaching experience. He has taken a PhD in Mechanical engineering and published several papers in the field of tribology and guided many projects in the field of robotics. He is in teaching, research and academic administration for the last 20 years. He has nearly 15 publications in International and national journals. He is guiding MTech and PhDs students. His research interests are tribology, robotics and stress analysis. He is also a life member of ISTE.

A. P. Sudheer is currently an Assistant Professor, Mechanical Engineering, National Institute of Technology Calicut (NITC). He is in teaching, research and academic administration for the last 20 years. He has nearly 40 publications in International and national journals and conferences. He has filed for four patents in the area of robotics. His research interests are kinematics, dynamics and control of robotics, mobile robotics and vision systems. He is a member of ISTE and Editor of “The Robotics Society-India” (TRS-India).

Corresponding author

Correspondence to A. P. Sudheer.

Ethics declarations

Competing Interests

The authors declare that they have no competing interests.



Position coordinates of the centre of the connecting link derived from the DH model is,

$$vx_{2} = \frac{a}{2}\left[ {{ \sin }x_{2} { \sin }x_{3} { \sin }x_{4} - { \cos }x_{2} { \cos }x_{4} } \right];$$
$$vy_{2} = \frac{a}{2}{ \cos }x_{3} { \sin }x_{4} ;$$
$$vz_{2} = \left[ {x_{1} + \frac{a}{2}\left( {{ \cos }x_{4} { \sin }x_{2} + { \cos }x_{2} { \sin }x_{3} { \sin }x_{4} } \right)} \right];$$

Position coordinates of the centre of mobile platform obtained from the DH model is,

$$\begin{aligned} vx_{3} & = ({\text{b}}*({ \cos }\left( {x_{ 6} } \right)*({ \sin }\left( {x_{ 5} } \right)*({ \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 4} } \right) \\ & \quad - { \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)\left. { + { \cos }\left( {x_{ 3} } \right)*{ \cos }\left( {x_{ 5} } \right)*{ \sin }\left( {x_{ 2} } \right)} \right) \\ & \quad - { \sin }\left( {x_{ 6} } \right)*({ \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 4} } \right) + { \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right))))/ 2 \\ & \quad + (n*({ \cos }\left( {x_{ 6} } \right)*({ \cos }\left( {x_{ 4} } \right)*({ \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right) \\ & \quad- { \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) + { \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 5} } \right)) \\ & \quad - { \sin }\left( {x_{ 6} } \right)*({ \sin }\left( {x_{ 5} } \right)*({ \sin }\left( {x_{ 4} } \right)*({ \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right) \\ & \quad - { \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right) + { \cos }\left( {x_{ 3} } \right)*{ \cos }\left( {x_{ 5} } \right)*{ \sin }\left( {x_{ 2} } \right)) \\ & \quad + { \cos }\left( {x_{ 5} } \right)*({ \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right) + { \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)))))/ 2\\ & \quad- a*{ \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 4} } \right) \, + a*{ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right); \\ \end{aligned}$$
$$\begin{aligned} vy_{3} & = (n*({ \sin }\left( {x_{ 6} } \right)*({ \sin }\left( {x_{ 5} } \right)*({ \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 2} } \right) \\ & \quad+ { \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right)*{ \cos }\left( {x_{ 5} } \right)) \\ & \quad - { \cos }\left( {x_{ 6} } \right)*({ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 4} } \right) + { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 3} } \right))))/ 2\\ & \quad - \, (b*({ \cos }\left( {x_{ 5} } \right)*({ \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 2} } \right) + { \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) \\ & \quad + { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 5} } \right)))/ 2+ a*{ \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right); \\ \end{aligned}$$
$$\begin{aligned} vz_{3} & = x_{ 1} - (n*({ \cos }\left( {x_{ 6} } \right)*({ \cos }\left( {x_{ 4} } \right)*({ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 2} } \right) \\ & \quad + { \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 5} } \right)) \\ & \quad - { \sin }\left( {x_{ 6} } \right)*({ \sin }\left( {x_{ 5} } \right)*({ \sin }\left( {x_{ 4} } \right)*({ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 2} } \right) \\ & \quad + { \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right)*{ \cos }\left( {x_{ 5} } \right)) \\ & \quad + { \cos }\left( {x_{ 5} } \right)*({ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 3} } \right)))))/ 2\\ & \quad - (b*({ \cos }\left( {x_{ 5} } \right)*({ \sin }\left( {x_{ 4} } \right)*({ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 2} } \right) \\ & \quad + { \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right)) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 3} } \right)*{ \cos }\left( {x_{ 5} } \right)) \\ & \quad - { \sin }\left( {x_{ 5} } \right)*({ \sin }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right) - { \cos }\left( {x_{ 2} } \right)*{ \cos }\left( {x_{ 4} } \right)*{ \sin }\left( {x_{ 3} } \right))))/ 2\\ & \quad + a*{ \cos }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 2} } \right) \, + a*{ \cos }\left( {x_{ 2} } \right)*{ \sin }\left( {x_{ 3} } \right)*{ \sin }\left( {x_{ 4} } \right). \\ \end{aligned}$$

Rights and permissions

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Thomas, M.J., Joy, M.L. & Sudheer, A.P. Kinematic and Dynamic Analysis of a 3-PRUS Spatial Parallel Manipulator. Chin. J. Mech. Eng. 33, 13 (2020).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: