Design of convex variable radius drum mechanisms

Design of convex variable radius drum mechanisms

Mechanism and Machine Theory 129 (2018) 175–190 Contents lists available at ScienceDirect Mechanism and Machine Theory journal homepage: www.elsevie...

992KB Sizes 0 Downloads 59 Views

Mechanism and Machine Theory 129 (2018) 175–190

Contents lists available at ScienceDirect

Mechanism and Machine Theory journal homepage: www.elsevier.com/locate/mechmachtheory

Design of convex variable radius drum mechanisms Marc Arsenault Bharti School of Engineering, Laurentian University, 935 Ramsey Lake Rd., Sudbury, Ontario P3E 2C6, Canada

a r t i c l e

i n f o

Article history: Received 1 December 2017 Revised 14 June 2018 Accepted 22 July 2018

Keywords: Variable radius drum mechanism Wrapping cam Convexity Interval analysis Static balancing Cable-driven mechanisms

a b s t r a c t Variable radius drum (VRD) mechanisms represent an interesting alternative to more conventional transmission mechanisms whereby highly flexible input-output relationships may be achieved. The design of such mechanisms implies the determination of the VRD’s profile based on performance criteria whose evaluation generally assumes continuous contact between the cable and the VRD. Although it has been previously acknowledged that this assumption is only valid if the VRD is convex, this condition has not yet have been verified. This deficiency is addressed herein by proposing a design approach which takes into account the requirement of VRD convexity. The approach is based on the formulation of a constrained minimization problem where a convexity constraint, evaluated using interval analysis techniques to ensure its satisfaction throughout the VRD’s operating range, is applied. The proposed method is quite general and may be used in the design of VRDs based on various performance requirements. The effectiveness of the proposed approach is validated through its use in the design of VRDs for the static balancing of a one-degree-offreedom robot arm as well as a one-degree-of-freedom parallel cable-driven mechanism. The method is demonstrated to be successful in producing VRD mechanisms that meet specified design criteria. Crown Copyright © 2018 Published by Elsevier Ltd. All rights reserved.

1. Introduction A variable radius drum1 (VRD) is understood here to represent a generalization of the more conventional constant radius drum (CRD), which consists of a cylindrically-shaped body that pivots about its longitudinal axes and on which a length of cable may be wound. A VRD mechanism, for its part, is defined as any mechanism that includes at least one VRD [1]. The purpose of VRD mechanisms is to convert translational displacements and/or forces to angular rotations and/or torques (or vice-versa). In this sense, VRD mechanisms may be viewed as alternatives to more conventional transmission mechanisms (e.g., cam-follower systems, crank-slider mechanisms, etc.). The use of VRD mechanisms has already been investigated somewhat extensively. A typical objective of their use is to transform the behavior of a linear extension spring so as to emulate a torsion spring with desired characteristics. Applications of this concept include the production of constant torques in shape memory alloy actuators [2], the static balancing of robots [3–5], the improvement of torque capacity in pneumatic artificial muscle actuators while maintaining their operating range [6,7] and the generation of desired torque-deflection profiles [8–10] including in series elastic actuators [11]. Another interesting application of VRD mechanisms targeted the conversion of an extension spring’s force into constant contact forces between the wheels of a pipe inspection robot and the interior surface of the pipe [12]. Finally, VRD mecha-

1

E-mail address: [email protected] These is also sometimes referred to as a wrapping cam.

https://doi.org/10.1016/j.mechmachtheory.2018.07.014 0094-114X/Crown Copyright © 2018 Published by Elsevier Ltd. All rights reserved.

176

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

nisms were more recently used in the development of cable-driven robots that do not depend on gravity to maintain tension in their cables yet do not require redundant actuation [1,13]. In this case, the VRD mechanisms that were employed were tasked with converting angular rotations to desired changes in the lengths of the cables. The design of a VRD mechanism typically amounts to the determination of the required profile (i.e., drum radii as a function of angular location around its periphery) in order to meet design objectives. This has previously been achieved through a graphical approach combined with a numerical solver where a set of discrete points on the VRD profile are generated at specified angular increments such that a desired torque-deflection relationship is obtained [2,3,6,7]. For the case of the static balancing of a point mass attached to the end of a pivoted link [5] where simplifying assumptions were made, it was shown that the design of a VRD mechanism could be obtained from the solution of an ordinary differential equation. Meanwhile, several prior works have developed analytical closed-form solutions to obtain VRD profiles addressing various design requirements [1,4,8–10] based on different kinematic and static modeling approaches. In most cases, such methods involve the sequential use of several connected equations to generate a set of discrete points along the VRD profile. Finally, an optimization of discrete points along a VRD profile was also used in [11] where the objective was the least-squares minimization of differences between desired and actual torques in different mechanism configurations. Previous works dealing with the design of VRD mechanisms have only used the parameters describing the VRD profile as design variables. In other words, the geometrical and mechanical parameters describing the remainder of the VRD mechanism (e.g., link lengths, positions of anchor points, spring stiffness, etc.) have been treated as constants. In instances where unsatisfactory VRD profiles were obtained, however, these parameters were changed a posteriori based on design intuition until a suitable design was obtained. An important design criteria for a VRD is to ensure that its profile is convex. If this criteria is not satisfied, the cable will not always be in contact with the VRD as it is wrapped around its profile and the VRD mechanism’s predicted performance will be inaccurate. The issue of convexity in the design of VRDs has been acknowledged in previous works [4,8,9]. However, to the author’s knowledge, no prior work has included the convexity of VRDs as a constraint during the design process or even as a post-design verification. The work presented herein seeks to address the above mentioned deficiencies. The design of VRD mechanisms is achieved through a constrained minimization problem which allows the designer to (i) select a performance metric arbitrarily according to the design objective and (ii) include as many parameters (related to the VRD profile and/or the mechanism in which it is located) as design variables as desired. Moreover, the design methodology guarantees the convexity of the VRD throughout its range of operation by the application of a design constraint. The paper is organized as follows. In Section 2, the proposed design methodology, including the formulation of the VRD convexity constraint, is presented in general terms. The use of the methodology is then illustrated by applying it to the design of VRD mechanisms to statically balance a one-degree-of-freedom (1-DoF) robot arm (Section 3) and to obtain a 1-DoF parallel cable-driven mechanism (PCDM) (Section 4). Finally, discussions and conclusions are presented in Section 5. 2. Description of the proposed VRD design methodology As previously mentioned, the proposed design methodology for VRD mechanisms is based on a constrained minimization problem. In what follows, the details of this approach are presented in general terms such that it can be applied to any VRD mechanism design scenario. 2.1. Mathematical representation of the VRD profile For the purpose of the methodology proposed herein, the VRD profile is defined in polar coordinates by a parametric equation r(φ ) with coefficients c = [c0 , c1 , . . . ]T where, as illustrated in Fig. 1, r(φ ) is the radius of the VRD at an angle φ along its profile. The type of parametric equation used (e.g., polynomial, Fourier series, etc.) must be chosen at the beginning of the design process as the coefficients in c correspond to design variables. It is noted that r(φ ) needs only to be defined over the VRD’s operating range, i.e., φmin ≤ φ ≤ φmax . Outside this range, the VRD profile may be chosen somewhat arbitrarily based on secondary objectives (e.g., ease of manufacture and assembly, etc.). As will later be seen, the VRD profile r(φ ) must also be twice differentiable with respect to φ (i.e., dr/dφ and d2 r/dφ 2 must exist throughout the VRD’s operating range) for the purpose of the convexity verification. The fact that the type of equation defining r(φ ) is imposed a priori will generally prevent an exact solution to the VRD mechanism design problem from being found (i.e., one that perfectly meets stipulated performance requirements). However, this is considered an acceptable compromise given the added benefit of verifying the convexity of the VRD profile as well as allowing the simultaneous optimization of other VRD mechanism parameters. In addition, as will be demonstrated, the proposed method has the ability to generate designs that satisfy performance requirements within tight tolerances. 2.2. Formulation of the VRD design optimization problem The VRD mechanism design is formulated as an optimization problem seeking to minimize η(x) subject to g(x) ≤ 0 where η(x) is the objective function, g(x) is a vector of nonlinear inequality constraints and 0 is the zero vector. The vector of

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

