Skip to main content
Proceedings. Mathematical, Physical, and Engineering Sciences logoLink to Proceedings. Mathematical, Physical, and Engineering Sciences
. 2019 Oct 9;475(2230):20190366. doi: 10.1098/rspa.2019.0366

An efficient numerical approach for simulating contact in origami assemblages

Yi Zhu 1, Evgueni T Filipov 1,
PMCID: PMC6834023  PMID: 31736647

Abstract

Origami-inspired structures provide novel solutions to many engineering applications. The presence of self-contact within origami patterns has been difficult to simulate, yet it has significant implications for the foldability, kinematics and resulting mechanical properties of the final origami system. To open up the full potential of origami engineering, this paper presents an efficient numerical approach that simulates the panel contact in a generalized origami framework. The proposed panel contact model is based on the principle of stationary potential energy and assumes that the contact forces are conserved. The contact potential is formulated such that both the internal force vector and the stiffness matrix approach infinity as the distance between the contacting panel and node approaches zero. We use benchmark simulations to show that the model can correctly capture the kinematics and mechanics induced by contact. By tuning the model parameters accordingly, this methodology can simulate the thickness in origami. Practical examples are used to demonstrate the validity, efficiency and the broad applicability of the proposed model.

Keywords: origami, contact simulation, bar and hinge model, foldability, thick origami

1. Introduction

Origami-inspired structures provide novel approaches to generate engineering structures with unique mechanical properties, such as bistable and multistable behaviours [13], tunable Poisson's ratios [4] and high bearing capacity [5]. The origami-inspired structures have the ability to tune and alter their properties by folding, and thus provide suitable structural solutions to various engineering applications, such as mechanical memory systems [6], pneumatic actuators [7], micro-grippers [8], meta-materials [9] and more.

Two basic questions when considering the foldability in origami are: (i) given a crease pattern, how can we determine if the pattern is foldable? and (ii) even if we do know that the pattern is foldable, how can we determine the correct folding sequence? Extensive research has been carried out to study these problems, but scientists and engineers still find them ‘hard’ [1012]. These problems are justifiably complex, but only deal with the initial folding of an origami pattern. Additional difficult questions relate to what actually happens during folding, for example: (iii) does contact occur during folding? and (iv) can the pattern be folded despite, or with the help of, contact? These questions lead us to a rarely explored topic in origami engineering—the influence of panel contact on foldability, which is a key issue for many engineering applications of origami, especially for designing packaging methods for deployable and reconfigurable structures [13,14]. Even more complexity is added when the thickness of panels needs to be considered [15,16].

The following comparison of a spherical linkage problem and a single vertex folding problem can be used to demonstrate how panel contact adds complexities to the system (figure 1). The spherical linkage problem can be seen as a reduced single-vertex foldability problem where panel contact does not need to be considered. For this reduced problem, there exists a necessary and sufficient constraining equation for judging the validity of a configuration as:

R1R2Rn=I3×3, 1.1

where Ri represents the relative rigid body rotation between adjacent rods in three-dimensional space and I3×3 is a 3 × 3 identity matrix. Readers can refer to [17] for expanded equations of these rotational matrices. This equation simply states that, after combining all the rigid body rotations between adjacent rods (panels), we recover the starting position and thus the linkage is not broken. This equation is also used in studying the foldability of origami tessellations [18,19]. However, even for the foldability problem of a single vertex, the equation does not guarantee the validity of a folded condition—it only states a necessary condition, because it does not account for the presence of panel contact (figure 1b).

Figure 1.

Figure 1.

(a) The kinematics of spherical linkage are easy to compute because no contact needs to be considered. (b) Origami folding is difficult to simulate because of the existence of panel contact. (Online version in colour.)

On top of the foldability problems, there is an even more challenging question to ask: how do the mechanical properties of an origami pattern change once the global panel contact is initiated? The inter-locking of an origami pattern usually induces changes in the mechanical behaviours, such as a sudden stiffness jump studied in [20,21], various locking devices achieved by sequential folding [22] or an inter-locking origami mechanism that sustains forces without adhesion [23]. Such behaviours can be used to design metamaterials and locking devices for various engineering applications. Although finite-element (FE) simulations provide one option for studying the influence of global panel contact on the mechanical behaviour of an origami pattern, it requires tremendous modelling efforts and long computation time to obtain useful results. In many situations, it is difficult to have the desired computing resources or the time schedule to analyse the foldability and eventually the mechanics of origami structures under the influence of panel contact with FE simulations.

Because of the above-mentioned problems, it is difficult to design a foldable structure and eventually analyse its mechanical properties if panel contact were to occur. One way to bypass such problems is to use a thoroughly studied base pattern for the design. For example, with the Miura-ori pattern, a large number of engineering devices were designed, such as deployable tubes with high out-of-plane stiffness [24,25], origami grippers [26], frequency selective surface [27] and metamaterials [4,5,9]. Because the design is based on the Miura-ori, the foldability is preserved and thus the structure is guaranteed to be foldable. However, using pre-existing patterns provides limited geometries for engineering applications, where more generalized patterns are desired.

To resolve the issue of contact, this article presents an efficient numerical approach for studying the influence of global panel contact on the behaviours of origami-inspired structures. The organization of this paper is as follows. First, a brief introduction of different origami modelling techniques and a brief introduction of contact modelling are given. Next, the formulation of the model is derived in detail, which is followed by a numerical verification. After the model derivation, an implementation scheme for including the proposed model within a bar and hinge framework is further elaborated. This scheme is next tested to verify continuity, penetration prevention and contact initiation of the contact model. Moreover, by tuning the model parameters accordingly the proposed model can be used to simulate the thickness of panels in an origami. At the end, computational examples are provided to demonstrate the validity and efficiency of the proposed model. A summary of the nomenclature used in this article is given in table 1.

Table 1.

Nomenclature.

symbol definition
Ri rotation matrix between adjacent panels (rods)
I3 ×3 3 × 3 identity matrix
03 ×3 3 × 3 zero matrix
E Young's modulus of material
A cross-sectional area of a simple bar element
L0 original length of a simple bar element
Π potential energy (strain energy)
f internal force vector
K stiffness matrix
x deformed nodal coordinate (generic)
X reference nodal coordinate (generic)
u deformation vector (generic)
x0, x1, x2, x3 deformed nodal coordinates of the four nodes
X0, X1, X2, X3 reference nodal coordinates of the four nodes
u0, u1, u2, u3 deformation vectors of the four nodes
d distance between the point and the triangle
d0, d0c, d0e initiation thresholds for panel contact
ke potential scaling factor
V volume of the parallelepiped (with a sign)
As0 area square of the parallelogram in zone 0
As2 area square of the parallelogram in zone 2
Ls length square of the distance between two nodes in zone 2
xz0, xz1, xz2 deformed nodal coordinates for three zones

2. An overview of origami simulation and contact modelling

In this section, several related simplified origami simulation techniques will be introduced first. Next a brief introduction of the conventional contact modelling used in FE simulations (often in combination with discrete element (DE) simulations) will be presented. We do not attempt to give a full detailed review of these topics, but instead we focus on why the bar and hinge model with compliant creases is selected for implementation in this article, and how the proposed contact model for origami is different from those models used in FE and DE simulations.

(a). Origami simulation techniques

In past decades, many origami modelling techniques were developed to study the folding and mechanical properties of origami patterns. Among these modelling techniques, FE simulations provide viable options to simulate the behaviour of both rigid and non-rigid origami systems with high resolution, but require very long computation time [28,29]. Besides FE simulations, various simplified models were developed to speed up the simulation. The rigid folding models refer to the type of analysis that only considers the geometry of an origami such as those introduced in [17,19,30]. Given the design of a pattern, this type of analysis uses an integration algorithm (e.g. a modified Euler method) to trace the kinematic path that complies with a geometrical constraining equation such as equation (1.1) [19]. In order to simulate the behaviour of non-rigid origami, models that incorporate panel deformations such as the bar and hinge model are needed. The bar and hinge model represents an origami tessellation as a collection of bar elements and hinge elements [3133]. The bar elements provide in-plane stiffness and the hinge elements capture the out-of-plane behaviours (such as crease folding or panel bending). Such models are used to study the mechanical properties of origami tessellations [2,4,24]. A detailed study on the stiffness and flexibility of the bar and hinge model can be found in [34].

One major shortcoming of these previously mentioned models is that they assume the crease of an origami pattern has no width and thus can be represented as a localized hinge. Such a simplification cannot capture the influence of compliant creases or thickness in an origami pattern, which can be significant in studying the mechanical behaviours of origami, such as bistability in a four-crease vertex [35]. The smooth fold model proposed by Hernandez and co-workers [3639] captures the influence of compliant creases on an origami by explicitly including crease width into the model and solving for the corresponding crease curvature and crease stretching at equilibrium. Zhu & Filipov [40] recently proposed a bar and hinge implementation with compliant creases, which provides a faster simulation technique when only the global behaviour of origami is of interest. Many of the above-mentioned methods have introduced local contact prevention: folding is stopped when a crease is folded by 180° [19,31]. However, using this local locking criterion cannot capture the global panel contact behaviours (for example, the invalid origami configuration in figure 1b). In order to capture the influence of global panel contact on an origami pattern, more sophisticated models are needed.

