Real-Time Cable Force Calculation beyond the Wrench-Feasible Workspace

: Under special circumstances, a cable-driven parallel robot (CDPR) may leave its wrench-feasible-workspace. Standard approaches for the computation of set-point cable forces are likely to fail in this case. The novel nearest corner method for calculating appropriate cable forces when the CDPR is outside of its wrench-feasible-workspace was introduced in former work of the authors. The obtained cable force distributions aim at continuity and generate wrenches close to the desired values. The method employs geometrical operations in the cable force space and promises real-time usability because of its non-iterative structure. In a simpliﬁed simulation, a cable break scenario was used to carry out more detailed testing of the method regarding different parameters, a higher number of cables, and the numerical efﬁciency. A brief discussion about the continuity of the method when entering the wrench-feasible-workspace is presented.


Introduction
Cable-driven parallel robots (CDPR) are in the focus of current research [1,2] and are also starting to make their way into industrial applications, see e.g., [3]. Such a robot is driven by cables, which are coiled on computerized winches and attached to an end-effector, following the kinematic structure of a Stewart-Gough platform. This allows for immensely large workspaces, as the cables can be prolonged easily.
As a cable is a unilateral constraint and can exert forces only in pulling direction, the workspace cannot be determined adequately by using purely kinematic models. Therefore, the cable tensions play an essential role in typical workspace criteria for CDPRs. The wrench-feasible workspace W F W includes all end-effector poses, where a desired wrench w at the platform can be produced by a set of cable forces f within defined boundaries [4].
In typical applications, all planned maneuvers take place in the W F W and therefore plenty of well-known methods exist to determine suitable cable forces, see e.g., [5].
However, in special situations, the end-effector can get outside of the W F W and no cable forces f can be found that generate the desired wrench w. This might occur e.g., in haptic interaction, when the imprinted external forces and torques exceed the adjustable values. Furthermore, it can occur in the critical situation of a cable-break, when a cable is suddenly absent and the robot cannot generate the desired wrench. These situations have been further discussed e.g., in [6,7].
To operate the robot outside of its W F W and-in the example of a cable break-guide it back into the W F W, methods are required, that find reasonable forces which produce the possibly closest wrench with respect to the desired values.
In [8], a strategy for moving the cable robot safely after cable failure is proposed, using motion planning along a straight line path. The authors of [9,10] propose three methods to recover the platform wrench after a cable failure. The first methodology is based on the projection of a lost wire force onto the orthogonal complement of the null space of the Jacobian. Both remaining methods minimize the norm of the overall and the correctional cable force vectors, respectively, based on a Lagrange multiplier method. Note that Notash only refers to applications in the wrench-closure workspace, which is defined as in [11]. In [12], an optimization based method is presented to compute suitable forces outside the W F W using a so-called slack variable. However, as the solution of the resulting problem is iterative, the method might have computation time issues regarding the operation in a real-time control system.
To close the gap between the proposed methods, the nearest corner method was developed and introduced in former work of the authors [6]. It is a real-time suitable method that allows for operation outside the W F W and also the consideration of path-planning and collision avoidance.
The method is based on geometrical calculations inside the cable force space. It offers a defined and predictable number of non-iterative calculation steps, which promises a high suitability for real-time applications.
In [6], an example of a rescue scenario after a cable break was used for testing the nearest corner method. More details regarding the scenario and robot model can be found in [7]. The simulation model possessed three cables and two degrees of freedom and a redundancy of r = 1. Simulation results have been shown in [6], comparing different parameters, which will be briefly discussed in Section 4.2.
However, as the the results of former work have been promising, there are open questions left that need to be discussed in this paper. First, broader testing with different parameters and tests in a model with a higher redundancy of r = 2 need to be carried out. Second, a detailed investigation on the computation time as well as on real-time suitability is needed. Finally, the continuity of the method when leaving or entering the W F W needs to be discussed.
The paper is structured as follows: In the second chapter, an introduction of the underlying robot-modeling is given and the computation of cable forces is explained. The third chapter outlines two methods for calculation cable forces outside of the W F W. In chapter four, open questions regarding the nearest corner method are addressed via the results of the simulation. Chapter five summarizes the results and gives an outlook on future work.

