Draft: An Integrated Design and Simulation Environment for Rapid Prototyping of Laminate Robotic Mechanisms
Laminate mechanisms are a reliable concept in producing low-cost robots for educational and commercial purposes. These mechanisms are produced using low-cost manufacturing techniques which have improved significantly during recent years and are more accessible to novices and hobbyists. However, iterating through the design space to come up with the best design for a robot is still a time consuming and rather expensive task and therefore, there is still a need for model-based analysis before manufacturing. Until now, there has been no integrated design and analysis software for laminate robots. This paper addresses some of the issues surrounding laminate analysis by introducing a companion to an existing laminate design tool that automates the generation of dynamic equations and produces simulation results via rendered plots and videos. We have validated the accuracy of the software by comparing the position, velocity and acceleration of the simulated mechanisms with the measurements taken from physical laminate prototypes using a motion capture system.
Robotics is a difficult field for non-experts to enter, as traditional robots are expensive to purchase and require a large amount of analytical skill and technical expertise to design, build, and field successfully. Recently, advances in lower-cost fabrication techniques have made it easier for novices to prototype parts and mechanisms quickly and easily using laminate techniques. These techniques have also made it possible for new generations of millimeter-scale, lightweight, and low-cost robotic mechanisms to be prototyped with ease [1, 2]. The mechanisms produced with these methods typically feature flexure hinges – composed of Polyimide, Polyester, fabric, etc. – embedded in rigid laminate bodies, which, when exposed at joints, make it possible to create precise mechanisms that rely on material deformation to define the stiffness, damping, and thus, motion of the system.
While manufacturing knowledge has advanced due to new Computer-Aided Manufacturing(CAM) tools [3, 4], analyzing the motion and performance of such devices has lagged. This often involves understanding the dynamics involved with operating a robot in an unstructured environment – an advanced technique unavailable to many.
The precision associated with fabrication and the assumption of pin-joint hinges permits many of these structures to be approximated as traditional mechanisms; a variety of work has been done for specific mechanisms to understand resulting kinematics of muti-bar closed-loop systems . However, material selection plays a significant role in deflection of these devices, as material bending at hinges can influence the stiffness and damping of the system as a whole . Some approaches have used structural engineering methods to understand system stiffness and to solve the static force balances that these structures can accommodate given external loading [7, 8, 9], while others have looked at higher-order models for flexure hinges . These approaches are useful for understanding the quasi-static deformation, as well as the linearized system stiffness of a given configuration.
Due to inertia, high velocities, and intrinsic damping and stiffness present in the joints, many of the devices being made must be considered dynamic. Kinematic and stiffness-based solutions are not sufficient to understand device motion. While deriving the equations of motion for laminates has been performed for specific devices [11, 12], less has been done to use the properties of laminate systems in order to understand and solve for the motion of devices in general. This is due to several reasons. First, since they are manufactured in a flat state, laminate devices begin in an inherently singular configuration and must be erected into a valid 3D shape on one side or another of a singularity, as discussed in . Due to these singularities, laminate mechanisms often have multiple potentially-valid configurations, which must be specified by the user or guessed by an automated system. In addition, laminate mechanisms often form parallel chains of multiple links. Such loop constraints are difficult to specify in general, while maintaining valid and consistent initial conditions across singularities.
In previous work we introduced popupCAD [3, 4], a design environment which automates the computations required to manufacture laminate devices111http://www.popupcad.org/. This tool permits object-oriented design methodologies and considers the constraints of laminate fabrication processing steps in order to produce manufacturable laminate cut files. We have also introduced the addition of a dynamic and a finite element analysis tool for use within the popupCAD development environment , however we did not address the main challenges associated with simulation as mentioned above. Moreover, we did not integrate these tools in the main popupCAD software and therefore, the user has to customize the simulation process for each design. This requires the user to spend more time on training which slows down the prototyping process.
The contribution of this paper is two-fold. First, it presents an extension to popupCAD which permits the generation of the equations of motion directly from popupCAD geometries. This integrated design environment, which has been described in Fig. 1 offers a general method for design and analysis of laminate devices with minimum user interference required which makes it possible to automatically determine the motion of laminate mechanisms with closed-loop kinematics while simultaneously solving for valid initial conditions. Second, it introduces a general guideline for characterizing the hinges used in laminate devices which can then be used by other researchers to study other mechanisms made of hinges with different materials and geometries.
This paper is organized as follows: in Section 2, we describe the fundamentals of the popupCAD simulation environment along with some of specific modeling decisions made and challenges solved. Since the damping coefficient and stiffness of the hinge material are critical to a successful dynamic simulation, Section 3 introduces an experimental procedure for obtaining dynamic parameters for the hinges in a simple system and introduces methods of extrapolating the results to new hinge designs. In Section 4, we discuss the results of hinge characterization experiments and also present simulation and experimental results on arbitrary laminate mechanism designs. Finally in Section 5 we conclude with thoughts on next steps and future work.
2 Dynamic Simulation in Popupcad
We have addressed the issues mentioned in the previous section by introducing a new suite of Python-based tools for simulating rigid-body dynamics in laminates222https://github.com/idealabasu/code_foldable_dynamics. This functionality is designed to work with several other tools we have previously developed, specifically popupCAD and Pynamics333https://github.com/idealabasu/code_pynamics.git, a symbolic toolkit for generating equations of motion. Pynamics is particularly useful for several reasons. It can describe vectors using symbolic variables, take time derivatives of vectors in multiple reference frames, and can use Kane’s method to derive equations of motion symbolically. This gives more insight about mechanism motion than numerical methods because one can see the contribution of individual parameters to the evolution of each state variable.
To merge the capabilities of popupCAD and Pynamics, we have made the following additions. First, we have made it possible to read popupCAD designs and extract rigid body information, as well as detailed joint information, making it possible to simulate a device drawn in popupCAD. Second, we have added the capability to detect and handle open and closed-loop mechanisms automatically, a necessity for laminate mechanisms. We have addressed strategies for determining valid initial conditions. And finally, we have made it possible to render the motion of laminate bodies directly to video or animate 3D motion within a Python-based GUI. Together, these innovations make it possible for novice designers to simulate a wide variety of laminate mechanisms and visualize the motion of their device during the design phase, rather than after prototyping.
2.1 Importing from popupCAD
Pynamics receives geometry data and material properties of laminate layers from popupCAD as a YAML (YAML Ain’t Markup Language) file. YAML is a human friendly data serialization standard for all programming languages. Rigid bodies, hierarchical interconnections of bodies via rotational joints, fixed (Newtonian) bodies and material properties are stored in this file as Python-based classes after the YAML file is read by Pynamics. A hierarchical tree represents the network of connected mechanisms in which rigid bodies are the nodes and the joints connecting them are branches of the tree. Trees are good at representing serial chains of bodies, but do not adequately capture the topology of parallel mechanisms.
For such devices, we discuss adding closed-loop constraints in Section 2.3.
2.2 Obtaining the Dynamic Model
There are a variety of ways to describe the kinematics and dynamics of a physical system. To minimize the size of our system, we have selected a reduced-coordinate system with state variables corresponding to joint rotation, which is described in this section.
A reference frame is created for each body to represent its orientation in space with respect to its parent. The orientation of each body is defined with all axes initially aligned with the base frame. This frame is then rotated along a vector defined by two joint coordinates between the bodies, with defining the angular displacement between the two. To clarify this, consider Fig. 2(a) which shows a 6-bar laminate mechanism with each body numbered from 1 to 6. We use this mechanism as a motivating example throughout the paper due to its relative complexity, non-symmetric angles, and closed-loop topology. Body 1 is defined in popupCAD as the fixed Newtonian reference frame. In this representation, body 1 is considered as the parent and body 2 and 3 which are connected to it are considered as the children of this parent. Body 1 is at the top of the hierarchy which is also called the first generation. All bodies connected to body 1 are considered as the second generation. This hierarchy continues with one branch on the left which contains body 2 and 3, and another branch on the right which contains body 5 and 6. Body 4 is the last body in the hierarchy, which can be either connected to body 3 or 5 as shown in Fig. 2 (b). We describe how this body is treated in the next section while considering kinematic constraints.
2.3 Adding kinematic constraints and initial conditions
In creating a general and valid set of constraint equations for closed-loop laminate mechanisms, we should note that each joint may have associated dynamical elements such as springs and dampers defined by the flexure material, making it difficult to create a constraint along the joint. Our constraint generation instead relies on the fact that the same rigid body, taken from two different branches of the same kinematic loop, should occupy the same space. To represent this mathematically, we use dummy bodies. As a general example, consider the 5 bar mechanism with a single closed loop chain shown in Fig. 2 c. We create a dummy body 7 and attach it to body 3, assigning half of the mass and inertia of body 4 to it. The mass and inertia of body 4 should also be divided by half. In this way we have two rigid bodies attached to the ends of each serial chain that are meant to represent the same single body. We express the position of three points on body 4 and seven as
where and represent the distance from the origin to two similar points and on body 4 and 7, respectively. This comes from the fact that the coordinates of any point on body 4 measured from the fixed reference frame should match the coordinates of the corresponding point on body 7 measured from the same reference frame. A total of three equations representing three non-co-linear points are needed to fully constrain the position and orientation of the bodies together. For multiple loops, the process should be repeated for each loop of the mechanism. However, in this paper we have considered mechanisms with only one closed loop, and cannot assume that our method will work without modification when extended to multi-loop kinematic chains. Next, we add the forces resulting from springs, dampers, gravity and external torques acting on the joints, using parameters supplied by the YAML file. Initial conditions are provided as a vector containing the relative angle between each pair of connected bodies () and their relative angular velocity (). Therefore, in the case of the 6-bar mechanism, the vector of initial conditions contains 12 elements. In Sec. 2.4 we describe our method for finding a valid set of initial conditions.
2.4 Integration and solving
Since joints in laminate mechanisms are created via flexible material layers, laminate mechanisms typically emerge from fabrication in a singular configuration. After fabrication, an assembly step typically erects a flat laminate into a three-dimensional shape. Resulting mechanisms are then typically constrained or operated in conditions which prevent singularities from occurring. However, for simulation purposes, a set of valid, non-singular initial conditions must be determined in order to integrate. Using a traditional Lagrange formulation to constrain closed-loop mechanisms in the presence of initial-value singularities is a problem, because the introduction of any non-zero initial value in state variables produces a permanent error in position constraints. To reduce this error and to deal with singularities simultaneously, we use Baumgarte’s method  further developed by Masarati . Using constraint equations with Baumgarte’s method eliminates invalid initial value guesses over successive simulation steps, with the and terms (introduced in ) behaving like a second order system to minimize error over successive integrations. Constraint stabilizing is controlled by and -influenced terms, which simultaneously eliminate error and constrain the closed-loop mechanism. and were determined by trial and error for the 6-bar mechanism studied in this paper. For these parameters, approximately 300 time steps are needed for the constraint error to approach zero within desired tolerances.
Simulation of the mechanism occurs in two steps. Again, using the example from Fig. 2 as a motivating example, an initialization step solves errors in constraints from an initial position guess supplied by the user. This may be a very rough guess about the value of one of the joint angles, as Baumgarte’s method will produce a valid configuration after sufficient cycles. From the first step, the mechanism is then simulated for a number of time steps which is found experimentally to make sure all the errors become sufficiently small. During this time, the mechanism reaches a valid non-singular configuration under the influence of gravity, joint forces, and initial-value constraints.
The final values of the joint angles from the first step are then fed into the second simulation and used as valid initial conditions to determine the motion of the mechanism. It should be noted that the mechanism is in equilibrium only when the external forces or torques are present. Removing these external forces will cause the mechanism to start moving. This is simulated in this second step. In this second simulation, Baumgarte’s method is not used to increase simulation speed. This is possible because initial error has been eliminated, and what little error gets subsequently introduced is negligible with respect to the valid configuration. This has the positive impact of increasing integration speed, while removing the impact of and terms on the physical simulation.
3 Hinge Characterization
As mentioned earlier, in order to simulate a laminate mechanism, we need to insert the values for the damping coefficient and stiffness of the hinge material into popupCAD. These values are dependent on a variety of parameters such as material properties and the geometry of the hinges. Although these parameters can be arbitrarily inserted into the simulation, in order to get results that are comparable to the real-world situation, we need to have an estimate of the values of these properties which are close to the hinges used in actual laminate designs. Having a model that takes the material properties and geometry of a hinge as input and provides the damping coefficient and stiffness of the hinge as output would be of great help to the user since it is almost impractical to perform detailed tests to obtain these parameters for each design. This section describes studying a hinge in a simple pendulum made using laminate manufacturing techniques in order to map design variables to stiffness and damping in a parametric hinge joint which later can be used for extending simulations to new and more complex systems. Doshi et al  have done similar work for retrieving joint parameters by using spring and damping coefficients using a standard second-order system, and applying these to the hand-coded dynamics of a given five-bar mechanism in a vacuum. The methods used in this paper work in air and extract model parameters using the dynamic model of our system described in Section 3.2. In addition, this paper uses different material models in order to more closely match experimental data. A set of material tensile tests have also been performed to determine the allowable motion range of the hinges.
3.1 Material test
The 0.127 mm-thick flexible polyester used to create flexure hinges was tested according to ASTM D882-12 standard for tensile properties of thin plastic sheeting . Specimens were prepared according to this standard and tightened between two smooth, hard-rubber jaws of the tensile testing machine since serrated grippers created resulted in premature failure of the specimen. The test was repeated for 11 specimens and the average Young’s modulus and yield stress obtained was 4383.27 MPa and 42.84 MPa respectively. Using the yield stress calculated from tensile tests, and referring to the Eq. 3.1, we calculated the maximum allowable load that can be applied to the cantilever beam before it undergoes plastic deformation. Having , we then calculated the maximum allowable deflection and angle using
The maximum allowable angle of deflection in order to remain in the linear region of the stress-strain curve is 1.96 degrees. The variation in joint angles in real laminate mechanisms are much higher than this value. Therefore, the material used as the flex layer undergoes nonlinear deformation which is subsequently considered as a source of error in the analysis of the system.
3.2 Motion Capture
Motion of the mechanism was recorded using two OptiTrack Prime 17W motion tracking cameras at 360 fps rate. In order to sample data from mechanism oscillation, the mechanism was positioned in a known initial configuration, released, and allowed to settle into a final static configuration. Stiffness and damping coefficients were extracted by fitting a model to the recorded data. We used damped natural oscillations of a simple pendulum to extract damping coefficient and stiffness at its single hinge. The design of the hinge is varied over several design parameters such as length and width of the hinge. Also cross-sectional area of the oscillating bodies were varied to study the effect of the air damping. Based on the following model, the equation of motion of a simple pendulum made of a laminate body and a simple hinge can be written as:
where , and are provided by experimental data and , and are extracted from models in popupCAD. A least-squares identification method was used in order to obtain the values of and .
While sampling experimental data from the single pendulum was straightforward, the data provided by the cameras for this case study demands additional data processing. Motion-tracking cameras require three markers to be mounted to each rigid body. Thus, in order to get the information of position and orientation all the bodies, 18 markers were used to determine the 6 rigid bodies of the mechanism. Marker position and mass information was added to popupCAD as an additional 2D material layer in order to account for the added inertia.
The raw orientation data provided by the cameras were based on quaternions. In other words, data received from the cameras and Motive SDK were represented as unit quaternions for each rigid body. Since the joint axes for several of the bodies change with respect to the base frame, standard quaternion operations were used to retrieve the angle and axis of each joint over time and compared against the simulation . This was done in order to produce consistent results across the simulation – which reported state variables as the angles between adjacent bodies – and the experiment – which reported the quaternions of each body with respect to the base frame.
The relative quaternion between two adjacent reference frames () has the following relationship with quaternions of th body () and ()th body ():
where, () is quaternion multiplication .
As implemented in code, the obtained angle of rotation using the formulation of  is always positive and did not change sign when the relative frame displacement went negative; instead the axis of rotation changed direction. Therefore, in order to achieve a consistent axis and angle of rotation across all time, the direction of the axis was continually monitored so that when the direction of the vector flipped, the rotation angle was negated too.
4 Results and Discussion
4.1 Identification of damping coefficient & stiffness
Damping and stiffness are due to the tension and compression of the hinge during oscillation. As a result, hinge width and length play an important role on these parameters. For damping, as well as material damping (), drag experienced by the body increases the overall damping of the system, slowing the system and reducing oscillations faster than when in a vacuum. As air damping can be affected by the cross-sectional area of moving links, it is an important phenomenon to model. A Fourier Series (FS) was fitted to each oscillation output and analytic derivations on the fitted FS were applied in order to obtain the angular velocity and angular acceleration of the pendulum. This method is preferred due to the amplification of noise typically found in derivatives of digital position data. Since the test was conducted in air, drag from the moving body added to the damping of the system. In order to achieve a more precise model, both the material damping and air damping was taken in account and the overall damping of the hinges was calculated as .
The effect of air damping was studied by using seven designs where moving bodies had constant hinge designs but differing cross-sectional area. The effect of changing mass due to cross sectional area was accounted for by the fed into the simulation for each design. Figure 3 depicts the change in the damping coefficient when the cross-sectional area of the moving body is changed. Based on the data, by decreasing cross-sectional area, damping coefficient also decreases. It should be mentioned that the authors also studied the addition of a velocity-squared term to Eq. 3.2 in order to model damping caused by air drag. However, in the this case,the identified coefficient was negligible comparing to other coefficients. On the other hand, the coefficient of velocity term was changing as a function of cross-sectional area of the moving bodies. As a result, the velocity square term is omitted and both the air and material damping coefficients are embedded in a linear velocity coefficient. The obtained value for embedded air damping coefficient keeps the nonlinear behavior and is a second order model of cross sectional area.
Effect of Hinge Width.
In order to study the effect of hinge width on the value of and , five specimens with same body design (same cross-sectional area) were built and experimentally tested. In order to minimize the effect of torsion across a wide range of hinge widths, smaller-width hinges were designed with gaps in the middle and constant exterior dimensions across all designs.
Figure 4 depicts the effect of the hinge width on and . The second order model for damping and stiffness is given by
Based on the obtained results, an increase in the width of the hinge will increase the damping coefficient and stiffness of the hinge.
Effect of Hinge Length.
The effect of hinge length on and was studied across five specimens where the total hinge length was increased (Fig. 5) which resulted in second order models given by
The obtained results show a decrease in the value of the damping coefficient and stiffness as length increases.
A comprehensive model was developed which takes into account all three variables (,, and ), permitting one to estimate joint properties throughout a three-dimensional design space. Figures 6(a) and 6(b) depict the predicted and values vs the experimental values obtained for all specimens.
The obtained model for has () as the Mean Absolute Error (MAE), while values obtained model has () as MAE.
To test the capabilities of our integrated design and simulation environment, we have modeled a variety of laminate mechanisms in popupCAD and analyzed them using Pynamics. Figure. 7 (a)-(d) shows the popupCAD design of four laminate mechanisms studied in this paper. All mechanisms are made of 5 layers. The complexity of the mechanisms increase from left to right. Figure. 7(a) is the simple pendulum used for characterizing the hinges and was introduced in Section 3. Figure. 7(b)-(d) are a triple pendulum, a 4-bar mechanism with a single closed loop and a 6-bar mechanism with a single closed loop, respectively. Second row of Fig. 7 shows each mechanism in its final equilibrium position as predicted by Pynamics. The joint angles and angular velocity for some of the joints labeled in the second row are plotted in the third row of Fig. 7(e)-(h). In order to evaluate how close are the positions and velocities predicted by Pynamics, to the position and velocity of the actual laminate mechanisms, we selected the most complex case in Fig. 7 as an example.
Figure 8 illustrates the comparison between simulated and experimentally-recorded joint angles attached to body 4 of the mechanism presented in Fig .2. Despite some error, the simulation was able to properly predict the dynamic behavior of the end effector. In particular the amplitude and wavelength of oscillations were well predicted for and . Equilibrium angles obtained from simulation were also in good agreement with the experimental data as shown in Tab. 1. Small differences between modeled and experimental equilibrium configurations can be seen in this table, as well as in the dynamic plots in Figure 8. This is partly due to our experimental method – we used dynamic data to estimate damping and stiffness rather than steady-state force/displacement balances. In addition, material creep, non-uniform material thickness, viscoelastic behavior, and operating in the non-linear part of the stress/strain curve are other significant reasons why this deviation may be present.
|Joint||Pynamics (rad)||Experimental data (rad)|
We have developed a suite of tools which permits the dynamic simulation of laminate mechanisms by solving several challenges common across laminate devices. The resulting code integrates well with existing tools, now making it possible for a novice user to easily and quickly generate manufacturing files that are ready to be sent to machining tools with assurance that a design will work. This can help eliminate time consuming and expensive prototyping trials which are otherwise needed to validate designs without the proper analysis. While we have verified our simulations by comparing them to experimental results obtained from a simple pendulum and a spherical 6-bar mechanism, a variety of other open and closed loop designs can been simulated as seen in the accompanying video444http://idealab.asu.edu/foldable_dynamics_video. This verifies that the automatic generation of closed loop mechanism dynamics is feasible and accurate across a wide variety of designs that are extracted from sketched mechanisms in popupCAD. We are not trying to provide a substitution to commercial software available for dynamic simulations in general, therefore, any comparison between our simulation results and those from commercial packages is not necessary.
We have characterized the hinges that are an essential part of laminate mechanisms and extracted the stiffness and damping parameters which are needed for our dynamic simulation environment. Our characterization method is simple and repeatable and therefore can be used to characterize other flexible materials used to manufacture the hinges. We have taken the effect of air damping in our model since many of the laminate mechanisms are operated in air and this makes our simulation results closer to real working conditions of these mechanisms. The hinge parameters can be extrapolated to any new hinge design with different length, width and cross-sectional area.
Our simulation environment automates the task of generating symbolic equations of motion, integrating and solving those equations, and generating numerical and visual output. We have considered laminate mechanisms consisting of serial chains and one closed loop. Future work will include mechanisms with more than one closed loop, topological optimization of kinematics for faster simulation, considering contact between mechanisms and the ground, as well as making it possible to integrate closed-loop controllers into the simulation.
While the use of Baumgarte’s method to eliminate initial-value errors was effective, it requires manual selection of and terms. We hope to migrate to techniques which do not require manual tuning in order to eliminate parameter selection in the future.
Material tests showed that we were using flexure material outside of its linear regime. Further testing is required to determine if the stresses involved would lead to premature failure of these hinges. Future mechanisms may resort to fabrics or thinner materials to minimize stresses in flexure hinges.
With those future improvements, we see this tool being used to assist novice robot designers by optimizing suggested kinematics based on stated performance goals which are then confirmed through simulation. Ultimately, we hope this tool helps to connect design and analysis for novices to make it possible for them to design, simulate, and prototype complex robots for tasks in unstructured environments.
-  Baisch, A. T., Ozcan, O., Goldberg, B., Ithier, D., and Wood, R. J., 2014. “High speed locomotion for a quadrupedal microrobot”. The International Journal of Robotics Research, may.
-  Ma, K. Y., Chirarattananon, P., Fuller, S. B., and Wood, R. J., 2013. “Controlled Flight of a Biologically Inspired, Insect-Scale Robot”. Science, 340(6132), may, pp. 603–607.
-  Aukes, D. M., Goldberg, B., Cutkosky, M. R., and Wood, R. J., 2014. “An analytic framework for developing inherently-manufacturable pop-up laminate devices”. Smart Materials and Structures, 23(9), sep, p. 094013.
-  Aukes, D. M., and Wood, R. J., 2014. “Algorithms for Rapid Development of Inherently-Manufacturable Laminate Devices”. In ASME 2014 Conference on Smart Materials, Adaptive Structures and Intelligent Systems, ASME, p. V001T01A005.
-  Aukes, D. M., Ozcan, O., and Wood, R. J., 2014. “Monolithic Design and Fabrication of a 2-DOF Bio-Inspired Leg Transmission”. In Third International Conference, Living Machines 2014, Milan, Italy, July 30 - August 1, 2014. Springer International Publishing, Milan, pp. 1–10.
-  Stellman, P., Arora, W., Takahashi, S., Demaine, E. D., and Barbastathis, G., 2005. “Kinematics and Dynamics of Nanostructured Origamiâ¢”. In Design Engineering, Parts A and B, Vol. 2005, ASME, pp. 541–548.
-  Tachi, T., 2009. “Simulation of Rigid Origami”. In Origami4:Proceedings of 4OSME.
-  Schenk, M., and Guest, S. D., 2011. “Origami Folding : A Structural Engineering Approach”. In Origami 5: Fifth International Meeting of Origami Science, Mathematics, and Education.(5OSME), pp. 291–303.
-  Fuchi, K., Buskohl, P. R., Joo, J. J., Reich, G. W., and Vaia, R. A., 2014. “Topology Optimization for Design of Origami-Based Active Mechanisms”. In Proceedings of the ASME 2014 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference (IDETC/CIE 2014), pp. DETC2014–35153.
-  Ma, R. R., Odhner, L. U., and Dollar, A. M., 2013. “A Modular, Open-Source 3D Printed Underactuated Hand”. In 2013 IEEE International Conference on Robotics and Automation(preprint), IEEE.
-  Doshi, N., Goldberg, B., Sahai, R., Jafferis, N., Aukes, D., Wood, R. J., and Paulson, J. A., 2015. “Model driven design for flexure-based Microrobots”. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, pp. 4119–4126.
-  Hanna, B. H., Lund, J. M., Lang, R. J., Magleby, S. P., and Howell, L. L., 2014. “Waterbomb base: a symmetric single-vertex bistable origami mechanism”. Smart Materials and Structures, 23(9), sep, p. 094009.
-  Aukes, D. M., and Wood, R. J., 2015. “PopupCAD: a tool for automated design, fabrication, and analysis of laminate devices”. In SPIE.DSS, T. George, A. K. Dutta, and M. S. Islam, eds., p. 94671B.
-  Baumgarte, J., 1972. Stabilization of constraints and integrals of motion in dynamical systems.
-  Masarati, P., 2011. “Adding kinematic constraints to purely differential dynamics”. Computational Mechanics, 47(2), pp. 187–203.
-  ASTM International, 2012. “ASTM D882: Standard Test Method for Tensile Properties of Thin Plastic Sheeting”. ASTM Standards, p. 12.
-  Aydin, Y., and Kucuk, S., 2006. “Quaternion based inverse kinematics for industrial robot manipulators with euler wrist”. In Mechatronics, 2006 IEEE International Conference on, IEEE, pp. 581–586.