Keywords

1 Introduction

Non-singular assembly mode change has been discussed a lot for parallel manipulators since Innocenti and Parenti-Castelli [1] showed examples of such a behavior. Especially planar 3-RPR parallel manipulators were extensively investigated with respect to non-singular assembly mode change (see e.g. [2] and [3]). In [4] it was shown, that every generic planar 3-RPR has two aspects, meaning that the singularity surface divides the workspace into two parts and therefore non-singular assembly mode change is always possible. To the best of the knowledge of the authors singularity free assembly mode change has never been shown explicitly for spatial lower mobility parallel manipulators. It is the motivation to demonstrate this behavior for such a manipulator. One of the best investigated designs of lower mobility parallel manipulators is the 3-RPS manipulator introduced by Hunt [5]. This manipulator is simple enough to make this task feasible.

A \(3\)-RPS manipulator is a three degree of freedom (DOF) parallel manipulator. It consists of an equilateral triangular fixed platform and a similar moving platform connected by three identical RPS legs. The first joint (R-joint) is connected to the base and the last joint (S-joint) is connected to the moving platform (see Fig. 1). The legs are extensible, changing lengths via prismatic joints (P-joints), thereby moving the platform with three highly coupled DOFs. In the past few years the 3-RPS obtained a lot of attention in the kinematics community, see e.g. [6].

In [7] an overview of existing results up to the year 2008 can be found. Local analysis, mostly using screw theory was performed in most of the existing investigations especially in [8] and [9]. More recently in [10], using an algebraic description of the manipulator, together with Study’s kinematic mapping, a complete characterization of the forward kinematics, the operation modes, the singular poses and the transitions between the operation modes was given. It turned out that the manipulator has two kinematically different operation modes. The first one is characterized by finite \(\pi \)-screws. Axes of these screws are tilted with respect to the base and the translation distance depends on the chosen axis. The second mode has horizontal screw axes with rotation angle and translation distance depending on the chosen axis. Note, that this characterization refers to finite screws and not instantaneous screws. The singularities in both operation modes were derived in the kinematic image space as well as in the joint space. In joint space the singularity surfaces are of degree 24 and it was shown that for input joint combinations fulfilling an eight order polynomial transition from one operation mode to the other is possible. In [11] it was shown, that the manipulator can perform a spherical and “butterfly” self-motion for special leg lengths.

In this paper an example of singularity free assembly mode change will be given. To prove this property a singularity free path will be constructed that moves the manipulator around a cusp in a slice of its workspace.

The paper is organized as follows: In Sect. 2 a description of the architecture of the 3-RPS is given and the set of constraint equations is recalled. Section 3 introduces a method to construct a nonsingular assembly mode change path for this manipulator.

Fig. 1
figure 1

Design of the \(3\)-RPS parallel robot

2 Robot Design

With respect to Fig. 1 we consider the \(3\)-RPS parallel manipulator with the following architecture: The base of the \(3\)-RPS consists of an equilateral triangle with vertices \(\mathbf{A }_1\), \(\mathbf{A }_2\) and \(\mathbf{A }_3\) and circumradius \(h_1\). The origin of the fixed frame \(\varSigma _0\) coincides with the circumcenter of the triangle \(\mathbf{A }_1\), \(\mathbf{A }_2\) and \(\mathbf{A }_3\). The \(yz\)-plane of \(\varSigma _0\) is defined by the plane \(\mathbf{A }_1\), \(\mathbf{A }_2\), \(\mathbf{A }_3\). Finally, \(\mathbf{A }_1\) lies on the \(z\)-axis of \(\varSigma _0\). In the platform there is another equilateral triangle with vertices \(\mathbf{B }_1\), \(\mathbf{B }_2\) and \(\mathbf{B }_3\) and circumradius \(h_2\). The circumcenter of the triangle \(\mathbf{B }_1\), \(\mathbf{B }_2\) and \(\mathbf{B }_3\) lies in the origin of \(\varSigma _1\), which is the moving frame. Again, the plane defined by \(\mathbf{B }_1\), \(\mathbf{B }_2\) and \(\mathbf{B }_3\) coincides with the \(yz\)-plane of \(\varSigma _1\) and \(\mathbf{B }_1\) lies on the \(z\)-axis of \(\varSigma _1\).

