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

Sébastien Briot, François Chaumette, Philippe Martinet

► To cite this version:

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. IEEE Transactions on Robotics, 2017, 33 (2), 10.1109/TRO.2016.2637912. [hal-01399774](https://hal.science/hal-01399774v1)

HAL Id: hal-01399774

https://hal.science/hal-01399774v1

Submitted on 2 Dec 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC0 1.0 - Universal - International License
# Revisiting the Determination of the Singularity Cases in the Visual Servoing of Image Points through the Concept of Hidden Robot

Sébastien Briot, François Chaumette, and Philippe Martinet

***Abstract***—The determination of the singularity cases in visual servoing is a tricky problem which is unsolved for most image-based approaches. In order to avoid singularities, redundant measurements may be used. However, they lead to the presence of local minima. Moreover, they do not always ensure that singularities can be avoided. Here, we show that a concept named the “hidden robot”, which was formerly used for understanding the singularities of a vision-based controller dedicated to parallel robots, can be used for interpreting the singularities in the visual servoing of image points. These singularity cases were already found in the case where three points are observed but we show that the hidden robot concept considerably simplifies the analysis by using geometric interpretations of the mapping degeneracy and tools provided by the mechanical engineering community. Moreover, to the best of our knowledge, we provide for the first time the singularity conditions when more than three points are observed. We also discuss how these tools could be extended in order to find the singularity cases of other visual servoing techniques (e.g. when lines are observed).

***Index Terms***—Visual servoing, singularities, hidden robot, parallel robot, Grassmann-Cayley algebra.

## I. INTRODUCTION

THE determination of the singularity cases that may appear in visual servoing [1] is a huge challenge [2], but it is crucial in order to avoid controllability issues due to the loss of rank of the interaction matrix [3]. 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 [2]. 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

were also provided in [4], [5] and more recently in [6] 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 [6]. 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 [7], [8], other parameterizations [9]–[11], or combinations such as moments [12]. 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 non-minimal representation of the system and the apparition of local minima [3] whose determination is also a huge challenge. Moreover, even the use of additional features may not exclude the presence of singularities in general [13]. 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” [14]. This concept was used to determine the singularity cases of a vision-based controller dedicated to parallel robots [15]. 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

<figure><img src="image_2.png" /><figcaption>Fig. 1. Cylinder of singularities found in [2].</figcaption></figure>

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 ...
robot [16] and then to several types of robots, such as the Adept Quattro and other robots of the same family [17].

It was proven in [14] that the singularity cases of [15] 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-UPS<fnref n="1" /> 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 [18] and/or the Grassmann geometry [19]). 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 [13], [20].

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 [19].

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 [2]. 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 = \frac{X_i}{Z_i}, \quad y_i = \frac{Y_i}{Z_i} \qquad (1)$$

By differentiating these equations, the classical equations linking the velocities $\dot{x}_i$ and $\dot{y}_i$ to the twist $\tau_c^T = [v_c^T \omega_c^T]$ of the camera in its relative motion with respect to the observed object frame ($v_c$ being the translational velocity and $\omega_c$ the rotational velocity) are [1], [3]

