generative shape optimization of soft pneumatic actuators ... · generative shape optimization of...

95
Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to Generatively Optimize Thin-Walled Soft Pneumatic Actuators Henrik Solvang Holmsen Thesis submitted for the degree of Master in Robotics and Intelligent Systems 60 credits Department of Informatics Faculty of mathematics and natural sciences UNIVERSITY OF OSLO Spring 2019

Upload: others

Post on 07-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Generative Shape Optimization ofSoft Pneumatic Actuators Using

Cloth-Simulation

Using Various Parameterizations toGeneratively Optimize Thin-Walled Soft

Pneumatic Actuators

Henrik Solvang Holmsen

Thesis submitted for the degree ofMaster in Robotics and Intelligent Systems

60 credits

Department of InformaticsFaculty of mathematics and natural sciences

UNIVERSITY OF OSLO

Spring 2019

Page 2: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to
Page 3: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Generative Shape Optimization ofSoft Pneumatic Actuators Using

Cloth-Simulation

Using Various Parameterizations toGeneratively Optimize Thin-Walled Soft

Pneumatic Actuators

Henrik Solvang Holmsen

Page 4: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

© 2019 Henrik Solvang Holmsen

Generative Shape Optimization of Soft Pneumatic Actuators UsingCloth-Simulation

http://www.duo.uio.no/

Printed: Reprosentralen, University of Oslo

Page 5: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Abstract

Soft robotics has shown a lot of great promise in recent years. However,most of the soft muscles/actuators used today often rely on designsdeveloped in the 1950s and requires the use of different materials toachieve actuation. In this thesis the generative design paradigm was usedto design such soft inflatable actuators, using a single thickness, and asingle material.

This thesis, in particular, focuses on optimizing the surface shape ofsuch actuators, in order to make them contract as much as possible wheninflated. A variety of different search spaces were explored, first by usinga basic sine function. An optimal amplitude was found, and furtherresults in these experiments indicated that several actuators in series werebeneficial for contraction.

Evolutionary algorithms were also used to find an optimal number,and magnitude of b-spline control points, to design a soft actuator foroptimal contraction. In the simulation, an optimal shape was found, witha fitness exceeding that of the sine-function based actuators.

Then these optimal actuators were tested, with external forces appliedto both sides, simulating stretch. It was found that the area betweenthe individual vertices in the mesh greatly impacted the stretch of eachactuator and that this test not necessarily gave a good indication of thestrength. However, by visual inspection some useful conjecture could bederived, in that, the more uniform shapes seemed to stretch less than themore complex shapes.

i

Page 6: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Acknowledgements

First of all, I want to thank my supervisor, associate professor MatsErling Høvin for support during the work of this thesis and for helpfuldiscussions when both creating the simulation environment and findinggood parameterizations of the meshes.Secondly, I would like to thank my fellow students for interesting inputwhen creating this thesis.Lastly, I want to thank my friends and family for their support.

ii

Page 7: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Contents

I Introduction and Background 1

1 Introduction 21.1 Research Goals . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Background 62.1 Generative Design . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Soft Body Simulation . . . . . . . . . . . . . . . . . . . 72.1.2 Local Search . . . . . . . . . . . . . . . . . . . . . . . . 112.1.3 Generative/Evolutionary Design Challenges . . . . . 16

2.2 Soft Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.1 Actuation . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.2 Recent work in Generative Design of Robots, And

Soft Robot Design . . . . . . . . . . . . . . . . . . . . . 18

II The Project 22

3 Tools and Implementation 233.1 Software and Tools . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1.1 Open Frameworks . . . . . . . . . . . . . . . . . . . . 233.1.2 DEAP . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2 Implementation and setup . . . . . . . . . . . . . . . . . . . . 243.2.1 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.2 Fitness . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.3 Limiting the Search Space . . . . . . . . . . . . . . . . 333.2.4 Exhaustive Search, Method, and Implementation . . 343.2.5 Evolutionary Algorithm, Method and Implementation 36

III Expermients and Results 42

4 Sinusoids 434.1 Variable Amplitude Search . . . . . . . . . . . . . . . . . . . . 43

4.1.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

iii

Page 8: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

4.1.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Variable Amplitude and Range . . . . . . . . . . . . . . . . . 46

4.2.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.2.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3 Variable Amplitude and Range With Absolute Function . . . 494.3.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.3.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5 B-splines and Evolutionary Optimization 535.1 Single B-spline Over Entire Mesh . . . . . . . . . . . . . . . . 54

5.1.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.1.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2 Single B-spline Over the Middle Mesh . . . . . . . . . . . . . 575.2.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.2.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.3 Two B-splines Over the Middle Mesh . . . . . . . . . . . . . 605.3.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.4 Four B-splines Over the Middle Mesh . . . . . . . . . . . . . 645.4.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.5 Random X and Y Coordinates . . . . . . . . . . . . . . . . . . 685.5.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.5.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6 Testing The Optimal Actuators 716.1 Optimal Sinusoids . . . . . . . . . . . . . . . . . . . . . . . . 71

6.1.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2 Optimal B-splines . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.2.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 746.2.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 74

IV Conclusion and Discussion 76

7 Discussion 777.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

iv

Page 9: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

List of Figures

2.1 Spring mass simulator setup . . . . . . . . . . . . . . . . . . . 82.2 Vector product used for inflation . . . . . . . . . . . . . . . . 102.3 Flowchart showing how a EA is run . . . . . . . . . . . . . . 122.4 Visualization of a two point crossover . . . . . . . . . . . . . 142.5 Design and concept of a pleated PAM . . . . . . . . . . . . . 182.6 Evolved and manufactured soft robot . . . . . . . . . . . . . 192.7 Evolving robot gaits using VoxCAD . . . . . . . . . . . . . . 192.8 Evolutionary optimization in bending FEA . . . . . . . . . . 202.9 Figure of soft robotic fish . . . . . . . . . . . . . . . . . . . . . 21

3.1 Visualization of the internal mesh structure . . . . . . . . . . 253.2 Visalization of internal forces . . . . . . . . . . . . . . . . . . 263.3 Visalization of how where the internal forces are added in

the mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.4 Flowchart for one run in the simulation . . . . . . . . . . . . 283.5 UML of the simulator data structure . . . . . . . . . . . . . . 303.6 Figure of the fitness calculation . . . . . . . . . . . . . . . . . 323.7 Sine-functions applied to the base-cylinder . . . . . . . . . . 353.8 Flowchart of how the evaluation of different sinusoids are

set up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.9 How b-splines are impacted by the control-point placement 373.10 B-splines added to the base-cylinder . . . . . . . . . . . . . . 383.11 Flowchart of how the evaluation of different b-spline- and

random X and Y coordinate solutions are set up . . . . . . . 41

4.1 Fitness-landscape of amplitude-search . . . . . . . . . . . . . 444.2 Best performing amplitude search . . . . . . . . . . . . . . . 454.3 Fitness landschape for different amplitudes and cycles . . . 474.4 Best performing amplitude and range search . . . . . . . . . 484.5 Fitness-landscape of absolute sine and range search . . . . . 504.6 Best performing absolute sinusoid . . . . . . . . . . . . . . . 51

5.1 Evolution for single b-spline over entire mesh . . . . . . . . . 555.2 Best performing specimen for b-spline over entire mesh . . . 565.3 Evolution for single b-spline over the middle mesh . . . . . 585.4 Three best uniform meshes . . . . . . . . . . . . . . . . . . . 59

v

Page 10: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

5.5 Evolution for two b-splines over the middle of the mesh . . 625.6 Three best half b-spline meshes . . . . . . . . . . . . . . . . . 635.7 Evolution for four b-splines over the middle of the mesh . . 665.8 Three best quarter b-spline meshes . . . . . . . . . . . . . . . 675.9 Evolution for random X and Y coordinates . . . . . . . . . . 695.10 Best perfroming random X and Y optimized mesh . . . . . . 70

6.1 Stretching of sine-based actuators. . . . . . . . . . . . . . . . 726.2 Stretching of b-spline-based actuators. . . . . . . . . . . . . . 75

vi

Page 11: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

List of Tables

3.1 List of software used the thesis . . . . . . . . . . . . . . . . . 233.2 List parameters used in the simulator . . . . . . . . . . . . . 293.3 Table showing the different GA searches run in the thesis . . 40

4.1 Parameters for amplitude search of sinusoids . . . . . . . . 434.2 Parameters for amplitude and cycle search of sinusoids . . . 464.3 Parameters for amplitude and cycles search of the absolute

sinusoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.4 Intersection of the better performing results in the absolute

sinusoid search. . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.1 Parameters for GA in single b-spline over entire mesh . . . . 545.2 Fitness and genome of the best performing mesh. . . . . . . 545.3 Parameters for GA in single b-spline over the middle of the

mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.4 Fitness and genome of the best performing meshes after

evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.5 Parameters for GA in two b-splines over the middle of the

mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.6 Fitness and genome of the best performing meshes after

evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.7 Parameters for GA in four b-splines over the middle of the

mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.8 Fitness and genome of the best performing meshes after

evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.9 Parameters for GA for random X and Y coordinates . . . . . 68

6.1 Results for stretching of the best performing and mostrealistic sine-based actuators. . . . . . . . . . . . . . . . . . . 72

6.2 Results for stretching of the best performing and mostrealistic b-spline-based actuators. . . . . . . . . . . . . . . . . 74

vii

Page 12: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Part I

Introduction and Background

1

Page 13: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 1

Introduction

Throughout human history, we have been seeking to replicate nature andto make machines that act more akin to our surroundings [3, 17, 21].This is done in order to help us automate tasks we don’t want to do ourselves, to put ourselves out of harm’s way in tasks deemed too dangerousfor humans[5, 32], or even to do certain tasks faster and better than anyhuman ever could achieve.

The next forefront in robotics does seem to be soft robotics, as they areless susceptible to damage, and also more flexible and thus able to reachspaces previously unreachable to their hard counterparts[40]. Soft robotdesigns have been tested out and proven to be rather well performing ina lot of use cases. This includes exploration of hostile environments ortight spots [7, 11], such as extraterrestrial bodies or nuclear fallout zones[10]. Further, they have shown great promise with regards to differingmedical tasks, such as surgery [15, 27, 36] or prosthetics [44], and theymay even prove to be great companions for the elderly[6]. Even furtheranimal-like robots have been created, such as fishes and snakes[1], whichuse soft robotic actuation in order to generate movement, usually throughinflation.

However, many such designs still require the use of more rigidtendons[1, 19] or an outer mesh guiding the motion of actuation in thedesired direction, such as the Mckibben actuator, explored in [9]. Thismay limit the uses for such an actuator and makes the manufacture of suchdesigns more difficult. Thus, applying the generative design paradigm toa single thickness, single material inflatable actuator, would allow simplermanufacture, yielding a cheaper and a more applicable actuation methodin soft robotics.

Looking further at nature, generative design through evolution hasbecome a proven method of exploring and exhausting a large and variedsearch-space quickly. Due to its ease of implementation and intuitivenature, the evolutionary algorithm is an excellent pairing with the designprocess. Allowing for rapid testing of many different variations throughevolution and simulation may yield an optimal design which a human

2

Page 14: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

designer not necessarily would ever think of.Most of the traditional implementations of such evolutionary design

algorithms, use complex simulations in order to find a solution. Thisis either done using complex FEM simulations, which usually consist ofsolving difficult partial differential equations to arrive at a solution. Or itis done using a complex three-dimensional mass-spring model, sacrificingsome accuracy for a speed increase. However, this thesis proposes thatfor a significantly thin-walled object, the third dimension in the traditionalmass-spring models can be sacrificed, reducing it to a cloth-simulator. Thiswill further increase simulation performance, and yield a faster designprocess. This type of simulation for this purpose has not previously beenexplored in any particular extent. The solutions given from this methodwill not be as accurate as a traditional FEM simulation, and due to thelinear springs in the mesh, it is not the most accurate model for simulatingsilicone rubbers. Yet, the increase in performance may still outweigh this,in that modifications, and new designs can be made faster.

When wanting to design a soft pneumatic actuator(SPA) using thisprocess, a number of preconceptions needed to be made. When using thismethod, a structurally sound initial mesh is a prerequisite for generatingany designs. Furthermore, there are a vast number of potential meshes,and therefore a method for parameterizing the search space was necessary,in order to arrive at sound optimums quickly. As a result, a variety ofdifferent parameterizations of an initial base cylinder was used to generatedifferent SPAs.

1.1 Research Goals

The main goal of this thesis is to generatively design an optimallycontracting thin-walled actuator. First of all, a mass-spring cloth simulatorneeds to be developed, then a number of different parameterizations willbe used with the simulator in order to achieve optimal contraction. Theparameterizations are divided into two approaches. The first approachconsists of limiting the surface of the actuator to a couple or just to a singleparameter and then searching exhaustively for all different values of eachparameter. Three different functions were used with this approach. Thefirst, function used is a sine-function with a single range, with variablesamplitudes. Second, a sine-function with both variable ranges as well asvariable amplitudes is used. Then thirdly an absolute sine-function is usedin order to avoid an intersecting mesh, which happened when using thesecond sine-function.

Then the second approach is to use a genetic algorithm to search overseveral different parameters, to find a more complex surface geometry.First of all, a single b-spline function is applied to the entire surface ofthe mesh, with the spline control-points being modified by the genetic

3

Page 15: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

algorithm. Further, a b-spline is applied to the middle vertices of themesh excluding the top and bottom of the actuator. This was also donewith a larger genome of two b-splines applied to each half of the actuator,and then done with an even larger genome of four b-splines applied toeach quarter of the actuator. Then, at last, a more random approach wasused, allowing the genetic algorithm to modify each X and Y coordinatein the mesh to find an optimal surface geometry. Summarizing all of theseapproaches gives the following goals:

• Implement and test a cloth-based simulator, for modeling inflationof a soft robotic actuator.

• Find the optimal amplitude and sine-function range, for contractionusing both a sine-function and an absolute sine-function.

• Find the optimal variable length b-spline(s), applied to the externalof the cloth-mesh, using an evolutionary algorithm, for optimalcontraction.

• Allow an evolutionary algorithm to evolve each vertex’ X and Ycoordinate independently in a cloth-mesh, for optimal contraction.

Looking further at the validity of these results, a closer look waspointed at how well the actuators perform when an external force isapplied to both sides, and to see how well they hold their shape whenstretched and also how far they are stretched. This can be summarized as:

• Stretch each optimal actuator, to inspect their rigidity, and theirability to hold up in simulated real-world tasks.

1.2 Outline

This thesis consists of four parts, Introduction, The Project, Experimentsand Results and, Conclusion and Discussion. Each of these is divided intoa number of chapters.

Introduction consists of two chapters, this Introduction, as well as theBackground, it contains general background theory, on which the work inthis thesis is based, including the generalities of cloth and FEM simulators,evolutionary algorithms and previous works in soft robotics and soft robotdesign.

The Project consists of a single chapter, Tools and Implementation, itcontains a list and short description of the software used in this thesis,as well as explanations on the cloth-simulator and its data-structure, theEA, and how the different optimizations in this thesis are organized andperformed.

4

Page 16: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Experiments and results consist of three chapters, Sinusoids, B-splinesand Evolutionary Optimization and Testing the Optimal Actuators. Si-nusoids describe the initial experiments, finding optimal amplitudes andranges for different sine-based meshes. B-splines and Evolutionary Opti-mization describes the evolution of b-splines and, X and Y coordinates forfinding optimally contracting meshes. And Testing the Optimal Actuatorsconsists of stretching the viable optimal actuators from the previous twochapters, testing their rigidity.

The last part consists of a general discussion on the findings as well asa conclusion, then suggestions on future work to be done on this topic.

5

Page 17: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 2

Background

Adapting nature in robotics has become a more viable prospect todaythan it was only a few years ago. From using evolution in their design-process[10, 19] to making robots that mimic not only the looks of naturebut also the movement as well as the relative weight and feel as itsliving counterpart[1]. Soft robotics may prove revolutionary changes inmedicine, exploration, robot-human interaction, and many more fields.

However, their design has been proven difficult due to their elasticnature, meaning that such designs are nearly impossible to perfect inthe traditional way. Generative design, therefore is a great solution tothis problem, only giving a computer a set of constraints and even someoptimization parameters. This will, in turn, generate the most optimaldesign for the constraints and parameters given[25, 28].

