Keywords

1 Introduction

A cable-driven robot consists of a moving point-mass end-effector/platform, fixed points with actuated motors/pulleys, and cables connecting the end-effector to the fixed points. Thanks to the advantages of lightweight cables, cable-driven robots have little inertia, high velocity/accelerations, a large workspace and high load capability. These advantages make them suitable to be used in force feedback haptic applications (e.g. [1,2,3]). However, the cable-driven robots have some disadvantages such as the fact that cables can only pull the end-effector but not push it. In addition, it is necessary to achieve positive tension in all the cables to avoid slacking, which might prevent proper winding around the pulleys.

According to the number of cables \( m \) and the number of degrees-of-freedom (DOF) \( n \), cable-driven robots can be classified into two groups: (i) under-constrained if \( m \le n \) and (ii) fully- or over constrained if \( m > n \). As pointed out in the literature [1, 2], in order to be able to produce an end-effector force in any direction while maintaining positive tension in all cables, the number of cables must be at least \( n + 1 \) or there must be an external force such as gravity or a spring if the cable-driven robots are under-constrained. When \( m > n + 1 \), cable-driven robots are redundantly actuated and there is an infinite number of feasible solutions with positive cable tensions.

Many methods have been proposed in the literature (see reviews in [1,2,3,4]) to deal with the minimization of positive cable tension and the determination of the feasible wrench workspace. These minimization methods can be classified as numerical and analytical. The numerical methods are based on iterative calculations and mostly give approximate solutions. They include a convex optimization method using Dykstra’s alternating projection algorithm to solve minimum L2-norm cable tensions of cable-driven robots [6]. They also include linear programming formulations for optimal tension distribution [7] as well as a quadratic programming formulation, which can yield good solutions even when the optimal solution is outside the feasible workspace [11]. In [9, 10], the authors used the Karush-Kuhn-Tucker algorithm to iteratively solve the redundancy resolution of cable-driven robots. Tang et al. [12] developed a geometrical-based convex analysis method with less iterative calculation and complexity to calculate the workspace of fully-constrained cable-driven robots and to optimize cable tension distribution. While numerical methods based on the iterative computation of the optimal solution are quite general and can be applied to a wide variety of cable-driven systems, they are also usually very computationally intensive and normally not suited for real-time control because of time constraints.

In contrast to numerical methods, analytical methods produce closed-form solutions. While they are usually less general, they are preferable for real-time implementations due to lesser complexity and time demands. In [5], Fang et al. presented an analytically-based method for optimum cable tension distribution of a 6-DOF cable-driven robot with seven cables. However, this method can only be applied to cable-driven robots having \( n + 1 \) actuators. Pott [8] focused on computational speed, real-time capability, maximum redundancy, and continuity of force distribution. He improved a closed-form method but the minimization of cable tension has weak solutions due to the medium feasible cable force. In [13], Mikelsons et al. focused on the continuous solution of the cable tensions and developed an algorithm without iterative steps for the real-time control of cable-driven robots. Since this algorithm needs to calculate the QR decomposition of the structure matrix for each vertex of the polytope, the approach is still computationally intensive and time inefficient. In order to avoid discrete cases and complex calculation of the cable tension distribution, Gosselin and Gernier [14] proposed a non-iterative algorithm to minimize the L2- and Lp-norm of the relative force vector. However, this method can only be applied to cable-driven robots having \( m = n + 1 \) cables because the \( n \) degree of formulation of cable tensions is symbolically written in terms of one extra cable and a unique solution is calculated for that cable tension, and then the remaining cable tensions are straightforwardly determined. In [15, 16], for computationally efficient tension distribution of the cable-driven robots having only two actuated redundancies, the authors extended the barycenter algorithm of [13] by using the centroid of a two-dimensional polytope as the desired cable tension distribution. However, this method is computationally costly to find the feasible continuous cable tensions. In [17], Williams et al. proposed a non-iterative method to maintain positive cable tension for a 4-cable planar device by utilizing the method of Shen et al. in [18].

