computing wrench-feasible paths for cable-driven hexapods · 2016-10-19 · 0 abstract motion paths...

23
April, 2015 IRI-TR-15-04 Computing Wrench-feasible Paths for Cable-driven Hexapods Oriol Bohigas Montserrat Manubens Llu´ ıs Ros

Upload: others

Post on 26-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

April, 2015

IRI-TR-15-04

Computing Wrench-feasible Pathsfor Cable-driven Hexapods

Oriol Bohigas

Montserrat Manubens

Lluıs Ros

Page 2: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

0

Abstract

Motion paths of cable-driven hexapods mustcarefully be planned to ensure that the lengthsand tensions of all cables remain within accept-able limits, for a given wrench applied to theplatform. The cables cannot go slack –to keepthe control of the robot– nor excessively tight–to prevent cable breakage– even in the pres-ence of bounded perturbations of the wrench.This paper proposes a path planning methodthat accommodates such constraints simulta-neously. Given two configurations of the robot,the method attempts to connect them througha path that, at any point, allows the cablesto counteract any wrench lying in a predefineduncertainty region. The feasible C-space isplaced in correspondence with a smooth mani-fold, which facilitates the definition of a contin-uation strategy to search this space systemat-ically from one configuration, until the secondconfiguration is found, or path non-existenceis proved at the resolution of the search. Theforce Jacobian is full rank everywhere on the C-space, which implies that the computed pathswill naturally avoid crossing the forward sin-gularity locus of the robot. The adjustmentof tension limits, moreover, allows to maintaina meaningful clearance relative to such locus.The approach is applicable to compute pathssubject to geometric constraints on the plat-form pose, or to synthesize free-flying motionsin the full six-dimensional C-space. Experi-ments are included that illustrate the perfor-mance of the method in a real prototype.

Institut de Robotica i Informatica Industrial (IRI)Consejo Superior de Investigaciones Cientıficas (CSIC)

Universitat Politecnica de Catalunya (UPC)Llorens i Artigas 4-6, 08028, Barcelona, Spain

Tel (fax): +34 93 401 5750 (5751)

http://www.iri.upc.edu

Corresponding author:

L. Rostel: +34 93 401 [email protected]

http://www.iri.upc.edu/staff/ros

Copyright IRI, 2015

Page 3: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 2 Preliminaries 1

1 Introduction

In recent years, cable-driven parallel robotshave been increasingly studied and applied tomore and more relevant tasks, such as manip-ulation of heavy loads [12, 34], high-precisionpositioning [31], monitoring of aquatic envi-ronments [8, 23], automated construction ofcivil structures [10], rescue systems [33], or mo-tion simulators [44]. Among them, hexapodalones stand out for their simplicity and exten-sive use, especially after the long-term efforton the NIST Robocrane and its derived appli-cations [1, 11, 15, 31, 32, 41]. They involvethe minimum number of cables and motors tofully govern a load in 6D under gravity, result-ing in simple robotic cranes for precise manip-ulation that can even be made mobile by at-taching vehicles to the feet (Fig. 1). Theseadvantages, together with the fact that theycan easily achieve larger workspaces than theircounterparts with rigid-limb legs, make cable-driven hexapods energy-efficient and appropri-ate to maneuver heavy loads. However, addi-tional constraints apply: their cables can pullbut are unable to push the platform, whichobliges to keep the cable tensions positive dur-ing normal operation.

The C-space of hexapod is limited by a num-ber of hypersurfaces corresponding to configu-rations where the tension of some cable is eitherzero, for which the cable goes slack and controlof one degree of freedom is lost, or goes to in-finity, which indicates that the mechanism isin a singular configuration and the cable canbreak [45]. In practice, it is important to pre-vent both extreme situations and ensure thatthe cables work within a range of admissibletensions, for a given platform wrench subjectto bounded perturbations in all directions. Af-ter [19] and [9], the configurations fulfilling thiscondition are said to be wrench-feasible.

Several methods have been proposed for thedetermination of wrench-feasible workspaces ofcable-driven parallel robots [9, 22, 37, 43, 45,46], but the problem of planning paths betweengiven configurations has received little atten-tion comparatively. Algorithms indeed existthat try to avoid the singular configurationswhere the leg forces tend to infinity, but they

are mainly tailored to parallel robots with rigidUPS legs [3, 16, 17, 42], and their applica-tion to cable-driven hexapods is not straight-forward because they do not account for thepositivity constraint on the leg tensions. More-over, these algorithms measure the clearanceof the path relative to the singularity locususing the determinant or the condition num-ber of the Jacobian matrix, which, as notedin [47], lack physical significance. While somepath planning approaches apply to cable-drivenhexapods [20, 27, 29], the path they compute isevaluated for feasibility at discrete points only,so a method that guarantees the fulfillment ofall the constraints along the whole path is stilllacking.

The planning method presented in this pa-per is aimed at covering such gap. It was pre-liminarly introduced in [5] and it is now pre-sented with thorough detail and illustrative ex-periments. The method relies on defining a sys-tem of equations whose solution manifold cor-responds to the six-dimensional wrench-feasibleC-space of the hexapod, so that maneuveringthrough such manifold guarantees singularityavoidance at all times, while maintaining ca-ble tensions and lengths within their allowablebounds (Sections 2 and 3). This manifold, aswell as any of its subsets defined by motionconstraints arising in many applications, areshown to be smooth everywhere, which is keyto define a continuation method able to ex-plore the C-space systematically from one con-figuration, until a goal configuration is found,or path non-existence is proved at the resolu-tion of the search (Section 4). The method hasbeen implemented and validated in several testcases and with experiments in a real prototype(Section 5), and its main strengths and pointsfor future attention have been identified (Sec-tion 6). The method, in conclusion, eliminatesthe need of current path synthesis approachesbased on manual guideance and offline verifica-tion.

2 Preliminaries

A cable-driven hexapod consists of a mov-ing platform suspended from a fixed base bymeans of six cables winding around indepen-

Page 4: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

2 Planning Safe Motion Paths for Cable-driven Hexapods

Figure 1: Applications of cable-driven hexapods. From left to right, and top to bottom:Beam manipulation at the NIST Intelligent and Automated Construction Testbed, theATHLETE Low-gravity Testbed at the Jet Propulsion Lab, fuselage depainting at theNIST Aircraft Maintenance Platform, and a mobile hexapod for oil-well fire fighting.

dent winches (Fig. 2). By actuating the winchdrives, the cable lengths di can be varied withinprescribed limits (di, di), with di > 0, which al-lows a full control of the six degrees of freedomof the platform within a given workspace.

The C-space of a cable-driven hexapod canbe implicitly defined as follows. Consider fixedand moving reference frames F1 and F2, respec-tively attached to the base and platform links,centered in O and P (Fig. 2). Let p and ai

be the position vectors of P and Ai relative toF1, and bi be the position vector of Bi relativeto F2. We can represent any platform config-uration by the pair q = (p,R) ∈ SE(3) =

R3 × SO(3), subject to the constraints

di = p+R bi − ai, (1)

d2i = dT

i di, (2)

di < di < di, (3)

for i = 1, . . . , 6, where R is the 3 × 3 rotationmatrix that provides the orientation of F2 rel-ative to F1. While Eqs. (1) and (2) make thecable lengths di explicit in terms of p and R,the inequalities in (3) constrain such lengths tolie in (di, di).The R matrix in Eq. (1) is assumed to be ex-

pressed as a function of τ , a tuple of any threeangles parameterizing SO(3), such as Euler an-gles under any convention, or tilt-and-torsion

