László Toka
email: laszlo.toka@enst-bretagne.fr

Patrick Maillé
email: patrick.maille@enst-bretagne.fr

Managing a Peer-to-Peer Backup System: Does Imposed Fairness Socially Outperform a Revenue-Driven Monopoly?

Keywords: Peer-to-peer networks, economics, incentives, pricing

We study a peer-to-peer backup system, where users offer some of their storage space to provide service for the others. The economic model for such a system is different from the ones applicable to peer-to-peer file sharing systems, since the storage capacity is a private good here. We study two mechanisms aimed at incentivizing users to offer some of their capacity: a price-based scheme (here a revenue-driven monopoly) and a more classical symmetric scheme (imposing users to contribute to the service at least as much as use it). We compare the outcomes of such mechanisms to the socially optimal situation that could be attained if users were not selfish, and show that depending on user heterogeneity, a revenue maximizing monopoly can be a worse or a better (in terms of social welfare) way to manage the system than a symmetric scheme.

Introduction

With the convergence of fixed and mobile telecommunication systems, all kinds of digital documents (e.g. videos and audio files, e-mails) are likely to be accessed by different types of devices (mobile phone, personal computer, mp3 player). The storing of all those then documents raises several questions: should there be only one storing location? If so, what happens in case of a crash? If not, how to update documents between several locations? Will it be simple to transfer a document from a storing location to a given device?

In this paper, we suggest that those problems be addressed via a distributed storing system working in a peer-to-peer (P2P) way: using a P2P network infrastructure, a (ciphered) copy of each user's data is stored into the hard drives of other participants in the network. As in peer-to-peer (P2P) file sharing networks, each participant is consequently at the same time a service user and a service provider. Such a service presents a lot of advantages in terms of reliability (data replication within the system provides a protection against failures) and ease of access (each user can access his data from any device connected to the network).

A peer-to-peer backup system has already been proposed and studied in [START_REF] Batten | pStore: A secure peer-to-peer backup system[END_REF], that introduces pStore, a secure distributed backup system based on an adaptive P2P network. pStore exploits unused personal hard drive space attached to the Internet to provide the distributed redundancy needed for reliable and effective data backup. Moreover, support for file encryption, versioning, and secure sharing is provided. Nevertheless, no study on how users would react to such a system is carried out. This paper intents to investigate that particular issue.

Indeed, it seems reasonable to us to assume that each user is selfish, i.e. is only sensitive to the quality of service she experiences, regardless of the effects of her actions on the other users. The framework of Game Theory [START_REF] Fudenberg | Game Theory[END_REF] is therefore particularly well-suited to study that kind of interaction among agents: the situation is then studied as a non-cooperative game played among users, where a user strategy is the amount of memory capacity offered to provide service to the other users and the amount of data she stores into the system. Notice that as for other peer-to-peer (P2P) applications, a user valuation for the service depends on the "generosity" of the other users: each user benefits from the others' shared capacity. However, there is no direct incentive to offer one's own capacity to the others, and users are then incentivized to free-ride [START_REF] Adar | Free riding on gnutella[END_REF], i.e. benefit from the service without contributing to it: if the sharing efforts do not get some kind of proof of appreciation, nobody has interest to cooperate and the service cannot exist. Therefore it is necessary that some incentive mechanisms be properly designed for the service to actually exist and be valuable for users.

For P2P file sharing systems, there is growing evidence of that need for incentives. For instance, one study of the Gnutella file sharing system showed that almost 70% of the peers only consume resources but do not provide any files [START_REF] Adar | Free riding on gnutella[END_REF]. The problem of incentivizing users to contribute in such systems has been the subject of extensive research [START_REF] Anagnostakis | Exchange-based incentive mechanisms for peerto-peer file sharing[END_REF][START_REF] Cohen | Incentives build robustness in bittorrent[END_REF][START_REF] Golle | Incentives for sharing in peer-to-peer networks[END_REF][START_REF] Lai | Incentives for cooperation in peer-topeer networks[END_REF][START_REF] Vishnumurthy | Karma: A secure economic framework for peer-to-peer resource sharing[END_REF].

On the other hand, the existing literature on P2P backup systems mainly focuses on security, reliability and technical feasibility issues [START_REF] Druschel | PAST: A large-scale, persistent peer-to-peer storage utility[END_REF][START_REF] Lillibridge | A cooperative internet backup scheme[END_REF], whereas the incentive aspect received little attention. Notice also that the economic models developed for P2P file sharing systems do not apply to P2P backup services: in file sharing systems, when a peer provides some files to the community, she contributes to the whole system in terms of accessibility. This means that the resource is not dedicated to a certain number of users, but is offered to all the rest of the peers, and in that sense the information stored in the P2P network is a public good. On the contrary, a P2P backup system operates on non-divisible resources, i.e. a certain disk space belongs to one given user (for the time being) and no other peer can access it. The storing resource available on the network is then a private good, and it cannot be managed the same way as a public good from an economic point of view.

The existing models for P2P backup services focus on solutions that do not require financial transactions. Therefore the counter payment for a given service is usually the service in question as well. This approach finally leads to a symmetric scheme where every peer should contribute to the system in terms of service at least as much as she benefits from others [START_REF] Cox | Pastiche: Making backup cheap and easy[END_REF][START_REF] Cox | Samsara: Honor among thieves in peer-to-peer storage[END_REF][START_REF] Stefansson | MyriadStore[END_REF].

The incentive part of the scheme proposed in [START_REF] Lillibridge | A cooperative internet backup scheme[END_REF] relies on the use of a "probation" period, during which a peer must prove herself reliable before benefiting from the system. A very strict policy based on quotas is suggested in [START_REF] Dabek | Wide-area cooperative storage with CFS[END_REF]: each peer (identified by her IP address) cannot insert more than a given amount of data into the system. Likewise, the distributed accounting infrastructure proposed in [START_REF] Ngan | On designing incentivescompatible peer-to-peer systems[END_REF] proceeds by simple exclusion of non-cooperating peers from the system, that are detected via an audit.

In this paper, we investigate more flexible solutions, that could still provide peers with incentives to contribute to the system. We focus on the performance of incentive schemes. We propose to study and compare two types of incentive mechanisms that have been suggested in the literature in other -but linked -contexts, like file sharing systems, connection sharing systems, and ad hoc networks: some of those schemes rely on monetary incentives, and some others are based on service degradation for users who do not contribute enough to the service. A particular instance of each type of scheme is considered, and their effects on the overall social welfare are weighted for the particular context of the P2P backup service.

The paper is organized as follows. The model we consider for user preferences is depicted in Section 2, where we also study the maximum reachable value of social welfare yielded by the service. A strict symmetry-based scheme is studied in Section 3, and schemes implementing pricing are investigated in Section 4. The performance of those schemes in terms of social welfare are compared in Section 5. Section 6 presents our conclusions and directions for future work.

Model

In this section we describe the model we consider in this paper. We first introduce utility functions that represent user preferences and the decision variables that constitute user strategies. Then we consider the "ideal" situation where users would not behave selfishly and act so as to maximize the total system performance (social welfare). That ideal situation will be used in the next sections as a reference to study incentive schemes.

Note that in this paper, we say that the amount of storage space that is necessary to safely store some data in the system equals the size of those data. This is done without loss of generality: assume that the system introduces a redundancy factor r to improve the data availability on the system, then this is equivalent to replacing C s i by C s i /r in the user cost functions, or equivalently to replacing C o i by rC o i in the user valuation function (remark that prices have a different interpretation depending on that choice: they are per unit of physical capacity in the former case, and per unit of "sufficiently available" capacitytaking into account the redundancy -in the latter).

User Utility Function

We provide here a model for user preferences. The user set is denoted by I, and the perceived utility for a user i ∈ I offering capacity C o i , storing an amount C s i of data in the system and paying a total charge π i should be a decreasing function of C o i and an increasing function of C s i . We suggest to use a separable additive function of the utility perceived by a user i, as described in the following definition.

Definition 1. The utility

U i of a user i ∈ I is of the form U i (C o i , C s i , π i ) = V i (C s i ) -P i (C o i ) -π i , ( 1
)
where

-V i (C s i
) is the valuation of user i, i.e. the price she is willing to pay to store an amount C s i of data in the system. In this paper we will assume that V i (•) is positive, continuously differentiable, increasing and concave in its argument, and that V i (0) = 0 (no service yields no value).

-P i (C o i )
is the opportunity cost of user i for offering capacity C o i to the system, i.e. it is the price that she is willing to be paid to devote C o i of her disk space to provide service. We assume that P i (•) is positive, continuously differentiable, increasing and strictly convex, and that P i (0) = 0 (no contribution brings no cost).

From the valuation and cost functions, we can be derive (by differentiation and taking the inverse functions) two other functions.

Definition 2. For a user i ∈ I, we call demand function (resp. supply function) the function d

i (•) (resp. s i (•)) such that for all p ∈ R + , d i (p) := (V i ) -1 (p) if p ≤ V i (0), 0 otherwise. ( 2
)
s i (p) := (P i ) -1 (p) if p < lim q→+∞ P i (q), +∞ otherwise, ( 3
)
where f stands for the derivative function of function f . For a given p ≥ 0, d i (p) (resp. s i (p)) is the amount of storage capacity that user i would choose to use from (resp. to offer to) the others if she is charged (resp. paid) a unit price p for it.

