*Article* **Dynamic Control of a Novel Planar Cable-Driven Parallel Robot with a Large Wrench Feasible Workspace**

**Sergio Juárez-Pérez 1,†, Andrea Martín-Parra 1,†, Andrea Arena 2,†, Erika Ottaviano 3,\*,†, Vincenzo Gattulli 2,† and Fernando J. Castillo-García 1,†**


**Abstract:** Cable-Driven Parallel Robots (CDPRs) are special manipulators where rigid links are replaced with cables. The use of cables offers several advantages over the conventional rigid manipulators, one of the most interesting being their ability to cover large workspaces since cables are easily winded. However, this workspace coverage has its limitations due to the maximum permissible cable tensions, i.e., tension limitations cause a decrease in the Wrench Feasible Workspace (WFW) of these robots. To solve this issue, a novel design based in the addition of passive carriages to the robot frame of three degrees-of-freedom (3DOF) fully-constrained CDPRs is used. The novelty of the design allows reducing the variation in the cable directions and forces increasing the robot WFW; nevertheless, it presents a low stiffness along the *x* direction. This paper presents the dynamic model of the novel proposal together with a new dynamic control technique, which rejects the vibrations caused by the stiffness loss while ensuring an accurate trajectory tracking. The simulation results show that the controlled system presents a larger WFW than the conventional scheme of the CDPR, maintaining a good performance in the trajectory tracking of the end-effector. The novel proposal presented here can be applied in multiple planar applications.

**Keywords:** cable-driven parallel manipulator; dynamic control; wrench feasible workspace; dynamics model; vibration control

#### **1. Introduction**

Parallel manipulators are a type of robot in which the end-effector is controlled by and connected to driving rigid links, called limbs. These robots are designed for achieving high stiffness and high payload capacity at the end-effector [1]; therefore, the weight of the links and their maximum strokes may considerably limit the velocities and the feasible workspace.

In order to overcome these evident limitations, cable-driven parallel robots have been introduced in the last two decades. In these systems, lightweight flexible cables actuate the end-effector. Each cable is wound around a winch, which is driven by an actuator. The winch can provide from millimetres up to several metres of cable, not only enabling large workspaces, but also assuring rather limited inertia, if compared to the rigid links' counterparts, and high velocities at the end-effector. CDPRs also provide the possibility of implementing deployable and reconfigurable topologies, which may expand the application of robotics in new environments, e.g., search and rescue operations [2,3], motion aiding systems [4,5], large buildings' maintenance and construction [2], entertainment [6], manufacturing or heavy handling [7], and service [8], but also considering classical high-speed

**Citation:** Juárez-Pérez, S.; Martín-Parra, A.; Arena, A.; Ottaviano, E.; Gattulli, V.; Castillo-García, F.J. Dynamic Control of a Novel Planar Cable-Driven Parallel Robot with a Large Wrench Feasible Workspace. *Actuators* **2022**, *11*, 367. https://doi.org/10.3390/ act11120367

Academic Editors: Marco Carricato and Edoardo Idà

Received: 1 November 2022 Accepted: 5 December 2022 Published: 7 December 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

pick and place manipulators in [9,10]. Applications related to the large working volume are the NIST Robocrane [11] and the five-hundred-metre Aperture Spherical Telescope (FAST), as reported in [12].

Despite these advantages, the current development of CDPRs seems to be limited mainly by the consequences deriving from the unilateral nature of cables; they can only pull the end-effector, but not push it. For operating a CDPR, the cable tensions must be kept positive, e.g., tensed during motion. If a cable or more cables become slack, the end-effector cannot be controlled properly for following a prescribed trajectory or exert the required wrench to perform a given task. This occurrence may introduce relevant performance and safety issues, since the control of the end-effector may be lost [13]. Nevertheless, the use of CDPRs seems very promising and has already been suggested in several different operation fields, such as heavy handling and industrial manufacturing, but also medical rehabilitation, home assistance, or sport shooting.

In the future, a wide use of CDPRs is expected thanks to their lightweight structure, which makes them energy efficient, modularity and reconfigurability, which makes them flexible and easy to transport, and finally, the potentially high dynamics and payload capacity, which makes them effective in a wide range of industrial applications.

In the analysis and design of CDPRs, but also for the operating issues and control, it is of great importance considering the number of active cables and their collocations; therefore overconstrained CDPRs have been defined as robots having a number of actuated cables higher than the EE degrees-of-freedom (DoFs) so that the cables can pull each other. Underconstrained CDPRs are those for which the cables cannot control all the DOFs of the robot; usually, under this category, the cable suspended robots fall; they are defined as CDPRs for which all active cables are suspending the EE, and the bottom of the robot is free from cables [14,15]. In [16], a point-to-point trajectory model was proposed for suspended CDPRs.

A large amount of research on CDPRs was initially devoted to workspace determination by referring to the so-called wrench closure workspace (WS) [17], i.e., a pose belongs to the WS if the static equilibrium is satisfied by positive tensions or tensions bounded by given limits of wrench feasible WS [18]. Therefore, limits were defined as the highest load capacity for the upper bound and cables' slackness avoidance, for the lower bounds, modelling an ideal cable, neglecting mass and elasticity.

Advanced models for the kinetostatic analysis consider the mass and elasticity of the cables to take into account sag effects in positioning capabilities [19–22]. In particular, direct and inverse kinematic models have been proposed.

