Keywords

1 Introduction

Cable-driven parallel robots (CDPRs) use cables instead of rigid-body legs to control the end-effector (EE) pose. CDPRs are underconstrained when the number of cables in tension (namely, active) is smaller than the number of degrees of freedom that the EE possesses with respect to the base. In this case, only some freedoms may be controlled, and the EE configuration depends on the applied forces, e.g. gravity [13]. The displacement analysis of these robots requires the simultaneous solution of both loop-closure and equilibrium equations. As a consequence, the direct geometrico-static problem (DGP), which aims at finding all equilibrium poses of the EE when cable lengths are assigned, is especially challenging [10, 12].

When the cable lengths of a CDPR with \(n\) cables, \(n\le 6\), are assigned as inputs, the number of active cables at the equilibrium is, a priori, unknown. Indeed, the EE may reach an equilibrium pose with one or more cables being slack. Since multiple stable configurations may exist, possibly characterized by different numbers of taut cables, the robot may switch between them because of inertia forces or external disturbances. Accordingly, the computation of the whole solution set for a given DGP is essential for robust trajectory planning.

The authors have solved so far the DGP of robots with two, three and four active cables [35]. These problems were proven to admit \(24\), \(156\) and \(216\) solutions in the complex field, respectively. The DGP of a CDPR suspended by \(6\) cables admits \(40\) solutions, since it is equivalent to the forward displacement analysis of the Gough platform [11]. The present contribution shows that the DGP of a CDPR with \(5\) active cables admits \(140\) solutions in the complex field, and it also estimates an upper bound on the number of real configurations. Parameter homotopy continuation is used to develop an efficient algorithm to determine the whole solution set. The results reported in the paper complete the authors’ study concerning the DGP of underconstrained CDPRs with generic geometry.

Fig. 1
figure 1

A CDPR with four cables: geometric model (a) and static model (b)

2 Geometrico-Static Model

The EE is connected to a fixed base by five cables, which are modeled as inextensible and massless (Fig. 1). The \(i\)th cable, \(i=1,\ldots ,{5}\), is assigned length \(\rho _i\), it exits from the base at point \(A_i\), and it is connected to the EE at point \(B_i\). \(\mathcal {A}\) is a fixed Cartesian coordinate frame with origin at \(A_1\), and \(\mathcal {B}\) is a Cartesian frame attached to the EE at point \(G\). The EE pose is described by \(\mathbf{X}^T=[\mathbf{g}^T; \varvec{\varPhi }^T]\), where \(\mathbf{g}^T=[x,y,z]^T\) is the position of \(G\) in \(\mathcal {A}\), and \(\varvec{\varPhi }^T=[e_1,e_2,e_3]^T\) is the array grouping the Rodrigues parameters parameterizing the EE orientation with respect to \(\mathcal {A}\). The EE is acted upon by force \(Q{\mathcal {L}}_e\), where \(Q\) is a constant magnitude and \({\mathcal {L}}_e\) is the normalized Plücker vector of the force line of action, passing through \(G\) and parallel to direction \(\mathbf k\), without loss of generality. The normalized Plücker vector of line \(A_iB_i\) is \({\mathcal L}_i/\rho _i\), where \({\mathcal L}_i^T = \left[ (A_i-B_i)^T; \{(A_i-A_1)\times (A_i-B_i)\}^T\right] \). If \(\tau _i\) is the intensity of the cable tensile force, the wrench exerted by the \(i\)th cable on the EE is \(\left( \tau _i/\rho _i\right) {\mathcal {L}}_i\), and static equilibrium may be expressed as

$$\begin{aligned} \sum _{i=1}^5 {\frac{\tau _i}{\rho _i}{\mathcal L}_i} + Q{\mathcal L}_e = \underbrace{\left[ \begin{array}{cccccc} {\mathcal {L}}_1&{\mathcal {L}}_2&{\mathcal {L}}_3&{\mathcal {L}}_4&{\mathcal {L}}_5&{\mathcal {L}}_e \end{array}\right] }_\mathbf{M} \left[ \begin{array}{c} \left( \tau _1/\rho _1\right) \\ \left( \tau _2/\rho _2\right) \\ \left( \tau _3/\rho _3\right) \\ \left( \tau _4/\rho _4\right) \\ \left( \tau _5/\rho _5\right) \\ Q \end{array}\right] = \mathbf{0}. \end{aligned}$$
(1)