Remark that, as intuitively expected, the demand (resp. supply) function is nonnegative and decreasing (resp. increasing) in the unit price.

To carry out a deeper analysis in the next sections, we will assume that the demand functions are of the same form for all users, and only differ through a multiplicative constant. Likewise, we make the same assumption regarding the supply functions.

Assumption A (Common form of supply and demand functions)

There exist a nonnegative and nonincreasing "common" demand function d(•), and a nonnegative and nondecreasing "common" supply function s(•) such that for all user i ∈ I there are positive real values a i and b i which satisfy

d i = a i × d ( 4
)
s i = b i × s (5)
Moreover,

-d(0) > 0 and s(0) = 0 -d(•)
is strictly decreasing while it takes strictly positive values.

s(•) is strictly increasing (eventually up to a point after which it is constant).

Notice that the same kind of assumption (i.e. same form of utility functions for all users) is made in [START_REF] Courcoubetis | Incentives for large peer-to-peer systems[END_REF] in the framework of a P2P file sharing system, for user valuation functions. Some of our results in the next sections are established for linear demand and supply functions d and v.

Assumption B (Affine demand and supply functions)

-The common demand function d is affine. More precisely, there exists p > 0 such that d(p) = [pp] + , where for y ∈ R, y + = max(0, y). -The common supply function s is linear, i.e. s(p) = p.

Under Assumptions A and B, the demand and supply functions of a user i express as follows:

d i (p) = a i [p -p] + , ( 6
)
s i (p) = b i p. ( 7
)
This corresponds to quadratic functions for the valuation and cost functions:

V i (C s i ) = 1 a i - (C s i ∧ a i p) 2 2 + a i p (C s i ∧ a i p) ( 8
)
P i (C o i ) = 1 b i C o i 2 2 , ( 9
)
where ∧ denotes the min. Finally, we will sometimes consider the following assumption in the case of a large number of users.

Assumption C. Under Assumption A, the values a i (resp. b i ) of all users i ∈ I are independent and identically distributed. Moreover, a i and b i are independent.

Social Welfare

A user can choose her own strategy by varying her C s i and C o i parameters 1 . In this subsection we define social welfare, which will be used later as a performance measure to compare different incentive schemes. Definition 3. We call social welfare (or welfare) and denote by W the sum of the utilities of all agents in the system:

W := i V i (C s i ) -P i (C o i ). ( 10
)
Notice that no prices appear in [START_REF] Lillibridge | A cooperative internet backup scheme[END_REF]. This is because even if we consider a payment-based incentive scheme, we choose to include in social welfare all system agents, eventually including the entity that receives (or gives) payments. The utility of this entity would be its revenue, and all money it exchanges with the users would stay within the system and therefore does not influence social welfare.

Let us have a look at the "optimal" situation that the system can attain (in terms of social welfare maximization). The problem expresses max

C s i ,C o i i V i (C s i ) -P i (C o i ) , (11)
subject to C o i ≥ 0, C s i ≥ 0 for ∀i, and

i C o i ≥ i C s i . ( 12
)
This is a classical convex optimization problem, that can be solved by the Lagrangian method.

-The first order conditions imply that for all i ∈ I, P i (C o i ) = p and V i (C s i ) = p, where p ≥ 0 is the Lagrange multiplier relative to the feasibility constraint [START_REF] Cox | Samsara: Honor among thieves in peer-to-peer storage[END_REF].

-The complementary slackness condition writes min

[p, i (C o i -C s i )] = 0.
Moreover, p must be strictly positive: otherwise the first order conditions give C o i = 0 and C s i > 0 for all i, violating the feasibility constraint [START_REF] Cox | Samsara: Honor among thieves in peer-to-peer storage[END_REF]. We therefore obtain

C s i = d i (p * ) , C o i = s i (p * ) , ( 13
)
where p * is the (unique) solution of

i s i (p * ) -d i (p * ) = 0, (14)
and the optimal value of the social welfare is then

W * = i∈I V i (d i (p * )) -P i (s i (p * )). ( 15
)
Figure 1 (displayed in Section 4) gives a graphical interpretation of the maximum social welfare that can be attained by the system. Notice that the Lagrange multiplier can be interpreted as a unit price: if users buy the resource at unit price p * , and sell their available disk capacity at the same unit price, then the selfish user decisions drive the system to the welfare maximizing solution.

The following result considers our particular assumptions.

Proposition 1. Under Assumptions A and B, the maximal value W * of social welfare is

W * = 1 2 p2 i a i i b i i (a i + b i ) . ( 16
)
Proof. From ( 14), we get the social welfare at the ideally fine-tuned unit price:

p * = p i a i i a i + b i . ( 17
)
Therefore we have C o i = b i p * = p bi j∈I aj j∈I ai+bi and C s i = p ai j∈I bj j∈I aj +bj , which gives, after some simplifications,

W * = 1 2 p2 i a i i b i i (a i + b i ) , ( 18
)
and establishes the proposition.

We therefore have a characterization of the optimal solution. However, as pointed out in the introduction, user selfishness does not lead to this optimal situation when users are not incentivized to offer service to the others. Actually, the unique Nash equilibrium of the game without incentives corresponds to the situation where C o i = 0 for all i, and the associated social welfare is 0. In the rest of the paper, we investigate two kinds of incentive schemes, and study their performance in terms of social welfare. We first consider mechanisms without pricing, that simply impose users to provide at least as much memory space as the amount they intend to use (most of the existing related works support this kind of fairness providing approach). Then we turn to paymentbased incentive mechanisms where users have to pay for using the service and are paid if they contribute. We finally compare the outcomes of those schemes in terms of social welfare, for some particular types of valuation and cost functions. Since for the two schemes under study the optimal situation cannot be reached in general, we measure the loss of welfare of those schemes with respect to the maximum value.

Performance of Schemes Imposing Symmetry

In this section, we follow the ideas suggested in the literature for schemes without pricing. As evoked in the introduction, the principle of those schemes is that users are invited to contribute to, at least as much as they take from, the others. Each user i then chooses C o i and C s i so as to maximize

V i (C s i ) -P i (C o i ), subject to C o i ≥ C s i . As P i (•) is increasing in C s i ,
C s i = C o i = C * i where V i (C * i ) -P i (C * i ) = 0. ( 19
)
Under our specific assumptions on demand and supply functions, the value of social welfare for such a scheme can be derived: Proposition 2. Under Assumptions A and B, the ratio of the social welfare for the symmetric scheme W sym to the maximum social welfare W * is

W sym W * = 1 i a i + 1 i b i i 1 1 ai + 1 bi . ( 20
)

Moreover, under Assumption and C, this ratio converges as the number of users tends to infinity

W sym W * ----→ |I|→∞ 1 E[a] + 1 E[b] E 1 1 a + 1 b (21)
Proof. We straightforwardly obtain that for all i, C o i = C s i = p aibi ai+bi . The corresponding social welfare is then W sym = 1 2 p2 i∈I aibi ai+bi , and (20) then comes from Proposition 1. The law of large numbers gives (21).

As f : x, y → 1

Performance of Pricing Mechanisms

In this section, we study the influence of introducing a specific pricing scheme for incentivizing users to offer storage capacity, and preventing them from using more capacity than what is available. We consider a simple mechanism: contributors are paid p o per unit of storage capacity they offer to the system, and service users are charged a unit price p s when they store their data onto the system. Such a mechanism offers users the choice to act as a pure consumer, as a pure service provider, or to both contribute to and benefit from the service. Remark that we will not try here to avoid the presence of a central authority or clearance service: as the model aims to give hints for a commercial application, it is reasonnable to consider the existence of such an entity.

The amount that user i will be charged (this amount can be negative, in which case the user gets paid) is consequently

π i = p s C s i -p o C o i . ( 22
)
We analyze the model as a full information game, i.e. we assume that the entity that operates the service (the operator) has perfect knowledge of the users and their valuation and cost functions. Therefore, knowing that users will act so as to maximize their utility, it can predict user reactions, and drive the outcome of the game to the most profitable situation for itself. In this sense, the operator acts as the leader of a Stackelberg (or leader-follower) game [START_REF] Fudenberg | Game Theory[END_REF]. We investigate two possibilities: either the coordinator aims at maximizing the user surplus, or it is a revenue-driven monopoly that chooses prices so as to maximize its revenue. In both cases, the feasibility constraint ( 12) must be satisfied.

Welfare-Maximizing Operator. From our study in subsection 2.2, the theoretically highest level of social welfare can be attained by a payment based scheme. In fact it is reached when the selling and buying prices are the same and equal p * (see [START_REF] Dabek | Wide-area cooperative storage with CFS[END_REF]). In that case the operator monetary surplus is null: the operator has no income at all and just acts as a coordinator that redistributes money among users.

Profit-Oriented Monopoly. In this subsection, we assume that the monopoly strives to extract the maximum profit out of the business. The operator therefore faces the following maximization problem.

max p s ,p o p s i d i (p s ) -p o i s i (p o ) , (23)
subject to p s ≥ 0, p o ≥ 0 and the constraint (12) that writes

i s i (p o ) ≥ i d i (p s ).
This problem is hard to solve for general utility functions, and even under Assumption A since it is not a convex problem. We therefore consider the case where Assumption B holds.

