Modeling and Control of a Cable-Suspended Sling-Like Parallel Robot for Throwing Operations

Featured Application: Sling-type cable-suspended robots could be applied for gaming and entertainment purposes: the robot could be used, for instance, to throw a ball towards human players and catch it back. The advantage of cable robots is their large workspace, which can span across a playing ﬁeld. Moreover, an ideal application for a sling-like CSPR would be automatic waste handling, where there are no strict requirements on positioning accuracy nor a risk of damaging the objects being sorted. Abstract: Cable-driven parallel robots can provide interesting advantages over conventional robots with rigid links; in particular, robots with a cable-suspended architecture can have very large workspaces. Recent research has shown that dynamic trajectories allow the robot to further increase its workspace by taking advantage of inertial effects. In our work, we consider a three-degrees-of-freedom parallel robot suspended by three cables, with a point-mass end-effector. This model was considered in previous works to analyze the conditions for dynamical feasibility of a trajectory. Here, we enhance the robot’s capabilities by using it as a sling, that is, by throwing a mass at a suitable time. The mass is carried at the end-effector by a gripper, which releases the mass so that it can reach a given target point. Mathematical models are presented that provide guidelines for planning the trajectory. Moreover, results are shown from simulations that include the effect of cable elasticity. Finally, suggestions are offered regarding how such a trajectory can be optimized.


