Keerthi Sagar
email: keerthi.sagar@imr.ie

Stéphane Caro
email: stephane.caro@ls2n.fr

Taşkin Padir
email: t.padir@northeastern.edu

Philip Long
email: philip.long@atu.ie

Tas ¸kın Padır

Polytope-based Continuous Scalar Performance Measure

Keywords: Kinematics, Optimization and Optimal Control, Parallel Robots

published or not. The documents may come

I. INTRODUCTION

A Robot's capability to perform motion and exert neces- sary forces are of fundamental importance in workspace design and task planning. Performance measures provide the necessary tools to quantitatively measure these capabilities, that allow studying, evaluating and optimizing the behaviour of manipulators from design to application phase. Specifically for manipulation control, local indices based on Jacobian matrix [START_REF] Patel | Manipulator performance measures-a comprehensive literature survey[END_REF] are widely used. These measures, due to the dualistic properties [START_REF] Lipkin | Hybrid twist and wrench control for a robotic manipulator[END_REF] between the first order kinematics and statics of a rigid body are termed kinetostatic performance measures. They enable posture variation for generating required motion or specific desired forces at the robot's end-effector. The most widely used measure is the manipulability index proposed by Yoshikawa [START_REF] Yoshikawa | Manipulability of robotic mechanisms[END_REF], which measures the distance to singular configuration using volume of manipulability ellipsoid. Similarly, the dexterity index, analyzed by Salisbury and Craig [START_REF] Salisbury | Articulated hands: Force control and kinematic issues[END_REF] computes the sphericity/evenness of the velocity ellipsoid via the condition number. Manipulability ellipsoid based measures, although widely adapted due to their ease of computation and geometric description, can lead to under-estimation of kinetostatic capacities [START_REF] Merlet | Jacobian, manipulability, condition number, and accuracy of parallel robots[END_REF] and generally do not take into consideration the boundary of joint's velocities or torques. On the other hand, manipulability polytopes establish a linear estimate of the exact joint constraints in task space [START_REF] Chiacchio | Force polytope and force ellipsoid for redundant manipulators[END_REF] and take into account the robot's torque and velocity joint limits. Hence, they provide a much accurate characterization [START_REF] Skuric | On-line force capability evaluation based on efficient polytope vertex search[END_REF], [START_REF] Krut | Velocity performance indices for parallel mechanisms with actuation redundancy[END_REF] of the manipulator's capabilities in contrast to manipulability ellipsoids. While historically considered computationally expensive, methods have been developed to substantially reduce polytope computation time [START_REF] Hwang | A recursive dimension-growing method for computing robotic manipulability polytope[END_REF] and more recently in [START_REF] Skuric | On-line force capability evaluation based on efficient polytope vertex search[END_REF] where online evaluation of force polytopes using improved vertex search algorithm has been demonstrated. Polytopes encapsulate both geometric properties and a system of linear inequalities. The convex nature can be used in conjunction with geometric operations such as Minkowski sum or intersection to obtain capacities of composite chains [START_REF] Long | Constrained manipulability for humanoid robots using velocity polytopes[END_REF]. Additionally, con-strained motion polytopes [START_REF] Long | Optimizationbased human-in-the-loop manipulation using joint space polytopes[END_REF], which consider both intrinsic and environmental constraints, can be used as visual aids and virtual guides in virtual reality for shared teleoperation [START_REF] Zolotas | Motion polytopes in virtual reality for shared control in remote manipulation applications[END_REF]. With its algebraic representation, supplementary constraints such as proximity to danger zones [START_REF] Long | Evaluating robot manipulability in constrained environments by velocity polytope reduction[END_REF], zero-moment points (ZMP) [START_REF] Rasheed | Tension distribution algorithm for planar mobile cable-driven parallel robots[END_REF] or multi-contact humanoid locations [START_REF] Caron | Zmp support areas for multicontact mobility under frictional constraints[END_REF] can be easily added. Hence, a polytope based performance index is practical to apply for both accurate and fast evaluation of the capacities of a robot for executing a task.

Guay et al. [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF] introduced the Capacity margin (CM), a polytope based minimum degree of constraint satisfaction index, that quantifies the robustness of equilibrium of an object using a single scalar function. This kinetostatic index is applied to Cable-Driven Parallel Robots (CDPR), to determine Wrench Feasible Workspace (WFW) [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF]- [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF] with bounded forces/tensions, for path planning [START_REF] Mishra | Kinematic stability based afgrrt* path planning for cable-driven parallel robots[END_REF], designing optimal cable winches [START_REF] Li | Design and control of a variable aerial cable towed system[END_REF] for Aerial Cable Towed System (ACTS), reconfiguration planning [START_REF] Gagliardini | Discrete reconfiguration planning for cable-driven parallel robots[END_REF], and subsequently for their dimensional [START_REF] Chawla | Workspace analysis and design of large-scale cable-driven printing robot considering cable mass and mobile platform orientation[END_REF] synthesis. Similar to wrench analysis, the CM also provides a good estimate of the available acceleration set for motion generation [START_REF] Eden | Available acceleration set for the study of motion capabilities for cable-driven robots[END_REF].