Page 5: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 2 Preliminaries 3

angles [7]. This allows for an easy formulationof planning problems in constant-angle slices ofSE(3), which are useful in parallel kinematicmachines [7], and avoids the treatment of addi-tional constraints needed in non-minimal repre-sentations of the rotation group. Although wethen introduce representation singularities rel-ative to the angles of choice [13, page 31], thiswill not be problematic because the smooth-ness properties required to solve our planningproblem will remain unaltered.

In practice, any configuration must also bewrench-feasible, i.e., it must allow the platformto equilibrate any resultant wrench w acting onit, subject to lie inside a prescribed, boundedregion K ⊂ R

6. The coordinates of w are as-sumed to be given in the usual screw-theoreticform [18], and the significance of K dependson the particular context of application. Inpayload transportation, for instance, K maybe given by the gravitational wrench actingon the platform and slight perturbations in-troduced by inertia forces or external agents

P

OAi

Bi

di

Figure 2: A cable-driven hexapod consistsof a moving platform connected to a fixedbase by means of six cables. The platformis maintained in a stable position due tothe action of gravity.

like the wind. In contact situations, K mightfurther depend on the contact wrench againstthe environment, which is in general subject tosix-dimensional uncertainty. Specifically, thewrench-feasibility requirement on a given q im-plies that for each w ∈ K there must be a vectorof admissible cable tensions

f = [f1, . . . , f6]T ∈ D = (f1, f1)× . . .× (f6, f6)

satisfying

J f = w,

where (fi, fi) is the range of positive tensionsthat can be resisted by the ith cable, and J isthe 6 × 6 screw Jacobian of the robot. J is afunction of q and takes the form

J =

[

u1 · · · u6

a1 × u1 · · · a6 × u6

]

,

in frame F1, where ui = di/di [6].

For ease of manipulation, K will be assumedto be a six-dimensional ellipsoid centered in w0,defined implicitly by the inequality

(w − w0)TE (w − w0) ≤ 1,

where E is a 6× 6 positive-definite symmetricmatrix. This ellipsoid can be constructed bypropagating known bounds on other variablesrelated to w, using the tools of an ellipsoidalcalculus for example [39]. Appendix A showshow to obtain w0 and E in typical situations,and reveals that both w0 and E are a functionof q in general.

Let us now define the C-space of the manip-ulator, C, as the set of wrench-feasible configu-rations q ∈ SE(3) that satisfy Eqs. (1)–(3) fori = 1, . . . , 6. The planning problem we con-front, thus, boils down to computing a pathjoining two given configurations of C, qs andqg; i.e., a continuous map

µ : [0, 1] −→ C

such that µ(0) = qs and µ(1) = qg. To tacklethis problem, we next define a smooth manifoldsuitable to navigate C by numerical continua-tion [26].

Page 6: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

4 Planning Safe Motion Paths for Cable-driven Hexapods

vi

vi,i vi,i

f0

f0,i

fi

fj LD

K

fi fi

w0

wi

wj

Jf = w

Figure 3: The mapping Jf = w is used to transform the wrench ellipsoid K into thecable tension ellipsoid F . The vector vi provides the maximum and minimum valuesof fi within F .

3 The Navigation Manifold

3.1 A Characterization of C

For a given configuration q and a wrench w0

applied to the platform, let f0 be the vector ofcable tensions corresponding to w0 ∈ K, whichsatisfies

J f0 = w0. (4)

By noting that J(f − f0) = w− w0, it is easyto see that the set L of cable tensions f corre-sponding to all wrenches w ∈ K is the ellipsoidgiven by

(f − f0)TB (f − f0) ≤ 1,

where B = JTE J . This ellipsoid maybe bounded in all directions or unbounded insome, depending on whether det(J) 6= 0 ornot. However, Appendix B shows that J isnon-singular for all q ∈ C, so that L will alwaysbe a bounded ellipsoid in our case (Fig. 3). Itis worth to see here that, since J is full rankfor all q ∈ C, the navigation of C implicitlyavoids the singular configurations of the plat-form. Thus, the control issues related to suchconfigurations (due to output velocity indeter-mination and platform shakiness [6]) will notbe encountered during the execution of the ob-tained path.

Now, for q to be wrench-feasible, we musthave L ⊆ D, which can be checked as follows.For each i = 1, . . . , 6, let vi ∈ R

6 be a vector

satisfying

vT

i B vi = 1, (5)

Bivi = 0, (6)

vi,i > 0, (7)

where Bi stands for the matrix B with its ithrow removed, and vi,i is the i-th component ofvi. Observe that if J is non-singular, then bothB andBi are full row rank, and there is exactlyone vector vi satisfying Eqs. (5)-(7). Using La-grange multipliers, we can see that f0−vi andf0 + vi identify the points of L attaining thesmallest and largest value along the ith coor-dinate (Fig. 3). Hence, when det(J) 6= 0, L iscontained in D whenever

f0,i − vi,i > fi, (8)

f0,i + vi,i < fi, (9)

for i = 1, . . . , 6. As a result, C can be charac-terized as the set of points q ∈ SE(3) satisfyingEqs. (1)-(9) for some value of the variables di,di, f0 and vi.

3.2 Conversion into Equality Form

Continuation methods are, by design, aimed attracing solution sets of systems of equations,not inequalities [26]. To define a continuation-based path planning strategy, we thus need toconvert Eqs. (3), and (7)-(9) into equality form.

Page 7: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 3 The Navigation Manifold 5

q

q

a

di

gi

di di

(a)

(b)

yi

si

Figure 4: (a) The graph of Eq. (10) showsthat if we explore the solution set ofEq. (10) by continuation from some q ∈ Ccorresponding to di = a, the constraintsdi < di < di will always be satisfied.(b) The graph of yisi = 1, where yi =f0,i−vi,i−fi, shows that the same appliesto Eq. (11).

To this end, note from Fig. 4(a) that we canreplace Eq. (3) by

(di − di) · (di − di) · gi = 1, (10)

gi > 0,

where gi is a newly-defined auxiliary variable.In apparence, we have not skipped the use of in-equalities with this change, but from the graphof Fig. 4(a) we see that if a configuration q

corresponds to a value di = a ∈ (di, di), thenany other configuration found from q by con-tinuation subject to Eq. (10) will always satisfy

di < di < di. In other words, the constraintgi > 0 can be neglected under such a continua-tion scheme.

Similarly, Eqs. (8) and (9) can be replacedby

(f0,i − vi,i − fi) · si = 1, (11)

(fi − f0,i − vi,i) · ti = 1, (12)

si > 0, ti > 0,

where si and ti play a role analogous to thatof gi in Eq. (10). From the graph in Fig. 4(b),for example, it is clear that the quantity yi =f0,i − vi,i − fi will remain positive, and hencef0,i − vi,i > fi, when marching continuouslyfrom a given q with yi > 0. The same ar-gument applies to Eq. (12), so we can replaceEqs. (8) and (9) by Eqs. (11) and (12), neglect-ing the constraints si > 0 and ti > 0 during thecontinuation scheme.

Finally, Eq. (7) can be directly neglected, be-cause vi,i 6= 0 for all i on any vector satisfy-ing Eqs. (5) and (6). Certainly, observe thatBvi is all zeros except in its i-th componentdue to Eq. (6). If it were vi,i = 0 for somei, this would imply vT

