Jean-Pierre Merlet

Direct kinematics of CDPR with extra cable orientation sensors: the 2 and 3 cables case with perfect measurement and ideal or elastic cables

Direct kinematics (DK) of cable-driven parallel robots (CDPR) based only on cable lengths measurements is a complex issue even with ideal cables and consequently even harder for more realistic cable models. A natural way to simplify the DK solving is to add sensors. We consider here sensors that give a partial or complete measurement of the cable direction at the anchor points and spatial CDPR with 2/3 cables and we assume that these measurements are exact. We provide a solving procedure and maximal number of DK solutions for an extensive combination of sensors while considering two different cables models: ideal and linearly elastic without deformation.

Introduction

We consider cable-driven parallel robot (CDPR) with 3 cables whose output point on the base is A i and anchor point B i on the platform. The known distance between B i , B j will be denoted d i j and length of cable i will be denoted ρ i . Solving the direct kinematics (DK) problem with only as input the ρ's is clearly an issue in parallel robotics. Although relatively well mastered for parallel robots with rigid legs, it is still an open issue for CDPR. Even if we assume ideal cable (with no elasticity and no deformation of the cable due to its own mass) the DK problem leads to a larger number of equations than in the rigid leg case [START_REF] Bruckman | Parallel manipulators, New Developments, chapter Wire robot part I, kinematics, analysis and design[END_REF] and consequently to solving problems [START_REF] Abbasnejad | Real solutions of the direct geometrico-static problem of underconstrained cable-driven parallel robot with 3 cables: a numerical investigation[END_REF][START_REF] Abbasnejad | Direct geometrico-static problem of underconstrained cabledriven parallel robots with n cables[END_REF][START_REF] Merlet | Solving the direct geometrico-static problem of the 3-3 cable-driven parallel robots by interval analysis: preliminary results[END_REF][START_REF] Carricato | Direct geometrico-static problem of under-constrained cabledriven parallel robots with three cables[END_REF][START_REF] Carricato | Direct geometrico-static analysis of under-constrained cabledriven parallel robots with 4 cables[END_REF][START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF][START_REF] Pott | An algorithm for real-time forward kinematics of cable-driven parallel robots[END_REF], although finding all solutions is possible at the expense of a rather large computation time [START_REF] Merlet | Solving the direct geometrico-static problem of underconstrained cable-driven parallel robots by interval analysis[END_REF]. If we assume linearly elastic cables similar solving problem arise [START_REF] Merlet | On the real-time calculation of the forward kinematics of suspended cable-driven parallel robots[END_REF]. All the proposed DK algorithms exhibit a large computation time that prohibits their use in a real-time context. In this case fast and safe algorithms have been proposed [START_REF] Merlet | On the real-time calculation of the forward kinematics of suspended cable-driven parallel robots[END_REF][START_REF] Pott | An algorithm for real-time forward kinematics of cable-driven parallel robots[END_REF]: still several DK solutions may exist even in a small neighborhood around the previous pose so that the proposed algorithms will fail.

An intuitive approach to avoid the non-unicity problem and to speed up the solving time of the DK is to add sensors that provide additional information on the cable beside the cable lengths, as already proposed for classical parallel robots [START_REF] Bonev | A closed-form solution to the direct kinematics of nearly general parallel manipulators with optimally located three linear extra sensors[END_REF][START_REF] Han | New resolution scheme of the forward kinematics of parallel manipulators using extra sensor data[END_REF][START_REF] Merlet | Closed-form resolution of the direct kinematics of parallel manipulators using extra sensors data[END_REF][START_REF] Parenti-Castelli | Real-time computation of the actual posture of the general geometry 6-6 fully parallel mechanism using only two extra rotary sensors[END_REF]. A natural candidate will be to measure the cable tensions as they play an important role in the solving. Unfortunately force measurements are usually noisy and measuring these tensions on a moving platform submitted to various mechanical noises appears to be difficult [START_REF] Krauss | System identification and cable force control for a cable-driven parallel robot with industrial servo drives[END_REF][START_REF] Miermeister | Auto calibration method for cable-driven parallel robot using force sensors[END_REF]. Although several attempts have been made of integrating force sensing in CDPR, none of them have presented clear result about the reliability of the measurement.

In this paper we are considering another measurement possibility which consists in getting complete or partial information on the cable direction at the anchor points A. These measurement are, figure 1: • the angle θ V between the x axis and the vertical plane that includes the cable • the angle θ H between the horizontal direction of the cable plane and the cable Realizing such measurement has already been considered: for example our CDPR MARIONET-Assist uses a simple rotating guide at A whose rotation is measured by a potentiometer in order to obtain the measurement of θ V while our CDPR MARIONET-VR is instrumented with a more sophisticated cable guiding system which allows for the measurement of both θ V and θ H (figure 2). For measuring the- ses angles we may also consider a vision system as proposed in [START_REF] Andreff | Image-based visual servoing of a Gough-Stewart parallel manipulator using leg observations[END_REF]. If ρ, θ V , θ H are known, then the location of B is fixed. If only ρ, θ V are known, then B lies on a circle C V centered at A which belong to the vertical cable plane. If only ρ, θ H are known, then B lies on a horizontal circle C H whose center U and radius can easily be calculated as function of ρ, θ H . To characterize the sensor arrangement we will use the following notation:

• θ j V θ j H indicates that the cable j has both θ V , θ H sensors • θ V ( H ) j indicates that the cable j has only θ V ( H ) sensor
We will also use nθ V θ H to indicate that n cables have all both θ V , θ H sensors. Whenever needed xb i , yb i , zb i will denote the coordinates of B i while xa i , ya i , za i Fig. 2 On the left the rotation guide of MARIONET-Assist which allows for the measurement of θ V . On the right the system used on MARIONET-VR for the measurement of both θ V and θ H are the coordinates of A i . In some cases and angle α i will appear and we define T i as tan(α i /2). We may have also to use the mechanical equilibrium equations:

