Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

One essential requirement that has to be met in cable-direct-driven robots (CDDRs) is ensuring that tensile cable forces during the motion remain positive and bounded (i.e. below a maximum permissible tension depending on either the cable physical features or the actuator size). Such a problem is exacerbated in underconstrained and cable-suspended robots, where tensioning is provided by gravity (e.g. the Skycam [1], the RoboCrane [2] and the CSSR in [3]).

Given the importance of avoiding slackness in cables, several works have explicitly addressed the problems of predicting cable tensions [4] and workspace boundaries [5, 6] or of developing control schemes [7] and trajectory planning strategies [8] ensuring positive cable tensions during the motion. The techniques proposed to date to guarantee positive cable tensions often rely on redundant cables [9]. Such an approach, however, has major limitations: given the higher number of wires and actuators, redundant CDDRs usually tend to obstruct the workspace, are more difficult to design (e.g. cable-interference can be hard to avoid) and more expensive to build and maintain than non-redundant CDDRs.

In order to overtake these limitations, and to specifically address both bilateral tensile cable force constraints (i.e. slackness and excessive tension in cables), in [10] an off-line trajectory planning method has been suggested to a-priori ensure positive and bounded cable tensions in underconstrained translational planar cable robots. By making use of dynamics modeling, the method translates the bilateral force constraints of the cables into kinematic constraints on the velocity and acceleration of the tool center point (TCP) along the desired path. Such an approach is here experimentally validated for the first time, by incorporating the kinematic constraints in a minimum time trajectory planning algorithm based on smooth quintic polynomials, which are particularly suitable for CDDRs, where the continuity of acceleration profiles is of paramount importance to prevent tracking errors and jerky motion due to cable elasticity. An underconstrained hybrid (serial/parallel) planar two-dof translational CDDR is studied: such a configuration has some peculiar advantages [10] and is more general than a purely parallel cable-suspended robot. Contrary to the hybrid robots presented in [11] and [12] no cable is here directly connected to the links but they are both connected to the end-effector. Additionally, both the revolute joints of the serial linkage are passive.

The studied CDDR is discussed in Sect. 2, then in Sects. 3 and 4 the analytical expressions of cable tensions are computed and employed to get the kinematic constraints to be satisfied at the trajectory planning stage. Subsequently, the use of quintic polynomials is discussed in Sect. 5, while the CDDR prototype and the experimental results from two different tests are presented in Sects. 6 and 7. Concluding remarks are finally provided in Sect. 8.

2 The Studied CDDR

The theory presented in this paper is explained and validated experimentally by applying it to the two-dof CDDR introduced in [10], where cables are combined with a linkage to produce a lightweight assembly. The CDDR is schematically depicted in Fig. 1. Table 1 explains the meaning of the symbols adopted in Fig. 1. The CDDR topology is hybrid, in the sense that the end-effector of the manipulator is driven by two coplanar cables (parallel topology) and it is also supported by a passive two-link serial manipulator in order to reduce out of the plane compliance. The end-effector can therefore translate in a vertical and planar workspace. A subset of the workspace is the rectangular base polygon shown in Fig. 1. The two driving cables wind around two motor-actuated pulleys. The studied translational planar two-dof CDDR is hence underconstrained since cable tensioning at rest can just be provided by gravity. In consequence of the presence of the passive serial manipulator, static cable tensioning is not possible in all the rectangular base polygon, but only in a part of it: the Static Equilibrium Workspace (SEW, [13]).

Fig. 1
figure 1

Kinematic scheme of the planar CDDR with passive serial-link support

Table 1 Meaning of the symbols in Fig. 1

The proposed CDDR can approach the objects to manipulate from above, and leaves a completely unobstructed workspace below the end-effector. Therefore, it might be suitable for a wide range of industrial manipulations where over-the-belt mounting is required and also for applications where safe and comfortable man-robot interaction is needed, as for example in medical rehabilitation.

3 Computation of Cable Tensions

Cable tensions can be computed through the CDDR dynamic model. A suitable model has been developed in [10] starting from the one proposed in [9] for a similar but fully constrained CDDR. Here only the most significant model equations are recalled, slightly modified in the notation in order to improve clarity. The interested reader is referred to both the aforementioned references for further details. Henceforth boldfaced lower-case letters will be used to represent vectors while boldfaced upper-case letters will be reserved for matrices. The scalars and the entries of vectors and matrices will instead be denoted with lowercase italic letters.

