1 Introduction

The drastic changes in the behaviour of parallel manipulators when entering different branches of motion have fascinated researchers for the past three decades. Owing to the remarkably scarce number of examples reported, parallel manipulators that can change their degree of freedom (DOF) in different branches of motion are of particular interest. This special type of linkages are called kinematotropic parallel manipulators.

Although, etymologically speaking, the elegant term kinematotropy means simply a change of motion, Wohlhart [40] coined the concept in a slightly more specific way. From his original definition, a kinematotropic linkage is one that can change its finite DOF when moving from one assembly mode to another after having crossed a singular configuration. In terms of the configuration space,Footnote 1 it is said that there are at least two branches, which have different dimension and which are intersecting at (at least) one singular point. Such a singular point allows the mechanism to change its number of DOF without being disassembled. Perhaps stemming from the mentioned etymology, the adjective has been used in a plethora of publications to describe mechanisms that present changes in their type of motion but whose DOF remain constant, examples include [2, 33, 43, 44]. In this paper, we use Wohlhart’s original definition, and consider a kinematotropic parallel manipulator as one that can change its finite DOF. In addition, we only consider linkages with prismatic (P), revolute (R), and helical (H) joints, as well as multi-DOF joints resulting from combinations of those, e.g., universal (U), cylindrical (C) and spherical (S) joints. Lockable or variable joints are not considered in this paper, the linkage’s motion only obeys geometric constraints which define its configuration space.

Specific examples of general single- and multi-loop kinematotropic mechanisms have been presented and analysed in a considerable number of publications [1, 8, 17, 22, 28, 30]. The foundations for this progress were mainly laid by the design method developed by Galletti and Fanghella, initially presented by addressing the single-loop case [6]. Over the years, other methods have been presented for the design of general kinematotropic mechanisms [7, 14, 28, 37].

Interestingly, Wohlhart [40] presents a fully parallel manipulator as one of his three examples that allow him to define the concept of kinematotropic mechanisms. His Wren platform [9] can indeed change its finite DOF from 1 to 2. Nevertheless, the number of reported examples of kinematotropic parallel manipulators remains up to date considerably low [12, 41, 45]. Even more rare are published methods for the design of this type of devices - to the knowledge of the authors, [11] and [42] remain the only general design methods.

In order to tackle this lack of examples, this paper presents a new method for the design of kinematotropic parallel manipulators. The method shows that some existing parallel manipulators with constant DOF, can be made kinematotropic by adding a carefully designed limb connecting the mobile platform with the ground.

The proposed method applies the idea of surfaces generated by 2-DOF kinematic chains [5, 10, 16, 32, 34]. However, unlike in most publications, the determination of intersection curves is not required, neither are parametrizations or implicit expressions of the generated surfaces. This considerably reduces the overall complexity of the method. In addition, the presented method makes use of the kinematic tangent cone to the configuration space for singular configurations [15, 22, 23, 25] during the design process. The authors deem the fact that a design process involves the kinematic tangent cone, a tool so far only used for analysis, a remarkable sign of the tool’s potential to different applications. The kinematic tangent cone was only used as a design resource in [17], where the authors presented a family of single-loop linkages with an infinity of branches of motion. A preliminary example obtained with this method was analysed by the authors in the conference paper [19].

Two new kinematotropic parallel manipulators are presented as examples of the application of the presented method. Both mechanisms show rather unique properties. One of the mechanisms can actually switch between three different values of DOF, a considerably uncommon behaviour since most kinematotropic linkages have only branches of motion of two different dimensions. The exceptions are minimal; the DOF of a degenerate case of the Wunderlich mechanism reported in [1] can vary between 1, 2 and 3; it is reported that the family of parallel manipulators proposed in [42] can have 3-, 4-, 5- and 6-DOF branches of motion; and, perhaps the most astonishing example, the star-cube transformer, a 20-link 24R linkage proposed by Wohlhart [39], whose intricate configuration space is reported to have as many as 75 branches of dimensions 1, 2 and 3 [29].

The notation used in this paper is summarized in Table 1. The rest of the paper is organised as follows: The basic concepts used in this paper, including a formal definition of the configuration space, are reminded in Sect. 2; the general method and its steps are defined in Sect. 3; two examples are thoroughly explained in Sect. 4; finally, conclusions are made in Sect. 5.

Table 1 Notation

2 Basic definitions

Before starting to sketch the idea behind the proposed method, we will briefly, yet formally, introduce the concept that plays the main role in this investigation, the configuration space. Let \(\mathbf{q}\in \mathbb{T}^{n_{\mathrm{R}}}\times \mathbb{R}^{n_{ \mathrm{P}}+n_{\mathrm{H}}}\) be the configuration vector of a linkage with \(n_{\mathrm{P}}\) prismatic, \(n_{\mathrm{R}}\) revolute and \(n_{\mathrm{H}}\) helical joints. Each entry of \(\mathbf{q}\) is the joint value of the corresponding joint. Given a linkage with \(\lambda \) independent loops, we define its configuration space as the set [24, 46]:

$$ V:=\left \{\mathbf{q}\,\big|\,f_{i}(\mathbf{q})=0,\forall i=1,\ldots , \lambda \right \} $$

where \(f_{i}:\mathbb{T}^{n_{\mathrm{R}}}\times \mathbb{R}^{n_{\mathrm{P}}+n_{ \mathrm{H}}}\rightarrow \mathbb{R}\) is the closure equation corresponding to the fundamental cycle \(i\). The local degree of Freedom (DOF) of the mechanism at configuration \(\mathbf{q}\) is the local dimension of the configuration space \(V\). This is the integer number of independent coordinates needed to describe the mechanism’s motion. This number may change on different submanifolds of the configuration space, which is the topic of this paper. Frequently, the DOF is referred to as the mobility. We will also adopt the engineering terminology and use DOF to denote an independent motion freedom. For example, a 2-DOF motion means that the mechanism can move with two independent freedoms.

It can be seen that \(V\subset \mathbb{T}^{n_{\mathrm{R}}}\times \mathbb{R}^{n_{\mathrm{P}}+n_{ \mathrm{H}}}\) is the set of solutions to a system of analytic equations. It is then said that \(V\) is an analytic variety within ambient space \(\mathbb{T}^{n_{\mathrm{R}}}\times \mathbb{R}^{n_{\mathrm{P}}+n_{ \mathrm{H}}}\) which, in general, possesses singularities. Therefore, in order to locally analyse \(V\), simple first-order analysis can fail in revealing the tangents to the variety. However, \(C_{\mathbf{q}}V\), the kinematic tangent cone to \(V\) at \(\mathbf{q}\), allows us to identify the tangents even in singular points [15, 24, 38]. Exceptions to this include cuspid singularities (see [3, 20] for examples of cuspidal mechanisms), and branches intersecting tangentially (see [21, 27] for the only known examples with this type of singularity).

Due to space limitations, the reader is referred to [15, 18, 24, 25] for detailed information about the computation of the kinematic tangent cone.

3 General method