i Bvi = 0, contradictingEq. (5). Therefore, if our continuation methodstarts from a value of vi with vi,i > 0, and itis compliant with Eqs. (5) and (6), Eq. (7) willbe naturally fulfilled.

3.3 The Manifold and its Properties

The system formed by Eqs. (1)–(2), (4)–(6),and (10)–(12) can be compactly written as

F (x) = 0, (13)

where x refers to a tuple encompassing all ofits variables: p, τ ,di, di, gi,f0,vi, si, and ti, fori = 1, . . . , 6. The solution set of this system,

M = x : F (x) = 0,

will be called the navigation manifold here-after, because it has the necessary propertiesto connect qs and qg by numerical continua-tion.

To see this point, consider the subset M+ ⊂M formed by the points x for which gi > 0,si > 0, ti > 0, and vi,i > 0. Clearly, C and M+

Page 8: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

6 Planning Safe Motion Paths for Cable-driven Hexapods

are in correspondence. A point q belongs toC if, and only if, it has a corresponding pointx ∈ M+. This implies that any continuouspath in C will also be represented by a con-tinuous path in M+, and vice versa. Thus,the original problem of computing a path of Cconnecting qs and qg can be reduced to thatof computing a path in M+ connecting pointsxs and xg of M+ corresponding to qs and qg.However, since gi, si, ti, and vi,i never vanishon M (Section 3.2), M+ and its complementM\M+ are disconnected, and if we try to con-nect xs to xg by continuation on M, we willbe moving through M+ actually. Therefore,for the purpose of this paper, we will only needM and Eq. (13) hereafter.M is six-dimensional, but Appendix B fur-

ther proves that it is smooth everywhere, sothat every point x has a well-defined tangentspace TxM. This greatly simplifies the defi-nition of a continuation method to connect xs

and xg, because no bifurcations, sharpnesses,or dimension changes will be found along theway, avoiding the need of elaborate branch-switching procedures [25].It is worth adding that in many applications

(such as in painting, polishing, or cleaning ofship hulls, wings, or building facades) the plat-form is further confined to move within a lower-dimensional subset of C defined by geometric orcontact constraints on its pose. As exemplifiedin Section 5.2, our approach can naturally copewith such constraints, either by including themin Eq. (13) in the parametric form

[

p

τ

]

= Ω(λ), (14)

where Ω is a smooth function of any set of pa-rameters λ, or in the implicit form

C(p, τ ) = 0, (15)

where C(p, τ ) is smooth and with a full-rankJacobianCp,τ . Appendix B shows that, again,the resulting system of equations is suitable tothe following strategy.

4 A Continuation Strategy

To determine a path connecting xs and xg wecan gradually construct an atlas of the naviga-

tion manifold M. An atlas is a collection ofsmooth maps, called charts, jointly mappinga relatively large subset of M [30]. In ourcase, we shall generate the charts starting fromxs, trying to map the whole connected com-ponent that is reachable from such point, untilxg is eventually found, or path non-existenceis proved by exhaustion of the search. Sinceall variables in x have bounded feasibility in-tervals, the construction of the atlas will be re-stricted to a finite domain defined by the Carte-sian product of all such intervals. The atlaswill be computed using the higher-dimensionalcontinuation method by Henderson [24], withthe extensions proposed in [4] to heuristicallyguide the search towards xg. To make the pa-per as self-contained as possible, we next recallthe main points of the method and refer thereader to [4, 24] for further details.

4.1 Defining a Chart

Let n be the dimension of M, and m be thenumber of variables in x. For a given point xi

of M, set initially to xs, a chart Ci is a localmap ψi from a polytopic domain Pi ∈ R

n to anopen neighbourhood of M around xi, satisfy-ing ψi(0) = xi. The domain Pi will be taken asa subset of Txi

M, and ψi is defined using them×n matrix Ψi, whose columns constitute anorthonormal basis of Txi

M. This matrix sat-

xixixij

sij

xjxj

(a) (b)Ti

M

Figure 5: The higher-dimensional continu-ation method applied to a two-dimensionalmanifold in R

3. Left: A point xj ∈ M canbe obtained by projecting a point xi

j =

xi+sij . Right: If a new chart is defined atxj , it must be properly coordinated withthe chart at xi so that their projectionssmoothly cover the manifold.

Page 9: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 4 A Continuation Strategy 7

isfies[

Fx(xi)

ΨT

i

]

Ψi =

[

0In×n

]

,

where Fx is the Jacobian of F . To computethe point xj = ψi(s

ij) ∈ M corresponding to a

vector sij ∈ Pi we first obtain the point

xij = xi +Ψi s

ij , (16)

shown in Fig. 5(a), and project it down to Mby solving

F (xj) = 0

ΨT

i (xj − xij) = 0

using a standard Newton-Raphson method ini-tialized at xi

j [38]. If the Newton method does

not converge, sij is assumed to be out of Pi.

4.2 Constructing an Atlas

Since the domain Pi of each chart Ci is lim-ited, a full parameterization of the manifoldrequires the construction of a whole atlas. Tothis end, we use the fact that each point on themanifold is the potential center of a new chart,as shown in Fig. 5(b), and use the methodin [24] to decide where to generate new chartcenters and how to bound their associated do-mains. In this method, Pi is initialized as ann-dimensional hypercube enclosing a ball Bi ofradius r, both defined in Txi

M, and Pi is pro-gressively clipped as new charts are added tothe atlas (Fig. 6). The domain of each newchart Cj added to the atlas has to be properlycoordinated with the domains of its neighbor-ing charts in the atlas. As shown in Fig. 6,Cj is used to clip Pi using the intersection hy-perplane between Bi and Bi

j , a ball of radius r

centered at the point given by sij that approxi-

mates Cij , the projection on Txi

M of the partof the manifold covered by Cj . The procedurehas mechanisms to adapt the area covered byeach chart to the local curvature of the mani-fold.When a chart Ci has been fully surrounded

by other charts, Pi becomes a multifacetedpolytope with all its vertices lying inside Bi

and the chart is considered to be closed, mean-ing that no further expansion needs to be at-tempted from that chart. The process of chart

rsij

PiPi BiBi

Bij

Cijs

Figure 6: The process of chart construc-tion. Left: The domain of chart Ci, Pi, isinitialized as a box enclosing a ball of ra-dius r around xi, both defined in the tan-gent space of M at xi. Right: Pi is refinedusing a ball Bi

j that approximates Cij , the

projection to Ci of the part of the manifoldcovered by the adjacent chart Cj .

expansion continues as long as there are open(non-closed) charts in the atlas. In the end, theconnected component of M containing the ini-tial point xs gets fully covered by the generatedcharts.

As an example, Fig. 7 illustrates the progres-sion of the algorithm on tracing a Chmutov sur-face from a given point, where open and closedcharts are colored in red and blue, respectively.Since this is a two-dimensional manifold, herethe balls Bi are circles, and the polytopes Pi

are polygons.

Once an atlas has been computed, a graph Gcan be build whose nodes represent the chartcenters, and whose edges correspond to theneighbouring relations between the generatedcharts. If a path connecting xs and xg existsin M, the chart covering xg must be present inthe atlas constructed from xs and, thus, a solu-tion path can be computed by searching G withstandard graph search methods. If no chartcontaining xg is found, path non-existence isestablished at the considered value of r.

4.3 Biasing the Search to the Goal

When multiple planning queries need to be re-solved, it may be interesting to precompute awhole atlas of the connected component of Mthat is reachable from a given point. How-ever, in single-query planning it is better to use

Page 10: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

8 Planning Safe Motion Paths for Cable-driven Hexapods

