# Higher-order constraints for higher kinematic pairs and their application to mobility and shakiness analysis of mechanisms

- 1.9k Downloads

## Abstract

The mobility analysis of mechanisms rests on an adequate formulation of the constraints defining its configuration space (c-space). Whereas there is no general method for a global analysis, the higher-order mobility analysis, which locally approximates the c-space, is applicable to general mechanisms. It requires an efficient method for the evaluation of higher-order constraints, i.e. constraints on velocity, acceleration, jerk, etc. Such a method is known for linkages comprising lower pair joints only. In this paper a method for the efficient evaluation of higher-order constraints for mechanisms comprising higher pair joints is proposed. The method builds on the results for the lower pair linkages. It leads to a computationally simply recursive algorithm. This is applied to the mobility analysis that allows to determine the local finite mobility, to detect singularities, and to identify shaky mechanisms.

## Keywords

Higher kinematic pairs Kinematic loops Geometric constraints Higher-order constraints Mobility Singularities Shakiness Screws Lie groups## List of symbols

*n*Number of 1-DOF joints in a linkage

- \({\mathbf {q}}\in {{\mathbb {V}}}^{n}\)
Vector of joint variables

- \(\delta _{\mathrm{loc}}\left( {\mathbf {q}}\right)\)
Local DOF at \({\mathbf {q}}\)

- \(\delta _{\mathrm{diff}}\left( {\mathbf {q}}\right)\)
Differential DOF at \({\mathbf {q}}\)

- \(V\subset {{\mathbb {V}}}^{n}\)
Configuration space (c-space) of a linkage

*h*Constraint mapping for a higher pair cut-joint in a kinematic loop

- \(h_{l}\)
Constraint mapping for a higher pair cut-joint in the fundamental cycle \(\varLambda _{l}\)

- \(f_{i^{\prime }}\)
Forward kinematic mapping of the open chain with terminal body \(i^{\prime }\) obtained by removing the cut-joint from loop

- \(f_{\alpha }\)
Forward kinematic mapping of the open chain with terminal body \(B_{\alpha }\) obtained by removing the cut-joint from the FC \(\varLambda _{l}\) of which the higher pair joint \(J_{l}\) connects to \(B_{\alpha }\)

- \({\mathbf {Y}}_{i}\)
Screw coordinate vector of joint

*i*in the zero reference configuration \({\mathbf {q}}={\mathbf {0}}\)- \({\mathbf {S}}_{i}\)
Instantaneous screw coordinate vector of joint

*i*- \({\mathbf {V}}_{i}\)
Spatial twist vector of body

*i*- \(\varGamma\)
Topological graph

- \({\mathcal {G}}\), \({\mathcal {H}}\)
Spanning tree, and cotree in \(\varGamma\)

- \(\gamma\)
Number fundamental loops of \(\varGamma\)

- \(\varLambda _{l}\)
Fundamental Loop (FL) of \(\varGamma\) assigned to cotree edge \(l\in {\mathcal {H}}\)

## 1 Introduction

Lower kinematic pairs (Reuleaux pairs) are mechanical generators of \(SE\,(3)\) subgroups, and the instantaneous joint screws form a basis for the corresponding \(se\,(3)\) subalgebras. The finite joint motion is found from the instantaneous motion via the exponential mapping on the Lie group \(SE\,(3)\). When studying the kinematics of linkages with lower kinematic pairs, it is thus convenient and common practice to express the kinematics in terms of joint screw coordinates and joint parameters. This is known as the product of exponentials (POE) formulation [1] for the kinematic mapping of a kinematic chain, where relative motions due to lower pairs are expressed as exponential of joint screw coordinates. The same applies to the closure constraints of kinematic loops. This gives rise to explicit algebraic relations of the derivatives of the kinematic mapping, and hence of the derivatives of the loop closure constraints for lower pair linkages. These higher-order constraints were employed to the mobility analysis of lower pair linkages [5, 6, 11, 18, 20, 22]. In [17] a generally applicable computational method for mobility analysis using higher-order approximations was presented. The Lie group setting further allows for mobility estimation without resorting to higher-order approximation but rather considering intersection of motion spaces [7, 8, 12, 21].

Higher kinematic pairs do not represent mechanical generators of motion subgroups of \(SE\,(3)\), and can in general not be represented by combination of such. Hence a screw-based formulation of the kinematics and loop constraints is not available. However, frequently mechanisms comprise lower as well as higher pairs. In particular, the majority of mechanisms possess kinematic loops comprising only a few higher pairs. Such mechanisms were for instance addressed in [30]. For the special case where each loop contains no more than one higher pair, a recursive formulation is presented in this paper making use of the POE formulation. To this end, the higher pair joint is removed from the loop. The motion of the two bodies connected by the higher pair is expressed by a POE. The constraints are then imposed on the relative motion of the bodies. Since the higher pair is cut open and replaced by the corresponding constraints, this is referred to as the ’cut-joint’ of the loop, and this approach is known as cut-joint formulation of constraints [15, 28]. This is also applicable to lower pair mechanisms. Based on the constraint formulation a computational method for the higher-order mobility analysis is introduced in the following.

The paper consists of two parts. In the first part the higher-order loop constraints are presented that are employed for mobility and singularity analysis in the second part. In Sect. 2 the geometric constraints for a single kinematic loop are introduced. The corresponding higher-order constraints are derived in Sect. 3. The extension to multi-loop mechanisms is presented in Sect. 4. This rests on the topological graph and the identification of topologically independent fundamental cycles. The application of these constraints to the mobility and singularity analysis is presented in Sect. 5. Throughout the paper, \({\mathbf {u}}_{1}=\left( 1,0,0\right) ^{T}\), \({\mathbf {u}}_{2}=\left( 0,1,0\right) ^{T}\) and \({\mathbf {u}}_{3}=\left( 0,0,1\right) ^{T}\) denote the standard unit basis vectors.