Proposition 3. Under Assumptions A and B the performance ratio of the social welfare for a profit-maximizing monopoly W mon to the maximum social welfare

W * is W mon W * = 3 4 . ( 24
)
Proof. Under Assumptions A and B, the profit maximization problem becomes a convex problem that can be solved using the Lagrange method for example. However here a simple graphical argument is enough to conclude. Figure 1 plots two curves: the total demand D = i d i and total supply S = i s i as functions of the unit price p. First remark that p o and p s must be chosen such that S(p o ) = D(p s ): otherwise it is always possible for the operator to decrease p o (if S(p o ) > D(p s )) or increase p s (if S(p o ) < D(p s )) to strictly improve its revenue. The operator revenue with such prices is then the area of the rectangle displayed in Figure 1, embedded within a triangle whose area is the maximum value of social welfare. The area of the rectangle is maximum when S(p o ) = D(p s ) = Q * /2 with Q * = Dp * and p * is given in [START_REF] Dabek | Wide-area cooperative storage with CFS[END_REF]. In that case the operator's profit is W * /2, and the total social welfare is 3W

S ( p ) = ∑ i s i ( p ) D ( p ) = ∑ i d i ( p ) Q * /2 quantities Maximal Social Welfare W * Q *

Does Imposed Symmetry Outperform Monopoly

Pricing?

In this section, we compare the two incentive schemes introduced so far in terms of the underlying social welfare at equilibrium. Our point here is not to give necessary and sufficient conditions for one of the two mechanism to provide a larger social welfare than the other for general valuation and cost functions, since the problem becomes much more difficult when Assumptions A and B are relaxed (in particular some optimization problems like revenue maximization are nonconvex and may exhibit local optima). We rather concentrate on our simplifying assumptions and use some examples to highlight situations where one scheme or the other can be better for the overall system.

The following is a direct consequence of Propositions 2 and 3: Proposition 4. Under Assumptions A, B, and C, and for a large number of users, symmetric schemes outperform monopoly pricing if and only if

1 E[a] + 1 E[b] E 1 1 a + 1 b ≥ 3 4 . ( 25
)
Proposition 4 highlights in particular the fact that if the population is homogeneous (i.e., a and b are Dirac distributions) then it is better to implement a scheme based on symmetry, since the maximal social welfare can be attained (from Jensen's equality case). On the contrary, user heterogeneity in terms of a and b will make the left-hand side of (25) decrease. If heterogeneity is too important then the left-hand side of (25) may take values below 3/4, which implies that the system (users+coordinator) is better off being driven by a revenuemaximizing monopoly. At this point of the analysis the distribution of a and b turns out to be the main characteristics of the game. Indeed, these parameters characterize the profile of each user, i.e. her utility and cost functions, and her associated demand and supply functions (d i (p), s i (p)). In the following we consider two simple examples of distributions (e.g., uniform and exponential) for a and b to illustrate Proposition 4.

Uniform Distribution. We assume here that a (resp. b) is uniformly distributed over [0, a max ] (resp. [0, b max ]). In that case we have E

[a] = amax 2 , E[b] = bmax 2
, and

E 1 1 a + 1 b = 1 3 a max + b max - a 2 max b max ln(1 + b max a max ) - b 2 max a max ln(1 + a max b max ) .
(26) The left-hand side of (25) and the plane z = 3/4 are displayed on Figure 2 (left). We observe that inequality (25) always holds, thus it is always better for the system to impose symmetry than to introduce a profit-maximizing monopoly. Exponential Distribution. We now consider the case where a (resp. b) follows an exponential distributions with parameter μ a (resp. μ b ). Therefore E

[a] = 1 μa , E[b] = 1
μ b , and after some calculation we obtain We again compare both terms of (25) on Figure 2 (right). This time, there is no scheme that always outperforms the other: depending on how much the two variables differ, the monopoly can provide higher welfare than a symmetric scheme. More precisely, when μ a and μ b are sufficiently close, then a revenue-maximizing monopoly will drive the system to a situation where the social welfare is larger than what a symmetry-based scheme would have yielded. Figure 5 indicates the scheme that gives the best system welfare, depending on the values of μ a and μ b .

E 1 1 a + 1 b = 1 3μa if μ a = μ b , μ 2 a -μ 2 b -2μaμ b ln( μa μ b ) (μa-μ b ) 3 otherwise. ( 27

Conclusions and Future Work

In this paper, we have proposed an economic model for a peer-to-peer backup service. Assuming that users of such a service behave selfishly, we have justified the need for incentive schemes for the system to effectively exist. We have studied and compared two kinds of incentive schemes, namely a symmetry-based scheme (users should contribute to the service as much as they use it) and a pricing-based scheme (introduction of a monopoly that fixes unit prices for buying and selling resource). Under some simplifying assumptions, we have highlighted conditions for one scheme to outperform the other in terms of social welfare. Some examples have shown that user heterogeneity plays a crucial role on the better-suited scheme. Basically, it seems that more user heterogeneity would justify the use of (even profit-driven) pricing.

There remains a lot of work to be done on this subject. First, we have made quite restrictive assumptions on the form of the utility functions to derive some results (we often used quadratic valuation and cost functions). It would be interesting to obtain some results for more general cases. Moreover, we only considered that users had two decision variables, namely the quantity of data they store into the system and the amount of storing capacity they offer. We are currently working toward an extension of the model where users can also choose the proportion of time they are online (a larger availability improves the service offered to the others, but increases the perceived cost of the user), that also needs an incentive scheme.

Fig. 1 .

 1 Fig. 1. Maximal social welfare, and optimal choices for a revenue-driven monopoly under Assumptions A and B

Fig. 2 .Fig. 3 .

 23 Fig. 2. Social welfare performance ratio of monopoly pricing (plane surfaces) and symmetric scheme (curved surfaces) as given by Propositions 2 and 3, for uniform (left) and exponential (right) distributions of a and b

  W sym , and that equality stands if and only if a, b are deterministic, i.e. identical for every user.

	1 x + 1 y	is strictly concave, Jensen's inequality implies that W opt ≥

Since staying online induces a disutility for a user without direct counterpart but improves the quality of the service offered to the others, incentives are needed to honor peers that are online almost all the time. The definition of such incentives is ongoing work, and is out of the scope of this paper. We will not consider it here, assuming that users stay online as much as they can, without trying to minimize the associated costs.

Actually, the utility maximization problem for a user is a convex problem, that has the same form as the social welfare maximization problem studied in subsection 2.2, except that there are only two decisions variables (C o i and C s i ) here.

Acknowledgment. This work has been partially funded by the GET project DisPairSe.


Georges Pagis

Nicolas Bouton
email: nicolas.bouton@ifma.fr

Sebastien Briot

Philippe Martinet
email: philippe.martinet@irccyn.ec-nantes.fr

Pagis

Enlarging Parallel Robot Workspace through Type 2 Singularity Crossing: Controller Design and Benchmarking

Keywords: Parallel Robots, Computed Torque Control, Multi-Model Approach, Singularities

In order to increase the reachable workspace of parallel robots, a promising solution consists in the definition of optimal trajectories that ensure the non degeneracy of the dynamic model in the Type 2 (or parallel) singularity. However, this assumes that the control law can perfectly track the desired trajectory, which is impossible due to modelling errors.

This paper proposes a robust multi-model approach allowing parallel robots to cross Type 2 singularities. The main idea is to shift near singularities to a simplified dynamic model that can never degenerate. The proposed control law is validated experimentally through a Five-bar planar parallel mechanism.

Introduction

Contrary to serial robots, which are largely used in industry, parallel robots are under-represented despite having many advantages, such as higher acceleration capacities and a better payload-to-weight ratio. The small number of parallel mechanisms in factories can be explained by the relative complexity of their model and by the presence of singularities [START_REF] Arakelian | Increase of singularity-free zones in the workspace of parallel manipulators using mechanisms of variable structure[END_REF][START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF][START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF], which divide their workspace into different aspects (each aspect corresponding to one or more assembly modes [START_REF] Merlet | Closed-form resolution of the direct kinematics of parallel manipulators using extra sensors data[END_REF]). The manipulator workspace is therefore usually reduced to only one of these aspects, resulting in a greatly reduced reachable workspace size.

Various type of singularity exist, and for a global overview of the singularity problem the reader is referred to [START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF]. However, since Type 2 [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] (or parallel) singularities are probably the most constraining ones, this paper will focus only on this type. In these singularities, one (or more) manipulator's degree of freedom becomes uncontrollable. In order to increase the workspace size several approaches have been envisaged in the literature, such as:

• The design of parallel robots without singularities. This can be done by using the optimal design approach [START_REF] Briot | Optimal technology-oriented design of parallel robots for high-speed machining applications[END_REF][START_REF] Liu | Performance atlases and optimum design of planar 5R symmetrical parallel mechanisms[END_REF] or by creating decoupled mechanisms [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF][START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF]. This solution is the most usual one, but it usually leads to the design of robots with a small workspace size or robot architectures with very low practicability.

• The use of redundancy [START_REF] Kurtz | Multiple-goal kinematic optimization of a parallel spherical mechanism with actuator redundancy[END_REF][START_REF] Nahon | Force optimization in redundantly actuated closed kinematic chains[END_REF] or, to reduce costs, the use of mechanisms with variable actuation modes [START_REF] Arakelian | Increase of singularity-free zones in the workspace of parallel manipulators using mechanisms of variable structure[END_REF][START_REF] Rakotomanga | Kinetostatic performance of a planar parallel mechanism with variable actuation[END_REF]. These mechanisms can change the way they are actuated without adding additional actuators, but this change can only be carried out when the mechanism is stopped, thus increasing the time necessary to perform the task.

• Planning assembly mode changing trajectories. A first way to do this is to bypass a cusp point [START_REF] Zein | Non singular assembly-mode changing motions for 3-RPR parallel manipulators[END_REF]. However, this solution is hardly practical for two main reasons: i) it forces the mechanism to follow a particular trajectory, which can be very different from the desired one; ii) only a few mechanisms have cusp points. A second solution is to go directly through a Type 2 singularity [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF][START_REF] Ider | Inverse dynamics of parallel manipulators in the presence of drive singularities[END_REF]. In [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF], a physical criterion, obtained through the analysis of the dynamic model, is presented. It enables the computation of a trajectory which can cross a singularity without the dynamic model degenerating, by respecting the criterion in question on the singularity locus.