Introduction
Cable-Suspended Parallel Robots (CSPRs) are a class of parallel robots where the end-effector (EE) is supported by n extendable cables and in which the gravity force is used to keep cable tensions τ 1 , . . . , τ n positive. In this work, we focus in particular on robots that employ as many (taut) cables as the number of Degrees-of-Freedom (DoFs) of the EE.
Such robots are often considered to move quasi-statically, that is, slowly enough that inertial effects can be disregarded. If a CSPR operates in static or quasi-static conditions, the EE must remain within the Static Equilibrium Workspace (SEW), namely, the set of poses where the EE can be in static equilibrium [1]. However, considering dynamic trajectories has become more and more important over the years. In [2], the authors defined the Dynamic Workspace (DW) as the set of EE poses that can be reached with positive cable tensions by taking advantage of inertia forces, with the EE moving in non-static conditions (nonzero velocity or acceleration): since the SEW is a subset of the DW, this expands the potential applications of CSPRs.
For a dynamic trajectory to be feasible, the cable tensions must be positive at any instant, as the EE moves along the trajectory. This condition can be verified numerically, by solving the inverse dynamics problem at each time step; however, this approach can be computationally demanding, to the point that it is difficult to apply in real-time conditions. Another possibility is to use analytic methods: thus, several authors proposed trajectories defined by harmonic motions where the frequency must lie within a feasible range [3][4][5][6][7][8][9] that can be directly computed from the trajectory parameters. One of the first works in this field was [8], where the author considered several types of parametric dynamic trajectories; this work was extended and generalized in [7], where the authors considered elliptic paths in space, including circles and straight lines as special cases. Later works found similar results for cable robots having rotational DoFs [6] or overconstrained cable-driven parallel robots (CDPRs) [9]. Finally, it was proved in [10,11] that the feasibility conditions found for the 3-cable, 3-DoF spatial robot with point-mass EE (considered in [3][4][5]7,8]) can be extended to a 6-cable, 3-DoF spatial robot with purely translational motion and a finite-size EE; this is a more realistic architecture for practical applications (for instance, a gripper can be attached on the EE [12] to carry an object).
Operations that require dynamic manipulation of an object, such as throwing and catching, were attempted by both rigid-link robots and CSPRs. These techniques can be used not only to enlarge the workspace, but also to reduce operation times, which provides greater application possibilities. For rigid-link robots, some of the first works in this field were [13,14], where the authors considered a one-joint manipulator performing throwing and batting operations on an object in the plane, and proved that pose and velocity could be completely controlled (within a subset of the state space) by underactuated manipulation. Other works on 1-DoF manipulators with similar dynamic motions were reported in [15], where the authors presented a 1-DoF robot prototype for tossing a ball towards a target, and [16], where a control strategy was proposed for a similar prototype that launched an object towards a target point. More recently, a concept similar to that presented in [13,14] was applied to a 1-DoF robot capable of juggling a ball in three dimensions in an open-loop configuration [17]. For a general survey of dynamic manipulation using only unilateral constraints (which includes throwing movements), we refer the reader to [18].
Throwing can also be performed by more complex architectures, such as serial robotic arms: an early work is [19], where a 2-DoF robot moving in a vertical plane along an elliptical path was used to throw a ball and catch it back using visual feedback. For similar 2-link, underactuated robot arms, other authors considered the problem of optimizing the pitching trajectory [20,21], while in [22] a control strategy for the throwing motion was proposed and applied to the Pendubot prototype. Regarding higher-DoF serial systems, a serial-link robot launching a ball towards a target was explored in [23], where the authors reported a success rate of 40%; later, the authors of [24] reported up to 85% accuracy by using both a physical simulation and the predictions of a deep-learning network. A 6-DoF serial arm was used for dynamic release and catching of a ball (in a "dribbling" motion) by predicting its trajectory through a model of the free-flight phase using data from a visual tracking system [25]. A more general trajectory design approach for n-link manipulators was introduced in [26]: the algorithm considers both kinematic and dynamic constraints, and finds a solution (if any) with a known probability. Finally, the sensitivity of the launch trajectory was considered in [27], where the authors showed how to find the optimal launch trajectory in order to minimize the variance of the landing-point position.
A number of works by Frank et al. [28] considered the possibility of throwing an object from a gripper; the proposed application was rapid transportation of parts in a manufacturing system. In [29], this idea was developed specifically for throwing and catching cylinder-shaped objects. The position of the launched object in midair was observed by a visual tracking system [30].
A slightly different approach, compared to throwing robots, was used in so-called "casting" robots, proposed in [31]: here the authors design a planar, underactuated 2-DoF robot whose EE is a gripper attached through an extendable cable to a rigid-link mechanism. This design, further developed in [32], was used to prove the possibility of reaching a target point far from the robot base, by swinging the rigid mechanism and then launching the EE by releasing the string at a suitable time. Later, the same authors proposed in [33] the idea of controlling the EE motion in midair, by controlling the tension of the string to which the EE is attached. In [34], this approach was extended to a 3-DoF spatial parallel robot; later on, in [35], a casting robot was proposed using a serial robot arm mounted on a mobile robot. In [36], a robotic arm launched a probe to a target location while the probe orientation was kept fixed during the launch motion. A system that launched an anchor ball attached to a cable was considered in [37], together with a ropeway robot moving along the launched cable after its anchor had been fixed at the target position. Notably, in a casting robot, the cable may interact not only with the launched part, but also with the environment, for instance by wrapping itself around a pole [38]. A concept closely correlated to casting was explored in [39], where the authors considered a shooting robot that catapulted an object connected to an elastic cable with an impulsive force; an advantage of this approach is the ability to reach "blind spots" behind objects. A potential drawback of casting manipulators, where the gripper detaches from the robot, is that they require long cables that, especially in cluttered areas, can be difficult to safely reel back.
In this work, we focus on a 3-DoF CSPR with a point-mass EE attached to three cables and carrying a gripper from which a mass, modeled as a frictionless point object, must be thrown towards a given target by opening the gripper at a suitable instant. The obtained results can be readily extended to a 3-DoF CSPR with a finite-size EE such as the one in [10], as long as some conditions on the robot architecture are respected. The CSPR with parallelogram-type actuation in [10] can perform purely-translational motion: this is useful, since keeping a constant orientation of the EE helps in controlling the launch motion of the object.
Throwing robots were proposed in the literature for application in industrial environments, for instance to quickly transport small parts [28,40], to collect small objects into bins efficiently [24] or to store objects in warehouses [15,16]; for a survey of throwing as a transportation and sorting method for objects with mass up to 100 g, see [40]. In particular, an ideal application for a sling-like CSPR would be automatic waste handling, where there are no strict requirements on positioning accuracy nor a risk of damaging the objects being sorted: while the concept of sorting waste through throwing robots was already explored with both serial [41] or parallel [42] architectures, the application to CSPRs is new, to the best of our knowledge. Throwing robots were also applied for entertainment purposes [19,25], for instance in juggling [17], therefore we also envision an application for our work to a robotic game-playing platform: the robot could be used to launch a ball towards players and catch it back from them, taking advantage of the large DW of CSPRs to move across a playing field. Another interesting application would be in hostile environments, such as space [34,35] or disaster-stricken areas [33,36,37], for example to launch a grappling device [37] or a penetrator [36] (with an attached wire) towards a target point in order to retrieve samples or to attach a tether. Finally, we also suggest that our robot could be used in a casting configuration for fly-fishing purposes, by throwing a hook in a body of water.
In this paper, we begin by defining the dynamic model of the robot (Section 2) as it moves along elliptical paths according to the conditions for dynamic feasibility defined in [4,7]. In Section 3 we find the ballistic trajectory of the launched mass, from which we define conditions so that it can reach the target point. Then, in Section 4 the trajectory thus found is optimized according to two objective functions, through the use of a genetic algorithm. A more complete model of the robot, that takes into account cable elasticity, is presented in Section 5: this is especially relevant considering the discontinuity in cable tensions before and after the launch instant. Finally, in Section 6, we summarize our work and present possible directions for further research.