Prior work has utilized CM [START_REF] Mishra | Kinematic stability based afgrrt* path planning for cable-driven parallel robots[END_REF] [21], as cost functions with only heuristic based planners, which can have good, but not guaranteed convergence. The index in its original form is based on a discontinuous min function which renders it inconvenient for many optimization algorithms. To overcome this, in this article we propose an analytical continuous version of this performance index, denoted as the continuous capacity margin (CCM) as shown in Fig. 1, which can be effectively used with simple iterative optimization algorithms. With its explicit analytical gradient, the index can be used for estimating a kinetostatic performance index as a continuous function, and thus alongside numerical optimization solvers to aid in directional search for a solution with faster convergence. The contributions of this work are:

• A continuous scalar performance measure based on the capacity margin is proposed. The paper is organized as follows, necessary preliminaries for the performance index based on polytopes are presented in Sections II and III. Performance measure formulation is proposed in Section III and its applications demonstrated in Section IV. The concluding remarks are drawn in Section V.

II. KINEMATIC MODELING AND POLYTOPES

Consider a n degree-of-freedom (DOF) manipulator operating in m dimensional space. The pose of the end-effector is represented as x e , where x e ∈ R m and can be obtained from the manipulator's configuration variables, q = [q 1 , q 2 . . . q n ], using the forward position kinematics, x e = f f p (q). For a serial manipulator with m degree-of-freedom and n active joints, the Jacobian matrix J(q) ∈ R m×n provides the necessary mapping from joint twist ν j to Cartesian twist V at end-effector e, defined as

J = ν 1 ν 2 . . . ν n . (1)
V consists of translational and angular velocity components denoted as v and ω, respectively. The kinematic mapping for a serial manipulator with 6-DOF in its task-space is given as

V = v ω = J(q) q s.t qmin ≤ q ≤ qmax ( 2
)
where q is the joint velocity vector, and qmin , qmax are the minimum and maximum joint velocity vector, respectively. Components in V are chosen based on task requirements.

Dual to the twist space for serial robots, the wrench space is essential to analyse the force capacities of CDPR, a class of parallel manipulators. CDPRs consists of a moving-platform, which is suspended or constrained by a number of cables. CDPRs unlike traditional parallel manipulators with rigid body links, employ cables/flexible links, which can only pull. This leads to certain configurations of the end-effector/platform causing slack or no-tension in some cables. Hence, wrench capability analysis is a requisite to ensure the robot can generate arbitrary wrenches in all DOFs.

Let f denote the wrench at CDPR's end-effector E, where

f = f τ = -Wt t min ≤ t ≤ t max t min > 0 (3)
where f are the forces and torques τ generated at the platform point E, and t = [t 1 , . . . , t n ] T is the cable tension vector and where the vectors containing the maximum and minimum cable tensions are denoted as t max and t min respectively. Similar to Jacobian matrix J(q), W = [w 1 w 2 . . . w n ] ∈ R m×n is the wrench matrix for the CDPR moving-platform to remain in equilibrium when external wrench f is applied to the platform, where w j is the unit wrench due to cable j. Given these constraints, the robot's current capacities to generate a desired set of wrenches or twist can be conveniently represented by an m-dimensional polytope in task space. A generalized polytope, P can be represented using vertex representation, denoted as V-rep, and is obtained by computing the convex hull of its vertex set. A hyperplane representation denoted, H-rep, where the polytope is computed using the volume bounded by a finite number of half-spaces. Explicit analytical representation of these polytopes using H-rep is written as P = Ax ≤ B, where A contains the halfspace's normals and B is its shifted distance from the origin along the normal. A desired polytope is defined as P D , which represents the required maximum and minimum taskspecific wrench or twist capacities for the end-effector at any particular time. For example, for a serial manipulator, when the end-effector is required to operate within a minimum and maximum Cartesian linear velocities in x,y and z directions at all times, then the resulting twist polytope P D is a cuboid [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF]. Similarly, the feasible polytope, P F is defined as (4), is obtained following a linear mapping [START_REF] Carretero | Wrench capabilities of cable-driven parallel mechanisms using wrench polytopes[END_REF] from the feasible joint-space to the twist-space using the Jacobian operator defined in [START_REF] Lipkin | Hybrid twist and wrench control for a robotic manipulator[END_REF] or from the cable tension space to the Cartesian wrench-space using Wrench matrix as in [START_REF] Yoshikawa | Manipulability of robotic mechanisms[END_REF]. A compact, yet implicit representation [START_REF] Skuric | On-line force capability evaluation based on efficient polytope vertex search[END_REF] of these feasible wrench P F f and twist polytope P F v from ( 2) and (3) can be written as