In this study, we present a simple algorithm to compute the minimum cable tension solutions for a 2-DOF planar robot driven by four cables (n = 2 and m = 4). We provide geometrical proofs of the validity of the algorithm. We consider both the absolute value (\( L_{1} \)) and the Euclidian (\( L_{2} \)) norms. Our algorithm is simpler than other non-iterative algorithms [13, 14, 16] and provides some geometrical insight about the solution.

2 Problem Definition

Let us consider a cable-driven robot with one end-effector connected to four motors by four cables. Each cable has a fixed entry point with the other extremity attached to a central end-effector. All entry points \( A_{i} \) are on the same plane. The end-effector position \( x \) corresponds to the point where the cables are connected together. We define the workspace as the area where it might be possible to move \( x \) by controlling the cable lengths. Typically, the four entry points are arranged to form a rectangle.

Let \( u_{i} \) be the cable directions (unit vectors) corresponding to some end-effector position x inside the workspace.

$$ u_{i} = \frac{{A_{i} - x}}{{A_{i} - x}} $$
(1)

We want to find a set \( \left\{ {t_{i} , i = 1, \ldots ,4} \right\} \) of cable tensions such that

$$ f = t_{1} u_{1} + t_{2} u_{2} + t_{3} u_{3} + t_{4} u_{4} $$
(2)

with the constraint that cable tensions are positive or null \( t_{i} \ge 0 \) and the \( L_{2} \) (or Euclidian) norm is minimum.

$$ \left\| T \right\|_{2} = \sqrt {t_{1}^{2} + t_{2}^{2} + t_{3}^{2} + t_{4}^{2} } \to { \hbox{min} } $$
(3)

Since the square function is monotonic, the minimum for this norm is the same as that of the squares of the cable tensions.

Another possible optimal solution might correspond to the minimum of the absolute value (\( L_{1} \) or Manhattan) norm.

$$ \left\| T \right\|_{1} = \left| {t_{1} } \right| + \left| {t_{2} } \right| + \left| {t_{3} } \right| + \left| {t_{4} } \right| \to { \hbox{min} } $$
(4)

In the following sections, we first present the two-cable algorithm and the three-cable algorithm, then consider the optimal cable tension solutions for the Euclidian norm and then for the absolute value norm. A priori, the optimal solution might involve any number of cables.

3 The Two-Cable Solution

Two cables are necessary and sufficient to produce an arbitrary force in the entire workspace. To show this, one can pick the two cables T12 = [t1, t2] that bracket the force direction and project the force on them.

Let \( u_{1} \) and \( u_{2} \) be the direction of the two cables that bracket the force:

$$ \varphi_{1} = \tan^{ - 1} \frac{{u_{1y} }}{{u_{1x} }} < \varphi = \tan^{ - 1} \frac{{f_{y} }}{{f_{x} }} \le \varphi_{2} = \tan^{ - 1} \frac{{u_{2y} }}{{u_{2x} }} $$
(5)

By construction, the force is

$$ f = t_{1} u_{1} + t_{2} u_{2} = \underbrace {{\left[ {\begin{array}{*{20}c} {u_{1} } & {u_{2} } \\ \end{array} } \right]}}_{U}\left[ {\begin{array}{*{20}c} {t_{1} } \\ {t_{2} } \\ \end{array} } \right] = UT_{12} $$
(6)

The solution for the cable tension is

$$ T_{12} = \left[ {\begin{array}{*{20}c} {t_{1} } \\ {t_{2} } \\ \end{array} } \right] = U^{ - 1} f $$
(7)

Geometrically, the matrix \( U^{ - 1} \) projects the force \( f \) on the cable directions \( u_{1} \) and \( u_{2} \) as seen in Fig. 1. The fact that the two cables bracket the force insures that \( t_{1} \) and \( t_{2} \) are always positive. For the same reason, \( U \) is always invertible (the two cable directions bracketing \( f \) are never collinear).

Fig. 1.
figure 1

