This video describes the process that the team of animators at Northrop Grumman went through to create a deployable digital sunshield for the JWST spacecraft.   Given that the mylar material from which this sunshield is made has very cloth-like properties, it was obvious that we would use some form of cloth simulation.  What wasn’t so obvious was figuring out how we would get a good folded initial state from which we could create the cloth simulation.  After we experimented with paper models, we decided rebuild the shield using a high number of nurbs curves to form a kind of skeleton.  The trick was coming up with a folding algorithm that would synchronize the motion of all the curves into discrete non-penetrating pleats.  For this, we used Maya’s non-linear bend deformers across multiple sub-curves.  Because each curve would need to fold differently depending on its orientation, the algorithm needed to take into account each curve’s placement with respect to its neighbors.  Once we had an algorithm in place, we could then fold the shield to a stowed configuration, and we could then begin the iterative process of building a cloth simulation.  An added complexity that we had to contend with was the fact that the shield itself is made up of five layers of this material.  In order to generate stable simulations with reasonable compute times, we opted to simulate each layer independently, turning each cloth simulation into a cached collision object for the remaining layers.

The deployment of a cloth-like sunshield for NASA’s next generation telescope JWST (James Webb Telescope) required creating a near “perfect” set of initial conditions from which we could  simulate the deployment of five layers of mylar into their final state.  Creating this initial folded state was difficult because it meant neatly packing a cloth-like surface the size of a tennis court into a perfectly arranged stack roughly nine inches tall.  This initial state needed to be perfect in the sense that no amount of geometry inter-penetration could exist between folds given that this initial state would eventually be used to create a cloth simulation of the sunshield deployment.  The only way we could guarantee creating a usable initial folded state was by manipulating a set of curves into profiles that could be stowed or deployed programatically.  The manner of arriving at the right curve-folding algorithm necessitated creating paper models and from these deriving dynamic equations that would adhere to the shield’s design requirements.  The actual folding of curves was achieved by using thousands of Maya’s non-linear deformers that were then strung up together and choreographed with keyframed animation.  We relied heavily on Perl and Mel scripting to create the final algorithm, and altogether resulted in over two thousand lines of code.  Once we had a workable initial state, we could go about the iterative process of designing a cloth simulation that would result in an aesthetically pleasing deployed sunshield.

Advertisements