Figure 7: Progression of the con-tinuation method on tracinga Chmutov surface defined by3 + 8(x4 + y4 + z4) = 8(x2 + y2 + z2),using r = 0.07.

strategies that guide the expansion of the atlastowards xg [35].

A possible approach is to use an A* searchstrategy [40], which computes a minimum-costpath from xs to xg, assuming direct movementsbetween adjacent chart centers. This approachprovides a fair approximation of the shortest

path on M. At each iteration, this method ex-pands the chart Ci with the lowest estimatedcost of the whole movement from xs to xg,while keeping a sorted priority queue of alter-native path segments. The previous cost is thesum of a term g(xi) that gives the lowest knowncost of moving from xs to the chart center xi,and a term h(xi) that gives a lower bound ofthe cost of moving from xi to xg. The value ofthe former term is maintained during the ex-pansion of the atlas by means of a functionc(xj ,xk) that determines the transition costbetween two chart centers.

The A* strategy performs well in lower-dimensional C-spaces, but computation timesconsiderably increase when n is large, due tothe effort needed to find the optimal path. Insuch cases, one can simply use a Greedy Best-First strategy, in which the chart Ci to be ex-panded is just the one yielding a minimum es-timated cost in the movement from xi to xg.In contrast with the A* strategy, the GreedyBest-First strategy usually explores a smallerportion of the manifold. It does not necessar-ily generate all the neighbours of a chart underexpansion, because such generation of childrencharts proceeds only until a chart with lowercost than the parent is found, and this stronlyreduces the final number of charts produced.However, the path obtained by the GreedyBest-First method may be not be close to theoptimal one. In both strategies, the search isstopped as soon as xg is connected to the restof the atlas, or when the full manifold has beencovered without finding xg.

Since the returned paths use direct motionsbetween adjacent chart centers, they may beslightly jerky. However, they can always besmoothed using standard path smoothing tech-niques [2]. Note also that any cost function canbe used in principle. Depending on the partic-ular context of application, the function mayreflect energy consumption, travelled distance,or even a penalty due to robot collisions withitself or with the environment. In the lattercase the function only has to assign an infinitecost to the chart-to-chart transitions that causethe collision [4].

Page 11: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 5 Performance Tests 9

5 Performance Tests

We next illustrate the performance of themethod on two instances of an octahedral hexa-pod, specified as Robot 1 and 2 hereafter(Fig. 8). The robots essentially have the struc-ture of the NIST Robocrane [1], but the plan-ner remains applicable to general hexapods,with cable anchor points not necessarily coin-cident in pairs.

In Section 5.1 we apply the planner to com-pute paths in two-dimensional slices of C ob-tained by fixing four pose parameters. Thisshows how complex the wrench-feasible C-space can be even in simple cases, and stressesthe advantages of our approach in comparisonto previous methods based on discretization.Then, in Section 5.2, we use the planner in areal prototype, both to plan motions subject togeometric constraints, and free-flying motionsin six-dimensional space.

Computation times are given in Table 1 atthe end of the section. All results have beenobtained with an implementation in C of themethod available through [14], executed ona MacBook Pro computer equipped with a2.66 GHz Intel Core i7 processor. Because ofits attractive properties in parallel machines,the implementation adopts the tilt-and-torsionparameterization of SO(3), for which R =Rz(φ)Ry(θ)Rz(σ − φ), where φ, θ, and σ arethe azimuth, tilt, and torsion angles respec-tively [7]. Thus, τ = φ, θ, σ in this section,and the algorithms take into account that theangular coordinates differing in multiples of 2πrefer to the same angle.

5.1 Planning in Illustrative Slices

In this example, Robot 1 is required to with-stand a force of 1 N applied at a pointPm with position vector pm = [30, 14,−21]T

mm in frame F2. Note that the weight ofthis load corresponds to a constant wrenchw0 = [0, 0, 1, 0, 0, 0]T (in SI units) if expressedin a frame F3 defined parallel to F1 and trans-lating with Pm. The bounded perturbations ofthis wrench will be represented by the ellipsoidK centered in w0 with E = 104I6, also ex-pressed in F3. Both w0 andE can be expressed

A1

A1

A2

A2

A3

A3

A4

A4A5

A5

A6

A6

B1

B1 B2

B2 B3

B3

B4

B4B5

B5B6

B6 O

O

P

P

x

x

y

z

x′

x′

y′

z′

Cables

Base Platform

Robot1

A1 = (−200,−115.47, 0) B1 = (0,−115.47, 0)

A2 = (200,−115.47, 0) B2 = (0,−115.47, 0)

A3 = (200,−115.47, 0) B3 = (100, 57.74, 0)

A4 = (0, 230.94, 0) B4 = (100, 57.74, 0)

A5 = (0, 230.94, 0) B5 = (−100, 57.74, 0)

A6 = (−200,−115.47, 0) B6 = (−100, 57.74, 0)

Robot2

A1 = (−231.62,−136.18, 0) B1 = (0,−89.15, 0)

A2 = (231.62,−136.18, 0) B2 = (0,−89.15, 0)

A3 = (233.74,−132.50, 0) B3 = (77.21, 44.57, 0)

A4 = (2.13, 268.67, 0) B4 = (77.21, 44.57, 0)

A5 = (−2.13, 268.67, 0) B5 = (−77.21, 44.57, 0)

A6 = (−233.74,−132.50, 0) B6 = (−77.21, 44.57, 0)

Figure 8: Top: Front and top views of theoctahedral architecture in a reference con-figuration. Bottom: Coordinates of Ai

and Bi in mm, expressed in F1 = Oxyzand F2 = Px′y′z′ respectively, for the tworobots considered.

Page 12: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

10 Planning Safe Motion Paths for Cable-driven Hexapods

π π

π

−π−π

−π φφ

θ

p = [0, 0, 350]Tp = [0, 0, 350]T σ = 34σ = 0

zz

x x y

y

00

200 200−200 −200400400−150

−150250

250

y = 0 z = 300 τ = 0, 20, 0τ = 0, 20, 0 τ = 0, 20, 0 x = 60

start

goal

non-feasiblepath

Figure 9: Slices of C for Robot 1 obtained by dense discretization. The images show thezones where some force is out of range (blue), some cable length exceeds its limits (or-ange), and configurations belonging to the wrench-feasible C-space (green). Note thatthe path in the top-right picture is unfeasible, despite the wrench-feasibility conditionsare satisfied when evaluated at the shown points.

in F1 using Eqs. (20) and (21) of Appendix A.The tensions and lengths for all cables are con-strained to the ranges fi ∈ (0.05, 0.5) N anddi ∈ (100, 550) mm.

Fig. 9 shows several slices of the wrench feasi-ble C-space of the robot, computed in Matlabusing dense discretization. Whereas the toprow shows slices in which P and σ are heldfixed, the bottom row shows others in which thefull orientation τ and one of the coordinates ofP are constant. The configurations correspond-ing to C are indicated in green, while thosethat cannot be reached due to cable lengthsor tensions out of range are represented bythe orange and blue areas, respectively. Thesymmetries in the slices of the top row appearbecause φ, θ, σ and φ + π,−θ, σ representthe same orientation under the chosen param-