To explain the idea behind this method, we first consider the example of a rigid body whose motion is restricted to SO(3) < SE(3), the groupFootnote 2 of 3-dimensional rotations around the origin, \(O\). Consider a point \(E\neq O\) attached to this rigid body. With this type of motion, \(E\) is restricted to move on a sphere of radius \(d(O,E)\). Hence, \(E\) can only move with 2 DOFs, even though the rigid body is moving with 3 DOF. The third DOF appears as a rotation about \(\overline{OE}\), which does not affect the position of E. Note that this restriction on the position of points does not happen in the general case. For example, all the points of a rigid body moving with pure 3-dimensional translation can move in three independent directions.

The case of SO(3) is not the only one presenting this quality. The same occurs with the 3-dimensional group of general planar displacements perpendicular to \(\hat{\mathbf{u}}\), \(G_{\hat{\mathbf{u}}}<\mathrm{SE}(3)\). Any point in a rigid body with motion constrained to this group can only move on a plane perpendicular to \(\hat{\mathbf{u}}\). Therefore, we now consider the general idea that certain points of a rigid body moving with 3 DOFs can be constrained to move on a surface, instead of being free to move in 3 independent directions as it would be expected. If the motion of a rigid body includes a rotation, the position of a point lying on the axis of rotation is not affected by the rotation. Consequently, such a point can only move in two independent instantaneous directions, generating a surface.

Due to this property, we can use 3-DOF kinematic chains in the method of generated surfaces, which has so far only been applied considering 2-DOF kinematic chains as surface generators. Nevertheless, this advantage comes at a cost: The configuration space of a 2-DOF kinematic chain and the surface generated by a point at its end-effector are isomorphic if the surface is free of singularities. However, in the case of a 3-DOF chain, the configuration is not unique for a given position of the point that generates the surface. In fact, there are an infinity of solutions for a fixed position of the point. In the case of the rigid body moving with SO(3), we can fix \(E\) and still rotate the rigid body about \(\overline{OE}\). As a consequence, once we couple two surface generators, we can no longer fully describe the configuration space of the obtained closed-loop mechanism by analysing the intersection of the two surfaces.

To overcome this, it is necessary to carefully design the mechanical coupling between the end-effectors of both surface generators, so that the passive DOF is restricted and thus does not affect the DOF of the mechanism. Remember that, since such a problem does not appear when working with 2-DOF chains alone, a simple spherical pair is generally used as a mechanical coupling between the two generators.

A simple example of this is presented in Fig. 1, which shows a closed-loop kinematic chain obtained from the intersection of a sphere and a cylinder. The sphere is drawn by the end-effector of a mechanical generator of SO(3). Hence, in Fig. 1a, although \(E\) moves along the intersection curve with 1 DOF, the whole mechanism has 2 DOFs - if point \(E\) is fixed, the end-effector of the sphere generator still can spin about \(\overline{OE}\). This passive DOF is canceled if the spherical pair with centre \(E\) is replaced by a universal joint, as shown in 1b. In general, such a replacement does not lead to idle joints, as rotation is still needed for compensating the orientation of both end-effectors.

Fig. 1
figure 1

Closed-loop mechanism obtained by joining a sphere generator with a cylinder generator. Although in both cases \(E\) moves with 1 DOF along the intersection curve, the mechanism in a) has 2 DOF, while the one in b) has only one DOF

The above-mentioned properties of some 3-DOF kinematic chains can be exploited to design kinematotropic parallel manipulators. An existing parallel manipulator with constant DOF, but with at least two branches of motion in its configuration space, can be turned into a kinematotropic manipulator by adding an extra leg that generates a surface. This leg should be connected to the mobile platform of the parallel manipulator by means of an adequate mechanical coupling that allows point \(E\) to move as desired in each branch of motion, but also cancels the passive DOF when \(E\) moves on a curve.

The idea for this design method is presented in Fig. 2. We consider the intersection of two 3-DOF branches of motion in the configuration space of an existing parallel manipulator. It is possible to turn this manipulator into a kinematotropic one if we find a point \(E_{\mathrm{p}}\) attached to the end-effector which, in branch 1, moves in 3-dimensional Euclidean space, \(\mathrm{E}^{3}\), whilst in branch 2, the same point is constrained to move on a surface \(\mathcal{S}_{\mathrm{p}}\). Then, a 2-DOF extra leg is added with a point \(E_{\mathrm{s}}\) at its end-effector generating a surface \(\mathcal{S}_{\mathrm{s}}\). The end-effector of this leg is connected to the mobile platform by a mechanical coupling that ensures \(E_{\mathrm{p}}\) and \(E_{\mathrm{s}}\) permanently coincide, and we define \(E:=E_{\mathrm{p}}=E_{\mathrm{s}}\). As a consequence, once this leg is connected to the mobile platform, in branch of motion 1 point \(E\) will move in \(\mathcal{S}_{\mathrm{s}}\cap \mathrm{E}^{3}=\mathcal{S}_{\mathrm{s}}\), whilst in branch 2 \(E\) will move in the intersection curve \(\mathscr{C}:=\mathcal{S}_{\mathrm{p}}\cap \mathcal{S}_{\mathrm{s}}\). If the mechanical connection between the new leg and the mobile platform allows this behaviour, but at the same time blocks the passive DOF in branch 2, then the configuration space of the manipulator is described by the points visited by \(E\), and the manipulator is a kinematotropic one that can change from 2 to 1 DOF.

Fig. 2
figure 2

Schematic representation of the design method