## 2 Geometric constraints for a kinematic loop

### 2.1 Cut-joint versus cut-body formulation

The relative configuration of adjacent bodies is determined by the configuration of the connecting joint. The latter is determined by the joint variables (angles/dis-placements) that are referred to as *relative coordinates*. In terms of relative coordinates, the closure constraints for a kinematic loop can be formulated in two different ways: the *cut-body* formulation [9, 23] and the *cut-joint* formulation [28]. The cut-body approach is commonly used to model the kinematics of lower pair linkages, whereas the cut-joint approach is the standard approach to derive dynamic motion equations of multibody systems (MBS) in relative coordinates. In the cut-body formulation the relative configurations of *all* adjacent bodies are successively combined. That is, the constraints involve all joint variables of the loop. This approach can be interpreted as cutting one body in two parts, and the reassembly of the body yields the closure condition. In the cut-joint approach, one joint (called the cut-joint) is removed and the remaining two open kinematic chains are subjected to closure constraints according to the cut-joint. The kinematic model, for a loop with *n* joints and bodies, thus comprises only the joint variables of the remaining \(n-1\) joints.

*model*is in a singular configuration since the axes of joint 1, 2, and 3 are coplanar, and thus the constraint Jacobian drops rank. If joint 2 would be used as cut-joint (Fig. 1b), the Jacobian would have full rank 2. Apparently this singularity is due to the model rather than being a kinematic phenomenon of the mechanisms. The reason is that, by eliminating the cut-joint, only a \(n-1\) dimensional subspace of the configuration space is considered. This is, however, often ignored in MBS modeling.

Also from a computational point of view, the cut-body formulation is advantageous since the closure condition simply requires that the configuration of the virtual cut-body is the identity. In the cut-joint approach, the constraints are specific to the cut-joint. Since this is the standard approach in MBS dynamics using relative coordinates, details on the constraints for various joints can be found in the relevant literature [26, 28].

The main advantage of using relative coordinates to express the configuration of lower pair joints is that they can be expressed in terms of joint screws via the exponential mapping on \(SE\,(3)\). This has been employed for mobility analysis in [5, 6, 17, 20, 22]. The crucial point is that the derivatives of the constraints are available explicitly in terms of joint screws. This is not possible for higher pair joints. However, if a loop comprises only one higher pair joint, this can be used as cut-joint, which yields a lower pair linkage with two open kinematic chains whose kinematics can be modelled in terms of the remaining joint screws. This is presented in the following.

### 2.2 Relative configurations of adjacent bodies

Consider a kinematic loop, connected to the ground (indexed with 0), comprising *n* lower pair joints and one higher pair joint. W.l.o.g. the lower pairs are assumed to have 1 DOF, i.e. could be revolute, prismatic, or screw joint. This is valid since any lower pair (and generally, any mechanical generator of motion subgroups) can be represented as combination of these. Then, denote with \({\mathbf {q}}\in {{\mathbb {V}}}^{n}\) the vector of joint variables of the lower pairs. The higher pair is removed from the loop and serves as cut-joint of the loop, as indicated in Fig. 2. The two bodies connected by the higher pair represent the terminal bodies of the remaining two open kinematic chains, and are indexed with \(k^{\prime }\) and \(l^{\prime \prime }\), respectively. The 1-DOF lower pair joints of the respective open kinematic chain from the ground towards bodies \(k^{\prime }\) and \(l^{\prime \prime }\) are indexed with \(1^{\prime },\ldots ,k^{\prime }\) and \(1^{\prime \prime },\ldots ,l^{\prime \prime }\).

*i*w.r.t. to a global reference frame \({\mathcal {F}}_{0}\) at \({\mathbf {q}}={\mathbf {0}}\). Therein, \({\mathbf {e}}_{i}\) is a unit vector along the axis of joint

*i*, and \({\mathbf {s}}_{i}\) is the position vector to any point on that axis, both expressed in the global reference frame [24].

The relative motion of body \(l^{\prime \prime }\) w.r.t. to body \(k^{\prime }\) is thus given by \({\mathbf {C}}_{k^{\prime }}^{-1}{\mathbf {C}}_{l^{\prime \prime }}\). The cut-joint constrains this relative motion. For higher pair joints this is not a screw motion, in contrast to lower pairs where it can be expressed by the exponential of a cut-joint screw.

### 2.3 Translation constraints for higher pairs

The translation constraints restrict the relative displacement of a point on body \(k^{\prime }\) and a point on body \(l^{\prime \prime }\). In order to express this condition, the point coordinates must be expressed in a common reference frame. The location of a point is represented by homogenous point coordinates.

Denote with \({\mathbf {p}}_{k^{\prime }}\) and \({\mathbf {p}}_{l^{\prime \prime }}\) the position vector of a point fixed on the respective body expressed in the body-fixed reference frame \({\mathcal {F}}_{k^{\prime }}\) and \({\mathcal {F}}_{l^{\prime \prime }}\) (Fig. 2), and with \({{\overline{{\mathbf {p}}}}}_{k^{\prime }}=({\mathbf {p}}_{k^{\prime }}^{T},1)^{T}\) and \({{\overline{{\mathbf {p}}}}}_{l^{\prime \prime }}=({\mathbf {p}}_{l^{\prime \prime }}^{T},1)^{T}\) their homogenous point coordinates. The homogenous coordinates expressed in the global frame \({\mathcal {F}}_{0}\) are \({\mathbf {C}}_{k^{\prime }}{\overline{{\mathbf {p}}}}_{k^{\prime }}\) and \({\mathbf {C}}_{l^{\prime \prime }}{\overline{{\mathbf {p}}}}_{l^{\prime \prime }}\).

