Franc ¸ois Chaumette Sébastien Briot

François Chaumette

Philippe Martinet

Revisiting the determination of the singularity cases in the visual servoing of image points through the concept of hidden robot

Keywords: Visual servoing, singularities, hidden robot, parallel robot, Grassmann-Cayley algebra

I. INTRODUCTION

T HE determination of the singularity cases that may appear in visual servoing [START_REF] Hutchinson | A tutorial on visual servo control[END_REF] is a huge challenge [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF], but it is crucial in order to avoid controllability issues due to the loss of rank of the interaction matrix [START_REF] Chaumette | Visual Servoing and Visual Tracking[END_REF]. Because of the problem complexity, obtaining a geometric interpretation of the configurations leading to singularity conditions is usually limited to a few approaches, such as the visual servoing of image points [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF]. In this study, by considering three points and finding an adequate decomposition of the interaction matrix, the authors succeeded in computing its determinant. Then, they have proven, after complicated mathematical derivations, that the determinant of the interaction matrix vanishes if "the three 3-D points are aligned" or if "the optical center lies on the cylinder whose axis is perpendicular to the plane containing all three points and which includes the three points" (Fig. 1). The first condition was obvious, as from three aligned points, it is impossible to reconstruct the pose of an object while the second condition was completely unintuitive. Similar results S. Briot is with CNRS at the Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN), UMR CNRS 6597, Nantes, France, Email: Sebastien.Briot@irccyn.ec-nantes.fr P. Martinet is with the École Centrale de Nantes at IRCCyN, Nantes, France, Email: Philippe.Martinet@irccyn.ec-nantes.fr F. Chaumette is with the Inria at IRISA, Rennes, France, E-mail: Francois.Chaumette@inria.fr Manuscript received ...

C (camera center)

Image plane

A: Cylinder of singularities

M 1 M 2 M 3 m 1 m 2 m 3
Fig. 1. Cylinder of singularities found in [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF].

were also provided in [START_REF] Thompson | Space resection: failure cases[END_REF], [START_REF] Papanikolopoulos | Selection of features and evaluation of visual measurements during robotics visual servoing tasks[END_REF] and more recently in [START_REF] Tatsambon Fomena | Distance-based and orientation-based visual servoing from three points[END_REF] where a clever change of parameterization reduced the problem to computing the determinant of a (3 × 3) matrix, however still leading to complex and unintuitive derivations.

The cylinder of singularity for three points limits the workspace either inside or outside that cylinder, which explains that very few works have concerned the use of three image points [START_REF] Tatsambon Fomena | Distance-based and orientation-based visual servoing from three points[END_REF]. To overcome this issue, the usual approach in image-based visual servoing consists in observing additional points and using in the control scheme either their Cartesian coordinates [START_REF] Feddema | Automatic selection of image features for visual servoing of a robot manipulator[END_REF], [START_REF] Janibi-Sharifi | Automatic selection of image features for visual servoing[END_REF], other parameterizations [START_REF] Iwatsuki | A new formulation for visual servoing based on cylindrical coordinate system[END_REF]- [START_REF] Liu | A bearing-only 2D/3D-homing method under a visual servoing framework[END_REF], or combinations such as moments [START_REF] Tahri | Point-based and region-based image moments for visual servoing of planar objects[END_REF]. It has indeed been observed that using at least four all-non-aligned image points allows avoiding any singularity of the interaction matrix, even if, as far as we know, this result had never been formerly demonstrated. Considering additional features leads to a nonminimal representation of the system and the apparition of local minima [START_REF] Chaumette | Visual Servoing and Visual Tracking[END_REF] whose determination is also a huge challenge. Moreover, even the use of additional features may not exclude the presence of singularities in general [START_REF] Rosenzveig | A method for simplifying the analysis of leg-based visual servoing of parallel robots[END_REF]. Therefore, being able to determine the singularity cases is crucial. However, this is usually prevented by the complexity of the equations to analyze.

Recently, two authors of the present paper introduced a concept named the "hidden robot" [START_REF] Briot | Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model[END_REF]. This concept was used to determine the singularity cases of a vision-based controller dedicated to parallel robots [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF]. In the mentioned controller, the leg directions were chosen as visual features and control was derived based on their reconstruction from the image. This technique was first applied to a Gough-Stewart (GS) parallel robot [START_REF] Gough | Universal tyre test machine[END_REF] and then to several types of robots, such as the Adept Quattro and other robots of the same family [START_REF] Özgür | Dynamic control of the Quattro robot by the leg edgels[END_REF].

It was proven in [START_REF] Briot | Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model[END_REF] that the singularity cases of [START_REF] Andreff | Vision-based control of a Gough-Stewart parallel mechanism using legs observation[END_REF] are found by considering that the visual servoing involving the observation of the leg directions was equivalent to controlling another robot "hidden" within the controller. For instance, in the case of the GS platform, this hidden robot was the 3-UPS1 parallel robot. This hidden robot was a tangible visualization of the mapping between the observation space and the Cartesian space. As a result, the solutions of its forward geometric model were identical to the solutions of the 3-D localization problem linked to the observation of the leg directions. Moreover, the singular configurations of the hidden robot corresponded to the singularities of the interaction matrix.

By finding this correlation, it was thus possible to study the singularities of the interaction matrix, by using advanced tools coming from the mechanical engineering community (e.g. the Grassmann-Cayley algebra [START_REF] Ben-Horin | Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra[END_REF] and/or the Grassmann geometry [START_REF] Merlet | Parallel Robots[END_REF]). The interest in using these tools is that they are (most of the time) able to provide simple geometric interpretations of the singularity cases. This concept was then generalized to any types of parallel robots using the aforementioned class of controllers [START_REF] Rosenzveig | A method for simplifying the analysis of leg-based visual servoing of parallel robots[END_REF], [START_REF] Briot | The hidden robot: an efficient concept contributing to the analysis of the controllability of parallel robots in advanced visual servoing techniques[END_REF].

We show in this paper that the concept of "hidden robot": 1) is a tool that is not limited to the analysis of the mappings used in visual servoing techniques dedicated to parallel robots, but that it can be extended to other more general classes of problems, 2) can be used to simplify the determination of the singularity cases of interaction matrices by applying existing results or theorems already proven by the mechanical engineering community. Indeed, the concept of hidden robot makes it possible to change the way we can define the problem. The idea is to analyze the singularity problem no more from the viewpoint of the visual servoing community (which considers that it is necessary to analyze the determinant or the rank of the interaction matrix), but from the viewpoint of the mechanical engineering community. By doing so, we can replace the degeneracy analysis of the velocity transmission between inputs (velocity of the observed features) and outputs (camera twist), by its dual problem which is to analyze the degeneracy in the transmission of wrenches between the inputs of a virtual mechanical system (virtual actuators whose displacements are linked to the motions of the observed features) and its outputs (wrenches exerted on the virtual platform, i.e. the observed object). In parallel robotics, it is known that these problems are fully equivalent and lead exactly to the same singularity cases [START_REF] Merlet | Parallel Robots[END_REF].

In order to illustrate these points, we propose in this paper to revisit the determination of the singularity cases in the visual servoing of image points through the concept of hidden robot and to extend the results. Accordingly, the paper is decomposed as follows. Next section shows that the geometric / kinematic mapping involved in the visual servoing of three image points is the same as the mapping required to control a particular 3-UPS parallel robot. Then, in Section III, the geometric properties of the mapping and its singularities are analyzed. More specifically, the singular configurations are found thanks to results obtained with Grassmann-Cayley algebra. In Section IV, to the best of our knowledge, we provide for the first time the conditions of singularity when more than three points are observed. Section V presents a discussion about the extension of the hidden robot concept to other classes of problems. Finally, conclusions are drawn in Section VI.

