This paper introduces a general method for analyzing flexure systems of any configuration, including those that cannot be broken into parallel and serial subsystems. Such flexure systems are called interconnected hybrid flexure systems because they possess limbs with intermediate bodies that are connected by flexure systems or elements. Specifically, the method introduced utilizes screw algebra and graph theory to help designers determine the freedom spaces (i.e., the geometric shapes that represent all the ways a body is permitted to move) for all the bodies joined together by compliant flexure elements within interconnected hybrid flexure systems (i.e., perform mobility analysis of general flexure systems). This method also allows designers to determine (i) whether such systems are under-constrained or not and (ii) whether such systems are over-constrained or exactly constrained (i.e., perform constraint analysis of general flexure systems). Although many flexure-based precision motion stages, compliant mechanisms, and microarchitectured materials possess topologies that are highly interconnected, the theory for performing the mobility and constraint analysis of such interconnected flexure systems using traditional screw theory does not currently exist. The theory introduced here lays the foundation for an automated tool that can rapidly generate the freedom spaces of every rigid body within a general flexure system without having to perform traditional computationally expensive finite element analysis. Case studies are provided to demonstrate the utility of the proposed theory.

## Introduction

Flexure systems [1] consist of rigid bodies, shown as rectangles in the schematic portion of Fig. 1, joined together by flexure elements (e.g., wire, blade, or notch flexures), shown as springs in the same portion, that deform to guide the system's rigid bodies along desired motion paths with high precision. According to their geometry, these elements are stiff in certain directions but compliant in other directions. The directions of greatest compliance exhibited by a body constrained by flexure elements within a flexure system are called the body's degrees-of-freedom (DOFs). There are three kinds of rigid bodies within a flexure system—a grounded or fixed body labeled “G” in Fig. 1, intermediate bodies labeled “I”, and a stage labeled “S”. A system's stage is the primary body of interest (i.e., the body that performs the system's desired tasks).

Fig. 1
Fig. 1
Close modal

Traditionally, flexure systems are classified into three categories [1,2] (Fig. 1(a))—parallel, serial, and hybrid. Parallel systems consist of two rigid bodies joined directly together by flexure elements as shown in the example of Fig. 1(a). Serial flexure systems consist of two or more parallel subsystems stacked or nested together in a chain-like configuration. Hybrid flexure systems consist of any other configuration of rigid bodies joined together by flexure elements. Most hybrid systems consist of various combinations of both parallel and serial subsystems joined together in parallel. Note that the hybrid system example in Fig. 1(a) consists of three identical serial subsystems or limbs arranged in parallel.

Some hybrid flexure systems, however, are arranged in configurations that cannot be broken into purely parallel and serial subsystems. Two examples of this kind of hybrid system are shown in Fig. 1(b). These systems are called interconnected hybrid flexure systems [2] because they possess at least one set of parallel limbs that are interconnected by flexure subsystems or elements that join the limbs' intermediate bodies together. Screw-theory-based approaches cannot traditionally be used to analyze or synthesize such interconnected hybrid systems because most existing approaches can only analyze or synthesize systems that can be broken into parallel and serial subsystems like the hybrid example of Fig. 1(a).

Thus, the purpose of this paper is to introduce a new systematic analysis approach for determining the DOFs of the rigid bodies within general interconnected hybrid flexure systems (i.e., mobility analysis) and for determining whether such systems are under-constrained or not and whether such systems are exactly constrained or over-constrained (i.e., constraint analysis). Since interconnected hybrid systems are the most complex class of system, this paper will enable the general analysis of flexure systems of any configuration.

The ability to rapidly analyze the mobility and constraint characteristics of interconnected hybrid flexure system designs is becoming increasingly important as more and more applications are emerging that require the use of such designs. Nanopositioners and other flexure-based motion stages, like those shown in the example portion of Fig. 1(b) for instance, require an interconnected hybrid flexure topology to simultaneously achieve their desired stage DOFs while also satisfying their desired load capacity, stiffness, and dynamic requirements. Serial flexure systems that achieve large ranges of motion often suffer from under-constraint, which can be eliminated by the addition of flexure linkages [3] that render the system's topology interconnected. The topologies of repeating unit cells within periodic microarchitectured material lattices [4,5] are often interconnected hybrid in their configuration. Such material lattices, also called mechanical metamaterials [6], can be engineered to exhibit a large variety of tunable bulk properties (e.g., negative Poisson ratio [7], zero or negative thermal expansion coefficient [8], and high strength-to-weight ratio [5]), which are primarily determined by their microstructure's interconnected hybrid flexure topology.

The theory of this paper uniquely utilizes a combination of screw algebra [911] and graph theory [12,13] to enable the analysis of interconnected hybrid flexure system topologies. Twist and wrench vectors [911] are used in the context of screw algebra to model the DOFs and the constraining forces imposed on the rigid bodies within a general flexure system. Graph theory is used to model the system's rigid bodies as nodes or vertices and flexure elements as edges within a graph to mathematically navigate the graph's complex connections to identify the fewest number of vector equations that need to be solved for completing the mobility analysis of the interconnected hybrid system.

Screw algebra has been used extensively by others to analyze the mobility of rigid mechanisms of various configurations for the past few centuries [911,14]. Screw systems that consist of linear combinations of twist and wrench vectors have been studied exhaustively and classified for a variety of rigid mechanism purposes [1519]. Mohamed and Duffy [20] investigated the instantaneous kinematics of a parallel manipulator with identical serial chain limbs. Kumar [21] used reciprocal twist and wrench vectors for instantaneous kinematic analysis of serial kinematic chains arranged in parallel. Kong and Gosselin [22,23] used wrenches to synthesize 3DOF parallel manipulators. Fang and Tsai [24] synthesized parallel manipulators with identical limbs of 4 and 5DOFs.

Graph theory has also been applied in conjunction with screw algebra to analyze and synthesize rigid mechanisms of various configurations. Freudenstein and Dobrjanskyj [25,26] used graph theory to model the links and joints of general rigid mechanisms as vertices and edges similar to the theory of this paper but utilized different mathematics to identify nonisomorphic graphs for the purpose of type synthesis for various types of mechanisms. Davies [27] applied Kirchhoff's voltage law to rigid mechanisms, treating closed kinematic chains as an analog to closed electrical circuits. Angeles and Gosselin [28] addressed the mobility of multiloop rigid mechanisms by calculating the nullity of a mechanism's Jacobian matrix. Zoppi et al. [29] analyzed parallel manipulators with interconnecting links. Zeng et al. [30] designed a parallel manipulator that also possessed interconnecting links. Lu and Leinonen [31] used graph theory to synthesize a family of unified planar and spatial mechanisms. Chen and Yao [32] used graph theory to create a systematic approach for synthesizing the topology of fractionated geared differential mechanisms.

Although screw algebra and graph theory have been applied extensively to rigid mechanisms, the combination of these principles have not yet been commonly applied to compliant mechanisms—particularly for solving the mobility of interconnected hybrid flexure systems. Murphy et al. [33] included flexures as a type of joint to enumerating nonisomorphic compliant mechanisms. Pucheta and Cardona [34] applied graph theory to perform the type synthesis of compliant mechanisms that derive from rigid mechanism analogs. Adding to the contributions of Merlet [35] and Hao and McCarthy [36], Hopkins created the freedom and constraint topologies (FACT) synthesis approach [3739], which utilizes a comprehensive library of intuitive shapes that help designers leverage the geometry of screw systems toward visualizing the topologies and mobility of general compliant mechanisms. The mathematics underlying the FACT approach was furthered by Su et al. [4042] and Yu et al. [43] to enhance the computational analysis and synthesis of flexure systems of various parallel and serial flexure configurations. Other approaches have also utilized screw algebra to analyze and synthesize compliant mechanisms [44,45]. More recently, an approach was created that normalizes the compliance matrices of flexure systems to identify the directions of greatest compliance (i.e., the DOFs) [46,47].

