Reconfigurable mobile cable robot

10596702 · 2020-03-24

Assignee

Inventors

Cpc classification

International classification

Abstract

A cable robot comprises a platform supporting an effector and cables. Each cable is connected on one end to an attachment point on the platform and extends from this attachment point to an anchoring point attached to a supporting structure. The anchoring points being contained in more than one plane. The cables include a set of driving cables whose ends are connected to a winch. The cables include a set of reconfigurable cables, whose anchoring points are movable relative to the supporting structure. The supporting structure is beared by a set of independent mobile bases having anchorings to fix the mobile bases to the ground.

Claims

1. A method for defining an optimal configuration of a reconfigurable set of cable of a cable robot, said method comprising steps of: obtaining a material layout of the cable robot, the cable robot comprising: a platform supporting an effector; a plurality of cables, each connected on one end to an attachment point on the platform and extending from this attachment point to an anchoring point attached to a supporting structure, said anchoring points being contained in more than one plane; wherein the plurality of cables comprises a set of driving cables whose ends are connected to a winch; wherein the plurality of cables comprises a set of reconfigurable cables, whose anchoring points are movable relative to the supporting structure; wherein the supporting structure is beared by a set of independent mobile bases comprising anchorings to fix said mobile bases to the ground; obtaining a targeted trajectory of the effector, discretized in segments of suitable length; obtaining external forces wrench applied to the platform in each point of the aforesaid the discretized trajectory; obtaining a discrete set of starting configurations, of the reconfigurable set; analyzing, for each starting configuration, an ability to reach all the segments of the targeted trajectory under static equilibrium conditions according to the applied external forces and to the obtained material layout, and to eliminate the less promising starting configurations; determining among remaining configurations, dominant configurations covering the targeted trajectory and including other configurations; gathering nondominant configurations according to their coverage by dominant configurations; seeking for singular segments covered by only one dominant configuration, and eliminate configurations comprised in the dominant solutions which do not cover the singular segments; determining among the configurations remaining after seeking singular segments, a minimal combination of configurations covering the whole of the segments obtained at the targeted trajectory obtaining step; generating a trajectory program integrating configuration changes determined at the step of determining the minimal combination of configurations, and transmitting the trajectory program to a control unit of the cable robot in order to carry out the trajectory.

2. The method according to claim 1, wherein the step of obtaining the material layout further comprises steps of: obtaining a number of cables of the cable robots; obtaining a diameter of the cables; obtaining a modulus of elasticity of the cables; obtaining an admissible maximum tension in the cables; obtaining coordinates of the attachment points in a coordinate system linked to the platform.

3. The method according to claim 1, wherein step of obtaining the targeted trajectory comprises steps of: obtaining a succession of points defining a succession of segments corresponding to the trajectory in a reference coordinate system; and obtaining the platform orientation in each point of the discretized trajectory.

4. The method according to claim 3, wherein step of obtaining the targeted trajectory further comprises a step of obtaining the variation limits of the external forces wrench acting on the platform.

5. The method according to claim 1, further comprising, before the analyzing step, a step of obtaining a position, a shape and an orientation of an obstacle in the workspace of the cable robot; and wherein the analyzing step further comprises performing a collision test with the obstacle.

6. The method according to claim 1, further comprising, before the step of obtaining the discrete set of the starting configurations, a step of generating automatically a set of starting configurations for the step of obtaining the discrete set of the starting configurations.

7. The method according to claim 5, further comprising, after the analyzing step, in the case where no promising solution is found, or after the step of determining the minimal combination of configurations, in the case where no configurations combination covers the whole targeted trajectory, steps of modifying the position or the orientation of the obstacle in the workspace; and repeating the method starting from the analyzing step with new coordinates of the obstacle.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The following detailed description, given by way of example, and not intended to limit the claimed invention solely thereto, will best be understood in conjunction with the accompanying drawings in which:

(2) FIG. 1 is a schematic diagram of the cable robot in accordance with an exemplary embodiment of the claimed invention;

(3) FIGS. 2A-2B show geometric configurations illustrating an optimization method in accordance with an exemplary embodiment of the claimed invention;