177

Fig. 1. Sample non-convex VRD profile.

design variables x = [cT , qT ]T , for its part, consists of the parameters c = [c0 , c1 , . . . ]T used in the definition of the VRD profile (mandatory) as well as chosen parameters q = [q1 , q2 , . . . ]T related to the VRD mechanism’s geometry and mechanical properties (optional), e.g., spring stiffness, link lengths, locations of ground anchor points, etc. The objective function is based here on a least-squares minimization of the difference between a desired and an actual performance metric, i.e.,

η (x ) =



( pi − pdi )2

(1)

i

where the desired ( pdi ) and actual (pi ) performance metrics are evaluated over a set of N discretized VRD mechanism configurations within its range of operation (i = 1, 2, . . . , N). It is noted that the definition of the configuration of a VRD mechanism as well as its range of operation depend on the nature of the mechanism and the application being targeted (e.g., in Section 3 the mechanism configuration and range of operation are both defined in terms of the robot link’s angle θ ). The selection of a performance metric for a given design is based on the targeted application of the VRD mechanism where examples include torque produced (e.g., for the static balancing of robot links), cable length variation (e.g., in the design of cable-driven robots) and torsional stiffness. Multi-objective functions or objective functions of types different from the one suggested in Eq. (1) are also be admissible. In the proposed methodology, nonlinear inequality constraints (i.e., g(x ) = [g1 (x ), g2 (x ), . . . ]T ) are introduced in order to impose limits on the size of the VRD as well as to ensure its convexity. However, additional constraints could also be applied at the designer’s discretion. The limits on the VRD’s size are defined such that rmin ≤ r (φ ) ≤ rmax throughout the operating range. In terms of nonlinear constraints, this is formulated as





g1 (x ) = rmin − min r (φ ) ≤ 0





g2 (x ) = max r (φ ) − rmax ≤ 0

(2) (3)

where the minimum and maximum are taken over the VRD’s range of operation. The constraint imposing the convexity of the VRD is described in the next section. 2.3. Development of the VRD convexity constraint The importance of designing convex VRDs may be observed in Fig. 1 where a cable is shown to wrap around the VRD in a clockwise direction from its anchor point to its take-off point. As shown, a cable will not contact all points along a nonconvex VRD’s profile as it is wrapped around the latter. The computation of the length of cable wrapped around a VRD is an essential step in the VRD mechanism design process. Given that this computation typically assumes the cable to remain in contact with the VRD at all points from the anchor point to the take-off point, non-convex VRDs are problematic. In what follows, an intuitive method based on the description of the motion of a fictitious particle P around the profile of a VRD is used to develop a method to verify convexity. Referring to Fig. 1, the particle’s motion may be described using polar coordinates r and φ . For this purpose, unit vectors er and eφ are defined as being directed along the radial and angular coordinate directions, respectively. For the sake of the convexity verification, one may assume φ (s ) = s rad such that φ˙ = 1 rad/s and φ¨ = 0 rad/s2 where s ∈ [0, 2π ] is a fictitious time variable while φ˙ = dφ /ds and φ¨ = d2 φ /ds2 . The radial coordinate

178

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

of the motion of P is obtained from the VRD profile equation as r[φ (s)]. Furthermore, the velocity and acceleration of the particle as it moves along the VRD profile are known from the definition of polar coordinates to be:

v = r˙ er + r φ˙ eφ

(4)

a = (r¨ − r φ˙ 2 )er + (r φ¨ + 2r˙ φ˙ )eφ

(5)

Practically speaking, the convexity of the VRD requires that the centers of curvature at all points along its profile be located on the same “side” of the profile. In terms of the motion of P, this is the equivalent of requiring the component of a that is perpendicular (or normal) to the VRD’s profile to be directed toward the “inside” of the profile. Suppose k to be a unit vector along the Z axis of a right-handed reference frame whose X and Y axes are shown in Fig. 1. With the non-limiting assumptions that φ is measured in a counterclockwise direction about the Z axis and that the VRD’s pivot (i.e., where r = 0) is located at the origin O of the XY reference frame, a necessary and sufficient condition for the VRD to be convex may be stated as follows:





g3 (x ) = − min kT (v × a ) ≤ 0

(6)

The minimum in the expression of g3 (x) is evaluated over the range of operation of the VRD mechanism. Substituting Eqs. (4) and (5) into Eq. (6) while recalling that φ˙ = 1 rad/s and φ¨ = 0 rad/s2 yields the following more practical form of the convexity constraint:





g3 (x ) = − min h(φ ) ≤ 0

(7)

h(φ ) = r 2 + 2r˙ 2 − r r¨

(8)

where

and r˙ and r¨ may readily be obtained from the candidate VRD profile equation (i.e., r(φ )) as

r˙ =

dr dr ˙ dr = ·φ = ds dφ dφ