We can now establish the steps of the proposed design method:

  1. 1.

    Find a 3-DOF parallel manipulator whose configuration space has at least two branches of motion and in one of them it is possible to find a point \(E_{\mathrm{p}}\) that draws a surface \(\mathcal{S}_{\mathrm{p}}\) (branch 2), whilst in the other branch the point can move freely in the Euclidean space (branch 1). Note that, in branch 1, the motion of the mobile platform is not necessarily a 3-dimensional translation. For example, a 3-dimensional submanifold of SE(3) consisting of 2 rotations and one translation also allows a point to freely move in the 3-dimensional space.

  2. 2.

    Identify the singular configuration \(\mathbf{q}^{\mathrm{p}}_{0}\in V_{\mathrm{p}}\) where both branches intersect, as well as the position of point \(E_{\mathrm{p}}\) at the bifurcation configuration. We will call this fixed point \(E_{0}:=E_{\mathrm{p}}(\mathbf{q}^{\mathrm{p}}_{0})\).

  3. 3.

    Compute \(C_{\mathbf{q}^{\mathrm{p}}_{0}}V_{\mathrm{p}}\), the tangent cone to \(V_{\mathrm{p}}\) at \(\mathbf{q}^{\mathrm{p}}_{0}\), and identify the tangents to both branches of motion. Using these results, compute the velocity vectors of \(E_{\mathrm{p}}\) and the angular velocity of the mobile platform at the singularity. This is done by obtaining the twist of the mobile platform, \(\mathbf{V}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}_{0})\).

  4. 4.

    Select a 2-DOF kinematic chain which will be the extra leg added to the parallel manipulator. The kinematic chain can have any topology - serial, closed-loop or hybrid. We only need to identify the surface \(\mathcal{S}_{\mathrm{s}}\) that a point \(E_{\mathrm{s}}\) at its end-effector draws. For this method, we do not need to know a parameterization or implicit form of a such surface. However, it is important to know \(T_{E_{0}}\mathcal{S}_{\mathrm{s}}\), the tangent plane to \(\mathcal{S}_{\mathrm{s}}\) at point \(E_{0}\).

  5. 5.

    Fix the position and orientation of \(\mathcal{S}_{\mathrm{s}}\) with respect to \(\mathcal{S}_{\mathrm{p}}\). This is not a completely free choice. First, it is required that \(E_{0}\in \mathcal{S}_{\mathrm{p}}\cap \mathcal{S}_{\mathrm{s}}\) so there is a bifurcation in \(V\), the configuration space of the coupled parallel manipulator. And second, in order to guarantee that the parallel manipulator is able to move from the singularity to both branches, we need to orientate \(T_{E_{0}}\mathcal{S}_{\mathrm{s}}\) so that it contains the velocity vectors of point \(E_{\mathrm{p}}(\mathbf{q}^{\mathrm{p}}_{0})\) at the singularity. This information is known from in Step 3.

  6. 6.

    Design the mechanical coupling between the mobile platform and the new leg. This must be either an R joint whose axis contains \(E\), or two R joints with axes intersecting at \(E\), but never an S joint, as explained in Sect. 3. Such a connection must allow the required orientation of one end-effector with respect to the other in both branches; however, it must block the passive DOF at branch 2, i.e. the rotation that does not affect the position of \(E_{\mathrm{p}}\).

4 Examples

In this section, the method described in Sect. 3 is applied to obtain two examples of kinematotropic manipulators. The notation used in these examples comes from the definitions in Sect. 3. For convenience, this notation is summarized here:

  • A point at the end effector: \(E_{\mathrm{p}}\) for the constant-DOF parallel manipulator; \(E_{\mathrm{s}}\) for the 2-DOF kinematic chain; \(E\) for the designed kinematotropic parallel manipulator

  • Generated surface: \(\mathcal{S}_{\mathrm{p}}\) for the constant-DOF parallel manipulator; \(\mathcal{S}_{\mathrm{s}}\) for the 2-DOF kinematic chain.

  • Configuration space: \(V_{\mathrm{p}}\) for the constant-DOF parallel manipulator; \(V\) for the designed kinematotropic parallel manipulator.

  • Configuration vector: \(\mathbf{q}^{\mathrm{p}}\in V_{\mathrm{p}}\) for the constant-DOF parallel manipulator; \(\mathbf{q}\in V\) for the designed kinematotropic parallel manipulator.

  • Branch of motion: \(V_{\mathrm{p},i}\subset V_{\mathrm{p}}\) is the component related to branch of motion \(i\) of \(V_{\mathrm{p}}\); \(V_{i}\subset V\) is the component related to branch of motion \(i\) of \(V\).

4.1 Example 1: a parallel manipulator with 1-DOF, 2-DOF and 3-DOF branches of motion

Step 1: We consider a 3-DOF parallel manipulator with pure translational, T(3), and pure rotational, SO(3), branches of motion. Mechanisms of this type are described in [13], where an extensive list of possible leg topologies is presented. Two of these cases are shown in Figs. 3a and 3b. Figure 3a shows the classic example of a 3-5R mechanism, where, for each leg, the three R joints in the middle have parallel axes, and thus constitute a mechanical generator of, \(G_{\hat{\mathbf{u}}}\), the group of planar displacements perpendicular to \(\hat{\mathbf{u}}\). The other two R joints are perpendicular to this set. This particular topology was thoroughly analysed in [12] and a surprising number of 15 branches of motion were identified. The case in Fig. 3b is a 3-CRRR mechanism. \(G_{\hat{\mathbf{u}}}\) is generated by a PRR chain, and then the P joint is merged with the first R joint in a C joint. A similar case in which a C joint is used was presented in [2], where the P part of the C joint, and one of the R components in the U joint allow to generate \(G_{\hat{\mathbf{u}}}\) with a PPR chain. The case in Fig. 3c works likewise but involves a parallelogram unit \(\Pi \), which is not considered in the tables of leg candidates in [13]. In this case, \(G_{\hat{\mathbf{u}}}\) is generated by an R\(\Pi \)R hybrid chain.

Fig. 3
figure 3

Three different examples of parallel manipulators with both T(3) and SO(3) branches of motion. a) 3-5R, b) 3-CRRR, c) 3-R\(\Pi \)R, where \(\Pi \) represents a parallelogram unit

Due to its simplicity, we will use the 3-CRRR mechanism in Fig. 3b. To make it as simple as possible, we assume that the last two R joints intersect - not a mandatory design constraint. The manipulator is shown in more detail in Fig. 4a. We fix a coordinate system with origin at \(O\). For each leg \(i\), the rotational and translational parts of the C joint are associated to screws \(\mathbf{S}_{i1}\) and \(\mathbf{S}_{i2}\), respectively. Furthermore, the following conditions between the joint axes hold: \(\mathbf{S}_{i3}||\mathbf{S}_{i4}\), \(\mathbf{S}_{i1}\perp \mathbf{S}_{i3}\) and \(\mathbf{S}_{i4}\perp \mathbf{S}_{i5}\). The mechanism is symmetric with respect to the \(y\)-axis. The first joints of each leg, \(\mathbf{S}_{11}\), \(\mathbf{S}_{21}\) and \(\mathbf{S}_{31}\), intersect at point \(P\). It is known that, in the rotational branch of motion, the mobile platform rotates freely about point \(P\). Hence, we pick a point \(E_{\mathrm{p}}\) which draws a sphere with centre at \(P\) and radius \(d(P,E_{\mathrm{p}})\). In the translational branch, \(E_{\mathrm{p}}\) can freely move in the 3-dimensional space.

Fig. 4
figure 4

a) Parallel manipulator with constant value of DOF. For simplicity, \(\mathbf{S}_{ij}=\mathbf{S}_{ij}(\mathbf{q}^{\mathrm{p}})\), \(j=1,\ldots ,5\), and b) 2-DOF kinematic chain that draws a right torus

It is known [13] that in this type of parallel manipulator the translational and rotational branches are disjoint with no singularity connecting them. However, it is possible to transit from one to another through a third 3-DOF branch of motion with partitioned mobility [31]. In this branch, the mobile platform cannot move, while the legs spin independently about the coincident axes of \(\mathbf{S}_{i1}\) and \(\mathbf{S}_{i5}\). A configuration belonging to his branch is shown in Fig. 4a. Since the mobile platform is immobile in this branch, point \(E_{\mathrm{p}}\) remains static. We define the T(3) branch as branch 1, the SO(3) branch as branch 2 and the partitioned mobility one as branch 3. Their respective components in \(V_{\mathrm{p}}\) are \(V_{\mathrm{p,1}}\), \(V_{\mathrm{p,2}}\) and \(V_{\mathrm{p},3}\).

