Sébastien Briot
email: sebastien.briot.1@ens.etsmtl.ca

Ilian A Bonev
email: ilian.bonev@etsmtl.ca

Accuracy Analysis of 3T1R Fully-Parallel Robots

Keywords: parallel mechanisms, accuracy, dexterity, performance evaluation, error analysis

Parallel robots with Shoenflies motions (also called 3T1R parallel robots) are increasingly being used in applications where precision is of great importance. Clearly, methods for evaluating the accuracy of these robots are therefore needed. The accuracy of well designed, manufactured, and calibrated parallel robots depends mostly on the input errors (sensor and control errors). Dexterity and other similar performance indices have often been used to evaluate indirectly the influence of input errors. However, industry needs a precise knowledge of the maximum orientation and position output errors at a given nominal configuration. An interval analysis method that can be adapted for this purpose has been proposed in the literature, but gives no kinematic insight into the problem of optimal design. In this paper, a simpler method is proposed based on a detailed error analysis of 3T1R fully-parallel robots that brings valuable understanding of the problem of error amplification.

INTRODUCTION

Parallel robots are increasingly being used for precision positioning, and a number of them are used as 4-degree-of-freedom (DOF) parallel robots, with three translations and one rotation (3T1Ralso called SCARA type or Schoenflies motions), for positioning a body in space (mainly for pick-and-place applications). Clearly, in such industrial applications, accuracy is of great importance. Therefore, simple and fast methods for computing the accuracy of a given robot design are needed in order to use them in design optimization procedures that look for maximum accuracy.

Errors in the position and orientation of a parallel robot are due to several factors:

manufacturing errors, which can however be taken into account through calibration; backlash, which can be eliminated through proper choice of mechanical components (e.g., using direct drives); compliance, which can also be eliminated through the use of more rigid structures (though this would increase inertia and decrease operating speed); active-joint errors, coming from the finite resolution of the encoders, sensor errors, and control errors.

Therefore, as pointed out by Merlet [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF], active-joint errors (input errors) are the most significant source of errors in a properly designed, manufactured, and calibrated parallel robot. In this paper, we address the problem of computing the accuracy of a parallel robot in the presence of active-joint errors only. In the balance of the paper, the term "accuracy" will therefore refer to the position and orientation errors of a parallel robot that is subjected to active-joint errors only.

The classical approach consists in considering the first order approximation that maps the input error to the output error:    p J q [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF] where q represents the vector of the active-joint (input) errors, p the vector of output errors and J is the Jacobian matrix of the robot. However, this method will give only an approximation of the output maximum error.

Several performance indices have been developed and used to roughly evaluate the accuracy of serial and parallel robots. A recent study [START_REF] Merlet | Jacobian, manipulability, condition number, and accuracy of parallel robots[END_REF] reviewed most of these performance indices and discussed their inconsistencies when applied to parallel robots with translational and rotational degrees of freedom. The most common performance indices used to indirectly optimize the accuracy of parallel robots are the dexterity index [START_REF] Gosselin | The optimum design of robotic manipulators using dexterity indices[END_REF], the condition numbers [START_REF] Salisbury | Articulated hands: force and kinematic issues[END_REF],

and the global conditioning index [START_REF] Gosselin | A global performance index for the kinematic optimization of robotic manipulators[END_REF]. However, in a recent study of the accuracy of a class of 3-DOF planar parallel robots [START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF], it was demonstrated that dexterity has little to do with robot accuracy, as we define it.

Obviously, the best accuracy measure for an industrial parallel robot would be the maximum position and maximum orientation errors over a given portion of the workspace [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF],

[6]- [START_REF] Briot | A pair of measures of rotational error for axisymmetric robot endeffectors[END_REF] or at a given nominal configuration, given actuator inaccuracies. A general method based on interval analysis for calculating close approximations of the maximum output error over a given portion of the workspace was proposed recently in [START_REF] Merlet | Computing the worst case accuracy of a PKM over a workspace or a trajectory[END_REF]. Clearly, the maximum output error over a given portion of the workspace is the most important information for a designer. However, this method is relatively difficult to implement, gives no information on the evolution of the accuracy of the manipulator within its workspace and gives no kinematic insight into the problem of optimal design. In contrast, simple geometric methods for computing the exact value of the accuracy of 2-DOF and 3-DOF planar parallel robots were described in [START_REF] Yu | Geometric method for the accuracy analysis of a class of 3-DOF planar parallel robots[END_REF]- [START_REF] Briot | Are parallel robots more accurate than serial robots[END_REF] . These methods propose to replace the existing dexterity maps by maximum position error maps and maximum orientation error maps. While these methods cover three of the most promising designs for precision parallel robots (one of which is commercialized and the other two built into laboratory prototypes), they work only for 2-DOF or 3-DOF planar parallel robots, and not for other mechanisms, such as 3T1R fully-parallel manipulators.

There are a high number of 3T1R fully-parallel architectures [START_REF] Kong | Parallel manipulators with four degrees of freedom[END_REF]- [START_REF] Clavel | Hita-STT, a new 5 dof parallel kinematics for production applications[END_REF]. Therefore finding a general method for the analysis of their accuracy could be a complicated task.

However, they can be classified into two groups:

decoupled manipulators, i.e. robots with linear and decoupled kinematic relationships, for which a simple kinematic analysis could show that a maximal position error occurs at a maximal error on the input (if the platform is sufficiently far from Type 1 singular configurations [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]).

more general coupled manipulator, for which the analysis is more complicated. These are the subject of this paper.

Thus, this paper proposes a method, based on geometric analysis and following a detailed mathematical proof, which gives us important insight into the accuracy of general 3T1R parallel robots. The present study considers only 4-DOF four-identical-legged 3T1R parallel robots with prismatic and/or revolute and/or universal and/or spherical joints (they will be denoted as P, R, U and S joints, respectively), one actuated joint per leg (denoted by an underlined letter), and at most one passive prismatic joint in a leg. The method is illustrated on one practical design: the Adept's Quattro robot [START_REF] Nabat | Robot parallèle à quatre degrés de liberté à grande vitesse[END_REF], [START_REF] Nabat | Robots parallèles à nacelle articulée. Du concept à la solution industrielle pour le pick-and-place[END_REF].

The remainder of this paper is organized as follows. Section II briefly outlines the mathematical theorems used in this paper. Section III presents the method used for the analysis of the orientation and position errors. Finally, Section IV covers the numerical example, and conclusions are given in Section V.

II. MATHEMATICAL BACKGROUND

Analyzing the (local) maximum position error and the (local) maximum orientation error of a parallel robot with Schoenflies motions, induced by bounded errors in the activejoint variables, is basically studying, on a set of closed intervals, the maxima of functions X and defined as:

2 0 2 0 2 0 ) ( ) ( ) ( z z y y x x X        , (2)
 

2 0       , (3)
where x 0 , y 0 , z 0 and  0 are the Cartesian coordinates corresponding to the nominal (desired) platform pose (position and orientation) of the studied parallel robot, and x, y, z and  are the actual platform coordinates. Without loss of generality, in the following in this paper, we will consider that the rotation of angle  is about z axis.

In the case of a 4-DOF 3T1R parallel robot, X and are functions of four variables:

the active-joint variables of the robot (the inputs), which will be denoted by q i (in this paper, i = 1, 2, 3, 4). Thus, we have to find the maxima of X and on the set of intervals

       0 0 , i i i q q q
, where q i0 are the active-joint variables corresponding to the nominal pose (x 0 , y 0 ,  0 ) of the platform (in a given working mode, i.e., the selected solution to the inverse kinematics) and  is the error bound on the active-joint variables.

To simplify our error analysis, we will make the practical assumption that the nominal configuration is sufficiently far from (Type 1 and Type 2) singularities. Type 1 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] are configurations where a parallel robot loses one or more degrees of freedom. These are the internal and the external boundaries of workspace. For this reason, the usable workspace of an industrial parallel robot will be away from these singularities. Similarly, Type 2 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF] and constraints singularities [START_REF] Zlatanov | Constraint singularities of parallel mechanisms[END_REF] are other kinds of configurations where a parallel robot loses its desired functionalitythis time it loses control of the mobile platform. Furthermore, near these configurations, the output error increases exponentially. For these reasons, industrial parallel robots are designed to exclude such singularities. Therefore, we will obviously perform our error analysis only for configurations that are sufficiently far from singularities, i.e., for nominal configurations from which the robot cannot enter into singularity while the active-joint variables stay within their error-bounded intervals.

Once we have made this practical assumption, we address the problem of finding the global maxima of X and It is well known that the maximum of a continuous multivariable function, f (f may represent any of the functions X or ), over a given set of intervals can be found by analysing the Hessian matrix, H: 2 q f q q f q q f q q f q q f q f q q f q q f q q f q q f q f q q f q q f q q

                                                                     2 4
f q q f q f H . ( 4
)
Using this Hessian matrix, the set of variables (q 1m , q 2m , q 3m , q 4m ), where

       0 0 , i i im q q q
