Tahir Rasheed
email: tahir.rasheed@univ-nantes.fr

Philip Long
email: philip.long@atu.ie

Taskin Padir
email: t.padir@northeastern.edu

Stephane Caro
email: stephane.caro@ls2n.fr

IDETC2023-116412 WRENCH CAPABILITY ANALYSIS OF A PLANAR DUAL-PLATFORM CABLE-DRIVEN PARALLEL ROBOT

Cable-Driven Parallel Robots have several advantages over both conventional serial and parallel robots, notably in terms of scalable workspace. These robots could provide an alternative to mobile and gantry crane systems, increasing payload stability, allowing higher accelerations and reducing cost. However, in order to provide such capabilities, the base attachment points must be located outside the workspace boundaries, meaning that the cables form straight lines running through the workspace to the mobile platform. Consequently, such systems can only feasibly operate in unencumbered locations, or alternatively, be configured with a specific task in mind thus severely limiting their functionality. One potential solution to this problem is a composite mechanism that docks then deploy a sub-mechanism. In this paper, a methodology is proposed to obtain the Wrench-Feasible-Workspace of a composite Cable-Driven Parallel Robot by determining its Available Wrench Set. We define three operation modes of such system and show that the Available Wrench Set in each operation mode depends on the static equilibrium of the dual-platform and contact conditions. The Available Wrench Set is constructed by the Hyperplane Shifting Method and is validated in simulation.

Introduction

Cable-Driven Parallel Robots (CDPRs) are a type of parallel robot in which a set of cables connect a mobile platform equipped with an end-effector to fixed attachment points on the boundary of the workspace. Each cable is taut and allows forces to be transmitted from fixed motorized winches to the moving-platform. The absence of rigid links means the system must be redundantly actuated to ensure the platform to be fully controllable. However, this in turn means the system is much lighter and easily reconfigurable enabling potential applications in high acceleration tasks [START_REF] Kawamura | A new type of master robot for teleoperation using a radial wire drive system[END_REF], large outdoor applications [START_REF] Lambert | Implementation of an aerostat positioning system with cable control[END_REF], logistics [START_REF] Pedemonte | Fastkit: A mobile cable-driven parallel robot for logistics[END_REF] and physiotherapy [START_REF] Chen | Design and development of a new cable-driven parallel robot for waist rehabilitation[END_REF].

In spite of the evident advantages of cable actuated systems, several challenges have limited their deployment in the real-world applications. Foremost amongst these challenges, is the issue of collision avoidance between the cables and the environment and as a consequence limiting the robot's feasible workspace [START_REF] Aref | Geometrical workspace analysis of a cable-driven redundant parallel manipulator: Kntu cdrpm[END_REF]. While permitting cable collisions can lead to a larger workspace, such incidents require on-line adjustment of the robot model [START_REF] Wischnitzer | Wire-driven parallel robot: Permitting collisions between wires[END_REF] and could lead to costly failures. Therefore, much work has focused on detecting potential collisions [START_REF] Blanchet | Interference detection for cable-driven parallel robots (cdprs)[END_REF] requiring significant computational effort [START_REF] Nguyen | On the improvement of cable collision detection algorithms[END_REF]. The collision detection algorithms can then be used in classical path planning methods, for example, discrete methods [START_REF] Lahouar | Collision free path-planning for cable-driven parallel robots[END_REF] or sampling based algorithms e.g, RRT [START_REF] Bak | Collision-free path planning of cable-driven parallel robots in cluttered environments[END_REF][START_REF] Zhang | Optimal rrt* planning and synchronous control of cable-driven parallel robots[END_REF]. These approaches are computationally intensive, thus alternative methods have been sought. For instance, if the desired task is known, a collision free workspace can be directly used as a design parameter for the robot's structure [START_REF] Tadokoro | A parallel cable-driven motion base for virtual acceleration[END_REF], an efficient yet specific method.

To overcome this limitations, Reconfigurable Cable-

Copyright © 2023 by ASME Driven Parallel Robots (RCDPRs), have been proposed [START_REF] Izard | A reconfigurable robot for cable-driven parallel robotic research and industrial scenario proofing[END_REF].

RCDPRs allow reconfiguration of the base attachment points to alter the characteristics of the robot. Planning algorithms can then be used to select the optimum configuration [START_REF] Gagliardini | Discrete reconfiguration planning for cable-driven parallel robots[END_REF] for a particular task. Yet, these systems require discrete manual reconfiguration and thereby limiting the system to known static environments. Alternatively the attachment points can be attached to mobile devices [START_REF] Pedemonte | Fastkit: A mobile cable-driven parallel robot for logistics[END_REF][START_REF] Tan | On the reconfiguration of cable-driven parallel robots with multiple mobile cranes[END_REF] creating systems which can be deployed or reconfigured easily and in an automatic fashion. The addition of mobile bases introduces supplementary constraints that must be considered in the formulation of the robot's wrench set [START_REF] Rasheed | Available wrench set for planar mobile cabledriven parallel robots[END_REF] and requires novel tension distribution algorithms [START_REF] Rasheed | Tension distribution algorithm for planar mobile cable-driven parallel robots[END_REF]. Such RCDPRs would be capable of navigating to the desired location [START_REF] Rasheed | Optimization based trajectory planning of mobile cabledriven parallel robots[END_REF][START_REF] Xu | A collaborative path planning method for mobile cable-driven parallel robots in a constrained environment with considering kinematic stability[END_REF] and deploying a suitable robot on-demand for a specific task. While, adding a high level of flexibility, RCDPRs still struggle to perform in a cluttered workspace due to cable collisions, for instance loading and unloading containers. To address this issue, a novel robot is proposed in [START_REF] Skopin | Design of a docking system for cable-driven parallel robot to allow workspace reconfiguration in cluttered environments[END_REF] composed of a suspended CDPR, a composite mobile platform and a docking mechanism. The proposed system is designed to move above a cluttered environment and when latched deploys a sub-mechanism, which can descend between the obstacles. Collisions are avoided as the cables are routed through the docked system. The docking mechanism consists of two parts a fixed beam at the top of the workspace and a latching mechanism. This mechanism, inspired by a retractable pen [START_REF] Schultz | Retractable pen[END_REF], converts a vertical translational into incremental rotations, enabling by a unidirectional force to dock and undock the robot. This system is complex and requires particular infrastructure in the workspace. Inspired by this work in this paper, we build on the idea of sub-mechanisms and present a new concept of multiple moving-platforms CDPR. Each platform is connected to its independent cables. Rather than a docking system, we propose a sub-mechanism that can be deployed by appropriate tension distribution and surface contact, thus eliminating the complex latching mechanism and broadening the applicability of the system. The proposed system combines the advatages of a CDPR with the flexibility of a standard crane system.

In this article, only two platforms are considered denoted as platform 1 (P 1 ) and platform 2 (P 2 ) as illustrated in Fig. 2. An ongoing development of a dual-platform CDPR using the CRAFT prototype is shown in Fig. 1. This paper deals with the determination of the Available Wrench Set (AWS) required to trace the workspace for planar CDPRs with dual point-mass end-effector. Figure 2 illustrates a Planar CDPR (PCDPR) with q = 4 cables and n = 2 DoF dual moving-platforms. This paper is organized as follows. Section 2 presents the parameterization of the robot. Section 3 deals with the Static Equilibrium (SE) conditions of the robot using Free Body Diagram (FBD). Section 4 discusses the nature of AWS by consid- ering the SE of the platforms for each mode of operation. Section 5 discusses how to trace the workspace using the capacity margin index. Finally, conclusions are drawn and future work is presented in Section VI.

Robot Parameterization

The robot in Fig. 2a is named as dockbot. Dockbot is designed to have three modes of operation, two motion modes and one transitory static mode:

1. The first mode of operation occurs when both the platforms are in contact and are static relative to each other, yet free to move as one body within the workspace. The purpose of first mode of operation is to facilitate the maneuvering of the platforms in a cluttered environment and to precisely position them for attachment to the ceiling, as illustrated in the in Fig. 2a. 2. After the first mode of operation is completed, the second mode is initiated in which the platforms are static and in contact with each other, as well as docked against the ceiling. This mode, as depicted in Figure 2b, is specifically designed to maintain the docked position of the platforms and ensure they remain in place. It commences immediately after the first mode is finished.

3. The third mode of operation occurs when the platform P 1 is docked against the ceiling while platform P 2 is free to move in a sub-workspace, actuated by the cables only attached to platform P 2 . This mode, as illustrated in Figure 2c, is specifically designed to enable platform P 2 to descend between obstacles and perform the desired task, e.g., pick and place operation [START_REF] Skopin | Design of a docking system for cable-driven parallel robot to allow workspace reconfiguration in cluttered environments[END_REF], while keeping platform P 1 securely docked to the ceiling. This mode ensures that the desired configuration of P 1 is maintained, while allowing for efficient descend of P 2 for the desired application.

Let us denote the j th moving-platform as P j , j = 1, 2. The i th cable supporting P j is named as C i j , i = 1, . . . , q j , j = 1, 2, where q j denotes the number of cables connected by P j . The total number of cables, denoted by q, is equal to

q = 2 j =1 q j . ( 1
)
Let u i j be the unit vector of C i j pointing from the movingplatform anchor point B i j to the cable exit point A i j . Let t i j be the cable tension vector along u i j , expressed as

t i j = t i j u i j (2)
where t i j is the tension in the i th cable attached to P j . FBD of a dual moving-platform CDPR with q 1 = 2 and q 2 = 2 for the three operation modes.

Robot Modeling and Static Equilibrium 3.1 First Operation Mode

In the first operation mode, the two moving-platforms are in contact with no relative motion. From the FBD of both masses in Fig. 3a, the static equilibrium of the movingplatforms can be expressed as:

W 1 t 1 + W 2 t 2 + (m 1 + m 2 )g = 0 2 , (3)
where,

W 1 = u 11 u 21 . . . u q 1 1 , W 2 = u 12 u 22 . . . u q 2 2 , (4)
t 1 =       t 11 t 21 . . . t q 1 1       , t 2 =       t 12 t 22 . . . t q 2 2       (5)
g = [0, -g ] T , where g = 9.81 m/s 2 . u i j is the unit vector associated with C i j pointing from the j th point mass movingplatform to the cable exit point. From the FBD of P 2 in Fig. 3b, static equilibrium of P 2 is expressed as:

W 2 t 2 + m 2 g + f 1→2 = 0 2 . ( 6
)
where f 1→2 represents the reaction force applied by P 1 on P 2 , can be expressed as:

f 1→2 = -W 2 t 2 -m 2 g. (7)
Equation [START_REF] Pedemonte | Fastkit: A mobile cable-driven parallel robot for logistics[END_REF] shows the SE of a CDPR [START_REF] Kawamura | A new type of master robot for teleoperation using a radial wire drive system[END_REF][START_REF] Hiller | Design, analysis and realization of tendon-based parallel manipulators[END_REF] that only considers a single and point-mass moving-platform, i.e., P 1 and P 2 joined together as a single body. It is the linear mapping from the q 1 + q 2 -dimensional cable tension space to a ndimension wrench space. Equation (3) can also be expressed in the compact form as:

Wt + w e = 0 2 , ( 8
)
where W is a n × (q 1 + q 2 )-dimensional matrix, t is (q 1 + q 2 )dimensional column vector and w e is a n-dimensional column vector denoting the external wrench applied to the endeffector, expressed as:

W = W 1 W 2 , t = t 1 t 2 , w e = (m 1 + m 2 )g. ( 9
)
4

Copyright © 2023 by ASME

The wrenches f = [ f x f y ] T generated by the cables C i j , i = 1, . . . , q j , j = 1, 2, onto the moving-platform is expressed as:

f = 2 j =1 q j i=1 t i j u i j = W 1 t 1 + W 2 t 2 . ( 10
)
f is the n-dimensional vector denoting the force generated by the cables on a dual-platform CDPR.

In the first operation mode, the two moving-platforms must remain in contact with no relative motion. The constrained can be modeled using the aforementioned reaction forces satisfying the non-sliding conditions defined by a friction cone [START_REF] Samy | Adaptive compliance in post-impact humanoid falls using preview control of a reduce model[END_REF][START_REF] Caron | Zmp support areas for multicontact mobility under frictional constraints[END_REF]. Thus, the non-sliding conditions expressed in the form of a friction cone are defined as:

|i T f 1→2 | ≤ -µ j T f 1→2 , (11)
where µ denotes the friction coefficient between the two bodies. The negative sign in the above equation is due the fact that P 1 must push P 2 downward as shown in Fig. 3a in operation mode 1. Equation ( 11) expressed dual constraints that can be written as:

i T f 1→2 ≤ -µ j T f 1→2 , (12a)
-i T f 1→2 ≤ -µ j T f 1→2 . ( 12b
)
where i and j denotes the unit vector along x and y axes, respectively.

Second Operation Mode

In the second operation mode depicted in Fig. 2b, both the moving-platforms must remain in contact and static relative to each other. In addition, the moving-platform P 1 must also remain in contact with the ceiling. Thus in addition to the non-sliding conditions between the two moving-platforms expressed in Eq. ( 12), the non-sliding conditions between P 1 and the ceiling needs to be respected as well.

From the FBD in Fig. 3c, the static equilibrium of P 2 remains the same as expressed in Eq. ( 6) while the static equilibrium of P 1 is expressed as,

W 1 t 1 + W 2 t 2 + (m 1 + m 2 )g + f o2 c→1 = 0 2 , ( 13
)
where f o2 c→1 represents the reaction forces applied by the ceiling on P 1 during the second mode of operation. Using Eq. ( 9), f o2 c→1 can be expressed as:

f o2 c→1 = -Wt -w e . ( 14
)
The non-sliding conditions between P 1 and the ceiling introduces the limit on the reaction force f o2 c→1 , expressed as:

i T f o2 c→1 ≤ -µ j T f o2 c→1 . ( 15a
) -i T f o2 c→1 ≤ -µ j T f o2 c→1 , (15b)

Third Operation Mode

During the third mode of operation, the two platforms operate independently without any interaction between them, resulting in the generation of separate wrenches. Let f j be the wrenches generated by the cables C i j , i = 1, . . . , q j onto the j th moving-platform. In the third operation mode depicted in Fig. 2c, the moving-platform P 1 must remain in contact only with the ceiling. From the FBDs in Figs. 3d and3e, the static equilibrium of P 1 and P 2 can be expressed as:

W 1 t 1 + m 1 g + f o3 c→1 = 0 2 , (16a)
W 2 t 2 + m 2 g = 0 2 . ( 16b
)
where,

W 1 t 1 = f 1 , W 2 t 2 = f 2 . ( 17
)
From Eq. (16a), the reaction force f o3 c→1 between the ceiling and P 1 is expressed as:

f o3 c→1 = -W 1 t 1 -m 1 g (18)
It can be observed that compared to f o2 c→1 , f o3 c→1 only depends on the forces generated by the cables C i1 onto the platform P 1 . Similar to Eq. ( 15), the non-sliding conditions between P 1 and the ceiling in the third mode of operation are expressed as:

i T f o3 c→1 ≤ -µ j T f o3 c→1 , ( 19a
) -i T f o3 c→1 ≤ -µ j T f o3 c→1 . (19b) 5
Copyright © 2023 by ASME

Cable tensions limits

Regardless of any operation mode of the CDPR, the constraints related to the lower and upper bounds on the cable tensions must be respected. The cable tension t i j associated with the i th cable supporting the j th moving-platform is bounded between a minimum tension t i j and a maximum tension t i j :

t i j ≤ t i j ≤ t i j , ( 20
)
where t i j is the i th cable tension connected to the j th body P j .

Available Wrench Set

In this section the nature of the AWS for a dual-platform CDPR is analyzed. It should be noted that the AWS of a classical CDPR depends uniquely on its platform pose and cable tension limits. In contrast, the additional conditions must be considered in the definition of the AWS for the dual-platform CDPR. Moreover, each mode of operation has different AWS depending on the additional constraints. Let A 1 and A 2 be the AWS associated with the first and second modes of operation, expressed as:

A 1 =            f ∈ R 2 | f = 2 j =1 q j i=1 t i j u i j , t i j ≤ t i j ≤ t i j , i T f 1→2 ≤ -µ j T f 1→2 , -i T f 1→2 ≤ -µ j T f 1→2 , i = 1, . . . , q j , j = 1, 2. (21) A 2 =                  f ∈ R 2 | f = 2 j =1 q j i=1 t i j u i j , t i j ≤ t i j ≤ t i j , i T f 1→2 ≤ -µ j T f 1→2 , -i T f 1→2 ≤ -µ j T f 1→2 , i T f o2 c→1 ≤ -µ j T f o2 c→1 , -i T f o2 c→1 ≤ -µ j T f o2 c→1 , i = 1, . . . , q j , j = 1, 2. (22)
In the third mode of operation, as the platforms operate independently, each platform has its own independent AWS. Let A 3 j be the AWS associated with the j th platform in the third mode of operation, expressed as:

A 31 =            f 1 ∈ R 2 | f 1 = q 1 i=1 t i1 u i1 , t i1 ≤ t i1 ≤ t i1 , i T f o3 c→1 ≤ -µ j T f o3 c→1 , -i T f o3 c→1 ≤ -µ j T f o3 c→1 , i = 1, . . . , q 1 , (23
A 32 = f 2 ∈ R 2 | f 2 = q 2 i=1 t i2 u op3 i2 , t i2 ≤ t i2 ≤ t i2 , i = 1, . . . , q 2 .
(24) Note that u op3 i2 differs from to u i2 as shown in Fig. 3d.

Hyperplane Shifting Method for dual-platform CD-PRs

By considering only the classical cable tension limits (t i j and t i j ), the shape of the AWS takes the form of a zonotope [START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF]. However, when considering additional non-sliding conditions, the shape of the AWS becomes a convex polytope, as previously demonstrated in [START_REF] Rasheed | Available wrench set for planar mobile cabledriven parallel robots[END_REF]. To define the AWS in our case, the Hyperplane Shifting Method (HFM) is used, which defines a convex polytope as the intersection of the half-spaces bounded by its hyperplanes. This approach is similar to that used in [START_REF] Rasheed | Available wrench set for planar mobile cabledriven parallel robots[END_REF], however the constraints are different and must be defined analytically. This AWS is bounded by hyperplanes obtained from the cable tension limits associated to the four cables attached to the point mass moving-platforms, and by the hyperplanes corresponding to the non-sliding conditions derived and explained hereafter.

Hyperplanes associated with the cable tension limits

For classical CDPRs with given cable tension limits, ∆t i j = t i j -t i j is a constant, AWS is a zonotope formed by the set of vectors α i j ∆t i j u i j , where 0 ≤ α i j ≤ 1 [START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF][START_REF] Gouttefarde | Characterization of parallel manipulator available wrench set facets[END_REF]. The shape of the zonotope depends on the cable unit vectors u i j as well as the difference between the minimum and maximum cable tension limits ∆t i j . It is noteworthy that ∆t i j is no longer a constant for dual-platform CDPRs. The property of a zonotope having parallel facets still holds as the orientation of the hyperplanes is given by the cable unit vectors. However, the position of the hyperplanes is modified, forming a convex polytope with parallel facets rather than a zonotope. The hy- perplanes associated with the cable tension limits in the presence of additional constraints has been well studied in [START_REF] Rasheed | Wrench-feasible workspace of mobile cable-driven parallel robots[END_REF].

The aforementioned hyperplanes can generally be obtained using the Cable Tension Space (CTS) of a CDPR. However, in case of a dual-platform CDPR, for each operation mode, CTS is formed by the vertices, denoted as v k j , k = 1, . . . , v j , j = 1, 2. v j denotes the number of vertices for the CTS formed by the cables C i j , i = 1, . . . , q j . The complete CTS for a dual-platform CDPR is obtained by taking the Cartesian product between the vertices v k1 , k = 1, . . . , v 1 and v k2 , k = 1, . . . , v 2 . Figure 4, In the case of a point mass moving-platform, each cable forms a pair of parallel hyperplanes. Each pair is defined by a vector that is orthogonal to its facets, and the shifted distance from the origin that is determined by the projection of the Cable Tension Space (CTS) vertices onto the orthogonal vector. In a case study with q 1 = q 2 = 2, there will be a total of eight hyperplanes associated with the cable tension limits. For the additional constraints, each non-sliding condition generates a single hyperplane in the wrench space.

Hyperplanes associated with the First Operation Mode

In order to define the hyperplane associated with the non-sliding conditions, the aforementioned constraints must be expressed into the wrench space. For the first operation mode, Eqs. [START_REF] Tadokoro | A parallel cable-driven motion base for virtual acceleration[END_REF] are to be expressed in the wrench space of a dual-platform CDPR. Substituting Eq. ( 7) into the Eq. (12a) yields:

i T (-W 2 t 2 -m 2 g) ≤ -µ j T (-W 2 t 2 -m 2 g). (25)
As i T m 2 g = 0,

-i T -µ j T W 2 t 2 ≤ µ j T m 2 g. (26)
In order to map Eq. 26 into the wrench space, we introduce t 1 in addition to t 2 . Adding [-i T -µ j T ]W 1 t 1 in the above equation yields:

-i T -µ j T (W 1 t 1 +W 2 t 2 ) ≤ µ j T m 2 g+ -i T -µ j T W 1 t 1 . ( 27
)
Using Eq. ( 10), the above equation can be expressed in the form :

e - op1 T f ≤ d - op1 (28)
where e - op1 is an n-dimensional unit vector defining the facet of the hyperplane and d - op1 denotes the shifted distance of the hyperplane from the origin along e - op1 , expressed as: 28) expresses the non-sliding condition in Eq. (12a) into the wrench space. Similarly, the non-sliding condition in Eq. (12b) can be expressed in the wrench space as:

e - op1 = -i T -µ j T T -i T -µ j T , (29a)
d - op1 = µ j T m 2 g + (-i T -µ j T ) max q 1 i=1 u i1 v k1 , k = 1, . . . , v 1 -i T -µ j T (29b) Equation (
e + op1 T f ≤ d + op1 (30)
where e + op1 is also an n-dimensional unit vector and d + op1 denotes the shifted distance of the hyperplane from the origin of 7

Copyright © 2023 by ASME the wrench space along e + op1 , expressed as: 28) and ( 30) are the two additional hyperplanes that form the AWS of a dual-platform CDPR in the first operation mode.

e + op1 = i T -µ j T T i T -µ j T , (31a)
d + op1 = µ j T m 2 g + (i T -µ j T ) max q 1 i=1 u i1 v k1 , k = 1, . . . , v 1 i T -µ j T (31b) Equations (

Hyperplanes associated with the Second Operation Mode

As described in Sec. 3.2, the second operation mode is under the influence of two types of non-sliding constraints (Eq.( 12) and Eq. ( 15)). Equation ( 12) remains the same in the wrench space as expressed by Eqs. ( 28) and [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF]. However, in the second mode of operation, we also need to express the constraints in Eq. ( 15) into the wrench space of a dual-platform CDPR. Substituting Eq. ( 14) into Eq. (15a) yields:

i T (-Wt -(m 1 + m 2 ) g) ≤ -µ j T (-Wt -(m 1 + m 2 ) g). ( 32
)
As the term i T (m 1 + m 2 )g = 0, substituting Eq.( 10) into the Eq.(32) yields:

-i T -µ j T f ≤ µ j T (m 1 + m 2 )g (33)
Equation.(33) represents the non-sliding condition in Eq. (15a) into the wrench space. Similarly, Eq.(15b) can also be represented into the wrench space. Both the latter constraints can be written in the form:

e - op2 T f ≤ d - op2 , e + op2 T f ≤ d + op2 . ( 34
)
where e - op2 (e + op2 , resp.) is an n-dimensional unit vector and d - op2 (d + op2 , resp.) denotes the shifted distance of the hyperplane from the origin of the wrench space along e - op2 (e + op2 , resp.), expressed as:

e - op2 = -i T -µ j T T -i T -µ j T T , d - op2 = µ j T (m 1 + m 2 ) g -i T -µ j T T (35) e + op2 = i T -µ j T T i T -µ j T T , d + op2 = µ j T (m 1 + m 2 ) g i T -µ j T T (36)
Equation (34) describes the two additional hyperplanes that, together with the hyperplanes associated with the cable tension limits and the hyperplanes represented by Eq. ( 28) and [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF], form the AWS of a dual-platform CDPR for the second operation mode.

Hyperplanes associated with the Third Operation Mode

In the third mode of operation, the only nonsliding condition is associated between the ceiling and P 1 expressed by Eqs. [START_REF] Xu | A collaborative path planning method for mobile cable-driven parallel robots in a constrained environment with considering kinematic stability[END_REF] and thus, are required to be expressed into the wrench space f 1 of the platform P 1 . Substituting Eq. ( 18) into the Eq. (19a) yields:

i T (-W 1 t 1 -m 1 g) ≤ -µ j T (-W 1 t 1 -m 1 g). (37)
Note that i T m j g = 0. Substituting Eq.( 17) in the Eq.(37) yields:

-i T -µ j T f 1 ≤ µ j T m 1 g. (38)
Equation ( 38) represents the non-sliding condition in Eq. (19a) into the wrench space. Similarly, Eq.(19b) can also be represented into the wrench space. Both the latter constraints can be written in the form:

e - op3 T f ≤ d - op3 , e + op3 T f ≤ d + op3 , (39)
where e - op3 (e + op3 , resp.) is an n-dimensional unit vector and d - op3 (d + op3 , resp.) denotes the shifted distance of the hyperplane from the origin of the wrench space along e - op3 (e + op3 , resp.), expressed as:

e - op3 = -i T -µ j T T -i T -µ j T T , d - op3 = µ j T m 1 g -i T -µ j T T (40) e + op3 = i T -µ j T T i T -µ j T T , d + op3 = µ j T m 1 g i T -µ j T T (41)
Equation (39) outlines the two additional hyperplanes that, in combination with the hyperplanes related to cable tension constraints, form the AWS for the third operation mode of a dual-platform CDPR. Figure 7 illustrates the AWS for each operation mode depicted in Fig. 2 with m 1 = 2kg and m 2 = 4kg. The AWS of the classical CDPR, without any supplementary constraints, is displayed in red, while the AWS incorporating the additional non-sliding constraints is depicted in green. It can be seen that the additional non-sliding conditions significantly limit the robot's wrench capabilities. In Fig. 7a, the minimum possible wrench that can be generated by the cables onto the moving-platform is equal to the weight of P 2 , as compelled by the right-hand side of the constraint in Eq.11. Similar phenomena can be observed in the second(Fig. 7b) and third(Fig. 7c) operation modes. These results indicate that the platforms may lose contact if the wrenches generated by the cables fall below certain thresholds defined by the weights of the moving-platforms.

Workspace Analysis

An important design consideration that requires investigation is the wrench feasible workspace (WFW), which is particularly relevant to the first mode of operation. It is imperative to identify a workspace that is capable of keeping both platforms in contact while ensuring that the required wrenches can be sustained. Therefore, the WFW of the planar dual-platform CDPR is investigated in this section. It is defined as the set of moving-platform poses that are wrenchfeasible [START_REF] Bosscher | Wrench-feasible workspace generation for cable-driven robots[END_REF][START_REF] Ruiz | ARACHNIS: Analysis of Robots Actuated by Cables with Handy and Neat Interface Software[END_REF]. A well known index used to compute the wrench feasible set of poses is called Capacity Margin [START_REF] Guay | Measuring how well a structure supports varying external wrenches[END_REF]. It is a measure of the robustness of the equilibrium of the robot. The static WFW of the platform under study is presented in Fig. 8 for the first operation mode. The green region corresponds to the area where both cable tension limits and nonsliding constraints are satisfied. On the other hand, the red area corresponds to the WFW of a classical CDPR that only takes into account cable tension limits. It can be seen that for the dual-platform CDPRs, the ability of the cables to apply wrenches may be reduced due to the additional non-sliding constraints. It has been observed that a convergence between the green and red regions is highly unlikely, even if the friction coefficient µ tends to infinity, as the weight of the platforms will always impose limitations on the platform wrench capability.

Conclusion and Future Work

In this paper, a methodology to obtain the Wrench-Feasible-Workspace for a composite Cable-Driven Parallel Robots was introduced. Three operation modes of dualplatform Cable-Driven Parallel Robots were defined. For each operation mode, it was shown that the Available Wrench Set depends on both the static equilibrium of the movingplatforms and contact conditions. The proposed method was validated in simulation. Future work will focus on an extension of this work to spatial mechanisms with surface contact 9

Copyright © 2023 by ASME

FIGURE 1 :

 1 FIGURE 1: Ongoing developments of a dual-platform mechanism using the CRAFT prototype located at LS2N, Nantes, France.

FIGURE 2 :

 2 FIGURE 2: Dual-platform CDPR supported by q 1 = 3 and q 2 = 3 number of cables in three different operation modes (a) stowed (b) during docking (c) deployed

  5 and 6 depicts the CTS for the three operation modes for the robot poses shown in Fig 2, respectively.

FIGURE 7 :

 7 FIGURE 7: AWS of a dual-platform CDPR for each mode of operation in Fig. 2 for µ = 0.5

  WFW with µ = 10

FIGURE 8 :

 8 FIGURE 8: Wrench Feasible Workspace of the planar dualplatform CDPR in the first mode of operation

  )

	t 21 v 21	v 31	t 22	v 22	v 32
					v 42
			v 12
	t 11 t 21 v 11	t 11 v 41	t 12 t 22		t 12
	FIGURE 4: CTS formed by cables C i1 (left) and C i2 (right) in
	the first mode of operation

ACKNOWLEDGMENT

This work was supported by the ANR CRAFT project, France, grant ANR-18-CE10-0004, https://anr.fr/Project-ANR-18-CE10-0004. This work has been partially supported by ROBOTEX 2.0 (Grants ROBOTEX ANR-10-EQPX-44-01 and TIRREX ANR-21-ESRE-0015).


Angelica Ginnante
email: aginnante@nimbl-bot.com

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

Enrico Simetti
email: enrico.simetti@unige.it

IDETC2023-115240 WORKSPACE DETERMINATION OF KINEMATIC REDUNDANT MANIPULATORS USING A RAY-BASED METHOD

Determining the workspace of a robotic manipulator is extremely significant for knowing its abilities and planning the robot application. There exist several techniques for the robot workspace determination. However, these methods usually are affected by computational redundancy, like in the case of Monte Carlo based methods, or their implementation is difficult. Moreover, the workspace analysis of kinematic redundant manipulators is even more complex. This paper introduces a ray-based workspace determination algorithm, easy to implement and not affected by computational redundancy. The proposed method can be applied to any type of serial robot, but it is tested only on spatial kinematic redundant robots. The results show how the approach can clearly determine the boundary of the robot workspace in a short period of time. Finally the time and quality performance of the ray-based method results are compared to the Monte Carlo one demonstrating the improvement of the proposed method.

INTRODUCTION

