Abstract
Recently, a class of mechanical lattices with reconfigurable, zero-stiffness structures has been proposed, called Totimorphic lattices. In this work, we introduce a computational framework that enables continuous reprogramming of a Totimorphic lattice’s effective properties, such as mechanical and optical behaviour, through geometric changes alone, demonstrated using computer simulations. Our approach is differentiable and guarantees valid Totimorphic configurations throughout the optimisation process, providing not only target states with desired properties but also continuous trajectories in configuration space that connect them. This enables reprogrammable structures in which actuators are controlled via automatic differentiation on an objective-dependent cost function, continuously adapting the lattice to achieve a given goal. We focus on deep space applications, where harsh and resource-constrained environments demand solutions that combine flexibility, efficiency, and autonomy. As proof of concept, we present two scenarios: a reprogrammable disordered lattice material and a space telescope mirror with adjustable focal length. The introduced framework is adaptable to a wide range of Totimorphic designs and objectives, providing a lightweight model for endowing physical systems with autonomous self-configuration and self-repair capabilities.
Similar content being viewed by others
Introduction
Self-assembling and reconfigurable space infrastructure has the potential to reduce deployment costs and risks while increasing mission flexibility and long-term reusability. A variety of concepts for in-orbit assembly have lately been proposed, including formation flight1,2, CubeSat swarms that dock into space mirrors3, autonomously assembling tiles for habitat construction2,4, origami-based deployment of spacecraft components5,6, and robotic systems for ground-based assembly on other celestial bodies7. However, most of these approaches focus solely on deployment and offer little or no capability for post-deployment reconfiguration, and are therefore unable to adapt to new tasks, repair damage, or respond to shifting environmental conditions autonomously. Recent advances such as Mechanical Neural Networks8 and Trimorph origami patterns9 begin to explore programmable materials with reprogrammable properties, but remain limited to discrete configurations or narrow ranges of tunable properties.
Nature offers powerful examples of how disordered geometry alone can endow structures with exceptional mechanical properties10. Prominent examples are bones, plant stems, dragonfly wings, coral, and radiolarians11, and the concept is further found in human-engineered metamaterials12,13,14,15. Inspired by recent work on inversely designing irregular mechanical lattices16,17,18,19,20,21,22,23, we propose a new concept for reconfigurable space infrastructure with a high degree of programmability: continuously inverse-designed Totimorphic lattices.
Totimorphic lattices are a recently introduced type of reconfigureable mechanical lattice24. Their triangular unit cell consists of a beam (Fig. 1A, points A to B), a lever attached at the beam’s midpoint (points P to C), and two zero-length springs (springs where the spring force is proportional to the total length of the spring) that connect the lever tip to the beam ends (wiggly lines). The beam-lever connection and connections between unit cells use ball (pin) joints. Because of this arrangement, the spring forces always balance without exerting torque on the lever. As a result, each unit cell – and any lattice assembled from them – is neutrally stable: it can reconfigure freely under external actuation, yet remains stationary when unloaded.
A Totimorphic unit cell. For tiling, we use the shown elementary cell as the basic building block in this work. B Actuation of generalised coordinates (here: beam and lever angles) is defined as gradient descent on an objective-dependent cost function C. This way, both a lattice configuration with a desired property is found as well as the trajectory connecting it to the initial configuration. The surface plot represents the cost for different configurations. An example trajectory following the gradient − ∇ C is shown in white (from 1 to 4), and the corresponding lattice configurations to the right. For illustration purposes, the task here is to move the upper right corner of the lattice (blue dot) to the height of the red line. In realistic scenarios, the landscape might contain holes, i.e., configurations that break the structure.
In previous work24, target lattice shapes were obtained through constrained optimisation, with beam and lever lengths enforced as constraints. This approach has two main drawbacks: constraints are only satisfied approximately, and just the final configuration is produced, not the trajectory through configuration space to get there. In ref. 25, we demonstrated shape-morphing, e.g., from a flat surface sheet into a half-cylinder, using a marching cell method, which however struggled with maintaining lattice integrity and could become stuck while morphing between shapes. Here, we address both issues by introducing generalised coordinates that absorb the geometric constraints into the parameterisation itself. The resulting mapping from generalised to physical lattice coordinates is differentiable, allowing us to use automatic differentiation on task-specific cost functions. This way, Totimorphic lattices are reconfigured continuously along valid trajectories until the cost function is minimised (Fig. 1B).
We validate our framework in the space domain using simulations, adding to the growing number of concepts of self-constructing and reconfigurable designs. As a first demonstration, we show that Totimorphic lattices can continuously tune their effective mechanical properties, making them feasible as building blocks for adaptive structures with tunable stiffness or Poisson’s ratio (Fig. 2, left). As a second, we explore their use in large-scale infrastructure by simulating a reconfigurable space mirror capable of adapting its focal length and repairing structural damage (Fig. 2, right).
In this work, we specifically look into lattice structures that can alter their mechanical properties, i.e., how they behave under stress. In addition, we explore the concept of using Totimorphic lattices as the backbone of large-scale space infrastructures such as space telescopes – not only to ease their deployment, but to equip them with reprogrammable properties as well. For example, we demonstrate a mirror element that can adjust its surface shape to alter the location of its focal point.
In the following, we first introduce the generalised coordinates and differentiable reconfiguration framework, followed by the two proof of concept space applications. Mathematical details on all models, proofs, and simulation details are found in Methods. Simulation code is available online on GitHub 26.
Results
Degrees of freedom in Totimorphic lattices
To model Totimorphic lattices, we absorb the beam and lever length/angle constraints into the parameters used to describe the lattice’s configuration. The minimum number of parameters needed to uniquely capture the lattice is given by its degrees of freedom df. In general, the degrees of freedom of an elementary cell in a Totimorphic lattice are determined by three factors: the freely moving points characterising the cell itself, the beam/lever constraints, and points that overlap with other cells in the lattice – with the latter two factors reducing the number of degrees of freedom. In the following, we construct a lattice cell by cell to identify how a cell’s degrees of freedom depend on where and when it is added to the lattice. For simplicity, we showcase this for lattices in two dimensions:
-
1.
The first elementary cell that we add is not constrained by any neighbouring cells (Fig. 3A1). It is characterised by five points: A0, B0, C0, \(\rm{A}_{0}^{{\prime} }\), and \(\rm{B}_{0}^{{\prime} }\). In two dimensions, this yields ten parameters (two for each point). However, due to the beam/lever constraints, i.e. the constant lengths of the four beams, there are only six degrees of freedom (each length constraint reduces the degrees of freedom by one), and so we only require six parameters to fully describe the elementary cell.
Fig. 3: Parametrising Totimorphic lattices. A When connecting elementary cells to an existing lattice, overlapping elements are shared with already existing cells (shown in red). Thus, the number of degrees of freedom of the newly added cell is reduced. B Iterative construction of a lattice made of Totimorphic cells. C If all points except one in an elementary cell are predetermined (shown in blue), the remaining point is obtained from the beam and lever length constraints. This is illustrated here for the case where \(\rm{A}^{{\prime} }\) and C are given. Since \(\rm{P}^{{\prime} }\) is connected via a beam and lever to these points, it has to be a distance of \(\frac{1}{2}{l}_{b}\) away from both. The solution to this problem is given by the intersection points of two circles, or equivalently, by a quadratic equation. Two points \(\rm{P}^{{\prime} }\) and P″ satisfy the constraints of a Totimorphic lattice, however, the latter would reverse the order of \({{\rm{A}}}^{{\prime} }\) and \({{\rm{B}}}^{{\prime} }\) and is therefore not a valid physical solution.
-
2.
Adding another elementary cell above the first one, the points A1 and B1 are already determined, \(\rm{A}_{1}=\rm{A}_{0}^{{\prime} }\) and \(\rm{B}_{1}=\rm{B}_{0}^{{\prime} }\) (Fig. 3A2). Thus, we have six parameters (point C1, \(\rm{A}_{1}^{{\prime} }\) and \(\rm{B}_{1}^{{\prime} }\)), which leaves us with three degrees of freedom for this elementary cell when accounting for the three remaining length constraints (two levers and one beam). The same is true when adding an elementary cell below the first one.
-
3.
Adding another elementary cell to the right of the first one, both points A2 and \(\rm{A}_{2}^{{\prime} }\) are already determined, A2 = B0 and \(\rm{A}_{2}^{{\prime} }=\rm{B}_{0}^{{\prime} }\) (Fig. 3A3). Since all four length constraints (two levers and two beams) still have to be enforced, we are left with only two degrees of freedom in this case. The same is true when adding an elementary cell to the left of the first one.
-
4.
Adding an elementary cell above and to the right of two other cells, the points A3, B3 and \(\rm{A}_{3}^{{\prime} }\) are already determined, \(\rm{A}_{3}=\rm{B}_{0}^{{\prime} }\), \(\rm{B}_{3}=\rm{B}_{2}^{{\prime} }\), \(\rm{A}_{3}^{{\prime} }=\rm{B}_{1}^{{\prime} }\) (Fig. 3A4). Since three length constraints still have to be satisfied, we are left with only one degree of freedom (four from the remaining points minus the three length constraints). This is in general true when adding an elementary cell such that two of its adjacent sides are connected to other elementary cells.
Following the above logic, we find that for a lattice in two dimensions, the first placed elementary cell has six degrees of freedom, elementary cells to the left and right of the first one have two each, cells above and below have three each, and all other elementary cells have only one. For a lattice with C columns and R rows, this results in df2D = 2 + C + 2R + C ⋅ R degrees of freedom in total. Applying the same logic to a lattice in three dimensions yields eleven, five, six, and three degrees of freedom, respectively, or df3D = 3 + 2C + 3R + 3C ⋅ R in total.
Angle-based generalised coordinates
In this work, we parameterise all elementary cells using beam and lever angles and a vector indicating the location of the whole lattice in space. In addition, we construct a lattice by placing the bottom left elementary cell first and adding all other elementary cells row by row. We briefly illustrate this process in two dimensions
-
1.
As the first step, we place the bottom left corner elementary cell of the lattice, which has six degrees of freedom (Fig. 3B, box 1). The six parameters we choose to describe this elementary cell are the location of the lattice and the orientation of the bottom and top beams and levers.
-
2.
Then we add the first column, i.e. we stack up elementary cells on top of the first one (Fig. 3B, box 2). Each elementary cell in this column has three degrees of freedom. Here, we choose the orientation of bottom and top lever as well as the orientation of the upper beam as parameters.
-
3.
We then add the first row, i.e. we string together elementary cells to the right of the first one (Fig. 3B, box 3). These elementary cells only have two degrees of freedom, which we choose to be the orientation of the bottom beam and lever. In this case, the midpoint of the upper beam (\({{\rm{P}}}^{{\prime} }\)) is given by the (analytic) solution of a quadratic equation representing the beam/lever constraints (Fig. 3C).
-
4.
Then we fill in the remaining elementary cells row-wise from left to right (Fig. 3B, box 4). All these elementary cells have only one degree of freedom, which we choose to be represented by the orientation of the lower lever. The midpoint of the upper beam is again given by the solution of a quadratic equation.
For a detailed mathematical description, see the Methods section “Totimorphic lattices in two dimensions”. Although we parametrise the lattice using beam and lever angles here, many other parametrisations are possible. From the quadratic equations, we further derive upper and lower bounds for the lever angles, allowing levers to be pushed or dragged by other lattice elements. For lattices in two dimensions, additional conditions are derived to avoid configurations with overlapping lattice elements. Models of lattices in three dimensions are constructed analogously. For details, see the Methods section “Totimorphic lattices in three dimensions”.
Differentiable model of Totimorphic lattices
With this approach, a Totimorphic lattice is represented by a set of df parameters \({\mathcal{P}}\), \(| \,{\mathcal{P}}\,| =df\), which in our case is the location of the lattice’s bottom left corner in space as well as the angles of levers and beams in the lattice (φ, θ, and primed variants in Fig. 1A) – although some cells are constrained by neighbouring cells and therefore represented by fewer angles, as described in the previous section. From this set of parameters, there exists a differentiable function fT which maps to the points of each elementary cell in the lattice, \({\mathcal{R}}={f}_{{\rm{T}}}({\mathcal{P}})\), where \({\mathcal{R}}\) is a set of vectors containing the coordinates of each point in the lattice (beam and lever ends, i.e., points A, B, P, C, and primed variants). We call fT the Totimorphic model in the following. Invalid lattice configurations are given by values of the generalised coordinates \({\mathcal{P}}\) for which no solution of fT exists, which can be checked using simple criteria. Although this approach can be easily applied to any Totimorphic lattice—in fact, the calculations required to map from generalised coordinates to physical coordinates are always of the same type – we illustrate it for a specific tiling used in ref. 24 where the lattice is formed from hour-glass shaped cells (made from two Totimorphic unit cells), see Fig. 1A. We call these cells elementary cells in the remainder to distinguish them from unit cells. We derive generalised coordinates for this tiling both in two and three-dimensional space (see Methods).
To change the configuration of the lattice to one with some desired property (e.g. a desired stiffness), we minimise an objective-dependent cost function that measures how well the current configuration satisfies the desired property. In most cases, we express the cost function using the physical coordinates obtained from the Totimorphic model. What is actually being optimised, however, are the parameters \({\mathcal{P}}\) used to characterise the lattice. By tracking intermediate configurations, we obtain the trajectory through parameter space connecting the initial and the final lattice configuration. Each of these configurations is a valid Totimorphic lattice, meaning that the reconfiguration is achieved only through changes in the beam and lever angles (realised via joints), without ever deforming or damaging beams and levers.
In this work, we exclusively use automatic differentiation (i.e. gradient descent) as our optimisation algorithm of choice to guarantee scalability and continuously connected trajectories. In other terms: for real-world prototypes, the control of the actuators (rotation in the joints) is given by the negative gradient of the cost function.
First proof of concept: continuous inverse design of lattice structures
As a first proof of concept, we explore reconfigurable lattice structures (on the length scale of cm) with adjustable mechanical properties. We calculate the mechanical properties of a Totimorphic lattice by simulating a compression experiment using the direct stiffness method (see “Methodology for the first proof of concept: direct stiffness method” in Methods for details). In a compression experiment, the lattice is glued between surfaces and slowly compressed. During compression, the response of the lattice to this load is measured, for example, the displacement of nodes in the lattice – from which mechanical properties such as effective stiffness and Poisson’s ratio are derived. Here, we restrict the work to the effective Poisson’s ratio, which measures how a material expands on average horizontally when compressed vertically. A positive Poisson’s ratio (like honeycomb tiles) means the material widens, while a negative one means it narrows (also known as auxetic). A Poisson’s ratio of zero consequently means that the material does not change its width during compression (see the section “Poisson’s ratio” in Methods for details).
Direct stiffness method
For the direct stiffness approach, we only consider beam and lever elements in the lattice, as they are the major supporting elements of the lattice. We model these using Generalised Euler-Bernoulli beam elements27, described in the section “Generalised Euler-Bernoulli beam elements” in Methods. Furthermore, we assume that joints in the Totimorphic lattice are locked during the compression experiment, meaning that the parameters \({\mathcal{P}}\) are not changed while applying a load. To do a single step of the compression experiment, we first calculate the stiffness matrix from the lattice points \({\mathcal{R}}\). Using the stiffness matrix, we can then derive the displacement of each node in the lattice resulting from the compression by solving a linear equation. We repeat this process several times and note down the horizontal and vertical strain (mean length change). Finally, the Poisson’s ratio, which is defined as the slope of the strain-strain curve, is obtained via linear regression. This process can be formalised as a single differentiable function fDS which takes as input the physical lattice coordinates and returns the Poisson’s ratio \(\nu ={f}_{DS}({f}_{T}({\mathcal{P}}))\). The trajectory in parameter space (\(\frac{d}{dt}{\mathcal{P}}\)) to reconfigure the lattice until it has a desired target Poisson’s ratio νtgt is then obtained by descending the gradient of the cost function C,
where ∥⋅∥1 is the L1 norm. Further details about the mathematical formulation of the direct stiffness method and the Poisson’s ratio can be found in “Methodology for the first proof of concept: direct stiffness method”. The whole optimisation pipeline is illustrated in Fig. 4A.
A Schematic of the inverse design pipeline. Reconfiguration is driven by gradient descent on a cost function, realised using automatic differentiation (autograd). B During optimisation, we obtain a continuous trajectory through configuration space (here represented using the first principal component of the angles representing the lattice) connecting the initial configuration (ν = 0) and the two final configurations (ν = ± 0.5). Since beams and levers are never deformed during reconfiguration, the lattice passes through all intermediate Poisson’s ratios while morphing. C Illustration of the final design for ν = 0.5 (left) and ν = − 0.5 (right), shown without (left) and with load (right, red arrows).
Morphing between auxetic and non-auxetic configurations
We demonstrate this approach for a 4 × 4 Totimorphic lattice with beam length lb = 1 cm, beam cross-area A = 4 mm2, Young’s modulus of the beam material of E = 1 GPa (around the order of magnitude of polymers), and second moment of area \(I=\frac{{A}^{2}}{12}\) (representing a square-shaped cross-sectional area). The initial lattice has a Poisson’s ratio of approximately zero, which is not surprising as it resembles a square lattice. From this initial configuration, we perform gradient descent to get to a configuration with Poisson’s ratio νtgt = ± 0.5. This results in two trajectories starting from the initial configuration and ending at a configuration with the desired Poisson’s ratio, shown in Fig. 4B using the first principal component of the lattice parameters \({\mathcal{P}}\). The final lattice configurations and their response to applying load is shown in Fig. 4C. In case of the configuration with positive Poisson’s ratio (Fig. 4C, left), large pockets were formed that widen during compression. In case of negative Poisson’s ratio (Fig. 4C, right), the resulting lattice geometry is composed of square-shaped elements (one beam and two levers surrounded by springs) that pivot inwards when compressed from above. This effect is most pronounced in the lower half of the lattice structure. Similar designs were obtained for larger lattices, e.g., 8 × 8 trained to achieve even higher Poisson’s ratios (Fig. S1 in the Supplemental Information). It is worthy noticing that every intermediate configuration obtained during optimisation is a legitimate Totimorphic lattice, and hence we are capable of continuously adjusting the Poisson’s ratio by continuously changing the lattice angles. For an animation of the reconfiguration process and the compression experiment (after reconfiguration), see Movie S1a,b and Movie S2a,b. Interestingly, the final configurations are not perfectly symmetric. First of all, symmetry is not required to minimise the cost function, so slight asymmetries are not too surprising. However, asymmetries are further caused by (i) the setup of the Totimorphic lattice, where for instance the bottom left node is fixed in space, while the top right node is strongly constrained by the remaining lattice, and (ii) limited numerical precision in the forward calculation of lattice points. Further simulation details are in Methods, “Simulation details: inverse lattice design”.
Second proof of concept: deployable and reconfigurable large-scale structures
As a second proof of concept, we present a telescope mirror with reconfigurable surface shape, evaluated using ray-based optics simulations. We envision that the Totimorphic lattice (on the length scale of metres) acts as a skeleton for, e.g., a graphene sheet that forms the reflective surface of a primary mirror of a space telescope28, or as a reconfigurable support truss for antennas29,30. We assume a 6 × 6 Totimorphic lattice with lb = 1m in its flat surface configuration.
Mirror deployment
By only changing the lever angle of all elements in the lattice (i.e., setting them all to the same value), we can switch from the flat surface configuration to a collapsed one (and vice versa), greatly reducing the surface area and volume required to launch the Totimorphic structure (see Fig. 5). The reduction in surface area is given by \(\sin {\theta }_{\min }\), where \({\theta }_{\min }\) is the minimum angle the levers can be set to physically. Consequently, for launching, the lattice is configured in its collapsed configuration and for deployment, the lever angles are slowly increased to unfold the lattice into a flat surface.
Continuously adjusting the mirror’s focal point
After deployment, the lattice configuration is continuously adjustable to change the optical properties of its mirror surface. In our case, the goal is to focus the light onto a secondary optical element such as a detector or a secondary mirror located at point ftgt, which we call the target focal point in the following (Fig. 6A). We utilise a similar approach as for the material inverse design use-case, meaning that we construct a differentiable framework that allows us to find suitable lattice configurations (and trajectories connecting them) using gradient-based optimisation. First, for simplicity, we assume that each unit cell reflects light at the mid-point of the lever in simulations (i.e., the mid-point between C and P as well C and \(\rm{P}^{{\prime} }\), see Fig. 6A). In addition, we assume that the object to be imaged is far away such that the incoming light is parallel. Given an incidence direction I (∥I∥2 = 1, where ∥ ⋅ ∥2 is the Euclidean norm) of the incoming light, the direction of the reflected light originating from each unit cell (ij) is calculated using ray-based optics. Subsequently, we obtain the point where each reflected light ray is closest to the target focal point (see “Methodology for the second proof of concept: ray-based optics” in Methods for details). The whole calculation can again be formulated as a series of differentiable operations, which we summarise in two functions: the Totimorphic model (fT), and the optics part fO, such that \({\boldsymbol{F}}={f}_{O}({f}_{T}({\mathcal{P}}))\) is a list of vectors containing the closest point to ftgt on each reflected light ray.
A Schematic of the studied setup. Given an object to be imaged, the unit cells of the Totimorphic lattice are used as mirror elements to focus the light on an imaging plane. By changing the lattice configuration, the focal point and focal length are adjusted. B Reconfiguration of the lattice to several different focal lengths, starting from a flat configuration. A few parameters as well as the objective-dependent cost are shown. C Lattice configuration and images received when using the lattice as a mirror, for configurations featuring different focal lengths. Credit for image of Pluto: NASA/JHUAPL/SwRI.
To find a Totimorphic configuration that focuses the light in a desired target focal point ftgt, we again optimise the parameters characterising the Totimorphic lattice using gradient descent on a task-dependent cost function C,
During the optimisation process, we only present light coming from one direction (i.e., orthogonal to the initial lattice surface) which has to be focused into a single target point. In Fig. 6B and C, we show how the Totimorphic lattice transforms—starting from a flat surface—into curved surfaces that focus the light into a single point at decreasing focal lengths given in multiples of the mirror diameter D. Fig. 6B (bottom) shows the value of the cost function during deployment (from flat to a focal length of 20D, see Fig. S2 in the Supplemental Information for further illustration) and during reconfiguration to new targets, i.e., focal lengths of 16, 12, 8, 4, 2, and 1D. In all cases, we reach the same cost after reconfiguring the lattice, which means that the light reflected from all unit cells is focused with a similar precision in the target focal points. In Fig. 6B (top), a few lattice parameters are shown during the reconfiguration process, demonstrating that only minor continuous changes are required to achieve the desired result. The reconfiguration is further illustrated in Movie S3a and b.
As a proof of concept, we use the Totimorphic lattice to image a real object; specifically, a photograph of Pluto at the same distance and angular extension of the Moon (as seen from Earth), see Fig. 6A. To construct the image, we record where light coming from each pixel of the image hits the imaging plane after being reflected by the unit cells of the lattice – imitating the real process of image generation in a telescope (see “Imaging” in Methods for details). The resulting image closely resembles the original object, resolving small details such as contours of icy regions on Pluto (Fig. 6C). Moreover, as expected, decreasing the focal length of the Totimorphic mirror increases its field of view; enabling adaptive zoom-in and out by reconfiguring the lattice.
Although we only demonstrate reconfiguration for a few discrete focal lengths, in principle, the telescope can achieve a continuum of focal points by successively adjusting the target focal length. In addition, the telescope is not limited to focal points that are on the central axis of the telescope surface, as shown in Fig. 7A and B where we guide the focal point on a circle around this axis using the above gradient-based optimisation.
A The target focal point can be set off-centre, which is shown here by guiding the focal point of the telescope on a circle around the original focal point. B Selected angle parameters of the lattice as well as the cost during the circular guidance experiment depicted in (A). During optimisation, several discrete target focal points at different angles on the circle were used. C Damage on one of the mirror elements (here: top) adds a deflection to light reflected by this element, thus putting it out of focus. Through reconfiguration of the lattice, the added deflection can be compensated for. D Result for self-repairing a single defect, repeated several times (blue dots). In each repetition, the damaged unit cell and the strength of the damage were selected randomly.
Self-repair
The presented approach also allows to use reconfiguration of the lattice surface to compensate for defects introduced by mirror damage, e.g., through micrometeoroids31. We illustrate this by adding a single defect to one of the lattice’s unit cells (selected randomly), which is modelled by adding a deflection (randomly determined but static) to the light rays reflected from this cell (Fig. 7C; see “Damaging mirror elements” in Methods for details). As before, we perform gradient descent on the respective cost function to find a lattice configuration that compensates for this defect (Fig. 7C and D). This is studied for increasing degrees of damage, i.e., for increasing amounts of deflection. For all cases, the reconfiguration improves the performance of the mirror – although for more extreme damage, we are not able to return to the baseline performance from before the damage occurs. This is mainly because correcting for the damage requires an asymmetric configuration in the lattice, which is only possible to a limited degree before interfering with the focus capability of other (undamaged) unit cells. But still, for smaller amounts of damage, reconfiguration allows a return to baseline performance. In a realistic scenario, this could be realised in a “lattice-in-the-loop” setting, meaning that we use the actual lattice to collect where light from each unit cell hits the imaging plane, and then use the measurements in the backward pass (i.e., the computational graph used to calculate gradients for the parameters from the cost function) to get the required parameter changes of the physical mirror. Or put simply: using the simulation model as a proxy for the error calculation and replacing predicted values—the distances to the focal point—with real measurements. The same approach can be applied for other damage types as well, such as damaged actuators which would be modelled by keeping the corresponding generalised coordinate fixed or by adding strong penalty terms to the cost function. Further simulation details are in Methods, “Simulation details: Totimorphic telescope”.
Discussion
We introduced a differentiable parametrisation of Totimorphic lattices in two and three dimensions that enables constraint-free, gradient-based reconfiguration. Unlike most previously proposed reprogrammable systems8,9, Totimorphic lattices can vary their effective properties continuously through geometry alone. Furthermore, by absorbing constraints into generalised coordinates, smooth trajectories can be generated using gradient descent instead of only final states. The method is simple to implement, compatible with modern automatic differentiation frameworks, and scalable to complex objectives, including cost functions that contain differentiable surrogate models for property prediction such as deep neural networks.
In our first application, we showed that a Totimorphic lattice can be reconfigured to continuously shift its Poisson’s ratio between negative and positive values. This was illustrated for two-dimensional truss lattices. Extending this principle to three-dimensional materials would require designing volume-filling Totimorphic tilings and employing 3D stiffness methods, but the underlying approach remains the same. In our second application, we explored Totimorphic lattices as the backbone for autonomously deployable and reconfigurable large-scale space infrastructure, focusing on a primary telescope mirror. A key criterion for the operability of such a mirror is how accurately it focuses the reflected light, as this directly limits the attainable resolution when imaging objects. For objects at far larger distances, e.g., with angular sizes similar to Jupiter, we can already see that the magnification of our design does not yet achieve sharp imaging – although rough details are still recognisable (see Fig. S3 in the Supplemental Information). This can be improved by further increasing the focal length. An approach that is often used in modern telescopes is to guide the light through a hierarchy of mirrors, e.g., by adding a secondary or even tertiary mirror before projecting the light onto a sensor. In our case, those mirrors would be Totimorphic as well. Due to the differentiability of the whole process, our framework can be used to (re)configure all mirrors simultaneously. This way, subsequent mirrors can even compensate for distortions introduced by previous (or later) mirrors. In addition, the focusing of a mirror based on a Totimorphic lattice can be improved by reducing the size of unit cells. The effect of miniaturisation on focal length and the physical properties of the Totimorphic cells must be quantified to mature this concept.
Our current models also highlight methodological challenges. For the model in two dimensions, we formulated simple rules for detecting when lattice elements collide during reconfiguration. In contrast, we did not employ any collision detection methods for the three-dimensional model, restricting our experiments to cases where strong folding of the lattice surface does not occur. In future work, approaches used to simulate textiles32 could be employed to detect self-collisions in Totimorphic structures. Apart from simply detecting whether the structure collides with itself, it is even more important to deal with self-collisions and invalid lattice configurations during the optimisation process. A default method for dealing with collisions in, e.g., simulations of swarming robots33 or textile simulations32 is to add strong repulsive forces that only act between elements at very low distances – also known as barrier functions. Adopting such an approach for Totimorphic structures is certainly feasible, but might be problematic due to the rigid and discontinuous nature of lattices. Furthermore, this method only helps in dealing with self-collisions and increases the computational cost of simulations substantially. Alternatively, one could truncate parameter updates during optimisation such that general invalid lattice configurations are avoided (as proposed in ref. 34)—although the optimisation process can get stuck trying to pass through invalid configurations, requiring either stochasticity to escape such local minima of the cost function or intermixing with optimisers that allow discontinuous changes of the lattice configuration. In the presented experiments, we only checked whether the lattice is still valid after each update and stopped in case the lattice broke, which mostly occurred when attempting to reach too extreme mechanical properties.
Model-wise, instead of reparametrising the lattice, a variety of other techniques can be applied as well35. As an example, for gradient-based optimisation the penalty method can be used where the beam and lever length and angle constraints are added as a penalty terms in the cost function to be reinforced. However, it comes with the downside that the constraints are not perfectly satisfied during optimisation (hence we do not obtain trajectories), and in practice it can be non-trivial to avoid becoming stuck in local minima when trying to balance the penalty and the objective-dependent terms in the cost function. Another alternative is the method of Lagrange multipliers, but it does not work with gradient descent, requiring more involved solvers capable of finding saddle points of the cost function. An extension of the Lagrange multiplier method, called basic differential multiplier method35, which is compatible with gradient descent can be used instead, although—as in the case of the penalty method—constraints are not satisfied throughout the whole optimisation process. Apart from methods using gradient descent, more advanced approaches that divide the problem into simpler sub-problems can be used, such as sequential quadratic programming36, although these are also not guaranteed to produce continuous trajectories.
On the theory side, it is an open question whether there exists always a continuous trajectory connecting two valid Totimorphic configurations. This is particularly important when utilising optimisation methods that – different to gradient descent – facilitate a global exploration of the configuration space, such as evolutionary strategies, to avoid selecting solutions that are not reachable from the initial lattice configuration. On the practical side, developing an actual prototype of a Totimorphic structure will require assessing the abstractions assumed in our model. For instance, in simulations we assume that the beams and levers are perfectly rigid. In reality, deformations in the structure from external or internal forces will produce bending in the beams, destabilising the internal spring forces. Similarly, the zero-length property of the springs will likely not hold for a real structure. While it is possible to create springs that approximate the property for a range of lengths, at small or large extensions the zero-length property will likely not persist. Moreover, when in the zero-stiffness state, the Totimorphic structure should require no work to move between configurations, but practically there will be friction and jamming in the joints of the structure, which requires work from actuators to overcome. Independent of the application, minimising the number of actuators required to operate a spacecraft is quite critical, as each actuator represents a mode of failure that might compromise the spacecraft. Vacuum-exposed mechanisms and actuators are also at risk of cold welding and are difficult to lubricate. Since the number of actuators required to control a Totimorphic lattice scales linearly with the number of unit cells, it will be critical to investigate whether it is possible to reduce the number of actuators and optimise the operations required to morph between given configurations. The specifics of transforming 1D springs, Euler beams and frictionless joints into a manufacturable model is beyond the scope of this paper, but it will be necessary to make decisions that balance the requirements with suitability for space on various aspects like material choices, beam/lever aspect ratios, joint types, and actuation methods. In future studies, the presented model should be extended to include such effects to reduce the gap between theory and practice.
Despite these challenges, Totimorphic lattices have a number of advantages for use in the space environment. Deployable, reconfigurable, low-density structures are highly desirable for the strict mass and energy requirements of most space missions. We suggest that Totimorphic structures potentially fill a functional gap between non-rigid deployables like fabrics and inflatables, and rigid materials like origami structures, being able to carry tensile and compressive loads while also being flexible and capable of supporting surfaces without requiring pressurisation. Unlike either inflatable or origami structures, Totimorphic lattices are highly reconfigurable and could fulfil many different functions during a single deployment. In particular, Totimorphic structures may be compatible with a variety of additional space infrastructure use-cases such as space antennas and solar sails.
To conclude, Totimorphic structures represent an intriguing class of mechanically reprogrammable systems, featuring continuously adjustable effective physical properties through simple mechanical and reversible actuations. Especially since our framework is light-weight and flexible regarding the cost function, it can be implemented on edge devices to allow autonomous and lattice-aware control of the actuators, e.g., using a deep neural network to estimate effective properties of the Totimorphic structure from the state of its actuators (the generalised coordinates). Thus, we are confident that the introduced concept can be scaled up to real-world, large-scale prototypes capable of autonomously and continuously adapting their lattice configuration to achieve a specified objective.
Methods
In the following, we describe the mathematical models referenced in the main text, including mathematical proofs. These are just one particular realisation of an analytical Totimorphic model, and the introduced framework can be extended to other Totimorphic structures in a straightforward way. Implementations of the models in Python are available on Github 26. Simulation details are provided at the end of this section.
Notation
We first introduce the notation used in the following sections. Polar vectors are denoted by:
For proofs, we will be using the identity:
We also introduce theoperator \(E(\cdot ):{{\rm{{\mathbb{R}}}}}^{2}\to {\rm{{\mathbb{R}}}}\) that returns the angles α required to represent a vector r in polar coordinates, given by:
Rotation matrices in three-dimensional Euclidean space are given by:
Similarly, we denote the standard polar vector in three dimensions by:
To gain the angles for representing a general vector r in these coordinates, we introduce \(\Xi (\cdot ):{{\rm{{\mathbb{R}}}}}^{3}\to {{\rm{{\mathbb{R}}}}}^{2}\) given by:
We further use the following polar representation:
with
To gain the angles for representing a general vector r in these coordinates, we introduce \({\mathcal{E}}(\cdot ):{{\rm{{\mathbb{R}}}}}^{3}\to {{\rm{{\mathbb{R}}}}}^{2}\) given by:
For proofs, the following identity is used:
Totimorphic lattices in two dimensions
In the following, we drop the index ij (cell at row i and column j) for clarity. However, all vectors are always given per elementary cell (see main text). An elementary cell is constructed from two unit cells which are connected at their levers. An elementary cell in the Totimorphic lattice is parameterised by \(({\boldsymbol{o}},\varphi ,\theta ,{\varphi }^{{\prime} },{\theta }^{{\prime} })\), where o is the location of point A, φ is the angle with the x-axis of the lower beam, and θ is the angle of the lower lever with respect to the lower beam. Primed variables represent the same quantities, but for the upper half of the elementary cell (i.e., the upper beam and lever).
The points of the lower unit cell are given by:
The points of the upper unit cell are given by:
For the upper triangle, we recover \({\varphi }^{{\prime} }\) via
and \({\theta }^{{\prime} }\) through
with \({\varphi }^{{\prime} }\) given by Eq. (25).
To check for overlapping springs in the elementary cell, representing a state in which the cell physically breaks, we introduce the following angles per elementary cell:
αL is the angle of the bottom left spring (connecting points A and C) with the x-axis, while αR is the angle of the bottom right spring (connecting points B and C). Primed angles indicate the same for the top unit cell. Angles are measured with respect to the x-axis going through point C, hence in the flat configuration, top angles are negative and bottom angles are positive.
Connecting elementary cells in two dimensions
The first elementary cell (i = 0, j = 0) can be constructed freely, as there are no other cells to connect it to. Adding more unit cells horizontally (i = 0, j > 0) is done iteratively as follows. First, we enforce the constraint of connecting the two elementary cells:
Then we have to obtain the point \(\rm{P}^{\prime}\) of our new elementary cell, which has to satisfy the beam and lever constraints. In the following, all points are in the same elementary cell (0j), and thus we drop the indices for convenience. The condition for the existence of \({{\boldsymbol{r}}}^{{{\rm{P}}}^{{\prime} }}\) is that lever and beam with fixed length have to connect to it from point \({\rm{A}}^{\prime}\) (given by the first elementary cell) and point C:
Introducing \({{\boldsymbol{s}}}^{-}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}-{{\boldsymbol{r}}}^{{\rm{C}}}\), \({{\boldsymbol{s}}}^{+}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{{\prime} }}}+{{\boldsymbol{r}}}^{{\rm{C}}}\) and \(\delta =\frac{1}{2}(\parallel {{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}{\parallel }^{2}-\parallel {{\boldsymbol{r}}}^{{\rm{C}}}{\parallel }^{2})\), we get
Proof: derivation of expression for \({{\rm{P}}}^{{\prime} }\)
In the following, we do not write the indices ij explicitly to simplify the notation.
First, we start from the condition that \({{\rm{P}}}^{{\prime} }\) has to be chosen such that the resulting beam (connecting \({{\rm{A}}}^{{\prime} }\) and \({{\rm{P}}}^{{\prime} }\)) and lever (connecting C and \({{\rm{P}}}^{{\prime} }\)) have the desired length:
Expanding both expressions, subtracting Eq. (40) from Eq. (39) and dividing the resulting equation by 2, we obtain:
Using the notation \({{\boldsymbol{s}}}^{-}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}-{{\boldsymbol{r}}}^{{\rm{C}}}\), \({{\boldsymbol{s}}}^{+}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}+{{\boldsymbol{r}}}^{{\rm{C}}}\) and \(\delta =\frac{1}{2}(\parallel {{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}{\parallel }^{2}-\parallel {{\boldsymbol{r}}}^{{\rm{C}}}{\parallel }^{2})\) this yields Eq. (37). To obtain Eq. (38), we first insert Eq. (37) into Eq. (40) and rewrite it to match the form of a quadratic equation:
Writing out all terms in the numerator of p (denoted by pn), it can be simplified to
Using the two identities:
we arrive at
and thus
For q, we first note (using binomial formulas) that
Using \({\delta }^{2}-2\delta {r}_{x}^{{\rm{C}}}{s}_{x}^{-}+{({r}_{x}^{{\rm{C}}}{s}_{x}^{-})}^{2}={(\delta -{r}_{x}^{{\rm{C}}}{s}_{x}^{-})}^{2}\) as well as \({(\frac{p}{2})}^{2}=\frac{1}{4}{({r}_{y}^{{{\rm{A}}}^{{\prime} }}+{r}_{y}^{{\rm{C}}})}^{2}[{({r}_{x}^{{{\rm{A}}}^{{\prime} }}-{r}_{x}^{{\rm{C}}})}^{2}+{({r}_{y}^{{{\rm{A}}}^{{\prime} }}-{r}_{y}^{{\rm{C}}})}^{2}]\), we can then calculate the remaining term \({(\frac{p}{2})}^{2}-q\) required for solving Eq. (42). First. we only look at all terms in \({(\frac{p}{2})}^{2}-q\) not containing lb. The numerator of this term is given by:
The terms containing lb simplify to \(\frac{{l}_{b}^{2}{({s}_{x}^{-})}^{2}}{4\parallel {{\boldsymbol{s}}}^{-}{\parallel }^{2}}\). Using the previous results, we arrive at:
Finally, putting everything together, we can solve Eq. (42) using the p-q formula and by inputting the results for p and \({(\frac{p}{2})}^{2}-q\):
\(\frac{1}{2}{{\boldsymbol{s}}}^{+}\) is the mid-point of the spring connecting point C and \({\rm{A}}^{\prime}\). Hence, \({s}_{y}^{+}\) is its y coordinate (or height). If point \({\rm{A}}^{\prime}\) is left of point C, as e.g. in the initial flat configuration, point \({\rm{P}}^{\prime}\) has to be above this spring; meaning that its y coordinate has to be larger than \({s}_{y}^{+}\). Since \({s}_{x}^{-}\) is negative in this scenario, the minus sign has to be chosen to get the correct solution. Similarly, if we pivot the unit cell such that \({s}_{x}^{-}=0\), i.e., \(\rm{A}^{\prime}\) and C lie above each other, we have that \({r}_{y}^{{{\rm{P}}}^{{\prime} }}=\frac{1}{2}{s}_{y}^{+}\). Pivoting further, \({\rm{P}}^{\prime}\) is situated below the spring (although it never swapped sides), as given by Eq. (38). Thus, when starting from the flat hour-glass motive, we have to choose the negative sign to get the correct solution for \({\rm{P}^{\prime}}\).
Conditions for intact elementary cells in two dimensions
The criteria for being intact are the same for every unit cell (ij), therefore indices are dropped again in the following to ease notation. An elementary cell is considered intact if the following conditions are met:
The first condition means that springs cannot be stretched further than the beam length (for a solution of \({{\boldsymbol{r}}}^{{{\rm{P}}}^{{\prime} }}\) to exist, Eq. (38) has to be a real number, meaning that the argument of the square root has to be larger or equal to zero. This immediately yields Eq. (55)). The second (third) conditions check whether the left (right) bottom and top springs cross.
To avoid overstretched springs, we correct θ by constraining its range. The limits of this interval are obtained by the criterion for the existence of real-valued solutions of Eq. (38) (the term below the root has to be ≥ 0):
with \({\boldsymbol{k}}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}-{{\boldsymbol{r}}}^{{\rm{A}}}-\frac{{l}_{{\rm{b}}}}{2}{{\boldsymbol{e}}}^{\varphi }\), \(\Phi =E({\boldsymbol{k}})\), \({\varDelta} ={\varPhi}-{\varphi}\), and \(C=\frac{\parallel {\boldsymbol{k}}\parallel }{{l}_{b}}-\frac{3}{4}\frac{{l}_{b}}{\parallel {\boldsymbol{k}}\parallel }\).
If the interval for θ is empty, it is impossible to add a new elementary cell without changing the configuration of previous cells in the structure. These conditions are checked for each unit cell separately while constructing it.
Proof: deriving allowed range of θ
First, we write out rC in s−:
with \({\boldsymbol{k}}={{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}-{{\boldsymbol{r}}}^{\rm{A}}-\frac{{l}_{{\rm{b}}}}{2}{{\boldsymbol{e}}}^{\varphi }\). This way, we split up s− into two terms – one depending on θ, and one that is independent of θ, summarising the geometric constraints introduced by the previous unit cell. By representing k in polar coordinates, we arrive at
with \(\Phi =E({\boldsymbol{k}})\), which simplifies the following derivation of the range of θ. To guarantee that a solution for point \(\rm{P}^{{\prime} }\) exists, Eq. (55) has to be fulfilled. By squaring Eq. (55) and using Eq. (62), we get
where we used Eq. (6) and introduced \({\varDelta} = {\varPhi} - {\varphi}\), and \(C=\frac{\parallel {\boldsymbol{k}}\parallel }{{l}_{{\rm{b}}}}-\frac{3}{4}\frac{{l}_{{\rm{b}}}}{\parallel {\boldsymbol{k}}\parallel }\). From this, we can invert the cosine function to get
from which we get the upper (choosing −) and lower (choosing +) bound of θ shown in Eq. (58).
Building a two-dimensional Totimorphic structure
For i > 0 and j = 0, one sets \(\varphi_{i0} ={\varphi }^{{\prime} }_{i-1,0}\), \({{\boldsymbol{r}}}_{i,0}^{{\rm{A}}}={{\boldsymbol{r}}}_{i-1,0}^{{{\rm{A}}}^{{\prime} }}\), and calculates all points as for the first elementary cell (i = 0, j = 0). In all remaining cases, we set \(\varphi_{ij} ={\varphi }^{{\prime} }_{i-1,j}\), \({{\boldsymbol{r}}}_{i,j}^{{\rm{A}}}={{\boldsymbol{r}}}_{i,j-1}^{{\rm{B}}}\), \({{\boldsymbol{r}}}_{ij}^{{{\rm{A}}}^{{\prime} }}={{\boldsymbol{r}}}_{i,j-1}^{{{\rm{B}}}^{{\prime} }}\), and calculate the remaining points by solving for \(\rm{P}^{{\prime} }\).
Depending on where in the lattice an elementary cell is positioned, it is characterised by the following parameters:
-
1.
i = 0, j = 0: \(({{\boldsymbol{o}}}_{00},\varphi_{00} ,\theta_{00} ,{\varphi }^{{\prime} }_{00},{\theta }^{{\prime} }_{00})\),
-
2.
i = 0, j > 0: (\(\varphi_{0j}\), \(\theta_{0j}\)),
-
3.
i > 0, j = 0: \((\theta_{i0} ,{\varphi }^{{\prime} }_{i0},{\theta }^{{\prime} }_{i0})\),
-
4.
else: (\(\theta_{ij}\)).
To initialise the lattice as a flat surface, beam angles \({\varphi}_{ij}\) and \({\varphi }^{{\prime} }_{ij}\) have to be set to 0 and lever angles \(\theta_{ij}\) and \({\theta }^{{\prime} }_{ij}\) to \(\frac{\pi }{2}\,\,\forall i,j\).
Totimorphic lattices in three dimensions
As in the two-dimensional case, each elementary cell is characterised by the angles of the beams and levers, \(({\boldsymbol{o}},{\varphi }_{y},{\varphi }_{z},{\theta }_{x},{\theta }_{z},{\varphi }_{y}^{{\prime} },{\varphi }_{z}^{{\prime} },{\theta }_{x}^{{\prime} },{\theta }_{z}^{{\prime} })\).
The points of the lower unit cell are given by:
Here, the beam is described by its rotation in the x–y plane (given by φz, which corresponds to φ in the two-dimensional case) and a rotation in x–z plane (a tilting of the unit cell given by φy). The orientation of the lever is obtained by a sequence of rotations: first, we rotate the x-direction unit vector 1x by θz (in the two-dimensional case, we called this θ), then tilt it in the y-z plane by θx, and then apply the same transformation (two rotations) used to gain the beam vector from the unit vector. We choose this parametrisation so that the angles of the lever are again defined with respect to the orientation of the beam, as in the two-dimensional case.
The points of the upper unit cell are defined similarly:
Connecting elementary cells in three dimensions
Again, the first elementary cell (i = 0, j = 0) is unconstrained and can be constructed freely. Without loss of generality, we initialise lattices lying in the x–z plane. Adding more unit cells horizontally (i = 0, j > 0) is done iteratively as follows. First, we enforce the constraint of connecting the two elementary cells:
In the following, all points are in the same elementary cell (0j), and thus we drop the indices for convenience. As in the two-dimensional case, we look again for a consistent solution for \({{\boldsymbol{r}}}^{{{\rm{P}}}^{{\prime} }}\). The vector representing the upper beam is given by lb ⋅ ξϕ,Θ (the traditional angles are recovered via \(({\varphi }_{y},{\varphi }_{z})={\mathcal{E}}({{\boldsymbol{\xi }}}^{\phi ,\Theta })\). The lever is then given by the vector
For \({\rm{P}}^{\prime}\) to exist, the lever has to have the correct length:
From this, we obtain a solution for \(\phi\) and \(\varTheta\), with \(\phi\) being completely determined by \(\varTheta\). Additionally, as in the two-dimensional case, we gain valid intervals for both \(\varTheta\) as well as \(\theta_z\).
The remaining points are then given by:
Proof: deriving expressions for ϕ and Θ
Expanding Eq. (79), we get
Writing s− in spherical coordinates with \((\alpha ,\beta )=\Xi ({{\boldsymbol{s}}}^{-})\), this becomes
or, using Eq. (16),
from which we get the solution for \(\phi\) depending on \(\varTheta\):
The arccos can have two signs, so as in the two-dimensional case, two solutions exist. We found that when starting with the flat surface configuration, a minus sign has to be chosen. However, different from the two-dimensional case, the alternative solution (+ instead of −) also represents a valid Totimorphic configuration, although the two obtained configurations are far apart. In the case \(\sin \beta =0\), \(\phi\) can be freely chosen and \(\varTheta\) has a unique solution \(\Theta =\arccos \left(-\frac{\parallel {{\boldsymbol{s}}}^{-}\parallel }{{l}_{{\rm{b}}}\cos \beta }\right)\). In this case, the spring vector s− is parallel to the z-axis. Any solution given by \(\varTheta\) will now form a triangle, from \({{\rm{A}}}^{{\prime} }\) to \({{\rm{P}}}^{{\prime} }\), from \({{\rm{P}}}^{{\prime} }\) to C, and from C back to \({{\rm{A}}}^{{\prime} }\) (which is parallel to the z-axis). Changing ϕ will now rotate this triangle around the z-axis without distorting it, hence there is an infinite amount of valid configurations that lie on a circle around the z-axis.
If \(\sin \beta \ne 0\) (i.e., β ≠ 0, which is almost always the case as β = 0 is a singular point), \({\mathcal{C}}\) has to be in the allowed range of \(\arccos\):
Note that in spherical coordinates, β ∈ [0, π], and hence we always have \(\sin \beta \ge 0\) (and similarly \(\sin \Theta \ge 0\)). From \({\mathcal{C}}\ge -1\), we get
and, by using \(\sin (2\pi -\beta )=-\sin \beta\), \(\cos (2\pi -\beta )=\cos \beta\), and \(\cos (2\pi -\beta )\cos \Theta +\sin (2\pi -\beta )\sin \Theta =\cos (2\pi -\beta -\Theta )\),
which yields
This range is valid when \({\mathcal{C}}\le 0\). If \({\mathcal{C}}\ge 0\), we have to guarantee that \({\mathcal{C}}\le 1\), which results in
Proof: deriving allowed range of θ z
Finally, we can calculate an allowed range for θz (as in the 2D case). This can be derived by requiring that the \(\arccos\) in Eq. (89) and (90) has a valid solution, i.e.,
First, we rewrite s− by expanding it:
To isolate θz, we rotate s− by Rx(− θx)Rz(− φz)Ry(− φy), which gives us
with \({\boldsymbol{k}}={R}_{x}(-{\theta }_{x}){R}_{z}(-{\varphi }_{z}){R}_{y}(-{\varphi }_{y})\cdot ({{\boldsymbol{r}}}^{{{\rm{A}}}^{{\prime} }}-{{\boldsymbol{r}}}^{{\rm{P}}})\). Since rotations leave the length of a vector unchanged, we can thus rewrite condition Eq. (91) as
We solve this the same way as in Eq. (58), resulting in
with \(({\theta }_{k},{\phi }_{k})=\Xi ({\boldsymbol{k}})\). Using \({{\boldsymbol{\xi }}}^{{\theta }_{k},{\phi }_{k}}\cdot {{\boldsymbol{\xi }}}^{{\theta }_{z},\frac{\pi }{2}}=\sin {\phi }_{k}\cdot \cos ({\theta }_{k}-{\theta }_{z})\), we get
from which the final interval is derived
Building a three-dimensional Totimorphic structure
For i > 0 and j = 0, one sets \({\varphi }_{z;{i}{0}}={{\varphi }^{{\prime}}}_{z;{i-1},{0}}\), \({\varphi }_{y;i0}={{\varphi }^{{\prime} }}_{y;i-1,0}\), \({\boldsymbol{r}}_{i,0}^{\rm{A}}={{\boldsymbol{r}}}_{i-1,0}^{{\rm{A}}^{\prime}}\), and calculates all points as for the first unit cell (i = 0, j = 0). In all remaining cases, we set \({\varphi }_{z;i0}={{\varphi }^{{\prime} }}_{z;i-1,0}\), \({\varphi }_{y;i0}={{\varphi }^{{\prime} }}_{y;i-1,0}\), \({{\boldsymbol{r}}}_{i,j}^{{\rm{A}}}={{\boldsymbol{r}}}_{i,j-1}^{{\rm{B}}}\), \({{\boldsymbol{r}}}_{ij}^{{{\rm{A}}}^{{\prime} }}={{\boldsymbol{r}}}_{i,j-1}^{{{\rm{B}}}^{{\prime} }}\), and calculate the remaining points by solving for ϕ and Θ.
Depending on where in the lattice an elementary cell is positioned, it is characterised by the following parameters (we drop indices here for clarity, but all parameters are different):
-
1.
i = 0, j = 0: \(({\boldsymbol{o}},{\varphi }_{y},{\varphi }_{z},{\theta }_{x},{\theta }_{z},{\varphi }_{y}^{{\prime} },{\varphi }_{z}^{{\prime} },{\theta }_{x}^{{\prime} },{\theta }_{z}^{{\prime} })\)
-
2.
i = 0, j > 0: (φy, φz, θx, θz, Θ)
-
3.
i > 0, j = 0:\(({\theta }_{x},{\theta }_{z},{\varphi }_{y}^{{\prime} },{\varphi }_{z}^{{\prime} },{\theta }_{x}^{{\prime} },{\theta }_{z}^{{\prime} })\)
-
4.
else: (θx, θz, Θ)
To initialise the lattice as a flat surface in x–z plane, beam angles φz;ij and \({{\varphi }^{{\prime} }}_{z;ij}\) have to be set to \(\frac{\pi }{2}\) and all remaining angles to 0.
Methodology for the first proof of concept: direct stiffness method
The fundamental building block of the direct stiffness method is rod or beam-like elements characterised by the coordinates of its two ending points \(i,j\in {\rm{{\mathbb{N}}}}\), i.e., (xi, yi) and (xj, yj). Applying forces (Fi, Fj) to the two ending points of the element results in a deformation of the element; or more specifically, a displacement of the ending points (ui, uj), which is calculated from the stiffness equation (a generalisation of Hook’s law):
with Kij being the stiffness matrix, and \({{\boldsymbol{u}}}_{i}=({u}_{i}^{x},{u}_{i}^{y},{u}_{i}^{\varphi })\) being the resulting displacements due to external forces and moments \({{\boldsymbol{F}}}_{i}=({F}_{i}^{x},{F}_{i}^{y},{M}_{i}^{\varphi })\). φ characterises the resulting bending of beam elements. Thus, the updated equilibrium state of the beam after applying forces is given by \(({x}_{i}+{u}_{i}^{x},{y}_{i}+{u}_{i}^{y})\) and \(({x}_{j}+{u}_{j}^{x},{y}_{j}+{u}_{j}^{y})\). Repeating this process by recalculating the stiffness matrix using the updated coordinates and solving Eq. (98) anew, deformations due to larger forces can be obtained.
Generalised Euler-Bernoulli beam elements
In this work, we use generalised Euler-Bernoulli beam elements to model the beams and levers in a Totimorphic lattice. The stiffness matrix Kij of the generalised beam element is obtained by combining the stiffness matrices of rod elements, i.e., elements that behave like springs,
and Euler-Bernoulli beam elements that model bending27
resulting in
Here, Lij is the length of the beam, and sij and cij are the sine and cosine of the angle ϑij of the beam with respect to the x-axis:
Eij, Aij, and Iij are the elements Young’s modulus, cross-sectional area, and second moment of area, respectively. For simplicity, we choose a uniform lattice with Eij = E, Iij = I, and Aij = A.
Compression experiment
The global stiffness matrix G of a whole lattice structure is obtained by adding up the stiffness matrices of the individual beams and levers accordingly. The stiffness equation for the whole structure then takes the same form as the one for individual elements, but it contains all lattice point coordinates (ending points of Totimorphic beams or levers, i.e., points A, \(\rm{A}^{\prime}\), B, \(\rm{B}^{\prime}\), P, \(\rm{P}^{\prime}\),C and of each elementary cell):
To implement the compression experiment, we first set the displacement of points that are part of the top surface of the lattice to a small non-zero value. As boundary conditions, we set the displacement of all points in the bottom surface to zero (otherwise, the lattice would start moving downwards). Using Eq. (105) (i.e. matrix multiplication), we calculate the resulting forces for all other points due to these forced displacements—from which we subsequently calculate the resulting displacements of all remaining points in the lattice that are not part of the top or bottom surface by solving a system of linear equations. We repeat this process several times (with updated global stiffness matrix G) to obtain macroscopic deformations. For a detailed description, see ref. 20.
Poisson’s ratio
Assume we do k iterations in the compression experiment, i.e., we solve Eq. (105) k times in sequence, and in each iteration we displace the top lattice points by ϵk. After each iteration, we collect the displacement in x-direction of the outer left and outer right points of the lattice, calculate the mean displacement over these points, and then obtain the average change in width of the lattice by taking the difference:
where \({\mathcal{L}}{\mathcal{S}}\) (\({\mathcal{R}}{\mathcal{S}}\)) is a set containing the indices of the points on the left (right) surface of the lattice. The outer points are given(left side) by points A’ and \({{\rm{A}}}^{{\prime} }\) of the first (i.e. outer left) column of elementary cells in the lattice, and (right side) by the points B and \({{\rm{B}}}^{{\prime} }\) of the last column (i.e. outer right) of elementary cells. \(| {\mathcal{R}}{\mathcal{S}}|\) denotes the number of elements in \({\mathcal{R}}{\mathcal{S}}\). The Poisson’s ratio is obtained using linear regression
The deformation in vertical direction is imposed on the top points, i.e., \({{\rm{A}}}^{{\prime} }\) and \({{\rm{B}}}^{{\prime} }\) of all elementary cells in the top roow, while the bottom points (A and B of all elementary cells in the bottom row) are kept static.
Alternative ways of calculating the Poisson ratio are possible, e.g., by imposing target displacements for the outer nodes in the cost function (e.g., no displacement to reach a Poisson ratio of 0, as done in ref. 20, Fig. 6C). Furthermore, to enforce symmetric behaviour during compression, additional terms can be added to the cost function that punish asymmetric deformations under load.
Methodology for the second proof of concept: ray-based optics
In the telescope mirror application, for simplicity, we only simulate light rays getting reflected at the mid-point (i.e. the mid-point of the lever) of each unit cell. Thus, each unit cell acts as a tiny mirror reflecting a single beam of light. We assume light coming from a source that is far away, such that the light rays hitting the different mirror elements are parallel to each other.
Reflections
To calculate the light reflection, we have to know the orientation of the surface of reflection, which is given by the normal vector of each unit cell. For a single elementary cell, the normal vectors of its two unit cells are
where ∥ ⋅ ∥2 is the Euclidean norm, × the vector cross product, and the primed vector denotes the top unit cell. The mid-points of the levers where the light is reflected are
Given a light ray with incidence direction I (∥I∥2 = 1), the directions of the reflected light lij coming from elementary cell (ij) are given by
where ⋅ is the vector dot product.
Smallest distance to the target focal point
Given a target focal point ftgt, we calculate the closest point cij (\({{\boldsymbol{c}}}_{ij}^{{\prime} }\)) along the reflected ray to it as follows:
We then calculate the following cost function
and optimise the Totimorphic lattice by updating its parameters via gradient descent, \(-{\nabla }_{{\mathcal{P}}}C({\mathcal{P}},{{\boldsymbol{f}}}^{{\rm{t}}{\rm{g}}{\rm{t}}})\).
Damaging mirror elements
To emulate a damaged mirror element, we add a random perturbation to the direction of the reflected light. For instance, assuming the bottom unit cell of element (ij) was damaged, we first sample a random deflection \({{\boldsymbol{l}}}_{\sigma } \sim {\mathcal{N}}(0,{\sigma }^{2})\) from a Gaussian distribution (with mean 0 and variance σ2) and always add it to the reflected light direction:
For a single experiment, lσ is only sampled once and kept constant afterwards
Imaging
For imaging, we assume a picture of Pluto with the same diameter and distance as the Moon (radius of rm ≈ 1700 ⋅ 103 m and angular radius of ϕm ≈ 0.25∘) has been placed at the same distance as the Moon (given by \({d}_{m}={r}_{m}/\arctan {\phi }_{m}\)).
For a 2S × 2S pixel image of Pluto, the light ray coming from the pixel in row i and column j (counted from the bottom left corner of the image) has the non-normalised incidence vector
and the normalised one \({{\boldsymbol{I}}}_{ij}=\frac{{\widetilde{{\boldsymbol{I}}}}_{ij}}{\parallel {\widetilde{{\boldsymbol{I}}}}_{ij}{\parallel }_{2}}\). To get an image, we reflect the light rays coming from every pixel in the image at every Totimorphic mirror element and check where on the imaging plane the reflections hit. For instance, if the imaging plane is at distance dz, the light ray Ikl reflected at the bottom unit cell of element (ij) hits the plane at mij + λ ⋅ lij with \(\lambda =({d}_{z}-{m}_{ij,z})/{l}_{ij,z}\) (z denoting the z-component of the vectors). For visualisation, we plot all reflected points in a two-dimensional image with point size s = 2 (in matplotlib) and an alpha (opacity) of 0.05, so that colours merge when multiple points overlap.
Simulation details: inverse lattice design
For the results shown in Fig. 4, during inverse design, we used a total external displacement of 0.2 applied through 5 iterations of the compression experiment. The cost function was optimised using the Adam optimiser (learning rate of 5 ⋅ 10−3 and no weight decay). To ensure that the top layer of nodes in the lattice remains flat, we added regularisation terms to the cost function, i.e., L1 loss terms that encode the difference in y-coordinate for points in the top layer. The training setup for negative and positive target Poisson’s ratio was identical apart from initialisation. For the positive target, we perturbed the initial configuration before training by adding Gaussian noise to each lattice parameter; drawn randomly from \({\mathcal{N}}(\mu =0,\sigma =1{0}^{-2})\). To visualise the final lattice designs in Fig. 4 and Fig. S1, we used a total external displacement of 0.325 and 0.5, respectively, applied over 30 iterations instead. For the results shown in Fig. S1, we trained with a target Poisson’s ratio of νtgt = − 2.
Simulation details: Totimorphic telescope
We trained the lattice only on the task of focusing light from one direction (i.e., orthogonal to the initially flat mirror surface) into a single point (focal point on the central axis orthogonal to the initially flat mirror surface) located at \((\frac{D}{2},\frac{D}{2},n\cdot D\), where D = 6m is the diameter (or side length) of the Totimorphic lattice and n an integer that we choose during training (e.g., we start with 20). For training configurations at different focal lengths, we used the Adam optimiser with a learning rate of 10−3, which is reduced to 10−4 if the root mean square loss goes below 5 ⋅ 10−3. We further always add a second cost term (with prefactor of 0.1) which has the objective of keeping the central node (point \({B}^{{\prime} }\) of the central elementary cell) of the lattice fixed in space. This is done to avoid that the lattice moves around in space during optimisation.
For the circle experiment in Fig. 7, we guide the focal point in a circle with radius \(\frac{D}{2}\) around its initial location (still with a focal length of 20D. We use the following learning rate scheme for this: starting with a learning rate of 10−3, we reduce it to 10−4 and 10−5 when the root mean square loss goes below 5 ⋅ 10−2 and 5 ⋅ 10−3, respectively.
For the self-repair experiments in Fig. 7, we select the damaged unit cell randomly and draw the deflection due to damaging randomly from \({\mathcal{N}}(0,5\cdot 1{0}^{-4})\). During training, we start with a learning rate of 10−4, which is reduced to 10−5 of the root mean square loss goes below 5 ⋅ 10−3.
Data availability
Implementations of the models in Python are available on GitHub (Github LattyMorph Repository. Commit 27f5890. 2024. URL: https://github.com/esa/LattyMorph).
References
Mettler, E., Breckenridge, W. G. & Quadrelli, M. B. Large aperture space telescopes in formation:modeling, metrology, and control. J. Astronaut. Sci. 53, 391–412 (2005).
Ayre, M., Izzo, D. & Pettazzi, L. Self assembly in space using behaviour based intelligent components. In Proceedings of TAROS (Towards Autonomous Robotic Systems) 2005, Imperial College, London, UK (2005).
Pirat, C., Ribes-Pleguezuelo, P., Keller, F., Zuccaro Marchi, A. & Walker, R. Toward the autonomous assembly of large telescopesusing cubesat rendezvous and docking. J. Spacecr. Rockets 59, 375–388 (2022).
Ekblaw, A., Paradiso, J., Zuniga, D. & Crooker, K. Self-assembling and self-regulating space stations: mission concepts for modular, autonomous habitats. In Proceedings of the 50th International Conference on Environmental Systems, Texas Tech University Libraries (2021).
Trease, B. P. et al. Accommodating thickness in origami-based deployable arrays. J. Mech. Design 135, 111005 (2013).
Zirbel, S. A., Trease, B. P., Magleby, S. P. & Howell, L. L. Deployment methods for an origami-inspired rigid-foldable array. In Proceedings of the 42nd Aerospace Mechanism Symposium, Goddard Space Flight Center, NTRS - NASA Technical Reports Server (2014).
Gregg, C. E. et al. Ultralight, strong, and self-reprogrammablemechanical metamaterials. Sci. Robot. 9, eadi2746 (2024).
Lee, R. H., Mulder, E. A. & Hopkins, J. B. Mechanical neural networks: architected materials that learn behaviors. Sci. Robot.7, eabq7278 (2022).
Liu, K., Pratapa, P. P., Misseroni, D., Tachi, T. & Paulino, G. H. Triclinic metamaterials by tristable origami with reprogrammable frustration. Adv. Mater. 34, 2107998 (2022).
Wegst, U. G., Bai, H., Saiz, E., Tomsia, A. P. & Ritchie, R. O. Bioinspired structural materials. Nat. Mater. 14, 23–36 (2015).
Gibson, L. J., Ashby, M. F. & Harley, B. A.Cellular materials in nature and medicine (Cambridge University Press, 2010).
Surjadi, J. U. et al. Mechanical metamaterials and their engineering applications. Adv. Eng. Mater. 21, 1800864 (2019).
Meza, L. R., Das, S. & Greer, J. R. Strong, lightweight, and recoverable three-dimensional ceramic nanolattices. Science 345, 1322–1326 (2014).
Xiao, S. et al. Active metamaterials and metadevices: a review. J. Phys. D: Appl. Phys. 53, 503002 (2020).
Xia, X., Spadaccini, C. M. & Greer, J. R. Responsive materials architected in space and time. Nat. Rev. Mater. 7, 683–701 (2022).
Yazdani Sarvestani, H. et al. Bioinspired stochastic design: tough and stiff ceramic systems. Adv. Funct. Mater. 32, 2108492 (2022).
Torres, A. M. et al. Bone-inspired microarchitectures achieve enhanced fatigue life. Proc. Natl. Acad. Sci. USA 116, 24457–24462 (2019).
Ross, E. & Hambleton, D. Using graph neural networks to approximate mechanicalresponse on 3d lattice structures. Proc. AAG2020-Adv. Architect. Geom. 24, 466–485 (2021).
Maurizi, M., Gao, C. & Berto, F. Inverse design of truss lattice materials with superior buckling resistance. npj Comput. Mater. 8, 247 (2022).
Dold, D. & Aranguren van Egmond, D. Differentiable graph-structured models for inverse design of lattice materials. Cell Rep. Phys. Sci. 4, 101586 (2023).
Shumilin, S., Ryabov, A., Burnaev, E. & Vanovskii, V. A method for auto-differentiation of the Voronoi tessellation. Preprint at https://doi.org/10.48550/arXiv.2312.16192 (2023).
Zheng, L., Karapiperis, K., Kumar, S. & Kochmann, D. M. Unifying the design space and optimizing linear andnonlinear truss metamaterials by generative modeling. Nat. Commun. 14, 7563 (2023).
Jadhav, Y. et al. Generative lattice units with 3d diffusion for inverse design: Glu3d. Adv. Funct. Mater.34, 2404165 (2024).
Chaudhary, G., Ganga Prasath, S., Soucy, E. & Mahadevan, L. Totimorphic assemblies from neutrally stable units. Proc. Natl. Acad. Sci. USA 118, e2107003118 (2021).
Thomas, A., Grover, J., Izzo, D. & Dold, D. Totimorphic structures for space application. In Proc. XXVII Italian Associationof Aeronautics and Astronautics (AIDAA) Congress, Materials Research Forum LLC., Millersville PA, USA (2023).
Github lattymorph repository https://github.com/esa/LattyMorph Commit 27f5890 (2024).
Öchsner, A. & Makvandi, R. Finite elements for truss and frame structures:an introduction based on the computer algebra system Maxima(Springer, 2018).
Rabien, S. Adaptive parabolic membrane mirrors for large deployable space telescopes. Appl. Opt. 62, 2835–2844 (2023).
Tang, R., Meng, Q. & Liu, X.-J. Deployable support truss for parabolic cylindrical antennas with shape reconfiguration. Int. J. Mech. Sci. 278, 109419 (2024).
Wang, T., Gu, Y. & Chen, Y. Shape-reconfigurable deployable paraboloid reflector based on a 7 r-8 r truss network. Chin. J. Mech. Eng. 38, 124 (2025).
Rigby, J. et al. The science performance of JWST as characterized in commissioning. Publ. Astron. Soc. Pac. 135, 048001 (2023).
Baraff, D. & Witkin, A. Large steps in cloth simulation. In SIGGRAPH '98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pages 43−54, ACM Digital Library (1998).
Izzo, D. & Pettazzi, L. Autonomous and distributed motion planning for satellite swarm. J. Guidance, Control, Dyn. 30, 449–459 (2007).
Fisher, M. Cloth simulationhttps://graphics.stanford.edu/m̃dfisher/cloth.html Accessed 2024(2014).
Platt, J. & Barr, A. Constrained differential optimization. In Proceedings of Neural Information Processing Systems (NeurIPS), 1987.
Schittkowski, K. Nlpql: A fortran subroutine solving constrained nonlinear programming problems. Ann. Oper. Res. 5, 485–500 (1986).
Acknowledgements
We would like to thank Derek Aranguren van Egmond, Michael Mallon, and Max Bannach for helpful and inspiring discussions, and our colleagues at ESA’s Advanced Concepts Team for their ongoing support. We further thank Leon Williams for helpful feedback on the manuscript. A.T., N.R., and D.D. acknowledge support through ESA’s young graduate trainee and fellowship programs. D.D. further acknowledges support through Horizon Europe's Marie Sklodowska-Curie Actions (Project 101103062 — BASE).
Author information
Authors and Affiliations
Contributions
Initial idea is by A.T. and D.D. Theory and model implementation is by D.D., based on initial work by A.T. D.D., A.T., N.R., J.G., and D.I. contributed to the design of the study and the performed experiments. D.D. and N.R. implemented code for the proof of concept experiments. D.D. wrote the first draft of the paper. D.D., A.T., N.R., J.G., and D.I. read and reviewed the final paper.
Corresponding author
Ethics declarations
Competing interests
The authors declare no competing interests.
Additional information
Publisher’s note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Dold, D., Thomas, A., Rosi, N. et al. Continuous design and reprogramming of Totimorphic structures for space applications. npj Space Explor. 2, 6 (2026). https://doi.org/10.1038/s44453-025-00019-4
Received:
Accepted:
Published:
Version of record:
DOI: https://doi.org/10.1038/s44453-025-00019-4









