1 Introduction

In [1], Baker proposed a two-loop linkage as an example to demonstrate the application of his method for identification of the relative twist of any two bodies, and thus their instantaneous relative mobility, in a mechanism. This linkage was also used by Davies [2] to demonstrate his graph representation of the kinematic topology. Fayet [4] extended it to a three-loop linkage and used it as an example for application of his method to determine the ‘relative screw space’, i.e. the subspace of \(se\left( 3\right) \) defined by the possible relative twists. An efficient method for identification of the relative twists was proposed by Wohlhart [16], and later Diez-Martínez et al. [3] proposed a method for determination of the finite relative mobility. In both publications, a variant of Fayet’s linkage shown in Fig. 1 was used as an example, and it was analyzed in the shown reference configuration. It was shown in [16] that in this reference configuration the differential DOF is 5. In [3], the finite DOF was found to be 3. The differential and local DOF being different may suggest that the reference configuration is a kinematic singularity. This question has not yet been addressed, and will be answered in this paper by means of a local mobility analysis. The latter determines the finite mobility at the reference configuration in Fig. 1 as well as the differential mobility when the linkage performs finite motions through that configuration. It will be shown that this configuration is a regular point of the c-space, that it is not a kinematic singularity, and that the differential DOF is always 5, which renders the linkage shaky. A mechanism is shaky iff, in a regular configuration, its differential (instantaneous) DOF is higher than its local (finite) DOF. The analysis makes use of the kinematic tangent cone, which provides the mathematical framework for such a local analysis as introduced in [5, 8, 9, 12], and a local approximation of the c-space. The computation is enabled by the closed form and recursive relations for the higher-order expressions in terms of joint screws [13]. A Mathematica\(^{\copyright }\) notebook with all computations for the linkage in Fig. 1 can be obtained from the author.

Fig. 1.
figure 1

Multiloop linkage presented by Fayet (CAD drawing curtesy of Jose Rico).

2 Kinematic Topology

The kinematic topology of a linkage is represented by a non-directed (multi)graph \(\varGamma \) [2, 10]. Vertices represent bodies/links, and edges represent (1-DOF) joints. The linkage in Fig. 1 comprises 10 joints (2 spherical, 4 cylindrical, 1 planar, 3 revolute) and 8 links. The cylindrical, spherical, and planar joints are modeled as combination of helical joints [3, 16]. The kinematic model thus consists of \(n=20\) helical joints (6 prismatic, 14 revolute) and \(N=17\) links. The topological graph possesses \(\gamma =\) \( N-n+1=3\) fundamental cycles (FC), also called fundamental loops, denoted with \(\varLambda _{l},l=1,\ldots ,\gamma \). A co-tree \(\mathscr {H}\) can be introduced consisting of exactly one edge in each of the \(\gamma \) FCs. Eliminating the co-tree edges yields a spanning tree \(\mathscr {G}\). For the kinematics modeling, an associated directed graph \(\vec {\varGamma }\) is introduced. The edge directions indicate the polarity of joint variables. This defines the corresponding directed tree \(\vec {\mathscr {G}}\) and co-tree \(\vec {\mathscr {H}}\), as shown in Fig. 2 (vertex/body labels are omitted). FCs induce an ordering according to how edges appear when traversing a FC. All edges are aligned with the FCs except edges 15 and 16.

The correspondence of edges of \(\vec {\varGamma }\) (i.e. revolute/prismatic joints in the model) to the multi-DOF joints of the linkage is as follows: Joint A: 1, 2, 3; B: 4, 5, 6; C: 7, 8, 9; D: 10, 11; E: 12, 13; F: 14; G: 15, 16; H: 17; J: 18, 19; K: 20.

Fig. 2.
figure 2

Tree \(\vec {\mathscr {G}}\), co-tree \(\vec {\mathscr {H}}\), and FCs \(\varLambda _{l}\) of the topological graph \(\vec {\varGamma }\) for the linkage in Fig. 1.

3 Kinematic Model