F = J -T τ ( 1
)
where F is the external wrench applied on the platform, assumed here to be only the force applied by the gravity, J -T is the transpose of the inverse kinematic Jacobian and τ the vector of the 3 tensions in the cable. Equations ( 1) are a set of 6 constraint equations. Furthermore if G denotes the center of mass of the platform there are constants l i , k i such that

OG = l 1 B 1 B 2 + l 2 B 1 B 3 + l 3 B 1 B 2 × B 1 B 3 (2) OB 3 = k 1 B 1 B 2 + k 2 B 1 G + k 3 B 1 B 2 × B 1 G (3)
Our objective is to consider an exhaustive set of sensor arrangements and number of sensors and for each of them to determine the computational effort that is required to solve the DK, together with an upper bound on the maximal number m of solutions that may be obtained. As we have redundant information we will consider in each case only one square system leading to a closed-form solution (thereby faster than the DK algorithm based only only on cable lengths) and whenever possible one leading to a minimal number of solutions. The closed-form solution will be obtained through an elimination process leading to a univariate polynomial. Elimination may lead to a polynomial whose degree is higher than the minimal one: in this work we have tried to provide solution with the lowest degree but we cannot claim for minimality. For this preliminary, but exhaustive, work we will consider a spatial CDPR with only 2 and 3 cables. Furthermore we will assume that all measurements are exact, including the cable lengths. Clearly this assumption is not realistic but our purpose is to pave the way to a more complete analysis.

Ideal cable

For an ideal cable the shape of the cable is the straight line between A and B and cable tension does not affect the length of the cable.

The 3 ideal cables case

• case 3θ V θ H , 6 extra sensors: this case is trivial as the measurements provide directly the coordinates of all three B and therefore a single solution of the DK 3 , 5 extra sensors: in that case the locations of B 1 , B2 are known. Consequently B 3 must lie on a circle C 3 lying in a plane that is perpendicular to B 1 B 2 and whose center is located on the line B 1 B 2 , while B 3 is also located on the circle C 3

• case θ 1 V θ 1 H -θ 2 V θ 2 H -θ V ( H )
V Hence B 3 is located at the intersection of two circles, this leading to one of two solutions whose calculation involves solving a univariate quadratic polynomial. Note that the case θ

1 V θ 1 H -θ 2 V θ 2 H -θ 3 H is similar if we substitute C 3 V by C 3 H . • case θ 1 V θ 1 H -θ 2 V θ 2
H , 4 extra sensors: as in the previous case B 3 lies on the circle C 3 and is also located on a sphere centered at A 3 with radius ρ 3 . The intersection of this sphere with C 3 leads usually to 2 intersection points and involves solving a univariate quadratic polynomial. Hence the DK may have at most 2 solutions

• case θ 1 V θ 1 H -θ 2 V -θ 3
V , 4 extra sensors: B 2 lies on a circle C 2 that is in a plane perpendicular to A 2 B 1 , whose center lies on the line A 2 B 1 and whose radius may easily be calculated being given B 1 , ρ 2 , d 12 . It lies also on the circle C 2 V . Consequently there are two possible locations for B 2 that are obtained by solving a univariate quadratic polynomial. In the same manner B 3 lies on a circle that is perpendicular to B 1 A 3 and whose center is located on this line while B 3 also belongs to C 3 V , thereby leading to two possible locations for this point that are obtained by solving a univariate quadratic polynomial. Hence there may be at most 4 possible poses for the platform. Note that changing θ V to θ H for any of the cables 2 and 3 will lead to the same result

• case θ 1 V θ 1 H -θ 2
V , 3 extra sensors: in that case B 1 is fixed and B 2 lies on the circle C 2 V . At the same time B 2 lies on the sphere centered at B 1 with radius d 12 . Consequently there are two possible locations for B 2 whose calculation amounts to solving a univariate quadratic polynomial.. For each of these locations as seen in the previous sections there are up to 2 possible location for B 3 . In summary there are up to four DK solutions that are obtained by solving two univariate quadratic polynomial. Note that the case θ

1 V θ 1 H -θ 2 H is similar. • case 3 -θ V , 3 extra sensors: in that case each of the three B i is constrained to lie on a known circle C i V .
The CDPR is therefore equivalent to a 3 -RS whose DK may lead to 16 solutions that are obtained by solving a 16th order univariate polynomial. The case 3 -θ H will be similar.

• case θ 1 V θ 1
H , 2 extra sensors: in that case B 1 has a fixed position while for j = 2, 3 B j lies on a circle perpendicular to the the line B 1 A j whose center M j lies on this line with a radius r j than can easily be calculated. Hence OB j may be written as OM j + r j cos α j u j + r j sin α j v j where u j , v j are two arbitrary unit vec- tors perpendicular to B 1 A j and perpendicular to each other while α j is an un- known angle that parametrizes the location of B j on its circle. A constraint is that ||B 2 B 3 || = d 23 but this provides only one constraint for the 2 unknowns α 2 , α 3 . We have therefore to look at the mechanical equilibrium equations that involve the 3 unknown tensions in the cable τ j . Using the 3 first equations of the equi- librium (1) allows one to determine τ 1 , τ 2 , τ 3 as functions of α 2 , α 3 . Reporting this result in the last equation of the equilibrium enables us to obtain a second constraint on α 2 , α 3 . The 2 constraint equations are transformed into algebraic equations by using the Weierstrass substitution and calculating the resultant of these two equations leads to a univariate polynomial of degree 8, leading to up to 8 solutions for the DK

• case θ 1 H -θ 2 H , 2 extra sensors: in that case B 1 , B 2 are moving on the hori- zontal circles C 1 H , C 2 H .
Hence we have OB j = OU j + r j cos α j x + r sin α j y for j = 1, 2. Then we have the constraint equations

