1 INTRODUCTION

CDPR is a type of parallel mechanism that uses several cables instead of rigid links to actuate an end-effector (EE). Compared with traditional rigid-link parallel robotic manipulators, CDPRs possess some desirable features such as low cost, simple configuration, lightweight, low friction/inertia, and high payload to weight ratio [1]. Thus, they can be used where a dexterous machine with a tremendously accessible workspace is required. Dexterity is the main index for the transfer performance of parallel robots. Thus, dexterity is used for design and parameter optimization in various research. Gosselin and Angeles applied the Jacobian condition number to describe dexterity [2]. Dexterity and stiffness optimization of planar CDPRs are introduced in [3]. Abdolshah et al. offer a method to define the locations of pulley blocks of adaptive CDPRs that guarantee ideal dexterity with the best feasible elastic stiffness, in addition to those that guarantee isotropic elastic stiffness with the best feasible dexterity. Also, an optimization model is offered to increase the stiffness and dexterity of large workspace cable-driven parallel manipulators by picking an appropriate sectional area of cables and other structural parameters [4]. To carry out design optimization of a compliant 6-DOF parallel robot, three performance indices, namely, global condition number, the norm of link forces, and robot compliance are expressed in [5]. Next, a multi-objective evolutionary algorithm is employed to optimize these performance indices. Also, the optimum design of a 3‑CPS six-DOF parallel-kinematics machine is examined by Li and Angeles based on a dexterity index [6]. Miniaturization and a large dexterous workspace designation are utilized for kinematic parameter optimization of a tendon-driven surgical instrument under necessary constraints [7]. Also, Zhang et al. propose design optimization of redundant CDPRs to carry a high payload mass and bear low cable tension for an automated warehouse system [8].

The mentioned dexterity index has some problems in dimension and physical interpretation [9] because Jacobin elements do not have a similar dimension. Among, the most remarkable examples are the parallel robots which have mixed rotational and translational DOFs. Jacobin is not consistent in units (some elements of each column are radians, while the others are lengths) and the conventional dexterity must be generalized to avoid it losing concept. Some approaches are suggested to solve these problems. One of them is that the Jacobin matrix divides into two translational and rotational coefficient parts and the dexterity of each one is obtained [10]. Performance analysis in terms of reachable workspace and dexterity of multi-segment continuum robots is focused on [11]. By separating Jacobian, two local criteria that are axiality and angularity dexterity are defined. Then, the Particle Swarm Optimization algorithm is applied to obtain optimal kinematic performance. Gosselin resolves the inhomogeneity problem of Jacobian by another formula of the EE velocity. This method was developed to evaluate the force transmission capability of a parallel kinematic manipulator [12]. Angeles suggested dividing the length units by a characteristic length. This method has been widely used in various research [6, 13–15]. Despite all the solutions, the researchers discussed the effectiveness and accuracy of mentioned dexterity when they applied these indices to practical design problems. A comprehensive overview is represented in [15]. It is presented that even when all the actuators are the same, the inverse condition number and manipulability cannot comprehensively and correctly figure out the main aspects of manipulator performance. In general, in the mentioned research, for investigating the manipulability and condition number, the 2-norm is used while the infinity-norm addresses the limitations of the 2-norm [16]. Thus, in this paper to tackle these cases a new dexterity definition is proposed and applied [16].

Also, as a second criterion, dynamic dexterity is addressed. The condition number of the inertia matrix resulting from the dynamic equation is considered an index to evaluate the dynamic dexterity of a CDPR. Dynamic dexterity designates the acceleration performance of a CDPR in a given configuration. The optimal design of a 2-DOF parallel planar robot with flexible joints in terms of maximizing dynamic dexterity and workspace size and minimizing the energy of control is presented in [17]. Cui et al. applied operating dexterity (kinematic and dynamic dexterity) to optimize and analyze a 3-DOF parallel manipulator for a tunnel segment assembly system [18]. Wang et al. focused on the optimum design of a 4-PSS-PU parallel redundant manipulator [19]. They used kinematic and dynamic performance evaluation to optimize the robot parameters. Since cables in a CDPR exerts unidirectional forces, Kurtz and Hayward define a new unilateral dexterity index for one DOF redundant cable robot. This index is related to unilateral statics when n + 1 forces act on an n DOF CDPR [20]. Eden et al. extended the unilateral dynamic dexterity concept for CDPRs which the number of actuators satisfies m > n + 1 where n is the number of DOF [21].

In this paper, the kinematic dexterity of a CDPR fine-tuned with a 3RPR-PU structure is examined. The structure of a CDPR and the kinematics and Jacobian are well studied, but the CDPR has mixed rotational and translational DOF. Hence a novel concept of dexterity using the infinity norm is proposed. Compared to previous works, this is a direct approach to analyze kinematic dexterity and it is no need to define characteristic length or define rotational and translational dexterity. Also, it is used the infinity norm to consider the worst-case condition. Moreover, for dynamic performance, since the cables can only act in one direction (pulling), it is necessary to apply a unilateral dynamic index. Based on these two measures, a new dexterity index is presented. At last, the global dexterity index is investigated over the reachable workspace. Therefore, it can be selected the optimum structure of the CDPR considering this criterion. In this paper, the kinematic parameter optimization of cable-driven parallel robots is considered. The aim is to detect the CDPR parameters so that the robot can be applied with a greater new kinodynamic dexterity. We suppose that the positions of the motors are at the end of the base radius. The cables are also connected to the end of the EE radius. There is a vast number of possibilities for CDPR configuration. Thus, the solution to this problem is important. Particularly, if we want to discover the optimal CDPR configuration for the entire workspace, this problem becomes complicated.

Therefore, the paper is organized as follows: In Section 2, a hybrid CDPR based on a 3-cable robot and a central linear actuator was introduced. Then the kinematic, Jacobian, and, dynamic of the proposed CDPR were developed. In Section 3, the new concept of kinematic dexterity was defined based on the rotational and translational parts of the Jacobian. Next, to consider acceleration performance, unilateral dynamic dexterity was presented. Then, the new dexterity was constructed by these two indices by using a weighted factor λ. The global dexterity index was introduced for the CDPR to examine the transmission and acceleration performance. In Section 4, the MATLAB dynamic model of this paper was verified with the ADAMS model. To obtain a general overview of the design, the graphs of kinodynamic dexterity were also presented. Then, the optimized kinematic parameters based on kinodynamic dexterity was established by GA in consideration of various weighted factor λ. The CDPR was built according to optimized kinematic parameters. Ultimately, in Section 5, the paper’s conclusion is presented.

2 MODELING OF THE CDPR WITH A CENTRAL SPINE

