Solving the double-banana rigidity problem : a loop-based approach

Rigidity detection is an important tool for structural synthesis of mechanisms, as it helps to unveil possible sources of inconsistency in Grübler’s count of degrees of freedom (DOFs) and thus to generate consistent kinematical models of complex mechanisms. One case that has puzzled researchers over many decades is the famous “double-banana” problem, which is a representative counter-example of Laman’s rigidity condition formula for which existing standard DOF counting formulas fail. The reason for this is the body-by-body and joint-by-joint decomposition of the interconnection structure in classical algorithms, which does not unveil structural isotropy groups for example when whole substructures rotate about an “implied hinge” according to Streinu. In this paper, a completely new approach for rigidity detection for cases as the “double-banana” counterexample in which bars are connected by spherical joints is presented. The novelty of the approach consists in regarding the structure not as a set of joint-connected bodies but as a set of interconnected loops. By tracking isolated DOFs such as those arising between pairs of spherical joints, rigidity/mobility subspaces can be easily identified and thus the “double-banana” paradox can be resolved. Although the paper focuses on the solution of the double-banana mechanism as a special case of paradox bar-and-joint frameworks, the procedure is valid for general body-and-joint mechanisms, as is shown by the decomposition of spherical joints into a series of revolute joints and their rigid-link interconnections.