It should be mentioned that, in the following of the paper, we deliberately exclude from the analysis the case where all 3-D points are aligned, because in this case the singularity condition is obvious.

II. THE HIDDEN ROBOT MODEL CORRESPONDING TO THE OBSERVATION OF THREE IMAGE POINTS

Before presenting the architecture of hidden robot corresponding to the observation of three image points, we make some brief recalls on the computation of the related interaction matrix.

A. Recalls on the computation of the interaction matrix related to the observation of three points

In the following of the paper, we use the standard pin hole model with focal length equal to 1 for the representation of the camera model. However, any other model based on projective geometry could be used [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF]. In the present paper, we decide to use capital letters to refer to points in the 3-D scene while points in the image plane have coordinates represented by lowercase letters.

A 3-D point M i of coordinates [X i Y i Z i ] T in the camera frame is projected in the image plane on a 2-D point m i of coordinates [x i y i ] T given by:

x i = X i Z i , y i = Y i Z i (1)
By differentiating these equations, the classical equations linking the velocities ẋi and ẏi to the twist τ T c = [υ T c ω T c ] of the camera in its relative motion with respect to the observed object frame (υ c being the translational velocity and ω c the rotational velocity) are [START_REF] Hutchinson | A tutorial on visual servo control[END_REF], [START_REF] Chaumette | Visual Servoing and Visual Tracking[END_REF]

ẋi ẏi = -1 Zi 0 xi Zi x i y i -(1 + x 2 i ) y i 0 -1 Zi yi Zi 1 + y 2 i -x i y i -x i τ c
(2) Then, considering the observation of three points M 1 , M 2 and M 3 (Fig. 2), the interaction matrix linking the velocities of the points m i (i = 1, 2, 3) grouped in the vector ṡ = [ ẋ1 ẏ1 ẋ2 ẏ2 ẋ3 ẏ3 ] T to the camera twist τ c by the relation

ṡ = Lτ c (3) C M 1 M 2 M 3 m 2 m 1 m 3 L 1 L 3 L 2
Fig. 2. Observation of three 3-D points is thus given by

L =          -1 Z1 0 x1 Z1 x 1 y 1 -(1 + x 2 1 ) y 1 0 -1 Z1 y1 Z1 1 + y 2 1 -x 1 y 1 -x 1 -1 Z2 0 x2 Z2 x 2 y 2 -(1 + x 2 2 ) y 2 0 -1 Z2 y2 Z2 1 + y 2 2 -x 2 y 2 -x 2 -1 Z3 0 x3 Z3 x 3 y 3 -(1 + x 2 3 ) y 3 0 -1 Z3 y3 Z3 1 + y 2 3 -x 3 y 3 -x 3          (4)
Conditions of singularity appear when the determinant of the matrix L vanishes, as recalled in Section I.

B. Hidden robot model

For understanding that a robot is hidden under the observation of three image points, we must consider what follows. First, from the single measure of the position of a point m i in the image plane, it is impossible to know the position of its corresponding 3-D point M i . The only information that we can extract from this measure is that the point M i lies on the line L i passing through m i and the optical center C. As a result, since the position of the camera center C is of course known in the camera frame (being its origin), the measure of m i gives the direction of the line L i . Furthermore, from the same single measure, the orientation of the triangle ∆M 1 M 2 M 3 cannot be defined (we need the three measures of the position of points m 1 , m 2 and m 3 , see Fig. 2).

From a mechanical engineer point of view, these geometric properties can be obtained by the kinematic architecture depicted in Fig. 3. This architecture is made of an actuated cardan (or universal (U )) joint rotating around point C and fixed on the camera frame at that point. The U joint is followed by a passive prismatic (P ) joint whose direction is given by L i , that is reciprocal to the axes of the cardan joint. Finally, the passive P joint is attached at its other extremity to the last link by a passive spherical (S) joint whose center is located at point M i . Thus, we have a U P S architecture linking the camera frame to the observed object frame. To this leg, we

M i C Base Moving platform L i Passive prismatic joint Passive spherical joint β i α i Active cardan joint z i x i y i ξ i1 ξ i2 P i Fig. 3. A U P S kinematic chain associate a vector q i = [α i β i ],
where α i and β i represent the rotation angles of each revolute joint composing the U joint (Fig. 3).

It should be mentioned that the S joint in this leg is necessary because we know that at point M i is attached a rigid element (the triangle ∆M 1 M 2 M 3 ) whose orientation cannot be defined by considering a single measure m i . Without taking into account this information, the displacement of the point M i (that can be parameterized by the three coordinates X i , Y i , and Z i only) can be obtained by a leg with a U P architecture, i.e. a kinematic chain with three degrees of freedom (instead of six for the U P S leg).

Considering now that:

• the three observed 3-D points M 1 , M 2 and M 3 have motions whose geometric properties can be parameterized, for each of them, by a U P S mechanical architecture depicted above, • M 1 , M 2 and M 3 are fixed on the same body, represented by the triangle ∆M 1 M 2 M 3 , • there is a global diffeomorphism between the measure of the position of point m i and the U joint rotations q i ; as a result, [x i y i ] T is a singularity-free observation of the U joint motions q i , then the relative motion between the triangle ∆M 1 M 2 M 3 and the camera frame has the same geometric / kinematic properties as the motion of the moving platform of a 3-U P S parallel robot (Fig. 4). By geometric property, we mean that the solutions of the Forward Geometric Model (FGM) of the 3-U P S parallel robot are also the solutions of the "Pose from 3 Points" (P3P) problem [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF], [START_REF] Kneip | A novel parametrization of the perspective-three-point problem for a direct computation of absolute camera position and orientation[END_REF] when three 3-D points are observed by a perspective camera. By kinematic property, we mean that the singularities of the inverse kinematic Jacobian matrix of the robot are the same as the singularities of the interaction matrix (4).

It should be noted that, as mentioned in [START_REF] Briot | The hidden robot: an efficient concept contributing to the analysis of the controllability of parallel robots in advanced visual servoing techniques[END_REF], the choice of the legs of the hidden robot is not unique as long as the chosen legs can allow the same passive motion for the points M i . For instance, replacing an active U joint by an active S joint or the passive S joint by three passive R joints would not change the geometric and kinematic properties of the leg. However, the U P S leg is the leg with the minimal number of joints which is able to ensure the geometric and kinematic properties mentioned above, and therefore we have chosen it for building the virtual hidden robot.

C M 1 M 2 M 3 L 1 L 3 L 2 e

III. GEOMETRIC AND KINEMATIC ANALYSIS

A. Geometric interpretation 1) 3-D localization problem when three image points are observed: The P3P problem when three points are observed by a perspective camera, which is equivalent to finding the solutions of the FGM associated to the 3-U P S parallel robot depicted in Fig. 4, has been studied in details in [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF]. In this section, we present a geometric interpretation which is complementary to the previous works.

To solve the FGM of the 3-U P S robot, the procedure is the following [START_REF] Merlet | Parallel Robots[END_REF]. First, we virtually disassemble the leg 3 (i.e. the leg connected to point M 3 ) from the rest of the platform. If the leg 3 is disassembled at point M 3 , as there are only four actuators for controlling the six robot mobilities, the platform gains two degrees of freedom. The gained motion is called a spatial Cardanic motion [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF]. This motion is defined by the fact that the points M 1 and M 2 are constrained to move on the (fixed) lines L 1 and L 2 , respectively, and the platform is free to rotate around the line M 1 M 2 . As demonstrated in [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF], the surface described by point M 3 is an octic surface, i.e. an algebraic surface of degree eight (Fig. 5).