The two design parameters \(h_1\) and \(h_2\) are taken to be strictly positive numbers. Now each pair of vertices \(\mathbf A _i\), \(\mathbf B _i\) (\(i = 1,\ldots ,3\)) is connected by a limb, with a rotational joint at \(\mathbf A _i\) and a spherical joint at \(\mathbf B _i\). The length of each limb is denoted by \(r_i\) and is adjusted via an actuated prismatic joint. The axes \(\alpha _i\) of the rotational joints at \(\mathbf A _i\) are tangent to the circumcircle and therefore lie within the \(yz\)-plane of \(\varSigma _0\). Overall we have five parameters, namely \(h_1\), \(h_2\), \(r_1\), \(r_2\) and \(r_3\). While \(h_1\) and \(h_2\) determine the design of the manipulator, the parameters \(r_1\), \(r_2\) and \(r_3\) are joint parameters, which determine the motion of the robot. We can consider the joint parameters to be like design parameters when they are assigned with specific leg lengths \(r_i\). In some computations the leg lengths \(r_i\) will be replaced with their squares which then will be denoted by \(R_i\). Deriving the constraint equations is one essential step in solving the kinematics of a manipulator. To compute these equations which describe the motion capability, the direct kinematics and also the singularities of the manipulator, we use the Study-parameterization of the motion group \(SE(3)\). The vertices of the base triangle and the platform triangle in \(\varSigma _0\) resp. \(\varSigma _1\) are

$$\begin{aligned} \mathbf A _1&= (1,0,0,h_1),&\mathbf A _2&= (1,0,\sqrt{3} h_1 / 2,-h_1 / 2),&\mathbf A _3&= (1,0,-\sqrt{3} h_1 / 2,-h_1 / 2) \\ \mathbf b _1&= (1,0,0,h_2),&\mathbf b _2&= (1,0,\sqrt{3} h_2 / 2,-h_2 / 2),&\mathbf b _3&= (1,0,-\sqrt{3} h_2 / 2,-h_2 / 2) \end{aligned}$$

thereby using projective coordinates with the homogenizing coordinate in first place. To avoid confusion coordinates with respect to \(\varSigma _0\) are written in capital letters and those with respect to \(\varSigma _1\) are in lower case. To obtain the coordinates \(\mathbf B _1\), \(\mathbf B _2\) and \(\mathbf B _3\) of \(\mathbf b _1\), \(\mathbf b _2\) and \(\mathbf b _3\)with respect to \(\varSigma _0\) a coordinate transformation has to be applied. To describe this coordinate transformation we use Study’s parameterization of a spatial Euclidean transformation matrix \(\mathbf M \in SE(3)\) (for detailed information on this approach see [12]).

$$\begin{aligned} \mathbf M = \left( \begin{array}{ll} x_0^2+x_1^2+x_2^2+x_3^2 &{} \varvec{0}^\top \\ \qquad \mathbf M _T &{} \mathbf M _R \end{array}\right) ,\quad \mathbf M _T = \left( \begin{array}{l} 2(-x_0 y_1 + x_1 y_0 - x_2 y_3 + x_3 y_2) \\ 2(-x_0 y_2 + x_1 y_3 + x_2 y_0 - x_3 y_1) \\ 2(-x_0 y_3 - x_1 y_2 + x_2 y_1 + x_3 y_0) \end{array}\right) \end{aligned}$$
$$\begin{aligned} \mathbf M _R = \left( \begin{array}{lll} x_0^2+x_1^2-x_2^2-x_3^2 &{} 2(x_1 x_2 - x_0 x_3) &{} 2(x_1 x_3 + x_0 x_2) \\ 2(x_1 x_2 + x_0 x_3) &{} x_0^2-x_1^2+x_2^2-x_3^2 &{} 2(x_2 x_3 - x_0 x_1) \\ 2(x_1 x_3 - x_0 x_2) &{} 2(x_2 x_3 + x_0 x_1) &{} x_0^2-x_1^2-x_2^2+x_3^2 \\ \end{array}\right) \end{aligned}$$

The vector \(\mathbf M _T\) represents the translational part and \(\mathbf M _R\) represents the rotational part of the transformation \(\mathbf M \). The parameters \(x_0, x_1, x_2, x_3, y_0, y_1, y_2, y_3\) which appear in the matrix \(\mathbf M \) are called Study-parameters of the transformation \(\mathbf M \). The mapping

$$\begin{aligned}&\qquad \qquad \qquad \qquad \qquad \kappa :SE(3) \rightarrow P \in \mathbb {P}^7 \\&\mathbf {M}(x_i,y_i) \mapsto (x_0:x_1:x_2:x_3:y_0:y_1:y_2:y_3)^T \ne (0:0:0:0:0:0:0:0)^T\nonumber \end{aligned}$$
(1)