The approach introduced in this paper enables the mobility analysis of any compliant mechanism (both interconnected or not interconnected) in that it allows users to identify the DOFs of the rigid bodies within the mechanism regardless of how they are joined together by flexure elements. The approach is able to identify these DOFs rapidly in part because the calculations inherent to the approach only consider the topology of the system's flexure elements (i.e., the kind, location, and orientation of the elements within the system). The shapes of the rigid bodies, the properties of the constituent materials used, and the geometric parameters of the flexure elements (e.g., the lengths, widths, or thicknesses of rectangular prism elements) that make up the topology are not considered in the mathematical treatment. This simplification is made possible because of the assumption used in this paper that all flexure elements within flexure systems can be modeled as ideal constraints [3739], which are infinitely stiff along the directions they constrain while being infinitely compliant in all other directions. Thus, the theory proposed here is well suited to enable an automated approach for rapidly analyzing the mobility and constraint characteristics of compliant mechanisms, structures, and materials that consists of large numbers of flexible elements of various geometries joined together in an interconnected fashion.

## Freedom and Constraint Spaces

This section reviews the mathematics underlying the freedom and constraint spaces of the FACT synthesis approach. These spaces will be integral to the new mobility and constraint analysis method introduced later in this paper.

The instantaneous permissible motions of a general body can be represented as lines (Fig. 2(a)) that are mathematically modeled as 6 × 1 twist vectors, T, [911] defined as

Fig. 2
Fig. 2
Close modal
$T=ω[n(c×n+pn)]T$
(1)
where ω is the magnitude of the body's angular velocity about the motion's line, n is a 1 × 3 unit vector that points along the line's axis, c is a 1 × 3 location vector that points from the origin of the coordinate system to any point along that line, and p is the pitch of the motion (i.e., the ratio of how much the body translates along the line's to how much the body rotates about that axis). If the pitch is zero, the motion is a rotation and its line will be colored red in this paper (see figure online for color). If the pitch is nonzero but finite, the motion is a screw and its line will be colored green (see figure online for color). If the pitch is infinite, the motion is a translation and its line will be shown as a thick black arrow. Thus, twist vectors used to model translations can be simplified according to
$T=v[0n]T$
(2)

where v is the magnitude of the body's linear velocity along the translation's arrow, 0 is a 1 × 3 zero vector, and n is a 1 × 3 unit vector that points in the direction of that same arrow.

Constraint loads imposed on a general body can also be represented as lines (Fig. 2(b)) that are mathematically modeled as 6 × 1 wrench vectors, W, [911] defined according to Eq. (1) except that T is replaced by W, ω is replaced by f, c is replaced by r, and p is replaced by q. The scalar value f is the magnitude of the constraining force imposed on the body along the load's line, r is a 1 × 3 location vector that points from the origin of the coordinate system to any point along that line, and q is the ratio of the magnitude of the constraining moment imposed on the body about the line's axis to the magnitude of the constraining force along the same line. If q is zero, the load is a pure force and its line will be colored blue in this paper. If q is nonzero but finite, the motion is a wrench with a coupled moment and force and its line will be colored orange. If q is infinite, the load is a pure moment and its line will be shown thick black with a circular arrow about its axis. Thus, wrench vectors used to model pure moments can be simplified according to Eq. (2) except T is replaced by W, v is replaced by τ, and τ is the magnitude of the body's pure moment about its line with circular arrows.

To demonstrate how twist and wrench vectors can be used to model the permissible motions and constraining loads imposed on a body by a flexure element, consider the blade element in Fig. 2(c). This element constrains its body such that it possesses 3DOFs shown in the figure—two rotational twist vectors, T1 and T2, and one translational twist vector, T3. The body can also move with every combination of these DOF twist vectors according to
$Tfre,e=T1+T2+T3=ω1[100000]+ω2[001000]+v3[000010]=[ω10ω20v30]$
(3)

where Tfre,e is a twist vector that represents these DOF combinations, ω1 and ω2 are the magnitudes of the angular velocities of T1 and T2, respectively, and v3 is the magnitude of the linear velocity of T3. If all the motion lines that are modeled by Tfre,e are graphically depicted for all real combinations of ω1, ω2, and v3, the freedom space of the element is produced. A freedom space is a geometric shape, which consists of motion lines, that represents all the ways a body is free to move. The freedom space of the blade element, Tfre,e, is thus a red plane of rotation lines and an orthogonal black translation arrow shown in Fig. 2(d). Thus, a body constrained by a blade element can rotate about any line on the plane of the blade and translate in the direction perpendicular to the blade's plane. Note that the number of independent twist vectors, n, that constitute a freedom space is the number of its DOFs. For a blade element, n = 3.

Note that the number of independent wrench vectors, m, that constitute a constraint space is 6 − n because of the general relationship [911] between freedom spaces, Tfre, and their complementary constraint spaces, Wcon, given by
$TfreT[[0][I][I][0]]Wcon=0$
(4)

where [0] is a 3 × 3 zero matrix and [I] is a 3 × 3 identity matrix.

As another example element, consider the wire flexure shown in Fig. 2(f). This element possesses 5DOFs—three orthogonal and intersecting rotational twist vectors, T1, T2, and T3, and two translational twist vectors, T4 and T5, that are orthogonal and align with the axes of T1 and T2, respectively, as shown in the figure. The wire element's freedom space, Tfre,e, results from the combination of these five twist vectors as
$Tfre,e=∑i=1n=5Ti=ω1[100000]+ω2[010000]+ω3[001000]+v4[000100]+v5[000010]=[ω1ω2ω3v4v50]$
(5)
where ω1, ω2, and ω3 are the magnitudes of the angular velocities of T1, T2, and T3, respectively, and v4 and v5 are the magnitudes of the linear velocities of T4 and T5. The element's freedom space is graphically depicted in Fig. 2(g) as (i) red planes of rotation lines that intersect along the wire's axis, (ii) a black disk of translation arrows that point in directions that are perpendicular to the wire's axis, and (iii) green screw lines that are described in Hopkins [37,38] but not shown in the figure to avoid visual clutter. The element's complementary constraint space, Wcon,e, can be calculated using Eqs. (4) and (5) and consists of the single blue line shown in Fig. 2(h) modeled by
$Wcon,e=W1=f1[001000]T$
(6)

where f1 is the magnitude of the constraining force wrench vector, W1, imparted by the wire element along its axis to the body in Fig. 2(h).

The mobility analysis of a flexure system is successfully achieved when the freedom space of the system's stage is identified (i.e., when one knows all the ways the system's stage is free to move). One of the primary objectives of this paper is to introduce a systematic approach for successfully navigating the freedom and constraint spaces of a system's constituent elements and subsystems such that the mobility analysis of a general flexure system can be achieved. The other primary objective of this paper is to introduce a systematic approach for successfully navigating these freedom and constraint spaces such that designers can identify the system's constraint characteristics (i.e., perform constraint analysis).

## Traditional Flexure-System Mobility Analysis

This section reviews the principles currently used to perform the mobility analysis of flexure systems that are not considered interconnected hybrid (i.e., systems that can be divided into parallel and serial subsystems). Current mobility analysis hinges on two primary principles

1. (1)

Parallel Configurations: A system's constraint space can be found by linearly combining the constraint spaces of its constituent flexure elements and/or systems when they are arranged in parallel. A system's freedom space can be found by identifying the intersection of the freedom spaces of its constituent flexure elements and/or systems when they are arranged in parallel.

2. (2)

Serial Configuration: A system's freedom space can be found by linearly combining the freedom spaces of its stacked flexure subsystems when they are arranged in series. A system's constraint space can be found by identifying the intersection of the constraint spaces of its stacked flexure subsystems when they are arranged in series.

To demonstrate principle (1), consider the parallel system shown in Fig. 3(a) that consists of a blade element, e1, arranged in parallel with a wire element, e2. The constraint space of element e1 is the blue plane from Fig. 2(e). Given the coordinate system shown in Fig. 3(b), this constraint space, Wcon,e1, can be expressed as

Fig. 3
Fig. 3
Close modal
$Wcon,e1=∑j=1m=3Wj=f1[10000D/2]+f2[001−D/200]+τ3[000010]=[f10f2−f2D/2τ3f1D/2]$
(7)
where f1 and f2 are the force magnitudes of W1 and W2 in Fig. 3(b), respectively, τ3 is the moment magnitude of W3, and D is a scalar distance labeled in the same figure. The constraint space of element e2 is the blue line from Fig. 2(h). Given the coordinate system in Fig. 3(b), this constraint space, Wcon,e2, can be expressed as
$Wcon,e2=W4=f4[001(D/2)00]T$
(8)