In this paper, it is used an articulated central linkage to supply the structural stability, DOF, and motion. This central spine with winched wire actuation is utilized to obtain various important advantages while the benefits of a parallel manipulator are needed together with lightweight. The CAD model of CDPR is shown in Fig. 1. This platform has 3-DOF: pitch (rotation about Y-axis), roll (rotation about X‑axis), and heave (moving up and down on the Z-axis). In this mechanism, the prismatic joint is fixed to the base platform at point O and attached to the moving platform at point Pm using a 2-DOF Cardan joint. U-joint limit one rotational DOF. The platform’s yaw (rotation about Z-axis) as a single rotational DOF is constrained as well as surge (moving forward/backward) and sway (moving left/right) are constrained.

Fig. 1.
figure 1

CAD model of a 3-DOF CDPR.

In this work, a cylinder is used to eliminate the gravitational effects of any CDPR configuration. Thus, it makes the potential energy constant. The use of a prismatic joint has some advantages. The prismatic actuator supports the end-effector’s weight while improving the tensionability condition in the cables. Positive tensions in cables must be guaranteed in a CDPR. The prismatic actuator moves the EE up and down, and three cables are designed to guide the moving platform. Since the cylinder bears the weight, there is no need to use powerful motors for guiding the EE.

2.1 Kinematic

For kinematic analysis, the fixed reference frame {A: XYZ} is connected to the base at point O, and the moving frame {B: xyz} is attached to the EE at point Pm, the EE center of mass (CM). The EE coordinate x is expressed in [z α β]T, z denotes the replacement of the prismatic actuator, α denotes the EE pitch angle around the X-axis, and β denotes the EE roll angle around the Y-axis. In inverse kinematics, these coordinates are considered. The q = [l1 l2 l3 d]T is the joint coordinate. li is the cable length, and d is the prismatic joint translation. Since the prismatic joint is fixed to the base, z = d, in which the primary height of the prismatic actuator is d0. Pi (i = 1, 2, 3) is the cable attachment point to the EE. Si (i = 1, 2, 3) is the cable attachment point to the base platform. re is the radius of the EE, and rb is the radius of the base. θi is the angle between OSi and the right-hand side of the X-axis, so the position of the Si is (rbcosθi, rbsinθi, 0). Three stepper motors are placed at the height of h0 from the base platform. This height prevents collision between the central spine and cables and also improves kinodynamic dexterity measure. The CM height of EE from its bottom is l0. The schematic diagram of the mechanism is introduced in Fig. 2. To obtain the cable length, we form the following equations:

$${\mathbf{O}}{{{\mathbf{S}}}_{i}} + {{{\mathbf{S}}}_{i}}{{{\mathbf{P}}}_{i}} = {\mathbf{O}}{{{\mathbf{P}}}_{i}} \to {{l}_{i}} = {\text{||}}{{{\mathbf{S}}}_{i}}{{{\mathbf{P}}}_{i}}{\text{||}} = {\text{||}}{\mathbf{O}}{{{\mathbf{P}}}_{i}} - {\mathbf{O}}{{{\mathbf{S}}}_{i}}{\text{||,}}\quad (i = 1,2,3).$$
(2.1)

OSi is a constant vector. Also, OPi = z + d0 + PmPi, in which z is known. For PmPi, we have PmPi = RPRPmPi)mov. RPR is the pitch-roll rotation matrix of the moving platform relative to the base (Ry(β)Rx(α)). PmPi)mov is the vector from the attachment point of EE and cylinder to the cable attachment point in the moving frame {B}. Therefore, the inverse kinematic equations are as follows:

$$z = d,\quad {{l}_{{\mathbf{i}}}}{\mathbf{ = }}\left\| {{{d}_{0}}{\mathbf{ + }}z + {{{\mathbf{R}}}_{{\mathbf{y}}}}(\beta ){{{\mathbf{R}}}_{{\mathbf{x}}}}(\alpha ){{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}}{{)}_{{mov}}} - {\mathbf{O}}{{{\mathbf{S}}}_{{\mathbf{i}}}}} \right\|$$
(2.2)
Fig. 2.
figure 2

Kinematic diagram of a 3-DOF CDPR.

2.2 Jacobian

By velocity loop closure, the Jacobian is calculated. I, J, K is the unit vector of a fixed frame {A}, and i, j, k is the unit vector of a moving frame {B}. The relationship between the joint velocities and EE velocity is explained in the following equation:

$${\mathbf{\dot {q}}} = {{{\mathbf{J}}}_{x}}{\mathbf{\dot {x}}},$$
(2.3)

in which Jx is the Jacobian, \({\mathbf{\dot {q}}} = {{[{{\dot {l}}_{1}}\,\,{{\dot {l}}_{2}}\,\,{{\dot {l}}_{3}}\,\,\dot {d}]}^{T}}\) is the joint velocities, and \({\mathbf{\dot {x}}} = {{[\dot {z}\,\,\dot {\alpha }\,\,\dot {\beta }]}^{T}}\) is the EE velocity. First, we notice the next equation, which is established in every closure loop of the parallel platform.

$${\mathbf{O}}{{{\mathbf{P}}}_{m}}\,{\text{ + }}\,{{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}}\,{\text{ = }}\,{\mathbf{O}}{{{\mathbf{S}}}_{i}}\,{\text{ + }}\,{{{\mathbf{S}}}_{i}}{{{\mathbf{P}}}_{i}}{\text{.}}$$
(2.4)

In the next step, we differentiate from each term of Eq. (2.4). First, by considering prismatic joint, \({{\left( {\frac{{d\,{\mathbf{O}}{{{\mathbf{P}}}_{m}}}}{{dt}}} \right)}_{{{\mathbf{fix}}}}} = \dot {z}{\mathbf{K}}\) with pitch–yaw rotation, we have:

$${{\left( {\frac{{d{{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}}}}{{dt}}} \right)}_{{{\mathbf{fix}}}}} = {\mathbf{\Omega }} \times {{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}}.$$
(2.5)

For calculating Ω, first, it is rewritten the rotation matrix relation:

$${\mathbf{R}} = \left[ \begin{gathered} {{r}_{{11}}}\,\,\,\,\,{{r}_{{12}}}\,\,\,\,{{r}_{{13}}} \hfill \\ {{r}_{{21}}}\,\,\,\,\,{{r}_{{22}}}\,\,\,\,{{r}_{{23}}} \hfill \\ {{r}_{{31}}}\,\,\,\,\,{{r}_{{32}}}\,\,\,\,{{r}_{{33}}} \hfill \\ \end{gathered} \right] = \left[ \begin{gathered} \cos \beta \,\,\,\,\,\,\,\,\sin \beta \sin \alpha \,\,\,\,\,\,\sin \beta \cos \alpha \hfill \\ 0\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\cos \alpha \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, - \sin \alpha \hfill \\ - \sin \beta \,\,\,\,\cos \beta \sin \alpha \,\,\,\,\,\cos \beta \cos \alpha \, \hfill \\ \end{gathered} \right].$$
(2.6)

The angular velocity vector calculates as follows:

$$\begin{gathered} {{\Omega }_{x}} = {{{\dot {r}}}_{{31}}}{{r}_{{21}}} + {{{\dot {r}}}_{{32}}}{{r}_{{22}}} + {{{\dot {r}}}_{{33}}}{{r}_{{23}}} = \cos \beta \,\dot {\alpha }, \\ {{\Omega }_{y}} = {{{\dot {r}}}_{{11}}}{{r}_{{31}}} + {{{\dot {r}}}_{{12}}}{{r}_{{32}}} + {{{\dot {r}}}_{{13}}}{{r}_{{33}}}\,\, = \,\dot {\beta }, \\ {{\Omega }_{z}} = {{{\dot {r}}}_{{21}}}{{r}_{{11}}} + {{{\dot {r}}}_{{22}}}{{r}_{{12}}} + {{{\dot {r}}}_{{23}}}{{r}_{{13}}}\,\, = - \sin \beta \,\dot {\alpha }. \\ \end{gathered} $$
(2.7)

Also, OSi is a constant vector. As a result, \({{\left( {\frac{{d{\mathbf{O}}{{{\mathbf{S}}}_{i}}}}{{dt}}} \right)}_{{{\mathbf{fix}}}}} = 0\). From Eq. (2.2), li is the cable length. Its direction through a unit vector si is calculated as follows:

$${{{\mathbf{s}}}_{i}} = \frac{{{{{\mathbf{S}}}_{i}}{{{\mathbf{P}}}_{i}}}}{{{{l}_{i}}}} \to {{{\mathbf{S}}}_{i}}{{{\mathbf{P}}}_{i}}{\mathbf{ = }}{{l}_{i}}{{{\mathbf{s}}}_{i}}.$$
(2.8)

The angular velocity vector of the cables, \({{{\mathbf{\Omega }}}_{{{{{\mathbf{l}}}_{{\mathbf{i}}}}}}}\) is perpendicular to si, and cables do not rotate around themselves, as a result:

$$\frac{{d({{l}_{i}}{{{\mathbf{s}}}_{i}})}}{{dt}} = {{\dot {l}}_{i}}{{{\mathbf{s}}}_{i}} + {{{\mathbf{\Omega }}}_{{{{l}_{i}}}}} \times {{l}_{i}}{{{\mathbf{s}}}_{i}}.$$
(2.9)

Therefore, the final equation for velocity loop closure is rewritten as:

$$\dot {z}{\mathbf{K}} + {\mathbf{\Omega }} \times {{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}} = {{\dot {l}}_{i}}{{{\mathbf{s}}}_{i}} + {{{\mathbf{\Omega }}}_{{{{l}_{i}}}}} \times {{l}_{i}}{{{\mathbf{s}}}_{i}}.$$
(2.10)

For calculating Jx, the cross product of the vector si satisfies the following equation.

$$\dot {z}{\mathbf{K}}.{{{\mathbf{s}}}_{i}} + ({\mathbf{\Omega }} \times {{{\mathbf{P}}}_{m}}{{{\mathbf{P}}}_{i}}).{{{\mathbf{s}}}_{i}} = {{\dot {l}}_{i}}{{{\mathbf{s}}}_{i}}.{{{\mathbf{s}}}_{i}} + ({{{\mathbf{\Omega }}}_{{{{l}_{i}}}}} \times {{l}_{i}}{{{\mathbf{s}}}_{i}}).{{{\mathbf{s}}}_{i}}.$$
(2.11)

The last term of Eq. (2.11) becomes zero. Considering PmPi = Ei, Eq. (2.11) simplifies to:

$$\dot {z}{\mathbf{K}}.{{{\mathbf{s}}}_{i}} + ({\mathbf{\Omega }} \times {{{\mathbf{E}}}_{i}}).{{{\mathbf{s}}}_{i}} = {{\dot {l}}_{i}}.$$
(2.12)

Rewriting Eq. (2.12) in a matrix form results in:

$$\left[ {\left. {{\mathbf{K}}.{{{\mathbf{s}}}_{{\mathbf{i}}}}} \right|\left. {\cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{{\mathbf{i}}}}).{{{\mathbf{s}}}_{{\mathbf{i}}}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{{\mathbf{i}}}}).{{{\mathbf{s}}}_{{\mathbf{i}}}}} \right|\,\,({\mathbf{J}} \times {{{\mathbf{E}}}_{{\mathbf{i}}}}).{{{\mathbf{s}}}_{{\mathbf{i}}}}} \right][\dot {z}\,\,\dot {\alpha }\,\,\dot {\beta }] = \dot {l}.$$
(2.13)

From Eq. (2.2), \(\dot {z}\,\, = \dot {d}\), using Eq. (2.13) for i = 1, 2, 3, Jx is derived as:

$${{J}_{x}} = \left[ {\begin{array}{c|c|c} {{\mathbf{K}}.{{{\mathbf{s}}}_{1}}} & {\cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{1}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{1}}} & {({\mathbf{J}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{1}}} \\ {{\mathbf{K}}.{{{\mathbf{s}}}_{2}}} & {\cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{2}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{2}}} & {({\mathbf{J}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{2}}} \\ {{\mathbf{K}}.{{{\mathbf{s}}}_{3}}} & {\cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{3}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{3}}} & {({\mathbf{J}} \times {{{\mathbf{E}}}_{1}}).{{{\mathbf{s}}}_{3}}} \\ 1 & 0 & 0 \end{array}} \right].$$
(2.14)

In Table 1, the initial parameters of the CDPR are revealed.

Table 1. The CDPR parameters

The workspace is specified as the area that the EE can reach with the active joints, α and β, varying from –π/6 to π/6 rad and z varying from 0 to 0.5 m. The workspace is demonstrated in Fig. 3 according to CDPR parameters from Table 1. To draw the workspace, the center point of the EE triangle is selected.

Fig. 3.
figure 3

The CDPR workspace.

2.3 Dynamic

The manipulator dynamic equation of motion can be obtained from the Lagrange formulation. If we denote the Lagrangian function which is equal to the difference of potential energy from kinetic energy by L and denote the generalized coordinates by qk, the Lagrange equation is expressed as follows:

$$\frac{d}{{dt}}\left( {\frac{{\partial L}}{{\partial {{{\dot {q}}}_{k}}}}} \right) - \frac{{\partial L}}{{\partial {{q}_{k}}}} = {{Q}_{k}}.$$
(2.15)

The term Qk expresses the generalized force obtained from the following equation:

$${{Q}_{k}} = \sum\limits_{i = 1}^N {F_{i}^{*}} .\frac{{\partial {{r}_{i}}}}{{\partial {{q}_{k}}}}.$$
(2.16)

Qk is the generalized force related to the generalized coordinate qk. \(F_{i}^{*}\) is the effective force applied to the ith particle with mass mi. ri is also the position vector of the forces.

In this case, the mass of the cables, the dynamics of the cylinder, and the cable friction are neglected. Let τ = [T1 T2 T3 Fn] T be the vector of actuator forces where Ti is the cable tensions and Fn is the cylinder force. It can be seen in the free body diagram of the EE in Fig. 4.

Fig. 4.
figure 4

Free body diagram of the CDPR.