Edge i of the topological graph corresponds to one of the helical joints, modeled with a screw coordinate vector, denoted with \(\mathbf {Y} _{i},i=1,\ldots ,n\), and a joint variable, denoted with \(q_{i},i=1,\ldots ,n\) . The latter are summarized in the vector \(\mathbf {q}\in {\mathbb {V}}^{n}={ \mathbb {R}}^{6}\times {\mathbb {T}}^{14}\). The configuration in Fig. 1 is used as zero reference configuration \(\mathbf {q}_{0}=\mathbf {0} \). The screw coordinate vectors are determined in this reference configuration, and represented in the spatial frame \(\mathscr {F}_{0}\) when located at joint A (adopted from [3]):

$$\begin{aligned} \mathbf {Y}_{1}= & {} (1,0,0,0,0,0)^{T},\mathbf {Y}_{2}=(0,1,0,0,0,0)^{T},\mathbf { Y}_{3}=\mathbf {Y}_{6}=(0,0,1,0,0,0)^{T} \\ \mathbf {Y}_{4}= & {} \left( 1,0,0,0,1,0\right) ^{T},\mathbf {Y}_{5}=\left( 0,1,0,-1,0,0\right) ^{T},\mathbf {Y}_{7}=(0,0,0,1,0,0)^{T} \\ \mathbf {Y}_{8}= & {} \mathbf {Y}_{10}=\mathbf {Y}_{12}=\mathbf {Y}_{15}=\mathbf {Y} _{18}=\left( 0,0,0,0,1,0\right) ^{T} \\ \mathbf {Y}_{9}= & {} \left( 0,0,1,-1,0,0\right) ^{T},\mathbf {Y} _{11}=(0,1,0,0,0,1)^{T} \\ \mathbf {Y}_{13}= & {} \left( 0,1,0,0,0,0\right) ^{T},\mathbf {Y} _{14}=(0,1,0,-1,0,1)^{T},\mathbf {Y}_{16}=\left( 0,1,0,-1/2,0,0\right) ^{T} \\ \mathbf {Y}_{17}= & {} \left( 0,0,1,1,1,0\right) ^{T},\mathbf {Y} _{19}=(0,1,0,-1,0,0)^{T},\mathbf {Y}_{20}=\left( 0,1,0,-1/2,1,0\right) ^{T}. \end{aligned}$$

The instantaneous joint screw coordinates in an arbitrary configuration are denoted with \({\mathbf {S}_{i}}\left( \mathbf {q}\right) \). They are found from the joint screw coordinates in the reference configuration by a frame transformation of \(\mathbf {Y}_{i}\) to the current configuration [12, 13]. For instance \({\mathbf {S}_{9}} \left( \mathbf {q}\right) =\mathbf {Ad}_{\exp (\mathbf {Y}_{1}q_{1})\cdot \ldots \cdot \exp (\mathbf {Y}_{{8}}q_{8})}\mathbf {Y}_{9}\), where \(\mathbf {Ad} \) is the matrix transforming screw coordinates [15]. Indeed, \({ \mathbf {S}_{i}} \left( \mathbf {0}\right) =\mathbf {Y}_{i}\) in the zero reference configuration.

Denote with \(\mathbf {J}_{l}\) the constraint Jacobian in the velocity constraints \(\mathbf {J}_{l}(\mathbf {q})\dot{\mathbf {q}}=\mathbf {0}\) for the FC \(\varLambda _{l},l=1,\ldots ,3\). The overall constraint Jacobian for the \( \gamma =3\) FCs, according to the orientation of the topological graph, is the \(18\times 20\) matrix