||B 1 B 2 || 2 = d 2 12 , ||B 1 B 3 || 2 = d 2 13 , ||B 2 B 3 || 2 = d 2 23 , ||A 3 B 3 || 2 = ρ 2 3
which is a set of 4 equations in the 5 unknowns α 1 , α 2 , xb 3 , yb 3 , zb 3 . Hence the geometrical condition are not sufficient to deter- mine the DK solution(s). The mechanical equilibrium equations (1) introduces three new unknowns τ 1 , τ 2 , τ 3 and 6 constraints. The 3 first equations of the me- chanical equilibrium are linear in τ 1 , τ 2 , τ 3 : solving this system leads to the 6th equation of the mechanical equilibrium,

||B 2 B 3 || 2 -d 2 23 -||A 3 B 3 || 2 + ρ 2 3 and ||B 1 B 3 || 2 -d 2 13 -||A 3 B 3 || 2 + ρ 2 3 being linear in xb 3 , yb 3 , zb 3 .
Consequently we have 3 linear equations in xb 3 , yb 3 , zb 3 that may be solved in these unknowns. It remain the equations

||B 1 B 2 || 2 = d 2
12 (A) and the 4th and 5th equations of the mechanical equilibrium. These two later equations may be factored and have a common factor (B) whose cancellation will ensure that these 2 equations are satisfied. Then equations (A) and (B) are functions of the sine and cosine of α 1 , α 2 : using the Weierstrass substitution allows one to obtain 2 algebraic equations in T 1 , T 2 whose resultant in T 2 is a univariate polynomial in T 1 of degree 12.

• case θ 1 H , 1 extra sensors: this case is somewhat similar to the previous one: we have now as unknown α 1 , xb 3 , yb 3 , zb 3 and xb 2 , yb 2 , zb 2 . with the addi- tional constraint ||A 2 B 2 || 2 = ρ 2 2 . As previously we solve the mechanical equilibrium equation to get τ 1 , τ 2 , τ 3 and the other constraints to obtain xb 3 , yb 3 , zb 3 . We end up with a system of 4 equations

||B 1 B 2 || 2 = d 2 12 , ||A 2 B 2 || 2 = ρ 2 2 , ||A 3 B 3 || 2 = ρ 2
3 and the 4th equation of the mechanical equilibrium in the 4 unknowns α 1 , xb 2 , yb 2 , zb 2 . The difference of the two first equations is linear in xb 2 and the last equation is linear in zb 2 . Therefore 2 equations remain in the unknowns α 1 , yb 2 : the resultant in yb 2 leads to a polynomial in T 1 = tan(α 1 /2) which factors out in polynomials of degree 6, 8, 16 and 24.

Table 1 summarizes the previous results for the 3-cables case (the complexity indicates the degree of the polynomials that have to be solved). It must be noted that even a single sensor allows one to drastically reduce the computational effort to get all the DK solutions. case number of sensors complexity number of solution 3θ 1 1 6,8,16,24 54

V θ H 6 1 1 θ 1 V θ 1 H -θ 2 V θ 2 H -θ V ( H ) 3 5 2 2 θ 1 V θ 1 H -θ 2 V θ 2 H 4 2 2 θ 1 V θ 1 H -θ V ( H ) 2 -θ V ( H ) 3 4 2,2 4 θ 1 V θ 1 H -θ V ( H ) 2 3 2,2 4 3 -θ V ( H ) 3 16 16 θ 1 V θ 1 H 2 8 8 θ H (V ) 1 -θ H (V ) 1 2 12 12 θ H (V )
Table 1 For ideal cable: sensors arrangement, total number of sensors, complexity of the solving and maximal number of DK solution(s)

The 2 ideal cables case

We should not forget that although the CDPR has 3 cables it may end up in a pose where only 2 cables are under tension, the remaining one being slack. Without losing generality we may assume that cable 1 and 2 are under tension and cable 3 is slack.

A direct consequence is that the platform fully lies in the vertical plane that includes

A 1 , A 2 , B 1 , B 2 and G. • case θ 1 V θ 1 H -θ 2 V θ 2
H , 4 sensors: a necessary condition to have the platform in the vertical plane including A 1 , A 2 is

(ya 2 -ya 1 )/(xa 2 -xa 1 ) = tan(θ 1 V ) = -tan(θ 2 V ) (4)
If this condition is fulfilled then the locations of B 1 , B 2 are fixed. There are then 2 possible locations for G: one below B 1 B 2 (which is stable) and one above B 1 B 2 (unstable). By choosing an appropriate frame both locations may be determined by solving a linear equation. Using equation (3) we may determine the location of B 3 and check if ρ 3 > ||A 3 B 3 || for confirming the slackness of cable 3.

• case θ 1 V θ 1 H -θ 2
V , 3 sensors: we use equation ( 4) to check if A 1 , A 2 , B 1 , B 2 may be in the same vertical plane (and this is the only use of θ 2 V ). If this is so, then B 1 is in a fixed location, while B 2 belongs to a circle centered in B 1 with radius d 12 and to a circle centered in A 2 with radius ρ 2 . Hence there are two possible locations for B 2 that are obtained by solving a quadratic polynomial. The two possible location of B 3 for each location of B 2 are obtained using the same method as in the previous item for checking the slackness of cable 3 • case θ 1

V θ 1 H , 2 sensors: here we cannot check if A 1 , A 2 , B 1 , B 2 are in the same vertical plane but we still may use the same method than in the previous item and we may obtain up to 4 solutions for the DK, two of them being unstable.

• case θ 1 V -θ 2 V , 2 sensors: if condition (4) holds, then the CDPR becomes a planar CDPR with 2 cables and it is known that to obtain the DK solutions we will have to solve two univariate polynomials of degree 12 [START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF] • case θ 1 H -θ 2 H , 2 sensors: here we will assume that A 1 , A 2 , B 1 , B 2 are in the same vertical plane. Being given the sensor measurements we are able to get the location of B 1 , B 2 in this plane, which will to check if the condition ||B 1 B 2 || = d 12 holds. If this is the case we may solve the DK by using the procedure described for the θ 1

V θ 1 H -θ 2 V θ 2 H case. • case θ 1
H , 1 sensor: here again we will proceed under the assumption that A 1 , A 2 , B 1 , B 2 are in the same vertical plane and use the procedure for the θ 1