, leads to a maximum of f if 0 ) , , , (

4 3 2 1    m m m m i q q q q q f
and H is negative definite. If such a point exists (q 1m , q 2m , q 3m , q 4m ), we will call it a maximum of the first kind.

The global maximum of f could also be found for one input error fixed at one of the extremities of its interval (i.e. q j = q j0 - or q j = q j0 +  j = 1, 2, 3 or 4). This time, we have to study the maxima of eight functions of three variables each, defined as:

g 1 :     4 3 2 10 4 3 2 , , , , , q q q q f q q q    , g 2 :     4 3 2 10 4 3 2 , , , , , q q q q f q q q    , g 3 :     4 3 20 1 4 3 1 , , , , , q q q q f q q q    , g 4 :     4 3 20 1 4 3 1 , , , , , q q q q f q q q    , g 5 :     4 30 2 1 4 2 1 , , , , , q q q q f q q q    , g 6 :     4 30 2 1 4 2 1 , , , , , q q q q f q q q    , g 7 :        40 3 2 1 3 2 1 , , , , , q q q q f q q q , g 8 :        40 3 2 1 3 2 1 , , , , , q q q q f q q q .
If such points exist, we will call them maxima of the second kind.

The global maximum of f could also be on the faces of the input error bounding box, for two inputs error fixed at one of the extremities of their intervals. This time, we have to study the maxima of twenty-four functions of two variables:

h 1 :     4 3 20 10 4 3 , , , , q q q q f q q      , h 2 :     4 3 20 10 4 3 , , , , q q q q f q q      , h 3 :     4 3 20 10 4 3 , , , , q q q q f q q      , h 4 :     4 3 20 10 4 3 , , , , q q q q f q q      , h 5 :     4 30 2 10 4 2 , , , , q q q q f q q      , h 6 :     4 30 2 10 4 2 , , , , q q q q f q q      , h 7 :     4 30 2 10 4 2 , , , , q q q q f q q      , h 8 :     4 30 2 10 4 2 , , , , q q q q f q q      , h 9 :          40 3 2 10 3 2 , , , , q q q q f q q , h 10 :          40 3 2 10 3 2 , , , , q q q q f q q , h 11 :          40 3 2 10 3 2 , , , , q q q q f q q , h 12 :          40 3 2 10 3 2 , , , , q q q q f q q , h 13 :     4 30 20 1 4 1 , , , , q q q q f q q      , h 14 :     4 30 20 1 4 1 , , , , q q q q f q q      , h 15 :     4 30 20 1 4 1 , , , , q q q q f q q      , h 16 :     4 30 20 1 4 1 , , , , q q q q f q q      , h 17 :          40 3 20 1 3 1 , , , , q q q q f q q , h 18 :          40 3 20 1 3 1 , , , , q q q q f q q , h 19 :          40 3 20 1 3 1 , , , , q q q q f q q , h 20 :          40 3 20 1 3 1 , , , , q q q q f q q , h 21 :          40 30 2 1 2 1 , , , , q q q q f q q , h 22 :          40 30 2 1 2 1 , , , , q q q q f q q , h 23 :          40 30 2 1 2 1 , , , , q q q q f q q , h 24 :          40 30 2 1 2 1 , , , , q q q q f q q ,
If such points exist, we will call them maxima of the third kind.

The global maximum of f could also be on the edges of the input error bounding box, for three input errors fixed at one of the extremities of their intervals. This time, we have to study the maxima of thirty-two univariate functions:

m 1 :   4 30 20 10 4 , , , q q q q f q        , m 2 :   4 30 20 10 4 , , , q q q q f q        , m 3 :   4 30 20 10 4 , , , q q q q f q        , m 4 :   4 30 20 10 4 , , , q q q q f q        , m 5 :   4 30 20 10 4 , , , q q q q f q        , m 6 :   4 30 20 10 4 , , , q q q q f q        , m 7 :   4 30 20 10 4 , , , q q q q f q        , m 8 :   4 30 20 10 4 , , , q q q q f q        , m 9 :          40 3 20 10 3 , , , q q q q f q , m 10 :          40 3 20 10 3 , , , q q q q f q , m 11 :          40 3 20 10 3 , , , q q q q f q , m 12 :          40 3 20 10 3 , , , q q q q f q , m 13 :          40 3 20 10 3 , , , q q q q f q , m 14 :          40 3 20 10 3 , , , q q q q f q , m 15 :          40 3 20 10 3 , , , q q q q f q , m 16 :          40 3 20 10 3 , , , q q q q f q , m 17 :          40 30 2 10 2 , , , q q q q f q , m 18 :          40 30 2 10 2 , , , q q q q f q , m 19 :          40 30 2 10 2 , , , q q q q f q , m 20 :          40 30 2 10 2 , , , q q q q f q , m 21 :          40 30 2 10 2 , , , q q q q f q , m 22 :          40 30 2 10 2 , , , q q q q f q , m 23 :          40 30 2 10 2 , , , q q q q f q , m 24 :          40 30 2 10 2 , , , q q q q f q , m 25 :          40 30 20 1 1 , , , q q q q f q , m 26 :          40 30 20 1 1 , , , q q q q f q , m 27 :          40 30 20 1 1 , , , q q q q f q , m 28 :          40 30 20 1 1 , , , q q q q f q , m 29 :          40 30 20 1 1 , , , q q q q f q , m 30 :          40 30 20 1 1 , , , q q q q f q , m 31 :          40 30 20 1 1 , , , q q q q f q , m 32 :          40 30 20 1 1 , , , q q q q f q .
If such points exist, we will call them maxima of the fourth kind.

Finally, the global maximum of f could also be on one of the sixteen corners of the input error bounding box, for four input errors fixed at one of the extremities of their intervals. These sixteen points will be referred to as extrema of the fifth kind.

Finding the global maxima of functions X and  is equivalent to finding the maxima of functions X² and ². In the next section, we will study the extrema of the functions X² and ².

III. ANALYSIS OF THE ORIENTATION AND POSITION ERRORS

A. Maximum Orientation Error

The partial derivatives of ² are given as

    0 2 2            i i q q . ( 5
)
These derivatives are equal to zero if

0 /    i q  or if 0 0     . Obviously, however, a maximum can exist only if 0 /    i q  .
For a 4-DOF 3T1R parallel robot, two different situations correspond to the condition

0 /    i q  :
a) the robot is at a Type 1 singularity. However, we already assumed that the robot cannot enter a Type 1 singularity within the interval studied.

b) the twist of the mobile platform, when actuators of legs j, k and l (j, k, l = 1, 2, 3, 4,

l k j i   
) are fixed, is a pure translation. This case is more complicated to analyse.

Let us observe the structure of a general 3T1R fully-parallel robot. It is made of four identical legs, each actuated by a motor (generally) fixed on the base. In order to constrain the platform, each leg applies two wrenches on it. In a general manner, for most of these robots, each leg applies one pure force and one pure moment on point P i of the platform. However, it is well known that, to fix the orientation and the position of a device in space, it has to be submitted to at least six linearly independent wrenches. Therefore, among the eight wrenches applied on the platform of the robot, two of them are dependant of the others (basically, two of the pure moments are dependant from the other wrenches).

For a general 3T1R parallel manipulator, the six independent wrenches w j (j = 1 to 6) can be written under the simplified form (if the platform is not in singular configuration):

                                          0 1 0 0 0 0 0 0 1 0 0 0 4 4 4 4 4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
where

  i PPi T iz iy ix i m m m r d m    (7)
with r i = [r ix , r iy , r iz ] T and d PPi the vector between point P and P i , P being the controlled point of the platform. We consider in the following of this paper that d PPi = [a i , b i , 0] T , i.e. the platform is "planar".

Consider now that actuator of leg 1 is inactive. So the platform gain one degree of freedom, represented by the twit t 1 , which is reciprocal to the wrenches w j (j = 2 to 6). t 1 may be written under the form

t 1 = [v 1x , v 1y , v 1z , 0, 0,  1z ] T , where v 1 = [v 1x , v 1y , v 1z ]
T is the translational velocity of point P of the platform, and   = [0, 0,  1z ] T is the rotational velocity.

From the definition of t 1 , it can be written that:

  0 t w w w w w  1 6 5 4 3 2 T (8)
Eq. ( 8) can be rewritten as:

0 1 0 0 0 1 0 0 0 0 0 0 ω M ω v v R                                      z y x z y x z y x z y x z y x z y x m m m m m m m m m r r r r r r r r r (9)
The term 1 / q   corresponds to the rotation of the platform about the z axis when actuators 2, 3 and 4 are fixed, and actuator 1 is moving. Therefore, it is equivalent to the rotational velocity  1z . Thus, cancelling the term 1 / q   remains having  1z = 0, and also   = 0, for any value of v 1 .

From Eq. ( 9), if vector   is cancelled:

v 1 = 0; it is necessary to mention that the vector v 1 corresponds to the translational velocity of the platform when actuators 2, 3 and 4 are fixed, and actuator of leg 1 is moving. Therefore it is equivalent to the translational velocity 1 / q  X . Thus,

0 X    1 / q and 0 / 1    q



, i.e., a column of the Jacobian matrix (which relates the velocity of the platform and the velocity of the articulated joints) is cancelled.

Therefore, the manipulator encounters a Type 1 singularity. However, we already assumed that the robot cannot enter a Type 1 singularity within the interval studied.

matrix R 1 is rank deficient; this appears when vectors r j = [r jx , rjy, r jz ] T (j = 2, 3, 4) are parallel or coplanar.

It should be noted that equivalent conditions could be obtained by considering that the actuators of the other legs are inactive.

Therefore, a maximum of the first kind exists if and only if vectors r 1 , r 2 , r 3 and r 4 are parallel or coplanar, i.e., if the first three columns of matrix W are linearly dependant.

However, such a configuration corresponds to a Type 2 or a constraint singularity, and we already assumed that there are no Type 2 or constraint singularities for the set of intervals studied. The same conclusion can be given for the maxima of the second and third kinds.

A maximum of the fourth kind exists if r j , r k and r l (j, k, l = 1, 2, 3, 4,

l k j  
) are parallel or coplanar. If such a configuration is possible, it has to be tested to determine its nature.

Finally, extrema of the fifth kind will always exist and should always be tested.

Thus, in the analysis of the orientation error, only maxima of the fourth and fifth kind might appear. Maxima of the fourth kind are very difficult to compute analytically. Therefore, we are confident that the best way to proceed, in areas of the workspace where one feels that the robot might be in configurations in which three wrenches are parallel or coplanar and this could be a local maximum (rather than a minimum) for the orientation angle, is to discretize the edges of the input error bounding box, compute  at each discrete point, and retain the maximum value. Obviously, such a discretization will be somewhat time-consuming and less accurate, but our approach will still produce much more meaningful results than a simple dexterity plot. Note, however, that in most cases it will be obvious that such configurations cannot occur. For these cases, one must only compute  at each corner of the input error bounding box and retain the maximal value. This will be the exact local orientation error.

B. Maximum Position Error

The partial derivatives of X² are given as

    0 T 2 2 X X X                i i q q X , (10) 13
These derivatives are equal to zero if

0 /    i q X , if i q   / X is orthogonal to 0 X X  , or if 0 0   X X
. Obviously, however, the condition 0 0   X X corresponds to a global minimum, and will therefore be ignored.

For a 4-DOF 3T1R parallel robot, two different situations correspond to the condition

0 /    i q X :
the robot is at a Type 1 singularity. However, we already assumed that the robot cannot enter in a Type 1 singularity within the interval of interest.

the twist of the mobile platform, when legs j, k and l (j, k, l = 1, 2, 3, 4,

l k j i    )
are fixed, is a pure rotation.

Without loss of generality, consider now that actuator of leg 1 is inactive. If

0 X    i q /
, so v 1 = 0, for any value of  1 . From Eq. ( 9), if vector v 1 is cancelled:

- 1 = 0; However, it means that a column of the Jacobian matrix is cancelled.

Therefore, the manipulator encountered a Type 1 singularity. However, we already assumed that the robot cannot enter a Type 1 singularity within the interval studied.

matrix M 1 of Eq. ( 9) is rank deficient; this appears when vectors f j = [r jx , r jy , 0] T (j = 2, 3, 4) are parallel or intersect at point P.

Next, we will show geometrically that a global maximum of X 2 can exist only on the edges (including the corners) of the input error bounding box, i.e., only maxima of the fourth and fifth kinds might appear.

An analysis of the robots presented in [START_REF] Kong | Parallel manipulators with four degrees of freedom[END_REF]- [START_REF] Clavel | Hita-STT, a new 5 dof parallel kinematics for production applications[END_REF] shows that the vertex spaces of such architectures are geometric figures which could be obtained by the rotation (in the case of an actuated revolute joint) or the translation (in the case of an actuated prismatic joint) of portions of cylinders (if the leg is made of at least one passive prismatic or cylindrical joint), spheres or torus (if the leg is made of revolute, universal or spherical joints only) or planes (if the leg is made of at least one passive prismatic joint and all passive joints allow a planar displacement of the extremity of the leg). Indeed, finding this maximum is equivalent to finding the point from the uncertainly zone of the platform center that is farthest from the nominal position of the mobile platform. This uncertainty zone is basically the maximal workspace of the robot (i.e., the set of all attainable positions of the platform centre) obtained by sweeping the active-joint variables in their corresponding intervals,

       0 0 , i i i q q q