The workspace of a manipulator represents the space where its end-effector can reach any point for at least one orientation [START_REF] Cao | Accurate numerical methods for computing 2d and 3d robot workspace[END_REF]. Planning the robot end-effector movements and trajectories requires careful consideration of the workspace analysis. As a result, the workspace of conventional robots has been the subject of numerous scientific studies throughout the past three decades. There exist three main types of methods for the workspace determination, as described in [START_REF] Du | A review on kinematic, workspace, trajectory planning and path planning of hyper-redundant manipulators[END_REF]. The first one is the geometric type, which is mainly applied for the workspace identification of planar robots [START_REF] Yahya | Geometrical approach of planar hyper-redundant manipulators: Inverse kinematics, path planning and workspace[END_REF]. This approach is intuitive, but it can not accurately describe the workspace of spatial, i.e. nonplanar, robots. The second method is the analytic one that employs the kinematic Jacobian matrix [START_REF] Bohigas | A complete method for workspace boundary determination on general structure manipulators[END_REF]. The boundaries of the workspace are generated searching for the rank deficiency of the kinematic Jacobian matrix. By imposing the kinematic Jacobian matrix rank deficiency, a set of equations is obtained and solved to identify the workspace boundaries. This type of approach is complex when applied to kinematic redundant robot [START_REF] Peidró | An improved monte carlo method based on gaussian growth to calculate the workspace of robots[END_REF]. Finally, the third approach is a numerical one, which identifies the workspace boundaries using the forward kinematics of the robot. This type of methods can be applied to any robot and its solution is easily understandable [START_REF] Du | A review on kinematic, workspace, trajectory planning and path planning of hyper-redundant manipulators[END_REF]. It is usually employed for the workspace analysis of spatial kinematically redundant robots. The most common method of this third category is the Monte Carlo method [START_REF] Guan | Reachable space generation of a humanoid robot using the monte carlo method[END_REF]. In the Monte Carlo method, a wide number of random robot configurations is generated to determine the robot workspace. However, this method has some drawbacks [START_REF] Du | A review on kinematic, workspace, trajectory planning and path planning of hyper-redundant manipulators[END_REF][START_REF] Peidró | An improved monte carlo method based on gaussian growth to calculate the workspace of robots[END_REF]. The generated workspace can be inaccurate, especially on its boundaries [START_REF] Du | A review on kinematic, workspace, trajectory planning and path planning of hyper-redundant manipulators[END_REF], and the real workspace can be different from the one obtained [START_REF] Peidró | An improved monte carlo method based on gaussian growth to calculate the workspace of robots[END_REF]. The coordinate transformation from joint space to workspace in the forward kinematics is nonlinear. This means that a uniform distribution of coordinate in the joint space does not necessarily lead to a uniform distribution of points in the Cartesian workspace [START_REF] Li | Research of trajectory planning for articulated industrial robot: a review[END_REF]. As a result, some areas in the workspace have a low density of points and other areas have a high density. Unfortunately, the low density of points areas usually corresponds to the boundaries of the workspace [START_REF] Li | Research of trajectory planning for articulated industrial robot: a review[END_REF]. On the contrary, workspace inner areas are characterized by a high density of points, which leads to high computation time.

In [START_REF] Peidró | An improved monte carlo method based on gaussian growth to calculate the workspace of robots[END_REF], the authors employed an improved version of the Monte Carlo method to calculate the robot workspace, called Gaussian Growth. The method consists in generating an amount of starting robot configurations using the classical Monte Carlo method to obtain a seed workspace, which will be inaccurate in some areas. Then, this seed is grown employing a Gaussian, or normal, random distribution, until the workspace is accurately approximated. A similar approach was employed in [START_REF] He | Boundary encryption-based monte carlo learning method for 9 Copyright © 2023 by ASME workspace modeling[END_REF]. In [START_REF] Zhao | Workspace analysis for a 9-dof hyper-redundant manipulator based on an improved monte carlo method and voxel algorithm[END_REF], the authors presented another Monte Carlo method combined with the Gaussian distribution plus a Voxel algorithm [START_REF] Fernández-Sarría | Different methodologies for calculating crown volumes of platanus hispanica trees using terrestrial laser scanner and a comparison with classical dendrometric measurements[END_REF] to analyze the workspace of a nine degrees of freedom kinematic redundant robot. The obtained seed workspace is expanded by setting an accuracy threshold to accurately describe each region. Then, a Voxel algorithm is proposed to compute the volume of the obtained workspace. All these methodologies based on an improved Monte Carlo method are able to identify the manipulator workspace. However, they are still affected by the drawbacks of the Monte Carlo method although to a lesser extent. To describe the workspace of a robot and obtain its volume, computing only the workspace boundaries is enough, but this is not possible with a Monte Carlo based method.

There exist other types of workspace generation algorithm that employs the workspace density and the N-dimensional Euclidean motion group SE(N). In [START_REF] Wang | Workspace generation of hyper-redundant manipulators as a diffusion process on se (n)[END_REF], the authors formulate the workspace generation problem for kinematically redundant robots as a diffusion process employing the Euclidean motion group SE(N) to describe the evolution of the workspace density function. The workspace density is a powerful tool in the case of planar serial arms with revolute joints, as shown in [START_REF] Dong | Workspace density and inverse kinematics for planar serial revolute manipulators[END_REF]. The workspace density based approach can also be used for plotting the reachability map of special situations such as in the case of ball joints [START_REF] Dong | Inverse kinematics of discretely actuated ball-joint manipulators using workspace density[END_REF]. The approach described in [START_REF] Han | Efficient se (3) reachability map generation via interplanar integration of intra-planar convolutions[END_REF] is a step forward in the use of the Euclidean motion group SE(N) for the generation of a three dimensional workspace. The authors implement a series of convolutions to reduce computational complexity from a spatial case to a planar one. All these techniques can describe the reachability map, or workspace, of different types of robots. However, their development is complex and hardly intuitive.

The workspace determination algorithm described in this paper is a ray-based method. The ray-based method idea is presented in [START_REF] Abbasnejad | Generalized ray-based lattice generation and graph representation of wrench-closure workspace for arbitrary cable-driven robots[END_REF][START_REF] Zhang | Efficient wrench-closure and interference-free conditions verification for cable-driven parallel robot trajectories using a raybased method[END_REF][START_REF] Cheng | Ray-based cable and obstacle interference-free workspace for cable-driven parallel robots[END_REF] to determine the interference free and wrench closure workspace and for the trajectory verification of cabledriven robots. Compared to other numerical approaches like pointwise or interval-based analysis, the ray-based approaches provide information about the interference free workspace continuity, precisely determining interior regions [START_REF] Cheng | Ray-based cable and obstacle interference-free workspace for cable-driven parallel robots[END_REF]. Moreover, ray-based methods decrease the computational time with respect to the other approaches [START_REF] Abbasnejad | Generalized ray-based lattice generation and graph representation of wrench-closure workspace for arbitrary cable-driven robots[END_REF]. The workspace determination method proposed in this paper takes into account more complex robotic architectures. It is developed for the determination of the whole workspace of redundant manipulators, which are complex to analyze. However, it can be employed with any type of robot. This workspace determination method is simple to develop, avoids the computational redundancy that affects the Monte Carlo based methods and identifies only the boundaries of the robot workspace. The resulting workspace is easy to visualize and obtained in a small amount of time with continuous boundaries. Starting from a set of configurations inside the workspace, the end-effector is moved from its position along several radial directions. When the end-effector reaches the boundary of the workspace and stops, its position is saved. So, this new method is able to quickly identify the boundaries of any robot workspace. In this case, the robots employed to test the workspace determination algorithm are highly kinematic redundant robots [START_REF] Chirikjian | A hyperredundant manipulator[END_REF]. They are perfect candidates as describing their workspace is a complex problem [START_REF] Du | A review on kinematic, workspace, trajectory planning and path planning of hyper-redundant manipulators[END_REF].

The paper is outlined as follows. Section 2 introduces the background of the algorithm, namely the kinematic control algorithm used to control the robot and the employed optimization tasks. Section 3 describes the workspace determination method proposed in this paper. Section 4 presents the family of kinematic redundant robots employed to test the new method. Section 5 analyzes the obtained results testing the proposed workspace determination algorithm and compares the performance with the one of a Monte Carlo method. Conclusions and future work are given in section 6.

BACKGROUND

This section describes the kinematic control algorithm and optimization tasks employed by the workspace determination algorithm. The chosen kinematic control algorithm is developed to exploit the redundancy of robotic machines and solve several tasks simultaneously. Firstly, the kinematic control algorithm is introduced. Then, two kinematic optimization tasks are described. These tasks prevent the robot from reaching singular configurations where the end-effector is not at the boundary of the workspace.

Kinematic Control Algorithm

The employed kinematic control algorithm is called Task Priority Inverse Kinematic (TPIK) and is presented in [START_REF] Simetti | A novel practical technique to integrate inequality control objectives and task transitions in priority based control[END_REF][START_REF] Simetti | Task priority control of underwater intervention systems: Theory and applications[END_REF][START_REF] Simetti | A task priority approach to cooperative mobile manipulation: Theory and experiments[END_REF][START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF]. It can find the robot configuration that solves a set of tasks with different priority levels. Moreover, it can activate and deactivate one or more tasks without generating algorithmic discontinuities [START_REF] Simetti | A novel practical technique to integrate inequality control objectives and task transitions in priority based control[END_REF] to avoid over-constraining the robotic system.

Here, some general definitions are given to briefly describe the TPIK algorithm. This paper deals with serial robotic manipulators, so, the vector named q ∈ R n represents the joint position vector that describes the arm configuration. The variable n is the number of joints contained in the robot. The joint velocities are grouped in the vector q ∈ R n . A control objective is defined to represent one of the robot goals and the associated task state. It corresponds to a scalar variable x(q) computed as a function of the robot configuration q. There exist two types of control objectives, equality and inequality. More details are given in [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF]. Each control objective is associated with a feedback reference rate ẋ that drives x(q) to the desired point x * with the linked rate ẋ * . Each control objective x(q) has an activation function a i (x) ∈ [0, 1], which states if the control objective is applicable or not at a specific time instant. Finally, a priority level is assigned to each task based on its control objective importance. The tasks with highest priorities are solved first employing the necessary robot degrees of freedom. Then, lower priority tasks are solved if enough degrees of freedom remains. These concepts were fully described in [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF] With the previous definitions, the control action A taken as input by the TPIK algorithm can be defined as a series of priority levels composed of [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF]:

ẋk = [ ẋ1,k , ẋ2,k , . . . , ẋm k ,k ]
is the vector of all the scalar control objective reference rates, where m k is the number of control objectives for the k th priority level. J k is the Jacobian matrix associated with the vector [ ẋ1,k , . . . , ẋm k ,k ] with respect to the joint velocities q for the k th priority level. A k = diag(a 1,k , . . . , a m k ,k ) is the activation function diagonal matrix for the k th priority level. To find the system velocity reference vector q that meets all the action priority requirements, the TPIK algorithm solves a sequence of nested minimization problems

S k = arg R -min q∈S k-1 ||A k ( ẋk -J k q)|| 2 , (1)
where S k-1 is the manifold of all the previous priority level solutions. The solution to the k th priority level is searched in the manifold of all the previous priority level solutions. The notation Rmin highlights that each minimization is performed through specific regularized space projections to implement priorities among the tasks defined in [START_REF] Simetti | A novel practical technique to integrate inequality control objectives and task transitions in priority based control[END_REF]. Moreover, the TPIK algorithm uses regularized space projection to implement priorities among all the tasks. One of the main advantages of the TPIK algorithm is the use of the activation functions for inequality control objectives to avoid blocking degrees of freedom that could be used by lower priority level tasks. The complete explanation of the TPIK algorithm solution mechanism can be found in [START_REF] Simetti | A novel practical technique to integrate inequality control objectives and task transitions in priority based control[END_REF].

Optimization tasks