r¨ =

d2 r d2 r ˙ dr ¨ d2 r = ·φ+ ·φ = 2 2 dφ ds dφ dφ 2

(9) (10)

From the above, it may be seen that the convexity constraint evaluation requires the existence of the first and second order derivatives of r(φ ) with respect to φ . 2.4. Interval evaluation of the design constraints Interval analysis is a computational tool that allows rigorous enclosures of solutions to mathematical problems to be computed in a way that is robust with regards to rounding errors as well as uncertainties in variable values. Details on interval analysis and interval-based algorithms are readily available in existing literature, e.g., [14,15] and interval analysis has already been used extensively in the design and analysis of robots, e.g., [16,17]. An interval [z] is a bounded set of real numbers such that

[z] = [z, z] = {z ∈ R

| z ≤ z ≤ z}

(11)

In other words, [z] is an interval along the real axis with a lower bound z and an upper bound z. Interval adaptations of the usual arithmetic operations (i.e., addition, subtraction, multiplication) exist such that, for example, [z1 ] + [z2 ] = [z1 , z1 ] + [z2 , z2 ] = [z1 + z2 , z1 + z2 ]. Outward rounding is used to ensure that the intervals that result from these operations provide rigorous bounds on the values they produce. Moreover, interval computation of basic algebraic (e.g., [z]2 ) and transcendental (e.g., sin [z]) functions have also been developed. The corresponding algorithms are available within various software packages that allow for a streamlined implementation of interval analysis techniques (e.g., [18]). By using the rules of interval arithmetic and the interval computation of basic algebraic and transcendental functions, the interval evaluation of most real-valued functions of the form f(z) may be found. The interval evaluation of f(z) over an interval [z] will itself yield an interval [f] such that

f ([z] ) = { f (z )

| z ∈ [z]} ⊆ [ f ]

(12)

It is noted that [f] generally overestimates the image f([z]) of f(z) over the interval [z]. This is a well-known characteristic of interval analysis that may be attributed to the occurrence of multiple instances of z within the f(z) function. In order to obtain tighter bounds on the computation of interval evaluations of real-valued functions, various approaches have been proposed. The Skelboe-Moore algorithm [14] is one such method that is used in this paper. For a given function f(z) whose interval evaluation over [z] is [ f ] = [ f , f ], the Skelboe-Moore algorithm proceeds to compute a rigorous enclosure on the lower bound f up to a specified tolerance. In order to compute a rigorous enclosure on f , the algorithm may then be applied to the negative of the function of interest, i.e., − f (z ). Details on the algorithm’s operation are available in [14].

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

179

In the design of VRD mechanisms, the use of interval analysis is beneficial in guaranteeing the satisfaction of the constraint equations. Indeed, one may observe that Eqs. (2), (3) and (7) require the evaluation of r(φ ) and h(φ ) over the operating range of the VRD mechanism in order to identify minimum and maximum values for a given design. A simple approach to this problem consists in generating a finite list of evenly spaced values of φ , computing r(φ ) and h(φ ) at each of these values, identifying the required minima and maxima from the resulting data and subsequently evaluating the constraint equations gj (x) ( j = 1, 2, 3). However, such an approach would not guarantee the satisfaction of the constraints as these would only be verified over a finite set of φ values. Alternatively, one may define an interval

[φ ] = [φmin , φmax ] = {φ ∈ R

| φmin ≤ φ ≤ φmax }

(13)

The interval evaluations of the required functions r(φ ) and h(φ ) are then used to produce intervals [r] and [h] that provide rigorous bounds on the images of r(φ ) and h(φ ) over [φ ]. This is done using the Skelboe–Moore algorithm so that tighter bounds are obtained. Applying the algorithm to r(φ ), −r (φ ) and h(φ ) yields min [r(φ )], max [r(φ )] and min [h(φ )], respectively, as required by Eqs. (2), (3) and (7). Given the Skelboe-Moore algorithm estimates these values to a specified tolerance, the VRD designs that are obtained will naturally be slightly conservative with respect to the constraints. 2.5. Selection of an appropriate optimization algorithm For the purpose of the case studies that are described in the following sections, the optimization problem that has been proposed for the design of VRD mechanisms was solved using Matlab® ’s fmincon constrained minimization algorithm based on the sequential quadratic programming (SQP) algorithm. In some cases, in order to mitigate the algorithm’s sensitivity to the provided initial guess, the multistart functionality was also implemented such that the optimization problem was solved sequentially from a set of multiple randomly-generated initial conditions. Although this was found to be a successful approach, nothing would prevent the method to be implemented using other (perhaps more efficient) approaches (i.e., global optimization algorithms such as genetic algorithms, etc.). Meanwhile, tools within the INTLAB toolbox [18] were used in the interval evaluation of the constraint equations. Finally, the algorithm was implemented using parallel computing (facilitated by the use of the Matlab® Parallel Computing Toolbox) in order to reduce execution time. 3. Case study: static balancing of a 1-DoF robot arm In order to demonstrate the effectiveness of the proposed VRD design methodology, it is applied here to the static balancing of a 1-DoF robot arm. Similar scenarios have previously been considered in [3–5] using different design approaches. 3.1. Description of the statically-balanced 1-DoF robot arm mechanism Consider the simple robot arm shown in Fig. 2 whose rotation about the pivot at O is driven by an actuator (not shown). The concept of static balancing [19] in this scenario is aimed at offsetting the gravitational torque felt by the actuator due to the robot arm’s weight. While many different approaches to static balancing are available (e.g., [20,21]), a VRD mechanism will be used here. This should be understood as an exercise in VRD mechanism design and not an endorsement of their use over other methods for static balancing. The proposed VRD mechanism consists of a VRD mounted rigidly to the robot arm such that it also pivots about O. A cable is attached to the VRD at a point D0 on its periphery, passes through an eyelet at B, wraps around a pulley at C and is attached to one end of a spring whose other end is attached to ground at A. The cable is assumed to have infinite stiffness along its length while its diameter is also considered to be negligible. As the angle θ measured from the vertical to the robot arm increases, the cable is wrapped around the VRD and its tension increases due to the extension of the spring. This results in a torque applied to the VRD and the attached robot arm that, through proper design, is capable of offsetting the corresponding gravitational torque. 3.2. Modeling of the VRD profile used for static balancing Referring to Fig. 2(a), D0 2 is defined as the point where the cable first contacts the VRD when θ = 0. The angle φ used in the definition of the VRD’s profile is measured in a CW direction3 from the line joining O and D0 as shown. Using polar coordinates, a polynomial VRD profile is chosen such that the radius of the VRD at a location φ along its profile is given by