$$\begin{aligned} \mathbf {J}=\left( \begin{array}{cccccccccccccccccccc} \mathbf {S}_{1} &{} \mathbf {S}_{2} &{} \mathbf {S}_{3} &{} \mathbf {S}_{4} &{} \mathbf {S }_{5} &{} \mathbf {S}_{6} &{} \mathbf {S}_{7} &{} \mathbf {S}_{8} &{} \mathbf {S}_{9} &{} \mathbf {S}_{10} &{} \mathbf {S}_{11} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} \\ \mathbf {S}_{1} &{} \mathbf {S}_{2} &{} \mathbf {S}_{3} &{} \mathbf {S}_{4} &{} \mathbf {S }_{5} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {S}_{12} &{} \mathbf {S}_{13} &{} \mathbf {S}_{14} &{} \mathbf {S} _{15} &{} \mathbf {S}_{16} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} \\ \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {S}_{9} &{} \mathbf {S}_{10} &{} \mathbf {S} _{11} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} -\mathbf {S}_{15} &{} -\mathbf {S} _{16} &{} \mathbf {S}_{17} &{} \mathbf {S}_{18} &{} \mathbf {S}_{19} &{} \mathbf {S}_{20} \end{array} \right) \end{aligned}$$
(1)

where the three block rows correspond to the \(\mathbf {J}_{l}\). The system of \(6\gamma =18\) velocity constraints is thus \(\mathbf {J}(\mathbf {q})\dot{ \mathbf {q}}=\mathbf {0}\). Note that edges 15 and 16 are directed opposite to \( \varLambda _{3}\).

The geometric loop closure constraints of the FC \(\varLambda _{l},l=1,\ldots ,\gamma \) is \(f_{l}\left( \mathbf {q}\right) =\mathbf {I}\) with the constraint mappings expressed by the product of exponentials

$$\begin{aligned} f_{1}\left( \mathbf {q}\right)= & {} \exp (\mathbf {Y}_{1}q_{1})\cdot \ldots \cdot \exp (\mathbf {Y}_{{11}}q_{11}) \end{aligned}$$
(2)
$$\begin{aligned} f_{2}\left( \mathbf {q}\right)= & {} \exp (\mathbf {Y}_{1}q_{1})\cdot \ldots \cdot \exp (\mathbf {Y}_{5}q_{5})\exp (\mathbf {Y}_{12}q_{12})\cdot \ldots \cdot \exp (\mathbf {Y}_{16}q_{16}) \end{aligned}$$
(3)
$$\begin{aligned} f_{3}\left( \mathbf {q}\right)= & {} \exp (\mathbf {Y}_{9}q_{9})\exp (\mathbf {Y} _{10}q_{10})\exp (\mathbf {Y}_{11}q_{11})\exp (-\mathbf {Y}_{16}q_{16})\exp (- \mathbf {Y}_{15}q_{15}) \nonumber \\&\cdot \exp (\mathbf {Y}_{17}q_{17})\exp (\mathbf {Y}_{18}q_{18})\exp ( \mathbf {Y}_{19}q_{19})\exp (\mathbf {Y}_{20}q_{20}) \end{aligned}$$
(4)

where the ordering is defined by the FCs and the sign in the exponential by the direction of edges relative to the FCs. The c-space is then the real analytic variety

$$\begin{aligned} V:=\left\{ \mathbf {q}\in {\mathbb {V}}^{20}|f_{l}\left( \mathbf {q}\right) = \mathbf {I},l=1,\ldots ,3\right\} . \end{aligned}$$
(5)

The principle aim of a mobility analysis consists in determining the dimension (i.e. the DOF) and the topology of V (i.e. the mobility). The differential DOF at \(\mathbf {q}\in V\) is \(\delta _{\mathrm {diff}}\left( \mathbf {q}\right) =\dim \ker \mathbf {J}\left( \mathbf {q}\right) =n-\mathrm { rank}~\mathbf {J}\left( \mathbf {q}\right) \). The differential mobility is described by vectors \(\mathbf {x}\in \ker \mathbf {J}\left( \mathbf {q}\right) \) . The finite local DOF at \(\mathbf {q}\in V\) is the local dimension of V, denoted \(\delta _{\mathrm {loc}}\left( \mathbf {q}\right) =\dim _{\mathbf {q}}V\) .