### *Remark 1*

The mapping \(\varepsilon _{{\mathbf {p}}}:{\mathbf {C}}\in SE\, (3) \mapsto {\mathbf {C{\overline{\mathbf {p}}}}}\in E^{3}\) is the *evaluation mapping* of \(SE\, (3)\) that describes how the transformation group \(SE\, (3)\) acts on the Euclidean space, i.e. how point coordinates transform under rigid body motion.

### 2.4 Orientation constraints for higher pairs

*C*. In total \(m\le 3\) such rotation constraints can be introduced. An exhaustive list of constraints for various joints can be found e.g. in [25, 26]. Clearly the above constraint formulations are also applicable to lower pair joints.

### *Example 1*

(*Hook Joint*) A hook (or universal) joint is a 2-DOF higher kinematic pair representing a Cardanic suspension (Fig. 3). It cannot be a lower kinematic pair since there is no 2-dim motion subgroup. It could actually be modeled as combination of two (lower pair) revolute joints, but it is here considered as higher pair. The joint imposes one orientation constraint (5): the two rotation axis must remain perpendicular. By convention, the body-fixed frames are usually oriented so that \({\mathbf {e}}_{k^{\prime }}\) is along the 1-axis of the body-fixed RFR \({\mathcal {F}}_{k^{\prime }}\) on body \(k^{\prime }\), and \({\mathbf {e}}_{l^{\prime \prime }}\) is along the 2-axis of the RFR \({\mathcal {F}}_{l^{\prime \prime }}\) on body \(l^{\prime \prime }\) [25, 26]. Then \({\mathbf {e}}_{k^{\prime }}={\mathbf {u}}_{1}\) and \({\mathbf {e}}_{l^{\prime \prime }}={\mathbf {u}}_{2}\), and the constraint requires the 1, 2-entry of the relative rotation matrix \({\mathbf {R}}_{k^{\prime }}^{T}{\mathbf {R}}_{l^{\prime \prime }}\) to vanish: \({\mathbf {u}}_{1}^{T}{\mathbf {R}}_{k^{\prime }}^{T}{\mathbf {R}}_{l^{\prime \prime }}{\mathbf {u}}_{2}=0\). The hook joint constrains the origin of the body-fixed frames to coincide. That is, \({\mathbf {p}}_{k^{\prime }}\) and \({\mathbf {p}}_{l^{\prime \prime }}\) are the location vectors of the intersection point of the joint axes. The \(m=3\) translation constraints (4) are thus simply \({\mathbf {d}}_{k\prime }\left( {\mathbf {q}}\right) ={\mathbf {0}}\). In total the hook joint imposes 4 constraints.

### *Example 2*

*Pin-in-Slot Joint*) A pin-in-slot joint is a 2-DOF higher kinematic pair restricting the relative motion of two bodies to a line while allowing for a relative rotation about a constant axis. Figure 4 shows a planar single-loop mechanism containing a pin-in-slot and two revolute joints. The pin-in-slot joint is used as cut-joint. The remaining \(n=2\) joint angles defined the parameter space \({{\mathbb {V}}}^{n}=T^{2}\). The pin-in-slot joint connects the coupler link \(l^{\prime \prime }=2\) of the 4-bar mechanism with the ground body \(k^{\prime }=0\). The global reference frame \({\mathcal {F}}_{0}\) is located at ground as shown in Fig. 4. The configuration of the ground is of course \({\mathbf {C}}_{0}\equiv {\mathbf {I}}\). The configuration \({\mathbf {C}}_{2}\) of link 2 is determined by \(f_{2}\left( {\mathbf {q}}\right) =\exp ({\mathbf {Y}}_{1}q_{1})\exp ({\mathbf {Y}}_{2}q_{2}){\mathbf {A}}_{2}\) with the joint screw coordinates

### *Remark 2*

It should be noticed that the solution of the \(m\le 3\) orientation constraints constructed with (5) is not unique. This is because the orthogonality relations do not enforce a specific direction of the unit vectors. These constraints are sufficient though as long as an admissible configuration is used for a local mobility analysis, or as initial configuration for the time integration in MBS dynamics. But when assembly configurations are determined numerically, it is common practice to impose \(m+1\le 4\) constraints. For instance, the additional constraint for the hook joint is \({\mathbf {u}}_{3}^{T}{\mathbf {R}}_{2}{\mathbf {u}}_{3}=1\).

## 3 Higher-order constraints for a kinematic loop

Repeated time derivatives of the constraints yield the corresponding constraints on the acceleration, jerk, jounce, etc. The above formulation of cut-joint constraints requires the time derivatives of the kinematic mappings (1) of the two lower pair chains. They become very complex. In order to handle this complexity a recursive formulation was presented in [16]. In this section they are employed to derive recursive formulations for the cut-joint constraints of higher pairs.

### 3.1 Time derivatives of the twist of the terminal bodies \(k^{\prime }\) and \(l^{\prime \prime }\)

The time derivative of the geometric constraints yields the velocity constraints for higher pairs. The orientation constraints (5) only involve the relative rotation matrix, whereas the translation constraints (4) involve the translation and orientation of the two interconnected bodies. This reflects the semidirect product structure of \(SE\,(3)\), meaning that derivatives of (5) involve only angular velocities, and those of (4) involve the complete relative twist. The recursive relations for the derivative of the relative twists are briefly summarized in the following.