Let cable elasticity be negligible. The two equilibrium equations for the end-effector may be stacked in the following matrix form:

$$\begin{aligned} {\mathbf f}_{\mathbf T} +{\mathbf f}_{\mathbf S} +{\mathbf p}_{\mathbf E} ={\mathbf M }\ddot{\mathbf x } \end{aligned}$$
(1)

where:

  • \({\mathbf f }_{\mathbf T }\) is the resultant force exerted by the cables on the end-effector. It can be computed through the matrix expression \({\mathbf f }_{\mathbf T }={\mathbf S\varvec{\uptau}}\), with \(\varvec{\uptau}\) the vector of the tensions of the cables and S the pseudostatics Jacobian matrix whose elements are trigonometric functions of the cable angles [9]. Since the CDDR is underconstrained, S is a square matrix of order two and the computation of the cable tensions is straightforward;

  • \({\mathbf f }_{\mathbf S }\) is the force exerted by the passive serial support on the end-effector, which varies both in magnitude and direction during the motion;

  • \({\mathbf p }_{\mathbf E }\) is the weight force vector applied to the end-effector;

  • M is the Cartesian mass matrix of the end-effector;

  • \(\ddot{\mathbf x }\) are the Cartesian accelerations of the end-effector (at the TCP).

In [10] it has been proved that when a two-link serial support is employed, it exerts a reaction force f \(_{S}\) which takes the following form:

$$\begin{aligned} \mathrm{{\mathbf f}}_\mathrm{{\mathbf S}}\, \mathrm{{\mathbf =I}}_\mathrm{{\mathbf S}}{\ddot{\mathbf {x}}}+\mathrm{{\mathbf N}}_\mathrm{{\mathbf S}} ( {\mathrm{{\mathbf J}}_\mathrm{{\mathbf S}}^{\mathrm{{\mathbf -1}}}{{\dot{\mathbf x}}}})^{2}+\mathrm{{\mathbf p}}_\mathrm{{\mathbf S}} \end{aligned}$$
(2)

where:

  • \({\dot{\mathbf {x}}}\) and \({ \ddot{\mathbf {x}}}\) are the end-effector (TCP) Cartesian velocities and accelerations;

  • the elements of the matrices I \(_{\mathbf S}\) and N \(_{\mathbf S}\) depend on the inertial and geometrical properties of the serial support and on the positions of its links (and hence, in the end, on the Cartesian position x of the TCP);

  • the elements of matrix J \(_{\mathbf S}\) only depend on the lengths and the positions of the links;

  • the elements of vector p \(_{\mathbf S}\) account for the position-dependent gravitational effect introduced by the serial support.

Cable tensions can hence be computed as follows:

$$\begin{aligned} \uptau =\mathrm{{\mathbf S}}^{-1}\left[ {( {\mathrm{{\mathbf M}}-\mathrm{{\mathbf I}}_\mathrm{{\mathbf S}} }){\ddot{\mathbf {x}}}}-\mathrm{{\mathbf N}}_\mathrm{{\mathbf S}} ( {\mathrm{{\mathbf J}}_\mathrm{{\mathbf S}}^{\mathrm{{\mathbf -1}}}{\dot{\mathbf {x}}}})^{2}-( {\mathrm{{\mathbf p}}_\mathrm{{\mathbf S}} +\mathrm{{\mathbf p}}_\mathrm{{\mathbf E}} })\right] \end{aligned}$$
(3)

A more compact expression for \(\varvec{\uptau}\) can be obtained by setting \({\mathbf B}:={\mathbf S}^{-{\mathbf 1}} ({\mathbf M}-{\mathbf I}_{\mathbf S} )\), \({\mathbf C}:={\mathbf S}^{-{\mathbf 1}} {\mathbf N}_{\mathbf S} \), and \({\mathbf d}:=-{\mathbf S}^{-{\mathbf 1}} ({\mathbf p}_{\mathbf S} +{\mathbf p}_{\mathbf E} )\):

$$\begin{aligned} \varvec{\uptau} ={\mathbf B} \ddot{\mathbf x}-{\mathbf C}\left({\mathbf J}_{\mathbf S}^{\mathbf -1}\dot{\mathbf {x}}\right)^{\mathbf 2}{\mathbf +\,d} \end{aligned}$$
(4)