Modeling and Cable-Robot Basics
The robot, as shown in Figure 1, is referenced in the inertial coordinate-system 6 -B , where the mobile platform carries the platform-fixed coordinate-system 6 -P . The robot possesses n degrees-of-freedom and m cables. Therefore, the redundancy of the platform is r = m − n. The posture of the platform-which here is the end-effector of the robot-referenced in coordinates of the inertial frame is defined as B x P = [ B r P Φ] T . Herein, B r P is the position vector and Φ the orientation of the end-effector, both defined as row vectors. The orientation with respect to the inertial coordinate-system is described in the means of roll-pitch-yaw angles by the rotation matrix B R P . Assuming a point-shaped guidance of the cable at the point where the cable is leaving into the workspace, the modeling of pulleys is neglected in the following. Using inverse kinematics, the cable vectors B l i , as shown in Figure 1, can be obtained by: Herein, B b i are the base vectors of the robot and describe the points, where the cables enter the robot's workspace. P p i describe the points where the cables are connected to the platform.
In the following, all vectors are decomposed and referenced in coordinate system 6 -B , whereas for simplicity, the top-left index is left out. on the computation time as well as on real-time suitability is needed. Finally, the continuity of the 57 method when leaving or entering the WF W needs to be discussed.

58
The paper is structured as follows: In the second chapter, an introduction of the underlying 59 robot-modeling is given and the computation of cable forces is explained. The third chapter outlines 60 two methods for calculation cable forces outside of the WF W.  Every cable is tensioned by a force f i in direction of the unit vector ν i . All cable tensions are merged into the cable force vector f ∈ R m×1 . The i th cable exerts the force f i on the platform, that is

Modeling and Cable-Robot Basics
A T is the structure matrix of the robot. All forces and torques acting on the end-effector except for the cable forces are summarized in −w. This might include gravity, process forces and torques as well as inertia. Accordingly, in force equilibrium it holds Setting up Newton-Euler equations, it is assumed that the center of gravity is identical to the origin of the end-effector coordinate system [13]. Considering a simplified model for force equilibrium (assumptions see Section 4), it holds that The wrench −w must be generated by the cables, e.g., to follow a certain motion. The platform mass m p and the inertia tensor I are used to obtain the mass matrix of the platform M p .ẋ p andẍ p are the first and second time derivative of the end-effector pose x p . The inertia tensor needs to be expressed in the inertial system 6 -B and depends on the orientation of the platform. E is an 3 × 3 identity matrix. Matrix K and its time derivative can be obtained from the kinematic Kardan equations [14]. w C contains the Coriolis and centrifugal forces and torques, while w E is the vector of external forces and torques acting on the platform. The presented cable-robot model and the underlying equations are based on [15].