r = c0 + c1 φ + · · · + cn φ n

(14)

where c = [c0 , c1 , . . . , cn ]T is a vector of coefficients defining the profile. Given how the VRD is mounted on the robot arm, the coordinates of points along its profile, measured with respect to and expressed in the VRD-attached X Y frame shown, are obtained as

x = r cos φ 2

y = −r sin φ

The “0” subscript is used throughout the paper to indicate a quantity that relates to the VRD mechanism’s initial vertical configuration (i.e., where

θ = 0). 3

(15)

Note that all other angles are measured in a counterclockwise (CCW) direction.

180

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

Fig. 2. VRD mechanism for the static balancing of a robot link: (a) Initial configuration where θ = 0 and (b) arbitrary configuration.

The angle of the tangent to the VRD profile measured from the X axis for a given φ is denoted ξ and may be obtained as



ξ

dy dx = atan2 , dφ dφ



(16)

where, referring to Eq. (15), one has

dx dr = cos φ − r sin φ dφ dφ



dy dr =− sin φ + r cos φ dφ dφ

(17)

 (18)

3.3. Determination of the VRD mounting angle γ 0 Given a candidate profile defined by c, the VRD is to be mounted on the robot arm such that its first contact point with the cable when θ = 0 (i.e., D0 ) occurs at the “beginning” of its profile where φ = 0. In order to compute the required VRD mounting angle γ 0 , one may generally observe that

s u = rv − b

(19)

]T