2.1 Generative Design

Generative design is a wide term, including all from making aestheti-cally pleasing arts like paintings, music and objects through iterative com-putation[24, 43], to making more useful structures, like actuators[4, 26]through for instance evolutionary computing. There are a lot of differentapproaches to take using GD, all with varying amounts of intrusion fromthe designer in the process. Common for all the differing GD techniquesis that a computer is vital to the design process, in order to generate so-lutions matching the criteria of the designer. For an in-depth overview ofthese techniques, see [41].

In this thesis, we will be looking at the uses of exhaustive andevolutionary local search algorithms in order to find optimal surfacegeometries of a soft pneumatic actuator. And therefore limiting thegenerative design problem from that of the entire GD space to only alow intervention and highly optimal solution, taking few artistic liberties.This type of GD generally consists of two parts; that of the simulationenvironment and the local search strategy.

6

Page 18: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

2.1.1 Soft Body Simulation

Simulation of the real world can be performed in a lot of different waysthrough computation, however, the most common type of simulationrun these days is the Finite Element Method or FEM. These types ofsimulations usually consist of one domain being simulated upon. Thisglobal domain is then divided into several subdomains, where eachsubdomain is represented by equations being part of the original domain.Then systematically recombining all equations from the subdomains intoa large set of equations which in turn can be used to solve for the globaldomain, using the initial values. For an in-depth overview of the FEMsimulation method, see [23].

These types of simulations are often very accurate and are thereforethe de facto standard used in modern design workflows. However, thisaccuracy comes with a caveat, FEM simulators are often very taxing on thesystem they are running on, making it difficult to design on low poweredhardware.

However, in the world of real-time simulation and especially gamedesign, the physical linear spring simulator has been used in order torealistically simulate cloth[35]. It has also been altered to simulate softbodies in driving simulators as well as more complex design tools of softrobots [20]. These methods sacrifice some of the accuracies of FEM in orderto significantly improve performance.

Cloth Simulation

There exist several types of cloth simulators, they are generally dividedinto three:

• Geometric models which treat cloth like a set of cables represented ashyperbolic cosine curves, but these models are usually for generatingstatic images and does not deform like a soft elastic body.

• Secondly we have particle/energy models, which are widely consid-ered the most complex real-time cloth simulation. These are imple-mented as a mesh of points interacting directly, and their individualenergy is used to modify the shape of the cloth. These methods areaccurate, however, research is still needed to look at the elastic prop-erties of this model.

• The third method of simulating cloth called the physical model. Thismodel functions quite similarly to particles models, but in placeof the particles interacting directly through energy, in the physicalmodel, all vertices are connected with Newtonian springs[35].This allows for a quite accurate deformation as well as a simpleimplementation.

7

Page 19: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Focusing on the physical model of cloth simulation, in its simplestform. We start out with a mesh of vertices in a grid. Each vertex hasits own initial X, Y, and Z coordinate, and each vertex is connected tothe vertices closest to it horizontally, vertically, and even to the verticesabove and below the horizontal vertex, as can be seen in Figure 2.1. Theconnection between the vertices consists of a Newtonian spring with force,F = k · x. Where F denotes the force, k is the spring constant, and x isthe change in length between the initial length recorded and the currentlength calculated. All the forces are added to the vertex, and at the endof the iteration, each vertex is moved to correspond to the magnitude anddirection of the sum of the forces in each vertex.

Figure 2.1: Visualization of how the vertices are connected via springs in amass-spring cloth simulator.

This will, in turn, depending on the choice of spring constant k, wherea low k will give a highly deformable mesh, and a high k will yield a stifferand more rigid mesh.

8

Page 20: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Altering Cloth Simulator For More Accurate Deformation

Looking closer at the spring constant k in our spring force calculation. Thisconstant can further be altered into behaving more like any soft materiallike the silicon rubbers often used in soft robotic actuators. By testingthe deformation of these kinds of materials, and plotting its elasticity atdifferent loads, a function can be made, taking the change in length, x,and moving the vertex more realistically according to this new elasticitymodel.

Trying to approximate the stretching of silicone rubbers, using, forinstance, an Elastosil tendon and plotting the force applied to either sideof the tendon against the length of deformation of the tendon. One can seethat an exponential function with cutoff is an applicable approximationof the behavior of a silicone rubber. Thus using this function that sets anexponentially lower constant on the spring until a maximum is reachedand then setting the constant gradually higher. This function may be ableto closer represent actual rubber compounds in the simulation.

External Forces For Deforming Cloth

In order to deform the object, external forces need to be applied to thecloth-model. This is done by adding an external force-vector to each of thevertices in the mesh wanting to be deformed.

To keep this as accurate and close to the real world as possible thephysical formulas derived from nature are used. This means, that if youwant to simulate gravity, an external force-vector of −9.81 is applied toevery Z coordinate in the cloth-mesh. For accurately simulating gravity asimulated ground would need to be created, or else the object would beindefinitely falling.

Simulating Inflation In [29] internal inflation pressure is looked atsimilarly to simulating wind internally onto all faces of the mesh. Thisinternal wind force is broken down to its simplest parts, consisting of anormal vector n̂, which is a normalized force vector pointing outwards orinwards, depending on whether the object is to be inflated or deflated.Further, this vector is multiplied by the area, Ai of the fragment to beinflated. Then this is multiplied by a pressure value of the material Pwhich generally is a function depending on the current volume of theobject being inflated, as well as temperature and the density of the materialbeing used to fill the object. This gives us the following equation formodeling pressure in an object for an arbitrary vertex i:

~Fpi= P · n̂i · Ai (2.1)

Computing and adding this inflation-formula to each vertex in thecloth-mesh will yield a decent approximation of inflation.

9

Page 21: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

This can further be simplified to a model where only the vector productbetween the edges of the vertices in the mesh is used. Here the length ofeach edge substitutes the need for a Ai parameter. The pressure constantis removed altogether, as accurately simulating the exact pressure of a gasis not necessary for producing inflation. Thus the inflation problem canbe simplified to just being the vector product between each edge in themesh. Figure 2.2 shows how inflation is performed for one vertex doingthis approximation.

Figure 2.2: Here the vector product between two edges(red) used toapproximate the inflation force(orange) of a single vertex in a mesh.

Constraints On Cloth Deformation When cloth-simulating it is impor-tant to constrain the movements of some vertices in order for the object tomaintain its shape. As the object is completely soft, adding external forceswill deform every vertex in the mesh. Therefore some of the vertices in themesh will be needed to remain fixed, or just updated in a single directionin order to allow for correctly simulated inflation.

Curving a Line Segment in Two Dimensions In Computer-aideddesign(CAD), it is often necessary to curve a straight line-segment curve.

10

Page 22: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Initially, it may be sufficient to transform the segment through a functione.g. A · sin(x). However, these kinds of function become difficult to usewhen a curve is unable to be approximated through a sine-function alone.Further, the sine-function requires several variables, not only the selectedamplitude, but also what segment of the sine-function one want to use,one-half cycle, or five?

One solution in overcoming the limitations of curving using a singlefunction is to implement a spline. A spline is in computer graphics usuallyreferred to as a piecewise polynomial parametric curve, these are used dueto their ease of implementation, and are a powerful way to approximatecomplex shapes[16]. More specifically a b-spline or basis-spline allowsthe continuity of interpolation of a more generalized spline, condensedinto a simple blending function (2.2). A line segment is controlled by aseries of at least 4, one dimensional control points, which will pull the linein different directions, smoothing in between the different control points,yielding a smooth curved line. This allows for fewer constraints whendesigning with digital aides.

P(u) =16

u3

−3u3 + 3u2 + 3u + 13u3 − 6u2 + 4

−u3 + 3u2 − 3u + 1

B3B2B1B0

(2.2)

A b-spline line can represent further complexity by adding morecontrol points, this is done by calculating a new spline line using theprevious last three control points and a new 5th control point and thenusing the b-spline function in order to calculate the next segment of theline. This is done until the desired line complexity is achieved

2.1.2 Local Search

A local search is a heuristic method for solving computationally hardproblems, it works by testing a lot of solutions, and then selecting thesolution which maximizes a criterion. Then moving on, it makes slightalterations to the best performing solution in order to find a more optimalsolution.

As the second part of the design process, the local search algorithm isconcerned with the evaluation as well as the optimization and design ofthe object. For a local search, the representation of an object is simplifiedto a few crucial parameters, these parameters are then used together witha simulator in order to find an optimal solution to the problem.

Evolutionary Algorithms

Evolutionary algorithms(EAs) are a subset of Evolutionary comput-ing(EC).

11

Page 23: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Generally, all EAs performs a search by iteratively making modifica-tions to a set or population of potential solutions to a given problem, inorder to reach an optimum. The modifications are done through the ge-netic operators crossover and mutation, they may be used one at a timeor in unison. After such changes have been made, all the potential solu-tions are evaluated, and then go through a selection process, where thebest performing solutions are selected for the next generation. This pro-cess is repeated until an exit criterion is reached, usually, a set number ofgenerations or a satisfactory fitness is reached. A figure showing this pro-cess can be seen in 2.3. For a more in-depth overview of EAs and differentEA techniques, see [2].

Set of potentialsolutions isgenerated

Evaluating andselecting best

performing solutions

Applying geneticoperators

(mutation/crossover)

Terminate?

Yes

No

Figure 2.3: This flowchart shows how a EA is usually run, including theinitiation, genetic parameters, selection and termination.

EAs have over the years become a staple in local optimizationstrategies and machine learning. Due to its ability to perform fast searchesin very large search-spaces, that require satisfactory, but not optimalresults. Its ease of implementation also allows rapid integration in a vastarray of different problems, making it a widely used optimization strategy.

Parameters in Evolutionary Algorithms Looking closer at the EA, thereare many different parameters and algorithms to use in order to reachan optimum. However, most EAs, as mentioned, consists of a selection,a crossover, and a mutation-parameter. In this thesis, tournamentselection, with n-point crossover is used, and therefore these techniqueswill be covered in this background. For different methods in performing

12

Page 24: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

selection, crossover and mutation, see [45] [2].

Tournament Selection Along with roulette wheel selection, tournamentselection is one of the most used traditional selection-algorithms inevolutionary algorithms. Borrowing from nature in that random selectionsof the entire population is tested against one another, instead of the entirepopulation at large. The idea is that this will allow less optimal genomes,but that with small changes maybe surpass the optimal solution in thecurrent population, to prevail long enough for it to gain those attributes.

Tournament selection consists of selecting k random individuals outof a given population, and then selecting the best-fit individual with aprobability p, then choose the second best individual with a chance p ·(1− p), and then the nth individual with a chance p · (1− p)n. The winnerof the selection is then selected for possible crossover and mutation, forthe next generation.

This way genetic diversity is maintained by the selections ability toselect an unfit solution for recombination. Maintained by there both beinga chance of only selecting unfit solutions for crossover/mutation, andalso in selecting an unfit solution in the tournament. However, the highprobability of selecting a fitter solution will push the population to anoptimum.

Further, selection pressure is also set indirectly through the tournamentsize. A large tournament size will have a high chance of selecting bothgood and low fitness individuals, sifting away the badly fit individualsquicker, and in turn, converging faster. However, faster convergence andlower diversity may also quickly lead to a local optimum instead of aglobal, therefore the tournament size is often set quite low in order tomaintain the genetic diversity throughout the evolutionary run.

N-point Crossover Also borrowed from nature and biology, an n-point crossover needs two parent individuals, which are recombined byselecting n random crossover points in their genomes. Then two childrenare created combining the parents’ genomes between the set crossoverpoints. This has both in nature and computer science been proven aneffective measure in both keeping well-performing traits in each of theindividuals, as well as exploring new areas of the search space. Forvisualization of how a specific two-point crossover is performed, seeFigure 2.4

Different Types of Evolutionary Algorithms

Evolutionary Algorithms are a wide topic with many different algorithmsbeing optimal for a variety of problems. In this thesis mostly a modifiedVLG, with a genetic algorithm is used[18]. However, also evolution

13

Page 25: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Two-point crossover

Crossover Points

Parents

Children

Figure 2.4: Visualization of a two point crossover

strategies can be an applicable way of solving the generative designproblem.

Evolution Strategies Evolution strategies or ES, were initially notintroduced as an evolutionary strategy at all, but rather a way ofoptimizing continuous functions using Gaussian noise as a mutation-likeparameter. This mutation was implemented as adding or subtracting arandom amount gathered from a zero mean, σ2 distribution. However,combined with evolution these methods became vastly more powerful.

Today, ES are used in a variety of optimization tasks and are now alsoused in combination population searches. Many different types of EAswere introduced such as (µ,λ)-ES, and (µ+λ)-ES. Here µ is the number ofparents and λ is the number of children. Where the comma denotes theuse of only the children, and the plus the use of both parents and offspring.

14

Page 26: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Usually, the σ-parameter in mutation is calculated based on the diversityin each generation, making the mutation self-adaptive.

Variable Dimensionality Genomes The most widely used EA ap-proaches, like GA and ES, typically have difficulties performing well insearch spaces of varying dimensionality, due to their fixed genome repre-sentations. Examples of these kinds of problems include finding an op-timal network topology in neural networks layers, or in finding optimalcomplexity in the topology of a soft actuator.

In [18], a method was created in order to optimize over variabledimensionality search spaces, trying to make a more realistic geneticmodel further based on human genetic evolution. A mutation-likefunction was implemented in order to add or subtract a random genein the genome. Proving that it takes significantly longer time to evolvea variable genome than a fixed, and further that a variable genomepotentially becomes indefinitely large. However, in most search spacesa local optimum was often reached, but exhausting the search spaceproperly is quite difficult.

Local Search And Fitness-Landscapes

Introduced by evolutionary biologists in the 1930s, fitness-landscapes area way of visualizing the search-space of fitness given several externalparameters[47]. The fitness-landscape of a problem is usually representedas a landscape of valleys and peaks, valleys indicating a lower fitness andpeaks a higher fitness.

When running an EA, which is stochastic in nature, there is no way oftelling where in this landscape we are starting out. We may start close to aglobal peak, on the very bottom of a valley. Encapsulating this problemis the no free lunch theorem[46], telling us that search time is highlydependent on where in the fitness-landscape we start.

This can be mitigated somewhat by running several local searcheswith the same parameters, averaging the best fitness yielded from eachrun. However, there is no way of completely finding out whether one’ssolutions is the global optimum or not.

Evaluating the Performance of EAs As previously mentioned the meanbest fitness is a good measure for the performance of an evolutionaryalgorithm, averaging all the best results after each run. There arealso measures as success-rate, where a definition of success is definedbeforehand and a run is successful if that definition is met duringevolution. Using the same definition of successfulness, a measure ofefficiency can be defined. This measure is the average number of

15

Page 27: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

evaluation to a solution and is calculated as the average number ofevaluations performed before the solution criterium is met.

These are, however, not the only way of looking at performance inEAs. Measures based on averaging results are often great when you arelooking at generalizing an algorithm for an easily repeatable environmentwhere a rather optimal solution is to be found consistently. But when itcomes to the design-problem, often peak performance is a better measureof performance., than the average, as a design is only to be made one.

Visualizing EA Performance Visualizing the run of the EA is ofteninteresting, in order to see how rapid the best solutions converge fromthe first to the last generation. This is usually done through plottingthe best and average fitness per generation, yielding a progress-curve.Doing this for equal EA runs will give us a good indication of the averageperformance and efficiency of the optimization.

Further, the standard deviation for all individuals in a specificgeneration can also be plotted, giving us some idea of the robustnessof our algorithm. A stable low standard deviation often indicates highrobustness, due to the inherent closeness in our results.

2.1.3 Generative/Evolutionary Design Challenges

Although Generative design shows great promise, especially in the worldof robotics and in particular soft-robotics. There are a few challenges toovercome before these types of design techniques become widespread.First of all, in GD, there are usually a lot of parameters in play, such asdifferent environments for the robots to be tested in, etc. This does makeconvergence on a great solution hard, requiring a lot of computation-power in order to simulate each and every individual.