is called kinematic mapping and maps each Euclidean displacement of \(SE(3)\) to a point \(P\) on a quadric \(S_6^2 \subset \mathbb {P}^7\). In this way, every projective point \((x_0 : x_1 : x_2 : x_3 : y_0 : y_1 : y_2 : y_3) \in \mathbb {P}^7\) represents a spatial Euclidean transformation, if it fulfills the following equation \(S_6^2: x_0 y_0 + x_1 y_1 + x_2 y_2 + x_3 y_3 = 0\) and inequality: \( \ x_0^2 + x_1^2 + x_2^2 + x_3^2 \ne 0\) (see [12]).

The coordinates of \(\mathbf b _i\) with respect to \(\varSigma _0\) are obtained by:

$$\begin{aligned} \mathbf B _i = \mathbf M \cdot \mathbf b _i,\quad i = 1, \ldots ,3. \end{aligned}$$

Now, as the coordinates of all vertices are given in terms of the transformation parameters \(x_0\), \(x_1\), \(x_2\), \(x_3\), \(y_0\), \(y_1\), \(y_2\), \(y_3\) and the design constants, we obtain constraint equations by examining the geometry of the manipulator more closely. First of all the limb connecting \(\mathbf A _i\) and \(\mathbf B _i\) has to be orthogonal to the corresponding rotational axis \(\alpha _i\). That means, the scalar product of the vector connecting \(\mathbf A _i\mathbf B _i\) and the direction of \(\alpha _i\) vanishes. After computing this product, removing the common denominator \((x_0^2+x_1^2+x_2^2+x_3^2)\) and performing some elementary simplifications the following equations are obtained:

$$\begin{aligned}&\qquad \qquad \qquad \qquad \quad g_1 : x_0 x_1 = 0\nonumber \\&\quad g_2 : h_2 x_2^2 - h_2 x_3^2 - 2 x_0 y_3 - 2 x_1 y_2 + 2 x_2 y_1 + 2 x_3 y_0 = 0\\&\quad g_3 : 2 h_2 x_0 x_1 + h_2 x_2 x_3 - x_0 y_2 + x_1 y_3 + x_2 y_0 - x_3 y_1 = 0.\nonumber \end{aligned}$$
(2)

This set of equations is augmented by three leg length conditions:

$$\begin{aligned} g_4&: (h_1 - h_2)^2 x_0^2 + (h_1 + h_2)^2 x_1^2 + (h_1 + h_2)^2 x_2^2 + (h_1 - h_2)^2 x_3^2 + 4 (h_1 - h_2) x_0 y_3+ 4 (h_1 + h_2) x_1 y_2 \\&- 4 (h_1 + h_2) x_2 y_1 - 4 (h_1 - h_2) x_3 y_0 + 4 (y_0^2 + y_1^2 + y_2^2 + y_3^2) - (x_0^2 + x_1^2 + x_2^2 + x_3^2) R_1 = 0\\&\quad \quad g_5: (h_1 - h_2)^2 x_0^2 + (h_1 + h_2)^2 x_1^2 + (h_1^2 + h_2^2 - h_1 h_2) x_2^2 + (h_1^2 + h_2^2+ h_1 h_2) x_3^2- 2 (h_1 \\&\qquad \quad \quad - h_2) x_0 y_3 - 2 (h_1 + h_2) x_1 y_2 + 2 (h_1 + h_2) x_2 y_1+ 2 (h_1 - h_2) x_3 y_0 - 2 \sqrt{3} (h_1 \\&\qquad \quad \quad - h_2) x_0 y_2 + 2 \sqrt{3} (h_1 +h_2) x_1 y_3 + 2 \sqrt{3} (h_1 - h_2) x_2 y_0 - 2 \sqrt{3} (h_1 + h_2) x_3 y_1 \\&\qquad \quad \quad - 2 \sqrt{3} h_1 h_2 x_2 x_3+ 4 (y_0^2 + y_1^2 + y_2^2 + y_3^2) - (x_0^2 + x_1^2 + x_2^2 + x_3^2) R_2 = 0 \\&\quad \quad g_6: (h_1 - h_2)^2 x_0^2 + (h_1 + h_2)^2 x_1^2 + (h_1^2 + h_2^2 - h_1 h_2) x_2^2 + (h_1^2 + h_2^2+ h_1 h_2) x_3^2 - 2 (h_1 \\&\qquad \quad \quad - h_2) x_0 y_3 - 2 (h_1 + h_2) x_1 y_2 + 2 (h_1 + h_2) x_2 y_1+ 2 (h_1 - h_2) x_3 y_0 + 2 \sqrt{3} (h_1 \\&\qquad \quad \quad - h_2) x_0 y_2 - 2 \sqrt{3} (h_1 +h_2) x_1 y_3 - 2 \sqrt{3} (h_1 - h_2) x_2 y_0 + 2 \sqrt{3} (h_1 + h_2) x_3 y_1\\&\qquad \quad \quad + 2 \sqrt{3} h_1 h_2 x_2 x_3 + 4 (y_0^2 + y_1^2 + y_2^2 + y_3^2) - (x_0^2 + x_1^2 + x_2^2 + x_3^2) R_3 = 0. \end{aligned}$$