To perform the ray-based workspace determination, the TPIK algorithm employs a task related to the robot end-effector velocity. However, the TPIK algorithm also includes two kinematic optimization tasks to avoid blocking in singular configurations. These task are based on the kinematic indices: dexterity and manipulability. These indices are related to the kinematic Jacobian matrix J e for the robot end-effector velocity

t = ṗ ω ω ω = J e (q) q = J l (q) J a (q) q, ( 2
)
where t = ṗ , ω ω ω ∈ R 6 is the robot end-effector twist, with ṗ ∈ R 3 and ω ω ω ∈ R 3 the linear and angular velocity vectors of the end-effector, respectively. Since the kinematic Jacobian matrix J e contains non-homogeneous terms, i.e. linear and angular ones, it needs to be weighted before computing the kinematic performance indices. This weighing is done using the characteristic length L introduced in [START_REF] Angeles | The design of isotropic manipulator architectures in the presence of redundancies[END_REF] to solve the absence of dimensional homogeneity. The computation of L is proposed in [START_REF] Khan | The kinetostatic optimization of robotic manipulators: The inverse and the direct problems[END_REF]. Then, the rows associated to the linear velocities of the end-effector in J e are divided by L for the revolute joints. The weighted kinematic Jacobian matrix is written as J w .

Dexterity The dexterity η(J w ) characterizes the kinematic performance of a manipulator in a given configuration [START_REF] Angeles | Kinematic isotropy and the conditioning index of serial robotic manipulators[END_REF]. In [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF], the analytical expression of η is computed using the Frobenius norm of

J w η(J w ) = m γ 1 (J w ) γ 2 (J w ) , (3)
where m, which represents the number of rows of J w , is the dimension of the task space and

γ 1 = trace(J w J w ) and γ 2 = trace[(J w J w ) -1 ]. (4)
The index η is bounded between 0 and 1. The higher η, the better the robot dexterity. The robot reaches an isotropic posture when η = 1. The smaller η, the worse the robot dexterity and the closer to a singularity. Moreover, η can be defined as the ratio between the smallest and the highest singular values of J w indicating how close the manipulability hyper-ellipsoid is to being a hyper-sphere [START_REF] Pond | Formulating jacobian matrices for the dexterity analysis of parallel manipulators[END_REF]. The derivative of the dexterity as a function of the joint variables is described in [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF],

∂ η ∂ q i = -η ∂ γ 1 ∂ q i 1 γ 1 + 1 γ 2 ∂ γ 2 ∂ q i , (5) 3
Copyright © 2023 by ASME where

           ∂ γ 1 ∂ q i = 1 γ 1 trace J w ∂ J w ∂ q i , ∂ γ 2 ∂ q i = 1 γ 2 trace -J w ∂ J w ∂ q i (J w J w ) 2 . (6)
The dexterity Jacobian matrix J η as a function of the joint variables is

J η = ∂ η ∂ q 1 . . . ∂ η ∂ q n . (7)
Manipulability The manipulability is an index that measures the kinematic abilities of the robotic system through its weighted Jacobian matrix J w [START_REF] Yoshikawa | Manipulability of robotic mechanisms[END_REF]. The manipulability of a manipulator is defined as

µ = det(J w J w ), (8)
and amounts to the product of all the singular values of J w . The higher the manipulability value, the larger the manipulability hyper-ellipsoid and the better the kinematic performance of the mechanism [START_REF] Angeles | Fundamentals of robotic mechanical systems: theory, methods, and algorithms[END_REF]. It should be noted that the manipulator reaches a kinematic singularity when µ reaches zero. The derivative of the manipulability as a function of the joint variables is explained in [START_REF] Park | Analysis and control of kinematically redundant manipulators: An approach based on kinematically decoupled joint space decomposition[END_REF] and used in [START_REF] Marani | A real-time approach for singularity avoidance in resolved motion rate control of robotic manipulators[END_REF]:

∂ µ ∂ q i = µ trace ∂ J w ∂ q i J + w . (9)
The manipulability Jacobian matrix J µ as a function of the joint variables is

J µ = ∂ µ ∂ q 1 . . . ∂ µ ∂ q n . ( 10
)

WORKSPACE DETERMINATION METHOD

This section describes the workspace determination procedure proposed and applied in this paper. The core idea is to identify the workspace boundaries rapidly without losing time collecting points inside it. After initializing the robot in a starting configuration, the end-effector is moved along a set of linear displacement vectors with a target twist t t employing the TPIK algorithm. These vectors radiate from the end-effector initial position along different directions. To avoid the robot getting stuck in a singular configuration inside the workspace, two tasks for ALGORITHM 1. WORKSPACE DETERMINATION Require: A number of starting configurations and a set of displacement vectors along different directions. The thresholds ε kinematic and ε velocity for η and μ and end-effector twist t, respectively. The target end-effector twist t t .

1: for i := 1 → number of starting configurations do 2:

for k := 1 → number of displacement vectors do

3:
Initialize robot in i th configuration.

4:

while η and μ > ε kinematic do 5:

while End-effector twist ||t|| 2 > ε velocity do 6:

Move end-effector along k th vector with t t .

7:

end while 8:

end while

9:
Save end-effector position.

10:

end for 11: end for the kinematic optimization, based on dexterity η and manipulability µ, are included in the TPIK algorithm. If the rates of η and µ, i.e. η and μ, are over the desired threshold ε kinematic , it means that the TPIK algorithm is still optimizing the robot configuration and the end-effector position is not saved.

Then, when η and μ are lower than ε kinematic and the 2norm of the end-effector velocity ||t|| 2 goes under a selected threshold ε velocity , it means that the end-effector has reached the workspace boundary and its position is saved. Afterwards, the robot is set again to the starting configuration and the endeffector is moved along another vector. After the end-effector has been moved along all the displacement vectors, the robot is initialized in a new starting configuration and moved along all the vectors again. This process is repeated several times starting from different configurations to obtain enough points to describe the boundary of the whole workspace. Algorithm 1 sums up the workspace determination procedure. Table 1 collects the tasks employed by the TPIK algorithm for the workspace generation and their hierarchical priority levels. The algorithm is developed in C++.

4

Copyright © 2023 by ASME

FAMILY OF ROBOTS UNDER STUDY

This section proposes the family of robots employed to test the workspace determination algorithm. First, the mechanism that composes and actuates the robots is described. Then, the three robots under analysis are presented.

Mechanism description

The mechanism, called NB-module, developed and patented by the company Nimbl'Bot [START_REF] Dufau | Articulated robot arm[END_REF] is used as a case study in this paper. Here, the NB-module is presented. It is formed of two closed kinematic chains, one internal and one external, actuated by two motors. So, it is a two degrees of freedom mechanism. The internal kinematic chain is passive and ensures strength of the entire design. The external kinematic chain is the active one, actuated by the two motors and shown Fig. 1a. It is composed of the yellow and orange platforms and the blue and green hollow cylinders, both cut by an oblique plane. The green tube rotates around the vertical axis of the yellow platform when it is actuated by the first motor. The angle of the first motor is called q 1 . The blue tube rotates around the vertical axis of the orange platform when it is actuated by the second motor. The angle of the second motor is called q 2 . The rotation of these two tubes is completely independent and continuous. Figure 1 shows the design parameters of the NB-module. The variable r indicates half height of the NB-module, set to 0.07 m for the rest of this paper. The variable α represents the slope of the oblique plane that cuts the two tubes, set to 15 • for the rest of this paper. For more details, the NB-modules is described in [START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF][START_REF] Ginnante | Design and kinematic analysis of a novel 2-dof closed-loop mechanism for the actuation of machining robots[END_REF].

Description of the robots under analysis

A number of NB-modules can be attached serially to generate different kinematic redundant manipulators. In this paper, the workspace of three different robots is analyzed. The first robot, called NB-R1, is shown in Fig. 2. It is composed of six NB-modules serially attached and has twelve degrees of freedom. The second robot, shown in Fig. 3, is called NB-R2. It 2 summarizes the robot dimensions.

RESULTS AND DISCUSSION

This section describes the test to determine the robots workspace and discusses the obtained results. Firstly, the main features of the test are presented. Then, the results are analysed.

Test description

Before applying the workspace determination algorithm, a rule to initialize the robot has to be defined. In this case, a uniform random generation is employed to obtain the starting configurations. Considering one NB-module, the values of the motors position q 1 and q 2 are randomly generated. These values are applied to all the NB-modules included in one robot. So, each NB-module in the robot is initialized in the same configuration. After several tests, this type of initialization was selected because it generated the most uniform point distribution on the workspace boundaries. If all the NB-modules are randomly initialized with different values, the generated points were not uniformly distributed.

Then, as described in Section 3, the robot end-effector is moved along a set of displacement vectors, in total 14 unit vectors. The first six vectors are oriented along the positive and negative direction of axes x, y and z, respectively, The other eight vectors are a combination of displacements along all the axis x, y and z,

v 1,2 =   ±1 0 0   , v 3,4 =   0 ±1 0   , v 5,6 =   0 0 ±1   . ( 11
)
v 7 =   -c -c -c   , v 8 =   c -c -c   , v 9 =   -c c -c   , v 10 =   c c -c   , v 11 =   -c -c c   , v 12 =   c -c c   , v 13 =   -c c c   , v 14 =   c c c   , (12)
where c is equal to 1 / √ 3. The displacement vectors applied to the end-effector are shown in Fig. 5. To ensure a uniform point distribution on the whole workspace, the displacement vectors are rotated around the z 1 axis oriented as the base frame z 0 axis and applied to the origin of the end-effector frame, as shown in Fig. 6. The rotation angle is equal to the azimuth angle φ of the transformation matrix between the base frame to the end-effector frame. The azimuth angle φ can be obtained using the notation presented in [START_REF] Ginnante | Design and kinematic analysis of a novel 2-dof closed-loop mechanism for the actuation of machining robots[END_REF]. Table 3 provides the test implementation details and values.

Results analysis

The total number of generated points to determine one workspace is 8064. Figure 7 shows three views of the NB-R1 workspace. The colors to the points are assigned on the base of their height along axis z and help the visual identification of the workspace. The graph on the left shows the vertical section, defined by the yz-plane, of the NB-R1 workspace. Then on the right, the upper graph shows a 3D view of the complete NB-R1 workspace and the lower one presents a 3D view of the inner boundaries of the workspace. The NB-R1 workspace boundaries are clearly identified and uniformly distributed. This workspace is symmetric around the z axis. As previously described, to move the robot end-effector until the boundaries, the TPIK algorithm employs two kinematic optimization tasks to ameliorate the robot kinematic performance and avoid the robot getting stuck in singular configurations. Figure 8 shows the generated points for the NB-R1 workspace deactivating the optimization tasks. The orange lines highlight the points that stopped inside the workspace. The majority of these points are close to the upper area of the internal boundaries. Here, the robot almost reached the workspace boundaries but stopped in a singular configuration. Figure 9 shows the workspace of the NB-R1 when the robot starting configurations are generated initializing all the joints with different random values. As a result, few points describe the workspace lower part, being more concentrated in the upper part. This phenomenon proves the validity of the robot configuration initialization chosen in this paper.