Wire Force Distribution
Solving Equation (4), considering limited cable forces, is a known problem in the field of cable-robots. The cable forces are limited by a maximum force f max and a minimum force f min . These parameters limit both the maximum motor torque to prevent damages to the system, and the minimum cable tension to avoid sagging cables. The geometrical interpretation of the problem is one suitable way to determine force distributions [16]. A m-dimensional hypercube C ⊂ R m is formed by the cable force limits inside the space of the cable forces. The delimiting hyperplanes of the cube are defined by For n equations and m unknown variables, assuming n < m and a given w according to Equation (4), Equation (3) is an under-determined linear system of equations. The dimension of the solution space is therefore equal to the redundancy r of the robot. Solving Equation (4) for f , one has to consider: λ ∈ R r is a vector of multipliers. The projection of the desired wrench onto the solution space is f 0 . The Moore-Penrose pseudo inverse of the structure matrix is denoted by A +T . The kernel or null space H ∈ R m×r of the structure matrix A T is defined by with the vectors h k solving the equation: The solution space S ⊂ R m , defined by the columns of the kernel H, is r-dimensional and contains all solutions of Equation (4). As shown in Figure 2, if the hyperplane intersects the solution space, all feasible wire force distributions which lie inside the force limits are included in the manifold If F is nonempty for the given wrench, the pose is called wrench-feasible and F forms a convex polyhedron [16]. As shown in Figure 2, the polyhedron Λ is formed by all multipliers λ leading to wrench-feasible solutions. The kernel H is used as a transformation between R r and R m . Considering the given force limits when solving the problem in Equation (5), it holds that The basis for the solution space S is being formed by the kernel H of the structure matrix. If a feasible wire-force-distribution is existing, the inner tension of the system can be adjusted by scaling the force-distribution within the limits using λ ∈ Λ. There are several methods for computing force-distributions, which differ in computation time, workspace coverage, continuity, force level, maximum possible redundancy, and real-time capability [5]. The forces can e.g., be calculated as an optimization problem [17] or by applying the barycentric method [18]. Version May 15, 2020 submitted to Robotics 4 of 12 to determine force distributions [16]. A m-dimensional hypercube C ⊂ R m is formed by the cable 100 force limits inside the space of the cable forces. The delimiting hyperplanes of the cube are defined by to consider: λ ∈ R r is a vector of multipliers. The projection of the desired wrench onto the solution space is 106 f 0 . The Moore-Penrose pseudo inverse of the structure matrix is denoted by A +T . The kernel or null 107 space H ∈ R m×r of the structure matrix A T is defined by with the vectors h k solving the equation: The solution space S ⊂ R m , defined by the columns of the kernel H, is r-dimensional and If F is nonempty for the given wrench, the pose is called wrench-feasible and F forms a convex 113 polyhedron [16]. As shown in Fig. 2, the polyhedron Λ is formed by all multipliers λ leading to

Force Calculation Outside the Wrench-Feasible Workspace
As described in the introduction, scenarios with a non-feasible wrench might occur, e.g., when moving the end-effector outside of the static workspace using a haptic device or after a cable break [6,7]. In this particular case, the given common methods fail to operate and a solution of Equation (4) cannot be found as there is no intersection F . Therefore in the following, approaches to generate approximated, but still reasonable force distributions are given.

Optimization
In [12], a method to calculate force distributions as an optimization problem considering the constraints was proposed. Assuming the robot is outside its W F W. Simply changing the constraints of minimum and maximum cable forces in order to find an appropriate wire force distribution is no option. Therefore, to relax Equation (4), a so called slack variable s is added to the left side of the equation. In [12], a way to solve the resulting problem via quadratic programming is suggested. The optimization problem is given as To adjust the solution, the diagonal weighting matrices D 1 and D 2 can be used. The solution forces will more likely generate the desired wrench by choosing D 2 < D 1 . Otherwise, the solution will tend more to follow the target forces f . By choosing the target forces properly, the solution can be adjusted e.g., for maximum stiffness or minimum force. The iterative approach of the proposed solution method might be a problem within industrial real-time applications, even though a solution of the problem can be carried out computationally efficient as shown in [12]. Therefore it can be advisable to use a method with a preferably low and-most importantly-defined number of calculation steps.