If all cables are active, the following five geometrical constraints must be satisfied:

$$\begin{aligned} q_i:=||A_i - B_i||^2 - \rho _i^2 = 0,\quad i=1,\ldots ,5, \end{aligned}$$
(2)

Equations (1) and (2) amount to \(11\) scalar relations in \(11\) variables, namely \(\mathbf{X}\) and \(\tau _i\), \(i=1,\ldots ,5\). Following Ref. [5], cable tensions may be eliminated from the set of unknowns by observing that Eq. (1) holds only if

$$\begin{aligned} p:=\det \mathbf{M} = 0, \end{aligned}$$
(3)

which is a purely geometrical condition, since \(\mathbf{M}\) only depends on \(\mathbf{X}\). Equations (2) and (3) amount to six relations in six pose coordinates. Polynomials \(q_1,\ldots ,q_5\) in Eq. (2) have degree \(4\) in \(\mathbf{X}\), whereas polynomial \(p\) in Eq. (3) has degree \(9\) in \(\mathbf{X}\). The \(0\)-dimensional variety \(V\) of the ideal \(\langle J \rangle \) generated by the set \(J=\{q_1,\ldots ,q_{5},p\}\) yields the solutions of the DGP at hand.

3 Problem-Solving Algorithm

Like in the studies concerning the DGP of robots suspended by two, three and four cables [35], a formal proof about the number of solutions contained in \(V\) is provided by implementing an elimination procedure based on Groebner bases and Sylvester dialytic method. Then, a numerical algorithm based on homotopy continuation is presented to compute the solution set in an efficient way.

3.1 The Elimination Approach

In order to ease numeric computation via a computer algebra system, namely the \({\mathtt {Groebner Package}}\) provided within the software \({\mathtt {Maple15}}\), all geometric parameters of the robot are assigned generic rational values. Accordingly, \(\langle {J}\rangle \subset \mathbb {Q}[\mathbf{X}]\), where \(\mathbb {Q}[\mathbf{X}]\) is the set of all polynomials in \(\mathbf{X}\) with coefficients in \(\mathbb {Q}\). All Groebner bases are computed with respect to graded reverse lexicographic monomial orders (\({{\mathrm{grevlex}}}\), in brief), which provide the most efficient calculations. In general, a Groebner basis \(G[J]\) of \(\langle {J}\rangle \) with respect to \({{\mathrm{grevlex}}}(\mathbf{X})\), with variables ordered so that \(z\!>\!y\!>\!x>\!e_1\!>\!e_2\!>\!e_3\), may be computed in a fairly expedited way. For instance, for the robot reported in Table 1, \({\mathtt {Maple}}\) computes \(G[J]\) in roughly \(3.3\) min, on a PC with a \(2.67\) GHz Intel Xeon processor and \(4\) GB of RAM.

Once \(G[J]\) is known, the normal set \(\mathbf{N}[J]\) of \(\langle {J}\rangle \), i.e. the set of all monomials that are not multiples of any leading monomial in \(G[J]\), may be easily computed. Since \(\mathbf{N}[J]\) comprises \(140\) monomials, this is also the number of complex roots in \(V\) and, thus, the order of the least-degree univariate polynomials of \(\langle {J}\rangle \) [14]. Any one of these polynomials may be computed by the hybrid approach proposed in [3], based on the cooperative use of the FGLM algorithm [9] and a dialytic procedure similar to that presented in [7].