Figure 10 shows three views of the NB-R2 workspace. The graph on the left shows the vertical section, defined by the yzplane, of the NB-R2 workspace. Then on the right, the upper graph shows a 3D view of the complete NB-R2 workspace and the lower one presents a 3D view of the inner boundaries of the workspace. Again, the NB-R2 workspace is clearly identified and symmetric around the z axis. In this case, the total workspace is bigger than the NB-R1 case thank to the higher number of NB-modules and the presence of the two links l 1 and l 2 . Finally, Fig. 11 shows three views of the NB-R3 workspace. The graph on the left shows the vertical section, defined by the yzplane, of the NB-R3 workspace. Then on the right, the upper graph shows a 3D view of the complete NB-R3 workspace and the lower one presents a 3D view of the inner boundaries of the workspace. The NB-R3 workspace has a similar same volume of the NB-R2 one since both robots have the same number of module and link lengths. However, the NB-R3 workspace is not symmetric as the two previous cases because of the two offsets β 1 and β 2 . The workspace distribution is moved along the positive side of axis y since β 1 and β 2 are rotated about the axis x of a negative value. The workspace maintains its symmetry with respect to the yz-plane since there is no offset about the axis y.

The NB-R3 workspace boundaries are globally identified. Nevertheless, in this case, the inner boundaries are rougher and not perfectly described. This happens because, despite the presence of the kinematic optimization tasks, the robot reaches singular configurations and stops. This behavior does not appear with the other robots and it is probably due to the presence of β 1 and β 2 . More analysis will be done on this point in the future. The behaviors shown in Figs. 8 and9 were seen also in the case of the robots NB-R2 and NB-R3. However, it is not reported in this paper for the sake of space. Table 4 provides the total time to determine the workspace of the three analyzed robots using the ray-based method.

Figure 12 shows the robot configuration, black, and the linear Jacobian matrix singular vectors, magenta, for the NB-R2 robot in one point on its workspace boundary. The magnitude of the singular vectors tangent to the workspace boundary is differ- ent from zero, while the magnitude of the singular vector aligned to the robot configuration is zero. This means that the robot has lost one degree of freedom in the linear task space reaching a singular configuration. The end-effector can no longer move in the zero singular vector direction since it has reached the workspace boundary. The magnitude of at least one singular vector is always equal to zero on the points that compose the workspace boundaries of NB-R1, NB-R2 and NB-R3.

Finally, the performance of the method presented in this paper is compared to the Monte Carlo one. Figure 13 shows the NB-R2 workspace generated using the Monte Carlo method, i.e. generating random configurations. In the Monte Carlo case, 500, 000 random configurations were generated in 26 minutes. The upper external boundaries were correctly identified. However, the lower and internal boundaries are completely ignored and the real robot workspace can not be reconstructed. On the contrary, the proposed ray-based workspace determination algorithm can describe the correct workspace of NB-R2 in less than ten minutes using only 8064 of points. Table 4 compares the results of the ray-based and Monte Carlo methods for each robot. In all the cases, the ray-based performance are better. The computational time of the three robots using the Monte Carlo method is more or less the same since the process only requires generating random robot configurations and saving the end-effector positions. The NB-R1 and NB-R3 workspace graphs generated with the Monte Carlo method are not reported in this paper for the sake of space.

CONCLUSIONS

This paper presented a new algorithm for the workspace determination of robotic manipulators. The workspace determination process was evaluated on three kinematic redundant robots. However, it can be applied also to non-redundant manipulators. The proposed methodology is simple to develop and fast to run, each workspace took less than 10 minutes. It is not affected by computational redundancy, like Monte Carlo based methods, and identifies only the workspace boundaries. The performed tests emphasized the process ability to detect the complete workspace boundaries in a small amount of time. It always took less then ten minutes to produce one workspace. For the smaller robot, e.g. NB-R1, the process lasted almost two minutes. Moreover, the use of the kinematic optimization tasks allowed maintaining better kinematic configurations while moving and avoided getting stuck the manipulator in singular configurations inside the workspace. In the NB-R3 robot case, the generated map identifies the workspace inner boundaries with less accuracy. However, the workspace shape is perfectly identifiable from the obtained results. Furthermore, it is complex to automatize the identification of points that are contained or not inside the computed workspace, although it is easy visually. Finally, the results were compared with the ones obtained with a Monte Carlo method. The proposed ray-based workspace determination algorithm is faster, more accurate and requires less points than the Monte Carlo one. Future work will address the workspace determination for a specific end-effector orientation. This is important when planning the workpiece placement inside of the robot reachable area. Then, a workspace volume computation will be developed starting from the obtained boundaries to rate the robot abilities. Moreover, it will be necessary to develop a process for the interpolation of all the generated points in a surface. So, identifying the point reachability for the analyzed robot will be a faster process.

FIGURE 1 .

 1 FIGURE 1. NB-MODULE REPRESENTATION IN HOME POSE WITH ROTATION ANGLES[START_REF] Ginnante | Kinetostatic optimization for kinematic redundancy planning of nimbl'bot robot[END_REF]

TABLE 2 . 15 •

 215 ROBOT DESIGN DETAILS Design parameter Value NB-module half height r 0.07 m NB-module slope α Link lengths l 1 and l 2 0.2 m Offsets β 1 and β 2 -45 • has ten NB-modules and can be divided in three main regions: the shoulder (three NB-modules), the elbow (four NB-modules) and the wrist (three NB-modules). In total, it has twenty degrees of freedom. These three regions are connected by two links l 1 and l 2 of length equal to 0.2 m. The third robot, represented in Fig. 4, is organized as the second one, i.e., with ten NB-modules and two links. It is called NB-R3. So, it has twenty degrees of freedom too. However, two angular offsets β 1 and β 2 are inserted between the link l 1 and the first elbow NB-module and between the second link l 2 and the first wrist NB-module. The length of both the links l 1 and l 2 is equal to 0.2 m and the the offsets β 1 and β 2 equal to -45 • . Table

FIGURE 2 .

 2 FIGURE 2. ROBOT NB-R1 FORMED OF SIX NB-MODULES FIGURE 3. ROBOT NB-R2 FORMED OF TEN NB-MODULES PLUS TWO LINKS l 1 AND l 2

FIGURE 4 . 2 FIGURE 5 .

 425 FIGURE 4. ROBOT NB-R3 FORMED OF TEN NB-MODULES PLUS TWO LINKS l 1 AND l 2 AND TWO OFFSETS β 1 AND β 2

FIGURE 6 .

 6 FIGURE 6. REPRESENTATION OF THE NB-R1 WITH φ = 135 • AND DISPLACEMENT VECTORS APPLIED TO THE END-EFFECTOR POSITION ROTATED OF THE SAME φ . F 0 IS THE BASE FRAME, F 1 IS THE BASE FRAME ROTATED OF φ AROUND z 0 ≡ z 1 AND F E IS THE END-EFFECTOR FRAME.

FIGURE 7 .

 7 FIGURE 7. GENERATED POINTS DESCRIBING NB-R1 WORKSPACE. GRAPH ON LEFT SHOWS VERTICAL SECTION OF WORKSPACE IN yz-PLANE. GRAPH ON UPPER RIGHT SHOWS COMPLETE WORKSPACE. GRAPH ON LOWER RIGHT SHOWS INTERNAL BOUNDARY VIEW.

FIGURE 8 .

 8 FIGURE 8. INTERNAL BOUNDARY VIEW OF POINTS DE-SCRIBING NB-R1 WORKSPACE OBTAINED WITHOUT KINE-MATIC OPTIMIZATION. ORANGE LINES IDENTIFY POINTS RE-MAINED STUCK INSIDE WORKSPACE.

FIGURE 9 .

 9 FIGURE 9. POINTS DESCRIBING NB-R1 WORKSPACE OB-TAINED STARTING ROBOT JOINTS WITH ALL DIFFERENT RANDOM VALUES

FIGURE 10 .

 10 FIGURE 10. GENERATED POINTS DESCRIBING NB-R2 WORKSPACE. GRAPH ON LEFT SHOWS VERTICAL SECTION OF WORKSPACE IN yz-PLANE. GRAPH ON UPPER RIGHT SHOWS COMPLETE WORKSPACE. GRAPH ON LOWER RIGHT SHOWS INTERNAL BOUNDARY VIEW.

FIGURE 12 .

 12 FIGURE 12. ROBOT CONFIGURATION, BLACK, AND LINEAR JACOBIAN MATRIX SINGULAR VECTORS, MAGENTA, FOR NB-R2 IN ONE POINT ON ITS WORKSPACE BOUNDARY

FIGURE 13 .

 13 FIGURE 13. POINTS DESCRIBING NB-R2 WORKSPACE GEN-ERATED THROUGH MONTE CARLO METHOD. GRAPH ON LEFT SHOWS VERTICAL SECTION OF WORKSPACE IN yz-PLANE. GRAPH ON LOWER RIGHT SHOWS COMPLETE WORKSPACE.

TABLE 1 .

 1 DETAILS ABOUT TASK NAME, CATEGORY, TYPE AND HIERARCHY LEVEL IN END-EFFECTOR VELOCITY AC-TION A , SYMBOL (E) FOR EQUALITY CONTROL OBJECTIVE AND (I) FOR INEQUALITY.

	Task name	Category	Type A
	End-Effector Velocity action oriented	E	1 nd
	Dexterity	optimization	I	2 rd
	Manipulability	optimization	I	2 rd

TABLE 3 .

 3 IMPLEMENTATION DETAILS

	Variable	Value
	ε kinematic	10 -6
	ε velocity	10 -3 m/s
	t t	0.14 m/s

TABLE 4 .

 4 RESULTS FOR RAY-BASED AND MONTE CARLO METHODS IN WORKSPACE DETERMINATION

	Robot	Method	Number of points Total computational time	Result quality
	NB-R1	Ray-based	8064	2.1 min	All boundaries detected
		Monte Carlo	500,000	25 min	Lower and internal boundaries missing
	NB-R2	Ray-based	8064	9.3 min	All boundaries detected
		Monte Carlo	500,000	26 min	Lower and internal boundaries missing
	NB-R3	Ray-based	8064	7.0 min	All boundaries detected
		Monte Carlo	500,000	26 min	Lower and internal boundaries missing
	FIGURE 11. GENERATED POINTS DESCRIBING NB-R3
	WORKSPACE. GRAPH ON LEFT SHOWS VERTICAL SECTION
	OF WORKSPACE IN yz-PLANE. GRAPH ON UPPER RIGHT
	SHOWS COMPLETE WORKSPACE. GRAPH ON LOWER
	SHOWS INTERNAL BOUNDARY VIEW.