(4) FIG. 3 is an illustration of the cable robot carrying out a painting operation of a large dimension structure in accordance with an exemplary embodiment of the claimed invention;

(5) FIGS. 4A-4B show geometric configurations illustrating an optimization method in accordance with an exemplary embodiment of the claimed invention;

(6) FIG. 5A is a flow chart for determining an optimal position of the anchoring points in accordance with an exemplary embodiment of the claimed invention;

(7) FIG. 5B is a diagrammatic illustration of a trajectory discretized in a plurality of segments in accordance with an exemplary embodiment of the claimed invention; and

(8) FIGS. 6A-E show diagrams of the cable robot comprising mobile bases in accordance with an exemplary embodiment of the claimed invention;

DETAILED DESCRIPTION OF THE EMBODIMENTS

(9) The invention is exposed hereafter according to its preferred embodiments, by no way restrictive, and in reference on the FIGS. 1 to 6E.

(10) FIG. 1 shows an exemplary embodiment of the cable robot according to the invention. The robot comprises a platform (102) suspended by cables (110). Each cable extends between an attachment point connected to the platform (102) and an anchor (101) linked to a supporting structure. According to an exemplary embodiment said anchor (101) is a pulley and the other end of the cable is connected to a winch (not shown) fixed to the supporting structure. The set of cables connected to a winch at one of their ends, is referred to as the driving set of cables.

(11) The supporting structure is made in this example by two mobile bases (111, 112) bearing poles (100) supporting the anchors (101). The relative position of each anchor (101) or part of the anchors may be changed by sliding them on the pole or by rotating them with regard to the pole axes. Said displacements may be carried out manually in predefined positions of continuously by motorizing means. The set of cables running through a repositionable anchoring points is referred to as the reconfigurable site of cables.

(12) Each mobile base (111, 112) comprises anchors (105) that enable to fix the mobile base to the ground thus constituting a stable supporting structure of the cable robot. According to this embodiment one mobile base (111) is an active base comprising motorizing means for moving on the ground. This base also comprises connecting means (106) cooperating with complementary means of the other mobile base (112) to hook up the two bases together. In such a situation, the two bases are hooked up and move together, the active base (111) trailing the other.

(13) FIGS. 6A-E show another embodiment of the robot of the invention comprising 4 mobile bases (611, 612, 613, 614), one (611) of them being an active base. In this example the cable robot is spread in order to cover an definite three dimensional workspace (650). Initially, FIG. 6A, the 4 mobile bases are hooked together and move toward the initial position of the 614 base. FIG. 6B, the 614 base is uncoupled form the others and anchored into to the ground. The remaining bases (611, 612, 613) then move toward the position of the 613 base. FIG. 6C the 613 base is uncoupled and anchored to the ground, and the remaining bases (611, 612) move to the position of the 612 base. Once the 612 base is anchored to the ground, the 611 active base moves to its final position, FIG. 6D. During all the preceding steps, the platform remains on the active base (611). FIG. 6E, by operating the winch of the mobile bases (611, 612, 613, 614) the platform (602) is brought into the workspace.

(14) The position of each mobile base (611, 612, 613, 614) with regard to the workspace (650) as well as the position of the anchoring points on the poles of the mobile bases are determined using the method of the invention in order to get an optimal coverage of the workspace (650) with regard to the tasks to be performed by the cable robot. The optimization algorithm is performed by a computer located in one of the bases or by a distant computer, exchanging data with one of the mobile bases through a wireless network.

(15) FIGS. 2A to 5B are illustrating the optimization method according to the invention.

