1 Introduction

On a broad scope, programmable matter is a matter which can change one or several of its physical properties, most likely its shape, according to an internal or an external action. An example of a mug being created by an ensemble of micro-robots is presented in Fig. 1. Programmable matter can have different properties depending on the underlying technology chosen: evolutivity, programmability, autonomy, interactivity [2].

Only modular self-reconfigurable robots (MSR) can implement this full set of properties as they can embed computation. MSR [15, 18] also named earlier as metamorphic robotic systems [3] or as cellular robotic systems [6] are composed of individual modules able to move relatively to each other to create different configurations. There are four kinds of MSR: lattice-based when modules are aligned on a lattice, chain-type when the module are aligned but with more degree of freedom, hybrid which is a mix between lattice-based and chain-type and mobile when each module can move autonomously. The expected properties of MSR are: versatility, used to fulfill different tasks, robustness as a faulty module can be discarded and affordable price as the mass production of identical modules is likely reducing the overall cost [20]. MSR is an active field of research which has produced interesting hardware starting from CEBOT [5], or Polybot [17], as pioneered approaches, to SMORES [4], ATRON [11] or M-Blocks [14], for the latest ones.

This work is part of the Claytronics project. Claytronics, which stands for Clay-Electronics is an implementation of programmable matter initiated by Carnegie Mellon University and Intel Corporation, and then joined by FEMTO-ST Institute. In Claytronics, mm-scale robots called catoms, for Claytronics Atoms, are assembled to form larger objects. The idea is that each micro-robot has very restricted or, let us say, only strictly mandatory functionalities and as each catom is simple, hundreds of thousands can be assembled all together to create new solid objects of any shape or size. A catom should be a mass-producible, sub-mm, MEMS using computationally controlled forces for adhesion and locomotion. Each catom therefore embeds a chip for computation and for driving its actuators and communication capabilities. A first Claytronics prototype has been realized which embeds actuation and a chip for managing the movement of the micro-robots [9]. There are many challenges to solve before Claytronics could transform matter into programmable matter. These challenges and perspectives have been enumerated in [1].

Fig. 1
figure 1

A simulation view of a mug and a toy car made of programmable matter and composed of micro robots

In the context of programmable matter, the size of each module should be as small as possible, mm-scale seems a good resolution for approximating a shape. Scaling down the hardware is a difficult task but it also offers benefits. For example, actuation could be easier at the micro-scale by using electrostatic forces. MSR are usually composed of few modules whereas the objective of programmable matter is to have hundred thousands modules, at least, which adds even more complexity in the whole design.

To implement programmable matter as an MSR several solutions are possible. We think a lattice-based MSR, in which each module is aligned on a lattice, is the best solution. Chain-type MSR is not suitable as it is limited in the number of modules, hybrid could be used but lattice-based allows more flexibility for having a better approximation of the shape, more nodes are also able to move during self-reconfiguration and robustness is increased as any module can fail without compromising the rest.

For lattice-based MSR, different types of modules have been studied: cubic, cylindric, polyhedral and spherical. Cubic modules offer a good adhesion surface but they are difficult to move, that is why Miche [7] and Pebbles [8] have opted for self-disassembly which drastically reduces the possibilities of self-reconfiguration. Smart Blocks [12] uses electro-permanent magnets for 2D moves but they are not strong enough to fight against gravity. The best realization so far are M-blocks [14] in which each module turns around another one using a gyroscope. However, this technology is difficult to miniaturize.

Within the Claytronics project, two kinds of cylindrical modules have been built: a macro-size vertical cylinder linked with others by electromagnetic forces [10] and a mm-scale horizontal cylinder using electrostatic forces to stick and move [9]. This latest realization has pushed the limits of miniaturization for an autonomous micro-robot and is a source of inspiration for the future of Claytronics.

Designing a miniaturized sphere is complex. A macro-size example is ATRON [11]. The latching is mechanical and each quasi-spherical module is split in two and can rotate. However, as for M-blocks, the technologies employed cannot be used at the mm-scale. In the Claytronics project, a sphere has been fabricated using petals closing the shape [13]. This sphere was a first prototype of a mm-scale 3D shape although it is not autonomous, did not embed the connectors and the structure was too fragile.

The rhombic dodecahedron (RD) shape proposed by Yim et al. [19] is an interesting geometrical solution. It allows to place a set of modules that completely fills the 3D space without hole. But the main drawback is mentioned in the document, it concerns the 120 rotation around an edge of a module in order to pass from a cell to a neighbor. This motion requires an actuator technically difficult to produce.

