A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White,...

10
Proceedings of the ASME 2010 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2010 August 15-18, 2010, Montreal, Quebec, Canada DETC2010-28838 A TOOLCHAIN FOR THE DESIGN AND SIMULATION OF FOLDABLE PROGRAMMABLE MATTER Steven R. Gray * , Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing, and Perception (GRASP) Laboratory University of Pennsylvania Philadelphia, PA 19104 Email: {stgray, juse, whitepj, nathanz, yim, kumar}@seas.upenn.edu ABSTRACT This paper presents a toolchain for the design and simu- lation of reconfigurable robots that can be built from a single rigid sheet of smart material with embedded actuators and sen- sors along regular crease patterns. We call such sheets Foldable Programmable Matter (FPM). The toolchain we have created comprises an editor for drafting or modifying FPM, including lo- cations and angles for folds. Algorithms for generating a class of folding structures are available for use. Also included is a dynamic simulation of the fold process, which provides collision detection and visualization. Thus our Foldable Programmable Matter Editor allows us to synthesize and design FPMs and sim- ulate them in a virtual environment before committing to man- ufacture. The toolchain also incorporates a method of strength analysis, which is used to determine the suitability of a folded shape for specific loadings. Examples are shown for each sub- section, including a beam example spanning the toolchain. 1 INTRODUCTION We present a toolchain enabling the design of systems in which a single rigid sheet of creased material with embedded ac- tuators reconfigures into multiple target forms. Recent work has demonstrated the feasibility of embedding actuators in sheets [1] and folding elements to form larger structures [2, 3]. The sheets are referred to as Foldable Programmable Matter (FPM). The results of this paper enable the design, planning, and analysis of * Address all correspondence to this author. such actuated, rigid sheets of smart materials. Figure 1 illustrates the role of the toolchain in designing a physical device. The design of folded structures is closely related to the algo- rithmics of origami [5,6]. Although robots have been used to fold origami [7], we are interested in the problem in which the folded structure is the robot. Traditional origami involves developable surfaces; paper can be deformed by bending, but not by stretch- ing. In contrast, FPM crease patterns represent rigid sheets con- nected by revolute joints. As a cursory study of origami would suggest, foldable sheet structures are able to approximate arbi- trary shapes ranging from animals to boxes, airplanes, and boats. The limiting factor in the design is the size of the sheet and the minimum spacing between creases; it has been proven that every polyhedral surface can be folded given a large enough sheet [8]. Autonomously shape changing FPM can be viewed as a versatile multi-tool, endlessly reconfiguring into the right tool at the right time. What was once a sheet could become a hammer, a screw- driver, or a wrench as needed. Alternatively, consider a FPM robot designed to walk across rough terrain. Upon encountering a cliff overlooking a lake, the robot could take the shape of an airplane to glide down and reconfigure into a boat to cross the water. A sought-after goal of programmable matter has been to cre- ate structures with specified mechanical properties [9]. As the building blocks (modules) decrease in size, the resolution of the shapes created increases, as does the ability to fine-tune the me- chanical properties of the structure. The tradeoff for decreased module size is an increase the number of modules needed to fill 1 Copyright c 2010 by ASME Proceedings of the ASME 2010 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2010 August 15-18, 2010, Montreal, Quebec, Canada DETC2010-28

Transcript of A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White,...

Page 1: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

Proceedings of the ASME 2010 International Design Engineering Technical Conferences &Computers and Information in Engineering Conference

IDETC/CIE 2010August 15-18, 2010, Montreal, Quebec, Canada

DETC2010-28838

A TOOLCHAIN FOR THE DESIGN AND SIMULATION OF FOLDABLEPROGRAMMABLE MATTER

Steven R. Gray∗, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay KumarGeneral Robotics, Automation, Sensing, and Perception (GRASP) Laboratory

University of PennsylvaniaPhiladelphia, PA 19104

Email: {stgray, juse, whitepj, nathanz, yim, kumar}@seas.upenn.edu

ABSTRACTThis paper presents a toolchain for the design and simu-

lation of reconfigurable robots that can be built from a singlerigid sheet of smart material with embedded actuators and sen-sors along regular crease patterns. We call such sheets FoldableProgrammable Matter (FPM). The toolchain we have createdcomprises an editor for drafting or modifying FPM, including lo-cations and angles for folds. Algorithms for generating a classof folding structures are available for use. Also included is adynamic simulation of the fold process, which provides collisiondetection and visualization. Thus our Foldable ProgrammableMatter Editor allows us to synthesize and design FPMs and sim-ulate them in a virtual environment before committing to man-ufacture. The toolchain also incorporates a method of strengthanalysis, which is used to determine the suitability of a foldedshape for specific loadings. Examples are shown for each sub-section, including a beam example spanning the toolchain.

1 INTRODUCTIONWe present a toolchain enabling the design of systems in

which a single rigid sheet of creased material with embedded ac-tuators reconfigures into multiple target forms. Recent work hasdemonstrated the feasibility of embedding actuators in sheets [1]and folding elements to form larger structures [2, 3]. The sheetsare referred to as Foldable Programmable Matter (FPM). Theresults of this paper enable the design, planning, and analysis of

∗Address all correspondence to this author.

such actuated, rigid sheets of smart materials. Figure 1 illustratesthe role of the toolchain in designing a physical device.