### 3.2 Translation constraints for higher pairs

*i*th-order constraints are then of the form

In summary, the relation (18), together with (19), (15) and (16), provide a recursive algebraic expression for the *i*th time derivative of the relative displacement vector \({\mathbf {d}}_{k^{\prime }}\). This allows for a recursive determination of time derivatives of the constraints (4). The basic operation is the Lie bracket in (16).

### 3.3 Orientation constraints for higher pairs

*i*th time derivative is given by derivatives of the rotation matrices of body \(k^{\prime }\) and \(l^{\prime \prime }\)

## 4 Extension to multi-loop linkages

### 4.1 Linkage topology

Most mechanisms comprise multiple kinematic loops. The above formulation of higher pair cut-joint constraints for a single loop can be directly adopted to multi-loop mechanisms. To this end, topologically independent loops must be identified. The kinematic mechanism topology refers to the arrangement of links and joints. This is naturally described by a linear non-direct graph referred to as the *topological graph*, denoted \(\varGamma \left( B,J\right)\) [4, 15, 28]. The vertex set *B* represents the bodies, and the set of edges *J* represents the joints. In the following the basic description is recalled from [15], which provides a systematic approach. This serves to identify the kinematic loops for which the above constraints must be formulated.

Denote with \({\mathcal {G}}\subset \varGamma\) a spanning tree on \(\varGamma\), and with \({\mathcal {H}}=\varGamma \backslash {\mathcal {G}}\) its complement—the cotree. A fundamental cycle (FC) is a closed path containing exactly one edge of the cotree \({\mathcal {H}}\). The number of FCs is the cyclomatic number \(\gamma :=|J|-|B|+1\), with |*J*| being the of number joints, and |*B*| the number of bodies. In particular, \(|J|=n\) when assuming that all joints have 1 DOF. The \(\gamma\) FCs constitute a system of topologically independent loops for which closure constraints are to be introduced.

Bodies are indexed with \(\alpha ,\beta ,\ldots\) and denoted with \(B_{\alpha }\in B\). The ground is denoted \(B_{0}\). Joints are indexed with \(i,j,\ldots\) and denoted \(J_{i}\in J\). Each FC contains exactly one cotree edge. The FC containing the cotree edge \(J_{l}\in {\mathcal {H}}\) is denoted with \(\varLambda _{l}\). Figure 5 shows a two-loop mechanism, and its topological graph \(\varGamma\).

In \({\mathcal {G}}\) there is a unique path from any vertex (body) \(B_{\alpha }\) to \(B_{0}\) (ground). For a given \({\mathcal {G}}\), a root-directed tree is introduced, denoted with \({\mathcal {\mathbf {G}}}_{0}\), such that all edges are oriented away from the ground (see Fig. 5e). Edges of \({\mathcal {\mathbf {G}}}_{0}\) are directed and represented by ordered pairs of vertices, i.e. bodies.

Let \(B_{\alpha }\) and \(B_{\beta }\) be connected by a tree-joint. Then body \(B_{\beta }\) is the *direct predecessor* of \(B_{\alpha }\), if \(\left( B_{\beta },B_{\alpha }\right) \in {\mathcal {\mathbf {G}}}_{0}\). \(B_{\beta }\) is the source and \(B_{\alpha }\) the target of the edge. This is denoted as \(\beta =\alpha -1\). Joint \(J_{j}\) is the *direct predecessor* of \(J_{i}\), if the target of \(J_{j}\) is the source of \(J_{i}\), i.e. \(J_{j}=\left( \cdot ,B_{\alpha }\right) \in {\mathcal {\mathbf {G}}}_{0}\) and \(J_{i}=\left( B_{\alpha },\cdot \right) \in {\mathcal {\mathbf {G}}}_{0}\). This is denoted as \(j=i-1\). Joint \(J_{j}\) is a *predecessor* of \(J_{i}\), if there is a finite *k*, such that \(j=i-1-1\ldots -1\) (*k* times). This is expressed as \(j=i-k\). Being a predecessor is indicated by \(j<i\).

The tree-joint that connects \(B_{\alpha }\) with its predecessor is denoted with \(J\left( \alpha \right)\). The last joint of the chain from \(B_{\alpha }\) within the tree that connects to the ground \(B_{0}\) is denoted with \(J_{\mathrm{root}}\left( \alpha \right)\).

An edge of \(\varGamma\) is a tuple \(J_{i}=\left( B_{a},B_{b}\right)\) indicating that joint *i* connects bodies *a* and *b*. To indicate orientation of the joints, i.e. the meaning of relative joint motions, an oriented graph \(\mathbf {\varGamma }\) is introduced. If \(J_{i}=\left( B_{\beta },B_{\alpha }\right) \in \mathbf {\varGamma }\), then joint \(J_{i}\) determines the motion of \(B_{\alpha }\) w.r.t. \(B_{\beta }\), and \(B_{\alpha }\) is the target and \(B_{\beta }\) the source of the arc. This is represented by an arrow as in Fig. 5d.

### 4.2 Geometric constraints