where b = [bx , by is the position vector of B in the fixed XY frame and s is the length of the straight cable segment joining B and D. Moreover, u = [cos ψ , sin ψ ]T is defined as a unit vector directed along the straight segment of cable from B to D while v = [cos γ , sin γ ]T is a unit vector directed from O to D on the VRD. Considering Eq. (19) for the specific case where θ = 0 and multiplying by (Eu0 )T yields

uT0 ET (r0 v0 − b ) = 0 where



0 E= 1

−1 0

(20)

 (21)

Based on the requirement that the cable and VRD be tangent to each other at all times, one may observe from Fig. 2(b) that

ψ = θ + ξ + γ0 − π

(22)

which, when θ = 0, simplifies to ψ0 = ξ0 + γ0 − π . It is important to observe that this generally does not imply u⊥v. Substituting into Eq. (20) and rearranging leads to

E2 w2 + E1 w + E0 = 0

(23)

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

181

where

E0 = (r0 − bx ) sin ξ0 + by cos ξ0

(24)

E1 = −2bx cos ξ0 − 2by sin ξ0

(25)

E2 = (r0 + bx ) sin ξ0 − by cos ξ0

(26)

with w = tan (γ0 /2 ). While Eq. (23) may lead to two solutions for γ 0 , only one viable solution exists if one considers the cable to be wrapped around the VRD in a CCW direction (i.e., γ0 ∈ [−π /2, π /2]). From this solution, the initial length of the straight cable segment, joining B and D0 , is then found as s0 = r0 v0 − b. 3.4. Determination of the VRD/cable initial point of contact In an arbitrary configuration represented by θ , the cable’s first point of contact with the VRD occurs at point D, whose angular location along the VRD profile is

φ = θ + γ0 − γ

(27)

where γ 0 is known from Section 3.3 and where γ is the angular location of D measured with respect to the X axis (refer to Fig. 2(b)4 ). Extending Eq. (20) for the case of an arbitrary configuration θ , one has

λ(γ ) = uT ET (rv − b ) = bx sin ψ − by cos ψ − r sin (ψ − γ ) = 0

(28)

Solving Eq. (28) for γ is made quite challenging by the dependence of ψ on γ . In fact, given a candidate solution γ to Eq. (28), ψ is obtained as follows: 1. Given θ , γ 0 and the candidate γ , φ is computed from Eq. (27). 2. Given φ , Eqs. (16)–(18) are used to compute ξ . 3. Given θ , γ 0 and ξ , Eq. (22) is used to compute ψ . For this reason, γ and subsequently φ (from Eq. (27)) are found through the following unconstrained minimization problem:

min γ



λ (γ )

2

(29)

where, from Eq. (28), the minimum is expected to be zero. The minimization is performed using a quasi-Newton gradientbased method whose performance is improved by providing a starting point that is near to the solution. This is accomplished quite naturally since the minimization must be performed for a series of discrete and increasing values of θ within the VRD mechanism’s range of operation (this is explained in Section 3.5). As such, the starting point for a given minimization may be taken as the solution of the previous one with the very first minimization having γ 0 as its starting point. 3.5. Design of the VRD for the static balancing of a 1-DoF robot arm Based on the formulation of the optimization problem described in Section 2.2, the objective function used in the design of the VRD mechanism for static balancing the robot arm is

η (x ) =

N 

( τi − τg i ) 2

(30)

i=1

where in this case x = c since there are no optional parameters included in the design vector. Moreover, τgi is the gravitational torque applied to the pivot at O by the robot arm’s weight and τ i is the offsetting torque generated by the VRD mechanism. If the robot arm’s mass is m and the distance of its center of mass G measured from pivot O is L then one has τgi = mgL sin θi where g = 9.81 m/s2 is the gravitational acceleration and θ i is a discrete value of θ within the VRD’s range of operation, i.e., θmin ≤ θi ≤ θmax . Given that the VRD mechanism does not need to produce any static balancing torque when θ = 0, the spring may conveniently be assumed to be at its rest length in this configuration. As the robot arm progressively moves away from its initial vertical configuration, the cable is wrapped around the VRD and the spring is stretched as shown in Fig. 2(b). For a given θ i , the corresponding tensile force in the spring (and the VRD cable) is fi = k i where k and i are the spring’s stiffness and deflection, respectively. The resulting torque produced by the VRD mechanism on the robot arm may thus be obtained as

  τi = det ri vi , fi ui

(31)

4 When looking at Fig. 2(b), it is useful to recall that γ 0 and γ are measured in the CCW direction such that they would be negative in the illustrated configuration.

182

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

For given θ i , γ i and φ i are obtained using the procedure outlined in Section 3.4 which subsequently allows for the determination of ri , ui and vi . The spring’s deflection, for its part, may be computed as

 i =  s i +  w i −  s 0

(32)

where si = ri vi − b is the straight segment of cable joining B and D while s0 was previously obtained in Section 3.3.



Meanwhile, wi is the length of cable wrapped around the VRD from D0 to D. Defining ds = dx2 + dy2 as an infinitesimal length of cable wrapped around the VRD and considering Eqs. (17) and (18), one may find that



ds =

 r2

+

dr dφ

2 dφ

(33)

The length of cable wrapped around the VRD is then obtained as

wi =

ds =

φi



0

 r2 +

dr dφ

2 dφ

(34)

where the integral is evaluated numerically. 3.6. Formulation of the convexity constraint to ease its interval evaluation As was explained in Section 2.4, the interval evaluation of the constraints in Eqs. (2), (3) and (7) is used to guarantee their satisfaction throughout the VRD mechanism’s operating range. Furthermore, the Skelboe-Moore algorithm is used to ensure that tight enclosures are obtained on these interval evaluations. That being said, one may still express the constraint equations so as to minimize the overestimation that is inherent in their interval evaluation as this will lessen the burden placed on the Skelboe-Moore algorithm. Given the polynomial VRD profile selected in Eq. (14), the formulation of r(φ ) in Eqs. (2) and (3) that leads to the tightest interval evaluation was found empirically to be





r ( φ ) = c0 + φ c1 + φ c2 + φ ( c3 + . . . )



(35)

A similar approach is used for the interval evaluation of h(φ ) in Eq. (7). For the case where n = 2, Eq. (14) may be substituted into Eq. (8) and rearranged to yield





h(φ ) = H0 + φ H1 + φ H2 + φ (H3 + φ H4 )



(36)

where

H0 = c0 (c0 − 2c2 ) + 2c12

(37)

H1 = 2c1 (c0 + 3c2 )

(38)

H2 = c12 + 2c2 (c0 + 3c2 )

(39)

H3 = 2c1 c2

(40)

H4 = c22

(41)

are constants that depend on the candidate VRD profile. Similar results may be obtained for other values of n. 3.7. Design results for the statically-balanced 1-DoF robot arm The proposed VRD mechanism design methodology and its application to the static balancing of a 1-DoF robot arm is now demonstrated. For this purpose, the mechanism parameters listed in Table 1 are used. Although any subset of these parameters could be included as design variables within the optimization of the VRD mechanism, they are considered as constants in what follows such that x = c, where the components of c correspond to the coefficients of the polynomial defining the VRD profile (Eq. (14)). The search space for the optimization was bounded such that 0 ≤ c0 ≤ rmax while



2rmax

πi

≤ ci ≤

2rmax

πi

( i = 1, 2, . . . , n )

(42)

Essentially, this limits the contribution to the radius of the VRD of any individual term within Eq. (14) to ±2rmax (with an assumed VRD range of operation of −π ≤ φ ≤ π ) such that, while bounded, the search space provides ample freedom

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

183

Table 1 Parameter values of the VRD mechanism used for the static balancing of a 1-DoF robot arm. Robot arm mass: Position of arm center of mass: Spring stiffness: Eyelet position: Minimum VRD radius: Maximum VRD radius:

m = 0.5 kg L = 0.25 m k = 100 N/m b = [0, −0.25]T m rmax = 0 m rmax = 0.1 m

Fig. 3. Optimal VRD mechanism with n = 3 and θ ∈ [0, 90] degrees shown in different configurations throughout its operating range.

Fig. 4. Difference between the torque produced by the VRD mechanism and the gravitational torque needing to be balanced in the robot arm as a function of the mechanism configuration.

to the optimization algorithm for finding a solution. Referring to Section 2.5, all results presented herein were obtained using Matlab’s fmincon algorithm with 40 initial starting points (through the use of the multistart option) randomly positioned throughout the search space based on a uniform distribution so as to mitigate the issue of finding a locally (i.e., not globally) optimum design. As a first objective, a VRD mechanism is designed to statically balance the robot arm over the range θ ∈ [0, 90] degrees. Selecting n = 3, an optimized VRD profile is obtained with c0 = 78.201 mm, c1 = 0.39158 mm/rad, c2 = −12.907 mm/rad2 and c3 = −3.5447 mm/rad3 . The corresponding VRD mechanism is illustrated in different configurations within its range of operation in Fig. 3 (the “designed” portion of the VRD profile is shown in a solid line while the remainder is drawn using a dashed line). It may be observed that, although θ ∈ [0, 90] degrees, the actual operating range of the VRD (i.e., the angular range over which the cable is in contact with the VRD) is φ ∈ [0, 55.6] degrees. In other words, the remainder of the cam profile never comes in contact with the cable. The torque difference, i.e., τ − τg , is plotted in Fig. 4 where the maximum absolute difference over the VRD mechanism’s operating range may be identified as 6.36 × 10−4 N · m. Meanwhile, the relative torque difference is plotted in Fig. 5 where it may be seen that this difference never exceeds 0.25%. In practical terms, this implies a reduction of the required motor torque due to static balancing of at least 99.75%. This is not quite as good a result as what would be obtained through the use of the methods proposed in [3,4] which would (theoretically) offset the weight of the robot arm perfectly at the set of discrete points generated along the VRD profile. However, the small deviation in performance is considered acceptable since it allows for the convexity of the VRD to be guaranteed.

184

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

Fig. 5. Absolute relative difference between the torque produced by the VRD mechanism and the gravitational torque needing to be balanced in the robot arm as a function of the mechanism configuration. Table 2 Maximum absolute torque differences of VRD mechanism designs for varying n. n

max (|τ − τg | )

2 3 4 5

1.456 × 10−3 6.362 × 10−4 5.028 × 10−4 4.842 × 10−4

θ

N·m N·m N·m N·m

Fig. 6. VRD profile resulting from the design of a mechanism for the static balancing of a robot arm with n = 8 and θ ∈ [0, 135] degrees and where the VRD convexity constraint was applied.

In order to better gauge the impact of the order of the VRD profile’s polynomial on the effectiveness of the mechanism design, the proposed design methodology was applied for various values of n with the same goal of statically balancing the robot arm over the range θ ∈ [0, 90] degrees. The resulting maximum absolute torque differences are shown in Table 2. As expected, the performance is improved by using higher order polynomials to define the VRD profile although gains tend to decrease with increasing n. It must also be remembered that higher values of n imply search spaces of higher dimensions in the design optimization which makes finding a global optimum solution increasingly challenging. It may be observed from Fig. 2 that for θ > 90 degrees the gravitational torque needing to be offset by the VRD mechanism is decreasing while the force in the spring continues to increase. This makes it inherently challenging to design a VRD mechanism for the static balancing of a robot in both the inverted pendulum and ordinary pendulum configurations. In [3], this was addressed by incorporating two VRDs whose designs were obtained independently for each pendulum configuration. As a final illustration of the proposed methodology, the VRD mechanism for the static balancing of a robot arm was designed for the case where n = 8 and θ ∈ [0, 135] degrees.5 The resulting VRD profile is shown in Fig. 6 while Fig. 7 compares τ and τ g over the range of operation. Although the static balancing performance of the VRD mechanism is not quite as strong in this case, the absolute torque difference still does not exceed 17.5 × 10−3 N · m. It may be observed from

5

Unsatisfactory results were obtained for the case where θ ∈ [0, 180] degrees.

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

185

Fig. 7. Comparison of the gravitational torque τ g generated by the robot arm and the offsetting torque τ produced by a VRD mechanism designed for θ ∈ [0, 135] degrees with n = 8.

Fig. 8. VRD profile resulting from the design of a mechanism for the static balancing of a robot arm with n = 8 and θ ∈ [0, 135] degrees and where the VRD convexity constraint was not applied.

Fig. 6 that the VRD radius decreases rapidly at the end of its operating range in an attempt to compensate for the decreasing torque demand accompanied by the increasing spring force. Finally, Fig. 8 illustrates the VRD profile that was obtained through the proposed design methodology for n = 8 and θ ∈ [0, 135] degrees but without the application of the VRD convexity constraint. In this case, the non-convexity of the resulting VRD profile is clearly visible (region encompassed by a red circle in Fig. 8). However, in other situations, the VRD profile’s convexity (or non-convexity) would not be so easily detected. The necessity of considering the convexity of the VRD convexity during its design is thus confirmed. It may also be noted that, by removing the convexity constraint, the performance of the VRD mechanism in terms of static balancing is apparently improved such that the absolute torque difference does not exceed 12.2 × 10−3 N · m (a reduction of approximately 30% with respect to the convex VRD profile). However, this is not a valid comparison given that the performance evaluation is based on the assumption of a convex VRD. This is the principal issue that is addressed by the proposed methodology.

4. Case study: design of a 1-DoF cable-driven mechanism To further demonstrate the effectiveness of the proposed methodology, it is now applied to the design of a VRD for use in a 1-DoF PCDM, as was initially proposed in [1,13]. PCDMs generally consist of a mobile platform whose position and/or orientation are controlled by varying the length of cables attached to the platform with motor-driven winches. These mechanisms are often associated to benefits such as an ability to operate in large workspaces, a simplified and relatively inexpensive fabrication, a capacity to be easily reconfigured and an ability to perform high acceleration motions due to the reduced inertia of moving parts, etc. Research on PCDMs is very active [22–24] though a detailed literature review will not be included here for the sake of brevity. Suspended PCDMs (e.g., [25]) rely on the weight of the manipulated payload to maintain tension in a set of at least n cables in order to perform motions within a n-DoF space. Typically, this will also require a total of n motor-driven winches. However, in situations where the desired motion of the payload is restricted to m < n degrees of freedom (within the n-DoF space), as few as m motor-driven winches may be used so long as the required changes in the n cable lengths to generate the desired motion are coordinated. As will be outlined in the following sections, the use of VRDs makes this possible.

186

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

Fig. 9. VRD-based 1-DoF cable-driven mechanism.

4.1. Description of the VRD-based 1-DoF PCDM The proposed VRD-based 1-DoF PCDM is shown schematically in Fig. 9. A CRD and a VRD are mounted on a common shaft and rotate in unison about a horizontal axis passing through point O. One cable is wound on the CRD, passes over an idler pulley at A and is attached to the payload at P. Another cable is attached to the VRD at D0 , passes over the idler pulley at B and is also attached to P. The weight of the payload is assumed to maintain sufficient tension in the cables so that they don’t sag. By rotating the CRD/VRD assembly, the payload will travel along a curve in the XY plane whose shape depends on the design of the VRD. In order to ease the visualization of the PCDM’s operation, it is henceforth assumed that the desired trajectory to be followed requires only a single rotation of the CRD/VRD assembly. Lifting this assumption (as was done in [1,13]) would allow the radius of the CRD (and the maximum radius of the VRD) to be reduced but would not otherwise impact the validity and generality of the proposed approach.

4.2. Design of the VRD for the PCDM In order to illustrate the proposed VRD design methodology for the case of a 1-DoF between points PI and PF will be used as the desired trajectory. It may be noted that the PCDM’s workspace (i.e., beneath the line segment joining points A and B). If pI and final positions of the payload, respectively, then the desired payload location at expressed as

pd = pI + λ ( pF − pI )

PCDM, a straight-line in the XY plane both PI and PF must be located with and pF are the corresponding initial a point along the trajectory may be

(43)

where λ ∈ [0, 1] is monotonically increasing. The objective function to be minimized, based on the optimization problem defined in Section 2.2, is the sum of the distances measured between the actual and desired payload positions, i.e.,

η (x ) =

N 

pi − pdi 

(44)

i=1

where x is the vector of design variables and where the summation is taken over a set of N discrete PCDM configurations. In what follows, the radii of the idler pulleys at A and B will be considered negligible with respect to the overall dimensions of the PCDM. This assumption is not made in [1,13] where the lengths of cable wrapped around the idler pulleys are instead assumed to remain constant6

6

Although this is only truly valid if the idler pulley radii are assumed to be zero.

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

187

4.2.1. Determination of pd Based on the requirement for the PCDM to move from pI to pF in a single rotation of the CRD/VRD assembly, the radius of the CRD may be calculated as

R=

    pF − a − pI − a 2π

(45)

2 = pd − a = pI − a + Rθ

(46)

where a is the position of A in the XY frame. For a given configuration of the PCDM specified by θ , one may observe that

Combining this result with Eq. (43) and manipulating the resulting equation yields:

pF − pI λ2 + 2(pI − a )T (pF − pI )λ + pI − a2 − 22 = 0

(47)

Given that P must remain within the PCDM’s workspace, this yields a unique solution for λ which may then used with Eq. (43) to compute pd . 4.2.2. Computation of p Referring to Fig. 9, it is observed that the assembly of the VRD and the notation that is used for its modeling in the context of the PCDM are consistent (where applicable) with Section 3. For a given VRD profile stipulated by c, the VRD mounting angle γ 0 as well as the initial length s0 of cable between D0 and B (i.e., when θ = 0) may then be computed using the method outlined in Section 3.3. Similarly, γ and φ , the latter of which defines the position D of the cable’s first contact with the VRD, may be found using the approach described in Section 3.4. This allows for the computation of the length of cable between B and P in a given mechanism configuration as

1 = 10 + s − s0 − w

(48)

where 10 = pI − b, s = rv − b and w is computed as described in Section 3.5. With 1 now known, the actual position of the payload (i.e., p) corresponding to a given CRD/VRD angle θ may be found by computing the intersection of two circles of radii 1 and 2 centered at nodes B and A, respectively. While this yields two distinct solutions7 , the solution of interest is easily identified as the one where P is located beneath the line segment defined by nodes A and B. 4.3. Preliminary identification of a suitable VRD profile As mentioned in Section 2.1, the type of parametric equation used to model the VRD profile must be specified at the beginning of the design process. Although polynomial-based VRD profiles such as those used in Section 3 are typically suitable, the following procedure may alternatively be applied: 1. Generate a set of N discrete VRD mechanism configurations θ i (i = 1, 2, . . . , N) uniformly distributed throughout its range of operation (i.e., θ ∈ [0, 2π ]) and define θ = θi+1 − θi . 2. For each θ i , calculate pd j from Section 4.2.1 as well as 1i = pdi − b. 3. Calculate 1 j = 1 j − 1 j−1 ( j = 2, 3, . . . , N). 4. Calculate

rj ≈

 1 j θ

(49)

5. Use curve fitting techniques to identify a suitable parametric equation that approximately describes the r j = f (θ j ) dataset. The coefficients of the resulting equation may be used as the initial guess required by the SQP optimization algorithm. It is important to note that the above procedure will only generate a rough estimate of a suitable VRD profile for the desired trajectory. In fact, Eq. (49) provides only an estimate of rj based on the assumption that the length of the cable segment connecting points D and B is constant throughout the trajectory (this is clearly not the case). In reality, the radius of the VRD at a given location on its profile corresponds to the rate of change of the entire cable segment from D to P. This approach does, however, provide a suitable starting point for the VRD design optimization. Finally, regardless of the type of parametric equation chosen to model the VRD profile, it should be mentioned that Eqs. (15)–(18) remain valid and are used in the design process. 4.4. Design results for 1-DoF PCDMs Results obtained through the use of the proposed methodology will now be presented for two different trajectories. In each case, a = [−0.5, 0]T m, rmin = 0 m, rmax = 0.3 m and N = 25 have been used. 7

Assuming the payload is located beneath the line segment joining nodes A and B.

188

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

Fig. 10. VRD design for a 1-DoF PCDM undergoing a prescribed horizontal straight-line trajectory: a) VRD profile and b) distance between desired and actual payload positions as a function of mechanism configuration.