As M 3 also belongs to leg 3, this point is constrained to move on the line L 3 (Fig. 6). As shown in [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF], a line and an octic surface can have up to eight real intersection points. As a result, the 3-U P S robot can have up to eight assembly modes 2 . However, in our particular case, due to its symmetry properties, only four solutions can be above the image plane (the other being symmetric with respect to the camera center C), as already mentioned in [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF].

M 1 S: Coupler (octic) surface L 1 L 2 C M 2 a 2 a 1 M 3

Robot platform

{ 1 = 4, 2 = 4, 3 = 4} m, { 1 = 1, 2 = 4, 3 = 4} m, { 1 = 4, 2 = 1, 3 = 4} m, { 1 = 4, 2 = 4, 3 = 1} m (assembly modes 1 to 4), { 1 = -4, 2 = -4, 3 = -4} m, { 1 = -1, 2 = -4, 3 = -4} m, { 1 = -4, 2 = -1, 3 = -4} m,
2) Undetermined configurations when three image points are observed: If a portion of the line L 3 , i.e. not just a single point, lies on the surface S, then we cannot determine

M 1 M 3 M 2 C (C * ) O L 2 (L 2 ) L 1 (L 1 ) L 3 (L 3 )
Examples of undetermined configurations 7. Condition for pose indetermination: the camera center C lies on the circumcircle of the triangle ∆M 1 M 2 M 3 . In this picture, the green triangles are examples of undetermined configurations for the triangle ∆M 1 M 2 M 3 (there is an infinity of possible solutions). For this planar motion case, it is known from [START_REF] Merlet | Parallel Robots[END_REF] that if the three lines I i , perpendicular to L i and passing through M i , intersect in a single point O, this configuration is singular. Indeed, point O represents the instantaneous center of rotation for the uncontrollable motion of the triangle ∆M 1 M 2 M 3 in the plane of displacement.

I 2 I 1 I 3 R * * * Fig.
the observed object pose. As a result, there is an infinity of solutions for the P3P problem. In parallel robotics, this phenomena is called a self motion [START_REF] Wolf | Investigation of singularities and self-motions of the 3-UPU robot[END_REF].

In order to meet such property, portions of the surface S must degenerate so that they contain line segments. As proven in [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF], each possible line segment contained on S is obligatorily parallel to the plane P containing L 1 and L 2 . With respect to the specificities of our problem, undetermined configurations (that correspond to Cardanic self motions [START_REF] Briot | Self motions of general 3-RPR planar parallel robots[END_REF]) can thus only appear if L 3 belongs to P, resulting in the fact that the three points are aligned in the image.

Once again, as proven in [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF] but also in [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF], [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF], when L 1 , L 2 and L 3 are in the same plane P, pose indetermination appears if and only if the camera center C lies on the circumcircle R of the triangle ∆M 1 M 2 M 3 (Fig. 7). Note that in that case, image points m 1 , m 2 and m 3 are aligned in the image, which is a necessary but not sufficient condition for pose indetermination.

It should be mentioned that this result was known from [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF], [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF] but it was not proven that it was the only possibility, as we just did from a well known result [START_REF] Tischler | A spatial extension of Cardanic movement: its geometry and some derived mechanisms[END_REF] of the mechanical engineering community.

B. Singularity analysis when three image points are observed

Singularities on the inverse Jacobian matrix J inv of a parallel robot (also called Type 2 or parallel singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]) appear when at least two solutions to the FGP are identical [START_REF] Merlet | Parallel Robots[END_REF]. This phenomena is obtained when the line L 3 is tangent to the coupler surface S [START_REF] Merlet | Parallel Robots[END_REF]. As mentioned in Section II, these singularities are analogous to the singularities of the interaction matrix.

In Type 2 singularities, parallel robots gain one (or more) uncontrollable motion, i.e. their end-effector becomes shaky. Kinematically speaking, there exists a non-null vector t s defined such that J inv t s = 0 while q = 0, i.e. the actuators are fixed (which means that t s is in the null space of J inv ).

As known in mechanics, if a rigid body got an uncontrollable motion, this means that it is not fully constrained by the system of wrenches applied on it, i.e. the static equilibrium is not ensured. As this uncontrollable motion appears only in singularity, this means that locally the system of actuation wrenches, i.e. wrenches transmitted from the actuators to the platform by the legs, is degenerated [START_REF] Merlet | Parallel Robots[END_REF].

For a given leg i, any actuation wrench denoted by ξ ij is reciprocal to the unit twists denoted ζ ik characterizing the displacements of the passive joints [START_REF] Bonev | Geometric analysis of parallel mechanisms[END_REF], i.e. ξ T ij ζ ik = 0 for any j and k. This means that the virtual power developed by the wrench ξ ij along the direction of motion ζ ik is null; in other words, the actuator j of the leg i cannot transmit a wrench ξ ij to the platform along the direction ζ ik .

Let us consider a U P S leg belonging to our 3-U P S hidden robot. In the frame F i : (M i , x i , y i , z i ) attached to the leg, the unit twist defining the motion of the passive P joint is expressed as:

ζ i1 = 0 0 1 0 0 0 T (5)
while the three unit twists defining the motion of the passive S joint are given by:

ζ i2 = 0 0 0 1 0 0 T (6) ζ i3 = 0 0 0 0 1 0 T (7) ζ i4 = 0 0 0 0 0 1 T (8)
In these twists, the first three components represent the direction of the translation velocity while the three last components represent the direction of the rotational velocity.

As a result, the unit actuation wrenches expressed in the frame F i are

ξ i1 = 1 0 0 0 0 0 T (9)
ξ i2 = 0 1 0 0 0 0 T [START_REF] Corke | Spherical image-based visual servo and structure estimation[END_REF] in which the first three components represent the direction of the force exerted on the platform and the three last components the direction of the moment. As a result, ξ i1 and ξ i2 are two forces applied at M i and directed along x i and y i , respectively (Fig. 3). Now considering the three robot legs, the system of actuation wrenches is given by ξ = [ξ 11 ξ 12 ξ 21 ξ 22 ξ 31 ξ 32 ]. There are some tools that define the conditions of degeneracy of a wrench system among which the Grassmann geometry [START_REF] Merlet | Parallel Robots[END_REF] and the Grassmann-Cayley algebra [START_REF] Ben-Horin | Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra[END_REF], [START_REF] Ben-Horin | Application of Grassmann-Cayley algebra to geometrical interpretation of parallel robot singularities[END_REF]- [START_REF] Kanaan | Singularity analysis of lower mobility parallel manipulators using Grassmann-Cayley algebra[END_REF].

Regarding our particular case, the Grassmann-Cayley algebra was used in [START_REF] Ben-Horin | Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra[END_REF] to prove that, if the system of wrenches is composed of a triplet of two (independent) forces ξ i1 and ξ i2 , ξ i1 and ξ i2 being applied at the same point M i , conditions of singularities appear if and only if all the four planes P i (i = 1, 2, 3, 4) intersect in (at least) a point O (Fig. 8), planes P i being defined as:

• P i (i = 1, 2, 3
) is the plane passing through point M i and containing the axes x i and y i (Fig. 3),

• P 4 is the plane containing the triangle ∆M 1 M 2 M 3 . C M 1 M 2 M 3 L 1 P 4 I 1 L 2 L 3 P 1 P 3 P 2 O I 2 I 3 R Fig. 8
. Condition of singularity: the four planes P i (i=1,2,3,4) (P i being orthogonal to the line L i and containing point M i ) intersect in (at least) a point O (that can be at infinity). In the case of the considered 3-U P S parallel robot, this general condition can be simplified by using a simple geometric analysis. Let us consider the line I i (i = 1, 2, 3) which represents the intersection of the planes P i and P 4 (Fig. 8). From the result above, I 1 , I 2 and I 3 are contained in P 4 and intersect in O. As I i belongs to P i , it is perpendicular to L i and, as a result, to its projection into the plane P 4 which is denoted as L * i (Fig. 9). 7 and8).