Kinematic and Dynamic Model
In our work, we consider a 3-DoF robot suspended by three cables such as the one shown in Figures 1 and 2; the cables are modeled as inextensible, massless and having fixed cable exit points A i . The points A i have position vectors a i = A i − O with respect to the fixed reference frame (on the robot base) having its origin in O. The EE is modeled as a point P having mass m and position p = P − O = [x, y, z] T . One can write the inverse kinematic equations (which provide the cable lengths ρ i as a function of p) as  We define the unit vectors e i directed as the ith cable and oriented towards the EE as We obtain the dynamic model of the robot by writing the force equilibrium equation for the EE: In Equation (3), τ i denotes the tensile force in the ith cable, g = − [0, 0, g] T is the gravity vector, and g is the gravitational acceleration. It is convenient to refer to the cable tensions per unit mass µ i = τ i /m, as the EE mass varies before and after launch. We now define the vector µ and the structure matrix M as After some algebraic manipulation, Equation (3) can be solved (in matrix form) for µ as where matrix M is invertible if and only if P does not lie on the plane through points A 1 , A 2 and A 3 [4]. In the following, for simplicity we assume that the EE mass varies instantaneously from m 1 (before the launch) to m 2 (after the launch) and that this happens by simply releasing the launched object, without introducing external forces on the EE; with the previous assumptions of point-mass EE and inextensible cables, this implies that the tensions τ instantaneously vary at launch. For a more comprehensive treatment of variable-mass systems, we refer the reader to [44]. The robot is fully actuated, that is, it has as many controlled DoFs as actuated cables: therefore, any launch trajectory could in principle be used in order to reach a desired launch condition (defined by a launch point and launch velocity), provided that said trajectory is feasible. We assume that P moves along an elliptical path Γ, so that we may usefully apply many results from previous works [5,7,8], especially in regards to determining trajectory feasibility by means of analytical methods. The position p of the EE is then defined by x rs x rc y rs y rc z rs z rc where p C = C − O denotes the position of the center C of Γ, while the entries in matrix b are path parameters that define the shape and orientation of the trajectory. The motion amplitude along the x axis is given by x A = x 2 rs + x 2 rc , thus the minimum and maximum values of the x coordinate as P moves along Γ are x min = x C − x A and x max = x C + x A ; similar extrema can be found for the motion along axes y and z.