*Translation constraints*Denote with \({\mathbf {p}}_{l,\alpha }\) and \({\mathbf {p}}_{l,\beta }\) the position vector of points at \(B_{\alpha }\) and \(B_{\beta }\), respectively expressed in \({\mathcal {F}}_{\alpha }\) and \({\mathcal {F}}_{\beta }\), whose relative displacement is constrained by the cut-joint \(J_{l}\). The relative displacement expressed in the global frame is \({\overline{{\mathbf {d}}}}_{l}:={\mathbf {C}}_{\alpha }{\overline{{\mathbf {p}}}}_{l,\alpha }-{\mathbf {C}}_{\beta }{\overline{{\mathbf {p}}}}_{l,\beta }\). Transformed into the RFR on \(B_{\beta }\) this is

*Orientation constraints*An orientation constraint for \(J_{l}\) imposes a restriction on the relative rotation. Denote with \({\mathbf {e}}_{l,\alpha }\) and \({\mathbf {e}}_{l,\beta }\), specified unit vectors, fixed at \(B_{\alpha }\) and \(B_{\beta }\) and represented in \({\mathcal {F}}_{\alpha }\) and \({\mathcal {F}}_{\beta }\), respectively. The constraint is introduced as

### *Example 3*

*Pin-in-Slot Joint, cont.*) The mechanism in Fig. 5 comprises two FCs, \(\varLambda _{3}\) and \(\varLambda _{5}\) with cut-joints \(J_{3}\) and \(J_{5}\), respectively. The remaining \(n=3\) joint angles \(q_{1},q_{2},q_{4}\) define the parameter space \({{\mathbb {V}}}^{n}=T^{3}\). The joint orientations (indicated by \(\mathbf {\varGamma }\) in Fig. 5d) are such that \(\sigma \left( i\right) =1\) for all

*i*. This is in accordance with Example 2. The higher pair \(J_{3}=\left( B_{0},B_{2}\right)\) connects \(B_{0}\) and \(B_{2}\), and the corresponding constraints are formulated in terms of \({\mathbf {C}}_{0}\) and \({\mathbf {C}}_{3}\) (Fig. 6). The translation and orientation constraints are thus the two constraints (8) and (10), determined with \({\mathbf {C}}_{0}={\mathbf {I}}\) and \(f_{2}\left( {\mathbf {q}}\right)\) in Example 2. The lower pair revolute joint \(J_{5}=\left( B_{0},B_{3}\right)\) connects \(B_{0}\) and \(B_{3}\). For sake of simplicity, the RFR \({\mathcal {F}}_{3}\) on link \(B_{3}\) is located at the axis of \(J_{5}\) so that \(A_{3}=({\mathbf {I}},(a,0,0)^{T})\). The configuration of \(B_{3}\) is determined by \(f_{3}\left( {\mathbf {q}}\right) =\exp ({\mathbf {Y}}_{1}q_{1})\cdot \exp ({\mathbf {Y}}_{2}q_{2})\cdot \exp ({\mathbf {Y}}_{4}q_{4}){\mathbf {A}}_{3}\) with the joint screw coordinates in (6) and

### 4.3 Higher-order constraints

*Relative twists*The spatial twist of \(B_{\alpha }\) is again a linear combination of the instantaneous joints screws in terms of joint rates

*Translation constraints*The relations of Sect. 3.2 are directly applicable. The time derivative of the relative position vector is

*Orientation constraints* The relations for the orientation constraints in Sect. 3.3 can also be adopted directly and are omitted here.

### *Remark 4*

Finally it must be remarked that the FCs are not unique. Using different systems of FCs results in different loop constraints. The FCs must be introduced such that each FC contains at most one higher pair.

## 5 Higher-order mechanism analysis

### 5.1 Problem statement

The motivation for deriving the above recursive relations for the time derivatives is to provide a computationally efficient means for the local kinematic analysis of mechanisms comprising lower pairs and one higher pair per FC. This allows to investigate the mobility, identify singularities and motion bifurcation and reconfiguration, and to assess the shakiness of a mechanism. A local analysis aims at determining the higher-order, and eventually the finite, mobility of a mechanism in a given configuration.

*V*at a configuration \({\mathbf {q}}\in V\) reveals the finite local mobility. A local analysis hence attempts to approximate the local geometry of

*V*. The first-order approximation of

*V*is its tangent space \(T_{{\mathbf {q}}}V\). This is indeed sufficient if

*V*is a smooth manifold, i.e. \({\mathbf {q}}\) is a regular point of

*V*. At any general (singular or regular) point \({\mathbf {q}}\in V\), the best local approximation is the tangent cone [27], denoted with \(C_{{\mathbf {q}}}V\). Whereas \(T_{{\mathbf {q}}}V\) consists of tangent vectors to

*V*, the tangent cone consists of tangent vectors to curves in

*V*through \({\mathbf {q}}\). It is hence the restriction of tangent vectors \({\mathbf {x}}\in T_{{\mathbf {q}}}V\) to those that are tangent to finite motions represented by curves in the c-space. It thus provides a local model of

*V*, and in particular its local dimension \(\delta _{\mathrm{loc}}\left( {\mathbf {q}}\right) :=\dim _{{\mathbf {q}}}V=\dim C_{{\mathbf {q}}}V\) is the local DOF at \({\mathbf {q}}\in V\).