ACKNOWLEDGMENT

This work was supported by the ANRT (Association nationale de la recherche et de la technologie) grant CIFRE n • 2020/1051 and Nimbl'bot (https://nimbl-bot.com/).


Denis Berthier

An Ontology for Modelling Flexible Business Processes

Keywords: information system, business process, interoperability, agent, modelling, ontology

With the aim of developing information systems better fitted to the main challenges raised by globalisation, we propose an ontology for the modelling of interoperable and flexible business processes. We distinguish three types of Activities a Process can be made of: whereas Procedures are defined by a sequence of Tasks and Services by a Service Description, Interactions are specified by a Goal and ruled by a Social Convention. Correlatively an Actor can have three different Statuses: Performer, Provider or Agent.

I. INTRODUCTION

In the general context of globalisation and in a resulting highly competitive and rapidly changing world, information systems (IS) are facing two major tightly interconnected challenges: interoperability (IS of different institutions, or separately developped parts of the IS of the same institution, must communicate or even cooperate) and flexibility (IS must be able to be easily adapted to the frequent changes a reactive institution must make in its business processes).

In the last decades, the process view has been playing an increasing role both in organizational theories and in the IS area. Process modelling is recognized as a key element when representing the behaviour of an IS [START_REF] Curtis | Over: Process modelling[END_REF]; an IS process is considered to be an information oriented view of a business process [START_REF] Alter | Information Systems: A Management Perspective[END_REF]; and successful IS design starts with business process modelling [START_REF] Butler | Connecting the design of software to the design of work[END_REF]. However, most process models were initially motivated by operationnal processes and, based on the subsequent generic definition of a process [START_REF]CEN/CENELEC: ENV12204, Advanced Manufacturing Technology -Systems Architecture -Constructs for enterprise modelling[END_REF], they give a central place to the concept of an activity; moreover the way activities are considered in this classical context limits the reuse of process models and it hides the dimension of communication between the actors. But, this dimension tends to become more and more important as one needs to model more and more complex processes, which are also more and more interactive (project management, decision processes, innovation processes,…).

In previous work ( [START_REF] Berthier | Demourioux: Using the Agent Paradigm to Improve Business Process Modelling[END_REF] and [START_REF] Berthier | Enrichissement de la modélisation des processus métiers par le paradigme des systèmes multiagents[END_REF]), we explained why, when one wants to facilitate the modelling of business processes better fitted to the two challenges mentionned at the start, it is natural to take inspiration in the multi agent systems (MAS) paradigm and we reviewed some of the existing work in this direction ( [START_REF] Aurimaki | A speech-act-based office modeling approach[END_REF][START_REF] Butler | Connecting the design of software to the design of work[END_REF][START_REF] Castro | Towards requirements-driven information systems engineering: the Tropos project[END_REF][START_REF] Hoffner | An architecture for cross-organisational business processes, Advanced Issues of E-Commerce and Web-Based Information Systems[END_REF][START_REF] Kishore | Enterprise integration using the agent paradigm: foundations of multi-agent-based integrative business information systems[END_REF][START_REF] Mentzas | Modelling business processes with workflow systems: an evaluation of alternative approaches[END_REF][START_REF] Paik | Intelligent agent to support design in supply chain based on semantic web services[END_REF][START_REF] Wagner | The Agent-Object-Relationship Metamodel: towards a unified view of state and behavior[END_REF][START_REF] Weigand | Cross-organizational workflow integration using contracts[END_REF]). We also developed the first sketch of an ontology, represented as an UML metamodel, coherent with classical approaches (in the sense that it is an extension of them) such as described in [START_REF] Morley | Processus métiers et systèmes d'information[END_REF].

The present paper aims at being as self sufficient as possible. Part II gives a general overview of the ontology. Part III distinguishs three types of Activities a Process can be made of: whereas Procedures are defined by a sequence of Tasks and Services by a Service Description, Interactions can be specified by a Goal and ruled by a Social Convention; correlatively, we distinguish three Statuses an Actor can have: Performer, Provider and Agent. Part IV concentrates on what are probably the most significant concepts of this paper for flexible IS: the concepts of an Interaction and of a Social Convention, that allow for much flexibility.

Conventions used troughout the paper: 1) in order to differentiate them from the same words used with their natural meanings, formal concepts introduced in our ontology are consistently written with capital letters; 2) where it is defined (which may not be the first time it appears in the text), a concept of our ontology is in bold fonts; of course, this does not mean that definitions are independent of each other; 3) unless otherwise stated (arrows on the arcs), UML graphs are read from left to right and from top to bottom.

II. GRAPHICAL REPRESENTATION OF OUR ONTOLOGY

In our ontology, the notion of a Process occupies the highest level. In the most classical tradition 1 , we consider it as a coordinated set of interoperating Activities, which are assigned to Actors; a Process is motivated by a Purpose, the full meaning of which resides at the organization level, where it corresponds to strategic orientations of the institution. An Actor is an active element (human being, organizational entity or software component) involved in some of the Activities of a Process (we therefore assume from the start a distinction between active elements and passive ones -that can be input or outpout to processes, resources, …). An Actor can be internal or external to the institution and a Process can be executed by one or several Actors.

We distinguish three different types of Activities, with three corresponding different Statuses for the Actors involved in them. The Status is related to the kind of autonomy expected from the Actor while he performs this Activity; it should not be confused with the much more specific notion of the Role(s) an Actor can have in some Activity(ies) (see later). A given Actor can have multiple Statuses if he participates in Activities of various types: this should allow for more flexibility in the organization of the institution. Finally, a special fourth Status for an Actor is introduced: Pilot; a Process has a unique Pilot, in charge of its management.

Before entering into more details, let us display our ontology in the UML "metamodel" of Fig. 1 (next page).

III. ACTIVITIES AND ACTORS

A. Type of an Activity: Procedure, Service or Interaction

A.1 Procedure

A Procedure is a kind of Activity defined by the Tasks it is composed of. Generally, it is an ad hoc Activity, designed for a specific Process, and it has therefore very low reusability. The Tasks sequence (including possible predefined variants) of a Procedure may be specified by an UML sequence diagram or by a task graph or by a Petri net. An Actor to whom a Procedure is assigned has (in the context of this Activity) the Status of a mere Performer: he has no autonomy for modifying this Procedure.

Procedures are adapted for the modelling of operational Processes; they are not adapted for more complex Processes.

A.2 Service

An Activity of type Service is described by a Service Description. An Actor who provides a Service has (in the context of this Activity) the Status of a Provider. In the context of the Process being modelled, an Activity of type Service is not supposed to be described with more detail than: 1) what is specified by its Service Description, 2) the designation of the Provider responsible for providing it (he can be internal or external to the institution) and 3) the Contract to which this Provider is submitted. The Service Description enunciates fixed constraints, that are definitory of the Service. The Contract defines constraints specific to a given instance of the Service and the Provider, that can vary from one instance to another (delays for deliverables, prices,…). A typical example of a Service, in case it is a software component, might be a Web service (in which case, the Service Description might ultimately, at the technical level, be formalized in the WSDL language). Notice that, even though he has no option for modifying the Service Description, a Provider has much more autonomy than a Performer: he is totally responsible for the means and the methods he uses to provide the Service and satisfy his Contract. A Service is thus the analogue of a black box.

A.3 Interaction

An Interaction is an Activity defined by its unique Goal (we insist on uniqueness -see further on for explanations); this unique Goal can be satisfied only with the participation of several Actors, whose Statuses are then that of Agents. Although an Interaction is not specified procedurally by rigid Tasks that would define it in detail, it is nevertheless constrained by an organizational framework, i.e. the actions of the various participating Agents are regulated, both externally and internally: -externally: since the Interaction occurs, as any other type of Activity, in the framework of a given Process, it is steered via Steering Indicators (for instance: a planning of deliverables, indices of quality for the output of the Interaction,…), that will be checked by the Pilot of the Process;

-internally: the relationships and interactions between the Agents participating in the Interaction are defined, in a way that allows for much flexibility, via the concept of a Social Convention, which will be discussed in section IV.C.

The concept of a Goal allows to describe some finality, more limited than the finality attached to the concept of a Purpose (at the level of the Process). Given the Purpose of the Process, the various Activities that compose it and the various Goals associated to Interactions in it correspond to a first level of choice in the way the Process definition can be elaborated so as to reach this Purpose.

The Goal of an Interaction defines fixed general constraints common to any instance of the given lnteraction. Nevertheless, contrary to a Service Description that strictly defines the expected result, a Goal can be much less precise. For instance: the Goal of Interaction "prepare an answer to a call for proposal" is not of the same nature as the Service Description "manage invoices"; it leaves open lots of possibilities and it grants the participating Agents much more autonomy (both individual and collective) than a Provider can have.

A Goal characterizes both an Interaction (an Interaction aims at reaching a Goal) and the participating Agents (a group of Agents is collectively able to reach a Goal). It should be noted that, since an Interaction is entrusted to a group of Agents, the (unique) Goal that such an Activity aims at is the Goal common to this group as a whole. The way this common Goal is decomposed into subgoals, the way those are assigned to the participating Agents and the way all this is coordinated by the Notice that (this is a classical result) a group of Agents having a common goal means much more than each Agent having this goal as its individual goal 2 [START_REF] Bauer | UML 2.0 and agents: how to build agent-based systems with the new UML standard[END_REF]. In particular, having a common goal supposes that various mutual beliefs must be held and that various types of communication, coordination and cooperation must take place for the group to reach the goal.

B. Status of an Actor: Performer, Provider, Agent or Pilot

As in the classical conception, an Actor is an active element that may play a role in the definition and the unfolding of a Process. Once the Activities of a Process have been defined, they are assigned to Actors. An Actor can be internal or external to the institution, and a Process can thus be executed by several cooperating partners. 2 This must be compared with the no less classical result in logic that a proposition P being a common belief of a group means much more than each element of the group believing P individually [START_REF] Dupuy | Introduction aux sciences sociales, Logique des phénomènes collectifs[END_REF].

To the three types of Activities correspond three different possible Statuses for an Actor: Performer, Provider or Agent. Whatever his Status, an Actor can be a human person, a group of such persons, an organizational entity or a software component; our description at the organization level makes no difference as to this point.

Hereafter, we give some typical examples of how an Actor (in the Process model at the organization level) with a given Status can be implemented at the technical level (if it has been decided that it should be a software component), but this does not imply that there should be a systematic correspondance. For instance, for lots of reasons, there may be cases when an Agent will actually be implemented by techniques of lower level than allowed by MAS or AI.

A Performer is defined as an Actor with no autonomy: he is expected to accomplish the Tasks assigned to him in total conformance with their procedural description. He necessarily belongs to the institution (because an institution is not supposed to have control on how things are done ouside).