Launch Trajectory Planning
A mass is launched at the launch instant t = t L from the EE and we require it to pass through a given target point P T , which has position p T = [x T , y T , z T ] T (see Figure 1). The position p L at launch point P L of the EE and its launch velocityṗ L can be obtained from Equation (6) as: where α L = ωt L is the launch angle (using α as the path coordinate along Γ); note that p L andṗ L define the initial conditions for the motion of the mass after launch. The trajectory planning of the launched mass requires some simplifying assumptions. Most authors [13][14][15][16][17]19,21,[25][26][27][31][32][33][34][36][37][38][39]] consider a simplified model where, during the free-flight phase, the only force acting is gravity; under these assumptions, it can be readily shown that the center of mass of the launched object will move along a parabolic arc in a vertical plane. Considering the effect of air drag leads to a more realistic model; however, the dynamic problem including the air-drag model does not have a closed-form solution. Therefore, we will disregard this effect, which is acceptable if the object being launched is sufficiently small and heavy.
With these assumptions, gravity is the only external force acting during the free-flight motion and the equation of ballistic flight can be written as: If we denote by ∆t LT the flight time in which the mass goes from P L to P T , then p T = p (t L + ∆t LT ), and thus: Equations (9) and (10) yield By substituting Equation (7) into Equation (12) and simplifying, we obtain which, using the tangent half-angle substitution, can be rewritten as a 2nd-degree equation in t n = tan α L 2 , namely: where G, H and I are known coefficients that depend on the geometry of ellipse Γ and the coordinates of the target point P T , namely: G = x rs y rc − x rc y rs − x T y rs + x C y rs + x rs y T − x rs y C H = 2 (−x T y rc + x C y rc + x rc y T − x rc y C ) I = x rs y rc − x rc y rs + x T y rs − x C y rs − x rs y T + x rs y C Solving Equation (14) yields two values for t n : and thus two values for α L : Two possible launch positions p L1 and p L2 are obtained substituting the two values of α Li in Equation (7); it is worth pointing out that neither α L nor p L depend on ω.
Substituting the components of either possible solution for p L andṗ L into Equations (9) and (11), we get two nonlinear equations in the two unknowns ω and ∆t LT , which are the last parameters that need to be computed: for i = 1, 2. Equation (18) can be rewritten as Substituting Equation (20) into Equation (19), we find Substituting Equation (21) into Equation (20), two values of ω can be found. Thus, we obtain the values of ω and ∆t LT that ensure that the launched mass reaches the target point. The method above gives two solutions for α L and thus two solutions for the launch trajectory.
A necessary and sufficient condition for Equation (21) to have solutions is We offer the conjecture (verified on a large number of numerical simulations) that Equation (22) holds if and only if the target point lies below the plane containing the ellipse Γ.