The design of folded structures is closely related to the algo-rithmics of origami [5,6]. Although robots have been used to foldorigami [7], we are interested in the problem in which the foldedstructure is the robot. Traditional origami involves developablesurfaces; paper can be deformed by bending, but not by stretch-ing. In contrast, FPM crease patterns represent rigid sheets con-nected by revolute joints. As a cursory study of origami wouldsuggest, foldable sheet structures are able to approximate arbi-trary shapes ranging from animals to boxes, airplanes, and boats.The limiting factor in the design is the size of the sheet and theminimum spacing between creases; it has been proven that everypolyhedral surface can be folded given a large enough sheet [8].Autonomously shape changing FPM can be viewed as a versatilemulti-tool, endlessly reconfiguring into the right tool at the righttime. What was once a sheet could become a hammer, a screw-driver, or a wrench as needed. Alternatively, consider a FPMrobot designed to walk across rough terrain. Upon encounteringa cliff overlooking a lake, the robot could take the shape of anairplane to glide down and reconfigure into a boat to cross thewater.

A sought-after goal of programmable matter has been to cre-ate structures with specified mechanical properties [9]. As thebuilding blocks (modules) decrease in size, the resolution of theshapes created increases, as does the ability to fine-tune the me-chanical properties of the structure. The tradeoff for decreasedmodule size is an increase the number of modules needed to fill

1 Copyright c© 2010 by ASME

Proceedings of the ASME 2010 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference

IDETC/CIE 2010 August 15-18, 2010, Montreal, Quebec, Canada

DETC2010-28838

Page 2: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

!"#$%#&'$((#")& *+,-.)/&0#12#)3#&