Step 2: Denote with \(\mathbf{q}^{\mathrm{p}}:=\{q_{11},q_{12},\ldots ,q_{15},q_{21}, \ldots ,q_{25},q_{31},\ldots ,q_{35}\}\) any vector in \(V_{\mathrm{p}}\subset \mathbb{R}^{3}\times \mathbb{T}^{12}\). We need to identify bifurcation configurations \(\mathbf{q}^{\mathrm{p}}_{1,3}\in V_{\mathrm{p,1}}\cap V_{\mathrm{p},3}\) and \(\mathbf{q}^{\mathrm{p}}_{2,3}\in V_{\mathrm{p,2}}\cap V_{\mathrm{p},3}\). These singular configurations are discussed in [13] as follows:

  • In \(\mathbf{q}^{\mathrm{p}}_{1,3}\): \(\mathbf{S}_{i1}\) coincides with \(\mathbf{S}_{i5}\), \(\mathbf{S}_{i3}\) is perpendicular to the \(y\)-axis.

  • In \(\mathbf{q}^{\mathrm{p}}_{2,3}\): \(\mathbf{S}_{i1}\) coincides with \(\mathbf{S}_{i5}\), \(\mathbf{S}_{i3}\) is contained in the plane formed by \(\mathbf{S}_{i1}\) and the \(y\)-axis. This configuration is depicted in Fig. 4a.

To keep the analysis as simple as possible, we select \(E_{\mathrm{p}}\) to lie on the \(y\)-axis in these two singular configurations, as shown in Fig. 4a. Then \(E_{0}:=E_{\mathrm{p}}(\mathbf{q}^{\mathrm{p}}_{1,3})=E_{\mathrm{p}}( \mathbf{q}^{\mathrm{p}}_{2,3})\).

Step 3: The screw coordinates for an example of this mechanism in the singular configurations \(\mathbf{q}^{\mathrm{p}}_{1,3}\) and \(\mathbf{q}^{\mathrm{p}}_{2,3}\) are presented in the Appendix. Considering these screw coordinates, \(C_{\mathbf{q}^{\mathrm{p}}_{1,3}}V_{\mathrm{p}}\), the tangent cone to \(V_{\mathrm{p}}\) at \(\mathbf{q}^{\mathrm{p}}_{1,3}\), is found at the second order of kinematic analysis as the union \(C_{\mathbf{q}^{\mathrm{p}}_{1,3}}V_{\mathrm{p}}=K_{\mathbf{q}^{ \mathrm{p}}_{1,3}}^{2(1)}\cup K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)}\), where

$$\begin{aligned} K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(1)} =& \bigg\{ \bigg(u,- \frac{200}{3}v,v,-v,-u,w,\frac{200}{3}v,-v,v,-w,w-u,-\frac{200}{3}v, v, -v, u-w\bigg)\, \\ {}& \bigg|\,u,v,w\in \mathbb{R}\bigg\} \\ K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)} =& \big\{ (u,0,0,0,-u,v,0,0,0,-v,w,0,0,0,-w) \,|\,u,v,w\in \mathbb{R}\big\} \end{aligned}$$
(1)

Similarly, \(C_{\mathbf{q}^{\mathrm{p}}_{2,3}}V_{\mathrm{p}}\), the tangent cone at \(\mathbf{q}^{\mathrm{p}}_{2,3}\), is found at the second order of kinematic analysis as the union \(C_{\mathbf{q}^{\mathrm{p}}_{2,3}}V_{\mathrm{p}}=K_{\mathbf{q}^{ \mathrm{p}}_{2,3}}^{2(2)}\cup K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)}\), where

$$\begin{aligned} K_{\mathbf{q}^{\mathrm{p}}_{2,3}}^{2(2)} =& \bigg\{ \bigg(u,0, \frac{1}{2}(w-u-v),u-w+v,\frac{1}{3}(2v-2w-u),w,0,\frac{1}{2}(u-w+v), \\ {}&w-u-v, -\frac{1}{3}(2u+2v+w),v,0,\frac{1}{2}(w-u-v), u+v-w, \\ {}& \frac{1}{3}(2u-v-2w)\bigg)\,\bigg|\,u,v,w\in \mathbb{R}\bigg\} \\ K_{\mathbf{q}^{\mathrm{p}}_{2,3}}^{2(3)} =& K_{\mathbf{q}^{ \mathrm{p}}_{1,3}}^{2(3)} \end{aligned}$$
(2)

In both singular configurations, the result is the union of two 3-dimensional vector spaces, as expected.

We now obtain the possible angular velocities of the mobile platform, \(\boldsymbol{\upomega}_{\mathrm{mp}}\in \mathbb{R}^{3}\), and the velocity of point \(E_{\mathrm{p}}\), \(\mathbf{v}_{E_{\mathrm{p}}}\in \mathbb{R}^{3}\) at the singular configurations. This is done by considering the twist of the moving platform at the desired configuration, \(\mathbf{V}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}):=(\boldsymbol{\upomega}_{ \mathrm{mp}}(\mathbf{q}^{\mathrm{p}});\mathbf{v}_{O_{\mathrm{p}}}( \mathbf{q}^{\mathrm{p}}))\in \) se(3), where \(O_{\mathrm{p}}\) is a point attached to the mobile platform and coincident with the origin \(O\) at the analysis configuration. The twist of the moving platform is computed from the results of the tangent cone analysis by means of \(\mathbf{V}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}})=\sum ^{5}_{j=1} \dot{q}_{ij}\mathbf{S}_{ij}(\mathbf{q}^{\mathrm{p}})\), \(i\in \{1,2,3\}\). Then \(\mathbf{v}_{E_{\mathrm{p}}}\) is obtained from \((\boldsymbol{\upomega}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}); \mathbf{v}_{E_{ \mathrm{p}}}(\mathbf{q}^{\mathrm{p}})) = \mathrm{Ad}(\mathbf{I}_{3\times 3},\mathbf{r}_{E_{\mathrm{p}}/O_{ \mathrm{p}}})\mathbf{V}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}})^{\top}\).

For the configuration \(\mathbf{q}^{\mathrm{p}}_{1,3}\), using the results in both vector spaces in Eq. (1), it follows that

$$\begin{aligned} \boldsymbol{\upomega}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}_{1,3}) =& \mathbf{0}\quad \forall \mathbf{q}^{\mathrm{p}}_{1,3}\in K_{\mathbf{q}^{ \mathrm{p}}_{1,3}}^{2(1)}\cup K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)} \\ \mathbf{v}_{E_{\mathrm{p}}}(\mathbf{q}^{\mathrm{p}}_{1,3}) =&\textstyle\begin{cases} (0,-\frac{250}{3}v,0)=(0,\dot{y},0),\, \dot{y}\in \mathbb{R}\quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{1,3}\in K_{\mathbf{q}^{ \mathrm{p}}_{1,3}}^{2(1)} \\ \mathbf{0} \quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{1,3} \in K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)} \\ \end{cases}\displaystyle \end{aligned}$$
(3)