A Provider is defined as an Actor with total autonomy relative to how he manages to provide the Servie defined by the Service Description, as far as he also satisfies the further constraints specified in its Contract. His autonomy is an autonomy of means, not of goals. A Provider is typically external to the institution; but it may also be an internal department, providing some peripheral services (mailing department, accounting department,…).

An Agent is defined as an Actor with the ability to execute Activites in an "autonomous" way, i.e. he is not told how to operate, but only which Goal he must contribute to reach within an Interaction; even his contribution in the Interaction may be formulated in very general terms. Thus, although the autonomy of an Agent is not a full autonomy of its goals, it is not only a mere autonomy of means, as is the case for a Provider. An Agent can be internal or external to the institution (since the institution is entitled to have some control on the Interaction via the Steering Indicators and via the final satisfaction of the Goal). Given the autonomy implicit in the notion of an Agent, in case one (or several) of the Agents participating in an Interaction is a software component, its implementation at the technical level may require MAS and/or AI techniques.

A special Status is introduced as a fourth posibility, that of a Pilot. Whereas the first three Statuses where attached to Activities, the Status of a Pilot is attached to the Process as a whole. This Actor is unique for each Process; he is in charge of managing the Process (it is highly unlikely that such a Status can be granted to a software component in the near future).

IV. SOCIAL CONVENTION

A Social Convention is a set of clauses that regulate the communication, coordination and cooperation among the Agents participating in an Interaction in order to reach its Goal. It is a set of rules and constraints that tie these Agents together in the context of this Interaction -excluding rules specific to each Agent's internal behaviour (such as his reasonning processes, his personnal motives,…). A Social Convention thus defines constraints internal to the Interaction (whereas external constraints are taken care of via the Steering Indicators). Much more flexible than a Procedure, a Social Convention has therefore much more reusability. Moreover, it grants the participating Agents much more autonomy.

The concept of a Social Convention is a very general one, which can have many specializations. What follows has no claim to exhaustivity.

A. Standard Conversation

A seemingly degenerate case of a Social Convention is a Standard Conversation.

In a Standard Conversation, the communication events between the participating Agents are strongly guided, although the actions they have to accomplish between these events may be very complex and require much autonomy on their part. This concept is interesting for discussing a potential diffculty of our approach and for precising the limits of our "inspiration from the MAS paradigm". With such inspiration, it might be tempting to rely on the notion of a Standard Conversation as it is standardized by FIPA (Foundation for Intelligent Physical Agents, the international association in charge of standardizing MAS). For FIPA, a standard conversation can be defined starting from the more elementary concept of a message:

-either as an ad hoc graph of the possible sequences of messages between agents, using for instance AUML diagrams (Agent UML, an extension of UML -see [START_REF] Bauer | UML 2.0 and agents: how to build agent-based systems with the new UML standard[END_REF]); -or by chosing among a list of standardized communication protocols such as: Contract-net, English-auction, Brokering, cfp (i.e. call for proposal), … (where each protocol is predefined with AUML diagrams).

But we consider it would be a major failure for us if we had to define a Standard Conversation in this way. The concept of a message, as it appears in so central a position in the MAS paradigm is much too "atomic" to mean anything at the organization level. We want the organization level concepts to appear directly in our ontology with no reference to concepts of lower levels. Concretely, one can specify the notion of a call for proposal (for instance) without having to specify in detail all the possible paths such a conversation can follow (if needed, such detail can be added in subsequent modelling phases).

Therefore, we posit in our ontology a Standard Conversation as a subtype of an Interaction. We think that some of the FIPA standard conversations can be abstracted from their technical definition in terms of sequences of messages and asserted in our ontology as specializations of the concept of a Standard Conversation.

Notice that, although a Standard Conversation might look like a Procedure, there is a major difference: a Procedure is decomposed into Tasks, that are in turn decomposed into Tasks,… In a Standard Conversation, what is defined with some rigidity is only the possible sequences of communication events between Agents. Neither the internals of each Agent's activities between such events nor the exact content of their outputs is specified.

For instance, in a cfp (call-for-proposal) Standard Conversation, the initiator of the conversation issues a call for proposal. An Agent may answer with a proposal. But, in between, he may have very complex activities, supposing a great deal of autonomy, to elaborate his answer (see IV).

B. Social Conventions based on roles

Some Social Conventions can be based on the attribution of specific roles to each participating Agent (one could posit a Role-Based-Social-Convention as a general subtype of Social-Convention). Consider again the following typical case of an Interaction: "prepare an answer to a call for proposal". Assume the participating Agents are the Commercial Department, the Technical Department and the Legal Department. In a company, when preparing such an answer, each of these (institutionnal) Agents naturally assumes one or more specific roles in its contribution, corresponding to its competencies. Moreover, there is naturally a special role for internal coordination of the Interaction, which will typically be assumed by the Commercial Department, in addition to its purely commercial role. This last role must be distinguished from the Status of the Pilot of the Process; the coordinator of the Interaction will generally be responsible for interacting with the Pilot of the Process. Defining the associated Social Convention of this example consists in part in formalizing all these natural roles.

each participating Agent has a fixed role in it, the Interaction cannot be defined by a fixed sequence of actions from them. This is a main difference with a Standard Conversation.

The actual actions will be determined dynamically from the Goal. For instance, the Technical Department may be confronted to a major difficulty that requires lots of work to assess the feasability (by its company or by subcontractors) of some parts of the requirements.

C. Social Conventions in general

More generally, a Social Convention can be based on a large panel of social interaction models: negociation, game theory, planification, free collaboration between agents, remuneration of the agents according to certain economical models,… In practice, in an IS, Social Conventions will be more restrictive and more specific than such general models.

In our example "prepare an answer to a call for proposal", in addition to the attribution of a specific role to each agent as in section III.B, a Social Convention might specify that whenever a participating agent finds that he won't be able to fulfill his part of the job in time, he must warn the others immediately (and not let them discover it at the last moment); to whoever this seems too obvious to be explicited: have you have ever worked in collaboration? A Social Convention might also specify the format in which the results of each agent are delivered to the others, so as to minimize subsequent assembly work. More generally, it may refer to general rules of the institution.

These simple examples show that there is a link between the notion of a Social Convention and what has been elaborated for now three decades under the name of Quality Management.

Many "quality procedures" are not actual procedures, but rules implicitly describing how various participants must cooperate to reach a common goal.

A Social Convention also defines, in a more or less direct way, the degree of autonomy of the participating Agents; actually, it is only through this concept that the notion of autonomy, that we have until now used in a very vague manner, can acquire a precise meaning: the autonomy degrees of the various Agents participating in an Interaction are defined by the Social Convention that rules their social behaviour.

There is currently a lot of research activity on social organization of agents in MAS. Simply listing them would require a full paper. Just as a brief illustration of the notion, let us cite Jennings GRATE* model ( [START_REF] Jennings | Cooperation in Industrial Multi-Agent Systems[END_REF]). Jennings distinguishes several levels on which the various clauses of a Social Convention can bear: -a set of rules for information communication between the Agents and for assessing the advancement of a common action plan: 1°) what type of information each agent must exchange with which other agents, in which conditions (for instance in a reactive or proactive way); 2°) what kind of reporting he has to do, to whom, when; 3°) what kind of tasks he can delegate, to whom, in which conditions. Such a convention may be enough in a hierarchically organized system, when tasks planning and delegation is done from the top (when there is no cooperation to build an action plan).

-a set of rules defining how the commitments of the participating agents (towards common goals, plans, distribution of tasks, planning,…) can be taken, re-assessed or dropped.

V. CONCLUSION

We have proposed a general purpose ontology for modelling flexible and interoperating business processes. On the theoretical side, it defines the top level elements of a modelling language, in words that have a meaning for the organization and its managers. Given the vagueness or the non standardization of the vocabulary in the domain, one should not underestimate the usefulness of having precise definitions for all the terms we use. But is is also important on the practical side, since this ontology becomes a guide for the analyst when he tries to model (or to re-enginner) a business process: one of the first very concrete choices he must make, for every Activity, is: will it be described in a classical procedural way, like a strictly organized set of Tasks, or as a Service or as an Interaction? Thus, our ontology introduces several new practical facilities for the modelling of processes:

-Inter-organizational processes: one can represent Processes resorting to Services that are external to the corporation. Such an Activity entrusted to an external Provider will not be descri-bed by detailed Tasks, but only by its Service Description and by the Contract with the Provider. This case typically includes such examples as Web Services and e-commerce.

-Modelling "systemic" ( [START_REF] Vidal | Coordination des actions organisationnelles et modélisation des processus[END_REF][START_REF] Melão | A conceptual framework for understanding business process and business process modeling[END_REF]) processes: our ontology allows modelling Processes some parts of which are not structured with precise Tasks, but in which Agents can communicate and cooperate freely within the limits of their only constraints: their Goal, their Social Convention and their Steering Indicators. This is another element for building flexible Processes.

In this last case, it seems that we have specified only the "static" part of our ontology. For Interactions, one of the main problems is specifying their dynamics; at the level of detail of this paper, it may seem that our model is of little help and we still have to resort to the classical representations: UML activity or sequence diagrams, A-UML ( [START_REF] Bauer | UML 2.0 and agents: how to build agent-based systems with the new UML standard[END_REF]), Petri nets, BPML (Business Process Modelling Language: a language based on finite state automata, that now tends to be supplanted by BPEL4WS ),… Nevertheless, the concepts of a Goal and of a Social Convention may open the door to alternatives to such semi-graphical representations -which are often very cumbersome for complex processes. For instance, for specifying complex interactions, one could use a rule or a constraint language. On the technical side, the point behind such possibilities is that, in the agent paradigm, as the communicationnal aspects of the agents are based on the pragmaticolinguistic speech acts theory, they are at a level of abstraction strongly coherent with the possibility of providing these agents with "cognitive" aspects, in the sense of Artificial Intelligence (AI). That such an approach is feasible has already been illustrated by Jennings [START_REF] Jennings | Cooperation in Industrial Multi-Agent Systems[END_REF] in a technical domain. We have not yet evocated the "cognitive" aspects of the agents, because they have become very classical. Given this coherency at the technical level, both aspects can be consistently transposed at the organization level of interest in this paper, combining our ontology with Newell's notion of a knowledge level and with any of the subsequent modelling techniques of AI (such as KADS: [START_REF] Schreiber Guus | KADS: A Principled Approach to Knowledge-Based System Development[END_REF], [START_REF] Joost | CommonKADS Library for Expertise Modelling[END_REF]).

Figure 1 :

 1 Figure 1: UML representation of our ontology

"A process is a partially ordered set of activities of a business executed so as to reach a business goal" ([START_REF]CEN/CENELEC: ENV12204, Advanced Manufacturing Technology -Systems Architecture -Constructs for enterprise modelling[END_REF]).