Secondly, it is very hard to design a perfect simulator for a givenproblem. This means that there is always a discrepancy between thereal world and what is done in the simulator. Known as the reality gapthis may lead to the evolutionary algorithm exploiting an error in thesimulations environment, optimizing a solution that simulates well, butperforms poorly. This can be overcome by adding noise to the simulationenvironment[30], that is, randomly changing the variables used in thesimulation by a small amount during the run. Giving a more blurry butperhaps more real-world accurate metrics of fitness.

Further, a more obvious way of getting more accurate results froma simulator is to run Monte Carlo simulations for each individual, thatis, running several simulations with different parameter values for eachsimulation, choosing the mean value or something similarly as fitnessfor the individual. This will, in turn, create a more accurate simulation-environment. However, Monte Carlo simulations are notoriously difficult

16

Page 28: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

to run, and given that the simulation often is the bottleneck of a GD-algorithm, a lot of computation-power is needed before this is a viableoption.

2.2 Soft Robotics

Although a relatively new field in its current form, soft robots have beenenvisioned for a long time, initially just through actuation, but later alsoas fully soft-bodied robots. They have been proven to have nearly infinitedegrees of freedom allowing them to perform tasks typical robots can’tdo. Although a lot of work has been done on entirely soft robots, the mostpromising works today are based on creating optimal actuation in a singleactuator or muscle, usually through a bending motion.

2.2.1 Actuation

Soft robots can be actuated in many different ways, ranging from pumpingfluid into an elastic body to passing current through a wire making itcontract. However, the target of this thesis are actuators that do their workbeing inflated, either pneumatically or hydraulically. Traditionally thereare two different ways this has been achieved, through Pneumaticallyactuated muscles(PAMs) or Fluid Elastomer Actuators(FEAs).

PAM

Developed in the 1950s and 60s, the PAM or McKibben muscles wereintended to be used as the muscles in future artificial limbs. They consist ofa bladder that is to be filled with air, as well as a braided mesh surroundingthe bladder. When the bladder is pressurized, the mesh will force it tocontract, yielding a very lightweight and quite powerful actuator, in apressure range where normal pneumatics are ineffective .[9]

As it behaves quite similarly to human muscle a number of artificiallimb projects and exoskeletons have been created, implementing thesekinds of muscles. However in their current state, often a heavy air-compressor is needed in order to make these kinds of systems work, thismay be mitigated with more complex closed loop, high-pressure systems.

Further, in [12], a design was created omitting the traditional mesh,often associated with PAMs. Called a pleated PAM, it is just a membraneconsisting of several pleats from the top to the bottom of the actuator.When inflated this the pleats will fold outward, yielding up to 50%contraction.

17

Page 29: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 2.5: Design and concept of a pleated PAM from [12]. Shows in(a) the muscle uninflated and in (b) inflated, along intersections of themuscle at various stages in the inflation as well as in different placesduring inflation.

FEA

In more recent years it has been more common to bake the actuation intothe body of the robot itself. Known as a fluid elastomer actuator, theseactuators are based on either pneumatics or hydraulics and either throughclever chamber placement in the material or a less deformable wall in theactuator movement is generated in a predetermined direction.

2.2.2 Recent work in Generative Design of Robots, And

Soft Robot Design

Adding to what is previously mentioned, a lot of work has been done inthe field of soft robots and actuator designs.

Evolutionary Robotics

In the world of generative design, there has been done a lot of workevolving optimal robotic limbs, etc. for designing robots that moveoptimally, which have yielded good results[39]. Work has also been doneon coevolving the design and gait of robots[37].

18

Page 30: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

VoxCAD

Developed by H. Lipson and J. Hiller at Cornell University, VoxCAD isa voxel-based design framework and simulator for soft robots. It allowsfor easy design and simulated testing of soft robots, making it ideal forevolutionary design. A number of designs have been evolved using thisframework, all from allowing the evolution to be run with one criteria offorwards movement, creating a slithering blob[19], to evolving optimalsoft quadropods[10].

Figure 2.6: Times series example of movement of an evolved andmanufactured soft robot using VoxCAD in [19].

Figure 2.7: Times series example of movement of an evolved soft robotusing VoxCAD in [26].

To be an effective design tool, speed is an important part of VoxCAD, aswell as high deformability, therefore a mass-spring model simulator wasimplemented. Each voxel has a set of masses and springs along with a fewconstraints which allow each voxel to simulate different materials, anddifferent pressures. For an in-depth explanation of the VoxCAD simulatorand its accuracy, I refer to the original paper[26].

In order to be able to evolve robots using this framework, a genomeneeds to be implemented that represents each robot. Doing this randomlywill yield a lot of noisy, odd-looking solutions. Thus the CPPN/NEATalgorithm[42] was used, this is a neural network with a lot of differentactuation functions, used to create more uniform, yet random solutions.

19

Page 31: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

This yielded robots who evolved the traits of legs and a gallopingmotion[8].

However, some of the problems with this approach are the inheritblocky designs of the solutions given, which are difficult to mold into softrobots in the real world. As well, using various materials in differentparts of the robots, are also difficult to implement. Due to the inheritblocky nature of voxels, it is difficult to design and test uniform robotsor actuators often associated with soft robots and soft robotic actuation.

Harvard Soft Robotics Lab

A more traditional route was taken in developing the soft roboticstoolkit at Harvard/Trinity. Here a toolkit was made in order to allowstudents and others, to design, model and create soft robotic actuatorsin particular[22]. A few python scripts were created to make a design-template. And the commercial FEM-simulator Abaqus™ was used tomodel deformations. A number of papers were published, including,investigating the use of FEM simulators in the design of soft robots[31]and the use of rigid and semi-rigid outer shells of soft pneumaticactuators(SPAs) to guide its motion in particular ways, and designs werepublished showing the effects of these[34].

Mckibben Actuators and Prosthetics

In [44], PAMs were used to make an exoskeleton able to mimic the 7DOF of a human hand. The PAMs allowed for relatively lightweightconstruction (<2kg) so that it was not too intrusive on the user. With usecases especially for rehabilitation of upper-body and especially the arms.

Other Evolutionary Soft Robot Designs

Figure 2.8: This figure shows the best initial solution, versus the bestevolved solution, when bending a FEA in [38]

20

Page 32: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Like a lot of the work done at Harward, [38], makes use of thecommercial FEM- simulator Abaqus™ , and teams it up with a geneticalgorithm in order to find the optimal number and size of chambers tooptimally bend a SPA. Allowing the bend to be optimized for around 90degrees to almost 180 degrees. Showing that limiting the search space ofa GA often can make it evolve a quite optimal solution to an even moreoptimized one.

Figure 2.9: The fish-like robot from [1]. The figure shows the movementsenabled from the FEA, and the speed of movement.

Further, soft robotic designs have been used effectively to mimicnature, in [1] a robotic fish was created. It is a contained system, containinga small compressor and a compartmentalized tail allowing different partsof the tail to be inflated to generate movement. The different chamberswere analytically optimized in order to allow for maximum movement.The fish was able to swim around in a tank of water and was also able toperform evasive maneuvers like its natural counterpart.

21

Page 33: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Part II

The Project

22

Page 34: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 3

Tools and Implementation

This chapter consists of two parts, Software and Tools, and, Implementa-tion and Setup. Software and Tools is a brief section about the softwareused in this thesis, with a brief introduction about the lesser known soft-ware used in this thesis. While the section Implementation and Setup goesover how the simulator and searches were implemented along with howthe experiments were performed.

3.1 Software and Tools

Tool Usecase VersionApple Xcode Development Environment 10.0

Open Frameworks Graphics Engine 1.00DEAP Genetic Algorithm Framework 1.2.2

Matplotlib Graphs and Plots 2.1.2Adobe Illustrator Figures & Diagrams 16.0.0Adobe Photoshop Photo Editing 13.0

Table 3.1: List of software used the thesis

3.1.1 Open Frameworks

Open Frameworks is an open source C++ framework for "creative coding".It was released by Zachary Lieberman on August 3, 2005, and is beingmaintained by Lieberman, Watson, and Castro. Its goal is to be a simple,yet powerful way to interact with graphics and other creative aspects ofcomputing and to be portable across all three major operating systems[33]. Open Frameworks is distributed under the MIT open source softwareLicense.Open Frameworks is an alternative to the creative-coding frameworkProcessing, which uses the Java VM as a basis for its computation. Itwas chosen over Processing for this task, as it allowed for a more direct

23

Page 35: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

connection to the hardware and therefore a slight speedup, due to its C++nature.In this thesis, open frameworks mainly will be used to debug and to lookat the meshes as they are simulated. As well, open frameworks was usedto create the figures of the meshes seen in this thesis.

3.1.2 DEAP

DEAP (Distributed Evolutionary Algorithms in Python), is a novelcomputational framework for rapid prototyping and for testing ideas. Itseeks to make algorithms explicit and data-structures transparent. It isdeveloped and maintained by François-Michel De Rainville, Félix-AntoineFortin, Christian Gagné, Olivier Gagnon, Marc-André Gardner, SimonGrenier, Yannick Hold-Geoffroy and Marc Parizeau at the ComputerVision and Systems Laboratory (CVSL) at Université Laval in Quebec City,Canada. [13] [14]DEAP was chosen for this thesis, due to its modular implementation,this made it easy to use a variety of different genomes without anymodifications to the base framework at all. This modularity also allowedfor simple implementation of genetic operators for the very specific tasksneeded in this work.

3.2 Implementation and setup

This section consists of two main parts. The software implementation ofthe simulation, evaluation and optimization/search environment and thechoices made in the development of these systems. The second part isabout how this system was used to run the experiments.It is worth noting that the terms EA and GA are used somewhatinterchangeably in the remainder of this thesis. This is due to the factthat the "GA" in this thesis, does not adhere to some of the practices oftenattributed to the general GA, like the use of crossover as the main geneticoperator or the use of strictly binary genomes. Similarly the last "GA"used in this thesis uses both Gaussian noise as the mutation operatorand floating point genomes, often solely attributed to the evolutionstrategy algorithm. However as no inherit population strategy is usedin this algorithm as well as it is relying on the crossover as the maingenetic operator, the term GA or EA is also used when talking about thisalgorithm.

3.2.1 Simulator

The simulator is a 2D mass-spring simulator otherwise known as a cloth-simulator. The simulator was made with a focus on speed, so that a

24

Page 36: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

number of simulations can be run as fast as possible, even on lower tierhardware. Each object in the simulator is set up by using the same 30 by30 vertex base cylinder, which will allow for similarity in the shapes thatare simulated.

Mesh

Figure 3.1: Visualization of the internal mesh structure, with i representingthe ith vertex in the mesh, and R is the number of vertices around eachspiral in the mesh.

The mesh consists of 900 vertices that are all connected with springs toall other adjacent vertices. This means that vertex i is connected to itsneighbor i+ 1, the vertex above i+ R, as well as the neighbors to the abovepoint i + R − 1 and i + R + 1, where R is the number of vertices aroundthe mesh i.e. the resolution. A visualization of this mesh can be seen inFigure 3.1

Initial base cylinder creation Initialization is performed by a routinethat twists each vertex around a given radius to the top. A base radius,r, is given, and is set to 1. The resolution, R, is the number of vertices inone twist around the radius of the cylinder. The height is the total amountof vertices from one vertex at the bottom to the adjacent vertex on top. Itwas chosen an identical value of 30 for both the resolution and the height,resulting in 900 vertices. The height of each vertex is incremented by 1

R ,to make quite similar lengths in between each vertex. This will yield atwisting cylinder with a radius r, which can be concretized mathematicallyas the following equation:

25

Page 37: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

M[i] =

X[i] = r ∗ sin(2π · iR )

Y[i] = r ∗ cos(2π · iR )

Z[i] = ∑in=0

1R

(3.1)

Internal Forces

All of the vertices are connected physically through Newtonian springs.The force of the spring is F = k · x where F is the contracting force betweenthe vertices. k is a constant, which for all intent and purposes is set to 0.01,and x is the change in distance between the vertices, from one iteration tothe next. This means that the internal forces will increase with deformationwhile trying to keep the mesh in its original state. This will also makethe mesh snap back to a shape resembling its original state when externalforces are disabled. The internal forces are added to all the vertices in themesh. However, for the top and bottom two spirals of the mesh, only theinternal forces are added in the Z(up/down) direction. This is in orderto simulate clamps holding the actuator in both sides and is visualized inFigure 3.2

Figure 3.2: Visualization of how the internal forces are added to the mesh.In the yellow part of the figure, only the Z-coordinate is allowed to bemoved. In the green part of the figure, free movement in all directions isallowed.

26

Page 38: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

External Forces

The external forces are all the forces that are not produced as a result of themesh’s movement. Rather the external forces are the forces used to movethe mesh in any direction, whether this is inflating, pushing or pulling.

Inflation External forces for inflation are calculated as shown in equation2.1 in chapter 2. To sum this up, the external forces are calculated asthe cross product between the vector branching from vertex i to vertexi + 1, and the vector branching from vertex i to vertex i + R, where R isthe resolution one spiral around the mesh. The external forces are onlycalculated on the middle vertices, that is, not on the top and bottom twospirals of the mesh, as with the internal Z force. This is to have verticesin the top and bottom holding the mesh together, to mimic the way anactuator is being fixed in between two points of actuation, illustratedto the left in Figure 3.3. The cross product function is used as it isdirectly impacted by the area of each of the vectors making it up, aswell as it is perpendicular to the surface of the vectors. This was doneas it was not deemed necessary to have accurate pressure models in thissimulation, and a simple inflation model would do for simulating softactuator performance in this thesis.

Figure 3.3: Visualization of how the external forces are added to the mesh,in both illustrations the green part represent where forces are applied, andthe red part represents where no external force is applied. In the figureon the left, the vector represents the inflation force applied to the cylinder.And in the right cylinder, the two vectors represent the pull applied to allthe top and bottom vertices.

27

Page 39: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Pull In a realistic scenario, the actuator will be placed between twojoints in a fixed position, leading to the actuator being pulled betweenthese two parts. Therefore a function was implemented in order to findout how much flex there is in the optimally contracting mesh. This wasimplemented by pulling the top row of points in the Z direction as well asapplying a similar pull to the bottom row of the mesh, in the opposite Zdirection. As can be seen in the second illustration in Figure 3.3.

Iteration in Simulator

Taking all of these calculations together, a working cloths simulator, that isable to pull and inflate a mesh, was set up. Figure 3.4 shows the loop of oneiteration in the simulator. First, all of the internal forces are calculated, thatis, all the spring forces are calculated for each of the vertices in the mesh.Then these values are added to the force-vector of each vertex. Second, allthe external forces are calculated and are added to the same force-vectorfor each vertex. When this is done the vertex is moved to the end-pointof the force vector, and the force-vector is again set to zero for the nextiteration.

Calculate internalspring forces

Calculate externalforces 

Move vertex inaccordance with

forces 

Set all forces to zero

Figure 3.4: Here one simulation run is visualized.

28

Page 40: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Spring Constants and Convergence Factors

In the early days of the simulator an arbitrary number of simulation-iterations, set to 10,000 was run in order to make a consistent startingpoint. The number of iterations was picked because it allows for possibleavoidance of large spring-constants, thus making the simulation moreresistant to unnatural fluctuations and ripples in the structure. Thereforeall internal constants in the mesh are being optimized for running these10,000 iterations. These may be changed to speed up the run-time,however, this was not done, as the simulator is performing rather welleven given such many iterations.The internal spring-constants between the vertices are set to 0.01, and theoverall convergence factor of 0.07 is multiplied to all the forces beforethe vertices are moved. Further, to all inflation forces, a constant of0.005 is added to all the vector product calculations, in order to limit thedeformation and allowing the simulation to converge at roughly 10,000iterations.

Constant ValueSpring Constant 0.01

Convergence Overall 0.07Convergence External Forces 0.005

Table 3.2: List parameters used in the simulator

Data structure

The mesh consists of a one-dimensional vector of vertices, where eachvertex is an object consisting of its X, Y and Z coordinate. The object alsocontains the internal forces in the X, Y, and Z direction i.e. the way itshould be moved at the end of the iteration.The connected vertices are stored in three different two-dimensionalinteger vectors, one for horizontal edges, one for vertical edges and onefor all the cross-edges. The indices of each vertex in the vertex vector, eachcorrespond to an edge in the different edge vectors.Then, corresponding to the indices of the edges in the edge-arrays, threedifferent lengths-vectors are created, one each for horizontal, vertical andcrossing edges. The calculated lengths are being stored at the same indexas that of the corresponding edge-vectors. Figure 3.5 presents this datastructure visually, as well as the functions used for simulation.