The concept of tangent cone has been first applied to the analysis of lower pair linkages in [11] that was continued in [18]. There the tangent cone was introduced via higher-order closure constraints, which allows for its actual determination thanks to lower pair loop constraints using the POE formulation. A summary of the computational procedure can be found in [17]. While the tangent cone provides a mathematical framework, higher-order constraints have been used for mobility analysis without resorting to this concept, e.g. [3, 5]. In particular, the closed form expressions of derivatives in term of Lie brackets for linkage with lower pairs have been reported and applied in [2, 6, 22]. Mechanisms with higher pair joints have not yet been addressed. The above higher-order constraints now allow for a higher-order analysis of mechanisms with higher pairs while exploiting the recursive form of the derivatives of lower pair chains. It is common practice to assign the variables \({\mathbf {q}}={\mathbf {0}}\) to the configuration to be analyzed. Then, \({\mathbf {C}}_{l^{\prime \prime }}={\mathbf {A}}_{l^{\prime \prime }}\) and \({\mathbf {C}}_{k^{\prime }}={\mathbf {A}}_{k^{\prime }}\) in (2) and (17), and the instantaneous joint screw coordinates in (15), (16), and (19) are simply the joint screw coordinates in the reference configuration, i.e. \({{\mathbf {S}}_{i^{\prime }}}={\mathbf {Y}}_{i^{\prime }}\), respectively in (31).

### 5.2 Computational procedure

*i*. With increasing

*i*, this yields the set of first-order motion that correspond to finite motions satisfying the geometric constraints. To this end, introduce the following mappings

*i*are hence

*i*is

- 1.The first-order cone \(K_{{\mathbf {q}}}^{1}\) (null space of the constraint Jacobian) is not necessarily the tangent space to
*V*at \({\mathbf {q}}\). The tangent space is equal to the tangent cone if and only if, \({\mathbf {q}}\in V\) is a regular point of*V*. The tangent space is known once the tangent cone is determined, sinceA configuration \({\mathbf {q}}\) is a$$\begin{aligned} T_{{\mathbf {q}}}V={\mathrm {span}}\,\, C_{{\mathbf {q}}}V. \end{aligned}$$(40)*c-space singularity*iff*V*is not a manifold at \({\mathbf {q}}\), i.e. iff \(T_{{\mathbf {q}}}V\ne C_{{\mathbf {q}}}V\). Since in general \(T_{{\mathbf {q}}}V\subset K_{{\mathbf {q}}}^{1}\), this cannot be deduced by comparing \(K_{{\mathbf {q}}}^{1}\) and \(C_{{\mathbf {q}}}V\). However, once the tangent cone is available, also the tangent space is known. Moreover, with (40), \({\mathbf {q}}\in V\) is a c-space singularity iff \(C_{{\mathbf {q}}}V\ne {\mathrm {span}}~C_{{\mathbf {q}}}V\). This can actually be checked with the proposed computational method. For completeness it should be mentioned that (in contrast to the common belief) even in regular points \({\mathbf {q}}\) of*V*the dimension \(\dim K_{{\mathbf {q}}}^{1}\) may not be locally constant (i.e. \({\mathbf {q}}\) is a constraint singularity [19]). That is, the number of independent constraints may drop at \({\mathbf {q}}\) even if*V*is locally a smooth manifold at \({\mathbf {q}}\) (see the Goldberg 6R example in [17]). - 2.
The cone \(K_{{\mathbf {q}}}^{i}\) consists of feasible

*i*th-order motions. The dimension \(\dim K_{{\mathbf {q}}}^{i}\) is referred to as the*i**th-order DOF*of the mechanism at \({\mathbf {q}}\) [17]. This is an infinitesimal DOF, iff \(K_{{\mathbf {q}}}^{i}\ne {C_{{\mathbf {q}}}V}\). If \({C_{{\mathbf {q}}}V}=K_{{\mathbf {q}}}^{\kappa }\) for \(\kappa >1\), then the linkage is called*shaky of order*\(i=\kappa -1\) at \({\mathbf {q}}\in V\). If \({\mathbf {q}}\) is a regular configuration, the mechanism is called*underconstrained*. - 3.
The inclusion in (39) is not strict. This is a critical point for the actual analysis since it is consequently not sufficient to increase the order until \(K_{{\mathbf {q}}}^{i}=K_{{\mathbf {q}}}^{i-1}\). Moreover, the sufficient order \(\kappa\) for a general mechanism is yet unknown.

### *Remark 5*

A remark on the actual computation is in order. The mappings \(H^{\left( i\right) }\left( {\mathbf {q}},{\mathbf {x}},{\mathbf {y}},\ldots \right)\) in (38) are polynomials of order *i* in \({\mathbf {x}}\), of order \(i-1\) in \({\mathbf {y}}\), etc. The \({\mathbf {x}}\) satisfying the conditions in (38) are determined by eliminating \({\mathbf {y}},{\mathbf {z}},\ldots\), etc. This is easily achieved symbolically invoking computer algebra software (e.g. Mathematica, Maple, Maxima). This is the actual advantage of the proposed method since the variety is locally replaced an algebraic variety of low degree.

### *Example 4*

*Pin-in-Slot Joint, cont.*) The planar mechanism in Fig. 5 is considered as the first example. The mechanism consists of a 4-bar linkage (bodies 0, 1, 2, 3) whose coupler point (at center of link 2) is restricted by the pin-in-slot higher pair joint so to move on a straight line. The geometry of the 4-bar linkage is set according to the parameters \(a=3,b=1,d=4\sqrt{3}\). Then its coupler curve is a sextic [10], i.e. it approximates a straight line up to order 5. Restricting the vertical coupler motion to the horizontal line yields an immobile but shaky linkage. The two FCs are chosen as in Fig. 5c. The configuration of the tree-topology system is described by the \(n=3\) joint angles \(q_{1},q_{2},q_{4}\). The corresponding geometric constraints were derived in Sects. 2 and 3. The cut-joints only impose translation constraints. For the FC \(\varLambda _{3}\) the geometric constraint is (8), with constraint mapping \(h_{3}\left( {\mathbf {q}}\right) :=(a+b)s_{1}+dc_{1}-bs_{12}-d\). The first two equations in (29) are the constraints for the FC \(\varLambda _{5}\) with constraint mapping