C * L 1 * C M 1 M 2 M 3 L 1 P 4 I 1 P 1
If C * is on the circumcircle R of the triangle ∆M 1 M 2 M 3 , this means that C lies on the cylinder A whose axis is perpendicular to P 4 and containing R (Fig. 1), which was the condition of singularity already proven in [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF]. Note that, in the degenerated case where C * ≡ M i for which we cannot define the line I i as P i ≡ P 4 , the previous sentence is still valuable because:

• as P i is merged with P 4 , the four planes obligatorily intersect in a single point, • P i ≡ P 4 appears if and only if L i is perpendicular to P 4 .

Thus, L i obligatorily lies on the cylinder A. It is noteworthy that the undetermined configurations (Fig. 7) are also singular configurations which correspond to the particular case where C ≡ C * .

In the next section, we investigate the case when more than three points are observed.

IV. SINGULARITIES IN THE VISUAL SERVOING OF n IMAGE POINTS (n > 3)

From what is above, when n points (n > 3) are observed, the system of actuation wrenches associated with a n-U P S parallel hidden robot (which is the visualization of the mapping involved in the visual servoing of the n points under consideration) is given by ξ = [ξ 11 ξ 12 . . . ξ n1 ξ n2 ], i.e. a wrench system composed of 2n actuations wrenches.

Let us consider a subset ξ i of ξ made of six actuation wrenches among the 2n ones (in other words, ξ i is a subset corresponding to the observation of three distinct points M a , M b and M c among the n ones). We make the assumption that ξ i is rank deficient, i.e. its nullspace t si is different from zero, which also means that the optical center lies on the cylinder whose base is defined by the circumcirle of the triangle ∆M a M b M c . In what follows, we will show that t si is a single vector, i.e. when the optical center lies on the singularity cylinder, the loss of rank of ξ i is equal to 1.

As a result, conditions of singularities in the visual servoing of n image points (n > 3) appears if ξ is obviously rank deficient and if its nullspace is proportional to t si . In other words, any subset ξ k of ξ made of six actuation wrenches among the 2n wrenches composing ξ must be rank deficient and its nullspace must be proportional to t si .

Based on these considerations, it becomes obvious that a necessary condition for all subset ξ k of ξ to be rank deficient is that all corresponding singularity cylinders have at least an intersection point in common. Taking n points (n > 3) arbitrarily distributed (they could be coplanar), it can be easily proven that there is no common intersection point.

Things are different if all points belong to the same circle. In such a case, all arbitrary subsets of three points have the same cylinder of singularities, i.e. all subsets ξ i of six actuation wrenches among the 2n wrenches composing ξ are rank deficient. For such particular case, it is thus necessary to study if they have their nullspace in common or not.

Obtaining algebraic expressions for the nullspace of a (6×6) matrix may be a very complicated task. Fortunately, in order to reduce the computation complexity, we can first take advantage of the particular geometric properties of the system to analyze which is the invariance of the robot leg configurations for any rotation around point C. As a result, it is possible to simplify the nullspace computation by fixing the platform orientation. The expression of the nullspace for another given object orientation (parameterized by the rotation T from the fixed orientation) will then be found by transforming the presented nullspace through a rotation of T .

Accordingly, let us compute the expression of the system of actuation wrenches associated with three points M 1 , M 2 and M 3 as a function of the object position (the orientation being considered fixed). In order to further reduce the complexity of computation, we parameterize the position of the three points as shown in Fig. 10 and we normalize the problem by taking the radius of their circumcircle equal to 1. We consider that the origin of the object frame is the centre of the circumcircle, denoted as P , and with coordinates (x, y, z) in the camera frame. As a result, the positions of points M 1 , M 2 and M 3 are given by:

--→

CM i = --→ CP + --→ P M i (11)
where

--→ CP = [X Y Z] T and ---→ P M 1 = [1 0 0] T , ---→ P M 2 = [a 21 a 22 0] T /n 2 ---→ P M 3 = [a 31 a 32 0] T /n 3 ( 12
)
where n 2 = a 2 21 + a 2 22 and n 3 = a 2 31 + a 2 32 . Thus,

---→ CM 1 = [X + 1 Y Z] T , ---→ CM 2 = [X + a 21 /n 2 Y + a 22 /n 2 Z] T ---→ CM 3 = [X + a 31 /n 3 Y + a 32 /n 3 Z] T (13)
As we want to compute the nullspace of the wrench system, the optical center C should lie on the singularity cylinder, which results in the fact that C * , the projection of C into the plane P 4 containing the 3D points, lies on the circumcircle of the points. Thus, there is a constraint on X and Y given by:

X 2 + Y 2 -1 = 0 (14)
It is now necessary to compute the expressions of the actuation wrenches. Indeed, these expressions are not unique as we know from the previous section that, for a given leg i, the actuation wrenches are two forces exerted at M i which are reciprocal to the leg direction. Thanks to our experience in the resolution of such problems, we know that the simplest expressions for these wrenches will be obtained if, considering the leg i [19]:

• the resultant force of the wrench ξ i1 is taken reciprocal to the leg direction z i (directed along --→ CM i ) and is contained in the plane P 4 of normal z p (thus, as here, z p ≡ z c , the Z-coordinate of force ξ i1 in the camera frame will be zero), while the resultant force of the wrench ξ i2 will be reciprocal to both ξ i1 and z i , • ξ i1 and ξ i2 are computed at the intersection point O whose coordinates are (2X, 2Y, Z), i.e. the intersection point of lines I i contained in the plane P 4 , passing through M i and whose directions are reciprocal to z i . By doing so, the moment of the wrench ξ i1 is zero and its resultant force is directed along

I i . The expressions of ξ i1 = [f T i1 m T i1 ] T (i = 1, 2 , 3)
are thus given by (in what follows, z p = [0 0 1] T ):

f 11 = z p × ---→ CM 1 = -Y X + 1 0 T , m 11 = 0 (15)
f 21 = z p × ---→ CM 2 = -Y -a 22 /n 2 X + a 21 /n 2 0 T , m 12 = 0 (16)
f 31 = z p × ---→ CM 3 = -Y -a 32 /n 3 X + a 31 /n 3 0 T , m 13 = 0 (17)
while the expressions of

ξ i2 = [f T i2 m T i2 ] T (i = 1, 2, 3
) are obtained by:

f i2 = --→ CM i × f i1 , m i2 = --→ OM i × f i2 (18)
Note that in the case where

M i ≡ C * , f ij are not null but f i1 = [X Y 0] while f i2 = [-Y X 0].
Based on these expressions, the nullspace t s1 of ξ 1 = [ξ 11 ξ 12 ξ 21 ξ 22 ξ 31 ξ 32 ] can be calculated thanks to a software allowing symbolic computation, such as Maple or the Matlab symbolic toolbox. The expression of t s1 takes the following form:

t s1 = [0 0 -ZY f 11 (X, Y ) -Zf 12 (X, Y ) -Zf 13 (X, Y ) (X + 1)f 14 (X, Y )] T (19)
where it can be proven that functions f 1k (X, Y ) are polynomials of degree 2 in X and degree

The expressions of f 12 (X, Y ), f 13 (X, Y ) and f 14 (X, Y ) being not useful in what follows, and being quite long, they will not be given here but a technical report associated with the script for their computation can be found on the web link [31]. It is however necessary to mention that the monomial coefficients in f 12 (X, Y ), f 13 (X, Y ) and f 14 (X, Y ) are not proportional to α 1 .