P F f = {f ∈ R m |t min ≤ t ≤ t max , Wt = -f } P F v = {V ∈ R m | qmin ≤ q ≤ qmax , V = J(q) q} (4)
The feasible polytope in this case, is a special type of [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF], [START_REF] Carretero | Wrench capabilities of cable-driven parallel mechanisms using wrench polytopes[END_REF] centro-symmetrical convex polytope known as zonotope. The properties of the zonotope [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF] is used to construct feasible twist/wrench capacities using the hyperplane shifting method. Unlike polytope vertex search algorithms, these are computationally efficient and non-iterative in nature. In the following, hyperplane shifting method and activation functions used in neural networks are adapted to develop a continuous analytical version of the CM index. Although the proposed methodology works for n-DOF, for ease of visual illustration, the task-space twist is limited to linear-velocity components (v ∈ R m ) and the task-space wrench to its force (f ∈ R m ) components.

III. PROPOSED CONTINUOUS KINETOSTATIC PERFORMANCE INDEX FORMULATION

A. Capacity Margin

The CM is represented as the signed distance between a desired polytope and the feasible polytope, positive when the desired polytope is completely inside the feasible polytope and negative otherwise. Let the position of the k th vertex of the desired polytope P D denoted as η D k , where η D ∈ R (l×m) , where l is number of vertices in P D , and facets f of the feasible polytope P F be defined as p + f and p - f , where {+, -} represent the upper and lower half-space of P F , respectively. A distance d f k between every vertex η D k in P D and every facet in P F , where p f is a point on facet f and n f is its corresponding normal, is defined as

d f k = proj n f (p f -η D k ) (5)
where proj n f is defined as the vector's projection onto the normal n f . Let d be a vector containing all distances from every vertex to every facet, thus, CM is defined as the minimum distance among all these (vertex,facet) pairs , i.e.,

γ = min f,k (d) (6)
For the sake of demonstration, the parameters are illustrated in robot's Cartesian space by scaling down the velocity polytope by a factor as shown in Fig. 2.

We propose a continuous kinetostatic performance index γ based on the above defined CM (γ) [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF], [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF] of a polytope. The proposed index γ is an estimated approximation of the actual measure and further can be expressed as a continuous analytical function. The capacity margin and its estimate are derived using hyperplane shifting method. For clarity, we present notations of vectors only for twist space represented in (1) and (2).

B. Hyperplane Shifting Method

A hyperplane [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF] is a geometrical object that splits a space into two half-spaces. The hyperplane shifting method (HSM) defines a convex polytope [START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF] as the intersection of halfspaces bounded by its supporting hyperplanes. The convex polytope in this scenario, refers to the feasible twist/wrench set of the robot for a given configuration and the supporting hyperplanes refer to the facets of this polytope.

To fully define the hyperplanes, it is necessary to obtain their orientation by obtaining their corresponding normals and secondly, their shifted distance from the origin. Consider a serial manipulator with n-DOF operating in m dimensional space. We define normal n, where n ∈ R m , a unit vector perpendicular to a hyperplane that includes the chosen unit twists ν j as:

n = u ∥u∥ , u = ν 1 × . . . × ν m-1 ( 7
)
where u is the generalized cross product [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF] of the selected degrees of freedom, where the ith component of u is

u i = (-1) i+1 det([ i ν 1 . . . i ν m-1 ]) (8)
where i ν j represents ν j with its ith component removed. We develop the index based on the twist capacities of a serial manipulator where m = 3, for instance by considering only the Cartesian translational velocities. Following the development in [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF], we select a combination of (m -1) linearly independent twists that can define n, a unit vector perpendicular to a hyperplane that includes the chosen unit twists. For any two joints, for instance, joint 1 and joint 2 for a serial manipulator with 6 joints (n = 6), where only linear velocity components in the twists are considered, i.e ν j ∈ R 3 and with m = 3, n ∈ R 3 using (7) becomes,

n = ν 1 × ν 2 ∥ν 1 × ν 2 ∥ , (9)
where twists ν 1 , ν 2 define the orientation of the two faces of the hyperplane, while the remaining n -(m -1) unit twists, denoted as ν j . . . ν r , define its position. Let N collect these unit vectors by choosing linearly independent combination of twists ν j , where The matrix