To sum up, cubes are difficult to move in 3D, cylinder cannot move in 3D and a real sphere is difficult to built at a mm-scale from a 2D sheet of material. In this article, we present a proposition of a quasi-spherical module, called a catom in the context of the Claytronics project, able to fit all the requirements of programmable matter.

2 Objectives and Constraints

Programmable matter needs a very large set of connected small modules, called catoms, that can move to change their global shape. The goal of our work is to produce very small (about 1 mm diameter) and reliable catoms, without complex mechanical systems. At this scale, the latching and moving forces can be produced by electrostatic electrodes. The proposed system must satisfy a number of constraints. The catoms composing this system must:

  1. 1.

    Be combined in order to regularly fill a 3D space (following a predefined grid).

  2. 2.

    Have a large surface of contact (we call this area ‘a connector’) allow to use these surfaces for communication, presence sensors and power transfer.

  3. 3.

    Be free to move from one position of the grid to a neighboring free one.

  4. 4.

    After a motion, a module must be oriented in order to place each of its connectors in front of one connector of its neighbor modules.

  5. 5.

    Be physically connected to many neighbors, in order to allow power transfer and P2P communication.

  6. 6.

    Have a finite number of connectors that are always in the same place on the surface of the catom.

  7. 7.

    Be fabricated from a deformation of a flat shape.

In the next section, we study the possible organization and geometry of the catoms. In Sect. 4, we present a quasi-sphere geometry and try to solve all the constraints. In Sect. 5, we discuss the catom movements.

3 Study of Candidate Shapes and Organizations

Here, we study the shape of the catoms by examining three different solutions and then the organization of the lattice which is also of prime importance. In the rest of this article, we consider that our catoms have a diameter d and a radius r.

The first idea of shape for defining a catom consists in adapting the cubic model where each catom is placed along a regular grid oriented along \(\left( \overrightarrow{x}; \overrightarrow{y}; \overrightarrow{z} \right) \) axes. Rotation of catoms around a neighbor is facilitated by using rounded angles at the edges of the cubes. A face of a cube is therefore composed by a flat centered area for connectors and a curved border allowing the cube to move by turning around. But, with a rounded cube, the slip-free rolling of a cube A around another cube B does not allow to reach a neighbor cell of the grid. The distance between two connected cells is equal to the length of the cube (\(2 \times r\)) and each rotation produces a \(\alpha \times \rho \) long motion (where \(\alpha \) is the rotation angle of the rounded cube and \(\rho \) the radius of the curved part). Then, if a cube A has to reconnect on to a face of B, we must have \(\frac{\pi }{2} \times \rho = \frac{\pi }{2} \times r\) as shown in Fig. 2. But, as \(\rho < r\), rounded boxes do not verify constraints #3.

Fig. 2
figure 2

Limits of the rounded cube solution: when A turns around B, it can not reach a position juxtaposing a face of A to a face of B

The second proposition for this micro-robot is a sphere, that can be naturally organized in a grid. Spheres can be placed in a regular grid that reduces the distance between center and empty areas. Spheres are placed in a regular 2D grid (along \(\overrightarrow{x}\) and \(\overrightarrow{y}\) and d large cells) for the first floor and the second floor is placed \(\frac{\sqrt{2}}{2} r\) higher and shifted by r along \(\overrightarrow{x}\) and \(\overrightarrow{y}\). Under this organization each sphere has a maximum of 12 connected neighbors. But, two spheres only admit a single point as contact area. Moreover, manufacturing a perfect sphere is difficult. Therefore, a sphere shape does not satisfy constraints #2 and #7.

As the cube and the sphere do not meet all the requirements, the idea is to use a mix between them. We want to take advantage of the large surfaces of the cube for the latching, together with the easiness of rotation offered by the sphere, by designing a quasi-sphere.

4 Solving the Constraints for the Quasi-sphere

The design of the 3D catoms starts with a sphere on which we add connectors. We have to place these connectors and define their shape, size and orientation in order to verify the constraints. We will then define curves between connectors to construct paths for the rotation of a catom around one of its neighbors.

4.1 Designing Connectors for Latching