Nearest Corner Method
In general, an optimizing algorithm as explained beforehand is applicable. But due to the fact that such optimization schemes usually employ iterative solvers, their usability in a real-time control systems might be a problem. As proposed in former work of the authors [6], an approach based on geometrical analysis within the cable force space can be used, which is briefly explained in the following. As discussed in Section 2.1, the space of cable forces f can be represented by an orthogonal coordinate system. Note, the corners of C are denoted as F E,j , j = 1, . . . , 2 m . In the following, it is assumed that r = 1 or r = 2. Assuming a CDPR is within its W F W, a set of cable force solutions F exists and a continuous solution along a trajectory can be found. The methods as discussed in Section 2.1 can be applied. Still, these methods will fail, if the CDPR is outside its W F W and F is empty. Given the fact that there is no intersection of the hypercube C and the solution space S, yet both of them exist. Now there is at least one corner of C which has the closest distance to the hyper straight line (for r = 1) or hyperplane (for r = 2) representing S, using Euclidean norm. Therein, the orthogonal projections of F E,j onto S are denoted F P,j , as shown in Figure 3. The force distribution f at the corner that has the closest distance is no solution to Equation (5). Still, it is an approximation in terms of the motion inducing parts of f , i.e., f 0 , and compliant with the force boundaries. It can be used e.g., for control purposes, accordingly.
Version May 15, 2020 submitted to Robotics 6 of 12

155
Now there is at least one corner of C which has the closest distance to the hyper straight line 156 (for r = 1) or hyperplane (for r = 2) representing S, using Euclidean norm. Therein, the orthogonal 157 projections of F E,j onto S are denoted F P,j . The force distribution f at the corner that has the closest 158 distance is no solution to Eq. 5. Still, it is an approximation in terms of the motion inducing parts of f , 159 i.e. f 0 , and compliant with the force boundaries! It can be used e.g. for control purposes, accordingly.

160
Note, that depending on the motion of the system, this closest corner might switch 161 instantaneously. Accordingly, instead of only using the closest corner, all corners are considered to 162 ensure continuity of the resulting cable forces during a motion. They are weighted by the distance to 163 S using Euclidean norm, where the distances between the projected forces onto S, namely F P,j and 164 the corners F E,j are given by To obtain proper weighting g j for each corner of C, the summarized distance L = ∑ 2 m j=1 d j is 166 needed. 167 With higher exponential weights p, the corner closest to S will dominate all others the closer it  Note, that depending on the motion of the system, this closest corner might switch instantaneously. Accordingly, instead of only using the closest corner, all corners are considered to ensure continuity of the resulting cable forces during a motion. They are weighted by the distance to S using Euclidean norm, where the distances between the projected forces onto S, namely F P,j and the corners F E,j are given by To obtain proper weighting g j for each corner of C, the summarized distance L = ∑ 2 m j=1 d j is needed.
With higher exponential weights p, the corner closest to S will dominate all others the closer it gets. If C and S are about to intersect, this ensures continuous transition between force distributions outside and within the W F W, i.e., if a corner is about to become a valid force distribution according to Equation (5). G = ∑ 2 m i=j g j is the sum of all weights and the resulting force distribution yields In general, finding a feasible cable force distribution according to Section 2.1 is always attempted beforehand. The proposed method is used if these algorithms fail to determine a feasible solution and a cable force distribution will be found, which has minimal distance to the solution space S.