This last solution is promising, since it can considerably increase the workspace size of any parallel mechanism. However, in previous studies it was considered that the controller allowed the mechanism to perfectly track the desired trajectory. This is obviously impossible due to modeling uncertainties. In order to fill this gap, the aim of the present paper is to propose an advanced control law dedicated to Type 2 singularity crossing.

In order to correctly track a trajectory, only a dynamic control law can be used [START_REF] Khalil | Modeling, identification & control of robots[END_REF] since only can control the accelerations. Moreover, it is the only kind of control law that takes into account the dynamic properties of the system. Among the different dynamic control loop algorithms, the most efficient one is probably the Computed Torque Control (CTC) [START_REF] Khalil | Modeling, identification & control of robots[END_REF][START_REF] Craig | Introduction to Robotics[END_REF][START_REF] Spong | Robot dynamics and control[END_REF]. It computes the actuator torque of the robot based on its dynamic model and the desired trajectory. However, this control law is sensitive to modeling errors, so the dynamic model must be well identified [START_REF] Gautier | Dynamic identification of robots with power model[END_REF][START_REF] Briot | Global Identification of Drive Gains and Dynamic Parameters of Parallel Robots[END_REF]. Furthermore, to be used when crossing a Type 2 singularity, the dynamic model must not degenerate near singularities, even if the trajectory does not perfectly respect the physical criterion mentioned above, which is unavoidable with usual CTC. As a result, in this paper a new multi-model CTC (e.g. see [START_REF] Craig | Introduction to Robotics[END_REF][START_REF] Spong | Robot dynamics and control[END_REF]) is proposed, which guarantees that the robot dynamic model of the mechanism does not degenerate near a singularity. This multimodel control law was developed thanks to the definition of a new dynamic criterion based on [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF].

A first condensed version of this work has been submitted to ICRA 2014. The proposed paper presents detailed explanations on:

• The way to choose a metric for a multi-model approach.

• The validation of the identified dynamic model.

• New experimental results for the comparison between using the usual computed torque control (CTC) laws for singularity crossing and using the proposed approach.

This paper is organized as follows: first the approach used to compute the criterion for crossing Type 2 singularities is recalled, and a method developed to increase the robustness of the planned trajectory is proposed. Then, in Section III, the multi-model CTC control law developed for crossing singularities is presented. Section IV introduces the robot used to validate the Type 2 singularity crossing approach proposed. Finally, the relevancy of this controller is demonstrated through full-scale experiments on a Five-bar mechanism.

Trajectory generation for crossing a Type 2 singularity

Dynamic modeling of parallel mechanisms

This section will briefly recall the dynamic equations of a parallel manipulator composed of m links, n degrees of freedom (dof ) and driven by n actuators. The position and the speed of the manipulator can be fully described using:

• q = [q 1 , q 2 , ..., q n ] T and q = [ q1 , q2 , ..., qn ] T which represent respectively the vectors of active joint variables and active joint velocities,

• x = [x, y, z, φ , ψ, θ ] T and v = ẋ, ẏ, ż, φ , ψ, θ T which are the end-effector pose parameters and their derivatives with respect to time; x, y and z represent the position of the platform controlled point and φ , ψ and θ represent the orientation of the platform about three axes a φ , a ψ and a θ (Briant angles).

Using Lagrangian formalism, the dynamic model of the mechanism can be written as:

τ = w b + B T λ , (1)
w p = A T λ (2)
where • τ is the vector of the input efforts,

• λ is the vector of the Lagrange multipliers,

• A and B are two matrices deduced from the mechanism loop-closure equations, such that Av = B q [4],

• w b and w p are related to the Lagrangian L of the system by:

w b = d dt ∂ L ∂ q - ∂ L ∂ q , w p = d dt ∂ L ∂ v - ∂ L ∂ x (3)
In this expression, w p is the wrench applied to the platform by the legs and the external forces [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF].

Then, assuming that matrix A can be inverted and by substituting (2) into (1), the general dynamic model of parallel manipulators is obtained [START_REF] Khalil | Modeling, identification & control of robots[END_REF]:

τ = w b + J T 0 w p , (4) where
• 0 w p is the expression of the wrench w p in the base frame, i.e. 0 w p = Dw p with D the matrix relating the platform twist t (expressed in the base frame) to the vector v by t = Dv [4],

• J = 0 A -1 B is the Jacobian matrix between the platform twist t and q, with 0 A the expression of matrix A in the base frame, i.e. 0 A = AD -1 .

Type 2 singularity crossing

Based on the analysis of the kinematic model, a classification of singularities into three different types is proposed in [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]:

• Type 1 singularities or serial singularities occur when the mechanism is in a position such that the kinematic matrix B becomes rank deficient. In such configurations, the mechanism loses its ability to move in one given direction.

• Type 2 singularities or parallel singularities occur when the kinematic matrix 0 A becomes rank deficient. In Type 2 singularities, one or more of the robot's degrees of freedom become uncontrollable. Such singularities divide the workspace into different aspects, resulting in a reduction in the manipulator's workspace. Moreover, in the presence of these singularities, the robot may also not be able to resist an external wrench applied to the platform, and the reactions in its joints grow to infinity.

• Type 3 singularities are configurations where both Type 1 and Type 2 singular configurations appear at the same time. They are disregarded in the rest of the paper as they appear if both Type 1 and Type 2 singularities exist.

Finally, parallel mechanisms with fewer than 6 dof can have another type of singularity: the constraint singularity [START_REF] Zlatanov | Constraint singularities of parallel mechanisms[END_REF][START_REF] Conconi | A new assessment of singularities of parallel kinematic chains[END_REF].

If a parallel mechanism is in a singular Type 2 position, matrix A T cannot be inverted in Equation ( 2). The dynamic model degenerates and therefore cannot be solved. However, as explained in the introduction, it has been proven in [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF] that a mechanism can cross a Type 2 singularity without a torque discontinuity. Indeed, on a Type 2 singularity, the columns of 0 A are linearly dependent, i.e. a vector t s exists such that:

0 At s = 0 ⇔ t s T 0 A T = 0 (5)
The vector t s represents the twist of the uncontrollable motion of the platform at the singularity locus [START_REF] Merlet | Closed-form resolution of the direct kinematics of parallel manipulators using extra sensors data[END_REF]. Thus, multiplying (2) by t T s leads to:

t T s 0 A T λ = 0 (6) 3
In this case, the following condition must also be satisfied:

t T s 0 w p = 0 (7)
which is the condition for the non-degeneracy of the dynamic model [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF].

As a result, if the desired manipulator motion does not guarantee the achievement of a wrench w p that respects condition [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF], the dynamic model is degenerated and the desired manipulator input strains must grow to infinity to produce the desired platform motion. Physically, this condition means that the parallel manipulator can cross the Type 2 singularity if and only if the wrench 0 w p exerted by the legs and external efforts on the platform is reciprocal to the twist t s of the uncontrollable motion in the Type 2 singularity.

Generation of a robust trajectory for crossing a Type 2 singularity

In order to cross a singularity without a torque discontinuity, the mechanism has to follow a trajectory which respects criterion [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF] on the singularity locus. Theoretically, the dynamic model degenerates only at the singularity locus; however, numerically matrix A is singular in a space around the singularity locus. Therefore criterion [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF] has to be respected in this space around the singularity locus in order to prevent the dynamic model from degenerating.

Trajectory generation is achieved using polynomials, whose degree can vary. Indeed, in order to guarantee that criterion ( 7) is respected around the singularity locus (contrary to what was done previously), it is proposed in this work to vanish the criterion [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF] and n of its derivatives:

t T s d i w p dt i = 0 i = 1, ..., n, (8)
To the best of our knowledge, this is the first time that such criteria have been proposed. Generating a trajectory based on these criteria (8) enables us to increase robustness in order to model uncertainties and control error around the singularity. Experimental results show that nullifying the first two derivatives of the criterion might be sufficient.

The next section will present the control law used to enable singularity crossing.

Control law dedicated to Type 2 singularity crossing

Computed Torque Control

The Computed Torque Control (CTC) [START_REF] Spong | Robot dynamics and control[END_REF][START_REF] Paccot | A review on dynamic control of parallel kinematic machine: theory and experiments[END_REF] is an advanced control law which computes the input torques that the actuators must apply to the mechanism in order to follow a given trajectory. It is based on the dynamic model presented in Part 2.