It is considered the position/orientation vector of the EE, [z α β] as a generalized coordinate of the CDPR. Thus, the Lagrangian can be generated as follows:

$$\begin{gathered} L = T - V = \frac{1}{2}mV_{C}^{2} + \frac{1}{2}I{{\Omega }^{2}} - mg{{h}_{C}}, \\ L = \frac{1}{2}m(V_{{{{C}_{x}}}}^{2} + V_{{{{C}_{y}}}}^{2} + V_{{{{C}_{z}}}}^{2}) + \frac{1}{2}({{I}_{x}}\Omega _{x}^{2} + {{I}_{y}}\Omega _{y}^{2} + {{I}_{z}}\Omega _{z}^{2}) - mg{{h}_{C}}, \\ \end{gathered} $$
(2.17)

where m is the mass, I is the moment of inertia and Vc is the CM velocity. Also, the position and velocity vector of the CM is calculated as follows:

$${{r}_{C}} = {{[0\,\,0\,\,{{d}_{0}} + z]}^{T}} + {\mathbf{R}} \times {{[0\,\,0\,\,{{l}_{C}}]}^{T}} = \left[ \begin{gathered} {{l}_{C}}\cos \alpha \sin \beta \\ - {{l}_{C}}\sin \alpha \\ {{d}_{0}} + z + {{l}_{C}}\cos \alpha \cos \beta \\ \end{gathered} \right],$$
(2.18)
$${{V}_{C}} = \frac{{d{{r}_{C}}}}{{dt}} = \left[ \begin{gathered} \,\,\,\,\,{{l}_{C}}( - \dot {\alpha }{\text{sin}}\alpha {\text{sin}}\beta + \dot {\beta }{\text{cos}}\beta {\text{cos}}\alpha ) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, - {{l}_{C}}\dot {\alpha }{\text{cos}}\alpha \,\, \hfill \\ {{\dot {z} + }}{{l}_{C}}( - \dot {\alpha }{\text{sin}}\alpha {\text{cos}}\beta - \dot {\beta }{\text{sin}}\beta {\text{cos}}\alpha ) \hfill \\ \end{gathered} \right],$$
(2.19)

where lc is the CM height of EE from its bottom, and R is the rotation matrix. Also, for the height of the CM from the base, hC we have:

$${{h}_{C}} = {{d}_{0}}{\text{ + z + }}{{l}_{C}}{\text{cos}}\alpha {\text{cos}}\beta .$$
(2.20)

These relations are placed in Eq. (2.15) and the Lagrangian of the CDPR is obtained. As a result, for the Lagrangian we have:

$$\begin{gathered} L = (m({{({{l}_{C}}\sin \alpha \sin \beta \dot {\alpha } - {{l}_{C}}\cos \alpha \cos \beta \dot {\beta })}^{2}} + \\ {{({{l}_{C}}\cos \beta \sin \alpha \dot {\alpha } - \dot {z} + {{l}_{C}}\cos \alpha \sin \beta \dot {\beta })}^{2}} + l_{C}^{2}{{\cos }^{2}}\alpha {{{\dot {\alpha }}}^{2}})){\text{/}}2 \\ + \,({{I}_{y}}{{{\dot {\beta }}}^{2}}){\text{/}}2 + ({{I}_{x}}{{\cos }^{2}}\beta {{{\dot {\alpha }}}^{2}}){\text{/}}2 + ({{I}_{z}}{{\sin }^{2}}\beta {{{\dot {\alpha }}}^{2}}){\text{/}}2 - mg\left( {z + {{d}_{0}} + {\text{ }}{{l}_{C}}{\text{cos}}\alpha {\text{cos}}\beta } \right). \\ \end{gathered} $$
(2.21)

For the forces exerted on EE, it is considered T1, T2, T3, Fn. For the directions, the cable directions, si is obtained from Eq. (2.8). Also, sn, the cylinder force direction is along K, the unit vector of the fixed frame {A}. Thus, we have:

$${{{\mathbf{s}}}_{i}} = \frac{{{{{\mathbf{l}}}_{i}}}}{{{{l}_{i}}}},\quad {{{\mathbf{s}}}_{n}} = {\mathbf{K}},$$
(2.22)

where

$${{{\mathbf{l}}}_{1}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\,\,\,\,\,\,{{r}_{b}} - {{r}_{e}}\cos \beta - {{l}_{0}}\cos \alpha \sin \beta \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{{l}_{0}}\sin \alpha \hfill \\ {{h}_{0}} - z - {{d}_{0}} + {{r}_{e}}\sin \beta - {{l}_{0}}\cos \alpha \cos \beta \hfill \\ \end{gathered} \right],$$
(2.23)
$${{{\mathbf{l}}}_{2}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\, - \,{{r}_{b}}{\text{/}}2 + {{r}_{e}}\cos \beta {\text{/}}2 - {{l}_{0}}\cos \alpha \sin \beta - \sqrt 3 {{r}_{e}}\sin \alpha \sin \beta {\text{/}}2 \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{{l}_{0}}\sin \alpha + \sqrt 3 {{r}_{b}}{\text{/}}2 - \sqrt 3 {{r}_{e}}\cos \alpha {\text{/}}2 \hfill \\ {{h}_{0}} - z - {{d}_{0}} - {{r}_{e}}\sin \beta {\text{/}}2 - {{l}_{0}}\cos \alpha \cos \beta - \sqrt 3 {{r}_{e}}\cos \beta \sin \alpha {\text{/}}2 \hfill \\ \end{gathered} \right],$$
(2.24)
$${{{\mathbf{l}}}_{3}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\, - \,{{r}_{b}}{\text{/}}2 + {{r}_{e}}\cos \beta {\text{/}}2 - {{l}_{0}}\cos \alpha \sin \beta + \sqrt 3 {{r}_{e}}\sin \alpha \sin \beta {\text{/}}2 \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{{l}_{0}}\sin \alpha - \sqrt 3 {{r}_{b}}{\text{/}}2 + \sqrt 3 {{r}_{e}}\cos \alpha {\text{/}}2 \hfill \\ {{h}_{0}} - z - {{d}_{0}} - {{r}_{e}}\sin \beta {\text{/}}2 - {{l}_{0}}\cos \alpha \cos \beta + \sqrt 3 {{r}_{e}}\cos \beta \sin \alpha {\text{/}}2 \hfill \\ \end{gathered} \right].$$
(2.25)

Therefore

$${{{\mathbf{T}}}_{i}} = {{T}_{i}}{{{\mathbf{s}}}_{i}},\quad {{{\mathbf{F}}}_{{\mathbf{z}}}} = {{F}_{n}}{\mathbf{K}}.$$
(2.26)

Also, for the position vector of the forces acting on the EE, we have:

$$\,{{{\mathbf{r}}}_{{{{T}_{1}}}}} = {{[0\,\,\,0\,\,\,z + {{d}_{0}}]}^{T}} + {\mathbf{R}} \times {{[{{r}_{e}}\,\,0\,\,\,{{l}_{0}}]}^{T}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\,{{r}_{e}}\cos \beta + {{l}_{0}}\cos \alpha \sin \beta \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, - {{l}_{0}}\sin \alpha \hfill \\ z + {{d}_{0}} - {{r}_{e}}\sin \beta + {{l}_{0}}\cos \alpha \cos \beta \hfill \\ \end{gathered} \right],$$
(2.27)
$$\begin{gathered} \,{{{\mathbf{r}}}_{{{{T}_{2}}}}} = {{[0\,\,\,0\,\,\,z + {{d}_{0}}]}^{T}} + R \times {{[ - {{r}_{e}}{\text{/}}2\,\,\,\,\sqrt 3 {{r}_{e}}{\text{/}}2\,\,\,{{l}_{0}}]}^{T}}, \\ {{{\mathbf{r}}}_{{{{T}_{2}}}}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\, - {{r}_{e}}\cos \beta {\text{/}}2 + {{l}_{0}}\cos \alpha \sin \beta + \sqrt 3 {{r}_{e}}\sin \alpha \sin \beta {\text{/}}2 \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\sqrt 3 {{r}_{e}}\cos \alpha {\text{/}}2 - {{l}_{0}}\sin \alpha \hfill \\ z + {{d}_{0}} + {{r}_{e}}\sin \beta {\text{/}}2 + {{l}_{0}}\cos \alpha \cos \beta + \sqrt 3 {{r}_{e}}\sin \alpha \cos \beta {\text{/}}2 \hfill \\ \end{gathered} \right], \\ \end{gathered} $$
(2.28)
$$\begin{gathered} {{{\mathbf{r}}}_{{{{T}_{3}}}}} = {{[0\,\,\,0\,\,\,z + {{d}_{0}}]}^{T}} + R \times {{[ - {{r}_{e}}{\text{/}}2\,\, - \sqrt 3 {{r}_{e}}{\text{/}}2\,\,\,{{l}_{0}}]}^{T}}, \\ {{{\mathbf{r}}}_{{{{T}_{3}}}}} = \left[ \begin{gathered} \,\,\,\,\,\,\,\, - {{r}_{e}}\cos \beta {\text{/}}2 + {{l}_{0}}\cos \alpha \sin \beta - \sqrt 3 {{r}_{e}}\sin \alpha \sin \beta {\text{/}}2 \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, - \sqrt 3 {{r}_{e}}\cos \alpha {\text{/}}2 - {{l}_{0}}\sin \alpha \hfill \\ z + {{d}_{0}} + {{r}_{e}}\sin \beta {\text{/}}2 + {{l}_{0}}\cos \alpha \cos \beta - \sqrt 3 {{r}_{e}}\sin \alpha \cos \beta {\text{/}}2 \hfill \\ \end{gathered} \right], \\ \end{gathered} $$
(2.29)
$${{{\mathbf{r}}}_{{{{F}_{z}}}}} = {{[0\,\,\,0\,\,\,z + {{d}_{0}}]}^{T}}.$$
(2.30)

As a result, the generalized forces are obtained by Eq. (2.16) for three generalized coordinates α, β, and z:

$$\begin{gathered} {{Q}_{\alpha }} = {{{\mathbf{T}}}_{{\mathbf{1}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{1}}}}}}}{{\partial \alpha }} + {{{\mathbf{T}}}_{{\mathbf{2}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{2}}}}}}}{{\partial \alpha }} + {{{\mathbf{T}}}_{{\mathbf{3}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{3}}}}}}}{{\partial \alpha }} + {{{\mathbf{F}}}_{{\mathbf{z}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{F}_{z}}}}}}}{{\partial \alpha }}, \\ {{Q}_{\beta }} = {{{\mathbf{T}}}_{{\mathbf{1}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{1}}}}}}}{{\partial \beta }} + {{{\mathbf{T}}}_{{\mathbf{2}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{2}}}}}}}{{\partial \beta }} + {{{\mathbf{T}}}_{{\mathbf{3}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{3}}}}}}}{{\partial \beta }} + {{{\mathbf{F}}}_{{\mathbf{z}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{F}_{z}}}}}}}{{\partial \beta }}, \\ {{Q}_{z}} = {{{\mathbf{T}}}_{1}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{1}}}}}}}{{\partial z}} + {{{\mathbf{T}}}_{{\mathbf{2}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{2}}}}}}}{{\partial z}} + {{{\mathbf{T}}}_{{\mathbf{3}}}}.\frac{{\partial {{{\mathbf{r}}}_{{{{T}_{3}}}}}}}{{\partial z}} + {{{\mathbf{F}}}_{z}}.\frac{{\partial {{{\mathbf{r}}}_{{{{F}_{z}}}}}}}{{\partial z}}. \\ \end{gathered} $$
(2.31)

By inserting the Lagrangian from Eq. (2.21) and also the generalized forces from Eq. (2.31) into the Lagrange equation, Eq. (2.15), Closed-form dynamic equations of the CDPR are extracted with the help of MATLAB software. Thus, the EE dynamic equation in general form is:

$${\mathbf{M}}({\mathbf{x}}){\mathbf{\ddot {x}}} + {\mathbf{C(x,\dot {x})}} + {\mathbf{G(x)}} = {\mathbf{Q}},$$
(2.32)

in which M(x) signifies the CDPR mass matrix, \({\mathbf{C(x,\dot {x})}}\) signifies the Coriolis and centrifugal matrix, G(x) represents the gravity effect, and Q is the generalized force.

3 DEXTERITY

3.1 Kinematic Dexterity

Dexterity is the easy movement ability of EE around a point in a workspace. For a pure translation and rotation, the inverse condition number of the Jacobian matrix means local dexterity. But when we have both translation and rotation, the Jacobian matrix is inhomogeneous and conventional dexterity has no clear meaning. To tackle this problem, the authors offer a new approach. Generally, rotational DOF is considered in the row vector \({\dot{\boldsymbol{\theta}}}\) and translational DOF is considered in the row vector \({\mathbf{\dot {r}}}\). The relationship between joint velocities and EE velocity is:

$${\mathbf{\dot {q}}}\, = \left[ {\begin{array}{*{20}{c}} {{{{\mathbf{J}}}_{r}}}&{{{{\mathbf{J}}}_{\theta }}} \end{array}} \right]{{\left[ {\begin{array}{*{20}{c}} {{\mathbf{\dot {r}}}}&{{{\dot{\boldsymbol{\theta}}}}} \end{array}} \right]}^{T}},$$
(3.1)