Clearly, \(\boldsymbol{\upomega}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}_{1,3})= \mathbf{0}\) for the translational and the partitioned mobility branches (branches 1 and 3) as the mobile platform does not experience any rotation. \(E_{\mathrm{p}}\) has velocity zero for the partitioned mobility branch, as expected. On the other hand, it can be seen that this point only has a velocity in the \(y-\) direction in branch 1, despite the fact that the point will move freely in 3-dimensional space after escaping from this singularity.

For configuration \(\mathbf{q}^{\mathrm{p}}_{2,3}\), using the results in both vector spaces in Eq. (2), it follows that

$$\begin{aligned} \boldsymbol{\upomega}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}_{2,3}) =& \textstyle\begin{cases} \frac{5}{6}(0,u+v-w,0)=(0,\dot{\theta}_{y},0),\, \dot{\theta}_{y}\in \mathbb{R}\quad & \text{if}\;\; \dot{\mathbf{q}^{\mathrm{p}}}_{1,3} \in K_{\mathbf{q}^{\mathrm{p}}_{2,3}}^{2(2)} \\ \mathbf{0} \quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{1,3} \in K_{\mathbf{q}^{\mathrm{p}}_{2,3}}^{2(3)} \\ \end{cases}\displaystyle \\ \mathbf{v}_{E_{\mathrm{p}}}(\mathbf{q}^{\mathrm{p}}_{2,3}) =& \mathbf{0}\quad \forall \mathbf{q}^{\mathrm{p}}_{2,3}\in K_{\mathbf{q}^{ \mathrm{p}}_{2,3}}^{2(2)}\cup K_{\mathbf{q}^{\mathrm{p}}_{1,3}}^{2(3)} \end{aligned}$$
(4)

Similarly to the surprising results in Eq. (3), Eq. (4) indicates that the mobile platform can only rotate about the \(y\)-axis despite the fact that the platform will rotate freely with 3 DOF after escaping from this singularity. In turn, the velocity of \(E_{\mathrm{p}}\) is zero in this branch too as it lies on the \(y\)-axis at this configuration.

Step 4. There is no restriction on the selection of a 2-DOF kinematic chain as surface generator. To keep it as simple as possible, we select a classic right torusFootnote 3 generated by two R joints with skew, perpendicular axes \(\mathbf{S}_{\mathrm{s}1}\) and \(\mathbf{S}_{\mathrm{s}2}\) as shown in Fig. 4b. To draw the right torus, the point \(E_{\mathrm{s}}\) must lie on the plane that contains \(\mathbf{S}_{\mathrm{s}1}\) and is perpendicular to \(\mathbf{S}_{\mathrm{s}2}\). This right torus has a base circle of radius equal to \(d(\mathbf{S}_{\mathrm{s}1},\mathbf{S}_{\mathrm{s}2})\) and a secondary circle of radius \(d(E_{\mathrm{s}},\mathbf{S}_{\mathrm{s}2})\). Again, for the sake of simplicity, we consider that when assembling the kinematotropic parallel manipulator in either singular configuration, the serial chain is flat and extended, so that \(E_{\mathrm{s}}\) lies in the common perpendicular between \(\mathbf{S}_{\mathrm{s}1}\) and \(\mathbf{S}_{\mathrm{s}2}\). In any of the infinity of these configurations, \(T_{E_{\mathrm{s}}}\mathcal{S}_{\mathrm{s}}\) is parallel to both \(\mathbf{S}_{\mathrm{s}1}\) and \(\mathbf{S}_{\mathrm{s}2}\) and, obviously, contains \(E_{\mathrm{s}}\).

Step 5. Point \(E_{\mathrm{s}}\) must coincide with \(E_{\mathrm{p}}\), and we define \(E:=E_{\mathrm{s}}=E_{\mathrm{p}}\). Since for both singular configurations, \(\mathbf{q}^{\mathrm{p}}_{1,3}\) and \(\mathbf{q}^{\mathrm{p}}_{2,3}\), the pose of the mobile platform is the same, we can assemble the kinematotropic parallel manipulator in either configuration. Hence, we position the surface generator so that \(E_{\mathrm{s}}\) lies on the \(y\)-axis.

From \(\mathbf{v}_{E_{\mathrm{p}}}(\mathbf{q}^{\mathrm{p}}_{1,3})\) in Eq. (3), \(T_{E_{0}}\mathcal{S}_{\mathrm{s}}\) must contain the \(y\)-axis so that the mechanism is able to enter the translational mode. On the other hand, \(\mathbf{v}_{E_{\mathrm{p}}}(\mathbf{q}^{\mathrm{p}}_{2,3})= \mathbf{0}\) in Eq. (4) simply indicates that point \(E\) is in a dead-point position when motion starts in the rotational branch, and no further restriction is needed.

Step 6. The surface generator cannot be connected to the mobile platform by means of a spherical pair with centre at \(E\) as this would lead to an extra DOF that does not change the position of \(E\) in the branch where \(E\) must follow the intersection of the sphere and the right torus. Hence, we use a universal joint as a mechanical connector.

In branch 1, the mobile platform will undergo translation on the torus, hence we need to compensate the rotations about \(\mathbf{S}_{\mathrm{s}1}\) and \(\mathbf{S}_{\mathrm{s}2}\). Therefore, the mechanical connector must feature an R joint adjacent to \(\mathbf{S}_{\mathrm{s}2}\) and with axis parallel to the latter, followed by a second R joint with axis parallel to \(\mathbf{S}_{\mathrm{s}1}\). The joint axes for the added mechanical connector are defined by \(\mathbf{S}_{\mathrm{s}3}\) and \(\mathbf{S}_{\mathrm{s}4}\), and are shown in Fig. 5b.

Fig. 5
figure 5

a) Resulting kinematotropic parallel manipulator in the design configuration \(\mathbf{q}_{1,3}\). b) Surfaces involved in the design process showing \(T_{E_{\mathrm{s}}}\mathcal{S}_{\mathrm{s}}\) when \(E_{\mathrm{s}}=E_{0}\), as well as the designed axes for the mechanical connector of the fourth leg. In both images, \(\mathbf{S}_{\mathrm{s}j}=\mathbf{S}_{\mathrm{s}j}(\mathbf{q}_{1,3})\), \(j=1,\ldots ,4\)

From Eqs. (4), in order to move from singularity \(\mathbf{q}^{\mathrm{p}}_{2,3}\), the mobile platform must rotate about the \(y\)-axis. In the initial configuration of the surface generator defined in step 4, the proposed U joint with axes \(\mathbf{S}_{\mathrm{s}3}\) and \(\mathbf{S}_{\mathrm{s}4}\) spans a plane that contains the \(y-\) axis, hence the parallel manipulator can move towards the branch of motion in which \(E\) follows the intersection of the sphere and the right torus, see 5b.

No considerations are needed for branch of motion 3, as the mobile platform is locked and the whole new leg is idle. The resulting kinematotropic parallel manipulator is shown in Fig. 5a.