As for any type of control law in robotics, the aim of the CTC controller is to minimize the error in either joint or task space. Since near to a Type 2 singularity the kinematic matrix A is singular, it is not possible to compute the Cartesian velocities v from the joint velocities q using the DKM (Direct kinematic Model). Furthermore, on industrial robots on-board sensors usually measure joint space values, and therefore only the joint space control law should be used to cross Type 2 singularities.

Let us rewrite the dynamic model of the mechanism as [START_REF] Spong | Robot dynamics and control[END_REF][START_REF] Ghorbel | A reduced model for constrained rigid bodies with application to parallel robots[END_REF]:

τ = w b + J T w p = M q + H(q, q) (9)
By replacing the angular acceleration q in Equation ( 9) by an adapted control signal u, the dynamic of the system is linear with respect to the control variable. Therefore, a double integrator between the control signal and the joint variables appears. Thus, only a PD control law is used to impose a second-order dynamic on the error:

u = q = qd + K d ė + K p e ⇒ ë + K d ė + K p e = 0 ( 10
)
where

• q d (respectively qd and qd ) is the desired joint position (respectively velocity and acceleration),

• q (respectively q and q) is the current measured joint position (respectively velocity and acceleration).

• e (respectively ė and ë) is the position error (respectively speed and acceleration) in the joint space (e = q d -q).

• K p and K d are the two gain tunings.

Consequently, CTC computes the input torques by substituting Eq. ( 10) into the dynamic model presented in Eq. ( 9):

τ = M ( qd + K d ė + K p e) + H(q, q) (11)
Figure ( 1) represents a classic Computed Torque Control law applied to a parallel mechanism whose dynamic model can be expressed by Equation [START_REF] Kurtz | Multiple-goal kinematic optimization of a parallel spherical mechanism with actuator redundancy[END_REF].

MGI x d

+ - + + + + + Robot H K p K d dt dt dt ddq dq tau dt q M q d Figure 1: Classic Computed Torque Control law
It should be noted that the vector of positions in the task space x is necessary to compute matrices M and H. However, in industrial cases sensors only measure the vector of positions in the joint space q. Therefore the DKM is required. Unfortunately, when planning a Type 2 singularity crossing trajectory, the mechanism changes its assembly mode, and so the solution of the DKM has to change. To do so, the controller needs the information that the mechanism has changed its assembly mode, which cannot be deduced from the joint positions. Experimentally, the most reliable solution is to choose the DKM solution based on the desired trajectory.

It should be mentioned that, when using the proposed CTC for crossing Type 2 singularities, the trajectory planned in order to respect the crossing criterion (cf. Part 2) will be different from the real one, due to errors in the dynamic model. As a result, numerically speaking, the crossing criterion [START_REF] Kong | A class of 3-dof translational parallel manipulators with linear input-output equations[END_REF] will never be respected and the computed torque control could send infinite torques to the robot, preventing singularity crossing due to the inversion of the matrix A.

The next section presents a multi-model control law which allows the controller to avoid this issue.

Multi-model control law

Robot dynamic models dedicated to the multi-model control law As explained previously, the complete dynamic model can numerically degenerate when the mechanism approaches a singularity. To avoid these numerical issues, the proposed solution is to plan a trajectory respecting around the singularity locus the criterion:

w p = 0 and d i dt i w p = 0, i = 1, ..., n (12)
This new criterion still guarantees that ( 8) and [START_REF] Nahon | Force optimization in redundantly actuated closed kinematic chains[END_REF] are respected. Of course during the real robot displacement, numerically w p will not be null, but such a new criterion enables the implementation of a multi-model control law. The multi-model CTC law presented in this paper consists of using two models (Fig. (2)):

• Model 1 -The complete dynamic model, as long as matrix A introduced in Sec. (2.1) is invertible:

τ A = w b + J T w p = M q + H(q, q) (13)
• Model 2 -A reduced dynamic model which cannot degenerate when the mechanism is close to a singular position: The second dynamic model is used to compute input torques only when the trajectory has been planned in order to have w p = 0. Considering that the control law is correctly adjusted, the effective trajectory is close enough to the desired one and therefore the hypothesis w p = 0 is acceptable. Once the mechanism is far enough from the singularity locus, the control switches back to the complete dynamic model and the mechanism can finish its trajectory.