Evaluation for Redundancy r = 1
In former work of the authors, an example of a post cable break rescue scenario for testing the proposed method was used, which was also applied in the following. More details to the scenario and robot model can be found in [6,7]. As the results in this work extend the discussion presented there and for comparability of the results in this work, the parameters remained the same as in the cited sources. The model possessed three cables and two degrees of freedom and therefore a redundancy of r = 1. The employed dynamic model was planar and had two degrees-of-freedom. The end-effector was subject to gravity in negative direction of the y-axis and approximated as a point mass with m p = 1 kg. The minimum force was f min = 5 N and the maximum force was f max = 150 N, respectively. The cables cannot sag and were assumed to be massless. The numbering of the cables was done in a clockwise direction, beginning with cable 1 at the bottom left and the pulley positions B are shown in Figure 4. The simulation was carried out with a numerical integration using the Euler-Cromer method and a fixed time step of ∆t = 1 ms. Based on the current cable and gravitational forces, the actual platform acceleration was computed each time step. The modeling of electric motors, gears, friction, and disturbances was neglected. Now, a situation after a cable break was conceived. The platform was placed with zero velocity at r p = 0.35 0.5 T m, at the start of the simulation. This position was outside of the static workspace of the robot model [7]. Inside the workspace at r f = 0.65 0.5 T m, a goal position was defined, which could be a rescue position after a cable break. An attractive potential field, as introduced in [19], was placed with its origin at the goal position, to generate a desired wrench. The resulting attractive force was given by the gradient of the potential field U: To adjust the field strength, the scaling parameter ζ = 400 can be used. The Euclidean distance between goal and actual position was ρ f (r p ). The field was shifted between a quadratic and a conic potential at distance ρ 0 = 0.2 m. Additionally, a virtual damping was applied, which was proportional to the robot velocity with factor D P = 110 Ns/m. Including the external forces, the resulting wrench was This desired wrench might be infeasible within the given cable force limits. Note, that repulsive fields can also be used to avoid collisions [7], but this is not discussed further in this work. As described in Section 3.2, a force calculation method is needed to check for a feasible solution of Equation (4). In the following, the puncture method [20] was used for this purpose. If this method found a feasible solution, the according cable forces were set in the next simulation step. If not, the nearest corner method from Section 3.2 was applied to find forces which result in a wrench close to the desired one.

The Effect of Different Exponential Weights
In [6], simulation results were shown, comparing exponential weights of p = 8 and p = 20 in terms of forces and platform movement. In the following, the effect of different exponential weights p on the platform movement was investigated in more detail. The simulation was carried out with the parameters given beforehand, and the exponential weights varied between p = 4 and p = 200. The results are shown in Figure 4. In general, it can be observed that an overshooting of the end-effector over the goal is reduced with increasing exponential weights. This is due to the fact, that higher exponential weights p allow for a stronger intervention with cable forces nearer the dominating edge of the hypercube. Moreover, the time to reach the goal position t end is also reduced with higher weights p. The values in Figure 4 show a significant reduction of t end in low values of p. In comparison of p = 4 and p = 10, t end is reduced by more than a fifth. With rising p, the reduction of t end declines sharply. For p ≥ 25, the reduction is barely noticeable. This is consistent with the changes in the movement of the end-effector, which is also barely effected by weights p ≥ 25.  Fig. 4 show a significant reduction of t end in low values of p. In comparison of p = 4 and 216 p = 10, t end is reduced by more than a fifth. With rising p, the reduction of t end declines sharply. For 217 p ≥ 25, the reduction is barely noticeable. This is consistent with the changes in the movement of the 218 end-effector, which is also barely effected by weights p ≥ 25.

219
Note that exponential weights significant higher than p = 200 are not shown in Fig. 4, as they 220 caused numerical instabilities due to very high numbers. Therefore, very high exponential weights 221 of p may be attractive in terms of continuity when entering the WF W, but are not viable or useful in 222 a real system. Note that exponential weights significant higher than p = 200 are not shown in Figure 4, as they caused numerical instabilities due to very high numbers. Therefore, very high exponential weights of p may be attractive in terms of continuity when entering the W F W, but are not viable or useful in a real system.

Evaluation for Redundancy r = 2
In this section, the application of the nearest corner method in an example with a redundancy of r = 2 is presented. The simulation parameters remain the same as in the example beforehand. The number of cables is increased to m = 4 and the positions of the pulleys B are shown in Figure 5. A cable break scenario is still being investigated. At the start of the simulation, the platform was placed at r p = 0.35 0.8 T m with zero velocity, which was outside of the static workspace of the robot model, see Figure 5. The goal position inside the workspace, which also possesses an attractive potential field, was set at r f = 0.75 0.75 T m. The exponential weight was set to p = 20.
The static equilibrium workspace can be obtained neglecting dynamic effects. An approximation of the static workspace was then generated by using a point grid and solving Equation (4) for each point. A comparison of the workspace before and after a break of the top left cable is shown in Figure 5. Clearly, the robot might be outside the workspace after a cable break.    Carrying out the simulation, the results as shown in Figure 6 can be obtained. The end-effector was pulled into the goal position after about 0.07 s, but overshoots in direction of the x-axis, since a maximum speed of 7 m/s was built up. At 0.015 s a first feasible solution was found by the puncture method and the algorithm switches. At 0.04 s the end-effector leaves the W F W again and the algorithm switches back to the nearest corner method until 0.14 s. In this example it can be observed that the forces were continuous whenever the solution space and the hypercube begin to intersect or separate, respectively. Cable force limits were reached but not exceeded by the algorithm throughout the whole trajectory. The robot was successfully guided into the goal position after 0.