It should be mentioned that, thanks to our choice for the expressions of the wrenches ξ ij leading to a block-triangular matrix ξ 1 , the computation of the nullspace t s1 of ξ 1 was simpler than the computation of the nullspace of the interaction matrix L of (4) (in which we would have in this section Z i = Z for i = 1, 2, 3 and the terms x i , y i computed from ( 1)). Note that the nullspaces of matrices ξ 1 and L are equivalent, which can be observed through numerical computations. In order to see it, one must keep in mind that, because the wrench system ξ is expressed at point O, i.e. the intersection point of lines I i , its nullspace t s1 has by definition the structure of a twist expressed at O representing the uncontrollable motion of the platform [START_REF] Kong | Type Synthesis of Parallel Mechanisms[END_REF], i.e. its first three components represent the translational velocity v s1 (O) of the point O while the last three components represent the platform rotational velocity ω s1 . However, the matrix L relates the value of the observed object twist (equivalent to the platform twist) expressed at the center C of the camera frame to the measurement velocities. As a result, the nullspace of L also represents the uncontrollable motion of the platform, but it is expressed at point C. As a a result, the nullspace of L is the twist t s1 but computed at point C through the relation

t s1 (C) = [(v s1 (O) + --→ CO × ω s1 ) T ω T s1 ]
T . Now, let us imagine that we use an additional visual feature which is the observation of a point M 4 parameterized by ---→ P M 4 = [a 41 /n 4 a 42 /n 4 0] T in the camera frame, where n 4 = a 2 41 + a 2 42 . We obviously assume that M 4 is contained on the circumcircle of the points M 1 , M 2 and M 3 . As a result, the system of eight actuation wrenches associated with a 4-U P S parallel hidden robot (which is the visualization of the mapping involved in the visual servoing of the points M 1 to M 4 ) is given by ξ = [ξ 11 ξ 12 . . . ξ 41 ξ 42 ], where

ξ 41 = [f T 41 m T 41 ] T is equal to f 41 = -Y -a 42 /n 4 X + a 41 /n 4 0 T , m 14 = 0 (22)
while the expression of ξ 42 = [f T 42 m T 42 ] T is obtained by:

f 42 = ---→ CM 4 × f 41 , m 42 = ---→ OM 4 × f 42 (23)
Considering the conditions of singularities for the total wrench system, two cases arises:

1) Z = 0, which is equivalent to say that M 1 , M 2 , M 3 , M 4 and C are contained in the same plane (and also on the same circle due the definition of the problem):

analyzing the expression [START_REF] Merlet | Parallel Robots[END_REF] which gives the general form of any nullspace associated with the singular observation of three points, it comes that all nullspaces t si (i = 1, . . . , 4) corresponding to the wrench systems associated with the observation of any subset of three points among the four becomes proportional to t si = [0 0 0 0 0 1] T . Thus, the global wrench system ξ is rank-deficient. This singularity condition was expected, as it was already shown in [START_REF] Fischler | Random sample consensus: A paradigm for model fitting with applicatlons to image analysis and automated cartography[END_REF] that if all 3-D points and the optical center are located on the same circle, it is not possible to determine the object configuration. 2) Z = 0: in order to study this case, without loss of generality, let us consider the nullspace associated with the wrench system linked to the observation of the points M 1 , M 2 and M 4 . According to [START_REF] Merlet | Parallel Robots[END_REF], its nullspace takes the following form

t s2 = [0 0 -ZY f 21 -Zf 22 -Zf 23 (X + 1)f 24 ] T (24)
in which f 21 (X, Y ) is given by

f 21 =α 2 ((
A necessary condition for the rank deficiency of the wrench system ξ is that t s2 is proportional to t s1 , and as a result that the polynomial f 21 is proportional to f 11 given in [START_REF] Merlet | Parallel Robots[END_REF]. This can appear only if and only if a 41 = δa 31 and a 42 = δa 32 , δ = ±1, i.e. M 4 ≡ M 3 (δ = 1) or is the symmetric of M 3 with respect to P (δ = -1). However, as if δ = -1, α 2 = α 1 , taking into account that the monomial coefficients in f 22 (X, Y ), f 23 (X, Y ) and f 24 (X, Y ) are not proportional to α 2 , t s2 cannot be proportional to t s1 .

As a result, we have just rigorously proven that the conditions of singularity when n points are observed only appear if and only if all 3-D points and the optical center are located on the same circle, which of course corresponds to a degenerate case in practice where all points are aligned in the image.

To the best of our knowledge, even if from numerical simulations, this fact was already known, it was however never rigorously proven.

In order to show the exactness of our results, we perform the following simulation. We compute the inverse of the condition number of the interaction matrix L obtained when observing four points M 1 , M 2 , M 3 and M 4 whose motions are parameterized by:

--→

CM i = --→ CP + --→ P M i (27)
where in which Rot(ϕ, y) is the rotation matrix around y-axis of angle ϕ. For simulation purpose, we take R = 1, φ 1 = -π/6, φ 2 = π/3, φ 3 = π/2, φ 4 = 2π/3, ϕ = π/6 and

--→ CP = [X Y Z] T , (28)
--→ P M i = Rot(ϕ, y)[R cos(φ i ) R sin(φ i ) 0] T (29) 0 0.5 1 1.5 -1 -0.5 0 0.5 1 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 X [m] Y [m] Z [m] M 4 M 3 M 2 M 1 C (s=0) C (s=1) C (s=1.4) Circumcircle to M 1 , M 2 , M 3 and M 4
X = 0.1(1-s) -cos ϕ, Y = 0.1(1 -s), Z = 0.1(1 -s) + sin ϕ (30)
with s ∈ [0 1.4] a linearly increasing function. The trajectory of the four observed points is depicted in Fig. 11. In such simulation, when s = 1, the point C is also on the circumcircle of points M i (see Fig. 11) which is the condition of singularity given above. As a result, the rank-deficiency of the matrix L appears for s = 1, which is shown on Fig. 12 in which the inverse of the condition number is null only for s = 1. Note that after s = 1, the value of the inverse condition number stays small because point M 1 is near the plane Z = 0. Indeed, if M 1 lies on the plane Z = 0, the interaction matrix cannot be computed, the first and second lines being divided by 0.

V. DISCUSSIONS

We showed in the previous sections that it is possible to use the hidden robot concept in order to interpret the singularity cases which appear in the visual servoing of image points. Indeed, the hidden robot is a tangible visualization of the mapping between the observation space and the Cartesian space. As a result, the solutions of its forward geometric model are identical to the solutions of the 3-D localization problem. Moreover, the singular configurations of the hidden robot correspond to the singularities of the interaction matrix. By using rather simple geometrical developments combined with results already obtained in the literature by the mechanical engineering community, we were able to find again the results that were obtained in [START_REF] Michel | Singularities in the determination of the situation of a robot effector from the perspective view of 3 points[END_REF] after complicated mathematical derivations. Moreover, to the best of our knowledge, we have provided for the first time conditions of singularity when more than three points are observed. In our opinion, this shows the main potential of the hidden robot concept for studying singularity cases that may appear in image-based visual servoing.

For that, we will follow the same methodology as the one that was developed in the present paper, and that can be generalized as follows:

1) From the projection of a single observed feature in the image space, analyze what is the passive motion of the observed object for which the projection of the feature is unchanged. 2) Then, define the corresponding virtual robot leg which links the observed object to the camera frame and which allows the same passive motion for the object. This leg will be composed of both passive and active joints.