Discussion

From the previous analysis, it can be concluded that \(V\), the configuration space of the designed kinematotropic parallel manipulator, has at least three branches of motion, each of different dimension. We call these branches \(V_{1}\), \(V_{2}\) and \(V_{3}\). A configuration belonging to each of these branches, as well as corresponding bifurcation configurations are shown in Fig. 6. The screw coordinates for an example of this mechanism in both singular configurations, \(\mathbf{q}_{1,3}\) and \(\mathbf{q}_{2,3}\), are presented in the Appendix.

Fig. 6
figure 6

Different branches of motion in the configuration space of the designed kinematotropic parallel manipulator

Let \(V_{1}\subset V\) be the branch corresponding to the case where the original 3-CRR parallel manipulator moves in the translational branch \(V_{\mathrm{p,1}}\). Then \(E(\mathbf{q})\in \mathcal{S}_{\mathrm{s}}\) \(\forall \mathbf{q}\in V_{1}\) and \(\mathrm{dim}(V_{1})=2\), as \(E\) moves on the toroid while the mobile platform undergoes pure translation.

Now let \(V_{2}\subset V\) be the branch corresponding to the case where the original 3-CRR parallel manipulator moves in the rotational branch \(V_{\mathrm{p,2}}\). Then \(E(\mathbf{q})\in \mathcal{S}_{\mathrm{s}}\cap \mathcal{S}_{ \mathrm{p}}\) \(\forall \mathbf{q}\in V_{2}\) and \(\mathrm{dim}(V_{2})=1\), as \(E\) moves through the intersection of the toroid and the sphere, while the mobile platform undergoes a pure rotation about point \(P\).

Finally, let \(V_{3}\subset V\) be the branch corresponding to the case where the original 3-CRR parallel manipulator moves in the partitioned mobility branch \(V_{\mathrm{p},3}\). Then, \(E(\mathbf{q})=E_{0}\) \(\forall \mathbf{q}\in V_{3}\), however \(\mathrm{dim}(V_{3})=3\), as the legs rotate individually about axes \(\mathbf{S}_{i1}\), \(i=1,2,3\), while the mobile platform remains static.

Therefore this parallel manipulator can change the value of its DOF between 1, 2 and 3.

4.2 Example 2: a kinematotropic parallel manipulator that follows a surface and two different curves

Step 1: We now consider the 3-DOF parallel manipulator known as the DYMO. In spite of being a special case of the family presented in [13], the DYMO was introduced earlier in [46] with the purpose of studying and defining concepts related to singularities and branches in the configuration space. An example of a DYMO parallel manipulator is shown in Fig. 7a. The DYMO was originally presented as a 3-URU machine. Here, for the sake of simplicity, we replace the middle R joint by a P joint, which does not affect the generation of the \(G_{\hat{\mathbf{u}}}\) group. This 3-UPU topology turns the manipulator into a special case of the SNU (Seoul National University) manipulator proposed by Tsai [35]. Note that unlike the cases shown in Fig. 3, in the DYMO joint axes \(\mathbf{S}_{i1}\) (resp. \(\mathbf{S}_{i5}\)), \(i=1,2,3\), are coplanar in addition to being concurrent at \(O\) (resp. \(P(\mathbf{q}^{\mathrm{p}})\)). Similarly, the concurrence of \(\mathbf{S}_{i1}\) and \(\mathbf{S}_{i2}\) (resp. \(\mathbf{S}_{i4}\) and \(\mathbf{S}_{i5}\)) is a required constraint now. As shown in Fig. 7, we fix again a coordinate system at the center of the base, with \(y\)-axis pointing upwards - the whole mechanism is symmetric with respect to this axis.

Fig. 7
figure 7

a) DYMO parallel manipulator in a singular configuration \(\mathbf{q}^{\mathrm{p}}_{0}\). b) Virtual kinematic chain connecting the mobile platform of the DYMO in a configuration \(\mathbf{q}^{\mathrm{p}}\in V_{\mathrm{p,2}}\). The dashed curves indicate that the actuation of these joints is dependent one from the other. c) Mechanical generator of cone \(\mathcal{S}_{\mathrm{s}}\)

Since the DYMO was introduced, several researchers have worked in the description of its puzzling branches of motion [4, 36]. In addition to the T(3) and SO(3) branches of motion in the general family presented in [13], a more complex 3-DOF branch of motion was described in detail for the DYMO. In [46], this branch is referred to as the ‘mixed mode’ branch. In this paper we define this new branch of motion as branch 2, with component \(V_{\mathrm{p,2}}\subset V_{\mathrm{p}}\) in the configuration space, and the T(3) branch as branch 1, with component \(V_{\mathrm{p,1}}\subset V_{\mathrm{p}}\).

In order to describe the behaviour in \(V_{\mathrm{p,2}}\), refer to Fig. 7b, where the mobile platform of the DYMO has been connected to a virtual kinematic chain. After the mechanism moves from the singularity to branch 2, the mobile platform can be connected to the ground by means of a UPR serial kinematic chain. The U joint has center at \(P_{0}:=P(\mathrm{\mathbf{q}^{\mathrm{p}}_{0}})\) and its first axis coincides with the \(y\)-axis. The P joint is perpendicular to the second R joint of the U pair. Finally, the axis of the last R joint intersects and is perpendicular to axes \(\mathbf{S}_{i5}\) (observe how the mobile platform of the DYMO is connected to the end-effector of the virtual chain in Fig. 7b). Despite this virtual chain has 4 joints, the actuation of the first and last R joints in the chain is not independent, i.e. a rotation about the \(y\)-axis inevitably results in a rotation about the platform’s symmetry axis.

From Fig. 7b, it can be seen that a point \(E_{\mathrm{p}}(\mathbf{q}^{\mathrm{p}})\), \(\mathbf{q}^{\mathrm{p}}\in V_{\mathrm{p,2}}\), lying on the axis of symmetry of the mobile platform, draws a plane \(\mathcal{S}_{\mathrm{p}}\) which contains the \(y\)-axis and can rotate about it with angle \(\alpha \). Hence the plane has normal \(\hat{\mathbf{n}}(\alpha )\perp \hat{\mathbf{j}}\). To exploit this property in the presented method, it is desired to constrain the rotation of the mobile platform about the \(y\)-axis to a fixed value of \(\alpha \). This allows us to work on a defined surface \(\mathcal{S}_{\mathrm{p}}\), in which \(E_{\mathrm{p}}\) moves with 2 DOFs. Note that such a constraint does not affect the other branch, \(V_{\mathrm{p,1}}\), as in the latter the mobile platform undergoes pure translation.