. Obviously, the point that we are looking for will be on the boundary of this maximal workspace.

It is well known that the maximal workspace of a spatial four legged parallel robot (and more generally for all kind of parallel robots), for a fixed orientation of the platform [START_REF] Merlet | Parallel Robots[END_REF], corresponds to the intersection of the four vertex spaces, displaced by an offset vector equal to the vector between each attachment point of the platform and the center of the mobile platform. So it is composed of portions of volumes that correspond to configurations in which at least one leg is at a Type 1 singularity (which we exclude from our study) or at an activejoint limit (we also consider that there are no limits on the passive joints).

In error analysis, the intervals of interest are extremely small compared to the overall dimensions of the robot, and so is the uncertainty zone for a given nominal configuration.

This means that, in practice, the radius of a portion of a sphere or a cylinder (a plane is a portion of sphere or cylinder of infinite radius) that belongs to the boundary of the uncertainty zone will be much greater than the maximum position error. Therefore, for such a tiny portion of large radius, the point that is farthest from the nominal position will be at one of the extremities of the portion. This is illustrated on Fig. 1, where R s represents the sphere radius and d max the maximal distance from point P to the portion of sphere.

For spatial robots the point that is farthest from the nominal position will be at the intersection of three portions of spheres. This point will therefore correspond to three activejoint variables at a limit. Thus, thanks to this geometric analysis, we were able to demonstrate that the maximum position error cannot be elsewhere but on the thirty two edges of the input error bounding box. The only exceptions to our rule of thumb which exist will appear near singular configurations or for special designs of manipulators for which the vertex space is limited to small spheres, torus or cylinders of which radius is close to zero. But they are extremely rare and occur only for some particular mechanism designs (unknown by the authors of this paper). Moreover, the Quattro, the most used 3T1R fully-parallel robot, does not figure among the exceptions, so its maximal position errors will always be at the edges of the input error bounding box.

So, let us now observe the apparition of maxima of the fourth kind. For legs j, k and l

(j, k, l = 1, 2, 3, 4, l k j i   
), the condition for having a maximum of the fourth kind on

the interval       0 0 , i i q q
is that:

16 a) 0 /    i q X ; b) i q   / X is orthogonal to 0 X X  .
Condition (a) has already been discussed. Such a configuration has to be examined in order to determine whether it corresponds to a global maximum or not. However, it is very difficult to analytically identify such configurations. Therefore, once again, we are confident that the best way to proceed, in areas of the workspace where one feels that the robot might be in configurations in which three leg forces f j (j = 1, 2, 3 or 4) intersect at the centre of the mobile platform, is to discretize the edges of the input error bounding box, compute X at each discrete point, and retain the maximum value. Note, however, that in most cases it will be obvious that such configurations cannot occur. For these cases, one must only consider condition (b).

Condition (b) is even more complicated to analyze. The partial derivative i q   / X represents the first three elements of the ith column of the Jacobian matrix of the robot. If the

direction of vectors i q   / X
is close to a constant in the interval studied (which is far from Type 2 singularities), then it is possible to say that on this interval, the displacement of the robot, when legs j, k and l are fixed, is close to a straight line. This can be verified approximately by computing vector i q   / X at each corner of the input-error bounding box. If the variation of the direction of the vector

i q   / X
is inferior to a given value (for example 1 degree), then one can consider that the direction of i q   / X does not change in the interval studied.

Let B be a point for which

i q   / X is orthogonal to 0 X X 
(Fig. 2). Vector udefines the direction of the allowed displacement at point B. If we represent a line passing through point B, whose direction is defined by vector u, this line defines the locus for the displacement of the platform around point B when only the ith actuator is moving. If we represent two points A and C located on this line around B, the direction of vector u defines the direction of the displacement when the ith leg is actuated in the positive sense of q i . Thus, point A represents the point before passing point B and point C the point after when the ith actuator is moving.

It is so possible to determine the signs of the product    

q   / X is orthogonal to   0 X X  .
Of course, there are exceptions to our rule of thumb, but they are extremely rare and occur only for some particular mechanism designs. For example, consider the Quattro parallel robot. The curve described by the platform centre, when three of the actuators are blocked, is the intersection between a portion of a torus and a sphere, which is a relatively smooth curve.

Therefore, if one takes a segment at whose endpoints the slope is nearly the same, this segment is clearly close to a line. However, if a more complex robot is considered, it is possible to have a segment at whose endpoints the slope is nearly the same, yet the segment is far from linear (e.g., there is a cusp point, or a tiny loop). However, we consider that such situations are extremely unlikely to happen, and even if they do, they will occur for only certain configurations and not throughout the workspace. Therefore, for simplicity, we will exclude this small possibility from our study.

To sum up, the proposed method is very simple to implement and, for most practical 4-DOF 3T1R robot designs, fast and accurate. For most designs, at each nominal configuration, we have to compute the direct kinematics for sixteen sets of active-joint variables, which can either be done analytically, or using a very accurate numerical method (since we are far from singularities). Thus, for computing the local maximum orientation error and local maximum position error of a 4-DOF 3T1R parallel robot for a given nominal configuration, one should, at worst, compute the direct kinematics at only 32n points (using the algorithms presented in [START_REF] Merlet | Parallel Robots[END_REF]), where n is the number of discretization points on each of the edges of the input error bounding box. As already mentioned such a discretization is unfortunately somewhat time-consuming and might lead to a certain computational inaccuracy. However, relatively simple analysis can show that for a given robot design, only the sixteen vertices of the input error bounding box should be verified. Namely, for the computation of the maximum orientation error, this is the case if no three wrenches can be parallel or coplanar and lead to a local maximum, and for the computation of the maximum position error, this is the case if no three forces f j can intersect at the platform centre and the variation of the direction of each vector i q   / X is very small.

IV. EXAMPLE: THE QUATTRO ROBOT

The Quattro robot is a well known Delta like manipulator [START_REF] Clavel | Device for movement and displacing of an element in space[END_REF] designed at the LIRMM of Montpellier in France (Fig. 3). The design parameters of the equivalent kinematic chain of the prototype of the LIRMM are as follows (Fig. 4):

the actuators are mounted on the base and are located at revolute joints A i ;

points A i forms a square of edge length 0.5 m;

the point O, centre of the base frame Oxyz, is taken as the centre of the square

A 1 A 2 A 3 A 4 ;
the platform is linked to the legs by four universal joints at point C i ;

the length of the rods A i B i is 0.3 m;

the length of the rods B i C i is 0.8 m;

the controlled point of the platform is point P; the rotation of the tool is given by the shear of the platform which control the displacement of a pulley belt transmission linked at point P (not shown here); thus the output rotation angle is proportional to angle , therefore we consider as output angle  directly;

the length of the rods

C 1 C 2 = C 3 C 4 is 0.1 m; -the length of the rods E 2 E 3 = E 1 E 4 is 0.1 m;
the length of the rods D i E i is 0.01 m;

the error bound on the active-joint variables is The singularities of this kind of robot are described in [START_REF] Nabat | Robots parallèles à nacelle articulée. Du concept à la solution industrielle pour le pick-and-place[END_REF] and the authors claim that the usable workspace of their robot can be defined by at least a cylinder whose axis is vertical, centred at O and of radius equal to 0.45 m for any orientation angle. In order to avoid any computational problem due to the neighbourhood of singular positions, we restrain the radius to 0.4 m. It is possible to note that:

the value of function 1 / q   does not vanish in the studied workspace; -the variation in the direction of vector 1 / q  X is very small in the studied workspaces (less than 0.05°). As already mentioned, this is not a 100% guarantee that the maximum position error occurs at one of the eight corners of the input error bounding box. Therefore, for the purposes of this demonstration, we have also verified on the edges of the bounding box (using 20 discretization intervals on each edge). Not even one nominal configuration was found for which the maximum position error is not at one of the eight corners. Therefore, the assumption that we make is valid in this example. Thus, for this robot too, there only are sixteen sets of active-joint variable to test for computing the local maximum orientation error and local maximum position error of the robot. The resulting contour plots for two different orientations are presented in Figs. 7 and8.

It can be noted that the orientation error of this parallel robot is nearly constant for both orientations and altitudes. This is not the case of the position error for the orientation of the platform of 60°. This can be explained by the fact that the robot stays far from singularities in the studied workspace in the first case, and not in the second (due to the shear of the platform). We also analyze the error between our exact error analysis and the values given by the first order approximation of Eq. (1) (Figs. 9 and 10). It is interesting to note that the deviation between the two models is very important in the case of the maximal position error, which is not the case for the maximal orientation error.

Finally, we measure the computation time between our analysis, for which the direct kinematics are computed sixteen times for each nominal position of platform, and an algorithm for which the error interval for each actuator are divided into ten portions. For each Fig. 7 and8, 9600 nominal positions of the platform are tested. Our algorithm gives the solution into about 160 s (with a Pentium 4, 2.66 GHz, 2 Gb RAM). The most timeconsuming algorithm will give the solution after 28 hours of computation. When testing only the edges, the results will be obtained after 50 minutes. It is clear here that our method largely decreases the computation time.

V. CONCLUSIONS

This paper presented a detailed study of the local maximum orientation and position errors occurring in 4-DOF 3T1R fully parallel robots subjected to errors in the inputs. It was proven that, when sufficiently far from singularities, the local maximum orientation and position errors can occur only when at least three inputs suffer a maximum error. However, a simple procedure was proposed to evaluate, for a given design, whether these output errors can occur when only three inputs are at a maximum error. Thanks to this detailed study, a simple method was proposed to calculate the local maximum orientation and position errors for a given nominal configuration and given error bound on the inputs. The method involves solving the direct kinematics for sixteen, or a maximum of 32n (n being the number of discretization steps), sets of inputs. This method is relatively fast, accurate, but mostly, very

Figure captions

Fig. 1 .

 1 Fig. 1. Maximal distance of a point to a portion of sphere.

  and C. At point A it is negative and at point C it is positive. This shows that point B is a local minimum of X². Thus, such a configuration does not represent a maximum of the third kind.

Fig. 2 .

 2 Fig. 2. Analysis of a local extremum for which

Fig. 3 .Fig. 4 .

 34 Fig. 3. Prototype of the Quattro (courtesy of Vincent Nabat).

Fig. 5 .

 5 Fig. 5. Variation of function

Fig. 6 .

 6 Fig. 6. Variation in the direction of vector

  (a) z = -0.6 m,  = 0°. (b) z = -0.7 m,  = 60°.