N = n 1 , n 2 , • • • , n κ T ,
C ∈ R ( n m-1 )×(n-m-1)
, is computed by projecting each twist onto all normals excluding those used in the normal's definition. For a twist ν j and normal n i , the corresponding element in matrix C is given as

c ij = n T i ν j . ( 10
)
Since points on the hyperplane faces correspond to combinations where joint velocities are at a maximum or minimum, all unit twists are scaled by either 0 or δ q = qmaxqmin . The maximum and minimum distances between the defined hyperplanes are contained respectively within h + and h -∈ R κ , where the i th element is defined as where α k = {0, 1}. These can be used to obtain points on parallel hyperplanes as follows

h + i = max( r k=j α k δ qk c ik ), h - i = min( r k=j α k δ qk c ik ) (11)
P + = h + N + J qmin , P -= h -N + J qmin , (12)
where the points contained in

P + = [p + 1 , p + 2 , . . . , p + κ ] and P -= [p - 1 , p - 2 , . . . , p - κ ]
may not necessarily lie on the facets of the zonotope, but lie along the extension of the supporting hyperplane which is not included in the intersection.

Therefore for this selection, the normals to the hyperplane are given by N and -N, while the shifted distance is given by N T P + and -N T P -. This is repeated for each combination of the (m -1) linear independent twists. For the proposed case of translational velocities (m = 3) and a 6-DOF system, there would be 6 2 =15 combinations and thus 30 hyperplanes, defined in H-representation as

A = n 1 , • • • , n 15 , • • • , -n 1 , • • • , -n 15 T (13) b = n T 1 p + 1 , • • • , n T 15 p + 15 , • • • , -n T 1 p - 1 , • • • , -n T 15 p - 15 T (14)
In its Hrepresentation, the zonotope-shaped Feasible Wrench Set A + f and Twist set A + v are expressed as

A + f = f ∈ R m | Af ≤ b, A + v = v ∈ R m | Av ≤ b (15)
We direct the readers to [START_REF] Bouchard | On the ability of a cabledriven robot to generate a prescribed set of wrenches[END_REF], [START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF] for an in-depth understanding of HSM. The capacity margin is obtained by finding the minimum distance between each vertex of the desired twist (P D v ) or wrench (P D f ) polytope and the corresponding facets of feasible twist (P F v ) or wrench (P F f ) zonotope computed in [START_REF] Caron | Zmp support areas for multicontact mobility under frictional constraints[END_REF]. The elements of the capacity margin are computed as

Γ + = N T (P + -η D ), Γ -= N T (P --η D ) (16)
The dot product operator between N T and (P + and P -) preserves information about the signed distance, thus determining when the distance between a facet and vertex becomes negative or zero, indicating infeasibility. The coordinates Γ + and Γ -are calculated for all l vertices in P D v , i.e. in η D and all f facets of P F v , resulting in 2×f ×l values, which are arranged as

Γ + = Γ + 1 . . . Γ + f ×l , Γ -= Γ - 1 . . . Γ - f ×l (17)
The capacity margin is the worse case scenario i.e. the minimum distance between a vertex and a facet, given as

γ = min Γ + , -Γ - (18)
γ defined above is based on the min function, and to identify the supporting hyperplane facets requires both max and min function as shown in [START_REF] Long | Optimizationbased human-in-the-loop manipulation using joint space polytopes[END_REF], which are both discontinuous. To effectively utilize the capacity margin as a performance index for control/optimization, a continuous differentiable function with an analytical gradient is required. The availability of derivatives are essential for control techniques such as gradient-based optimization and more importantly, linearization. The following section provides a smooth estimate of the discontinuous CM (γ).

C. Smooth Hyperplane Definition

To replace the discontinuous min and max functions, we propose to use the widely-effective sigmoid (sig) activation function [START_REF] Han | The influence of the sigmoid function parameters on the speed of backpropagation learning[END_REF], where sig(x) = 1.0./(1.0 + e -λx ).

(

) 19
and λ is the slope parameter of the sigmoid activation function.

It is a non-linear activation function [START_REF] Cybenko | Approximation by superpositions of a sigmoidal function[END_REF] with real-valued inputs where, f :

X → Y and {X ∈ R, Y ∈ [0, 1]}.
The larger the value of the input in the positive domain, the closer to the activation function firing, i.e output equalling 1.0. Hence the activation function implicitly assigns higher weights to larger inputs and zero-weights to relatively smaller inputs enabling the effective replacement of the max function. Reformulating [START_REF] Long | Optimizationbased human-in-the-loop manipulation using joint space polytopes[END_REF], by eliminating the temporary variable c ik , and redefining the distances as