In order to answer constraint #2, connectors must be 12 planar surfaces centered in \(P_0 \ldots P_{11}\), where \(P_i\) are contact points of spheres in the Face-Centered Cubic lattice (FCC) as presented in [16]. Considering a sphere of radius r centered at the origin (O), these points are respectively placed at the following coordinates:

$$\begin{aligned} \begin{array}{l|l||l|l} P_0(r,0,0) &{} P_6(-r,0,0) &{} P_1(0,r,0) &{} P_7(0,-r,0) \\ P_2(\frac{r}{2},\frac{r}{2},\frac{r}{\sqrt{2}}) &{} P_8(-\frac{r}{2},-\frac{r}{2},-\frac{r}{\sqrt{2}}) &{} P_3(-\frac{r}{2},\frac{r}{2},\frac{r}{\sqrt{2}}) &{} P_9(\frac{r}{2},-\frac{r}{2},-\frac{r}{\sqrt{2}}) \\ P_4(-\frac{r}{2},-\frac{r}{2},\frac{r}{\sqrt{2}}) &{} P_{10}(\frac{r}{2},\frac{r}{2},-\frac{r}{\sqrt{2}}) &{} P_5(\frac{r}{2},-\frac{r}{2},\frac{r}{\sqrt{2}}) &{} P_{11}(-\frac{r}{2},\frac{r}{2},-\frac{r}{\sqrt{2}}) \\ \end{array} \end{aligned}$$
(1)