Optimization Method
In Section 3, we showed how to find, for a given trajectory Γ and target point P T , two possible launch positions p L1 and p L2 . In this Section, instead, we seek an optimal trajectory Γ opt (for a given P T ), that is, one having the lowest "cost" (which can be defined according to users' requirements) while respecting desired constraints. Since an elliptical path is completely defined by vector p C and matrix b, while the remaining trajectory parameters α L and ω can be computed from Equations (17) and (20), we look for the optimal choice for p C and b, which minimizes a given objective function F.
In a throwing operation, we may be interested in limiting both the energy required for throwing and the motion time of the launched object. Reducing the motion time provides obvious advantages in terms of productivity; however, we noted empirically that minimizing ∆t LT alone tends to produce unacceptable solutions, as the velocities involved and the corresponding cable tensions may become excessively high. It thus appears sensible to evaluate the energy E required for the launch motion, as E depends on both tensions and velocities. Therefore, we include the ballistic flight time ∆t LT and the total energy E required for launch in a vector-valued function F with two optimization objectives: Some sensible constraints may be set on the velocityṗ T = [ẋ T ,ẏ T ,ż T ] T = n T ṗ T at the target point: here, we choose to assign the direction n T = n Tx , n Ty , n Tz T and a maximum magnitudeṗ max , such that ṗ T ≤ṗ max . We note that, by differentiating Equation (8) with respect to time,ṗ L can be derived fromṗ T aṡ The flight time ∆t LT can be found from Equation (21), but it is convenient to express it as a function of the optimization parameters. By introducing ∆xy LT = (x T − x L ) 2 + (y T − y L ) 2 and n T,xy = n 2 Tx + n 2 Ty , the flight time can be expressed from Equations (9) and (10) as The energy required for launch is the sum of a kinetic and a potential term due to gravity. In order to simplify the trajectory planning, we choose to start the EE from rest and let it reach the dynamical conditions of trajectory Γ through transition trajectories [7] with progressively increasing motion amplitudes. With this choice, the initial rest position is at the center P C of Γ. The kinetic energy at start is zero, while the kinetic energy E KL at launch is Substituting Equations (24) and (25) in Equation (26) yields, after rearrangement The variation of the potential energy as the EE moves from center point P C to launch point P L is As the EE moves from P C to P L , the total energy provided by the motors is then at least Another possible approach is to consider the energy variation ∆E max from P C to the point on Γ that has the maximum value of ∆E, instead of the energy variation from P C to P L : ∆E max can be of interest for the optimization, as the motors will have to provide that amount of energy to the EE. The total energy variation at any point on Γ (with respect to the start point P C ) can be expressed as and thus, by differentiating with respect to time Here,ṗ = ṗ andp = p , whileż is the component ofṗ along the z axis. Substituting Equation (6) into Equation (31) and introducing s = tan ωt 2 yields where c 0 = g (z rc + z rs ) Equation (32) is a fourth-degree polynomial equation, which can be solved either analytically or numerically for the unknown variable s; from the four roots of s we get four possible values of α = ωt and, thus, four local extrema of ∆E(α), the largest of which is the maximum energy ∆E max along the trajectory.
In defining our objective function (see Equation (23)), E can be defined as either the maximum energy ∆E max seen above or as ∆E L in Equation (29), according to the designer's preference. In the following, we use the definition in Equation (29), for simplicity.
From Equation (8), one can see that, when ∆ xy,LT and ṗ T are determined, p L can also be found from p T and n T ; then, one can also findṗ L by using Equation (24). We can show, from Equations (25) and (27)- (29), that the time to reach P T and the launch energy do not depend on x C and y C ; the same is also true if we consider the maximal energy obtained from Equation (30) and the solution of Equation (32). Thus, we may assume the coordinates x C and y C to be given, while we seek to optimize the starting height z C . The optimal path Γ opt is uniquely defined from p C , p L , the direction ofṗ L and the linear eccentricity ε of Γ opt ; ε is defined as the distance from the center of the ellipse to either of its two foci. The frequency ω can then be found from Γ opt , p L and ṗ L . The optimal choice for ∆ xy,LT , ṗ T , z C and ε is the one that minimizes F. When optimizing the objective function F, we may also wish to set some constraints on the trajectory. First, we limit the EE motion within a rectangular cuboid workspace defined as In a practical application, we also have to limit the torques and velocities at the robot's actuators: these are proportional, respectively, to the cable tensions and cable velocities, if the robot uses cable winches controlled by rotary motors (as is common for CDPRs [34]). So we set constraints directly on the tensions and velocities, as where τ max andρ max depend on the robot's motors; for instance, denoting the maximum torque and maximum angular speed of the motors as, respectively, T M and Ω M , and the radius of the winches that actuate the cables as R, one has τ max = T M /R andρ max = Ω M R (assuming that the motors and the winches of all cables are identical). The cable tensions in Equation (35) are found from Equations (4) and (5), while the velocities are found by differentiating Equation (1) with respect to time.
Finally, when a CSPR moves along a dynamical trajectory, cable tensions must also be ensured to be always positive. For a given Γ, the feasible range [ω min , ω max ] for the trajectory frequency ω can be calculated by the method presented in [7]. If (and only if) the value of ω is in this range, then cable tensions τ i are positive both before and after launch, since the method in [7] does not depend on the EE mass m, which in this case changes instantaneously at t = t L . Therefore, the optimization problem also requires the constraint ω min < ω < ω max (36)

Numerical Example
We now present a numerical example (in the following, time, lengths and forces are given in seconds, meters and newtons, respectively). We set and the maximum magnitude of the velocity at the target point asṗ max = 40. For a realistic choice of motors and winch radius, we set τ max = 8 andρ max = 7. The mass m of the EE before and after launch is m 1 = 1 and m 2 = 0.6, respectively. We seek the optimal trajectory under the following workspace constraints: We also assign the x and y coordinates of trajectory center as x C = −1, y C = 1. Several algorithms may be used to solve the optimization problem: we chose to use a genetic algorithm with the MATLAB function gamultiobj, setting an initial population of 1500 individuals and a maximum of 5000 generations. The algorithm converges within the specified number of generations with a function tolerance of 10 −5 ; all solutions also respect the constraints set in Equations (34)- (36). The result of the optimization is a Pareto front that displays the relationship between the first and the second element in the vector-valued function F. In Figure 3, every point represents a potential solution on the Pareto front for the two objectives to be minimized E and ∆t LT . As expected, we can see that we cannot minimize both objectives at the same time.
We also show an example solution from the Pareto front, defined by

Cable Elasticity
So far we have considered cables to be inextensible. With this model, it can be clearly seen from Figure 4b that, at the launch instant, tensions suddenly change due to the instantaneous variation of the EE mass m. Though inextensible-cable models can be very useful for predicting the dynamic feasibility of a trajectory for a CDPR [3][4][5][6][7][8][9][10], tension discontinuity is unrealistic. Thus, we consider now a more realistic model where cables behave as linear elastic springs: by this second approach, tension discontinuities disappear, but the sudden variation of the gravity load applied on the EE causes oscillations.
We introduce p I (t) = [x I (t), y I (t), z I (t)] T and p A (t) = [x A (t), y A (t), z A (t)] T as the positions of the EE as it moves along the ideal (Γ I ) and the actual (Γ A ) trajectory, respectively: that is, Γ I is the trajectory defined in the planning phase considering ideal inextensible cables, while Γ A is the trajectory obtained when elastic effects are introduced. Accordingly, cable lengths become We also define ∆ρ i = ρ i,A − ρ i,I . We use the following linear elastic model: where K 0 is the stiffness of a unit length of cable (assumed equal for all cables). The cable-vector directions are and the actual structure matrix is Since any real system is affected by energy dissipation, damping needs to be taken into account to obtain a realistic model. A complete model of all dissipative forces in a real system is beyond the scope of the present work; therefore, for simplicity we group all damping effects in a linear term, as where K d is the damping coefficient andṗ A is the velocity of the EE as it moves along the actual trajectory. This dissipative force could be due, for instance, to air drag. So, the general equilibrium equation for the elastic model is where τ A = [τ 1,A , τ 2,A , τ 3,A ] T . We can then combine Equations (41), (44) and (45) to obtain a set of ordinary differential equations. For given initial values of p A (t) andṗ A (t), this set can be numerically solved to yield the actual trajectory and actual cable tensions.
To provide an example, we use the optimal trajectory parameters found in Section 4.2, as expressed in Equations (37) and (39); here, the robot starts moving from rest at C with a transition trajectory, reaches the target trajectory Γ and finally performs the launch. The other parameters are set as K 0 = 10,000 N and K d = 0.01 Ns/m; the value of K 0 is obtained considering polymer cables having diameter ≈1 mm (using the data presented in [45] for reference), while the value of K d is only a reasonable parameter for simulation. The results are shown in Figures 5-7.
In Figure 5, the continuous lines represent the actual trajectory, while the dashed lines are the ideal trajectory. In Figure 7, the black crosses are the target point's coordinates along the coordinate axes. The continuous line is the actual trajectory when considering an elastic-cable model. The two figures clearly show that even when considering elastic cables the launched object can be thrown acceptably close to the target point. We can also see in Figure 6 that the cable tensions are continuous before and after launch, although they briefly reach zero with the elastic model. Significant tension oscillations are triggered at the launch instant t = t L , which can lead to losing tension in some cables: this could affect the robot stability after launch.

Conclusions
In this paper, we considered general elliptical trajectories for a 3-cable suspended robot with a point-mass EE and we showed how these trajectories can be applied for launching a mass from the EE to a target point. We provided analytical conditions for the object to reach its target and we optimized the motion in terms of two parameters of interest (namely, energy consumption and total flight time) by using a genetic algorithm. Constraints on the cable tensions were set to guarantee that the trajectories are feasible, both before and after launch. Notably, the results presented for trajectory planning can be extended to a 6-cable suspended robot with parallelogram-type actuation [10,11]. We also verified the motion feasibility by numerical simulations including a model of cable elasticity.
The goal of our work is to expand the capabilities of CDPRs in terms of the types of motion that can be achieved and the total workspace that can be reached. Directions for future work include: • optimizing the robot trajectory in order to reduce the discontinuity (in the rigid-body model) of cable tensions at the launch instant, which may cause oscillations after launch; • studying tension fluctuations that are triggered, in the elastic model, even before the launch (see Figure 6); • analyzing the sensitivity of the final position of the launched object to errors in the actual launch position and velocity with respect to their ideal values, similarly to the works presented in [11,27]; • considering the effect of air drag; the trajectory of a point-mass object in free-flight through a viscous medium is described by differential equations that generally do not allow closed-form solutions, but some authors [29] propose tractable models that approximate the real solution; • experimentally validating our results by tests on a prototype (currently under development).