If \(\mathbf{X}_l\) is a list of \(l\) variables in \(\mathbf{X}\) and \(\mathbf{X}\backslash \mathbf{X}_l\) is the relative complement of \(\mathbf{X}_l\) in \(\mathbf{X}\), a monomial order \(>_l\) on \(\mathbb {Q}[\mathbf{X}]\) is of \(l\)-elimination type provided that any monomial involving a variable in \(\mathbf{X}_l\) is greater than any monomial in \(\mathbb {Q}[\mathbf{X}\backslash \mathbf{X}_l]\). If \(G_{>l}[J]\) is a Groebner basis of \(\langle {J}\rangle \) with respect to \(>_l\), then \(G[J_l]:=G_{>l}[J]\cap \mathbb {Q}[\mathbf{X}\backslash \mathbf{X}_l]\) is a basis of the \(l\)th elimination ideal \(\langle {J_l}\rangle :=\langle {J}\rangle \cap \mathbb {Q}[\mathbf{X}\backslash \mathbf{X}_l]\) [6]. The FGLM algorithm may be conveniently used to convert \(G[J]\) from \({{\mathrm{grevlex}}}\left( \mathbf{X}\right) \) to \(>_l\), so that \(G[J_l]\) may be readily isolated from \(G_{>l}[J]\). In particular, the FGLM algorithm may be used to compute the Groebner basis \(G[J_3]\) of \(\langle {J_3}\rangle \), where the latter is the set of polynomials of \(\langle {J}\rangle \) that contain monomials in \(e_1\), \(e_2\) and \(e_3\) only. Eliminating more unknowns by the FGLM algorithm is not convenient, since memory usage and computation time exponentially increase with \(l\). A more efficient alternative emerges by computing a Sylvester-type eliminant matrix from the polynomials of \(G[J_3]\). Since \(G[J_3]\) comprises \(31\) polynomials and \(31\) monomials in \(e_1\) and \(e_2\), if \(e_3\) is assigned the role of ‘hidden’ variable, the generators of \(G[J_3]\) may be set up as

$$\begin{aligned} \mathbf{T}\left( e_3\right) \mathbf{E} = \mathbf{0}, \end{aligned}$$
(4)

where \(\mathbf{T}(e_3)\) is a \(31\times 31\) matrix polynomial in \(e_3\), and \(\mathbf{E}\) is a vector grouping the \(31\) monomials in \(G[J_3]\) with variables in \(\{e_1,e_2\}\). As expected, letting the determinant of \(\mathbf{T}(e_3)\) vanish yields a spurious-root-free polynomial of degree \(140\) in \(e_3\).

Sylvester dialytic elimination may be applied to the Groebner basis of any elimination ideal \(\langle {J_l}\rangle \) of \(\langle {J}\rangle \). However, the smaller \(l\), the higher the order of the eliminant matrix, and the more onerous the expansion of its determinant. Accordingly, the fewer variables are eliminated by the FGLM algorithm, the smaller the computation burden of the FGLM step, but the more demanding the Sylvester elimination. Numerical experimentation seems to indicate that the elimination of \(x\), \(y\) and \(z\) by the FGLM algorithm, and successively of \(e_1\) and \(e_2\) by a dialytic step, provides the best compromise. The \({\mathtt {Maple}}\) implementation of the above procedure is able to compute the univariate polynomial in \(e_3\) for the example reported in Table 1 in roughly \(610\) min, which is a substantial achievement for a polynomial of order \(140\).

3.2 Numerical Computation of the Solution Set

The univariate polynomial obtained in Sect. 3.1 is important under a theoretical viewpoint, but it has a too high degree for a practical use. For the numerical calculation of the solution set, homotopy continuation provides a more robust and efficient alternative. In this perspective, the complexity and degree of polynomial \(p\) in Eq. (3) are a disadvantage, since they slow down computation and cause stability problems (cf. [4]). For this reason, the formulation of static equilibrium via Eq. (1) and a new parametrization of the EE pose are preferable.

Without loss of generality, unit vectors \(\mathbf u\), \(\mathbf v\) and \(\mathbf{w}\) of the coordinates axes of \(\mathcal B\) may be chosen so that \(\mathbf u\) is directed from \(G\) to \(B_1\), \(\mathbf v\) lies in plane \(GB_1B_2\), and \(\mathbf{w}=\mathbf{u}\times \mathbf{v}\). If \([\mathbf{u}]_{\mathcal {A}} = \left[ u_{1},u_{2},u_{3}\right] \) and \([\mathbf{v}]_{\mathcal {A}} = \left[ v_{1},v_{2},v_{3}\right] \) are the projections of \(\mathbf u\) and \(\mathbf v\) in the fixed frame, the platform pose may be written as a function of the nine variables \(x\), \(y\), \(z\), \(u_{1}\), \(u_{2}\), \(u_{3}\), \({ v}_{1}\), \({ v}_{2}\), and \({ v}_{3}\), which must satisfy the conditions

$$\begin{aligned} q_6:=\mathbf{u}^T \mathbf{u}-1=0,\quad q_7:=\mathbf{v}^T \mathbf{v}-1=0,\quad q_8:=\mathbf{u}^T \mathbf{v}=0. \end{aligned}$$
(5)