(16) FIGS. 2A-2B, according to a first geometrical configuration, the anchoring points (211) of the cable robot, are placed at the tops of a right-angled parallelepiped, whose sides according to axes' x (201), y (202) and z (203) in the system of coordinate of the robot have respectively as a length 2u.sub.4, 2u.sub.5 and 2u.sub.3, the platform being in the center of the parallelepiped with respective coordinates, u.sub.1, u.sub.2 and u.sub.3. Such a configuration is obtained when all the anchoring points are placed on the tops of the poles of the mobile bases. The position of each anchoring point A.sub.i,1 which stands for anchoring #1 in the #1 configuration, is determined by an associated vector (213), a.sub.i,1 extending between the robot origin (200) and the point (211) representing the position of the aforesaid anchoring point. Thus, this #1 configuration, noted C.sub.1 is defined by the vectors a.sub.i,1 (i=1 . . . 8), that is to say:
a.sub.1,1=[u.sub.1+u.sub.4,u.sub.2+u.sub.5,u.sub.3].sup.T
a.sub.2,1=[u.sub.1+u.sub.4,u.sub.2+u.sub.5,u.sub.3].sup.T
a.sub.4,1=[u.sub.1u.sub.4,u.sub.2+u.sub.5,u.sub.3].sup.T
a.sub.3,1=[u.sub.1u.sub.4,u.sub.2+u.sub.5,u.sub.3].sup.T
a.sub.5,1=[u.sub.1u.sub.4,u.sub.2u.sub.5,u.sub.3].sup.T
a.sub.6,1=[u.sub.1u.sub.4,u.sub.2u.sub.5,u.sub.3].sup.T
a.sub.7,1=[u.sub.1+u.sub.4,u.sub.2u.sub.5,u.sub.3].sup.T
a.sub.8,1=[u.sub.1+u.sub.4,u.sub.2u.sub.5,u.sub.3].sup.T

(17) so that the C.sub.1 configuration, according to this embodiment, is defined by the vector X.sub.1=[u.sub.1, u.sub.2, u.sub.3, u.sub.4, u.sub.5].sup.T.

(18) According to this exemplary embodiment, the platform is represented symbolically by a parallelepiped (220), with a section l.sub.pw.sub.p in the x, y plane and a h.sub.p height according to z, the attachment points (221) being positioned at the tops of the aforesaid parallelepiped (220). Thus, the coordinates of each attachment point b.sub.i,1 corresponding to the C.sub.1 configuration, are given in a coordinate system linked to the platform by the vectors b.sub.i,1 that is to say
b.sub.1,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.2,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.3,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.4,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.5,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.6,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.7,1=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.8,1=[l.sub.p,w.sub.p,h.sub.p].sup.T

(19) Thus, starting from the vectors b.sub.i,1, of the position of the platform in the machine system of coordinates and the vectors a.sub.i,1, it is possible to determine the position and the orientation of the cables for all the points of a trajectory carried out in this C.sub.1 configuration.

(20) FIG. 3, according to an exemplary embodiment the robot of the invention is used to carry out an operation of painting of a large dimension structure (300) such as an aircraft fuselage or the hull of a ship. In order to carry out this operation, without collision of the cables with the aforementioned structure (300), at least 3 configurations corresponding to 3 trajectories (321, 322, 323) of the platform are required. Thus, according to this example of implementation, the C.sub.1 configuration (FIGS. 2A-B) is adapted for the realization of the P.sub.1 trajectory (321). For this application, the top anchoring points (A.sub.1,1, A.sub.3,1, A.sub.5,1, A.sub.7,1) are set at the top of the poles carried by the mobile bases, and the lower anchoring points (A.sub.2,1, A.sub.4,1, A.sub.6,1, A.sub.8,1) are set in the lower of part the aforesaid poles.

(21) Performing the P.sub.2 trajectory (322) requires a change of configuration.

(22) FIGS. 4A-B, the C.sub.2 configuration, adapted to the realization of the P.sub.2 trajectory is defined by the vector X.sub.2=[v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5].sup.T such as:
a.sub.1,2=a.sub.2,2=[v.sub.1v.sub.4,v.sub.2v.sub.5,v.sub.3].sup.T
a.sub.3,2=a.sub.4,2=[v.sub.1v.sub.4,v.sub.2+v.sub.5,v.sub.3].sup.T
a.sub.5,2=a.sub.6,2=[v.sub.1+v.sub.4,v.sub.2+v.sub.5,v.sub.3].sup.T
a.sub.7,2=a.sub.8,2=[v.sub.1+v.sub.4,v.sub.2v.sub.5,v.sub.3].sup.T

(23) The anchoring points are thus all placed at the tops of the poles.

(24) In this C.sub.2 configuration the attachment points of the cables to the platform are also modified so that:
b.sub.1,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.2,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.3,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.4,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.5,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.6,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.7,2=[l.sub.p,w.sub.p,h.sub.p].sup.T
b.sub.8,2=[l.sub.p,w.sub.p,h.sub.p].sup.T

