Mark Pauly: Computational Inverse Design of Deployable Structures
production of Mark um and so Mark is uh currently a professor um at epfo a full Professor uh there he directs the geometric Computing lab the GCM and then prior to epfl he was an assistant professor at eth Zurich he was a postdoctoral scholar at Stanford University and a doctoral student at eth Zurich he received the Eda eth medal for outstanding visitation and was also one of the eurographics young researcher award um and more importantly ERC Grant uh starting that started in 2010 um and uh the Euro Graphics outstanding um uh the oil or something's going on with my computer here but your graphics outstanding technical contributions award in 2016. um now he's also a co-founder of two epfl spin-offs phase shift Ag and Ray form sa um and I'll give a couple of my impressions of Mark I met Mark probably about six or seven years ago when I visited epfl and I was just blown away at um the Elegance with which he combines um computer science with architecture design and art um I I don't know where he lies on that spectrum because I I think he's an excellent computer scientist but the art in my opinion is is remarkable um and so I'm really excited to have him give a talk here and and I'm really excited about some of the cool things we'll get to see um so uh I know we can't really uh welcome with an Applause but I'll do an Applause on behalf of all a few of the University of Michigan here so Mark uh you can take it away well thanks so much for the introduction and it's it's of course a great pleasure to to be able to present to you today I mean of course even more enjoyable would have been to visit you and you know see your place and get to meet you in person but you know we'll we'll I'll try to do my best to at least you know show you some of our work and then I'd be happy to discuss more after the talk if people want to stick around or you know some of the things that I talk about today you find interesting um shoot me an email I'd be happy to talk more at some later stage as well and hopefully you know there will be an opportunity sometime later to also visit you and meet you all in person um so as evgeny was saying I'm from epfl this is a view of our campus it's very beautiful right at the lake of Geneva and today I'm gonna give you an overview of some of our work and of course this is not my work this room is constantly switching back okay this is the work of my team and this is the the current team um in in the lab and I also have a few people that left recently whose work I'm also going to talk about they all went on to faculty positions in the US actually so you know they should definitely be acknowledged um before getting started I wanted to give you sort of a brief overview of our Playing Fields um I'm in computer science my background is in computer science specifically computer graphics and this is sort of our core domain but I'm very interested in fabrication and especially sort of the you know modern digital fabrication technology and what it enables us to do um we are interested in applications specifically sort of in the space of architecture Art and Design um also to kind of keep us grounded and validate you know our computational work in the real world so to speak and as evgeny was saying I'm personally very inspired by Art and nature um I you know just geometry is my thing and I walk through the world and see beautiful geometry in nature in in artwork and very often in a number of the projects that I'm going to you today have been triggered by either an art piece or an observation in nature that somehow made me curious you know to understand whether this is something that we can understand and utilize in some way and maybe um you know do some computational and of course we're we're interested in fabrication and the rapid development and Fabrication technology we're not necessarily ourselves inventing new fabrication techniques although we do Tinker quite a bit with the machines that we have and try to also anticipate you know new developments and Fabrication and Link it to computation so as I said you know our background is in computer science so we're very interested in general representations uh how to represents um I'll we'll draw a lot from sort of classical differential geometry I'll show you some examples of that we're interested also in abstract shape spaces what does it mean for you know a certain set of constraints to define a specific shape space that we want to navigate in and then a lot of our work has to do with optimization you know translating um maybe high level objectives into low level optimizable functions we build our own numerical solvers because we're interested in the geometry of the physical world we actually simulate a lot of physical systems and then we also build tools that allow people to interact and design and explore um you know various kinds of material systems and today I want to talk specifically about a streak of research that we've done in the last couple of years on inverse design methods and more specifically on Deployable structures so I'll show you four projects and you know I'm probably for some of them I'm going to stay a bit on the surface but I'll try to convey the key messages that are actually quite similar across these projects so this is something that hopefully um will become clear but to get started I first want to set the stage by talking a little bit by what I mean with inverse design and when we talk about inverse design it's good to talk about Forward Design first before we talk about the inverse of the process and I want to show a very simple example just to illustrate a little bit the kind of setup that we're dealing with so imagine you're throwing a ball right so you you throw the ball and you can simulate or try out physically and see where it lands right so here we have a system where I can um maybe Define a very precise goal a sort of performative objective if you will I want to hit a certain point on this plane and of course I have parameters that I can manipulate and this is what I call my design space for example I can add more Force to um my throw right and that will get me maybe closer or further away from my objective I could also change the angle so these here are in this very simplified you know example are the two parameters that I can bear this is where I can change my design if you will by changing these two parameters and if I pick a specific point in this mind space in this example very simple two-dimensional space then now I can run the simulation to evaluate it right I can run a forward simulation check whether you know I hit my Target and in that way evaluate my design now this simulation can be quite complicated right this can involve complex PDS for example some things that are not so trivial to do and in the end I have to evaluate how good my design is and of course in this trivial example I have a very simple objective I just want to know how far I am from the Target that I set but in general in design you have many more and sometimes conflicting objectives so in this performance space that you really care about you know the space where you would evaluate your design uh complexity cannot be quite different so you can design in this way by basically just choosing parameters running your simulation and evaluating design that's what I would call Forward Design where you directly manipulate the parameters that are at your disposal but our goal will be to do inverse design and that means that I specify my design Target and I try to make this in a way that it can be Quantified or at least the aspects of my design that can be Quantified and now I want to invert this prop this process and find the parameters in my design space that actually meet my objective or if the objectives are conflicting find some balance in some Trader and in this example of course this can give me various kinds of solutions that I can then explore further or evaluate now this type of abstraction is actually quite helpful to think about the kinds of problems that I want to talk about so we have a design space this is the space in which we can manipulate parameters um that are accessible and exposed to us so this is a set of you know continuous or discrete variables that I can change then I have some sort of process a forward simulation and I'll show you this very specifically in the context of our Deployable structures that allow me to evaluate this design and measure its performance and performance could be many different things here it could be you know shape it could be structural stability it could be visual it could be Aesthetics many many different things and our goal is now to say as a designer it's actually much nicer and more intuitive to specify your performance criteria to say what you want from the design what is a good design when is a design uh according to your to your needs and then solve that inverse problem to find the design parameters and these things are generally very hard right why is this difficult because you know in this toy example I showed you are two parameters uh in general we are often dealing with thousands of potentially millions of unknowns and Forward Design in this space becomes completely infeasible you cannot Choose Yourself 50 000 numbers to specify a design it's just not practical the forward simulation in itself can be very complex typically we have to solve differential or integral equations in high dimensional spaces so this in itself is already difficult the performance metric can be complex to evaluate usually you have Global dependencies meaning that you know changes in a few of your design variables can lead to drastic changes in your outcome so this is in general intractable you know if you specify most relevant reasonable problems you cannot really solve this in any meaningful way so we have to really go in and the two main ingredients in our work in some sense are to look at efficient ways to solve this this is a really a numerical or computer science challenge but then the key thing that I would want to stress today is really that it's the geometry that matters and the systems at least that we study and I want to show you or at least give you a glimpse of the kind of tools that we use to approach these difficult problems so specifically today I want to talk about Deployable structures these are things that have fascinated me for a long time so what are Deployable structures basically things that can transform from one state to another basically changing their shape and you know they they appear in nature they appear in industrial applications um they can you know appear in design and Engineering or you know even in architecture so they can happen at many different scales with many different material systems but the thing that is common to them is basically that there's a shape transformation happening and that shape transformation has a function or meaning or use right so I want to walk you through a number of projects that we did in this space starting off with a work on oxetics and this is actually one of those examples that got triggered by Design so I stumbled into design store and I saw this kind of object which is basically just a brass or copper plate with a specific pattern of incisions and I was very intrigued you know normally such a metal plate would just be you could bend it in One Direction with sort of a developable surfaces but if you add incisions you can actually deform this material into double curved shapes so we're curious about this and we made kind of our own copy authentic basically means that this is a material with negative poissons ratio if you stretch it in One Direction it also expands in the transversal Direction and this actually allows this normally single curvature type of material to assume a double curved shape so we can wrap this around the sphere which we could not do with this plastic sheet if it was not having these incisions so the first thing that we do is kind of abstract this a little bit and you know here this type of specific oxidic material can be represented by a triangular linkage with a specific pattern that you see here and you can see this isotropic expansion that is going on and if I go back to our inverse design formalization then our design Target is really that we want to to form this object or deploy this object into a specific Target shape um and our metric in this sense becomes you know how close does our material that is of course constrained as we will see how close does it achieve that specific Target our design space itself is the 2D sheet material right we want to cut out a piece of this material and figure out how it would deploy so our forward simulation is that deployment that deformation from the flapped planar fabrication state to the 3D surface so our input is actually the design surface and our output is the 2D flat fabricated object and this is a scene that we will see throughout in the sense that um you know we have a number of systems where we deploy from one state that is easy to fabricate um into a 3D state that would be very difficult to fabricate directly but that has interesting functions or Aesthetics so our goal is to solve this inverse problem so here you see in this formulation that we're looking for the design parameters that minimize in this case this performance metric the distance to the Target surface but you see it's sort of a nested Loop right we have the forward simulation in the inner argument of that function so how do you solve a problem like this right so it this is a minimization problem so you know typically what you do with functions like this you set the gradient to zero right that's a sort of necessary condition if you're at a minimum of this function the gradient is zero so you can do great intercept you know very basic method um which in our case would be you know you have some initial uh we have a Target surface let's say this scan of Max Planck of a statue of Max plan to be precise and you have an initial guess of what you want to start with maybe the the speed of material and now you basically deform this sheet so that it matches the target um and you know you do gradient descent on this very basic very easy and gradient Descent of course starts somewhere in this case with this initial guess and moves down the energy landscape until it hits a local minimum the problem is this doesn't work at all right if you run a gradient descent on this kind of problem you know it's sort of the sheet tries to wrap around this object and it's just terrible right and this is not very surprising because you know this sort of simulation is is a very non-linear very non-convex function and you cannot hope to start at a random point and get a good look a minute so this is not a question of your numerical solver it's really just fundamental to the problem and what do we do well geometry comes to the rescue and this is sort of a big theme that we have in our research in general we figure out ways to to make this work by exploiting geometric insights we have about the problem I'm going to do a quick detour and I'm not completely sure you know what everybody's background is but I'm I guess everybody's familiar with the concept of curvature at least in some sense what does it mean for a surface to be curved um basically we're looking at two types of curvature you know curvature in its first instance is defined for a curve you know how much it deviates from a straight line and if you generalize this idea to a surface you end up with two types of curvatures um that we often call the principal curvatures and then um their product is the Gauss curvature when we talk about the curvature of a surface typically we mean the Gauss converter there's other curvatures like mean curvature but here I will mostly talk about the Gauss curvature which is the product of the two and that allows you to classify for example surfaces if I take a sheet of paper and I bend it um then the Gauss curvature is zero and I can make so-called developable surfaces cylinders cones things like that negatively curved surfaces are saddle points and positively curved surfaces sort of spherical or elliptical points and now Gauss showed something that he himself called the remarkable theorem and if gal says it's remarkable you can be sure it truly is remarkable uh and it's something that is not obvious at all and has very deep implications and basically what he figured out is that the Gauss curvature is an intrinsic quantity and that means that it's something that you can determine by only measuring distances on the surface so if you have a way to measure distances on the surface you can actually figure out what the curvature is and this is not at all intuitive because curvature principle is a second order quantity and and you know length is a first order quantity so why is this possible I'm not going to go into the proof or more of the details but I'm more gonna talk about the consequences of this basically what this means is that the metric meaning the ability to measure length on the surface determines the curvature and this is a principle we can now turn around we can say if we can change length we can change surface curvature so this is actually a principle that has been used a lot in many different instances here's an example here is a a heat activated hydrogel so as you heat this up this surface will expand in the plane at different rates so we're changing length across the surface and if you do that the surface bug builds out of plane in order to accommodate that change in length it has to assume curvature right and there's many other examples like this so we can control um this the shape of a flat piece by changing its length this is also for example something that happens in nature a lot you know if leaves grow they grow at different rates in different parts and the only way to accommodate that inconsistency is to buckle into 3D shape and this is exactly the principle that we're going to exploit for our exactics so we've saw we've seen from this um Regular linkage pattern that we have isotropic extension and this is something that we can um abstract into a so-called conformal map I'm not sure if you're familiar with this principle but this is actually it's a very deep sort of mathematical theme but um relatively easy to explain it says that if the material expands isotropically meaning at the same rate in all directions then what's really happening is that locally the surface scales uniformly so we will preserve angles and if you look at this example here on the regular grid gets here in the plane transformed the squares remain squares but they change in size so this is something you can also of course do from a 2d surface onto a 3D shape so this is a mapping now from the plane into 3D that preserves angles but changes distances and here this is something that you know people have developed in computer Graphics ways to compute these type of conformal maps for arbitrary surfaces so we have a way to given some 3D shape compute this type of flattening in the plane now there is something very interesting happening a controller map is a special kind of mapping from 2D to 3D one that allows us to very explicitly write down the curvature as a function of that local length scale so this is a famous formula in differential geometry the specifics are not so important but what it says is that the curvature again is related to the change in length here it is uniform scaling Factor and the LaPlace operator in there says actually that it's the variation of scaling that matters okay so what this allows us to do is that we can control curvature and consequently the shape of our structure by burying the local expansion in our map so if I take a regular triangulation like we had before if I take you know this oxidic and open it uniformly there's actually no curvature because here the scale factor is the same everywhere and if I take the laplacian of a constant it's going to be zero so gaussian curvature is zero so we can only achieve curvature if we let the opening vary across the surface so here is an example if we want to map this onto a sphere then these openings are not uniform they're not the same everywhere but they vary and this variation is is precisely encoded in that shape so what that means for us is that if we want to do an inverse design pipeline going back to our gradient descent method we're not starting with um you know some random surface but we're starting with a conformal map of our Target surface right we apply this conformal mapping Paradigm to get an initial guess for our optimization and if we know the gradient is sent well in practice we do something more advanced but if we could do gradient descent now we actually get a solution that works because we understand that in order to get to this shape we need to get something that is close to a conformal map so the conformal map gives us the initialization that we need and if you compare this with the naive solution where you start with no information or random guess then of course the result is drastically different and now we have a complete pipeline to do this if you take an input shape then you know you can just compute its conformal map Runner optimization cut this out of a piece of copper and deform this into the target shape and you know it will fit you know exactly how much you need to open each of those hexagonals to to actually get to the shape so you get the complete solution now I told you about Deployable structures how do we deploy this this is actually not deployed at all this is just manually deformed by hand onto a mold surface and to make this actually Deployable we have to take it a step further so what we're doing here is really just creating a fixed type of material right all of these uh incisions are the same the material doesn't know what shape it wants to go into we have to give it that information by for example uh using a mold surface so we need this external surface to actually tell the surface what it wants to deform into and that makes deployment complicated because you know you almost have to first make the surface to be able to deploy it into it but what we can do and it requires actually a very little change is to encode the target surface so the surface that our structure is supposed to deform into into that 2D material that's what we call sort of program material and it's it's a simple trick so what we've seen before is that if we want curvature if we want to go from something flat into something that is more interesting and double curve then we need to have variation in expansion so on the left here you see this material which has all identical triangles but the openings change you know we need more expansion in certain regions and less than others we can achieve the same effect by actually changing the size of the triangles but keeping the openings fully expanded okay so this actually gives us sort of the same structure it looks a bit different but um the underlying mechanism is more or less the same what that means though is now that our material in um its 2D state is not uniform anymore right we now have to create this specific material for this specific shape but what it allows us to do is that we can now here you see this sort of variation some of these openings are already partially open but we have less expansion and where we have more expansions we have bigger triangles that are more closed up but now we have actually the target shape encoded if we come up with a way to stretch the surface out as much as it can then it will automatically go into the shape that we've programmed into and we we explored sort of two types of actuation when it's inflation and the other one is just using gravity and I'll show you how that looks like so here we have a Target input surface and the optimized result is shown on the right we can now flatten this surface of course we cut it out of a piece of cardboard in this case we build a little frame so we can inflate this and we add a balloon right so this balloon you just inflate it's a silicon rubber thing it would go to whatever shape it wants to go certainly not to the shape that we specified as input but if we now add this material on top then this balloon will now inflate exactly to the shape that we designed because this material will stop moving once it's fully expanded it cannot move anymore right this is the principle that we exploited here so we've programmed this shape into that 2D material and for some more restricted types of surfaces you can even do this by just letting a structure hang right this is now a doubly curved structure with positive and negative curvature that just deploys automatically by gravity because these tiles want to expand as much as they can so here we have a program material that's nice um but it requires active deployment okay gravity is in is the cheap deployment it's there all the time unless you go to space but you know inflation is something that if if I turn off the pump then this surface will go back to its original state um why is that because the type of linkages that we used are sort of elastic right I can pull them apart but then if I take off the force then it will just go back to where they started um and now we also you know got aware of this type of bi-stable aesthetic pattern which actually is interesting in that it has a second state when it's fully opened that is also stable so by stability here means that there's an energy barrier between the initial state that has zero energy and this deployed state with which has um you know a higher energy but it will still be stable because it's in a local minimum of the energy so this is very simple and we can extend this immediately um to our framework so here is an example of um a bi-stable obstetrics which you know it's made out of silicon very flexible material and just by injecting some energy by shaking it it deploys but it now stays in that shape because this is now again a state of local energy local minimum energy and this is actually quite nice because now we don't need any inflation or any other Force to keep this object in its Target shape and we explored a bunch of design studies these are more like rendered things we didn't go to Mars actually we didn't make any heart stents yet but just to show that these oxidic materials have quite a bit of potential because they start from something flat right they're planar which is makes them easy to fabricate makes them you know very versatile but they can be deployed into various things but we have explored this a little bit in practice so this is again an aerial view of our beautiful campus and you notice there's some space here and that space needs to be filled so we designed an oxetic Pavilion this is a double layered structure made out of these oxidic elements and it was a long process you know we had to find money for it but it is almost completed so here's some early pictures you see still the fence around it it's not quite done um but this is a doubly curved um structure that is deployed from a flat membrane so you know here it's of course at that scale it needs to be assembled we cannot cut this out of one piece but it has some really interesting structural properties if you're interested I'm happy to talk more about this okay wow we're already like half an hour in this is going to be interesting so let me come to the second topic another type of Deployable structure Inflatables so we used inflated inflation already um for deploying of Statics but here it's very different we take two sheets of material and we fuse it along these orange curves and you know this is what you get in an air mattress basically right so you blow this up it expands uh in the vertical Direction but it contracts in the other direction and now an interesting question is like what if these lines are not straight you know for example what do I get if I put circles here and inflate this will this state planar well at first yes but then oop I got a saddle shape why is that happening so I can make these curved shapes well let's understand what is going on here so again we kind of come up with an abstraction that explains what's happening basically these tubes go from a flat State into something circular right if I put pressure into this membrane it wants to become it wants to maximize its volume which basically wants to make those circular so what's happening is that because this material is inextensible it expands vertically but it contracts horizontally okay so it contracts in plane but only in One Direction this is not an oxetic you know an oxidic would also contract in the other direction this surface only contracts in One Direction and stays the same in the other direction but effectively what that does is you know it assigns a new metric to this surface so if you look at these circles for example the length of the circle stays the same but the distance between the circles becomes shorter and for this to work the structure has to buckle out of plane okay so again inflation actually assigns a new metric to this flat sheet and and Gauss tell us well you know if we change the metric we change the curvature and this is precisely What's Happening Here so again we can take our inverse design pipeline we take a design surface that we care about we first do a flattening into the plane and this is a specific algorithm we developed that I'm not going to talk about here too much but basically it says you know flatten the Surface by respecting this anisotropic contraction that these inflatable mechanisms provide and then we can you know draw out according to the direction of this mapping these tubes and then we optimize right so optimization basically here means two things um again if we look at our very basic gradient base setup we get our Target surface as input and we get this initial guess from our 2D parameterizing this is again absolutely crucial if you start with a random initial guess no hope whatsoever and now in our inner loop we simulate the inflation process okay so we run a simulation that tells us how does this object to form on inflation and then in the outer loop we change the the initial parameters meaning our 2D design so that this equilibrium State more closely approximates our Target so this is a fairly involved optimization in fact we're not doing gradient descent at all on this um I again I don't have time to sort of go into the details but for those of you who might be familiar with more advanced in American methods or just drop a few keywords and I'd be happy to discuss things in more detail and there's also references at the end but basically you know we we cannot work with first order methods here we build a Newton method or more specifically Newton content gradient method uh we really have to go to a higher order um in information and build this this solver very carefully over many many months and there's a lengthy document that describes this in detail so if you're interested you know I can point you to this but it is an example of where you know Black Box solvers will not work you know this is something we've discovered over and over again of course there are powerful numerical tools out there but if you just plug in your objective function and hope for the best it will not work it will not even tell you why it doesn't work it will just stop and do nothing right so this is both this sort of geometric models the abstractions are fundamental but then also sometimes not always digging deeper into to the numerics is necessary fortunately now we have more powerful tools you know there's a lot of very very useful things for automatic differentiation and libraries that help you build these solvers much much faster than in the past but sometimes you have to dig to lower levels so what does that look like here are some examples right so we have these flat two sheets that we fuse together with the laser and then we can inflate them and they go to the shapes that we want them to go to which is great and you know we validated this with scans and kind of see okay yes the predictions of our simulations are actually quite good we also did some structural tests and we did some load testing but right now we're actually working on on that to improve the structural aspects of these these surfaces they are surprisingly stiff right if you if you take an air mattress you know it's it's very floppy when it's uninflated but once you pump it up and get it to high pressure it becomes extremely stiff so this is something we're now optimizing for precisely and then um the range of applications will become even larger so moving on to a different system but that also shares some similarities so so far I showed you these Exotics which have this kind of conformal map isotropic expansion which saw the Inflatables which actually contract right in a specific way now we're looking at linkage or mechanism-based structures um so if you take a regular grid of rigid beams right you can build these sort of scissor grids that can deploy that can expand um in the plane and basically what you have here is rigid beams connected by rotational joints and they you know allow you to to deform the structure in this way now what happens if you move away from a regular grid and you have beams that can actually deform that are elastic what happens if I try to open this type of structure well something very interesting happens um the linkage is incompatible right if it was rigid it would just block but if it is flexible it can now deform and buckle out of plane into 3D shapes um so what's nice about this is again we have a structure that is planar when we assemble it so it's very easy to to build and it deploys in a more or less one degree of Freedom actuation we just pull it open so this requires us to understand elastic beams right so we have a new is it a nice um so we're studying how elastic beams deform and we use a model of this to develop in computer Graphics which is quite powerful and has found its way into a lot of mechanical engineering applications as well so we abstract a beam by a center line and then study its stretching bending and twisting energies and there are specific formulations of these all in a representation of a piecewise um discrete or linear polyline we can connect these into networks of beams and now we can simulate that deployment by actuating them with work at the Joint so if I do this here's another example this system settles into some um state of minimal elastic energy as I apply these torques at the joints right and this is sort of exactly what we're trying to do um design in this space you know defining Target shapes and finding layouts that would deploy into a Target shape while minimizing their elastic energy the specific design optimization is similar in in flavor um we have again a forward simulation in the Inner Loop and then an outer step we have to differentiate through this complex uh you know optimization and what it does is actually it looks very unimpressive so what you see here is the optimization in action you see very few things are actually moving but that's exactly what we care about because we don't want to change the design that we're given we want to just optimize its structural properties but the outcome is quite drastic so we you know really reduce energy and stress in the beams drastically which actually is is the only way to make this work because these beams you know they're elastic but they're not infinitely strong so if you don't optimize in this way there's not much hope that you can deploy the structure but if you do you can actually you know pull these things apart into their target shapes that you that you designed um you can play with different types of curvature we built a few of those um and you can deploy them automatically you don't have to really you know just pull them open I mean these ropes here are more or less randomly placed um the structure goes into the shape that you've designed it for and again the simulation and the physical experiments uh match quite well we also scale this up a little bit and participated in the Pavilion competition that we actually got the price for here is a Deployable grid shell structure um that goes from a flat state that you see on the left and as you pull it open goes into this spherical State here we installed this in uh dpfl so yeah how are we doing on time okay let me still do a quick aside also because I know if Jenny is interested in this um we did some work on curved weaving which is building on the same type of functionality um where we basically extended traditional weaving that works with straight ribbons into curved ribbons um and again we needed a good physical simulation because we are interested in the elastic behavior of these structures and make sure that they you know stay in a certain shape that we designed for um and I'm not going to go into too much details here because today's talk is about developable structures and these are not developable but they allow us to to design a lot of interesting shapes and we actually decided that it could be interesting to combine these Deployable X shells with these curved weaving structures so and we built a structure out of bamboo here you see a single cylinder that is actually very flexible and very Deployable right it can it has a regular grid structure and you can deploy it from this thin to very wide section and then we decided what can we do to build something more large scale to combine this with weaving so these cylinders are very weak and very flexible but if we weave them together so if we make connections where it is Deployable structures come together and are interwoven we can actually build something that is structurally very strong so here we created this type of threefold node and we optimized it to to reduce stress inside the node and then we decided to build something bigger out of this so in fact we created 36 of those cylinders that you see here a line on the ground and then we assembled that by deploying them individually and weaving them together so at the nodes where three cylinders come together you have to build you know the connections with these bamboo strips and then ended up building a fairly large scale structure that even though each of the cylinders is very weak in in their compound state becomes a very stiff and strong structure so this is all made with raw untreated bamboo that we got from the garden of our collaborator the structure is strong but it's lightweight so you can actually lift it up um even though you know it's 10 meters in diameter 4 meters 50 high but you know it's people can lift it up with with one hand so it's so it's quite a fascinating exercise um to see this combination of weaving and Deployable cylinders that we created okay almost true last one so this is a one of the more recent projects that actually combines a number of the things that we've seen so far one thing that is common in all of these three examples I showed you so far is we always have a planar state and we deploy by transferring material within the surface so we're basically changing length within the surface and as a consequence on the structure of buckles out of plane but this is limited right the oxidics can only stretch so much the Inflatables can only contract so much and these linkage based mechanisms also have limits in how much they can expand or contract so that that limits the num the space of shape that you can assume the idea of the last project I want to show you is that we can also transfer material transversibly so from the third dimension into the plane and this gives us actually in principle unlimited expansion and contraction and with that a much richer space of shapes how does this work this literally was inspired by umbrellas so that's why we called it umbrella meshes so here's an abstracted mechanism of an umbrella deploying right so again you have these sort of scissor linkages but now as I push these two plates together um the structure is expanding sideways and of course we can measure this expansion um you know it's just a simple formula that tells you how much will this area of this dotted triangle increase as I push this umbrella open if I now take a Tessellation of these umbrellas and put them together then you know what I end up with is a uniformly expanding structure in the plane this is very similar to the oxidants right in fact it's the same type of expansion and we can use the same type of mechanisms but what happens if I now change the height of the umbrella so if I take two umbrellas with different heights then they will actually expand at different rates into different areas okay so here this is all nice and compatible but if I put them together and I let them expand they will not be compatible anymore at some point you know some parts expand more than the others and of course we know our friend Gauss has something to say about this right if there's changes in length then we get curvature so here we have flexible beams with rigid beams the structure which is locked right similar to the eggshells where we have these elastic beams the structure settles into a minimum of the elastic energy but the expansion here is actually very similar to the oxalatex it's isotropic which means we can leverage our conformal map formalism and this is just our friend cows right so the pipeline is actually very basic similar to what we've seen before we take our Target surface we compute a conformal map that tells us how high these umbrellas should roughly be it's almost there not quite so we run our optimization and approximate the target shape more or less perfect and this is what the simulation looks like so we have our very compact umbrella mesh as we expand it you know these beams rotate and deform and the structure approximates the given Target surface if we build this here you see a sort of prototype that we made um and it very closely matches the shape that we're soon what's very nice about these structures is that they're very compact in their undeployed state so we can even 3D print something uh in a single piece right like this one here and then deploy it to a structure so there's a you know quite a few benefits of doing this in a very compact state um we have this property of unlimited scale factors so I didn't go into details here but if you look at the oxetics you can prove that at most you could approximate half a sphere at that stage you you have exhausted the limit of curvature variation that you can have but here we don't have these limits we can actually make these height variations as big as we want right there's no limit in the stretch factor that we can achieve and this is sort of a physical prototype we made of that spherical shape it also gives us a lot more design freedom I can approximate the same shape with many different umbrella meshes so there's lots of theory around conformal Maps um a conforming map into the plane always exists it's a you know remixed uniformisation theorem but there's many many different conformal maps that you can compute so that gives us a lot of design for you again the optimization would not work without the conformal map right so this is not something you can just do easily you need to understand the geometric structure of the problem so if I summarize these um four projects that I've showed you um you know the input in this design and this inverse design is the target State we want to specify what our structure should deploy into the output of the algorithm is the fabrication State that's what we can build physically and we can build it in in easy ways so the first three examples are all Plano the fourth one is actually stress-free which is very important so you can build these cells and assemble them there is no internal stress in the system so what's important to make these simulations and optimizations predictive is accurate modeling of the physics right so this is a lot of work goes into finding the right physical representations and models so that our prediction is actually accurate of course we want to simulate these things as much as we can but not more than than you know necessary to get the right accuracy and we do build these solvers specifically for each problem um there's a lot of similarities that we can reuse but I would really want to stress that the key thing to make this work are using the right geometric abstractions that's sort of the main message you know to study the geometry and to leverage all of these fundamental results that people have made sometimes that requires digging deeper into some of the some of the math so I didn't go into that too much you know I showed you our friend gals but there's of course more things that people have discovered in differential geometry that you can Leverage and if you allow me a few more minutes then I'll do a very brief Outlook to where we want to take this next um and for that I show you very rapidly a project that we did with um Tim Shannon Pedro rice on programmable materials so here we built a A system that allows us to um change the properties of a material by magnetic programming so we have this unit cell that you see on the left which is a bi-stable cell buy stable here means that you know we have a shell this purple part that can be in two states um that are both mechanically stable in themselves so if I turn on the magnetic field I can switch the cell from one state to the other and the key Point here you see this sort of actuation as you switch to magnets okay the magnet goes up or down not very spectacular but the main points and the way the cell is designed is that these two states have drastically different mechanical properties so if the cell is in this state here you see how as I compress it these green beams get into contact with the purple structure relatively late if it's in the other states they are in contact almost immediately and that makes this system much more stiff all right so now we have um a unit cell that we can program to be in two different states um and have two different mechanical behaviors you can assemble more of these cells into more complex materials but the main point here is really that we now have a material that is not static that can be reconfigured in terms of its mechanical properties and this principle I think is very interesting in general right so all of the structures that I've showed you before are one step fabricated they're static static in the sense that you know they go to one target shape and that's what they're happy with but if I want to deploy them into a different shape well I have to build a different structure right so they have a lot of benefits they're very easy to fabricate because they are going from planar to 3D the deployment is automatic this is something that I think is it's fundamentally important so the the target state is encoded into the material and then this is something I didn't spend too much time on um but they're also structurally performant um so for very low weights you get a very good structural performance and you know as I showed you in some of these examples we can get a very accurate representation of the target again there's many questions around this you know what shapes are attainable and Which shapes are not and some of that you can answer by mathematical analysis some of that it's unknown but you know this question of can we do multiple Target shapes in the same structure can we maybe deploy with certain reactions to changes in the environment um can we control the transfer of force as these structures deploy you know this is of course moving towards almost like robotic or soft robotic applications can we get more intelligence into these systems and I think the way to do this is to build sort of more intelligent systems and bring some of that programmability into these structures now I don't want to build fully actuated robots right it's the a big part of the intelligence lies in the geometric structure and the material itself so one I think very fascinating question is how can we build in a minimum amount of programmability if you will something that requires very little in terms of control logic but that gives us a lot more flexibility and allows us to build you know structures that maybe can be adaptable and can you know react in certain ways so this is something that we're looking into quite a bit right now um and I think it's it's a wide open space um and yeah I'm I'm excited to see where this takes us so if you're interested more I mean here's a list of references I'm happy to to share of course these slides I think the video was recorded you'll find all of that on our web page uh you'll find there also um software um so we're actually now in a big push to release much more of our code but you know if you're interested in some of these methods some things are already there but we're we're working hard to make more things available and often we try to make them available in ways that don't require you to dig deep into our solvers but you know for example this weaving app is at least right now more for visualization but very soon also for design we try to interface with architects in things like Rhino and grasshopper so you know if you're interested in this check it out and then of course I really want to thank again all the people who and this is not a complete list this is just sort of the inner core there are lots of collaborators that participated in these projects I started collecting photos but then at some point I gave up because the slide was so full so you know there's literally dozens of people involved in these projects and their creativity and hard work makes this all all come together so I'm very very grateful to be working with so many Fascinating People so thank you very much I realized I was going over time a little bit and maybe going fast at certain points but I'd be very happy to to dig deeper into any you know any domain that you've seen or any questions and also as I said feel free to contact me at the later point I'm happy to to discuss more with you thank you um really really enjoyed your talk um I'll open up for questions um I guess one thing is you if anybody wants you can enter questions there's a question and answer um box or um I think we have a manageable number of people so people do want to unmute and ask questions directly that's I think also okay foreign thanks Mark um I've seen the work before when I was in NCC or ath but it's nice to always see a newer version or adopt it um a quick question on the on the uh the bottom picture the middle one where you actually get the form uh if their external load applied after this this form is taken um there is a deformation right that applies to this yes absolutely and that can be measured um in terms of like calculated and I'm assuming looking at your later work the 3D there's probably potential to integrate some sort of a system where you could lock into into the shape in a certain load saying snow load or win load to block yourself in that shape right yes no absolutely I mean the the bi-stable oxetics have a dilemma um because well right now this structure is laser cut out of a single piece of material and because we need these joints to be compliant we want something that is solved but at the same time we want the the elements the triangles and these these little flower shaped things to be as rigid as possible so if you really want to make this work well you would probably need to combine different materials because we have to find a trade-off between the flexibility of the joint and the rigidity of the elements so if you do this in larger scale in any case you would assemble this um and what's interesting is actually you know the structure is by stable and the low energy state is the flat one right that's the one that was fabricated in this step still has residual energy it's actually very hard to push it back to its original state so if you push your finger on one of these domes it will of course deform but it will jump back into this state not into the flat State and we don't fully understand yet why that is but structural aspects are now playing uh I would say a much more fundamental role in in our optimization you know right now we've mostly targeted you know shapes say okay we want this to deploy in this shape we want that state to be stable but not necessarily paying a lot of attention whether this is a strong state is it you know whether it can bear a load in certain cases and what we're looking at more and more is to integrate load-bearing Behavior into the objective function to say you know this is going to be exposed to wind load or some payload or self weight how can we optimize for this as well because there is a lot of freedom in optimization here right there's many parameters that we can tune um it does get difficult right these inverse problems I hope I conveyed that to some extent are not trivial they're already very hard to solve and if you add these things so just to give you an example what we're doing is for something like Inflatables or also the eggshells you can do model analysis right you can analyze um the sort of deformation mode the stiffness of the structure in the deployed state um which you know typically you do buy some eigen eigen analysis that's fine analysis is fine we can analyze but now we want to optimize right and then basically you know differentiating through an eigenvector of a you know very complex non-linear files yeah it just adds a whole other level of complexity to something that's already very complex so again the naive approach will not work you know just throwing automatic differentiation at this and hoping for the best is not going to be a solution but we are we're beginning to understand the problems better and and I think for you know we have some hope to to approach these problems but they're very interesting and they're fundamental of course right you want to deploy these things into um structurally performance system one aspect of course that also plays in a lot is scale right I mean you know there's of course some small scale things you can laser cut out of a single sheet but at larger scale you know these things don't I mean the geometry in in many instances is scale and variant but the physics is not right I mean the material properties change and all of these things so all of these factors have to be brought in and that's why there's no sort of one single solution that will always work you know you have to look at the specifics of your problem and exploit as much as you can the knowledge about your specific problem domain be it you know specific geometric properties material properties and so on for example when we worked with the bamboo this was new to me completely before we're working with Industrial Products like glass fiber where you know yeah very clearly specified material properties working with bamboo which is you know not behaving in any predictable way was very interesting and what we learned was that it's really the network that makes makes it all work each individual piece of bamboo is very different you know and stiffness in size it's everything but if you connect them there is a surprising resilience and Equalization of you know these these sort of effects so that was fascinating and it's it's also something I'm very interested in Neil to work more with natural materials where there's a lot more uncertainty about each individual piece and to find you know assembly Logics or material Logics that that make that work yeah I'm just going to let the next person to ask but but the strength through geometry actually is quite an interesting area off topic with the minimal surface for example that you had we explored a lot in that area with very weak material but as soon as they come to minimal surface geometry yes because of the geometry they stay and exactly yeah so geometry is the key factor absolutely yes right I'm going to leave it to the next person thank you so Mark we have a a question in the chat and it's um you know I wonder if I'll just read out the question I wonder if the deployment process uh you know basically the process from you know going from Flat to the deformed state is in any case considered uh during the optimization process yeah that is actually a very good question um and I the answer is probably no or at least not directly so for example if you take the Inflatables right if you if I just quickly go back to this um if you look at these videos you know air comes in in a central point and it distributes around in some random way and we don't know right and in fact what could happen here and we saw this in one of our examples um if it inflates in the wrong way you might actually block just by contact some paths and then you have to push it a little bit to actually go into this so here we don't take this this temporal aspect of the deployment into account at all um for the grid cells it's a little bit diffe
2023-04-18 15:27