C-space singularities are non-smooth points of V (where V is not a smooth manifold). Kinematic singularities are points where the differential DOF is not constant in any neighborhood of \(\mathbf {q}\) in V. C-space singularities are kinematic singularities. The opposite is not necessarily true. Constraint singularities are points where the constraint Jacobian is not full rank. C-space and kinematic singularities are constraint singularities. The opposite is not necessarily true (e.g. overconstrained mechanisms).

4 Smooth Finite Motions Through the Reference Configuration

A motion of the linkage corresponds to a curve in V. At a given configuration \(\mathbf {q}\in V\), the tangents to smooth finite curves in V through \(\mathbf {q}\), i.e. to smooth motions, form the kinematic tangent cone \(C_{\mathbf {q}}^{\mathrm {K}}V:=\{\dot{\sigma }|\sigma \in \mathscr {C}_{ \mathbf {q}}\}\subset {\mathbb {R}}^{n}\), where \(\mathscr {C}_{\mathbf {q}}\) is the class of smooth curves in V through \(\mathbf {q}\in V\) [12]. With the parameterization in terms of joint variables it can be simply regarded as a formal definition of the set of all velocity vectors \(\dot{\mathbf {q}}\) such that \(\mathbf {q}\left( t\right) \) is a smooth curve in V and satisfies time derivative of the loop constraints of any order. It can thus be defined in terms of higher-order derivatives of the velocity constraints [5, 8, 9]. Denoting \( H_{l}^{\left( 1\right) } (\mathbf {q},\dot{\mathbf {q}}):=\mathbf {J}_{l}(\mathbf {q})\dot{\mathbf {q}}\) and \(H_{l}^{\left( i\right) } (\mathbf {q},\dot{\mathbf {q}},\ldots ,\mathbf {q}^{\left( i\right) }):=\frac{ d^{i-1}}{dt^{i-1}}H_{l}^{\left( 1\right) } \left( \mathbf {q},\dot{\mathbf {q}}\right) \), the ith-order constraints for the FC \(\varLambda _{l}\) is

$$\begin{aligned} H_{l}^{\left( i\right) } (\mathbf {q},\dot{\mathbf {q}},\ldots ,\mathbf {q}^{\left( i\right) })=\mathbf {0 }. \end{aligned}$$
(6)

The kinematic tangent cone is then determined as

$$\begin{aligned} {C_{\mathbf {q}}^{\text {K}}V}=K_{\mathbf {q}}^{\kappa }\subseteq \ldots \subseteq K_{\mathbf {q}}^{3}\subseteq K_{\mathbf {q}}^{2}\subseteq {K_{ \mathbf {q}}^{1}} \end{aligned}$$
(7)

where \(K_{\mathbf {q}}^{i}\) is a cone (in \(\mathbf {x}\)) defined as

$$\begin{aligned} \begin{array}{ll} K_{\mathbf {q}}^{i}:=\{\mathbf {x}|\exists \mathbf {y},\mathbf {z},\ldots \in { \mathbb {R}}^{20}: &{} H_{l}^{\left( 1\right) } \left( \mathbf {q},\mathbf {x}\right) =\mathbf {0},H_{l}^{\left( 2\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y}\right) =\mathbf {0},H_{l}^{\left( 3\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y},\mathbf {z}\right) =\mathbf {0},\ldots \\ &{} \ldots ,H_{l}^{\left( i\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y},\mathbf {z,\ldots }\right) =\mathbf {0} ,l=1,2,3\}. \end{array} \end{aligned}$$
(8)

The sequence (7) terminates with finite \(\kappa \), which is specific to the linkage and depends on the configuration. The crucial point of this formulation is that the higher-order mappings \(H_{l}^{\left( i\right) }\) can be evaluated in closed form or recursively by means of simple vector operations [12, 13]. A Mathematica\(^{ \copyright }\) implementation is available at [11].

The kinematic tangent cone provides a local description of the manifolds intersecting at a c-space singularity \(\mathbf {q}\). It thus allows to identify motion bifurcations, including non-transversal intersections [6]. The calculation shows that the first- and second-order cone is a 5-dimensional and 3-dimensional vector space, respectively:

$$\begin{aligned} \begin{array}{ll} K_{\mathbf {q}_{0}}^{1}=\{\mathbf {x}\in {\mathbb {R}}^{20}| &{} x_{1}=0,x_{2}=u,x_{3}=v,x_{4}=0,x_{5}=w+2v,x_{6}=-v,x_{7}=w/2, \\ &{} x_{8}=r,x_{9}=-v,x_{10}=s,x_{11}=w+2v,x_{12}=-s,x_{13}=-w-u-2v, \\ &{} x_{14}=-w-2v,x_{15}=-r+s,x_{16}=w+2v,x_{17}=v, \\ &{} x_{18}=-w-v-r+s,x_{19}=-w,x_{20}=w;\ r,s,u,v,w\in {\mathbb {R}}\}. \end{array} \end{aligned}$$
$$\begin{aligned} \begin{array}{ll} K_{\mathbf {q}_{0}}^{2}=\{\mathbf {x}\in {\mathbb {R}}^{20}| &{} x_{1}=0,x_{2}=-u,x_{3}=0,x_{4}=0,x_{5}=0,x_{6}=0,x_{7}=0,x_{8}=r, \\ &{} x_{9}=0,x_{10}=s,x_{11}=0,x_{12}=-x_{10},x_{13}=u,x_{14}=0,x_{15}=-r+s, \\ &{} x_{16}=0,x_{17}=0,x_{18}=-r+s,x_{19}=0,x_{20}=0;\ r,s,u\in {\mathbb {R}}\}. \end{array}\end{aligned}$$

This shows that, at \(\mathbf {q}_{0}\), the linkage can perform 5-dimensional first-order motions, so that the differential DOF is \(\delta _{\mathrm {diff} }\left( \mathbf {q}_{0}\right) =\dim K_{\mathbf {q}_{0}}^{1}V=5\). The higher-order cones are \(K_{\mathbf {q}_{0}}^{i}=K_{\mathbf {q}_{0}}^{2},i\ge 3 \), and thus \(C_{\mathbf {q}_{0}}^{\mathrm {K}}V=K_{\mathbf {q}_{0}}^{2}\). This shows that there is exactly one manifold passing through \(\mathbf {q}_{0}\). Consequently, the linkage admits well-defined 3-dimensional smooth motions, but no bifurcation, and the local finite DOF has a lower bound \(\delta _{ \mathrm {loc}}\left( \mathbf {q}_{0}\right) \ge \dim C_{\mathbf {q}_{0}}^{ \mathrm {K}}V=3\). The DOF could be higher than 3 if \(\mathbf {q}_{0}\) belongs to a subvariety of V (with higher dimension ) which does not allow smooth motions, e.g. cusps. The latter is not captured by the kinematic tangent cone (or any analysis based on higher-order derivatives of constraints). This is addressed in Sect. 6.

5 Differential Mobility at Smooth Finite Motions

The analysis of the local finite mobility does not reveal the differential mobility when passing through \(\mathbf {q}_{0}\). It remains to determine i) the differential DOF when the linkage performs finite motions through \( \mathbf {q}_{0}\), and ii) whether the differential DOF is locally constant in a neighborhood of \(\mathbf {q}_{0}\) in V. The first allows to conclude whether the linkage is shaky. The latter is crucial in order to assert whether \(\mathbf {q}_{0}\) is a kinematic singularity. It was recently recognized (although this phenomenon has been know for a long time already) that a mechanism can exhibit kinematic singularities even when the c-space is a smooth manifold [14].