0("#)/(4&5)$,6%.%&

'46%.3$,&7#8.3#&

FIGURE 1: A flowchart of toolchain steps. The physical device image is from [4].

the same volume.Apart from folding, approaches to programmable matter

include Modular Self-reconfigurable Robots (MSRs) and Self-assembling Structures. These approaches typically utilize 3Dmodules with nice space-filling properties [2, 10], such as cubesor right-angle tetrahedrons. Modular robotic systems, with singlemodules typically in the centimeter scale, allow for control overeach module as needed to make a snake-type crawler, four-leggedwalker [11], self-reconfiguring structures [12, 13], stochasticallyformed shapes [14,15], etc. However, large module size and lim-ited numbers of modules prevent a high resolution solution.

Folding is a promising actuation method for programmablematter that is applicable to systems in the micro or nano-scale[16]. Much recent progress has been made to bring folded orreconfigurable devices into existence. Folding approaches haveled to centimeter-scale walkers [17]. Developments in reversiblepermanent magnets [18], nano-adhesives [19] and novel mi-croactuation [1] have enabled new designs and improved func-tion.

The work we present here provides tools to aid in the de-sign of FPM structures, from initial concept to fold sequences totesting mechanical properties. Section 2 presents information onthe structure of FPM. Section 3 presents known motion planningmethods used for FPM, the results of which can be implementedusing our editor described in Sec. 4. The strength of the resultingfolded structure is analyzed in Sec. 5.

2 Foldable Programmable Matter2.1 Single-Vertex Foldable Programmable Matter

The single-vertex FPM is the basic building block of allFPM structures. By definition, all crease lines in a single-vertex FPM are incident upon one vertex which we denote asthe origami vertex. The regions surrounded by creases or bound-aries are rigid. The degree of the single-vertex FPM refers to thenumber of incident creases.

Intuitively, intersecting the single-vertex FPM with a suffi-ciently small sphere yields a kinematically-equivalent sphericalchain. An origami vertex located inside the FPM results in a

2

3

4

5 6

7

8

1

(a)

θ

2

3

11

7

ω

(b)

FIGURE 2: (a) A degree-8 single-vertex FPM of perimeter 2π .Every facet remains rigid while folding about any creases. (b)Intersecting a degree-8 single-vertex FPM with a sphere yieldsa spherical 8-bar closed chain. ω is a sector angle and θ is adihedral angle.

spherical closed chain, while an origami vertex located on theouter boundary results in a spherical open chain. Let us considerthe joint angle parameterization of a single-vertex FPM. A con-figuration is given by sector angles, ω , and dihedral angles, θ , asshown in Fig. 2. Structural symmetry is not required, but is ben-eficial when creating reconfigurable multi-vertex FPM patternsfrom single-vertex units. For a given sheet, the sector angles areproperties of the rigid facets and thus constant. Changing con-figurations requires only the change in dihedral angles. The con-figuration space contains all valid angle configurations, allowingself-touching, but not self-crossing configurations.

A necessary condition for a rigidly foldable origami vertex isthat it satisfies the condition for loop closure; the composition ofrotation matrices representing the motion about the vertex mustbe identity [6,20]. Let matrix A represent the composition of therotation matrices, where Rx(ω) is a rotation about the x-axis byω and Rz(θ) is a rotation about the z-axis by θ .

A = Rx(ωn)Rz(θn) . . .Rx(ω2)Rz(θ2)Rx(ω1)Rz(θ1) = I (1)

2 Copyright c© 2010 by ASME

Page 3: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

Rx(ωi) =

1 0 00 cos(ωi) −sin(ωi)0 sin(ωi) cos(ωi)

Rz(θi) =

cos(θi) −sin(θi) 0sin(θi) cos(θi) 0

0 0 1

(2)

The facets of the sheet remain flat and rigid; the transfor-mation is piecewise affine. Though necessary, the condition isnot sufficient because the configuration may contain intersectingfacets.

The valid velocities which maintain the closure configura-tion can be obtained by differentiation of Eqn. (1). The sectorangles remain constant, so the ω̇i terms drop out, leaving:

n

∑i=1

θ̇i∂A∂θi

A−1 = 0 (3)

The partial derivative of an orthogonal matrix evaluated atidentity is skew-symmetric. Thus, ∂A

∂θiis a skew symmetric ma-

trix. The nonzero components of the matrix can be representedas a vector, and each vector is an axis of rotation of the spheri-cal linkage [21]. We write the rotation axis corresponding to therotation θi as θ̂i. Valid velocities for the linkage are the set of θ̇iwhich satisfy Eqn. (4) for a set of θ̂i.

[θ̂1 θ̂2 . . . θ̂n

]

θ̇1θ̇2...

θ̇n

= 0 (4)

The nullity of the matrix[θ̂1 θ̂2 . . . θ̂n

]yields the instanta-

neously available degrees of freedom for the given configuration.Typically, a simple spherical chain with revolute joints has n−3DOF, where n is the number of joints, but internal symmetry maylead to additional freedoms. For instance, the flat configurationin Fig. 2a has n− 2 = 6 DOF instantaneously because the ro-tation axes span a 2D surface only (rank = 2). Observe that then− 3 formula is retrieved when the axes span 3D space (rank =3) as in Fig. 2b.

2.2 Multi-Vertex Foldable Programmable MatterMulti-vertex FPM can be represented by crease patterns,

networks which arise when origami vertices have commoncreases. [22] provides an analysis of simple multi-vertex net-works consisting of degree-4 vertices. The boat shown in Fig.

A

BC

(a)

A

BC

(b)

FIGURE 3: A simple multi-vertex crease pattern (a) and the re-sulting folded sheet (b).

3(a), with 4-bar spherical linkages connected in serial, is such astructure. Actuating a single DOF of any of the spherical 4-barchains will allow the structure to fold as shown in Fig. 3b, assum-ing the linkages are not in the flat configuration and are biased inthe right direction. In the flat configuration, each spherical 4-barhas 2 DOF instantaneously.

Despite having results valid for all single-vertex FPM, gen-eralization of the mobility analysis to the multi-vertex case isnontrivial except for simple examples like the boat; the single-vertex results are only sufficient to explain local behavior ofmulti-vertex designs.

3 Motion Planning3.1 Single-Vertex FPM

Single-vertex FPM is closely related to a spherical (open orclosed) chain in terms of motion planning as we saw in Fig. 2.To better understand planning for a spherical chain, it may benecessary to begin with a planar chain.

Motion planning for a planar chain is a well-researched fieldand the literature is extensive both in deterministic approaches[23, 24] which exploit the topological structure of configurationspace as well as in probabilistic approaches [25–27] which at-tempt to connect valid points in configuration space generatedby random sampling. Avoiding obstacles or self-collision whenanalyzing the configuration space or when sampling has been re-garded as a difficult problem although [28] tried to combine bothapproaches to find a collision-free motion. Sampling solutionsusually perform collision detection on generated configurationsand discard those that fail.

In the mathematics and computational geometry community,however, collision-free motion planning for a planar chain hasbeen solved using the Carpenter’s Rule Theorem [29, 30]. Thetheorem states that any kind of simple planar open (closed) chaincan be unfolded to form a straight line (convex polygon) whilemaintaining simplicity. According to this theorem, it is alwayspossible to pass through a straightened (convexified) configura-tion to get a collision-free motion between two configurations.

3 Copyright c© 2010 by ASME

Page 4: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

Determining the existence of a path which does not pass throughthe trivial configuration remains an open problem. Algorithmicapproaches to unfolding using energy functions have also beendeveloped using gradient-based control laws [31].

FIGURE 4: Folding a corner-cube as implemented in our simu-lator.

Similar unfolding results have been derived for sphericalchains which in turn show how single-vertex origami can be un-folded using noncolliding motions [32,33]. Although there is noguarantee if the motion planning based on the Carpenter’s RuleTheorem is optimal, for example, in terms of energy consump-tion for physical robotic origami device, it is obviously appli-cable to the single-vertex FPM because it avoids self-collisions.Figure 4 shows an example using Carpenter’s Rule based algo-rithm to fold a corner-cube. The joint angles generated for theunfolding were simply replayed in reverse. Such motion planswill be adapted for controlling physical devices by mapping thejoint angles to the corresponding embedded actuator inputs andsensor readings.

3.2 Multi-Vertex FPMAs applications for single-vertex FPM are limited, general-

ization to the multi-vertex case is highly desired to make morecomplicated structures. In terms of linkage theory, we can saythat the multi-vertex case is kinematically equivalent to a com-plex of spherical closed chains. The single-vertex results are,however, limited to local behavior of multi-vertex designs. Thus,the corresponding motion planning method for the complex willnot be obtained by naive generalization, as stated in Sec. 2.2. [34]provides a simulator for multi-vertex FPM designs in which alljoints move simultaneously, based on projecting desired veloc-ities for all joints into the constraint space. The approach is toaugment the matrices of Eqn. (4) to include all rotation axesabout all vertices and solve for the velocities. The directionalityof each fold must be known beforehand. In general, whereas anytwo configurations of a single-vertex FPM have been shown tobe connected, the same cannot be said for multi-vertex designs.The initial and goal configurations may be in disconnected com-ponents of the configuration space.

Consider an analogous case in the 2D plane. [35] success-fully studied the motion planning problem for planar star-shapedmanipulators formed by joining one end of planar open chainsto a movable common point and fixing the other end, forminga planar closed chain complex. Collision avoidance, needed forconstruction of a physical device, has yet to be incorporated.

3.3 Folding into intermediate shapesInstead of folding a complicated shape directly from a flat

sheet, a very successful approach has been to first fold an inter-mediate shape such as a chain of edge-connected cubes or right-angle tetrahedrons which can be universally transformed to 2Dor 3D voxelated shapes [2]. Moreover, in 2D it is possible to ob-tain (asymptotically) collision-free motion by finding a Hamilto-nian path which traverses all pixels in any given continuous 2Dshape and then applying the Carpenter’s Rule Theorem. Figure5a shows the initial folding steps in our simulator, and Fig. 5bshows the cubes reconfiguring from a line into the Hamiltonianpath of a wrench head using strictly-expansive motions [29]. 3Dshapes can also be voxelated using a similar linear chain of prim-itives [2, 3]. However, the connectivity needed between adjacentmodules in the chain to span 3D prevents folding from a singleflat sheet.

(a)

(b)

FIGURE 5: Folding a chain of cubes from a single sheet in theFoldable Programmable Matter Simulator (a) and folding thecubes into the Hamiltonian path for a wrench head in 2D (b).

4 Copyright c© 2010 by ASME

Page 5: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

4 FOLDABLE PROGRAMMABLE MATTER EDITORThe Foldable Programmable Matter Editor (FPME) was cre-

ated (1) to provide a convenient interface for a user to specifythe layout and folds of multi-vertex FPM and (2) to simulate thefolding of that FPM. The interface is similar to a 2D CAD pack-age, with additional options for entering data pertaining to folds.In general, the information necessary for representing FPM canbe separated into either crease pattern or fold information. Thisdata is then stored in our two XML schemas, the ProgrammableMatter Markup Language (PMML) for geometric and physicalproperty data and the Controllable Matter Markup Language(CMML) for fold sequences and angles. These schemas are cov-ered in 4.1. The topics from Sec. 2 and 3 are closely related tothe PMML and CMML, respectively, in that Sec. 2 discussed thestructure of FPM covered by PMML and Sec. 3 discussed mo-tion planning which results in CMML. For physical devices, theCMML will be translated into embedded control software.

Separation of the layout from the folding allows a modulardesign which benefits reconfigurability. Multiple fold sequencesmay be specified for the same crease pattern. For simplicity,each fold sequence starts from the flat state; all configurations arelinked through the flat state. Note that this ignores, but does notpreclude, the possible existence of another path between foldedconfigurations. The data is then used to carry out the fold se-quence in our simulator, which utilizes nVidia PhysX for dy-namic physics simulation.

4.1 PMML & CMMLThe Programmable Matter Markup Language (PMML) is an

XML schema designed to hold the necessary information to cre-ate a specific multi-vertex FPM crease network. The PMMLschema is shown in Tab. 1. The associated data includes thename of the sheet, the geometry of the rigid bodies, and the ge-ometry and physical properties of the joints. The format andnomenclature have been chosen to closely represent data struc-tures present in our PhysX-based simulator. Thus, individualrigid bodies are referred to as actors and are composed of tri-angles either created by the user or created by applying Delau-nay triangulation and constraining to the rigid body outline. Thetriangulated bodies are used for collision detection. Joint edgesare those connecting two rigid bodies; PMML specifies the IDsof the connected bodies, coordinates which give the axis of ro-tation, and spring and damping constants. Thus, single-vertexFPM subunits are not specified directly; rather, they occur at theintersections of the joint axes of adjacent rigid bodies.

Folding sequences have been added using Controllable Mat-ter Markup Language (CMML), an XML schema for sequencesof fold events. The CMML schema is displayed in Tab. 2. Foreach fold, the joints involved and their desired final angles arespecified. There is no limit to the number of joints that canbe moved concurrently, nor to the number of fold steps. A de-

sired speed is stored to be used when motor actuation (rather thanspring-actuation) is used.

Fold sequences can be replayed in the simulation environ-ment. Any motion planning algorithm for FPM can be simulatedif the output complies to the CMML format and the PMML doc-ument precisely describes the geometry of the given FPM.

TABLE 1: The PMML Schema.

<PMML>

<Title> title </Title><Actor>

<ID> actor id </ID>

<Triangle> x1 y1 x2 y2 x3 y3 </Triangle></Actor>.. .

<Joint><ID> joint id </ID>

<Coords> x1 y1 x2 y2 </Coords><ActorIDs> id1 id2 </ActorIDs><SpringConst> k </SpringConst><DampConst> c </DampConst>

</Joint>.. .

</PMML>

TABLE 2: The CMML Schema.

<CMML>

<Title> title </Title><Fold>

<EventNumber> event number </EventNumber><ID> joint id </ID>

<FoldAngle> desired final angle </FoldAngle><Velocity> desired velocity </Velocity>

</Fold>

.. .

</CMML>

4.2 Implementation and InterfaceThe interface of the FPME was created to facilitate the de-

sign of multi-vertex FPM. Fundamentally, it is a visual tool tocreate, save, and modify PMML and CMML. The editor hasa separate internal data representation, but imports and exportsPMML and CMML. Graphics and interface design are handledusing OpenGL and FLTK, respectively; the program is coded inC++.

5 Copyright c© 2010 by ASME

Page 6: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

(a)

(b)

FIGURE 6: Origami bird base crease pattern displayed (a) andsimulated (b) in the editor.

The editor encompasses various tools for inputting informa-tion for PMML: drawing, translation, rotation, scaling, mirror-ing, angle and length measurement, merging vertices, mergingedges, splitting edges, copying and pasting triangles, creating agrid or circular lattice, and grouping triangles into rigid bodies.Rigid bodies, or actors, are currently created by drawing individ-ual triangles and grouping them together. Once two rigid bodiessharing a common edge have been created, the edge is automat-ically made into a revolute joint. The lattice generation tool ishelpful for large FPM with repeated structures, such as the cubesin Fig. 5a.

Once the layout of the flat folded FPM has been entered, theuser is able to specify actuation. Selecting one or more joints, theuser enters a fold angle, spring constant, and damping constant.Different line styles are used to display mountain (positive angle)and valley (negative angle) folds. The user can step through afold sequence, entering different fold angles for each joint at eachstep. If no new fold angle is entered, the angle from the previousstep is carried through. For larger FPM, the preferred methodof CMML generation is to have the motion planning softwaregenerate CMML as output.

The current implementation of the editor uses a brute force

data structure, scaling linearly with the number of trianglespresent. Each triangle points to three edges and each edge pointsto the two vertices it contains. Although edges and vertices maybe shared between triangles, they are maintained separately foreach triangle. Several operations (marquee selection, lattice cre-ation, copy, paste) run in O(n2), where n is the number of tri-angles in an actor. Adding, removing, and merging vertices andedges are O(n) operations. Upcoming revisions to the editor willfeature a half-edge data structure, reducing the runtimes for mostfunctions and making larger designs practical.

4.3 Simulation EnvironmentAn important feature of the FPME is its ability to simu-

late and display fold sequences stored in CMML. The user isthen able to use feedback about collision points and velocities toadjust PMML properties like geometry and spring constants orCMML properties such as angular velocities, desired fold angle,and fold order. Depending on the FPM being created, the usermay select whether the actuators are motors or torsion springs.The motors are velocity-controlled, exerting up to a maximumtorque on a revolute joint to reach a desired angular velocity androtating until they reach a desired position. Spring-based actua-tion is meant to mimic the action of tensile actuators such as Niti-nol wire. Additionally, the simulator may directly load PMMLand CMML templates for evaluation.

The fold simulator incorporates nVidia’s PhysX technol-ogy for dynamic physics simulation. GPU-based accelerationis available when using nVidia hardware. As numerical error is aconcern, simulation properties have been adjusted so that lengthscales are on the order of one. Current simulations use a singleset of material properties; we will work with our collaborators tomodel the materials used in FPM and add a corresponding ’ma-terials’ tag to the PMML specification. Once physical prototypeshave been tested, joint angles will be mapped to the correspond-ing actuator inputs and sensor readings. CMML will then betranslated into control inputs.

FIGURE 7: Frames from simulation of the bird base.

The simulation environment is integrated into the editor. Thecombination has been able to create and fold intricate structures,

6 Copyright c© 2010 by ASME

Page 7: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

such as the chain of cubes shown in Fig. 5a. Also refer to theorigami bird base from Fig. 6 shown folding in Fig. 7. Succes-sive iterations of design and testing expedite the design process.Once a promising design has been reached, the folded structure’sresponse to an applied load can be analyzed.

5 STRENGTH ANALYSISModeling the behavior of a programmable matter system un-

der mechanical load is an important phase of the design process.A model allows the designer to determine both the module designand configuration that best suits the mechanical requirements.

The strength of a programmable matter system is deter-mined by (1) the properties of the constituent modules and (2) thestrength of the connections between modules. In order to developa lumped parameter model, we assume the connections betweenmodules are more compliant than the modules themselves.

5.1 ModelIn the early design stage, the exact geometry and physical

method for connecting modules is not precisely defined. In-deed researchers have developed systems using a variety of con-nection methods including mechanical latches [2, 36–38], mag-netics [14, 39, 40], electrostatics [41], and solder [42]. To al-low the designer to study arbitrary connection methods, we de-fine connections between modules using a generalized 6 DOFspring [43, 44].

Consider two elastically coupled bodies A and B as shown inFig. 9a. Frame a attached to body A and frame b attached to B arecoincident. A 6×6 stiffness matrix maps the finite displacementof frame b relative to a defined by a twist ∆T a

b to the wrench wab

B applies to the elastic connection to A given by:

wab ≈ K∆T a

b →

[f ab

τab

]≈

[Kt Kc

Ktc Ko

][∆pa

b

∆θ ab

](5)

where Kt , Ko, and Kc represent the 3×3 translational, rotational,and coupling stiffness matrices respectively.

We choose frames a and b to be located at the center ofstiffness because it is a unique point that maximally decouplesK [45]. The stiffness terms can be determined from elasticitytheory or finite element analysis [46].

The simulator [47] written in MATLAB uses the nonlinearequation solver fsolve to find the equilibrium position of themodules under a static load condition. The nonlinear solver al-lows the designer to model nonlinear effects such as collision andrigid motion due to joint imprecision.

......

(a) (b) (c)

FIGURE 8: A sheet cut in the form of many unfolded cubes,where six hatched tiles fold to a cube (a). The structure can foldto a cube chain (b) and then to a configuration (c).

a,b

BA

e2e1

e3

(a)

a,b

e2e1e3

(b)

a,b

e2e1e3

(c)

FIGURE 9: Three types of module-to-module connections.

5.2 ExampleThe simulator allows the designer to study the effect of a rel-

ative change in stiffness between two or more connection meth-ods.

As an example, consider the method for folding configura-tions of cubes from a sheet depicted in Fig. 8. Each set of sixfaces in Fig. 8a first folds to a cube (Fig. 8b) and subsequentlythe cube chain can fold to a configuration (Fig. 8c).

This form of programmable matter has three connectionmethods between square face tile modules: face: connectionsbetween modules sharing a face, (Fig. 9a), edge: connections atedges that meet when the sheet folds to a cube (Fig. 9b), andhinged: folded edges (Fig. 9c). Each connection method has anassociated stiffness matrix. For this example, assume the connec-tion method being modeled resulted in face and edge connectionshaving isotropic stiffness. The stiffness matrices can be approxi-mated as:

K f ace = Kedge =

1E6 0 0 0 0 0

0 1E6 0 0 0 00 0 1E6 0 0 00 0 0 1E1 0 00 0 0 0 1E1 00 0 0 0 0 1E1

(6)

All elements of Khinged are the same as K f ace and Kedge except

7 Copyright c© 2010 by ASME

Page 8: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

Khinged66 . Because the folded edges are relatively weak in re-sisting moments about e3, regardless of connection method, weapproximate Khinged66 to be 1.

(a)

(b)

−0.010

0.010.02

0.030.04 −0.01

0

0.01

−0.01

0

0.01

0.02

yx

z

(c)

FIGURE 10: A beam of 48 tile modules in the editor (a), folding(b) and deforming under static load (dark arrows) with fixed tiles(white triangles) (c).

We show a beam example handled using our toolchain. Fig-ure 10a shows 48 tiles with connectivity described in Fig. 8a.Figure 10b shows the tiles in our folding simulator, reconfiguringinto a 2×4 cube beam. Figure 10c depicts the beam under trans-verse loading. White arrows indicate fixed modules and darkarrows indicate the applied load.

We can explore how the relative change in stiffness of oneconnection type with respect to another affects the apparent stiff-ness of the beam. Given the stiffness values from Eqn. 6 thebeam in Fig. 10c deflects 3.2mm under a 40N load. Increasingthe face stiffness by a factor of four reduces the displacement to1.7mm while alternatively increasing the edge stiffness by a fac-tor of four reduces the displacement to only 2.3mm. This may

indicate that the design should focus on maximizing the stiffnessof the face to face connection method.

6 CONCLUSIONWe have created a toolchain to expedite the process of de-

signing foldable programmable matter structures. At the conceptstage, the user can draft the crease pattern layout or enter it us-ing PMML. We have presented algorithms for motion planningand control for multi-vertex FPM; the toolchain supports fold-ing intermediate shapes such as edge-connected chains of cubes.The motion plan is converted to CMML and the fold process canbe verified by dynamic simulation. Once a folded structure isreached, the method of strength analysis can be used to deter-mine under applied load.

Additional work remains to bridge the gap between simula-tion and physical devices. Material properties are currently lack-ing from the toolchain components, but can be readily incorpo-rated as they are known. The idea is to characterize sensors andactuators embedded into the rigid sheets, and implement controlbased on the information stored in CMML. Sensor possibilitiesinclude, but are not limited to, strain gauges. As for actuators,existing prototypes rely on springs and actuator wire, using mag-nets to latch components together. Additionally, layout issuessuch as the placement of actuators and routing of traces, have yetto be incorporated into the toolchain.

Other difficulties lie ahead in the synthesis of mechanicalmaterials for FPM construction. Small-scale actuation, espe-cially in the presence of multiple overlapping layers of material,is a challenge. Material thickness issues are also exacerbated byoverlapping layers; in practice, nesting multiple folds leads toalignment issues and failure to reach desired fold angles. How-ever, much promising work is being done on the construction ofsuch devices [1, 17, 18].

A simulation video of a sheet folding intoa chain of cubes as in Figure 5a is available athttp://kumar.grasp.upenn.edu/folding5box.m4v. An end-to-end video for an origami boat is also available athttp://kumar.grasp.upenn.edu/boatend2end titled.mp4.

ACKNOWLEDGMENTWe gratefully acknowledge support from DARPA grant

W911NF-08-1-0228, DOE grant P200A060275, ARL grantW911NF-08-2-0004, and ONR grant N00014-09-1-1031.

REFERENCES[1] Karpelson, M., Wei, G.-Y., and Wood, R., 2008. “A review

of actuation and power electronics options for flapping-wing robotic insects”. In Proceedings, IEEE InternationalConference on Robots and Automation, pp. 779–786.

8 Copyright c© 2010 by ASME

Page 9: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

[2] Griffith, S., 2004. “Growing machines”. PhD thesis, Mas-sachusetts Institute of Technology.

[3] White, P. J., Thorne, C. E., and Yim, M., 2009. “Right an-gle tetrahedron chain externally-actuated testbed (ratchet):A shape-changing system”. In Proceedings of IDETC/CIE2009, ASME.

[4] Wood, R., 2009. Harvard microelectronics lab-oratory website - research overview, August.http://micro.seas.harvard.edu/research.html.

[5] Lang, R. J., 2003. Origami Design Secrets: MathematicalMethods for an Ancient Art. A K Peters Ltd.

[6] Demaine, E. D., and O’Rourke, J., 2008. Geometric Fold-ing Algorithms: Linkages, Origami, Polyhedra. CambridgeUniversity Press, New York, NY, USA.

[7] Balkcom, D. J., and Mason, M. T., 2008. “Robotic origamifolding”. The International Journal of Robotics Research,27(5), pp. 613–627.

[8] Demaine, E. D., Demaine, M. L., and Mitchell, J. S., 2000.“Folding flat silhouettes and wrapping polyhedral pack-ages: new results in computational origami”. Computa-tional Geometry Theory and Applications, 16(1), pp. 3–21.

[9] Zakin, M., 2008. “Programmable Matter-The Next Rev-olution in Materials”. MILITARY TECHNOLOGY, 32(5),p. 98.

[10] White, P. J., Posner, M. L., and Yim, M., 2010. “Strengthanalysis of miniature folded right angle tetrahedron chainprogrammable matter”. In Proceedings of IEEE/RSJ Inter-national Conference on Robotics and Automation. to ap-pear.

[11] Yim, M., Duff, D., and Roufas, K., 2000. “PolyBot: amodular reconfigurable robot”. In IEEE International Con-ference on Robotics and Automation, Vol. 1, IEEE; 1999,pp. 514–520.

[12] Murata, S., Yoshida, E., Kamimura, A., Kurokawa, H.,Tomita, K., and Kokaji, S., 2002. “M-tran: self-reconfigurable modular robotic system”. IEEE/ASMETransactions on Mechatronics, 7(4), p. 431.

[13] Christensen, D. J., and Stoy, K., 2006. “Selecting a meta-module to shape-change the ATRON self-reconfigurablerobot”. In Proceedings of IEEE/RSJ International Confer-ence Robotics and Automation, pp. 2532–2538.

[14] Bishop, J., Burden, S., Klavins, E., Kreisberg, R., Mal-one, W., Napp, N., and Nguyen, T., 2005. “Programmableparts: a demonstration of the grammatical approach to self-organization”. In Proceedings of IEEE/RSJ InternationalConference on Intelligent Robots and Systems, pp. 3684–3691.

[15] White, P. J., Kopanski, K., and Lipson, H., 2004. “Stochas-tic self-reconfigurable cellular robotics”. In Proceedings ofIEEE/RSJ International Conference on Robotics and Au-tomation, Vol. 3, pp. 2888–2893.

[16] Stellman, P., Arora, W., Takahashi, S., Demaine, E. D.,

and Barbastathis, G., 2005. “Kinematics and dynamics ofnanostructured origami”. In Proceedings of the ASME In-ternational Mechanical Engineering Congress and Exposi-tion, pp. 541–548.

[17] Birkmeyer, P., Peterson, K., and Fearing, R., 2009. “Dash:A dynamic 16g hexapedal robot”. In IEEE/RSJ Inter-national Conference on Intelligent Robots and Systems,pp. 2683–2689.

[18] Gilpin, K., Kotay, K., Rus, D., and Vasilescu, I., 2008.“Miche: Modular shape formation by self-disassembly”.The International Journal of Robotics Research, 27(3-4),pp. 345–372.

[19] Lee, J., Bush, B., Maboudian, R., and Fearing, R. S., 2009.“Gecko-inspired combined lamellar and nanofibrillar arrayfor adhesion on nonplanar surface”. In Langmuir, Vol. 25,pp. 12449–12453.

[20] belcastro, s.-m., and Hull, T., 2002. “A mathematical modelfor non-flat origami”. In Origami3:Proceedings of 3OSME,pp. 39–51.

[21] McCarthy, J., 2000. Geometric Design of Linkages.Springer-Verlag New York, Inc., New York, NY, USA.

[22] Huffman, D., 1976. “Curvature and creases: A primer onpaper”. Computers, IEEE Transactions on, C-25(10), Oct.,pp. 1010–1019.

[23] Trinkle, J., and Milgram, R., 2001. “Motion planning forplanar n-bar mechanisms with revolute joints”. In Proceed-ings, IEEE International Conference on Intelligent Robotsand Systems, pp. 1602–1608.

[24] Liu, G., Trinkle, J., and Milgram, R., 2004. “Complete pathplanning for a planar 2r-manipulator with point obstacles”.In Proceedings, IEEE International Conference on Robotsand Automation.

[25] Tang, X., Thomas, S., and Amato, N., 2007. “Planningwith reachable distances: Fast enforcement of closure con-straints”. In Robotics and Automation, 2007 IEEE Interna-tional Conference on, pp. 2694–2699.

[26] Kavraki, L., Svestka, P., Latombe, J.-C., and Overmars, M.,1996. “Probabilistic roadmaps for path planning in high-dimensional configuration spaces”. Robotics and Automa-tion, IEEE Transactions on, 12(4), Aug, pp. 566–580.

[27] LaValle, S., Yakey, J., and Kavraki, L., 1999. “A probabilis-tic roadmap approach for systems with closed kinematicchains”. In Robotics and Automation, 1999. Proceedings.1999 IEEE International Conference on, Vol. 3, pp. 1671–1676 vol.3.

[28] Trinkle, J., and Milgram, R. J., 2002. “Complete Path Plan-ning for Closed Kinematic Chains with Spherical Joints”.The International Journal of Robotics Research, 21(9),pp. 773–789.

[29] Connelly, R., Demaine, E., and Rote, G., 2000. “Straight-ening polygonal arcs and convexifying polygonal cycles”.Foundations of Computer Science, Annual IEEE Sympo-

9 Copyright c© 2010 by ASME

Page 10: A Toolchain for the Design and Simulation of Foldable ...Steven R. Gray, Jungwon Seo, Paul J. White, Nathan J. Zeichner, Mark Yim, Vijay Kumar General Robotics, Automation, Sensing,

sium on, 0, p. 432.[30] Streinu, I., 2000. “A combinatorial approach to planar non-

colliding robot arm motion planning”. In Foundations ofComputer Science, 2000. Proceedings. 41st Annual Sym-posium on, pp. 443–453.

[31] Cantarella, J. H., Demaine, E. D., Iben, H. N., and O’Brien,J. F., 2004. “An energy-driven approach to linkage unfold-ing”. In SCG ’04: Proceedings of the twentieth annual sym-posium on Computational geometry, ACM, pp. 134–143.

[32] Streinu, I., and Whiteley, W., 2005. “Single-vertex origamiand spherical expansive motions”. Lecture notes in com-puter science, 3742, p. 161.

[33] Panina, G., and Streinu, I., 2009. “Flattening single-vertexorigami: the non-expansive case”. In SCG ’09: Proceed-ings of the 25th annual symposium on Computational ge-ometry, ACM, pp. 306–313.

[34] Tachi, T., 2009. “Simulation of rigid origami”. InOrigami4:Proceedings of 4OSME, pp. 175–187.

[35] Shvalb, N., Liu, L., Shoham, M., and Trinkle, J., 2007.“Motion planning for a class of planar closed-chain ma-nipulators”. International Journal of Robotics Research,26(5), May, pp. 457–474.

[36] Jorgensen, M. W., Østergaard, E. H., and Lund, H. H.,2004. “Modular ATRON: Modules for a self-reconfigurablerobot”. In Proceedings of IEEE/RSJ International Confer-ence on Intelligent Robots and Systems, Vol. 2, pp. 2068–2073.

[37] Kotay, K., Rus, D., Vona, M., and McGray, C., 1998. “Theself-reconfiguring robotic molecule”. In Proceedings ofIEEE/RSJ International Conference on Robotics and Au-tomation, Vol. 1, pp. 424–431.

[38] Rus, D., and Vona, M., 2001. “Crystalline robots: Self-reconfiguration with compressible unit modules”. Au-tonomous Robots, 10(1), pp. 107–124.

[39] Suh, J. W., Homans, S. B., and Yim, M., 2002. “Telecubes:mechanical design of a module for self-reconfigurablerobotics”. In Proceedings of IEEE/RSJ IEEE InternationalConference on Robotics and Automation, Vol. 4, pp. 4095–4101.

[40] White, P. J., and Yim, M., 2009. “Reliable ExternalActuation for Full Reachability in Robotic Modular Self-Reconfiguration”. The International Journal of RoboticsResearch.

[41] Karagozler, M., Campbell, J., Fedder, G., Goldstein, S.,Weller, M., and Yoon, B., 2007. “Electrostatic latching forinter-module adhesion, power transfer, and communicationin modular robots”. In Proceedings of IEEE/RSJ Interna-tional Conference on Intelligent Robots and Systems, Cite-seer.

[42] Gracias, D. H., Tien, J., Breen, T. L., Hsu, C., and White-sides, G. M., 2000. “Forming Electrical Networks in ThreeDimensions by Self-Assembly”. Science, 289(5482),

pp. 1170–1172.[43] Zhang, S., and Fasse, E., 2000. “Spatial compliance mod-

eling using a quaternion-based potential function method”.Multibody System Dynamics, 4(1), pp. 75–101.

[44] Caccavale, F., Siciliano, B., and Villani, L., 1998.“Quaternion-based impedance with nondiagonal stiffnessfor robotmanipulators”. In American Control Conference,1998. Proceedings of the 1998, Vol. 1.

[45] Fasse, E., and Breedveld, P., 1998. “Modeling of ElasticallyCoupled Bodies: Part I: General Theory and Geometric Po-tential Function Method”. Journal of Dynamic Systems,Measurement, and Control, 120, pp. 496–500.

[46] Zhang, S., and Fasse, E., 2001. “A finite-element-basedmethod to determine the spatial stiffness properties of anotch hinge”. Journal of Mechanical Design, 123, p. 141.

[47] White, P. J., and Yim, M., 2010. “A general mechanicalstrength model for programmable matter”. Robotica. sub-mitted.

10 Copyright c© 2010 by ASME