τ B = w b = M q + H (q, q) (14

Metric choice for model switching

In order to cross the singularity locus, the controller requires a metric which defines the moment when Model 2 has to be used. The discussion about the best indicator of singularity proximity is a well-known problematic [START_REF] Merlet | Closed-form resolution of the direct kinematics of parallel manipulators using extra sensors data[END_REF][START_REF] Glazunov | Speed and Force Criteria for the Proximity to Singularities of Parallel Structure Manipulators[END_REF][START_REF] Voglewede | Measuring closeness to singularities for parallel manipulators[END_REF]. However, since Model 2 is valid only when w p is null, here the metric used will be based on the value of w p .

Therefore, based on the assumption that the control error is well regulated, the desired value of w p (computed according to the reference trajectory) is used as the switching variable. This prevents issues due to the computation of the actuators' accelerations.

Switching function: σ

In order to guarantee torque continuity when the control switches from one model to another, the input torques are computed using the logistic function σ (shown in Fig. (3)) such that:

τ = σ τ A + (1 -σ ) τ B (15)
This function σ is equal to:

-1 when the first model must be used, -0 when the second model must be used, i.e. when the mechanism is close to a singular position, -1 1+e -αt or 1 -1 1+e -αt when switching between the two models, where t is the current time, The logistic function σ varies continuously between 0 and 1, which prevents any torque discontinuity. Here, the logistic function is defined using a parameter α, which can be adjusted to change the length of the transition phase. This parameter is computed based on the value of the derivative of w p such that σ is null when w p and its derivatives are null, i.e. when the mechanism is in a singular position, as presented in Fig ( 4). The next section presents experimental results for Type 2 singularity crossing using this multi-model control law on a planar Five-bar mechanism. F

Case study

Presentation of the Five-bar mechanism

A Five-bar mechanism is a planar parallel mechanism composed of two actuators located at the revolute joints positioned at points A and E 3 passive revolute joints at points B, C and D (Fig. 5). The mechanism used in this work was designed so that it can reach all the workspace positions without any collision between the proximal and the distal legs. The mechanism and its parameters are presented in Fig. 5. The link dimensions were calibrated using a Laser Tracker (Table 1).

Gain tuning

The proportional and derivative gains were tuned based on the mechanism's natural frequency [START_REF] Khalil | Modeling, identification & control of robots[END_REF]. This frequency was retrieved using a ring-out procedure. The mechanism was excited using an impedance hammer, and its response was recorded using 5 accelerometers. The first natural frequency of the Five-bar mechanism in its isotropic configuration (when links BC and CD are perpendicular) is 34.2 Hz.

For a given control bandwidth fixed by a frequency ω both gains are adjusted as:

K p = ω 2 , K d = 2ξ ω ( 16
)
where ξ is a damping coefficient, usually fixed as 1 to have a critically damped system. To guarantee that the gains do not bring the system into the neighborhood of the instability domain, the chosen frequency must be smaller than the natural resonant frequency [START_REF] Khalil | Modeling, identification & control of robots[END_REF]. Therefore a frequency of ω = ω r /2 was chosen, resulting in the following gain values:

K p = 300, K d = 34 (17)

Dynamic modeling and identification

A full dynamic model of the robot was computed using the methodology presented in [START_REF] Briot | Global Identification of Drive Gains and Dynamic Parameters of Parallel Robots[END_REF] and its identification was performed using a weighted least square method based on the use of exciting trajectories, followed by a classic geometrical control law [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. The identification resulted in the following model that fully describes the robot dynamics of the studied mechanism:

τ = m 3 J T ẍ ÿ + zz 1 q1 zz 2 q2 + f v1 q1 f v2 q2 + f s1 sign( q1 ) f s2 sign( q2 ) (18)
where:

• m 3 is a mass equivalent located on the end effector; m 3 = 0.40 ± 0.02kg

• zz 1 and zz 2 are rotational equivalent inertial terms, respectively on the first and second actuator; zz 1 = 1.83 • 10 -2 ± 6.97 • 10 -4 kg.m 2 ; zz 2 = 1.96 • 10 -2 ± 6.60 • 10 -4 kg.m 2 ;

• f s1 is a Coulomb friction term on the first actuator (respectively f s2 on the second actuator); f s1 = 2.94 ± 0.10N.m; f s2 = 2.95 ± 0.09N.m;

• f v1 is a viscous friction term on the first actuator (respectively f v2 on the second actuator); f v1 = 6.76 ± 0.018N.m.s f v2 = 6.75 ± 0.17N.m.s.

This identified dynamic model is related to Eq. ( 2) by:

w p = m 3 ẍ ÿ , w b = zz 1 q1 zz 2 q2 + f v1 q1 f v2 q2 + f s1 sign( q1 ) f s2 sign( q2 ) (19)
It should be noted that the friction terms in both passive joints are insignificant and therefore the identification routine returned null values.

Different trajectories were computed in order to cross-validate the dynamic model identified. For each trajectory, the positions, velocities and input torques were retrieved for both actuators. Using the identified dynamic model and the measured positions and velocities, the input torques can be computed and compared to the measured ones, as illustrated in Fig. [START_REF] Liu | Performance atlases and optimum design of planar 5R symmetrical parallel mechanisms[END_REF] which represents the input torques measured and computed along a trajectory.

Control law implementation

The Five-bar mechanism is controlled by an industrial control architecture developed by ADEPT with an open architecture. This control architecture allows the user to control the mechanism either in position, speed or torque, using a C/C++ software developed by ADEPT France: CIDE. This software was designed mostly for position control; therefore safety elements preventing mostly physical damage had to be developed for the computed torque control law.

The dynamic model identified contains accelerations in both the joint space and the task space. Therefore, in order to express the dynamic model as in Eq. ( 9), the task space acceleration has to be expressed as a function of the joint space acceleration. This can be done by differentiating the kinematic model:

v = J q ⇒ v = J q + J q (20)
By substituting [START_REF] Ghorbel | A reduced model for constrained rigid bodies with application to parallel robots[END_REF] into [START_REF] Paccot | A review on dynamic control of parallel kinematic machine: theory and experiments[END_REF] one can obtain the dynamic model used for the computed torque control law as presented in Equation ( 9):

τ = M q1 q2 + H, where (21)
M = m 3 J T J + zz 1 0 0 zz 4 (22)
H = m 3 J T J q1 q2 + f v1 q1 + f s1 sign( q1 ) f v2 q2 + f s2 sign( q2 ) (23)
Finally, in order to compute the dynamic model of the robot and the CTC control law on-line, the actuator's positions and speeds were filtered by using the oversampling method at 1Khz (the control law running at 250 Hz).

Experimental results

Generation of a crossing trajectory

Crossing trajectories were generated using two polynomials P x and P y such that:

x = P x (x f -x 0 ) + x 0 , y = P y (y f -y 0 ) + y 0 ( 24
)
where

• P x (t 0 ) = P y (t 0 ) = 0, • P x (t f ) = P y (t f ) = 1,
They are both 8 th order polynomials, corresponding to 8 conditions on each axis: two conditions for the initial position and speed, two for the final position and speed, one for the singular position and three to guarantee that the singularity crossing criterion [START_REF] Zein | Non singular assembly-mode changing motions for 3-RPR parallel manipulators[END_REF] is respected around the singularity locus [START_REF] Briot | Optimal Force Generation in Parallel Manipulators for Passing through the Singular Positions[END_REF].

Figure 7 represents a crossing trajectory in the task space as well as the evolution of the task space coordinates along this trajectory and the evolution of the dynamic criterion [START_REF] Zein | Non singular assembly-mode changing motions for 3-RPR parallel manipulators[END_REF] for:

x 0 = 0.1, y 0 = 0.34,

x s = 0.05475, y s = 0.2, When the mechanism approaches the singularity locus, the input torques τ become discontinuous and tend to infinity. Therefore, even if the mechanism should reach the singularity locus after 0.5s, it can be seen in Fig. [START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF] that the input torques tend to infinity before reaching the singularity. The result of the robot displacement is shown in Fig. [START_REF] Kurtz | Multiple-goal kinematic optimization of a parallel spherical mechanism with actuator redundancy[END_REF]. To avoid causing physical damage to the actuator, a security stops the mechanism, which remains blocked inside the singularity, resulting in an increase of the articular error.

x f = 0, y f = 0.1, (25)

Type 2 singularity crossing with the multi-model CTC: results and process repeatability

This section presents the results of Type 2 singularity crossing for different trajectories computed according to the method presented in Section 2.3 and in the previous paragraph.

Figure 10 shows the input torques generated by the computed torque control law along different crossing trajectories from one assembly mode to another, as well as the desired trajectory and the control error. For each trajectory, the mechanism crosses the singularity without torque discontinuity. Figure [START_REF] Rakotomanga | Kinetostatic performance of a planar parallel mechanism with variable actuation[END_REF] presents different configurations of the motion of the mechanism along the first trajectory at different time instants.

The multi-model control law leads to an increase of the error around the singularity locus. Therefore, when the control law switches back to the complete dynamic model, the input torques can significantly increase in order to nullify this error. This can be seen for the first trajectory at 0.7s. All three trajectories represented in Figure 10 were planned to cross the singularity at 0.5s and end at 1s. For each trajectory, the first figure illustrates the desired trajectory in the task space and the Type 2 singularity of the mechanism.

Each trajectory was run five times to test the robustness of the proposed controller. Moreover, the starting and ending points were chosen randomly and neither those points nor the crossing direction had any effect on the singularity crossing. During our different experiments using this controller, the robot has always successfully crossed the singularity locus without any difficulty. Thus the new controller proposed, coupled with the new dynamic criterion, enables a parallel mechanism to cross a Type 2 singularity without torque discontinuity. Even though the multi-model control law induces an overshoot, it does not impact the singularity crossing, which is totally robust with respect to the desired trajectory. This methodology can therefore considerably increase the end-effector reachable space of almost any parallel mechanism.

Conclusion

The presence of singularities in the workspace of parallel robots greatly reduces their effector's reachable positions. Several solutions have been proposed to either increase the workspace size (e.g. changing the assembly mode) or bypass the singularity problem (e.g. design mechanisms without singularities). A promising solution consists of changing the assembly mode by crossing Type 2 singularities. This solution requires the definition of an optimal trajectory that must be tracked by a dynamic controller. However, the classic dynamic control laws are unsuitable. This solution requires that the crossing trajectory respect a dynamic criterion at the singularity locus, which prevents the dynamic model from degenerating. However, if this criterion is not perfectly verified (which is always the case numerically) the kinematic and dynamic model degenerates, resulting in the computation of infinite torques.

This paper proposes a multi-model controller dedicated to Type 2 singularity crossing which avoids dynamic model degeneration near the Type 2 singularity locus. It does so by generating a trajectory that nullifies the degenerating part of the dynamic model around the singularity locus. A dynamic multi-model controller is used to follow the trajectory generated this way; the controller switches to a simplified dynamic model when the mechanism is close to a singularity. This prevents the dynamic model from degenerating even thought the desired trajectory is not perfectly tracked, and therefore allows the mechanism to cross the Type 2 singularity without torque discontinuity.

This new controller was validated experimentally on a Five-bar mechanism. It was compared to a standard dynamic control law that was not able to cross the singularity, while the multi-model CTC was validated on various singularity crossing trajectories, thus proving its experimental robustness.

Figure 2 :

 2 Figure 2: Multi-model computed torque control law

Figure 3 :

 3 Figure 3: Variation of the logistic function and influence of parameter α

Figure 4 :

 4 Figure 4: Variation in sigma based on the value of w p when crossing a singularity

7

 7

2 Figure 5 :

 25 Figure 5: Five-bar mechanism designed and manufactured at IFMA

Figure 6 :

 6 Figure 6: Verification of identified dynamic model

Figure 7 :Figure 8 :

 78 Figure 7: Example of 8 th order polynomial trajectory crossing a Type 2 singularity locus

Figure 9 : 2 Figure 10 :

 9210 Figure 9: Images of the mechanism trying to cross a singularity with a classic CTC control law

Figure 11 :Figure 12 :

 1112 Figure 11: Trajectory reproduction during a singularity crossing

Table 1 :

 1 Five-bar mechanism: geometric parameters ) 1.10 -5 1.10 -5 1.10 -5 1.10 -5 1.10 -5

	Parameter	a	L 1	L 2	L 3	L 4
	Value (m)	0.2822 0.2130 0.1888 0.1878 0.2130
	Precision (m

Acknowledgements

This work was sponsored by the French government research program "Investissements d'avenir" through the RobotEx Equipment of Excellence (ANR-10-EQPX-44) and by the French Institute for Advanced Mechanics.


Alessia Vignolo

Sébastien Briot

Philippe Martinet

Chao Chen

End-effector pose estimation of the Monash Epicyclic-Parallel Manipulator through the visual observation of its legs

I. INTRODUCTION

If compared to serial robots, parallel robots have several advantages : higher speeds, higher dynamic performances and larger payload-to-weight ratio [START_REF] Merlet | Parallel Robots[END_REF]. One of the disadvantages is that their control is tricky because of the high kinematic coupling, clearance effects in joints and manufacturing errors which deteriorate stability and accuracy.

In order to reduce this stability and accuracy degradation, which is due to the complex kinematic structure of the robot, sensor-based control may be used.

Vision-based control has shown its ability for estimating and controlling the end-effector pose, e.g. by the direct observation of the end-effector pose [START_REF] Espiau | A new approach to visual servoing in robotics[END_REF], [START_REF] Horaud | Visually guided object grasping[END_REF], [START_REF] Martinet | Vision based control law using 3D visual features[END_REF]. However, in some cases the direct observation of the end-effector may be impossible or difficult (for instance, with a haptic device where the user could prevent the observability of the endeffector). A good alternative for parallel robots is to observe the robot legs. In this case, by a direct measure of an internal property acquired through an external sensor, i.e. the robot leg configuration observed by vision, this technique allows to estimate the end-effector pose [START_REF] Ozgur | High speed parallel kinematic manipulator state estimation from legs observation[END_REF] which is an external property.

This method has been applied in [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF] for the control of a Gough-Stewart (GS) platform [START_REF] Gough | Universal tyre test machine[END_REF]: the visual primitives were However, as proven in [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF], the approach cannot be applied to any type of robot family: for instance it was not possible to estimate the pose of a particular family of parallel robots for which the first joints of the legs are prismatic joints whose directions are all parallel [START_REF] Andreff | Vision-based kinematic modelling of some parallel manipulators for control purposes[END_REF] that. For example, in the case of the PRRRP1 robot with parallel P joints (Fig. 1), the endeffector pose can not be reconstructed by the observation of leg directions u i2 only as, for the same values of u 1 and u 2 , infinite possible end-effector poses can be found. In order to overcome this problem, a solution would be to use more information contained in the image, such as the Plücker coordinates of the lines passing through the legs. It will be shown in this paper that by observing the leg projection in the camera frame, it is possible to extract not only the leg direction but also the Plücker coordinates of the leg. Using the Plücker coordinates of the lines passing through the legs for the visual servoing is equivalent to use the leg direction plus their distance and position with respect to the camera frame. Thus, the line passing through the legs are fully defined. Estimating the end-effector pose in the case of the PRRRP robot of Fig. 1 is similar to finding the intersection point of the lines L 1 and L 2 passing through the legs. In this paper the new end-effector pose estimation approach based on the use of the Plücker coordinates of the lines passing through the legs is introduced and it is applied to the MEPaM [START_REF] Chen | A Six Degree of Freedom Epicyclic-Parallel Manipulator[END_REF], a haptic device based on a six-degrees-of-freedom (dof ) parallel kinematic machine.

II. MEPAM

A. Architecture description

MEPaM has an innovative design (Fig. 2). The actuators are mounted on the base instead of the moving limbs, reducing their mass and inertia. It has three legs and can preserve six-dof thanks to planetary-belt systems, which transmit power to the moving legs. There are three planetary-belt systems, and each one provides two-dof in a plane and is driven by two motors: a lower motor drives the lever arm A via a short stiff belt, and a upper motor drives the sun pulley via a long stiff belt. The planetary-belt system ends with the lever arm B, whose end is attached to a cylindrical joint perpendicular to the driving plane of the system. Then, one universal joint links every cylindrical joint to a vertex of the triangular end-effector.

B. Forward kinematics of MEPaM based on the actuator angles and singularities

The forward kinematics model of MEPaM based on the actuator angles and its singularities have been already analyzed in [START_REF] Chen | A Six Degree of Freedom Epicyclic-Parallel Manipulator[END_REF]. The serial and parallel singularities can be found from the analysis of the rank deficiency of the serial and parallel kinematic Jacobian matrices, defined through the relation

J S Θ = J P t (1)
where J S and J P are the serial and parallel kinematic Jacobian matrices, respectively, Θ is the vector of active joints rates and t is the twist of the moving platform. Matrix J S is rank deficient when there is serial singularity: in such a case for the MEPaM, the arms are fully extended or folded, and, in such a configuration, the triangular end-effector is not able to move in the arms direction, and it loses one-dof.

Concerning the parallel singularities which appear when the matrix J P is rank deficient, in [START_REF] Chen | A Six Degree of Freedom Epicyclic-Parallel Manipulator[END_REF] they were determined from geometric conditions derived by Grassmann-Cayley algebra (GCA) [START_REF] Caro | Singularity Analysis of a Six-DOF Parallel Manipulator Using Grassmann-Cayley Algebra and Grobner Bases[END_REF]. The procedure, omitted for reason of brevity, leads to some geometric conditions for MEPaM's singularities, which are shown in Fig. 3. An interesting feature of the manipulator is that the parallel singularity is not dependent on the end-effector orientation. Moreover, the design of the device prevents the end-effector from reaching the parallel singularities thanks to the physical limits of the universal joints.

C. Force controller for a haptic device

The force controller [START_REF] Villani | Handbook of Robotics, chapter Ch7: Force Control[END_REF] was applied to the MEPaM, as shown in Fig. 4. The symbols in the figure are: virtual environment impedance Z env , penetration of the avatar through the virtual environment X env , desired force F d , admittance Z -1 h , inverse Jacobian J T (depending on the robot pose) which maps F d into desired torque commands τ d , which are applied to the haptic device. The torques to resist a given force F are dependent on the robot configuration.

Such type of controller requires the estimation of the endeffector pose X. Usually, it is estimated using the information of the joints (such as in Fig. 4), but, in order to overpass the model errors and improve the accuracy, it is better to use vision and to measure the position of some robot elements as close as possible to the end-effector. The most efficient method would be to observe directly the end-effector. However, for an haptic device, the user hand may prevent this observation. To avoid this problem, we propose to observe the cylindrical links which are directly connected to the end-effector. In the next section, we disclose about the end-effector pose estimation based on leg observation.

Z env J T (X,Θ) Z h -1 Direct Kin. + - F d τ d Θ X X env

III. END-EFFECTOR POSE ESTIMATION USING LEG OBSERVATION

A. Line modeling

A line L in 3D may be parameterized by its Binormalized Plücker coordinates [START_REF] Andreff | Visual servoing from lines[END_REF]:

L ≡ ( c u, c n, c n) (2)
where c u is a unit vector parameterizing the direction of the line 3 , c n is a unit vector orthogonal to the line interpretation plane L (defined as the plane lying on the line L and passing through the camera frame origin) and c n is a scalar superior or equal to zero. c n and c n are linked through the relation c n c n = c P × c u where c P is the location of a point P on the line with respect to the camera frame.

The characteristic equation of such a line projected in the image plane is given in the camera frame by [START_REF] Andreff | Visual servoing from lines[END_REF]:

c n T c P = 0 (3)
With the matrix K formed by intrinsic parameters of the camera, one can obtain the line equation in pixel coordinates p n from: In pixel coordinates, the line equation is given by:

p n T p p = 0 (4)
Indeed, replacing p p with K c p in this expression yields:

p n T K c p = 0 (5)
By comparing (3) and ( 5), one obtains 3 In the following of the paper, the superscript before the vector denotes the frame in which the vector is expressed ("b" for the base frame, "c" for the camera frame and "p" for the prixel frame). If there is no superscript, the vector can be written in any frame.

p n = K -T c n K -T c n , c n = K T p n K T p n (6)

B. Cylindrical leg observation

The legs of parallel robots have usually cylindrical crosssections [START_REF] Merlet | Parallel Robots[END_REF]. The edges of cylindrical leg i are given, in the camera frame, by [START_REF] Andreff | Image-based visual servoing of gough-stewart parallel manipulators using legs observation[END_REF] (Figs. 5 and6):

c n 1 i = -cos θ i c h i -sin θ i c u i × c h i (7) c n 2 i = + cos θ i c h i -sin θ i c u i × c h i (8)
where

cos θ i = c h 2 i -R 2 i c h i , sin θ i = R i / c h i and
( c u i , c h i , c h i ) are the Binormalized Plücker coordinates of the cylinder axis and R i is the cylinder radius.

From [START_REF] Andreff | Image-based visual servoing of gough-stewart parallel manipulators using legs observation[END_REF], the leg orientation can be defined in the camera frame by

c u i = c n 1 i × c n 2 i c n 1 i × c n 2 i ( 9
)
It is known that each cylinder edge is a spatial line parameterized by the Plücker coordinates ( c u i , c n j i , c n j i ) (Fig 5). Moreover, any point A i (of coordinates c A i in the camera frame) located on the axis of the cylinder is at the distance R i from the edge of the cylinder.

Consequently, any edge of a cylinder edge is totally defined by the following relations, valid in any frame: The vector c h i = c h i c h i can be computed using the edges of the cylindrical leg i too, and it is given by

c n jT i c A i = -R i ( 10
) c n jT i c n j i = 1 (11) c u T i c n j i = 0 (12) q ib q ia w iz w ix x i z i θ ib θ ia A i A iz A ix
c h i = c D i × c u i (13)
where c D i is the position of the point D i in the camera frame, which is the closest point of the axis of the i-th leg to the camera. It is given by

c D i = R i sin(θ i ) • c n 1 i + c n 2 i c n 1 i + c n 2 i ( 14
)

C. MEPaM kinematics based on Plücker coordinates

The objective of the work is to use the information of the leg Plücker coordinates instead of the joint angles to estimate the MEPaM end-effector pose, therefore the forward kinematic problem has to be solved using them.

The Figs. 7 and8 are useful to introduce the kinematics of MEPaM. Figure 7 shows the kinematic representation of the MEPaM legs and Fig. 8 shows the frame assignment for the driving planes: three fixed frames,

F 1 (O 1 , -→ X 1 , -→ Y 1 , -→ Z 1 ), F 2 (O 2 , -→ X 2 , -→ Y 2 , -→ Z 2 ) and F 3 (O 3 , -→ X 3 , -→ Y 3 , -→ Z 3
), are attached to the base in an equilateral triangle formation, while a moving frame

F 4 (B 1 , -→ X 4 , -→ Y 4 , -→ Z 4
) is attached to the triangular end-effector of side length d 3 . A i and B i are the respective Cartesian coordinate vectors of the endpoints of the i-th leg A i and B i . The upper-left index indicates the frame in which the vector is expressed.

Since each cylindrical leg attached to the triangular platform is orthogonal to the plane of the corresponding leg, we have where l i is the length of the i-th cylindrical leg and i A ix and i A iz are the x and z coordinates of the point A i in the local frame F i (Fig. 7).

1 B 1 = ⎡ ⎣ 1 A 1x l 1 1 A 1z ⎤ ⎦ , 2 B 2 = ⎡ ⎣ 2 A 2x l 2 2 A 2z ⎤ ⎦ , 3 B 3 = ⎡ ⎣ 3 A 3x l 3 3 A 3z ⎤ ⎦ (15)
In order to estimate MEPaM end-effector pose, we first need to estimate through vision the position of the points A i (Figs. 7 and8) which are necessary in the relation [START_REF] Selig | Geometric fundamentals of robotics[END_REF]. We have

i A i 1 = i 0 T 0 A i 1 (16)
The values of i 0 T are given by the robot design, and are equal to:

1 0 T = ⎡ ⎢ ⎢ ⎣ 0 1 0 0 -1 0 0 r 1 0 0 1 0 0 0 0 1 ⎤ ⎥ ⎥ ⎦ ( 17
) 2 0 T = ⎡ ⎢ ⎢ ⎢ ⎣ C( 7 6 π) S( 7 6 π) 0 r2 2 C( 7 6 π) - √ 3 r2 2 S( 7 6 π) -S( 7 6 π) C( 7 6 π) 0 -r2 2 S( 7 6 π) - √ 3 r2 2 C( 7 6 π) 0 0 1 0 0 0 0 1 ⎤ ⎥ ⎥ ⎥ ⎦ (18) 3 0 T = ⎡ ⎢ ⎢ ⎢ ⎣ C( 11 6 π) S( 11 6 π) 0 r3 2 C( 11 6 π) + √ 3 r3 2 S( 11 6 π) -S( 11 6 π) C( 11 6 π) 0 -r3 2 S( 11 6 π) + √ 3 r3 2 C( 11 6 π) 0 0 1 0 0 0 0 1 ⎤ ⎥ ⎥ ⎥ ⎦ (19
) where r 1 , r 2 and r 3 are the distances between the base frame with respect to the origin of the frames F 1 , F 2 and F 3 respectively, while 0 A i will be estimated through vision as the intersection between the line passing through i-th leg and its corresponding perpendicular plane shown in Fig. 8. Note that in these equations, S(q) stands for sin q and C(q) stands for cos q.

To compute the positions of points A i , we use the following equations. Given a line expressed in Plücker coordinates as [u, h, h] and a plane expressed in Plücker coordinates too as [N | n]4 , the general formula which gives the point of intersection between them is [START_REF] Selig | Geometric fundamentals of robotics[END_REF]

Âi = (-(hh) × N -nu | uN ) (20)
where Âi are the Plücker coordinates of the point A i (equivalent to the homogeneous coordinates of the point A i ).

From the robot design parameters, the transformation matrices between frames F 1 , F 2 and F 3 are given by The position of all the vertices of the platform can be transformed into F 1 ,

1 B i = 1 i T i B i ( 22
)
for i = 2, 3. The geometric constraints on the device are given by

1 B i -1 B j = d 2 3 ( 23
)
for i = 1, 2, 3 and j = i+1 (mod 3), where d 3 is the (constant) side length of the platform.

The constraint equations, Eqs. (23), contain only three variables l i , i = 1, 2, 3, and can be written in the form

D 2 l 2 2 + D 1 l 2 + D 0 = 0 (24)
E 2 l 2 3 + E 1 l 3 + E 0 = 0 (25)
F 2 l 2 3 + F 1 l 3 + F 0 = 0 (26)
where D j , E j , F j (j = 0, 1, 2), which are not developed here for brevity, are functions of l 1 , l 2 and l 3 , respectively, as well as d 3 , A ix and A iz (i = 1, 2, 3). By means of dialytic elimination, the system of Eqs. ( 24), ( 25), (26) can be reduced to a univariate polynomial of order four in the variable l 1

G 4 l 4 1 + G 3 l 4 1 + G 2 l 2 1 + G 1 l 2 1 + G 0 = 0 (27)
Once Eq. ( 27) has been solved for l 1 , substitution of the result into Eqs. ( 24), (25), (26) will allow for determination of l 2 and l 3 . Solutions of l i for i = 1, 2, 3 are used to estimate the end-effector pose. The position of the end-effector is simply the origin of F 4 , given by

1 B 1 = [A 1x , l 1 , A 1z ]
T . The endeffector orientation is parameterized by Moreover, the radius of the observed cylinder is equal to 1 cm. We simulated a motion of MEPaM. The initial position and orientation of the platform is: X d0 = [0, 0, 0.180, -pi/4, 0, 0]. Here, the orientation of the end-effector is described by using the ZY X Euler angles convention (roll-pitch-yaw angles φ, θ and ψ). The trajectories given to the actuators (whose angles are shown in Fig. 7) as input are: q1a = 0.001 sin(t), q1b = 0.001 sin(t), q2a = 0.001 sin(t), q2b = 0.1 sin(t), q3a = 0.05 sin(t), q3b = 0.01 sin(t).

1 4 Q = [i, j, k] where i = 1 B 2 -1 B 1 1 B 2 -1 B 1 (28) j = ( 1 B 3 -1 B 1 ) -ii T ( 1 B 3 -1 B 1 ) ( 1 B 3 -1 B 1 ) -ii T ( 1 B 3 -1 B 1 ) (29)
k = i × j (30)
We simulated the camera located at the centre of the base frame F 0 (with the camera plane parallel to the x 0 Oy 0 plane) by using a pinhole camera model because it is simple to implement and is a good approximation of real cameras. In the Fig. 9, a camera with O as center of projection and the principal axis parallel to Z axis is shown. The distance between O and the image plane is the focal length f . The 3D point P = (X, Y, Z) is projected on the image plane at coordinates P c = (u, v). The parameters of the camera used for the simulations are: -focal length with respect to u = 10 3 pixels; -focal length with respect to v = 10 3 pixels; -principle point in image along u = 1024 pixels; -principle point in image along v = 768 pixels.

Without adding any noise, we obtained the results shown in Figs. 10, 11 and 12: the norm of the error between the computed position of the end-effector and the real one is very low (around 10 -10 meters) as well as the norm of the error of the orientation (around 10 -7 radians), therefore the new method for the pose estimation computes the pose in a very good way.

Then, we added a measurement noise that is introduced like thereafter. The extraction of the Plücker coordinates of the leg line is based on the equations of the leg edges. In the simulation, they are projected to the image plane and converted from meter to pixel. Then, the edge line intersections with image boundary are computed: the coordinates of the intersection points have to be rounded due to the pixel accuracy. A new equation of the edge line is then recomputed taking into account the error introduced in the intersection points between norm of orientation error (rad) time (sec.) 7 Fig. 12.

The error norm between the computed and real end-effector orientations without any noise. the edge line and the image boundary. The measurements error chosen is given by a pixel accuracy equal to 1. The results obtained adding noise are shown in Figs. 13, 14 and 15: it is possible to notice that the norm of the error of the position is in the order of 10 -4 m and the norm of the error of the rotation is in the order of 10 -2 rad, therefore the new method for the pose estimation shows a good robustness to measurement noise.

V. CONCLUSIONS

In this paper a new approach for end-effector pose estimation in the case of a parallel robot has been proposed. This method is based on the extraction of the Plücker coordinates of the leg center line and, unlike the old method based on the leg direction proposed in the previous papers, it is suitable to all the Parallel Kinematic Machines families, including parallel robots whose legs directions are constant even if the endeffector pose changes, like MEPaM. This new method has been applied to MEPaM and some simulation results (without any noise and with measurement noise as well) of the new pose estimator have shown its efficiency.

2 Fig. 1 .Fig. 2 .

 212 Fig. 1. The PRRRP robot

Fig. 3 .

 3 Fig. 3. a) A singular configuration of MEPaM where its moving platform is vertical; b) A singular configuration of MEPaM where lines L 1 and L 2 intersect