We next give a brief introduction on the bar and hinge model with compliant creases, because this model is chosen to be the base implementation platform for including panel contact. The model has two basic elements, namely bars and rotational springs (hinges). The bars are the elements that connect two nodes, which are used to provide extensional and shear stiffness for both panels and creases. The rotational springs, on the other hand, are those elements that provide the rotational stiffness about a bar axis as shown in figure 2a, right. A crease is different from a rotational spring as it refers to the shaded region, which is a collection of nodes, bars and rotational springs. Detailed definitions of the bar stiffness and the rotational spring stiffness can be found in [40]. This model is selected for three reasons: (i) this bar and hinge model can effectively simulate the folding kinematics and global mechanics of origami structures with compliant creases; (ii) because this bar and hinge model represents the width of a crease explicitly, it gives a better geometrical representation of origami structures with compliant creases and panel thickness, as shown in figure 2b; (iii) the model only requires a sparse mesh and thus is computationally efficient.

Figure 2.

Figure 2.

A bar and hinge representation of an origami pattern with compliant creases. (a) Left: a real origami-inspired structure; centre: a bar and hinge representation; right: a rotational spring is used to provide out-of-plane stiffness about a bar axis. (b) Bar and hinge representation with compliant creases captures the contact geometry better than with concentrated hinges. (Online version in colour.)

(b). Conventional approaches for contact simulation

Although modelling of global panel contact in origami is rarely studied, contact modelling in FE models (often in combination with DE models) is a more robust field of research. It is not our focus to introduce the field in a detailed manner, but we focus more on how the origami contact problem is different from conventional contact simulation within an FE framework.

The contact simulations in FE analysis can be roughly split into two major topics: contact detection and contact mechanics [41,42]. Contact detection mostly focuses on determining the geometrical relationship between different bodies and searching for contacting elements. A variety of methods can be selected based on the geometrical characteristics or other special properties of the system for optimal efficiency [4347]. FE simulation usually requires a fine mesh for useful results, and thus the number of degrees of freedom involved in contact detection is typically large. Because of the large number of degrees of freedom, a key objective in the implementation of contact detection is to find ways that will bring down the overall computational cost. For example, in many modern software programs contact is only tracked on user pre-specified surfaces, and not over the entire model domain. However, only a sparse mesh is needed to capture the geometry, kinematics and global mechanics for origami simulations, and thus much fewer degrees of freedom are required for simulating an origami than performing typical FE simulations (such as those in [48]). Therefore, the key issue in origami contact is not how to reduce the number of areas for contact detection, but instead how to capture the contacting geometry correctly even when the contacting nodes are sparsely spaced.

The field of contact mechanics focuses on the force law used to obtain the correct model response. Adams & Nosonovsky [49] gives a thorough review of various models for contact mechanics. So far, no significant exploration has been performed on the contact force laws for origami structures and how the force laws can influence the foldability or other mechanical behaviours of an origami. In the proposed model, we assume that the contact forces of an origami structure are conservative, which is also assumed when deriving the basic mechanics of the bar and hinge model [31,32]. With this assumption, the frictional components of contact forces are neglected; however, we believe these to be insignificant to our objectives for the following reasons. First, friction is not required to capture contacts that would influence the foldability of an origami pattern. Second, the prevention of penetration is more important for capturing mechanical behaviours where origami experiences contact, as will be demonstrated with examples. In the future, we believe that enhancements of this work could incorporate more advanced contact models (e.g. with friction) if they are deemed necessary.

3. Formulation of global panel contact

(a). Methodology: principle of stationary potential energy

We start the formulation of panel contact simulation with a brief review of the principle of stationary potential energy. We will use the principle to derive the internal force vector and the stiffness matrix of a one-dimensional extensional bar element. To simplify our derivation, it is further assumed that the bar has a constant stiffness (EA/L0), where E is Young's modulus, A is the area of the bar section and L0 is the original length of the bar. The total Lagrangian approach is used to formulate the equations, and the potential energy of a bar element can be written as

Πbar=EA2L0((x1x2)2L0)2, 3.1

where the x1 and x2 are the current (deformed) configuration of the two nodes on the one-dimensional axis, and the term (x1x2)2L0 measures the elongation of the spring. By taking the gradient of the potential, the internal force vector fbar is obtained as

fbar=Πbaru=Πbarx=EAL0((x1x2)2L0)(x1x2)2[x1x2x2x1], 3.2

where x = [x1, x2]T are the current nodal coordinates represented as a 2 × 1 vector. The displacement vector u is defined as u = x − X, where uppercase X = [X1, X2]T is the reference (undeformed) nodal coordinate vector. Because the reference configuration is constant we have (∂Πbar)/(∂u) = (∂Πbar)/(∂x). By further taking the Hessian of the potential, we obtain the stiffness matrix Kbar of the spring,

Kbar=2Πbaru2=2Πbarx2=EAL0[1111], 3.3

which gives back the constant spring stiffness that we assumed. In the formulation of panel contact, the same procedure of using the principle of stationary potential energy will be followed, except that the calculations involve more nodes and are thus lengthier.

(b). Contact potential, force vector and stiffness matrix

To simulate the contact between panels, a repulsive force field is added around each triangulated panel (referred to as triangle in the following text). This force field acts on three nodes of the triangle and another node (referred to as the point in the following text) from another triangle. Figure 3 illustrates the concept with the node surrounded by two concentric circles referring to the point. In the proposed model, the repulsive forces grow to infinity as the distance between the point and the triangle approaches zero such that panel penetration is prevented.

Figure 3.

Figure 3.

(a) Panel penetration prevention is achieved by creating an imaginary repulsive force field around the triangle. This internal force vector acts on the point and the three nodes of the triangle. (b) The closest distance from the point to the triangle d and the definition of nodal coordinate vectors and displacement vectors. (Online version in colour.)

We assume that the contact force is conservative so that we can derive it by prescribing a potential function using the principle of stationary potential energy (see §2b for justification). We set three requirements in selecting a proper potential function: (i) the function should produce a continuous force field (continuity); (ii) the function should give infinite forces and stiffness as the distance between the point and the triangle approaches zero (penetration prevention), and (iii) the function should have a piecewise formulation such that the repulsive forces are only triggered when the point is close to the panel and are zero otherwise (contact initiation/disengagement). To achieve these three requirements, the contact potential is constructed using the closest distance d (figure 3) between the triangle and the point and is expressed as