Networking and Python Setup Scripts

All of the genetic algorithms, and the mesh generation, etc. are run inan external Python environment, for ease of implementation. From the

29

Page 41: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Vertex

X: double

Y: double

Z: double

Force_X: double

Force_Y: double

Force_Z: double

Vector<Vertex>0..*

Obj

Vertices: Vector<Vertex>

Horizontal_Edges: Vector<Array, 2> 

Vertical_Edges: Vector<Array,2>

Cross_Edges: Vector<Array,2>

Horizontal_Lengths: Vector<double,2>

Vertical_Lengths: Vector<double,2>

Cross_Lengths: Vector<double,2>

External_Forces: bool

External_Forces_Pull: bool

0..1

set_new_vertex(array<3>) add_to_vertex(array<3>) set_new_force(array<3>) add_to_force(array<3>) get_vertex(void): array<3> get_force(void): array<3>

 add_vector_force(void)  run_one_sim(void)  external_forces(void)  pull_down(void)  set_external_forces(void)  set_pull_down(void)

Figure 3.5: Here a UML-like diagram shows how the simulator datastructure, alongside a few key functions were implemented. Vectors areassumed to be of "infinite" length, and therefore the <double, 2> syntaxmeans that there is an array of doubles of size 2 in each space in the vector.

Python environment, each mesh is sent to the simulator using a localTCP server. The GA is entirely contained on the Python-end, initializing,selecting, mutating, etc. However, in the evaluation step, each mesh issent over local TCP to the simulator-server as a string of floating pointnumbers being separated by a whitespace. The mesh is parsed and anew simulatable object is then created and simulated in the server. After10,000 iterations of simulation, the object is parsed to a new string of itscoordinates, separated by whitespaces, sent to the python-script, parsedon the client-end and the fitness is evaluated. This is repeated for everyspecimen being tested.

30

Page 42: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Parallelization Parallelization is not implemented in this thesis, butchanging the client-server structure, to the server being the Python-scriptand the client being the simulator. A Python-script can initiate severalsimulators, and thus parallelizing the workload over more CPUs. Thiscan also further be improved to having the simulator run on a differentmachine entirely from the script. This will make the simulator able run onexternal, even more, powerful machines.Further, without making any changes to the software. Parallelization canbe achieved using more than one instance of the cloth-simulator at thesame time, thereby connecting it to more Python-scripts on different ports.E.g. to run several GAs with small alterations, to find the most optimalparameters, doing this at the same time it takes to run just a single GA.

3.2.2 Fitness

Fitness calculations are done for every individual being evaluated. Afunction was implemented in order to get a good measure on how eachindividual contracts.

Fitness Calculations

To maintain a consistent framework for all the different searches, a singlefitness function was used for all measurements. After 10,000 simulatoriterations, the fitness was calculated. The function was implemented asthe change in the average Z-coordinate from the bottom, subtracted bythe change in the average of Z-coordinates from the top, from the initialmesh to the inflated mesh. This will result in a fitness function returning asingle value, making this a one-max optimization problem. More formallythe fitness function is:

F = (R

∑i=0

V(z)i)/R − (((H·R

∑i=(H−1)·R

V(z)i)/R)− (H − 1)) (3.2)

Here V(z)i is the Z-coordinate of vertex i, R is the resolution of spiralaround the cylinder, and H is the height of the structure. For a closerdescription of how the fitness is calculated, see Figure 3.6

Necessity of Maintaining a Standard Height and Radius Due to theway external forces are calculated, and the constant resolution of the mesh.A larger radius at certain points will lead to the mesh consisting of largerareas between certain vertices. This will again lead to larger externalforces being calculated due to the area being greater in between somevertices. There will be an inconsistent readout after running the sameamount of simulation iterations. However, as it is impossible to fullymitigate this under the current setup of the simulator, this needed to be

31

Page 43: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

z

xo

y

h_orig

h_new

delta_h

b_new

b_orig

delta_b

F=delta_h+delta_b

Figure 3.6: Here a visualization of the fitness calculation is presented.delta_h is the difference in height from the top after a given number ofsimulations have been run, and delta_b is the difference in height fromthe bottom. The sum of these two deltas is the fitness.

taken into consideration when representations of the structures were beingdeveloped. Therefore, large differences in radii were tried to be avoidedprior to the genome-representation of the mesh was constructed, i.e notusing too large amplitude for a sine-function.A taller structure will also lead to inconsistencies in the results. Becausea taller structure has more vertices in the Z-direction. This will leadto different internal forces in the mesh, yielding different results whensimulating. Therefore a standard height of 30 was used, translating to aheight-resolution of 30 vertices, with each vertex having a default area of1 in between its neighbors.

Limitations of This Fitness-Function This way of calculating the fitnessis a simple and intuitive way of turning the problem of optimal contractioninto a single fitness-value. However, there are a number of limitations to

32

Page 44: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

this approach. First of all, the fitness-function does not take into accountpotential twists and turns the mesh performs during inflation. This meansthat a bending motion may be perceived as a better solution, than a regularcontracting actuator.Secondly, as collision detection was not implemented into the clothsimulation, a mesh which intersects itself during simulation may performvastly better than a mesh not doing so. Meaning that an unrealisticsolution may be rewarded disproportionately well. This can be accountedfor by using penalties, i.e. looking at the spread in all of the Z-coordinatesand then penalizing the fitness of wider spreads. However, this was notimplemented in the fitness function.Awareness of these limitations is necessary when parameterizing thesearch-space in order to avoid unrealistic or invalid solutions to ourproblem.

3.2.3 Limiting the Search Space

Before performing generative design, it is necessary to limit our searchspace into smaller parts. This is due to the very large potential searchspace, as 900 different three-dimensional floating points may be arrangedin near an infinite amount of positions.First of all, a limited starting point of a 30 by 30 cylinder with a radiusof 1 was selected as a base for all experiments. This cylinder was goingto be modified in many ways. Starting with multiplying the radii of thedifferent heights in the cylinder with a sine function. This will create anactuator reminiscent of traditional soft actuator designs, which will allowfor exhaustive tests of many different amplitudes for the sine-functionuntil an optimal amplitude is found. Further, this exhaustive search willbe expanded upon, testing different ranges of the sine-function, as wellas using the absolute-sine-function. This will allow us to test differentamplitudes of the sine-function, along with a number of actuators inseries, expanding the search-space further.Looking to expand the search-space even further. A b-spline with avarying amount of control-points to was used to allow for evaluationof an even larger search-space. However, this search-space is now toolarge for exhaustive exploration, therefore a GA will be used. The basecylinder will be multiplied a single b-spline, testing uniform shapes of ouractuator. Then the cylinder will be divided into two and four with eachside being represented by a single b-spline of varying length, to see if aregular uniform b-spline or a more complex shape is more optimal.Then, at last, a GA will be used to look for an optimal solution in the entiresearch space. Starting with the base cylinder, Gaussian noise will be addedin the X and Y direction for each vertex. This is done to find an optimalsolution in this extremely large space.

33

Page 45: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

3.2.4 Exhaustive Search, Method, and Implementation

Initially, as previously mentioned, we wanted to design an actuatorresembling of those previously made and whether several such actuatorsin series would outperform a single actuator. Therefore, a sine-functionbased mesh was implemented allowing for multiple cycles as well asmultiple amplitudes to be tested. This was done to maintain a small andsimple search space so that comparisons of the different optimums waseasy, and also basic evaluation of the cloth-simulator could be made.

Setup of Amplitude Search

Using the initial cylinder described in section 3.2.1, a sine-function wasused to implement a variable amplitude search, to find the optimallycontracting sinusoidal actuator. A regular sine-function was used dueto its simplicity, and also to its resemblance of traditional soft actuatordesigns. The sine-function was implemented as a product between theradius of the base cylinder i.e. the X and Y coordinate of each vertex in themesh, and the sine-function at a given height. The height of the mesh isthe X-coordinates of the sine-function. More formally this can be writtenas:

{

Mx(j) = X · A · sin(i)

My(j) = Y · A · sin(i), where i ∈ { 0, n · π} (3.3)

Here Mx is every X coordinate in the mesh of height j ∈ {0, 30}, similarlyMy is every Y coordinate of the same height j .This method is used when sine-shapes are evaluated over different rangesof i. Different values of n are set to define the number of actuators in seriesone want to evaluate. In the initial experiment the range i ∈ {0.5, π − 0.5}is used, for the single amplitude search in order to keep the mesh morereminiscent of a traditional soft actuator. An illustration showing howthis impacts the base cylinder from Section 3.2.1, can be seen in the leftscatter-plot in Figure 3.7

Amplitude-search Methodology The first search is performed using thisinitialization, is the one with a variable amplitude over the sine-intervalC ∈ {0.5, π − 0.5}. This range was chosen as it will prevent the radiusfrom becoming 0 at the top and bottom, and it will also yield a subjectivelymore visually pleasing structure.A preliminary exhaustive search will be performed over all amplitudes inthe range A ∈ {1, 10} with 20 linearly spaced points in the range, yieldingone simulation for every 0.5 change in amplitude. This will give us agraph mapping out the heuristics of the search-space, narrowing down

34

Page 46: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 3.7: Here two scatter-plots of the base cylinder, with two differentranges of the sine-function is applied to the exterior. On the left, a scatterof one of the tested amplitude-only meshes. And on the right is a scatterof a mesh with both variable amplitude and range.

the search space to a segment where potentially more simulations can berun over several amplitudes in a more restricted search space.

Setup of Amplitude and cycles search

Similarly to the amplitude search, the same function is used in theamplitude and cycles search. The changes are made in that differentranges of the sine-function are also used. Then multiples of the rangeare tested, to find an optimal number of actuators in series, alongside anoptimal amplitude for said actuators. An illustration of this can be seen inthe right scatter-plot in Figure 3.7.Furthermore, an absolute sine-function was also implemented. Thiswas used in order to keep the opposing sides of the base-cylinder fromintersecting when the amplitude surpassed the radius of the base cylinder.

Amplitude and cycles -search Methodology Searching over both ampli-tudes and cycles will yield longer search times. First, an exhaustive searchfor all the amplitudes was done, as in the previous search. The amplituderange was changed to A ∈ {0.1, 1}, of 20 linearly spaced points. Further,for each amplitude, a search over the different ranges of the sine-functionwas done, in the range, C ∈ {2π, 8π}, every multiple of π in this rangewas evaluated. Every multiple of π was chosen, as closing the top andbottom of every actuator lead to more consistent performance. In total 140simulations were needed to complete this experiment.For the absolute-sine-function search, most of the parameters were keptthe same. The only two differences made, were that an absolute-sine-function was used and that the amplitude range was changed from A ∈{0.1, 1} toA ∈ {1, 10}. This was done to see if larger amplitudes for severalactuators in series, would increase performance. A visualization of theruntime for both of these searches can be seen in Figure 3.8

35

Page 47: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Set up amplitude-and/or range-values

Generate a meshiterating throughamplitude- and/or

range-values 

Evaluate the fitnessof the one mesh 

Run 10000 iterationsin simulator

Store fitness andgenerate plot

Figure 3.8: Here a flowchart for the evaluation of the sinusoids ispresented. The stippled line represent the entire mesh being sent overTCP to the simulation environment.

3.2.5 Evolutionary Algorithm, Method and Implementa-

tion

Wanting to find an optimal surface for contraction, one can not only searchover a few sine-function amplitudes and ranges. There needs to be away to search efficiently over vast search-space, and the evolutionaryalgorithm is one for doing just that. It allows through simple parametersand random initialization, to quite easily climb to a somewhat optimalsolution. As mentioned the search-space is parameterized in a number ofways, and with the EAs, two main parameterizations were used, b-splines,and individual vertex manipulation.

Genome Representation

The genomes are two randomized parameterizations of our base cylinder.For the first four experiments, b-splines were used to generate a smooth

36

Page 48: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

function able to be multiplied to the radius of the base cylinder, similarlyto the sine-functions. B-splines are used differently by the number ofindividual splines used to generate each mesh. In the generation of eachmesh, either one, two or four b-splines are used, dividing the cylinderinto either a whole, two halves or four quarters, where a b-spline isrepresenting one of the sides. In the other parameterization, each X and Ycoordinate in the mesh is used as the genome, allowing much finer controlwhen evolving an actuator.

B-splines In its simplest form a b-spline is generated using 4 control-points, this generates a line that twists and turns being pulled by each ofthe 4 for control-points in succession. An illustration of how this is donecan be seen in Figure 3.9. The genome is represented as a variation of 5 ton such points, represented as integers in a list. In time for a simulation, acylinder of radius 1 and height h is created, and a spline is generated basedon the control points. Then the vertices in the cylinder are multiplied withthe spline-function point of the given height, this will, in turn, create asimulation mesh based on the b-spline function.

Figure 3.9: This illustration shows how a b-spline line is impacted by theplacement of the control points.

When generating the b-spline mesh, the randomized spline-line is createdbeforehand and the iteratively added to the base cylinder, like so:

Mbs(j) =

{

B-spline(i) · MX[j]

B-spline(i) · MY[j], where j ∈ {2, h − 2} or j ∈ {0, h} (3.4)

Here j represents the height of the cylinder, i the value across the X-axis inthe spline function. Mbs is the mesh or cylinder after the b-spline functionhas been added. And MX(j) and MY(j) are the X and Y coordinates ofthe mesh at a given height j. As can be seen from equation 3.4, the b-spline is either applied to the cylinder on the middle vertices in most of

37

Page 49: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

the experiments or the entire mesh. This is done to see if adding the b-spline to differing parts of the cylinder impacts the fitness in any way. Anillustration of how the b-splines are added can be seen in the scatter plotin Figure 3.10

Figure 3.10: Here two scatter-plots of the base cylinder, with variousamounts of b-splines added to the surface. On the left, a scatter of onemesh with a single b-spline added to the surface. And on the right is ascatter of a mesh with four b-splines added.

As the exact number of control-points to represent an optimal b-spline linewas not known a variable genome size was used, so that the algorithmcould choose that for itself. The genome is initiated with a random amountof control points between 5 and 16, for each b-spline which translates toa genome-size of 10-32 for the one with 2 b-splines, and 20-64 of the onewith four.

Random X & Y A more naive approach, representing the genome as allof the X and Y floating point coordinates in the mesh, allowing them tocross over and mutate at will. However, upon generation of the genome,an upper and a lower boundary of 0.5 and -0.5 was chosen to limit theinitial search-space. Due to its floating point nature, the search-space willstill be too large to end up on a global optimum, however, with sufficientlyhigh selection pressure, this approach may still reach a satisfying localoptimum.

Selection

A library function of tournament selection in the DEAP-framework wasused, this allowed for directly setting the selection pressure. Due to thenature of the tournament size parameter, a size of 3 was chosen for mostof the tests, as this allowed for moderate selection pressure, and allowingthe algorithm ample space for exploration.

38

Page 50: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Mutation

B-spline As there was no library function in the DEAP-framework doingexactly what was wanted, a new simple mutation was implemented. Itwas created as a function containing two random parameters, first MUTPBis the mutation probability, i.e the chance of a certain individual in thepopulation is mutated. If the individual is to be mutated the othervariable, INDPB or the index probability is used, it is the probability ofan index in the genome is set to a new random value in the search space.For instance in the b-spline implementation, if an individual is set up formutation, there is an INDPB chance of index in the genome being set toa new random integer between 0 and 8. Also in our b-spline approach,where the genome size is variable length, the mutation also takes thisinto account. Here the INDPB parameter is also used, this time to eitherappend a new random index to the genome, if the genome is smaller thana given size. And similarly, remove the last index if the genome is largerthan the smallest potential size.

Random X & Y In the more random approach the index will be movedwith Gaussian noise with the boundaries -1.0 and 1.0 in the X and Ydirection. Similarly to the b-splines, an individual is selected at randomfor mutation with the mutation-variable MUTPB, and a random index ismutated with Gaussian noise with a chance of INDPB.

Crossover

A library version of the two-point crossover was used, this in order tomaintain the correct indices in each object to remain in the correct relativeposition. Further, it allows for exploration into solutions resembling thatof the parents and maybe receiving attributes with good characteristicsfrom both parent solutions.The crossover was not implemented in the b-spline algorithms, out of fearthat this would interfere with the variable genomes, and then especiallyin the genomes with more than one spline. It was thought that goodsolutions may be destroyed as crossover caused each genome to be parseddifferently making good attributes suddenly become bad. This may leadto even slower convergence, or even solutions getting stuck in a localoptimum.

GA Search Methodology

39

Page 51: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Search Genome Size Search-space Genetic Operators Spline RangeGA - One B-spline 5 → 16 105→16 Mut {0, h}GA - One B-spline 5 → 16 int 95→16 Mut {2, h − 2}GA - Two B-splines 9 → 32int 910→32 Mut {2, h − 2}GA - Four B-splines 17 → 64 int 920→64 Mut {2, h − 2}GA - Random X & Y 900 float → ∞ Mut & Cross {2, h − 2}

Table 3.3: Table showing the different GA searches run in the thesis

As can be seen from the diagram, four GAs will be run with differentamounts of b-splines, and one search with a random X and Y. The firstfour are run to see if added complexity will lead to better performance,or if a uniform structure is the best performing. As for the last approachwe want to find out if it is at all possible to find a solution in such a largesearch space, and if the solution, may be a viable solution to the problemof optimal contraction.For each of the four b-spline genome representations, four local searchesusing GA will be performed. This is to take into account that the GAdoes not necessarily will find a global optimum. The tournament-size isalso set low with a high mutation rate, to avoid local optimums by doingas wide a search as possible, with high exploration. 30 individuals aregenerated per generation as it was empirically found that this resulted infast convergence as well as good exploration.As the mutation and crossover are randomly added to the population,a number of the best performing individuals selected from the previousgeneration will be kept to the next. This is done to maintain goodtreats from previous generations, especially in the mutation-only searches,where crossover, which usually keeps good traits, was not used.During the runtime, a plot will be generated with the best, the worst aswell as the average and the standard deviation of all individuals in it, foreach run. And each of the plots will be presented next to each other overthe three runs for each algorithm. A visualization of the entire runtime ofthe evolutionary algorithm can be seen in figure 3.11

40

Page 52: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 3.11: Here a flowchart for the evaluation of the Genetic Algorithmis presented. The stippled line represent the entire mesh being sent overTCP to the simulator.

41

Page 53: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Part III

Expermients and Results

42

Page 54: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 4

Sinusoids

Initially, it was deemed advantageous to limit the search space signifi-cantly, and this was done by limiting the optimization to a single parame-ter, and later limiting the optimization to two parameters. This was donein order to test the simulation environment and to see whether it gavereliable and somewhat realistic results. Further, this was done to run a re-peatable exhaustive algorithm that was able to consistently find the sameoptimum.A sine-function was multiplied to the radius of our base cylinder togenerate each specimen. First, an exhaustive search was run, using asingle amplitude parameter on the sinusoid. Then later also ranges of thesine-function was used as tunable parameters.All the results on the sinusoids are presented in the same way. First,there is an introduction to the experiment, containing the ideas behindit, as well as how the experiment was performed. Then the results arepresented, showing the optimal structures, with the numbers representingthat structure. Here the fitness-landscape is also presented. Then, atlast, there is an analysis comparing the results as well as notes regardingparticularities, etc. of the search and the tendencies in the data.It is worth noting that the structures made in this chapter are referred to assinusoids, due to their surface being based on a sine function. Further, thestructure from the first experiment is referred to in the rest of the thesis asa single sinusoid or single amplitude sinusoid, whereas the two othersare referred to as various range and amplitude sinusoid, and absolutesinusoid.

4.1 Variable Amplitude Search

Function: A · sin(r) Amplitudes: {1, 10}

Range: {0.5, π − 0.5} Number of Simulations: 30

43

Page 55: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Table 4.1: Parameters for amplitude search of sinusoids

First of all a simple sine-function in the range {0.5, π − 0.5} with a variableamplitude was chosen. The given range was chosen to keep the top andbottom open in the actuator, to resemble common soft actuators. Thisinitial search was done in order to get an idea of the speed and accuracy ofthe simulation, and to hopefully find an optimal amplitude-configurationfor contraction. Amplitudes were chosen in the range {1, 10} where 30points were generated. The parameters of this search can be seen in table4.1.As the top and bottom vertices are fixed, with no external forces applied,and only able to move in the Z-direction, it is expected that these willhold the structure together during the inflation process. When externalinflation-forces move the internal mesh, this will cause the vertices to dragthe top and bottom inwards, causing contraction. However, it remainsunclear whether this will cause the mesh to contract, or just inflate like aballoon, and whether the amplitude has got anything to do with this.

4.1.1 Results

Figure 4.1: Fitness-landscape of the amplitude search between 1 and10. Here the X-axis represents the amplitudes tested, and the fitness isrepresented along the Y-axis. The best fitness achieved was 0.75.

44

Page 56: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 4.2: The mesh that performed best in this experiment. The firstmesh is not yet inflated, and the second is the same mesh inflated after10,000 iterations.

Initially, it is worth noting that after running this search, the 900 verticesbeing simulated for 10,000 iterations, took approximately 6 seconds persimulation. To make the entire search take roughly 3 minutes whenrunning on a single thread on a 2016 MacBook.Looking at the search-space in figure 4.1 we can see that the fitness plottedagainst the amplitude yields a curve reminiscent of a parabola, with atop at amplitude 4.1, yielding a fitness of 0.75, which is a contraction of2.5%. Looking at the mesh of this structure in figure 4.2 the middle verticesin the mesh where the inflation-forces are applied, are pushed outwards,dragging the top and bottom into the mesh, yielding visible contraction.

4.1.2 Analysis

Looking closer at the search-space, it can be seen that after the amplitudereaches 7 the mesh stops contracting and starts ballooning instead. Thisis notable as it indicates that the amplitude does have a lot to do with theoptimal contraction of a soft actuator, which is most likely due to the factthat the inflation forces are perpendicular to the mesh at any given vertex.As the amplitude increases, more forces are pushing the mesh in both the

45

Page 57: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

up and down direction, instead of the more optimal outwards direction.As we can see, however, the mesh has an optimal amplitude around 4.1,notably performing better than just a regular cylindrical shape. This maybe due to a variety of reasons. Most likely, the larger amplitude allowsfor larger areas in between each vertex, which in turn allows for largerexternal forces, as these are directly influenced by the area between eachvertex. Therefore it would seem that the optimum in this case is a mediumbetween the largest external forces possible, before the angles of the topand bottom are too large, and is resulting in balloon-like expansion.

4.2 Variable Amplitude and Range

Function: A · sin(r) Amplitudes: {0.1, 1.0}

Range: {2π, 8π} Number of Simulations: 140

Table 4.2: Parameters for amplitude and cycle search of sinusoids

After having tested and found an optimal amplitude for a given range,efforts were shifted to see whether several small actuators in series overthe same area would perform better than just one massive actuator. To dothis the previous sinusoid was modified in order to multiply the radiuswith sine-functions of different ranges. Further, the various amplitudeswere kept from the previous experiment. However, in this experiment theamplitudes tested could not exceed 1, as the radius of the base cylinder is1, and this would cause the mesh to intersect in on itself, which may causeproblematic simulations.Further, the ranges in the search-space are limited to multiples of π,to avoid potential problems with leaving the top and bottom of someactuators more open than others. If this was not done an uneven amountof external forces may be added, where no mesh is holding it back, andthis could cause irregularities in the resulting fitness.The ranges tested in this experiment are the amplitudes a ∈ {0.1, 1},where 20 individual amplitudes will be tested for each range. Furtherall multiples of π between {2π, 8π} will be tested, resulting in 7 differentranges. In total 140 simulations will be run and using the runtime of 6seconds per individual found in the previous section, the estimated totalruntime will be 14 minutes.

4.2.1 Results

Looking at the results of this search we can notably see in figure 4.3 thatlarge amplitudes always lead to higher fitness. This is most likely due tothe low amplitude that is set to avoid intersection in the mesh. Allowing

46

Page 58: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 4.3: Visualization of the fitness-landscape for the amplitudes andrange search.

the amplitude to go higher would probably yield peaks in the fitnesslandscape.But, there is also a large difference between the different ranges. Here thesix cycles with an amplitude of 1 is the best performing specimen, witha fitness of 0.56, which is 1.86% contraction. In figure 4.4 the mesh hasa noticeably smaller radius than the previous optimum has, due to thesmaller amplitude, however, it achieves almost the same contraction.

4.2.2 Analysis

Looking closer at the fitness-landscape in figure 4.3 we can see thatoptimal contraction is achieved with six actuators in series. This performsnearly similar to five and seven actuators in series, four and eight are alsoclose behind. Notably, they all perform much better than two in series,and also better than a single actuator, which was tested in the previousexperiment. In the previous experiment, an amplitude of around 2.5 was

47

Page 59: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 4.4: The mesh that performed the best in the experiment of multipleamplitudes and ranges. The first mesh is not yet inflated, and the secondis the same mesh inflated after 10,000 iterations.

needed before a fitness of 0.56 was achieved, proving that several smalleractuators in series can be more beneficial for contracting a soft inflatableactuator.A reason for the increased contraction given the smaller size is most likely,as in the previous experiment, the shape of the actuator. Several actuatorsin series will allow for more of the inflation forces to be focused in theZ direction, which will, in turn, allow the actuator to be pushed in onitself, which again will yield better contraction. Compared to the previousexperiment where only this could happen at the top and bottom, here ithappens several times within a single mesh. This is most likely the reasonfor the increased contraction seen in this experiment.The lack of a peak in the fitness-landscape is most likely due to the smalleramplitudes tested in this experiment, compared to the last. Here, as in thesingle amplitude search, there would probably be less contraction after agiven amplitude.As previously described, the optimal number of actuators in series turnedout to be five and six, with a slight decrease in the fitness when the totalamount of actuators were increased further. Intuitively, given the previousreasoning, more actuators in series will always perform better. However,

48

Page 60: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

there might be a number of reasons why this is not the case. First of all,given that the current height-resolution of the mesh is 30 vertices, it may beto low to accurately model seven or more actuators in series. Further, formore than six actuators in series, each individual actuator may become toosmall to in any way allow for enough contraction forces to be generatedupon inflation. This will, in turn, explain the gradual dip in contractionhappening after six is series.Looking at the manufacturing of such an actuator, this design will be morecomplex to manufacture due to its increased complexity. It is difficult totell how well such an actuator will perform in the real world, as this designconsists of many thin parts, which may perform inconsistently when manyexternal forces are applied. Such a design will also be more susceptible tobending on inflation. If large external forces are applied in any generaldirection it may be easier for this design to bend out of shape instead ofactually doing the desired task.

4.3 Variable Amplitude and Range With Abso-

lute Function

Function: A · abs(sin(r)) Amplitudes: {1, 10}

Range: {2π, 8π} Number of Simulations: 140

Table 4.3: Parameters for amplitude and cycles search of the absolutesinusoids

After looking at several smaller actuators in series, and its fitness-landscape, it was clear that it was also necessary to have a look at largeramplitudes for many actuators in series. For this experiment the absolutesine-function was chosen, because it is quite similar to the sine-function,and also because it does not go below zero, and thus prevents the meshfrom intersecting upon itself.However, there are some caveats to keep in mind when using thisfunction. First of all the area between the actuators will be reduced.This may lead to the meshes intersecting, which in turn may lead toinaccuracies due to the lack of collision detection in the simulator. Also,the use of this function will yield more actuators in series where all aresmaller in size. These two factors may lead to the results becoming moredifficult to compare to the previous results.Looking at the resolution of the mesh with regard to a large amountof cycles and the large amplitudes, this may lead to inaccuracies in thesimulations. This is because the areas between the different vertices maybe too vast to accurately simulate the thin-walled object.This experiment is set up similar to the last one, except for two changes.

49

Page 61: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

The first change that was made, is the use of an absolute sine-functioninstead of a regular sine-function. The second change was that the range ofamplitudes is changed from 20 linearly spaced points between 0.1 and 1, to20 linearly spaced points between 1 and 10. This will make the simulationtime identical, taking roughly 14 minutes.

4.3.1 Results

Figure 4.5: Visualization of the fitness-landscape for the amplitudes andrange search over the absolute sinusoids.

Mesh Range Amplitude Fitness1 {0, 4π} 4 0.972 {0, 8π} 4 1.743 {0, 8π} 10 3.61

Table 4.4: Intersection of the better performing results in the absolutesinusoid search.

Looking at the fitness-landscape in figure 4.5 we can see that an enormousfitness of 3.5 was achieved for eight actuators in series with an amplitudeof 10, which corresponds to a contraction of 11.6%. However, as can beseen for the bottom mesh in figure 4.6, the fitness is not necessarily thebest metric for judging this actuator.

50

Page 62: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 4.6: Three well performing meshes from the absolute sinusoidsearch. One of which performs rather realistically, and the other two reachproblems due to large areas between the individual vertices resulting inan intersecting mesh. The statistics of each mesh in this figure can be seenin table 4.4.

It does seem that the resolution of the mesh was too low to accuratelymodel high amplitudes on a large number of actuators. This can beseen quite clearly in the fitness-landscape where the fitness suddenlyspikes after it reaches 1, first with 8 actuators in series, but with a largeramplitude also all the way down to 5. This can be clearly seen in the rightmesh in figure 4.6, where the contraction is 1.75 or 5.8% and is clearlyvisible, but it is achieved through exploitation of the low-resolution mesh.However, focusing on the left mesh in figure 4.6, where an actuator can beseen, which simulates quite accurately. This mesh yields a fitness of 0.97or 3.23% total contraction, which is larger than the fitness achieved in theprevious two experiments.

51

Page 63: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

4.3.2 Analysis

To understand why a relatively poor performing mesh, such as the one inthe bottom of figure 4.6, can receive such a high fitness, we have to takea look at how the fitness is calculated. As the fitness is an average of thetop and bottom Z coordinates in the mesh after simulation, relative to theiroriginal position, it is most likely that the top and bottom spiral in the thirdmesh is being pushed deep into the center of the mesh, as it inflates. Thiswill lead to a high fitness, with a mesh expanding in such an unrealisticmanner, and this is the most likely solution to the high fitness observed.As can be seen in the right mesh in figure 4.6, a lot of the meshes had a toolow resolution to be simulated properly. A number of vertices in the meshwere too far apart from each other, to accurately resemble the absolutesine-function in question. Further, the lack of resolution made a lot of thevertices in the mesh intersect with each other and thus lead to a solutionunable to be replicated in the real world. This underscores the necessity ofselecting appropriate search-spaces when looking for an optimal actuatorsurface.However, also a number of solutions were found confirming the resultsfound in the previous experiments. First of all, in the first mesh, a seriesof accurately modeled actuators does outperform a single large actuator,at least in terms of the contraction. Further, in the fitness-landscape,it can also be seen that for few actuators in series i.e. two and three,the ballooning and the resulting negative fitness occurs as for largeramplitudes for a single actuator. The same tendencies can be seen fortwo and three actuators in figure 4.5, as can be seen in figure 4.1 for theamplitude sinusoid in section 4.1.In terms of manufacture, the same thing holds true for this actuator as forthe last experiment, several actuators in series may yield less force in theactuation. Several actuators in series will probably also be more prone tobending when applied in real-world tasks.

52

Page 64: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 5

B-splines and EvolutionaryOptimization

After having found optimal surfaces for contracting sine-based actuators,efforts were focused on expanding the search space, to find the surface forthe optimal contraction of a soft actuator as a whole. First, b-splines wereused in order to look for uniform structures, expanding on the sinusoidsfrom the previous line of experiments. Then a more random approachwas used, allowing each X and Y coordinate in the mesh to move with aset amount of Gaussian noise. Both solutions are using a genetic algorithmto reach an optimum.First, a single evolutionary run was performed using a single b-spline overthe entire mesh. Then three runs of a single b-spline over the middle ofthe mesh was run, that is, for all the vertices, except the top and bottomtwo rows. Further three runs were done of a mesh with two b-splinesapplied to each half of the middle vertices of the cylinder. Then threeruns were done on 4 b-splines over the four quarters of the mesh, over themiddle vertices. Then, at last, a single evolutionary run was done usingthe random X and Y coordinate approach.Each of the experiments is presented similarly. First an introduction tothe experiment, containing the ideas behind it, and how it was performed.Then the results are presented showing the data from the evolutionaryrun(s), as well as the best-performing individual(s). Here the performancedata of the optimal actuator is also presented. At last, there is an analysis,comparing the results as well as notes regarding particularities, etc. of thesearch and the tendencies in the data.In the rest of the thesis, the entire mesh refers to the function being appliedto the entire height of the mesh. The middle refers to the function beingadded to the middle 26 vertices.

53

Page 65: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

5.1 Single B-spline Over Entire Mesh

Local Search: Genetic Algorithm Genome Size: {5-16} integers

Spline control point range: {1-10} Generations: 30

Individuals: 30 Tournament-size: 5

Individual Mutation Rate: 40% Crossover: N/a

Index Mutation Rate: 20% Evolutionary runs: 1

Table 5.1: Parameters for GA in single b-spline over entire mesh

First a single b-spline of variable length was multiplied to the radius ofthe entire base cylinder. This was done to see if a more optimal solutionto this problem could be found. Initially one local search was run, with ahigher selection pressure to test out the algorithm, as well as to see if thissolution would converge on a better performing solution.The b-spline control points were set to the range of {1, 10}. Both to avoidthe mesh intersecting upon itself, and also so that the mesh would notbecome too large, making comparisons to the previous solutions easier.The genome is represented as a variable set of control points for the b-spline. A variable length genome was chosen because it was difficult apriori to find an optimal amount of control points.Crossover was not used in order to be able to compare the convergence ofa solution with that of the search over several b-splines.

5.1.1 Results

Mesh Fitness Genome Genome Length1 3.5 [ 9 4 1 8 6 10 3 3 10 8] 10

Table 5.2: Fitness and genome of the best performing mesh.

Looking at the results, a solution with a high fitness was quickly found.The resulting fitness after 30 generations, performed as good as the beststructures in the absolute-sinusoid search, although they simulated moreaccurately. The final best individual had a fitness of 3.5 or a 11.6%contraction, resembling a dumbbell or an hourglass shape.The initial best fitness of 1.9 easily outperforms most of the best specimenfrom the previous three more limited experiments. Furthermore, thebest individual converges quickly to a fitness of 3.1 within roughly 5generations, using the remaining 25 generations to reach a fitness of 3.5.

54

Page 66: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.1: Here evolution for b-splines over the entire cylinder isshown. The best fitness, worst fitness, as well as the average andstandard deviation of the population, are presented as lines, comparingthe performance of each generation.

5.1.2 Analysis

As mentioned before this approach reached a significantly higher fitnessthan the previous valid solutions. This is most likely due to the fact thatthe algorithm was allowed to evolve a large top and bottom section on theactuator. Then what happens on inflation, is the inverse of what happenedwhen testing the initial sinusoids. The inflation force is perpendicular tothe surface of the actuator, and with an actuator designed with a largetop and bottom, the majority of the inflation-forces will be pointed intothe center. This will, in turn, generate a lot of contraction for the givenactuator, which we can see from figure 5.2.Also, a major factor in the large contraction seems to be that in thisstructure, the lack of mesh in the top and bottom, makes the mesh move inan unrestrained contracting motion, with forces only moving the top andbottom into the center. This is unrealistic because in an actuator forceswill stay on both sides, holding it in place. This design can probably beexplained better if one were to visualize a fan on both sides of the actuator,blowing air onto the top and bottom. They will act as sails, catching the

55

Page 67: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.2: The best performing specimen after 30 generations of evolutionon a single b-spline spanning over the entire mesh vertically. The left meshis shown after one hundred iterations in the simulator and the right is afterthe completed 10,000 iterations. As can be seen, significant contraction isachieved, from the mesh representing the shape of a dumbbell.

wind and thus contracting the actuator. Therefore it may be an idea tokeep the base-cylinder radius of 1, on both the top and bottom of theactuator. Then there will be mesh at either side restricting the contraction,which may result in more accurate simulated actuator performance.Looking closer at the optimal design, it is worth noting that it is notsymmetrical, because it has a larger top than bottom. To single out ananswer to this, there might first of all be reasons to believe that this is notthe global optimum for this actuator. Looking at the design it looks likethe bottom contracts more than the top, but if evolution was to run forlonger, a more symmetrical solution could be evolved.Further, over time two bulks were evolved, one right above the bottompart of the "hourglass" and one below the top. These were not presentearly in the evolution and helped the actuator to reach fitness above 3.One reason why these two extra bulks helped in the performance of thedesign, may be due to it aiding the top and bottom in pulling the meshinwards. When the body is being inflated, the bulks next to the top andbottom will cause less resistance in the mesh right above the large bottom

56

Page 68: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

and right below the large top. This may allow them to move further in ashorter amount of time, making it perform better in the given simulationenvironment.Looking at the genome of the final mesh, we can see that the genome-length settled at 10, this means that the final genome-length ended up inthe middle of the possible genome sizes. As we can see from table 5.2,especially the middle control point of 10 in the genome did not necessarilyaffect the meshes shape noteworthy. However, they managed to create thetop bulk which can be seen around the middle. Then it is clear that a splineof 10 control points has a too high resolution to be accurately representedon the actuator. Although the indirect effects of the spline can affect thefinal shapes of the actuator and are therefore mostly beneficial.

5.2 Single B-spline Over the Middle Mesh

Local Search: Genetic Algorithm Genome Size: {5-16} integers

Spline control point range: {0-8} Generations: 40

Individuals: 30 Tournament-size: 3

Individual Mutation Rate: 40% Crossover: N/a

Index Mutation Rate: 20% Evolutionary Runs: 3

Table 5.3: Parameters for GA in single b-spline over the middle of the mesh

In the previous experiment, it was found that a b-spline spanning theentire surface of the actuator may lead to inaccurate simulations, due tothe fact that no forces are holding the mesh in place. Therefore in all futureb-spline experiments, the two top and bottom spirals are initiated with afixed radius of 1. This will hopefully lead to more accurate simulations.This experiment was set up similarly to the previous experiment, however,minor changes were made. First of all the tournament-size was changedfrom 5 to 3. This was to allow the algorithm more time to explore potentialsolutions before settling on a local optimum. This is also why the numberof generations are increased from 30 to 40. Secondly, the spline control-points in the genome were changed from {1 − 10} to {0 − 8}. The lowerbound of the control-points were allowed to go all the way down to 0, topotentially find that several actuators in series maybe could outperform asingle actuator. The upper bound of the control-points was reduced from10 to 8, in order to restrict the number of potential solutions.Three evolutionary runs were performed to see potential differencesin convergence, and to see differences in solutions between the threedifferent runs.

57

Page 69: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

5.2.1 Results

Mesh Fitness Optimal Genome Genome Length1 1.13 [ 8 8 0 4 0 1 6 3 0 8 1 7 0 6 ] 142 1.09 [8 8 0 0 3 0 1 5 2 3 0 4 0 6 2 6 ] 163 1.14 [8 8 0 4 0 0 2 ] 7

Table 5.4: Fitness and genome of the best performing meshes afterevolution.

Figure 5.3: Here evolution for b-splines over the middle of the cylinder isshown. The best and worst fitness, the average, as well as the standarddeviation of the population’s fitness are presented as lines, comparing theperformance of each generation. This is done for the three different runsperformed, where 1 represents the first run and so on.

Looking at the three different optimal meshes found in Figure 5.4, it ispossible to see that all the meshes resemble each other. They all havea large bottom part, along with a long, thin, middle part, and a slightlylarger top. When inflated, all the three meshes perform quite similarlywith a mean best fitness of 1.12 or a relative contraction of 3.7%. The best

58

Page 70: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.4: After three runs were performed with 40 generations, thefollowing three optimal meshes were found, the numbers in the figureindicate which run the mesh is from. The mesh on the left is prior toinflation, and the mesh on the right is the same mesh inflated for 10,000iterations.

one has a fitness of 1.13 and the worst has a fitness of 1.09. This is notablyworse than in the previous experiment where a fitness of 3.5 was achieved.When looking at the convergence of solutions, usually a fitness around1.0 was achieved during the first 10 generations, and then the remaininggenerations were used to evolve the final 10% of contraction. Further, inall three runs, the minimum fitness in each generation performed ratherpoorly, indicating large exploration in the fitness landscape. The lowstandard deviation, as well as a high average fitness in all runs, mayindicate that a robust solution was found.

5.2.2 Analysis

As can clearly be seen, limiting the radius of the top and bottom, leadto limitations in the performance of the actuator significantly. This ismost likely due to the inflation forces at the top of the mesh, pushing it

59

Page 71: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

out, limiting the contraction. This is however most likely a more realisticbehavior, as an actuator is always held between two rigid points wherethe actuation is being performed. Also, a large area appears in betweenthe second and the third spiral in the mesh, where it is only being heldtogether by a few vertices. This may cause instability in the simulation,however, it seems to help the accuracy of simulating the actuation in thisinstance.The evolved shape of the actuator has a large bottom that is probablyevolved for the same reason as in the previous experiment, to catch a lot ofinflation-forces, pushing the actuator inwards. However why such a smalltop was evolved is puzzling, since one would assume that a symmetricalstructure with the same top and bottom would perform better. Yet all threeevolutionary runs arrived at the same structure, with a large bottom and asmall top. There is no compelling reason why this solution is more optimalthan a more symmetrical one.Focusing on the sizes of the genome in all three runs, vastly different sizeswere evolved. For the first two runs, genomes with a length of 14 and 16were evolved, and for the last run, a genome of length 7 was performingthe best. This wide range of genomes performing almost equally suggestthat the number of control points in the b-spline is not necessarily veryimportant in evolving a well-performing structure. However, in laterevolution, more control-points may be useful in creating a more nuancedsolution. In these runs, it would seem that selecting a lower amount offixed control-points would benefit the speed of convergence.As for manufacturing and deployment of this actuator, a lot of what heldtrue for the multiple sinusoids in series also holds true for this. A lot ofthin parts in the actuator may lead to a lot of flex when in use. Further,the low volume will probably lead to it producing less force than largeractuators, and this will make it less useful in most tasks. Manufacturingof the actuator is most likely quite easy due to its simple shape, and a moldmight be easy to make.

5.3 Two B-splines Over the Middle Mesh

Local Search: Genetic Algorithm Genome Size: {10-32} integers

Spline control point range: {0-8} Generations: 50

Individuals: 30 Tournament size: 3

Individual Mutation Rate: 40% Crossover: N/a

Index Mutation Rate: 20% Evolutionary runs: 3

60

Page 72: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Table 5.5: Parameters for GA in two b-splines over the middle of the mesh

Having found an optimal b-spline spanning the entire middle of the mesh,it was still unclear if a more complex structure, with two individual sides,would preform better than a uniform actuator. Therefore a GA was setup using a twice as large genome, now containing two b-splines eachspanning over one half of the mesh. In this experiment the top and bottomtwo spirals was kept with the same base radius of 1, as in the previousexperiment.The experiments were performed similarly to the previous ones, with theonly difference being the genome size increased to double to incorporatethe two b-splines. Further, the number of generations was increased from40 to 50, to allow for the larger genome-size to converge, using equalevolutionary parameters.As the genome consists of two different b-splines, there is a possibilitythat a large joint may appear at the points where one spline changes tothe other, which may lead to less accurate simulations. However, it isunknown whether such a joint will unrealistically benefit or hinder theoverall fitness.

5.3.1 Results

Mesh Fitness Optimal Genome Genome Length

1 1.078 8 1 2 2 0 7 5

8 8 1 4 0 5 4 6 017

2 1.078 8 0 2 2 2 1 2 5 6 7 88 6 0 4 0 0 8 7 1 5 2 4

24

3 1.097 8 0 2 2 0 1 7 4 4 5 4 7 0 3 67 8 0 2 1 5 1 6 6 5 2 5 8 6 8 3

32

Table 5.6: Fitness and genome of the best performing meshes afterevolution.

Looking at the three optimal actuators made in Figure 5.6, one can seethat the mean best fitness has been reduced from 1.1 to 1.07. This is mostlikely due to the larger genome-size, and the fact that 10 extra generationsin the evolution could not make up for the vastly larger search-space. Itis also important to note the similarities between the solutions found inthis experiment and those found in the previous, is indicating a globaloptimum.Focusing on the evolution, it is first of all important to note that some data-points were corrupted due to an error in the simulation for the second andthird run in Figure 5.5. Here a NaN(Not a Number) value was interpreted,making the average and standard deviation unable to be calculated. Thisdid not noteworthily interfere with the evolution, as a NaN value does nothold any value in the selection of the algorithm.

61

Page 73: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.5: Here evolution for b-splines over the middle of the cylinderis shown. The best and worst fitness, the average, as well, the standarddeviation of the population’s fitness are presented as lines, comparing theperformance of each generation. This is done for the three different runsperformed, where 1 represents the first run and so on.

Looking at the graphs, they are very similar to those in the previousexperiments, with indications of high exploration and high robustness.

5.3.2 Analysis

As mentioned the three actuators performed very similar to those evolvedin the last experiment, it would seem like an optimal actuator has a moreuniform shape, instead of two different shapes on either side. Further,evolution did not evolve any large joints between the two sides, and theremay be two reasons for this. First, a more uniform solution is simplybetter performing than one with two different shapes. Second, a just aslikely solution is that during simulation, a large joint between the sidessimulated less accurately and therefore performed worse. This resultedin a less optimal uniform solution performing better, explaining why theresults look similar to the last run.

62

Page 74: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.6: After three runs were performed with 50 generations, thefollowing three optimal meshes were found, the numbers in the figureindicate which run the mesh is from. The mesh on the left is prior toinflation, and the meshes on the right are the same mesh inflated for 10,000iterations

Generally, these actuators performed slightly worse than those in theprevious experiments, as mentioned this is most likely due to the largergenome-size. This does, however, give us a way to see what happensduring the last few generations of the evolution, and allows us to singleout traits that make an actuator contract more. Common similaritiesbetween all the six evolved solutions are the large, cone-shaped bottoms,followed by a smaller, less distinct cone on the top of it. This is a generaltrait that seems favorable across all actuators. Looking at the differencesbetween the previous experiment’s solutions and this experiment, onetrait is clearly important for contraction. This trait is the difference inradius between the long, thinner middle-part and the larger top part.It looks like a larger top relative to the middle is more beneficial forcontraction, and this makes sense as this will cause more inflation-forcesto be focused on contracting the cylinder.Looking at the evolved genome-sizes in the final actuators, they were as

63

Page 75: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

varied as in the previous experiment, with individual genome lengthsranging from 17 to 32. This time all three solutions looked verysimilar, indicating once again that a non-variable genome solution wouldconverge faster, and give similar results, regardless of what number ofspline control-points were used.As for what manufacture and deployment are concerned, most of whatwas said in the previous experiment also holds true here, due to thesimilarity in results. Thus, this actuator may be more prone to bendingand may yield less force than a larger volume soft actuator.

5.4 Four B-splines Over the Middle Mesh

Local Search: Genetic Algorithm Genome Size: {20-64} integers

Spline control point range: {0-8} Generations: 50

Individuals: 30 Tournament-size: 5

Individual Mutation Rate: 40% Crossover: N/a

Index Mutation Rate: 10% Evolutionary runs: 3

Table 5.7: Parameters for GA in four b-splines over the middle of the mesh

An interesting find was that there were no differences in the optimal shapeof a structure with one or with two b-splines. Wanting to push this a bitfurther, a search consisting of four b-splines was set up to see if a moreoptimal, complex structure was at all possible to find.This setup further amplified the potential problem with joints between theindividual splines. By adding two more b-splines, this could potentiallyadd more inaccuracies to the simulation. However, looking at the resultsfrom the previous experiment this may not necessarily be a problem.To further account for the doubling in genome size, the index mutationrate was halved from 20% to 10%. This was done to discourage too muchexploration, as this may lead to slower convergence. Also, the tournamentsize was set to 5 instead of 3, also done to discourage exploration to furtherincrease convergence in the same amount of generations. The rest of theparameters were kept the same, to increase comparability with the otherexperiments.

64

Page 76: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

5.4.1 Results

Run Fitness Optimal Genome Genome Length

1 1.19

4 8 1 1 1 7 2 27 7 3 2 1 1 7 34 7 1 1 7 6 5 58 8 1 8 8 8 7 4

32

2 1.16

6 6 1 1 2 8 1 3 5 2 6 67 6 1 1 8 1 5 2 6 4 3 48 7 1 8 8 7 7 3 7 6 3 48 8 1 2 1 3 6 8 7 7 1 8

48

3 1.17

7 8 3 2 1 2 5 6 3 4 2 7 6 1 8 48 8 1 2 1 8 5 3 2 7 8 1 1 1 1 26 6 1 1 7 8 1 8 7 6 2 4 7 6 2 86 8 1 8 8 5 3 2 8 5 5 5 5 5 6 5

64

Table 5.8: Fitness and genome of the best performing meshes afterevolution.

Looking at the fitness, these actuators performed better fitness-wise thanthe other two similar experiments with one and two splines. The solutionshad a mean best fitness around 1.7 which corresponds to a relativecontraction of 5.6%. This is most likely due to the more extreme designsproposed by evolution in this experiment, as can be seen in Figure 5.8.The evolution ran as expected, not diverging very far from the optimalsolution per generation, as can be seen from both the average fitness aswell as the standard deviation. Looking at the worst solution in eachgeneration, one can see that the exploratory parameters were turneddown, as the worst specimen generally performed better than in theprevious two experiments. This may also be a reason why the mean bestfitness was generally higher in this experiment.

5.4.2 Analysis

As can be seen in Figure 5.8, all three evolved actuators looked reallysimilar. They all had three splines being quite similar and uniform,resembling the optimums in the previous experiment with a large bottomand a smaller top. In one quarter of each solution, a larger top wasevolved, making the final mesh look different from the meshes in theprevious experiments. As can be seen from the fitness, this approachgenerally performed better than the other two similar b-spline basedexperiments. This increase in performance may possibly just be becauseof the quarter b-spline that evolved a much larger top. Whereas in thetwo previous optimums, mostly the bottom is being pushed up, due tothe larger bottom. These actuators, with one large quarter in the top andthe same large bottom, allows a quarter of the top vertices in the actuator

65

Page 77: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.7: Here evolution for b-splines over the middle of the cylinder isshown. The best and worst fitness, the average, as well as the standarddeviation of the population’s fitness are presented as lines, comparing theperformance of each generation. This is done for the three different runsperformed, where 1 represents the first run and so on.

to be pushed down significantly on inflation, which may be the increasedperformance perceived.Whether this increase in fitness is realistic or not, is difficult to saydefinitely. However, the fact that the spline, when inflated, causes thelarger quarter of the actuator to inflate beyond its original size, maybe an indication that the perceived high fitness is not necessarily themost realistic. This also points out the limitations in how the fitnessis calculated, where a high fitness is not necessarily a well-performingsolution. Further, as one can see, the joints in between each b-splinebecomes very large. This may be indicative of the simulation not beingas realistic as it should. It also indicates that the solutions found in thisexperiment should not be used without further testing.It is worth looking at the similarities between the different solutions found.All the solutions evolved three equal quarters, similar to those in theprevious two experiments, all with a larger bottom than top. However, the

66

Page 78: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.8: After three runs were performed with 50 generations, thefollowing three optimal meshes were found, the numbers in the figureindicate which run the mesh is from. The mesh on the left is prior toinflation, and the mesh on the right is the same mesh inflated for 10,000iterations.

last quarter evolved a larger top, unlike in the previous two experiments.The fact that this shape was evolved three times independently suggestthat this may be a global optimum. Or perhaps a very large local optimum,which, due to the low exploration used in this experiment might also be areality.As in the previous experiments the final genome-sizes that were evolved,all varied widely. This further confirms the suspicion that the complexityof each spline does not impact the fitness notably, and that just setting afixed genome length may improve convergence significantly.Looking at the manufacture and deployment of these actuators, it is firstof all important to know whether the actuator behaves as expected. It isdifficult to say whether that is the case for this experiment. Also, the factthat this actuator inflates significantly at just a single side may also proveproblematic when deployed in a real-world environment.

67

Page 79: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

5.5 Random X and Y Coordinates

Local Search: Genetic Algorithm Genome Size: {900} float

Spline control point range: N/a Generations: 30

Individuals: 20 Selection: Tournament-size=5

Individual Mutation Rate: 40% Crossover: Two Point

Index Mutation Rate: 10% Evolutionary Runs: 1

Table 5.9: Parameters for GA for random X and Y coordinates

Opening up the search space as wide as possible, was done to find out ifa different, even more complex solution was possible, given the limitationof the simulator. A last genetic algorithm was proposed, setting thegenome as each X and Y coordinate in the mesh, and allowing the GAto independently mutate each vertex. As each vertex is represented byfloating points, and there being 900 vertices in total, the search space wastoo big for any computer to test every solution, and it was unrealistic tofind a global optimum. However, maybe a local optimum can be found,which may, or may not be able to be simulated accurately.Due to the lack of collision detection, the solution evolved may just bea number of vertices intersecting, however, a decent local optimum alsomay be found.As this search is not comparable with any of the previous searches, dueto the fixed length genome, a two-point crossover was enabled, to furtherspeed up the convergence. As well the tournament size and mutation-ratewere kept similar to the previous experiment, to keep exploration low. Inthis search, it is unclear what kind of solution the algorithm would arriveat, and therefore evolution was stopped at 40 generations.

5.5.1 Results

The resulting mesh can be seen in figure 5.10, it does not consist of anystructure or uniformity. It does seem like the higher the difference betweeneach vertex is, the further the mesh contracts when being inflated. It alsoseems like a lot of the contraction happens as a result of the intersectionbetween the vertices in the mesh, as the radius of the structure does notincrease noteworthy. However, the fitness after 40 generations surpassed3.7, yielding the best contraction seen in any of the experiments done.Looking at the evolution, the fitness rapidly climbs during the runtimeand does not seem to flatten out at any point. This means that there is stilla lot of room for improvement in achieving even better fitness.

68

Page 80: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.9: Here evolution for random X and Y coordinates over the entirecylinder is shown. The best fitness, worst fitness as well as the averageand standard deviation of the population fitness is presented as lines,comparing the performance of each generation.

5.5.2 Analysis

The optimal mesh yielded a high contraction, with a high amount ofdisorder. Each vertex tangled itself with other vertices during inflation,which yielded a large amount of contraction. This is not a realistic wayof achieving contraction and this is an example of a genetic algorithmexploiting its environment in order to find an optimal solution.However, this result may not be completely wasted, as it may inadver-tently show us that a high entropy surface, may yield a lot of contractionwhen unfolding. This could be as in [12], where an actuator with perpen-dicular ridges was shown to allow for a lot of contraction, when the dif-ferent ridges unfolded, as the actuator was inflated. An even more highlydisordered mesh may perform similarly, or even better, with all the differ-ent surface structures unfolding, contracting the actuator. Work still hasgot to go into this before an optimal disordered actuator can be found, iffound at all. But, a high entropy cylinder may potentially perform reallywell if allowed to be optimized in a different simulation-environment andmay warrant further exploration.

69

Page 81: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 5.10: The Best performing mesh after 30 generations of evolution.As can be seen the mesh looks entirely random. The one on the left is themesh prior to inflation and the one on the right is the mesh after havinginflation forces active for 10,000 iterations.

As for the manufacture of such an actuator, the making of a mold is muchmore difficult than in the solutions found, due to the disordered nature ofthe actuator. Allowing the silicone to settle correctly in said mold, couldalso prove difficult and expensive. The real world use cases for such anactuator may be better than many of the b-spline solution found in theprevious experiments.

70

Page 82: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 6

Testing The Optimal Actuators

After having found many different optimal surfaces for actuator design,it is now interesting to see how they behave when different forces areapplied. This is done by applying opposing forces to the top and bottomspiral of the mesh, thereby stretching the actuator. This will show howoptimal solutions perform when placed in an environment more like theone it may be deployed in. The force used for the stretching is similar inmagnitude of that used in the inflation, which is done to keep the strainon the mesh similar to how it was during the inflation process. The samefitness function is also used, as it was a descent metric of showing how themesh’s height differs, after a given number of simulations.In this chapter one of each of the best performing actuators werechosen to be stretched. However, those with a good fitness, which wassimulated inaccurately, were not selected for this test. This was doneas the inaccurate meshes does not seem like solutions that warrantedfurther testing due to their inaccurate nature. In the first experimentof this chapter, all three optimal sinusoids were stretched. In thesecond experiment the four best b-splines were stretched, here the bestperforming specimen of each experiment was chosen.Each of the experiments are presented similarly, with an introductionindicating what we may see, and also presenting the parameters used ineach of the simulations. Then the results are presented showing the fitnessand comparing the stretched meshes, and at last the results are analyzed.

6.1 Optimal Sinusoids

First of all, the optimal sinusoids were stretched, applying a force of 0.005up and down on the top and bottom vertices in the mesh. Three actuatorswere tested, first the optimal amplitude actuator over a single range.Secondly, multiple actuators in series with amplitudes less than 1, weretested. Thirdly, the absolute sinusoid actuator with amplitudes exceeding1 were tested.

71

Page 83: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

In this experiment, the difference in rigidity for each actuator willhopefully be shown. This may be an indication of how well the actuatorsperform in the real world. It is expected that the more complex shapes mayperform more poorly than the higher uniformity ones, as the complexityadds more areas to be unfolded when stretched.

Results

Mesh Fitness

Amplitude-sinusoid -1.74Amplitude/range-sinusoid -1.62

Absolute amplitue/range-sinusoid -2.39

Table 6.1: Results for stretching of the best performing and most realisticsine-based actuators.

Figure 6.1: What the sinusoids looked liked prior(left) and after(right)stretched for 10,000 iterations. The first mesh on the left is the single-amplitude sinusoid, the mesh on the right is the amplitude and rangesinusoid, whereas the bottom mesh is the absolute sinusoid.

72

Page 84: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Looking at the results in Table 6.1, it is the actuator with the smallest radiusthat outperforms to the two larger ones, with a fitness slightly lower thanthe less complex shape of the amplitude sinusoid. However, the fact thatthe absolute sinusoid performs poorer than the two others, even thoughthe radius is quite similar to that of the amplitude-sinusoid, may indicatethat the complexity of the structure may impact the stretch.

6.1.1 Analysis

Focusing on the meshes in Figure 6.1, it is worth noting that in themore complex structures, almost the entire top and bottom actuators arestretched, while the middle actuators are almost identical to how theylooked in the beginning. This may be due to the fact that a small force wasused for stretching, over a limited amount of iterations. The fact that thisis a mass spring simulation, also may yield a possibility that the force didnot have time to properly propagate through the mesh. However, if thiswere to happen a possibly even larger stretch would be the case, makingthese actuators seem even less rigid.Another possibility is that if the force would propagate more evenlythrough the complex meshes, a smaller contraction would be achieved,as more of the mesh is resisting the forces. Where as in this case, whereonly the top and bottom are stretched, an unnecessarily large stretchhappens on the top and bottom actuators, rendering unrealistically poorperformance.Looking further to the radius of each structure, one can see a correlationbetween the sizes of the actuators and how far it stretches. There may bea number of reasons for this, however, the most realistic one is that thedistance between individual vertices has something to do with the largestretch. When the bottom vertices are being pulled down, there is morerelative movement possible between each vertex if the original mesh hadmore space in between each vertex to begin with. This may explain whythere is such a large difference between the larger and smaller meshes.

6.2 Optimal B-splines

Looking further to the optimal b-splines, tests were also performed to lookat the rigidity of these solutions. It is interesting to see if these meshes willbehave differently from those in the previous experiment. The mesheschosen for testing were the best from each of the three runs with one, twoand four b-splines, as well as the optimal b-spline over the entire mesh.In these meshes there is a large area between the vertices in the secondand third spiral. This may potentially cause very high stretch, wherethere might have been less stretch if there was a smaller area betweeneach vertex. This is the reason why a focus will be placed on visual

73

Page 85: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

inspection rather than the resulting fitness-numbers when analyzing theresults. Further it will be interesting comparing the three meshes whereb-splines were applied to the middle of the mesh, to the one where one b-spline was applied to the entire mesh, to see if any differences in stretchingoccur.

6.2.1 Results

Mesh Fitness

1 b-spline, entire mesh -1.791 b-spline -2.622 b-spline -2.624 b-spline -2.86

Table 6.2: Results for stretching of the best performing and most realisticb-spline-based actuators.

As can be seen from Table 6.2, the distance between the vertices clearly hada large impact in how far the actuator would stretch. In terms of this test,the entire-mesh b-spline provided the most realistic simulation, contraryto how it did in the inflation experiments.Looking at the other three actuators, they performed as expected, all worsethan in the previous set of experiments. Both one and two b-splinesalmost performed similarly as they are almost the same actuator. The oneconsisting of 4 b-splines performed slightly worse due to its more complexshape.

6.2.2 Analysis

As said introductory, not much focus will be placed on the actual fitness-numbers gathered in this experiment, as it was priory known that theseactuators would mostly perform worse and inaccurately, due to the largedistance between some of the vertices, especially in the bottom.Interestingly, the entire b-spline mesh performs nearly similar to theamplitude-sinusoid. This may be due to its shape almost being thecompletely inverse of the amplitude-sinusoid, and the two structureshaving almost the same volume.Further, visually inspecting the optimal 1 and 2 spline actuators, mostof the vertices stay in place when stretched, only the area between thesecond and third spiral seems to move significantly. This means thatthis actuator may prove more rigid than what the numbers say. A moreaccurate representation, i.e adding more vertices in between the secondand third spiral, will lead to better stretching-performance.

74

Page 86: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Figure 6.2: What the b-spline-based meshes looked liked prior(left) andafter(right) stretched for 10,000 iterations. The first row shows the meshwhere one b-spline was added to the mesh, the one on the left was wherethe b-spline was added to the entire mesh, whereas the right is where theb-spline was added to the middle of the mesh. In the bottom row, the oneon the left is the optimal mesh with two b-splines added to the middle,and the right is the one where four were added.

75

Page 87: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Part IV

Conclusion and Discussion

76

Page 88: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Chapter 7

Discussion

In chapter 4, when limiting the search space to a single or two parameters,and performing an exhaustive search, an optimum was easily and quicklyfound.Looking at the initial search of the amplitude sinusoid, it was found thatthe search space had a single optimum. After the optimal amplitudewas reached, it started ballooning, yielding decreased performance. Theoptimal amplitude seemed to be a middle-point so that the amplitude islarge enough to allow for optimal contraction, without making it balloon.When evaluating the best sinusoid with various amplitudes and rangesof the sine-function, it also seemed like the increased external forces,caused as a result of the larger sizes between the vertices, yielded thebest performance. In turn, the highest performing actuators also hadthe largest amplitude. However, the number of actuators in series alsohad a large effect on the contraction, with five and six actuators in seriesperforming the best. This may be due to the fact that more actuatorsin series allow for the multiplication of contraction forces, making theactuator contract more.As for the absolute sinusoids, a number of very well performing actuatorswere found. However, most of the good performance happened due tothe meshes being unstable, because of the large areas in between certainvertices. Therefore, most of the very well performing structures weredeemed too unrealistic for further evaluation. Yet, a number of stablesolutions obtained for the absolute sinusoid, were better performing thanin the amplitude-only experiment, confirming the results found in theprevious experiment.These three experiments all show that the performance in generalcorrelates with the size of the area between the vertices, and in turn themagnitude of the inflation forces. In addition the results also show thata number of smaller actuators in series perform better contraction-wise,at least in the simulations, than a single larger actuator would do. Thisis most likely due to the fact that the contraction of the smaller actuatorsmultiplied, is greater than that of a single larger one.

77

Page 89: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

In the results from chapter 5 using an evolutionary algorithm to find anoptimal surface. It was in the initial search, with a single b-spline over theentire mesh, found that a large top and bottom, and a small middle, wasa preferable trait. This trait is the complete opposite of the one tested inthe sinusoid-experiments in chapter 4. This increased performance is mostlikely due to the inflation forces almost solely working in the contractingdirections, causing a large fitness. This solution, however, may not bedirectly usable as an actuator, as the contraction may not yield significantforce when suspended between two actuation-points.Looking at the results from the b-splines added to the middle of the mesh,similar traits were evolved as in the previous experiment, mainly the largebottom. The large bottom allowed for much contraction, however, thesimilar big top was not evolved in either of these runs. Why this trait wasnot evolved is unclear, but it has something to do with the top and bottombeing limited to the same initial radius of 1.A reason for the smaller evolved top may be a result of what happened inthe experiment where four individual b-splines where evolved. Here oneof the b-splines in every run, evolved a similar trait, where one of the fourb-splines had both a large top and bottom. The large area between thesmall top and the larger third spiral, starts to push the large part upwards,which may limit the contraction. This was, however, not the case in thisexperiment, as the larger quarter pushed the adjacent top vertices inwardswhen inflated, resulting in slightly larger contraction.As for allowing each X and Y coordinate to evolve independently, in thelast experiment, it turned out that a higher entropy seemed to allow forthe most contraction due to the lack of collision detection. Therefore,the highly stochastic nature of the GA excelled at converging a highfitness solution. However, this solution is highly irregular and usesunfolding vertices in order to achieve contraction, therefore this solutionis considered unfit for use in the real world. A high entropy approach foran unfolding, contracting actuator, may still be possible when evolvingsolutions in a simulator with collision detection.Looking at stretching the different optimal actuators in chapter 6, itseemed that the larger the area was between the bottom vertices, thefurther the structure was able to be stretched. This seemed to cohere withwhat the consensus was beforehand, that a more uniform structure wouldbe more rigid than a more complex one. It is further worth noting thatthe middle b-spline meshes performed very poorly, due to the large areabetween the bottom vertices of the mesh. However, the rest of the middleb-spline meshes did seem to perform better on visual inspection, due tothe uniformity of the rest of the design.

78

Page 90: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

7.1 Conclusion

In this thesis a cloth simulator for generative design was presented. It wasused alongside different types of local searches, both evolutionary as wellas limited exhaustive searches. The cloth simulator was based on a 2Dmass-spring model, using the vector product of each vertex for simulatingthe inflation force. This model was used to test a number of differentparameterizations. It tested the optimal amplitude of a sinusoid, a numberof sinusoids in parallel with different amplitudes, b-splines to encode agenome for running evolutionary optimization, and at last, allowing eachvertex to be evolved independently.The results show that using a thin-walled cloth-simulator allows for veryquick evaluation(∼ 5 seconds for 10,000 iterations of 900 vertices) ofdifferent designs, yielding it an efficient way to run generative design ofdifferent surfaces. Further, this process quickly found an optimal sinusoid-amplitude that allowed for optimal contraction at a given inflation-point.When testing whether several actuators in series, over the same spacewould further benefit the contraction, it was found that this was the case,but only slightly so. Due to the less rigid nature of several actuators inseries, this solution, although with slightly better contraction, may alsoyield less force than one larger actuator. Further, when more complexdesigns were tested, small problems with the simulator were discovereddue to its lack of collision detection and low resolution.When testing b-splines, it seemed like the best performing meshes evolvedthe largest part around either the top, the bottom or around both. It turnedout that this trait allowed a majority of the external forces generatedduring inflation, to be focused on contracting the mesh, rather thananything else. During testing, these results did not perform the best whenit came to rigidity when being stretched. This may be due to the largearea between the vertices in the top and bottom, which allowed for largepotential movement relative to the other designs.In the end, b-splines seemed to be the best approach for evolving goodresults. These solutions became by far the fittest ones, out of all thesolutions except for the ones with intersecting vertices and unrealisticunfolding behaviors during inflation. B-splines warrants further testingto find out whether they are usable in real world tasks, as this cannotbe proven definitely at this point, due to the limited resolution of thesimulation.One of the main problems in this thesis was the intersection of verticesin the simulator. This could may be avoided by implementing collision-detection. Collision-detection may further allow for more accurate testingof more complex designs. Further, a method for allowing more equal sizesbetween the vertices in the simulator would also allow for more realisticbehavior. However, then another inflation method might be needed to beimplemented. This also underlines the importance of selecting a viable

79

Page 91: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

search space before evaluating any designs using this design model, as avast search-space may yield solutions unfit for the real world.

7.2 Future work

A few problems were discovered during the work of this thesis, andshould be addressed in future work. First of all, for future work onthis topic, a simulation environment with collision detection and moresimilarly sized areas between each vertex, would be beneficial. Thiscould allow testing of more complex shapes without many of the errorsthat appeared in this thesis. Enabling collision detection may alsoallow for testing even more complex meshes than those explored in thisthesis. Further, the simulation could also benefit from using a dynamictermination criterion, instead of using a static number of iterations. Thiscould further increase the stability of evaluation for each individual. Theaccuracy of the simulator could further be improved with replacing thelinear springs connecting each vertex, with a nonlinear function. Thiswould make the simulation-model able to simulate silicone rubbers moreaccurately than it is doing in its current form.Looking at the resulting optimums yielded in this thesis, it would beinteresting to look at the reality gap. A significantly thin elastic actuatorcould be molded using a 3D printed mold along with an elastic siliconerubber. Using these actuators, the contraction can be measured atdifferent inflation-levels to evaluate the reality gap. Also, the force of thecontraction and the rigidity of each actuator may be tested.At last a next logical step for the design process, is to change the fitnessfunction. A different function, or multiple different functions, couldpossibly design bending actuators, or even entire soft robots using thisdesign model.

80

Page 92: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

Bibliography

[1] Cagdas D. Onal Andrew D. Marchese and Daniela Rus. “Au-tonomous Soft Robotic Fish Capable of Escape Maneuvers UsingFluidic Elastomer Actuators”. In: Soft Robotics 1 (1 Mar. 2014). URL:https://doi.org/10.1089/soro.2013.0009.

[2] Thomas Bäck and Hans-Paul Schwefel. “An overview of evolution-ary algorithms for parameter optimization”. In: Evolutionary compu-tation 1.1 (1993), pp. 1–23.

[3] Yoseph Bar-Cohen and Cynthia Breazeal. “Biologically inspired in-telligent robots”. In: Smart Structures and Materials 2003: ElectroactivePolymer Actuators and Devices (EAPAD). Vol. 5051. International So-ciety for Optics and Photonics. 2003, pp. 14–21.

[4] Minos E Beniakar et al. “Multiobjective evolutionary optimizationof a surface mounted PM actuator with fractional slot windingfor aerospace applications”. In: IEEE Transactions on Magnetics 50.2(2014), pp. 665–668.

[5] Mariusz Bojarski et al. “End to end learning for self-driving cars”.In: arXiv preprint arXiv:1604.07316 (2016).

[6] Wan-Ling Chang, Selma Šabanovic, and Lesa Huber. “Use ofseal-like robot PARO in sensory group therapy for older adultswith dementia”. In: 2013 8th ACM/IEEE International Conference onHuman-Robot Interaction (HRI). IEEE. 2013, pp. 101–102.

[7] Nick Cheney, Josh Bongard, and Hod Lipson. “Evolving soft robotsin tight spaces”. In: Proceedings of the 2015 annual conference on Geneticand Evolutionary Computation. ACM. 2015, pp. 935–942.

[8] Nick Cheney et al. “Unshackling evolution: evolving soft robotswith multiple materials and a powerful generative encoding”. In:ACM SIGEVOlution 7.1 (2014), pp. 11–23.

[9] Ching-Ping Chou and B. Hannaford. “Measurement and modelingof McKibben pneumatic artificial muscles”. In: IEEE Transactions onRobotics and Automation 12.1 (Feb. 1996), pp. 90–102. ISSN: 1042-296X.DOI: 10.1109/70.481753.

81

Page 93: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

[10] Francesco Corucci et al. “Evolving soft locomotion in aquaticand terrestrial environments: effects of material properties andenvironmental transitions”. In: Soft robotics 5.4 (2018), pp. 475–495.

[11] Lara S Cowan and Ian D Walker. “" Soft" Continuum Robots-theInteraction of Continuous and Discrete Elements.” In: ALIFE. 2008,pp. 126–133.

[12] Frank Daerden. “Conception and realization of pleated pneumaticartificial muscles and their use as compliant actuation elements”. In:Vrije Universiteit Brussel (1999), p. 176.

[13] DEAP Documentation. Jan. 2019. URL: https://deap.readthedocs.io/en/master/index.html.

[14] Félix-Antoine Fortin et al. “DEAP: Evolutionary Algorithms MadeEasy”. In: Journal of Machine Learning Research 13 (July 2012),pp. 2171–2175.

[15] Giada Gerboni et al. “Modular soft mechatronic manipulator forminimally invasive surgery (MIS): overall architecture and devel-opment of a fully integrated soft module”. In: Meccanica 50.11 (Nov.2015), pp. 2865–2878. ISSN: 1572-9648. DOI: 10.1007/s11012-015-0267-0. URL: https://doi.org/10.1007/s11012-015-0267-0.

[16] William J. Gordon and Richard F. Riesenfeld. “B-SPLINE CURVESAND SURFACES”. In: Computer Aided Geometric Design. Ed. byROBERT E. BARNHILL and RICHARD F. RIESENFELD. AcademicPress, 1974, pp. 95–126. ISBN: 978-0-12-079050-0. DOI: https://doi.org/10.1016/B978-0-12-079050-0.50011-4. URL: http://www.sciencedirect.com/science/article/pii/B9780120790500500114.

[17] Maki K Habib, Keigo Watanabe, and Kiyotaka Izumi. “Biomimeticsrobots from bio-inspiration to implementation”. In: IECON 2007-33rd Annual Conference of the IEEE Industrial Electronics Society. IEEE.2007, pp. 143–148.

[18] Inman Harvey. “The SAGA cross: The mechanics of recombinationfor species with variable length genotypes”. In: PPSN. Citeseer.1992, p. 271.

[19] Jonathan Hiller and Hod Lipson. “Automatic design and manufac-ture of soft robots”. In: IEEE Transactions on Robotics 28.2 (2012),pp. 457–466.

[20] Jonathan Hiller and Hod Lipson. “Dynamic simulation of softheterogeneous objects”. In: arXiv preprint arXiv:1212.2845 (2012).

[21] Kazuo Hirai et al. “The development of Honda humanoid robot”.In: Proceedings. 1998 IEEE International Conference on Robotics andAutomation (Cat. No. 98CH36146). Vol. 2. IEEE. 1998, pp. 1321–1326.

82

Page 94: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

[22] Dónal P Holland et al. “The soft robotics toolkit: Shared resourcesfor research and design”. In: Soft Robotics 1.3 (2014), pp. 224–230.

[23] Thomas JR Hughes. The finite element method: linear static and dynamicfinite element analysis. Courier Corporation, 2012.

[24] Matthew Lewis. “Evolutionary visual art and design”. In: The art ofartificial evolution. Springer, 2008, pp. 3–37.

[25] Hod Lipson. “Challenges and Opportunities for Design, Simulation,and Fabrication of Soft Robots”. In: Soft robotics. 1.1 (2014), pp. 21–27. ISSN: 2169-5172.

[26] Hod Lipson and Jordan B Pollack. “Automatic design and manufac-ture of robotic lifeforms”. In: Nature 406.6799 (2000), p. 974.

[27] Jin-Huat Low, Ignacio Delgado-Martinez, and Chen-Hua Yeow.“Customizable soft pneumatic chamber–gripper devices for delicatesurgical manipulation”. In: Journal of Medical Devices 8.4 (2014),p. 044504.

[28] Andrew D Marchese, Robert K Katzschmann, and Daniela Rus. “ARecipe for Soft Fluidic Elastomer Robots”. In: Soft robotics 2.1 (Mar.2015), pp. 7–25. DOI: 10.1089/soro.2014.0022. URL: https://www.ncbi.nlm.nih.gov/pubmed/27625913.

[29] Maciej Matyka and Mark Ollila. “Pressure model of soft bodysimulation”. In: The Annual SIGRAD Conference. Special Theme-Real-Time Simulations. Conference Proceedings from SIGRAD2003. 010.Linköping University Electronic Press. 2003, pp. 29–33.

[30] Orazio Miglino, Henrik Hautop Lund, and Stefano Nolfi. “Evolvingmobile robots in simulated and real environments”. In: Artificial life2.4 (1995), pp. 417–434.

[31] Philip Moseley et al. “Modeling, Design, and Development of SoftPneumatic Actuators with Finite Element Method”. In: AdvancedEngineering Materials (2015). URL: http://onlinelibrary.wiley.com/doi/10.1002/adem.201500503/abstract.

[32] Kenzo Nonami et al. “Development and control of mine detectionrobot COMET-II and COMET-III”. In: JSME International JournalSeries C Mechanical Systems, Machine Elements and Manufacturing 46.3(2003), pp. 881–890.

[33] Open Frameworks About. URL: https : / / openframeworks . cc / about/(visited on 04/25/2019).

[34] Laura Paez, Gunjan Agarwal, and Jamie Paik. “Design and Analysisof a Soft Pneumatic Actuator with Origami Shell Reinforcement”.In: Soft Robotics (2016). URL: http://online.liebertpub.com/doi/abs/10.1089/soro.2016.0023.

83

Page 95: Generative Shape Optimization of Soft Pneumatic Actuators ... · Generative Shape Optimization of Soft Pneumatic Actuators Using Cloth-Simulation Using Various Parameterizations to

[35] Xavier Provot et al. “Deformation constraints in a mass-springmodel to describe rigid cloth behaviour”. In: Graphics interface.Canadian Information Processing Society. 1995, pp. 147–147.

[36] Tommaso Ranzani et al. “A bioinspired soft manipulator for mini-mally invasive surgery”. In: Bioinspiration & biomimetics 10.3 (2015),p. 035008.

[37] John Rieffel et al. “Growing and evolving soft robots”. In: Artificiallife 20.1 (2014), pp. 143–162.

[38] Gundula Runge, Jan Peters, and Annika Raatz. “Design optimiza-tion of soft pneumatic actuators using genetic algorithms”. In: 2017IEEE International Conference on Robotics and Biomimetics (ROBIO).IEEE. 2017, pp. 393–400.

[39] Eivind Samuelsen and Kyrre Glette. “Some distance measures formorphological diversification in generative evolutionary robotics”.In: Proceedings of the 2014 Annual Conference on Genetic and Evolution-ary Computation. ACM. 2014, pp. 721–728.

[40] Helen Shen. “Meet the soft, cuddly robots of the future”. In: NatureNews 530.7588 (2016), p. 24.

[41] Vishal Singh and Ning Gu. “Towards an integrated generativedesign framework”. In: Design Studies 33.2 (2012), pp. 185–207. ISSN:0142-694X. DOI: https://doi.org/10.1016/j.destud.2011.06.001. URL:http://www.sciencedirect.com/science/article/pii/S0142694X11000391.

[42] Kenneth O Stanley and Risto Miikkulainen. “Evolving neural net-works through augmenting topologies”. In: Evolutionary computation10.2 (2002), pp. 99–127.

[43] Nao Tokui, Hitoshi Iba, et al. “Music composition with interactiveevolutionary computation”. In: Proceedings of the third internationalconference on generative art. Vol. 17. 2. 2000, pp. 215–226.

[44] N.G. Tsagarakis and Darwin G. Caldwell. “Development andControl of a ‘Soft-Actuated’ Exoskeleton for Use in Physiotherapyand Training”. In: Autonomous Robots 15.1 (July 2003), pp. 21–33.ISSN: 1573-7527. DOI: 10.1023/A:1024484615192. URL: https ://doi .org/10.1023/A:1024484615192.

[45] AJ Umbarkar and PD Sheth. “CROSSOVER OPERATORS IN GE-NETIC ALGORITHMS: A REVIEW.” In: ICTACT journal on soft com-puting 6.1 (2015).

[46] David H Wolpert, William G Macready, et al. “No free lunchtheorems for optimization”. In: IEEE transactions on evolutionarycomputation 1.1 (1997), pp. 67–82.

[47] Sewall Wright. The roles of mutation, inbreeding, crossbreeding, andselection in evolution. Vol. 1. na, 1932.

84