Introduction
Rigidity detection has attracted researchers in the field of robotics and mechanisms since many decades, as it is a necessary component in the creative automatic synthesis of mechanisms (Ding et al., 2012), the processing of CADgenerated models (Lee, 2008;Moinet et al., 2014), the analysis of flexibility and dynamics of proteins (Jacobs et al., 2002), and others.The problem is (1) to identify whether a mechanism contains substructures with negative DOF (socalled "degenerate chains"), and if so, (2) to detect the parts forming those (over-) rigid substructures, such that their negative DOF do not illicitly cancel out positive DOF in other parts of the structure (Fig. 1).
Based on Laman's theorem (Laman, 1970), many algorithms were proposed to detect the rigidity for both planar and simple spatial mechanisms.Tay addressed the detection of rigidity for rigid bodies connected by bars represented by multi-graphs using screw-theory based constraints (Tay, 1984).Agrawal and Rao analyzed and determined the mobility of kinematic chains with fractionated DOFs (Agrawal and Rao, 1987).Based on the SE(3) displacement groups, Fanghella and Galletti analyzed the mobility properties of single-loop kinematic chains by regarding the connectivity between any two links in a chain and the invariant properties of the displacement group of their relative motion (Fanghella and Galletti, 1994).Hwang and Hwang presented a loopdecreasing method for the detection of rigid subchains of rigid planar kinematic chains (Hwang and Hwang, 1991).But according to Sunkari and Schmidt, it fails to detect some of the degenerate chains (Sunkari and Schmidt, 2005).Lee and Yoon proposed a method that involved deleting binary chains in turn to simplify the chain for rigid subchain detection, which is applicable to planar kinematic chains whose corresponding graph representations are planar or nonpla- nar (Lee and Yoon, 1992).Sunkari adopted Lee and Yoon's method to detect rigid subchains in the structural analysis and synthesis of planar and spatial mechanisms satisfying Gruebler's DOF equation (Sunkari, 2006).Tuttle obtained basic rigid chains with 7 or fewer links, and then attempted to use these chains to identify rigid subchains in systems with more links (Tuttle, 1996).But with increasing complexity, this method can hardly be applied to mechanisms with more than 10 links.Moukarzel adopted the description of a system as a collection of rigid bodies connected by bars to improve efficiency of rigidity detection (Moukarzel, 1996).In the context of material sciences, Jacobs and Hendrickson developed a graph-based algorithm for detecting overconstrained regions and rigid clusters of two-dimensional networks (Jacobs and Hendrickson, 1997).Another method used for structural analysis is the ear decomposition which originates from the work of Robbins and Whitney (Robbins, 1939;Whitney, 1932) for which a mechanism is decomposed by sequentially removing a sequence of "ears", i.e. serial chains with internal binary bodies connected at their endpoints to bodies of at least degree two, from the graph.Franzblau generalized this approach to chains including cycles and bridges, and by successively analyzing the subsystems using theorems based on the rigidity matrix, he was able to determine the minimal and maximal boundaries for the degrees of freedom for a given bar-and-joint framework (Franzblau, 1999(Franzblau, , 2000)), however without providing an explicit DOF count formula.
A further approach is the use of matroids for determining globally rigid substructures (Servatius and Servatius, 2010).This method is very powerful for planar systems but has not been fully extended yet to spatial mechanisms.Moreover, the methodology is based on bar-frameworks whose generalization to kinematical joints is still a pending problem.Lee, Streinu and Theran as well as Chubynsky and Thorpe used combinatorial approaches like the pebble game algorithm to analyze rigidity (Lee et al., 2005(Lee et al., , 2008;;Chubynsky and Thorpe, 2007;Streinu and Theran, 2008).Shai, Servatius, Sljoka, Whiteley, and Müller focused on the decomposition of mechanisms into Assur components for mobility analysis (Servatius et al., 2010;Sljoka et al., 2011;Shai et al., 2013;Shai and Müller, 2013).Michelucci and Foufou proposed the Figure 2. The "double-banana" mechanism.
"witness" method in which infinitesimal mobility is analyzed by evaluating the rank of the Jacobian at a given position of a given parametrization of the mechanism (Michelucci and Foufou, 2009).A method based on an independent loop set was presented by Ding, Huang, and Mu (Ding et al., 2008).The method was used to detect and then delete kinematic chains containing rigid subchains in the structural synthesis of planar simple and multiple-joint kinematic chains, but is not able to localize the minimal rigid substructures.More recently, Xia, Ding and Kecskeméthy presented a novel loop-based method for identifying rigid or over-rigid planar, spherical, spatial or mixed subsystems based on the kinematical network (Xia et al., 2012).The advantage of this method is that the mobility counts can be made separately within each loop and then assembled together at the level of relative kinematics (i.e.joint motions), such that mobility of hybrid systems containing substructures moving relatively to each other in different subspaces of SE(3) can be determined appropriately (for example when a planar four-bar mechanism is embedded in a spatial structure).The loop-based approach was verified in Xia et al. (2012) for planar systems, and is extended here to 3-D systems, including spherical-spherical bars.This shows that the loop-based method is suitable also for revolving paradox 3-D bar-and-joint framework cases.
(a) Recursively solvable system (b) Non-recursively solvable system Mapping of mechanisms to kinematical networks.

The "double-banana" case
Although many rigidity detection algorithms have been provided to date, an automatic finite-mobility rigidity detection algorithm for systems involving "implied hinges" (see below) such as the famous "double-banana" case shown in Fig. 2, to the knowledge of the authors has not been reported so far.The "double-banana" consists of 18 bars connected at 8 nodes which can be interpreted as (multiple) spherical joints.If we give each node 3 DOFs and subtract one constraint per bar, then the Grübler count gives DOF = 0, thus suggesting that the structure is rigid.However, one can clearly "see" in Fig. 2 that the "double-banana" structure consists of two rigid bipyramids, one at the left and one at the right, which are coupled together by two spherical joints (A and B).Thus, the segment AB is an "implied hinge" (Cheng et al., 2009) about which the two halves can rotate with respect to each other, while the longitudinal direction along this edge is over-constrained with DOF = −1.This implied DOF remains also undetected by the famous test equation for rigidity according to Maxwell's rule proposed in (Maxwell, 1864), which states that a statically and kinematically determined framework with b bars and j joints follows the equation b = 3j − 6. (1) It is obvious that a bipyramid (single banana), with 9 bars and 5 joints (correctly) satisfies the condition of the Maxwell's rule.However, also the "double-banana" structure obeys the Maxwell's rule, although it is obviously not rigid.Thus, this structure is a classical (non-trivial) example of a mechanism satisfying Maxwell's rule of a statically and kinematically determined framework, but which is nevertheless generically able to move, and which has thus attracted considerable attention in literature: Fowler analyzed the symmetry of the structure and presented the result of the symmetry of multiple banana mechanisms (Fowler and Guest, 2002); Cheng, Sitharam, and Streinu studied the rigidity of the 3-D struc-F.Simroth et al.: Solving the double-banana rigidity problem: a loop-based approach ture with the "double-banana" as an example (Cheng et al., 2009), and Rojas proposed the "double-banana" closure conditions as a paradigm for position analysis in robots (Rojas and Thomas, 2013).The cause for the "double-banana" paradox is that there exist "isolated" DOFs in the mechanism (e.g. the bar spin between two spherical joints) which create an own level of transmission kinematics, and which thus need to be tracked in order to be able to detect which substructures are rigid and which are movable.We propose in this paper a novel procedure for tracking such isolated DOFs by using an alternative method for describing kinematical interdependencies, called the "kinematical network" (Kecskeméthy, 1993), in which the mechanism is regarded not as a system of connected bodies, but as a system of interconnected kinematical loops.A kinematical loop can be regarded as a closed chain of bodies which corresponds to an elementary cycle in a graph theoretical sense.If the underlying graph of the mechanism is not at least 2-edge-connected, i.e. it contains bridges or is separated, the graph first is dissected into its 2-edge-connected components, called clusters, for which the loop decomposition algorithm is applied separately.Of course, rigidity needs to be detected only within each cluster, as non-connected or 1-edge-connected clusters can never reduce the DOF in comparison with the sum of their internal DOFs.In the following, the method of "kinematical network" is briefly reviewed here for better understanding of the present paper, and then our novel rigidity-detection procedure for "double-banana" types of mechanisms is elucidated.

Description of mechanisms as kinematical networks
The concept of mechanism description using a network of linearly connected loops was introduced in (Kecskeméthy, 1993), and a fully automatic implementation in the symbolic formula manipulation software Mathematica for general planar, spherical, translational and spatial cases is described in (Kecskeméthy et al., 1997).The following planar examples are used for illustration of the method, but the concepts apply one-to-one also to spatial cases.In this approach, as a first step, a minimal cycle basis comprising a set of smallest independent loops L i of the mechanism is determined, where "length" is measured in terms of the number of involved joint variables.According to the Euler cyclomatic number, the number n L of independent loops is given by where n B is the number of bodies including the ground frame, and n G is the number of binary joint connections.For example, for Fig. 3a one has n B = 10 and n G = 13 and thus n L = 4, while for Fig. 3b it holds n B = 12 and n G = 16, and thus n L = 5.Each loop is first regarded independently of the others, and its local degree of freedom f L i is determined, which is the number of loop joint coordinates minus the dimension of the subgroup of Euclidean motion in which the bodies of the loop locally move (spatial, planar, spherical, translational, etc.).
As the next step, the coupling conditions between the loops are determined.These arise exactly at those joints in which the number of incident loops is equal to or larger than the number of incident bodies and correspond to a balance of inner joint coordinates of the incident loops and some constants.More precisely, if a joint G i connects n B (G i ) bodies, then the bodies at the joint G i can move with [ n B (G i )−1 ]•k relative degrees of freedom with respect to each other, where k is the dimensionality of the joint G i , e.g.k = 1 for a revolute joint or k = 3 for a spherical joint.Thus if n L (G i ) loops are incident at joint G i , the relative joint variables introduced independently of each other in each loop at that joint must fulfill balance equations, which therefore yields uniquely the number of coupling conditions at that joint (Kecskeméthy, 1993).For example, in joint A of Fig. 3a, there are two incident loops and two incident bodies, yielding one coupling equation.This corresponds to the condition that the sum of joint coordinates β 12 and β 21 plus a constant is equal to 360 • , yielding a linear coupling between the loops L 1 and L 2 .Note that for n C > k, while the number of coupling conditions is unique, the choice of the balance conditions is non-unique, as any set of combinations of admissible balance conditions gives again a suitable balance condition.
The thus connected loops form the so-called "undirected kinematical network" in which the loops represent local nonlinear transmission elements and the couplings between the loops represent the global interrelationships.From the kinematical network, the DOF can be obtained as the sum of local DOFs of all loops minus the sum of loop coupling conditions.In Fig. 3a, there are four four-bar loops with local DOF = 1 each, and three loop coupling conditions.Thus the overall DOF is 1.In Fig. 3b, there are five four-bar loops with local DOF = 1 each, and four loop coupling conditions, thus the global DOF is again 1.This shows that the DOF counting over the loops and their couplings is fully equivalent to the usual Grübler count, giving a new and consistent type of Grübler DOF formula.Note however that here, in contrast to the classical Grübler count, one can easily combine planar, spherical, and spatial loops.
After having established the undirected kinematical network, the next step is to orient the edges and to prescribe external inputs such that each loop can be computed as a function of outputs of previous loops and/or of the external inputs, and that no closed cycles occur.The thus ensuing oriented kinematical network is termed the "solution flow".The external inputs can be "true" DOFs, or auxiliary "pseudo" inputs are needed when the structure has no recursive solution flow and there will remain some implicit constraints to be solved iteratively.An advantage of the kinematical network is that one can easily recognize recursively solvable substructures by the so-called sink method (Kecskeméthy, 1993): here, one searches iteratively for elements in the kinematical network for which the number of edges is less than or equal to the local degree of freedom of the element.After finding such an element, all edges are oriented into the element, the element together with all ingoing edges is removed, and the procedure is re-applied to the rest of the system.If the procedure covers all loops, one obtains a recursive solution flow, i.e. each loop can be solved as a function of a "true" external input and/or outputs of previously solved loops (example: Fig. 3a).If this is not the case, the network must be solved iteratively by choosing additional "pseudo" inputs and following the solution flow until an element is overconstrained, which yields the implicit constraint equation needed to be solved by an iterative root finding algorithm such as Newton's method (example: Fig. 3b) where a pseudo input q has been applied to loop L 2 and the implicit constraint equation results in loop coupling condition "C").

Types of isolated degrees of freedom
Isolated degrees of freedom are mobilities that leave some characteristic relative measurements between surrounding substructures locally invariant.In literature, several kinds of names and concepts are used in this respect.The different concepts and terminology might lead to confusion so that a short introduction is given.
Hunt introduced "superfluous spin-freedoms" which arise for the rotation of a bar in-between two spherical joints, which he suggests to remove for kinematic analysis (Hunt, 1978).Waldron uses the term "passive degree of freedom" for the same type of motion (Waldron, 1973).However, this term might lead to confusion as in parallel kinematics machines it refers to non-actuated chains (legs) for which the joint variables are dependent functions of actuated ones (Liu et al., 2014).This is also the meaning used in robotics by (Bennett and Hollerbach, 1991) when the joint variables of a virtual contact joint are a function of the actuated robot degrees of freedom.Also, in control theory, the term passive DOF refers to non-controlled degrees of freedom which however are properly transmitted throughout the mechanism (Shiriaev et al., 2010).For example, one four-bar mechanism could have one actuated DOF, while a second four-bar mechanism on top of it could be non-actuated (passive), thus the control of the first four-bar mechanism is sought which controls both stably.Furthermore, the term passive degree of freedom is sometimes used for underactuated manipulators and are accounted for structural flexibilities (Jain and Rodriguez, 1993;Casals and Amat, 1996).Another term one encounters in this setting is "redundant DOF" (Zhang et al., 2003), which however may lead to confusion as the term redundant DOF is used in robotics for robots featuring a greater number of actuators than necessary for a given task space which allows for special control movements (such as the human arm having seven relative joint motions for six DOFs at the hand).In some cases the term "parasitic DOF" is used for isolated DOFs (Rolland, 1999); however, the term "parasitic motion" (Carretero et al., 2000) or "parasitic DOF" is also (and more frequently) used to describe unwanted dependent motions in some direction such as the vertical axis of a lower mobility platform (Hsu et al., 2004;Isaksson et al., 2015;Merlet, 2005).As a further variant one finds the term parasitic degrees of freedom meaning additional degrees of freedom added to the principal DOFs by compliant joints (Togashi et al., 2014).Finally, in some cases the term "idle DOF" is used in this context (Razmara et al., 2000); however, the term "idle" would imply that the related motion of the isolated DOF is not changing, which is not the case in the present discussion.
In view of the plurality of notions and terms used in different contexts, we propose here to use the term "isolated" which most accurately describes the notion of degrees of freedom which have no influence on certain relative quantities at the ends of a serial chain, i.e. remain non-transmitted in a certain neighborhood of this chain, but may be transmitted to surrounding substructures.This is in close correspondence to the original term "superfluous spin-freedom" used by Hunt, and helps to convey the idea that the isolated DOFs might not be "superfluous" or pure "spinning" (meaning that they might be transmitted to overlayed structures or that there is a material axis of rotation).It might be noted that this term has been used in the past in the modeling of active meshes for grasping devices (Mazzone et al., 2003).
In order to track isolated DOFs, three types can be distinguished according to their scope of action (Fig. 4): (a) "Fully isolated DOF": these are immaterial motions which can be completely removed from the mechanism without any effect; this is the case for example for the isolated spin of an infinitesimally thin sphericalspherical bar about its longitudinal axis in Fig. 4a.Fully isolated DOFs will be displayed below in the loop connection graphs as dotted lines.(b) "Transmitted isolated DOF": these are isolated DOFs which have already been counted once as "fully isolated" in one loop, so that they become transmitted in a neighboring loop; an example is shown in Fig. 4b, where the spin of the rod has been counted as isolated in loop L 1 , but becomes transmitted to loop L 2 ; this will be essential when regarding the transmission of isolated DOFs at loop coupling conditions of spherical joints.
Transmitted isolated DOFs will be displayed below in the loop connection graphs as dashed lines.
(c) "Structurally isolated DOF": these are isolated DOFs that comprise whole substructures; they leave the internal motion of whole subchains within one loop invariant but operate on the absolute motion of the chain as proper DOFs; an example is shown in Fig. 4c, where the isolated DOF does not change the internal configuration of the revolute joint on the spun subchain, but the chain rotates as a whole about the implied spin axis connecting both spherical joints.Note that in this type of isolated DOFs the spin axis is not constant with respect to any body, but changes with the internal motion of the involved subchain.Structurally isolated DOFs will be displayed below in the loop connection graphs as dotdashed lines.

Loop coupling conditions at a spherical joint
When multiple loops coincide at one spherical joint, the product of rotation matrices of the relative rotations over all incident loops must yield unity, thus producing 3 independent coupling conditions.Furthermore, when multiple bars coincide in a spherical joint, one can always decompose the relative rotation between the bars within a loop into two terminal rotations about the connecting bars, and one intermediate rotation about some arbitrary axis, which should however be warranted never to become parallel to one of the bars over the complete motion.In this way, one obtains loop couplings at a spherical joint between two isolated bar spin DOFs and one proper aperture angle for each loop incident to that joint.An example is given in Fig. 5. Here, the loop coupling equation between the three loops L i , L j and L k can be expressed as where R(. ..) denotes the rotation matrix in terms of (z-xz) Euler angles in the order of the arguments.The coupling equation can be interpreted such that the three internal rotations ξ, ψ, ζ of loop L k result numerically as a (nonlinear) function of the three internal rotations α, ϕ, β and η, θ, γ of loops L i and L j , respectively.Topologically, this coupling has particular properties due to the implicitly assumed isolated DOFs about the bars that are incident to the spherical joint, which can be described qualitatively without resorting to the explicit resolution of the spatial loop coupling conditions in terms of the output angles ξ, ψ, ζ , as discussed next.
Assuming that the other bar ends in Fig. 5 (not shown) of the bars are also attached to spherical joints, the bars will be allowed to spin about their longitudinal axes.However, only one rotation per bar can be regarded as truly fully isolated: if a loop "registers" one isolated spin as fully isolated, then for the neighboring loop this rotation becomes transmitted.This is shown by the chosen colors in Fig. 5: assuming that the spin of bars 1 and 2 have been registered as fully isolated in loop L i , these can be regarded as immaterial spinnings of the pins within the sleeves of the joints of bars 1 and 2, denoted by angles α and β, respectively; however, the rotation within loop L k about bar 1, denoted by ξ , is then not fully isolated anymore, and actually sways the brown chain of loop L k as when unfolding two faces of an origami at the edge folded along the axis of bar 1.Thus the angle ξ is a transmitted isolated DOF.Similarly, the rotation within loop L j about bar 2, denoted by η, rotates the blue chain within loop L j about the axis of bar 2, and is thus again a transmitted isolated DOF.Finally, the rotation γ of the inner pin of the revolute joint along bar 3 can be regarded again as a fully isolated DOF once, which in the case of Fig. 5 has been arbitrarily assigned to loop L j .This makes the rotation about bar 3 within loop L k , denoted by ζ , again a transmitted isolated DOF.
By the loop coupling conditions, one can recognize that, if loop L k is the "output" of the coupling conditions according to Eq. ( 4), then two of the incoming variables of loop L k , namely ξ and ζ , are transmitted isolated DOFs that do not affect the inner kinematics of loop L k , but the third one, namely ψ, is a proper transmission angle which regulates the relative orientation of bars 1 and 3 with respect to each other.This angle is a function of the opening angles ϕ and θ of loops L i and L j , respectively, but also of the transmitted isolated DOF η of loop L j , which thus becomes material.If the three loops L i , L j , L k are assumed to be triangles with spherical joint nodes (as will be the case for the regarded mechanism), then the angles ϕ, θ, ψ must remain constant, which means that loop L k induces an implicit constraint equation for the transmitted isolated DOF η of loop L j .This kind of tracking of transmitted isolated DOFs up to locations of implicit constraint equations will prove useful for detecting rigid and movable substructures in multiple spherical-spherical bar mechanisms, as shown below.

Kinematical network of the "double-banana" mechanism
As described in section 3, initially the interconnected kinematical loops are chosen as a set of "smallest" independent loops, in which the sum of numbers of relative joint variables within each loop over all loops is smallest.While the number n L of independent loops is unique, the choice of the independent loops can have many solutions (Kecskeméthy, 1993).In the present case, we have n L = 11 for which we choose 10 triangles within the two bipyramid halves and the quadrilateral loop L 11 between them shown in Fig. 2. At the beginning, each loop is regarded as an independent transmission element, i.e., all relative motions within a loop are regarded as independent.The loop coupling condition gives one spherical coupling condition at joints E, G, D and F and two spherical coupling conditions at joint A. Using the coupling conditions described in Section 5, one obtains for the "double-banana" example of Fig. 2 the undirected kinematical network shown in Fig. 6.
In the process of orienting the edges of the kinematical network, the following steps arise: 1.Each of the loops L 1 ,. . ., L 10 displays 3 local DOFs, which are the three isolated DOFs about the three bars; likewise, loop L 11 , which comprises four spherical joints, displays 6 local DOFs.
2. At each coupling joint, three coupling equations according to Eq. ( 4) are produced.Two of these coupling conditions go into isolated DOFs, while one propagates into a transmission angle, which is the aperture angle of the intermediate joint of the z-x-z decomposition.
3. By the sink method, one can start the orientation of the edges with the sink loops L 1 , L 4 , L 6 , L 10 and L 11 .However, for each of these loops, the "intermediate" aperture coupling angle (θ in the case of loop L 1 ) actu-  ally transmits into the loop kinematics and is subject to a constraint condition there due to the triangle condition.Thus, the sink loop actually introduces an implicit equation (marked "1×" in a gray box within the loop) which must be fulfilled by the transmitted DOFs entering the loop.On the other hand, each sink loop features an additional fully isolated DOF, which is about the third edge that is not shared with any other loop.Thus, after orienting the edges into the sinks one obtains one implicit equation and one "true" DOF per sink (Fig. 7).
4. After having determined all sinks, the orientation of edges of the remaining loops are completed by feeding enough inputs to each loop such that the local loop DOF count is obeyed.Here, it is important that, as discussed above, exactly (only) one fully isolated DOF is registered for each bar.In the example of Fig. 7, we registered all three isolated DOFs of loop L 3 as fully isolated; thus in loop L 2 we can only register two isolated DOFs as fully isolated, while the third (about the common bar with L 3 ) must be chosen as a transmitted isolated DOF.After receiving its inputs at joints D and F (which can be regarded as fixed), loop L 11 can detect locally (internally) a fully isolated DOF about the axis connecting joints A and B, which is registered as a structurally additional fully isolated DOF operating on this loop.
The fully isolated DOFs can be applied irrespectively of the rest of the structure, thus from Fig. 7 one can see that there are in total 19 fully isolated DOFs, 18 representing the spins of the bars, and one in loop L 11 representing the spinning rotation between the two bananas about the implied axis A-B.Thus the kinematical network already is able to detect that, apart from the 18 isolated bar spins, loop L 11 features an additional DOF that is not canceled by the rest of the structure.However, it remains to detect which parts of the structure are rigid or over-rigid.This is done in the next section.

Loop connection graph and rigidity detection for the "double-banana" case
A kinematical network can be transformed into a "loop connection graph" describing the level of dependency of the individual loops and possible implicit conditions (Xia et al., 2012).We show here the loops as boxes and implicit conditions as gray disks, with the number n of implicit equations denoted by "n×" within the disk, and the indices i, j , ... of loops L i , L j , ... embracing these implicit conditions in braces besides the disk.The connections between loops and circles are represented by weighted edges, where the weight represents the number of joint variables transferred through this edge.External inputs are depicted by edges from the source "S" to the corresponding loop, while the level of dependency is expressed by the distance (in rows) from the source to the node, as shown in Fig. 8a.According to (Xia et al., 2012), rigidity detection can be performed on this acyclic graph by evaluating directed "cuts" such that the source is on one side, the sink(s) is on the other, and all edges through which the cut passes are di- rected from the "upstream" to the "downstream" side.The sum of weights of the cut edges is termed the weight of the cut, while the sum of implicit equations in the downstream side of the cut is termed the absorbing degree of the cut.The DOF of the cut is equal to its weight minus its absorbing degree.This DOF is equal to the DOF of the nodes on the downstream side of the cut.Whenever the DOF of the cut is less or equal to zero, the downstream subsystem will represent a rigid or an overconstrained subsystem.The cut with the minimal DOF will determine the most overconstrained substructure.Such cuts can be easily determined using stateof-art graph-theoretic methods (Abel and Bicker, 1982).For example, the cut X 1 in Fig. 8a displays a weight of 23 and an absorbing degree of 5, which results into a DOF of 18 that correspond to the 18 isolated bar rotations.But since the isolated degrees of freedom need not be taken into account for rigidity detection, only the transmitted isolated DOFs (dashed lines) need to be regarded, leading to the reduced loop connection graph in Fig. 8b, where the weight of cut X 1 now can be recognized as 4 with an absorbing degree of 5. Thus, the whole loop transmission structure without isolated DOFs is recognized as over-rigid with DOF = −1.However, as there is an additional structurally isolated DOF entering loop L 11 , one can recognize a global proper DOF.The question of which parts are rigid and which parts are movable can be answered by regarding so-called pruned graphs containing subsets of implicit constraints and their predecessor nodes from the root of the loop connection graph, as explained below.
As a "pruned" sub-graph, one understands the sub-graph obtained when taking some sinks and removing all nodes that are not on any path from the sink to the source (Fig. 9).Clearly, only one such pruned sub-graph has a cut with nonpositive DOF (X 2 in Fig. 9a).Thus the subsystem L 1 , L 2 , L 3 can be replaced by a rigid body.Restarting the algorithm with these loops replaced by a rigid body gives Fig. 10a, which again displays a cut X 3 with DOF = 0, hence the subsystem L 1 , L 2 , L 3 , L 4 , L 5 is again rigid.Replacing this again by a rigid body and carrying out the analogous steps for the right half of the "double-banana" graph gives the pruned graph of Fig. 10b.This graph has now a cut X 4 with transmitted weight zero (not counting the fully isolated DOF of loop L 11 ) and an absorbing degree of 1, hence the cut has DOF = −1.As a result, the algorithm is able to detect both halves of the "double-banana" as rigid, and also to detect that their assembly into loop L 11 features one structurally isolated DOF.

Discussion
The proposed approach shows that by regarding loops as transmission elements and tracking the transmission of isolated DOFs through the mechanism one can detect nontrivial cases of rigidity involving implied hinges.Although the method may seem complicated, it can actually be broken down into simple steps for which graph-theoretic algorithms already exist.For example, steps for dissecting a mechanism into kinematical loops and setting up the kinematical network and loop connection graph have already been implemented in Mathematica by our group using well-known graph theoretical algorithms for finding minimal cycles or minimal cut sets (Kecskeméthy, 1993).The advantage of using loops for transmission evaluation lies evidently in the fact that one can combine substructures of different mobility spaces such as planar, spherical or spatial, and that structurally isolated DOFs can be detected within one loop by regarding the corresponding isotropy groups (Kecskeméthy, 1993).Thus, in our opinion this new methodology could prove useful for rigidity detection algorithms in other areas of applications.While the automatic implementation of the classification of different types of isolated DOFs is still to be completed, we believe that this is accomplishable in a general setting.Future research will be devoted to demonstrate that the presented algorithm also holds for so-called nucleation free mechanisms (Cheng et al., 2009), which comprise individual mobile structures that become rigid and form "implied hinges" once embedded in a certain mechanism.

Conclusions
Based on the concept of the kinematical network, a loopbased rigidity detection method is proposed to detect mowww.mech-sci.net/7/107/2016/Mech.Sci., 7, 107-117, 2016 F. Simroth et al.: Solving the double-banana rigidity problem: a loop-based approach bility and rigidity for systems featuring spherical-spherical pairs, such as the "double-banana" case.The method consists in viewing the mechanism as an assembly of coupled independent kinematical loops instead of regarding it as a system of coupled bodies and joints (or bars and nodes).Due to this, it is possible to track isolated degrees of freedom separately from transmitted joint angles, and by this to detect rigid subsystems and "implied hinge" finite mobility for complex systems as the "double-banana" case.In this setting, it is interesting to note that this approach is implementable using standard tools from graph theory.Although we have not yet completed this automation, we believe that this is feasible, which is a topic of future research.

Figure 5 .
Figure 5. Loop coupling conditions at a multiple spherical joint.

Figure 8 .Figure 9 .
Figure 8. Loop connection graph for the kinematical network of Fig. 7 (a) with and (b) without isolated DOFs.

Figure 10 .
Figure 10.Minimal cuts and resulting DOFs for each substructure.