A detailed explanation of how this set of equations is derived is left out for sake of lack of space but can be found in [10]. To complete the system, we add the Study-equation (\(g_7\)), because all the solutions have to be within the Study-Quadric and a normalizing condition (\(g_8\)).

$$\begin{aligned} g_7 : x_0 y_0 + x_1 y_1 + x_2 y_2 + x_3 y_3 = 0, \quad g_8: x_0^2 + x_1^2 + x_2^2 + x_3^2=1 \end{aligned}$$
(3)

It is emphasized that \(R_i\) in equations \(g_4,g_5,g_6\) denote the squares of the input parameters (leg lengths). The set of equations describing a general 3-RPS manipulator forms the ideal

$$\begin{aligned} \mathcal {I} = \langle g_1, g_2, g_3, g_4, g_5, g_6, g_7, g_8\rangle \end{aligned}$$
(4)

From the first equation in this set it is obvious, that this ideal consists of two components \( \mathcal{K}_1=\langle x_0 ,g_2, g_3, g_4, g_5, g_6, g_7, g_8\rangle \) and \( \mathcal{K}_2=\langle x_1 ,g_2, g_3, g_4, g_5, g_6, g_7, g_8\rangle \). It was shown in [10] that these two components can be treated separately to compute the direct kinematics and all singularities of this manipulator. Therefore the same can be done for computing non singular assembly mode change of this manipulator type.

3 Non-Singular Assembly Mode Change

The main idea in [4] to prove the non-singular assembly mode change behavior is the representation of the singularity surface in the three dimensional kinematic image space, where the two aspects of the singularity surface can be visualized and singularity free assembly mode changing paths can be constructed easily. A similar method was used in [13] and [14] to prove the assembly mode changing property for spherical 3-RPR parallel manipulators.

The same method as in planar and spherical cases cannot be used for a 3-dof spatial manipulator. It is not possible to derive the singularity surface in a 3-dim kinematic image space and construct singularity free paths, because the singularity surface is contained in the 7-dim kinematic image space of spatial displacements and therefore difficult to handle. In the following a new method is presented to overcome these difficulties and to prove that non-singular assembly mode change is also possible in case of a 3-RPS parallel manipulator.

The two governing ideals \({\mathcal K}_1\) and \({\mathcal K}_2\) which describe the motion capabilities of the manipulator, are treated separately. It was already shown in [10] that the singularity surface for each component can be computed in the kinematic image space and in the joint space.

The singularity surface in the joint space, by using the leg lengths \(r_i, i=1\ldots 3\) as coordinates, has degree 24. A closer inspection shows that the variables of the singularity surface in joint space have only even powers. Therefore it makes sense to use the squares of the leg lengths as new coordinates. After the substitution \(R_i=r_i^2\) the resulting singularity surface \(S\) has only degree 12. A part of \(S\) for the parameters \(h_1=1,h_2=2\) is displayed in (Fig. 2).

Fig. 2
figure 2

Singularity surface \(S\) in joint space \(h_1=1, h_2=2\) Slice through \(S\) at \(R_3=100\)

Next the univariate polynomial of one ideal \({\mathcal K}_i\) in one of the Study parameters is computed. This can be done without specifying the leg length parameters \(R_i\). For this purpose an ordered Groebner basis of the ideal e.g. \(\mathcal { K}_1\) is computed and this yields a univariate polynomial \(F\) of degree eight in one variable (e.g. \(x_2\)) having only even powers