ĥ+ i = r k=j sig n T i ν k δ qk n T i ν k (20)
ĥ- i = r k=j sig -n T i ν k δ qk n T i ν k . (21)
The min function in [START_REF] Long | Optimizationbased human-in-the-loop manipulation using joint space polytopes[END_REF] for identifying h -is reformulated as a max function by assigning negative inputs to the sig function. Similarly, ( 12) is recalculated using the estimated distances ĥ+ and ĥas follows

P+ = ĥ+ N + J qmin , P-= ĥ- N + J qmin (22)
The new points, P+ , Pcan be used to obtain the CCM.

The key characteristic property of this proposed methodology, is that the sigmoid activation is conservative. Regardless of the input value in [START_REF] Mishra | Kinematic stability based afgrrt* path planning for cable-driven parallel robots[END_REF], the output is always bounded between 0 and 1. The characteristic "S" shape curve behaviour of the sigmoid function ensures that the function is smooth, continuous and does not have any sharp spikes or discontinuities.

D. Smooth Capacity Margin

Reformulating the distance array [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF] for identifying the smooth capacity margin index as follows

Γ+ = N T ( P+ -η D ), Γ-= N T ( P--η D ) (23)
Substituting, ( 22) into ( 23), the capacity margin as a function of the joint configuration of the manipulator Γ (q) is

Γ+ (q) = N T ĥ+ N + J qmin -(N T η D ) (24)
Γ-(q) = N T ĥ-

N + J qmin -(N T η D ) (25)
recognizing that N is a matrix of unit vectors, where N T N = 1, we simplify this to:

Γ+ (q) = ĥ+ + N T J qmin -(N T η D ) Γ-(q) = ĥ- + N T J qmin -(N T η D ). (26)
The coordinates Γ+ and Γare calculated between all l vertices in η D and all f facets in P+ f and Pf of the continuous feasible twist polytope as shown below Finally, since the capacity margin is defined as the worse case scenario, i.e., min Γ+ , -Γ-, to estimate this, we propose the use of the log-sum-exp (LSE) or RealSoftMax function [START_REF] Bridle | Probabilistic interpretation of feedforward classification network outputs, with relationships to statistical pattern recognition[END_REF]. Unlike the estimation of hyperplane parameters, an estimate of each distance in the capacity margin vector is required. This is due to the proposed measure (γ) being the minimal distance with respect to all other distances between the vertex and the facet. The sigmoid activation function which is a binary classifier and provides only isolated probabilities is unsuitable. Whereas, RealSoftMax function takes into account the probability distribution over all the vector inputs, thereby belonging to the multi-class logistic regression. As the closest (vertex,facet) pair is constantly changing, RealSoftMax aids in predicting and keeping track of the next closest minimal pair based on the input joint configuration. For a vector of values x = [x 1 . . . x n ], LSE is defined as

Γ+ = Γ+ 1 . . . Γ+ f ×l , Γ-= Γ- 1 . . . Γ- f ×l , (27)
LSE(x) = log (e x1 + e x2 . . . + e xn ) (28)
Thus ( 18) is rewritten as

γ = -log e -Γ+ 1 + . . . e -Γ+ f ×l + . . . e Γ- f ×l , (29)
LSE function estimates the max function using a minus sign manipulation. Thus, for a desired set of velocities, [START_REF] Bridle | Probabilistic interpretation of feedforward classification network outputs, with relationships to statistical pattern recognition[END_REF] estimates the robots capacities at a current configuration. The proposed index is applicable to both a serial manipulator's loss of twist capacities and a parallel system or CDPR's loss of wrench capacities by making the following substitutions:

J → W, q → t, qmin , qmax → t min , t max (30)
To effectively use the index, an explicit analytical gradient for any generalized serial manipulator is derived in the following section. Finally, for a serial manipulator the gradient is obtained with respect to the joint configuration, whereas for the CDPR system the gradient is obtained with respect to the platform pose, point E in this case,i.e dγ dq → dγ dE .

E. Gradient of smooth capacity margin

The gradient of [START_REF] Cybenko | Approximation by superpositions of a sigmoidal function[END_REF], is a n component vector given as where, for numerical stability the implementation of LSE and its gradient is slightly altered 1 , using the log-sum-exp trick [START_REF] Blanchard | Accurate computation of the log-sum-exp and softmax functions[END_REF]. For a given configuration, suppose γ = min Γ = Γi , where i is the index of Γ containing the minimum value. The capacity margin's gradient is given as