(25) Returning to FIG. 3, the (not shown) configuration making it possible to carry out the P.sub.3 trajectory (323) is, according to this example of implementation, a configuration similar to the C.sub.1 configuration the anchoring points being simply moved on the other side of the structure (300).

(26) The method of the invention allows, among all the configurations offered by cable robot according to the invention, to define an optimal or quasi optimal configuration of anchoring points according to the targeted trajectories to be performed by the platform.

(27) Thus, on FIG. 3, according to an example of implementation of the method of the invention, in order to study the optimal position of the anchoring points for each configuration, the trajectories (321, 322, 323) are discretized in a finished number of segments, for example, according to a G01 linear interpolation of the trajectory according to the ISO 6983 standard. As example, the P.sub.1 trajectory is discretized in 38 points, that is to say 37 segments. Each couple of parameters defining the position of an anchoring point according to a configuration, is modified according to a step of iteration between two boundaries. As an example, each couple of parameters u.sub.i, v.sub.i is studied according to 9 iterations between definite variation boundaries. The analysis of each situation, i.e. of all the combinations of points of the trajectory and the positions of anchoring points would lead to a combinatorics explosion. Thus, according to this example 59049 (9.sup.5) situations would have to be tested in the case of the C.sub.1 configuration, for each point of the P.sub.1 trajectory leading to more than 2 million possible combinations.

(28) FIG. 5A, the method of the invention aims at reducing the number of studied combinations for determining the optimal position of the anchoring points. A first step (510) of material initialization, consists in obtaining the material layout of the cable robot. As a nonrestrictive example, this step consists in obtaining: the numbers of cables: m; the elasticity of the cables, for example by means of their Young's modulus E; the diameter of the cables C; the stiffness coefficient K.sub.l of each cable l, the admissible tension .sub.max in the cables, so that for each cable l (i=1, . . . , m): 0<.sub.l<.sub.max which also means that each cable must always be in tension; the position of the attachment point B.sub.i of the cable in the platform system of coordinates represented for each cable by the vector b.sub.i;

(29) These constant material conditions, are gathered in a vector:
q=[m,E,c,k.sub.i,.sub.max,b.sub.i].sup.T

(30) A step (520) of definition of the trajectory, consists in obtaining the trajectory for which the optimization of the placement of the anchoring points is aimed. As a nonrestrictive example, this step consists in obtaining: the n points defining the position of the platform in coordinate system of the robot atthe time of the realization of the foreseen P trajectory; the orientation of the platform in each point of the trajectory, represented for example by means of a rotation matrix R;

(31) Thus, according to an example of implementation, each posture of platform in each point of the P trajectory is determined by a vector p=[t,].sup.T where the vector t defines the Cartesian coordinates of the platform in the coordinate system of the robot, and the vector the orientation of the platform, determined, for example by the Euler's angle with respect to the axes x, y and z of this system of coordinates.

(32) According to a particular embodiment of the method of the invention, step (520) of definition of the trajectory also comprises the definition of the external forces wrench, w.sub.e, applied to the platform in each point of the trajectory. This wrench results from the weights of the platform and of the effector, as well as the forces generated by the aforementioned effector during the task carried out. As a nonrestrictive example, the latter consists in machining forces or in the momentum produced by the ejection a product such as paint through the nozzle of the effector. Thus, in each point of the P trajectory, a vector w.sub.e=[f,m].sup.T is defined, where the vector f represents the components of the external forces on the axes x, y and z, and the vector m the components of the torque of the external forces on the aforementioned axes. According to an advantageous alternative these external forces are defined by extreme variation boundaries on the various components. This method makes it possible to avoid an exact calculation of the external forces, in particular with regard to the actions generated by the process implemented by the effector, which are not always easy to know with precision and reliability along the trajectory.

(33) According to another advantageous alternative, this step (520) of definition of the trajectory comprises the definition of the shape, the position and the orientation of an obstacle in the workspace of the robot.

(34) FIG. 5B, according to a diagrammatic illustration, the concerned trajectory (521) is discretized in a plurality of segments (522) at the time of performance of step (520) of the definition of the trajectory