Fig. 7 .Fig. 8 .

 78 Fig. 7. Maximum orientation errors for two orientations and altitudes (degrees).

  (a) z = -0.6 m,  = 0°. (b) z = -0.7 m,  = 60°.

Fig. 9 .

 9 Fig. 9. Deviation between the real and the approximate orientation error models (%) for two

Fig. 10 .

 10 Fig. 10. Deviation between the real and the approximate position error models (%) for two

Fig. 1 .

 1 Fig. 1. Maximal distance of a point to a portion of sphere.

Fig. 2 .Fig. 3 .

 23 Fig. 2. Analysis of a local extremum for which

Fig. 4 .Fig. 5 .

 45 Fig. 4. Equivalent kinematic chain of the Quattro

Fig. 6 .Fig. 7 .

 67 Fig. 6. Variation in the direction of vector

Fig. 8 .

 8 Fig. 8. Maximum position errors for two orientations and altitudes (m).

Fig. 9 .

 9 Fig.9. Deviation between the real and the approximate orientation error models (%) for two

Fig. 10 .

 10 Fig. 10. Deviation between the real and the approximate position error models (%) for two

simple to implement and gives valuable insight into the kinematic accuracy of parallel robot.

It should be mentioned that, even if the proposed method is focused on only 4-DOF fouridentical-legged 3T1R parallel robots, it can easily extended to "asymmetrical" 3T1R manipulators (typically a 6-DOF Stewart platform constrained by a passive limb with DOF less than 6). Moreover, the authors hope they will be able to extend such a work to other types of spatial parallel robots.

The authors believe that the proposed method should be used for all 4-DOF 3T1R fully-parallel robots instead of the much less meaningful dexterity maps.

The direct kinematics of this robot allows up to eight real solutions and cannot be solved analytically [START_REF] Nabat | Robots parallèles à nacelle articulée. Du concept à la solution industrielle pour le pick-and-place[END_REF]. Since we only need the solution that can be reached from the nominal pose, while the active-joint variables remain in their intervals, we will use an iterative numerical method such as the Newton-Raphson method. This method requires only the computation of the Jacobian matrix of the robot, which is very simple to obtain. In our error analysis, we will always start the algorithm at the nominal configuration and vary the active-joint variables in a very small interval of length up to ε. Furthermore, we will use this algorithm for configurations that are sufficiently far from singularities. Therefore, as verified in this example, the algorithm converges very quickly (usually, in only two iterations for a precision of 10 -10 m and 10 -10 degrees).

Thus, as previously said, the maximal position and orientation errors are located on the edges of the error bounding box. So it means that, for any nominal pose of the platform, there are 32n configurations to test, n being the discretization step. This is very time consuming and it would be preferable to restrain our analysis to the sixteen maxima of the fifth kind (the corner of the bounding box). In order this to be possible, we have to observe the values of the functions 1 / q   in the studied workspace (Fig. 5) as well as the variation of angle of vectors i q   / X (Fig. 6). For reasons of brevity, we present only the figures for one actuator, but the values for the other actuators are very similar.


S Briot

V Arakelian
email: vigen.arakelyan@insa-rennes.fr

N Sauvestre
email: nayelli_sauvestre@hotmail.com

J.-P Le Baron
email: jean-paul.le-baron@insa-rennes.fr

Shaking Forces Minimization of High-Speed Robots via an Optimal Motion Planning

This paper deals with the problem of shaking force balancing of high-speed robots based on a new optimal trajectory planning approach. The aim of the new approach is the optimal path planning of the robot links centre of masses, which allows a considerable reduction of the variable inertia forces transmitted to the robot frame. The efficiency of the suggested method is illustrated by a numerical simulation of a planar two links 2R serial robot, in which reductions in the shaking force of 63 % and in input torque of 84 % are achieved.

Introduction

A primary objective of linkage balancing is to cancel or reduce the variable dynamic loads transmitted to the frame and surrounding structures. Different approaches and solutions devoted to this problem have been developed and documented for one degree of freedom mechanisms [START_REF] Lowen | Balancing of linkagesan Update[END_REF], [START_REF] Arakelian | A historical review of the evolution of the theory on balancing of mechanisms[END_REF], [START_REF] Arakelian | Shaking force and shaking moment balancing of mechanisms: a historical review with new examples[END_REF]. A new field for their applications is the design of mechanical systems for fast manipulation, which is a topical problem in advanced robotics.

The balancing of a mechanism is generally carried out by two steps: (i) the cancellation (or reduction) of the shaking force and (ii) the cancellation (or reduction) of the shaking moment. Traditionally, the cancellation of the shaking force transmitted to the robot frame can be achieved via adding counterweights in order to keep the total centre of mass of moving links stationary [START_REF] Lowen | Balancing of linkagesan Update[END_REF], [START_REF] Arakelian | A historical review of the evolution of the theory on balancing of mechanisms[END_REF]. However, this approach leads to the increase in the total mass of the mechanical systems and consequently the increase in input torques.

With regard to the shaking moment balancing of robots, the following approaches were developed: (i) balancing by counter-rotations [START_REF] Berkof | Complete fore and moment balancing of inline four-bar linkages[END_REF], [START_REF] Dresig | Vollständiger und harmonischer Ausgleich ebener Mechanismen[END_REF], [START_REF] Arakelian | Complete shaking force and shaking moment balancing of linkages[END_REF], [START_REF] Herder | A counter-rotary counterweight for light-weight dynamic balancing[END_REF], (ii) balancing by adding four-bar linkages [START_REF] Gosselin | Synthesis and design of reactionless tree-degree-of-freedom parallel mechanisms[END_REF], [START_REF] Ricard | On the design of reactionless parallel manipulators[END_REF], (iii) balancing by optimal trajectory planning [START_REF] Papadopoulos | Design and motion planning for a zero-reaction manipulator[END_REF], [START_REF] Fattah | On the design of reactionless 3-DOF planar parallel mechanisms[END_REF], [START_REF] Arakelian | Dynamic balancing of the SCARA robot[END_REF] and (iv) balancing by adding an inertia flywheel rotating with a prescribed angular velocity [START_REF] Arakelian | Design of planar 3-DOF 3-RRR reactionless parallel manipulators[END_REF].

It should be noted that the complete dynamic balancing can only be reached by a considerably complicated design of initial robot mechanisms and by unavoidable increase in the total mass. This is the raison why we focused our research studies on the development of robot balancing methods via optimal motion planning approaches, i.e. without modification of the initial mechanical structure and without any adding masses.

The paper is organized as follows. In the next part, the suggested optimal motion planning is described. Then, for illustration of the efficiency of this approach, simulations carried out using ADAMS software for a planar two links 2R serial robot are presented. Finally, conclusions are drawn in the last section.

Minimization of the Shaking Forces via an Optimal Motion Planning of the Total Mass Centre of Moving Links

The shaking forces f sh of a robot can written in the form:

S tot sh m x f    (1)
where m tot is the total mass of the moving links of a robot and S x   the acceleration of the total mass centre. The classical balancing approach consists in adding counterweights in order to keep the total mass centre of moving links stationary. In this case,

S

x   = 0 for any configuration of the mechanical system. But, as a consequence, the total mass of the robot is considerably increased. Thus, in order to avoid this drawback, in the present study, a new approach is proposed, which consists of the optimal control of the total mass centre of moving links. Such an optimal motion planning allows the reduction of the total mass centre acceleration and, consequently, the reduction of the shaking force.