d(LSE(x)) dx = e (
dγ dq = d(LSE( Γ)) d Γ [i] • d Γi dq , ( 32
)
where

d(LSE( Γ)) d Γ [i] is the i th component of d(LSE( Γ)) d Γ ,
which is implemented by finding the index of the minimum value of Γ. Physical significance of ( 32) can be seen as the probability that the existing minimum (vertex,facet) pair contributes to the CCM. To derive the analytical gradient, firstly, the gradient of the elements of Γ with respect to input joint configuration are obtained using chain rule differentiation, where i ∈ (f × l) of ( 26)

d Γ+ dq = ∂ ĥ+ ∂q + ∂N T ∂q J qmin + N T ∂J ∂q qmin - ∂N T ∂q η D d Γ- dq = ∂ ĥ- ∂q + ∂N T ∂q J qmin + N T ∂J ∂q qmin - ∂N T ∂q η D . (33)
Each element of ( 33) is derived. Firstly, ∂ ĥ+ ∂q is derived as

∂ ĥ+ i ∂q = r k=j ∂ sig n T i ν k ∂q δ qk n T i ν k + sig n T i ν k δ qk ∂n T i ν k ∂q (34)
where, the derivative of the sigmoid function in (34) is computed as shown below, where x = n T i ν k :

∂ (sig (x)) ∂q = sig (x) (1 -sig (x)) ∂x ∂q (35) ∂ n T i ν k ∂q = ∂n T i ∂q ν k + n T i ∂ν k ∂q (36)
Secondly, the gradient of each unit normal of the supporting hyperplane containing the input twists is obtained For example, for twists ν 1 , ν 2 , if unit normal n = ν1×ν2 ∥ν1×ν2∥ . The partial derivative of the cross product ν 1 × ν 2 with respect to q, i.e ∂n T ∂q using the quotient rule of differentiation is as follows

∂n ∂q = ( ∂(ν1×ν2) ∂q )∥ν 1 × ν 2 ∥ -(ν 1 × ν 2 ) ∂(∥ν1×ν2∥) ∂q ∥ν 1 × ν 2 ∥ 2 (37)
where the gradient of the cross product is written and simplified based on skew-symmetric matrix [] × as

∂(ν 1 × ν 2 ) ∂q = -[ν 2 ] × ∂ν 1 ∂q + [ν 1 ] × ∂ν 2 ∂q (38)
The partial derivative of ∥a(x)∥ with respect to x is given as

∂∥a∥ ∂x = ∂a ∂x T a(a T a) -1 2 , therefore ∂ (∥ν 1 × ν 2 ∥) ∂q = ∂(ν1×ν2) ∂q T (ν 1 × ν 2 ) ((ν 1 × ν 2 ) T (ν 1 × ν 2 )) 1 2
(39) ∂J ∂q is the kinematic Hessian tensor which can be obtained analytically from the kinematic Jacobian matrix [START_REF] Hourtash | The kinematic hessian and higher derivatives[END_REF], where ∂J ∂q = H, and ∂ν k ∂q = H[1 . . . m, k, q]. All gradient terms in (33) can be obtained directly from the Hessian tensor H without iterative computation, as such, if the manipulator's Jacobian is J ∈ R m×n , then the Hessian is H ∈ R m×n×n . Hence, the parameters are derived and represented explicitly as a function of the joint configuration. The formulation takes advantage of the multi-processing capabilities, where, gradient of each joint is computed in parallel, resulting in quicker convergence for optimization.

IV. EXPERIMENTS AND RESULTS

To show the CCM's effectiveness, three different scenarios are proposed: the translational velocity for (i) the UR5, a 6-DOF robot (n=6, m=3); (ii) Sawyer Robot a 7-DOF (n=7, m=3), and planar forces for (iii) a 2-DOF CDPR (n=4, m=2).

A. Serial Manipulator

1) Error analysis: Experiments are performed that show the continuous nature of CCM (γ) versus CM (γ) for random configurations and CCM's accurate yet conservative nature. First, the error between the CCM (γ) and CM (γ) is compared over 1000 configurations with varying λ as shown in Fig. 3c. The error decreases withing increasing slopes, indicating that steeper slopes improve the estimation. The analysis (Fig. 3c) shows that the error lies between (0, 1), validating the conservative nature i.e., γ ≤ γ, showing that every valid γ is sufficient to indicate a valid γ. Secondly, the numerical gradient of γ, dγ dq computed through finite differences, and analytical gradient of γ, dγ dq , with varying sigmoid slope λ are compared. From a random configuration, one joint is iteratively increased by 0.001 rad. Figures . 3a,3b, demonstrate the continuous profile of γ and its corresponding analytical gradient. The discontinuities in the numerical gradient arise from the sudden change in the (vertex,facet) pair corresponding to γ, whereas γ accounts and preemptively assigns a equal probability for the next closest (vertex,facet) pair, resulting in a smooth transition.

