01122020  Original Article  Issue 1/2020 Open Access
Kinematic and Dynamic Analysis of a 3PRUS Spatial Parallel Manipulator
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 StewartGough 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 StewartGough 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 fivebar 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 4U
PU parallel manipulator by Screw Theory, and further, the Jacobian Singularities have been determined. A numerical procedure for optimizing the geometrical parameters to get a singularityfree 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 singularityfree 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 realtime 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 EulerLagrangian formulation [
21], Principle of Virtual Work [
22], NewtonEuler formulation [
23] are used to obtain the dynamic equations of robotic systems. Inverse dynamic analysis of a parallel mechanism is done for a predefined 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 EulerLagrangian 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 wellestablished 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 endeffector. 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. DenavitHartenberg (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 openchain 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 openchain 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 nonredundant 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 EulerLagrangian formulation and compared with ADAMS results for a predefined 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.
Advertisement
2 Geometrical Design of the 3PRUS 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. LevenbergMarquardt 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):
where ‘
d’ is the number of DoF in threedimensional space, ‘
e’ is the number of elements, ‘
g’ is the number of joints, ‘
f
_{i}’ is the number of DoF for the
ith joint, ‘
ϑ’ is the number of excessive noncommon 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 = d\left( {e  g  1} \right) + \mathop \sum \limits_{i = 1}^{g} f_{i} + \vartheta  \epsilon ,$$
(1)
$$DoF = 6\left( {11  12  1} \right) + \left( {3 + 3 + 6 + 9} \right) + 0  3 = 6.$$
(2)
×
×
Eq. (
2) indicates that independent control of the six active joints (3P and 3R) 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 wellestablished 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 {O
_{1}}, {O
_{2}}, and {O
_{3}} respectively, as shown in Figure
2. The DH algorithm is applied to each leg to get its own endeffector pose from {O
_{1}}, {O
_{2}}, and {O
_{3}}. 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 {O
_{2}} 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.$$
(3)
Table 1
DH parameters for the first leg
θ

d

a

α (°)


0

x
_{1}

0

90

x
_{2} + 90

0

0

90

x
_{3} + 90

0

0

90

x
_{4}

0

−
a

− 90

x
_{5} − 90

0

0

− 90

x
_{6} − 90

0

0

− 90

x
_{7}

0

0

0

×
Advertisement
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 {O
_{2}}, 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 {O
_{2}} 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].$$
(4)
×
Similarly, the poses of the end effector tip from the global frame {O
_{2}} 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}$$
(5)
$$\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}$$
(6)
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 {O
_{2}} 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 closedform 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].$$
(7)
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.
\(\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 {O
_{2}}. An iterative Levenberg–Marquardt Algorithm (LMA) is used to solve the set of 21 nonlinear 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
= [
x
_{1}
x
_{2}
x
_{3} …
x
_{21}]
^{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),
where
$$\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}$$
(8)
$$({{\acute{\varvec{J}}}^{\rm T}}{\acute{J}} + \lambda \varvec{I})\varvec\delta = {\acute{\varvec{j}}^{\rm T}}R,$$
(9)
$$\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].$$
×
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 (
K
_{max}) 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 3PRUS Mechanism
The previous sections have introduced the prerequisites 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
= [
P
_{x}
P
_{y}
P
_{z}
α β γ]
^{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,
θ
= [
x
_{1}
x
_{2}
x
_{3}…
x
_{21}]
^{T} which comprises of both active and passive joints. Input and output vectors for the closedloop mechanism can be expressed generally as,
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
K
_{j}, in terms of joint variables are given in Eq. (
11),
$$F\left( {\theta ,x} \right) = 0,$$
(10)
$$\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}$$
(11)
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]:
where s = sin(·) and c = cos(·). The position coordinates for
K
_{j} from global frame in terms of Euler angles is as follows:
after substitution,
$$\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}$$
(12)
$${}^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},$$
(13)
$$\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}$$
(14)
×
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.$$
(15)
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}.$$
(16)
4 Dynamic Modelling of the 3PRUS 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} }}.$$
(17)
Expressing the above equation in statespace form, we get,
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
m
_{1},
m
_{2}, and
m
_{3} be the masses of the slider, connecting link and mobile platform with end effector as indicated in Figure
6.
$$\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,$$
(18)
For the first leg, Kinetic energy of the slider,
$$K_{1} = \frac{1}{2}m_{1} \left( {\dot{x}_{1} } \right)^{2}.$$
(19)
Kinetic energy of the connecting link,
where
\(v_{2}^{2} = v\dot{x}_{2}^{2} + v\dot{y}_{2}^{2} + v\dot{z}_{2}^{2}\) (refer
Appendix).
I
_{2xx},
I
_{2yy} and
I
_{2zz} are the moment of inertia terms and
a is the length of the rigid link. Kinetic energy of the moving platform,
where
\(v_{3}^{2} = v\dot{x}_{3}^{2} + v\dot{y}_{3}^{2} + v\dot{z}_{3}^{2}\), (refer
Appendix).
$$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},$$
(20)
$$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},$$
(21)
Potential Energy of slider,
$$P_{1} = 0,$$
(22)
Potential energy of connecting link,
$$P_{2} = m_{2} g\left( {vy_{2} } \right),$$
(23)
Potential energy of moving platform,
$$P_{3} = m_{3} g(vy_{3} ).$$
(24)
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}.$$
(25)
The overall mass, Coriolis, gravity and force matrices of the complete system in the statespace 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}$$
(26)
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,
or
\(\psi \left( q \right)\dot{q} = 0\).
$${\text{Work done by constraint force }} = \left( {\left[ {\psi \left( q \right)} \right]^\text{T} \vartheta } \right)^{\rm T} \dot{q} = 0$$
(27)
Differentiating above equation with time gives,
$$\left[ {\psi \left( q \right)} \right]\ddot{q} + \left[ {\psi (\dot{q})} \right]\dot{q} = 0.$$
(28)
Rearranging 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}$$
(29)
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 .$$
(30)
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 predefined 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 threedimensional 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.
×
The algorithm is used to plot a cluster of points in threedimensional 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.
Table 2
Link dimensions after optimisation
Joint parameters