Equations (1), (2) and (5) form a system \(I\) of \(14\) scalar equations in \(14\) variables, i.e.

$$\begin{aligned} \mathbf{Y} = \left[ x,\ y,\ z,\ u_{1},\ u_{2},\ u_{3},\ { v}_{1},\ { v}_{2},\ { v}_{3},\ \tau _1,\ \tau _2,\ \tau _3,\ \tau _4,\ \tau _5\right] ^T. \end{aligned}$$
(6)

Though \(I\) involves more variables and more equations than \(J\), it comprises simpler lower-order polynomials, which are stabler when homotopy continuation is implemented, thus leading to a faster computation. In particular, polynomials \(q_1\) and \(q_2\) in Eq. (2) and \(q_6\), \(q_7\) and \(q_8\) in Eq. (5) have degree \(2\) in \(\mathbf{Y}\); \(q_3\), \(q_4\) and \(q_5\) in Eq. (2) have degree \(4\) in \(\mathbf{Y}\); and all polynomials in Eq. (1) have degree \(3\) in \(\mathbf{Y}\). On the basis of these degrees, the problem at hand may be cast into the larger family of systems made up by five quadratic, six cubic and three quartic equations on \(\mathbf{Y}\in \mathbb {P}^{14}\). By counting solutions at infinity, a general member of this family has a number of isolated roots equal to the minimal multi-homogeneous Bezout number [14]. This is also the number of paths tracked by the homotopy-continuation software used in this paper, i.e. \({\mathtt {Bertini}}\) [2]. By searching all possible multi-homogenizations, the minimal Bezout number emerges when \(\mathbf{Y}\) is partitioned as \(\left[ \{x,y,z,u_{1},u_{2},u_{3}\}, \{v_{1},v_{2},v_{3}\}, \{\tau _1,\tau _2,\tau _3,\tau _4,\tau _5\}\right] \), and it is equal to \(11,520\).

When the isolated roots of the DGP of a generic robot are known, parameter-homotopy continuation [14] may be used to find the solutions for any other DGP of the same kind, in an efficient way. Since the coefficients of the equations in \(I\) are continuous functions of the geometric parameters \(\mathbf P\) of the robot, a continuous path through parameter space determines a continuous evolution of the coefficients and, generally, continuous paths for the solutions as well. Accordingly, if the \(140\) isolated roots of \(I\) are known for a generic \(\mathbf{P}=\mathbf{P}_0\), the solutions for any other \(\mathbf{P}\) may be found by tracking the homotopy

$$\begin{aligned} I \left( \mathbf{Y}, \left( 1-t\right) \mathbf{P}_0+t\mathbf{P}\right) = \mathbf{0}, \end{aligned}$$
(7)

