Keywords

1 Compliant Mechanisms

Compliant mechanisms (CMs) execute the desired work by deriving the mobility from the deflection of their deformable members. Such deflections may be large or small depending upon their applications. CMs assure various advantages e.g., ease in assembly and manufacturing, less wear and frictional losses, more precision and no backlash. Consequently, use of such mechanisms is increasing in the different engineering domains e.g., micro-electro-mechanical systems, aerospace, automotive, bio-medical devices and various other fields.

To synthesize compliant mechanisms, two well established approaches e.g., topology optimization (BendsĆøe and Kikuchi 1988; Sigmund 1997) and Pseudo Rigid Body Models (Howell 2001) exist. Topology optimization entails systematic determination of the material layout via extremising a certain objective with/without some constraints. Methods that employed quadrilateral cells to discretize the design domain suffer from many geometrical singularities (Saxena 2011) mostly related to the point connection between two neighboring elements. Hexagonal cells have natural edge connectivity between two neighboring cells (Saxena 2011). To perform finite element analysis, each hexagonal cell is either divided into six triangular elements (Langelaar 2007), or two quadrilateral shapes (Saxena and Saxena 2007), or modeled as a single element (Saxena 2011).

For path generating CMs, to minimize the discrepancies in the specified and actual paths, objective based on least-square is used (Saxena and Ananthasuresh 2001). Least-square objective does not provide local control for discrepancies in shape, size and orientation of paths. Fourier shape descriptors (FSDs) based objective is employed by Ullah and Kota (1997) to compare individual discrepancies in the shape, size and orientation of paths.

Non smooth paths can be generated either using partial compliant (Rai et al. 2007) or contact-aided compliant mechanisms (Mankame and Ananthasuresh 2004). Prespecified contact surfaces were used in association with FSDs objective (Mankame and Ananthasuresh 2004). Pseudo hinges/sliding pairs (Kumar et al. 2016) get introduced at mating surfaces and consequently configurations (Midha et al. 1994) of CMs change. Reddy et al. (2012) used curve beams to discretize the design space and determined contact locations systematically rather than pre-specifying them to synthesize non-smooth path generating contact-aided compliant mechanism. Kumar et al. (2016) presented continuum discretization based approach to synthesize \( C^{0} \) path generating contact-aided compliant mechanisms with mutual contact.

2 Motivation

Constituting members of CMs while undergoing large deformation may experience self contact, which is implemented herein. Hexagonal cells are used to represent the design space and negative circular masks are placed suitably over it to remove material within cells beneath the overlaying masks to impart the optimum material layout.

Contents of the paper are organized as follows: Sect.Ā 3 briefs the continuum discretization and topology optimization with negative circular masks. Boundary smoothing and finite element formulation are discussed in Sect.Ā 4. SectionĀ 5 outlines contact modeling and analysis. An example on path generating contact-aided compliant mechanism is presented in Sect.Ā 6 followed by the concluding remarks in Sect.Ā 7.

3 Continuum Discretization and Negative Circular Masks

A tessellation of hexagonal cells (\( \Omega _{\text{H}} \)) represent the design domain and negative circular masks (\( \Omega _{\text{M}} \)) are employed to assign the material state \( \rho (\Omega _{\text{H}} ) \) to each cell. Each mask is modeled with three parameters (\( x_{i} ,{\kern 1pt} y_{i} ,{\kern 1pt} r_{i} \)) which constitute the design vector, where \( r_{i} \) is the radius of the \( i{\text{th}} \) mask and \( (x_{i} ,{\kern 1pt} y_{i} ) \) are the coordinates of its center. If \( N \) masks are employed, the design vector contains \( 3N \) parameters. \( \rho_{k} (\Omega _{\text{H}} ) = 0 \) implies cell is void, while \( \rho_{k} (\Omega _{\text{H}} ) = 1 \) represents solid cell. A compliant continuum therefore comprises of all unexposed cells. The boundary of such continua contains many V-notches which pose difficulty in manufacturing, generate stress-concentration regions, and importantly, pose difficulty in convergence of contact analysis (Kumar and Saxena 2015). Mathematically, the material states of any cell can be described as