2) Inverse Kinematics: In contrast to CM, the continuity of CCM and its corresponding gradient enable the use of gradient based optimization methods for inverse position kinematics (IK) computation. For simplicity, the IK accounts for position and neglects orientation. We use sequential least squares quadratic programming SLSQP within Python3 Scipy module, which transforms complex nonlinear constraint optimization into manageable simple quadratic programming and explicitly considers, the Jacobian of the objective function and its constraints, in this case the analytical gradient dγ dq . An optimization model is formulated to maximize the CCM (γ) while constraining solutions to the desired end-effector position (x p e ), i.e., minimize δq (-γ) subject to : ||f f p (q + δq) -x p e ||=0 q min ≤ q ≤ q max , γ > 0

(40)
where δq is the joint variables' displacement and q min , q max are the minimum and maximum joint angles. x p e is reached by solving the forward kinematics (f f p ) as a constraint. A solution is successful, if the performance index is positive and if the solver terminates within 1000 function iterations. Joint limits are considered, but self-collisions neglected. The algorithm's implementation has not been tuned for run-time performance, thus the number of function iterations are used as a more meaningful statistic. The desired Cartesian velocities are in the range of (-0.6 m/s to 0.5 m/s).

For 100 random Cartesian positions, the results in Table .I indicate reduced average iterations (µ iter ) to converge to a maximum γ with the 6-DOF UR5 robot due to fewer active joints involved in gradient evaluation. Overall, for the same desired Cartesian velocity, 7-DOF Sawyer robot had more successful convergences and a slightly better average capacity margin (µ CM ). The reduced success are due to incapability of achieving the desired twist polytope. The sigmoid slope must to be carefully selected as the relationship between the sigmoid slope, µ iter and µ CM are not linear. While experiments are based on constant desired polytope, the model can be used for task-based, variable desired Cartesian forces/velocities.

3) Trajectory Optimization: To demonstrate the practical application of CCM, we use ( ∂ γ ∂q ) to optimize the trajectory of redundant manipulator, through the gradient projection method [START_REF] Siciliano | Kinematic control of redundant robot manipulators: A tutorial[END_REF]. The results show that CCM can lead to improved configuration with respect to classical performance measures. The joint velocities for a redundant manipulator to effectuate a desired twist V d can be obtained by q = J + (q)V d end-effector motion + (I -J + (q)J(q)) qnull null-space motion (41) where J + (q)V d produces the required task-space motion, I is the (n × n) identity matrix and J + = J T (JJ T ) -1 is the Moore-Penrose pseudo-inverse [START_REF] Siciliano | Kinematic control of redundant robot manipulators: A tutorial[END_REF]. The manipulability index [START_REF] Yoshikawa | Manipulability of robotic mechanisms[END_REF], w, and its gradient are given as w = det(J(q)(J(q)) T ),

∂w ∂q i = w(trace ∂J ∂q i J + ) (42)
To exploit kinematic redundancy to optimize a secondary criterion, qnull ∈ R n is projected into the null space of J + and, to maximise w or γ, qnull is defined respectively as qnull = -∂w ∂q or qnull = -( ∂ γ ∂q ). A straight line trajectory is defined and discretized into points, [x init . . . x f inal ]. V d is the velocity required to move the end-effector between successive waypoints in a timestep To evaluate the performance of γ, the joint trajectories are computed for a time period of 10s with maximum velocity of 0.1 m/s. We compare γ obtained from optimizing for γ versus w, where a common initial pose is used. Fig. 3d shows that CCM provides better overall twist capacities along the trajectory. While, twist capacities are improved with CCM, the joint profile diverges from the initial first time-step as shown in Fig. 3e and indices can lead to very different final configurations. However, it should be noted that local approach of (41) method means there is no guarantee of better configurations throughout the motion.

B. Cable Driven Parallel Robot

The primary objective during design of CDPRs is to ensure operations across a workspace, i.e the end-effector exert/withstand the forces/moments at the payload. A common practice is to evaluate the capacity margin distribution for a given design along a desired static workspace and understand where wrench feasibility is lost [START_REF] Bosscher | Wrench-feasible workspace generation for cable-driven robots[END_REF].

We demonstrate that the wrench feasible workspace (WFW) boundary for a planar CDPR can be directly estimated using γ. Its components are described with the transpositions from [START_REF] Blanchard | Accurate computation of the log-sum-exp and softmax functions[END_REF], the Hessian represented as H = ∂W, the normals are obtained from wrench matrix QR factorization, i.e n T = QR(W) [START_REF] Rasheed | Available wrench set for planar mobile cable-driven parallel robots[END_REF], while gradient is with respect to end effector position. All the geometric components for computing γ can be subsequently derived. The approach is validated with a 4 cable-CDPR with t min = 1N, t max = 25N and desired forces in the range of ±10N in x and y.