Nevertheless, taking into account many practical applications, such as those mentioned above, a static or quasi-static assumption is rather limited since dynamic conditions are involved. In particular, vibrations are not simply induced by rapid end-effector velocity changes, wind disturbance, and/or friction of the cables around pulleys [23]. In applications requiring high performances, especially dynamic performances, e.g., [9,24], or in the presence of wind, e.g., [25,26], vibrations are an issue since they can affect the positioning accuracy of the end-effector and yield fluctuations around a desired nominal end-effector trajectory.

Dynamic models of CDPRs were initially developed neglecting the contribution of the cables, i.e., the cables were assumed as mass-less and non-elastic elements, as reported in [27]. Natural frequency is widely used in the literature as an index for the dynamic stiffness evaluation of CDPRs [23,28]. Several works proposing the stiffness analysis of CDPRs have been introduced by considering cable elasticity, but negligible cable mass [29]. In [30,31], cables were modelled as mass-less elastic springs and additionally taut strings, for analysing the contribution of the cables' flexibility in the axial and transverse directions to the vibrations of the moving mass constituting the end-effector. The kinematics and dynamics of the IPAnema3 cable robot were proposed in [32] by modelling cables as spring–damper elements with variable spring and damping rates due to the change in effective lengths. The above-mentioned model presents limitations, especially in the case

of CDPRs with heavy and/or long-span cables. In fact, the axial cable stiffness is not the only source of the static stiffness. Sag-introduced stiffness should also be considered. As actual trends, research on CDPRs is focusing on the dynamic stiffness for its importance to have better stability, positioning accuracy, and flexibility [33]. The stiffness of a vibrating cable depends on the mechanical properties, the configuration of the cables, environmental effects, the initial cable tension, and cable motion [34].

Most of the reported works in the literature consider both cable elasticity and cable mass in two-dimensional inclined cables for dynamic analyses of the CDPRs with free vibration [34,35], i.e., without external forces acting on the system. However, for some applications, the forced vibrations are the result of external excitements/disturbances.

The vibration analysis for CDPRs with a large workspace was proposed in [36,37], where the cables were modelled with distributed mass and axial stiffness. The resulting solving equations were solved using different numerical techniques, e.g., converting to ordinary differential equations using the finite element method [36] and the assumed-mode method [37].

This paper presents a novel planar CDPR design based on adding passive carriages to the frame, providing the ability to passively reconfigure the distal anchor points of the robot [38]. The mechanical scheme together with the workspace gain and another kinematics issued were presented in [39].