$$\begin{aligned} F: a_0 x_2^8+b_0 x_2^6+c_0 x_2^4+d_0 x_2^2+f_0=0, \end{aligned}$$
(5)

where \(a_0,b_0,c_0,d_0,f_0\) are polynomials in the input parameters \(R_1,R_2,R_3\) and the design parameter \(h_2\) (without loss of generality \(h_1=1\) has been set). In the following we will take \(x_2\) as paradigmatic example for the used Study parameter. Note that \(x_2\) could be replaced by any other Study parameter if the univariate polynomial had been computed in this other parameter.

Then a slice through the singularity surface is taken by setting one joint parameter constant \(R_i=c\). Figure 2 shows an example of such a slice; the intersection curve is denoted \(k\) (the chosen joint parameters in the example are \(R_1=R_2=120,R_3=100\)). The constant value \(c\) is also substituted into \(F\). The result is a polynomial \(F_p\) in two joint parameters and one Study parameter. This polynomial can be viewed as level-set in the Study parameter \(x_2\). The graph of this level-set is a surface

$$\begin{aligned} F_p(R_j,R_k,v)=0, \ j,k \in \{1,2,3\}, j,k\ne i \end{aligned}$$

of degree 4 in the square of the Study parameter \(v:=x_2^2\). We display it in the same coordinate system as the slice and extend the intersection curve \(k\) also to a level set. This level-set is trivial, because it is only the cylinder \(S_L\) above the intersection curve. It is interesting to note, that \(S_L\) is tangent to \(F_p\). The curve of tangency is exactly the set of singularities of the manipulator, which belong to values of \(x_2\) on \(F_p\). The cusps on the inner part of \(k\) indicate that the surface \(F_P\) folds back and a singularity free assembly mode changing path can be constructed. The interior of the inner most part of the curve \(k\) is a four solutions region of the direct kinematics and outside of this region and inside of the outermost part of \(k\) there are two solutions. Now the methodology used in [3] can be applied. We construct in the plane \(R_i=c\) a path around the cusp starting at the point \(S\) in the interior of the three cusp curve and ending at the point \(E\) which is coincident with \(S\) but belonging to another solution of the direct kinematics (Fig. 3, lower picture). This path is projected orthogonally in the direction of the \(v\) coordinate onto the surface \(F_p\). And in this projection one can see that the level set folds such that \(S\) and \(E\) are the same points in the slicing plane but belong to different solutions of the direct kinematics. This projection is the computationally most complicated part, because the path, which consists of three line segments in the plane \(R_i=const.\), parameterized by a parameter \(t\) must be substituted into the polynomial \(F\). The result is a polynomial of degree four in \(v\) and degree 8 in \(t\), which must be solved for \(v\). This yields four \(v\) coordinate functions, corresponding to four curves which project onto the given three line segment curve in the plane \(R_i=c\). Not all four curves will be real in the considered interval. Figure 4 shows that this algorithm is computationally feasible. One can see how the projected curve \(b\) runs on the surface \(F_p\). The red wireframe surface is \(S_L\).

Fig. 3
figure 3

Singularity curve on \(F\) in front view and top view

Fig. 4
figure 4

3-D view of the level-set \(F\) singularity levelset \(S_L\) and constructed assembly changing curve

In a last step one has to prove that the curve \(b\) does not intersect the singularity curve on \(F\). This can be done numerically and is visualized in a classical two view orthogonal projection. The top view is the plane \(R_i=c\) (Fig. 3 lower picture). For the front view we take \(R_j, v\) as coordinates (Fig. 3 upper picture). The singularity curve on \(F_p\) in the top view is the curve \(k'\). The three segment curve was designed such that it runs around the cusp of \(k'\). We have to show that the two apparent intersection points \(P_1', P_2'\) in the top view are no intersection points of the curves \(k\) and \(b\) in space. It can be computed easily that the two apparent intersection points \(P_1', P_2'\) are not on the curve \(k''\) in the front view. Graphically this is also shown in Fig. 3. Note that the top view of the singularity curve is computed as the resultant of \(S_L\) and \(F_p\) with respect to the coordinate which is missing in the top view. The same arguments were used to show that the apparent intersection point between the two curves in the front view is no intersection point of the two curves. This proves that the constructed curve connects the two solutions of the direct kinematics without crossing a singularity.

4 Conclusion

By constructing a complete example it was shown for the first time that a 3-RPS parallel mechanism allows non-singular assembly mode change. To prove this feature a level set was used and an assembly-mode changing path on the graph of this level set was constructed.