(35) Returning to the FIG. 5A, the method of the invention comprises a step (530) of acquisition of the starting configurations of the anchoring and attachment points. The definition of these starting configurations is required for the implementation of the method, which proceeds by iterative optimization, and must thus start from an initial configuration. According to alternative embodiments, the whole set of starting configurations corresponds to fixed configurations and materially defined of anchoring points, for example, when the robot allows only discrete positions of anchoring or attachment points. Or, when the position of anchoring points can be changed continuously, the set of starting configurations is automatically generated so as to explore the whole workspace. As an example, the step (530) of acquisition of the starting configurations consists in defining for each anchoring point A.sub.i, i=1, . . . , m whose position in the robot system of coordinate is defined by the vector a.sub.i, i=1, . . . , m and a set of n.sub.v parameters u.sub.k, k=1, . . . , n.sub.v applicable to the coordinates of each vector a.sub.i and a set of discrete values corresponding to a combination of these parameters. These combinations of values are contained in a set [u.sub.k] so that the kth set contains v.sub.k values.

(36) These three steps (510, 520, 530) of acquisition of the initial conditions of the problem are written as follow from an algorithmic point of view:

(37) Require: q=[m,E,c,k.sub.i,.sub.max,b.sub.i].sup.T

(38) Require: P

(39) Require: R

(40) Require: w.sub.e

(41) Require: [u.sub.k,] k=1, . . . , n.sub.v

(42) According to an embodiment, the method of the invention comprises a step (540) of modeling of the problem consisting in determining n.sub.c possible configurations of the robot by combining the variables contained in each [u.sub.k]set, in the form of x.sub.i, l=1, . . . , n.sub.c, vectors, each x.sub.l vector defining a .sub.l configuration.

(43) From an algorithmic point of view this step of modeling is written:
Generate n.sub.c=.sub.k=1.sup.l.sup.vv.sub.k,x.sub.l

(44) According to a calculation step (550) of the reachable points of the trajectory, the method of the invention calculates, for each configuration, which are the reachable points of the P trajectory. A point of the trajectory is reachable for a given .sub.l configuration if this point complies to the constraints, for example: the static equilibrium of the platform is realized; the aimed positioning precision is reached; there is no collision with a potential obstacle in the environment; there is no interference between the cables.

(45) At the end of this step (550), for each configurations .sub.l and each trajectory it is defined a set of anchoring points P.sub.p,l=1 satisfying the constraints and which are consequently reachable and a of points anchoring points P.sub.p,l=0 for which the conditions are not met and which are consequently reachable in the considered configuration. From an algorithmic point of view this step (550) is written:

(46) TABLE-US-00001 for l=1, ... ,n.sub.c do Compute a.sub.i,l, i=1, ... ,m for p=1, ... ,n.sub.p do function CONSTRAINT(a.sub.i,l) Return c.sub.l,p end function If c.sub.l,p = 1 then P.sub.p,l =1 else P.sub.p,l =0 end if end for Compute : [P.sub.p,l] Compute : h l = .Math. p = 1 n p P _ p , l n p end for

(47) For a given .sub.l configuration the reachable points of a given trajectory are given by a set:
[P.sub.p,l]={P.sub.p,l=1,p=1, . . . ,n.sub.p}

(48) Some reachable points of the trajectory may form disjoined groups. Thus according to an embodiment the method of the invention comprises a step consisting in eliminating the groups of reachable points covering less than a defined part of the trajectory. At the end of this calculation, the configurations which do not cover the trajectory i.e. which does not have any reachable point, or, according to an alternative, of which the proportion of reachable points is lower than a definite proportion are eliminated from the solution.

(49) The proportion of reachable points of the trajectory is given by:

(50) h l = .Math. p = 1 n p P _ p , l n p

(51) FIG. 5B, in an illustrative example, the reachable points of the discretized trajectory (522) are calculated for 6 configurations (551, 552, 553, 554, 555, 556). Among these configurations, one of them (554) comprises only a low number of reachable points, and this configuration (554) is eliminated from the solution, as well as any configuration that do not comprise a single reachable point.