*joint screw coordinates in the reference configuration*\({\mathbf {q}}_{0}={\mathbf {0}}\)

*in*Fig. 5a, expressed in the world frame on \(B_{0}\), are

*regular*(generally any configuration \({\mathbf {q}}\in V\) with \(\dim _{{\mathbf {q}}}V=0\) is by definition regular). The mechanism can perform 1-dimensional 5th-order motions according to (42) while being immobile. That is, it is shaky with order 5. Since \({\mathbf {q}}_{0}\) is regular and \(\delta _{\mathrm{diff}}\left( {\mathbf {q}}_{0}\right) \ne \delta _{\mathrm{loc}}\left( {\mathbf {q}}_{0}\right)\) the mechanism is

*underconstrained*. This is an example where \(K_{{\mathbf {q}}_{0}}^{1}\ne T_{{\mathbf {q}}_{0}}V\), i.e. where the tangent space is not simply the null-space of the constraint Jacobian. This result was to be expected since the coupler curve of the 4-bar linkage is a sextic and the pin of the pin-in-slot joint performs a straight line motion up to order 5, but is confined by the higher pair so to move on a straight line. More on shakiness can be found in [17, 29].

### *Example 5*

*Spherical mechanism with ‘in-line’ joint*) The last example is the single-loop mechanism in Fig. 7. It consists of three revolute (lower pair) joints and an higher pair ’in-line’ joint. The latter constraints the relative translation to a line while not constraining the relative rotation. The three revolute joint axes intersect in one point so that the kinematic chain formed by joints 1, 2, 3 is a spherical linkage. The in-line joint 4 is used as cut-joint connecting bodies \(k^{\prime }=2\) and \(l^{\prime \prime }=3\). The cut-joint joint constraints are imposed on the remaining joint variables \({\mathbf {q}}=\left( q_{1},q_{2},q_{3}\right)\). The RFRs \({\mathcal {F}}_{k^{\prime }}\) and \({\mathcal {F}}_{l^{\prime \prime }}\) are at the center of the respective link as shown in Fig. 7. Shown is the reference configuration with \({\mathbf {q}}={\mathbf {0}}\). All four links have the same length

*L*. The world frame \({\mathcal {F}}_{0}\) is located at the center of link 0, which is regarded as ground. The screw coordinates of the revolute joints represented in \({\mathcal {F}}_{0}\) are

*V*are then \(h\left( {\mathbf {q}}\right) ={\mathbf {0}}\), with

*i*th-order constraints is then

*V*, and \({\mathbf {q}}_{0}\) is a regular configuration. The local mobility of the mechanism is thus \(\delta _{\mathrm{loc}}\left( {\mathbf {q}}_{0}\right) =\dim C_{{\mathbf {q}}_{0}}V=1\). This mechanism merely functions as a spherical mechanism despite the presence of a higher pair joint. Moreover, with the in-line joint the mechanism is not overconstrained. This is in contrast to the spherical 4-bar linkage (replacing the higher pair by another revolute joint whose axis intersects at the same point as the three revolute axes) that can be considered as being overconstrained since the closure constraints are redundant.

## 6 Conclusion

Any approach to determine the mobility of a holonomic mechanism requires the geometric constraints that the bodies are subjected to. Moreover, they must be formulated such that they can be evaluated efficiently. Since there is no general method to establish the global mobility, or to make global statements about the local finite mobilities, the mobility determination must generally resort to a local analysis. This relies on the higher-order constraints, i.e. the time derivatives of the geometric constraints (acceleration, jerk, jounce, etc. constraints). Approaches to the higher-order local mobility analysis for linkages comprising lower pair joints have been reported, and recently a recursive method was introduced that applies to general lower pair linkages. For such linkages the geometric loop constraints are given by the product of exponentials (POE), and the velocity constraints in terms of the instantaneous joint screws. Also the higher-order constraints are determined recursively by means of screw products of the instantaneous joint screws.

In this paper the higher-order mobility determination and the necessary constraints have been addressed for mechanisms with higher kinematic pairs. The formulation applies to general higher kinematic pairs defining bilateral geometric constraints. The formulation accounts for general higher pairs defining bilateral constraints, including cams. A recursive formulation for the time derivatives of the loop constraints is introduced for kinematic loops that contain one higher pair. To this end, the higher pair is removed and corresponding constraints are imposed. The remaining open kinematic chains contain only lower pairs. This gives rise to a recursive and computationally simple formulation of higher-order constraints. The basic operation involved is the screw product (Lie bracket), which is an extremely simple algebraic operation. For better accessibility, the formulation is first derived for a single loop and then generalized to multi-loop mechanisms.

This provides the basis for the local mobility analysis of higher pair mechanisms. A computational approach is introduced using the recursive constraint formulation. It allows for determination of the finite local mobility as well as for singularity analysis. This generally applicable approach complements the existing method for lower pair linkages. The method is applied to an immobile but shaky planar mechanism exhibiting 5th-order infinitesimal motion and to a spherical mechanism comprising an in-line higher pair joint, as examples. It should finally be mentioned that the higher-order mobility analysis in Sect. 5 is a self-contained concept applicable as long as the higher-order constraints are available (not necessarily using the recursive formulation in Sect. 3).

## Notes

### Acknowledgments

Open access funding provided by Johannes Kepler University Linz. The author acknowledges partial support of this work by the Austrian COMET-K2 program of the Linz Center of Mechatronics (LCM).

## References