V θ 1 H -θ 2 V case to obtain up to 4 DK solutions • case θ 1

V , 1 sensor: the sensor measurement allows to check if A 1 , A 2 , B 1 lie in the same vertical plane. If this is so we resort to the procedure for solving the planar 2-cable DK problem, i.e. solving two univariate polynomials of degree 12 [START_REF] Carricato | Stability analysis of underconstrained cable-driven parallel robots[END_REF] 3 Elastic cable

The shape of the cable is still the straight line between A and B but the cable length and its length at rest ρ r (which is the variable that is controlled and estimated from the winch motion) are related to the cable tension τ by:

τ = k(ρ -ρ r ) if ρ ≥ ρ r , 0 otherwise (5)
where k is the known stiffness of the cable. There is no deformation of the cable whose shape is the straight line between A and B. The same measurement system as for the ideal cable may be implemented and we use the same notation for describing the sensor arrangement. The difference with the ideal case is that the measurement of both θ V , θ H is no more sufficient to determine the location of the B as the cable length is no more known (and so is the radius of the circles C V , C H )..

• case 3θ

V θ H , 6 extra sensors: the 2 sensors on a given cable j provide the cable direction unit vector u j and the three first equations of the mechanical equilibrium may be written as

j=3 ∑ j=1 u j x k(ρ j -ρ j r ) = 0 j=3 ∑ j=1 u j y k(ρ j -ρ j r ) = 0 j=3 ∑ j=1 u j z k(ρ j -ρ j r ) = mg
These 3 equations constitute a linear system in the ρ j that can be solved to obtain these variables. We have then OB j = OA j + ρ j u j that allow to determine the unique pose of the platform.

• case 2 -θ V θ H -θ 3
V , 5 extra sensors: the ρ may be determined using the same method than in the previous case but they are now function of α 3 , the angle used to define B 3 on its vertical circle

C 3 V . The constraint ||B 1 B 2 || 2 = d 2 12
factors out in a polynomial of degree 2 and a polynomial of degree 4, leading to 6 possible DK solutions.

• case θ 1 V θ 1 H -θ 2 V θ 2
H , 4 extra sensors: the unknowns are the 3 ρ and the three coordinates of B 3 . The ρ can be de-termined by solving the first three equations of (1). We consider the 6th equation of the mechanical equilibrium (1) and the two constraints

||B 1 B 2 || 2 = d 2 12 , ||A 3 B 3 || 2 = ρ 2 3 .
We compute in sequence the resultant with respect to xb 3 , yb 3 of these 3 constraints to get a univariate polynomial in zb 3 . This polynomial factors out in 3 polynomials of degree 4. Hence there are at most 12 DK solutions. 3 , 4 extra sensors: The ρ can be determined by solving the first three equations of (1) which are functions of α 2 , α 3 , the two angles that allow to determine the location of B 2 , B 3 on the C 2 V , C 3 V circles. The 6th equation of the mechanical equilibrium (1) factors out in 4 polynomials of degree (2,2) in T 2 , T 3 and one polynomial of degree [START_REF] Andreff | Image-based visual servoing of a Gough-Stewart parallel manipulator using leg observations[END_REF][START_REF] Andreff | Image-based visual servoing of a Gough-Stewart parallel manipulator using leg observations[END_REF] in

• case θ 1 V θ 1 H -θ V ( H ) 2 -θ V ( H )
T 2 , T 3 , while ||B 1 B 2 || 2 = d 2
12 is a polynomial P of degree [START_REF] Andreff | Image-based visual servoing of a Gough-Stewart parallel manipulator using leg observations[END_REF][START_REF] Bruckman | Parallel manipulators, New Developments, chapter Wire robot part I, kinematics, analysis and design[END_REF] in T 2 , T 3 . Taking all resultants in T 3 of all factors of the 6th equation of the mechanical equilibrium with P leads to 5 polynomials of degree 6, 6, 6, 12 and 12 in T 2 .

• case θ V ( H ) 1 -θ V ( H ) 2 -θ V ( H ) 3 , 3 extra sensors:
the unknowns here are the 3 angles α i that define the location of the B i on the vertical circle C V and the ρ's which may be obtained by solving the first three equations of (1). The constraint

||B 1 B 2 || 2 = d 2 12 , ||B 1 B 3 || 2 = d 2 13
and the 6th equation of the mechanical equilibrium are functions of T 1 , T 2 , T 3 . Successive resultants in T 1 , T 2 leads to a univariate polynomial in T 3 which factors out in 6 polynomials of degree 72, one polynomial of degree 12, one of degree 24, 2 of degree 8 and two of degree 4. So an upper bound on the number of solutions is 492, a number which is most probably overestimated.

• case θ 1 V θ 1 H -θ V ( H ) 2
, 3 extra sensors: the unknowns are the 3 ρ, the 3 coordinates of B 3 and the angle α 2 that allow to define the position of B 2 on its vertical circle C 2 V . We use the 3 first equations of the mechanical equilibrium (1) to determine xb 3 , yb 3 , zb 3 . The 6th equation of the mechanical equilibrium, which is linear in ρ 1 , will be used to calculate this unknown. The resultant R 1 of the constraints

||A 3 B 3 || 2 -ρ 2 3 and ||B 2 B 3 || 2 = d 2 23 in ρ 3 is a function of ρ 2 , α 2 . The constraint ||B 1 B 2 || 2 = d 2
12 is only function of α 2 , ρ 2 . The resultant of this equation and of R 1 in ρ 2 is only a function of α 2 . Using the Weierstrass substitution this resultant factors out in 2 polynomials in T 2 of degree 12 and 40

• case θ 1 V θ 1
H , 2 extra sensors: the unknowns are the 3 ρ and the 3 coordinates of B 2 , B 3 . The constraint equations are the 6 equations of the mechanical equilibrium (1), the two equations ||A j B j || 2 -ρ 2 j for j ∈ [2, 3] and the 3 equations