eterization. To avoid this double coverage ofSO(3), we only need to restrict the expansionof the atlas to the range θ ∈ [0, π]. The figuresalso show in red the singularity curves wheredet(J(q)) = 0, computed under no constraintson the cable tensions. It can be observed that,as expected, C naturally avoids crossing suchcurves, and that the navigation between twoconfigurations is not trivial, because C is ingeneral non-convex and may have very closeconnected components. The top-right plot ofFig. 9, in particular, exemplifies how evalu-ating the wrench-feasibility conditions at dis-crete points could result in erroneous pathslinking configurations of C separated by singu-larity curves.

We apply our method to resolve a planningquery on the top-centre slice of Fig. 9, hence

Page 13: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 5 Performance Tests 11

qs

q′s q′′s

qg

Cable tensions along the path

0.05N0N

0.5N

0

π

12

−π φ

θ

Figure 10: The three planning queries resolved in Section 5.1. The green mesh ofhexagon-like polygons corresponds to the polytopes Pi of the whole atlas obtainedfrom qs. Only part of such atlas is generated when trying to connect qs to qg underthe A* strategy, shown shaded in green (closed charts) and blue (open charts). Theinset at the top shows the envelope of cable tensions along this path. See the text fordetails.

exploring a manifold of dimension n = 2. Sincehere the platform can only rotate, we use thefunctions

c(xj ,xk) = ‖log(R(τ j)TR(τ k))‖,

and

h(xi) = c(xi,xg).

to implement the A* search strategy of theplanner. For two orientations given by R(τ j)andR(τ k), c(xj ,xk) gives the angle of the axis-angle representation of R(τ j)

TR(τ j), whichis a standard metric of SO(3) [28]. Thestart and goal configurations qs and qg are

given by the τ values −2.3, 1.6, 1790π rad and1.7, 1.7, 1790π rad, and by the position of P ,which is fixed at p = [0, 0, 350]T mm.

Fig. 10 shows the path returned by the plan-ner, in red, after smoothing it. The green meshcorresponds to the full atlas of the connectedcomponent of C attainable from qs, and theshaded area indicates the part of this compo-nent that was actually explored to obtain thepath using the A* search scheme. Green andblue shading corresponds to closed and opencharts respectively, and it can be seen that thealgorithm takes into account the topology ofthe angle variables, allowing to traverse fromφ = −π to φ = π, or vice versa.

Observe that a naive approach based on in-terpolating the start and goal configurationswould violate some of the constraints of C, giv-ing rise to uncontrollable motions or unafford-able cable tensions. The computed path, incontrast, correctly avoids these situations andguarantees control of the platform at all points,while keeping cable lengths and tensions withintheir limits. Fig. 10, for example, shows thatthe envelope of cable forces is admissible alongthe movement. Furthermore, because we relyon continuation, the synthesized path will notmisleadingly bridge two disjoint componentsof C, a property that cannot be ensured bydiscretization-based strategies.

The line θ = 0 of Fig. 10 is known to bea representation singularity because all of itspoints correspond to a same orientation [7]. Toillustrate that this is not a problem in practice,we show the results of planning two movementsstarting at distinct points of the θ = 0 line,q′s and q′′s , both leading to qg. The resultingpaths, shown in blue and purple, are clearlydifferent, because the nature of the algorithmdoes not capture the fact that there is no cost ofmoving between two configurations with θ = 0.However, M is smooth despite the singularity,and the planner has no problem in computingfeasible movements in the two cases. An alter-

Page 14: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

12 Planning Safe Motion Paths for Cable-driven Hexapods

qs

qg

φ

10

10

10

10

10

θπ

π

4

π

2

4

−π

4

−π

2

−3π

4

Figure 11: Polar representation of Fig. 10.The blue and purple paths connect thesame two poses of the platform, but arecomputed using different initial values ofthe angle φ.

native way to represent these results is by us-ing the cylindrical coordinate system proposedby [7], in which the line θ = 0 corresponds tothe center point (Fig. 11). In this projectionthere is a bijection between the φ, θ pairsand their corresponding orientations, and wecan see that the blue and purple paths are sim-ilar, only differing in the vicinity of θ = 0.

5.2 Planning in a Real Prototype

In order to mimic a situation in which the plat-form is subject to geometric constraints, wenext apply our approach to the robot of Fig. 12,which is meant to perform insertion tasks onthe surface of a sphere. For operation purposes,the platform is required to move tangentially tothe sphere, with zero torsion. Using the para-metric form of Eq. (14), these conditions canbe written as follows

p = rc + rs

cosα2 cosα1

cosα2 sinα1

− sinα2

φ = α1 − πθ = π

2 − α2

σ = 0

, (17)

where rc = [xs, ys, zs]T and rs indicate the

sphere center and radius, and α1 and α2 are twoangular parameters. Thus, λ = α1, α2 in thiscase, and the navigation manifold is of dimen-sion n = 2 after adding Eq. (17) to Eq. (13).The points Ai and Bi correspond to those

of Robot 2 in Fig. 8, and the sphere is ofradius 100 mm, with its center located atrc = [0, 0, 306]T mm in frame F1. However,since a small distance between the platformand the sphere needs to be kept, a value ofrs = 130 mm is used in Eq. (17). The plat-form weight is of 0.6 kg, with its center ofmass located in P , and we use the same ma-trix E = 104I6 as before. Cable tensions arelimited by the maximum force allowable by themotors, with fi ∈ (0.1, 6.58) N, and the feasiblelengths are those satisfying di ∈ (200, 600) mm,for i = 1, . . . , 3.The resulting C-space is shown in Fig. 13

projected on the sphere, using the same draw-ing conventions of Fig. 10. The initial config-uration, and the configurations where the in-sertion tasks are to be done are referred to asq1, q2, and q3, respectively, and correspondto the λ values 0.55, π2 , 0.55, 0.75, and2.63, 0.75. If we ask the planner to synthe-size movements from q1 to q2, and then to q3,we obtain the red path in Fig. 13, which hasbeen computed using

c(xi,xj) = rs arctan

(

‖ni × nj‖

ni · nj

)

,

andh(xi) = c(xi,xg), (18)

in the A* search strategy, where ni = pi − rc.Given two points pi and pj on the sphere, thesefunctions provide the great-circle distance be-tween them, so the algorithm returns motionsthat minimize the distance travelled by P onthe surface of the sphere. A simple planningapproach based on interpolation in the α1, α2plane would result in a rather different motion.The transition from q1 to q2 would coincide,but the movement from q2 to q3 would yieldthe blue path of the figure, which rapidly leavesC at the beginning.The video in http://youtu.be/

DM9lPR0mMKY shows the results of execut-ing both the interpolated and planned versions

Page 15: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section 5 Performance Tests 13

Figure 12: A cable-driven hexapod constructed at Institut de Robotica i InformaticaIndustrial (IRI) to demonstrate the planning method proposed.

q1

q2

q3

interpolatedpath

Figure 13: Results of planning a path from q1 to q2, and then to q3, in the firstexperiment of Section 5.2. The part of the C-space explored to plan the transitionfrom q2 to q3 is shown shaded in green.

Page 16: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

14 Planning Safe Motion Paths for Cable-driven Hexapods

slack

collision

tanglement

(a)

(c) (d)

(b)

Figure 14: Several snapshots of the video available in http://youtu.be/DM9lPR0mMKY.(a): The robot at configuration q2. (b): Slackness of the cables and collisions appearwhen trying to follow the interpolated path from q2 to q3. (c): Comparison betweennormal operation (left) and tanglement of the cables in the motors (right). (d): Fol-lowing the wrench-feasible path between q2 and q3 guarantees a smooth motion andcontrol of the platform at all times.