On these points, we must define a regular planar surface which will contain the connectors. As we have seen in Sect. 3, the rotation path to move from one connector to another must be equal to the distance from two connectors. The obvious choice about the connector shape is therefore a square. Furthermore, a square is a simple surface to manufacture. We then search which size (c) of the edges of the connectors allow to construct a regular 3D shape. The orientation of square is partially imposed by connection constraints \(\#2\) and \(\#4\): The squares must be placed tangentially to the sphere surface.

Fig. 3
figure 3

Geometry used to calculate the width of square connectors c

Figure 3 presents two c width connectors, we name corners of these connectors respectively \(\left\{ A_0, B_0, C_0, D_0 \right\} \) and \(\left\{ A_2, B_2, C_2, D_2 \right\} \). Constraint \(\#4\) states the distance \(C_0A_2\) must be equal to c in order to be able to reconnect two connectors after a movement. In this section, we want to express c to define the size of the connectors.

We can easily express the coordinates of \(A_0\) and \(C_0\), and deduce \(A_2\) as the image of \(A_0\) by rotation of \(\frac{\pi }{4}\) around \(\overrightarrow{y}\) axis and then rotation of \(\frac{\pi }{4}\) around \(\overrightarrow{z}\) axis (given by the matrix \(\mathscr {M}\)):

$$\begin{aligned} A_0=\left( r,-\frac{c}{2},-\frac{c}{2} \right) \end{aligned}$$
(2)
$$\begin{aligned} \mathscr {M}=\left( \begin{array}{ccc} \frac{1}{2} &{} -\frac{\sqrt{2}}{2} &{} -\frac{1}{2} \\ \frac{1}{2} &{} \frac{\sqrt{2}}{2} &{} -\frac{1}{2} \\ \frac{\sqrt{2}}{2} &{} 0 &{} \frac{\sqrt{2}}{2} \end{array} \right) \end{aligned}$$
(3)
$$\begin{aligned} A_2=\mathscr {M} \times A_0=\left( \begin{array}{l} \frac{r}{2}+\frac{c}{4} \left( 1 + \sqrt{2} \right) \\ \frac{r}{2}+\frac{c}{4} \left( 1 - \sqrt{2} \right) \\ \frac{\sqrt{2}}{2}r-\frac{\sqrt{2}c}{4} \end{array} \right) \end{aligned}$$
(4)

As the distance \(C_0A_2\) must be equal to c. We can solve \(\overrightarrow{C_0A_2}^2=c^2\).

$$\begin{aligned} C_0=\left( r, \frac{c}{2}, \frac{c}{2} \right) \end{aligned}$$
(5)
$$\begin{aligned} \overrightarrow{C_0A_2} \left( \begin{array}{l} -\frac{r}{2}+\frac{c}{4} \left( 1+\sqrt{2} \right) \\ \frac{r}{2}-\frac{c}{4} \left( 1+\sqrt{2} \right) \\ \frac{\sqrt{2}}{2}r-\frac{c}{2} \left( 1+ \frac{\sqrt{2}}{2} \right) \end{array} \right) \end{aligned}$$
(6)

We can then express \(\overrightarrow{C_0A_2}^2\):

$$\begin{aligned} \overrightarrow{C_0A_2}^2 = r^2+\frac{c^2}{4} \left( 2\sqrt{2}-1 \right) -r \times c\left( \sqrt{2}+1 \right) = \left( r - \frac{\sqrt{2}+1}{2}c\right) ^2 \end{aligned}$$
(7)

In order to obtain an expression of c, we solve:

$$\begin{aligned} r - \frac{\sqrt{2}+1}{2}c=c \end{aligned}$$
(8)

Finally, the connectors width c only depends on the radius r of the inscribed sphere:

$$\begin{aligned} c = \dfrac{2 \times r }{3+\sqrt{2}} \approx 0.45308 \times r \end{aligned}$$
(9)

This is indeed a very interesting result which shows that the size of the connectors cannot be arbitrarily fixed but must have a size only related to the size of the catom.

The geometry is therefore defined by a regular geometrical shape composed of 12 squares representing the connectors (in red, in Fig. 4b). To bind the connectors all together, 8 hexagons and 6 octagons are added (resp. in green and blue). Each connector is connected to 2 hexagons and 2 octagons. Each octagon is bound to 4 squares and 4 hexagons and each hexagon is connected to 3 squares and 3 octagons alternatively along its border. All the edges for all the shapes (squares, hexagons and octagons) have the same length c: it is an important condition to reconnect catoms after a rotation.

4.2 Designing Actuators for Allowing Movements

4.2.1 Defining the Shape of the Actuators

Curved actuators need to be placed between connectors in order to propose a path of contact during rotation of a catom around another one. The shape of this surface is relatively free, but the constraint is that the rotation must not go through any angular edges. These curved actuators need to be placed between the connectors in order to have a path of contact during rotation of a catom around another one.

Fig. 4
figure 4

Design phases of the 3D catoms: a Connectors are defined as squares and placed in order to be connected to neighbors. b The geometry of a regular filled volume linked to square connectors appears. c Curved actuators are placed over octagonal and hexagonal surfaces. d Final catoms

We propose to define a \(C^1\) class surface for the actuators to avoid angles. We point out that considering that a surface S(st) is defined by two curves \(S(s,t) = u(s)+v(t)\), the surface is a \(C^1\) class surface if respectively u and v are derivable relatively to s (respectively t), and their derivative are continuous. The proposed actuators shape are made of a curved part (slice of a cylinder) and a plane, in order to obtain a \(C^1\) class surface as shown in Fig. 4c. One catom will roll and stick onto another one between two connectors using an actuator as rotation path.

On the surface of the catom, we can define two kinds of actuators, one over octagonal faces and another one over hexagonal faces in order to link all the connectors with actuators.

4.2.2 Characterization of the Actuator on the Octagonal and Hexagonal Faces

On the octagonal faces, the actuator is formed by a square, centered on the octagon, and linked to a curved slice of a cylinder on its four sides. The square sides have the same size as the actuator width (See Fig. 4d). In order to find the radius of curvature \(r_1\), the angle \(\beta \) and the center M of the blue arc, we consider two connectors \(C_0\) and \(C_1\) (with a side size of c, drawn in red in Fig. 5). \(C_0\) is centered at \(\left( r,0,0\right) \), with two corners \(P_0\left( r,-\frac{c}{2},-\frac{c}{2}\right) \) and \(P_1\left( r,\frac{c}{2},-\frac{c}{2}\right) \). \(C_1\) is centered at \(\left( 0,r,0\right) \), with two corners \(P_2\left( -\frac{c}{2},r,-\frac{c}{2}\right) \) and \(P_3\left( \frac{c}{2},r,-\frac{c}{2}\right) \). Then, we have to place a square S (drawn in orange in Fig. 5) between the two connectors \(C_0\) and \(C_1\). In order to respect the symmetry, the center of S is placed along the axis \((O,\overrightarrow{u})\), with \(\overrightarrow{u}=\left( \frac{\sqrt{2}}{2},\frac{\sqrt{2}}{2},0\right) \) and is tangent to the orthogonal vector \(\overrightarrow{t}=\left( \frac{-\sqrt{2}}{2},\frac{\sqrt{2}}{2},0\right) \). We can write the position of M as the intersection of the two radii \(MP_1\) and \(MQ_0\):

Fig. 5
figure 5

Cross section of domes for octagonal area, \(w=c\). Main connectors are drawn in red, flat connector in intersection of actuators are drawn in orange and curved actuator are in blue

$$\begin{aligned} \left\{ \begin{array}{l} \overrightarrow{OM} = \left( r - r_1 \right) \overrightarrow{x} + \frac{c}{2} \overrightarrow{y} \\ \overrightarrow{OM} = \left( k - r_1 \right) \overrightarrow{u} - \frac{c}{2} \overrightarrow{t} \\ \end{array} \right. \end{aligned}$$
(10)

where k is the distance between the center of S and the center of the catom. In order to obtain the position of M, we express \(\overrightarrow{OM}.\overrightarrow{y}\) with the two previous relations:

$$\begin{aligned} \frac{c}{2} = \frac{\sqrt{2}}{2} \left( k-r_1-\frac{c}{2} \right) \end{aligned}$$
(11)

We deduce \(k-r_1 = \frac{1+\sqrt{2}}{2}c\), and obtain the position of M:

$$\begin{aligned} M \left( \frac{1+\sqrt{2}}{2}c,\frac{c}{2},-\frac{c}{2} \right) \end{aligned}$$
(12)

In order to calculate \(r_1\), we evaluate \(\overrightarrow{OM}.\overrightarrow{t}\) with the relations of Eq. 10:

$$\begin{aligned} -\frac{\sqrt{2}}{2}\left( r-r_1 \right) + \frac{\sqrt{2}}{2} \frac{c}{2} = -\frac{c}{2} \end{aligned}$$
(13)

We obtain \(r_1 = c\). Finally, as \(\beta \) is the angle between \(\overrightarrow{x}\) and \(\overrightarrow{u}\), then \(\beta =45^\circ \) or \(\frac{\pi }{4}\) rad. The cylindrical part of the actuator admits a center at M, a radius \(r_1=c\) and a height c, all the other cylinders are obtained by rotations (corresponding to combinations of matrix \(\mathscr {M}\) presented in Eq. 3).

The calculation for the hexagonal faces follows the same process as for octagonal ones. The intersection of the paths are equilateral triangles of c side long. These triangles are linked to connectors by a portion of cylindrical actuator. We calculate the radius of curvature:

$$\begin{aligned} r_1^\prime \approx 0.4670 \times r \end{aligned}$$
(14)

and the angle of slice:

$$\begin{aligned} \alpha =\tan ^{-1}{\left( \frac{\sqrt{2}}{2}\right) } \approx 0,6155\,\text {rad}\text { or }(35.26^\circ ) \end{aligned}$$
(15)

Then, the length of the path is:

$$\begin{aligned} l_1^\prime =r_1^\prime \times \alpha \approx 0.28745 \times r \end{aligned}$$
(16)

4.2.3 Adapting Geometry to Allow Movement

In the first case, that uses orthogonal domes displacements \(R_o\) (cf. in Fig. 6) are easy to apply: from a square connector face, 4 orthogonal directions are available to reach an other connector face. \(90^{\circ }\) rotations around axes are associated to each motion. In the second case, catoms use hexagonal faces to roll over another catom (following the \(R_h\) displacement in Fig. 6). From each square connector face, 4 ways are available too, but there are more difficult to follow. Each way is composed of two rotations of \(\alpha \) where \(\alpha =\tan ^{-1}{\left( \frac{\sqrt{2}}{2}\right) } \approx 0.615\) rad or \(35.26^{\circ }\).Footnote 1

The main drawback of these two motions is the volume crossed by the moving catom. Several local configurations of neighbors prevent at least one of these motions. Images in Fig. 7 show two blocking situations, one for each motion mode. The left image shows a configuration where motion \(R_o\) is possible but not \(R_h\), whereas the right image shows the opposite situation.

Fig. 6
figure 6

A catom with two methods of rotation: \(R_h\) in the hexagonal area and \(R_o\) in the octagonal area

Fig. 7
figure 7

Two cases where one of each kind of motions is possible but not the other one

As we have found blocking situations for the first two solutions of actuation, we need to evaluate the last one using actuator on both octagonal and hexagonal faces. In Fig. 6, we can see that from the connector \(\#0\), there exists 6 other connectors that can be directly reached by rotations (\(\#1\), \(\#2\), \(\#5\), \(\#7\), \(\#9\) and \(\#10\)).

More generally, we consider a mobile catom A and a fixed catom B. Graph shown in Fig. 8 details the set of rotations that can be applied from each connector. In that graph, nodes represent connectors of B (ID written in squares) and links represent rotations of \(\alpha \) for hexagonal actuators or \(45^\circ \) for octagonal ones. Information in ellipses gives axes of rotation, directly specifying the rotation vector or a couple of connector centers that defines a rotation axis.Footnote 2

5 Defining Ensemble of Catoms

In this section, we study the organization of the catoms in an ensemble.

Fig. 8
figure 8

Graph of possible rotations from each connector of the catom (index written in squares)

The catoms have been designed to be organized in a FCC lattice following a hexagonal close packing placement. Figure 9 presents an example of the organization. Placing catoms on the floor on actuators (that replace one of their octagonal face), and orienting them in order that connected faces are square connectors, aligned along \(\overrightarrow{x}\) and \(\overrightarrow{y}\) axes, similarly to catoms shown in Fig. 6. Centers of these catoms are respectively placed at coordinates \((ix \times d;iy \times d;0)\) where \(ix \in \mathbb {Z}\) and \(iy \in \mathbb {Z}\).

On the second floor, catoms are staggered over previous catoms, they center coordinates are: \((r+ix \times d;r+iy \times d;\frac{\sqrt{2}d}{2})\).

Then on the third floor, catoms are vertically placed above catoms of the first floor, 3 blue catoms in Fig. 9 are placed at: \( \begin{array}{lll} (d;0;\sqrt{2}d)&(2d;0;\sqrt{2}d)&(d,d,\sqrt{2}d) \end{array} \).

For programming algorithm using catoms, we need a relation between their position in space coordinates and their position in the grid. For example, during a rotation a catom turns around another one in the space coordinates, when it finishes its motion we can deduce its new position in the grid. We can write a relation between coordinates of a catom (ixiyiz) in a regular array in memory and its position in the visualization space (xyz) using \(\sigma = iz \% 2 \), i.e. \(\sigma =0\) if iz is even and \(\sigma =1\) if iz is odd:

$$\begin{aligned} \left( x = d \times (ix+0.5 \sigma ) ; y = d \times (iy+0.5 \sigma ) ; z = \frac{\sqrt{2}d}{2} \times iz \right) \end{aligned}$$
(17)
Fig. 9
figure 9

Placement of 3d catoms in a regular grid

Similarly we can express array coordinates from space coordinates:

$$\begin{aligned} \left( ix = \left\lfloor \dfrac{x}{d}-0.5 \sigma \right\rfloor ; iy = \left\lfloor \dfrac{y}{d}-0.5 \sigma \right\rfloor ; iz = \left\lfloor \dfrac{\sqrt{2}}{d} \times z \right\rfloor \right) \end{aligned}$$
(18)

Considering this approach, we express the coordinates of 12 neighbors of a catom placed at (ixiyiz) in the regular grid.

Plane

Neighbors coordinates if iz is even

Neighbors coordinates if iz is odd

\(iz+1\)

\((ix-1;iy-1)\) \((ix-1;iy)\) (ixiy) \((ix;iy-1)\)

(ixiy) \((ix;iy+1)\) \((ix+1;iy)\) \((ix+1;iy+1)\)

iz

\((ix-1;iy)\) \((ix+1;iy)\) \((ix;iy-1)\) \((ix;iy+1)\)

\((ix-1;iy)\) \((ix+1;iy)\) \((ix;iy-1)\) \((ix;iy+1)\)

\(iz-1\)

\((ix-1;iy-1)\) \((ix-1;iy)\) (ixiy) \((ix;iy-1)\)

(ixiy) \((ix;iy+1)\) \((ix+1;iy)\) \((ix+1;iy+1)\)

6 Conclusion

We have proposed a detailed model for the realization of a quasi-spherical module for the programmable matter. This module, called catom in the context of the Claytronics project, satisfies all the constraints listed for the needs of the project. The 7th constraint has not been detailed in this paper for our catom, but an origami like unfold of our shape is possible and will be presented in future works.

We believe our quasi-spherical module will ease the movements using semi-curved shape actuators and also provide sufficiently strong connectors. Future works include a study of the physics parameters of the catom: weight, latching and actuation forces. We have already 3D printed catoms shells embedded with magnets to validate the latching and the movements. The next step is now to design the fabrication process for the MEMS/LSI integration on a flexible substratum. The major challenge will be the attachment of all the catom parts.