Step 2: It has been proved [13] that \(V_{\mathrm{p,1}}\) and \(V_{\mathrm{p,2}}\) intersect in a 1-dimensional curve in \(V_{\mathrm{p}}\). This curve consists of all configurations \(\mathbf{q}^{\mathrm{p}}_{0}\in V_{\mathrm{p,1}}\cap V_{\mathrm{p,2}}\) in which all axes \(\mathbf{S}_{i2}\) (resp. \(\mathbf{S}_{i4}\)) are coplanar and the intersection of axes \(\mathbf{S}_{i5}\), \(P\), lies on the \(y\)-axis. Thus, the curve \(V_{\mathrm{p,1}}\subset V_{\mathrm{p}}\) maps to the motion of the mobile platform as a 1-DOF pure translation along the \(y\)-axis. In Fig. 7a, the DYMO is depicted in one of these singular configurations.

Step 3: The screw coordinates of an example of this mechanism in the singular configuration \(\mathbf{q}^{\mathrm{p}}_{0}\) are presented in the Appendix. Considering these screw coordinates, the tangent cone to \(V_{\mathrm{p}}\) at \(\mathbf{q}^{\mathrm{p}}_{0}\), \(C_{\mathbf{q}^{\mathrm{p}}_{0}}V_{\mathrm{p}}\), is found at the second order of kinematic analysis as the union \(C_{\mathbf{q}^{\mathrm{p}}_{0}}V_{\mathrm{p}}=K_{\mathbf{q}^{ \mathrm{p}}_{0}}^{2(1)}\cup K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(2)}\) where

$$\begin{aligned} K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(1)} =& \Bigg\{ \Bigg( -u - v,\, \frac{4\sqrt{3}}{7}u + w,\, -\frac{250}{3}\left (\frac{\sqrt{3}}{21}(5u+7v)+w \right ),\, -\frac{4\sqrt{3}}{7}u - w,\, \\ {}& u+v,\, -u,\, -\frac{4\sqrt{3}}{7}(u+v)-w,\, \frac{250}{3}\left ( \frac{\sqrt{3}}{21}(5u-2v)+w\right ),\, \frac{4\sqrt{3}}{7}(u+v)+ \\ {}& +w,\, u,\, v,\, w,\, -\frac{250}{3}\left (\frac{\sqrt{3}}{3}(2u+v)+w \right ),\, -w,\, -v \Bigg)\,\Bigg|\,u,v,w\in \mathbb{R}\Bigg\} \\ K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(2)} =& \Bigg\{ \Bigg( u - v,\, \frac{2\sqrt{3}}{7}u + w,\, -\frac{250}{3}\left (\frac{\sqrt{3}}{21}(13u+7v)+w \right ),\, -\frac{2\sqrt{3}}{21}(10u+7v) \\ {}& - w,\, u-v,\, u,\, -\frac{2\sqrt{3}}{7}(u-v) - w,\, \frac{250}{3}\left (\frac{\sqrt{3}}{21}(13u-20v)+w\right ),\, \\ {}& \frac{2\sqrt{3}}{21}(10u+17v) + w,\, u,\, v,\, w,\, \frac{250}{3}\left (\frac{\sqrt{3}}{3}(2u-v)-w\right ),\, \frac{2\sqrt{3}}{3}(2u-v) \\ {}& - w,\, v \Bigg)\,\Bigg|\,u,v,w\in \mathbb{R}\Bigg\} \end{aligned}$$
(5)

In both singular configurations, the result is the union of two 3-dimensional vector spaces, as expected.

We now obtain the possible angular velocities of the mobile platform, \(\boldsymbol{\upomega}_{\mathrm{mp}}\in \mathbb{R}^{3}\), and the velocity of point \(E_{\mathrm{p}}\), \(\mathbf{v}_{E_{\mathrm{p}}}\in \mathbb{R}^{3}\) at the singular configuration. Following the process in step 3 of the previous example and using the results in both vector spaces in Eq. (5), it follows that

$$\begin{aligned} \boldsymbol{\upomega}_{\mathrm{mp}}(\mathbf{q}^{\mathrm{p}}_{0}) =& \textstyle\begin{cases} \mathbf{0} \quad \quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{0} \in K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(1)} \\ -2\left ( \textstyle\begin{array}{c} \frac{\sqrt{3}}{3}(u+v) \\ 0 \\ u-v \end{array}\displaystyle \right )^{\top}= \left ( \textstyle\begin{array}{c} \dot{\theta}_{x} \\ 0 \\ \dot{\theta}_{z} \end{array}\displaystyle \right )^{\top}\, \quad \quad & \text{if}\;\; \dot{\mathbf{q}}^{ \mathrm{p}}_{0}\in K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(2)} \\ \end{cases}\displaystyle \\ \mathbf{v}_{E_{\mathrm{p}}}(\mathbf{q}^{\mathrm{p}}_{0}) =& \textstyle\begin{cases} 50\left ( \textstyle\begin{array}{c} u+v \\ -\frac{4\sqrt{3}}{9}(2u+v)-\frac{7}{3}w \\ \frac{\sqrt{3}}{3}(u-v) \end{array}\displaystyle \right )^{\top}=\left ( \textstyle\begin{array}{c} \dot{x} \\ \dot{y} \\ \dot{z} \end{array}\displaystyle \right )^{\top} \quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{0} \in K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(1)} \\ -10\left ( \textstyle\begin{array}{c} 11u-11v \\ \frac{10\sqrt{3}}{9}(2u-v)+\frac{35}{3}w \\ \frac{11\sqrt{3}}{3}(u+v) \end{array}\displaystyle \right )^{\top}=\left ( \textstyle\begin{array}{c} \dot{x} \\ \dot{y} \\ \dot{z} \end{array}\displaystyle \right )^{\top} \quad & \text{if}\;\; \dot{\mathbf{q}}^{\mathrm{p}}_{0} \in K_{\mathbf{q}^{\mathrm{p}}_{0}}^{2(2)} \\ \end{cases}\displaystyle \end{aligned}$$
(6)

where \(\dot{\theta}_{x},\dot{\theta}_{z},\dot{x},\dot{y},\dot{z}\in \mathbb{R}\). It can be seen that, unlike in the previous case, the parallel manipulator can escape the singularity by moving point \(E_{P}\) in any direction for both branches of motion. However, the mobile platform must rotate about an axis parallel to the \(xz\)-plane in order to escape from the singularity.

Step 4. We select an RP kinematic chain to generate a cone, as shown in Fig. 7c. The position of point \(E_{\mathrm{s}}\) must be such that, without considering joint limits, it should be able to intersect \(\mathbf{S}_{\mathrm{s}1}\), the axis of the R joint, when translating along \(\mathbf{S}_{\mathrm{s}2}\). Otherwise, the resulting surface is a hyperboloid. For simplicity, we consider the special case of a cone. In this example, it is not necessary to know the tangent plane to the cone at a point of interest, as point \(E_{\mathrm{p}}\) of the DYMO can translate in any direction to move into both branches.

Step 5. Point \(E_{\mathrm{s}}\) must coincide with \(E_{\mathrm{p}}\), so we define \(E:=E_{\mathrm{s}}=E_{\mathrm{p}}\). We assemble the kinematotropic parallel manipulator in singular configuration \(\mathbf{q}_{0}\in V\), in which \(E(\mathbf{q})=E_{0}\).