of the q1 − q2 − q3 movement. It can beseen how, as expected, the platform movessmoothly from q1 to q2, but some cablesbecome slack and control of the platform islost along the interpolated path from q2 toq3. Other undesirable effects of followingthis path include shakyness of the platformunder small perturbations, collisions with theenvironment, and cable tanglement at themotors. In contrast, control of the platform ismaintained when following the path q2 − q3returned by the planner. Fig. 14 summarizesthe experiment in a few snapshots.

The method can be applied to higher-dimensional problems as well. For example, ifthe insertion operations are to be performedwith an axisymmetric tool, we can ignore thezero-torsion constraint on the platform pose byremoving σ = 0 in Eq. (17). The result is athree-dimensional planning problem that is ef-ficiently solved with the method, although the

computation time is higher due to the increasedsize of the search space. Six-dimensional prob-lems can also be solved by taking only Eq. (13)into account. Assuming that the sphere is nolonger present, for example, a free-flying mo-tion from q2 to q3 can be planned in a matterof seconds using the Greeedy Best-first strat-egy.

The problem sizes and computation timesof all test cases are reported in Table 1. Foreach case, the table shows the dimension ofthe explored manifold (n), the number of prob-lem variables involved (m), and the time spentby the Greedy Best-first and A* strategies(last two columns expressed in seconds), us-ing the same cost functions. It becomes appar-ent how, in terms of computation time, the useof a Greedy Best-first strategy is advantageousin higher-dimensional problems, while the A*one is affordable and adviseable in lower di-mensions, because it normally yields lower-cost

Page 17: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section A Obtaining the

Wrench Ellipsoid 15

paths. Moreover, it must be said that oncea partial atlas has been computed, all plan-ning queries between configurations in such at-las can be solved in a few milliseconds.

Robot Path n/m GBF A*

1

qs → qg 2/150 29 62

q′

s → qg 2/150 6 12

q′′

s → qg 2/150 5 9

2

q1→ q

22/155 12 2

q2→ q

32/155 30 14

q2→ q

3(σ free) 3/155 56 166

q2→ q

3(free-flying) 6/153 40 > 6000

Table 1: Problem sizes and computationtimes (in seconds) for all test cases.

6 Conclusions

The ability to govern a load both in posi-tion and orientation is crucial in many appli-cations, and parallel cable-driven robots con-stitute an advantageous, cost-effective solution.The problem is challenging though, because ca-ble tensions need to be positive to avoid sway-ing and unwanted collisions of the load whenmoving towards a goal. This paper has pro-posed a path planner that ensures a safe nav-igation in this context. The planner auto-matically computes motion paths that, at anypoint, allow to counteract a platform wrenchsubject to bounded perturbations, with cabletensions lying inside their allowable bounds.When executing the planned paths, the loadmoves smoothly and predictably towards thedesired pose, thus making the approach suit-able in fine manipulation tasks especially. Asshown in the paper, moreover, the strategynaturally avoids crossing the forward singular-ity locus, and the adjustment of the tensionbounds gives a meaningful way to tune theclearance relative to such locus. Although theemphasis has been on modelling the length andtension constraints of the hexapod, the algo-rithm is flexible-enough to also accommodatecollision constraints of the robot. As shown in

Section 4, these simply translate into infinitecost transitions in the graph of the atlas. Themethod has been thoroughly tested in C-spacesof various dimensions, and with experiments ona real prototype. Video sequences of the lattercan be found in the multimedia material at-tached to the paper.

A number of points are proposed for futureattention. First, in some applications it may benecessary to also obtain platform motions witha certain degree of position accuracy for themoving load. Due to the generality of the nu-merical continuation strategy, it shouldn’t bedifficult to deal with such constraints using de-velopments analogous to those in the paper,propagating known bounds on the position er-ror of the actuators to an ellipsoidal bound onthe platform pose. Second, while inertia effectscan currently be modelled as bounded pertur-bations of the wrench, this approach is bet-ter suited to move the robot quasi-statically,as shown in the experiments performed. Fur-ther research needs to be done to see whetherthe method can be extended to also synthesizemotion paths ensuring a full dynamic controlof the robot, or even a time-optimal trajectory.As explained in [21], substantial workspace en-largements might be achieved in doing so. Fi-nally, efforts should also be made to try to gen-eralise the method to deal with cable-drivenrobots with more than six cables, which, de-spite their more intrusive nature, are increas-ingly proposed to exploit their redundant ac-tuation. Here, the difficulty resides in thatthe mapping of the wrench ellipsoid to thecable-tension ellipsoid is not easily expressedin closed form, because a same wrench can becounteracted by infinite cable tension combi-nations. Careful analysis of tension distribu-tion methods might give a clue to this exten-sion [36].

A Obtaining the

Wrench Ellipsoid

To obtain the center w0 and shape matrix E

needed in Section 2, we distinguish two situ-ations, depending on whether the suspendedload is moving in free space, or it is subject to

Page 18: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

16 Planning Safe Motion Paths for Cable-driven Hexapods

a contact constraint.

In the former case (Fig. 15 (a)) the resultantwrench w is the sum of the load weight ww

and small perturbations introduced by inertiaforces or external agents like the wind. Bothw0 and E are easier to describe in a frame F3

parallel to F1 in this case, located in the centerof mass G of the load. In this frame E is aconstant matrix, and

w0 = ww = [0, 0,−w, 0, 0, 0]T, (19)

where w is the load weight. However, since inSection 2 and Eq. (4) J was given in F1, bothw0 and E need to be converted into such framefor consistency. To convert w0 we can use thetransformation

wi = eij · wj , (20)

where wi and wj indicate the coordinates of asame wrench in frames Fi and Fj , and

eij =

[

Rij 03XijRij Rij

]

is the change of reference matrix [18]. Theblock Rij is the rotation matrix providing theorientation of Fj relative to Fi, and

Xij =

0 −z yz 0 −x−y x 0

,

where x, y, and z are the coordinates of theorigin of Fj in frame Fi. In Fig. 15 (a), e.g.,if g is the position vector of G in frame F2 wehave

[x, y, z]T = p+R g,

where p andR are defined as in Section 2. Sim-ilarly, to convert E, it is easy to see that if Ei

and Ej refer to the shape matrix of an ellipsoidin frames Fi and Fj , then

Ei = eTji ·Ej · eji, (21)

where

eji =

[

RT

ij 03RT

ijXT

ij RT

ij

]

.

In contact situations (Fig. 15 (b)), the re-sultant wrench w is the sum of the weight ww,

the contact wrench wc, and bounded perturba-tions in both of such wrenches. We thus thinkof w as the sum of two vectors lying inside six-dimensional ellipsoids Kw and Kc respectively,centered in ww and wc, and with shape ma-trices Ew and Ec. Therefore, w will lie insidethe Minkowski sum of Kw and Kc, which, ac-cording to [39], can be tightly bounded by anellipsoid centered in

w0 = ww + wc, (22)

with shape matrix

E =1

2Ew(Ew +Ec)

−1Ec. (23)

Assuming that ww, Ew, wc, and Ec have allbeen expressed in frame F1, these are the ex-pressions needed for w0 and E in Section 2.

B Proofs of the Properties

B.1 Non-singularity of the

Screw Jacobian

It is easy to prove that J is full rank for allq ∈ C by contradiction. Let us assume thatthere is a configuration q ∈ C for which J isrank deficient. Then, since B would be rankdeficient as well, we have dim(kerB) ≥ 1. Inthis case, there would be some i for whichkerB = kerBi, i.e. all solutions vi ofB