Value (m)


c (normal distance
b/
w two sliders)

0.25

a (length of connecting link)

0.5

l (sliding distancehorizontal)

0.9

b (tip to centroid distancemobile platform)

0.2

×
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} m
^{3}. Khaled et al. [
34] proposed the 3S
PS 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} m
^{3}. Li et al. [
35] proposed the 3
PRS mechanism for surgical applications and its estimated work volume is 3.2 × 10
^{−4} m
^{3}. Xu et al. [
36] proposed the 6
PSS parallel mechanism and its work volume is conical and approximately 6.29 × 10
^{−3} m
^{3}. This study shows that the workspace for the 3
PRUS manipulator is relatively larger compared to other parallel manipulators of similar dimensions mentioned above.
×
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 nonredundant 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. Singularityfree 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 uninterrupted motions of the end effector are possible within this region.
×
×
5.3 Stiffness Analysis
This section explains the Jacobian based stiffness analysis from the DH model that is effectively applicable to parallel manipulators having nonredundant 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):
where
k = diag[
k
_{1}…
k
_{6}] is the actuated joint stiffness matrix, whose elements
k
_{i} are the stiffness of each actuator.
$$f = k\cdot\delta \theta ,$$
(31)
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}.$$
(32)
Rewriting Eq. (
16) for infinitesimal displacements, we get,
$$\delta \theta = \varvec{J}\cdot\delta x.$$
(33)
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.$$
(34)
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}.$$
(35)
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.
×
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.
×
The dynamic model of the mechanism is analysed for a predefined trajectory of the end effector. The end effector tip is assumed to follow a smooth cubic trajectory expressed as
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 abovementioned boundary conditions are listed in Table
3. The path followed by the end effector is shown in Figure
14.
$$P_{x} = a_{0x} + a_{1x} t + a_{2x} t^{2} + a_{3x} t^{3},$$
(36)
$$P_{y} = a_{0y} + a_{1y} t + a_{2y} t^{2} + a_{3y} t^{3},$$
(37)
$$P_{z} = a_{0z} + a_{1z} t + a_{2z} t^{2} + a_{3z} t^{3},$$
(38)
$$\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),$$
(39)
Table 3
List of coefficients for the cubic trajectory
Coefficient

Magnitude

Coefficient

Magnitude


a
_{ox}

− 550

a
_{1z}

0

a
_{1x}

0

a
_{2z}

171/10

a
_{2x}

− 21/10

a
_{3z}

−57/50

a
_{3x}

7/50

a
_{1}

\(\pi\)/6

a
_{oy}

− 100

n
_{1}

4

a
_{1y}

0

a
_{2}

\(\pi\)/6

a
_{2y}

9/2

n
_{2}

3

a
_{3y}

− 3/10

a
_{3}

\(\pi\)/4

a
_{oz}

180

n
_{3}

6

×
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.
×
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.
×
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.
×
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):
where
η is the safety factor. The dynamic model developed can be used to design controllers and study the total power consumptions for different applications.
$$\tau_{actual} = \eta \tau_{theoretical} ,$$
(40)
6 Prototype of the Dual 3PRUS 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):
where
p is the pitch of the lead screw and
∆L
_{i} 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.
$$\theta = \frac{{2\pi \left( {\Delta L_{i} } \right)}}{p},$$
(41)
×
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 closedform 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 closedform dynamic model of the manipulator is developed using the Euler–Lagrangian formulation. The results of the dynamic model for a predefined 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.
Acknowledgements
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.
Competing Interests
The authors declare that they have no competing interests.
Open AccessThis 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
http://creativecommons.org/licenses/by/4.0/.
Appendix
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}$$