Example of two- and three-cable solutions in a planar workspace. Angles between the force f and the cable directions u1, u2 and u3 correspond to −40, 10 and 95°, respectively. Left: For the two-cable solution, the cable tensions are t1 = 0.227, t2 = 0.839. The L1 and L2-norms are |T|1 = 1.066 and |T|2 = 0.755 respectively. Right: For the three-cable solution, the cable tensions are t1 = 0.403, t2 = 0.714, t3 = 0.135, and the norms are ‖T‖1 = 1.252 and ‖T‖2 = 0.691, respectively. In this example, the three-cable algorithm is better than the two-cable algorithm. The decrease of the cable tension t2 in the three-cable algorithm relative to the two-cable algorithm is enough to compensate for the increase in cable tension t1 and t3.

Remark 1.

When the force is aligned with a cable direction (\( {\text{u}}_{2} \)), the two-cable algorithm yields a one-cable solution. This is easy to show geometrically since the oblique projections of \( {\text{f}} \) on \( {\text{u}}_{1} \) and \( {\text{u}}_{2} \) are 0 and \( \left| {\text{f}} \right| \), respectively when \( {\text{f}} \) is aligned with \( {\text{u}}_{2} \).

Further on, we demonstrate that the two-cable algorithm is always optimal for the absolute value (\( L_{1} \)) norm. However, as illustrated in Fig. 1, the two-cable algorithm does not always provide a solution that minimizes the Euclidian (\( L_{2} \)) norm.

4 The Euclidian Norm and the Three-Cable Solution

In this section, we describe an algorithm to compute the optimal solution for the L2-norm. Depending on the position of the end-effector in the workspace and on the direction of the force, this solution might involve up to three cables. The problem is (i) to know how many cables are involved in the optimal L2-norm solution, (ii) which cables are involved and, (iii) to compute the tensions for all cables involved.

The complete algorithm is described below. For the moment, let us assume that we know that the optimal solution involves the three cables \( u_{1} \), \( u_{2} \) and \( u_{3} \). The question is how to compute the corresponding tension.

By assumption, the external force is a linear combination of the three cable forces:

$$ f = \left[ {\begin{array}{*{20}c} {u_{1} } & {u_{2} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {t_{1} } \\ {t_{2} } \\ \end{array} } \right] + t_{3} u_{3} = UT_{12} + t_{3} u_{3} $$
(8)

Cable tensions t1 and t2 can be expressed as a function of cable tension t3:

$$ T_{12} = U^{ - 1} \left( {f - t_{3} u_{3} } \right) = U^{ - 1} f - t_{3} U^{ - 1} u_{3} = A - t_{3} B $$
(9)

where \( U^{ - 1} \) is the inverse of the 2 × 2 matrix \( U \). Written in components we have an expression for \( t_{1} \) and \( t_{2} \) as a function of \( t_{3} \)

$$ \left[ {\begin{array}{*{20}c} {t_{1} } \\ {t_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {a_{1} } \\ {a_{2} } \\ \end{array} } \right] - t_{3} \left[ {\begin{array}{*{20}c} {b_{1} } \\ {b_{2} } \\ \end{array} } \right] $$
(10)

As shown in Fig. 2, geometrically, vector \( A \) is the projection of force \( f \) on cable direction \( u_{1} \) and \( u_{2} \). Vector \( B \) is the projection of \( u_{3} \) on \( u_{1} \) and \( u_{2} \).

Fig. 2.
figure 2

Geometric interpretation of the components of vector A and vector B. Sectors I, II, III and IV define the cable directions ui where u1 and u2 are the force directions that bracket the force and u3 is the direction of the third that belongs to the optimal solution.

If \( u_{1} \) and \( u_{2} \) are the cable directions that bracket \( f \), then \( a_{1} \) and \( a_{2} \) correspond to the two-cable algorithm and must be positive. \( b_{1} \) and \( b_{2} \) are the projection of \( u_{3} \) on \( u_{1} \) and \( u_{2} \). If \( u_{3} \) is in sector II, \( b_{1} \) is negative and \( b_{2} \) is positive. The opposite is true if \( u_{3} \) is in sector IV. \( b_{1} \) and \( b_{2} \) are negative if \( u_{4} \) is in sector IV. Note that \( u_{3} \) cannot be in sector I because we have assumed that \( u_{1} \) and \( u_{2} \) bracket the force.

In order to minimize the total cable tension for the Euclidian (\( L_{2} \)) norm, we can write the function for the three-cable algorithm as

$$ \left\| T \right\|_{2} = t_{1}^{2} + t_{2}^{2} + t_{3}^{2} \to { \hbox{min} } $$
(11)

This implies that

$$ 0 = \frac{\delta }{{\delta t_{3} }}\left( {t_{1}^{2} + t_{2}^{2} + t_{3}^{2} } \right) = 2t_{1} \frac{{\delta t_{1} }}{{\delta t_{3} }} + 2t_{2} \frac{{\delta t_{2} }}{{\delta t_{3} }} + 2t_{3} $$
(12)

Substituting Eq. (10) with the partial derivatives into Eq. (12), can be solved for \( t_{3} \) as follows:

$$ t_{3} = \frac{{a_{1} b_{1} + a_{2} b_{2} }}{{1 + b_{1}^{2} + b_{2}^{2} }} $$
(13)

\( t_{1} \) and \( t_{2} \) can now be computed using Eq. (10). Because we have assumed that the optimal solution involved these three cables, t1, t2 and \( t_{3} \) must be positive.

The complete algorithm addresses the remaining issues, i.e. how to select the cables involved in the optimal solution in addition to how to compute the tension for these cables.

figure a

Remark 2.

Geometrical intuition might suggest that a cable must make an angle of less than 90° with the external force as a necessary condition to be part of the optimal solution. The example of Fig. 1 shows, however, that this is not the case. A small contribution along cable direction u3 can improve the L2-norm solution even though this cable makes an angle larger than 90° with respect to the external force. The above algorithm resolves the problem of determining when the three cable solution is valid by looking at the sign of the third cable in the two possible three-cable solutions.

Remark 3.

As presented above, using the position of the end-effector and the direction of the force, minimum cable tension algorithm makes simple calculations with square-invertible matrix to solve how many and which cables with minimum tensions. In addition, our algorithm does not need to calculate all the intersection points of the feasible tension distribution polytopes like other non-iterative methods [13, 14, 16]. In terms of computational simplicity or efficiency, our algorithm is very fast and convenient for real-time implementations.

5 Proofs

In this section, we provide simple proofs, based on geometric reasoning, to establish the correctness of this algorithm. We also demonstrate that the two-cable solution is always optimal for the absolute value (\( L_{1} \)) norm.

We start by considering the optimal solution for a three-cable device.

Theorem 1.

The two-cable algorithm gives the optimal solution for a cable-driven system with only three cables. This is true for the \( L_{1} \) and \( L_{2} \) norms.

Proof.

Let \( u_{1} \) and \( u_{2} \) be the cable directions that bracket force \( f \). We want to show that \( u_{3} \) cannot contribute to the solution. In a system with three cables, the angle between \( u_{3} \) and \( u_{1} \) or \( u_{2} \) is always less than π for any position inside the workspace.

We know that the optimal three-cable solution corresponds to \( t_{1} = a_{1} - t_{3} b_{1} \) and \( t_{2} = a_{2} - t_{3} b_{2} \). Let us select \( u_{1} \) and \( u_{2} \) as the cable directions that bracket force \( f \). In this case, it is easy to see that \( a_{1} \) and \( a_{2} \), the parallel projections of \( f \) on \( u_{1} \) and \( u_{2} \), must be positive. Similarly, \( b_{1} \) and \( b_{2} \), the parallel projections of u3 on u1 and u2, must be negative.

The \( L_{1} \) and \( L_{2} \) norms for the two-cable solution are \( \left| {a_{1} \left| {\; + \; } \right|a_{2} } \right| \) and \( a_{1}^{2} + a_{2}^{2} \) respectively, since \( a_{1} \) and \( a_{2} \) correspond to the two-cable solution. Since \( b_{1} \) and \( b_{2} \) are negative and \( t_{3} \) must be positive, it is easy to see that any positive value of \( t_{3} \) will also increase \( t_{1} \) and \( t_{2} \) with respect to the two-cable solution for both norms. Therefore, the optimal solution corresponds to the two-cable solution.

Note that this demonstration does not hold for a four-cable device because there might be a case where \( b_{1} \) and \( b_{2} \) have a different sign with four cables (this is the case in Fig. 2 where the projection of u3 on u1 is negative and the projection of u3 on u2 is positive).

Lemma 1.

If {ui, uj, uk} is an optimal three-cable solution for a four-cable system, the end-effector must be outside the triangular workspace defined by the corresponding attachment points.

Proof. The lemma is proven by showing that the end-effector cannot be inside the workspace. Let us assume that the end-effector is inside the triangular workspace defined by attachment points of the optimal three-cable solution (see Fig. 3, left panel). Since the fourth cable does not contribute to the optimal solution by assumption, the three-cable solution should be optimal for this reduced three-cable system. However, this is not possible because Theorem 1 states that all optimal solutions for a three-cable system are two-cable solutions. Therefore, the end-effector must be outside the workspace as shown in Fig. 3 (right panel).

Fig. 3.
figure 3

Representation of the end-effector inside and outside of the triangular workspace (grey area) in the left and right panels respectively.

Lemma 2.

If {ui, uj, uk} is an optimal three-cable solution for a four-cable system, then the direction of the force is bracketed by the cable directions of this reduced system.

Proof.

From Lemma 1, we know that the end-effector position must be outside the triangular workspace defined by the attachment points of the three-cable optimal solution. In this configuration, the external force is necessarily bracketed by two of the cables of this system (see gray filled area in Fig. 3, right panel).

Theorem 2.

For a four-cable system, the optimal solution always involves the two cables direction bracketing the force.

Proof.

To prove this theorem, we consider separately all possible cases. (1) If optimal solution involves only two-cables, then the force is necessarily bracketed by those two cables that are part of the solution because the cables can only pull. (2) The one-cable solution is a special case of the two-cable solution. (3) If the solution involves three cables, Lemma 1 tells us that the end-effector must be outside the corresponding workspace and Lemma 2 tells us that the force direction must be bracketed by two of the three cables involved in the corresponding reduced system. (4) If a four-cable solution existed (but see below), it would necessarily involve the two cables bracketing the force.

This theorem is key to justifying the initial choice of cable directions u1 and u2 in the above algorithm (see point 1).

Theorem 3.

This theorem states the other assumptions on which the algorithm relies:

A1. A negative t3 value obtained from Eq. (13) implies that the optimal solution involves two cables.

A2. A positive t3 obtained from Eq. (13) implies t1 and t2 must be positive.

A3. The three-cable solution is unique.

A4. For a four-cable system, the optimal solution cannot involve all cables.

Assumption 1 is used in point 3.a. Assumption 2 is used in point 3.b in the sense that the algorithm only checks the value of t3 to identify a valid three-cable solution. Assumption 3 is used in the sense that the algorithm does not check for the validity of the second three-cable solution if the first one is valid.

Proof. By definition, we know that the value of t3 obtained by Eq. (13) minimizes the L2 norm. By the formula \( t_{i} = a_{i} - t_{3} b_{i} \), the changes in \( t_{1} \) and \( t_{2} \) are linearly related to the change in \( t_{3} \). Since the L2-norm is convex, we need to change \( t_{3} \) (and \( t_{1} \) and \( t_{2} \)) as little as possible.

To prove A1, it is enough to note that the smallest adjustment of a negative t3 needed to make it compatible with a non-null constraint corresponds to \( t_{3} \) = 0, which also corresponds to the two-cable solution since T12 = A when ti = 0 (i = 3 or 4, see Fig. 4).

Fig. 4.
figure 4

Example of a configuration where the minimum L2-norm three-cable solution (vertical dotted line) is not valid because the tension for the third cable is negative. The first two cables correspond to the cables bracketing the force. The third cable (t3 in the left panel and t4 in the middle panel) corresponds to the cables attached to A3 and A4 respectively. The best valid solution is obtained by setting this cable tension to zero (vertical solid line), which corresponds to the two-cable solution plotted in the right panel.

A2 is proven by absurdum. We start by assuming that \( t_{3} \) is positive and \( t_{1} \) negative and show that this leads to a contradiction. To keep the L2-norm as small as possible, t1 and t3 should change as little as possible. This means setting \( t_{3} \) so that \( t_{1} = a_{1} - t_{3} b_{1} = 0 \). However, setting \( t_{1} = 0 \) would mean that the optimal solution did not involve one of the two cables that bracket the force. Since this is not possible (Theorem 2), \( t_{1} \) (or \( t_{2} \)) cannot be negative if \( t_{3} \) is positive.

A3 is a consequence of the convexity of the L2-norm.

To prove A4, assume that an optimal four-cable solution exists, with \( u_{1} \) and \( u_{2} \) bracketing the force. We can consider the contribution of the two other cables \( u_{3} \) and \( u_{4} \) and replace this four cable system by a three cable system where the third cable \( u_{34} \) is placed so that its contribution is aligned with the sum of the two contributions \( t_{34} u_{34} = t_{3} u_{3} + t_{4} u_{4} \). The \( L_{2} \) and \( L_{1} \) norms for this three-cable system are better than the corresponding norms for the optimal four-cable solution since \( t_{34}^{2} < t_{3}^{2} + t_{4}^{2} \) or \( \left| {t_{34} } \right| < \left| {t_{3} } \right| + \left| {t_{4} } \right| \). However, from Theorem 1 we know that the optimal solution for a three-cable system involves only the two cables bracketing \( u_{1} \) and \( u_{2} \), therefore this three-cable solution cannot not be optimal. This implies that our assumption that a four-cable solution exists is not true.

Theorem 4.

The two-cable solution is optimal for the \( L_{1} \) norm.

Proof.

From Eq. (10) and the \( L_{1} \) norm, we have

$$ \left\| T \right\|_{1} = \left| {t_{1} } \right| + \left| {t_{2} } \right| + \left| {t_{3} } \right| = \left| {a_{1} - t_{3} b_{1} } \right| + \left| {a_{2} - t_{3} b_{2} } \right| + \left| {t_{3} } \right| $$
(14)

where [a1 a2] = U−1f and [b1 b2] = U−1u3 are the projection of f and u3 on u1 and u2 respectively. The cable tensions \( t_{1} \) and \( t_{2} \) must be positive since \( u_{1} \) and \( u_{2} \) are the two cable directions that bracket the force and are part of any optimal solution (see Theorem 2). Moreover, t3 must also be positive to be part of the optimal solution. Therefore, we can remove the absolute value and rewrite the objective function as

$$ \left\| T \right\|_{1} = a_{1} - t_{3} b_{1} + a_{2} - t_{3} b_{2} + t_{3} = (a_{1} + a_{2} ) - t_{3} \left( {b_{1} + b_{2} - 1} \right) $$
(15)

with the constraint \( t_{3} \ge 0 \).

\( a_{1} + a_{2} \) is the \( L_{1} \) norm for the two-cable algorithm since \( a_{1} \) and \( a_{2} \) are the projections of \( f \) on \( u_{1} \) and \( u_{2} \). The \( L_{1} \)-norm for the three-cable solution will be smaller only if \( b_{1} + b_{2} - 1 \) is positive since \( t_{3} \) cannot be negative. To prove that the two-cable algorithm gives an optimal solution, we therefore need to prove that the three-cable solution is impossible; that is, \( b_{1} + b_{2} - 1 \) is always negative or \( b_{1} + b_{2} < 1 \).

First, \( b_{1} \) and \( b_{2} \) cannot both be positive since \( u_{3} \) must be outside the sector defined by \( u_{1} \) and \( u_{2} \), which brackets the force. If both \( b_{1} \) and \( b_{2} \) are negative, the demonstration is finished since \( b_{1} + b_{2} < 1 \) because \( b_{1} < 0 \) and \( b_{2} < 0 \). Thus, we need to consider only the case where \( b_{1} \) and \( b_{2} \) have a different sign.

To that end, we consider the parallelogram formed by the projection of \( u_{3} \) on \( u_{1} \) and \( u_{2} \) as shown in Fig. 5. The length of the diagonal corresponding to \( u_{3} \) is 1

$$ \left| {u_{3} } \right| = \sqrt {b_{1}^{2} + b_{2}^{2} - 2b_{1} b_{2} \cos \alpha } = 1 $$
(16)
Fig. 5.
figure 5

Projection of \( u_{3} \) on \( u_{1} \) and \( u_{2} \).

Thus, we have

$$ 1 = b_{1}^{2} + b_{2}^{2} - 2b_{1} b_{2} \cos \alpha $$
(17)

We want to demonstrate

$$ b_{1} + b_{2} < 1 $$
(18)

or

$$ \left( {b_{1} + b_{2} } \right)^{2} = b_{1}^{2} + b_{2}^{2} + 2b_{1} b_{2} < 1 $$
(19)

Substituting (17) into (19), we need to verify that

$$ b_{1}^{2} + b_{2}^{2} + 2b_{1} b_{2} < b_{1}^{2} + b_{2}^{2} - 2b_{1} b_{2} \cos \alpha $$
(20)

Since \( b_{1} b_{2} \) is always negative, the division will change the sign of the inequality (20) and we can rewrite it as

$$ 1 > - \cos \alpha $$
(21)

which is always true for \( \pi \ge \alpha > 0 \).

Extensive simulations showed that this algorithm works. We think that we have also proven that it is correct. It would be nice to have a geometric criterion that indicated when there is a two- or three-cable solution for the \( L_{2} \)-norm rather than relying on the sign of \( t_{3} \) but the algorithm is also quite computationally efficient. It only requires inverting a \( 2\, \times \,2 \) matrix and a few additional operations and tests.

6 Conclusion

The main contribution of this study is the description of an efficient algorithm to minimize the cable tensions of a four-cable system with two DOFs. We have also shown that (i) the optimal solution always involves the two cables bracketing the force, (ii) the two-cable solution is always optimal for a three-cable system, (iii) the two-cable solution is always optimal for the \( L_{1} \) norm. For a four-cable system, we described the algorithm to compute cable tensions that minimize the L2 norm, and also identified conditions for the three-cable solution.

The reason why the L1 norm solutions involve only two cables is that the increase in tension of the third is greater than the decrease in tension of the cable(s) bracketing the external force. Compared to the solutions for the L1 norm, the solutions for the \( L_{2} \) norm tend to avoid having a relatively large cable tension. In other words, the \( L_{2} \) norm will distribute the force in a way that equalizes the tension across cables more so than the \( L_{1} \) norm.

The difference between the L2-norm for the two- and three-cable solutions is generally relatively small. One might wonder from a practical point of view whether it is worth it to consider the optimal three-cable solution for the \( L_{2} \) norm. One reason might be that three maximal tension-limited cables are able to produce markedly larger end-effector forces in some configurations than two cables.

We readily acknowledge the limits of our algorithm. In particular, we did not consider the fact that cable tensions must generally be somewhat above zero to avoid slacking when the end-effector moves. This problem could be handled by assuming a minimum tension tmin on all cables and calculating the net force fmin resulting from the minimum cable tensions. Then our algorithm could be applied to the difference ffmin with the desired force f to find the optimal cable tensions ti that correspond to this difference. These cable tensions could then be added to tmin to produce the desired force.

When we compared our algorithm against other non-iterative algorithms [13, 14, 16], from geometric point of view it provides the minimum and faster solution with a few simple mathematical calculations. In the future, we intend to implement the proposed algorithm in a planar cable-driven force-feedback device with four motors under development for haptic applications in an educational context.