ivi = 0would lie in kerB. This would imply vT

i Bvi =0 for such i, which contradicts Eq. (5). There-fore, J must be non-singular for all q ∈ C.

B.2 Smoothness of the

Navigation Manifold

To prove that M is a smooth manifold, it issufficient to show that F (x) is differentiableand has a full rank Jacobian Fx for all x ∈ M.Then, the smoothness of M follows from theImplicit Function Theorem.

By construction, all functions intervening inF (x) are clearly differentiable. After reorder-ing the equations, Fx can be expressed in the

Page 19: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Section B Proofs of the Properties 17

(a) (b)F1

F2

F3

ww

ww

wc

G

Figure 15: Obtaining the wrench ellispsoid in two common scenarios. (a) Cargo re-trieval [1]. (b) Beam mounting using the NIST gripper shown in Fig. 1 [32].

following block-triangular form

Fx =

Φy

∗ J

*

2vT

1B

B1

. . .

2vT

6B

B6

∗ ∗ S

∗ ∗ T

,

where the empty blocks represent zero-matricesand the asterisks indicate non-zero blocks. Theblock Φy is of size 30× 36, and the remainingdiagonal blocks are all of size 6 × 6. To seethat Fx is full rank, we next check that all theblocks in its diagonal are full-rank:

1. The block Φy is the Jacobian of the sub-system Φ(y) = 0 formed by Eqs. (1), (2),and (10), where

y = [p, τ ,d1, . . . ,d6, d1, . . . , d6, g1, . . . , g6].(24)

This Jacobian takes the form

Φy =

∗ ∗ −I18

∗ L

∗ G

, (25)

where the block columns correspond tothe derivatives of the variables in y inthe order of Eq. (24), and L and G are6 × 6 diagonal matrices with −2di and(di − di) · (di − di) in their entries, respec-tively. Observe that Φy is full rank, be-cause the entries in L and G do not vanishover M, by virtue of Eq. (10) and the factthat di > 0.

2. Appendix B.1 proves that the block J isfull rank for all q ∈ C, and the same ar-gument shows that it must be so for allx ∈ M.

3. The 6× 6 block matrices involving B andBi can only be rank deficient if vi,i = 0but, as explained in Section 3.2, this cannever happen on M.

4. Finally, S and T are 6× 6 diagonal matri-ces whose elements are (f0,i−vi,i−fi) and

(fi− f0,i− vi,i), respectively, which do notvanish because of Eqs. (11) and (12).

B.3 Smoothness of

Lower-dimensional Subsets

Subsets of M defined by adding Eq. (14) orEq. (15) to Eq. (13) are also smooth manifolds.

Page 20: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

18 REFERENCES

When adding Eq. (14), the Jacobian of the re-sulting system of equations takes the form

Ωλ I6

Φ1 Φ2

∗ ∗ P

, (26)

where Φ1 and Φ2 are the matrices formed bythe first two and last three block-columns ofΦy in Eq. (25), respectively, and P is the sub-matrix of Fx obtained by removing its firstblock-row and block-column. The Jacobianin (26) is full rank, because the square blocksI6, Φ2 and P are all full rank. Similarly, if weadd Eq. (15) to Eq. (13) the resulting Jacobianis

Cp,τΦ1 Φ2

∗ ∗ P

, (27)

which is clearly full rank because Cp,τ is non-singular according to our assumptions.

References

[1] J. Albus, R. V. Bostelman, and N. Da-galakis. The NIST Robocrane. Journal ofRobotic Systems, 10(5):709–724, 1993.

[2] Dmitry Berenson, Siddhartha S Srinivasa,and James Kuffner. Task space regions: Aframework for pose-constrained manipula-tion planning. The International Journalof Robotics Research, 30(12):1435–1460,Oct 2011.

[3] S. Bhattacharya, H. Hatwal, andA. Ghosh. Comparison of an exactand an approximate method of singular-ity avoidance in platform type parallelmanipulators. Mechanism and MachineTheory, 33(7):965–974, 1998.

[4] O. Bohigas, M.E. Henderson, L. Ros,M. Manubens, and J.M. Porta. Plan-ning singularity-free paths on closed-chainmanipulators. Robotics, IEEE Trans. on,29(4):888–898, Aug 2013.

[5] O. Bohigas, M. Manubens, and L. Ros.Navigating the wrench-feasible C-space ofcable-driven hexapods. In T. Bruckmannand A. Pott, editors, Cable-Driven Paral-lel Robots, pages 53–68. Springer, 2012.

[6] Oriol Bohigas. Numerical Computationand Avoidance of Manipulator Singulari-ties. PhD thesis, Universitat Politecnicade Catalunya, 2013. Available through theweb address http://goo.gl/wlR0i.

[7] I. A. Bonev, D. Zlatanov, and C. M. Gos-selin. Advantages of the modified Eulerangles in the design and control of PKMs.In Proceedings of the 3rd Chemnitz Par-allel Kinematics Seminar/2002 ParallelKinematic Machines International Con-ference, Chemnitz, Germany, pages 171–188, 2002.

[8] P. H. Borgstrom, B. L. Jordan, B. J.Borgstrom, M. J. Stealey, G. S. Sukhatme,M. A. Batalin, and W. J. Kaiser. NIMS-PL: A cable-driven robot with self-calibration capabilities. IEEE Trans. onRobotics, 25(5):1005 –1015, 2009.

[9] P. Bosscher, A.T. Riechel, and I. Ebert-Uphoff. Wrench-feasible workspace gener-ation for cable-driven robots. IEEE Trans.on Robotics, 22(5):890–902, 2006.

[10] P. Bosscher, R. L. Williams II, L. S.Bryson, and D. Castro-Lacouture. Cable-suspended robotic contour crafting sys-tem. Automation in Construction, 17:45–55, 2007.

[11] Roger Bostelman, James Albus, NicholasDagalakis, Adam Jacoff, and John Gross.Applications of the NIST RoboCrane. InProceedings of the 5th International Sym-posium on Robotics and Manufacturing,pages 14–18, 1994.

[12] P. Cheng, J. Fink, S. Kim, and V. Ku-mar. Cooperative towing with multiplerobots. In Gregory Chirikjian, HowieChoset, Marco Morales, and Todd Mur-phey, editors, Algorithmic Foundationsof Robotics VIII, volume 57 of SpringerTracts in Advanced Robotics, pages 101–116. Springer Berlin / Heidelberg, 2009.

[13] Peter Corke. Robotics, Vision and Con-trol: Fundamental Algorithms in MAT-LAB, volume 73 of Springer Tracts in Ad-vanced Robotics. Springer, 2011.

Page 21: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

REFERENCES 19

[14] CUIK Project home page. http://

www-iri.upc.es/groups/gmr/cuikweb,2013.

[15] Nicholas G Dagalakis, James S Albus, B-L Wang, Joseph Unger, and James D Lee.Stiffness study of a parallel link robotcrane for shipbuilding applications. Jour-nal of Offshore Mechanics and Arctic En-gineering, 111(3):183–193, 1989.

[16] Bhaskar Dasgupta and T.S. Mruthyun-jaya. Singularity-free path planning forthe Stewart platform manipulator. Mecha-nism and Machine Theory, 33(6):711–725,1998.

[17] Anjan Kumar Dash, I-Ming Chen,Song Huat Yeo, and Guilin Yang.Workspace generation and planningsingularity-free path for parallel manipu-lators. Mechanism and Machine Theory,40(7):776–805, 2005.