Denote with \(\mathbf {J}_{ \varvec{\alpha } \varvec{\beta } }\) the \(k\times k\) submatrix of \(\mathbf {J}\), containing elements \(J_{ij}\) according to the index sets \( \varvec{\alpha } =\{\alpha _{1},\ldots ,\alpha _{k}\},\alpha _{i-1}<\alpha _{i}\) and \( \varvec{\beta } =\{\beta _{1},\ldots ,\beta _{k}\},\beta _{j-1}<\beta _{j}\). The \( \varvec{\alpha } \varvec{\beta } \)-minor of \(\mathbf {J}\) of order k is then \(m_{ \varvec{\alpha } \varvec{\beta } }(\mathbf {q}):=\det \mathbf {J}_{ \varvec{\alpha } \varvec{\beta } }(\mathbf {q})\). Its ith derivative is denoted with \(M_{ \varvec{\alpha } \varvec{\beta } }^{\left( i\right) } (\mathbf {q},\dot{\mathbf {q}},\ldots ,\mathbf {q}^{\left( i\right) }){:=}\frac{ d^{i}}{dt^{i}}m_{ \varvec{\alpha } \varvec{\beta } }(\mathbf {q})\). The set of points where the constraint Jacobian has rank less than k can be defined in terms of the k-minors [9, 12]

$$\begin{aligned} \begin{array}{ll} L_{k}\,{:}{=}\left\{ \mathbf {q}\in {\mathbb {V}}^{20}|\right. &{} f_{l}\left( \mathbf {q}\right) =\mathbf {I},m_{ \varvec{\alpha } \varvec{\beta } }(\mathbf {q})=0,l=1,2,3 \\ &{} \forall \left| \varvec{\alpha } \right| = \left| \varvec{\beta } \right| = k, \varvec{\alpha } \subseteq \{1,\ldots ,6\}, \varvec{\beta } \subseteq \{1,\ldots ,n\} \big \}. \end{array} \end{aligned}$$
(9)

Of interest are the finite smooth motions with rank less than k. Tangents to such motions through \(\mathbf {q}\in V\) form the kinematic tangent cone to \(L_{k}\), determined by the sequence

$$\begin{aligned} {C_{\mathbf {q}}^{\text {K}}}L_{k}=K_{\mathbf {q}}^{k,\kappa }\subset \ldots \subset K_{\mathbf {q}}^{k,3}\subset K_{\mathbf {q}}^{k,2}\subset {K_{\mathbf {q }}^{k,1}} \end{aligned}$$
(10)

with the ith-order cone defined by the ith-order derivatives of constraints and minors

$$\begin{aligned} \begin{array}{ll} K_{\mathbf {q}}^{k,i}:=\{\mathbf {x}|\exists \mathbf {y},\mathbf {z},\ldots \in { \mathbb {R}}^{20}: &{} H_{l}^{\left( 1\right) } \left( \mathbf {q},\mathbf {x}\right) =H_{l}^{\left( 2\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y}\right) =\ldots \mathbf {=} H_{l}^{\left( i\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y},\mathbf {z,\ldots }\right) =\mathbf {0} , \\ &{} M_{ \varvec{\alpha } \varvec{\beta } }^{\left( 1\right) } \left( \mathbf {q},\mathbf {x}\right) =M_{ \varvec{\alpha } \varvec{\beta } }^{\left( 2\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y}\right) =\ldots =M_{ \varvec{\alpha } \varvec{\beta } }^{\left( i\right) } \left( \mathbf {q},\mathbf {x},\mathbf {y},\mathbf {z,\ldots }\right) =0, \\ &{} \forall \varvec{\alpha } \subseteq \{1,\ldots ,6\}, \varvec{\beta } \subseteq \{1,\ldots ,n\},\left| \varvec{\alpha } \right| = \left| \varvec{\beta } \right| =k,l=1,2,3\}. \end{array} \end{aligned}$$
(11)

Calculation of the derivatives of the minors is again possible efficiently by simple vector operations [13], also available as Mathematica\(^{\copyright }\) implementation [11].