(52) Coming back to FIG. 5A, a step (560) of the method of the invention, consists in identifying the dominant configurations among the configurations kept at the end of the preceding step (550).

(53) A dominant configuration is defined as a configuration which is the only one to cover one or many points of the trajectory, i.e. which is the only configuration being able to reach the aforementioned points. Thus, the set of points [P.sub.d] pertaining to a dominant configuration d is defined, for a given trajectory by:
[P.sub.d]={P.sub.p,d,p=1, . . . ,n.sub.poP.sub.p,j0,j=1, . . . ,n.sub.d avec jd}

(54) Thus, the n.sub.d identified dominant configurations correspond to the smallest number of configurations required to cover the P trajectory.

(55) From an algorithmic point of view this step (560) is written:

(56) TABLE-US-00002 function DOMINANT([P.sub.l]) -identifying n.sub.d dominant configurations and the corresponding [P.sub.d]sets -identifying the nd sets [P.sub.d] return n.sub.d, [P.sub.d],[P.sub.d] end function

(57) FIG. 5B, according to this illustrative example, the remaining configurations (551, 552, 553, 555, 556) comprise 3 dominant configurations (551, 552, 555).

(58) FIG. 5A, the step (560) of determination of the dominant configurations is followed by a grouping step (570), consisting in gathering under the same dominant configuration the configurations covered by the aforementioned dominant configuration. This grouping step makes it possible to identify for each n.sub.d dominant configurations a G.sub.d set such as:

(59) .Math. l G d si pour l = 1 , .Math. , n c { [ P _ l ] [ P _ d ] [ P _ d ] [ P _ l ]

(60) Which from an algorithmic point of view translates in:

(61) TABLE-US-00003 for l=1, ... ,n.sub.c do for d=1, ... ,n.sub.d do if[P.sub.l][P.sub.d] then if [P.sub.d][P.sub.l]then ll+1 .sub.l G.sub.d end if end if end for end for

(62) FIG. 5B, according to an illustrative example, the configurations are gathered according to two groups (571, 572) each one comprising two configurations including one dominant, and a single dominant configuration (551).

(63) FIG. 5A, according to a screening step (580), aiming at eliminating the redundant configurations, the aforementioned step (580) consists in seeking the singular segments of each dominant configuration. A singular segment is a set of points of the trajectory which are covered by only one dominant configuration.

(64) FIG. 5B, as an illustrative example, each dominant configuration (551, 552, 555) comprises a singular segment (581, 582, 585). One of the configurations (553) grouped with one of the dominant configurations (552) does not cover the singular segment (582) of this dominant configuration. Therefore, this configuration (553) is eliminated from the solution.

(65) This iterative step makes it possible to limit the optimization process to the study of the relevant configurations.

(66) FIG. 5A, during an optimization step (590), the optimization is led on all the possible combinations of the kept configurations each configuration group G.sub.d. Advantageously, the combinations of configurations which do not make it possible to reach all the points of the trajectory are not considered in this analysis.

(67) FIG. 5B, as an illustrative example, no combination implementing one or more dominant configurations (551, 552) of the first groups (551, 571) with the nondominant configuration (556) of the third group (572) makes it possible to reach all the points of the trajectory, so that this configuration (556) and its combinations with other configurations are ignored. In practice, according to this illustrative example, only the combination of the 3 dominant configurations makes it possible to cover all the trajectory. The optimization is carried out according to defined optimization criteria, by means of known techniques of optimization of the prior art, the optimization criteria being defined according to the application and make it possible to define the optimal sequence of configurations out of the singular segments.

(68) In the case where a complete optimal solution cannot be obtained, several actions are possible depending on the application, like: to define a new set of starting configurations, with respect to anchoring or attachment points; loosening the optimization constraints, for example by accepting a lower precision and/or a higher deformations of the cables; modifying the position of the obstacles in the workspace of the robot, e.g. by changing the foreseen position of the supporting bases.

(69) Various omissions, modifications, substitutions and changes in the forms and details of the device illustrated and in its operation can be made by those skilled in the art without departing in any way from the spirit of the present invention. Accordingly, the scope of the invention is not limited to the foregoing specification, but instead is given by the appended claims along with their full range of equivalents.