To calculate WFW, γ, with varying values of λ, and γ are evaluated across the workspace. The resulting boundaries (γ → 0) are seen in Fig. 4(a) while Table II shows the estimation's percentage accuracy when varying λ. For instance, using Moreover, we implement a naive gradient descent optimization. We initialize the CDPR's position at three different configurations as shown in Fig. 4(b), 4(c). The CDPR converges to the maximum of γ, for λ = 30. When the CDPR is close to the WFW boundary, γ displays high frequency changes yet the gradient is still sufficiently smooth to guide the system to the maximum value.

V. CONCLUSION

This paper introduces a new performance index and its' analytical gradient. The index is based on the hyperplane shifting method with neural-network based activation functions. We show, using serial and parallel systems, how the index accurately yet conservatively approximates the capacity margin while smoothing discontinuities due to vertex/facet changes. The gradient enables the application to inverse kinematics, trajectory optimization, gradient descent based methods and can be used as a visual indicator during on-line operation. However, the proposed method has some limitations. First, each constraint or degree-of-freedom adds a hyperplane thus increasing the computational burden during gradient calculation. Secondly, the sigmoid parameter, λ must be tuned to balance gradient smoothness with fidelity to the capacity margin. Future work will investigate on-line selection of λ during the optimization process. Furthermore, we will examine the introduction of obstacle-avoidance constraints within the polytopes and the use of the gradient to determine optimal robot geometry during design phase.

Fig. 1 :

 1 Fig. 1: Continuous capacity margin for robot shown as orange line between the closest vertex (brown) in the desired velocity polytope (green) and the closest facet (red) in the feasible velocity polytope (blue) for a given configuration.

  and κ = n m-1 , with representing the combination operator.

Fig. 2 :

 2 Fig. 2: Polytope representation, velocity scale = 10%, λ = 10.

  x1) e (x1) + . . . e (xn) . . . e (xn) e (x1) + . . . e (xn) (31)

  This article has been accepted for publication in IEEE Robotics and Automation Letters. is the author's version which has not been fully edited and content change prior to final publication. Citation information: DOI 10.1109/LRA.2023.3313926 This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4.0/

Fig. 3 :

 3 Fig. 3: (a) Sawyer Robot: Comparison between smooth analytical ( dγ dq ) gradient and discontinuous finite difference numerical gradient ( dγ dq ) (b) UR5: Comparison between smooth analytical ( dγ dq ) and ( dγ dq ); (c) Error estimate between actual (γ) & CCM (γ), where Error = γ-γ max(γ) for Sawyer: µ error = 0.0273 and µ t = 4.8 ms and for UR5: µ error = 0.0212 and µ t = 3.7 ms (d) Comparison between capacity margin γ obtained during gradient-projection optimization using CCM and w, (e) Sawyer robot traversing the linear trajectory with optimized joint profile using CCM (λ = 150) (solid) and w (transparent).

λ

  TABLE II: Ratio of estimated boundary, κ = Estimated = 30, γ identifies 99% of the WFW, while maintaining a relatively smooth surface as show in pink in Fig.4(b).

Fig. 4 :

 4 Fig. 4: (a) WFW for feasible wrench set as γ → 0 , with t min = 1N & t max = 25N and a desired force of [-10N, 10N] in x and y at E, (b) CCM distribution across the workspace and first-order gradient descent method with analytical gradient γ with different initial positions in the workspace, (c) Gradient descent convergence for the three starting positions.

  This article has been accepted for publication in IEEE Robotics and Automation Letters. This is the author's version which has not been fully edited and content may change prior to final publication. Citation information: DOI 10.1109/LRA.2023.3313926

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4.0/

  This article has been accepted for publication in IEEE Robotics and Automation Letters. This is the author's version which has not been fully edited and content may change prior to final publication. Citation information: DOI 10.1109/LRA.2023.3313926

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4.0/

TABLE I :

 I IK optimization for 100 observation trials

				Sigmoid Slope (λ)
	Manipulator 50	100	150	200	400
	UR5	Success 62 µ iter 193.161 162.22 166.44 156.64 126.85 63 63 62 66
		µ CM	0.568	0.594	0.593	0.602	0.5882
	Sawyer	Success 71 µ iter 219.05	78 210.43 226.68 197.57 233.51 78 73 73
		µ CM	0.603	0.605	0.588	0.595	0.598

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4.0/

by Editor Lucia Pallottino upon evaluation of the Associate Editor and Reviewers' comments.

The first author has received funding from the European Union's Horizon 2020 research and innovation programme under the Marie Skłodowska Curie grant agreement No. 847402