4.4.1. Horizontal trajectory A horizontal trajectory similar to the one used in [1] is initially defined with pI = [−0.3, −1]T m and pF = [0.3, −1]T m. The VRD idler pulley is located at b = [0.5, 0]T m. The chosen parametric equation to model the VRD profile is:

r = c0 ec1 θ + c2 sin (θ + c3 ) + c4 sin (2θ + c5 )

(50)

The exponential term was identified as a good initial approximation of the required VRD profile using the procedure outlined in Section 4.3. The remaining terms, which allow for additional fine tuning of the VRD profile, are the fundamental and second harmonic terms of a Fourier series whose fundamental frequency is based on a single rotation of the VRD. The coefficients that result from the design optimization (as per Section 2.5) with the convexity constraint being applied are c0 = 90.8 mm, c1 = −0.3697 rad−1 , c2 = −9.6 mm, c3 = 1.0299 rad, c4 = 0.7 mm and c5 = −1.9113 rad and the corresponding VRD profile is illustrated in Fig. 10(a). The distance between p and pd is shown as a function of θ in Fig. 10(b) where the maximum deviation is 5.35 mm. The maximum deviation along the Y-axis direction, for its part, is 1.41 mm. The PCDM design may thus be considered successful in terms of following the prescribed trajectory, especially when the deviations are compared to the overall size of the mechanism. That being said, results would be expected to improve with the introduction of additional flexibility in Eq. (50), e.g., through the consideration of additional Fourier series harmonics.