Obviously, there may be several possible legs allowing the same passive motion. In such a case, the leg which is the simpler in terms of design complexity should be chosen [START_REF] Caro | The rule-based conceptual design of the architecture of serial Schoenflies-motion generators[END_REF]. 3) Once the virtual leg is defined, find its actuation wrenches ξ ij [START_REF] Zhao | Geometrical method to determine the reciprocal screws and applications to parallel manipulators[END_REF]. They are reciprocal to all twists ζ ij characterizing the motions of the passive joints. The number of actuation wrenches is equal to 6 -n i , n i being the number of independent passive twists ζ ij for the leg i. 4) Finally, consider all observed features, i.e. the full leg arrangement that defines the model of the hidden robot, and stack all actuation wrenches ξ ij corresponding to all virtual legs in a matrix ξ. The rank deficiency of this matrix must be then analyzed. Two cases appear, regarding the types of wrenches that are stacked into ξ and the type of robot legs: a) results have already been defined in the literature (e.g. like in [START_REF] Bonev | Geometric analysis of parallel mechanisms[END_REF] for planar robots or in [START_REF] Ben-Horin | Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra[END_REF], [START_REF] Ben-Horin | Application of Grassmann-Cayley algebra to geometrical interpretation of parallel robot singularities[END_REF]- [START_REF] Kanaan | Singularity analysis of lower mobility parallel manipulators using Grassmann-Cayley algebra[END_REF] for spatial robots, and many other papers) and can be used in order to define the singularity conditions (such as we did in the present paper), b) results cannot be found in the literature: in such a case, mathematical or geometrical developments based on the Grassmann-Cayley algebra [START_REF] Ben-Horin | Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra[END_REF] and/or the Grassmann geometry [START_REF] Merlet | Parallel Robots[END_REF] should be used in order to fulfill the lack. 5) Finally, based on the general singularity (geometrical) conditions defined in the previous item, try (if possible) to simplify the results by using general geometry theorems. In our next work, we are going to apply this methodology in order to try to solve the singularity cases in the visual servoing of non coplanar lines [START_REF] Andreff | Visual servoing from lines[END_REF] which is, to the best of our knowledge, still an open problem.

VI. CONCLUSIONS

In this paper, we presented a tool named the "hidden robot concept" that was able to solve the determination of the singularity cases in the image-based visual servoing of three 3-D points. In the case of three points, these singularity cases were already found (after rather complicated mathematical derivations) but we showed that the hidden robot concept considerably simplified the analysis. Moreover, to the best of our knowledge, we have provided for the first time the conditions of singularity when more than three points are observed that is, when all 3-D points and the optical center are located on the same circle. This result confirms the fact that a singularity can never be encountered in practice in this case, which was admitted but had never been proven before in the visual servoing community.

Indeed, the hidden robot was a tangible visualization of the mapping between the observation space and the Cartesian space. As a result, the solutions of its forward geometric model were identical to the solutions of the 3-D localization problem. Moreover, the singular configurations of the hidden robot corresponded to the singularities of the interaction matrix. Indeed, the concept of hidden robot allowed to change the way we defined the problem. The idea was to analyze the singularity problem no more from the viewpoint of the visual servoing community (which considers that it is necessary to analyze the determinant or the rank of the interaction matrix), but from the viewpoint of the mechanical engineering community. By doing so, we were able to replace the degeneracy analysis of the velocity transmission between inputs (velocity of the observed features) and outputs (camera twist), by its dual but fully equivalent problem which was to analyze the degeneracy in the transmission of wrenches between the inputs of a virtual mechanical system (virtual actuators of the hidden robot whose displacement was linked to the motions of the observed features) and its outputs (wrenches exerted on the virtual platform, i.e. the observed object).

Then, by using geometric interpretations of the mapping degeneracy and tools provided by the mechanical engineering community such as the Grassmann-Cayley algebra and/or the Grassmann geometry, we were able to find rather simple geometric interpretation of the interaction matrix degeneracy.

We believe that the hidden robot concept is a powerful tool that is able to solve the singularity analysis of several visual servoing techniques. Further works will be dedicated (but not limited) to solving the singularity conditions in the imagebased visual servoing of 3-D lines.

Fig. 4 .

 4 Fig. 4. The hidden robot model: a 3-U P S parallel robot with all active cardan joints merged at the point C (for reason of clarity of drawings, the axes of the cardan joints are not represented)

Fig. 5 . 1 Fig. 6 .

 516 Fig. 5. The octic surface (coupler surface, i.e. the surface which represents all possible location of the extremity of the "coupler" which is the body linking the disconnected leg to the rest of the mechanism) representing the displacements of point M 3 when the lines L 1 and L 2 are fixed in space: in this figure, ∆M 1 M 2 M 3 is an equilateral triangle of edge length equal to 2 √ 3 m. Moreover, we have a T 1 a 2 = 5/8, a i being the unit vector representing the direction of the line L i .

  Fig. 6. Possible solutions of the FGM associated with the 3-U P S robot: in this example, a T 1 a 2 = a T 1 a 3 = a T 2 a 3 = 5/8. For such case, 8 solutions exist which are given by{ 1 = 4, 2 = 4, 3 = 4} m, { 1 = 1, 2 = 4, 3 = 4} m, { 1 = 4, 2 = 1, 3 = 4} m, { 1 = 4, 2 = 4, 3 = 1} m (assembly modes 1 to 4), { 1 = -4, 2 = -4, 3 = -4} m, { 1 = -1, 2 = -4, 3 = -4} m, { 1 = -4,2 = -1, 3 = -4} m, and { 1 = -4, 2 = -4, 3 = -1} m (assembly modes 5 to 8), where j = CM j .

Fig. 9 .

 9 Fig. 9. Projection of the line L i into the plane P 4 (C * is the projection of C into P 4 ).

2 Fig. 10 .

 210 Fig. 10. Parameterization of the location of the three observed points.

Fig. 11 .Fig. 12 .

 1112 Fig. 11. Relative motion of the camera with respect to the observed points in the simulation.

  M i O are rectangular triangles (see Fig. 10). From basic geometry, the centers of the circumcirles associated with the triangles ∆C * M i O are located at the middle of the segment C * O, which impose that ∆C * M 1 O, ∆C * M 2 O and ∆C * M 3 O share the same circumcircle, i.e. points O, C * , M 1 , M 2 and M 3 lie on the same circle. In other words, a singularity appears if and only if C * lies on the circumcircle R of the triangle ∆M 1 M 2 M 3 (Figs.

Obviously, L * 1 , L * 2 and L * 3 intersect in C * , the projection of C into P 4 . Since 1) lines L * 1 , L * 2 and L * 3 are in the same plane P 4 and intersect in C * , and 2) in singularity, lines I 1 , I 2 and I 3 intersect in O, the triangles ∆C *

  1 in Y with coefficients depending on parameters a 21 , a 22 , a 31 and a 32 . f 11 (X, Y ) takes the form f 11 =α 1 ((a 21 a 31 -a 22 a 32 )X 2 + (a 21 a 32 + a 22 a 31 )XY -a 21 a 31 ) (20) with α 1 = a 21 a 32 -a 22 a 31 + a 22 n 3 -a 32 n 2

  a 21 a 41 -a 22 a 42 )X 2 + (a 21 a 42 + a 22 a 41 )XY -a 21 a 41 ) (25) with α 2 = a 21 a 42 -a 22 a 41 + a 22 n 4 -a 42 n 2

In the following of the paper, P, U, S will stand for passive prismatic, universal, spherical joints, respectively. If the letter is underlined, the joint is considered active.