in which r describes pure translation and θ is pure rotation. A solution that is represented here is evaluating Jr and Jθ separately. Thus, in this state, there is no inhomogeneity in each of the two Jacobian matrices. For the system described in Eq. (3.1), the rotational and translational velocity is transmitted to the joint space by Jr and Jθ, respectively. Similar to the analysis of conventional manipulability and dexterity, the components of the vector \({{\dot{\boldsymbol{\theta}}}}\) are bounded in [–1, 1] rad/s and the components of the vector \({\mathbf{\dot {r}}}\) are bounded in [–1, 1] m/s. Therefore, they are converted into two polygons by Jθ and Jr. Each polygon represents the possible velocity with the same unit in the joint space. The inner polygon corresponds to the rotational velocity of the EE and the outer corresponds to the translational velocity. When translational velocity is considered with rotational velocity, the center of the outer polygon (the joint velocity related to translational EE velocity) can be placed at any point of the inner polygon. Consequently, the velocities are homogenized in the joint velocity space \({\mathbf{\dot {q}}}\), and the physical meaning of each point on the perimeter outer polygon is the joint velocity affected by rotational and translational velocity. This is a direct approach to analyze dexterity and it is no need to define characteristic length. Thus, the new kinematic dexterity is defined as follows:

$$\iota = \frac{{{{{\left| {{\mathbf{\dot {d}}}} \right|}}_{{\min }}}}}{{{{{\left| {{\mathbf{\dot {d}}}} \right|}}_{{\max }}}}} = \frac{{\min \left| {{{{\mathbf{J}}}_{{\mathbf{r}}}}{\mathbf{\dot {r} + }}{{{\mathbf{J}}}_{{\boldsymbol{\theta }}}}{{\dot{\boldsymbol{\theta}}}}} \right|}}{{\max \left| {{{{\mathbf{J}}}_{{\mathbf{r}}}}{\mathbf{\dot {r} + }}{{{\mathbf{J}}}_{{\boldsymbol{\theta }}}}{{\dot{\boldsymbol{\theta}}}}} \right|}},$$
(3.2)

in which \({{\left| {{\mathbf{\dot {d}}}} \right|}_{{\max }}}\) and \({{\left| {{\mathbf{\dot {d}}}} \right|}_{{\min }}}\) are the maximum and minimum magnitudes of the velocity.

For the proposed CDPR in this paper, by separating the rotational and translational part from Eq. (2.14), it results:

$${\mathbf{\dot {q}}} = {{{\mathbf{J}}}_{r}}\dot {r} + {{{\mathbf{J}}}_{\theta }}{{\dot{\boldsymbol{\theta}}}} = \left[ \begin{gathered} {\mathbf{K}}{\mathbf{.}}{{{\mathbf{s}}}_{1}} \\ {\mathbf{K}}{\mathbf{.}}{{{\mathbf{s}}}_{2}} \\ {\mathbf{K}}{\mathbf{.}}{{{\mathbf{s}}}_{3}} \\ 1 \\ \end{gathered} \right]\dot {z} + \left[ {\left. \begin{gathered} \cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{{\mathbf{1}}}}).{{{\mathbf{s}}}_{{\mathbf{1}}}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{{\mathbf{1}}}}).{{{\mathbf{s}}}_{{\mathbf{1}}}} \\ \cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{{\mathbf{2}}}}).{{{\mathbf{s}}}_{{\mathbf{2}}}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{{\mathbf{2}}}}).{{{\mathbf{s}}}_{{\mathbf{2}}}} \\ \cos \beta ({\mathbf{I}} \times {{{\mathbf{E}}}_{{\mathbf{3}}}}).{{{\mathbf{s}}}_{{\mathbf{3}}}} - \sin \beta ({\mathbf{K}} \times {{{\mathbf{E}}}_{{\mathbf{3}}}}).{{{\mathbf{s}}}_{{\mathbf{3}}}} \\ 0 \\ \end{gathered} \right|} \right.\left. \begin{gathered} {\mathbf{(J \times }}{{{\mathbf{E}}}_{1}}{\mathbf{)}}{\mathbf{.}}{{{\mathbf{s}}}_{1}} \\ {\mathbf{(J \times }}{{{\mathbf{E}}}_{2}}{\mathbf{)}}{\mathbf{.}}{{{\mathbf{s}}}_{2}} \\ {\mathbf{(J \times }}{{{\mathbf{E}}}_{3}}{\mathbf{)}}{\mathbf{.}}{{{\mathbf{s}}}_{3}} \\ 0 \\ \end{gathered} \right][\dot {\alpha }\,\,\dot {\beta }]{{\,}^{T}}.$$
(3.3)

Due to the existence of 1-DOF in translation and 2-DOF in rotation, translation EE velocity space is a line, and rotation EE velocity space is a square. In this case, the line converts to another line, and the square converts to a parallelogram by Jr and Jθ (Fig. 5). The center of the line (the joint velocity corresponding to translational EE velocity) can be located at any point of the inner parallelogram (the joint velocity corresponding to rotational EE velocity). Thus, the mixed velocities can be homogenized in the joint velocity space, caused by translational and rotational EE velocity. The new dexterity is defined as the minimum distance from the center to the perimeter of the mixed shape divided by the maximum one.

Fig. 5.
figure 5

The kinematic dexterity of the proposed CDPR.

The ι is in the range 0 ≤ ι ≤ 1; the closer ι is to 1, the control precision and better dexterity are.

3.2 Unilateral Dynamic Dexterity

The generalized inertia ellipsoid is offered for estimating the dynamic performance of a robot. The robot’s dynamic performance can be presented by dynamic dexterity which means the degree of arbitrariness of changing the acceleration affected the actuated joint torque/force. But for unilaterally, such as CDPRs, conventional dexterity cannot be used because of the unilateral actuation constraint. Thus, Kurtz and Hayward define a new dexterity that considers the unilateral constraint [20]. The index defined by Kurtz and Hayward relates the task space wrench to the joint forces in terms of unilateral statics. But in this paper, unilateral dynamic dexterity relates the task space acceleration to the joint forces in terms of dynamics. Thus, the CDPR inertia matrix is considered. Neglecting Coriolis and gravity terms leads to:

$${\mathbf{\ddot {x}}} = {{{\mathbf{M}}}^{{ - 1}}}({\mathbf{x}}){\mathbf{J}}_{x}^{T}{\boldsymbol{\tau }}.$$
(3.4)

where τ is [T1 T2 T3 Fn]T and constrained by the unilateral actuation constraint.

$${{T}_{i}} \geqslant 0\,\,\,\,\,\,(i = 1,2,3).$$
(3.5)

Thus the unilateral dynamic dexterity (UDD) for one degree of redundancy is defined as [20]:

$$UDD = \left\{ \begin{gathered} \sqrt {n + 2} \frac{1}{{{{\kappa }_{M}}}}\frac{{{{h}_{{\min }}}}}{{\sqrt {h_{{\min }}^{2} + 1} }}\quad {{h}_{{\min }}} \geqslant 0 \hfill \\ 0\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{{h}_{{\min }}} < 0 \hfill \\ \end{gathered} \right.,$$
(3.6)

where n is the number of DOF and κM is the conventional dexterity given by the following equation:

$${{\kappa }_{M}} = \frac{{{{\sigma }_{{\max }}}}}{{{{\sigma }_{{\min }}}}} = {{\left\| {{{{\mathbf{M}}}^{{ - 1}}}({\mathbf{x}}){{{\mathbf{J}}}_{x}}^{T}} \right\|}_{2}}{{\left\| {{{{\mathbf{J}}}_{x}}^{{ - T}}{\mathbf{M}}({\mathbf{x}})} \right\|}_{2}}.$$
(3.7)

Also

$${{h}_{{\min }}} = \mathop {\min ({{h}_{i}})}\limits_{i \in [1,2,3]} ,$$
(3.8)

where hi signifies the ith element of the unit null space vector for the matrix M–1(x)\({\mathbf{J}}_{{\mathbf{x}}}^{{\mathbf{T}}}\). The UDD is in the range \(0 \leqslant UDD \leqslant 1\). The closer UDD is to 1, the better the acceleration capability and dynamic dexterity are.

3.3 New Dexterity Index

The proposed index combines dexterity (ι) and unilateral dynamic dexterity (UDD) with weighting in a new dexterity criterion (D). But first, normalization should be done. Normalization plays a significant role in certifying the consistency of optimal solutions with the preferences of the designer. In this case, we focus on the normalization of two objective functions ι and UDD. According to the average value of ι and UDD in the range of their changes, the normalization factor, ε is defined as follows:

$$\varepsilon = \frac{{\int\limits_W {\,\iota dW} }}{{\int\limits_W {UDDdW} }},$$
(3.9)

which ε is dividing the average value of ι by UDD and W is the CDPR workspace. Consequently, new dexterity is defined as:

$$D = \lambda \iota + \varepsilon (1 - \lambda )UDD,$$
(3.10)

where λ is the weighted factor and set in the range 0 ≤ λ ≤ 1. For the global dexterity index (GDI), the dexterity should be integrated into the workspace and then its average can be calculated.

$$GDI = \frac{{\int\limits_W {\,DdW} }}{{\int\limits_W {dW} }}.$$
(3.11)

4 SIMULATION RESULTS

4.1 Model Verification

The software used to simulate and verify the dynamic model is ADAMS by MSC Software. It has a 3D environment for modeling mechanical systems and helps engineers to peruse the dynamics of moving parts, and how forces and torques are distributed throughout the systems. Due to the high capability of ADAMS in multibody dynamic simulation, it is used to simulate the 3-DOF CDPR to have a second view of the results from MATLAB codes [5]. Thus, a 3D model of the CDPR is developed including masses and inertial properties, defining forces acting on or between these parts, constraining the motions of the parts to each other, and defining the joints. ADAMS develops the dynamic equations of motion of the CDPR and then solves the equations numerically. The output of the ADAMS includes forces, torques, displacements, velocities, and accelerations of the CDPR elements. To verify the MATLAB dynamic model, a model is implemented through ADAMS. To verify, nonlinear actuator forces as the EE excitation are employed. The three cable tensions and cylinder spine force that is exerted on EE are given as:

$$\left\{ \begin{gathered} {{T}_{1}} = \sin \left( {\frac{{\pi t}}{2}} \right),\text{unit}:\,\text{N}, \hfill \\ {{T}_{2}} = 0.75\sin \left( {\frac{{\pi t}}{2}} \right),\text{unit}:\,\text{N}, \hfill \\ {{T}_{3}} = \sin \left( {\frac{{\pi t}}{2}} \right),\text{unit}:\,\text{N}, \hfill \\ {{F}_{{zc}}} = 980.6 + 15\sin \left( {\frac{{\pi t}}{2}} \right),\text{unit}:\,\text{N}. \hfill \\ \end{gathered} \right.$$
(4.1)

The schematic ADAMS model of the CDPR is shown in Fig. 6.

Fig. 6.
figure 6

The CDPR ADAMS model.

Under the prescribed continuous forces, the kinematic parameters of the CDPR are generated. With the given input forces, the output pitch and roll angle, and angular velocity of EE are derived by employing the dynamic model in MATLAB and ADMAS. It is illustrated in Fig. 7 that the results of both models are quite alike. Hence, the MATLAB dynamic model is verified.

Fig. 7.
figure 7

Comparison of motion parameters between the MATLAB and ADAMS simulation. (a) EE Center of mass position and velocity. (b) Roll angle and angular velocity. (c) Pitch angle and angular velocity.

4.2 Optimization Problem

Global dexterity index is assumed as the objective function to make the 3RPR-PU cable parallel fine-tuning robot obtain better transmission and acceleration performance. In the optimization problem, rb, re as the radius of the base platform, and EE and h0 as the height of stepper motors from the base platform are selected as design variables. Thus, the optimization problem is defined as:

$$\begin{gathered} \mathop {{\text{maximize}}}\limits_{\gamma ,\,{{r}_{e}},{{h}_{0}}} \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,GDI(\gamma ,\,{{r}_{e}},{{h}_{0}}), \hfill \\ {\text{subject to}}~~~~~~~~~~~\,\,~~ \hfill \\ 0.09 \leqslant {{r}_{e}} \leqslant 0.21\,m\,,\quad 1 \leqslant \gamma = \frac{{{{r}_{b}}}}{{{{r}_{e}}}} \leqslant 4,\quad 0.75 \leqslant {{h}_{0}} \leqslant 1.5\,m \hfill \\ - \frac{\pi }{6} \leqslant \alpha \leqslant \frac{\pi }{6}\,\,{\text{rad}},\quad - \frac{\pi }{6} \leqslant \beta \leqslant \frac{\pi }{6}\,\,{\text{rad}},\quad 0 \leqslant z \leqslant 0.5\,\,m. \hfill \\ \end{gathered} $$
(4.2)

By sorting the equations in a standard form \({\mathbf{M}}({\mathbf{x}}){\mathbf{\ddot {x}}} + {\mathbf{C(x,\dot {x})}} + {\mathbf{G(x)}} = {\mathbf{Q}}\) and separating the coefficients of the acceleration matrix, the inertia matrix of the robot, M, is calculated from the following equation:

$$\begin{gathered} {\mathbf{M}} = \left[ \begin{gathered} {{m}_{{11}}}\,\,\,\,{{m}_{{12}}}\,\,\,\,{{m}_{{13}}} \hfill \\ {{m}_{{21}}}\,\,\,{{m}_{{22}}}\,\,\,\,{{m}_{{23}}} \hfill \\ {{m}_{{31\,}}}\,\,{{m}_{{32}}}\,\,\,\,{{m}_{{33}}} \hfill \\ \end{gathered} \right], \\ {{m}_{{11}}} = {{I}_{z}} + {{I}_{x}}{{\cos }^{2}}\beta - {{I}_{z}}{{\cos }^{2}}\beta + ml_{C}^{2}\,,\quad {{m}_{{12}}} = 0,\quad {{m}_{{13}}} = - m{{l}_{C}}\cos \beta \sin \alpha , \\ {{m}_{{21}}} = 0,\,\quad {{m}_{{22}}} = {{I}_{y}} + ml_{C}^{2}{{\cos }^{2}}\alpha ,\quad {{m}_{{23}}} = - m{{l}_{C}}\cos \alpha \sin \beta , \\ {{m}_{{31}}} = 2{{l}_{C}}\cos \beta \sin \alpha \,,\quad {{m}_{{32}}} = 2{{l}_{C}}\cos \alpha \sin \beta ,\quad {{m}_{{33}}} = - 2. \\ \end{gathered} $$
(4.3)

In solving this problem, it is noted that the total mass of the EE and the height of the CM depend on the radius re. The higher re is, the higher the total mass of the EE and the height of the CM; Therefore, calculations for dexterity should be adjusted in such a way that this dependence is taken into account.

The dependence of the robot’s inertia parameters on the radius of the EE can be seen in Table 2. Due to the structural shape of the EE, the moments of inertia around the CM are the same for the x and y-axis. MATLAB software was utilized to optimize the parameters γ, re and h0 of the CDPR. “ga” algorithm from MATLAB was used for optimization. The population size was set to 100 and the max generation of the process was set to 30. The computer characteristics are Windows 7, Intel (R) Core (TM) i5 CPU M-480 @ 2.67GHz, and 4GB RAM.

Table 2. Changes in mass and height of the CM by changing the radius of the EE

4.3 Analysis of the Performance Criterion

To investigate the effect of kinematic parameters γ, re and h0 on the CDPR performance, some graphs are presented in Fig. 8. Changes in the rate of γ, re, and h0 are considered in a way that covers the total range of variation.

Fig. 8.
figure 8

GDI graph based on λ and kinematic parameters.

From Eq. (3.10), when λ = 1, it is considered only the dexterity index. In this state, ι is in the range of 0.84 ≤ ι ≤ 0.90. When λ = 0, only the unilateral dynamic dexterity index is considered. In this state, UDD is in the range of 0.0003 ≤ UDD ≤ 0.06. The average value according to the range of changes in design variables and workspace for ι and UDD are 0.86 and 0.016, thus, from Eq. (3.9) the ε is 54. As a result, for this CDPR the kinodynamic dexterity will be D = λι +54(1 – λ)UDD. In Table 3, the optimized CDPR parameters based on maximizing GDI according to weighted factor λ are presented.

Table 3. Optimized kinematic parameters based on maximizing GDI according to parameter λ

A comprises between ι and UDD is occurred by considering λ = 0.5. In this case, the optimum kinematic parameters are γ = 3.97, re = 0.21, and h0 = 1.16. The GDI maximization by GA for λ = 0.5 is presented in Fig. 9.

Fig. 9.
figure 9

GDI maximization by GA for λ = 0.5.

According to the distribution of the kinodynamic dexterity when the weighted factor λ is 0.5, the optimum region can be determined based on the performance indices’ range. We can define when D larger than 90% of the maximum range of GDI is known as the optimum region in the workspace.

In which GDI is global kinodynamic dexterity, Ω is global kinematic dexterity, Ф is global unilateral dynamic dexterity and ϒ is the percentage of the optimum region volume relative to the total workspace volume. Table 4 displays that the CDPR optimum region is enhanced near 50% compared with the previous plan.

Table 4. Comparison of CDPR performance before and after parameter optimization for λ = 0.5

For better understanding, ι, UDD, and D for λ = 0.5, for the optimum CDPR kinematic parameters γ = 3.97, re = 0.21, and h0 = 1.16 are shown over the workspace in Fig. 10. ι, UDD and D are shown in three different positions of the prismatic joint z. Any decision-makers could choose a solution according to choose parameter λ and the practical needs based on these graphs.

Fig. 10.
figure 10

ι, UDD, and D in three different positions of the prismatic joint z.

4.4 Hardware Setup

After design optimization, a cable-driven parallel robot prototype is manufactured at the Shahrood University of Technology supporting three DOFs, including two angular and one translational movement. The orientation of the EE is controlled by the aid of three stepper motors, which change the length of their related cables while the cylinder supports the end-effector’s weight. Geometrical characteristics are obtained from the GDI optimization.

The manufactured CDPR is shown in Fig. 11 with the details. The pulleys and stepper motors are mounted on the small plate at the height of h0. Each side of the triangular EE is supported through one cable. Each cable is tensioned by a motor–pulley direct-driven system, with a 2Phase 24 V DC hybrid stepping motor with torque of 12.8 Nm, phase current of 6 A, and 1.8-degree step angle. The motor driver is Kinko’s 2CM880 model, which was installed in the electrical panel. Also, a storage tank was placed in line with the pump to increase the short-term air volumetric flow rate. The air compressor specification is 230 V AC, 2.5 hp with a maximum pressure of 116 PSI. The Festo cylinder is controlled by two 24 V DC VPPE Festo valves. The set of three motors and a cylinder is controlled by an Arduino ATmega2560 board. Also, the set of 3 motors is powered by three 48V switching power supplies. Moreover, a 24-volt power supply is used to power the VPPE Festo valves. The electric boards, power supplies, and motor drivers are placed in the electrical panel. Finally, in this parallel robot, a laser and a gyroscope sensor are used to identify the position of the Festo cylinder and the orientation of the EE.

Fig. 11.
figure 11

Manufactured CDPR with details.

5 CONCLUSIONS

The optimal design for the CDPR allows the manipulator to obtain good transmission and acceleration performance. we wanted to detect the best possible base and end-effector radius for a CDPR to maximize the global dexterity of the robot. Compared to other research on optimization index, this study considered the kinodynamic dexterity, including the kinematic and unilateral dynamic dexterity for proposed redundant CDPR.

These performance indices were determined for a 3-DOF CDPR to evaluate motion transmissibility and accelerating performance. Since the CDPR has mixed rotational and translational DOF, conventional dexterity has no physical meaning. Therefore, a new kinematic dexterity definition based on the infinity norm was proposed. Also, since the cables can only act in one direction, unilateral dynamic dexterity is applied. At last, the performance index is defined as a weighted criterion combining both kinematic and dynamic measures. This new dexterity as a global index was computed after workspace analysis. Using this performance criterion, dimensional synthesis for the CDPR was employed with MATLAB. The radius of the base platform and EE, also the height of stepper motors from the base are selected as kinematic parameters which must be optimized by GA. The result of performance evaluation in the reachable workspace based on kinematic parameters and weighted factor λ was shown in Fig. 8. It is concluded that when λ = 1, only the ι index is considered and the optimal parameter selection is γ = 1.13, re = 0.09, and h0 = 1 m. Also, when λ = 0, only UDD index is considered and the optimal selection is γ = 3.99, re = 0.2, and h0 = 1.1 m. The change of GDI in terms of λ is obvious in Fig. 8. To obtain a comprises between ι and UDD in kinodynamic index, λ = 0.5 is considered. From Table 3, in this state, the optimal kinematic parameters are γ = 3.97, re = 0.21, and h0 = 1.16. For better understanding, D, ι, and UDD for λ = 0.5 are revealed over the workspace in Fig. 10. The method can allow the designer to select the adaptable solution according to practical design requirements. Finally, the practical platform was built based on the optimum kinematic parameters, as shown in Fig. 11.