4.4.2. Inclined trajectory As an additional validation test, an inclined trajectory defined by pI = [−0.3, −0.4]T m and pF = [0.3, −0.8]T m has been implemented. In this case, a horizontal alignment of the idler pulleys (as was used in [1,13] and in Section 4.4.1) is problematic. This is due to the existence of a position along the trajectory at which the cable segment from B to P is perpendicular to the straight-line trajectory. It follows that the VRD must reel in its cable until this position is reached at which point the cable would need to be reeled back out. This is not feasible given that the rotation of the VRD cannot change directions. However, as mentioned in Section 2.2, the proposed approach allows for parameters other than those defining the VRD profile to be included within the design optimization. In this case, as a simple illustration, b = [0.5, by ]T m is used where q = [by ] is also considered as a design variable so that x = [cT , by ]T . Based on the results of the analysis method described in Section 4.3, the VRD profile was chosen to be modeled using a 4th-order polynomial (refer to Eq. (14) with n = 4). The resulting optimized VRD’s profile is illustrated in Fig. 11(a) while the distance between the actual (i.e., p) and desired (i.e., pd ) payload positions as a function θ is shown in Fig. 11(b). The maximum deviation between p and pd is 4.55 mm. Although this was not verified, an improved performance of the optimized PCDM may be possible by using a higher order polynomial to model the VRD profile. The addition of by as a design variable allowed for a suitable design to be found. Although the method proposed in [1,13] is based on the idler pulleys being horizontally aligned, this condition could easily be lifted. However, this type of adjustment to the mechanism’s parameters would need to be made iteratively by the designer until a suitable result is found. Given the simple geometry of the PCDM and trajectory considered here, such adjustments could be made rather intuitively and those methods be used. However, this would become very challenging for more complex scenarios (e.g., multiple DoF PCDMs with curved trajectories, etc.).

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

189

Fig. 11. VRD design for a 1-DoF PCDM undergoing a prescribed inclined straight-line trajectory: a) VRD profile and b) distance between desired and actual payload positions as a function of mechanism configuration.