Equation (4) provides a set of two equations explicating the dependence of the cable tensions on the TCP Cartesian position, velocity and acceleration. Clearly, in order to get positive and bounded cable tensions, it is necessary that the chosen trajectory always satisfies the inequality:

$$\begin{aligned} 0\le {\mathbf B}\ddot{\mathbf x}-{\mathbf C}\left({\mathbf J}_{\mathbf S}^{\mathbf -1} {\dot{\mathbf x}}\right)^{\mathbf 2}{\mathbf \,+\,d}\le \varvec{\uptau} {}_{\max } \end{aligned}$$
(5)

where \({\varvec{\uptau}}_{\max }\) is the vector of the maximum permissible cable tensions.

4 Kinematic Constraints to Trajectory Planning

A useful alternative expression of the inequality in Eq. (5) can be obtained by replacing Cartesian velocities and accelerations with expressions involving the magnitude and the direction of the velocity vector (which is tangent to the path followed by TCP) as well as the tangential and centripetal accelerations. Let:

  • \(v\) and \(\alpha \) be respectively the magnitude and the direction of the velocity vector,

  • \(a\) and \(\gamma \) be respectively the magnitude of the tangential acceleration \({dv} \mathord{\left/ {\vphantom {{dv} {dt}}} \right. \kern-\nulldelimiterspace} {dt}\), and the radius of curvature of the path, there follows that \({\dot{\mathbf x}}= \left\{ {\begin{array}{l} {v\cos \alpha }\\ {v\sin \alpha }\\ \end{array}} \right\} \) and \({\ddot{\mathbf x}} =\left\{ {\begin{array}{ll} {a\cos \alpha -\frac{v^2}{\gamma }\sin \alpha }&{a\sin \alpha +\frac{v^2}{\gamma }\cos \alpha }\\ \end{array}}\right\} ^T\), hence, referred to the \(i\)th cable (\(i=1,2\)), Eq. (5) takes the following form:

    $$\begin{aligned} 0\le \tau _i :=p_i a+({q_i}\big /\gamma -c_i)v^{2}+d_i\le \tau _{i\max } \end{aligned}$$
    (6)

    where:

  • \(c_{i}\) is the \(i\)th row element of vector \({\mathbf C} \left({\mathbf J}_{\mathbf S}^{\mathbf -1}\left\{ {\begin{array}{l} {\cos \alpha } \\ {\sin \alpha } \\ \end{array}} \right\} \right)^2\),

  • \(d_{i}\) is the \(i\)th row element of vector d,

  • \(p_{i}\) and \(q_{i}\) are the \(i\)th row elements of vectors \({\mathbf B}\left\{ {\begin{array}{l} {\cos \alpha } \\ {\sin \alpha } \\ \end{array}} \right\} \) and \({\mathbf B}\left\{ {\begin{array}{l} {-\sin \alpha } \\ {\cos \alpha } \\ \end{array}}\right\} \).

Based on these definitions:

  • \(d_{i}\) only depends on the robot position. \(d_{i}\) is the \(i\)th cable tension in static conditions, hence \(d_{i}\) is always positive in the SEW;

  • \(c_{i}\), \(p_{i}\), and \(q_{i}\) depend on the robot position and on the velocity vector direction;

Equation (5) can be translated into four explicit constraints: a lower and an upper bound for both cable tensions. In turn, cable force constraints can be translated into kinematic constraints on the velocity and acceleration of the robot TCP along the path. Two paths typically adopted in industry are addressed here: the straight line path and the circular path.

4.1 Straight Line Path

In straight line paths, \(\alpha \) is constant, the centripetal acceleration is null, and, for each \(i\)th cable (\(i = 1, 2\)), the condition \(0\le \tau _i \) can be rewritten in the form \(p_i a\ge c_i v^2-d_i \). Let \(v_{\lim } \) be the limit TCP velocity along the path (a more descriptive definition of \(v_{\lim } \) is provided below). Since \(d_{i}\) is always positive in the SEW and \(v\) is bounded between 0 and \(v_{\lim } \), the maximum values of \(c_i v^2-d_i \) only depend on the sign of \(c_{i}\). Indeed, if \(c_i >0\ \max (c_i v^2-d_i )= \ c_i \max (v^2)-d_i = c_i v_{\lim }^2 -d_i \), while if \(c_i \le 0\) \(\max (c_i v^2-d_i )= \ c_i \min (v^2)-d_i =-d_i \). It is therefore useful to define a function \(u_{i }= u_{i}\) (\(c_{i})\) only taking two values:

$$\begin{aligned} u_i(c_i )=\left\{ {\begin{array}{l@{\quad }ll} {c_i v_{\lim }^2 -d_i }&\mathrm{if}&{c_i >0} \\ {-d_i }&\mathrm{if}&{c_i \le 0} \end{array}}\right. \end{aligned}$$
(7)

By means of this new function, the condition \(0\le \tau _i \), referred to the \(i\)th cable, can be rewritten in the more restrictive form: \(p_i a\ge u_i \). If it is possible to choose an upper bound of the TCP velocity (i.e. \(v_{\lim } \), in general not coinciding with the maximum permissible velocity actually achievable) so that the \(u_{i}\) function takes negative values along the straight line path, the inequality \(p_i a\ge u_i \) allow getting positive upper bounds (\(a_{sup}^u )\) and negative lower bounds (\(a_{inf}^u )\) for the acceleration. As a consequence, as long as \(v\le v_{\lim } \), it is possible to identify an admissible interval of the TCP acceleration \(a\) (\(a_{inf}^u \le a\le a_{sup}^u )\) ensuring positive cable tensions along the whole straight path. The different cases that can be discriminated on the basis of the sign of \(p_{i }\) are reported in Table 2, row 1.

A similar reasoning allows inferring the acceleration bounds introduced by the constraint on the maximum permissible tension \(\tau _i \le \tau _{i\max } \): \(p_i a\le c_i v^2-d_i +\tau _{i\max } \), where the sum of the terms \(-d_i +\tau _{i\max } \) is always positive (alternatively, cable tensions in static conditions would overcome the maximum tensions). The minimum values of \(c_i v^2-d_i +\tau _{i\max } \) only depend on the sign of \(c_{i}\); it is therefore useful to introduce the function \(s_{i}=s_{i}\) (\(c_{i})\) which can only take the following two values:

$$\begin{aligned} s_i (c_i )= \left\{ {\begin{array}{l@{\quad }ll} c_i v_{\lim }^2 -d_i +\tau _{i\max }&\mathrm{if}&c_i <0 \\ -d_i +\tau _{i\max }&\mathrm{if}&c_i \ge 0 \\ \end{array}} \right. \end{aligned}$$
(8)

By means of \(s_{i}\) it is possible to introduce the following more restrictive condition for permissible tensions: \(p_i a\le s_i \). Positive upper bounds (\(a_{sup}^s )\) and negative lower bounds (\(a_{inf}^s )\) for the TCP acceleration can be computed if \(s_{i}\) takes positive values along the straight line path. A suitable \(v_{\lim } \) value (in general not coinciding with the one ensuring \(u_i <0)\) should be chosen. The different cases that can be discriminated on the basis of the sign of \(p_{i}\) are shown in Table 2, row 2.

Table 2 Upper and lower acceleration bounds for positive and bounded cable tensions along a straight line path

In conclusion, once an upper bound \(v_{\lim } \) is found which ensures both negative \(u_{i}\) and positive \(s_{i}\) functions, there always exist an upper (\(a_{sup} )\) and a lower (\(a_{inf} )\) bound for the acceleration (see Table 2, row 3), guaranteeing that, if the kinematic constraints \(a_{inf} \le a\le a_{sup} \) and \(v\le v_{\lim } \) are satisfied, cable tensions are simultaneously positive and below the maximum permissible values. In general, \(a_{sup} \) and \(a_{inf} \) are not constant but vary along the path. They should hence be computed as functions of a path coordinate (\(l)\) by adopting a suitable discretization of the path.

Equations (7) and (8) show that a \(v_{\lim } \) simultaneously ensuring \(u_{i} <\) 0 and \(s_{i}>\) 0 always exists in the SEW. The choice of \(v_{\lim } \) has a considerable impact on the computation of the acceleration bounds and consequently on the minimum traversal time. An inappropriate choice, may lead to overconservative trajectory planning. Generally speaking, either a single \(v_{\lim } \) value holding for the whole SEW (or for a subset of it) may be used or a different (variable or constant) \(v_{\lim } \) may be adopted for each given path. Such a choice is still a matter of investigation and will be addressed in future works. Admittedly, whichever the choice, as long as \(u_{i} <\) 0 and \(s_{i}>\) 0 positive and bounded tensions are ensured.

4.2 Circular Path

In case of circular paths of the TCP, the seek for kinematic bounds can be done following an approach almost identical to the one discussed in the previous section. It is only necessary to apply the reasoning to circular path geometrical and kinematic parameters: let \(R\) be the radius of the path and \(\phi \) the angular coordinate (\(0\le \phi \le 2\pi )\), let \(\alpha \) be the direction angle of the velocity vector \(v\), which is now tangent to the circular path. Hence, \(\alpha =\phi +\pi \big /2\Rightarrow \phi =\alpha -\pi \big /2\), \(v=R{\dot{\alpha }}\), \(a=R{\ddot{\alpha }}\) and Eq. (6) becomes: \(0\le \tau _i =p_i R{\ddot{\alpha }} -R(Rc_i -q_i )\dot{\alpha }^{2}+d_i \le \tau _{i\max } \) (\(i=1,2\)), which can be split into two inequalities for each CDDR cable. In particular, by replacing \(p_i R\) with \(p_i^*\) and \(R(Rc_i -q_i )\) with \(c_i^*\) it is possible to write \(u_i^*\le p_i^*{\ddot{\alpha }} \le s_i^*\) where

$$\begin{aligned} u_i^*=\left\{ \begin{array}{l@{\quad }ll} {c_i^*{\dot{\alpha }}_{\lim }^2 -d_i }&\mathrm{if}&c_i^*>0\\ {-d_i}&\mathrm{if}&c_i^*\le 0 \end{array} \right. \quad \mathrm{and} \quad s_i^*= \left\{ \begin{array}{l@{\quad }ll} {c_i^*{\dot{\alpha }}_{\lim }^2-d_i +T_{\max }}&\mathrm{if}&c_i^*<0 \\ {-d_i +T_{\max }}&\mathrm{if}&c_i^*\ge 0 \end{array} \right. \end{aligned}$$

These definitions of \(u_i^*\) and \(s_i^*\) should be compared to those in Eqs. (8) and (9): it is apparent that the considerations made for establishing bilateral constraints on the acceleration \(a\) along a straight line path can be immediately extended to the angular acceleration \(\ddot{\alpha }\). In particular, a limit angular velocity \(\dot{\alpha }_{\lim } \) needs to be found within the interval \(0\le \phi \le 2\pi \) so that \(u_i^*<0\) and \(s_i^*>0\). The dependence of \(c_i^*\) on \(q_{i}\) makes it extremely difficult, if not impossible, to find a single \(\dot{\alpha }_{\lim } \) holding for the whole SEW, or for a sufficiently wide subset of it. Hence path-specific \(\dot{\alpha }_{\lim } \) values should be generally employed.

5 Trajectory Planning with Quintic Polynomials

Let us first denote with \(l\) the path coordinate: \(\dot{l}\) and \(\ddot{l}\) coincides with respectively \(v\) and \(a\) in the case of straight paths, and with \(\dot{\alpha }\) and \(\ddot{\alpha }\) in the case of circular paths. Coherently, henceforth kinematic constraints on velocity and acceleration will be denoted with the symbols \(\dot{l}_{\lim } \), \(\ddot{l}_{inf} \), and \(\ddot{l}_{sup} \). Any trajectory planning method yielding a trajectory in time \(l(t)\) meeting the velocity and acceleration constraints defined for \(\dot{l}\) and \(\ddot{l}\) in either Sect. 4.1 or Sect. 4.2 can assure that cable tensions are always positive and below the maximum permissible values along the path. Minimun-time trajectory planning methods should be usually preferred in industrial robotics, since they allow increasing productivity and minimizing costs. However, since the scope of this work is proving the effectiveness of the proposed method for avoiding slackness and excessive tension in cables, a planning method leading to smooth trajectories is preferred. Quintic polynomial trajectories are adopted for point-to-point planning. Quintic polynomial trajectories are suitable to CDDR trajectory planning because they are characterized by continuous velocity, acceleration and jerk profiles. Hence they are smooth enough not to excite vibrational phenomena induced by cable elasticity. Additionally, minimum-time trajectories can be easily computed. Clearly, the time computed is not the absolute minimum for a given point-to-point motion [8].

Let us express the path coordinate \(l\) through the following polynomial:

$$\begin{aligned} l(t)=b_0 +b_1 t+b_2 t^{2}+b_3 t^{3}+b_4 t^{4}+b_5 t^{5} \end{aligned}$$
(9)

It holds \(0\le l\le L_t \), where \(L_t \) is the path length. Let 0 and \(t_{f}\) be respectively the initial and final trajectory time and let impose zero velocity and acceleration at 0 and \(t_{f}\). It is well known that the coefficients satisfying such boundary conditions are: \(b_0 =0\), \(b_1 =0\), \(b_2 =0\), \(b_3 =10\left(L_t\big /t_f^{3}\right)\), \(b_4 =15\left(-L_t\big /t_f^{4}\right)\) and \(b_5 =6\left(L_t\big /t_f^{5}\right)\). The corresponding trajectory is symmetric with respect to the mean time \(t_m ={t_f}\big /2\), where the maximum velocity \({\dot{l}}_{\max } ={15L_t}\big / \left({8t_f}\right)\) is achieved and the acceleration is zero. In the first half of the trajectory the acceleration is always positive while in the second half the acceleration is always negative. As a consequence of the trajectory symmetry, the maximum acceleration and deceleration are identical in absolute value: \({\ddot{l}}_{\max } ={10L_t}\big / \left(t_f^{2}\sqrt{3}\right)\).

In order to meet both the velocity and the acceleration constraints \(t_{f}\) can be chosen so that \({\dot{l}}_{\max } \le {\dot{l}}_{\lim } \), \( {\ddot{l}}_{\max } \le \min ( {\min ( {\left. { {\ddot{l}}_{sup} } \right|_0^{\frac{L_t }{2}} }),\left| {\max ( {\left. { {\ddot{l}}_{inf} } \right|_{\frac{L_t }{2}}^{L_t } })} \right|})\). The minimum travel time \(t_{f}\) can hence be obtained:

$$\begin{aligned} t_f =\max \left(\sqrt{{10L_t}\big /\left({\ddot{l}}_{\max }\sqrt{3}\right)}, 15L_t\big /\left(8{\dot{l}}_{\max }\right)\right) \end{aligned}$$
(10)

Admittedly, any travel time longer than \(t_{f }\) can be adopted without violating the kinematic constraints: the scaled trajectory \(l(t_s )\) can be computed by just introducing the scaled time variable \(t_{s}\) defined as \(t_s =t/\lambda \), where \(\lambda >\) 1 is the scaling factor, i.e. the ratio between the desired travel time \(t_{d}\) (\(t_d >t_f )\) and \(t_{f}\): \(\lambda =t_d /t_f \).

Fig. 2
figure 2

Prototype of the planar CDDR

6 The Experimental Setup

A picture of the two-cable, two-dof CDDR with passive serial support commissioned to validate the theory presented above is shown in Fig. 2. The robot is driven by two Dyneema® cables (Young’s modulus \(\approx \)100 GPa, yield stress \(\approx \)3 GPa) directly connected to the free end of the passive serial manipulator. The cables are forced to pass through the two fixed vertices \(A_{1}\) and \(A_{2}\) (see Fig. 1 and Table 1) at the top of the base polygon by means of guide pulleys and are wound into screw threads machined on the drive pulley surfaces. The drive pulleys are directly driven by two Siemens 1FT6 brushless motors (rated torque 2.15 Nm, maximum torque 10 Nm, rated speed 3,000 rpm) with Simodrive 611U servodrives. Torque control with analog interface is the operating mode selected for both the motors. Additionally, TTL 2,048-line encoder emulation has been chosen to get a direct measurement of motor shaft position, and hence of the pulley angles \(\beta _{i}\). The positions of the aluminum links have instead been measured by two 5,000-line Eltra incremental encoders, one measuring the absolute rotation of link 1 (\(\varphi _{1})\), the other the relative angle between link 1 and 2 (\(\varphi _2^r )\). The robot trajectory planning and control algorithms have been implemented in a multitasking controller developed using Simulink models and the XPc target real time operating system. Measurement Computing PCIM-DDA06/16 and PCI QUAD/04 boards have been employed to manage signal generation and acquisition. The trajectory planning strategy implemented in the controller puts into action the achievements discussed in Sects. 4 and 5, whilst the control algorithm developed is based on the centralized controller proposed in [9], which makes use of a complete dynamic model of the CDDR for performing feedback linearization.

Table 2 collects the chief kinematic and inertial features of the CDDR. \(L_{A}\), \(L_{B}\) and \(z_{k}\), are defined in Table 1, while, coherently with the notation in [10]:

  • \(z_{Gk}\) is the distance of the center of gravity \(G_{k}\) of the \(k\)th link (\(k = 1\), 2) from the origin of vector z\(_{k}\) fixed to the link (see Fig. 1)

  • \(m_{k}\) is the mass of the \(k\)th link (\(k = 1, 2\))

  • \(m_{enc2}\) is the concentrated mass accounting for the presence of the encoder at the kinematic coupling between link 1 and 2

  • \(I_k^\delta \) is the moment of inertia of the \(k\)th link about the orthogonal axis through point \(\delta \)

  • \(r_{i}\) is the radius of the \(i\)th drive pulley (\(i = 1, 2\))

  • \(J_{i}\) is the lumped rotational inertia of the \(i\)th drive pulley, also including the moment of inertia of the rotor and of the brake of the motor

  • \(c_{v} {}_{i}\) is the rotational viscous damping coefficient estimated at the \(i\)th drive pulley

  • \(M\) is the mass of the payload (and of the end-effector, if it is present).

In the experiments, a load of mass \(M\) has been introduced through a steel disk (see Fig. 3) pivoting about the thin shaft at the free end of the serial manipulator. The presence of such a payload makes the SEW take the shape shown in Fig. 4: static cable tensioning is not possible in all the rectangular workspace but only in the sub area filled in black.

Fig. 3
figure 3

The load fitted at the CDDR tip

Fig. 4
figure 4

The CDDR SEW

7 Experimental Results

Two experiments have been carried out. In the first one (T1) the CDDR TCP (assumed coinciding with the point where cables converge, or, which is the same, with the intersection point between the axis of the thin shaft at the tip of the serial manipulator and the plane of motion) is made perform a straight line path in the plane of motion. In the second experiment (T2) a circular path is executed (Table 3).

Table 3 Physical features of the CDDR

Identical maximum permissible tensions \(\tau _{i\max }\) have been set for the both the cables: \(\tau _{i\max }=200\) N. This is a quite conservative choice coherent with the cable material properties and the motor deliverable torques.

In both the experiments, the planned TCP Cartesian displacements and velocities have been compared with the actual TCP displacements and velocities computed by direct kinematics from the joint displacements measured by the two encoders fitted on the serial manipulator. Such measurements are not affected by cable elasticity as would be those based on motor encoder recordings. An accurate tracking of the desired trajectory by the CDDR TCP is by itself a proof that proper cable tensioning has been ensured along the whole path. In particular, it is apparent that significant discrepancies would arise in case one or both cables were slack.

Estimates of cable tensions along the paths have been inferred (and plotted) from the torque measurements provided by the motor drives. Such estimate confirm that cable tensions are safely kept within the desired bounds in both the experiments.

7.1 Test 1 (T1): Straight Line Path

A straight line path between two generic points in the SEW has been first executed. The starting point coordinates in the reference frame {\(X\), \(Y\)} are (0, \(-\)0.554 m). The ending point coordinates are (0.3, 0.046 m). Hence, the length \(L_{t}\) of the path is 0.6708 m. The limit velocity \(\dot{l}_{\lim } \) selected to ensure \(u_{i} < 0\) and \(s_{i} > 0\) is 1.5 m/s, from which bilateral constraints \(\ddot{l}_{inf} \) and \(\ddot{l}_{sup} \) have been computed as functions of \(l\). Such kinematic constraints are shown in

Fig. 5
figure 5

T1: Velocity and acceleration constraints and planned profiles

Fig. 6
figure 6

T1: Comparison between planned and actual Cartesian displacements

Fig. 5 (thin lines), where the planned velocity and acceleration profiles are also plotted (bold lines). The most stringent constraint is \(\ddot{l}_{inf} \) (\(\ddot{l}_{inf} =-4.32\) m/s\(^{2})\) close to the end of the path (\(l=0.626\) m). The minimum traversal time \(t_{f}\) achievable with such an \(\ddot{l}_{inf} \) is 0.95 s. The CDDR position tracking capability can be evaluated in Fig. 6, where, in the two plots at the top of the figure, the planned TCP Cartesian displacements are compared with the actual displacements. The resulting tracking errors along each axis are shown in the two plots at the bottom of Fig. 6. Tracking velocity capabilities can instead be appreciated in Fig. 7, where the planned and actual TCP velocities are plotted. Finally, the measured motor torques and the estimated cable tensions are shown in Fig. 8, respectively in the two plots at top and at the bottom of the figure. It is apparent that all the physical constraints involving cable tensions motor torques are satisfied. As it was expected the tension in one cable (cable 2) tends to take a minimum value close to zero when the TCP approaches the end of the path (see the \(\ddot{l}_{inf} \) constraint in Fig. 5): it is intuitive that the upwards motion of the TCP makes the end-effector deceleration phase much more critical, in terms of cable tensions, than the acceleration phase. Additionally, in Fig. 8 experimental cable tensions and motor torques are compared with simulated outcomes to prove the accuracy of the underlying dynamic model.

Fig. 7
figure 7

T1: comparison between planned and actual Cartesian velocities

Fig. 8
figure 8

T1: Numerical and experimental motor torques and cable tensions

7.2 Test 2 (T2): Circular Path

The center of the circular path is at point (0.1, \(-\)0.1 m) in the reference frame {\(X,Y\)} while the circle radius \(R\) is 0.1 m. Hence, the length \(L_{t}\) of the path is 0.6283 m. The starting point is at (0.25, \(-\)0.1 m) and motion direction is counterclockwise.

The limit angular velocity \({\dot{l}}_{\lim } \) selected for the path is 4 rad/s, which is slightly below the value concurrently satisfying \(u_i^*<0\) and \(s_i^*>0\) along the whole path. The resulting bilateral constraints \({\ddot{l}}_{inf} \) and \({\ddot{l}}_{sup} \) on the angular acceleration \({\ddot{\alpha }}\) take the shape shown in Fig. 9 (thin lines). It is apparent that the velocity constraint is the most stringent one. The minimum traversal time \(t_{f}\) achievable with such an \({\dot{l}}_{\lim } \) is 2.94 s, the corresponding velocity and acceleration profiles of the trajectory planned are shown in Fig. 9 too (bold lines). At the top of Fig. 10 the planned TCP Cartesian displacements are compared with the actual displacements while tracking errors are plotted at the bottom of the same figure. Planned and actual TCP velocities are shown in Fig. 11, while the measured motor torques and the estimated cable tensions are shown in Fig. 12. Also in this test, the physical constraints in terms of cable tensions and motor torques are satisfied.

Fig. 9
figure 9

T2: Velocity and acceleration constraints and planned profiles

8 Conclusions

Lack of cable redundancy in underconstrained cable-driven robots makes keeping positive and bounded cable tensions a critical issue. In this paper an approach is discussed and validated experimentally which translates such requirements into kinematic constraints to be met by the TCP trajectory at the planning stage. The computation of the constraints accounts for robot dynamics: basically, the method leads to the definition of bounds on the first and second derivatives of the TCP path coordinate. If the robot trajectory planner allows managing trajectories defined in terms of a path coordinate and with constraints on both velocity and acceleration, the proposed method ensures that cable tensions neither drop to zero nor exceed the maximum permissible tension during the motion. Clearly, the robot controller must also ensure limited tracking error, which is however a conventional specification. Given the kinematic constrains, minimum time trajectories should be chosen, yet this aspect is marginally discussed being out of the paper scope.

Fig. 10
figure 10

T2: Comparison between planned and actual Cartesian displacements

Fig. 11
figure 11

T2: comparison between planned and actual Cartesian velocities

Fig. 12
figure 12

T2: Motor torques and cable tensions

A two-dof fully actuated hybrid planar cable robot has been used to introduce many of the aspects of the proposed method; nonetheless, it is believed that the concepts and the approach can be extended to more general and complex systems.