- 1.Brockett RW (1984) Robotic manipulators and the product of exponentials formula. In: Mathematical theory of networks and systems. Lecture notes in control and information sciences, vol 58. pp 120–129Google Scholar
- 2.Cervantes-Sánchez JJ et al (2009) The differential calculus of screws: theory, geometrical interpretation, and applications. Proc Inst Mech Eng Part C J Mech Eng Sci 223:1449–1468CrossRefGoogle Scholar
- 3.Chen C (2011) The order of local mobility of mechanisms. Mech Mach Theory 46:1251–1264CrossRefzbMATHGoogle Scholar
- 4.Davies TH (1981) Kirchhoff’s circulation law applied to multi-loop kinematic chains. Mech Mach Theory 16(3):171–183CrossRefGoogle Scholar
- 5.de Bustos IF et al (2012) Second order mobility analysis of mechanisms using closure equations. Meccanica 47(7):1695–1704MathSciNetCrossRefzbMATHGoogle Scholar
- 6.Gallardo-Alvarado J, Rico-Martinez JM (2001) Jerk influence coefficients, via screw theory, of closed chains. Meccanica 36(2):213–228CrossRefzbMATHGoogle Scholar
- 7.Hervé JM (1978) Analyse structurelle des mécanismes par groupe des déplacements. Mech Mach Theory 13:437–450CrossRefGoogle Scholar
- 8.Hervé JM (1982) Intrinsic formulation of problems of geometry and kinematics of mechanisms. Mech Mach Theory 17(3):179–184CrossRefGoogle Scholar
- 9.Hiller M (1995) Multiloop kinematic chains. In: Angeles J, Kecskemethy A (eds) Kinematics and dynamics of multi-body systems, CISM COURSES AND LECTURES No. 360, pp 75–166Google Scholar
- 10.Jank W (1978) Symmetrische Koppelkurven mit sechspunktig ber ührendem Scheitelkrümmungskreis. Z Angew Math Mech (ZAMM) 58:37–43CrossRefzbMATHGoogle Scholar
- 11.Lerbet J (1999) Analytic geometry and singularities of mechanisms. ZAMM Z Angew Math Mech 78(10b):687–694MathSciNetzbMATHGoogle Scholar
- 12.Müller A (2009) Generic mobility of rigid body mechanisms. Mech Mach Theory 44(6):1240–1255CrossRefzbMATHGoogle Scholar
- 13.Müller A (2014) Higher derivatives of the kinematic mapping and some applications. Mech Mach Theory 76:70–85CrossRefGoogle Scholar
- 14.Müller A (2014) Derivatives of screw systems in body-fixed representation. In: Lenarcic J, Khatib O (eds) Advances in robot kinematics (ARK). Springer, Berlin, pp 123–130CrossRefGoogle Scholar
- 15.Müller A (2015) Representation of the kinematic topology of mechanisms for kinematic analysis. Mech Sci 6:1–10CrossRefGoogle Scholar
- 16.Müller A (2016) Recursive higher-order constraints for linkages with lower kinematic pairs. Mech Mach Theory 100:33–43CrossRefGoogle Scholar
- 17.Müller A (2016) Local kinematic analysis of closed-loop linkages–mobility, singularities, and shakiness. ASME J Mech Robot 8:041013–1CrossRefGoogle Scholar
- 18.Müller A, Rico JM (2008) Mobility and higher order local analysis of the configuration space of single-loop mechanisms. In: Lenarcic JJ, Wenger P (eds) Advances in robot kinematics. Springer, Berlin, pp 215–224Google Scholar
- 19.Müller A, Zlatanov D (2015) Kinematic singularities of mechanisms revisited. In: IMA conference on mathematics of robotics (IMAR), Oxford, UK, 9–11 September 2015Google Scholar
- 20.Rico JM, Cervantes-Sánchez JJ, Gallardo J (2008) Velocity and acceleration analyses of lower mobility platforms via screw theory. In: 32nd ASME mechanisms and robotics conference, Brooklyn, NY, 3–6 August 2008Google Scholar
- 21.Rico Martinez JM, Ravani B (2003) On mobility analysis of linkages using group theory. ASME J Mech Des 135:70–80CrossRefGoogle Scholar
- 22.Rico JM, Gallardo J, Duffy J (1999) Screw theory and higher order kinematic analysis of open serial and closed chains. Mech Mach Theory 34(4):559–586MathSciNetCrossRefzbMATHGoogle Scholar
- 23.Samin J-C, Fisette P (2003) Symbolic modeling of multibody systems. Springer, NetherlandsCrossRefzbMATHGoogle Scholar
- 24.Selig J (2005) Geometric fundamentals of robotics (monographs in computer science series). Springer, New YorkGoogle Scholar
- 25.Shabana AA (2005) Dynamics of multibody systems, 3rd edn. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
- 26.Uicker JJ, Ravani B, Sheth PN (2013) Matrix methods in the design analysis of mechanisms and multibody systems. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
- 27.Whitney H (1965) Local properties of analytic varieties, differential and combinatorial topology. Princeton University Press, PrincetonzbMATHGoogle Scholar
- 28.Wittenburg J (2008) Dynamics of multibody systems, 2nd edn. Springer, BerlinzbMATHGoogle Scholar
- 29.Wohlhart K (2010) From higher degrees of shakiness to mobility. Mech Mach Theory 45(3):467–476CrossRefzbMATHGoogle Scholar
- 30.Zhou YB, Buchal RO, Fenton FG, Tan FR (1995) Kinematic analysis of certain spatial mechanisms containing higher pairs. Mech Mach Theory 30(5):705–720CrossRefGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.