$$\rho (\Omega _{{\text{H}}} ) = \left\{ {\begin{array}{*{20}l} {0,} \hfill & {{\text{if}}\;\Omega _{{\text{H}}}^{{\text{c}}} \, \subset {\kern 1pt} \,{\text{any}}\;\Omega _{{\text{M}}} (d_{{{\text{ik}}}} - r_{{\text{i}}} \le 0)} \hfill \\ {1,} \hfill & {{\text{if}}\;\Omega _{{\text{H}}}^{{\text{c}}} \, \not\subset \,{\kern 1pt} {\text{any}}\;\Omega _{{\text{M}}} (d_{{{\text{ik}}}} - r_{{\text{i}}} > 0)} \hfill \\ \end{array} } \right.$$
(1)

where \( \Omega _{\text{H}}^{\text{c}} \) represents the centroid of \( \Omega _{\text{H}} \), and \( d_{\text{ik}} \) is the distance between the centers of \( \Omega _{\text{M}} \) and \( \Omega _{\text{H}}^{\text{c}} \) (Fig.Ā 1).

Fig.Ā 1
figure 1

Hexagonal cells \( \Omega _{\text{H}} \) are used to discretize the design space \( \Omega \) (blue curve) and negative masks \( \Omega _{\text{M}} \) (red circles) are placed over them. Unexposed cells comprise the continuum (black solid in (b)). Input force (\( {\mathbf{F}} \)), desired output path (black curve with dots) and fixed boundaries are shown. Surfaces \( s_{1} \) and \( s_{2} \) (shown in (b)), and many such surface pairs, may come in contact

4 Boundary Smoothing and Finite Element Formulation

The obtained final compliant continua by the use of hexagonal cells and negative circular masks contain serrated bounding surfaces (Kumar and Saxena 2015). However, to facilitate contact analysis, it is desirable to have smooth bounding surfaces (Corbett and Sauer 2014). Thus, boundary smoothing scheme is implemented herein to smoothen the bounding surfaces. In this section, we briefly present boundary smoothing scheme and finite element formulation.

4.1 Boundary Smoothing

Boundary smoothing (Kumar and Saxena 2015) is employed to alleviate V notches at the continuum boundary(ies) resulting due to hexagonal cells. Bounding edges of the continuum and boundary nodes are noted. Mid-points of these edges are joined via straight lines. Boundary nodes are projected to these lines along their shortest perpendiculars (Fig.Ā 2a). Positions of boundary nodes are updated and used for finite element analysis. The connectivity matrix remain unchanged. The smoothing process can be implemented multiple times (Fig.Ā 2b). The process may alter some of hexagonal cells into six-noded generic concave polygons (as shown in Fig.Ā 2b). The continuum volume can be reduced further by removing regular cells, i.e., those do not get affected by boundary smoothing. This is equivalent to introducing more negative masks, one for each regular cell, such that the centers of that respective cell and the mask coincide. Smoothing is performed again to eliminate the remnant notches.

Fig.Ā 2
figure 2

Boundary smoothing a boundary nodes are projected along their shortest perpendiculars on straight lines joining mid-points of boundary edges b left with \( \beta = 0 \) and right with \( \beta = 10 \). \( \beta : \) number of boundary smoothing steps

4.2 Finite Element Formulation

The boundary smoothing process (Kumar and Saxena 2015) results in altering some regular hexagonal cells into six-noded generic polygonal cells. These cells are modeled with Mean Value Coordinates based shape functions (Floater 2003; Sukumar and Tabarraei 2004). Elemental stiffness matrix \( {\mathbf{K}}_{e} \) is evaluated as follows: (i) Each cell is divided into six triangular regions with respect to the centroid of that cell. (ii) Integration over each triangle is performed with 25 Gauss-pointsFootnote 1 (Kumar and Saxena 2015). (iii) Summation of such six integrations is done and \( {\mathbf{K}}_{e} \) is obtained. The global stiffness matrix \( {\mathbf{K}}^{glob} \) is evaluated by assembling \( {\mathbf{K}}_{e} \). Likewise the internal force vector \( {\mathbf{r}}_{\text{e}} \) and global internal force vector \( {\mathbf{R}} \) are obtained. When self contact arises the elemental contact force \( {\mathbf{f}}_{\text{c}}^{e} \) and corresponding stiffness \( {\mathbf{K}}_{\text{c}}^{e} \) are evaluated, as below, and placed at their global degree of freedom inside \( {\mathbf{R}} \) and \( {\mathbf{K}}^{glob} \).

5 Contact Modeling and Analysis

Self contact is modeled as quasi-static contact between two deformable bodies in association with augmented Lagrange multiplier method.

Consider two deformable bodies \( {\mathcal{B}}_{01} \) and \( {\mathcal{B}}_{02} \), in their undeformed configurations, to come in contact in their current (deformed) configurationsFootnote 2 . The weak form (Sauer and De Lorenzis 2013) can be written as

$$ \delta\Pi (\varvec{\phi},\delta\varvec{\phi}) = \delta\Pi _{\text{int}} + \delta\Pi _{\text{c}} - \delta\Pi _{\text{ext}} = 0\quad {\forall }\delta\varvec{\phi}\subset \gamma $$
(2)

where \( \varvec{\phi}= (\varvec{\phi}_{{\mathbf{1}}} ,\varvec{\phi}_{{\mathbf{2}}} ) \) is the deformation field for \( {\mathcal{B}}_{1} \) and \( {\mathcal{B}}_{2} \) respectively and the virtual displacement field \( \delta\varvec{\phi}(\delta\varvec{\phi}_{{\mathbf{1}}} ,{\kern 1pt} \delta\varvec{\phi}_{{\mathbf{2}}} ) \) is defined in the space \( \gamma \) of all kinematically permissible deformations. \( \delta\Pi _{\text{int}} \), \( \delta\Pi _{\text{c}} \) and \( \delta\Pi _{\text{ext}} \) are internal, contact and external virtual works respectively. The virtual contact work \( \{ \delta\Pi _{c} = \delta\Pi _{c1} + \delta\Pi _{c2} \} \) (Sauer and De Lorenzis 2013) is defined as

$$ \delta\Pi _{ck} = - \int\limits_{{\delta_{c} {\mathcal{B}}_{k} }} {\mathbf{t}}_{k} .\delta\varvec{\phi}_{k} da_{k} , $$
(3)

where \( \delta_{c} {\mathcal{B}}_{k} \) is the contact surface, \( {\mathbf{t}}_{k} \) is the contact traction and \( a_{k} \) is the contact surface area. Further, indices \( c \) and \( k \) are used to represent contact and two deformable bodies respectively.

5.1 Normal Contact

Consider two points P1(\( {\mathbf{x}}_{ 1} \)) and P2(\( {\mathbf{x}}_{ 2} \)) on bodies \( {\mathcal{B}}_{1} \) and \( {\mathcal{B}}_{2} \) respectivelyFootnote 3 (Fig.Ā 3b). The gap between them is defined as

$$ {\mathbf{g}} = {\mathbf{x}}_{2} - {\mathbf{x}}_{1} . $$
(4)

If \( {\mathbf{g}}.{\mathbf{n}}_{1} \ge 0 \), bodies do not penetrate each other. Here \( {\mathbf{n}}_{1} \) is the normal vector at P1(\( {\mathbf{x}}_{ 1} \)). The distance \( d \) between points is \( ||{\mathbf{x}}_{2} - {\mathbf{x}}_{1} || \). For a given \( {\mathbf{x}}_{2} \subset \partial {\mathcal{B}}_{2} \), we search for a point \( {\mathbf{x}}_{1} \subset \partial {\mathcal{B}}_{1} \) such that \( d \) becomes minimum. That is, we solve for

$$ d_{min} = \mathop { \hbox{min} }\limits_{{{\mathbf{x}}_{1} \subset {\mathcal{B}}_{1}}} (d) $$
(5)

We assume that the boundary surfaces are convex locally. Each material point on \( {\mathcal{B}}_{1} \) is defined using a convective co-ordinates system \( \varvec{\xi}= (\xi^{1} ,{\kern 1pt} \xi^{2} ) \), with \( \frac{{\partial {\mathbf{x}}_{1} }}{{\partial \xi^{\alpha } }} = {\mathbf{a}}_{\alpha }^{1} ;\alpha = 1,2 \). Here \( {\mathbf{a}}_{\alpha }^{1} \) is the tangent vector. The solution of Eq.Ā (5) is obtained by imposing \( \frac{\partial d}{{\partial \xi^{\alpha } }} = 0 \). Since \( \frac{\partial d}{{\partial \xi^{\alpha } }} = \left\{ {\frac{\partial d}{{\partial {\mathbf{x}}_{1} }}.\frac{{\partial {\mathbf{x}}_{1} }}{{\partial \xi^{\alpha } }}} \right\} \), the following two conditions are obtained

$$ \frac{\partial d}{{\partial \xi^{\alpha } }} = - \{ {\mathbf{x}}_{2} - {\mathbf{x}}_{1} (\varvec{\xi})\} .{\mathbf{a}}_{\alpha }^{1} = 0 $$
(6)

Let Eq.Ā (6) holds true for \( {\mathbf{x}}_{1} (\varvec{\xi})|_{{\varvec{\xi}=\varvec{\xi}_{\text{p}} }} = {\mathbf{x}}_{\text{p}} (\varvec{\xi}_{\text{p}} ) \), where at \( {\mathbf{x}}_{\text{p}} \), \( {\mathbf{a}}_{\alpha }^{\text{p}} \) and \( {\mathbf{n}}^{\text{p}} \) are the tangent and normal vectors respectively. The normal gap is evaluated as

$$ g_{n} = ({\mathbf{x}}_{2} - {\mathbf{x}}_{\text{p}} (\varvec{\xi}_{\text{p}} )).{\mathbf{n}}^{\text{p}} . $$
(7)

For discrete surfaces (\( C^{0} \) continuous), surface normals vary at each nodal position. Therefore, for such surfaces, normal is equivalent to

$$ {\mathbf{n}}^{\text{p}} = ({\mathbf{x}}_{2} - {\mathbf{x}}_{\text{p}} (\varvec{\xi}_{\text{p}} ))/g_{n} $$
(8)

where normal gap \( g_{n} = \pm \sqrt {({\mathbf{x}}_{2} - {\mathbf{x}}_{\text{p}} ).({\mathbf{x}}_{2} - {\mathbf{x}}_{\text{p}} )} \). In classical penalty method (Sauer and De Lorenzis 2013), traction \( {\mathbf{t}}_{ck} \) is defined as

$$ {\mathbf{t}}_{{ck}} = \left\{ {\begin{array}{*{20}l} { - \varepsilon _{n} g_{n} {\mathbf{n}}^{{\text{p}}} } \hfill & {{\text{for}}{\kern 1pt} \,g_{n} < 0} \hfill \\ {\mathbf{0}} \hfill & {{\text{for}}{\kern 1pt} \,g_{n} \ge 0} \hfill \\ \end{array} } \right. $$
(9)

where \( \epsilon_n \) is a chosen penalty parameter.

Fig.Ā 3
figure 3

a Each cell is divided into six \( \Delta \) regions and integration is performed. b Points of surfaces coming in contact are determined by finding the minimum distance between them

5.2 Contact Discretization

We employ, the following 2D linear Lagrangian basis functions to represent contact segments.

$$ N_{{{\text{p}}k}}^{1} = \frac{1}{2}(1 - \xi_{\text{P}}^{k} ),\quad N_{{{\text{p}}k}}^{2} = \frac{1}{2}(1 + \xi_{\text{P}}^{k} ) $$
(10)

where \( \xi_{\text{p}}^{k} |{\kern 1pt} {\kern 1pt} (k = 1,2) \) is obtained by solving Eq.Ā (6). The contact virtual work in the discretized system is defined as

$$ \delta\Pi _{ck} { \approxeq }\delta\Pi _{ck}^{h} = \sum\limits_{e = 1}^{{n_{sel} }} \delta\Pi _{ck}^{e} $$
(11)

where \( n_{sel} \) is the number of surface elements \( \Gamma ^{e} \) in the discretized contact segment \( \partial_{c} {\mathcal{B}}_{k}^{h} \). We rewrite Eq.Ā (3) in the discretized segments \( \partial_{c} {\mathcal{B}}_{k}^{h} \) correspond to \( \delta_{c} {\mathcal{B}}_{k} \) as

$$ \delta\Pi _{ck}^{e} = - \int\limits_{{\varGamma^{e} }} \delta\varvec{\phi}_{ck}^{e} .{\mathbf{t}}_{ck} da_{k} ;\quad k = 1,2 $$
(12)

where \( \delta\varvec{\phi}_{ck}^{e} = {\mathbf{N}}_{ck} {\text{v}}_{ck}^{e} \) and \( {\mathbf{N}}_{ck} \) equals \( [N_{{{\text{p}}k}}^{1} {\mathbf{I}}_{2} ,\,N_{{{\text{p}}k}}^{2} {\mathbf{I}}_{2} ] \) with \( {\mathbf{I}}_{2} \) is \( 2 \times 2 \) unit matrix and \( {\text{v}}_{ck}^{e} \) is the virtual displacement vector. Therefore, Eq.Ā (12) is equivalent to

$$ \delta\Pi _{ck}^{e} = - {\text{v}}_{ck}^{e} \int\limits_{{\Gamma ^{e} }} {\mathbf{N}}_{ck}^{T} {\mathbf{t}}_{ck} da_{k} ;\quad k = 1,2 $$
(13)

From Eq.Ā (13) the elemental contact force vector is evaluated as

$$ {\mathbf{f}}_{ck}^{c} = - \int\limits_{{\Gamma ^{e} }} {\mathbf{N}}_{ck}^{T} {\mathbf{t}}_{ck} da_{k} ;\quad k = 1,2 $$
(14)

and thus, elemental contact stiffness matrix is calculated as

$$ {\mathbf{K}}_{ck}^{e} = \frac{{\partial {\mathbf{f}}_{ck}^{e} }}{{\partial {\mathbf{u}}_{k}^{e} }} = - \int\limits_{{\Gamma ^{e} }} {\mathbf{N}}_{ck}^{T} \frac{{\partial {\mathbf{t}}_{ck} }}{{\partial {\mathbf{u}}_{k}^{e} }}da_{k} = - \int\limits_{{\Gamma ^{e} }} {\mathbf{N}}_{ck}^{T} \frac{{\partial {\mathbf{t}}_{ck} }}{{\partial {\mathbf{x}}_{k}^{e} }}{\mathbf{N}}_{ck} da_{k} , $$
(15)

where elemental displacement vector \( {\mathbf{u}}_{k}^{e} = {\mathbf{x}}_{k}^{e} - {\mathbf{X}}_{k}^{e} \). Detailed expressions for contact force vector and elemental contact stiffness are mentioned in (Sauer and De Lorenzis, 2013). We have considered frictionless contact in our implementation.

6 Synthesis Example

We present an example where the compliant mechanism experiences self contact (Fig.Ā 4b) while tracing the specified path. To attain this CM, the objective (Kumar et al. 2016) based on Fourier Shape Descriptors with the given volume constraint is minimized using the Random Mutation Hill Climber method (Kumar et al. 2016). TableĀ 1 depicts the value of different parameters used in the optimization process. FigureĀ 4a describes the design specifications for the compliant continuum. The CM is also analyzed in Abaqus with neo-Hookean material and four-noded plain-strain elements (CPE4I) using the obtained optimal force, boundary conditions, and active self contact locations. The actual path traced by the CM using presented method closely follows the path obtained via Abaqus analysis (Fig.Ā 5c).

Fig.Ā 4
figure 4

a Design Specifications are shown. b The undeformed (red in color) and deformed (blue in color) configurations are shown. Dotted-circle is the zone of self contact. The specified path (black) and the actual path (green) is also shown

TableĀ 1 Parameters used in the synthesis. \( HCH \) and \( HCV \) represent the number of hexagonal cells in the horizontal directions and in the vertical direction respectively
Fig.Ā 5
figure 5

Intermediate deformed configurations of CMs are shown in a, and b. c Compares the specified path (black in color) and the actual path (green in color) and that using Abaqus (red dash-dotted)

FigureĀ 4b depicts the deformed (in blue) and undeformed (in red) configurations of the final optimized compliant continuum. Two intermediate configurations of the CMs, one before contact and one after, are shown in 5a and 5b while tracing the path (green in color). FigureĀ 5c compares the specified, actual and that obtained using Abaqus. The final compliant mechanism is obtained after 5741 search iterations with 104.61Ā N input force.

7 Conclusion

We present a continuum discretization based method to design the optimal topology of a compliant mechanism undergoing self contact. Hexagonal cells are employed for domain representation and negative masks are used for material assignment. Boundary smoothing is used to facilitate contact analysis. Mean Value Coordinates based shape functions are employed for Finite Element Analysis. Hill climber search process is used to optimize the Fourier Shape Descriptors objective to achieve the specified path. Contact-aided compliant mechanisms may find use in special purpose applications, say static balancing, negative stiffness etc. One can also implement both self contact and mutual (two different bodies) contact, a goal, planned for future work.