[18] J.K. Davidson and K.H. Hunt. Robots andScrew Theory: Applications of Kinematicsand Statics to Robotics. Oxford UniversityPress, 2004.

[19] I. Ebert-Uphoff and P.A. Voglewede.On the connections between cable-drivenrobots, parallel robots and grasping. InProceedings of the IEEE InternationalConference on Robotics and Automation,pages 4521–4526, 2004.

[20] S. Fang, D. Franitza, R. Verhoeven, andM. Hiller. Optimum motion planningfor tendon-based Stewart platforms. InH. Tian, editor, Proc. of the 11th IFToMMWorld Congress in Mechanism and Ma-chine Science, Tianjin, China, 2003. ChinaMachinery Press.

[21] Clement Gosselin, Ping Ren, and S. Fou-cault. Dynamic trajectory planning of atwo-DOF cable-suspended parallel robot.In Robotics and Automation (ICRA), 2012IEEE International Conference on, pages1476–1481, May 2012.

[22] M. Gouttefarde, D. Daney, and J.-P. Mer-let. Interval-analysis-based determination

of the wrench-feasible workspace of paral-lel cable-driven robots. IEEE Trans. onRobotics, 27(1):1–13, 2011.

[23] T. C. Harmon, R. F. Ambrose, R. M.Gilbert, J. C. Fisher, M. J. Stealey,and W. J. Kaiser. High-resolutionriver hydraulic and water quality char-acterization using rapidly deployable net-worked infomechanical systems (NIMSRD). Environmental Engineering Science,24(2):151–159, 2007.

[24] M. E. Henderson. Multiple parameter con-tinuation: Computing implicitly definedk -manifolds. International Journal of Bi-furcation and Chaos, 12(3):451–476, 2002.

[25] M. E. Henderson. Multiparameter paral-lel search branch switching. InternationalJournal of Bifurcation and Chaos in Ap-plied Science and Engineering, 15(3):967–974, 2005.

[26] M. E. Henderson. Numerical ContinuationMethods for Dynamical Systems, chapterHigher-Dimensional Continuation, pages77–115. Springer, 2007.

[27] M. Hiller, S. Fang, S. Mielczarek, R. Ver-hoeven, and D. Franitza. Design, analy-sis and realization of tendon-based paral-lel manipulators. Mechanism and MachineTheory, 40(4):429–445, 2005.

[28] Du Q Huynh. Metrics for 3D rota-tions: Comparison and analysis. Jour-nal of Mathematical Imaging and Vision,35(2):155–164, 2009.

[29] S. Lahouar, E. Ottaviano, S. Zeghoul,L. Romdhane, and M. Ceccarelli. Collisionfree path-planning for cable-driven paral-lel robots. Robotics and Autonomous Sys-tems, 57(11):1083–1093, 2009.

[30] John M Lee. Introduction to Smooth man-ifolds. Springer Verlag, New York, 2001.

[31] A. M. Lytle, K. S. Saidi, R. V. Bostelman,W. C. Stone, and N. A. Scott. Adapt-ing a teleoperated device for autonomouscontrol using three-dimensional position-ing sensors: experiences with the NIST

Page 22: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

20 REFERENCES

RoboCrane. Automation in Construction,13:101–118, 2004.

[32] Alan M Lytle and Kamel S Saidi. NISTresearch in autonomous construction. Au-tonomous Robots, 22(3):211–221, 2007.

[33] J.-P. Merlet and D. Daney. A portable,modular parallel wire crane for rescue op-erations. In Proc. of the IEEE Inter-national Conference on Robotics and Au-tomation, pages 2834 –2839, 2010.

[34] S. R. Oh, J. C. Ryu, and S. K. Agrawal.Dynamics and control of a helicopter car-rying a payload using a cable-suspendedrobot. Journal of Mechanical Design,128(5):1113–1121, 2006.

[35] J. M. Porta, L. Jaillet, and Oriol Bohigas.Randomized path planning on manifoldsbased on higher-dimensional continuation.The International Journal of Robotics Re-search, 31(2):201–215, 2012.

[36] Andreas Pott. An improved force dis-tribution algorithm for over-constrainedcable-driven parallel robots. In Com-putational Kinematics, pages 139–146.Springer, 2014.

[37] J. Pusey, A. Fattah, S. K. Agrawal, andE. Messina. Design and workspace analy-sis of a 6-6 cable-suspended parallel robot.Mechanism and Machine Theory, 3:761–778, 2004.

[38] W. C. Rheinboldt. MANPACK: A set ofalgorithms of computations on implicitlydefined manifolds. Computers and Math-ematics with Applications, 32(12):15–28,1996.

[39] Lluıs Ros, Assumpta Sabater, and Fed-erico Thomas. An ellipsoidal calculusbased on propagation and fusion. IEEETrans. on Systems, Man, and Cybernetics,Part B, 32(4):430–442, 2002.

[40] S. J. Russell and P. Norvig. Artificial In-telligence: A Modern Approach. PrenticeHall, 2003.

[41] Kamel Saidi, Geraldine Cheok, MarekFranaszek, Christopher Brown, JeremySwerdlow, Robert Lipman, Itai Katz,Mani Golparvar-Fard, Paul Goodrum,Manu Akula, Gabriel Dadi, and BehshadGhadimi. Development and use of theNIST Intelligent and Automated Con-struction Job Site Testbed. Technical re-port, National Institute of Standards andTechnology, 2011.

[42] Shamik Sen, Bhaskar Dasgupta, andAsok Kumar Mallik. Variational approachfor singularity-free path-planning of paral-lel manipulators. Mechanism and MachineTheory, 38(11):1165–1183, 2003.

[43] E. Stump and V. Kumar. Workspacesof cable-actuated parallel manipulators.ASME Journal of Mechanical Design,128(1):159–167, 2006.

[44] S. Tadokoro, T. Matsushima, Y. Mu-rao, and H. Kohkawa. A parallel cable-driven motion base for virtual accelera-tion. In Proc. of the IEEE/RSJ Inter-national Conference on Intelligent Robotsand Systems, volume 3, pages 1700 –1705,2001.

[45] R. Verhoeven. Analysis of the workspaceof tendon based Stewart platforms. PhDthesis, Universitat Duisburg-Essen, 2004.

[46] R. Verhoeven, M. Hiller, and S. Tadokoro.Workspace of tendon-driven Stewart plat-forms: Basics, classification, details on theplanar 2-DOF class. In Proc. of the 4thInternational Conference on Motion andVibration Control, pages 871–876, 1998.

[47] P.A. Voglewede and I. Ebert-Uphoff.Overarching framework for measuringcloseness to singularities of parallel ma-nipulators. IEEE Trans. on Robotics,21(6):1037–1045, 2005.

Page 23: Computing Wrench-feasible Paths for Cable-driven Hexapods · 2016-10-19 · 0 Abstract Motion paths of cable-driven hexapods must carefully be planned to ensure that the lengths and

Acknowledgements

This work has been partially supported by theSpanish Ministry of Economy under projectDPI2014-57220-C2-2-P, by the CSIC project201250E026, and by a Juan de la Cierva fel-lowship supporting Montserrat Manubens.The authors also wish to express their grati-tude to M. E. Henderson for introducing themto higher-dimensional continuation, to PatrickGrosch for constructing the robot prototypeused in the paper, and to Josep M. Porta for hisvaluable work on developing the CUIK suite.

IRI reports

This report is in the series of IRI technical re-ports. All IRI technical reports are availablefor download at the IRI websitehttp://www.iri.upc.edu.