||B i B j || 2 = d 2 i j with i, j > i ∈ [1, 3], i = j.
We first use the 3 first equation of the mechanical equilibrium to determine xb 2 , yb 2 , zb 2 . If we consider the difference between

||B 1 B 3 || 2 = d 2 13 and ||A 3 B 3 || 2 -ρ 2
3 and the 6th equation of the mechanical equilibrium we have a linear system in xb 3 , yb 3 . If we report the solution of this system into the remaining equations, then the 5th equation of the mechanical equilibrium is linear in zb 3 . The remaining equations are now functions of ρ 1 , ρ 2 , ρ 3 . Successive resultants in ρ 1 , ρ2 leads to a univariate polynomial in ρ 3 which factors out in polynomial of degree 162, 104, 68, 48, 22, 20, 8, 7 and 3, leading to a maximum of 442 solutions, a number which is most probably overestimated

• case θ V ( H ) 1 -θ V ( H ) 2 , 2 extra sensors:
the unknowns are the 3 ρ, the 2 angles α 1 , α 2 that are used to determine the lo- cation of B 1 , B 2 on their vertical circle C V and the 3 coordinates of B 3 . The constraint equationss are the 6 equations of the mechanical equilibrium (1), the equation ||A 3 B 3 || 2 -ρ 2 3 and the 3 equations ||B i B j || 2 = d 2 i j with i, j > i ∈ [START_REF] Abbasnejad | Real solutions of the direct geometrico-static problem of underconstrained cable-driven parallel robot with 3 cables: a numerical investigation[END_REF][START_REF] Alexandre Dit Sandretto | Certified calibration of a cable-driven robot using interval contractor programming[END_REF], i = j. We first use the 3 first equation of the mechanical equilibrium to determine xb 3 , yb 3 , zb 3 . The 6th equation of the mechanical equilibrium is linear in ρ 1 . The resultant of ||B 2 B 3 || 2 = d 2 23 and of the 4th equation of the mechanical equilibrium with the constraint ||B 1 B 2 || 2 = d 2 12 allows one to obtain 2 equations free of ρ 2 . The Weierstrass substitution is then used to obtain 2 polynomials P 1 , P 2 in T 1 , T 2 which factor out in several polynomials with P 1 = ∏ R i and P 2 = ∏ S j . When considering the resultant of all possible combinations of P i , Q j we get polynomials in T 1 only of degree 936, 240, 112, 72, 8, 4, 4 and hence the maximum number of solutions is 1376. . Trials have shown that the polynomials of degree 936, 240 may have real roots. 3.1 The 2 elastic cables case

V θ H 6 1 1 θ 1 V θ 1 H -θ 2 V θ 2 H -θ V ( H ) 3 5 2,4 6 θ 1 V θ 1 H -θ 2 V θ 2 H 4 4,4,4 12 θ 1 V θ 1 H -θ V ( H ) 2 -θ V ( H ) 3 4 6,6,6,12,12 44 θ V ( H ) 1 -θ V ( H ) 2 -θ V ( H ) 3 3 6 × 72,12,24,2×8,2×4 492 θ 1 V θ 1 H -θ V ( H ) 2 3
• case θ 1 H -θ 2
H , 2 extra sensors: the unknowns are ρ 1 , ρ 2 and the 2 first equations of the mechanical equilibrium are linear in these variables. The solution is unique for the planar CDPR but has 2 DK solutions for the spatial CDPR, see section 2.2

• case θ 1
H , 1 extra sensors: the unknowns are ρ 1 , ρ 2 and the 2 coordinates of B 2 in the CDPR plane. The 2 first equations of the mechanical equilibrium are used to determine these later unknowns. The third equation of the mechanical equilibrium becomes linear in ρ 1 . After solving the constraint ||A 2 B 2 || 2 = ρ 2 2 becomes a polynomial of degree 4 in ρ 2 .

Analysis and uncertainty

As seen in tables 1 and 2 the complexity of the calculation of the DK solution(s) and their maximal number increases very quickly as soon as the number of sensors is getting lower than 6 (in which case we get a single solution both for the ideal and elastic cables). Taking into account measurement uncertainty is not the purpose of this paper but our first trial with our measurement system (see figure 2) has shown that we cannot expect a high accuracy, especially when the cable tension is low. Furthermore the accuracy ∆ B of the location of B based on the orientation sensors and assuming an exact measurement of ρ is ∆ B = ρ∆ θ where ∆ θ is the sensor error. This implies that for large CDPR where ρ is much larger than 1 we may expect large error on the coordinates of the B. However it may be thought that the parallel structure may overall decrease this influence. To examine this point we have considered a simple planar CDPR with 2 cables connected at the same point. We assume that the ρ, θ are measured respectively with an accuracy ±∆ ρ, ±∆ θ . For a given pose x 0 , y 0 of the CDPR these uncertainties induce an error on the location of the CDPR and its real pose lies in a closed region around the nominal pose. To determine the border of this region we consider the poses x 0 + r cos(α), y 0 + r sin(α) along a specific direction defined by the angle α, poses that are at a distance r from the pose x 0 , y 0 For a given α a simple otimization procedure allows one to determine the maximum of r, i.e. the maximal positioning error that is compatible with ∆ ρ, ∆ θ along the direction defined by α. Starting from α = 0 we increment α by a step of 5 degrees until we reach 360 degrees, giving us a reasonable approximation of the border of the region in which the CDPR will lie. The calculation of r at each α allows us to calculate a good approximation of the minimal, maximal and mean value for the maximal positioning error. We are thus able to calculate these variables as a function of ∆ θ for a fixed value of ∆ ρ. When ∆ θ is large the positioning error is just influenced by ∆ ρ but when ∆ θ decreases their will be a switching point at which the maximal positioning error will start to decrease due to the influence of ∆ θ . Hence this switching point indicates how accurate should be the measurement in ∆ θ in order to obtain a better accuracy than the one based on ∆ ρ only. Figure 3 shows this function for the CDPR with A 1 = (0, 0), A 2 = (10, 0), the pose x 0 = 5 √ 2/2, y 0 = -5 √ 2/2 and ∆ ρ = 0.01. It may be seen that the switching point occurs around 0.1 degrees. Therefore the orientation measurement must be highly accurate to provide a better accuracy than the one obtained by using only the cable lengths.