In the reference configuration \(\mathbf {q}_{0}\), the Jacobian has \(\mathrm { rank}~\mathbf {J}\left( \mathbf {q}_{0}\right) =15\), while it can not have rank higher than \(3\cdot 6=18\). Thus \(L_{k},k=16,17,18\) must be investigated. The computation yields that all derivatives of the minors of order \(k=16,17,18\), \(M_{ \varvec{\alpha } \varvec{\beta } }^{\left( i\right) }=0,\left| \varvec{\alpha } \right| = \left| \varvec{\beta } \right| =16,17,18\) are zero for solutions on (6). It is concluded that the Jacobian has locally constant rank 15 for any smooth motion through \(\mathbf {q}_{0}\). Thus the linkage has a locally constant differential DOF \(\delta _{\mathrm {diff}}\left( \mathbf {q}\right) =n-\mathrm { rank}~\mathbf {J}\left( \mathbf {q}\right) =20-15=5,\mathbf {q}\in U\left( \mathbf {q}_{0}\right) \cap V\). Since its differential and local DOF are permanently different, the linkage is shaky of degree \(\delta _{\mathrm {diff}}-\delta _{\mathrm {loc}}=2\).

6 Local Approximation of the Configuration Space

The above analysis does not capture singularities where no smooth motions are possible, and the reference configuration \(\mathbf {q}_{0}\) may still be a singularity where V is not locally the intersection of manifolds. This happens at a dead-point/motion-reversal point (also called stationary singularity). At such configurations the c-space is not the intersection of manifolds so that no tangent can be defined at that point, e.g. at cusps [7, 12]. This can be checked by means of a local approximation of the c-space V using the kth-order Taylor-series expansion of the constraint mappings at \(\mathbf {q}\)

$$\begin{aligned} f_{l}\left( \mathbf {q}+\mathbf {x}\right) =f_{l}\left( \mathbf {q}\right) +\sum _{k\ge 1}\frac{1}{k!}\mathrm {d}^{k}f_{l,\mathbf {q}}\left( \mathbf {x} \right) . \end{aligned}$$
(12)

Since \(f_{l}\left( \mathbf {q}\right) =\mathbf {I}\), for \(\mathbf {q}\in V\), the kth-order approximation of V at \(\mathbf {q}\) is given by

$$\begin{aligned} V_{\mathbf {q}}^{k}:=\{\mathbf {x}\in {\mathbb {R}}^{n}|\mathrm {d}f_{l,\mathbf {q }}\left( \mathbf {x}\right) +\frac{1}{2}\mathrm {d}^{2}f_{l,\mathbf {q}}\left( \mathbf {x}\right) +\ldots +\frac{1}{k!}\mathrm {d}^{k}f_{l,\mathbf {q}}\left( \mathbf {x}\right) =\mathbf {0},l=1,\ldots ,3\}. \end{aligned}$$
(13)

An efficient recursive and explicit expression of the differentials \(\mathrm { d}^{k}f_{l,\mathbf {q}}\) was reported in [12, 13], and a Mathematica\(^{\copyright }\) implementation can be found in [11]. The computation yields \(V_{\mathbf {q}_{0}}^{1}={K_{\mathbf {q}_{0}}^{1}}\) and \(V_{ \mathbf {q}_{0}}^{2}={K_{\mathbf {q}_{0}}^{2}}\), which confirms that the linkage can only perform the smooth 3-dimensional motions.

7 Conclusion

It was shown that, in the reference configuration, the three-loop linkage presented by Wohlhart [16] has finite local DOF 3, a locally constant differential DOF 5, and that the reference configuration is regular. Consequently, the linkage can perform finite 3-dimensional smooth motions. Since the differential DOF exceeds the local DOF at all regular points, it is shaky of degree 2.

The linkage is also overconstrained. The generic (topological) DOF (of any spatial linkage with the given topology) is given by the Chebychev-Kutzbach-Grübler formula, which can be expressed as \(\delta _{ \mathrm {top}}=\sum _{i\in J}\delta _{i}-6\gamma =n-6\gamma \). Applied to this linkage, the generic DOF is \(\delta _{\mathrm {top}}=20-6\cdot 3=2\), so that it is overconstrained of degree 1.

In conclusion, the reference configuration is a constraint singularity but not a kinematic singularity or a c-space singularity. It should be remarked that the three-loop linkage shown in Fig. 4 of [4] (repeated as Fig. 3 in [16]) shows similar interesting properties. The presented analysis only reveals the mobility at the reference configuration (which is arbitrary though). A global analysis will have to resort to an algebraic formulation and use tools from geometric algebra.