$$\begin{bmatrix} \dot{x}_i \\ \dot{y}_i \end{bmatrix} = \begin{bmatrix} -\frac{1}{Z_i} & 0 & \frac{x_i}{Z_i} & x_i y_i & -(1+x_i^2) & y_i \\ 0 & -\frac{1}{Z_i} & \frac{y_i}{Z_i} & 1+y_i^2 & -x_i y_i & -x_i \end{bmatrix} \tau_c \qquad (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 $\dot{s} = [\dot{x}_1 \dot{y}_1 \dot{x}_2 \dot{y}_2 \dot{x}_3 \dot{y}_3]^T$ to the camera twist $\tau_c$ by the relation

$$\dot{s} = L\tau_c \qquad (3)$$

<footnote n="1">¹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.</footnote>
<figure><img src="image_3.png" /><figcaption>Fig. 2. Observation of three 3-D points</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>Fig. 3. A *UPS* kinematic chain</figcaption></figure>

is thus given by

$$ \mathbf{L} = \begin{bmatrix} -\frac{1}{Z_1} & 0 & \frac{x_1}{Z_1} & x_1 y_1 & -(1+x_1^2) & y_1 \\ 0 & -\frac{1}{Z_1} & \frac{y_1}{Z_1} & 1+y_1^2 & -x_1 y_1 & -x_1 \\ -\frac{1}{Z_2} & 0 & \frac{x_2}{Z_2} & x_2 y_2 & -(1+x_2^2) & y_2 \\ 0 & -\frac{1}{Z_2} & \frac{y_2}{Z_2} & 1+y_2^2 & -x_2 y_2 & -x_2 \\ -\frac{1}{Z_3} & 0 & \frac{x_3}{Z_3} & x_3 y_3 & -(1+x_3^2) & y_3 \\ 0 & -\frac{1}{Z_3} & \frac{y_3}{Z_3} & 1+y_3^2 & -x_3 y_3 & -x_3 \end{bmatrix} \quad (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 $\Delta 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 *UPS* architecture linking the camera frame to the observed object frame. To this leg, we

associate a vector $q_i = [\alpha_i \ \beta_i]$, where $\alpha_i$ and $\beta_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 $\Delta 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 *UPS* architecture, i.e. a kinematic chain with three degrees of freedom (instead of six for the *UPS* 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 *UPS* mechanical architecture depicted above,

* $M_1$, $M_2$ and $M_3$ are fixed on the same body, represented by the triangle $\Delta 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 $\Delta 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-UPS parallel robot (Fig. 4).

By geometric property, we mean that the solutions of the Forward Geometric Model (FGM) of the 3-UPS parallel robot are also the solutions of the “Pose from 3 Points” (P3P) problem [21], [22] 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 [20], 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
<figure><img src="image_5.png" /><figcaption>Fig. 4. The hidden robot model: a 3-UPS 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)</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>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, $\Delta M_1 M_2 M_3$ is an equilateral triangle of edge length equal to $2\sqrt{3}$ m. Moreover, we have $\mathbf{a}_1^T \mathbf{a}_2 = 5/8$, $\mathbf{a}_i$ being the unit vector representing the direction of the line $L_i$.</figcaption></figure>

$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 *UPS* 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.

### 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-UPS parallel robot depicted in Fig. 4, has been studied in details in [21]. In this section, we present a geometric interpretation which is complementary to the previous works.

To solve the FGM of the 3-UPS robot, the procedure is the following [19]. 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 [23]. 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 [23], 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 [23], a line and an octic surface can have up to eight real intersection points. As a result, the 3-UPS robot can have up to eight assembly

<figure><img src="image_7.png" /><figcaption>Fig. 6. Possible solutions of the FGM associated with the 3-UPS robot: in this example, $\mathbf{a}_1^T \mathbf{a}_2 = \mathbf{a}_1^T \mathbf{a}_3 = \mathbf{a}_2^T \mathbf{a}_3 = 5/8$. For such case, 8 solutions exist which are given by $\{\ell_1 = 4, \ell_2 = 4, \ell_3 = 4\}$ m, $\{\ell_1 = 1, \ell_2 = 4, \ell_3 = 4\}$ m, $\{\ell_1 = 4, \ell_2 = 1, \ell_3 = 4\}$ m, $\{\ell_1 = 4, \ell_2 = 4, \ell_3 = 1\}$ m (assembly modes 1 to 4), $\{\ell_1 = -4, \ell_2 = -4, \ell_3 = -4\}$ m, $\{\ell_1 = -1, \ell_2 = -4, \ell_3 = -4\}$ m, $\{\ell_1 = -4, \ell_2 = -4, \ell_3 = -1\}$ m (assembly modes 5 to 8), where $\ell_j = \ell_{CM_j}$.</figcaption></figure>

modes<fnref n="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 [21].

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

<footnote n="2">²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 [19].</footnote>
<figure><img src="image_8.png" /><figcaption>Examples of undetermined configurations</figcaption></figure>

Fig. 7. Condition for pose indetermination: the camera center C lies on the circumcircle of the triangle $\Delta M_1 M_2 M_3$. In this picture, the green triangles are examples of undetermined configurations for the triangle $\Delta M_1 M_2 M_3$ (there is an infinity of possible solutions). For this planar motion case, it is known from [19] that if the three lines $\mathcal{I}_i$, perpendicular to $\mathcal{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 $\Delta M_1 M_2 M_3$ in the plane of displacement.

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 [24].

In order to meet such property, portions of the surface $\mathcal{S}$ must degenerate so that they contain line segments. As proven in [23], each possible line segment contained on $\mathcal{S}$ is obligatorily parallel to the plane $\mathcal{P}$ containing $\mathcal{L}_1$ and $\mathcal{L}_2$. With respect to the specificities of our problem, undetermined configurations (that correspond to Cardanic self motions [25]) can thus only appear if $\mathcal{L}_3$ belongs to $\mathcal{P}$, resulting in the fact that the three points are aligned in the image.

Once again, as proven in [23] but also in [2], [21], when $\mathcal{L}_1$, $\mathcal{L}_2$ and $\mathcal{L}_3$ are in the same plane $\mathcal{P}$, pose indetermination appears if and only if the camera center C lies on the circumcircle $\mathcal{R}$ of the triangle $\Delta 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 [2], [21] but it was not proven that it was the only possibility, as we just did from a well known result [23] of the mechanical engineering community.

## B. Singularity analysis when three image points are observed

Singularities on the inverse Jacobian matrix $\mathbf{J}_{inv}$ of a parallel robot (also called Type 2 or parallel singularities [26]) appear when at least two solutions to the FGP are identical [19]. This phenomena is obtained when the line $\mathcal{L}_3$ is tangent to the coupler surface $\mathcal{S}$ [19]. 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 $\mathbf{t}_s$ defined such that $\mathbf{J}_{inv} \mathbf{t}_s = \mathbf{0}$ while $\dot{\mathbf{q}} = \mathbf{0}$, i.e. the actuators are fixed (which means that $\mathbf{t}_s$ is in the null space of $\mathbf{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 [19].

For a given leg $i$, any actuation wrench denoted by $\xi_{ij}$ is reciprocal to the unit twists denoted $\zeta_{ik}$ characterizing the displacements of the passive joints [27], i.e. $\xi_{ij}^T \zeta_{ik} = 0$ for any $j$ and $k$. This means that the virtual power developed by the wrench $\xi_{ij}$ along the direction of motion $\zeta_{ik}$ is null; in other words, the actuator $j$ of the leg $i$ cannot transmit a wrench $\xi_{ij}$ to the platform along the direction $\zeta_{ik}$.

Let us consider a UPS leg belonging to our 3-UPS hidden robot. In the frame $\mathcal{F}_i : (M_i, \mathbf{x}_i, \mathbf{y}_i, \mathbf{z}_i)$ attached to the leg, the unit twist defining the motion of the passive $P$ joint is expressed as:

$$ \zeta_{i1} = [0 \ 0 \ 1 \ 0 \ 0 \ 0]^T \quad (5) $$

while the three unit twists defining the motion of the passive $S$ joint are given by:

$$ \zeta_{i2} = [0 \ 0 \ 0 \ 1 \ 0 \ 0]^T \quad (6) $$

$$ \zeta_{i3} = [0 \ 0 \ 0 \ 0 \ 1 \ 0]^T \quad (7) $$

$$ \zeta_{i4} = [0 \ 0 \ 0 \ 0 \ 0 \ 1]^T \quad (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 $\mathcal{F}_i$ are

$$ \xi_{i1} = [1 \ 0 \ 0 \ 0 \ 0 \ 0]^T \quad (9) $$

$$ \xi_{i2} = [0 \ 1 \ 0 \ 0 \ 0 \ 0]^T \quad (10) $$

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, $\xi_{i1}$ and $\xi_{i2}$ are two forces applied at $M_i$ and directed along $\mathbf{x}_i$ and $\mathbf{y}_i$, respectively (Fig. 3).

Now considering the three robot legs, the system of actuation wrenches is given by $\xi = [\xi_{11} \xi_{12} \xi_{21} \xi_{22} \xi_{31} \xi_{32}]$. There are some tools that define the conditions of degeneracy of a wrench system among which the Grassmann geometry [19] and the Grassmann-Cayley algebra [18], [28]–[30].

Regarding our particular case, the Grassmann-Cayley algebra was used in [18] to prove that, if the system of wrenches is composed of a triplet of two (independent) forces $\xi_{i1}$ and $\xi_{i2}$, $\xi_{i1}$ and $\xi_{i2}$ being applied at the same point $M_i$, conditions of singularities appear if and only if all the four planes $\mathcal{P}_i$ ($i = 1, 2, 3, 4$) intersect in (at least) a point O (Fig. 8), planes $\mathcal{P}_i$ being defined as:

* $\mathcal{P}_i$ ($i = 1, 2, 3$) is the plane passing through point $M_i$ and containing the axes $\mathbf{x}_i$ and $\mathbf{y}_i$ (Fig. 3).

* $\mathcal{P}_4$ is the plane containing the triangle $\Delta M_1 M_2 M_3$.
<figure><img src="image_9.png" /><figcaption>Fig. 8. Condition of singularity: the four planes $\mathcal{P}_i$ (i=1,2,3,4) ($\mathcal{P}_i$ being orthogonal to the line $\mathcal{L}_i$ and containing point $M_i$) intersect in (at least) a point $O$ (that can be at infinity).</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Fig. 9. Projection of the line $\mathcal{L}_i$ into the plane $\mathcal{P}_4$ ($C^*$ is the projection of $C$ into $\mathcal{P}_4$).</figcaption></figure>

In the case of the considered 3-UPS parallel robot, this general condition can be simplified by using a simple geometric analysis. Let us consider the line $\mathcal{I}_i$ ($i = 1, 2, 3$) which represents the intersection of the planes $\mathcal{P}_i$ and $\mathcal{P}_4$ (Fig. 8). From the result above, $\mathcal{I}_1$, $\mathcal{I}_2$ and $\mathcal{I}_3$ are contained in $\mathcal{P}_4$ and intersect in $O$. As $\mathcal{I}_i$ belongs to $\mathcal{P}_i$, it is perpendicular to $\mathcal{L}_i$ and, as a result, to its projection into the plane $\mathcal{P}_4$ which is denoted as $\mathcal{L}_i^*$ (Fig. 9).

Obviously, $\mathcal{L}_1^*$, $\mathcal{L}_2^*$ and $\mathcal{L}_3^*$ intersect in $C^*$, the projection of $C$ into $\mathcal{P}_4$.

Since

1) lines $\mathcal{L}_1^*$, $\mathcal{L}_2^*$ and $\mathcal{L}_3^*$ are in the same plane $\mathcal{P}_4$ and intersect in $C^*$, and

2) in singularity, lines $\mathcal{I}_1$, $\mathcal{I}_2$ and $\mathcal{I}_3$ intersect in $O$,

the triangles $\Delta C^*M_iO$ are rectangular triangles (see Fig. 10). From basic geometry, the centers of the circumcircles associated with the triangles $\Delta C^*M_iO$ are located at the middle of the segment $C^*O$, which impose that $\Delta C^*M_1O$, $\Delta C^*M_2O$ and $\Delta C^*M_3O$ 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 $\mathcal{R}$ of the triangle $\Delta M_1M_2M_3$ (Figs. 7 and 8).

If $C^*$ is on the circumcircle $\mathcal{R}$ of the triangle $\Delta M_1M_2M_3$, this means that $C$ lies on the cylinder $\mathcal{A}$ whose axis is perpendicular to $\mathcal{P}_4$ and containing $\mathcal{R}$ (Fig. 1), which was the condition of singularity already proven in [2].

Note that, in the degenerated case where $C^* \equiv M_i$ for which we cannot define the line $\mathcal{I}_i$ as $\mathcal{P}_i \equiv \mathcal{P}_4$, the previous sentence is still valuable because:

* as $\mathcal{P}_i$ is merged with $\mathcal{P}_4$, the four planes obligatorily intersect in a single point,

* $\mathcal{P}_i \equiv \mathcal{P}_4$ appears if and only if $\mathcal{L}_i$ is perpendicular to $\mathcal{P}_4$. Thus, $\mathcal{L}_i$ obligatorily lies on the cylinder $\mathcal{A}$.

It is noteworthy that the undetermined configurations (Fig. 7) are also singular configurations which correspond to the particular case where $C \equiv 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$-UPS parallel hidden robot (which is the visualization of the mapping involved in the visual servoing of the $n$ points under consideration) is given by $\xi = [\xi_{11} \xi_{12} \dots \xi_{n1} \xi_{n2}]$, i.e. a wrench system composed of $2n$ actuations wrenches.

Let us consider a subset $\xi_i$ of $\xi$ made of six actuation wrenches among the $2n$ ones (in other words, $\xi_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 $\xi_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 circumcircle of the triangle $\Delta M_aM_bM_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 $\xi_i$ is equal to 1.

As a result, conditions of singularities in the visual servoing of $n$ image points ($n > 3$) appears if $\xi$ is obviously rank deficient and if its nullspace is proportional to $t_{si}$. In other words, any subset $\xi_k$ of $\xi$ made of six actuation wrenches among the $2n$ wrenches composing $\xi$ 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 $\xi_k$ of $\xi$ 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
<figure><img src="image_11.png" /><figcaption>Fig. 10. Parameterization of the location of the three observed points.</figcaption></figure>

the same cylinder of singularities, i.e. all subsets $\xi_i$ of six actuation wrenches among the 2n wrenches composing $\xi$ 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:

$$ \overrightarrow{CM_i} = \overrightarrow{CP} + \overrightarrow{PM_i} \quad (11) $$

where $\overrightarrow{CP} = [XY Z]^T$ and

$$ \begin{aligned} \overrightarrow{PM_1} &= [1 \ 0 \ 0]^T, \\ \overrightarrow{PM_2} &= [a_{21} \ a_{22} \ 0]^T/n_2 \\ \overrightarrow{PM_3} &= [a_{31} \ a_{32} \ 0]^T/n_3 \end{aligned} \quad (12) $$

where $n_2 = \sqrt{a_{21}^2 + a_{22}^2}$ and $n_3 = \sqrt{a_{31}^2 + a_{32}^2}$. Thus,

$$ \begin{aligned} \overrightarrow{CM_1} &= [X + 1 \ Y \ Z]^T, \\ \overrightarrow{CM_2} &= [X + a_{21}/n_2 \ Y + a_{22}/n_2 \ Z]^T \\ \overrightarrow{CM_3} &= [X + a_{31}/n_3 \ Y + a_{32}/n_3 \ Z]^T \end{aligned} \quad (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 \quad (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 $\xi_{i1}$ is taken reciprocal to the leg direction $z_i$ (directed along $\overrightarrow{CM_i}$) and is contained in the plane $P_4$ of normal $z_p$ (thus, as here, $z_p \equiv z_c$, the Z-coordinate of force $\xi_{i1}$ in the camera frame will be zero), while the resultant force of the wrench $\xi_{i2}$ will be reciprocal to both $\xi_{i1}$ and $z_i$.

* $\xi_{i1}$ and $\xi_{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 $\xi_{i1}$ is zero and its resultant force is directed along $I_i$.

The expressions of $\xi_{i1} = [\mathbf{f}_{i1}^T \mathbf{m}_{i1}^T]^T$ ($i = 1, 2, 3$) are thus given by (in what follows, $z_p = [0 \ 0 \ 1]^T$):

$$ \mathbf{f}_{11} = z_p \times \overrightarrow{CM_1} = [-Y \ X + 1 \ 0]^T, \quad \mathbf{m}_{11} = \mathbf{0} \quad (15) $$

$$ \begin{aligned} \mathbf{f}_{21} &= z_p \times \overrightarrow{CM_2} = [-Y - a_{22}/n_2 \ X + a_{21}/n_2 \ 0]^T, \\ \mathbf{m}_{12} &= \mathbf{0} \end{aligned} \quad (16) $$

$$ \begin{aligned} \mathbf{f}_{31} &= z_p \times \overrightarrow{CM_3} = [-Y - a_{32}/n_3 \ X + a_{31}/n_3 \ 0]^T, \\ \mathbf{m}_{13} &= \mathbf{0} \end{aligned} \quad (17) $$

while the expressions of $\xi_{i2} = [\mathbf{f}_{i2}^T \mathbf{m}_{i2}^T]^T$ ($i = 1, 2, 3$) are obtained by:

$$ \mathbf{f}_{i2} = \overrightarrow{CM_i} \times \mathbf{f}_{i1}, \quad \mathbf{m}_{i2} = \overrightarrow{OM_i} \times \mathbf{f}_{i2} \quad (18) $$

Note that in the case where $M_i \equiv C^*$, $f_{ij}$ are not null but $f_{i1} = [XY 0]$ while $f_{i2} = [-Y X 0]$.

Based on these expressions, the nullspace $t_{s1}$ of $\xi_1 = [\xi_{11} \ \xi_{12} \ \xi_{21} \ \xi_{22} \ \xi_{31} \ \xi_{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 \ -ZYf_{11}(X,Y) \ -Zf_{12}(X,Y) \\ -Zf_{13}(X,Y) \ (X+1)f_{14}(X,Y)]^T \quad (19) $$

where it can be proven that functions $f_{1k}(X, Y)$ are polynomials of degree 2 in $X$ and degree 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} = \alpha_1((a_{21}a_{31} - a_{22}a_{32})X^2 + (a_{21}a_{32} + a_{22}a_{31})XY - a_{21}a_{31}) \quad (20)$$

with

$$\alpha_1 = a_{21}a_{32} - a_{22}a_{31} + a_{22}n_3 - a_{32}n_2 \quad (21)$$

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 $\alpha_1$.

It should be mentioned that, thanks to our choice for the expressions of the wrenches $\xi_{ij}$ leading to a block-triangular matrix $\xi_1$, the computation of the nullspace $t_{s1}$ of $\xi_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 $\xi_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 $\xi$ 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 [32], 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 $\omega_{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 result, the nullspace of $L$ is the twist $t_{s1}$ but computed at point $C$ through the relation $t_{s1}(C) = [(v_{s1}(O) + \overrightarrow{CO} \times \omega_{s1})^T \omega_{s1}^T]^T$.

Now, let us imagine that we use an additional visual feature which is the observation of a point $M_4$ parameterized by $\overrightarrow{PM_4} = [a_{41}/n_4 a_{42}/n_4 0]^T$ in the camera frame, where $n_4 = \sqrt{a_{41}^2 + a_{42}^2}$. 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-UPS 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 $\xi = [\xi_{11} \xi_{12} \dots \xi_{41} \xi_{42}]$, where $\xi_{41} = [\mathbf{f}_{41}^T \mathbf{m}_{41}^T]^T$ is equal to

$$\mathbf{f}_{41} = [-Y - a_{42}/n_4 \quad X + a_{41}/n_4 \quad 0]^T, \quad \mathbf{m}_{14} = \mathbf{0} \quad (22)$$

while the expression of $\xi_{42} = [\mathbf{f}_{42}^T \mathbf{m}_{42}^T]^T$ is obtained by:

$$\mathbf{f}_{42} = \overrightarrow{CM_4} \times \mathbf{f}_{41}, \quad \mathbf{m}_{42} = \overrightarrow{OM_4} \times \mathbf{f}_{42} \quad (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 (19) 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, \dots, 4$) corresponding to the wrench systems associated with the observation of any subset of three points among the four becomes proportional to $t_{si} = [000001]^T$. Thus, the global wrench system $\xi$ is rank-deficient. This singularity condition was expected, as it was already shown in [21] 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 \neq 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 (19), its nullspace takes the following form

$$t_{s2} = [0 \ 0 -ZYf_{21} - Zf_{22} - Zf_{23} \ (X+1)f_{24}]^T \quad (24)$$

in which $f_{21}(X, Y)$ is given by

$$f_{21} = \alpha_2((a_{21}a_{41} - a_{22}a_{42})X^2 + (a_{21}a_{42} + a_{22}a_{41})XY - a_{21}a_{41}) \quad (25)$$

with

$$\alpha_2 = a_{21}a_{42} - a_{22}a_{41} + a_{22}n_4 - a_{42}n_2 \quad (26)$$

A necessary condition for the rank deficiency of the wrench system $\xi$ 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 (19). This can appear only if and only if $a_{41} = \delta a_{31}$ and $a_{42} = \delta a_{32}$, $\delta = \pm 1$, i.e. $M_4 \equiv M_3$ ($\delta = 1$) or is the symmetric of $M_3$ with respect to $P$ ($\delta = -1$). However, as if $\delta = -1$, $\alpha_2 \neq \alpha_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 $\alpha_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:

$$\overrightarrow{CM_i} = \overrightarrow{CP} + \overrightarrow{PM_i} \quad (27)$$

where

$$\overrightarrow{CP} = [XYZ]^T, \quad (28)$$

$$\overrightarrow{PM_i} = \mathbf{R}\mathbf{O}\mathbf{t}(\varphi, \mathbf{y})[R \cos(\phi_i) \ R \sin(\phi_i) \ 0]^T \quad (29)$$
<figure><img src="image_12.png" /><figcaption>Fig. 11. Relative motion of the camera with respect to the observed points in the simulation.</figcaption></figure>

<figure><img src="image_13.png" /><figcaption>Fig. 12. Inverse of the condition number of the interaction matrix L obtained when observing four points $M_1, M_2, M_3$ and $M_4$ lying on the same circle.</figcaption></figure>

in which Rot($\varphi, y$) is the rotation matrix around y-axis of angle $\varphi$. For simulation purpose, we take $R = 1$, $\phi_1 = -\pi/6$, $\phi_2 = \pi/3$, $\phi_3 = \pi/2$, $\phi_4 = 2\pi/3$, $\varphi = \pi/6$ and

$$X = 0.1(1-s) - \cos \varphi, \quad Y = 0.1(1-s), \\ Z = 0.1(1-s) + \sin \varphi \qquad (30)$$

with $s \in [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 [2] 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 [33].

3) Once the virtual leg is defined, find its actuation wrenches $\xi_{ij}$ [34]. They are reciprocal to all twists $\zeta_{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 $\zeta_{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 $\xi_{ij}$ corresponding to all virtual legs in a matrix $\xi$. The rank deficiency of this matrix must be then analyzed. Two cases appear, regarding the types of wrenches that are stacked into $\xi$ and the type of robot legs:

a) results have already been defined in the literature (e.g. like in [27] for planar robots or in [18], [28]–[30] 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 [18] and/or the Grassmann geometry [19] 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 [35] 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 image-based visual servoing of 3-D lines.

## 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).

## REFERENCES

[1] S. Hutchinson, G. Hager, and P. Corke, “A tutorial on visual servo control,” *IEEE Transactions on Robotics and Automation*, vol. 12, pp. 651–670, 1996.

[2] H. Michel and P. Rives, “Singularities in the determination of the situation of a robot effector from the perspective view of 3 points,” *INRIA, Tech. Rep.*, 1993.

[3] F. Chaumette and S. Hutchinson, *Visual Servoing and Visual Tracking, chapter 24 of Handbook of Robotics*. Springer, 2008.

[4] E. Thompson, “Space resection: failure cases,” *The Photogrammetric Record*, vol. 5, no. 27, pp. 201–204, 1966.

[5] N. Papanikolopoulos, “Selection of features and evaluation of visual measurements during robotics visual servoing tasks,” *Journal of Intelligent and Robotics Systems*, vol. 13, no. 3, pp. 279–304, 1995.

[6] R. Tatsambon Fomena, O. Tahri, and F. Chaumette, “Distance-based and orientation-based visual servoing from three points,” *IEEE Transactions on Robotics*, vol. 27, no. 2, pp. 256–267, 2011.

[7] J. Feddema, C. Lee, and O. Mitchell, “Automatic selection of image features for visual servoing of a robot manipulator,” in *Proceedings of the 1989 IEEE International Conference on Robotics and Automation (ICRA 1989)*, Scottsdale, may 1989, pp. 832–837.

[8] F. Janibi-Sharifi and W. Wilson, “Automatic selection of image features for visual servoing,” *IEEE Transactions on Robotics*, vol. 13, no. 6, pp. 890–903, 1997.

[9] M. Iwatsuki and N. Okiyama, “A new formulation for visual servoing based on cylindrical coordinate system,” *IEEE Transactions on Robotics*, vol. 21, no. 2, pp. 266–273, 2005.

[10] P. Corke, “Spherical image-based visual servo and structure estimation,” in *Proceedings of the 2010 IEEE International Conference on Robotics and Automation (ICRA 2010)*, Anchorage, may 2010, pp. 5550–5555.

[11] M. Liu, C. Pradalier, and R. Siegwart, “A bearing-only 2D/3D-homing method under a visual servoing framework,” in *Proceedings of the 2010 IEEE International Conference on Robotics and Automation (ICRA 2010)*, Anchorage, may 2010, pp. 4062–4067.

[12] O. Tahri and F. Chaumette, “Point-based and region-based image moments for visual servoing of planar objects,” *IEEE Transactions on Robotics*, vol. 21, no. 6, pp. 1116–1127, 2005.

[13] V. Rosenzveig, S. Briot, P. Martinet, E. Özgür, and N. Bouton, “A method for simplifying the analysis of leg-based visual servoing of parallel robots,” in *Proc. 2014 IEEE Int. Conf. on Robotics and Automation (ICRA 2014)*, Hong Kong, China, May 2014.

[14] S. Briot and P. Martinet, “Minimal representation for the control of Gough-Stewart platforms via leg observation considering a hidden robot model,” in *Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA 2013)*, Karlsruhe, Germany, May, 6-10 2013.

[15] N. Andreff, A. Marchadier, and P. Martinet, “Vision-based control of a Gough-Stewart parallel mechanism using legs observation,” in *Proceedings of the IEEE International Conference on Robotics and Automation, ICRA’05*, Barcelona, Spain, April 18-22 2005, pp. 2546–2551.

[16] V. Gough and S. Whitehall, “Universal tyre test machine,” in *Proceedings of the FISITA 9th International Technical Congress*, May 1962, pp. 117–317.

[17] E. Özgür, N. Andreff, and P. Martinet, “Dynamic control of the Quattro robot by the leg edgels,” in *Proceedings of the IEEE International Conference on Robotics and Automation, ICRA11*, Shanghai, China, May 9-13 2011.

[18] P. Ben-Horin and M. Shoham, “Singularity analysis of a class of parallel robots based on Grassmann-Cayley algebra,” *Mechanism and Machine Theory*, vol. 41, no. 8, pp. 958–970, August 2006.

[19] J.-P. Merlet, *Parallel Robots*, 2nd ed. Springer, 2006.

[20] S. Briot, P. Martinet, and V. Rosenzveig, “The hidden robot: an efficient concept contributing to the analysis of the controllability of parallel robots in advanced visual servoing techniques,” *IEEE Transactions on Robotics*, vol. 31, no. 6, pp. 1337–1352, 2015.

[21] M. Fischler and R. Bolles, “Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography,” *Communications of the ACM: Graphics and Image Processing*, vol. 24, no. 6, 1981.

[22] L. Kneip, D. Scaramuzza, and R. Siegwart, “A novel parametrization of the perspective-three-point problem for a direct computation of absolute camera position and orientation,” in *Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2011)*, Providence, RI, 2011, p. jun.
[23] C. Tischler, K. Hunt, and A. Samuel, "A spatial extension of Cardanic movement: its geometry and some derived mechanisms," *Mechanism and Machine Theory*, vol. 33, pp. 1249–1276, 1998.

[24] A. Wolf, M. Shoham, and F. Park, "Investigation of singularities and self-motions of the 3-UPU robot," in *Advances in Robot Kinematics*, Dordrecht, Germany, June 2002.

[25] S. Briot, I. Bonev, D. Chablat, P. Wenger, and V. Arakelian, "Self motions of general 3-RPR planar parallel robots," *International Journal of Robotics Research*, vol. 27, no. 7, pp. 855–866, 2008.

[26] C. Gosselin and J. Angeles, "Singularity analysis of closed-loop kinematic chains," *IEEE Transactions on Robotics and Automation*, vol. 6, no. 3, pp. 281–290, 1990.

[27] I. Bonev, "Geometric analysis of parallel mechanisms," Ph.D. dissertation, Université Laval, QC, Canada, nov 2002.

[28] P. Ben-Horin and M. Shoham, "Application of Grassmann-Cayley algebra to geometrical interpretation of parallel robot singularities," *The International Journal of Robotics Research*, vol. 28, no. 1, pp. 127–141, 2009.

[29] N. White, *Handbook of Geometric Computing*. Springer, 2008, vol. 8, ch. Grassmann-Cayley algebra and robotics applications, pp. 629–656.

[30] D. Kanaan, P. Wenger, S. Caro, and D. Chablat, "Singularity analysis of lower mobility parallel manipulators using Grassmann-Cayley algebra," *IEEE Transactions on Robotics*, vol. 25, no. 5, pp. 995–1004, 2009.

[31] [Online]. Available: https://hal.archives-ouvertes.fr/hal-01403879

[32] X. Kong and C. Gosselin, *Type Synthesis of Parallel Mechanisms*. Springer, 2007.

[33] S. Caro, W. Khan, D. Pasini, and J. Angeles, "The rule-based conceptual design of the architecture of serial Schoenflies-motion generators," *Mechanism and Machine Theory*, vol. 45, no. 2, pp. 251–260, 2010.

[34] J. Zhao, B. Li, X. Yang, and H. Yu, "Geometrical method to determine the reciprocal screws and applications to parallel manipulators," *Robotica*, vol. 27, pp. 929–940, 2009.

[35] N. Andreff, B. Espiau, and R. Horaud, "Visual servoing from lines," *International Journal of Robotics Research*, vol. 21, no. 8, pp. 679–700, 2002.

<figure><img src="image_14.png" /></figure>

**François Chaumette** (M'02, SM'09, F'13) was graduated from École Nationale Supérieure de Mécanique, Nantes, France, in 1987. He received the Ph.D. degree in computer science from the University of Rennes, France, in 1990. Since 1990, he has been with Inria in Rennes where he is now senior research scientist and head of the Lagadic group (http://www.irisa.fr/lagadic). His research interests include robotics and computer vision, especially visual servoing and active perception.

Dr. Chaumette received the AFCET/CNRS Prize for the best French thesis in automatic control in 1991. He also received the 2002 King-Sun Fu Memorial Best IEEE Transactions on Robotics and Automation Paper Award. He serves in the Editorial Board of the Int. Journal of Robotics Research and as Senior Editor of the IEEE Robotics and Automation Letters.

<figure><img src="image_15.png" /></figure>

**Sébastien Briot** received the B.S. and M.S. degrees in Mechanical Engineering in 2004 from the National Institute of Applied Sciences (INSA) of Rennes (France). Then, he began a PhD thesis, supervised by Prof. Vigen Arakelian, at the INSA of Rennes and received the PhD degree in 2007.

He worked at the École de Technologie Supérieure of Montreal (Canada) with Prof. Ilian Bonev as a postdoctorate fellow in 2008. Since 2009, he is a full-time CNRS researcher at the IRCCyN in Nantes (France) in the Robotics team. Its research fields

concern the design optimization of robots and the analysis of their dynamic performance. He also studies the impact of sensor-based controllers on the robot performance. He is the author of more than 30 referred journal papers and 3 inventions.

Dr. Briot received the Award of the Best Ph.D. Thesis in Robotics from the French CNRS for year 2007. In 2011, he received two other awards: the Award for the Best Young Researcher from the French Region Bretagne and the Award for the Best Young Researcher from the French Section of the American Society of Mechanical Engineering (SF-ASME).

<figure><img src="image_16.png" /></figure>

**Philippe Martinet** received his PhD degree in 1985 from the Blaise Pascal University, France. From 1990 til 2000, he was assistant Professor with CUST in the Electrical Engineering Department, Clermont-Ferrand. From 2000 until 2011, he was Professor at the Institut Franais de Mécanique Avancée (IFMA), Clermont-Ferrand. He was performing research at the Robotics and Vision Group of LASMEA-CNRS, Clermont-Ferrand. In 2006, he spent one year as a visiting professor in ISRC at the Sungkyunkwan university in Suwon, South Korea.

He was the leader of the group GRAVIR (over 74 person) from 2001 til 2006. From 1997 until 2011, he led the Robotic and Autonomous Complex System team (over 20 persons). From 2008 until 2011, he co-leads a Joint Unit of Technology called "Robotization in meat Industry", and the Korea France Joint Research Center on Cognitive Personal Transport Service Robot in Suwon (South Korea).

Since 2011, he is a professor at IRCCyN and is the head of the ERASMUS MUNDUS Master program EMARO+. His activities span robot visual servoing, control of autonomous guided vehicles and the modelling / identification / control of redundant / parallel robot. He is the author of more than 280 papers.