with \(t\) varying from \(0\) to \(1\) or, more robustly, along the curve \(t={\gamma t'}/\left[ 1+(\gamma -1)t'\right] \), with \(t'\in [0,1]\) and \(\gamma \in \mathbb {C}\). In this case, only \(140\) paths need to be tracked, and paths corresponding to solutions at infinity are avoided. By this approach, \({\mathtt {Bertini}}\) converges to the solutions of the example reported in Table 1 in roughly \(4.28\) min (with the default settings). Among these solutions, only two are real, and only one has positive tension in all cables. The latter solution is listed in row \(1\) of Table 1.

3.3 Maximum Number of Real-Valued Solutions

The DGP of a CDPR suspended by five cables has \(140\) solutions in the complex field. However, since some roots may remain complex no matter how robot parameters are varied, the maximal number of real solutions may be smaller than \(140\). Determining a tight bound for this count is a challenging task. By a continuation procedure originally proposed by Dietmaier [8], and recently adapted by the authors to the DGP of underconstrained CDPRs [1], several sets of geometric parameters for which the DGP provides at the most \(74\) real configurations have been found so far. An example is as follows: \(\mathbf{a}_2=[1.44417,0,1.20333]\), \(\mathbf{a}_3=[0.302415,1.26206,0.55533]\), \(\mathbf{a}_4=[-0.711127,0.808726,0.810451]\), \(\mathbf{a}_5=[0.749568,0.761578,-0.469085]\), \(\mathbf{b}_1=[2.16169,0,0]\), \(\mathbf{b}_2=[-0.125711,0,1.32615]\), \(\mathbf{b}_3=[-0.412791,0.0211425, 0.449869]\), \(\mathbf{b}_4=[-0.16265,-0.468249,-0.399945]\), \(\mathbf{b}_5=[1.59653,1.31446, 0.96224]\), \(({\rho }_1,{\rho }_2,{\rho }_3,{\rho }_4,{\rho }_5)=(2.46449,1.99586,1.20622,1.42395,2.4302)\).

Table 1 Real equilibrium configurations with nonnegative cable tensions of a five-cable robot with: \(\mathbf{a}_1=[0,0,0],\mathbf{a}_2=[1,2,-0.75],\mathbf{a}_3=[3.5,1,1],\mathbf{a}_4=[3.25,-1,1],\mathbf{a}_5=[1,-2,-0.5], \mathbf{b}_1=[-1,0,-1],\mathbf{b}_2=[-0.5,1,-1.25],\mathbf{b}_3=[0.75,0.75,-1.25],\mathbf{b}_4=[0.5,-0.75,-1.25],\mathbf{b}_5=[-0.25,-0.8,-1.5], ({\rho }_1,{\rho }_2,{\rho }_3,{\rho }_4,{\rho }_5)=(4.5,5,3,3.75,4.75)\), \(Q=10\) and \(\mathbf{k}=[0,0,1]\)

4 Equilibrium Configurations with Unloaded Cables

When cable lengths are assigned as inputs, nothing ensures, a priori, that when the EE reaches its stable equilibrium pose all cables are in tension, since configurations may exist in which the EE is supported by only \(m\) cables, with \(m\le 5\) and \(5-m\) cables being slack. Accordingly, the overall solution set emerges by solving the DGP for all possible constraint sets \(\lbrace \parallel {A_j-B_j}\parallel ={\rho }_j,j\in \mathcal {W}\rbrace \), with \(\mathcal {W}\subseteq \lbrace 1,2,3,4,5\rbrace \) and \({{\mathrm{card}}}(\mathcal {W})\le 5\). Clearly, when the \(k\)th cable is slack, the distance \(\parallel {A_k-B_k}\parallel \) cannot be greater than the assigned \({\rho }_k\). Hence, for any subset \(\mathcal {W}\), only the solutions for which \(\parallel {A_k-B_k}\parallel \le {\rho }_k\), for all \(k\notin {\mathcal {W}}\), must be retained. In general, for a robot with five cables, \(31\) DGPs need to be solved, namely one DGP with five active cables, five DGPs with four active cables, ten DGPs with three active cables, ten DGPs with two active cables, and five DGPs with one active cable.

Table 1 shows the overall results for an exemplifying geometry. Due to space limitations, only the real solutions with nonnegative tension in all cables are reported. These comprise one configuration with five cables in tension (row \(1\)), two configurations with four cables in tension (rows 2–3), seven configurations with three cables in tension (rows 4–10), and four configurations with two cables in tension (rows 11–14). Stability is assessed by means of a reduced Hessian matrix \(\mathbf{H}_r\), as proposed in Ref. [5]. Symbols \(>\), \(<\) and \(<>\) denote, respectively, a positive-definite, a negative-definite and an indefinite matrix. A solution is stable when \(\mathbf{H}_r\) is positive-definite. For the case at hand, the robot has a single stable configuration, with three cables in tension.

5 Conclusions

This paper studied the direct geometrico-static problem (DGP) of underconstrained cable-driven parallel robot with five cables. The task consists in finding all equilibrium configurations that are compatible with the assigned cable lengths. Since the equations governing the problem comprise both geometrical and static constraints, the DGP is a challenging task.

A least-degree univariate polynomial was numerically obtained by an elimination procedure, thus showing that \(140\) solutions exist in the complex field. A continuation algorithm was then developed to identify a robot geometry leading to the highest number of real equilibrium configurations. A bound of \(74\) real configurations was estimated. After the solutions with nonnegative tension in all cables are sifted and stability is considered, the number of feasible configurations decreases remarkably.

For the efficient computation of the whole solution set, including configurations with slack cables, an algorithm based on parameter homotopy continuation was developed. The algorithm is the foundation of the software \({\mathtt {DGP-Solver}}\), which is currently being developed by the authors to automatize the computation of all equilibrium configurations of a CDPR with an arbitrary number of cables.