Conclusion

As solving the DK of CDPR based only on the cable lengths is a complex task it is worth investigating how additional sensors may help this solving. Note that these additional sensor(s) may also be used for other tasks such as auto-calibration [START_REF] Alexandre Dit Sandretto | Certified calibration of a cable-driven robot using interval contractor programming[END_REF], identification [START_REF] Ottaviano | Experimental identification of kinematic parameters and joint mobility of human limbs[END_REF] or workspace limit detection and consequently may be worth the limited additional cost. In this paper we have investigated sensors that provide par- Fig. 3 Minimal, maximal and mean positioning error for ∆ ρ = 0.01 as a function of ∆ θ in degree tial or complete information on the cable orientation and have examined the effect of sensor number and arrangement on the DK solving for CDPR with 2 or 3 cables, ideal or elastic. This is a necessary work but also preliminary: it should be extended to CDPR with more than 3 cables. Furthermore we have assumed perfect sensor measurements which is an unrealistic hypothesis, and consequently the influence of the uncertainties on the DK solving has to be studied. We have shown on a 2dof planar CDPR that the uncertainty on the orientation sensor measurement must be very low to have an influence on the accuracy of the estimation of the DK solutions but this influence has to be studied in detail in more general cases. However cable orientation measurement, even with an uncertainty interval, may provide useful information for a numerical method solving the DK with the cable lengths only, allowing to safely eliminate possible DK solutions. Indeed some of these solutions may lead to angles that lie outside their measurement intervals and thus can be eliminated. Finally the use of extra orientation sensors has also to be investigated to manage redundantly actuated CDPR, singularity and sagging cables.

Fig. 1

 1 Fig.1Orientation sensors may provide the value of θ V and/or θ H

Table 2

 2 summarizes the result for the 3 elastic cables case.

	case	number	complexity	max number
		of sensors		of solutions
	3θ

Table 2

 2 For elastic cable: sensors arrangement, total number of sensors, complexity of the solving and maximal number of DK solution(s)

	40, 12	52


J-P Merlet
email: jean-pierre.merlet@inria.fr

Computing cross-sections of the workspace of cable-driven parallel robots with 6 sagging cables

Keywords: cable-driven parallel robots, kinematics, workspace

Finding the workspace of cable driven parallel robots (CDPR) with sagging cables (i.e. elastic and deformable cables) is a problem that has never been fully addressed in the literature as this is a complex issue: the inverse kinematics may have multiple solutions and the equations that describe the problem are non-linear and non algebraic. We address here the problem of determining an approximation of the border of horizontal cross-sections of the workspace for CDPR with 6 cables. We present an algorithm that give an outline of this border but also rises several theoretical issues. We then propose another algorithm that allow to determine a polygonal approximation of the workspace border induced by a specific constraint. All these algorithms are illustrated on a very large CDPR.

Introduction

Since a few year there has been a significant renewal in the interest for cable-driven parallel robots (CDPR) who use coiling cables as actuators instead of rigid linear actuators. Beside the classical advantages inherent to a parallel structure (improved accuracy, excellent load/weight ratio) CDPR have the huge advantage to possibly provide a very large workspace with excellent lifting capacity: our MARIONET-CRANE robot with a lifting capacity of 2.5 tons has been deployed outdoor over a 75m × 35m × 25m workspace. But having such large workspace requires having very large cable lengths so that the elasticity and own mass of the cables affect the performances of the platform (positioning accuracy, stiffness,. . . ). The purpose of this paper is first to identify the factors that may limit the robot workspace and then to propose an algorithm for computing the border of horizontal cross-section of this workspace, assuming a given altitude and orientation of the platform. Workspace calculation for parallel robots with rigid legs is a well-addressed subject [START_REF] Gosselin | Determination of the workspace of 6-dof parallel manipulators[END_REF][START_REF] Merlet | Determination of 6D workspaces of Gough-type parallel manipulator and comparison between different geometries[END_REF] but the unilateral action of the cables, that can only pull but cannot push, introduces new workspace limiting factors. Numerous works have addressed the problem of workspace calculation of CDPR [START_REF] Barrette | Determination of dynamic workspace of cable-driven planar parallel mechanisms[END_REF][START_REF] Berti | Workspace analysis of redundant cable-suspended parallel robots[END_REF][START_REF] Diao | Workspace determination of general 6 d.o.f. cable manipulators[END_REF][START_REF] Fattah | On the design of cable-suspended planar parallel robots[END_REF][START_REF] Ferraresi | A new methodology for the determination of the workspace of six-dof redundant parallel structures actuated by nine wires[END_REF][START_REF] Gagliardini | Determination of a dynamic feasible workspace for cable-driven parallel robot[END_REF][START_REF] Gouttefarde | Interval-analysis based determination of the wrenchfeasible workspace of parallel cable-driven robots[END_REF][START_REF] Jeong | Kinematics and workspace analysis of a parallel wire mechanism for measuring a robot pose[END_REF][START_REF] Lim | A generic force closure algorithm for cable-driven parallel manipulators[END_REF][START_REF] Pusey | Design and workspace analysis of a 6-6 cable-suspended parallel robot[END_REF][START_REF] Stump | Workspaces of cable-actuated parallel manipulators[END_REF][START_REF] Verhoeven | Analysis of the workspace of tendon-based Stewart platforms[END_REF] but 1 most of them assume non deformable and non elastic cables. Discretisation-based method has been proposed for elastic cables [START_REF] Korayem | Workspace analysis of cable-suspended robots with elastic cable[END_REF] and for a simplified sagging cable model [START_REF] Riehl | On the static workspace of large dimension cable-suspended robots with non negligible cable mass[END_REF]. But this approach requires to assume that the inverse kinematics problem has a single solution, which is not true for a complete sagging cable model [START_REF] Merlet | A new generic approach for the inverse kinematics of cable-driven parallel robot with 6 deformable cables[END_REF]. In this paper we will propose a preliminary algorithm for computing cross-sections of the CDPR workspace using a realistic cable model, assuming that the orientation and altitude of the platform is fixed and that the robot has 6 cables.