By definition, an assembly mode is a solution of the FGM of a parallel robot, i.e. one of the possible solutions for the assembly of the mechanism once the actuator position is fixed[START_REF] Merlet | Parallel Robots[END_REF].

ACKNOWLEDGEMENTS

This work was supported by the French ANR project ARROW (ANR-2011BS3-006-01) and the project RobEcolo funded by the French Région Pays de la Loire (Convention No. 2015-10773).


Rafael Balderas Hill

Sébastien Briot

Abdelhamid Chriette

Philippe Martinet

Minimizing Input Torques of a High-Speed Five-Bar Mechanism by using Variable Stiffness Springs

Recently, variable stiffness actuators (VSAs) have been introduced for reducing the input efforts of pick-and-place robots. However, the serial arrangement of springs and motors in the VSAs decreases the accuracy at high-speeds due to uncontrolled robot deflections. To ensure accuracy while reducing the input efforts, this paper proposes the use of variable stiffness springs (VSS) in parallel configuration with the motors. The parallel arrangement of VSS and motors is combined with a shooting method to adjust the stiffness of the system in order to enforce its limit cycle to converge to a desired trajectory, and, thus, to decrease the input torques. Numerical simulations of the suggested approach on a fivebar mechanism show the reduction of the robot input efforts.

Introduction

It is well-known that one of the most common operations for high-speed robot manipulators in industrial applications is to pick and place objects from one initial desired position to a final position. Typically, such types of operations are fast pseudo-periodic motions, with variable amplitudes and frequencies in which an enormous amount of input efforts is required to move and stop the robot in the pick and place positions. As a consequence, a large quantity of energy is required to make the robot move, and then this energy must be dissipated to stop the robot in the braking phase. This is costly in terms of energy efficiency.

The classical approach to reduce the input torques at high speeds is by lowering the moving elements mass of the robot architecture, thus permitting the use of less powerful motors [START_REF] Clavel | Device for the movement and positioning of an element in space[END_REF]. Even if this allows reducing the 1 input torques, the lightweight structure affects the robot stiffness, leading to decrease the accuracy of the mechanism.

To operate at slow speeds, gravity-balancing techniques [START_REF] Briot | A New Energy-free Gravity-compensation Adaptive System for Balancing of 4-DOF Robot Manipulators with Variable Payloads[END_REF][3] have shown their effectiveness to compensate the input efforts required to move the links of slow pick-and-place robots. However, these techniques cannot be applied for high-speed robots for which the inertial effects are preponderant. Thus, in the last years, several researchers have proposed the use of Variable Stiffness Actuators (VSAs) to minimize the input efforts of pick-and-place robots [START_REF] Uemura | Resonance-based motion control method for multijoint robot through combining stiffness adaptation and iterative learning control[END_REF] [START_REF] Goya | Realization of high-energy efficient pick-and-place tasks of scara robots by resonance[END_REF]. The main idea is to connect the motor and the output link by a spring in series, which serves as energy storage and whose stiffness is controllable in order to adapt to different tasks. These springs are called Variable Stiffness Springs (VSS) [START_REF] Hollander | Concepts for compliant actuation in wearable robotic systems[END_REF]. Nevertheless, the main issue is that the serial arrangement of VSS and motors in the VSAs leads to uncontrolled robot deflections at high-speeds, worsening the accuracy of the robot.

A novel type of actuation, for a slow parallel robot in [START_REF] Barreto | The concept of natural motion for pick and place operations[END_REF] and a slow serial robot in [START_REF] Schiehlen | Control of Limit Cycle Oscillations[END_REF] [START_REF] Schiehlen | Minimum Energy Control of Multibody Systems Utilizing Storage Elements[END_REF], proposes the use constant stiffness springs in parallel to the motors in order to reduce the input torques in pick-and-place operations. Even if the results are impressive, the level of compliance to adapt to fast pseudo-periodic pick-and-place motions is limited due to the fixed stiffness.

Therefore, the aim of this paper is to propose a strategy for reducing the input efforts of a high-speed five-bar mechanism by placing VSS in parallel to the motors. Furthermore, we deal with the minimization of input torques by exploiting its dynamic model, by finding the optimal stiffness, such that the limit cycle of the system converges to the desired pseudo-periodic pickand-place motions. Then, the optimal stiffness is adjusted by means of the VSS. By adding a spring with controllable stiffness in parallel to the five-bar mechanism actuated links, two performances are achieved: i) direct power connection between the motor and the robot links, thus ensuring accuracy at high-speeds; ii) control of the stored potential energy to be released per cycle of the pick-and-place motion. In order to show the effectiveness of the proposed approach, two cases are compared and analyzed:

• Nominal case, which consists of the parallel robot without springs;

• Use of VSS in parallel with the motors of the robot with the proposed limit cycle tracking algorithm.

2 Physical Background

Dynamic model of five-bar mechanism with variable stiffness springs in parallel configuration with the actuated links

The general scheme of the five-bar mechanism with variable stiffness springs in parallel is given in Fig. 1. The actuation of the parallel robot is q s1 q 11 q 21 q s2 q 12 q 22 q 13 a l l l l

q s j q i Motor Robot Link Motor VSS Robot Link Figure 1.
On the left the five-bar mechanism parameterization with two actuated joints q 11 and q 21 , and three passive joints q 12 , q 22 and q 13 is shown. The variable stiffness torsional springs are located in parallel to the two actuated joints defined by q s1 and q s2 . On the right the power transmission system of VSS in parallel to the motors is shown. q i and q sj represent the parallel robot joints and variable stiffness joints coordinates, respectively, and i = 1, ..., 2, j = 1, ..., 2.

provided by q = [q 11 , q 21 ] T . The vector of passive joints is given by q d = [q 12 , q 22 , q 13 ] T . The vector of moving platform pose is given by x = [x, y] T . a is the distance between the actuated joints. All link lengths l are identical.

As shown in Fig. 1, the actuation for the variable stiffness joints is given by q s = [q s1 , q s2 ] T . For the dynamic modeling of the five-bar mechanism, the model of a real robot called DexTAR [START_REF] Briot | Controlling Parallel Robots during Singular Assembly Mode Changing[END_REF] was used. DexTAR is a five-bar mechanism whose dynamic model is computed in [START_REF] Briot | Controlling Parallel Robots during Singular Assembly Mode Changing[END_REF] using the Lagrange formalism. Adapting its dynamic model to our purpose, by considering the effects of the elastic deformation of the VSS in parallel with the actuated links (Fig. 1), the DexTAR dynamics computed in [START_REF] Briot | Controlling Parallel Robots during Singular Assembly Mode Changing[END_REF] become:

τ = ZZq + mJ T ẍ + τ s (1)
where • J is the robot Jacobian matrix;

• τ is the two-dimensional vector of robot input efforts;

• τ s is the two-dimensional vector of elastic torques associated to the VSS coupled to the robot in parallel by the following expression:

τ s = K(q -q s ) (2)
in which K = diag(k 11 , k 21 ), with k 11 , k 21 being the springs constants; • m is the mass of the end-effector.

• ZZ = diag(zz 11 , zz 21 ), with zz 11 and zz 21 representing the inertia of the two proximal links. In order to express the dynamic model in terms of the joint space accelerations, ẍ in ( 1) is mapped into the joint space by using the second-order kinematic constraint relations [START_REF] Merlet | Parallel Robots[END_REF]:

ẍ = Jq + b ( 3
)
where b is a vector containing terms in squared velocities [START_REF] Briot | Controlling Parallel Robots during Singular Assembly Mode Changing[END_REF]. Skipping all mathematical derivations, we get

τ = (ZZ + mJ T J)q + mJ T b + K(q -q s ) (4)
Finally, the VSS dynamics is given by:

τ vss = Jq s -K(q -q s ) (5)
where J = diag(J 1 , J 2 ), with J 1 and J 2 being the inertias of the couplings between the motors and the springs.

Based on the aforementioned computations, it is necessary to find a strategy to exploit the dynamic model of the robot in order to vanish the input torques and let the springs, whose stiffness is controlled by q s , to supply most of the energy to move the links of the robot.

Control of pick-and-place oscillations

For systems that oscillate at a constant amplitude and frequency, it is possible to find a unique set of spring constants grouped in matrix K, such that the limit cycle of the system converge to the desired periodic trajectory, thus vanishing the input torques [START_REF] Barreto | The concept of natural motion for pick and place operations[END_REF] [START_REF] Schiehlen | Minimum Energy Control of Multibody Systems Utilizing Storage Elements[END_REF]. However, it is not the same case for pick-and-place operations, which are typically defined by pseudo-periodic oscillatory motions, where the amplitudes and frequencies of oscillation may vary. This is mainly due to the fact that for each pseudo-frequency, there exist a different set of spring constants for enforcing the limit cycle to converge to the desired pseudo-periodic trajectory. That is why, similar to what it was done in [START_REF] Schiehlen | Control of Limit Cycle Oscillations[END_REF], we apply the so-called shooting method to find the optimal spring coordinates q s that adjust the output stiffness, so that the limit cycle matches as best as possible the desired trajectory even if the motion is quasi-periodic. This allows to have a fixed set of spring constants for any pseudo-frequency, and by tuning q s we ensure the convergence of (1) to an unforced second order differential equation, thus decreasing the input torques τ . As shown in Fig. 2, for performing energy-efficient pickand-place motions, the main idea is to tune the stiffness variables q s when the robot is stopped in a pick or place position. This to ensure meeting the desired boundary conditions (pick or place points) of the next cycle at a given pseudo-frequency. The shooting method formulation applied to find the spring coordinates q s seeks to solve (4) for τ = 0, i.e.: q = -(ZZ + mJ T J) -1 (mJ T b + K(qq s )) [START_REF] Hollander | Concepts for compliant actuation in wearable robotic systems[END_REF] with the boundary conditions defined as the desired pick and place positions and velocities by q(0) = q * 0 , q(t f ) = q * t f , q(0) = q * 0 and q(t f ) = q * t f by formulating the following position and velocity error vectors, respectively:

E q (q s ) = q(t f , q s ) -q * t f (7) E q (q s ) = q(t f , q s ) -q * t f (8)
where t f is the final time, and q and q are obtained from numerical single and double integration of q, respecitvely. Thus, the shooting method is applied to iteratively find the spring coordinates q s , such that expressions [START_REF] Barreto | The concept of natural motion for pick and place operations[END_REF] and ( 8) converge to zero as follows:

while

E q > 1 , E q > 2 , k ≤ max k do E q (q s ) = q(t f , q s ) -q * t f E q (q s ) = q(t f , q s ) -q * t f q s k : [E q (q s k ), E q (q s k )] = 0 q s k+1 = q s k + ∆q s k end
Optimal set of VSS coordinates: q s = q s k+1 . Algorithm 1: Shooting method applied to limit cycle tracking by updating spring coordinates q s where max k is the maximum number of iterations, 1 and 2 are error thresholds.

Simulation Results

The proposed approach for minimizing the input torques was validated by using the following numerical values for the five-bar mechanism geometric and dynamic parameters: inertia of the two proximal links zz 11 = 0.0133 kg/m 2 and zz 21 = 0.0142 kg/m 2 , end-effector mass m = 0.537 kg, inertias of the couplings between the motors and springs J 1 = J 2 = 0.0051 kg/m 2 , stiffness constants of the springs k 11 = k 21 = 10 Nm/rad, link lengths l = 0.090 m, distance between the axes of the actuated links a = 0.118 m. The limit cycle tracking (Algorithm 1) proposed in section 3 was tested by defining multiple desired points in the five-bar mechanism workspace as shown in Fig. 3. Each segment from the multiple-point pick-and-place sequence has a different travel time in order to show the effectiveness of the proposed approach to reduce the efforts in quasi-periodic motions. Moreover, in order to make the comparisson between the nominal actuation and the actuation with VSS, the total travel time of the nominal case is set equal to the travel-plus-adjusting times of the actuation with VSS.

Table 1 shows the optimal values obtained from the algorithm described in section 3. It can be seen that for every segment of trajectory there is a different total time, i.e. travel plus adjusting times, and therefore, different optimal values for the VSS coordinates q s . Table 2 shows the values of the maximum torques for the different segments for the two types of actuation: nominal without VSS and with VSS in parallel to the actuated links of the five-bar mechanism. For the second type of actuation the input efforts from the full actuation chain are computed, i.e. the robot torques and the VSS input torques. It can be seen that the average torque reduction from the full actuation chain, for the full multiple-point pick-and-place sequence, based on the maximum values of the torques from Table 2, is of 53%. It is also possible to observe that the variable stiffness joint torques grouped in τ s provide most of the effort in the full actuation chain. Table 1. Optimal values for the VSS coordinates q s1 and q s2 for every segment of trajectory.

Segment Total time (Travel Optimal q s1 (rad) Optimal q s2 (rad) + Adjusting) (s)

Conclusions and Future Works

In this paper, we have presented a new approach to minimize the input efforts of a high-speed five-bar mechanism, based on the use VSS in parallel to the motors, combined with a limit cycle tracker. This has allowed to considerably reduce the input torques of fast quasi-periodic motions. Simulations led to a successful minimization of the input torques for different multiplepoint trajectories on a five-bar mechanism by analyzing two cases: nominal without springs and VSS with adjustment of the limit cycles. Results show that the input torques reduction of the full actuation chain can reach up to 53% considering also the efforts from the motors that adjust the stiffness. Future work on this subject includes experimental validation of our approach and the optimal design of an energy-efficient five-bar mechanism with the VSS in parallel.

Figure 2 .

 2 Figure2. Five-bar mechanism in the three operation modes: In pick and place position the robot is stopped and the VSS is adjusted through q s to match the limit cycle to oscillate from A to B. Then in the motion phase the VSS is stopped and the robot is controlled only by q.

Table 2 .

 2 Maximum values of input torques for nominal case which consists of the five-bar mechanism without springs, and input torques by using VSS in parallel with same adjusting times as travel times.

	A → B	0.1	0.688	0.499
	B → C	0.09	-0.844	-1.210
	C → D	0.12	0.387	0.560
	D → E	0.07	-1.421	-1.417

workspace: A → B (travel time: 0.1 s), B → C (travel time: 0.09 s), C → D (travel time: 0.12 s), D → E (travel time: 0.07 s). max (Nm) |τ vss | max (Nm)

Acknowledgment

This work was conducted with the support of the Mexican Council for Science and Technology (CONACYT).


Lila Kaci

Clément Boudaud

Sébastien Briot

Philippe Martinet

LS2N/ESN -LIMBHA/ESB

Why a project on the design of an industrial wooden robot?

This idea comes from the actual contest of climate change. The Climate Change Mitigation (CCM) has become a priority in Europe. To deal with this huge challenge, the European Council adopted new environmental targets for EU in 2008, the so-called « 20-20-20» targets, in which the first two targets are : o To reduce emissions of Greenhouse Gases y 20% by 2020, and o To increase energy efficiency to save 20% energy consumption by 2020 (40% and 27% by 2030)

Fig. 1 Fig. 4

 14 Fig. 1 Environmental impact of a Kuka KR 270 robot during is total life cycle (manufacturing + use during 12 years)/ Energy consumed during the use phase data form [1]