Π(d(x))={ke{ln[sec(π2πd2d0)]12(π2πd2d0)2}(dd0)0(d>d0), 3.4

where d0 is the threshold when the repulsive force is triggered and ke is a constant used to scale the magnitude of the potential. When d > d0 the potential is zero so that there is no repulsive forces and no additional stiffness. In the most general situation, the point to triangle distance d is a function of all four deformed nodal coordinates x0, x1, x2 and x3 (figure 3b). The form of this contact potential equation is inspired from the MERLIN formulation [31], where a similar combination of ln() and sec() functions is used to stop the folding process once a crease is folded by 180°. With the potential equation formulated, we can obtain the corresponding internal force vector by taking the gradient of the contact potential as

f=Πu=Πx={ke{π2d0(π2πd2d0tan(π2πd2d0))dx}(dd0)0(d>d0), 3.5

where u is the corresponding nodal displacement vector of the four nodes and is defined as u = x − X, following the convention of using lowercase x for a deformed configuration and uppercase X for an undeformed (reference) configuration. Because the nodal coordinate vector of the undeformed configuration X is constant, we have (∂Π)/(∂x) = (∂Π)/(∂u). Similarly, the stiffness matrix can be constructed by taking the Hessian of the potential as

K=2Πu2=2Πx2={ke{π2d0(π2πd2d0tan(π2πd2d0))2dx2+(π2d0)2[sec2(π2πd2d0)1](dx)(dx)T}(dd0)0(d>d0). 3.6

(c). Definition of the point to triangle distance d

There are three different cases for defining the point to triangle distance d as demonstrated in figure 4a. These cases can be determined by projecting the point onto the plane formed by the three nodes of the triangle. Appendix A shows how to numerically determine in which of the three contact zones the projection lies.

Figure 4.

Figure 4.

(a) Three zones where the point to triangle distance d is calculated differently. (b) Nodal coordinates and displacement vectors used in zone 0. (c) Illustration of calculating the point to triangle distance in zone 0. (d) Nodal coordinates and displacement vectors used in zone 1. (e) Nodal coordinates and displacement vectors used in zone 2. (f ) Illustration of calculating the point to triangle distance in zone 2. (Online version in colour.)

If the projection is located within zone 0, then the point to triangle distance is a node to plane distance, which can be calculated as

d=V2As0={(x0x1)T[(x2x1)×(x3x1)]}2[(x2x1)×(x3x1)]2. 3.7

The above equation calculates the distance d by dividing the volume of the parallelepiped by the area of the parallelogram (figure 4c), which is in the form of a triple product of three vectors over the value of a cross product of two vectors. Square-root-of-square is used to obtain an absolute value of point to triangle distance d. As0 is defined to represent the square of the area of the parallelogram in zone 0 formed by the three nodes of the triangle as in figure 4c. In zone 0, the nodal coordinate vector and nodal displacement vector are both 12 × 1 vectors and can be written as xz0 = [x0T, x1T, x2T, x3T]T and uz0 = [u0T, u1T, u2T, u3T]T, respectively, where the individual nodal quantities x0, x1, x2, x3, u0, u1, u2 and u3 are defined according to figure 4b.

If the projection is located within zone 1, the point to panel distance is calculated as a node to node distance, which can be expressed as

d=(x1x0)T(x1x0). 3.8

Without loss of generality, we assume that node 1 is closest to the point. This case is relatively simple and is demonstrated in figure 4d. In this zone, because only two nodes are used to construct the point to triangle distance, the nodal coordinates vector and nodal displacement vector are both 6 × 1 vectors and are defined as xz1 = [x0T, x1T]T and uz1 = [u0T, u1T]T, respectively (figure 4d).

If the projection is located within zone 2, the point to triangle distance d is the point to line distance as illustrated in figure 4e. It is assumed that the point is closest to the line segment formed by node 1 and node 2, and the point to triangle distance is calculated using

d=As2Ls=[(x0x1)×(x2x1)]2(x2x1)T(x2x1), 3.9

which is in the form of an area of a parallelogram over the length between the two nodes (figure 4f ). As2 represents the square of the area of the parallelogram formed with the three nodal coordinates in zone 2 and Ls represents the square of the length between node 1 and node 2. In zone 2, because three nodes are used to construct the point to triangle distance, the corresponding nodal coordinate vector and nodal displacement vector are both 9 × 1 vectors and are written as xz2 = [x0T, x1T, x2T]T and uz2 = [u0T, u1T, u2T]T, respectively (figure 4e).

(d). Calculation of gradient and Hessian of d

After computing the point to triangle distance d, its gradient and Hessian need to be calculated so that equations (3.5) and (3.6) can be used to calculate the contact force vector and the stiffness matrix. Because the point to triangle distance has different formulations in different zones, the gradient and Hessian of d also need to be calculated separately.

In zone 0, the point to triangle distance is calculated using equation (3.7). Based on this formulation, the gradient of d can be calculated using

dx=dxz0=ηAs2Vxz012ηVAs23As2xz0, 3.10

where η = sign(V ) is the sign of V . The Hessian of d is

2dx2=dxz02=ηAs02Vxz0212ηAs03(Vxz0)(As0xz0)T12ηVAs032As0xz0212ηAs03(As0xz0)(Vxz0)T+34ηVAs05(As0xz0)(As0xz0)T. 3.11

As defined in the previous section, As0 is the square of the area of the parallelogram formed by the three nodes of the triangle, and V is the volume of the parallelepiped (figure 4c). Because four nodal coordinates are used to define the point to panel distance d in zone 0, the gradient of d in zone 0 is a 12 × 1 vector while the Hessian of d will give a 12 × 12 matrix. To finish this calculation, it is necessary to calculate the gradients and Hessians of V and As0 as summarized in appendix B.

In zone 1, the point to triangle distance is calculated using equation (3.8), so the gradient can be calculated using

dx=dxz1=[(dx0)T,(dx1)T]T=[1d(x0x1)T,1d(x1x0)T]T, 3.12

and the Hessian can be calculated using

2dx2=2dxz12=[2dx0x0,2dx0x12dx1x0,2dx1x1]=[1dI3×31d3(x0x1)(x0x1)T1dI3×3+1d3(x0x1)(x0x1)T1dI3×3+1d3(x0x1)(x0x1)T1dI3×31d3(x0x1)(x0x1)T]. 3.13

The symbol I3×3 represents a 3 × 3 identity matrix. Because only two nodal coordinates are used to construct the point to panel distance in zone 1, (∂d/∂xz1) is a 6 × 1 vector and (∂2d/∂xz12) is a 6 × 6 matrix.

In zone 2, the point to panel distance is calculated using equation (3.9). The gradient is calculated using the following equation:

dx=dxz2=121As2LsAs2xz212As2Ls3Lsxz2, 3.14

and the Hessian is calculated as

2dx2=2dxz22=121As2Ls2As2xz22141As23Ls(As2xz2)(As2xz2)T141As2Ls3(As2xz2)(Lsxz2)12As2Ls32Lsxz22141As2Ls3(Lsxz2)(As2xz2)T+34As2Ls5(Lsxz2)(Lsxz2)T. 3.15

Because three nodal coordinates are used to construct the distance d, the gradient of d is a 9 × 1 vector and the Hessian is a 9 × 9 matrix. The results of calculating (∂As2/∂xz2), (∂2As2/∂xz22), (∂Ls/∂xz2) and (∂2Ls/∂xs22) are summarized in appendix B.

(e). Numerical verification

In this section, the three requirements previously proposed for the formulation will be verified numerically. These three requirements are: (i) continuity, (ii) penetration prevention, and (iii) contact initiation/disengagement.

To test requirements (ii) and (iii), a triangular panel is set still in space by defining three nodal coordinates as: x1 = [0, 0, 0]T, x2 = [1, 0, 0]T and x3 = [0, 1, 0]T. The initiation threshold is set as d0 = 1. The coordinates of the point are set to be x0 = [0.2, 0.2, z]T, where z is the height of the point. The value of z is changed from 2 gradually to zero, representing the situation when the point gradually approaches the panel. As the point to panel distance goes to zero, both the reacting internal forces and the stiffness are approaching infinity (figure 5b,c). Figure 5b,c also demonstrates that the proposed model will not generate any additional internal forces or stiffness unless the point approaches the panel closer than the contact initiation threshold (d < d0). This simulation shows that the formulation satisfies requirements (ii) and (iii).

Figure 5.

Figure 5.

(ac) Numerical verification of penetration prevention and contact initiation (requirements 2 and 3). (b) Z-direction forces with respect to the point to triangle distance d. (c) Z-direction stiffness with respect to the point to triangle distance d. (df ) Numerical verification for continuity of the internal force between different zones (requirement 1). The point (node surrounded by two concentric circles) is moved across the panel by changing δ while the reaction forces and directional stiffness are recorded. (e) Z-direction reaction force with respect to the location of the point (node surrounded by two concentric circles) measured with δ (the contact force is always continuous). (f ) Z-direction stiffness with respect to the location of the point (although continuous in this example, stiffness does not need to be continuous in general conditions). (Online version in colour.)

Because the point to panel distance is defined for three zones separately, it is necessary to test requirement (i) to ensure that the internal forces are indeed continuous when the point crosses between different zones. This test is performed by moving the point across the panel and recording the internal forces and stiffness (figure 5d). A variable δ is used to control the location of the point, and the test is performed for three different values of height z. Figure 5e,f shows the internal forces and stiffness with respect to the location of the point when it moves across the panel. The recorded internal forces are indeed continuous when the point moves across the three zones, thereby numerically demonstrating a satisfactory performance for requirement (i) on continuity. Although z-direction stiffness is continuous for this particular test, it is not continuous for general situations. To ensure compliance with the principle of stationary potential energy, the stiffness does not need to be continuous but only needs to be integrable.

The Matlab code for performing such numerical verification is provided in the electronic supplementary material (Verification1 ForceChecking.m). With this code, more variations of geometries of the point and the triangle were tested and they all meet the three requirements. The two examples are selected because they are representative. Readers may refer to the electronic supplementary material for further details.

4. Implementation of panel contact in a bar and hinge model with compliant creases

In this section, we demonstrate the implementation of the proposed global panel contact model within the bar and hinge model with compliant creases, which was previously introduced in §2. A detailed formulation of the bar and hinge model with compliant creases without contact can be found in [40].

(a). Implementation scheme

Table 2 summarizes the procedure to include the proposed panel contact formulation into any bar and hinge model. The loops in the pseudo-code are set to cycle through different combinations of points and triangles. Once a combination is selected, we will check the relative position between the point and the triangle to determine the correct zone (appendix A), and calculate the point to triangle distance with equations (3.7)–(3.9). If this distance is small enough to initiate the contact process, the additional internal forces vector and stiffness matrix will be computed based on equations (3.5) and (3.6). With the calculation of the internal force vector and stiffness matrix established, the equilibrium path of the folding structure can be traced with various increment-iterative methods (such as the modified generalized displacement controlled method). Readers may refer to [31] for the use of the modified generalized displacement controlled method in analysing nonlinear origami, and to [50,51] for details about nonlinear solution schemes.

Table 2.

Pseudo-code for the implementation of panel contact.

graphic file with name rspa20190366-i1.jpg

The implementation scheme in table 2 includes a double-loop through all the panels, which makes it quadratically more expensive than the computation of assembling the stiffness matrix. This additional computational cost is expected when solving the foldability problem of an unknown new origami pattern, because it is necessary to check all possible panel contact combinations. If we need to exhaust all combinations for new patterns, it is not wise to use a finely meshed FE model to simulate folding because the computation cost would be enormous. The proposed bar and hinge implementation provides a lower cost alternative to FE models, because the folding sequence and contact can be captured using a sparse distribution of nodes. If more accurate estimations of the structure and associated contact mechanics are required, FE models would be used next. Additionally, because the nature of the origami contact would be already known (from the sparse global simulation), the FE models could be built to only detect and capture contact where it is expected to occur. This two-model approach for simulating folding and contact in origami would be drastically more efficient than using FE models for the entire process.

When implementing the proposed model, it is possible to omit checking for contact between some combinations of the points and the triangles. Such omissions can save a considerable amount of computational time without introducing large errors into the simulation. When contact is implemented in the bar and hinge model with compliant hinges [40], it is possible to make two types of such omissions. First, nodes in the centre line of the creases (three crossed nodes in figure 6a) can be neglected for panel contact. This simplification will not introduce large errors into the simulation because the creases are usually narrow compared with the panels. Therefore, when a triangle is approaching the nodes at the centre of a crease, the nodes on the adjacent panels (two nodes indicated with dashed lines in figure 6a) are enough to stop the movement of the triangle. Second, it is not necessary to check for contact between nodes sharing the same crease from adjacent panels (figure 6b). This rule is introduced so that the tensile repulsive force within a crease is avoided if the initiation threshold d0 is larger than the width of the crease W. This simplification generally works well because the only possibility that these combinations will contact is to fold the crease to 180°, which is already captured by other nodes, as shown in figure 6c. If these two types of omitted contact are deemed necessary for a particular origami pattern, it is not hard to check them because the compliant creases are triangulated and thus the same contact model applies.

Figure 6.

Figure 6.

Intentional and unintentional omissions of contact. (a) The three nodes (crossed) on the centre of the creases do not need to be checked for contact. (b) When the point–triangle combinations share the same compliant crease, they do not need to be checked for contact. This omission also allows the model to avoid a fictitious contact force (bold arrow P) for narrow creases. (c) Excluding combinations in (b) is acceptable because the contact is already captured by other point–triangle combinations. (d) Because the nodes are sparsely located, there exist situations where contact is unintentionally neglected. When such a case is observed, adding additional nodes at the edge of the panels can solve the problem. (e) Similar to (d), edge to edge contact cannot be captured with the proposed method without adding more nodes to the edges. (Online version in colour.)

Figure 6d shows one limitation of the proposed implementation scheme. Because of the sparsity of nodes in a bar and hinge representation of an origami structure, sometimes direct panel to panel contact cannot be captured. Fortunately, most of the origami patterns do not encounter this problem, but, if it were to occur, it could be solved by sub-discretizing the triangular panel and adding additional nodes to the edges of the origami, as illustrated in figure 6d. Similarly, the edge to edge contact cannot be captured by the proposed model without adding more nodes to the edges (figure 6e).

(b). Behaviour of global panel contact simulation

In this section, we study how the proposed panel contact formulation behaves when implemented within a bar and hinge model with compliant creases. A simulation example with a single compliant crease is used to demonstrate the behaviour of the proposed model. The single-fold origami is simply supported as shown in figure 7a, and the loading set-up is illustrated in figure 7b. Three model parameters can be used to adjust the behaviour of the panel contact simulation for origami structures. These parameters include: (i) the potential scaling factor ke, (ii) the contact initiation threshold d0e for nodes at the edge of the panel, and (iii) the contact initiation threshold d0c for nodes at the centre of the panel (figure 7d).

Figure 7.

Figure 7.

(a) Geometry and support set-up of the single-fold origami pattern. (b) Loading set-up for the single-fold origami. (c) Geometry and loading set-up for the double-fold origami. (d) Model constants and side view of loading set-up. (e) Loaded configuration when d0e = d0c = 4.0 mm. (f ) Loaded configuration when d0e = d0c = 2.0 mm. (g) Force–displacement curves with respect to different ke. (h) Force–displacement curves with respect to different contact initiation thresholds d0 (d0 = d0e = d0c). (i) Internal force distributions with respect to different d0c/d0e ratios. (j) Comparison of simulated support reactions and theoretical results for the single-fold origami in (b). (k) Comparison of simulated support reactions and theoretical results for the double-fold origami in (c). (Online version in colour.)

The influence of the potential scaling factor ke is studied first. In this test, the length of the upper panel is set to be x = 1.6 cm, while the length of the lower panel is set to be L = 2 cm (figure 7b). The width of the crease is set as W = 4 mm, which represents realistic origami structures with compliant creases. The panel contact initiation threshold is set as d0 = d0e = d0c = 2 mm and different values of ke are used to form a group of simulations. The upper panel is first self-folded to θ0 = 0.1π before the nonlinear loading starts. The height of the node on the outer edge of the upper panel is denoted as z and is used to measure the deformation. Figure 7g shows that the potential scaling factor ke can be used to control the smoothness of the transition when panel contact is initiated. When a larger ke is used, a larger contact force vector and a stiffness matrix are obtained, which results in a sharper transition after triggering panel contact. By controlling the value of ke, it is possible to tune the behaviour of the model such that it simulates the existence of thickness in origami. When ke = 0.02 or higher for this case, a sharp transition occurs such that the height of the node on the outer edge practically stops at z = 2 mm, which mimics the loaded configuration of having a 2 mm thick panel (1 mm on each side). If only general contact is of interest, a lower ke can be used for a smoother transition, which would be beneficial for faster model convergence.

Both the absolute magnitude of d0e and d0c and the relative ratio between them can affect the deformed configuration and contact forces of the structure. In order to simulate thickness in origami, the potential scaling factor is set as ke = 0.05 so that a sharp initiation of panel contact is obtained. By setting d0 = d0e = d0c, we can study the influence of the absolute values of d0c and d0e on the behaviour of the model. Figure 7e,f shows how the deformed configuration changes when different values of d0 are used, and figure 7h shows the corresponding force–displacement curves. A larger value of d0 leads to earlier initiation of contact and thus larger contact forces. When the same load is applied, the model with larger d0 has larger separation between panels (figure 7e,f ), and the separation (measured with z) is exactly around the value of d0, which represents the behaviour including panel thickness in simulating origami.

Figure 7i shows that, by varying the ratio between d0c and d0e, different contact force distributions can be obtained. The symbols Ic and Ie refer to the contact forces of nodes at the centre and nodes at the edge of panels, respectively (figure 7b,d). If the panels are relatively thin compared with the width of the crease W, the edge of the panels will contact first and thus the internal contact forces should be centred at the edges. This behaviour can be simulated by setting d0c/d0e to be a relatively small value (less than 0.7), as shown in figure 7i. On the other hand, if the panels are relatively thick compared with the widths of the creases or if there are extruded parts in the centre of the panels (e.g. motors, sensors or batteries in some mechanical origami devices), a larger d0c/d0e value can be used such that the contact forces are concentrated at the centre node of the panel.

Next, we check if the proposed model can capture the reaction forces correctly for both the single-fold origami and another double-fold origami (figure 7c). This test is performed by varying the length of the upper panel x and comparing the simulated support reactions with the theoretical solutions. In these particular tests, the panel length is set as L = 2 cm and the width of the crease is set as W = 1.5 mm. The potential scaling factor is set as ke = 0.0002 and the two initiation thresholds are set as d0e = 1.5 mm and d0c = 1.05 mm such that contact forces concentrate on the node at the outer edge. Figure 7j,k shows how the support reactions change as x/L varies. It is found that the proposed panel contact model can simulate the support reactions correctly, which further confirms the model's compliance with the principle of stationary potential energy.

Readers can refer to the electronic supplementary material (Verification2 SingleFold.m and Verification3 DoubleFold.m) for the Matlab codes that simulate the two tests performed in this section. In general, we recommend selecting the d0 to be relatively close to the real panel thickness such that the simulation has a similar geometry to the real structure. When the real thickness of the panel is small, however, we recommend that d0 is set to be larger than the real thickness to avoid numerical instability. Values around 2–5% of the panel length can be a good initial guess. The selected ke value should scale the contact potential such that it is comparable to the strain energy (potential energy) stored within the structure under elastic deformation. If the contact potential is much larger than the strain energy in the structure or vice versa, adding the two energy terms can result in numerical instability. Unfortunately, selecting the proper ke is largely based on the trial-and-error method (e.g. similar to picking a load step in a Newton–Raphson method).

One limitation of the current simulation code is that the contact forces can grow to infinity without considering the material failure within the structure. The material model used in this bar and hinge model assumes elasticity and cannot capture yielding, softening or brittle failures in the material. This indicates that the stiffness and force jump is credible but only to a point when the material stress and strain are not large enough to trigger failure. When material failure does occur, the stiffness and forces should decrease and should not go to infinity. More realistic responses can be obtained if we adjust the bar model and the rotational spring model such that they can mimic material failure, but these topics are beyond the scope of this work and are seen as potential future research directions.

5. Numerical examples

In this section, four simulations are performed to demonstrate the efficiency and capability of the proposed model. These simulations are designed to test the proposed model with more complicated patterns beyond those in the previous sections. Both self-folding simulations and loading simulations are tested within the four examples. The Matlab codes for all four simulations are provided in the electronic supplementary material for reference. Readers may refer to these codes for further details about the four simulations.

(a). Self-folding of a box

This example studies the self-folding of a box pattern (figure 8a). The four actively moving panels are 2 × 2 cm2 and are connected with 3 mm wide creases. The potential scaling factor is set to be ke = 0.002 and the contact initiation distances are d0c = d0e = d0 = 2 mm. The self-folding is achieved by changing the stress-free angle of the folds incrementally and tracing the equilibrium with a Newton–Raphson algorithm. In this example, folding is performed with two steps: (i) the two side panels are folded to 0.3π (figure 8c, circle 1); (ii) the two centre panels are next folded to 0.8π such that the two side panels will contact with the anchored panel (figure 8c, circles 2–4). The corresponding strain energy is recorded and plotted in figure 8b. The strain energy is calculated based on the assumed linear elasticity in both the bar elements and the rotational spring elements, and the contact potential is excluded from the energy calculation such that the energy term only contains the elastic strain energy. With the assumed linear elasticity, the strain energy in bars is calculated as 0.5 (EA/L0)(δL)2 and the strain energy in rotational springs is calculated as 0.5Kspr(δθ)2, where (EA/L0) gives the stiffness of the bar, δL gives the change in bar length from the stress-free length, Kspr gives the spring stiffness and δθ gives the change in rotation angle from the stress-free angle.

Figure 8.

Figure 8.

(a) Initial flat configuration and the folded configuration shown with contact forces in the structure after self-folding. (b) Energy plot of the structure. (c) Different configurations during the folding process. (Online version in colour.)

When no panel contact is initiated, the Newton–Raphson algorithm can always find an equilibrium configuration that is stress free, and, thus, no strain energy is observed. However, when the panels come into contact with each other, the stress-free configuration is no longer an equilibrium configuration. Strain energy is stored in the structure because panel contact interferes with the self-folding process. A wall-clock time of 20 s was recorded on a desktop computer with an i7-7700 processor for this simulation, which demonstrates the efficiency of the proposed method.

(b). Loading of an inter-locking box corner

In this example, the folding and loading of an inter-locking box corner is studied. Both simulations with and without the panel contact are performed and the results are compared. Each panel of the box is a 6 × 6 cm2 square. The width of the two creases that connect the two large panels is 4 mm, while the width of the two creases that connect the two teeth is 8 mm. The two teeth are about 2 cm wide at the base and 3 cm tall. Readers can refer to the Matlab codes in the electronic supplementary material for dimension details. The potential scaling factor is selected as ke = 0.02 and the contact initiation thresholds are set as 4 mm for edge nodes and 2 mm for centre nodes. The box is first folded to an inter-locked configuration (figure 9a) by changing the stress-free angle of the creases incrementally and tracing the equilibrium with a Newton–Raphson algorithm. After reaching the inter-locked configuration, a point load is added and the displacement is measured as indicated in figure 9a bottom left. The recorded force–displacement curves are shown in figure 9b for the two cases and the deformed configurations are plotted in figure 9a.

Figure 9.

Figure 9.

(a) Self-folding and loading of the locking box corner. The configurations on the upper branch are loading results with panel contact, while the configurations on the lower branch are without panel contact. (b) Force–displacement curves for the two simulations. Displacement is measured from the folded configuration just before the loading phase starts. (Online version in colour.)

The proposed method is capable of capturing the deformed configuration under the influence of panel contact. The force–displacement curves plotted in figure 9b show that the proposed model is capable of capturing the additional stiffness induced by the inter-locking effects which, in turn, results in a higher force for the same displacement. Moreover, figure 9a also demonstrates that the proposed model can capture panel deformation after contact in a global sense, although this simulation cannot capture localized panel deformation such as dimples near the contact point. Including the panel contact to stop panels penetrating each other is essential for capturing a realistic mechanical behaviour of this box corner. The wall-clock time for running the entire analysis (including a sequential folding analysis and a loading analysis) was recorded to be 21 s on the same computer with an i7-7700 processor.

(c). Folding sequence of a box corner

The following example demonstrates how the proposed method can be used to study the folding sequence of a foldable origami pattern. The pattern studied here has four creases numbered with A, B, C and D, as shown in figure 10a. When the folding sequence is assigned correctly, the pattern can be folded to an inter-locked configuration, as shown in figure 10b. Even with this simple pattern, there exists a large number of design parameters that can be varied and explored for an optimal design, including pattern geometry, folding speed and folding sequence. We will only focus on the folding sequence and fix the pattern geometry and the folding speed for this example. The geometry of the pattern is shown in figure 10a, where all creases have the same width W = 4 mm. Creases A, B and C are all folded by 90° while crease D is folded by 180° in the folded configuration. To further simplify the simulation, the folding of all four creases is achieved with a fixed number of increments. Therefore, the folding speed of crease D is twice the folding speed of creases A, B and C. We have also found several folding sequences where we cannot determine if the structure folds correctly or not, as shown in figure 10d. In these folding sequences, there is a folding motion that involves pushing the triangle panel towards the vertical side panel. Because the two panels share the same plane, the triangle panel is pushed to either the correct position or the incorrect position depending on numerical errors, and different simulation set-ups such as total folding steps. We mark these cases as ‘maybe’ to differentiate them.

Figure 10.

Figure 10.

(a) Definition of creases A, B, C and D (all lengths measured from the centre of creases). (b) A correctly locked folded configuration. The corresponding sequence is 1-2-2-3 for creases A, B, C and D, respectively. (c) An incorrectly folded configuration. The corresponding sequence is 1-1-1-2 for creases A, B, C and D, respectively. (d) A folding sequence that we cannot determine if the result is always correct or incorrect. This sequence involves a motion where we fold the triangle panel towards the side panel, and because the two panels share the same plane, different results can be obtained depending on the loading set-up. (e) Summary of all possible combinations of the pattern folding sequence. Only seven out of the 75 possible combinations give the desired configuration. (Online version in colour.)

The total number of combinations of folding sequence available for an n-crease pattern follows the ordered Bell number sequence or Fubini number sequence (A000670 sequence in the On-Line Encyclopedia of Integer Sequences). This number sequence counts the number of weak orderings on a set of n elements (n folds in our case) [52]. This integer number sequence scales faster than n! [52] and thus, for a general n-crease pattern, exhausting all possible folding sequence combinations requires a large amount of computational effort. At n = 4, the pattern gives a total number of 75 possible folding sequence combinations. The results for checking these 75 combinations are summarized in figure 10e. The required wall-clock time to run one single analysis is recorded to be 15 s on the same computer with an i7-7700 processor. To cycle through all 75 different combinations, it requires a total time of about 1200 s, which by today's standards is small. Moreover, this analysis was performed on only one thread of the processor, yet each folding sequence test could be run in parallel, and the overall processing time would be divided by the number of tests run in parallel. However, if we use FE simulations to cycle through all combinations where each run of analysis can take tens of minutes or even hours, the required computation time can become unaffordable to fit into a desired design schedule. Also, the number of combinations can grow at an alarmingly fast rate if we start adding more design parameters such as folding speed and pattern geometry. If the analysis required us to further explore these additional parameters, the efficiency in the proposed model can be of great benefit.

(d). Loading of an inter-locking origami

The following example analyses one inter-locking origami of those studied in [23]. The basic pattern of the design is based on the Miura-pattern and thus is rigid foldable. When two such patterns are placed on top of each other and folded, they create an inter-locking system which can resist a considerable amount of force without any gluing or adhesion. In the following example, we recreate the inter-locking origami with the proposed panel contact model. In order to demonstrate the versatility of the proposed model, the conventional bar and hinge model without compliant creases is used for the simulation. It is reasonable not to use the compliant hinge version of the bar and hinge model as the additional degrees of freedom in the crease region are not a significant factor in this particular example.

Figure 11a shows the loading set-up of the simulation. The origami on the bottom is fixed in space by the four supports (figure 11a, white support nodes), while the origami on the top has four fictitious elastic supports in the z-direction (figure 11a, spring support nodes) that are needed to avoid numerical instability associated with a free floating body. The loads are applied on the top four nodes in the top origami (figure 11a, nodes surrounded by two concentric circles) and the displacement is measured using the z-direction height of one of the reference nodes.

Figure 11.

Figure 11.

(a) Loading set-up of the inter-locking origami. (b) Force–displacement curves for both loading with panel contact and loading without panel contact. (c) Loaded configuration when panel contact simulation is included. (d) Loaded configuration when the model does not include panel contact. (Online version in colour.)

Figure 11b gives the force–displacement curves and figure 11c,d shows the loaded configuration for both simulations with panel contact and without panel contact. When panel contact is not activated, the two origami patterns will cross each other and the only resisting force is the fictitious elastic support reaction. However, when the panel contact is activated, a jump in the stiffness is observed, which mimics the inter-locking behaviour of this particular origami design.

Although the contact is successfully captured by the model, we need to point out that the simulation code still assumes linear elasticity for the material model and thus captures no material failure. In real loading situations, material failure eventually happens and stops the loading forces from reaching infinity. Therefore, the predicted mechanical behaviour may not be trusted if the contact force is large enough such that the structural material fails. However, we believe future enhancement of the material model embedded in the bar models and rotational spring models can solve the problem.

Although the inter-locking behaviour considered here is complicated, a wall-clock time of 57 s was recorded on a modern computer (2018) with an i7-7700 processor. Not surprisingly, for this particular example, 80% of computation time is used to calculate the point to triangle distance and to check if the contact has happened. Because contact detection requires a double loop through all triangle elements, contact detection is quadratically more expensive computationally than nonlinear simulation (assembling stiffness matrix) of an origami pattern. This suggests that the previously mentioned two-model approach can be a desirable method to simulate origami inter-locking problems such as the one studied here. Knowing the contact pattern in advance would allow us to eliminate a large portion of unnecessary contact detection checking and thus bring down the computation cost of a detailed FE simulation.

6. Concluding remarks

In this work, an efficient panel contact simulation technique is proposed to study the occurrence of contact, and contact-induced behaviours in origami tessellations. The proposed model does not require a dense FE meshing so that it is computationally cheap and efficient to implement numerically. Because frictional forces are generally not significant when studying the foldability of origami systems, we assume that the contact force is conservative and thus has a potential. The contact potential is constructed such that when a selected node (point) approaches a triangulated panel (triangle), a large contact force vector is triggered. To prevent panel penetration, the proposed contact potential gives an internal force vector and a stiffness matrix that approach infinity as the distance between the point and the triangle approaches zero. The model was tested numerically and the tests confirm that the proposed model complies with three requirements: (i) continuous internal forces; (ii) infinite forces and stiffness as the point to triangle distance approaches zero to prevent penetration; and (iii) piecewise formulation for contact initiation and disengagement.

An implementation scheme for including the panel contact model within a bar and hinge model is also presented. Simple origami patterns are used to test the behaviour of the contact simulation when combined with the bar and hinge model. These tests show that the model captures the contact geometry and forces correctly and efficiently. Moreover, by tuning the model parameters, the contact model can simulate thickness in origami panels. More complicated simulations are explored in the example section to demonstrate the validity and efficiency of the model. We showed that the proposed model can be combined with any bar and hinge-type framework and thus has broad applicability in studying contact-related problems in origami engineering. The model is suitable for detecting when contact occurs during the origami folding sequence, studying the foldability, and capturing the relevant mechanical behaviours in the origami structure after contact. We believe the proposed simulation method can be readily enhanced to study kirigami systems where patterns are non-continuous (e.g. [53,54]) and other similar folding-inspired systems. This model can enable the discovery of origami patterns that can be folded either by avoiding contact or despite self-contact, and can open up a new frontier for origami structures that harness contact to achieve new functionality.

Supplementary Material

SuppMaterial_OrigamiContactSimulator
rspa20190366supp1.zip (11.3MB, zip)

Acknowledgements

The authors acknowledge the prior works from Ke Liu and Glaucio H. Paulino for establishing shared versions of non-rigid origami simulators. Their works paved the way for the new contact model presented in this paper. The authors also acknowledge the helpful suggestions and critiques from all three reviewers. Their comments have improved the clarity and quality of this work.

Appendix A. Determining the contact zones

The problem of determining the contact zones can be done by linear decomposition or projection. Figure 12 shows the vectors that will be used to achieve this goal. Vectors p1, p2 and p3 point from node 1, node 2 and node 3 to the projection of the point, respectively. Vectors E1 and E2 point from node 1 to node 2 and from node 1 to node 3, respectively. We give one example for each zone here and readers may refer to the codes in the electronic supplementary material for further details.

Figure 12.

Figure 12.

Vectors used to determine which contact zone the point projection falls onto. (Online version in colour.)

For zone 0, we use vectors E1 and E2 to form a basis and linearly decompose p1 within the basis. By saying linear decomposition, we mean writing p1 = aE1 + bE2. If both results (a and b) are positive and are less than 1, then the point falls in zone 0.

For zone 1, without loss of generality, we assume that the point is closest to node 1. We then linearly decompose vector p1 within the basis formed by vectors v11 and v12. If both results are positive, the point is within zone 1 and is closest to node 1.

For zone 2, we assume that the point is closest to the line segment formed by node 1 and node 2. We project vector p1 onto vectors E1 and v11, and next project vector p2 onto −E1. If all three results are positive, the point falls within zone 2 and is closest to the line segment formed by nodes 1 and 2.

Practically, there is no need to differentiate the cases when the point falls on the edge where two or three separate zones meet. Because the contact potential has continuity over the three zones, using equations from different zones yields the same answer on the edges. The simulation code provided in the electronic supplementary material addresses this issue by always using ‘≥’ and ‘ ≤ ’ rather than ‘>’ and ‘<’ for judging the zones, and the problem is solved automatically.

Appendix B. Solving gradients and Hessians of V , As0, As2 and Ls

The gradients and Hessians of V , As0, As2 and Ls need to be solved separately for different zones, because the number of nodal coordinates needed for calculation is different. We use xz0, xz1 and xz2 to denote the nodal coordinate vectors for zone 0, zone 1 and zone 2, respectively, just as the notations used in the previous formulation section.

(a) Solving (∂V /∂xz0) and (∂2V /∂xz02)

The volume of the parallelepiped formed by four nodes x0, x1, x2 and x3 can be calculated using the following:

V=(x0x1)[(x2x1)×(x3x1)], B 1

which is used in equations (3.7), (3.10) and (3.11). The gradient of the volume V is a 12 × 1 vector as

Vxz0=[(Vx0)T,(Vx1)T,(Vx2)T,(Vx3)T]T=[[a,b,c]T(x2x3)×(x0x1)[a,b,c]T(x3x1)×(x0x1)(x1x2)×(x0x1)], B 2

where the [a, b, c]T vector is calculated using

[a,b,c]T=(x2x1)×(x3x1). B 3

The Hessian of the volume V is a 12 × 12 matrix and can be calculated as

2Vxz02=[03×32Vx0x12Vx0x22Vx0x32Vx1x003×32Vx1x22Vx1x32Vx2x02Vx2x103×32Vx2x32Vx3x02Vx3x12Vx3x203×3]=[03×3skew(x2x3)skew(x3x1)skew(x1x2)skew(x2x3)03×3skew(x3x0)skew(x2x0)skew(x3x1)skew(x3x0)03×3skew(x1x0)skew(x1x2)skew(x2x0)skew(x1x0)03×3], B 4

where the symbol 03×3 is a 3 × 3 zero matrix, and the skew() operator is defined as the following:

skew([u,v,w]T)=[0wvw0uvu0]. B 5

This skew() operator basically back calculates the skew tensor from its axial vector.

(b) Solving (∂As0/∂xz0) and (∂2As0/∂xz02)

The area of a parallelogram in zone 0 formed by three nodes x1, x2 and x3 of the triangle can be calculated using

A=As0=[(x2x1)×(x3x1)]2. B 6

The gradient of As0 with respect to xz0 is a 12 × 1 vector in zone 0, and the Hessian is a 12 × 12 matrix. The gradient of As0 can be calculated using

As0xz0=[(As0x0)T,(As0x1)T,(As0x2)T,(As0x3)T]T=[03×12(x2x3)×[a,b,c]T2(x3x1)×[a,b,c]T2(x1x2)×[a,b,c]T], B 7

and the Hessian of As0 can be calculated using

2As0xz02=[03×303×303×303×303×32As0x122As0x1x22As0x1x303×32As0x2x12As0x222As0x2x303×32As0x3x12As0x3x22As0x32]. B 8

The three diagonal terms are calculated using

2As0x12=2{[(x2x3)T(x2x3)]I3×3+(x2x3)(x3x2)T}, B 9
2As0x22=2{[(x3x1)T(x3x1)]I3×3+(x3x1)(x1x3)T} B 10
and2As0x32=2{[(x1x2)T(x1x2)]I3×3+(x1x2)(x2x1)T}. B 11

Because of the symmetry, only three off-diagonal terms need to be calculated and the remaining three can be obtained by transposing the matrix. The off-diagonal terms can be calculated using

2As0x1x2=(2As0x2x1)T=2[(x3x1)T(x2x3)]I3×32(x3x1)(x2x3)T2skew([a,b,c]T), B 12
2As0x2x3=(2As0x3x2)T=2[(x1x2)T(x3x1)]I3×32(x1x2)(x3x1)T2skew([a,b,c]T) B 13
and2As0x3x1=(2As0x1x3)T=2[(x2x3)T(x1x2)]I3×32(x2x3)(x1x2)T2skew([a,b,c]T). B 14

(c) Solving (∂As2/∂xz2) and (∂2As2/∂xz22)

The area of a parallelogram in zone 2 formed by three nodes x1 and x2 of the triangle and the point x0 can be calculated using

A=As2=[(x2x1)×(x0x1)]2. B 15

The gradient of As2 with respect to xz2 is a 9 × 1 vector in zone 2, and the Hessian is a 9 × 9 matrix. The gradient of As2 can be calculated using

As2xz2=[(As2x0)T,(As2x1)T,(As2x2)T]T=[2(x1x2)×[a,b,c]T2(x2x0)×[a,b,c]T2(x0x1)×[a,b,c]T], B 16

where [a, b, c]T = (x2 − x1) × (x0 − x1) and the Hessian of As2 can be calculated using

2As2xz22=[2As2x022As2x0x12As2x0x22As2x1x02As2x122As2x1x22As2x2x02As2x2x12As2x22]. B 17

The three diagonal terms are calculated using

2As2x02=2{[(x1x2)T(x1x2)]I3×3+(x1x2)(x2x1)T}, B 18
2As2x12=2{[(x2x0)T(x2x0)]I3×3+(x2x0)(x0x2)T} B 19
and2As2x22=2{[(x0x1)T(x0x1)]I3×3+(x0x1)(x1x0)T}. B 20

Similarly, because of the symmetry, only three off-diagonal terms need to be calculated and the remaining three can be obtained by transposing the matrix,

2As2x1x2=(2As2x2x1)T=2[(x0x1)T(x2x0)]I3×32(x0x1)(x2x0)T2skew([a,b,c]T), B 21
2As2x2x0=(2As2x0x2)T=2[(x1x2)T(x0x1)]I3×32(x1x2)(x0x1)T2skew([a,b,c]T) B 22
and2As2x0x1=(2As2x1x0)T=2[(x2x0)T(x1x2)]I3×32(x2x0)(x1x2)T2skew([a,b,c]T). B 23

(d) Solving (∂Ls/∂xz2) and (∂2Ls/∂xz22)

Ls is defined as the square of the length between two nodes x1 and x2 as

Ls=(x1x2)(x1x2). B 24

In zone 2, the nodal coordinate vector is a 9 × 1 vector so the gradient is also a 9 × 1 vector and the Hessian is a 9 × 9 matrix. The gradient and Hessian of Ls can be calculated using

Lsxz2=[(Lsx0)T,(Lsx1)T,(Lsx2)T]T=[03×12(x1x2)2(x2x1)] B 25

and

2Lsxz22=[03×303×303×303×32I3×32I3×303×32I3×32I3×3]. B 26

Data accessibility

This article has no additional experimental data. All codes for performing simulations are provided in the electronic supplementary material.

Authors' contributions

Y.Z. derived and programmed the proposed numerical methods on the suggestion of and in consultation with E.T.F. Y.Z. wrote the initial drafts of the paper, which E.T.F. provided in-depth comments on.

Competing interests

We declare we have no competing interests

Funding

The authors would like to acknowledge funding from DARPA (grant no. D18AP00071). Y.Z. would like to acknowledge a College of Engineering Dean's Fellowship and College of Engineering Challenge Fellowship from the College of Engineering, University of Michigan.

Disclaimer

The paper reflects the views and position of the authors, and not necessarily those of the funding entities.

References

  • 1.Silverberg JL, Evans AA, McLeod L, Hayward RC, Hull T, Santangelo CD, Cohen I. 2014. Using origami design principles to fold reprogrammable mechanical metamaterials. Science 345, 647–650. ( 10.1126/science.1252876) [DOI] [PubMed] [Google Scholar]
  • 2.Silverberg JL, Na JH, Evans AA, Liu B, Hull TC, Santangelo CD, Lang RJ, Hayward RC, Cohen I. 2015. Origami structures with a critical transition to bistability arising from hidden degrees of freedom. Nat. Mater. 14, 389–393. ( 10.1038/nmat4232) [DOI] [PubMed] [Google Scholar]
  • 3.Hanna BH, Lund JM, Lang RJ, Magleby SP, Howell LL. 2014. Waterbomb base: a symmetric single-vertex bistable origami mechanism. Smart Mater. Struct. 23, 094009 ( 10.1088/0964-1726/23/9/094009) [DOI] [Google Scholar]
  • 4.Schenk M, Guest SD. 2013. Geometry of Miura-folded metamaterials. Proc. Natl Acad. Sci. USA 110, 3276–3281. ( 10.1073/pnas.1217998110) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 5.Lv C, Krishnaraju D, Konjevod G, Yu H, Jiang H. 2014. Origami based mechanical metamaterials. Sci. Rep. 4, 5979 ( 10.1038/srep05979) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 6.Yasuda H, Tachi T, Lee M, Yang J. 2017. Origami-based tunable truss structure for non-volatile mechanical memory operation. Nat. Commun. 18, 962 ( 10.1038/s41467-017-00670-w) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Martinez RV, Fish CR, Chen X, Whitesides M. 2012. Elastomeric origami: programmable paper-elastomer composites as pneumatic actuators. Adv. Funct. Mater. 22, 1376–1384. ( 10.1002/adfm.201102978) [DOI] [Google Scholar]
  • 8.Leong TG, Randall CL, Benson BR, Bassik N, Stern GM, Gracias DH. 2008. Tetherless thermobiochemically actuated microgrippers. Proc. Natl Acad. Sci. USA 106, 703–708. ( 10.1073/pnas.0807698106) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 9.Ma J, Song J, Chen Y. 2018. An origami-inspired structure with graded stiffness. Int. J. Mech. Sci. 136, 134–142. ( 10.1016/j.ijmecsci.2017.12.026) [DOI] [Google Scholar]
  • 10.Demaine ED, O'Rourke J. 2007. Geometric folding algorithm. Cambridge, UK: Cambridge University Press. [Google Scholar]
  • 11.Akitaya H, Demaine ED, Horiyama T, Hull TC, Ku JS, Tachi T. 2018. Rigid foldability is NP-hard. (https://arxiv.org/abs/1812.01160).
  • 12.Stern M, Pinson MB, Murugan A. 2017. The complexity of folding self-folding origami. Phys. Rev. X 7, 041070 ( 10.1103/physrevx.7.041070) [DOI] [Google Scholar]
  • 13.Lang RJ, Magleby S, Howell L. 2016. Single degree-of-freedom rigidly foldable cut origami flashers. J. Mech. Rob. 8, 031005 ( 10.1115/1.4032102) [DOI] [Google Scholar]
  • 14.Avila A, Magleby SP, Lang RJ, Howell LL. 2019. Origami fold states: concept and design tool. Mech. Sci. 10, 91–105. ( 10.5194/ms-10-91-2019) [DOI] [Google Scholar]
  • 15.Lang RJ, Tolman KA, Crampton EB, Magleby SP, Howell LL. 2018. A review of thickness accommodation techniques in origami-inspired engineering. Appl. Mech. Rev. 70, 010805 ( 10.1115/1.4039314) [DOI] [Google Scholar]
  • 16.Yellowhorse A, Lang RJ, Tolman K, Howell LL. 2018. Creating linkage permutations to prevent self-intersection and enable deployable networks of thick-origami. Sci. Rep. 8, 12936 ( 10.1038/s41598-018-31180-4) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 17.Tachi T. 2010. Geometric considerations for the design of rigid origami structures. In Proc. of the Int. Association for Shell and Spatial Structures (IASS) Symp., Shanghai, China, 8–12 November 2010. Madrid, Spain: International Association for Shell and Spatial Structures.
  • 18.Kawasaki T, Yoshida M. 1988. Crystallographic flat origamis. Mem. Faculty Sci. Kyushu University 42, 153–157. ( 10.2206/kyushumfs.42.153) [DOI] [Google Scholar]
  • 19.Tachi T. 2009. Simulation of rigid origami. In Origami 4: Fourth International Meeting of Origami Science, Mathematics, and Education (ed. T Lang), pp. 175–187. Natick, MA: A K Peters, Ltd.
  • 20.Fang H, Li S, Wang K. 2016. Self-locking degree-4 vertex origami structures. Proc. R. Soc. A 472, 20160682 ( 10.1098/rspa.2016.0682) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 21.Fang H, Chu SCA, Xia Y, Wang KW. 2018. Programmable self-locking origami mechanical metamaterials. Adv. Mater. 30, 1706311 ( 10.1002/adma.201706311) [DOI] [PubMed] [Google Scholar]
  • 22.Mao Y, Yu K, Isakov MS, Wu J, Dunn ML, Qi HJ. 2015. Sequential self-folding structures by 3D printed shape memory polymers. Sci. Rep. 5, 13616 ( 10.1038/srep13616) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 23.Kamrava S, Mousanezhad D, Ebrahimi H, Ghosh R, Vaziri A. 2017. Origami-based cellular metamaterial with auxetic, bistable and self-locking properties. Sci. Rep. 7, 46046 ( 10.1038/srep46046) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Filipov ET, Tachi T, Paulino GH. 2015. Origami tubes assembled into stiff yet reconfigurable structures and metamaterials. Proc. Natl Acad. Sci. USA 40, 12 321–12 326. ( 10.1073/pnas.1509465112) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 25.Filipov ET, Paulino GH, Tachi T. 2019. Deployable sandwich surfaces with high out-of-plane stiffness. J. Struct. Eng. 145, 04018244 ( 10.1061/(ASCE)ST.1943-541X.0002240) [DOI] [Google Scholar]
  • 26.Kamrava S, Mousanezhad D, Felton SM, Vaziri A. 2018. Programmable origami strings. Adv. Mater. Technol. 3, 1700276 ( 10.1002/admt.201700276) [DOI] [Google Scholar]
  • 27.Nauroze SA, Novelino LS, Tentzeris MM, Paulino GH. 2018. Continuous-range tunable multilayer frequency-selective surfaces using origami and inkjet printing. Proc. Natl Acad. Sci. USA 115, 13 210–13 215. ( 10.1073/pnas.1812486115) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 28.Cai J, Ren Z, Ding Y, Deng X, Xu Y, Feng J. 2017. Deployment simulation of foldable origami membrane structures. Aerosp. Sci. Technol. 67, 343–353. ( 10.1016/j.ast.2017.04.002) [DOI] [Google Scholar]
  • 29.Cai J, Deng X, Zhang Y, Feng J, Zhou Y. 2016. Folding behavior of a foldable prismatic mast with Kresling origami pattern. J. Mech. Rob. 8, 031004 ( 10.1115/1.4032098) [DOI] [Google Scholar]
  • 30.Tachi T. 2009. Generalization of rigid fodable quadrilateral mesh origami. J. IASS 50, 173–179. [Google Scholar]
  • 31.Liu K, Paulino G. 2017. Nonlinear mechanics of non-rigid origami: an efficient computational approach. Proc. R. Soc. A 473, 20170348 ( 10.1098/rspa.2017.0348) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 32.Liu K, Paulino G. 2016. MERLIN: A MATALAB implementation to capture highly nonlinear behavior of non-rigid origami. In Proc. of IASS Annual Symp., Tokyo, Japan, 26–30 September 2016. Madrid, Spain: International Association for Shell and Spatial Structures.
  • 33.Schenk M, Guest SD. 2010. Origami folding: a structural engineering approach. In Origami 5: International Meeting of Origami Science, Mathematics, and Education (eds P Wang-Iverson, RJ Lang, M Yim), pp. 293–305. Boca Raton, FL: CRC Press.
  • 34.Filipov E, Liu K, Schenk M, Paulino G. 2017. Bar and hinge models for scalable analysis of origami. Int. J. Solids Struct. 124, 26–45. ( 10.1016/j.ijsolstr.2017.05.028) [DOI] [Google Scholar]
  • 35.Faber J, Arrieta AF, Studart AR. 2018. Bioinspired spring origami. Science 359, 1386–1391. ( 10.1126/science.aap7753) [DOI] [PubMed] [Google Scholar]
  • 36.Hernandez EP, Hartl DJ, Akleman E, Lagoudas DC. 2016. Modeling and analysis of origami structures with smooth folds. Comput. Aided Des. 78, 93–106. ( 10.1016/j.cad.2016.05.010) [DOI] [Google Scholar]
  • 37.Hernandez EP, Hartl DJ, Lagoudas DC. 2016. Kinematics of origami structures with smooth folds J. Mech. Robot. 8, 061019-1 ( 10.1115/1.4034299) [DOI] [Google Scholar]
  • 38.Hernandez EP, Hartl DJ, Lagoudas DC. 2017. Analysis and design of an active self-folding antenna. In Proc. ASME 2017: Int. Design Engineering Technical Conf. and Computers and Information in Engineering Conf ., Cleveland, OH, 6–9 August 2017. New York, NY: ASME.
  • 39.Hur DY, Hernandez EP, Galvan E, Hartl D, Malak R. 2017. Design optimization of folding solar powered autonomous underwater vehicles using origami architecture. In ASME 2017: Int. Design Engineering Technical Conf. and Computers and Information in Engineering Conf ., Cleveland, OH, 6–9 August 2017. New York, NY: ASME.
  • 40.Zhu Y, Filipov E. 2019. Simulating compliant crease origami with a bar and hinge model. In IDETC-CIE 2019: Int. Design Engineering Technical Conf. and Computers and Information in Engineering Conf., Anaheim, CA, 18–21 August 2019. New York, NY: ASME.
  • 41.Dahlstrom S, Lindkvist L. 2007. Variation simulation of sheet metal assemblies using the method of influence coefficients with contact modeling. J. Manuf. Sci. Eng. 129, 615–622. ( 10.1115/1.2714570) [DOI] [Google Scholar]
  • 42.Vorobiev O. 2012. Simple common plane contact algorithm. Int. J. Numer. Methods Eng. 90, 243–268. ( 10.1002/nme.3324) [DOI] [Google Scholar]
  • 43.Zhong ZH, Nilsson L. 1989. A contact searching algorithm for general contact problems. Comput. Struct. 33, 197–209. ( 10.1016/0045-7949(89)90141-7) [DOI] [Google Scholar]
  • 44.Oldenburg M, Nilsson L. 1994. The position code algorithm for contact searching. Int. J. Numer. Methods Eng. 37, 359–386. [Google Scholar]
  • 45.Zheng Z, Zang M, Chen S, Zhao C. 2017. An improved DEM-FEM contact detection algorithm for the interaction simulations between particles and structures. Powder Technol. 305, 308–322. ( 10.1016/j.powtec.2016.09.076) [DOI] [Google Scholar]
  • 46.Munjiza A, Andrews KRF. 1998. NBS contact detection algorithm for bodies of similar size. Int. J. Numer. Methods Eng. 43, 131–149. () [DOI] [Google Scholar]
  • 47.Perkins E, Williams JR. 2001. A fast contact detection algorithm insensitive to object sizes. Eng. Comput. 18, 48–61. ( 10.1108/02644400110365770) [DOI] [Google Scholar]
  • 48.Hirota G. 2002. An improved finite element contact model for anatomical simulations. PhD thesis, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA.
  • 49.Adams G, Nosonovsky M. 2000. Contact modeling—forces. Tribol. Int. 33, 431–442. ( 10.1016/S0301-679X(00)00063-3) [DOI] [Google Scholar]
  • 50.Leon SE, Paulino GH, Pereira A, Menezes IFM, Lages EN. 2011. A unified library of nonlinear solutino schemes. Appl. Mech. Rev. 64, 040803 ( 10.1115/1.4006992) [DOI] [Google Scholar]
  • 51.Leon SE, Lages EN, DeAraujo CN, Paulino GH. 2014. On the effect of constraint parameters on the generalized displacement control method. Mech. Res. Commun. 56, 123–129. ( 10.1016/j.mechrescom.2013.12.009) [DOI] [Google Scholar]
  • 52.Sloane NJA, ed. 2019. The on-line encyclopedia of integer sequences, A000670. See https://oeis.org.
  • 53.Cai J, Zhang Q, Feng J. 2019. Modeling and kinematic path selection of retractable Kirigami roof structures. Computer-Aided Civil Infrastruct. Eng. 34, 352–363. ( 10.1111/mice.12418) [DOI] [Google Scholar]
  • 54.Saito K, Agnese F, Scarpa F. 2011. A cellular Kirigami morphing wingbox concept. J. Intelligent Mater. Syst. Struct. 22, 935–944. ( 10.1177/1045389X11416030) [DOI] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

SuppMaterial_OrigamiContactSimulator
rspa20190366supp1.zip (11.3MB, zip)

Data Availability Statement

This article has no additional experimental data. All codes for performing simulations are provided in the electronic supplementary material.


Articles from Proceedings. Mathematical, Physical, and Engineering Sciences are provided here courtesy of The Royal Society

RESOURCES