Fig. 4 .

 4 Fig. 4. The open-loop force control.

Fig. 5 .Fig. 6 .

 56 Fig. 5. A cylinder projected in the image

Fig. 7 .

 7 Fig. 7. The belt-pulley transmission of MEPaM for the leg i

Fig. 8 .

 8 Fig. 8. The end-effector of MEPaM connected to A 1 , A 2 and A 3

Fig. 9 .

 9 Fig. 9. A pinhole camera model

Fig. 10 .Fig. 11 .

 1011 Fig.10. The end-effector position and orientation vector computed with the new pose estimation method without any noise.

Fig. 13 .

 13 Fig.[START_REF] Andreff | Visual servoing from lines[END_REF]. The end-effector position and orientation vector computed with the new pose estimation method with measurement noise.

Fig. 14 .

 14 Fig. 14. The norm of the error between the computed end-effector position and the real one with measurement noise.

Fig. 15 .

 15 Fig.[START_REF] Selig | Geometric fundamentals of robotics[END_REF]. The norm of the error between the computed end-effector rotation and the real one with measurement noise.

In the following of the paper, R and P stand for passive revolute and prismatic joints, respectively, while R and P stand for active revolute and prismatic joints, respectively.

In the paper, u i stands for unit vector. 978-1-4673-7509-2/15/$31.00 c 2015 IEEE

Given the Cartesian equation of a plane ax + by + cz + d = 0, its Plücker coordinates are [N | n] where N = (a, b, c) and n = d