Some works present active reconfigurable cable-driven parallel robots (RCDPRs) (e.g., [40]) or variable-structure cable-driven parallel robots (VSCR) (e.g., [41]. In RCDPRs, the position of the distal anchor points can be controlled by actuators, since in VSCRs, the distal anchor points are relocated by adding circumventing obstacles. In this sense, the scheme of this work pretends to increase the feasible workspace of the robot without adding more actuators.

The previous work [39] concluded that the addition of a passive carriage notoriously increases the feasible workspace of the robot, but on the contrary, the end-effector suffers a loss of stiffness along the horizontal axis, and non-desirable vibrations appear on the end-effector during its manoeuvres.

This work continues the work in [39]. The objective is to develop a dynamic control that allows the end-effector positioning

For this purpose, this paper is focused on the following:


At the end, our final objective is to obtain a planar CDPR with a large workspace with an accurate end-effector position control.

This paper is organised as follows: Section 2 describes the novel proposal and presents the nomenclature. Section 3 details the mathematical model of the robot, including the dynamics model, required to design a proper control approach, which is presented in Section 4. Sections 5 and 6, respectively, show the simulation and experimental results, and finally, Section 6 discusses these results and summaries the main conclusions.

#### **2. System Description**

#### *2.1. Overall Description*

This paper is focused on a planar fully constrained CDPR [38]. The end-effector has three degrees-of-freedom, and its pose is commanded by four cables. At the same time, each cable is driven by a motor (placed at the frame) that rolls in or out the cable into/from a winch. A scheme of this conventional planar CDPR is shown in Figure 1a.

**Figure 1.** Scheme comparison. (**a**) Conventional scheme; (**b**) new proposal.

Our proposal is based on the addition of passive carriages over the conventional scheme. The end-effector has the same three degrees-of-freedom, and the motors drive the length of the four cables in the same way as in the conventional scheme. Nevertheless, now, each cables is led to a pulley placed in a carriage that can freely move over a linear guide. Note that Cables 1–2 and 3–4 are attached to the lower and upper carriages, respectively. The scheme of the proposal is shown in Figure 1b. Our previous work [39] presented the proposal, reporting the workspace gain in comparison to the conventional scheme as the main advantage.

#### *2.2. Nomenclature*

In a preliminary way, Figure 2 shows the basic nomenclature, where for both schemes:


Finally, for the novel proposal, the horizontal coordinate of the upper carriage is denote as *xuc* and for the lower carriage as *xlc*.

**Figure 2.** Scheme for nomenclature. (**a**) Conventional scheme; (**b**) new proposal.

*2.3. Workspace and Stiffness Comparison*

Assume that both schemes are in the vertical plane and gravity has an influence on the Y axis force equilibrium. Under a static point of view, the workspace can be easily obtained by establishing an end-effector pose and checking if a tension combination *T* = [*T*1, *T*2, *T*3, *T*4] *<sup>T</sup>* exists that allows a force/torque equilibrium at the end-effector (for the conventional scheme) and at the end-effector and both carriages (for the novel scheme). This tension combination must remain inside of the allowed limit [*Tmin*, *Tmax*] as any CDPR (see [38] for more details).

The equilibrium equations for the conventional scheme can be written as:

$$\mathbf{A} \mathbf{s} \left( \mathbf{Q}\_{\mathcal{E}}, \mathbf{x}\_{\mathrm{uc}}, \mathbf{x}\_{\mathrm{lc}} \right) \mathbf{T} + \mathbf{W}\_{\mathcal{E}} = \mathbf{0} \tag{1}$$

where **As** is a geometrical matrix that depends on the parameters of the robot and the end-effector pose (e.g., [38]) and **W***<sup>e</sup>* = [0, −*me* · *g*, 0] *<sup>T</sup>* is the external force array, with *me* the end-effector mass and *g* the gravity acceleration. Only for illustrative purposes, for several end-effector orientations (*δ<sup>e</sup>* = 0◦, ±1◦, ±3◦, ±5◦, ±7◦, and ±9◦), the feasible workspace, defined as the set of points that fulfil (1), is represented for both schemes, conventional and the new proposal, in Figure 3, where *W* and *H* are the width and the height of the frame, respectively. These results are detailed in [39].

**Figure 3.** Workspace comparison. (**a**) Conventional scheme; (**b**) new proposal.

This workspace gain makes the proposal suitable to apply planar CDPRs, which require a complete workspace with regard to the frame size. Nevertheless, on the contrary, the proposed scheme presents lower stiffness along the horizontal axis, which yields a non-desirable vibration during the robot manoeuvres. The stiffness matrix of a CDPR, defined by Pott [43], is the sum of the cable and the geometric stiffness matrices. The cable stiffness matrix depends on the cables' stiffness and the robot structure matrix **A***<sup>T</sup> <sup>e</sup>* (further discuss), which in turn depends on the robot geometry and end-effector's/carriages' position. Furthermore, the geometric stiffness matrix depends on the cable force distribution and the **A***<sup>T</sup> <sup>e</sup>* variation with end-effector pose. In order to evaluate how the novel design is affected, the directional stiffness index defined by Moradi [44] is used. Employing the parameters from Table 1, we are able to compare the stiffness of the new CDPR with that of a conventional design. For illustrative purposes, the robot frame is swept on equally spaced points to determine the end-effector non-oriented position. Applying the method proposed by Pott in [45], the force distribution is obtained within the cable force limits of [10, 100] N. Figure 4 compares the stiffness map obtained under a force applied in the x axis positive direction for both schemes. A significant decrease of the stiffness can be observed when applying forces in the *x* axis. More explanation about these results can be found in [39].

As a conclusion, the proposal here presents a much larger feasible workspace with regard to the conventional scheme, but, on the other hand, the horizontal stiffness is much lower, producing non-desirable vibration during the robot movements.

In this sense, the next section introduces the mathematical model of the system, including the dynamic model, in order to design a control approach that allows rejecting the negative effects of the low horizontal stiffness of the proposal.



**Figure 4.** X axis stiffness comparison. (**a**) Conventional scheme; (**b**) new proposal.

#### **3. Mathematical Model**

*3.1. Kinematic Model*

In this section, the inverse kinematic model is presented. This model will be used to implement the dynamics model and in the control approach of the robot. The inverse kinematic determines the actuator position, *α*<sup>1</sup> to *α*4, to obtain a desired end-effector pose **Q***<sup>e</sup>* = [*xe*, *ye*, *δe*] *T*.

First of all, to complete the nomenclature of Section 2.2, it is required to define some still missing geometrical parameters of the robot: end-effector width, (*w*), end-effector height (*h*), upper carriage width (*wuc*), and lower carriage width (*wlc*).

It must be pointed out that the geometry model was obtained by taking into account the passive pulley radius effect on the cable lengths [38]. The carriages' widths, *wcu*, *wcl*, are considered to be the distance between the passive pulleys' centres; the cable goes vertically from the pulley centre to the winch, although the contact point in the pulley from the end-effector depends on the positioning between the carriage and the end-effector.

The frame is defined by the proximal anchor points (PAPs), *Ai* ∈ *<sup>R</sup>*2(*<sup>i</sup>* = 1, ... , 4), with respect to the World reference system *κ*<sup>0</sup> shown in Figure 5. On the other hand, the endeffector geometry is defined by the distal anchor points (DAPs), *bi* ∈ *<sup>R</sup>*2(*<sup>i</sup>* = 1, ... , 4), in the local reference system *κ<sup>e</sup>* with respect to the end-effector. Figure 5 is included to clarify all vectors used in the kinematics model and the points of interest.

The end-effector pose, **Q***<sup>e</sup>* = [*xe*, *ye*, *δe*] *<sup>T</sup>*, is a combination between its position, **q***<sup>e</sup>* = [*xe*, *ye*] *<sup>T</sup>*, and orientation, *δe*. In this sense, the DAP with respect to *κ*<sup>0</sup> can be obtained as

$$\mathbf{B}\_{\dot{i}} = \mathbf{q}\_{\varepsilon} + \mathbf{R}\_{z}(\delta\_{\varepsilon}) \cdot \mathbf{b}\_{\dot{i}\prime} \tag{2}$$

where

$$\mathbf{R}\_z(\delta) = \begin{bmatrix} \cos(\delta) & -\sin(\delta) \\ \sin(\delta) & \cos(\delta) \end{bmatrix} \tag{3}$$

is the rotation matrix around the *z* axis. The position of the passive carriages with respect to *κ*<sup>0</sup> is defined as *xuc* and *xlc* for the upper and lower carriage. Taking this into account, the position of the passive pulley centres with respect to *κ*<sup>0</sup> is defined as

$$x\_i = x\_c + v\_{ci} \tag{4}$$

with *xc* = *xlc* for *i* = 1, 2, *xc* = *xuc* for *i* = 3, 4 and *vci* being the vector that goes from the carriage centre to the *i*th passive pulley centre.

As is known from earlier, parallel robots have two possible kinematic formulations. The inverse kinematic model obtains the cable lengths, **L** = [*L*1, ... , *L*4] *<sup>T</sup>*, from an arbitrary end-effector pose:

$$\mathbf{L} = \mathbf{q}^{\text{l}K}(\mathbf{Q}\_{\varepsilon\prime}\mathbf{x}\_{\text{l}\varepsilon\prime}\mathbf{x}\_{\text{uc}}) \tag{5}$$

The cables are considered massless, so that they are formulated as straight lines connecting the previously defined geometric points. Considering the scheme in Figure 5 and the effect of the passive pulleys' radius, *rp*, the total cable length yields *Li* = *Li*,1 + *Lp* + *Li*,2, with:

$$\begin{array}{l} L\_{i,1} = |A\_{i,x} - c\_{i,x}| \\ L\_{i,2} = \sqrt{B\overline{C}\_i^2 - r\_p^2} \\ L\_p = \beta\_{\overline{u}} r\_{p'} \end{array} \tag{6}$$

where *BCi* = ||*Bi* − *ci*||, || · || being the two-norm of the vector · and *β<sup>u</sup>* the angle formed by the cable rolled in the passive carriage pulleys, which can be obtained by means of *ci* and *Bi* as:

$$\beta\_{il} = \cos^{-1}\left(\frac{L\_{i,2}}{BC\_i}\right) + \cos^{-1}\left(\frac{\text{sign}(c\_{i,x} - A\_{i,x}d\_x)}{BC\_i}\right),\tag{7}$$

*dx* = *Bi*,*<sup>x</sup>* − *ci*,*x*, sign(*x*) being the sign function. The actuators angle for an arbitrary end-effector and carriages' pose can be obtained by:

$$\mathbf{a} = \frac{\mathbf{L} - L\_0}{r\_w},\tag{8}$$

where *α* = [*α*1, ... , *α*4] *<sup>T</sup>* is the array of the joint coordinates, *L*<sup>0</sup> is the initial cable lengths defined for an initial end-effector and carriages' pose/position, **Q***e*0, *xlc*0, *xuc*0, and *rw* is the combined winch radius taking into account any gearbox connected to the actuators.

On the contrary, the forward kinematic consists of determining the end-effector pose, **Q***e*, for a given set of joint coordinates, *α*:

$$\mathbf{Q}\_{\varepsilon} = \mathfrak{p}^{FK}(\mathfrak{a}\_{\prime}\mathfrak{x}\_{lc\prime}\mathfrak{x}\_{uc}) \tag{9}$$

Due to its much more complicated development and owning to the fact that the forward kinematics has infinite solutions [38], only the inverse kinematics is fully developed and applied for the control scheme.

**Figure 5.** Nomenclature: arrays and points of interest.

The inverse kinematic model developed here is used to implement the dynamic model presented in the following section and for the control scheme detailed in Section 4.

#### *3.2. Dynamic Model*

While the kinematics and static models relate the end-effector and carriage positions to the cable lengths and tensions, the dynamics of the system describes its behaviour. The input variables to the system are the torque exerted by the motors, *τ<sup>i</sup>* with *i* = 1, ... , 4, and the output is the end-effector pose, **Q***<sup>e</sup>* = [*xe*, *ye*, *δe*] *T*.

Due to the novel design, the dynamics of the motor sets, end-effector, and carriages must be considered to develop a representative model. The motor and end-effector dynamics is equal to the one used for a conventional CDPR design. The end-effector dynamics is represented by the following expression:

$$\mathbf{M}\_{\varepsilon}\ddot{\mathbf{Q}}\_{\varepsilon} = \mathbf{A}\_{\varepsilon}^{T}(\mathbf{Q}\_{\varepsilon\prime}\boldsymbol{\chi}\_{\mathrm{lc}\prime}\boldsymbol{\chi}\_{\mathrm{nc}})\mathbf{T} + \mathbf{W}\_{\varepsilon\prime} \tag{10}$$

where

$$\mathbf{M}\_{\varepsilon} = \begin{bmatrix} m\_{\varepsilon} & 0 & 0 \\ 0 & m\_{\varepsilon} & 0 \\ 0 & 0 & I\_{\varepsilon} \end{bmatrix} \tag{11}$$

*me* being the end-effector mass, *Ie* the end-effector rotational inertia, **T** = [*T*1, ... , *T*4] *T* the cable tensions' vector, **W***<sup>e</sup>* = [0, −*meg*, 0] *<sup>T</sup>* the external wrench vector, which is only subjected to its own weight, and **A***<sup>T</sup> <sup>e</sup>* the structure matrix, which yields:

$$\mathbf{A}\_{\varepsilon}^{T} = \begin{bmatrix} \mathbf{u}\_{12} & \dots & \mathbf{u}\_{m2} \\ \mathbf{R}\_{z}(\delta\_{z})\mathbf{b}\_{1} \times \mathbf{u}\_{12} & \dots & \mathbf{R}\_{z}(\delta\_{z})\mathbf{b}\_{m} \times \mathbf{u}\_{m2} \end{bmatrix} \tag{12}$$

**u***i*,2 = **R***z*(*βu*)**e***<sup>x</sup>* being the unity vector containing the directions in which the cable forces are exerted on the end-effector, with **e***x* the unity vector in the *x* axis direction.

The motor sets' dynamics can be expressed as:

$$
\boldsymbol{\pi} = \mathbf{J}\ddot{\mathbf{a}} + \mathbf{b}\_m \dot{\mathbf{a}} + r\_w \mathbf{T},\tag{13}
$$

where **J** is the rotational inertia matrix, *α* = [*αi*, ... , *αm*] *<sup>T</sup>* is the array of joint coordinates, **b***m* is the viscous friction coefficient, and *rw* is the winch radius, respectively.

On the other hand, the carriages' dynamics are yielded as:

$$m\_{\mathbb{C}}\ddot{\mathbf{x}}\_{i}^{\varepsilon} + b\_{\mathbb{C}}\dot{\mathbf{x}}\_{i}^{\varepsilon} = \mathbf{A}\_{\mathbb{C}}(Q\_{\varepsilon\prime}\mathbf{x}\_{\mathrm{lc}\prime}\mathbf{x}\_{\mathrm{nc}})\mathbf{T},\tag{14}$$

where *mc* is the carriage mass, *x*¨*<sup>c</sup> <sup>i</sup>* is the *x* direction acceleration of the carriage *i*, and

$$\mathbf{A}\_{\mathcal{E}} = \begin{bmatrix} \mathbf{u}\_{11,x} - \mathbf{u}\_{12,x} & \mathbf{u}\_{21,x} - \mathbf{u}\_{22,x} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{u}\_{31,x} - \mathbf{u}\_{32,x} & \mathbf{u}\_{41,x} - \mathbf{u}\_{42,x} \end{bmatrix} \tag{15}$$

is a 2 × *m* matrix that contains the *x* direction cables' exerted forces on the carriages, **u***ii*,*<sup>x</sup>* being the *x* component of the *ii* cable section direction.

Equations (9), (13), and (14) constitute the dynamic model of the system. They can be expressed by means of end-effector/Cartesian coordinates (16) or by means of the joints' coordinates (17).

$$\begin{array}{c} \mathbf{M}\_{\varepsilon} \mathbf{Q}\_{\varepsilon} = \mathbf{A}\_{\varepsilon}^{T} (\mathbf{Q}\_{\varepsilon\prime} \mathbf{x}\_{l\varepsilon\prime} \mathbf{x}\_{uc}) \mathbf{T} + \mathbf{W}\_{\varepsilon} \\ \mathbf{T} = \mathbf{J} \dot{\mathbf{p}}^{IK} (\mathbf{Q}\_{\varepsilon\prime} \mathbf{x}\_{lc\prime} \mathbf{x}\_{uc}) + \mathbf{b}\_{m} \dot{\mathbf{q}}^{IK} (\mathbf{Q}\_{\varepsilon\prime} \mathbf{x}\_{lc\prime} \mathbf{x}\_{uc}) + r \mathbf{T} \\ m\_{c} \ddot{\mathbf{x}}\_{i}^{c} + b\_{c} \dot{\mathbf{x}}\_{i}^{c} = \mathbf{A}\_{c} (\mathbf{Q}\_{\varepsilon\prime} \mathbf{x}\_{lc\prime} \mathbf{x}\_{uc}) \mathbf{T} \end{array} \tag{16}$$

$$\begin{aligned} \mathbf{M}\_{\varepsilon}\ddot{\boldsymbol{\mathfrak{p}}}^{\rm FK}(\boldsymbol{\mathfrak{a}},\boldsymbol{\chi}\_{\rm lc},\boldsymbol{\chi}\_{\rm nc}) &= A\_{\varepsilon}^{\rm T}(\boldsymbol{\mathfrak{p}}^{\rm FK}(\boldsymbol{\mathfrak{a}},\boldsymbol{\chi}\_{\rm lc},\boldsymbol{\chi}\_{\rm nc}),\boldsymbol{\chi}\_{\rm lc},\boldsymbol{\chi}\_{\rm nc})\mathbf{T} + \mathbf{W}\_{\varepsilon} \\ \boldsymbol{\mathfrak{r}} &= \mathbf{J}\ddot{\boldsymbol{\mathfrak{a}}} + \mathbf{b}\_{\mathrm{m}}\dot{\boldsymbol{\mathfrak{a}}} + r\mathbf{T} \\ m\_{\varepsilon}\ddot{\boldsymbol{\mathfrak{x}}}^{\rm c}\_{i} + b\_{\varepsilon}\dot{\boldsymbol{\mathfrak{x}}}^{\rm c}\_{i} &= \mathbf{A}\_{\varepsilon}(\boldsymbol{\mathfrak{p}}^{\rm FK}(\boldsymbol{\mathfrak{a}},\boldsymbol{\chi}\_{\rm lc},\boldsymbol{\chi}\_{\rm nc}),\boldsymbol{\chi}\_{\rm lc},\boldsymbol{\chi}\_{\rm nc})\mathbf{T} \end{aligned} \tag{17}$$

Dynamic Model (16) is widely used, instead of (17), owing to three reasons: (a) the CDPR's forward kinematics is hard to develop; (b) actuators use to be more easily sensorised than end-effectors; (c) the joint coordinates' control is easier to implement than Cartesian coordinates' control [38]. For these reasons, the following section assumes Dynamic Model (16) for the control approach.

#### **4. Control Approach**

#### *4.1. Control Scheme*

One of the main control goals for a CDPR is to design a control scheme for end-effector positioning. This control approach shall achieve that the end-effector pose **Q***<sup>e</sup>* = [*xe*, *ye*, *δe*] *T* follows a trajectory reference **Q**∗ *<sup>e</sup>* = [*x*<sup>∗</sup> *<sup>e</sup>* , *y*<sup>∗</sup> *<sup>e</sup>* , *δ*<sup>∗</sup> *e* ] *<sup>T</sup>*, but maintaining all cables' tension in the allowed range [*Tmin*, *Tmax*].

Assuming that the measurable variables are the angular position of the motors, under an overall point of view, the CDPR can be controlled on Cartesian coordinates (**Q***<sup>e</sup>* = [*xe*, *ye*, *δe*] *T*) or on joint coordinates (*α* = [*α*1, *α*2, *α*3, *α*4] *<sup>T</sup>*); this make reference to the variable that is used in the feedback loop of the control scheme. Figure 6 represents both control schemes.

**Figure 6.** Overall control approaches. (**a**) Cartesian coordinates' space control; (**b**) joint coordinates' space control.

Note that Cartesian coordinates' control (Figure 6a) requires the estimation of the end-effector pose, **Q**ˆ *<sup>e</sup>*, by means of the forward kinematics. In addition, the controller block receives a 3 × 1 error signal and must output a 4 × 1 control signal, and therefore, the controller block is a coupled 4 × 3 matrix. This makes the control tuning difficult, and an uncoupling technique must be applied to obtain the controllers' parameters (e.g., [46]).

On the contrary, the joint coordinates' space control requires the inverse kinematics, for the joints' reference generator, *α*∗, and the controller block is formed by a 4 × 4 diagonal matrix, while SISO controllers can be tuned for each motor. For this reason, the joint coordinates' space control was selected for the end-effector positioning control.

#### *4.2. Trajectory Generation*

The trajectory generation in our proposal is one of the main problems to be solved. Note that, for joint space control, the inverse kinematics is required, but it has infinite solutions. We can obtain a given **Q**∗ *<sup>e</sup>* = [*x*<sup>∗</sup> *<sup>e</sup>* , *y*<sup>∗</sup> *<sup>e</sup>* , *δ*<sup>∗</sup> *<sup>e</sup>* ] with the infinity position of the lower and upper carriage position, *xlc* and *xuc*, but most of then are not compatible with the dynamic model.

In this sense, together with the **Q**∗ *<sup>e</sup>* generation, it is required to also generate *x*<sup>∗</sup> *lc* and *x*∗ *uc*. In particular, the trajectory generator proposed here is based on the statically feasible workspace [42] and follows these steps:


The simulation results in Section 5 show that this trajectory-generation technique allows reaching a high-performance trajectory tracking of the end-effector.

#### *4.3. Positive Tension Problem and Vibration Rejection*

Finally, we cannot forget the problem of maintaining cables' tension within the allowed tension range [*Tmin*, *Tmax*]. Owing to the fact that, in our proposal, the cable angles *θ<sup>i</sup>* remain very close to ±*π*/2 rad in almost all workspaces, a simple but effective modification of the control scheme shown in Figure 6b can be applied for maintaining the cables' tension within the allowed range. Figure 7 presents this simple modification.

**Figure 7.** Final control approach for end-effector positioning.

It consists of adding a control signal offset, *τo*, to the control signal generated by the controller block, Δ*τ*. In this way, a new control signal is introduced to the system:

$$
\boldsymbol{\pi} = \boldsymbol{\Delta} \boldsymbol{\pi} + \boldsymbol{\pi}\_o \tag{18}
$$

where *τ<sup>o</sup>* can be set, in a first approach, equal for all cables to a fixed value within the allowed tension range **T**∗ *<sup>o</sup>* ∈ [*Tmin*, *Tmax*] multiplied by the winch pulley radius, *rw*. The final control signal can be therefore written as:

$$
\boldsymbol{\pi} = \Delta \boldsymbol{\pi} + r\_w \mathbf{T}\_o^\* \tag{19}
$$

Finally, if a conventional PID controller is used for the end-effector positioning, the final control signal for commanding the CDPR is:

$$\mathbf{r}(t) = \mathbf{K}\_{\mathbb{P}} \mathbf{e}(t) + \mathbf{K}\_{d} \frac{d\varepsilon(t)}{dt} + \mathbf{K}\_{i} \int\_{0}^{t} \mathbf{e}(\sigma) d\sigma + r\_{\text{w}} \mathbf{T}\_{o}^{\*} \tag{20}$$

*ε* = *α*<sup>∗</sup> − *α* being the error signal and **K***p*, **K***d*, and **K***<sup>i</sup>* diagonal matrices with the proportional, derivative, and integral constants of the controller, respectively. This controller constant can be obtained, for example, by tuning the regulator by means of the frequency domain or time domain techniques (e.g., [48]).

Without this offset control signal, *τo*, a controller block to control the position of the joints can be easily found, but the tension of the four cables can reach negative values, so, as a consequence, this is not a valid solution in the real prototype. Actually, it is required to ensure not only that all tensions remain positive, but also *Ti* > *Tmin* for *i* = 1 to 4, *Tmin* being the minimum tension allowed to avoid the sagging effect in the cables.

In this sense, many authors have proposed solving an optimisation problem, which results as the control signal to the motors, to guarantee that all tensions remain in the allowed range [*Tmin*, *Tmax*] [49]. Another extended tendency is to develop a force distribution algorithm [45], which can be applied for example to generate the trajectory tracking together with the control signal law [50]. Under our point of view, in the control of cable-driven parallel robots, the control scheme concept is more important that the particular controller technique (PID, sliding control, fuzzy controller, etc.).

After checking that the proposed control scheme can control the end-effector position and all tensions remain inside of the allowed range, we established the value of *T*∗ to minimise (or reject) the *x* axis vibration of the end-effector.

Although the inherent stiffness is not controlled by the cable tension, it has a significant impact on the system stiffness [51]. What is the system stiffness variation when *T*∗ changes? Can we, therefore, obtain a value of *T*∗ that rejects the *x* axis vibration of the end-effector, allowing a proper trajectory tracking? To answer this question, we changed the *T*<sup>∗</sup> value from *Tmin* to *Tmax*, and we executed horizontal rapid trajectories (worst case) and determined the amplitude and frequency of the end-effector when it reaches the steady state. Assuming an illustrative tension range of [50, 200] N for the cables' tension, the result after executing the same trajectory, with the same PID controller, but different *T*∗ values, is shown in Figure 8.

**Figure 8.** Effect of *T*∗ on the vibration rejection.

In this sense, it is important to mention that the higher *T*∗, the higher the frequency of the vibration is and the lower is the amplitude. In this sense, the simulation results of the following section show that the non-desirable vibration of the end-effector owing to its low horizontal stiffness can be easily rejected by increasing the *T*∗ *<sup>o</sup>* value within the [*Tmin*, *Tmax*] range.

#### *4.4. Controller Tuning*

The PID controller has three parameters to be tuned, *Kp*, *Ki*, and *Kd*. As Dynamic Model (16) is non-linear, some linearisation technique must be used for tuning the controller. The most-applied linearisation techniques are: feedback linearisation and removing the non-linear part near an equilibrium point. If we look at some works where PID control is used (e.g., [52]), most of them finally *select* values of the controller gains to ensure the stability, but no linear technique is described to analytically obtain the gains.

In our case, owing to the cables' angle changing much less than the conventional scheme during end-effector movement (see *θ<sup>i</sup>* in Figure 2), the non-linear effect is lower than in the conventional CDPRs, and we can directly remove the non-linear term of the dynamic model to assume an LTI model, which corresponds to the model of a DC motor, and then, apply linear tuning methods for the ID controller, in our case the frequency domain technique.

Assuming the corresponding linear transfer function of one joint, *G*(*s*), the PID controller was tuned by a simple frequency domain technique based on defining the gain crossover frequency, *ωc*, and phase margin, *ϕm*, of the equivalent open-loop transfer function system. The complex equation to obtain the controllers' parameters is [48]:

$$R(j\omega\_c)G(j\omega\_c) = -e^{j\varphi\_m} \tag{21}$$

The controller parameters can be therefore easily obtained with this tuning equation:

$$K\_p = \Re\{\frac{-\cos(\varphi\_m) - j\sin(\varphi\_m)}{G(j\omega\_c)}\}\tag{22}$$

$$K\_d = \frac{1}{\omega\_\varepsilon} \left( -\frac{K\_i}{\omega\_\varepsilon} + \he{\he{\&}} \{ \frac{-\cos(\varphi\_m) - j\sin(\varphi\_m)}{G(j\omega\_\varepsilon)} \} \right) \tag{23}$$

where {} and {} are the real and imaginary parts and *Ki* can be selected to minimise the influence of the non-linear term of the dynamics model, for example minimising the tracking error by means of simulations.

#### **5. Simulation Results**

#### *5.1. Preliminaries*

This section validates the control approach by executing several simulated trajectories using Matlab® and Simulink®. A fixed sample time of 1 ms was set while using the ode4 (Runge–Kutta) solver. Table 1 summarises the parameters used for the simulations.

#### *5.2. Control Approach Validation*

One of the main drawbacks of the new design is the loss of stiffness along the *x* direction. This leads to non-desirable end-effector vibrations while executing manoeuvres. In order to validate the proposed control, several trajectories were executed while monitoring the end-effector and carriage positions and the cable tensions. Dynamic Model (16) is a second-order system, and the fifth Bezier trajectories were implemented to ensure smooth trajectories while avoiding abrupt changes in the control signal values, which can lead, once again, to non-desirable end-effector vibrations.

For illustrative purpose, a set of trajectories was executed with zero end-effector orientation. In addition, the last trajectory was executed while orienting the end-effector, proving that the control is capable of avoiding non-desirable vibrations, even with more complex manoeuvres. Note that, for all cases of study, the end-effector tracks the reference during all the trajectory. The average trajectory tracking error, *ea*, is estimated by:

$$e\_d = \frac{\sum\_{i=1}^{N} ||\mathbf{Q}\_c^\* - \mathbf{Q}\_c||\_2}{N} \tag{24}$$

*N* being the number of samples of the simulation:

• Case I: Figure 9 shows a diagonal trajectory from initial pose **Q**<sup>0</sup> *<sup>e</sup>* = [−0.2, 0.3, 0] to **Q***<sup>e</sup>* = [0.2, 0.5, 0]. The average error (24) of the executed trajectory is 1.45 × <sup>10</sup>−<sup>4</sup> m-rads.

**Figure 9.** Case I results.


**Figure 10.** Case II results.

**Figure 11.** Case III results.

These three cases were simulated for an allowed tension range, [10, 100], and the reference tension, *T*∗ *<sup>o</sup>* , to determine that the control signal output has been fixed to 50 N. Figure 12 represents the tension of the cables for Cases I, II, and III. Note that the cables' tensions remain within the allowed range of tensions.

**Figure 12.** Cable tensions: Cases I, II, and III.

#### *5.3. WFW Increase Validation*

As mentioned previously, this novel design increases the WFW in comparison to the conventional CPDR scheme. In this sense, more frame area could be covered while executing manoeuvres. It should be pointed out that the oriented WFW of the novel design is also bigger than the one of a conventional CDPR (see Figure 3).

In order to validate this, a multi-line trajectory near the WFW limits shown in Figure 3b with different end-effector orientations was executed. In particular, the case of studies are as follows:


• Case VI: The orientation of the end-effector was fixed to *δ<sup>e</sup>* = 9◦. The trajectory tracking results are shown in Figure 13. The average error (24) of the executed trajectory is 4.81 × <sup>10</sup>−<sup>4</sup> m-rads.

**Figure 13.** Results of Cases IV, V, and VI.

In Figure 13, the circle in green represents the initial position of the trajectory and red ones the final positions.

It is notable that, in the three cases of study, the selected trajectory covers a great area of its corresponding maximum WFW (see Figure 3). In addition, the cable tensions for Cases IV, V, and VI also remain within the allowed range of tensions. The results obtained in this section allowed the authors to validate both the control approach and the WFW increase.

#### **6. Experimental Results**

#### *6.1. Preliminaries*

The proposal here is experimentally validated by means of the prototype shown in Figure 14, where the main functional elements are: 1 frame; 2 end-effector; 3 carriages; 4 linear guides; 5 winches; 6 DC motors. In Figure 14, the cable path is coloured in red for illustrative purposes. The main parameters of the robot are summarised in Table 2.

The joint coordinates of the motors, Maxon RE40 DC Motors, are controlled by means of servo amplifiers, ESCON 70/10, which receive the control signal from the control equipment. This control device is a Ni MyRio 1900 real-time controller, which is able to maintain a sample time of 1 ms during all the manoeuvres. The controllers' parameters were tuned using a gain crossover frequency *ω<sup>c</sup>* = 40 rad/s and a phase margin *ϕ<sup>m</sup>* = 60◦, which yield the controller parameters: *Kp* = 0.6891, *Ki* = 0.57, and *Kd* = 0.0102.

**Figure 14.** Prototype.


**Table 2.** Prototype parameters.

The end-effector and the carriages' poses were obtained by recording the movement with an IP-evo 4K camera with a resolution of 3264 × 2448 and a frame rate of 30 frames per second. The videos were processed offline with MatlabTM to detect the position of a reflector located on the points of interest.

#### *6.2. Trajectory Tracking*

In order to experimentally validate the proposal, a horizontal trajectory (worst case) was tested with a length of 0.500 m, maintaining the orientation at 0◦. Figure 15 shows the results for *T*∗ = 50 and 85 N in order to illustrate the influence of the control signal offset, *τo*, in the trajectory tracking.

**Figure 15.** Trajectory tracking of horizontal manoeuvres with different values of *T*∗.

Note how a greater *T*∗ lowers the amplitude of the end-effector vibration, but a compromise between the *T*∗ value and control signal saturation must be stated to avoid the actuator saturation. Figure 16 represents the tracking error for both cases. Note that the maximum error for *T*∗ = 50 N is about 16 mm, since for *T*∗ = 85 N, it is about 0.5 mm.

**Figure 16.** Tracking error of horizontal manoeuvres with different values of *T*∗.

#### **7. Conclusions**

This paper proposed a new dynamic control technique for a novel CDPR design. This novel design is based in the addition of passive carriages to the robot frame of a 3DOF CDPR. The main goal of the new concept is to increase the robot WFW because of the smaller change in the cable directions.

As the main disadvantage of the new design is the loss of stiffness in the *x* direction, one of the goals of the new dynamic control technique was to minimise the vibrations originated in this direction, ensuring an accurate trajectory tracking.

The kinematic and dynamic equations of the robot were presented in order to select an appropriate control approach for the implemented dynamic model.

The control strategy presented tackles with the trajectory generation, the positive tension problem, and the vibration rejection. This control approach is based on the addition of an offset control signal.

In order to validate the dynamic control, several tracking trajectories for the endeffector were simulated. The average error always remained lower than 1 mm, and a good avoidance of vibrations was accomplished. In addition, to assess the improvement of the WFW while validating the novel control, a set of different trajectories was used for several end-effector orientations. The results showed how the new design together with the proposed control allowed the CDPR to manoeuvre in a much larger area with good dexterity.

For experimental validation, a horizontal trajectory (worst case) was executed for two values of *T*∗ to illustrate how the offset control signal value can reject the vibration of the end-effector along the horizontal axis.

**Author Contributions:** The authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

**Funding:** Authors wish to thank the University of Castilla-La Mancha, Spain for the financial support provided by the post- and pre-doctoral grants 2020-PREDUCLM-16080 and to the regional government Junta de Comunidades de Castilla La Mancha (European Regional Development Fund) by the grant SBPLY/21/180501/000238.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


MDPI St. Alban-Anlage 66 4052 Basel Switzerland www.mdpi.com

*Actuators* Editorial Office E-mail: actuators@mdpi.com www.mdpi.com/journal/actuators

Disclaimer/Publisher's Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Academic Open Access Publishing

www.mdpi.com ISBN 978-3-0365-8427-0