Notations

We will assume that the output of the coiling system for cable i is a single point A i , while the cable is connected at point B i on the platform. We define a reference frame R with an arbitrary origin O whose z axis is the local vertical and a frame attached to the platform (the mobile frame) with G, the center of mass of the platform, as origin and arbitrary x, y, z axis. We then consider the vertical plane that includes the i-th cable and we define another frame R i c for the i-th cable with origin at A i , the same z axis than R and a y axis that is perpendicular to the plane. The length at rest of the i-th cable will be denoted L i 0 .

Cable model

In this paper we will use the Irvine sagging cable model that is valid for elastic and deformable cable with mass [START_REF] Irvine | Cable Structures[END_REF]. Experimental works have shown a very good agreement between this model and the behavior of cables classically used for CDPR [START_REF] Riehl | On the determination of cable characteristics for large dimension cable-driven parallel mechanisms[END_REF]. This model is established in the R i c frame in which the coordinates of A i are (0,0,0) while the coordinates of point B i are (x b ≥ 0, 0, z b ). In this frame vertical and horizontal forces F z , F x are exerted on the cable at point B i .

The coordinate x, z of a point on this cable at the curvilinear coordinate s (in the range [0, L 0 ]) is given by [START_REF] Irvine | Cable Structures[END_REF]:

x = F x s EA 0 + F x µ g (sinh -1 ( F z + µ g(s -L 0 ) F x ) -sinh -1 ( -µ gL 0 + F z F x )) z = F z s + µ g(1/2 s 2 -L 0 s) EA 0 + F x 2 + (F z + µ g (s -L 0 )) 2 -F x 2 + (-µ gL 0 + F z ) 2 µ g (1)
where E is the Young modulus of the cable material, µ its linear density, A 0 the surface of the cable cross-section and F x > 0. The coordinates of B are obtained for s = L 0 and are related to the forces F x , F z by:

x b = F x ( L 0 EA 0 + sinh -1 (F z ) -sinh -1 ((F z -µgL 0 F x ) µg ) (2)
z b = F 2 x + F 2 z -F 2 x + (F z -µgL 0 ) 2 µg + F z L 0 EA 0 - µgL 2 0 2EA 0 (3)
4 Workspace limitations

Cable tension limit and cable sagging

An evident reason that may limit the workspace is the maximal allowed tension in the cable. The maximal tension τ A in a cable is obtained at point A and should be lower than the maximal allowed tension for the cable

τ lim i.e. τ A = F 2 x + (F z + µgL 0 ) 2 ≤ τ lim .
A less obvious reason that may limit the workspace of a CDPR is that the sagging of some cable(s) may lead to have the cable on the ground. Deriving the cable model equation shows that z is extremal for s 0 = L 0 + F z /(µg). If s 0 lie in the range [0, L 0 ] then the cable is sagging and its minimal altitude z m is obtained by substituting s by s 0 in equation [START_REF] Barrette | Determination of dynamic workspace of cable-driven planar parallel mechanisms[END_REF]. If z g is the ground altitude, then we should have z g ≤ z o . If s 0 ∈ [0, L 0 ], then the lowest point of the cable is B and we will assume that this point cannot reach the ground.

Inverse kinematics and Singularity

A necessary condition for a pose to belong to the workspace of a CDPR is that the inverse kinematics (IK) for this pose has at least one solution in the L 0 's. We thus consider the IK of a CDPR with n cables. Being given a pose of the platform (2,3) provide 2n equation while having 3n unknowns (the F x , F z , L 0 for each cable). Additional equations are obtained by considering the mechanical equilibrium of the CDPR. Let f i be the force exerted by the cable at point B i by the i-th cable. We have already seen that the components of f i in the reference frame R i c are (F i x , 0, F i z ). For a given location of B i it is easy to calculate a rotation matrix R i corresponding to a rotation around the z axis so that the components of f i in R are obtained by R i (F i x , 0, F i z ) T . The mechanical equilibrium equations may thus be written as:

j=n ∑ j=1 f j = mg j=n ∑ j=1 GB i × f j = 0 ( 4
)
where m is the platform mass. These equations provide 6 additional constraints without increasing the number of unknowns. Hence we end up with 2n + 6 for 3n unknowns. As we assume a CDPR with n = 6 cables the IK amounts to solve a square system of 18 equations in 18 unknowns, a problem that has been addressed in [START_REF] Merlet | A new generic approach for the inverse kinematics of cable-driven parallel robot with 6 deformable cables[END_REF].

It has been shown that the system may have from 0 to multiple solutions. Hence a pose may not belong to the workspace simply because it has no IK solution or because the IK equations are singular. We will not make any distinction between a singular pose or a pose that has no IK solution as both forbid a pose to be part of the workspace. We will denote by outside conditions all limiting conditions that always include singularity and no IK solution while the other limiting conditions presented in section 4.1 may or may not be taken into account.

Workspace calculation

As determining the workspace of CDPR is a complex issue we will simplify the problem by determining only 2D horizontal cross-sections of this workspace, assuming that both the altitude and the platform orientation are fixed.

A possible strategy to determine such a cross-section has been proposed in [START_REF] Merlet | On the workspace of suspended cable-driven parallel robots[END_REF]. This strategy first relies on the solving of the IK at a given pose X 0 , assuming that we are able to find a pose at which the IK has at least one solution. Then for a given IK solution S j at X 0 it has been shown that it is possible to determine an ε such that for all pose X such that ||X -X 0 || ∞ ≤ ε there is a single solution S of the IK such that ||S -S j || ∞ ≤ ε. Furthermore it was also shown that the solution for a particular X can be safely calculated with the Newton-Raphson scheme, using S j as initial guess. With this result we can calculate a square surrounding X 0 that is part of the workspace. The process is then repeated recursively starting from the corners of the square, while a pose is rejected if the ε for this pose is lower than a fixed threshold. We thus get an approximation of the workspace as a list of boxes that are guaranteed to be part of the workspace. Although this procedure is safe, trials have shown that the maximal value of ε was very small, leading to a very large computation time for CDPR with large workspace.

Approximate border calculation

We now describe another approach, called the approximate border calculation, which focus on determining only the border of the workspace.

First let us define a pose as out if at least one of the outside condition is satisfied. Conversely a pose will be denoted in if none of these conditions are fulfilled. We now define the α set of a pose X (called the heart of the α set) with coordinates (x, y) as the set of 8 poses whose coordinates (x u , y u ) are defined as

x u = x + k 1 α, y u = y + k 2 α with k 1 , k 2 ∈ [-1, 0, 1]
excluding the case where k 1 = k 2 = 0. A pose X and its α set are part of the approximate border if:

• at least one pose of its α set or the pose itself is in • at least one pose of its α set or the pose itself is out If these conditions are fulfilled, then the pose X will be called an α part of the border to indicate that X and its α set are part of the approximate border. Our objective is now to compute poses that are part of the approximate border. For that purpose we assume that α is chosen small enough so that the Newton-Raphson (NR) scheme used with as initial guess one the IK solution for X may be used to determine if

• the IK has no solution or is singular (NR does not converge) • the pose is in or out if the NR converges Under these conditions we may determine if a pose X and its α set are part of the approximate border, provided that we have an IK solution for this pose. Note that we associate to each pose of the α set an IK solution except that for the singular one we attach the IK solution of one of the in pose of the α set.

Propagation

Assume that we have determined a X and its α set that are part of the approximate border (AB). Our objective is now to find other poses that belong to the AB. For that purpose we will consider each pose X i of the α set of X and check if X i is an α part of the border. Note that we have already checked the in or out status of some of the poses of the α set of X i but this set includes new poses, the status of which has to be determined. As soon as a new α part of the border is discovered this process is repeated. In this way we propagate the approximate border. All poses that are an α part of the border are stored, together with their IK solution and in/out status. The propagation algorithm also maintain a list L of poses that have to be processed for completing the propagation. This propagation stops when this list is empty.

Initialization

As mentioned in the previous section it is necessary to determine at least one pose that is inside the workspace and has at least one pose in its α set that is out. For that purpose we will assume that that we have been able to determine one pose X in of coordinates (x in , y in ) that has at least one IK solution, possibly using the algorithm proposed in [START_REF] Merlet | A new generic approach for the inverse kinematics of cable-driven parallel robot with 6 deformable cables[END_REF]. We then consider the pose of coordinates (x in + kα, y in )

where k is an integer. We start with k = 0 and increment k by 1 until the pose is out (the NR scheme is used with the IK solution obtained for k -1 as initial guess of the solution for k). With this approach we will find k 1 such that the pose of coordinates (x in + (k 1 -1)α, y in ) is in and (x in + k 1 α, y in ) is out: we have hence obtained a starting point for the propagation. Note that k 1 may depend on the choice of the IK solution for X in . Other starting poses for the propagation may be obtained similarly by considering the poses (x inkα, y in ), (x in , y in + kα), (x in , y inkα). All these poses are stored in the list L of the propagation algorithm.

After having obtained these starting poses we run the propagation algorithm for computing the approximate border. This algorithm may raise some theoretical issues but before mentioning them we will consider an example.

Examples

We consider as example our large scale robot MARIONET-CRANE [START_REF] Merlet | A portable, modular parallel wire crane for rescue operations[END_REF]. This robot is a suspended CDPR (i.e. there is no cable pulling the platform downward) with 6 cables, whose A i , B i coordinates are given in table 1. The cables characteristics are Table 1 Coordinates of the A i and B i points on the base and on the platform (in cm, by rows) E = 100 9 N/m 2 , µ = 0.079 kg/m and their diameter is 4 mm. The maximal tension in the cables is 13734N. We start by assuming that the platform mass is 100 kg. We assume that the center of mass of the platform is at a height of 200 cm and that the platform orientation is such that the mobile frame axis coincide with the reference frame axis. Our previous work have shown that the pose with coordinates (300,800) has a single IK solution and we use it as the initialization point. First we assume that the only outside condition is the singularity for the NR scheme. Figure 1 shows the approximate border in that case. If we assume now that the cable tensions cannot exceed 13734N we get the workspace presented in figure 2. It may be seen that the approximate workspace is reduced because of the tension constraint (pose that do not respect this constraint are in black in the drawing). In that case the maximal L 0 are 5959, 6331, 11817, 11613, 11815 and 11813 meters. Although these values are much less than in the previous case, it may be seen that they are still very high and well over reasonable values. If we impose now that the minimal height of the cable cannot be lower than

Conclusions

In this paper we have shown that the exact determination of the border of the workspace of CDPR with sagging cables is a complex issue even if only workspace cross-sections are to be determined. We have proposed preliminary algorithms that give insights on the workspace but also raise several theoretical issues that need to be furthermore considered. Other extension will be to consider cable interference and the possibility of having more (or less) than 6 cables.

  9 -47.5 882.6 942.1 -348.2 1155.5 953.8 379.7 1153.3 557.0 2041.4 870.4 -250.5 1681.0 864.9 -334.2 942.1 878.8 x y z x y z -10 -93 -3 10 -93 -3 27 50 -7 27 50 -7 -27 50 -7 -27 50 -7

Fig. 1

 1 Fig. 1 Approximate border for m = 100 and a detailled view

Fig. 2

 2 Fig. 2 On the left approximate border for m = 100 and τ ≤13734N and on the right approximate border for m = 100 and 0 as minimal height for the cables