Classically, robot displacements are defined considering either articular coordinates q or Cartesian variables x. Knowing the initial and final robot configurations at time t 0 and t f , denoted as q 0 = q(t 0 ) and q f = q(t f ), or x 0 = x(t 0 ) and x f = x(t f ) , in the case of the control of the Cartesian variables, the classical displacement law may be written in the form:

  0 0 f q q q q    ) ( ) ( t s t q (2a) or   0 0 f x x x x    ) ( ) ( t s t x (2b)
where s q (t) and s x (t) may be polynomial (of orders 3, 5 and higher), sinusoidal, bang-bang, etc. laws [START_REF] Khalil | Modeling, identification and control of robots[END_REF].

From expression (1), we can see that the shaking force, in terms of norm, is minimized if the norm S x   of the masses centre acceleration is minimized along the trajectory. This means that if the displacement x S of the robot centre of masses is optimally controlled, the shaking force will be minimized.

Let us consider a robot composed of n links. The mass of the link i is denoted as

m i (i = 1, …, n)
and the position of its centre of masses as x Si . Once the articular coordinates q or Cartesian variables x are known, the values of x Si may easily be obtained using the robot kinematics relationships. As a result, the position of the robot centre of masses, defined as

   n i Si i tot S m m 1 1 x x
(3) may be expressed as a function of x or q. It may also be shown that, if dim(x S ) = dim(q) (= dim(x) in the case of non redundant robots), x and q may be expressed as a function of x S . We would like to mention that the case where dim(x S ) < dim(q) will not be considered in this paper. It will be the topic of our further research works.

Thus, taking into account that q = f(x S ) (and as a consequence x = g(x S )), the problem remains to optimally define the trajectory x S (t). For this reason, let us consider the displacement x S of a point S in the Cartesian space. We assume that, at any moment during the displacement, the norm of the maximal admissible acceleration the point S can reach is constant and denoted as max S x  . Taking that into consideration, the displacement law that minimize the time interval (t 0 , t f ) for going from position x S0 = x S (t 0 ) to position x Sf = x S (t f ) is the "bang-bang" law [START_REF] Khalil | Modeling, identification and control of robots[END_REF], given by (Fig. 1) Consequently, if the time interval (t 0 , t f ) for the displacement between positions x S0 and x Sf is fixed, the "bang-bang" law is the trajectory that minimizes the value of the maximal acceleration max S x  [START_REF] Khalil | Modeling, identification and control of robots[END_REF]. Thus, in order to minimize S

            ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 0 f 0 f 0 0 f x x x x x x x x x x S S S S S S S S S S t s t t s t t s t       (4) with             2 / ) ( 2 / ) ( 1 ) ( 0 max 0 max t t t for x t t t for x t s f S f S S S       0 f x x (5)
x   for a displacement during the fixed time interval (t 0 , t f ), the "bang-bang" law has to be applied on the displacement x S on the robot total mass centre.

Illustrative Example

For illustration of the efficiency of the suggested solution, let us consider a planar 2R serial robot (Fig. 2b) with following parameters:

-l OA = 0.5 m, l AB = 0.3 m, where l OA and l AB are the lengths of segments OA and AB, respectively; -r 1 = 0.289, where l OS1 = r 1 l OA and r 2 = 0.098, where l AS2 = r 2 l AB , l OS1 and l AS2 being the lengths of segments OS 1 and AS 2 , respectively. Its mass and inertia parameters are:

-m 1 = 24.4 kg and m 2 = 8.3 kg, where m i is the mass of element i (i = 1, 2); -m tool = 5 kg, where m tool is the payload; -I 1 = 1.246 kg.m² and I 2 = 0.057 kg.m², where I i is the axial moment of inertia of element i. We would like to note that the mentioned parameters correspond to the IRCCyN's robot parameters (Fig. 2), which will be used in future for experimental tests and validation of the force minimization approach developed in the present work.

In order to have the possibility to control the robot, let us express the articulated joint positions q = [q 1 , q 2 ] T as a function of the position x S of the robot centre of masses. From (3), we obtain:

                                      ) sin( ) cos( sin cos sin cos 2 1 2 1 2 1 1 2 1 1 1 1 q q q q l r q q l m m q q m l r m y x AB OA tot tot OA S S S x (6)
This expression leads to:

0 ) sin ( ) cos ( 2 2 2 1 1 2 1 1      eq eq S eq S l q l y q l x (7)
where

tot OA eq m l m r m l / ) ( 2 1 1 1   and tot AB eq m l r m l / 2 2 2  .
Replacing cos q 1 and sin

q 1 by ) 1 /( ) 1 ( 2 1 2 1 t t   and ) 1 /( 2 2 1 1 t t  (t 1 = tan(q 1 /2))
, respectively, and developing (7), we obtain:

               a c a c b b q 2 2 2 1 1 tan 2 (8)
where

S eq x l a 1 2   , S eq y l b 1 2   and 2 2 2 1 2 2 eq eq S S l l y x c     . (9)
In expression (8), the sign ± stands for the two possible working modes of the robot (for simulations, the working mode with the "+" sign is used). Once q 1 is known, q 2 may easily be found from (6):

1 1 1 1 1 1 2 cos sin tan q q l x q l y q eq S eq S              . ( 10
)
Now, let us consider a pick-and-place displacement between two positions of the end-effector x 0 = [0.3 m, 0.7 m] T and x f = [0.3 m, 0.4 m] T , beginning at t 0 = 0 s and finishing at t f = 0.25 s. Two cases will be simulated:

1. a fifth order polynomial law is applied on the displacement of the robot's end-effector (Eq. ( 2b)); 1) fifth order polynomial law applied on the displacement of the end-effector (full line) 2) "bang-bang" law applied on the displacement of the robot centre of masses (dotted line).

2. a "bang-bang" law is applied on the displacement of the robot centre of masses (Eq. ( 5)); The resulting displacements of the end-effector are shown in Fig. 3. These trajectory parameters are implemented into ADAMS software and we obtain the variations of shaking forces (Fig. 4). The obtained results shown that the optimal trajectory planning (case 2) allows the reduction of the shaking forces up to 63 %.

It should be noted that the optimal trajectory planning (case 2) has a good influence also on the input torque reduction (Fig. 5). For example, in the case of the first actuator, the reduction in the input torque is 84 %.

Conclusions

In this paper, we have presented a new approach, based on an optimal trajectory planning, which allows the considerable reduction of the shaking forces transmitted to the robot frame. The aim of the suggested method is to optimally control the acceleration of the robot centre of masses using "bang-bang" displacement law. In other words, in the suggested approach, the robot is controlled not by applying end-effector trajectories but by planning the displacements of the total mass centre of moving links. The trajectory of the total mass centre of moving links is defined as straight line and it is parameterized with "bang-bang" displacement law. Such a control approach allows the reduction of the acceleration of the total mass centre of moving links and, consequently, the reduction in the shaking forces. It should be noted that such a solution is also very favourable for reduction of input torques. Numerical simulations carried out using ADAMS software for a planar 2R serial manipulator have shown that reductions in the shaking force of 63 % and in input torque of 84 % have been achieved.

Figure 1 .

 1 Figure 1. "Bang-bang" displacement law.

Figure 2 .

 2 Figure 2. The 2R serial robot: (a) prototype; (b) schematics.

Figure 3 .

 3 Figure 3. Displacement of the end-effector for two examined cases:1) fifth order polynomial law applied on the displacement of the end-effector (full line) 2) "bang-bang" law applied on the displacement of the robot centre of masses (dotted line).

Figure 4 .Figure 5 .

 45 Figure 4. Shaking forces for two examined cases:1) fifth order polynomial law applied on the displacement of the end-effector (full line) 2) "bang-bang" law applied on the displacement of the robot centre of masses (dotted line).


Vigen Arakelian
email: vigen.arakelyan@insa-rennes.fr

Sébastien Briot
email: sebastien.briot@irrcyn.ec-nantes.fr

Simultaneous Inertia Force/Moment Balancing and Torque Compensation of Slider-Crank Mechanisms

Keywords: Slider-crank mechanism, shaking force balancing, shaking moment balancing torque compensation

This paper proposes a design concept which allows the simultaneous shaking force/shaking moment balancing and torque compensation in slider-crank mechanisms. At first, the shaking force and shaking moment are cancelled via a cam mechanism carrying a counterweight. Then, the spring designed for maintaining contact in this balancing cam mechanism is used for torque minimization. For this purpose, the spring is jointed with a second cam mounted on the input crank. The proposed design concept allows the development of only one device for solving the both mentioned problems. The suggested solution is illustrated by numerical example carried out by using ADAMS software.

Introduction

The slider-crank mechanisms are common elements in high-speed machines and many methods [START_REF] Arakelian | A historical review of the evolution of the theory on balancing of mechanisms[END_REF][START_REF] Arakelian | force and shaking moment balancing of mechanisms: an historical review with new examples[END_REF][START_REF] Lowen | Balancing of linkages -an update[END_REF] have been developed for their balancing. The known methods can be arranged into the following groups: a) Balancing by counterweights mounted on the links [START_REF] Artobolevskii | Theory of mechanisms and machines[END_REF][START_REF] Campbell | Balanced slider-crank mechanism[END_REF]Berkof 1979a;[START_REF] Gheronimus | An approximate method of calculating a counterweight for the balancing of vertical inertia forces[END_REF]). The balancing methods based on the redistribution of mass of the mechanism by adding counterweights to links are well known. However, in the case of complete shaking force balancing, this approach is generally limited to simple mechanisms having only revolute joints. It is difficult to apply to mechanisms with a slider because the conditions for complete shaking force balancing bring about serious increase in the total mass of the balanced mechanism.

b) Harmonic balancing by counter-rotating masses [START_REF] Artobolevskii | Theory of mechanisms and machines[END_REF][START_REF] Lanchester | Engine balancing[END_REF][START_REF] Shchepetilnikov | Balancing of mechanisms[END_REF]). These solutions are based on harmonic analysis. The reduction of inertia effects is primarily accomplished by the balancing of certain harmonics of the shaking forces and shaking moments. Unbalanced forces and moments are approximated by Fourier series (or Gaussian least-square formulation) and then each frequency component is studied. This solution has found wide application as it may be accomplished by attaching balancing elements to the crank. This approach has been used successfully for engine balancing. However, it is not applied on the off-set slider-crank mechanisms. c) Self-balancing via a double mechanism [START_REF] Artobolevskii | Theory of mechanisms and machines[END_REF][START_REF] Arakelian | Equilibrage dynamique complet des mécanismes[END_REF][START_REF] Arakelian | Shaking moment cancellation of self-balanced slider-crank mechanical systems by means of optimum mass redistribution[END_REF][START_REF] Davies | The kinematics and design of linkages, balancing mechanisms and machines[END_REF][START_REF] Dresig | Maschinendynamik[END_REF][START_REF] Filonov | Balancing device of lever mechanisms[END_REF][START_REF] Koropetz | Shaking force and shaking moment balancing of the mechanisms of machines for the scouring grain[END_REF][START_REF] Turbin | The possibility of the shaking force balancing in the system with oscillating links[END_REF]. The addition of an axially symmetric duplicate mechanism to any given mechanism will make the new combined center of mass stationary and thus balances the shaking force. This approach involves building self-balanced mechanical systems, in which two identical mechanisms execute similar but opposite movements. In this case the shaking force is cancelled together with the shaking moment. A partial balancing is also possible by this approach. d) Balancing by added dyad [START_REF] Arakelian | Equilibrage dynamique complet des mécanismes[END_REF][START_REF] Arakelian | Complete shaking force and shaking moment balancing of linkages[END_REF][START_REF] Doronin | Balanced slider-crank mechanism[END_REF][START_REF] Frolov | Theory of mechanisms and machines[END_REF]. The parallelogram loop, consisting of the initial links of the mechanism and the added dyad, transfers the motion of the coupler link to a shaft on the frame, where it is connected to a counterweight of considerably reduced mass. Partial balancing may be achieved by the generation of an approximate straight-line movement of a counterweight mounted on the added dyad. Among several works may be distinguished also the studies in which pantograph mechanism properties are used. The aim of this approach is to balance the mechanism by using the copying properties of the pantograph formed from the links of the initial mechanism and added links. The pantograph carries a counterweight that achieves the condition necessary for shaking force and shaking moment balancing.

e) Balancing by planetary systems [START_REF] Arakelian | Complete shaking force and shaking moment balancing of linkages[END_REF][START_REF] Berestov | Shaking force and shaking moment balancing in planar mechanisms[END_REF][START_REF] Gao | Complete shaking force and shaking moment balancing of 26 types of four-, fiveand six-bar linkages with prismatic pairs[END_REF][START_REF] Ye | Complete balancing of planar linkages by an equivalent method[END_REF]. The application of planetary systems allows the cancellation of the shaking moment of mechanisms. However, such a balancing can only be reached by a considerably complicated design of the initial mechanism.

f) Balancing by using a cable and pulley arrangement (Berkof 1979b). In this case the opposite motions of the balancing counterweight and the slider is achieved via a cable and pulley arrangement.

g) Balancing by using a cam mechanism [START_REF] Kamenski | On the question of the balancing of plane linkages[END_REF][START_REF] Kato | Mechanical press[END_REF][START_REF] Kato | Mechanical pressing machine with dynamic balancing device[END_REF][START_REF] Krause | Device for balancing inertia forces and mass moments of inertia[END_REF][START_REF] Schrick | Free inertia forces balancing piston engine[END_REF]. In this approach the reduction of inertia forces has been performed by means of a cam carrying a counterweight and it was shown how cam-driven masses may be used to keep the total center of mass of a mechanism stationary.

It is known that the inertia force balancing can be only achieved by adding complementary masses and it brings an increase in the input torque. The input torque may be reduced by optimal redistribution of moving masses [START_REF] Arakelian | Complete shaking force and shaking moment balancing of RSS'R spatial linkages[END_REF]Berkof 1979b;[START_REF] Chaudhary | Balancing of four-bar linkages using maximum recursive dynamic algorithm[END_REF][START_REF] Soong | Minimization of the driving torque of full force balanced four-bar linkages[END_REF][START_REF] Yan | Kinematic and dynamic design of four-bar linkages by links counterweighing with variable input speed[END_REF] or by using non-circular gears [START_REF] Yao | A new method for torque balancing of planar linkages using noncircular gears[END_REF]. One of the more efficient methods used to solve the problem of input torque balancing is creating a cam-spring mechanism, in which the spring is used to absorb the energy from the system when the torque is low, and release energy to the system when the required torque is high. It allows reducing the fluctuation of the periodic torque in the high-speed mechanical systems [START_REF] Angeles | The optimum synthesis of en elastic torque-compensating cam mechanism[END_REF][START_REF] Arakawa | Torque compensation cam mechanism[END_REF][START_REF] Benedict | Torque balancing of machines by sub-unit cam systems[END_REF][START_REF] Benedict | Optimal torque balance for a complex stamping and indexing machine[END_REF][START_REF] Funk | On the complete balancing of the inertia-caused input torque for plane mechanisms[END_REF][START_REF] Guilan | A new method of torque compensation for high speed indexing cam mechanisms[END_REF][START_REF] Nishioka | Design of torque compensation cam using measured torque distribution[END_REF][START_REF] Nishioka | Direct torque compensation cam mechanisms[END_REF][START_REF] Poludov | Systèmes de décharge programmables des mécanismes cycliques[END_REF].