where f4 is the force magnitude of W4 in Fig. 3(b). Thus, according to principle (1), since elements e1 and e2 are arranged in parallel, the constraint space of the parallel system, Wcon,ps, could be calculated by linearly combining Eq. (7) with Eq. (8) (i.e., Wcon,ps = Wcon,e1 + Wcon,e2). The resulting parallel system's constraint space is shown in Fig. 3(c). This space consists of (i) a plane of blue force lines that is coplanar with the system's blade element, (ii) a box of parallel blue force lines that are parallel with the axis of the system's wire element, (iii) a disk of black pure moment lines that point in directions perpendicular to the wire's axis, and (iv) orange wrench lines that are described in Hopkins [37,38] but are not shown in Fig. 3(c) to avoid visual clutter.

The parallel system's freedom space, Tfre,ps, can be calculated using Wcon,ps in Eq. (4). This space, shown in Fig. 3(d), consists of (i) a plane of parallel red rotation lines that are parallel to the axis of the wire element but are coplanar with the plane of the blade element, and (ii) a black translation arrow that is perpendicular to the same plane. This freedom space, Tfre,ps, results from the linear combination of two independent twist vectors (e.g., T1 and T2 in Fig. 3(d)) according to
$Tfre,ps=∑i=1n=2Ti=ω1[001−D/200]+v2[000010]=[00ω1−ω1D/2v20]$
(9)

where ω1 is the magnitude of the angular velocity of T1 in Fig. 3(d), and v2 is the magnitude of the linear velocity of T2 in the same figure. Note that in accordance with principle (1), the parallel system's freedom space (Fig. 3(d)) is the intersection of the freedom spaces of the system's constituent elements (i.e., Tfre,e1 and Tfre,e2 shown in Fig. 3(e)). In other words, the motion lines that constitute the space of Fig. 3(d) are the same motion lines that are commonly shared between the two spaces shown in Fig. 3(e). Recall that the freedom space of a blade element was given in Fig. 2(d) and the freedom space of a wire element was given in Fig. 2(g).

To demonstrate principle (2), consider the serial system shown in Fig. 3(f) that consists of two stacked parallel subsystems, ps1 and ps2, of the kind shown in Fig. 3(a). The freedom spaces of each subsystem (Fig. 3(d)) are shown superimposed on the serial system in Fig. 3(g). Given the coordinate system shown in Fig. 3(g), the freedom space of ps1, Tfre,ps1, can be expressed as
$Tfre,ps1=T1+T2=ω1[001000]+v2[000010]=[00ω10v20]$
(10)
where ω1 is the angular velocity magnitude of T1, and v2 is the linear velocity magnitude of T2 in Fig. 3(g). Given the coordinate system of Fig. 3(g), the freedom space of ps2, Tfre,ps2, can be expressed as
$Tfre,ps2=T1+T3=ω1[001000]+v3[000100]=[00ω1v300]$
(11)

where ω1 is the angular velocity magnitude of T1, and v3 is the linear velocity magnitude of T3 in Fig. 3(g). Thus, according to principle (2), since the parallel subsystems ps1 and ps2 are arranged in series, the freedom space of the serial system, Tfre,ss, could be calculated by linearly combining Eq. (10) with Eq. (11) (i.e., Tfre,ss = Tfre,ps1 + Tfre,ps2). The resulting serial system's freedom space, shown in Fig. 3(h), consists of (i) a box of parallel red rotation lines that are parallel with the axes of the system's wire elements, and (ii) a disk of black translation arrows that point in directions that are perpendicular to these axes.

The serial system's constraint space, Wcon,ss, can be calculated using Tfre,ss in Eq. (4). This space, shown in Fig. 3(i), consists of (i) a box of parallel blue force lines that are parallel with the axes of the system's wire elements, and (ii) a disk of black moment lines that point in directions that are perpendicular to these axes. This constraint space, Wcon,ss, results from the linear combination of three independent wrench vectors (e.g., W1, W2, and W3 in Fig. 3(i)) according to
$Wcon,ss=∑j=1m=3Wj=f1[001000]+τ2[000010]+τ3[000100]=[010f1τ3τ20]$
(12)

where f1 is the force magnitude of W1 in Fig. 3(i), and τ2 and τ3 are the moment magnitudes of W2 and W3 in the same figure. Note that in accordance with principle (2), the serial system's constraint space (Fig. 3(i)) is the intersection of the constraint spaces of the system's stacked parallel subsystems (i.e., Wcon,ps1 and Wcon,ps2 shown in Fig. 3(j)). In other words, the load lines that constitute the space of Fig. 3(i) are the same load lines that are commonly shared between the two spaces shown in Fig. 3(j). Recall that the constraint space of each parallel subsystem was given in Fig. 3(c).

Since principles (1) and (2) pertain to flexure elements and/or subsystem's arranged in parallel or series, these principles can only be used to perform the mobility analysis of flexure systems that can be broken into parallel and serial subsystems. Consider the hybrid system in Fig. 4(a) that consists of two serial subsystems (i.e., limbs) arranged in parallel. Once the constraint spaces of each parallel subsystem, ps1 through ps4, have been identified according to the principles reviewed in this section, the freedom space of the system's stage can be determined using an operator, Z. This operator utilizes Eq. (4) to determine the complementary freedom space of a constraint space and vice versa (i.e., Z(Wcon) = Tfre and Z(Tfre) = Wcon). Thus, if Wcon,ps1, Wcon,ps2, Wcon,ps3, and Wcon,ps4, are the constraint spaces of the parallel subsystems, ps1 through ps4, in Fig. 4(a), respectively, the hybrid system's freedom space, Tfre,hs, (i.e., the freedom space of the system's stage) can be calculated according to

Fig. 4
Fig. 4
Close modal
$Tfre,hs=Z(Z(Z(Wcon,ps1)+Z(Wcon,ps3))+Z(Z(Wcon,ps2)+Z(Wcon,ps4)))$
(13)