As explained in Step 1, plane \(\mathcal{S}_{\mathrm{p}}(\alpha )\) can only be used if we restrict any rotation about the \(y\)-axis. Hence, we position the cone so that its axis of rotation \(\mathbf{S}_{\mathrm{s}1}\) lies on the \(xz\)-plane. For the sake of simplicity, we make \(\mathbf{S}_{\mathrm{s}1}\) intersect \(O\) as shown in Fig. 8b.

Fig. 8
figure 8

a) Resulting kinematotropic parallel manipulator assembled in singular configuration \(\mathbf{q}_{0}\). b) Arrangement of surfaces involved in the design process. For both figures \(\mathbf{S}_{\mathrm{s}j}=\mathbf{S}_{\mathrm{s}j}(\mathbf{q}_{0})\), \(\forall j=1,\ldots ,4\)

Step 6. In branch 1, the mobile platform will undergo translation on the cone, hence we need to compensate for the rotation about \(\mathbf{S}_{\mathrm{s}1}\). Therefore, the mechanical connector must feature an R joint with axis \(\mathbf{S}_{\mathrm{s}3}\) adjacent to \(\mathbf{S}_{\mathrm{s}2}\) and parallel to \(\mathbf{S}_{\mathrm{s}1}\). Furthermore, \(\mathbf{S}_{\mathrm{s}3}\) must intersect \(E\). This R joint alone is sufficient to ensure that the mechanism can enter branch 1 with 2 DOF.

To ensure that the parallel manipulator can enter a 1-DOF branch following an intersection curve, we analyse again Fig. 7b. Rotation about the \(y\)-axis (and consequently the axis of symmetry of the mobile platform) is already restricted by the cone generator. However, in order to fix \(\alpha \) and thus the normal to the plane \(\hat{\mathbf{n}}\), we need to allow rotation about an axis that in the virtual chain in Fig. 7b is represented by the second R joint. Hence, our selection of a second R joint in the mechanical connector of the fourth leg will define \(\hat{\mathbf{n}}\). Therefore, \(\mathbf{S}_{\mathrm{s}4}\) is a free choice as long as it intersects \(E\) and is parallel to the \(xz\)-plane. This will fulfill the restriction imposed by the results in Eq. (6). We call the angle between \(\mathbf{S}_{\mathrm{s}4}\) and the \(x\)-axis \(\alpha _{a}\), which defines a plane \(\mathcal{S}_{\mathrm{p}a}\) with normal \(\hat{\mathbf{n}}_{a}:=\hat{\mathbf{n}}(\alpha _{a})||\mathbf{S}_{ \mathrm{s}4}\). The resulting kinematotropic parallel manipulator is shown in Fig. 8a.

However, observe that the cone generator defines a second plane \(\mathcal{S}_{\mathrm{p}b}\) by itself, since both the cone rotation axis \(\mathbf{S}_{\mathrm{s}1}\) and the first R joint of the mechanical connector \(\mathbf{S}_{\mathrm{s}3}\) allow rotation to an axis parallel to them and perpendicular to the \(y\)-axis. If the angle between \(\mathbf{S}_{\mathrm{s}1}\) and the \(x-\) axis is \(\alpha _{b}\), \(E\) can move on a plane \(\mathcal{S}_{\mathrm{p}b}\) with normal \(\hat{\mathbf{n}}_{b}:=\hat{\mathbf{n}}(\alpha _{b})||\mathbf{S}_{ \mathrm{s}1}\). This allows for the creation of a third branch of motion where point \(E\) follows the intersection of \(\mathcal{S}_{\mathrm{p}b}\cap \mathcal{S}_{\mathrm{s}}\).

Discussion

From the previous analysis, it can be concluded that \(V\), the configuration space of the designed kinematotropic parallel manipulator, has at least three branches of motion, two of dimension 1 and one of dimension 2. We call these branches \(V_{1}\), \(V_{2}\) and \(V_{3}\). A configuration belonging to each of these branches, as well as corresponding bifurcation configurations are shown in Fig. 9. Screw coordinates for an example of this kinematotropic parallel mechanism in singular configuration \(\mathbf{q}_{0} = V_{1} \cap V_{2} \cap V_{3}\) are presented in the Appendix.

Fig. 9
figure 9

Different branches of motion in the configuration space of the designed kinematotropic parallel manipulator

Let \(V_{1}\subset V\) be the branch corresponding to the case where the DYMO parallel manipulator moves in the translational branch \(V_{\mathrm{p,1}}\). Then, \(E(\mathbf{q})\in \mathcal{S}_{\mathrm{s}}\) \(\forall \mathbf{q}\in V_{1}\) and \(\mathrm{dim}(V_{1})=2\), as \(E\) moves on the cone while the mobile platform undergoes pure translation.

When the DYMO parallel manipulator works in the \(V_{\mathrm{p,2}}\) branch, the new kinematotropic parallel manipulator can enter any of two branches of motion depending on which plane is selected. If \(E\) moves on the plane \(\mathcal{S}_{\mathrm{p}a}\), the kinematotropic parallel manipulator enters a branch \(V_{2}\subset{V}\), in which \(E\) moves along the intersection curve \(\mathscr{C}_{a}:=\mathcal{S}_{\mathrm{p}a}\cap \mathcal{S}_{ \mathrm{s}}\) and \(\mathrm{dim}(V_{2})=1\). On the other hand, if \(E\) moves on the plane \(\mathcal{S}_{\mathrm{p}b}\), the kinematotropic parallel manipulator enters a branch \(V_{3}\subset{V}\) in which \(E\) moves along the intersection curve \(\mathscr{C}_{b}:=\mathcal{S}_{\mathrm{p}b}\cap \mathcal{S}_{ \mathrm{s}}\) and \(\mathrm{dim}(V_{3})=1\). Since the plane \(\mathcal{S}_{\mathrm{p}b}\) is perpendicular to the cone’s axis of rotation, \(\mathscr{C}_{b}\) is a circle with center at \(O\) and radius \(d(O,E_{0})\). Consequently, the P and R joints with respective axes \(\mathbf{S}_{\mathrm{s}2}\) and \(\mathbf{S}_{\mathrm{s}4}\) are idle.

5 Conclusion

A method for the synthesis of parallel manipulators that can change their DOF, i.e. kinematotropic parallel manipulators, was presented. It was shown that the fact that certain points attached to the moving platform of some 3-DOF parallel manipulators move on surfaces in some assembly modes, while they move freely in three directions in other branches, can be exploited to design kinematotropic parallel manipulators. The method provides a design strategy to synthesise an additional limb that constrains the linkage in a way that the branches of motion no longer have the same dimension, thus changing permanently its DOF.

Two examples with different properties were presented. The kinematotropic parallel manipulators obtained from this method allow a point attached to the end-effector to draw surfaces in one branch of motion, while the same point draws curves in other branches of motion. The curves are always contained in the surfaces. This can bring potential applications for this type of devices. For example, when task motions on a surface are required and then more detail is needed for fine motion on a curve being part of such surface - the manipulator could be driven with a single actuator for this last task instead of a complex coordinated control of the two actuators.