In mechanical design, these two problems are considered separately, i.e. the mechanism can be balanced by mentioned methods and, after, its input torque can be compensated by a cam-spring mechanism.

In this paper, a new design approach is developed, which proposes simultaneous inertia force balancing and torque compensation in slider-crank mechanisms.

Design of the inertia force/moment balanced and torque compensated slider-crank mechanism

Fig. 1 shows an off-set slider crank mechanism, which contains an initial slider-mechanism OAB with crank 1 mounted on the frame, rod 2 and slider 3, as well as cams 4, 5 with followers 6, 7 and a compression spring 8.

Let us first consider the inertia force and moment balancing of the slider-crank mechanism. For this purpose, we consider that rod 2 is a "physical pendulum" link [START_REF] Berkof | Complete force and moment balancing of inline four-bar linkages[END_REF]) (see also [START_REF] Arakelian | Complete shaking force and shaking moment balancing of RSS'R spatial linkages[END_REF])), i.e. its mass distribution allows the dynamic substitution of the rod's mass by two point masses, also,

                                2 2 2 2 2 2 2 2 0 0 0 0 1 1 1 S B A BS AS BS AS I m m m l l l l (1)
where, m A and m B are point masses; m 2 is the mass of rod 2; I S2 is the axial moment inertia of the rod about the centre of mass S 2 of the link; l AS2 and l BS2 are the distances between the centres of the joints A and B and the centre of mass S 2 of link 2, respectively. Thus, the dynamic model of the rod represents a weightless link with two point masses m A and m B situated in the centres of corresponding joints. This dynamic model is fully equivalent to the real rod.

We now require rotating masses to be balanced about point O. Therefore, the displacement of the counterweight mounted on follower 6 is selected in such a manner that the inertia force of the follower 6 with counterweight will be opposite to the inertia force of the masses m 3 and m B carried out reciprocating motion:

B B S x m m m x     6 3 6    . ( 2
)
where m 3 is the mass of the slider 3, m 6 the mass of follower 6 with counterweight, After such a redistribution of moving masses, the shaking force and shaking moment are cancelled and the slider-crank mechanism transmits no inertia loads to surrounding. However, it is known that the added masses destined to balance the inertia force increase the input torque of the mechanism. For minimisation of the input torque of mechanism, one uses another technique which consists in adding a cam-spring compensation device.

The above-mentioned literature review shows that these two problems, i.e. inertia force balancing and torque compensations, are studied separately and it is considered that they are not coupled. Thus, according with the known design approaches, two devices will be developed and coupled with the slider-crank mechanism.

It will be show that the design of these two problems can be considered together and the spring used for maintaining the contact between the counterweight and the cam may also be used for balancing the input torque. For this purpose, we use the elastic force of spring 8 designed for maintaining contact between follower 6 and cam 4. In other words, we will use the spring 8 for the generation of a complementary moment on the input crank.

Let us now consider the input torque compensation.

The input torque  of the dynamically balanced mechanism with the spring can be written under the form:

               L L t  d d , (3)
where L = T -V is the Lagrangian of the system, T is kinetic energy and V its potential energy.

Neglecting the mass of the spring and follower 7, T and V can be written as:

2 6 3 3 2 2 2 1 1 2 1 2 6 6 2 3 2 2 2 2 2 2 2 2 1 1 2 1 ) 1 )( ( 5 . 0 ) ) ( ( 5 . 0 5 . 0 5 . 0 ) ( 5 . 0 ) ( 5 . 0 B B B OA A cp cp S S B S S cp cp S S x m m m m m L m r m r m I x m x m x m I x m x m I T                           , ( 4
) 2 5 . 0  k V  , (5) where -   
 is a constant for steady-state conditions,

4

-2

S

x  the velocity of the centre of masses of element 2 and 2   its angular velocity k is the spring constant, - is the displacement of the end of the spring from its equilibrium position, -L OA is the distance between joint centres O and A, m cp is the mass of the counterweight mounted on the element 1, r cp is the dimensionless position of this counterweight ( ). Thus, the first and second terms of the Lagrange equation (3) become:

2 2 2 6 3 3 1 ) ( 2 d d                                           B B B B x x m m m m m L t  (6)                                           k x x m m m m m L B B B B 2 2 2 6 3 3 1 ) ( (7) taking into account that 2 2 ) sin ( cos   OA AB OA B L a L L x     (8)
L AB the distance between joint centres A and B.

Therefore, the input torque can be deduced:

                                        k x x m m m m m B B B B 2 2 2 6 3 3 1 ) ( (9)
In order to avoid torque fluctuation, the spring has to create a force that makes the input torque constant. In many cases, when a mean value of the torque moment is equal to zero, as in the case of unloaded slider-crank mechanism, this constant is equal to zero. Thus, in such a case, the compensation of the input torque is equivalent to its cancellation. From the point of view of the energy fluctuation, after such a compensation, the periodic variations of the input torque is cancelled and the required input torque is equal to zero, i.e. in the stationary operating mode, the generation of motion may be accomplished by only a very small input torque, which is needed for overcoming friction.

Thus, under the condition that the input torque is equal to zero with the cam-follower system, equation ( 9) admits the integral:

, 1 ) ( 2 2 2 6 3 3 A k x m m m m m B B B                         ( 10
)
where A is an integration constant. Note that the value of A represents two times the sum of the kinetic energy stored in the mechanism (without rod 1 and the cam 5) plus the potential energy in the spring.

For the continuity of contact between the cam and the follower, the force created by the spring has to be always superior to the inertia force of the follower 6 with the counterweight, i.e.

B B x m m k   ) ( 3    (11) Also, 2 2 2 3 2 ) ( B B x k m m      (12)
From expression (8), the value of  may also be computed:

k x m m m m m A B B B 2 2 6 3 3 2 1 ) (                         (13)
Combining equations ( 12) and (13) leads to,

2 2 2 3 2 6 3 3 1 ) (                                    B B B B B x k m m x m m m m m A ( 14
)
In order equation ( 17) to be valuable for any value of , constant A should be equal to:

                                         2 2 2 3 2 6 3 3 ] 2 , 0 [ 1 ) ( max      B B B B B x k m m x m m m m m A (15)
To avoid resonance, the spring should be stiff enough so that the lowest natural frequency of the system is considerably higher than the highest significant harmonic of the output motion of the follower [START_REF] Angeles | The optimum synthesis of en elastic torque-compensating cam mechanism[END_REF]. After the appropriate spring constant is selected, the displacement of the spring can be determined from equations ( 13) and ( 15), namely:

k x m m m m m A B B B 2 2 6 3 3 1 ) (                         . ( 16
)
Thus here we find the cam profile for torque compensation.

The next part presents an illustrative example of the proposed approach. The simulations have been carried out by using ADAMS software.

Illustrative example

Shaking force and shaking moment balancing

The following parameters of mechanism's links are specified for the simulations: L OA = 0.292 m; L AB = 0.427 m; r 1 = 0.5; B y = 0.1 m; m 1 = 2 kg; m 2 = 3 kg; m 3 = 4 kg; I S1 = 0.03 kg/m 2 , I S2 = 0.14 kg/m 2 . The period of the mechanism is fixed to 1 s.

The shaking forces and shaking moment of the above-mentioned mechanism are represented in Fig. 2 kg. This counterweight will be mounted on the input crank. The second counterweight is carried out the reciprocating motion. In order to reduce the size of the cam, the displacement of the centre of mass S 6 of link 6 is three times smaller than the displacement of point B. Therefore m 6 =13.5kg. Fig. 3 shows the obtained cam profile. The variations of the shaking forces and shaking moment of the mechanisms with redistributed moving masses are given in Fig. 2 by dashed lines. The simulation results show that after balancing the shaking forces and moment are cancelled.

Input torque compensation

The parameters are identical to those used in the previous part. The constant spring is fixed to k = 10 kN/m. The joint between the cam and the follower has been modeled by a contact between two solid bodies. The linear spring 8 is designed in such a manner that it ensures a permanent contact in the cam mechanisms. Thus, the displacements of the follower 7 are determined from equation ( 16) and the obtained cam profile is shown in Fig. 4.

The input torques before and after compensation are shown in Fig. 5. Thus we can note that the suggested approach allows not only to carry out complete shaking force and shaking moment balancing of the of-set slider crank mechanism but also it assumes its input torque compensation.

Conclusions

Fast-moving machinery with rotating and reciprocating masses is a significant source of variable dynamic loads. A major theme in machine dynamics and machine design is seeking to minimize the fluctuating forces that such machinery applies to its environment via its mount. Another theme, which is also very important in machine dynamics, is the minimization of the input torque fluctuation caused by the variable dynamic loads. These two problems are known and many methods have been developed and documented. However, these themes are considered separately, as two decoupled problems.

In this paper, for first time, simultaneous shaking force/shaking moment balancing and torque compensation in slider-crank mechanisms is considered. The shaking force and shaking moment are cancelled via a cam mechanism carrying a counterweight. Then, the spring designed for maintaining contact in this balancing cam mechanism is used for torque compensation. For this purpose, the spring is jointed with a second cam mounted on the input crank. The proposed design concept allows the development only one devise for solution of the both mentioned problems.

The suggested solution is illustrated by simulations carried out for an off-set slider-crank mechanism.

Fig. 1 .

 1 Fig. 1. Balanced and torque compensated off-set slider-crank mechanism.

  of the follower 6 and B x  the acceleration of the slider. Therefore, in order to generate a prescribed reciprocating motion of follower 6 with acceleration 6 S x  , the cam 4 is used. Then, by means of a counterweight, the centre of mass of crank 1 plus the cam 4 and point mass m A is brought to the centre of the pivot O.

  the mass of the element 1 plus the cam 4 and I S1 their global axial moment of inertia, r 1 is the dimensionless position of the global mass centre of these elements (

  Fig. 3. Profile of the cam for the displacement of link 6 assuming the inertia forces balancing.

Fig. 4 .

 4 Fig. 4. Profile of the cam for the displacement of link 7 assuming the torque compensation.

Fig. 5 .

 5 Fig. 5. Input torque before (full line) and after (dashed line) compensation.

  (full line).

	By selecting	L		r	L		2 . 0	m, we obtain		25 . 3
		cp		cp	OA

cp m


Off-line robot dynamic identification methods are based on the use of the Inverse Dynamic Identification Model (IDIM), which calculates the joint forces/torques that are linear in relation to the dynamic parameters, and on the use of linear least squares technique to calculate the parameters (IDIM-LS technique). The joint forces/torques are calculated as the product of the known control signal (the current reference) by the joint drive gains. Then it is essential to get accurate values of joint drive gains to get accurate identification of inertial parameters. In the previous works, it was proposed to identify each gain separately. This does not allow taking into account the dynamic coupling between the robot axes. In this paper the global joint drive gains parameters of all joints are calculated simultaneously. The method is based on the total least squares solution of an over-determined linear system obtained with the inverse dynamic model calculated with available current reference and position sampled data while the robot is tracking one reference trajectory without load on the robot and one trajectory with a known payload fixed on the robot. The method is experimentally validated on an industrial Stäubli TX-40 robot.

I. INTRODUCTION

EVERAL schemes have been proposed in the literature to identify the dynamic parameters of robots [START_REF] De | Parameters identification of robots manipulators via sequential hybrid estimation algorithms[END_REF]- [START_REF] Lu | Experimental determination of dynamic parameters of robotic arms[END_REF]. Most of the dynamic identification methods have the following common features: -the use of an Inverse Dynamic Identification Model (IDIM) which calculates the joint force/torque linear in relation to the dynamic parameters, -the construction of an over-determined linear system of equations obtained by sampling IDIM while the robot is tracking some trajectories in closed-loop control, -the estimation of the parameter values using least squares techniques (LS). This procedure is called the IDIM-LS technique. The experimental works have been carried out either on prototypes in laboratories or on industrial robots and have shown the benefits in terms of accuracy in many cases. Good results can be obtained provided two main conditions are satisfied: -a well-tuned derivative band-pass filtering of joint position is used to calculate the joint velocities and Manuscript received September 15, 2011. M. Gautier is with the University of Nantes and the Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN) 44321 Nantes France (phone: +33240376960; fax: +33240376930; e-mail: Maxime.Gautier@irccyn.ec-nantes.fr).

S. Briot is with the CNRS and IRCCyN, 44321 Nantes France (e-mail: Sebastien.Briot@irccyn.ec-nantes.fr). accelerations, -the accurate values of joint drive gains g  are known to calculate the joint force/torque as the product of the known control signal calculated by the numerical controller of the robot (the current references) by the joint drive gains [START_REF] Restrepo | Calibration of drive chain of robot joints[END_REF]. This needs to calibrate the drive train constituted by a current source amplifier with gain i G which supplies a permanent magnet DC or a brushless motor with torque constant t K coupled to the link through direct or gear train with gear ratio N .

Because of large values of the gear ratio for industrial robots, ( N >50), joint drive gain,

i t g NG K  
, is very sensitive to errors in i G and t K which must be accurately measured from special, time consuming , heavy tests, on the drive chain [START_REF] Restrepo | Calibration of drive chain of robot joints[END_REF] [START_REF] Corke | In situ measurement robot motor electrical constants[END_REF].

Several papers on the topic of the joint drive gains identification have been published in the past [START_REF] Restrepo | Calibration of drive chain of robot joints[END_REF]- [START_REF] Gautier | New Method for Global Identification of the Joint Drive Gains of Robots using a Known Payload Mass[END_REF], but all of them propose to identify each gain separately. This does not allow taking into account the dynamic coupling between the robot axes.

In this paper it is proposed a new method for the global identification of the joint drive gains, using current reference and position sampled data while the robot is tracking one reference trajectory without load fixed on the robot and one trajectory with a known payload fixed on the robot whose inertial parameters are measured. Contrary to the previous works, all drive gains are calculated in the same solving loop by the total LS solution of an over-determined system in order to take into account the coupling between the robot axes.

The method is experimentally validated on an industrial Stäubli TX-40 robot.

The paper is organized as follows: section 2 recalls the dynamic modelling and identification procedures. Section 3 deals with the new modelling and identification method for the robot drive gains parameters. Section 4 presents the experimental validations. Finally, section 5 gives the conclusion.

II. USUAL INVERSE DYNAMIC MODELS AND IDENTIFICATION

A. Inverse Dynamic Identification Model (IDIM)

It is known that the dynamic model of any manipulator can be linearly written in term of a   q,q,q, q,q,q

        
(1) where: idm  is the   ...

T T T n T st st st st         
q,q,q   are the vectors of the joint positions, velocities and accelerations, respectively.

For rigid robots, there are 14 standard parameters by link and joint. For the joint and link j, these parameters can be regrouped into the (14×1) vector j st  [START_REF] Khalil | Modeling, identification and control of robots[END_REF]:

j j T s t j j j j j j j j j j j j j o f f XX XY XZ YY YZ ZZ MX MY MZ M Ia Fv Fc        (2)
where:

j j j j j j
XX , XY , XZ , YY , YZ , ZZ are the 6 components of the inertia matrix of link j at the origin of frame j . The identifiable parameters are the base parameters which are the minimum number of dynamic parameters from which the dynamic model can be calculated. They are obtained from the standard inertial parameters by regrouping some of them by means of linear relations [START_REF] Mayeda | Base parameters of manipulator dynamic models[END_REF], which can be determined for the serial robots using simple closed-form rules [START_REF] Gautier | Direct calculation of minimum set of inertial parameters of serial robots[END_REF], [START_REF] Khalil | Modeling, identification and control of robots[END_REF], or by numerical method based on the QR decomposition [START_REF] Gautier | Numerical calculation of the base inertial parameters[END_REF].

The minimal dynamic model can be written using the b n base dynamic parameters  as follows:

( ) idm q,q,q       (3)
where  is obtained from st  by eliminating the columns corresponding to the non identifiable parameters. Because of perturbations due to noise measurement and modelling errors, the actual force/torque  differs from idm τ by an error, e , such that: ( )

idm τ e q,q,q e          (4
) where:

1 1 0 0 0 0 0 0 n n v g v g v g                                (5) v  is the ( ) n n
 matrix of the actual current references of the current amplifiers ( j v  corresponds to actuator j) and g  is the ( 1) n  vector of the joint drive gains ( j g  corresponds to actuator j). Equation ( 4) represents the IDIM.

B. Least Squares Identification of the Dynamic Parameters (IDIM-LS)

The off-line identification of the base dynamic parameters  is considered, given measured or estimated off-line data for τ and   q, q, q   , collected while the robot is tracking some planned trajectories. The model ( 4) is sampled and low pass filtered in order to get an over-determined linear system of ( ) n r  equations and b n unknowns:

    ˆŶ τ W q,q,q χ ρ     (6)
where ( ) ˆq, q, q   are an estimation of ( ) q, q, q   , obtained by band-pass filtering and sampling the measure of q [START_REF] Gautier | Dynamic identification of robots with power model[END_REF].

ρ is the ( 1) r  vector of errors,   ˆŴ q, q, q   is the ( ) b r n  observation matrix.
Using the base parameters and tracking "exciting" reference trajectories, a well conditioned matrix W is obtained. The LS solution χ of ( 6) is given by:

    1 T T χ W W W Y W Y     (7)
It is computed using the QR factorization of W . Standard deviations i   , are estimated assuming that W is a deterministic matrix and  , is a zero-mean additive independent Gaussian noise, with a covariance matrix C  , such that:

T 2 ( ) r C E ρρ I      (8)
E is the expectation operator and I r , the ( ) r r  identity matrix. An unbiased estimation of the standard deviation

  is: 2 2 ( ) Ŷ -W r b      (9)
The covariance matrix of the estimation error is given by:

T 2 T 1 [( )( ) ] ( ) ˆˆĈ E χ χ χ χ W W         . ( ) i 2 ˆĈ i,i      is the i th diagonal coefficient of ˆĈ  ( 10
)
The relative standard deviation ri %   is given by:

100 ri i ˆˆi %       , for i  ≠ 0 (11)
The ordinary LS can be improved by taking into account different standard deviations on joint j equations errors [START_REF] Gautier | Dynamic identification of robots with power model[END_REF]. Data in Y and W of ( 6) are sorted and weighted with the inverse of the standard deviation of the error calculated from OLS solution of the equations of joint j [START_REF] Gautier | Dynamic identification of robots with power model[END_REF].

This weighting operation normalises the errors in ( 6) and gives the weighted LS estimation of the parameters (IDIM-WLS).

III. GLOBAL IDENTIFICATION OF THE JOINT DRIVE GAINS

A. IDIM Including a Payload and Drive Gains

The payload is considered as a link 1 n  fixed to the link n of the robot. Only L n of its parameters are considered known. The model (4) becomes:

T T T T uL kL uL kL v g e                     (12)
where:

kL  is the ( 1)
L n  vector of the known inertial parameters of the payload;

B. Total Least Squares Identification of the Drive Gains (IDIM-TLS)

Details on the TLS identification method can be found in [START_REF] Van Huffel | The Total Least Squares Problem: Computational Aspects and Analysis[END_REF] and many papers of the same authors. This method has been applied in [START_REF] Gautier | Identification of inertial and drive gain parameters of robots[END_REF] for the identification of the drive gains and the dynamic parameters on a two degrees of freedom robot (dof) but gives arguable results due to the lack of an accurate scale factor. In this paper we propose a major improvement with the scaling of parameters using the accurate value of an additional payload mass.

In order to identify the payload parameters, it is necessary that the robot carried out two trajectories: (a) without the payload and (b) with the payload fixed to the end-effector [START_REF] Khalil | Identification of the payload inertial parameters of industrial manipulators[END_REF]. The sampling and filtering of the model IDIM ( 12) can be then written as: 0

T a a T T T uL kL b b u L k L V W 0 Y g V W W W                           (13)
where:

a V  is the matrix of v  samples in the unloaded case, b V  is the matrix of v  samples in the loaded case, 1 1 2 2 0 0 0 0 0 0 j i, i j i, j i i i j n i,r / n i v V v V V ,V v V                                               , with i =a, b (14) j i,k
v  is the k-th sample of current reference for actuator j, a W is the observation matrix of the robot in the unloaded case, b W is the observation matrix of the robot in the loaded case, uL W is the observation matrix of the robot corresponding to the unknown payload inertial parameters, kL W is the observation matrix of the robot corresponding to the known payload inertial parameters. Eq. ( 13) becomes:

tot tot W    (15) where 0 0 a a tot b b u L k L W V W W V W W            is a ( ) tot tot r r  matrix,
and

T T T T T tot uL kL g           is a ( + +10) b n n vector.
Without perturbation, 0

  and tot W should be rank deficient to get the solutions tot 0   depending on a scale coefficient  . However because of the measurement perturbations, tot W is a full rank matrix. Therefore, the system ( 15) is replaced by the compatible system closest to [START_REF] Mayeda | Base parameters of manipulator dynamic models[END_REF] with respect to the Frobenius norm:

0 tot tot ˆŴ   , T T T T T tot uL kL ˆˆˆ, g , ,           ( 16
)
where tot Ŵ is the rank deficient matrix, with the same dimension as tot W , which minimizes the Frobenius norm

tot tot F Ŵ W  .
tot  is the solution of the compatible system closest to [START_REF] Mayeda | Base parameters of manipulator dynamic models[END_REF].

tot

Ŵ can be computed thanks to the Singular Value Decomposition (SVD) of tot W [START_REF] Golub | Matrix computation[END_REF]:

i T tot diag( ) W U V 0         , ( 17
)
where U and V are ( ) The optimal scale factor  can be calculated as the LS solution of :

tot
T tot tot n n n n n n Ŵ W U V       , (18)
1 kL kL kL       (19)

C. Discussion on the A Priori Knowledge of the Payload Parameters

The accuracy of  depends on the accuracy of kL  , depending on the knowledge of the payload parameters, and on the accuracy of 1 kL  in [START_REF] Van Huffel | The Total Least Squares Problem: Computational Aspects and Analysis[END_REF].

The most accurate payload parameter is the mass value L M that can be accurately measured using a weighing machine.

Then in the next section we shall compare 2 solutions:

1 1 k L k L ˆ     ( 20
)
where 1  is the LS solution of ( 19) calculated with all known payload parameters, and:

1 2 L L ˆM M   (21)
where

1 L M is the identified value of L M in 1 tot  .
It will be shown in the next section, that the experimental results confirm the efficiency of the approach that uses the mass only.

IV. CASE STUDY

A. Description of the TX 40 Kinematics

The Stäubli TX-40 robot (Fig. 1) has a serial structure with six rotational joints. Its kinematics is defined using the modified Denavit and Hartenberg notation (MDH) [START_REF] Khalil | A new geometric notation for open and closed loop robots[END_REF]. In this notation, the link j fixed frame is defined such that the j z axis is taken along joint j axis and the j x axis is along the common normal between j z and j 1 z  (Fig. 1). The geometric parameters defining the robot frames are given in Table 1. The payload is denoted as the link 7. The parameter 0 j   , means that joint j is rotational, j  and j d parameterize the angle and distance between j 1 z  and j z along j 1 x  , respectively, whereas j  and j r parameterize the angle and distance between j 1 x  and j x along j z , respectively. For link 7, 2 j   means that the link 7 is fixed on the link 6. Since all the joints are rotational then the MDH position j  is equal to the joint position j q given by the CS8C controller of the TX-40 robot, except for joints 2 and 3 where the MDH notation differs the Staübli variables, 2

2 2 q /      2 3 3 q /    
. The TX40 robot is characterized by a coupling between the joints 5 and 6 such that:

5 5 6 6 qr q K 5 0 qr q K6 K6                        , 5 5 6 6 c r c r K 5 K6 0 K6                            (22)
where j qr  is the velocity of the rotor of motor j, j q  is the velocity of joint j, K5 is the transmission gain ratio of axis 5 and K6 is the transmission gain ratio of axis 6, τ cj is the motor torque of joint j, taking into account the coupling effect, τ rj is the electro-magnetic torque of the rotor of motor j. With the coupling between joints 5 and 6, ( 5) and ( 14) becomes:

1 1 0 0 0 0 0 0 0

5 6 5 6 6 v g v g v v g v g                                               , ( 23
)
and

1 0 0 0 0 0 0 0 i i 5 6 i i 6 i V V V V V                          (24)
The coupling between joints 5 and 6 also adds the effect of the inertia of rotor 6 and new viscous and Coulomb friction parameters fv m6 and fc m6 , to both τ c5 and τ c6 .

We can write: sign( )

5 c 5 6 6 6 6 6 6 Ia q fvm q fcm q          and   sign( + ) sign( ) 6 c 6 6 5 6 5 6 5 6 6 Ia q fvm q fcm q q q             .
where τ 5 , τ 6 already contain the terms j j j j j j ( Ia q fv q fc sign( q ))  

  

, for j=5 and 6 respectively, Ia K Ja  (25) Ja j is the moment of inertia of rotor j .

The TX40 has N s =86 standard dynamic parameters given by the 14×6 usual standard parameters, plus fv m6 and fc m6 .

B. Identification of the Drive Gains

The proposed method is validated using a calibrated payload (Fig. 2).

 j  j d j  j r j 1 0 0 0 q 1 0 2 0  0 q 2  0 3 0 0 d 3 = 0.225 (m) q 3  rl 3 = 0.035 (m) 4 0  0 q 4 rl 4 = 0.225 (m) 5 0  0 q 5 0 6 0  0 q 6 0 7 2 0 0 0 0 5 z 4 5 6
, , x x x 2. Their values are accurate due to the simplicity of the payload shape (Fig. 2).

Three different identifications of the payload inertia parameters are achieved: -Case 1: the payload parameters are identified using the manufacturer's drive gains -Case 2: the drive gains are first identified with the base parameters with IDIM-TLS using ( 20) calculated with all known payload parameters. They are then used in order to reidentifiy the payload parameters and the robot dynamic parameters with IDIM-WLS. -Case 3: the drive gains are first identified with the base parameters with IDIM-TLS using (21) calculated with only the mass of the payload. They are then used in order to reidentifiy the payload parameters and the robot dynamic parameters with IDIM-WLS. The a priori drive gains (Case 1) and the identified ones (Cases 2 and 3) are given in table 3. For each joints, the identified values are close for the manufacturer's values, but the mean error is about 11%. The maximal error grows up to 21%!

The identified values of the payload inertial parameters are presented in table 2. Moreover, the quality of identification is detailed at table 4. It appears that the identified gains lead to the best results. Moreover, the best model identification is achieved with the use of the TLS with only the mass. This result is really appealing for industrial applications and show the efficiency and the simplicity of the method.

Finally, in order to validate the new drive gain values a new payload is identified (Table 5). The parameters are very close to the a priori ones in all cases but the best identification is still obtained with the gains of Case 3. The torques calculated with the model ( 12) identified with the gains of Case 3 are presented in Fig. 3. It is possible to conclude that the drive gains have been well identified with the IDIM-TLS.

V. CONCLUSION

This paper has presented a new method for the global identification of the total drive gains for robot joints. This method is easy to implement and does not need any special test or measurement on elements inside the joint drive train. It is based on a IDIM-TLS technique using current reference and position sampled data while the robot is tracking one reference trajectory without load fixed on the robot and one trajectory with a known payload fixed on the robot, whose inertial parameters are measured or calculated by a CAD model. The method has been experimentally validated on an industrial Stäubli TX-40 robot. Using the identified drive gains, the identification of the total dynamic model has been improved and another payload has been accurately  is given by (9).

  , MZ are the 3 components of the first moment of link j , j M is the mass of link j , j Ia is a total inertia moment for rotor and gears of actuator j .

  uL  is the ((10 ) 1) L n   vector of the unknown inertial parameters of the payload, kL  is the ( ) L n n  jacobian matrix of idm  , with respect to the vector kL  , idm  , with respect to the vector uL  .

W

  sorted in decreasing order. The solution of (16) is given by: b b b

V

   , resp.) the column of U (V, resp.) corresponding to by taking into account the known values kL  of the payload parameters and their corresponding identified values 1 kL  .

Fig. 1 .

 1 Fig. 1. Link frames of the TX-40 robot

Fig. 3 .

 3 Fig. 3. Measured and reconstructed torques of the TX-40.

Global Identification of Drive Gains Parameters of Robots Using a Known Payload

	parameters st  [2], [4], [5], [11]. The modified Denavit and
	Hartenberg notation allows obtaining a dynamic model that
	is linear in relation to a set of standard dynamic parameters,
	st χ :
	idm	(	st	)	st	(	)	st	Maxime Gautier and Sébastien Briot
	S

TABLE I GEOMETRIC

 I PARAMETERS OF THE TX-40 ROBOT WITH THE PAYLOAD j

TABLE 2

 2

			IDENTIFICATION OF THE PAYLOAD DYNAMIC PARAMETERS.
	Parameter	A priori value	Case 1 Identified values	2   i 		ri % 	Case 2 Identified values	2   i 		ri % 	Case 3 Identified values	2   i 		ri % 
	XX L	0.64e-1	1.12e-1	1.99e-3 1.8	9.02e-2	1.54e-3 1.7	9.24e-2	1.45e-3 1.6
	XY L	-1.80e-2	-1.83e-2	7.21e-4 3.9	-1.34e-2	6.65e-4 5.0	-1.45e-2	6.75e-4 4.7
	XZ L	2.60e-2	2.93e-2	8.88e-4 3.0	1.96e-2	5.91e-4 3.0	1.93e-2	5.90e-4 3.1
	YY L	0.64e-1	1.15e-1	1.80e-3 1.6	9.12e-2	1.41e-3 1.5	8.77e-2	1.44e-3 1.6
	YZ L	2.60e-2	4.15e-2	6.32e-4 1.5	3.59e-2	4.93e-4 1.4	3.75e-2	6.45e-4 1.7
	ZZ L	4.40e-2	7.02e-2	5.78e-4 0.8	6.00e-2	4.68e-4 0.8	6.01e-2	4.69e-4 0.8
	MX L	-2.90e-1	-3.02e-1	2.47e-3 0.8	-2.82e-1	2.35e-3 0.8	-2.83e-1	2.35e-3 0.8
	MY L	-2.90e-1	-3.20e-1	2.55e-3 0.8	-2.82e-1	1.84e-3 0.7	-2.81e-1	1.83e-3 0.7
	MZ L	4.10e-1	5.18e-1	4.38e-3 0.8	4.42e-1	3.41e-3 0.8	4.44e-1	3.39e-3 0.8
	M L	4.59	4.48	3.02e-2 0.7	4.58	2.73e-2 0.6	4.58	2.72e-2 0.6

i   is the standard deviation and ri %   its relative value

Fig. 2. The 4.59 Kg payload

TABLE 4 QUALITY

 4 OF IDENTIFICATION. Error norm  Relative Error norm ˆ/ Y 

	ˆ 

TABLE 3 IDENTIFIED

 3 DRIVE GAINS.  Joint 1 Joint 2 Joint 3 Joint 4 Joint 5 Joint 6

	A priori val.

j g



  32.96 32.96 25.65 -11.5218.48 7.68

	Case 2	j g 		35.22 32.02 23.92 -9.05 15.49 6.55
		2 		i	0.540 0.483 0.372 0.015 0.252 0.011
			ri % 	1.53	1.51	1.56	1.67 1.63 1.63
	Case 3

j g  35.

24 32.04 23.94 -9.05 15.50 6.56 2

			i	0.540 0.484 0.372 0.015 0.252 0.011
		ri % 	1.53	1.51	1.56	1.67 1.63 1.64
	identified. This shows the effectiveness of the method.

TABLE 5 IDENTIFICATION

 5 OF THE NEW PAYLOAD DYNAMIC PARAMETERS.

	Case 1	Case 2	Case 3
	Parameter A priori value Identified values