This freedom space, shown in Fig. 4(b), consists of (i) a plane of red rotation lines that is coplanar with the front face of the system's stage, (ii) a box of parallel red rotation lines that are directed vertically, (iii) a disk of black translation arrows that point in directions perpendicular to these parallel rotation lines, and (iv) green screw lines that are described in Hopkins [37,38] but are not shown in Fig. 4(b) to avoid visual clutter. If, however, the intermediate bodies of the example system are joined together by another parallel subsystem, ps5, as shown in Fig. 4(c), principles (1) and (2) cannot be applied to the system's mobility analysis because the system cannot be broken into parallel and serial subsystems. Thus, the system of Fig. 4(c) is an interconnected hybrid system, which requires new theory to analyze (i.e., determine its stage's freedom space).

## Interconnected-Hybrid-System Mobility Analysis

This section introduces two complementary screw-algebra and graph-theory approaches for systematically performing the mobility analysis of flexure systems of any configuration and complexity—including and especially interconnected hybrid flexure systems. Although similar to prior approaches [27,28,48], the first approach focuses on the mobility analysis of compliant mechanisms (i.e., flexure systems) instead of rigid mechanisms. It should also be used to identify whether a system is under-constrained or not. The second approach is complementary to the first approach (i.e., it uses complementary constraint spaces instead of freedom spaces) but it should be used to identify if a system is over-constrained or exactly constrained (i.e., the second approach is necessary to perform constraint analysis). The interconnected hybrid system of Fig. 4(c) will be analyzed as a case study for the theory of this section.

### Freedom-Space-Based Approach to Mobility Analysis.

This section introduces a freedom-space-based approach for calculating the freedom space of a general flexure system's stage (i.e., for performing mobility analysis). To determine the freedom space of a flexure system's stage using this approach, it is first necessary to identify the freedom spaces of each set of flexure elements that join the system's rigid bodies together. Such sets of flexure elements are analogous to the joints of traditional rigid mechanisms (e.g., revolute or prism joints) that guide the motions of their rigid links and join them together. Thus, the “compliant joints” of the interconnected hybrid flexure system of Fig. 4(c) are the five parallel subsystems labeled ps1 through ps5 in the figure. Their respective freedom spaces, Tfre,ps1 through Tfre,ps5, can each be identified using the theory of Sec. 3. For the example of Fig. 4(c), these freedom spaces are shown in Fig. 5(a). They are the blade flexure's freedom space from Fig. 2(d) and thus consist of a red plane of rotation lines and a black translation arrow that is perpendicular to that plane.

Fig. 5
Fig. 5
Close modal
Once the freedom spaces of the system's compliant joints have been identified, each freedom space must be mathematically modeled. A freedom space can be modeled mathematically according to the theory provided previously by selecting n independent twist vectors from within the freedom space and linearly combining them. Recall that n is the number of DOFs or independent twist vectors that constitute a freedom space. For the example system of Fig. 5(a), the freedom spaces of the compliant joints each possess three independent twist vectors within their geometry (i.e., n = 3). Thus, the freedom space, Tfre,ps1, of the parallel subsystem ps1 joint could be mathematically modeled by the following linear combination
$Tfre,ps1=∑i=1n=3Ti=ω1[100000]+ω2[0010L/20]+v3[000010]=[jft]ps1xps1$
(14)
where T1, T2, and T3, are the independent twist vectors shown and defined according to the global coordinate system in Fig. 5(b), ω1, ω2, and v3 are the velocity magnitudes of these twist vectors, respectively, L is the length defined in the same figure, [jft]ps1 is the joint-freedom-topology matrix of the parallel subsystem ps1 defined according to
$[jft]ps1=[1000000010L/20000010]T$
(15)
and xps1 is the velocity magnitude vector of ps1 defined as
$xps1=[ω1ω2v3]T$
(16)

Note that T1, T2, and T3 in Fig. 5(b) are not the only set of independent twist vectors that could have been selected to model Tfre,ps1. Any arbitrary set of three independent twist vectors that lie within the ps1 freedom space could have been selected as the basis of the space.

The freedom space, Tfre,ps2, of the parallel subsystem ps2 could also be modeled using the T4, T5, and T6 independent twist vectors in Fig. 5(b) to construct the corresponding [jft]ps2 matrix according to
$[jft]ps2=[0010−L/2001000L/2000100]T$
(17)
and the corresponding velocity magnitude vector, xps2, according to
$xps2=[ω4ω5v6]T$
(18)

where ω4, ω5, and v6 are the velocity magnitudes of T4, T5, and T6 in Fig. 5(b), respectively.

Once all the system's compliant-joint freedom spaces, Tfre,ps1 through Tfre,ps5, have been modeled by constructing their corresponding joint-freedom-topology matrices, [jft]ps1 through [jft]ps5, and their corresponding velocity magnitude vectors, xps1 through xps5, the system's rigid bodies should be labeled with numbers. In Fig. 5(a), the system's ground is labeled b1, the stage is labeled b4, and the intermediate bodies are labeled b2 and b3. A graph can be constructed that details what rigid bodies, shown as point nodes or vertices in Fig. 5(c), are connected by what compliant-joint freedom spaces, shown as edges or arrows in the same figure. The direction of these arrows can be arbitrarily defined at the beginning of the analysis process, but it is important to recognize that the way they are defined establishes an important convention that must be adhered to throughout the remainder of the analysis process to produce correct results.

Although interconnected hybrid flexure systems cannot be decomposed into purely serial or parallel subsystems and consequently cannot be treated using principles (1) and (2) from Sec. 3, different serial paths can be identified that join the system's ground to its stage. In the example of Fig. 5(c), for instance, four unique serial paths exist that can be drawn from the system's ground to its stage. These serial paths can each be expressed as linear combinations of their parallel-subsystem freedom spaces (i.e., Tfre,ps1 + Tfre,ps3, Tfre,ps2 + Tfre,ps4, Tfre,ps1 + Tfre,ps5 + Tfre,ps4, Tfre,ps2 − Tfre,ps5 + Tfre,ps3). Note that the freedom space's sign is positive if the path moves from the specified arrow's tail to its head, but is negative if the path moves from the arrow's head to its tail. The permissible motions of the system's stage (i.e., the stage's freedom space) can be calculated by equating different combinations of these freedom-space paths according to
$Tfre,ps1+Tfre,ps3=Tfre,ps1+Tfre,ps5+Tfre,ps4Tfre,ps1+Tfre,ps3=Tfre,ps2+Tfre,ps4Tfre,ps1+Tfre,ps3=Tfre,ps2−Tfre,ps5+Tfre,ps3Tfre,ps1+Tfre,ps5+Tfre,ps4=Tfre,ps2+Tfre,ps4Tfre,ps1+Tfre,ps5+Tfre,ps4=Tfre,ps2−Tfre,ps5+Tfre,ps3Tfre,ps2+Tfre,ps4=Tfre,ps2−Tfre,ps5+Tfre,ps3$
(19)
By equating the different path combinations in Eq. (19), the velocity magnitudes that correspond with the twist vectors that are commonly shared by the freedom-space paths are preserved, while the magnitudes that correspond with the twist vectors that are not shared are forced to be zero to make the equation true. Note, therefore, that while a linear combination of vector spaces is determined by summing the spaces together, an intersection of vector spaces is determined by equating the spaces. By subtracting the right side of Eq. (19) from its left side and by expressing the parallel-subsystem freedom spaces in the form given in Eq. (14), the following matrix-based equation is produced
$[[0][0][jft]ps3−[jft]ps4−[jft]ps5[jft]ps1−[jft]ps2[jft]ps3−[jft]ps4[0][jft]ps1−[jft]ps2[0][0][jft]ps5[jft]ps1−[jft]ps2[0][0][jft]ps5[jft]ps1−[jft]ps2−[jft]ps3[jft]ps42[jft]ps5[0][0]−[jft]ps3[jft]ps4[jft]ps5][xps1xps2xps3x4psxps5]=0$
(20)

where [0] is a 6 × 6 matrix of zeros, [jft]ps1 through [jft]ps5 are the system's joint-freedom-topology matrices that correspond with the freedom spaces of each compliant joint labeled Tfre,ps1 through Tfre,ps5 in Fig. 5(a), xps1 through xps5 are the velocity magnitude vectors that correspond with the same freedom spaces, and 0 is a vector of zeros.

Note that the velocity magnitudes that satisfy the combination of equations in Eq. (19) result from the null space of the matrix consisting of the system's joint-freedom-topology matrices in Eq. (20). The significance of these velocity magnitudes toward finalizing the system's mobility analysis will be discussed later in this section. For now, it is sufficient to note that each row in Eqs. (19) and (20) corresponds with a unique closed-loop path that links the system's ground to its stage (i.e., the linear combinations on the left side of Eq. (19)) and then back to its ground (i.e., the negative values of the linear combinations on the right side of Eq. (19)). Thus, the matrix in Eq. (20) represents six unique closed-loop paths throughout the interconnected system. It is important here to emphasize, however, that not all of these closed-loop paths are necessary to calculate the system's desired velocity magnitude vectors.

Graph theory provides a means for rapidly determining the fewest number of necessary closed-loop paths within a general flexure system to construct the smallest matrix possible for most efficiently calculating the system's desired velocity magnitude vectors. To this end, the incidence matrix [12,13], [C], can be constructed using the schematic graph of any flexure system of interest, similar to the one diagrammed in Fig. 5(c) for the system of this section's example. A general incidence matrix possesses as many rows as there are edges or arrows in the graph being analyzed and as many columns as there are vertices or nodes in the same graph. The component in row e and column u of the matrix will be 1 if the edge's arrow that corresponds with the freedom space labeled e (i.e., Tfre,pse), points into the node or vertex labeled u (i.e., bu). This component will be −1 if the edge's arrow points out of the vertex and will be 0 if the edge's arrow does not point into or out of the vertex. The incidence matrix of the system of Fig. 5(c) is
$[C]=[−1100−10100−10100−110−110]$
(21)
According to graph theory [12,13], the left null space of the incidence matrix produces a matrix, [Q], that contains information pertaining to the fewest number of independent closed-loop paths within the graph according to
$[C]T[Q]=[0]$
(22)
The [Q] matrix of the system of Fig. 5(c) can thus be calculated using Eq. (21) in Eq. (22) according to
$[Q]=[−11−1101−1001]T$
(23)
If the system's joint-freedom-topology matrices, [jft]ps1 through [jft]ps5, are then inserted inside their respective columns within the transpose of the [Q] matrix from Eq. (23) and the resulting matrix is multiplied by the velocity magnitude vectors according to
$[−[jft]ps1[jft]ps2−[jft]ps3[jft]ps4[0][jft]ps1−[jft]ps2[0][0][jft]ps5][xps1xps2xps3xps4xps5]=[FT]X=0$
(24)
Equation (20) is simplified from six closed-loop paths to two independent closed-loop paths. The first of these paths, which corresponds with the top row of Eq. (24), is shown as a series of green dotted arrows in Fig. 5(d). The second of these paths, which corresponds with the bottom row of Eq. (24), is shown as a series of dashed purple arrows in the same figure. Note that the signs of the joint-freedom-topology matrices in Eq. (24) are positive if the arrows that pertain to their corresponding freedom spaces point in the same directions as the colored arrows that specify the closed-loop paths shown in Fig. 5(d). Additionally, note that these signs are negative if the arrows point in opposite directions. The matrix in Eq. (24), [FT], is the system's freedom-topology matrix. This matrix always possesses as many rows as the number of independent closed-loop paths within the system multiplied by six. The matrix possesses as many columns as there are DOFs or independent twist vectors within each of the system's compliant joints (e.g., the parallel subsystems ps1 through ps5 in Fig. 4(c)) summed together. For the example of Fig. 5, the [FT] matrix can be determined by inserting the system's joint-freedom-topology matrices (e.g., Eqs. (15) and (17)) into Eq. (24) according to
$[FT]=[−1000000001000000000100−100000000−10100−10001000000000100−10000000−L/2−1−L/200−L/2000L/210000000L/200L/200000001000000000001000000−10000000010010−10000000000000000−10000000−H00L/21L/200000000H000000−L/20000000001]$
(25)
where H is the length defined in Fig. 5(b). The X vector in Eq. (24) contains the system's velocity magnitude vectors, xps1 through xps5. The X vector is calculated by finding the null space of the system's [FT] matrix. The number of independent vector solutions that result by performing the null space of this matrix is the number of system DOFs, N, (i.e., the number of independent ways all the bodies within the system are compatible to move with respect to one another given their interconnected constraint topologies). For the example system of Fig. 5, the null space of the matrix in Eq. (25) consists of three 15 × 1 X vector solutions (i.e., N = 3).
To determine the freedom spaces of the rigid bodies within a general flexure system, all of the system's N independent X vectors must be multiplied by a path matrix, [P]. Path matrices always possess six rows and as many columns as there are DOFs or independent twist vectors within the system's compliant-joint freedom spaces summed together. Every component within a general path matrix is zero except for the components that correspond with the joint-freedom-topology matrices used in the chosen path from the ground to the body of interest. As an example, suppose we wished to identify the freedom space of the system's stage, labeled b4 in Fig. 5(a). It is clear from the graph of Fig. 5(c) that one potential path starts from ground, b1, and progresses through the parallel subsystem ps1 and then through ps3 where it then ends at the system's stage, b4. This path's corresponding path matrix, [Pps1,ps3], is
$[Pps1,ps3]=[[jft]ps1[0][jft]ps3[0][0]]$
(26)
Another option could be the path matrix, [Pps2, ps5, ps3], that corresponds with the path from the system's ground through ps2, then ps5, and finally ps3 where it then ends at the system's stage. This path's matrix is
$[Pps2,ps5,ps3]=[[0][jft]ps2[jft]ps3[0]−[jft]ps5]$
(27)

Note that the sign of each joint-freedom-topology matrix corresponds with the graph's arrow convention and the path chosen as discussed previously. Once a potential path matrix that points from the system's ground to the body of interest is identified, the matrix should be multiplied by all N independent X vectors found from the null space of Eq. (24) to produce N twist vectors. These N twist vectors should then be linearly combined to generate the freedom space of the rigid body to which the path matrix pointed.

For the example of Fig. 5, the stage's freedom space, Tfre,b4, was calculated using this approach. This freedom space, shown in Fig. 5(e), is the freedom space in Fig. 2(d) that consists of a black translation arrow that is perpendicular to a red plane of rotation lines that lies on the front face of the stage as shown. The freedom spaces of the two intermediate bodies, Tfre,b2 and Tfre,b3, can also be identified by multiplying all N independent X vectors with path matrices that point from ground to their respective bodies. These freedom spaces are also shown in Fig. 5(e). The freedom space of b2 is a red disk of rotation lines and the freedom space of b3 is a single vertical red rotation line as shown.

Identifying the most efficient path from a general system's ground to its stage (or another body of interest) is a simple task to perform by inspection for the example system of Fig. 5. Suppose, however, we wished to calculate the freedom space of a particular body within a system that consisted of thousands of bodies joined together by compliant joints in an interconnected fashion (e.g., a lattice-based microarchitectured material). For this case, the adjacency matrix from graph theory [12,13] could be used in conjunction with the Dijkstra's algorithm [49] to enable an automated process for rapidly identify the most efficient path from ground to the desired body of interest. A system's adjacency matrix, [A], possesses as many rows and columns as there are nodes or vertices in the system's graph. The component in row h and column u of the matrix is 1 if the body labeled h (i.e., bh) is joined to the body labeled t (i.e., bu) by a compliant joint. Otherwise, the component will be zero. The adjacency matrix, [A] of the graph in Fig. 5(c) is
$[A]=[0110101111010110]$
(28)

Once the system's adjacency matrix has been identified, this matrix can be fed to the Dijkstra's algorithm to find the shortest path between the vertex that corresponds with the grounded body and the vertex that corresponds with the rigid body of interest. This path can then be used to generate the best path matrix for rapidly calculating the body's freedom space.

Thus, the systematic mobility analysis approach of this section is summarized by the following seven steps:

Step 1: Identify the freedom spaces of a system's compliant or rigid joints.

Step 2: Use these freedom spaces to create their corresponding joint-freedom-topology matrices (i.e., [jft]pse).

Step 3: Construct the incidence matrix, [C], using a simplified graph of the system.

Step 4: Construct the system's freedom-topology matrix, [FT], by inserting the matrices of step 2 into their corresponding columns within the transpose of the left null space of the matrix in step 3.

Step 5: Find the system's N independent X vectors by taking the null space of [FT] from step 4.

Step 6: Use the system's adjacency matrix, [A], in conjunction with Dijkstra's algorithm to construct the optimal path matrix, [P], that leads from the system's ground to the body of interest (usually the stage).

Step 7: Multiply the path matrix in step 6 with all N of the X vectors from step 5 and linearly combine the resulting twist vectors to generate the freedom space of the body of interest.

Note that although the freedom spaces of the compliant joints, ps1 through ps5, of the case study of Fig. 5(a) are all the same type of freedom space, the approach of this paper works for general systems with any variety of different compliant-joint freedom spaces.

### Constraint-Space-Based Approach to Mobility Analysis.

This section introduces an alternate but complementary constraint-space-based approach to the freedom-space-based approach introduced in Sec. 4.1 for performing the mobility analysis of general flexure systems. Another way to determine the freedom space of a flexure system's stage is to first identify the constraint spaces of each set of flexure elements (i.e., compliant joints) that join the system's rigid bodies together. The respective constraint spaces, Wcon,ps1 through Wcon,ps5, of the compliant joints, ps1 through ps5, in the example of Fig. 4(c) can each be calculated by individually inserting their complementary freedom spaces, Tfre,ps1 (i.e., Eq. (14)) through Tfre,ps5, found previously and depicted in Fig. 5(a), into Eq. (4). These resulting constraint spaces coincidentally look similar to their complementary freedom spaces (Fig. 5(a)) except for the fact that their planes are blue instead of red because they consist of force lines instead of rotation lines, and they possess orthogonal black moment lines with circular arrows about their axes instead of black translation arrows (Figs. 2(d) and 2(e)). Thus, for the same coordinate system shown in Fig. 5(b) but with the independent twist vectors labeled T1 though T6 replaced by independent wrench vectors labeled W1 though W6, the constraint space of ps1, Wcon,ps1, can be mathematically modeled using Eq. (14) where Tfre,ps1 is replaced by Wcon,ps1, n is replaced by m, i is replaced by j, Ti is replaced by Wj, ω1 is replaced by f1, ω2 is replaced by f2, v3 is replaced by τ3, [jft]ps1 is replaced by [jct]ps1, and xps1 is replaced by yps1. The matrix [jct]ps1 is called the joint-constraint-topology matrix of the parallel subsystem ps1 and is defined according to Eq. (15) where [jft]ps1 is replaced by [jct]ps1, and yps1 is the load magnitude vector of ps1 defined according to Eq. (16) where xps1 is replaced by yps1, and ω1, ω2, and v3 are replaced by f1, f2, and τ3, respectively. Thus, by identifying the m independent wrench vectors within each compliant joint's constraint space, all the system's joint-constraint-topology matrices, [jct]ps1 through [jct]ps5, can be constructed similar to the system's joint-freedom-topology matrices, [jft]ps1 through [jft]ps5, in Sec. 4.1.

Note that, unlike the example of Fig. 5, the constraint spaces of most flexure-systems' compliant joints are significantly different in appearance from their complementary freedom spaces (e.g., Figs. 2(g), 2(h), 3(c) and 3(d)). Furthermore, these constraint spaces typically consist of different numbers, m, of independent wrench vectors than the numbers of independent twist vectors, n = 6 − m, that constitute their complementary freedom spaces. Thus, their 6 × n joint-freedom-topology matrices and their 6 × m joint-constraint-topology matrices are typically different sizes and consist of different components. The case study example of Fig. 5 with coincidentally identical joint-freedom-topology matrices and joint-constraint-topology matrices was selected to simplify this paper's mathematics and to condense its length.

Once all the system's joint-constraint-topology matrices, [jct]ps1 through [jct]ps5, and their corresponding load magnitude vectors, yps1 through yps5, have been constructed, they can be used to calculate the freedom space of the system's stage. To do this, imagine loading each of the system's rigid bodies, labeled b1 through b4 in Fig. 5(a), with external wrench vectors, Wb1 through Wb4, respectively. For the flexure system to be in static equilibrium, the compliant joints surrounding each of the system's rigid bodies would need to resist their corresponding external load. In other words, the external loads imparted on each rigid body subtracted by the loads within their surrounding parallel-subsystem constraint spaces must equal zero according to
$Wb1−Wcon,ps1−Wcon,ps2=0Wb2+Wcon,ps1−Wcon,ps3−Wcon,ps5=0Wb3+Wcon,ps2−Wcon,ps4+Wcon,ps5=0Wb4+Wcon,ps3+Wcon,ps4=0$
(29)
where the signs associated with the constraint spaces of each parallel subsystem are determined by the direction of the arrows established in the convention of the system's graph shown in Fig. 5(c) with the labeled edges replaced by Wcon,p1 through Wcon,p5 instead of Tfre,p1 through Tfre,p5, respectively. Just as Eq. (19) can be reformulated as Eq. (20) in Sec. 4.1, Eq. (29) can also be reformulated according to
$[−[jct]ps1−[jct]ps2[0][0][0][jct]ps1[0]−[jct]ps3[0]−[jct]ps5[0][jct]ps2[0]−[jct]ps4[jct]ps5[0][0][jct]ps3[jct]ps4[0]][yps1yps2yps3yps4yps5]=[CT]Y=[−Wb1−Wb2−Wb3−Wb4]$
(30)
where [CT] is called the system's constraint-topology matrix and Y is a vector that contains the system's load magnitude vectors, yps1 though yps5. Note that a system's [CT] matrix contains as many rows as there are rigid bodies within the system multiplied by six and as many columns as the number of independent wrench vectors within each of the system's compliant-joint constraint spaces summed together. The sign of each joint-constraint-topology matrix within the system's constraint-topology matrix is positive if its corresponding arrow in the graph of Fig. 5(c) points into the rigid body that corresponds with the row within which the join-constraint-topology matrix resides in the [CT] matrix. Otherwise, if the arrow points away from the rigid body, the sign is negative. It is most significant to note that the [CT] matrix defined in Eq. (30) is the transpose of the system's incidence matrix defined in Eq. (21) with the system's joint-constraint-topology matrices, [jct]ps1 through [jct]ps5, inserted within their respective columns. This observation is not coincidental to this example, but is true for all flexure systems.
The constraint space of any desired rigid body in a system can be calculated using the system's constraint-topology matrix after at least one rigid body has been chosen as the system's fixed ground. Suppose, for instance, we wished to calculate the constraint space of the system's stage, b4, in the example of Fig. 5(a), where body b1 is the fixed ground. To do this, imagine only loading the body of interest, (i.e., the stage) with an external wrench vector, Wb4. To maintain static equilibrium, the grounded body, b1, would be loaded with an equal but opposite wrench vector Wb1 = −Wb4 to keep it from moving. Since the other bodies within the system are not loaded, Wb2 and Wb3 in Eq. (30) are zero vectors. If we then eliminate the rows within Eq. (30) that do not correspond with those unloaded bodies, the resulting equation is
$[[jct]ps1[0]−[jct]ps3[0]−[jct]ps5[0][jct]ps2[0]−[jct]ps4[jct]ps5][yps1yps2yps3yps4yps5]=[Bb2,b3]Yb2,b3=0$
(31)
where [Bb2,b3] is called a rigid-body matrix that only contains the rows in the system's constraint-topology matrix that corresponds with body b2 and b3 in the system, and Yb2,b3 is the null space of that particular rigid-body matrix. The number of independent vectors within that null space, M, is the number of independent load-magnitude combinations that could be imposed throughout the compliant joint topology of the system to keep bodies b2 and b3 in static equilibrium in response to the loaded body of interest. Thus, if another rigid-body matrix, [Bb4] is extracted from the row within the system's constraint-topology matrix (i.e., Eq. (30)) that corresponds with the loaded body of interest (i.e., the stage b4) according to
$[Bb4]=[[0][0][jct]ps3[jct]ps4[0]]$
(32)

and this matrix is multiplied by all M of these independent vectors, Yb2,b3, another set of independent vectors are generated. If the resulting M vectors are linearly combined, the constraint space of the stage, Wcon,b4, is determined. Note from the last row's corresponding equation in Eq. (30) that the load Wb4 applied to the stage must lie within the stage's constraint space, Wcon,b4, for the system to achieve static equilibrium. This insight is further confirmed by the fact that the theory of this paper models flexure elements as ideal constraints that can only impart loads in certain directions but not in others. Once the constraint space of the stage, Wcon,b4, is known, Eq. (4) can be used to calculate the stage's freedom space, Tfre,b4, to complete the system's mobility analysis.

The systematic constraint-space-based mobility analysis approach can thus be summarized according to the following steps:

Step 1: Identify the constraint spaces of a system's compliant or rigid joints.

Step 2: Use these constraint spaces to create their corresponding joint-constraint-topology matrices (i.e., [jct]pse).

Step 3: Construct the incidence matrix, [C], using a simplified graph of the system.

Step 4: Construct the system's constraint-topology matrix, [CT], by inserting the matrices of step 2 into their corresponding columns within the transpose of the matrix in step 3.

Step 5: Create a rigid-body matrix, [B], containing the rows of the [CT] matrix from step 4 that correspond with the system's bodies that are not the chosen ground and body of interest (usually the stage).

Step 6: Find the M independent Y vectors that constitute the null space of the rigid-body matrix from step 5, and then multiply all of these vectors with another rigid-body matrix, [Bbody-of-interest], containing the row of the [CT] matrix from step 4 that corresponds with the body of interest.

Step 7: Linearly combine the resulting M wrench vectors from step 6 to generate the constraint space of the body of interest and then use Eq. (4) to calculate the body's complementary freedom space.

## General Flexure-System Constraint Analysis

This section introduces a new way to utilize the principles of Sec. 4 to rapidly perform the constraint analysis of general flexure systems—including those that are interconnected hybrid. Constraint analysis is the process by which designers determine whether a flexure system is under-constrained or not and whether the system is over-constrained or exactly constrained. Both of these constraint characteristics depend on which bodies within the system are chosen as the system's stage, intermediate bodies, and ground.

A system is under-constrained [2,38,50] if it possesses intermediate bodies that are not fully constrained (i.e., the intermediate bodies possess unconstrained DOFs) when the system's chosen stage is held fixed with respect to its chosen ground. Under-constraint occurs when subsystem's stacked in series possess redundant DOFs. Although an under-constrained system can typically achieve larger ranges of motion without yielding, such systems are prone to unwanted vibrations along directions that cannot be controlled by system actuators.

A system is over-constrained [2,38,50] if it possess elements or subsystems that are redundant (i.e., they do the same job of constraining a particular DOF or set of DOFs as another element or subsystem within the system). A system is exactly constrained if it is not over-constrained. Although over-constrained systems can exhibit some beneficial characteristics (e.g., increased symmetry, thermal stability, stiffness, and load capacity), exactly constrained systems are preferable for precision applications where repeatability is of greatest importance.

### Determining Whether a System is Under-Constrained.

A general system is not under-constrained if the number of independent twist vectors within the freedom space of its stage equals the number of system DOFs (i.e., N independent X vectors defined in Eq. (24) from Sec. 4.1). If N is larger than this number, the system is under-constrained. The system in Fig. 5(e) is not under-constrained if b4 is chosen as its stage and b1 is chosen as its ground because the freedom space of b4 possesses three independent twist vectors and N = 3 in the example system. Thus, if b4 is held fixed with respect to the ground b1, the system's other rigid bodies are also unable to move. If, however, b3 is defined as the system's new stage and b1 remains its ground, the system would be under-constrained because the freedom space of b3 only possesses one independent twist vector. Thus, if b3 is held fixed with respect to the ground b1, two other system DOFs will remain unconstrained, allowing b2 and b4 to move in an uncontrolled way. Note that no rigid-body freedom space can ever possess more independent twist vectors than system DOFs (i.e., N) and N minus the number of independent twist vectors within the freedom space of the system's chosen stage will be the number of system DOFs that are not properly constrained.

### Determining Whether a System is Exactly or Over-Constrained.

A general system is exactly constrained if the number of independent wrench vectors within the constraint space of its stage equals the number of independent wrench vectors, M, within the null space, Y, of the rigid-body matrix defined in Eq. (31) from Sec. 4.2 that contains the rows of the system's constraint-topology matrix that correspond with the system's intermediate rigid bodies (i.e., not its stage and ground). If M is larger than the number of independent wrench vectors within the chosen stage's constraint space, the system is over-constrained. The system in Fig. 5(e) is exactly constrained if b4 is chosen as its stage and b1 is chosen as its ground because the constraint space of b4 possesses three independent wrench vectors and M = 3 in the example system. If b3 is defined as the system's new stage and b1 remains its ground, the system would still be exactly constrained because the constraint space of b3 possesses five independent wrench vectors and the new system's M would also be five. Note that no rigid-body constraint space can possess more independent wrench vectors than M and M minus the number of independent wrench vectors within the constraint space of the system's chosen stage is the number of redundant constraints in the system.

## Conclusions

Systematic steps have been provided that enable the automated mobility and constraint analysis of general flexure systems of any complexity including those classified as interconnected hybrid flexure systems. The theory underlying these steps utilizes screw algebra, graph theory, and simple linear matrix-based calculations to rapidly determine the freedom spaces of thousands of rigid bodies that are joined together by compliant joints of any geometry. Principles of under-constraint and over-constraint are revised in the context of interconnected hybrid flexure systems and a case study is performed to demonstrate the theory's utility.

## Acknowledgment

This work was supported in part by the Air Force Office of Science Research under award number FA9550-15-1-0321. Program officer Byung “Les” Lee is gratefully acknowledged.

## References

1.
Smith
,
S. T.
,
2000
,
Flexures: Elements of Elastic Mechanisms
,
Gordon and Breach Science Publishers
,
Newark, NJ
.
2.
Hopkins
,
J. B.
,
2013
, “
Designing Hybrid Flexure Systems and Elements Using Freedom and Constraint Topologies
,”
Mech. Sci.
,
4
(
2
), pp.
319
331
.
3.
Panas
,
R. M.
, and
Hopkins
,
J. B.
,
2015
, “
Eliminating Underconstraint in Double Parallelogram Flexure Mechanisms
,”
ASME J. Mech. Des.
,
137
(
9
), p.
092301
.
4.
Valdevit
,
L.
,
Jacobsen
,
J. A.
,
Greer
,
J. R.
, and
Carter
,
W. B.
,
2011
, “
Protocols for the Optimal Design of Multi-Functional Cellular Structures: From Hypersonics to Micro-Architectured Materials
,”
J. Am. Ceram. Soc.
,
94
(s1), pp.
s15
s34
.
5.
Deshpande
,
V. S.
,
Fleck
,
N. A.
, and
Ashby
,
M. F.
,
2001
, “
Effective Properties of the Octet-Truss Lattice Material
,”
J. Mech. Phys. Solids
,
49
(
8
), pp.
1747
1769
.
6.
,
M.
,
Bückmann
,
T.
,
Stenger
,
N.
,
Thiel
,
M.
, and
Wegener
,
M.
,
2012
, “
On the Practicability of Pentamode Mechanical Metamaterials
,”
Appl. Phys. Lett.
,
100
(
19
), p.
191901
.
7.
Lee
,
J.
,
Kim
,
K.
,
Ju
,
J.
, and
Kim
,
D.
,
2014
, “
Compliant Cellular Materials With Elliptical Holes for Extremely High Positive and Negative Poisson's Ratios
,”
ASME J. Eng. Mater. Technol.
,
137
(
1
), p.
011001
.
8.
Lakes
,
R. S.
,
1996
, “
Cellular Solid Structures With Unbounded Thermal Expansion
,”
J. Mater. Sci. Lett.
,
15
(
6
), pp.
475
477
.
9.
Ball
,
R. S.
,
1900
,
A Treatise on the Theory of Screws
,
Cambridge University Press
,
Cambridge, UK
.
10.
Phillips
,
J.
,
1984
,
Freedom in Machinery (Introducing Screw Theory)
, Vol.
1
,
Cambridge University Press
,
New York
.
11.
Murray
,
R. M.
,
Li
,
Z.
, and
Sastry
,
S. S.
,
1994
,
A Mathematical Introduction to Robotic Manipulation
,
CRC Press LLC
,
Boca Raton, FL
.
12.
Biggs
,
N.
,
1974
,
Algebraic Graph Theory
,
Cambridge University Press
, New York.
13.
,
L. J.
, and
Polimeni
,
J. R.
,
2010
,
Discrete Calculus: Applied Analysis on Graphs for Computational Science
,
Springer
,
London
, pp.
44
48
.
14.
Kong
,
X.
, and
Gosselin
,
C. M.
,
2007
,
Type Synthesis of Parallel Mechanisms
,
Springer Publishing Company
, Berlin.
15.
Gibson
,
C. G.
, and
Hunt
,
K. H.
,
1990
, “
Geometry of Screw Systems—I: Classification of Screw Systems
,”
Mech. Mach. Theory
,
25
(
1
), pp.
1
10
.
16.
Gibson
,
C. G.
, and
Hunt
,
K. H.
,
1990
, “
Geometry of Screw Systems—II: Classification of Screw Systems
,”
Mech. Mach. Theory
,
25
(
1
), pp.
11
27
.
17.
Rico
,
J. M.
, and
Duffy
,
J.
,
1992
, “
Classification of Screw Systems—I: One- and Two-Systems
,”
Mech. Mach. Theory
,
27
(
4
), pp.
459
470
.
18.
Rico
,
J. M.
, and
Duffy
,
J.
,
1992
, “
Classification of Screw Systems—II: Three-Systems
,”
Mech. Mach. Theory
,
27
(
4
), pp.
471
490
.
19.
Rico
,
J. M.
, and
Duffy
,
J.
,
1992
, “
Orthogonal Spaces and Screw Systems
,”
Mech. Mach. Theory
,
27
(
4
), pp.
451
458
.
20.
Mohamed
,
M. G.
, and
Duffy
,
J.
,
1985
, “
A Direct Determination of the Instantaneous Kinematics of Fully Parallel Robot Manipulators
,”
J. Mech. Transm. Autom. Des.
,
107
(
2
), pp.
226
229
.
21.
Kumar
,
V.
,
1992
, “
Instantaneous Kinematics of Parallel-Chain Robotic Mechanisms
,”
ASME J. Mech. Des.
,
114
(
3
), pp.
349
358
.
22.
Kong
,
X.
, and
Gosselin
,
C. M.
,
2004
, “
Type Synthesis of Three-Degree-of-Freedom Spherical Parallel Manipulators
,”
Int. J. Rob. Res.
,
23
(
3
), pp.
237
245
.
23.
Kong
,
X.
, and
Gosselin
,
C. M.
,
2004
, “
Type Synthesis of 3-DOF Translational Parallel Manipulators Based on Screw Theory
,”
ASME J. Mech. Des.
,
126
(
1
), pp.
83
92
.
24.
Fang
,
Y.
, and
Tsai
,
L. W.
,
2002
, “
Structure Synthesis of a Class of 4-DoF and 5-DoF Parallel Manipulators With Identical Limb Structures
,”
Int. J. Rob. Res.
,
21
(
9
), pp.
799
810
.
25.
Freudenstein
,
F.
, and
Dobrjanskyj
,
L.
,
1964
, “
On a Theory for the Type Synthesis of Mechanisms
,”
Applied Mechanics
,
Springer
,
Berlin
, pp.
420
428
.
26.
Dobrjanskyj
,
L.
, and
Freudenstein
,
F.
,
1967
, “
Some Applications of Graph Theory to the Structural Analysis of Mechanisms
,”
J. Eng. Ind.
,
89
(
1
), pp.
153
158
.
27.
Davies
,
T.
,
1981
, “
Kirchhoff's Circulation Law Applied to Multi-Loop Kinematic Chains
,”
Mech. Mach. Theory
,
16
(
3
), pp.
171
183
.
28.
Angeles
,
J.
, and
Gosselin
,
C. M.
,
1988
, “
Détermination du Degree de Liberté des Chaînes Cinématiques
,”
Trans. Can. Soc. Mech. Eng.
,
12
(
4
), pp.
219
226
.
29.
Zoppi
,
M.
,
Zlatanov
,
D.
, and
Molfino
,
R.
,
2006
, “
On the Velocity Analysis of Interconnected Chains Mechanisms
,”
Mech. Mach. Theory
,
41
(
11
), pp.
1346
1358
.
30.
Zeng
,
Q.
,
Fang
,
Y.
, and
Ehmann
,
K. F.
,
2011
, “
Design of a Novel 4-DOF Kinematotropic Hybrid Parallel Manipulator
,”
ASME J. Mech. Des.
,
133
(
12
), p.
121006
.
31.
Lu
,
Y.
, and
Leinonen
,
T.
,
2005
, “
Type Synthesis of Unified Planar–Spatial Mechanisms by Systematic Linkage and Topology Matrix-Graph Technique
,”
Mech. Mach. Theory
,
40
(
10
), pp.
1145
1163
.
32.
Chen
,
D. Z.
, and
Yao
,
K. L.
,
1998
, “
Topological Synthesis of Fractionated Geared Differential Mechanisms
,”
ASME J. Mech. Des.
,
122
(
4
), pp.
472
478
.
33.
Murphy
,
M. D.
,
Midha
,
A.
, and
Howell
,
L. L.
,
1996
, “
The Topological Synthesis of Compliant Mechanisms
,”
Mech. Mach. Theory
,
31
(
2
), pp.
185
199
.
34.
Pucheta
,
A.
, and
Cardona
,
A.
,
2010
, “
Design of Bistable Compliant Mechanisms Using Precision-Position and Rigid-Body Replacement Methods
,”
Mech. Mach. Theory
,
45
(
2
), pp.
304
326
.
35.
Merlet
,
J. P.
,
1989
, “
Singular Configurations of Parallel Manipulators and Grassmann Geometry
,”
Int. J. Rob. Res.
,
8
(
5
), pp.
45
56
.
36.
Hao
,
F.
, and
McCarthy
,
J. M.
,
1998
, “
Conditions for Line-Based Singularities in Spatial Platform Manipulators
,”
J. Rob. Syst.
,
15
(
1
), pp.
43
55
.
37.
Hopkins
,
J. B.
,
2007
, “
Design of Parallel Flexure Systems Via Freedom and Constraint Topologies (FACT)
,”
Master's thesis
, Massachusetts Institute of Technology, Cambridge, MA.
38.
Hopkins
,
J. B.
,
2010
, “
Design of Flexure-Based Motion Stages for Mechatronic Systems Via Freedom, Actuation and Constraint Topologies (FACT)
,”
Ph.D. thesis
, Massachusetts Institute of Technology, Cambridge, MA.
39.
Hopkins
,
J. B.
, and
Culpepper
,
M. L.
,
2010
, “
Synthesis of Multi-Degree of Freedom, Parallel Flexure System Concepts Via Freedom and Constraint Topology (FACT)—Part I: Principles
,”
Precis. Eng.
,
34
(
2
), pp.
259
270
.
40.
Su
,
H.
,
Dorozhkin
,
D. V.
, and
Vance
,
J. M.
,
2009
, “
A Screw Theory Approach for the Conceptual Design of Flexible Joints for Compliant Mechanisms
,”
ASME J. Mech. Rob.
,
1
(
4
), p.
041009
.
41.
Su
,
H.
,
2011
, “
Mobility Analysis of Flexure Mechanisms Via Screw Algebra
,”
ASME J. Mech. Rob.
,
3
(
4
), p.
041010
.
42.
Su
,
H.
, and
Tari
,
H.
,
2011
, “
On Line Screw Systems and Their Application to Flexure Synthesis
,”
ASME J. Mech. Rob.
,
3
(
1
), p.
011009
.
43.
Yu
,
J.
,
Li
,
S.
,
Su
,
H.
, and
Culpepper
,
M. L.
,
2011
, “
Screw Theory Based Methodology for the Deterministic Type Synthesis of Flexure Mechanisms
,”
ASME J. Mech. Rob.
,
3
(
3
), p.
031008
.
44.
Dai
,
J. S.
,
Li
,
D.
,
Zhang
,
Q.
, and
Jin
,
G.
,
2004
, “
Mobility Analysis of a Complex Structured Ball Based on Mechanism Decomposition and Equivalent Screw System Analysis
,”
Mech. Mach. Theory
,
39
(
4
), pp.
445
458
.
45.
Pham
,
H.-H.
,
Yeh
,
H.-C.
, and
Chen
,
I.-M.
,
2006
, “
Micromanipulation System Design Based on Selective Actuation Mechanisms
,”
Int. J. Rob. Res.
,
25
(
2
), pp.
171
186
.
46.
Hao
,
G.
, and
Kong
,
X.
,
2013
, “
A Normalization-Based Approach to the Mobility Analysis of Spatial Compliant Multi-Beam Modules
,”
Mech. Mach. Theory
,
59
, pp.
1
19
.
47.
Zhang
,
Y.
,
Su
,
H. J.
, and
Liao
,
Q.
,
2014
, “
Mobility Criteria of Compliant Mechanisms Based on Decomposition of Compliance Matrices
,”
Mech. Mach. Theory
,
79
, pp.
80
93
.
48.
Wohlhart
,
K.
,
2004
, “
Screw Spaces and Connectivities in Multiloop Linkages
,”
On Advances in Robot Kinematics
,
J.
Lenarcic
and
C.
Galletti
, eds.,
Springer Verlag
, Dordrecht, The Netherlands, pp.
97
104
.
49.
Cormen
,
T. H.
,
Leiserson
,
C. E.
,
Rivest
,
R. L.
, and
Stein
,
C.
,
2001
,
Introduction to Algorithms
, 2nd ed.,
MIT Press and McGraw-Hill
, Cambridge, MA, pp.
595
601
.
50.
Blanding
,
D. L.
,
1999
,
Exact Constraint: Machine Design Using Kinematic Principles
,
ASME Press
,
New York
.