Computational Efficiency
To test the computational efficiency, the algorithm was compiled as a MEX-file, using Matlab Coder in Matlab R2019a. The execution was carried using an Intel CPU i7-3770 with 3.4 GHz on a Windows 10 System. The scenario as described in Section 4.2 with an exponential weight of p = 8, see [6], was used to measure the computation time. Figure 7 displays the resulting computation time per cycle step of the simulation throughout the trajectory. Note, that the calculation time of the algorithm in the first few steps is incomparably higher due to initialization and memory preallocation. After that, in the first phase, where the nearest corner method was active, the average computation time is 54.5 µs.
In the second phase, the algorithm switches. Now, the robot was inside the W F W and feasible solutions can be found by the puncture method, which was represented by a mean calculation time of 48.8 µs.
The difference of 5.7 µs in mean computation time between both phases exemplifies how small the calculation time of the nearest corner method itself is. Considering a 2 kHz control frequency which leads to 500 µs cycle time, the Nearest Corner Method in combination with the Puncture Method for a first feasibility check, needs roughly 10% of the cycle time. All in all, this makes the method highly applicable in real-time control systems.

Continuity
To ensure a stable system operation and to avoid vibrations in the system, a continuity in the cable forces and therefore in the commanded motor torques is essential. In general, for a continuously moving solution space, the resulting cable forces are continuous. The crucial point occurs, when the solution space S starts or stops to intersect the hypercube C and the robot is entering or leaving the W F W. For exponential weights p → ∞, the solution of the nearest corner method converges against the edges of the hypercube. If the preceding feasibility check is carried out using a cable force calculation method that covers the full workspace as e.g., the barycentric method [18] or the improved closed form [21], a solution is found as long as it exists. In this case, the transition between the two methods is continuous. But as an exponential weight of p → ∞ is not necessarily viable or useful in a real system as discussed in Section 4.2, there can always be a small discontinuity in the solution. Nevertheless, for time-discretized and sampled real-time systems, the effect is minor.

Conclusions and Outlook
A new real-time capable method for cable force calculation of CDPRs outside the W F W was discussed in this work. The method is based on geometric calculation in the cable force space. Based on former work of the authors, several open questions are addressed in this work.
Starting from the experiments in [6], a broader view to the effect of different exponential weights p was given. Also, the method was shown to work for a higher redundancy of r = 2 in an extended example simulation. As the algorithm works on geometric calculations in the cable force space and is non-iterative, it possesses superior real-time-behavior which was shown in Section 4.4. Furthermore, a brief discussion about the continuity of the method was given, when the end-effector is entering or leaving the W F W. The properties of the algorithm indicate a high relevance for situations like cable breaks or emergency stops.
Next steps involve the testing in a complex physical environment simulation and finally practical testing on a real-time system. Lastly, an implementation of the method for arbitrary redundancies needs to be done and tested.
In the future, the presented method can be a contribution to ensure the safety and reliability of cable-driven parallel robots operating beyond their W F W, e.g., after a cable break. This is highly relevant in industrial applications, such as warehousing or automated construction [1,3].

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript:

CDPR
Cable-driven parallel robot W F W Wrench-feasible workspace