5. Conclusion Previously proposed approaches to the design of VRDs (e.g., [1,13]) are able to quickly generate VRD profiles as sets of discrete points in Cartesian space that are obtained from the numerical evaluation of equations developed based on application requirements. These methods have the theoretical benefit of satisfying design requirements exactly at each of the generated discrete points along the profile, although a form of interpolation between these points is required to obtain the complete profile. However, although these methods assume the VRDs are convex in their underlying models, this is not verified to be the case. While it is true that a numerical verification of convexity could be performed a posteriori, a guarantee of convexity is impossible to achieve given the VRD profile’s definition as a set of points. In addition, the methods are not able to overcome the problem of non-convex VRDs should they occur (i.e., it would be the responsibility of the designer to adjust parameters iteratively until a suitable design is found). In this paper, a different approach is proposed to generate optimal designs of VRD mechanisms. While the method requires a parameterized equation describing the VRD profile to be chosen a priori, such that the exact satisfaction of design criteria is not ensured, it offers the following improvements upon existing methods: • •

A constraint is included to verify that the VRD profiles resulting from the design methodology are convex. The optimization problem formulation allows for any parameter defining the VRD mechanism to be included in the design vector.

Given the continuous description of resulting VRD profiles (through the aforementioned parametric equation), it is possible to guarantee the convexity of designed VRDs. This is done through the use of an interval evaluation of the convexity constraint throughout the VRD mechanism’s operating range. The effectiveness of the proposed method was illustrated through its application to two design scenarios: the static balancing of a 1-DoF robot arm and the design of a 1-DoF CDPM to follow a specified trajectory. While the proposed method does not guarantee that design criteria will be met exactly, these criteria were shown to be met within an acceptable tolerance for the considered application scenarios. Better performance may always be sought at the expense of an increased complexity of VRD profile models with a corresponding increase in the size of the design space. In order to further validate the proposed methodology, future work will apply it to the design of VRD mechanisms in other scenarios. The possibility of expanding on the use of interval analysis within the proposed approach such that chosen design criteria are met to a specified tolerance throughout the range of operation could also be investigated. References [1] S. Seriani, P. Gallina, Variable radius drum mechanisms, J. Mech. Robot. 8 (2) (2016). [2] S. Hirose, K. Ikuta, K. Sato, Development of a shape memory alloy actuator: improvement of output performance by the introduction of a σ -mechanism, Adv. Rob. 3 (2) (1989) 89–108. [3] G. Endo, H. Yamada, A. Yajima, M. Ogata, S. Hirose, A passive weight compensation mechanism with a non-circular pulley and a spring, in: Proceedings of the IEEE International Conference on Robotics and Automation, 2010, pp. 3843–3848. [4] B. Kim, A.D. Deshpande, Design of nonlinear rotational stiffness using a noncircular pulley-spring mechanism, J. Mech. Robot. 6 (4) (2014). [5] N. Ulrich, V. Kumar, Passive mechanical gravity compensation for robot manipulators, in: Proceedings of the IEEE International Conference on Robotics and Automation, vol. 2, 1991, pp. 1536–1541. [6] D. Shin, X. Yeh, O. Khatib, Variable radius pulley design methodology for pneumatic artificial muscle-based antagonistic actuation systems, in: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 1830–1835. [7] D. Shin, X. Yeh, O. Khatib, Circular pulley versus variable radius pulley: optimal design methodologies and dynamic characteristics analysis, IEEE Trans. Rob. 29 (3) (2013) 766–774.

190

M. Arsenault / Mechanism and Machine Theory 129 (2018) 175–190

[8] P.H. Tidwell, N. Bandukwala, S.G. Dhande, C.F. Reinholtz, G. Webb, Synthesis of wrapping cams, ASME J. Mech. Des. 116 (2) (1994) 634–638. [9] N. Schmit, M. Okada, Design and realization of a non-circular cable spool to synthesize a nonlinear rotational spring, Adv. Rob. 26 (3–4) (2012) 235–252. [10] M. Kilic, Y. Yazicioglu, D.F. Kurtulus, Synthesis of a torsional spring mechanism with mechanically adjustable stiffness using wrapping cams, Mech. Mach. Theory 57 (2012) 27–39. [11] A. Schepelmann, K.A. Geberth, H. Geyer, Compact nonlinear springs with user defined torque-deflection profiles for series elastic actuators, in: Proceedings of the IEEE International Conference on Robotics and Automation, 2014, pp. 3411–3416. [12] T. Okada, T. Kanade, A three-wheeled self-adjusting vehicle in a pipe, FERRET-1, Int. J. Rob. Res. 6 (4) (1987) 60–75. [13] L. Scalera, P. Gallina, S. Seriani, A. Gasparetto, Cable-based robotic crane (CBRC): design and implementation of overhead traveling cranes based on variable radius drums, IEEE Trans. Rob. 34 (2) (2018) 474–485. [14] R.E. Moore, R.B. Kearfott, M.J. Cloud, Introduction to interval analysis, Society for Industrial and Applied Mathematics, 2009. Philadelphia [15] E. Hansen, G.W. Walster, Global Optimization Using Interval Analysis, 2nd ed., Marcel Dekker Inc., New York, 2004. [16] J.P. Merlet, Solving the forward kinematics of a Gough-type parallel manipulator with interval analysis, Int. J. Rob. Res. 23 (3) (2004) 221–235. [17] M. Gouttefarde, D. Daney, J.P. Merlet, Interval-analysis-based determination of the wrench-feasible workspace of parallel cable-driven robots, IEEE Trans. Rob. 27 (1) (2011) 1–13. [18] S. Rump, INTLAB – INTerval LABoratory, in: T. Csendes (Ed.), Developments in Reliable Computing, Kluwer Academic Publishers, Dordrecht, 1999, pp. 77–104. [19] D.A. Streit, B.J. Gilmore, Perfect spring equilibrators for rotatable bodies, J. Mech., Transm., Autom. Des. 111 (4) (1989) 451–458. [20] J.L. Herder, Energy-free Systems: Theory, Conception and Design of Statically Balanced Spring Mechanisms, Delft University of Technology, 2001 Ph.D. thesis. [21] C. Gosselin, Gravity compensation, static balancing and dynamic balancing of parallel mechanisms, in: Smart Devices and Machines for Advanced Manufacturing, Springer, London, 2008, pp. 27–48. [22] T. Bruckmann, A. Pott (Eds.), Cable-Driven Parallel Robots, Springer, 2013. [23] A. Pott, T. Bruckmann (Eds.), in: Cable-Driven Parallel Robots:Proceedings of the Second International Conference on Cable-Driven Parallel Robots, Springer, 2015. [24] C. Gosselin, P. Cardou, T. Bruckmann, A. Pott (Eds.), in: Cable-Driven Parallel Robots: Proceedings of the Third International Conference on Cable-Driven Parallel Robots, Springer, 2018. [25] L.L. Cone, Skycam: An aerial robotic camera system., Byte 10 (10) (1985) 122–132.