Professional Documents
Culture Documents
These Edy Hourany
These Edy Hourany
Doctorat d’Informatique
par
Edy Hourany
Leader election and fault detection for secured self-reconfigurable modular robots
Election de leader et détection de fautes pour robots modulaires sécurisés et auto-reconfigurables
N◦ X X X
Acknowledgement
I would like to thank all thesis committee members for having accepted to take the time to
review my dissertation and provide valuable feedback.
Throughout the writing of this dissertation I have received a great deal of support and assis-
tance. I would first like to thank my director, Professor Julien Bourgeois, whose expertise was
invaluable in formulating the research questions and methodology. I would like to also thank
Dr. Bachir Habib and my supervisors, Professor Abdallah Makhoul and Dr Benoit Piranda.
Your insightful feedback pushed me to sharpen my thinking and brought my work to a higher
level. I would like to acknowledge Dr Laurence Ajaka for her valuable guidance throughout my
studies.
In addition, I would like to thank my family for their wise counsel and sympathetic ear. You are
always there for me. Finally, I could not have completed this dissertation without the support
of my wife, Nathalie who provided stimulating discussions as well as happy distractions to rest
my mind outside of my research.
Thank You.
iii
iv
Admit it:
Ordinary matter
is kind of boring.
UNKNOWN
Abstract
Recent advancements in science foreshadow that in the next few decades it might be possible
to assemble simple information processing units at almost no cost. Myriads of these small-scale
units could be combined to powerful systems capable of solving intricate tasks, this is called
programmable matter. This vision of building cheap microscopic processing units is supported
by the progress made in manufacturing microelectro mechanical components, such that one can
anticipate integrating logic circuits, microsensors, microactuators, and communication devices
on the same chip.
This thesis presents four algorithms that propose a solution to four of the main issues in
programmable matter: Leader election, reconfiguration, error detection, and security. The
leader election algorithm deterministically elects a leader in a modular robotic system regardless
of the modules’ type and configuration. The reconfiguration problem occurs when too many
particles are moving at the same time. This might lead to collisions among modules. To solve
this problem, a reconfiguration algorithm is created based on virtual forces. This algorithm
tackles the self-reconfiguration problem by presenting a deterministic planning algorithm that
can decide which positions can be filled over multiple iterations using virtual forces. To detect
errors in programmable matter systems, an error detection algorithm called DETECTOR is
proposed. It is a hierarchically distributed fault detection algorithm, it allows the detection of
disconnections in a hierarchical manner. The leader of the system will construct the spanning
tree, assign coordinates to each module and compare them to detect the disconnections. And
finally, to ensure security in programmable matter, a security protocol is developed to solve
the issue. This protocol is based on lightweight cryptography and uses the same encryption
protocol as a hashing function while keeping the distributed architecture in mind. The analysis
and simulation results show the efficiency of the proposed method.
v
Résumé
Les récents progrès de la science laissent présager que, dans les prochaines décennies, il pourrait
être possible d’assembler des unités simples de traitement de l’information pour un coût presque
nul. Des myriades de ces petites unités pourraient être combinées pour former des systèmes
puissants capables de résoudre des tâches complexes. Cette vision de la construction d’unités de
traitement microscopiques bon marché est soutenue par les progrès réalisés dans la fabrication
de composants microélectro mécaniques, de sorte que l’on peut envisager d’intégrer des circuits
logiques, des microcapteurs, des microactionneurs et des dispositifs de communication sur la
même puce.
Cette thèse présente quatre algorithmes qui proposent des solutions à quatre des principaux
problèmes de la matière programmable : l’élection du leader, la reconfiguration, la détection
des erreurs et la sécurité. L’algorithme d’élection du leader élit de manière déterministe un
leader dans un système robotique modulaire, indépendamment du type et de la configuration
des modules. Le problème de reconfiguration se produit lorsque trop de particules se déplacent
en même temps. Cela peut entraı̂ner des collisions entre les modules. Pour résoudre ce
problème, un algorithme de reconfiguration basé sur les forces virtuelles est créé. Cet
algorithme s’attaque au problème de l’auto-reconfiguration en présentant un algorithme de
planification déterministe qui peut décider quelles positions peuvent être remplies sur plusieurs
itérations en utilisant des forces virtuelles. Pour détecter les erreurs dans les systèmes de
matière programmable, un algorithme de détection d’erreurs appelé DETECTOR est proposé.
C’est un algorithme de détection de fautes distribué hiérarchiquement, il permet de détecter
les déconnexions de manière hiérarchique. Le leader du système va construire l’arbre de
recouvrement, attribuer des coordonnées à chaque module et les comparer pour détecter les
déconnexions. Et enfin, pour assurer la sécurité dans la matière programmable, un protocole
de sécurité est développé pour résoudre le problème. Ce protocole est basé sur la cryptographie
légère et utilise le même protocole de cryptage comme fonction de hachage tout en gardant à
l’esprit l’architecture distribuée. Les résultats d’analyse et de simulation montrent l’efficacité
de la méthode proposée.
vii
Acronyms
• MRS: Modular Robotic Systems. 2, 4–7, 10, 15, 17, 22, 46, 47, 66, 88, 89, 102
ix
Contents
1 Introduction 1
1.3.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3 Actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.2 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.3 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.4 Homogeneity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
xi
xii CONTENTS
2.4.2 Telepario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1 Self-Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2 Self-reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5.3 Self-Repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.4 Self-Reproduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.5 Self-sufficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.6 ID Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.8 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5.9 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Leader Election 45
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5 Fault detection 87
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6 PROLISEAN 101
7 Conclusion 133
1
Introduction
Contents
1.1 Research Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Motivation and inspiration . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Functional advantage . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Economic advantage . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Background Description and Definitions . . . . . . . . . . . . . . . . 6
1.3.1 Blinky Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1
2 Introduction
The field of Programmable Matter Systems (PMS) and Modular Robotic Systems (MRS) has
been evolving since the 90’s and the work of Toshio Fukuda on CEBOT Fukuda et al. (1990).
The pioneering work of early researchers in this field laid the foundation for the development
of PMS and MRS. Researchers like Kyle Gilpin, Seth Copen Goldstein, and Julien Bourgeois
made significant contributions to the study of the concept of programmable matter.
Kyle Gilpin was a researcher in the field of modular robotics who made substantial contribu-
tions to the understanding of the development and implementation of these systems Gilpin
et al. (2010b). He emphasized the significance of both hardware design and algorithms in
achieving success in modular robotics, arguing that innovations in both areas were essential
for these systems to match shape and function, as well as perform tasks such as computation,
communication, sensing, and power transfer within small form factors of centimeters or less
Gilpin et al. (2008). Gilpin’s work, which provided a retrospective on modular robots and their
connections to programmable matter, was particularly unique as it offered insights into the
capabilities of modular robots and emphasized the importance of both hardware and software
innovations in making modular robots successful Gilpin et al. (2010a). His contribution has
shaped the understanding of the development and implementation of modular robots and has
been a valuable addition to the field.
Seth Copen Goldstein is a pioneer in the field of robotics and has made significant contributions
to the development of the Claytronics project Goldstein et al. (2004). This project aims to
tackle the idea of a matter composed of millimeter-scale robots, and proposes a concept of
modular robots that can work together to achieve a global effect not possible by any single
unit. The project was first proposed by Goldstein and Mowry in 2004, and has since become
a landmark in the field of robotics.
One of Goldstein’s early contributions to the field is his paper titled ”Stress-driven MEMS
assembly + electrostatic forces = 1mm diameter robot” Karagozler et al. (2009). This paper
describes the manufacturing methods and mechanisms for producing a 1 millimeter diame-
ter module, which can be mass produced. This work is an important step towards realizing
Claytronics, a modular robotic system that is designed to scale up to millions of units. Addition-
ally, the paper highlights the importance of decreasing the size of modules in self-reconfiguring
systems while increasing their number, which leads to increased flexibility as a whole.
and LDP as examples to demonstrate the implementation of the algorithm using these lan-
guages, which results in a substantial reduction in code size compared to an earlier imperative
implementation. Specifically, the new implementation achieved twenty times reduction in code
size.
Finally, in ”Scalable shape sculpting via hole motion: Motion planning in lattice-constrained
modular robots”, Goldstein presents a novel algorithm for ensembles of 2-dimensional lattice-
arrayed modular robots to form shapes De Rosa et al. (2006). The algorithm is massively
parallel and fully distributed, meaning that it does not require global communication or broad-
cast floods after the target shape has been set. Additionally, the algorithm requires time
proportional only to the complexity of the desired geometry, allowing for quick construction of
shapes. Simulation results show 97.3% compliance with approximately 60, 000 modules being
used as part of an ensemble, suggesting that scaling up could allow millions more modules
without compromising accuracy or speediness when forming shapes from them.
Julien Bourgeois significant contributions on PMS like proposing the first toolkit for represent-
ing a shape for self-reconfiguration Tucci et al. (2017), or greatly speeding up reconfiguration
time. The best reconfiguration methods gave time in the range of ten hours Pierre (2019).
Bourgeois also developed a distributed algorithm for part differentiation in smart surfaces which
can be used to differentiate parts with high level of parallelism. It also presents an implemen-
tation model and the Java Smart Surface Simulator (SSS) that runs on multi-core machines,
4 Introduction
allowing researchers to obtain computational results quickly and accurately. The proposed
algorithms are useful for real time applications as they provide efficient ways of differentiating
parts from each other without any manual intervention or external input devices like cameras
etc El Baz et al. (2012). They have proposed three concepts Pierre (2019) to improve this
time, which allowed them to obtain a reconfiguration of the order of a second for more than
1000 robot moved. This acceleration is a real breakthrough and allows to change completely
the field of possibilities for the applications of programmable matter. The three concepts intro-
duced are the following: an object is first built with a regular porous internal structure Thalamy
et al. (2020b) composing what is called a scaffolding, around this structure comes to position
an envelope of the thickness of a robot Thalamy et al. (2020a). The porous structure allows
the robots to pass inside the object, which considerably reduces the construction time. The
third device is called a sandbox. This is a source of modules on which the construction rests,
which serves as both a reserve and a foundation, responsible for directing a flow of modules
to different points of the object.
The cooperation between Goldstein and Bourgeois has proposed interesting work on the char-
acterization of networks of lattice-based modular robots Naz et al. (2018c), a time synchroniza-
tion protocol Naz et al. (2018b) a leader election for finding the center in a modular robot Naz
et al. (2018a, 2015) and self-reconfiguration without a map. They also defined the concept of
distributed intelligent micro-electro-mechanical systems (DiMEMS) Bourgeois et al. (2012). In
Bourgeois et al. (2013), the authors added embedded intelligence to MEMS systems, so that
they will be able to collaborate efficiently. This will require embedding MEMS sensors/actu-
ators, electronics, communication capabilities, control of actuators and programs in the same
unit. They suggested the use of the phrase ”distributed intelligent MEMS (diMEMS)” when
referring to such systems.
The early works of these researchers helped establish the concept of modular robotics and
programmable matter. They focused on the design of modular robotic systems and the devel-
opment of algorithms to control the behavior of these systems. This work was crucial in laying
the foundation for the development of PMS and MRS as we know them today.
The advancement of technology has enabled the manipulation of matter in new and innovative
ways, leading to the creation of PMS. This system is composed of several components, each
being a miniature robot with varying levels of automation, that can be connected to form a
larger robot capable of performing a wide range of tasks. The versatility and customization of
PMS and MRS make them a unique and valuable addition to the field of robotics.
One of the key advantages of PMS and MRS is their versatility and customization. The
modular design of these systems allows for the customization of each component, making it
possible to configure the system for different tasks. The system can also be easily reconfigured
if the task requirements change. This flexibility makes PMS and MRS a valuable tool for a
variety of applications, including capture, rescue, and exploration.
1.2. MOTIVATION AND INSPIRATION 5
Blinky Blocks are a type of programmable matter system that allow for dynamic and interactive
behavior through color changes, sound emission, audio detection, and vibration. These modular
robots consist of individual blocks that can communicate and coordinate with each other to
form a larger system.
Blinky Blocks were first developed at the Carnegie Mellon University (CMU) and have since
become a popular platform for researchers in the field of programmable matter systems. The
modularity and reconfigurability of Blinky Blocks make them ideal for exploring various scientific
problems, such as self-assembly, cooperative behavior, and distributed control.
One of the unique aspects of Blinky Blocks is their ability to change color, emit noise, detect
audio, and vibrate. These capabilities enable them to interact with their environment and with
each other in ways that other systems cannot. For example, Blinky Blocks can be used to
create interactive displays or musical instruments.
Blinky Blocks also have potential applications in a variety of fields, including education, enter-
tainment, and robotics. For example, they can be used in educational settings to help students
learn about programming, engineering, and basic scientific principles. In entertainment, Blinky
Blocks can be used to create interactive exhibits or performances.
Despite their potential, Blinky Blocks still face a number of challenges. For example, ensuring
reliable communication between the blocks and improving their energy efficiency are two areas
of ongoing research. Additionally, researchers are exploring ways to make the blocks more
versatile, such as by incorporating additional sensors or actuators.
Overall, Blinky Blocks are a valuable platform for exploring the field of programmable matter
systems. Through their ability to change color, emit noise, detect audio, and vibrate, they pro-
vide unique opportunities for researchers to study dynamic and interactive behavior in modular
systems. As research in this field continues to progress, it will be interesting to see what new
applications and advancements will emerge for Blinky Blocks and other programmable matter
systems.
Designing MRS is motivated by two main factors: functional advantage and economic advan-
tage.
MRS have the potential to be more resilient and more adaptable than traditional robotic
systems. The reconfiguration ability enables a robot or a collection of robots to deconstruct
and reassemble machines to create new morphologies that are better suited to new tasks, such
6 Introduction
as transitioning from a legged robot to a snake robot (snakebot) and subsequently to a rolling
robot. Because robot parts are interchangeable (both inside and between robots), machines
may replace broken parts on their own, resulting in self-repair.
By constructing a variety of sophisticated machines from a single (or relatively few) types of
mass-produced modules, self-configuring robotic systems have the potential to reduce total
robot costs.
Both of these benefits have yet to be fully realized. A modular robot’s performance is likely to
be lower than that of a single specialized robot designed for a specific activity. However, the
benefit of modular robotics becomes obvious only when many jobs that would otherwise need
a variety of robots are considered.
The added degrees of freedom make modular robots more versatile in their potential capa-
bilities, but also incur a performance trade-off and increased mechanical and computational
complexities.
Long-term space missions, for example, require a long-term self-sustaining robotic ecosystem
that can manage unanticipated events and may require self-repair, which has sparked interest
in self-reconfiguring robotic structures. Biological systems, which self-assemble from a limited
set of lower-level building pieces, are a second source of inspiration. The capacity of biological
systems to physically adapt, develop, heal, and even self-replicate is based on this design, which
is desirable in many constructed systems.
The term of programmable matter appeared a quarter century ago and was defined as a
matter that is able to modify its physical properties like shape, color or density autonomously
or controlled by a user. The most common solution known is to use a huge number of small
robots comparable to the cells that compose our body. This comparison gave its name to this
solution: Amoebots Derakhshandeh et al. (2016); Thalamy et al. (2019b); Luna et al. (2017).
Modular robotics are robots designed with parts that can be reconfigured to accept different
functions ?. They are autonomous systems with variable morphology. These systems are
composed of independent connected elements called modules or particles, whose connections
to one another form the overall shape of the system Ahmadzadeh et al. (2016).
MRS may construct their own structure, make alterations, or change the geometry of the
structure. While traditional robots are limited to a single application or goal, modular robots
have the potential to perform a wide range of missions Ahmadzadeh et al. (2015).
1.3. BACKGROUND DESCRIPTION AND DEFINITIONS 7
A MRS is a system that is presented as an undirected graph where the vertices are the modules
(or sometimes called particles) and the edges are the communication links between neighbour-
ing particles.
When working with modular robots, researchers face different challenges such as the connec-
tions between the particles, the data transfer among the modules, the communication inside
the structure or the ability to localize its own position in the space. Today, manufacturing
amoebots is impossible but the technologies of micro-fabrication and cellar engineering have
made such advances that the probability of discovering how to build it rises every day. That is
why research centers over the world are looking for theoretical models to face the maximum
of issues concerning programmable matter Derakhshandeh (2017).
This work is based on the general definition of amoebot model provided in the second part
of the document Derakhshandeh (2017) that state programmable matter as a uniform set of
simple computational units. In the general amoebot model, all the particles are connected to
at least another one and needs to connect with several particles to be able to move inside the
structure. None of the particles is free to flow inside the structure.
In this research, all the algorithms were developed to work on Blinky Blocks with the exception
of the reconfiguration algorithm using virtual forces in chapter 4. As a matter of fact, the
reconfiguration algorithm was developed and tested on VisiblSim using 2D Nodes because,
unlike Blinky Blocks, they have the ability to move.
All the particles are considered to be uniform. They are anonymous and indistinguishable
they have the same clockwise orientation and execute the same program. The communication
among the modules happens through exchanging messages. Each particle can communicate
with its adjacent neighbors only. A particle’s neighbor is defined as being the module that is
directly connected to that particle through an interface. Modules are only aware of their status
and their neighbors’ status.
Modular robots are a relatively new field in robotics and offer many unique advantages com-
pared to traditional robots. One such example of a modular robot is Blinky Blocks. Blinky
Blocks are a simple model of a non-self-reconfigurable modular robot that is designed to be
inexpensive to manufacture in large quantities. Unlike other modular robots, the Blinky Blocks
can be detached from one location and attached to another while still maintaining the overall
system consistency.
Blinky blocks use a new method for synchronizing the time across their network Naz et al.
(2016b). The Modular Robot Time Protocol (MRTP), combines several mechanisms to achieve
its performance. The first mechanism is a central time master election, where one node is
elected as the main source of synchronization for all other nodes in the network. The second
8 Introduction
mechanism is low-level time stamping, which records timestamps at each hop from the master
node. Finally, clock skew compensation using linear regression helps adjust any discrepancies
between the timestamps.
Experiments conducted on the hardware demonstrate the effectiveness of MRTP. Results show
that MRTP can manage real systems composed of up to 27,775 Blinky Blocks with few
resources at runtime and keep them synchronized within milliseconds precision depending on
various factors like hop distance from the master node. This is particularly important given
the poor accuracy and resolution of the clocks used by these blocks.
The practical implications are significant for managing large scale robotic networks. The
ability to synchronize time across a network of modular robots within milliseconds precision
is an important factor for ensuring their coordination and effective functioning. The results
show that MRTP is an effective solution for achieving this goal. Additionally, the use of few
resources at runtime means that the system can be managed efficiently and effectively, which
is important for large scale deployment.
The Blinky Blocks are cube-shaped and approximately 40mm in size, with a 10mm extrusion
at the top and a corresponding cavity at the bottom. They weigh approximately 50 grams
and are equipped with powerful processing, communication, and storage capabilities. Each
block contains an 8-bit RISC processor operating at 32 MHz, 80 KB SRAM, and 1.25 MB
FLASH, as well as communication channels that operate at speeds of up to 2 Mbps Kirby
et al. (2011). The white opaque shell of the blocks is designed to diffuse the RGB LED lights
and facilitate reliable connections between blocks through the alignment of magnets within
the interior. Rare earth magnets are arrayed to repel incorrect assembly and provide a strong
cohesive force that enables stacking over 15 blocks vertically and cantilevering at least 4 blocks
horizontally, allowing for the construction of large and complex structures.
The Meld programming language, a logic-based distributed language, has been adapted to
run on the Blinky Blocks. The language abstracts away the distributed nature of the system,
allowing programmers to program the blocks as if writing a single program that has access
to the features of all blocks. The Meld compiler and runtime take care of distributing the
execution and data storage, handling messages, faults, and changes in topology, freeing the
programmer to focus on the logic of the system. The build system enables programming,
simulation, and recompilation for various ensembles of blocks, making it possible to write
programs for ensembles of 10 or 100 blocks.
The primary mode of user input to the Blinky Blocks is reconfigurability, with color change
being the primary mode of feedback through the RGB LED lights. The blocks can also detect
changes in orientation, sudden impulses, play sounds through the onboard speaker, and capture
sound with the onboard microphone. These secondary capabilities allow the Blinky Blocks to
interact with end users in a more tangible and interactive manner. Additionally, the Meld
programming language is designed to express topological conditions and is a perfect match for
1.3. BACKGROUND DESCRIPTION AND DEFINITIONS 9
the Blinky Blocks, making them a valuable platform for exploring the utility of this language
in a live system Kirby et al. (2011).
Blinky Blocks offer a unique and valuable platform for exploring various aspects of modular
robots, including modularity, scalability, and reconfigurability. These capabilities are essential
for the development of future modular robots that can be adapted to changing environments
and applications. By exploring the use of Blinky Blocks, researchers and developers can gain
valuable insights into the potential of modular robots and the challenges they face.
In conclusion, Blinky Blocks are an excellent example of the potential of modular robots and
offer a valuable platform for exploring the capabilities and limitations of modular robots. The
Meld programming language and the build system offer a simple and intuitive way to program
and simulate the Blinky Blocks, making them an ideal platform for educational and research
purposes. The reconfigurability, scalability, and modularity of Blinky Blocks make them a
valuable asset in the development of future modular robots and the advancement of the field
of robotics as a whole.
In this thesis, and throughout out my entire research, I will focus my work on Blinky Blocks
that are introduced later in section 2.2.6.11.
1.3.2/ Definitions
In this paragraph we will be going through all the definitions of the terms used in this thesis.
Definition 1: Particle/module
Definition 2: Weight
The weight of a robot is defined as an intrinsic value calculated from the list of its
connection to neighbors. This concept is explained in details in subsection 3.2.1
10 Introduction
Definition 4: Anonymity
All the modules have the same design, the same hardware and the same algorithms.
The overall memory of 128KB for the application (including the firmware) and 32 KB
for the data, prevents the usage of heavy algorithms thus creating new algorithms to
solve traditional problems.
A Blinky Block module always have at least one neighbor in the structure and max-
imum of 4 neighbors in 2D and 6 in 3D.
The moment we turn the MRS on (in this case the Blinky Blocks), all the modules
begin with having the same internal clock. However in this case, since the modules
have the same internal clock at the time of system start-up, then they will generate
the same random numbers. Since all the Blinky Blocks V2 that are used are identical,
the change of the seed will not solve the problem; it will continue to generate the
same random numbers.
It is important to note that maintaining a synchronized clock is a difficult task to
achieve. Given the fact that modular robots are made of cheap material, clocks will
not be synchronized the whole time. In this manuscript, nevertheless, we consider
that all modules are logically synchronized due to the fact that it is very difficult to
determine the exact moment the internal clocks deviate. In addition, it is important
to note that the election of the leader, mentioned in chapter 3, happens the moment
the MRS starts, in other words, when the Blinky Blocks’ internal clocks are not yet
deviated. Even though clocks all start at the same time and are synchronized, the
programming model remains an asynchronous one.
1.4. CONTRIBUTION 11
A Blinky Block can only communicate with its neighbors, it is not able to contact
another modules except the ones that are directly and physically connected to its
ports.
A leader election algorithm is a method used by distributed systems to select one node
from among a group of nodes to serve as the leader. The leader is a special module
that plays a unique and central part in the execution of distributed algorithms. It is
responsible for coordinating the activities of the other nodes, such as communication,
managing resources, and making decisions. The algorithm ensures that only one
node is elected as the leader, even if multiple nodes initiate the election process
simultaneously.
Connected modules are latched neighbors that are able to communicate throw their
common interface.
1.4/ Contribution
The basic strategy is to construct smart materials that can be modeled and manipulated. An-
other technique to program matter is to embed it with code that allows it to respond to external
stimuli (such as heat or water). Programmable substances may be used to create prototypes,
distort robots, and even houses and structures. With the help of external commands, the ”Pro-
grammable Matter” project hopes to demonstrate a new functional form of matter based on
mm-scale particles. Nevertheless, it is difficult to integrate and coordinate sensors, actuators,
computing, and communication tightly into robotic materials, while preserving reconfiguration
and particles’ motion.
We will use lattice-based modular robotics to represent such self-organizing particle systems.
Particles that can bond with nearby particles to build connected structures are PMS in this
paradigm. We will see that in this work, we have developed a lot of algorithms that are based
on graph structure where we have waves to assure a synchronous functioning of the particles.
It is possible to explore several fundamental issues in such systems. In this dissertation, we will
examine leader election, self-configuration, fault detection, and security.
1.5/ Outline
This thesis proposes four algorithms that address four major challenges in programmable mat-
ter. Leader election, reconfiguration, security, and error detection. To address the issue of
leader election, this thesis proposes a new election algorithm. The suggested approach creates
a spanning forest by determining the weights of each module. Until one tree survives, each
spanning tree competes with its neighbors. The system’s leader is the root of the remaining
spanning tree. In a programmable matter system, the reconfiguration issue arises when too
many changes occur at once. A reconfiguration mechanism based on virtual forces is developed
to address this. With virtual forces, this method solves the self-reconfiguration problem. For
example, the suggested algorithm reduces the number of moves and avoids blocking locations.
In neighbor-to-neighbor communication, each module embeds the same algorithm. The pro-
posed technique is tested using simulation results. Third, an approach named DETECTOR
is suggested to identify defects in Programmable Matter Systems (PMS). In a hierarchical
approach, it detects disconnections. Assigning coordinates to each module and comparing
them to find disconnections. This continues until the leader is reached. Finally, a new se-
curity protocol is created to address programmable security. A hashing function is used to
encrypt data using lightweight cryptography. It takes years for a supercomputer to decrypt the
communication, according to analyses and simulations.
2
Modular Robots Generalities
Contents
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 History and Architecture of Modular Robots . . . . . . . . . . . . . 15
2.2.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Connections and Network . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.6 Multiple types of robots . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Modular Robots Characteristic . . . . . . . . . . . . . . . . . . . . . 30
2.3.1 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.2 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.3 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.4 Homogeneity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4 Application area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.1 Space exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.2 Telepario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.3 Bucket of stuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.4 Medical Application . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1 Self-Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2 Self-reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5.3 Self-Repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.4 Self-Reproduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.5 Self-sufficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.6 ID Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.7 Leader Election . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5.8 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
13
14 Modular Robots Generalities
2.5.9 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.6 Ethics in Modular Robots . . . . . . . . . . . . . . . . . . . . . . . . 41
2.7 Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.1. INTRODUCTION 15
2.1/ Introduction
rogrammable Matter is a term first coined in 1991 by Toffoli and Margolus Toffoli et al.
P (1991) to refer to a collection of fine-grained computer elements located in space. A
programmable material is a material whose properties can be programmed to produce specific
shapes or stiffness upon command. Thus, programmable matter is related to the concept
of a material that inherently has the ability to perform information processing. Robots with
modular designs are composed of multiple individual units, which are referred to as modules.
Each module is equipped with multiple actuators and sensors, as well as computational and
communication capabilities. The modules within a modular robot are typically homogeneous,
meaning all units are identical. However, there are also heterogeneous systems that consist of
a variety of modules for greater versatility. Faı́ña et al. (2013).
Further, evolutionary algorithms have been investigated for generating self-assembling, self-
adapting, self-repairing, and self-reproducible behaviors of modular robotics. Adaptive modular
robots are known by these characteristics, which enable them to operate in unstructured and
hazardous environments. This section will briefly introduce the history of MRS and their
architecture based on the MITE framework.
Generally, robots consist of two main components: control (brain) and morphology (body);
control is represented in many ways, including neural networks, which map sensory input to
actuator output. To enable open-ended synthesis, control and morphology should co-evolve
along with fitness functions and evaluation methods.
Versatility, robustness, and low cost are three of the promises of modular robotic systems.
(1)The MRS versatility comes from its ability to form a variety of shapes, each with many
Degree Of Freedom (DOF). It is the ability of a robot to self-reconfigure so that it can
accomplish a variety of tasks in a variety of environments; Versatility is measured by the
number of isomorphic configurations it can form and the number of DOF the robot has.
(2)The MRS is considered to be robust because of its redundancy and self-repair. Since it
is made up of many identical modules, if one goes down, the remaining modules can replace
it. (3)Also, with batch fabrication, low costs can be guaranteed. With increasing repetitions,
economies of scale take effect, reducing the per-module costs Yim et al. (2000). Keeping
low cost is also achievable through rapid prototyping equipment; such as 3D printing. As a
way to enhance the aforementioned characteristics in modular robotic systems, evolutionary
tasks-based design approaches are used as an alternative to traditional design techniques.
Robotic controls have become a hot topic in research because they are more adaptable than
the morphologies; Floreano et al. discussed the evolution of a small-wheeled robot that uses
16 Modular Robots Generalities
a neural network and Genetic Algorithm (GA), to navigate loops. A focus group experi-
ment demonstrated that the fitness function evolved, as did the cruising speed of the robot,
which reinforces the idea that evolution can lead to better adaptations Floreano et al. (2007).
The book by Nolfi and Floreano offers a set of navigational experiments, ranging from very
straightforward to very complex, to illuminate different mechanisms of adaptation. By captur-
ing interactions between machine and environment that can’t be captured by a model-based
approach, the evolved solution displayed superior performance in certain cases. On the other
hand, more complex tasks exposed the limitations of reactive architectures Nolfi et al. (2000).
Previous research studies developed robotic controls for fixed morphological structures that
users designed. Further investigations indicate that they need to co-evolve robotic control and
morphology to produce more fit robots, just as nature does. A biped robot was evolved in
simulation using a coupled evolution of its shape and control parameters using a GA Paul et al.
(2001); the closed-loop recurrent neural network controller was optimized simultaneously with
the morphological parameters.
Through the introduction of coupled evolution and morphological control, complex systems
that would be difficult to design with traditional methods could be automated. Lipson and
Pollack explored concepts of automatic design by using motors and actuators without sensors;
neurons controlled the robots, while bars and linear actuators controlled the morphology. The
resulting solutions were remarkably elaborate and would have been much more challenging to
design using traditional methods Lipson et al. (2000); however, their manufacturability was
an obvious constraint. In order to build a wide variety of robotic structures, simplify the
search space, and ensure easy implementation, in reality, Faiña et al. proposed modular robot
structures as fundamental building blocks for evolutionary processes Faı́ña et al. (2013).
In 2000, Yang and Chen proposed the minimized degree-of-freedom concept for task-based
modular robot design optimization. Therefore, with fewer DOF, the modular robot can do the
task better in terms of energy consumption and loading capacity. The robot configuration is
represented by a matrix of assembly incidence. It uses evolutionary algorithms (EA) to search
for the optimal solution. A simulation of this algorithm had suboptimal results.
In 2001, Hornby et al. Hornby et al. (2001) proposed an automatic design system for modular
physical robots that could become more complex; The goal of their work was to reach high
complexities through generative design and simplify design changes by reusing modules; it
aimed to solve the limitations of an evolutionary design approach so that it may be applied
to practical engineering. Robots take cues from TinkerToy, with bars and joints modeled
after TinkerToy elements; the 2D robots are designed and optimized in simulations using
Lindenmayer’s system. After hand-assembling the actual robot, the work described how the
robot was developed for locomotion, together with the robot control system, and the work
produced a real robot that was moved in real life.
It was proposed in 2013 by Faina et al. to design heterogeneous modular robots using evolution-
2.2. HISTORY AND ARCHITECTURE OF MODULAR ROBOTS 17
ary algorithms; such a system is capable of designing complete robots, including their control
and morphology. They also proposed a distributed control architecture with heterogeneous
modules. Robotic morphology smooths the search space by using tree-like representations. In
simulation, the control and morphology of the robot will be co-evolved through a constructive
evolutionary strategy. After the robots are designed, the results are tested physically in order
to prove feasibility. The results of linear motion problems were promising, but static problems
needed improvements Faı́ña et al. (2013). A modular robot can be programmed with evolu-
tionary algorithms to use self-assembly from modules, self-reconfiguration into different forms,
self-repair based on errors and failures, and self-replication where one system can produce
another autonomous system.
Using Modular Robotic Systems (MRS) in various application domains brings up a slew of
difficult design, optimization, and planning issues, therefore recognizing the characteristics of
these issues is a crucial first step toward developing appropriate solutions. MITE is a framework
that has been proposed by Ahmadzadeh et al. (2016) that analyzes recent trends, research gaps
and limitations, as well as outstanding concerns in the field of Modular Robotic Systems (MRS).
The below section is heavily based on this MITE framework introduced by Ahmadzadeh et al.
(2016)
2.2.1/ Classification
Modular refers to something consisting of separate parts or units that can be joined together,
according to the Oxford English Dictionary. So, in essence, a modular robot is simply a robotic
body whose individual parts can be assembled to form a final body to perform a function.
The modularity of modular robots can be achieved in many ways, resulting in several different
classes of modular robots Murata et al. (2012b), including the fixed-configuration style, the
manually configurable style, and the self-configurable style. An autonomous robot within a
fixed-configuration class consists of identical or non-identical modules that have a certain level
of independence. Humans can add or remove modules from a manually-configurable modular
robot to increase its functionality. It is composed of an extensible, flexible morphology. Modular
robots that can reconfigure themselves independently without requiring human intervention
can change their configuration automatically. During the early 1990’s, researchers mostly
focused on two classes of modular robots, the first two categories of robots being the modular
form factor and the third class of modular robots being the modular manipulators, which are
composed of discrete joints and links and can be assembled in many different ways Chung et al.
(1997); Zhu et al. (2007). As autonomous systems became more important, attention shifted
to self-configurable modular robots, and most state-of-the-art works deal with the autonomous
self-configurable class of modular robots.
18 Modular Robots Generalities
Modular robotics depends heavily on connectors in that they maintain connections between
modules while exerting shear forces. As it turns out, the strength of the connectors directly
influences the robustness of a modular robot’s structures; for example, lattice-based modules
can be made more solid in their final form, or chain-based modules can survive higher torques.
A connector can be characterized from three perspectives: Actuation, Geometry, and Mech-
anism. Connectors can be active or passive from the standpoint of actuation. Activated
connectors are equipped with hardware components, like motors and latches, that allow them
to maintain a secure connection between two modules. As opposed to an active connector, pas-
sive connectors are equipped with mechanisms for accepting or releasing connections. Passive
connectors, on the other hand, receive connections, while active ones initiate them.
When looking at connectors from a geometric point of view, they are generally designed as
complementary shapes, i.e., male and female connectors (or, gendered connectors). Connec-
tors that increase symmetry among modules are called genderless connectors (also known as
hermaphrodite connectors). The connections of two genderless connectors, however, require
the control of two active connectors, making it more complex than that of connecting two
gendered active and passive connectors. As a result, each gendered connector requires only
one actuator for control and can make use of implicit alignment of link faces with the help of
guides embedded in the connection faces.
2.2.3/ Actuation
An actuator is a mechanic that is embedded in a module that provides either gait locomotion,
self-reconfiguration, self-assembly, or other functions. Module-based robots are controlled
by actuators, which create rotary and linear motions to provide them with basic low-level
functionality, such as:
• Rotation of joints,
• Expansion and contraction of modules along a fixed axis (via telescopic linear actuators)
In typical modules, actuators occupy greater than 50% of the volume and weight White et al.
(2007), and so they pose a significant obstacle to module downsizing. Actuators, as in conven-
tional robots, are responsible for providing degrees of freedom to a modular robot and must
be capable of generating sufficient torques to control the modules chained serially to them.
This is a crucial point that makes embedding actuators into modular robots difficult, since
high-performance actuators make the modules heavier and larger due to their size, weight, and
energy consumption. Thus, a balance must be struck between the actuation capability of a
module and the weight and size of its actuators.
The most prevalent actuation mechanism is motors, which are available in a variety of forms.
It is less likely that a motor with a permanent magnet and winding stator will wear out than
one with a brushless direct current (BLDC) rotor. The drawback of such motors is that they
require expensive control electronics, such as Hall Effect sensors that sense rotor position and
provide the proper signals to trigger motor rotation. The high torque-per-weight and torque-
per-watt ratios of BLDC motors make them a common choice for modular robots. Modules
with brushless motors include Telecubes Suh et al. (2002), G2 Yim et al. (2003b), PolyBot Yim
et al. (2000), and Odin Lyder et al. (2008). Compared to BLDC motors, brushed DC motors
(BDC) tend to be easier to operate, since their brushes are energized when they are in contact
with the commutator when a current is applied. BDC motors are more expensive and easier to
control than BLDC motors, despite being less efficient and larger. Some modules use BLDC
motors, such as Roombot Spröwitz et al. (2014), SMART Baca et al. (2012), and M3Express
Wolfe et al. (2012). Stepper DC (SDC) motors also can be used to build modular robots,
especially if precision in the motor control is needed, but SDC motors are more complex
and less cost-effective than BDC motors. The modular robots X-Cell and ModRed Hong
et al. (2011); Dai et al. (2012) use SDC motors. The shape-memory alloys (SMAs) used in
solid-state actuators can be considered lightweight solid-state actuators since they return to
their original shape when heated. A SMA actuator’s response time is slower than that of a
motorized actuator since it must experience a cycle of heating, cooling, and deformation in
order to function. In addition, regulating the temperature of SMA actuators can be difficult
20 Modular Robots Generalities
for modular robots operating in changing environments Yim (1994). SMAs are particularly
suitable for microscale actuators because of their small size and high shape recovery forces.
There are instances in modular robots where modules can rotate and move by means of SMAs,
such as in Miniaturized System Yoshida et al. (1999) and Cellular Slime Mold Lee et al. (2010).
Although SMAs can typically be found in connectors for actuating or releasing latches (as in
PolyBot Yim et al. (2000), CONRO Castano et al. (2000); Will et al. (1999), and M-TRAN
II Kurokawa et al. (2003)), there are instances where modules can move and rotate by means
of SMAs.
The electrostatic force between two charged objects can also be employed to generate actu-
ators. In macro-scale modules, electrostatic forces must be exerted at high voltages and the
electromagnetic impact diminishes with the function of the distance between side groups. Be-
cause charged bodies are so close together in microcosm, this concept is helpful. Two examples
of electrostatic actuation mechanisms implemented in modular robots include the development
of a latching mechanism between Claytronics modules Karagozler et al. (2007) and the devel-
opment of a configurations for the ”micro-scale MEMS” module Donald et al. (2006). Using
an electrostatic field instead of the Fracta module’s magnetic field mechanism, Murata et al.
(1994) proposed a ’Micro-scale Fractum’ module. It’s also worth noting that the traditional
method of providing actuation via mechanisms embedded within module hardware has been
replaced by a newer approach that appears to suggest that actuation capacity should not be
incorporated within the module’s body but rather given through foreign factors, thus trying to
remove the primary barrier to component reduction. In the case of external source actuation
works such as Kurokawa et al. (2002); Miyashita et al. (2008); Tolley et al. (2011b); White
et al. (2007), which mainly utilize motive forces in fluids or other viscoelastic environments to
start introducing Brownian movements in modules with unidentified self-assembly or reconfig-
uration times, Brownian motions can be introduced in modules with unfamiliar self-assembly
or reconfiguration times. There are certain hexagonal modules with magnetic connectors at
the edges placed on a table with vibrating motions in rhythm with the magnetic bonds and
module inertia, as proposed by White and Yim White et al. (2007). Magnetic pair bonds
can be broken and reconfiguration initiated in other edges by rotating this system’s modules
around one of their edges. The table’s synchronous motion causes the module to spin around
the edge connected to its neighboring modules. A rotation and subsequent movement to its
new location complete the process.
2.2.4/ Mobility
There are two modes for the Motion attribute: Deterministic and Stochastic Yim et al. (1997),
which govern how a module reconfigures and travels around in the workspace. Deterministic
reconfiguration is an advantage for most modular robots, including chain and lattice archi-
tectures, because it allows for specified workspace movements. As a result, modules can be
2.2. HISTORY AND ARCHITECTURE OF MODULAR ROBOTS 21
coded ahead of time and/or during a task’s execution. If a module’s mobility is stochastically
reconfigured, such as if it is floating in a fluidic environment, the path between two points
is supposed to be a random process analogous to Brownian motion. Stochastic reconfigura-
tion decreases the need for power supply, processing power, and actuation capabilities because
modules using this movement method can obtain their energy from the environment. Further-
more, this technique paves the door for micro and nanoscale modules to reposition, connect,
and detach utilizing environmental energy rather than the module’s own energy Tolley et al.
(2011b). Research on stochastic modular robots focuses mostly on the design of connection
mechanisms and self-assembly planning. A stochastic fluidic assembly system proposed by Tol-
ley et al. Tolley et al. (2011a) is an evolutionary approach to the evolution of a goal structure
from a large number of active components. Some more instances of stochastically moving
modules include Stochastic 2D cite25 white2004stochastic, Stochastic 3D White et al. (2005),
Programmable parts Bishop et al. (2005a), and Single Material modules Tolley et al. (2010).
Several bio- and chemo-inspired self-assembly planning approaches for stochastically-moving
modules are also examined, citing Hosokawa et al. (1994), Miyashita et al. (2008), Rothemund
et al. (2000), Shimizu et al. (2009), and Zykov et al. (2007b).
2.2.5/ Design
The most prevalent and well-known modular robot hardware architectures are Chain, Lattice,
Mobile, Hybrid, and Truss. Gilpin and Rus Gilpin et al. (2010b) developed free-form archi-
tecture to cover a few unusual systems that didn’t fit into established designs. Complex and
flexible structures like as strings, loops, and trees with many degrees of freedom are formed by
connecting several modules with limited Degree Of Freedom (DOF). Chain structures offer a
lot of versatility, but the representation, control, coordination, and computation that go along
with them are often fairly complex. Three-dimensional or two-dimensional lattice architecture
is made up of modules that can be organized into hexagonal or rectangular patterns in three di-
mensions (grids). When a lattice module needs to cross a grid cell, it relies on the cooperation
of its neighbors. Lattice systems are typically more convenient for modeling and addressing
reconfiguration planning problems than chain-based architectures because modules can take
advantage of highly abstracted representations like regular polygon cells and sliding-cubes, and
they can be operated in simultaneously.
Allowing modules in a mobile architecture to move around the environment on their own
is a key part of the design. A lattice or chain structure can be constructed by connecting
modules together. Mobile modules are swarm robots on wheels that can dock. With its three
independently propelled wheels and ability to join complicated chains and lattice structures,
the M3 Express is a self-moving modular robot.
Using struts that can stretch and contract, truss-based modules build truss-like structures.
modules include struts with variable or fixed lengths, as well as components that allow the
22 Modular Robots Generalities
connection of many modules together. Hamlin et al. (1996) was the first module in this
design to have prismatic joints, which allowed all linkages to alter length. In either chain
or lattice structures, free-form modules don’t quite fit. They don’t need to form a regular
lattice structure to work well because they can build modules in semi-arbitrary spots.. Catoms
Kirby et al. (2005) and Slimebot Shimizu et al. (2005) are good examples of modules that
don’t require external components. With the help of Gilpin et al. (2010b), you may learn more
about Free-form modules. One other option is a combination of lattice and chain called Hybrid
architecture. This means that the chain module-specific gait movement can be used by hybrid
modules to construct lattice structures and connect to one other like chains. According to the
figure referred to above, the MITE framework for MRS architecture and characteristics can be
summarized in the following way:
Electrostatic
Hydraulic
force Free-form
Fixed Configuration Actuation Geometry Mechanism Function Mechanism Source Deterministic Chain
Figure 2.1: The MITE framework for characterizing Modular Robotic Systems Ahmadzadeh
et al. (2016)
As there are an increasing number of modular robotic prototypes in the literature, this section
describes a number of emphasized prototypes that participated in the research growth of
evolutionary modular robotics. The subsections are listed chronologically by publication date.
2.2.6.1/ PolyBot – 2000 - Xerox Palo Alto Research Center, Palo Alto,
CA, USA
Several generations of PolyBot modules were prototyped, each one with a number of im-
provements made to address the limitations of the previous generation. PolyBot is a modular
2.2. HISTORY AND ARCHITECTURE OF MODULAR ROBOTS 23
self-reconfigurable robot that was developed to explore how realistic it is to make robots using
generic hardware modules. A first generation (G1) node is a square prism with one rotational
DOF separating two ports, while a segment module is a rectangular prism with three rota-
tional DOFs. There are six connections available on each of the fixed passive cubes. For its
second generation (G2) connections ports, software controls the electromechanical latches, in
contrast to those in its predecessor. In third generation (G3) modules, the pins latch onto the
protruding pins on the opposite face. There is no DC motor on the outside of the modules.
This new module utilizes an internal harmonic gear and DC pancake motor; the connectors are
larger and have a stronger contact force for higher current load to enhance performance. Due
to software scalability and hardware dependency issues, PolyBot’s robustness has decreased
as the number of modules increases. However, the first two generations of PolyBot prove
versatility by moving over different terrains. Current PolyBot systems allow a maximum of 32
modules per system; each module has 1 degree of freedom. This system is capable of walking
like people, rolling like a snake, and moving like a lizard, or centipede in its third generation.
PolyBot is capable of self-reconfiguration by changing its geometry and locomotion mode de-
pending on the terrain type – rolling over flat terrain, earthworm to move around obstacles,
and a spider to step over hilly terrain. In many applications, a fixed set of configurations is
sufficient to permit self-collision-free motions, as the size of this space is exponential in the
number of modules and proportional to the number of DOF. It is also possible to preplan and
store reconfigurations off-line Yim et al. (2000) so that they can be executed easily if necessary.
The Crystalline system Rus et al. (2001) has an extension called the Telecube, which is a
compact cube. Each cube includes six prismatic DOFs and four sides that can expand more
than twice their length; The cubes may attach and detach magnetically to construct a self-
configurable modular robot Suh et al. (2002). It is expected that the original and final con-
figurations will overlap by employing a meta module during reconfiguration. A module is then
picked using the Minimum Manhattan Distance and a route is developed using a similar tech-
nique to PacMan for the selected module. Active modules and passive modules can be grouped
together during execution as soon as the path is established, allowing for a more efficient use
of resources. This reconfiguration approach performed worse when local decisions and parallel
execution were used instead of the active modules.
24 Modular Robots Generalities
Using 10 modules, the current M-TRAN robot successfully demonstrated the basic operation
of self-reconfiguration and motion generation. This piece of robotic technology is a distributed
lattice-based self-reconfigurable robot that can generate various configurations, including walk-
ing. Several software programs have been developed to control M-TRAN hardware, including a
kinematics simulator, an application for creating configurations and motion sequences, and an
automatic motion planner. Several improvements were made to M-TRAN II in order to allow
for versatile body movements and complex reconfigurations. Those improvements contain a re-
liable attachment/detachment mechanism, high-speed inter-module communication, onboard
multicomputer, accurate motor control, and low energy consumption. As well as verifying mo-
tions in dynamics simulations, the software has been enhanced to design self-reconfiguration
processes Kurokawa et al. (2003).
The third prototype (M-TRAN III) uses a distributed control system that provides multiple
control modes, including single-master, synchronous global control, and asynchronous parallel
control modes. The scalability and homogeneity of the system were maintained in all tests
involving self-reconfiguration experiments with units as large as 24 Kurokawa et al. (2008).
MOTE, a lattice-based system with roughly spherical modules, connects each sphere by an
infinite revisit joint, is another self-reconfigurable robot apart from ATRON, another self-
reconfigurable modular robot. Each module can rotate 360 degrees around the equator by
rotating around an axis diagonally through the sphere. In this design there is a lot of room
for mechanics, allowing very stable construction around the joints. In contrast, because the
basic module is spherical, connecting larger flat surfaces can be difficult. Because of the high
collision probability, spherical modules require connectors to establish essential contact between
modules, which is not desirable. A secondary effect of the mobility limitations of ATRON is the
use of ATRON’s meta-module to reduce the motion constraints. The meta-module is made
up of 3 components: a body at the center, a leg at either end and a grip at the top.
ATRON control module consists of three Artificial Neural Networks; one determines whether
the self-reconfiguration and self-repair processes will emerge, the second determines when they
will cease, and the third calculates the fitness value of every state. A Genetic Algorithm is
utilized to upgrade loads of the ANNs. Despite the fact that ATRON modules are moderate
since they have just one activated DOF, a group of modules was fit for self-reconfiguring in
3D recreation; Comparatively, ATRON modules exhibited self-repair effectively in reenactment
Østergaard et al. (2006); YIM (1993).
2.2. HISTORY AND ARCHITECTURE OF MODULAR ROBOTS 25
On an air table, above oscillating fans sort triangular programmable components, which are
subsequently self-assembled into a variety of shapes using graph grammar mathematics, as
established in 2005 by Bishop et al. Magnets are used to communicate and selectively link
the modules without having a global understanding of the complete geometry. Due to design
limitations, only six of the planned 100 pieces could be manufactured. To demonstrate how
chemical systems respond, these six components were utilized in an experiment Bishop et al.
(2005a). A Markov Process Model Napp et al. (2006) based on kinetic rate data was developed
by Napp et al. in addition to prior graph grammar work.
The Molecubes system is a modular robotics open hardware and software platform that was
created to lower entry barriers and speed up progress. Modules with one rotational DOF
make up the system. Gripper, actuated joint, controller, camera, and wheel were among the
active modules on display, along with a variety of passive modules. Each module is a cube
with round corners that is made up of approximately two triangular pyramidal halves that are
connected at their bases so that their main axes are parallel. Each of the module’s six faces has
an electromechanical connector that can connect two modules. Symmetric connector design
allows for four different relative orientations of two connected module interfaces, resulting in
four different robot kinematics Zykov et al. (2007a). In order to generate a specific behavior
or motion, a genetic algorithm is used to evolve the modular neural network control of robots
in simulation Zykov et al. (2008). Path planning is done with a gene pool created using an
evolutionary algorithm Zhong et al. (2010) in order to achieve self-replication.
Catoms are directly linked to the claytronics project. The word ”claytronics” originated from
both words clay and electronics Tucci et al. (2018); Thalamy (2020). In fact, this project is vast;
26 Modular Robots Generalities
it began in Carnegie Mellon University and then was joined by FEMTO-ST institute/CNRS.
The objective of this project is to create millimeter scale robots that when assembled build a
large robot. A catom2D, Figure 2.2, is a 1 mm diameter module that can be manufactured
in large quantities. According to Karagozler et al. (2009) a unit should include only enough
functionality to contribute to the desired functionality of the ensemble. In order to simplify the
mechanism, conductive plates on the surface of the unit were used for movement, adhesion,
and communication. Electrostatic forces are the essential key for moving the robots around.
Ryland and Cheng created an intelligent self-configurable modular robot with four degrees of
freedom and six connection faces in each module. Individual modules in this robotic system
have complete mobility, in contrast to the other systems discussed in this paper, which require
modules to be connected in a cluster to perform all types of locomotion. For instance, the
M-TRAN module is capable of crawling but requires a second module to turn. Additionally,
the iMobot robotic system is capable of a variety of novel locomotion modes, including driving
and lifting into a camera platform Ryland et al. (2010). iMobot searches for the optimal
genotype capable of generating a particular robotic gait using a distributed agent-based Genetic
Algorithm Ko et al. (2010).
Blinky Blocks are centimeter-scale blocks developed as part of Carnegie Mellon University’s
Claytronics project Kirby et al. (2011). These blocks enable the deployment and testing of
distributed algorithms on hardware platforms. They are more manageable than millimeter-
scale catoms due to their size. Additionally, they are inexpensive, allowing algorithms to
be evaluated on ensembles of dozens of units. This allows for the assessment of ensemble
programming’s emergent properties. Blinky Blocks have evolved through multiple generations.
The most recent was created in collaboration with the FEMTO-ST research institute by the
Tech Power Electronics company. FEMTO-ST did a lot of research on modular robotics and
tested them on blinky blocks such as: Bassil et al. (2020), Naz et al. (2018b), Piranda et al.
(2021), Thalamy et al. (2021). Each module contains its own processing power, as well as
sensors and actuators such as RGB leds that can be programmed to glow in various colors.
Blocks are capable of sensing their current orientation as well as external stimuli such as
shaking or tapping. Additionally, they are capable of playing and recording audio. Each of a
system’s blocks executes the identical program. Magnets connect them. A block may have up
to six neighbors with whom he may communicate via serial links located on the block faces
(neighbor-to-neighbor communication model). Connecting a single block to a power supply
is straightforward. Dedicated pins are used to distribute power across the system. Manual
reconfiguration of Blinky Block ensembles is possible: users can plug and unplug units during
runtime to enable behavior changes based on new physical groupings. In 2021, the OMNI
team at FEMTO-ST institute broke the record for the largest modular robot composed of
1,824 modules made from Blinky Blocks.
(a) (b)
Figure 2.4: Examples of modular robots: Figure 2.4a represents a polybot introduced in Yim
et al. (2000); Figure 2.4b is a Tripod configuration of CONRO Castano et al. (2000); Figure
2.4c is a Five YaMoR modules Moeckel et al. (2006); Figure 2.4d is a lattice modular robot
called ATRON Jorgensen et al. (2004); Figure 2.4e is a Rotating M-Block Romanishin et al.
(2013); Figure 2.4f is a 2D Crystalline Rus et al. (2000) modular robots with extensible arms;
Figure 2.4g is a Superbot Salemi et al. (2006) modular robot in a humanoid configuration.
Figure 2.4h M-TRAN Kamimura et al. (2002) modular robot in 4-legged configuration; Figure
2.4i is a SMORES Davey et al. (2012) modular robot.
30 Modular Robots Generalities
2.3.1/ Symmetry
The number of configurations that a modular robot may generate is directly affected by module
symmetry, which might be geometrical (i.e., in shape) or functional (i.e., in connection ports).
Geometric symmetry generates isomorphic (topologically identical) configurations, lowering
the number of unique configurations and, as a result, the size of Configuration space (C-
space). Functional symmetry, on the other hand, is concerned with the kinematic symmetry of
modules, with a module having functional symmetry if its kinematic qualities remain constant
as it rotates around different axes. Park et al. Park et al. (2008) showed that the number
of various ways in which n modules can interconnect has an upper bound of (cw)n for a
homogeneous modular robot with c connection ports and w ways of connecting, because each
module can connect in w ways to c(n-1) modules. Due to the lowering of the parameters c and
w when symmetry is considered, the total number of different configurations is much fewer
than the upper bound. Asadpour et al. Asadpour et al. (2009) proposed the symmetry factor
to simplify the representation of MRS by the use of symmetry. It is defined as the number
of unique rotational rotations that maintain a module’s spatial orientation. For example,
the Molecube module has a symmetry factor of 24, which implies it can be flipped in 23
various directions while maintaining its spatial orientation. The way configuration diagrams
are represented is affected by module symmetry. Chen and Burdick Chen et al. (1998) described
a symmetrical rotational grouping as the set of rotations that transfer a module to itself, and
2.3. MODULAR ROBOTS CHARACTERISTIC 31
they represented configurations using the Assembly Incidence Matrix (AIM). They employed
network isomorphism and symmetric rotational groups to construct equivalence connections
on the s, then used the Polya’s Enumeration Theorem to compute the amount of equivalence
classes, or unique configurations.
Relying on their symmetry properties, Murata and Kurokawa Murata et al. (2007) categorized
modular robots into anisotropy (similar to interlayer modules) and anisotropic classifications
(like chain and mobile modules). An isotropic subsystem, namely the Rhombic Dodecahedron
molded modules in Yim et al. Yim et al. (1997), exhibits the same properties when tested
in different directions, whilst the characteristics of an anisotropic architectural style, including
the vast bulk of chain-based modules, display systematic variation.
2.3.2/ Scale
The scale attribute is associated with the physical measurements of modules, which range from
huge modules generated at centimeter and millimeter scales (i.e. macro scale) to microscopic
scheduling method at fractions of a millimeter scale (i.e. micro scale) and even nanoscale
scale (i.e. nano scale). Most typical modular robots are designed on a macro size, and
they regularly connect to one another and change configurations via a self-reconfiguration
procedure. Micro-scale modules are constructed on the dimension of biological cells, which
could be as small as 2 micrometers for bacteria and as large as 20 micrometers for multicellular
organisms. Despite recent substantial reductions in the scale of electronic components such
as transistors and microprocessors, the design of micro-scale modules, which limit the size of
modular robots, remains a difficult challenge due to technological limitations in manufacturing
micro-scale sensors and motors. However, by reducing the size of modules, their capabilities
are also lowered. As a result, the present hardware challenge is centered on shrinking the size
of embedded systems modules while preserving adequate capabilities Murata et al. (2012a).
In fact, the dimensional restrictions of their fundamental components, such as actuation,
batteries, and connection mechanisms, limit the size of mechatronic modules. However, one
method for scaling down modules is to decouple actuators and batteries from modular and have
the environment fulfill motion and energy requirements. For example, Fu et al. (2012) designed
a particular micro connection system for connecting, aligning, locking, and detaching modular
robots by leveraging elastic alloys that can switch connection function on or off. Donald et
al. Donald et al. (2006) presented a microelectromechanical system (MEMS), which is a
rectangle (260x60 µm) module capable of moving over a substrate with embedded electrodes.
Its attachment mechanism consists of a 100 µm raised tail that is attached to the substrate in
reaction to a specified voltage. Tolley et al. Tolley et al. (2008) created silicon tile modules
with dimensions of 500x500x30 µm in width, height, and thickness, and outfitted them with a
singular passive latch on each side as a connecting mechanism. They demonstrated the ability
of such modules to self-assemble in a fluid environment.
32 Modular Robots Generalities
Nano modules construct molecular devices from artificially generated molecules. In DNA tech-
nology, the DNA molecule has a diameter of 2 nm and is actually referred to as a programmable
material. It has been used to successfully produce nanometric structures. Both 2D Rothemund
(2006) and 3D Shih et al. (2004) nanostructures have been successfully created using the DNA
Origami method. Yurke et al. Yurke et al. (2000) developed tweezers made of DNA molecules
that can be used as operators for nano-scale modules. Because those modules lack inbuilt
actuators and power supplies, they must rely on the environment to meet their energy needs.
These modules are activated by environmental forces (such as flotation in a fluidic environ-
ment) and self-assemble to change configuration. The scale of a module has a direct effect on
how a modular robot accomplishes its assigned tasks. The size characteristic, for example, de-
termines the desired final configuration, such that in micro-scale MRS, homogenous structural
patterns are largely sought, whereas in macro-scale MRS, the formation of low-scale structures
with desirable functionality is realized Kernbach et al. (2011).
2.3.3/ Structure
If a robotic system can only move down a line, on a plane, or in space, it is said to have linear,
planar, or spatial structure. Two elements influence the structure of an MRS: system configu-
ration and module mechanics. For example, M-TRAN modules are linear when configured as
a circuit or snake Kurokawa et al. (2002), planar once configured as a multi configuration, and
structural when configured as a grouping of modules that circulate in workspace Fitch et al.
(2013), Kurokawa et al. (2002), Kurokawa et al. (2000). Fracta modules (Murata et al. 1994),
on the other hand, can only build planar structures in whatever arrangement they form since
they lack movement along the z-axis. Such that, they lack a mechanism for climbing over one
another. Table 2.1 depicts the most complicated structure that every module is capable of
achieving.
2.3.4/ Homogeneity
Essentially, this aspect tends to refer to the existence of modules in an MRS that are either
identical or dissimilar in their features: an MRS was shown to be homogeneous if all of its
classifying modules have the same geometrical and functional characteristics as well as the
same computing power, actuating functionality, and so on; an MRS is said to be diverse if all
of its constituent parts modules have markedly different capabilities and the same geometry and
functional characteristics. It is easier to plan for the achievement of a goal configuration when
all modules are identical since any module can inhabit any slot in the configuration, enabling for
more straightforward hardware and software to perform the planning work. As a result of the
heterogeneity of MRS, it becomes more versatile, but at the expense of increased hardware and
software ambiguity: strategic plan becomes more challenging in heterogeneous MRS because
2.4. APPLICATION AREA 33
the diversity imposes restrictions on the locations of specific modules particularly in comparison
to other modules, making it more difficult to design the system. Example scenarios include
situations in which a motorized module can only be positioned at the ends (limbs) of a tree
structure or in which a module supplied with batteries can only be placed at hub points. These
limits must be taken into account by the self-reconfiguration planner in order to maximize
the use of special-purpose modules not just in final configuration but also in transitional
configurations in such instances. Baca et al. Baca et al. (2012) constructed customized power,
control, and joint modules then combined them physically into leg-based, wheel-based, as well
as mechanical arm configurations, among other things. They made use of such combinations
for both manipulation and movement in their work. Brunete et al. Brunete et al. (2011)
developed camera, interface, rotation, inchworm, and helicoidal modules featuring variable
motion capabilities for use in pipe inspection applications, as well as a camera and contact
module. An asynchronous empirical method that can realize diverse gaits for movements inside
pipes was developed with the help of the Genetic Algorithm (GA). Moreover, the work of Fitch
et al. Fitch et al. (2003) looked into a diverse lattice-based MRS.
Long-term space missions are one application that illustrates the benefits of self-reconfigurable
systems. These necessitate a long-term self-sustaining robotic ecology capable of dealing
with unanticipated circumstances and maybe requiring self-repair. Self-reconfigurable systems,
in comparison to fixed configuration systems, can tackle jobs that are unknown in advance.
Furthermore, space missions are severely limited in terms of volume and bulk. Sending a robot
system that can reconfigure to perform several jobs rather than sending many robots that can
only perform one activity might be more effective. Telepario
34 Modular Robots Generalities
2.4.2/ Telepario
Todd Mowry and Seth Goldstein of CMU invented the term ”telepario” Goldstein et al. (2005)
to describe another type of application. The researchers want to create moving, tangible,
three-dimensional representations of people or things that are lifelike enough for human senses
to perceive them as genuine. This would reduce the need for bulky virtual reality equipment
while also overcoming the viewing angle constraints of current 3D methods. The copies would
take on the shape and look of the person or item being photographed in real time, and they
would follow the originals’ movements. One feature of this application is that the focus is on
geometric representation rather than transferring forces to the environment, as is usual with
robotic manipulation.
”Bucket of things” is the name given to a third long-term goal for these systems Karagozler
(2012). Consumers of the future will have a container of self-reconfigurable modules in their
garage, basement, or attic, according to this idea. When a need occurs, the customer summons
the robots to do a work such as ”cleaning the gutters” or ”changing the oil in the automobile,”
and the robot takes on the required shape and completes the operation.
There is a clear trend toward miniaturization of medical devices for minimally invasive medical
procedures ranging from diagnosis and targeted drug delivery to complex surgical interventions.
Current research focuses on improving the functionality of commercially successful capsule
endoscope technology through the development of active locomotion and telemetry. The size
of such a capsule should not be larger than what a person can swallow without difficulty.
Building a modular robotic system in which the modules are swallowed one at a time and the
final assembly is performed inside the gastrointestinal (GI) tract is one approach to increasing
functionality while remaining within this size constraint. In their paper, Zoltan Nagy et al.
Nagy et al. (2008) address a fundamental challenge that must be overcome for such swallowable
modular robots to succeed: their self-assembly. They proposed using magnets in a specific
configuration on the mating faces of the modules. Their findings demonstrated that high
success rates are possible, and snake-type robots can be self-assembled with compliant magnetic
joints, allowing them to adapt to highly irregular paths such as the small intestine.
2.5. CHALLENGES 35
2.5/ Challenges
2.5.1/ Self-Assembly
As part of modularity, self-assembly is one of its greatest benefits, since self-assembly is the
process of building complex multi-unit systems utilizing simple governing elements. This self-
assembly tendency is widespread in nature and accounts for much of the functionality of living
cells Bishop et al. (2005b). It is uncommon in the technological field due to its status as a
relatively new concept compared to its application in the other fields, even though it could help
lower costs, improve versatility, and increase robustness, which are the promises of modular
robotics. Self-assembled robots can perform tasks in remote or hazardous environments due
to their ability to assemble larger, stronger machines using smaller modules.
The authors Tucci et al. (2018) focused their research on modular robots made up of numerous
homogeneous modules with minimal processing capabilities that may change the way their
modules are connected by releasing or docking part of them to form a specific shape, resulting
in intelligent matter. They concentrated on resolving the issue of building 3D constructions with
interior holes. Modules dock in accessible locations while the structure is being built, although
some positions may become impossible to reach due to other modules blocking them. Three
steps make up their algorithm. The first stage is to build a spatially efficient description of the
final scene and transfer it to a seed module within its location on the representation. The second
phase is to structure the plane construction, with the first structural goal being a solution for a
36 Modular Robots Generalities
two-dimensional lattice. Finally, the third step is to synchronize the two-dimensional solutions
in order to obtain a three-dimensional representation.
2.5.2/ Self-reconfiguration
Modules for modular self-reconfigurable robots should be able to combine themselves au-
tonomously into meta-modules that can perform various tasks under different circumstances
Faı́ña et al. (2013); White et al. (2005). In recent years, modular robotics has received attention
from researchers in the robotics field due to its ability to self-reconfigure. Self-reconfiguring
robots can take on different forms, which allows them to perform different kinds of kine-
matics; for example, they can become manipulators, crawlers, or walkers White et al. (2005).
Self-reconfigurable robots with this adaptability are capable of working in unstructured environ-
ments, including space exploration, deep-sea missions, rescue endeavors, and reconnaissance
Yim et al. (2002a). The first two categories of reconfigurable robots were based on how they
reconfigure. The third class of reconfigurable robots was based on deterministic and stochastic
reconfigurations in 2007 Yim et al. (2007).
Unlike the string or tree topologies of Chain/Tree architectures, each chain of modules is
always connected to the rest of the chain at least one time, and the modules reconfigure by
connecting and detaching from one another. Besides their capability to reach any location in
space, chains are more versatile than other architectures since they can be used for arms, legs,
or tentacles; however, chains are more difficult to control and more costly to represent and
analyze than other architectures White et al. (2005). Among self-reconfigurable robots based
on chains are PolyBot Yim et al. (2003a, 2000).
Several systems can both have lattice architectures and chain architectures simultaneously, e.g.
SuperBot Yim et al. (2002b) and UBot Zhao et al. (2011) have hybrid architectures Yim et al.
(2002a). Mobile architectures are built with modules that detach and move independently
using the environment (e.g. liquids or space) to create new shapes, intricate lattices or chains,
or to link up with other modules to form smaller robots. A mobile-based self-reconfigurable
example system is CEBOT Fukuda et al. (1990, 1991). Mobile architectures have received
2.5. CHALLENGES 37
less attention than other structures due to their reconfiguration difficulty Yim et al. (2002a,
2007). For deterministic architectures, modules move directly to their target locations dur-
ing self-reconfiguration; one can know an individual unit’s location at any time or calculate
it at run time to guarantee reconfiguration timing. Normally, macro-scale systems are con-
sidered deterministic, since they require feedback control to maintain precision. Statistical
Architectures include modules moving in a 2D or 3D environment using statistical methods,
such as Brownian motion, which is used to guarantee reconfiguration times. Nevertheless, the
path taken by each unit to reach location A may not be known until the unit is connected
to the main structure. Micro-scale systems are better suited to stochastic architectures; this
is because the environment can provide most of the energy needed for moving units around
Yim et al. (2007). In order to support self-reconfiguration and implement different modular
robotic behaviors, evolution algorithms were applied to develop modular self-reconfigurable
robotic controls; Stergaard and Lund explored evolving controllers for M-TRAN Ostergaard
et al. (2003) and ATRON Østergaard et al. (2006) self-reconfigurable modular robotic systems
in simulation. For example, the implementation of M-TRAN walking behavior requires the
use of GAs since the conditions of neighboring modules affect local evolution to yield a global
behavior. Because of this, when the ATRON controllers were evolving individually to allow
the modular collection to move forward, two modules were evaluated together rather than
evaluating each module separately, and no consideration was given to the limitations of the
physical system. Modular self-configurable robot ACMoD uses GA to generate configuration
patterns and to optimize module paths through a static grid of various terrain blocks; this work
has not taken into account dynamic environments or found optimal solutions. The procedure
was executed in simulation Klidbary et al. (2013).
In their paper Thalamy et al. (2019a), the authors proposed a scaffolding-based method for
accelerating self-reconfiguration in order to build a porous version of the desired shape. He
extended this concept by proposing a method for building a parametric scaffolding model that
increases the parallelism of the reconfiguration, supports its mechanical stability, and simplifies
agent planning and coordination. Each agent has a set of basic rules that use only four states,
ensuring that module movements and scaffold construction are deterministic. When combined
with an underneath reserve of modules that allows the introduction of rotating quasi-spherical
modules at various ground locations of the growing porous structure, his method can construct
the scaffolding structure in O(N 2/3 ) time, where N is the number of modules that comprise
the structure.
Another reconfiguration challenge was solved in El-Baz et al. (2014) where the authors pro-
posed a scalable distributed iterative algorithm. In fact, this algorithm is able to solve the
discrete trajectory optimization problem using the MEMS-based reconfigurable modular con-
veyor. Moreover, the blocks communicate among each other in order to find the shortest path
for the parts on the surface.
38 Modular Robots Generalities
Another challenge in the self-reconfiguration area is the hardware itself. The mobility of the
modules is highly based on the efficiency and effectiveness of the hardware. The more robust
the connection is, the better the reconfiguration. The authors in Zhu et al. (2019) proposed a
new type of millimeter scale actuator based on simplified electropermanent magnets. Analysis
based on numerical simulation is used to develop the prototype. A controllable H-bridge with
dead time and its reusable design is proposed to control the new actuator and simplify the
electronic circuit. Finally, the new actuator is implemented in a DILI modular reconfigurable
robot system. Test results show that with this new actuator, the DILI module can move
smoothly and connect to other modules without power. The maximum speed of the DILI
module is 20 mm/s.
2.5.3/ Self-Repair
In self-repair, modules that break can be replaced by working ones so that the robot can
continue its work. The self-repair system should have two principles: it must be able to repair
itself, and it should be able to obtain new parts easily. Because of this, self-repairing modular
robots generally consist of redundant modules. Self-repair entangles two stages: the detection
of the failure module, and then the ejection of the deficient module and the substitution
of it with an efficient module; Such robots are well fitted for functioning in unfamiliar and
distant surroundings. Evolutionary algorithms are used by ATRON modular robots to execute
self-repair functionality Østergaard et al. (2006). This system is examined in detail in the
Applications faction in this paper.
2.5.4/ Self-Reproduction
• Direct reproduction: A robot picks pieces from a dispenser and attaches them to new
locations to create a copy from scratch.
• Multi-parent reproduction: Two robots place components, and the third assembles them
2.5. CHALLENGES 39
It is possible for self-replicators to evolve into goal structures by using evolutionary algorithms.
The evolution of Molecubes in 2D simulation occurs in two steps: evolution of morphology
and evolution of control; Zykov and colleagues used Genetic Algorithms to evaluate fitness,
evaluating morphology and controlling control separately. The genome used described the
robotic structure, while command sequences described the control; Only a few results yielded
two identical copies, and the matching control was implemented on real robots; This work
faces the challenge of creating self-replication algorithms.
2.5.5/ Self-sufficiency
2.5.6/ ID Assignment
As previously described, programmable matter is made from small modules put together.
Therefore, the idea of having different identification for the modules is very hard. Unlike
traditional computing devices —computers, mobile phones, tablets, and others —, modular
robots cannot have a unique identification like a MAC address or a physical address. This is
due to their memory limitation and large number. Unique ID are crucial for better commu-
nication among the modules. This also makes developing software easier and more secure.
40 Modular Robots Generalities
Therefore, due to the large number of particles it is almost impossible to manually assign a
unique ID to each particle. It is up to the particles to assign themselves each a unique ID in
a distributed and memory/energy efficient manner. In their paper Assaker et al. (2020), the
authors proposed a distributed unique ID assignment method for modular robots. It is a three
phases based algorithm. The first phase consists in discovering the system while building a
logical tree. The second phase finds the total size of particles in the system needed for several
operations in modular robots, and the third one is dedicated to the unique ID assignment. Af-
ter fully optimizing the distributed algorithm, the effects of various system shapes and leader
positions on the energy and time complexity are studied, while proposing fitting solutions for
different requirements.
Among the various concrete manifestations of programmable matter, the amoebot model, first
proposed by Derakhshandeh et al. Derakhshandeh et al. (2014a) (also explained in detail by
Daymude et al. Daymude et al. (2019)), has gained considerable attention in recent years. In
this model, each particle can move like an amoeba from one grid point of a triangular grid to
another. Many interesting problems were addressed, such as material coating Daymude et al.
(2018); Derakhshandeh et al. (2017, 2014b), bridge construction Andrés Arroyo et al. (2018);
Daymude et al. (2021), energy distribution Daymude et al. (2021), shape formation Cannon
et al. (2016); Derakhshandeh et al. (2016); Luna et al. (2020); Di Luna et al. (2020), and shape
recovery Di Luna et al. (2018). A dominant strategy for solving these problems has been to
select a unique leader among the particles, who then coordinates all movements. The ability
to move was not used as an aid to computation and communication in early deterministic
leader election algorithms. This resulted in algorithms that were based on assumptions about
the particle system’s initial shape (intuitively, that it had no ”holes”) Di Luna et al. (2020);
Gastineau et al. (2018) or elected up to 6 leaders instead of one in some cases Bazzi et al.
(2019). Recently, it was demonstrated that the movements of the particles could be used to
elect a single leader (or up to three leaders when actions are not atomic) without imposing any
constraints on the initial shape D’Angelo et al. (2020); Emek et al. (2019). Unfortunately, the
improvements mentioned above came at the expense of a significantly longer runtime when
compared to algorithms that assumed no holes.
2.5.8/ Security
Modular robots can be used in unattended, even hostile environments, making them vulnerable
to both passive and active attacks. For example, if a space shuttle module is hacked and
begins sending false coordinates, or if a nano robot is injected into the human body and begins
killing healthy cells, the shuttle will crash. As a result, security is essential in such scenarios,
2.6. ETHICS IN MODULAR ROBOTS 41
particularly in the context of modular robots, where modules have limited resources and are
vulnerable to physical capture. Researchers have not yet addressed the issue of security in
modular robots, to the best of our knowledge. When discussing such topics, many difficulties
arise. This type of robot lacks centralized control and has limited memory and processing
power. Traditional security protocols are inapplicable in such circumstances. Lightweight
security protocols must therefore be proposed and researched. Such protocols have been
proposed in the context of wireless sensor networks Guyeux et al. (2014); Santos-González
et al. (2020); Bahi et al. (2010), ad hoc networks Ogundoyin (2020), and the Internet of
Things (IoT) Sarker et al. (2020); Wazid et al. (2020). Although modular robots are classified
as an IoT application, they have some distinguishing features. They can’t have a unique
identifier or IP addresses, for example. Furthermore, they are not always connected to the
internet and lack centralized management. As a result, existing IoT security protocols for
programmable matter cannot be used.
2.5.9/ Clustering
Clustering the modular robots system is one solution that may simplify the self-reconfiguration
problem. Assembling particles into clusters and carrying out tasks in cluster-based approaches
can improve efficiency in terms of execution time and energy consumption. As a result, clus-
tering the particles in modular robots has numerous advantages, including scalability, energy
efficiency, and improved routing and communications. In fact, the cluster is made up of a group
of nodes, and the local interactions between cluster members are handled by a leader cluster
head (CH). A CH’s job is to schedule activities in the cluster. Modules would be concerned
only with selecting its CH and would be unaffected by changes at the inter-cluster level, so
cluster members communicate with CH and data is collected and aggregated by CH, limiting
the scope of inter-cluster interactions to CHs only and avoiding the transmission of redundant
messages among modules. It is critical to have an efficient encoding of the goal shape de-
scription, which will eventually be useful in determining the number of clusters. Tucci et al.
(2017) proposed an efficient scene encoding method based on Constructive Solid Geometry
(CSG) Requicha et al. (1977) in Tucci et al. (2017), which defines a tree of objects that can
be combined to form the final scene. The tree can be represented compactly and efficiently
stored in each module. The number of clusters can be calculated by counting the number of
objects on each level of the CSG tree.
One of the key challenges that must be addressed in the field of modular robots and pro-
grammable matter is the potential ethical and social implications of these technologies. As
modular robots and programmable matter become more advanced and widespread, they are
42 Modular Robots Generalities
likely to have a significant impact on a wide range of industries and applications, potentially
leading to changes in the way we live and work.
One of the key ethical challenges associated with modular robots and programmable matter is
the potential impact on jobs. As these technologies become more advanced and efficient, they
may replace human workers in a variety of tasks, leading to job losses and potentially increasing
inequality and social instability Etemad-Sajadi et al. (2022). This is particularly concerning in
industries such as manufacturing and construction, where modular robots and programmable
matter could potentially replace large numbers of human workers.
Another ethical challenge associated with modular robots and programmable matter is the
potential impact on privacy and security. As these technologies become more widespread, they
are likely to generate vast amounts of data, potentially exposing individuals to surveillance and
other forms of privacy invasion. In addition, modular robots and programmable matter could
potentially be used for malicious purposes, such as surveillance, hacking, or sabotage. This
raises concerns about the need for effective regulations and safeguards to protect privacy and
security.
Finally, there is also a potential ethical challenge associated with the use of modular robots and
programmable matter in military and security applications. As these technologies become more
advanced and versatile, they could potentially be used to develop weapons and other military
equipment that are more efficient and deadly than current systems. This raises concerns about
the potential for increased violence and conflict, as well as the need for effective international
regulations and oversight to prevent the proliferation of these technologies.
In order to address these and other ethical and social challenges associated with modular
robots and programmable matter, it will be necessary to develop a comprehensive and robust
framework of regulations and safeguards. This could include measures such as ethical guidelines
for the development and use of these technologies, as well as regulations to protect privacy and
security. In addition, it will be important to engage with a wide range of stakeholders, including
industry, academia, civil society, and government, in order to ensure that the development and
deployment of modular robots and programmable matter is ethical and responsible Eiben et al.
(2021).
In conclusion, the ethical and social challenges associated with modular robots and pro-
grammable matter are an important and complex issue that must be carefully considered
and addressed. By developing effective regulations and safeguards, and engaging with a wide
range of stakeholders, it will be possible to ensure that these technologies are used for the
benefit of society, rather than causing harm.
2.7. SIMULATION ENVIRONMENT 43
VisibleSim is an open source behavioral simulator that runs distributed algorithms on lattice-
based modular robots Thalamy et al. (2021). It is designed for researchers with knowledge in
programming since it consists of a C++ framework. VisibleSim is a deterministic simulator
build to work in 2D and 3D lattices. Several types of robots can be simulated, and VisibleSim
is designed to accommodate the addition of new robotic architectures with ease. Simulations
in VisibleSim were compared to executions on real hardware, demonstrating VisibleSim’s high
precision for distributed algorithms, synchronization time, and mechanical resistance evalua-
tion.
In VisibleSim, written C++ code is executed on each module during the simulation. This set of
instruction is called a BlockCode. It is effectively the controller of the modules that describes
the behavior of the robot in response to all kinds of events. When a motion is completed, the
moving module sends an activation message to any new neighbors before beginning the next
weight move cycle. When all modules are activated, the simulation is complete.
VisibleSim has been able to simulate up to 32 million moving robots, which is the most ever
simulated. This establishes a new benchmark for visible sim, which can assist any researcher
in developing, testing, and debugging distributed algorithms for modular robots.
3
Leader Election
Contents
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.1 Existing Leader election algorithms . . . . . . . . . . . . . . . . . . 46
3.2 Proposed algorithm and contribution . . . . . . . . . . . . . . . . . 48
3.2.1 Computing the weight parameter . . . . . . . . . . . . . . . . . . . 49
3.2.2 Recruitment phase . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.3 Tree value computation . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.4 Competition with other trees . . . . . . . . . . . . . . . . . . . . . 53
3.2.5 Dismantling trees and more recruitment . . . . . . . . . . . . . . . 55
3.2.6 Leader election phase . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Termination with no Leader . . . . . . . . . . . . . . . . . . . . . . 58
3.4 Complexity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4.1 Theoretical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4.2 Empirical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
45
46 Leader Election
his chapter proposes a new algorithm for electing a leader that does not take into consid-
T eration any probability approach such as random identifiers or coin flipping. Furthermore,
the proposed algorithm reduces the probability of having a symmetric system since it uses
the connected interfaces’ number to generate identifiers. The results show that the proposed
algorithm, with a complexity of θ(n2 ), will end up with a leader with a high probability, and
was tested on Blinky Blocks in 2D and 3D systems.
3.1/ Introduction
In modular robots, many algorithms need a leader even though it is just to start a distributed
algorithm Naz et al. (2018a,b), the distributed leader election algorithm is therefore very
important. This algorithm can be simplified in a distributed consensus algorithm if there are
unique identifiers but it turns out to be much more difficult with their absence.
In the literature, leader election algorithms are often based on the probability of a coin flipping
which will, most of the time, lead to the repetition of the algorithm and an increased com-
plexity of the election Woods et al. (2013); Patitz (2012). In other approaches Woods et al.
(2013); Di Luna et al. (2019); Lu et al. (2014), the authors used an arbitrary identification
for the modules, and ran a comparison phase among them based on their previously defined
identification. In this case, some modules may end up with the same identifier and risk a
failure in the leader election. Furthermore, in this thesis the modules are considered to have a
joint internal clock as explained in details in definition 8. Therefore, the usage of randomness
is difficult to implement as all modules are homogeneous physically and logically.
This chapter proposes a new deterministic leader election algorithm with a complexity of
θ(n2 ). The same assumptions as in Gastineau et al. (2018) are taken, where modules have the
following properties: each module is anonymous, in other words, the modules do not have a
unique identifier or generates one of any kind. All modules are logically and physically identical,
and share the same clock. Each module has a set of ports that can be labeled by a consecutive
integer {0, 1, 2, ..., m}.
Leader election is a fundamental problem in MRS. In this context, leader election is essential
and important for various and different applications such as shape formation Di Luna et al.
(2019); Wei et al. (2010); Pavliuk et al. (2020), self-repair Ikizoglu et al. (2020); ZHANG et al.
(2008), self-assembly algorithms Tucci et al. (2018); Thalamy et al. (2019a), decision making
Andreev et al. (2019); Yu et al. (2010), etc. It is important to have a leader because it helps
to coordinate the activities of the various components in the system, so that they can work
together to achieve a common goal. The leader is responsible for making decisions, assigning
3.1. INTRODUCTION 47
tasks, and ensuring that the different parts of the system are working together efficiently. The
leader helps to ensure that the system remains stable, despite any failures or changes in the
network. Additionally, having a leader helps to prevent the system from becoming bogged
down in an endless cycle of conflicting decisions and conflicting commands. Leader election
is a fairly old problem in distributed systems, it consists in electing a unique leader from a
fixed set of nodes Jiang et al. (2020); Stoller (2000). Indeed, several algorithms have been
proposed in the literature to solve this problem. However, in the context of MRS, multiple
challenges must be taken into account to elect a leader. The first one is the homogeneity
or uniformity of the system. All particles are considered to follow the same program. They
are anonymous and indistinguishable and do not share any kind of coordinate or positioning
system. A deterministic method is of paramount importance since all modules, used in this
thesis, are identical, therefore, they will be using the same pseudo random function and the
same seed, this will end up generating the same number for the modules each time they pick
a random number. The second challenge is the low energetic and computation resources of
the particles. Therefore, the solution must be non-complex and suitable for the robots used in
this thesis.
Although the importance of leader election in modular robots systems, it has received little
attention until now. For instance, the works presented in Patitz (2012); Woods et al. (2013);
Lu et al. (2014) are fully theoretical based on graph theory, probability and random number
generation approaches. After implementing these solutions, the simulation may end up with
no leader.
In Gastineau et al. (2018), the authors introduced a new leader election algorithm. This
algorithm is very easy to implement. It works on certain kinds of topologies: a square or king
graph representations. To be able to use this method, the graph should not have any holes in
it. In other words, there is only an outer boundary and no inner boundaries.
In Di Luna et al. (2019), the authors introduced an approach to the leader election algorithm
and they precisely mentioned that the algorithm does not work on systems with holes. The
system is divided into multiple spanning trees. Each root of those trees is a candidate. In order
to elect a leader, the candidates scan their respective trees of the spanning forest. In each
step, the modules of each tree send a constant length code to their parent, describing their
neighborhood. The message is then forwarded all the way to the candidate leader at the root
of the tree. Once all candidate leaders have obtained a code from a particle in their respective
tree, they send each other these codes and compare them. If the codes are not all equal, the
candidates are able to elect a unique leader. Otherwise, the election attempt fails, and each
candidate leader asks one of its children for another neighborhood code.
In order to break the symmetric system, the solution proposed in Emek et al. (2019) is based
on physically moving the modules when confronted wish make the system consume more time
and energy. This algorithm does not use random number generation, does not require the
48 Leader Election
modules to have a common chirality, does not take into consideration if the system has holes
in it or not. At the end of its execution, only one leader will be elected. The execution time
complexity of this algorithm is O(Ln2 ) where L is the size of the outer boundary at the initial
state of the algorithm and n is the number of particles in the system. However, this algorithm
is complex and not suitable for limited resources modular robots.
Despite all the proposed solutions by the different authors, the leader election algorithm has
always a complexity of O(n) except for the algorithm of Emak et al. ? that has a complexity
of O(Ln2 ). A lot of challenges will be faced when implementing those solutions.
Therefore, this chapter will be proposing an algorithm that does not take any probability
approach such as random identifiers or coin flipping. The proposed algorithm will end up with
a leader with high probability, and was tested on Blinky Blocks in VisibleSim simulator. In the
proposed approach, the port numbering and orientation as well as the summation of an integer
generated will be used in order to break the symmetry of the system. A symmetric system in
this approach is defined in 3.The probability of having a symmetric graph is considered to be
negligible specially with high number of modules.
In summary, Table 3.1 compares six algorithms among what was studied in the literature with
the algorithm proposed in this chapter.
Bazzi et al. (2018) Daymude et al. (2017) Derakhshandeh (2017) Di Luna et al. (2019) Gastineau et al. (2018) ? Proposed algorithm
Multiple Leaders Yes No No Yes No No No
Random Numbers No Yes Yes Yes Yes No No
Holes Yes Yes Yes No No Yes Yes
Same Chirality Yes Yes Yes No Yes No No
Implemented No No No No No No Yes
Complexity NA O(L) O(Lmax) O(n) O(2(r + mtree + 1)) O(Ln2 ) O(n2 )
The remainder of the chapter is organized as follows. Section 3.2 presents and explains the
proposed algorithm. The termination with no leader will be discussed in Section 3.3. In
section 3.4, the results are shown, analyzed and the complexity is studied. Finally, Section 3.5
presents the conclusion and perspectives.
This section will be describing the proposed solution in details. The algorithm is based on six
phases. First, each module generates locally an integer, called weight, based on the numbering
of their connected interfaces. After that, spanning trees will be created using a recruitment
method, then the values of the recruited modules will be calculated, the generated spanning
tree will compete and the loosing trees are dismantled, this step is repeated until one tree
remains. And finally the leader is elected.
3.2. PROPOSED ALGORITHM AND CONTRIBUTION 49
Considering that each robot is connected to up to d neighbors, (d is the degree of the associated
graph), and defining Ci the state of the ith connector (setting Ci = 1 if connected and Ci = 0
elsewise) the weight is encoding by concatenating the d bits. Then using the connected
interfaces and its orientation, each module will be generating its weight w as follows:
d−1
(3.1)
∑︂
w= 2Ci
i=0
Where Ci is the state of the connector i (1 if connected 0 otherwise), d is the degree of the
graph (the number of connectors).
When an interface is connected, the number of that interface will be referred to as 1 and if
not, it will be referred to as 0. In the case of Blinky Blocks in 2D which have 4 neighbors,
each block will end up with a binary number of four bits. Then, each module enumerates
its interfaces with the same manner. The next step is to create the integer from the binary
generated.
Some examples of the number generation are presented in Figure 3.1 with different kinds of
robots. Both position and orientation of the module affect its weight. For example, if a
module in a square lattice has the interfaces 0 and 3 connected, the respective binary number
is (1001)bin which gives (9)dec in decimal.
By the end of this step all the modules will have generated an integer as previously described.
This weight will be used in the third phase of the algorithm to be able to compute the tree value.
This technique is based on the interfaces’ connections of the modules. In the algorithms below,
the interfaces status are used as shown in Table 5.1. InterfaceStatus is an array of type integer
that contains the status of the interfaces. Table 5.1 shows the different status the interfaces
can take during the execution of the algorithm. At the end of this appendix, a complete and
detailed diagram of the proposed leader election process is presented (cf. Figure 3.14).
Status Definition
0 interface not connected
1 interface connected
2 interface connected to a neighbor that is not in its tree
3 interface connected to its parent
4 this interface received a sum message
5 this interface sent a potential leader message
Algorithm 1 presents the integer number generation based on the connected interfaces and the
orientation. The integer generated is referred to as BChoice, NumbOfInterfaces is the number
of interface each module has. The number of interfaces in this scenario is four for the 2D
50 Leader Election
Figure 3.1: Examples of weight generation based on the interfaces connections for two different
2D lattices (cubic on the left similar to Blinky blocks that are the modules used in this thesis,
and hexagonal on the right as another example on how to generate weight based on interface
connection, however this model was not used in this thesis). Grey triangles mark #0 connectors,
others are placed clockwise.
In this section, prospective leaders will start competing by recruiting modules to create their
spanning tree. In this scenario, prospective leaders are chosen as follow: if the module has only
one connection, it directly becomes a prospective leader. If a module has two connections, it
will wait for a T 2 time and after that time if it was not recruited it will become a prospective
leader and start the recruitment process. Likewise, modules with 3 connections will wait for T 3
time and so on. The delay T i , where i is the number of connected interfaces, can be fixed by
the user before the execution of the algorithm. It can be computed in function of the diameter
of the network and the speed of the message propagation.
When an available module receives a recruitment message, it marks the interface from where
the message was received as parent interface, changes the module flag to recruited, informs
its parent that the recruitment was successful and starts recruiting its remaining connected
modules. This process will continue until all modules in the system are recruited. When a
module has no neighbor to recruit or all its neighbors are already recruited, it will be depicted
as a leaf of the tree since no more children can be recruited. After that, each spanning tree
will have two properties, the total number of modules recruited in the tree and the sum of the
weights (calculated in phase 1) of the modules in the same tree. Algorithms 17 and 3 provide
more details what happens when a module receives a recruit message and when an already
recruited module receives a recruit message respectively.
3.2. PROPOSED ALGORITHM AND CONTRIBUTION 51
An illustration example of the recruitment phase is presented in Figure 3.2. In this example,
two prospective leaders will start recruiting modules until no more modules are available.
1 14 10 7 10 1 1 14 10 7 10 1 1 14 10 7 10 1
5 10 5 10 5 10
6 5 6 6 5 6 6 5 6
1 2 3
1 14 10 7 10 1 1 14 10 7 10 1 1 Module with weight
5 10 5 10 1 Root of the green graph
6 5 6 6 5 6 1 Leaf of the blue graph
4 5
Figure 3.2: 5 steps of the recruitment process: Roots start recruiting modules until no more
modules are available.
Once a module appoints itself as leaf, it sends its weight to its parent. And every time a parent
receives such a value, it will increment the counter that counts the number of modules, and it
will flag the interface from where the value was received as value sent. Once all the interfaces
that are connected to its children sent their values, the module computes the sum of all the
received values and sends it to its parent. This process will keep on executing until it reaches
the tree root. In like manner, the root itself will process the message as previously described
and, as a result, the final value of that tree and the total number of modules are calculated.
Forthwith, the root will then broadcast the tree value and the number of modules in its tree to
all its children. As soon as a module receives this type of message, it will save those variables
in its local memory and sets its ”ready to compete” flag to true. Identically, this module will
forward the same message to its children, that will treat this message in the same fashion,
until it reaches the leaves. As previously described, the competition among the trees is done
52 Leader Election
through the connected leaves or modules. Therefore, the tree root should send the total sum
of the tree to all its children in order to compete with other trees. Algorithm 4 shows how the
sum message is being handled by the modules and Algorithm 5, explains the steps done by the
modules to broadcast the sum of the tree to all its children.
Figure 3.3 shows an illustrative example of this phase. Starting from the leaf, each module
sends its value to its parent. The parent adds it up to its own and - after having received all
values from its children - sends it backward until the message reaches the root of the tree.
Once the sum reaches the root, it will be added to the root’s value and then the root broadcast
it to all the modules in the same tree.
40 10 23 33
41 34
1 14 10 7 10 1
41 41 34 34
41 16 34 16
23 Message sending the sum of the weights
5 10 of the subtree.
Figure 3.3: Group value computation: Starting from the leaf of each group, each leaf sends
its weight to its parent. The parent adds the received value with its weight and then send the
result backward until it reaches the root of the tree. Once the sum reaches the root, it will be
added to the root’s weight to define the group value. This group value is then broadcast to
all the modules of the tree.
3.2. PROPOSED ALGORITHM AND CONTRIBUTION 53
In this section, all the modules are ready to compete. To put it in other words, all modules
received the total number of particles in their tree and the sum of all its integers, and in
addition, they have their ”ready to compete” flag set to true. Modules that have neighbors
recruited to a different tree, send them a competing message containing the sum of the tree
and the number of modules. The receiving party then compares those variables with the one
stored in their memory. The module with the higher sum wins. If both trees have the same
value, then the tree with more modules is the winner. There are rare and negligible cases
where both sum and total number of modules are the same for the competing trees, this is
called symmetry and is discussed in details in section 3.3 of this chapter. Algorithms 6, 7 and
8 show in more details the competition phase.
54 Leader Election
Win Msg
Received
Yes
Msg = 1
Send Reset
Sum Msg to
parent
No
Lost Msg
ReceivedMsg=0
Do nothing No and
I am not leaf
iAmLeaf=false
Dismantle=true
Yes
Set all
interfaces
Set all withs status 3
interfaces
with and 4 to 1
status 2
to 1
(a) Activity Diagram when re- (b) Activity Diagram when re-
ceiving a win message ceiving a lost message
As a result of the previous competitions, loosing trees will become dismantled. In this scenario,
dismantle is defined as breaking into pieces. This means that the modules that were the children
of the loosing tree will no longer be related to that tree and they will be restored to their state
before the recruitment. The process operates as follow: the leaf that received the loosing
message, will send that message back to the tree root. In his turn, the root broadcasts to all
its children the dismantle message. Consequently, the particles receiving the dismantle message
set the recruited flag to ”false”, the interfaces that are flagged as parent and children are no
longer flagged. Furthermore, the variables containing the value of the tree and the number
of modules are set back to zero. Once the dismantle process reaches the leaf of the loosing
tree, it will send a message to the winning tree that the dismantle is finished. As a result, the
winning tree will re-initiate the recruitment and start recruiting the dismantled modules in the
same manner. Algorithm 9 explains the dismantling process in details and Algorithm 10 shows
how to reset the sum of the tree.
56 Leader Election
41 41 41 34 34 34 1 14 10 7 10 1
41 34 5 10
Messages
reset
41 41 34 dismantle 5 6 5
3 4
Figure 3.5: 4 steps of the dismantling recruitment: First step presents the initial state, step
2 shows the competition between the two groups, the blue group win on the green group,
then each leaf of the two groups produces reset and dismantle messages. Step 3 shows the
broadcasting of reset and dismantle messages. At the end, step 4, their is only one group and
nodes are reset.
Figure 3.5 presents an example of the dismantling recruitment. In this example the loosing
modules send a dismantle message to their parent until it reaches the root of the loosing tree.
3.2. PROPOSED ALGORITHM AND CONTRIBUTION 57
In the mean time, the winning tree sends a message to its parent until it reaches the root to
reset the value of the tree. Furthermore, the winning modules start recruiting the loosing tree.
As long as the system contains multiple trees, the competition will go on and recruitment will
be re-initiated until one tree remains. This occurs when all the modules of the tree are not
connected to any other tree. The root of this tree will then be elected as leader 11.
After the election, the leader will change its leader flag and leader found flag to true, broadcast
a leader found message to all its neighbors, and restore to its initial state before the beginning
of the algorithm except for the leader flag and the leader found flag that should remain set to
true. Correspondingly, every module that receives the leader found message, will restore to its
initial state and then sets the leader found flag to true 12.
Figure 3.6 presents an example of the last phase of the leader election approach. Once a
module can not recruit or compete further, it will send a ”potential leader” message to its
parent. Each parent that receives this type of message, will wait until all its children send
him the same message then send it backward to its parent. So far until the message reaches
the root. If this message reaches the root, the root becomes the leader and broadcasts to all
modules in the system that it is the leader.
58 Leader Election
1 14 10 7 10 1 1 14 10 7 10 1 1 14 10 7 10 1
5 10 5 10 5 10
5 6 5 5 6 5 5 6 5
1 2 3
Nodes of the initial tree,
1 initial PL senders
1 14 10 7 10 1 1 14 10 7 10 1 Wait for PL from all its
1 children
5 10 5 10 PL message
Leader found message
5 6 5 5 6 5 1 Elected leader
4 5
Figure 3.6: Leader election: 1) Once a module can not recruit or compete further, it sends a
Potential Leader message (PL) to its parent. 2)& 3) Each parent that receives PL message
waits for all its children PL message and then sends it backward to its parent. 4) So far until
the message reaches the root, which becomes the leader and broadcast (5) to all modules in
the system that the leader is elected.
This section will be explaining the conflicts that might occur during the leader election al-
gorithm. As mentioned previously in Section 3.2.4, a symmetry occurs when two, or more,
competing trees end up with the same total value and the same number of modules. This
might happen at the end of the algorithm when only two trees are remaining.
When the system has three trees where two are having the same values and a third one with a
3.3. TERMINATION WITH NO LEADER 59
different value, this is not called a symmetry because the third tree will be loosing or winning
against one of the two trees. This will result in having a bigger tree that will win against the
remaining one. Figure 3.7 shows an example of two cases. Figure 6.21c presents a symmetry
scenario while in Figure 6.21d there is no symmetry. The aim of this section is to discuss
the probability of symmetry occurrence and show that it is very low while following the above
proposed for leader election.
(a) Two trees with exactly the same number of (b) Three spanning trees. The green and blue trees
modules and the same total value. are identical.
Figure 3.7: Comparison of two cases, a) and b) has the same blue and green trees but b) has
yellow modules in addition. In the case b), yellow tree will dramatically change the results.
The yellow tree will be loosing against the blue tree, and it will be then merged into one tree.
So in this case having two identical trees is not considered as a conflict.
As discussed, the proposed algorithm may terminate without electing a leader. It happens
when at the end of a recruiting phase, all trees have both the same number of nodes and the
same weight. It would be very hard to precisely compute the probability of being in such a
situation. However it seems to occur very unlikely: rotating any module on a border (with at
least one open connection) will break the symmetry and there is no selected orientation of the
modules. The ”no leader” situation was never observed in any of the experiments executed.
Nevertheless, it may be possible to improve the algorithm to fix this problem with a high
probability in the following way. When a blocking situation with no leader is detected (that
may be done using a time counter), a new stage starts. From each leaf a message is sent to
the root with all the information in order to provide to the root the whole structure of the
tree. Then, this complete structure is broadcast to the leaves.
Now, a new challenging procedure can start by tree comparisons (rather than just weights
and numbers of nodes) using any tree order (for instance a lexicographic order). With this
new algorithm, it may also happen that there is no leader election: when all the involved
trees are exactly the same. Considering that a shape is a connected graph on the grid with
60 Leader Election
Since for large n rotations are very unlikely, it might be estimated that there are about
n
sn = c (4λ)
n different shapes Jensen et al. (2000), with c close to 3 and λ close to 4.
Now, under these hypotheses, the number of shapes with n nodes that can be split into k
k ) 4 : s k is the number of ways to chose the tree
exactly equal trees is less or equal to s nk ( 4n k k n
and ( 4n
k ) an upper bound on how to put the k copies of this tree together and the 4 is for
k k
The algorithm proposed in the previous paragraph has not been implemented. It is important
to point out that if a blocking situation is critical, the algorithm can be modified in order to
works with an estimated high probability.
The purpose of this section is to explore the complexity analysis of the algorithm developed in
the previous section. This section will first explore the theoretical complexity analysis of the
algorithm. It will then go on to explore the empirical study of the complexity of the algorithm.
The time complexity of an algorithm is analyzed when at least one module starts executing
the algorithm. The time complexity depends on T1 , T2 , . . . , Tn where T is the execution time
in each module and n the total number of modules.
Proposition 1 . In the worst case scenario, the leadership election algorithm will work in time
Θ(n2 ) and Θ(n2 ) messages will be sent. The total number of elementary operations is also
3.4. COMPLEXITY ANALYSIS 61
Θ(n2 ).
As previously discussed, the algorithm will be executing in multiple steps. Below is an in-depth
explanation of each step, with relation to its complexity:
1. Integer number generation: This Step, done in parallel by each module, is done in time
O(1) and requires a total of O(n) operations. No messages are sent in this step, hence
the message complexity is null.
2. Recruitment phase: Each module sends O(1) messages: there is a total of O(n) messages
sent. Each module performs O(1) operations and the broadcast ends in time O(n).
3. Tree value computation: As in the previous step, the tree value computation is performed
in time O(n), each module performing O(1) operations. There are also O(n) sent
messages.
4. Competition and dismantling trees: Similarly to steps 2 and 3, this step is performed in
O(n) time. Each module performs O(1) operations. Furthermore, O(n) messages are
sent.
5. Leader election phase. This phase has an identical complexity as the previous phases.
Therefore, this phase is done in O(n) since each module is performing an O(1) operation.
Also this phase has a message complexity of O(n) since each leaf report back to its parent,
until the message reaches the root.
Steps two through four may be repeating. But at each stage, the number of trees is decreasing.
Therefore, since there are at most n trees, these steps can be repeated at most n times.
In conclusion, the algorithms works in time O(n2 ) and O(n2 ) messages are being sent. More-
over the total number of performed elementary operations is also O(n2 ).
For the lower bound analysis, a two-dimensional configuration is used, but the proof is easily
generalized for other contexts. Considering that n = 3m, each module is identified by an
integer from 0 to 3m − 1.
Modules are placed on the grid by blocks of 3 as follows (note that all blocks are similar except
the one on the left and the one on the right; see Figure 3.8 for an illustration):
62 Leader Election
1 1 1 1
2 0 4 2 3 4 2 6 4 2 9 4
3 3 3 3
4 2 2 3
1 3 4 2 2 3 4 1 3 5 1 3 7 1 3 8 1 4 10 2 1 11
• Modules of the from 3i with 0 ≤ i ≤ n − 1, are placed respectively on positions (2i, 1).
They all have their interface 1 connected.
It may occur that the recruitment phase ends up with m − 1 three modules trees. Each tree
will have the modules {3i, 3i + 1, 3i + 2} where 0 ≤ i ≤ m. Starting from the left side, the
tree {0, 1, 2} has a weight of 23. On the right side of the graph, the system might end up
with {9, 10} and {11}, or {9} and {10, 11}. In either case, the tree containing two modules
will have a weight of 15. The middle of the graph contains the trees with a weight equals to
13. The dismantling process will start from both end of the graph at the same time. In other
terms, the tree {0, 1, 2} will take over {3, 4, 5} and at the same time the tree {9, 10} will take
over {11} and {6, 7, 8}. The system now has two trees only. Tree A containing {0, 1, 2, 3, 4, 5}
and tree B containing {6, 7, 8, 9, 10, 11}. A has a weight of 36 and tree B has a weight of
29. Therefore, A takes over B. In this unlikely context, steps 2 to 4 are repeated m−1
2 times
(for large m). After the k-th iterations, the depth of the dominating tree is 2k and, therefore,
Θ(k) messages and a time in Θ(k) are required, proving the lower bound.
To study the complexity of the contributed algorithm, The method presented in Schneider
et al. (2011) is followed. The authors defined the efficiency of a distributed algorithm with at
least one out of three conventional distributed complexity measures:
Depending on the scenario, one or another measure might be more relevant. The bit complexity
will be dropped in this analysis, since the size of the messages sent in programmable matter is
considered to be negligible.
The modules used in the simulations are Blinky Blocks in 2D but the algorithm should work
on all types of modules. At the initial state, all modules are identical. In 2D, the Blinky
Blocks has 4 connections numbered from 1 to 4. Each module is aware of the interfaces
that are connected. A series of simulations were executed on VisibleSim show a running of
the algorithm on a simple configuration recorded from VisibleSim simulator in 3D. In those
simulations, different modular robots system shapes are considered while varying the number
of the modules in the system as shown in Figure 3.9. The shapes were increased in size after
each simulation to be able to analyze the complexity based on the total number of connected
modules. Furthermore, the following subsection will discuss the time and message complexity of
the proposed algorithm while comparing it with the existing deterministic algorithm presented
by Emek et al in ? since it is the closest to the proposed algorithm.
In this section the time complexity of the algorithm is studied. In other words, the execution
time needed by the algorithm to find one leader. Three different shapes are considered (random
(shape1), Square (shape2) and line (shape3)) as shown in Figure 3.9 and it is compared to the
work presented in ?. In order to confirm the linearity of the results, a regression line is drawn
in each graph using the least square regression method based on the average value gathered
during the simulation.
64 Leader Election
10 5
2.5
Shape 1
Shape 2
Shape 3
Mean
2 Regression line
Elapsed time in s
1.5
0.5
0
0 200 400 600 800 1000 1200 1400
Number of modules
Figure 3.10 shows the obtained results of the time needed to finish the execution versus the
number of modules presented in the system. First, this figure shows that for the same number
of modules the execution time remains almost the same while varying the shape of the modular
robot. Furthermore as expected, it is noticeable that the execution time increases in a linear
manner with the number of modules. The coefficient of determination of the regression line
in Figure 3.10 has a value of 97.5%. In another word, the regression line drawn is considered
to be 97.5% accurate. Therefore the time complexity is considered to be linear with high
accuracy.
To compare the proposed work to the literature, the algorithm presented in ? was implemented
under the same conditions as the proposed algorithm. The results of the execution time are
shown in Figure 3.11. It is clearly shown that the proposed algorithm outperforms the approach
presented in ? in terms of execution time as well as in terms of event processing and energy
consumption since in ? the modules should move physically in order to find one leader.
3.4. COMPLEXITY ANALYSIS 65
5
10
ELECTOR
15 EMEK et al
Elapsed time in s
10
0
0 200 400 600 800 1000 1200 1400
Number of modules
Figure 3.11: Time complexity comparison between the proposed algorithm and ?
In this section the message complexity of the proposed algorithm is discussed (i.e. the number
of exchanged messages between modules before electing one leader). Figure 3.12 shows the
number of messages exchanged to finish the execution of the algorithm on the simulator versus
the number of modules presented in the system. Similarly to the time complexity analysis, it
is clear that for the same number of modules the number of the exchanged messages remains
almost the same while varying the shape of the modular robot. Furthermore, the number
of the exchanged messages increases linearly with the number of modules. The coefficient
of determination of the graph in Figure 3.12 has a value of 97.8%. In another word, the
regression line drawn is considered to be 97.8% accurate. Therefore the message complexity
of the proposed algorithm is considered linear as well with high accuracy.
12000
Shape 1
Shape 2
Shape 3
Mean
10000 Regression line
Number of messages exchanged
8000
6000
4000
2000
0
0 200 400 600 800 1000 1200 1400
Number of modules
Figure 3.13 shows a comparison of the proposed approach and the one proposed in ? in
terms of message complexity. Once again, it is clearly noticeable that the proposed algorithm
outperforms the approach presented in ? and needs far fewer messages exchanged between
modules in order to elect a leader.
10 5
18
ELECTOR
Emek et al
16
14
Number of messages exchanged
12
10
0
0 200 400 600 800 1000 1200 1400
Number of modules
Figure 3.13: Message complexity comparison between the proposed algorithm and ?
3.5/ Conclusion
This chapter presented a fast, reliable and robust leader election algorithm for modular robots.
The proposed algorithm ends up with a leader elected in high probability. It does not use
random number generation. It works on 2D and 3D systems and has a complexity of O(n2 )
in the worst case. Both theoretical and empirical analysis were presented in this chapter. The
Theoretical analysis showed that the algorithm has a squared complexity, whereas the empirical
analysis showed that the complexity is linear. In the future, it is important to execute more
simulations with different configurations and using different types of MRS to end-up with a
more accurate empirical analysis.
The proposed algorithm is a six phases-based algorithm. First, the modules generate integers
based on the number of connected interfaces. After that, spanning trees are created using a
recruitment method. The generated spanning trees compete and the loosing trees are disman-
tled until one tree remains, and a leader is elected. The simulation results show the efficiency
of the proposed algorithm.
3.5. CONCLUSION 67
Contents
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Proposed Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.1 Distributed Virtual Force Algorithm (VFA) . . . . . . . . . . . . . . 75
4.5 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
69
70 Reconfiguration using virtual forces
4.1/ Introduction
One of the foremost interesting capabilities of modular robots, is the capacity of each module
to move towards diverse positions, changing the whole shape and morphology of the grouped
modules to achieve different tasks and to adapt to terrain variations. According to Tucci et al.
(2018), this can be achieved either using self-reconfiguration or self-assembly which are hard
problems for the following three reasons. First, working with a large number of computational
units generates a huge number of possible unique configurations, (c.w)n where n is the number
of modules, c the number of possible connections per module and w the ways of connecting the
modules Park et al. (2008). Second, the modules can move simultaneously, so the branching
factor of the tree describing the configurations is O(mk) with m being the number of possible
movements and k the number of modules free to move. Finally, the exploration space of
a reconfiguration between two situations is exponential in n which prevents from finding a
complete optimal planning.
In this chapter, a new self-reconfiguration algorithm for modular robots based on virtual forces
is proposed. The main objective is to optimize the shape formation by minimizing the number
of movements of the modules. The Virtual Force Algorithm, denoted as VFA for the remainder
of the chapter, was introduced by Zou et al. (2003) to properly place a randomly distributed set
of sensors. Once the effective sensors positions are identified, a one time movement with energy
consideration incorporated is carried out, i.e., the sensors are redeployed to these positions.
This work was inspired by the VFA to identify the attractiveness of empty positions for the
free modules.
The remainder of this chapter will be as follow: Section 4.2 presents the literature review, a
brief review of prior research on topics related to self-assembly, self-reconfiguration and virtual
forces approach in the robotics world. Section 4.3 presents the particularities of the modular
robot used and the details about the problem we aim to address. Section 4.4 describes the
proposed algorithm. Section 4.5 presents the simulation results based on the proposed approach
and an elaboration on its performance. Section 4.6 draws the conclusion and outline directions
for future works.
4.2. LITERATURE REVIEW 71
The Virtual Force Algorithm, denoted as VFA for the remainder of the chapter, was first
introduced by Zou et al. (2003) to properly place a randomly distributed set of sensors. The
study, drawing inspiration from the VFA, determines the allure of unoccupied positions for the
unencumbered modules by determining the effective positions of the sensors. Subsequently,
a single adjustment with energy consumption taken into account is executed, relocating the
sensors to these identified effective positions..
The authors in Seo et al. (2013) proposed an assembly planning algorithm for constructing
planar structures out of rectangular modular robots that can dock to each other to form a
brick wall pattern. The assembly plan incorporates reachability and collision constraints and
supports distributed assembly so that multiple robots can be docked to a growing structure
without centralized coordination.
In their paper, Naz et al. (2016a), the authors introduced a parallel, asynchronous and fully
decentralized distributed algorithm to self-reconfigure robots in 2D vertical lattice from an
initial configuration to a goal structure. Their algorithm avoids collisions by having a gap of
one empty cell between robots that are in transit using communications and can self-reconfigure
to almost any compact goal shapes.
In Jones et al. (2003), the authors present a method to organize the iterations of self-assembly
agents to generate a consistent assembly of the desired goal structure. The decisions are made
by the agent docking in the existing structure and not by the structure. In other term, the
decision are made locally by each module in the system.
Another programmable matter module, the Robots Pebbles at MIT, was introduced in Gilpin
et al. (2010a), where each module has a size of 12 mm per side and is capable of creating a
2D shape by self-disassembly. The authors start with a latched system and the modular robot
detaches unnecessary modules.
parametric scaffolding model, increases the parallelism of the reconfiguration, supports its
mechanical stability, and simplifies planning and coordination between agents. Each agent has
a set of basic rules using only four states which generates that module movements and the
construction of the scaffold is deterministic.
In Yim et al. (2001), the authors presented a probabilistic self-reconfiguration algorithm for
re-configuring rhombic dodecahedron modules residing in a Face Centered Cubic (FCC) lattice,
and that can only move using rotations. The authors also proposed the Goal-Ordering method.
In this method, the modules use one or two metrics to decide which target location in the goal
configuration they should go fill. This method, however, suffers from overcrowding around the
open goal positions and is likely to get stuck in local minima and avid converging altogether,
especially when the shape is solid and hollow.
Stoy, in his papers Stoy (2006); Stoy et al. (2004), approximated the target shape with a
porous representation made by removing individual modules from its volume in a manner that
would guarantee an absence of local minima and hollow or solid sub-configurations. He then
proposed to use local rules and cellular automata to perform the reconfiguration Stoy (2006),
or through a gradient descent method Stoy et al. (2004).
Recently, in Moussa et al. (2021) the authors propose a self-reconfiguration algorithm based
on clustering Bassil et al. (2020). The self reconfiguration is done in a parallel manner in each
cluster to find the final shape at the end. The proposed algorithm consists in moving the
robots that are not in the target shape in the interior of the current configuration in order to
fill target free cells.
The main approach discussed in the paper ? is a distributed algorithm to control block motion
of a reconfigurable micro-electro-mechanical modular surface. This proposed method uses an
asynchronous iterative election strategy which helps compute shortest path between two points
on the modular surface with minimum hop count. It also solves discrete trajectory optimization
problem and makes sure that it is scalable for larger systems as well. The main approaches
are: 1) A distributed algorithm is used to control block motion of a reconfigurable micro-
electro mechanical modular surface designed for conveying fragile and tiny parts with precision
accuracy. 2) Discrete Trajectory Optimization Problem: The proposed method uses an iterative
election process that computes the shortest path between two points using minimum hop
count strategy while solving discrete trajectory optimization problems efficiently. 3) Scalable
Methodology: Asynchronous Iteration Elections provide scalability making it suitable even
when dealing with large number of blocks or modules present within these types of surfaces
In this chapter, a hybrid algorithm using both centralized and decentralized decisions is pro-
posed. They are both used to reconfigure the robots into a goal structure with the least
possible cost. Distributed virtual forces algorithm with a Hungarian optimization approach are
used to limit overcrowding around the open goal positions and to avoid getting stuck in local
minima.
4.3. ASSUMPTIONS 73
4.3/ Assumptions
The modules used here are 2D node models with 4 connections that can rotate in Clock Wise
(CW) and Counter Clock Wise (CCW) directions, also can make a linear or circular translation
to move around other modules. The modules are placed on an unlimited grid, oriented along
the →
−
x, →
−y . The grid is defined by a large set of cells where each cell can only contain one
block. Each cell of the grid has only two different states: empty or occupied.
The position Pc of the cell c in the grid is given by coordinates in Z2 . Each block can be
directly connected to up to four neighbors in a 2D lattice. The following properties are then
applied:
• Unique ID;
• Can get its orientation relative to global referential using embedded sensors;
Modules can move freely in different directions. They can only rotate in Clock Wise (CW) or
Counter Clock Wise (CCW) directions and can perform a translation or a rotation depending
on the pivot and near obstacles: so in total, they have 16 possible motions. The movement of
the modules needs to satisfy condition 1.
Condition 1 . A module can move freely without any manual intervention if there is only one
pivot in its neighborhood.
Condition 1 defines the case where a node has more than one neighbor that can be used as a
pivot and is not able to decide which one to use. Figure 4.1 shows an example of an invalid
case of movement. Indeed, the module 3 has as pivot module 1 and 2, it can not decide by
itself which node should be considered as a pivot. Whereas in Figure 4.2a and Figure 4.2b,
module 3, according to Condition 1, can pick the only neighbor it has like a pivot. Figure 4.2a
represents the case of a CW motion with rotation because the left side of the pivot is empty.
Figure 4.2b represents the case of a CCW motion with a translation because the right side of
the pivot is filled.
74 Reconfiguration using virtual forces
3 2
Figure 4.1: Invalid Node Motion according to Condition 1. The red module (#3) is a module
with 2 connections. Thus a pivot for rotation is not possible.
1 2 1 2
1 2 3 1 2
3 3
(a) Clock Wise (CW) direction and rotation. The (b) Counter Clock Wise (CCW) direction and
red module (#3) is a module with 1 connection. translation. The red module (module 3) is a mod-
Thus a rotation pivot can be identified and a rota- ule with 1 connection. Thus, a pivot can be iden-
tion is then possible. tified and a translation is then possible.
Let G be the goal shape, we assume that each module si stores locally a copy if G. A module
si has a position pi (xi , yi ), with (xi , yi ) ∈ Z2 . Furthermore, in this chapter, it is assumed that:
• The size of the system, as well as the initial shape of the system, is unknown.
• The leader is elected and can be any module in the system being at any position.
• Each module in the system knows which connections it has at all times. This makes it
unlikely for any messages to be lost during transmission, so the system does not have to
worry about this issue..
• Each module can scan the grid and can check if a certain position (x, y) is empty or
filled.
• Each module has the ability to submit events to a scheduling queue for immediate or
future execution.
4.4. PROPOSED ALGORITHM 75
The problem treated in this chapter is the following: having a goal shape G, the free modules
present in the grid will define the potential target positions inside G that they may fill by
applying the proposed algorithm. The leader will pick the free modules and the goal positions
to be filled in a way that minimizes the cost of the whole structure. However, after moving
some modules, the leader would be able to pick other potential nodes and fill new empty
positions. Therefore, the process will repeat itself until no further solutions are found by the
leader.
1. VFA phase: each free node detects the free positions in the goal structure and for each
of them, it defines a weight as a result of the attractive and repulsive forces towards this
free position.
2. Exploration phase: the leader explores the whole system of modules while at the same
time builds a tree structure rooted at the leader module itself.
3. System potential movements reporting phase: This phase is launched in parallel to the
previous phase, in a manner where the algorithm collects all the free nodes’ potential
movements and their weights to report the total potential movements from the whole
system to the leader module.
In modular robots, the proposed approach considers each free node as a ”source of force” for
all the empty positions in the target structure. This force can be either positive (attractive) or
negative (repulsive). On one hand, the attractive force is defined as being inversely proportional
to the number of moves required by this free node to reach a certain empty position in a specific
direction (CW or CCW); indeed, the more moves the node needs to reach the empty position
the less the force exerted is attractive. On the other hand, the repulsive forces are defined as
the existence of an invalid path in a certain direction according to Condition 1.
76 Reconfiguration using virtual forces
In a neighborhood of M modules, let j ∈ (CW : 0, CCW : 1) and let the total force exerted
−−→
by a node si on an empty position pk in a certain direction j be denoted by Fijk which is
a vector whose orientation is determined by the vector sum of all the forces exerted by si in
−−−→ −−−→
the direction j on the empty position pk . If FijkA and FijkR are considered, respectively, the
attractive force and repulsive force exerted by si in the direction j on the empty position pk ,
−−→
the total Fijk can now be expressed as:
−−−→
FijkA as defined previously is inversely proportional to the number of moves required by si to
reach the empty position pk while ignoring the Condition 1. Let be n the number of these
moves and M the number of modules:
−−−→ M
FijkA = + (4.2)
n
−−−→
FijkR is the existence of invalid path in a certain direction according to the Condition 1. It
can be expressed as follows:
⎧
−−−→ ⎨0, if from j to pk is a valid path
⎪
FijkR = (4.3)
⎩−M,
⎪
if from j to pk is an invalid path
−−→
A positive value for Fijk expresses the attractiveness of the motion of si in the direction j
−−→
towards pk , whereas a negative value for Fijk expresses that such a motion would result in
a blocking position for si and therefore should not be taken into consideration as a possible
motion for si .
1 1
1 2 3 1
1 1 2 3
In Figures 4.3a, 4.3b, and 4.3c, the red module is a free module and the blue ones are in the
goal shape. The orange squares are empty positions in the goal shape that should be filled.
Figures 4.3a and 4.3b present attractive forces with the variation of the number of motions
needed to reach the target. Indeed, in Figure 4.3a the node s4 in the direction 1 needs 3 moves
4.4. PROPOSED ALGORITHM 77
to reach the empty position p1 with a total number of 4 modules in the figure, therefore the
−−−→
length of the vector F411A should equal to 4/3. Whereas in Figure 4.3b the node s2 in the
direction 1 needs 1 move to reach the empty position p1 with a total number of 2 modules in
−−−→
the figure, therefore the length of the vector F211A should equal to 2/1.
Figure 4.3c shows a case of attractive and repulsive forces. The node s5 in the direction 0 needs
4 moves to reach the empty position p1 if we ignore the Condition 1 with a total number of 5
−−−→
modules in the figure, therefore the length of the vector F501A should equal to 5/4. Whereas
the path to p1 following the direction 0 would cause a blocking position of s5 between s2 and
−−−→
s4, so the length of F501R would be equal to 5 in the opposite direction of the motion. In
−−→
this case, the sum of the forces F501 would be negative and ignored in the remaining phases
of the algorithms. Theoretically, if Condition 1 is not valid the value of the repulsive force will
be greater than the attractive one and the sum of forces would be negative, therefore in such
a case, it is useless to calculate the attractive force. Let’s define L as the 2D grid, G the goal
shape we aim to obtain, D the set of possible directions, P the set of available modules in L
and T the set of forces calculated by s.
The algorithm of the phase 1 is presented in Algorithm 13. Each module in L, will launch
this algorithm in the phase 1 and at the end of this phase each free module will have a set of
target empty positions with the required forces to reach them in a specific direction.
Inspired from Assaker et al. (2020), this phase’s goal is to explore the whole system of modules
while building a logical tree structure rooted at the leader module along the way. The algorithm
starts with the initiation from the leader module and by using 3 types of messages:
2. Type 2 messages reply by confirming that a new module has been discovered and it is
one of the children of the sender module.
3. Type 3 messages reply without taking into consideration that the recipient module has
already been detected and inform the sending module of this discovery.
Also, to notice that type 2 messages are the only way to expand the tree structure of the
system.
The leader module starts by specifying that it is now discovered and that it has no parent, and
would finally transmit type 1 messages to each of its neighbors. Whenever a module receives a
type 1 message it initializes its parent to be the sender module and replies by a type 2 message
which notifies the parent that this node is now one of its children, and finally proceeds by
sending type 1 messages to its neighbors (excluding the already known to be parent neighbor).
If it is not the first time that it receives a type 1 message (the module is already discovered
by another module) it sends back a reply message of type 3, which notifies the sender module
that this module is not its child.
The Algorithm’s part concerning the first phase is presented in Algorithm 14.
4.4. PROPOSED ALGORITHM 79
In this phase, that is run in parallel with the previous phase, the main idea is that whenever
a module is discovered and all its subsequent children finish discovering their respective sub-
trees (or if this module does not have any children), this module should report its sub-tree
potential modules movements to its parent. The sub-tree potential module’s movements of
a given module are the potential modules movements of the tree structure that is rooted in
this module. Thus, this process of sub-tree potential module movements reporting will emerge
from the leaves to the leader module. Type 4 messages are now introduced. These messages
80 Reconfiguration using virtual forces
are only passed from child to parent and they carry out a set value named that represents the
sub-tree potential modules movements of the child node. After a module has been discovered,
and it has sent out type 1 messages to all of its neighbors (potential children) and it received
back all the reply messages (either type 2 or type 3), it would if all neighbors replied with type
3 messages or if it has no neighbors other than its parent (both cases represent the case of a
leaf) send a type 4 message to its parent, with the set composed at the first phase. If one or
more neighbors replied with a type 2 message (i.e., the node has at least one child) wait for all
children to send their sub-tree potential modules movements, and only when they do, proceed
by sending a type 4 message to its parent, which now carries its sub-tree potential modules
movements that is the aggregation of all sub-tree potential modules movements received from
its children with its own. This process keeps on repeating until eventually all sub-tree potential
module movements would be transmitted from child to parent and the leader module would
be transmitted from child to parent and the leader module would receive the final total system
potential module movements The Algorithm’s part concerning the second phase is presented
in Algorithm 15.
4.4. PROPOSED ALGORITHM 81
At this point, the leader has gathered all the system’s potential movements of free modules
towards empty positions in the goal structure. We define the cost of the algorithm as being the
total number of moves by all the different free modules. The problem that needs to be solved
now is to fill the highest number of empty positions while optimizing the cost of the algorithm:
it can be formulated as an assignment problem which can be solved using the Hungarian
Method Cui et al. (2016). The Hungarian method is one of the most popular polynomial-
time algorithms for solving classical assignment problem. As stated in the original algorithm
published in 1955 : ”Assuming that the numerical scores are available for the performance of
each of n persons on each of n jobs, the assignment problem is the quest for an assignment of
82 Reconfiguration using virtual forces
persons to jobs so that the sum of the n scores so obtained is as large as possible” Kuhn (1955).
In this chapter, the people are considered the modules, the jobs are the empty positions to be
filled and the performance is the result of the Virtual Forces phase. Theoretically, the Kuhn-
Munkres algorithm (Hungarian Method) is guaranteed to reach the global optimum. When
the leader has all the potential movements, it will launch the Kuhn-Munkres algorithm twice:
once in each direction (CW and CCW). To prevent unexpected collisions between moving
blocks, the approach needs to pick one direction at a time. The algorithm is searching for the
direction with the overall lowest possible cost on the system. Having that, the leader will be
able to identify which modules should be moved to which positions. When the leader moves
certain blocks, it may open the way to other blocked modules to be able to move, so the whole
algorithm may be repeated on several iterations until no further potential system movements
are provided by the environment exploration and reporting phases. The overall algorithm of
the proposed approach is presented in Algorithm 16.
The proposed algorithm was implemented and evaluated using VisibleSim Thalamy et al. (2021)
a modular robots simulator. To study the performance of the proposed algorithm, four metrics
were taken into account in our simulations: the number of iterations needed by the Kuhn-
Munkres algorithm; the number of moves made by all the modules; the number of messages
exchanged among the modules during the self-reconfiguration process and the number of events
processed by the simulator.
4.5. SIMULATION RESULTS 83
(a) The goal shape of UFC (b) The goal shape of a humanoid
To show that our approach works on different styles of shapes, we have conducted configu-
rations of varying complexity. A video of these simulations is provided 1 to better illustrate
the algorithm and the reconfiguration results. We considered two configuration scenarios while
varying the total number of modules. The first scenario is to transform a straight chain line
modular robot to a ”UFC” 2 like shape and the second to transform it to a humanoid shape
as shown in Figures 4.4a and 4.4b respectively.
The obtained results are presented in Figures 4.5 and 4.6. These figures show the number
of iterations, events, messages and moves for the two configurations ”UFC” like shape and
humanoid shape while varying the total number of modules. In the two scenarios, we notice
that the number of messages and moves to change the shape of a modular robot using our
algorithm is linear according to the total number of modules in the system which is a very
encouraging result comparing to the results presented in ?.
Table 4.1: Performance Evaluation for the whole algorithm on different versions of the modules
structure
1
Youtube video: https : //youtu.be/f wKvdF 3zDk
2
Acronym of our University: University of Franche Comté
84 Reconfiguration using virtual forces
212156
27226 55249
32965
7867
3439 17766
3226
1163
112
29 35
17564
12338 37014
10100
16263
14775 2196
4349
1876 3540
690
571
144
54 55
24
22
4.6/ Conclusions
Modular robots are limited in computational resources. The problem, that our solution does not
take into consideration, is the complexity of the optimization algorithms. Usually, optimization
algorithms are of the order of O(n2 ) and above; the Hungarian method is of complexity O(n3 ),
so it is not so suitable for modular robots. In ?, they proposed an improvement of the Kuhn-
Munkres algorithm by utilizing the sparsity structure of the cost matrix, but it should be tested
4.6. CONCLUSIONS 85
This chapter presented an algorithm for a system of modular robots that is capable of self-
reconfiguration based on a distributed virtual forces approach and a centralized optimization
method. The proposed algorithm tries to move the maximum number of free modules to empty
positions inside a goal shape over multiple iterations if required. The results show that the
algorithm has a linear consumption of messages over the distributed phase and will increase the
resources consumption with the number of iterations required which is related to how much
the initial shape is different from the goal shape.
5
Fault detection
Contents
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3 Detector: disconnection detection . . . . . . . . . . . . . . . . . . . 89
5.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.2 The Proposed Algorithm . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
87
88 Fault detection
ne of the main challenges in modular robotics is to detect and heal the system from a state
O of partial or complete disconnection. Partial disconnection can be achieved by removing
the links between the modules. Complete disconnection can be achieved by removing all the
connections between two group of modules. It is important for the modular robots to detect a
failure between connections since the mobility and the functionality of the robot depend on it.
This chapter presents a novel approach to detect disconnections in lattice based modular robots
more precisely, Blinky Blocks. It detects the disconnections using a hierarchical algorithm.
The leader of the system constructs a spanning tree, assigns a coordinate to each module and
compares it to detect the disconnections. The simulations shows the ability to detect all partial
disconnections. Furthermore, the complexity regarding the number of messages sent is linear
against the number of modules in the system.
5.1/ Introduction
A very frequent fault in modular robots is disconnection. It can be caused by incorrect design,
lack of care, or a defective module. Disconnections among robots can lead to collisions or
a lack of mobility, which will make the robot unable to perform its function. Disconnections
can also cause a loss of autonomy or even the robot’s death. Therefore, it is crucial to detect
disconnection among modular robots to prevent errors in the overall system. This chapter
proposes a novel hierarchical disconnection detection algorithm based on spanning tree that
detects all partial disconnections in a lattice based modular robotic system.
The remainder of this chapter is as follow: Section 5.2 presents the literature review, Section
5.3 presents the proposed algorithm, Section 5.4 shows the simulation results, and finally
Section 5.5 concludes the chapter.
5.2/ Background
In modular robotics, the mobility of the modules is often not controlled by the computer itself,
but the modules communicate among each other and decide among themselves how to move.
Simple tasks such as collision detection, passing obstacles and shape formation become more
complex with this approach.
Disconnections in MRS can occur for a number of reasons: (1) a robot may move off-course,
(2) a robot may collide with a fixed structure, (3) two robots may physically touch each
other, (4) two robots may physically touch each other and then become disassociated from
the system, and/or (5) a robot may disconnect from the system through no fault of its own.
While a MRS is being operated, the system must ensure that all communications remains
available. In order to achieve this, it is crucial to detect disconnections among the robots of
5.3. DETECTOR: DISCONNECTION DETECTION 89
the system. Such disconnections may, for example, result in the loss of valuable data that is
being transferred among the particles, or in the loss of robot operation time.
A MRS can be represented as an undirected graph, but traditional graph algorithms, such as
Weakly Connected Components Dunbar et al. (1997), can’t be applied due to the system’s
distributed nature.
In Youssef (2021), the authors presented a machine learning based algorithm to detect faults
in distributed robotics system. Their work can be summarized as follows: creation of data-sets
of multi-robot system with faults and failures for the purpose of learning faults.
In Regin et al. (2021), fault detection over a wireless sensor network in a fully distributed
manner. First, they proposed the Convex hull algorithm to calculate a set of extreme points
with the neighbouring nodes and the duration of the message remains restricted as the number
of nodes increases. Then they proposed a Naı̈ve Bayes classifier and convolution neural network
(CNN) to improve the convergence performance and find the node faults.
In Ahmad et al. (2013) a distributed fault detection scheme for MRS and Modular Reconfig-
urable Systems (MRR) with joint torque sensing was proposed. With the proposed scheme,
the joint torque command is filtered and compared with a filtered torque estimate derived from
the nonlinear dynamic model of MRR with joint torque sensing. Common joint actuator faults
are considered with fault detection being performed independently for each joint module. This
algorithm detects if the physical connectors of the particles are connected. In some cases we
might have a successful physical connection but the communication can still be down.
This chapter will be presenting a novel algorithm that detects disconnections in lattice based
modular robots. The algorithm starts by constructing a spanning tree with the leader as root.
Then, starting from the leaves, each module will send the list of none existing neighbors to
their parents. Each parent will compare the received list with the list of the existing neighbors
to detect any disconnections
This section will introduce the proposed algorithm. Lets start by presenting some definitions
and terminologies.
90 Fault detection
5.3.1/ Definitions
A partial disconnection is a set of nodes that are not connected to each other but
are able to communicate through other common nodes on the system. Figures 5.2a
and 5.2b shows an example of partial disconnection.
The units of a lattice architecture link their docking interfaces at points into virtual
cells of a regular grid. This network of docking sites is analogous to atoms in a crystal,
and the grid to the crystal’s lattice. As a result, the kinematical characteristics of
lattice robots may be defined by their corresponding crystallographic displacement
groups (chiral space groups). Typically, just a few units are required to complete a
reconfiguration stage. Lattice designs provide a simpler mechanical design as well
as a simpler computational representation and reconfiguration planning that can be
scaled more readily to complex systems.
The density of a modular robotic system shows how scattered are the modules. The
value of the density ranges between 0 and 1. A system is considered to be dense
when its density value is close to 1. The coordinates assigned to the modules do
not take into consideration the size of the module. Each module is considered to
have one unit size. Equation 5.1 shows how to compute the density in a system. N
represents the total number of modules. xmax , ymax , and zmax depicts the maximum
coordinates in the lattice and xmin , ymin , and zmin depicts the minimum coordinates
in the lattice.
N
Density = (5.1)
(xmax − xmin + 1) ∗ (ymax − ymin + 1) ∗ (zmax − zmin + 1)
5.3. DETECTOR: DISCONNECTION DETECTION 91
A potential neighbor defines a side of the robot that is not connected. A potential
neighbor is defined as the not connected side of the robot. Two cases are presented,
connection failure or absence of modules. Let’s take module B in Figure 5.1 as an
example. Module B in this condition has two potential neighbors: The none existing
one on the right side and the disconnected one-Module D-.
A B
(a) (b)
(c) (d)
Figure 5.2: Different examples of Partial and complete disconnections: Figures 5.2a and 5.2b
Represents a partial disconnection. In Figure 5.2a. modules A and B are disconnected, but
they still are part of the whole system since they can maintain their connection to the system
through their neighbors C and D. Figures 5.2c and 5.2d are in a state of complete disconnection.
In Figure 5.2c, module A is disconnected from module B and module A is not connected to
any other module. Therefore, module A is considered to be in complete disconnection from
the system since there is no other way for the system to acknowledge its presence. Same case
for Figure 5.2d.
This section will be describing the proposed solution in details. The algorithm is based on
three phases.
Table 5.1 depicts the different states of the interface in a specific module.
5.3. DETECTOR: DISCONNECTION DETECTION 93
Status Definition
0 interface not connected
1 interface connected to parent in the spanning tree
2 interface connected to child
3 interface connected to neighbor that is not a child nor a parent
The leader of the system initiates the algorithm. It will create a spanning tree containing all
the modules in the system. The process starts by sending a recruitment message to all its
neighbors. Once a module receives a recruit message, it will change the recruited flag to 1,
to prevent future recruitment from other modules. Mark the interface that sends the recruit
message as parent interface. Extract the coordinates from the received message and update
the coordinates based on the received direction in order to generate its own coordinate. And
finally, send a recruit message to all its neighbor except for its parent. Diagram 5.3 shows in
details the behavior of a module once it receives a recruit message.
94 Fault detection
Recruit Msg
Yes
Yes
recruited = true;
parent = sender;
interfaceStatus[sender] = 1;
receivedDirection = getDirection(sender);
setCoordinates()
Yes
getPotentialNeighbors();
sendNeighborsInfoToParent();
The proposed suggestion to find disconnections in a system is to gather information about the
neighbours. The process starts with the leaves. Each leaf will generate the coordinates for its
potential neighbors, add those coordinates into a vector - that will be called potentialNeigh-
96 Fault detection
borsVector - and send this vector to its parent alongside their own ID and coordinates. Each
parent will also generate the potential neighbors coordinates, check for possible disconnections
- explained in Subsection 5.3.2.3 - then send the results to its parent. The same process will
be repeated until the vector reaches the leader. Figure 5.4 shows an illustrative example of
this phase.
2 5 6
(0,1) (1,1) (2,1)
Leader
1 4 8 Module
(0,0) (1,0) (2,0)
Leaf
3 7 9
(0,-1) (1,-1) (2,-1)
Figure 5.4: Data collection in a dense system: Module 6 will add to the potentialNeighborsVec-
tor the following coordinates: (2, 2) and (3, 1), Module 8 will add (3, 0) and Module 9 will add
(3, −1) and (2, −2). They will then send this vector to their respective parents 5, 4, and 7.
Module 5 will add (1, 2), Module 7 will add (1, −2), and Module 4 will not add anything since
all its interfaces are connected. So on until this vector reaches the leader.
Once a node receives from all its children the vector potentialNeighborsVector, it will compare
with the list of coordinates of existing modules. If the node finds potential neighbors coordi-
nates matching with existing modules, then there is a disconnection. Since each node have
access to only its children, then the final decision of disconnection is actually at the leader’s
level.
The proposed algorithm was implemented and evaluated using VisibleSim Thalamy et al. (2021)
a modular robots simulator. To study the performance of the proposed algorithm, the metrics
that were taken into account in the simulations are the number of messages and the percentage
of error detected (number of errors detected by our algorithm on the total number of errors in
the system). Multiple simulations where done while varying different components at a time.
The first bash of simulations was for the same number of modules - In those simulations, the
number of modules was 1,000 −with different densities ranging from 0.18 to 1. All the shapes’
5.4. SIMULATION RESULTS 97
configuration were randomly generated - For the exception of the cube since it is the only
shape where the density is to its maximum-.
Figure 5.5 shows that when the density is increasing, the number of messages sent is also
increasing. This is due to the fact that when the density is high, the modules are closer to
each other, leading to an increased amount of neighbors per module wish will lead to a higher
number of messages sent. Further more, Figure 5.5 shows that whenever the percentage of
errors in a system is higher, the number of messages sent is lower. The reason behind this is
that when modules are disconnected they can not send messages which will decrease the total
number of messages sent.
Figure 5.5: This figure shows, on a logarithmic scale, how the number of messages sent in
a 1,000 3D system is changing with the density of the system. Each color represents the
percentage of errors that existed in the system during the simulations. It is noticeable that
the number of messages is increasing with the density. Furthermore, the number of messages
decreases when the percentage of errors is increasing
98 Fault detection
The second bash of simulations were done for the same density while increasing the number
of modules. The chosen density for this simulation was 1, for the reason that it was the value
where the system was sending messages the most. We noticed that the number of messages
is increasing linearly with the number of modules. This shows that the complexity of the
proposed algorithm, regarding the number of messages sent, is linear. It is also noticeable that
when the number of errors is increasing in the system, the number of messages in decreasing.
This is due to the fact that some messages are not able to be sent or delivered due to the
errors encountered in the system. 5.6
Figure 5.6: This figure shows, on a logarithmic scale (Natural log on the X axis), the number
of messages sent in the system according to the number of modules in a logarithmic scale.
The shape used in those simulation was a cube. The colors represent the percentage of errors
in the system during the simulations. The results shows that the number of messages sent is
linear when compared to the number of modules in the system.
5.4. SIMULATION RESULTS 99
During the previous simulations, the simulator collected the total number of errors detected
by the proposed algorithm. Figure 5.7 shows the percentage of errors detected on the Y axes
ranging from 90 to 100 against the density, on logarithmic scale, from −2 to −0.4. Five colors
are shown on the graph. Each color represents the percentage of errors in the system. Figure
5.7 shows that for high densities, more errors are detected. A system with low density has less
connected modules. Any occurring error might lead to a complete disconnection that is not
detected by the proposed algorithm. Therefore, the higher the density the better the detection
of errors is.
Figure 5.7: Percentage of errors detected. This figures shows the percentage of error detected
100 Fault detection
5.5/ Conclusion
This chapter presented Detector, a novel distributed algorithm for a hierarchical fault detection
in modular robots. The proposed algorithm is able to detect partial disconnections in a lattice
based modular robotic system. To achieve such task, the algorithm creates a spanning tree
having the leader as root. Each module generates its coordinates starting from the leader as
origin. Then, each module - starting from the leaves - will send the potential coordinates of
none connected interfaces to its parent. The parent will also generates the potential neighbors’
coordinates and add them to the received list, compare the list of potential neighbors’ coordi-
nates with the list of the actual coordinates. Any matching coordinates means a disconnection
is found. Then, the parent, sends the remaining results to its parent, so on until it reaches the
leader who will have the final decision regarding the existence of disconnections if any.
The simulation results show an elevated rate of disconnection detection specially with a high
density system. The accuracy of finding disconnections was ranging from 90% to 100%.
Furthermore, the simulations also showed that the complexity of the algorithm regarding the
number of exchanged messages remains linear. However, when this system scales up, the
number of coordinates that needs to be transferred to the leader becomes high. Therefore,
with the limited memory that the system has, this solution is not ideal for a high number of
modules. Since this algorithm is specially made for Blinky Blocks, this issue should not be a
concern for now.
6
PROLISEAN
Contents
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2 Background Description . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.1 Lightweight cryptography . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.2 Hardware consideration . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3 PROLISEAN: our proposed protocol . . . . . . . . . . . . . . . . . . 106
6.3.1 Risk study through EBIOS method . . . . . . . . . . . . . . . . . . 106
6.3.2 Proposed algorithm: PROLISEAN . . . . . . . . . . . . . . . . . . 110
6.3.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.4 Algorithm analysis and proposed solutions . . . . . . . . . . . . . . . 123
6.4.1 The block cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.4.2 The Hash function . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.4.3 Proposed Hashing function . . . . . . . . . . . . . . . . . . . . . . 128
6.5 Simulation and differential cryptanalysis . . . . . . . . . . . . . . . . 129
6.5.1 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.5.2 Differential cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . 131
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
101
102 PROLISEAN
ust like any other technology, the security aspect in programmable matter is a huge concern.
J Given its distributed architecture and its processing limitations, this development suffers
from a major security problem. To the best of our knowledge, no security protocols were used
in PMS. Traditional security protocols and encryption algorithms are not reliable in the way of
its distribution between the objects. This chapter proposes a new security protocol optimized
and dedicated for programmable matter. This protocol is based on light weight cryptography
and uses the same encryption protocol as a hashing function while keeping the distributed
architecture in mind. The analysis and simulation results show the efficiency of the proposed
method and that a supercomputer will need about 5.93 × 1025 years to decrypt the message.
6.1/ Introduction
Modular robots can be used in unattended even hostile environments, thus leaving them vul-
nerable to passive and active attacks. For instance, if MRS was used in space shuttles, a
hacked module can lead to sending falsified coordinates leading to a possible crash, or a nano
robot that is injected in the human body and starts killing healthy cells. Therefore, the security
in such scenarios is a necessity especially in the context of modular robots where modules have
resource-constraint, and are susceptible to physical capture. To the best of our knowledge,
security in modular robots is not yet tackled by researchers. Many challenges are encountered
when discussing such matter. This kind of robots have no central control and have limited
memory and processing resources. Under such circumstances, traditional security protocols
cannot be applied. Therefore, lightweight security protocols must be proposed and studied.
Such protocols were proposed in the context of wireless sensor networks Guyeux et al. (2014);
Santos-González et al. (2020); Bahi et al. (2010), ad-hoc networks Ogundoyin (2020) and In-
ternet of Things (IoT) Sarker et al. (2020); Wazid et al. (2020). Although, modular robots, are
considered to be an application of IoT, they have some specific characteristics. For instance,
the robots used in this thesis can not have a unique identifier or IP addresses. Moreover, they
are not always connected to the internet and do not have a central control. Therefore, existing
security protocols for IoT can not be applied for programmable matter.
The main contribution of this chapter is to study and propose the first security protocol that
can overcome the challenges mentioned above while keeping the system secure. It is based on
the creation of a hashing function using the encryption algorithm and a block code already
embedded in the nanobot to reduce the memory and processing usage. This protocol will be
composed of two main parts: authentication and encryption. In the authentication part, the
algorithm will be checking whether the connected module is authentic. In other words, check
if this module is an eligible module and that it has the right to connect to the system. Once
all modules are authentic, the second step will be encrypting the communication among the
modules, thus making it hard for a third party that might be listening to the communication
6.2. BACKGROUND DESCRIPTION 103
to understand the behaviors and the decisions of the system. The efficiency of the proposed
protocol was proven via an analysis study and validated experimentally via simulations realized
by VisibleSim Piranda et al. (2016), a simulator dedicated to modular robots. The obtained
simulation results show the effectiveness of the proposed approach which ensures the security
of a modular robot system.
The remainder of this chapter is organized as follows. Section 6.2 of this chapter describes the
background behind this study by reviewing modular robotics and light weight cryptography.
Section 6.3 is the main section of this chapter. It will be discussing the proposed protocol
with four different versions. And a full risk study through EBIOS method for all the versions
proposed. Section 6.4 will be analysing the proposed protocol based on the CIA criteria while
taking into consideration the hardware and logical limitations. Section 6.5 will be analyzing
the HIGHT encryption algorithm by trying nine different attacks. And finally Section 6.6 is
dedicated to the conclusion and future work.
In the wake of the massive arrival of small connected devices on the market with small capabil-
ities but sensitive information to communicate, IoT became an easy target for cyber-attacks.
Therefore, various algorithms and protocols have been developed over the past years to secure
those communications. Regarding the low capacities of the devices compared to a laptop or
a smartphone and the need of authentication, the use of cryptography appeared as a good
solution. Since security algorithms -in this particular case – have to use less memory and
have a low complexity to reduce their power consumption, a new kind of ciphers merged: the
lightweight cryptography.
104 PROLISEAN
Figure 6.1: Results of ECRYPT II ordered by code size and RAM use
Cryptography consists in encrypting data into ciphered text to secure transmission and there
are two types of encryption algorithms, symmetric and asymmetric. Symmetric ciphers use the
same key for encryption and decryption of the data. Sharing the key is the major issue of this
type since its acknowledgment by a malicious party compromises the system. Symmetric key
algorithms allow confidentiality of data but can not guarantee authentication, this has to be
done before the communication begins Bhardwaj et al. (2017); Katagi et al. (2008); Hanley
et al. (2012); Shirai et al. (2007). Asymmetric cipher needs two keys: a private and a public
one. Each device has to know all the public keys of the network, this becomes a structural issue
for nano-modular robots which theoretically includes billions of nano-modules. Therefore, this
chapter will be focusing on symmetric algorithms Biryukov et al. (2017). Figure 6.1 shows the
results of different reports on lightweight cryptography algorithms and among all, the report
of the European Network of Excellence in Cryptology Francois-Xavier Standaert et al. (2010)
that bench-marked 11 different algorithms. This research focused on this type of encryption
since all the algorithms were tested on a very low resources processor the ATtiny45 by the
corporation ATMEL (Advanced Technology for Memory and Logic). It is an 8-bit processor
made by ATMEL, with a limited number of instructions, a 256 Bytes internal SRAM, and 4
KB of flash memory. 19 hash-functions designed to be lightweight protocols are compared.
Those are interesting in this study since there is no need for a key to use hashed data even
if the decryption is too complicated for the nano-modular robots. The diagram in Figure 6.1,
sorts all the applications by code size and RAM usage (in bytes) to restrain the list to the one
that could fit in the nano-robots without impacting their memory capacity.
6.2. BACKGROUND DESCRIPTION 105
In this chapter we proposed a new security protocol for programmable matter based on modular
robots with low energy and computation resources. Similar studies were proposed for different
technologies such as RFID, wireless sensor networks (WSN) and Internet of things (IoT). For
instance, in Arış et al. (2015), the authors describe a counter measure to prevent DoS/DDoS
attack. The authors suggested the addition of an extra filter to determine a possible DoS attack
and inform the routers to shut it down. In Cekerevac et al. (2017), the authors suggested first
an installation of firewalls and updating software regularly from reliable resources. On another
note, the paper recommended the usage of SSL certificate and efficient encryption algorithms.
Using event detection techniques in wireless sensor networks, the authors in Illiano et al. (2015)
developed an algorithm to detect malicious data injections. Malicious code injection attack
is one where an attacker can determine the configuration of a system and create falsified
measures allowing himself to bypass the security protocol.
Although the proposed techniques ensure good results in preventing several attacks, they can
not be applied directly in the context of programmable matter. Hence, programmable matter
have specific characteristics making them different from existing technologies. For instance, the
communication between modules are done just between adjacent modules, the topology is very
dynamic as the modular robot usually changes its shape, there is no base station to control the
network, etc. Based on the study published in Kumar et al. (2020), we proposed in Table 6.1 a
comparison between different technologies where lightweight cryptography protocols have been
used (e.g. Radio-frequency identification (RFID), wireless sensor networsk (WSN), Internet of
Things (IoT)) while adding the programmable matter (PM).
Mobility Support DB required Power requirement Popular Encryption Algorithms Possible Security Techniques
Usually passive DES, AES, Optimistic trivial RFID
Yes: modules are in form of
RFID Yes but sometimes SecureRF, authentication protocol
tags and are attached to objects
Battery-powered DESL (O-TRAP)
Route optimization algorithm,
they are usually placed DES, 3DES, DES-X, blowFish, active trust,Q-s composite,
WSN Yes Battery-powered
in fixed areas TEA, XTEA, AES, HIGHT TinySec, SPINS, LSec,
LISA, LISP
REST, HTTP, JWT, CWT,
IoT Modules can be mobile or fixed Yes Battery-powered ECC, Diffie-Hellman, COSE
WebSockets, TLS, DTLS
PM Modules can be mobile or fixed No Battery-powered HIGHT PROLISEAN
Considering the size of the modules, one may understand that the hardware capacities will be
extremely low even if none of those has been built yet. In order to start the research with realistic
figures, the hardware capacities of the small modular robot that is being built by FEMTO-ST
was taken into consideration. The processor is an Arm® Cortex®-M0, a 32-bits one, with
36 KB RAM memory and 128 KB flash memory. It is one of the world smallest computers, and
with its low energy consumption equips all the recent TI calculators. This robot is similar to the
Blinky Block cubic modular robot proposed in the Claytronics Project Kirby et al. (2011) but
106 PROLISEAN
does not perform movement operations. This data is the only concrete information available
to the research department at the time of writing this report. The remaining features of this
report will be based on hypothetical values. Assuming that the day such a technology will
exist, it will consist of the smallest available electronic components. This chapter is based on
orders of magnitude based on the capabilities of the smallest electronic components currently
available.
To begin with, it was necessary to identify potential threats to programmable matter based
on modular robots. In this section, the elements will be summarized using the EBIOS ANSSI
(2010) method as shown in Figure 6.2. This method, created in 1995 and updated in 2010,
is a memento for studying security risks for designing and engineering projects in information
technology. The risk study of this method must be preceded by 3 steps: context study, study
of threat scenarios and study of feared events.
Threat
scenarios
General Risk Security
Context Dreaded assessment measures
events
• Loss of spatial landmarks: the spatial location by the entire structure is an important
element in coordinating the individual actions of robots.
• Data leak: internal communications within the structure are read by people or algorithms
that should not be allowed to know the intentions of the structure.
• Distribution of messages from the outside: the modules receive instructions from a third
party.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 107
Robots communicate through physical connectors by contact with their direct neighbours.
They can only send a message to one of their neighbours or to the entire structure through
their neighbours. As described previously, the modules are homogeneous and autonomous.
The threat of remote interference in robot communications can therefore be ruled out. The
main threats remaining are:
• The mixture of two different structures: causing misunderstandings between the modules
because they would be linked with others with different behaviors, as shown in Figure 6.3.
Or worse, if this second structure is controlled by a malicious person, it could transmit
our internal information to its user, interfering with the execution of the mission.
Forb
idde
n
• A spy in the structure: A hacker builds the same modules as those in our structure
but equipped with an antenna and an interface, as shown in Figure 6.4. It could then
connect, integrate into it and communicate with it to either take control or destabilize
it. For example, it could claim to be the leader of the structure while another leader has
been appointed.
(2,0)
(0,0) (0,1)
Such a risk study is carried out in two parts: the analysis of the combined risk of scenarios
and feared events with or without the security measures already in place. After considering
the 3 elements of the threat scenarios, the risks are defined and classified by category and
probability.
• Hacking the structure with no physical help: it has been demonstrated in previous sec-
tions that it is currently impossible to communicate with robots from a computer when
the experiment is in progress. In this case, if a computer manages to get into a robot,
it will not be able to take control of the entire structure. The probability is therefore
negligible, and the risk is low. However, in another experimental context, where the
structure would communicate directly with a computer, this risk would become one of
the main concerns.
• Mixing two different structures of modules: these are two blocks of programmable matter
moving nearby and composed of similar robots. It is then very likely that they will mix
if they come into contact. The robots that compose them would stick together without
understanding each other and the work of the two structures would be interrupted. The
gravity of this case is not significant.
• Intentionally send a group of modules to insert into the structure: this risk is almost
similar to the previous one, except that if the malicious structure has been programmed
to come into contact with another, then its impact on its initial task will be more serious
because it will be more incapacitating.
• Inserting a new module equipped with a communication interface: this risk, although
unlikely because it is technically very complicated, would have critical consequences on
the functioning of the programmable matter because it would allow another user to
communicate with it and possibly divert it from its initial task or even destroy it.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 109
• Inserting an identical module with wrong spatial coordinates in its code: this is more
likely to happen than the previous one because it is easier to implement. However,
the consequences would be a little less serious because the result would be at worst a
deformed structure (topology) preventing the system to perform its task or an outgrowth
on the final result.
Table 6.2 presents all considered risks, classified by category and probability.
Risk Assessment
Inserting a robot
Critical equipped with a
communication interface
Category
Inserting an identical
Intentionally send a
robot with wrong
Significant group of robot to
spatial coordinates
insert into the structure
in its code
Mixing two different
Limited
structures of robots
Hacking the structure
Negligible
with no physical help
Negligible Meaningful High Maximal
Probability
Despite the low hardware capacities, it is better to create simple rules applied by the modules
that would seal the structure to any exterior threat. Each module works independently in the
structure, it neither considers its orientation nor its place in the structure. Therefore, each
module is concerned by securing the itself and the whole system. Moreover, block ciphers use
less capacity than hash functions but needs to share its key to communicate data. Thus, a key
is needed as well as a way to communicate it and a secured mean of authentication. Therefore,
the system would be locked, no intruder could take part of the structure and nothing could
interfere into the communications.
Indeed, some systems may need minimum security which does not affect the robots capacity,
while others need a major security protocol even if it implies slowing down the robots and
consumes more energy.
Thus, the work describes four different versions that can be used separately and based on
ISO/CEI 27001 that respects the main requirements in cybersecurity: Confidentiality – Integrity
– Availability.
110 PROLISEAN
Four versions of the protocol are proposed in this chapter starting with the least to the most
secured. The first version represents a simple authentication process. Protocols are more and
more secure as we move to the next versions. In other words, the version that is less secure
requires less processing power than the others. Therefore, the presentation of four versions
was mandatory, leaving the choice to the end-user based on his system.
Initial concept When two robots connect, none of them knows if the other one belongs to its
own structure. In order to authenticate, each robot will provide its source code to the other to
compare it with its own. Since each robot from the same structure have the same source code,
the comparison of the code is an efficient way to authenticate without adding any unnecessary
lines in their program. However, if the Unknown-bot was malicious, this operation would turn
into a data leak. Therefore, hashed source code is shared. Since a hash function gives the
same result for the same data block, a comparison can occur. In this context, collision risk
probability must be taken into consideration while pointing out a light weight hash function.
Analysis This method allows to authenticate by comparison of the code with a few means
and without providing the code to a malicious robot. Once the authentication is done, the
flow of data is not protected but for a low security level. In fact, only identical robot can
authenticate and this might be enough to consider for some systems.
This version has low security dialog that does not guarantee the integrity of the mean of
connection. However, it remains important as it allows to make a difference between the robots
that belong or not to the structure. It was designed to be time efficient for authentication by
providing a first level of confidentiality.
Phase 1: Authentication The first phase of this version is extended from the previous.
Moreover, the first part of the source code is hashed and used for authentication comparing
and the second part is saved in the robot’s memory because of its key role in the next phase.
The latter will be called “identity-block” in the following parts. Figure 6.6 presents the first
phase of version 2.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 111
Nanobot 1 Unknow-bot
0..1 0..1
+ comparison + comparison
0..1 0..1
Hash Function Hash Code Comparison Hash Function
Phase 2: Encrypted communications Once the nanobots are connected, the block cipher
algorithm takes over the hash function to carry the communications out. As the block cipher
is a symmetric algorithm it needs a common key in each nanobot. Therefore, the “identity
block” previously created is used as a session key to encrypt the data. In this study, the robots
can be connected to many other robots at the same time and the use of the same key for all
the communications allows to save memory space and the energy that would be necessary to
create and use one new key for each data transfer with a new robot. Figure 6.7 presents the
second phase of this version.
Nanobot A Nanobot B
Block-Cipher Block-Cipher
Identity Block 0..1 Identity Block 0..1
0..1 0..1
+ Encryption() + Encryption()
+ Key: String + block-cipher + Key: String + block-cipher
+ Decryption() + Decryption()
0..1 0..1
+ block-cipher + block-cipher
0..1 0..1
Message Message
Analysis Ciphering of the communications provided confidentiality for the protocol, even if
the session key is known by every robot across the structure. The hashing of the code in two
parts prevents a leak of credentials during the authentication.
Assuming that the session key is the hashing of the whole code, it would also be the data used
to authenticate. A malicious nanobot could possibly copy this hashed block and authenticate
with another robot of the structure and then decrypt the ciphered data. In this case, even if
something copies the first credential to authenticate with another nanobot, it won’t be able
to understand the communications inside the robot swarm.
112 PROLISEAN
This protocol uses higher capacity than phase 1 and will not fit to use with very low resources.
However, the use of lightweight algorithms combined with this protocol can provide an efficient
solution.
To improve security, the code does not have to be cut into exact parts and the separation
between the first part used for authentication and the second one used for encryption, can be
kept secret by the user. As an example, for a 1 000 lines code, line 1 to 384 will be hashed to
authenticate and line 385 to 1 000 to encrypt.
Context Hashing the whole code and comparing seem to provide enough security to connect
two robots. However, communicating the same hashed code between thousands of robots that
compound the structure is risky. A malicious robot could get this identity block and give it to
another robot of the structure and thus get access.
For better explanation, the point of view of a single nanobot will be considered, unlike the
two previous ones. The reader will then be able to see a robot belonging to the structure and
an unknown robot trying to communicate or sometimes a more global view of an ensemble of
nanobots.
Phase1: Refined authentication phase There is no need to hash the whole code to provide
high security hashed blocks and few lines are enough. In this context, random numbers cannot
be used as all modules have the same seed and will generate the same random number.
Therefore, the proposed solution is based on using chaotic arithmetic sequence that would
define which lines to hash. The chaotic function chosen in this chapter was based on the
logistic sequence presented in Perrin (2008).
The integer n in this solution is the number of authentications the robot had before the current
authentication, thus the robot can save the current Un and will not have to calculate it for
each authentication. This sequence, is known to be chaotic with those parameters. Which
means that it will not tend to fix values or centroid when n → ∞. And as per Perrin (2008), µ
should be greater than 3.57 as the chaos will be set at this point. No oscillation is yet visible,
in the output of the function, and slight variations in the initial population lead to radically
different results. Moreover, as long as µ < 4 the result will be included in [0, 1], it will be
multiplied by the size of the code to know which line to hash and send to the other robot
to authenticate. Due to the hardware specifications of the nano-sized robots the variable n
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 113
can not have a huge size, this issue is resolved by applying a modulo N in the iteration count
where N is determined at the conception of the modular robot according to its own hardware
limitations.
The security is not only provided using a chaotic determination of the lines but also by the
choice of the parameters µ, U0 , N that can be changed before the initialization of the structure
by the user itself.
To execute this phase, both nanobots must execute all the actions in the meantime as presented
by Figure 6.8a and the sequence diagram in Figure 6.8b
Nanobot Unknow-bot
0..1
0..1
Identity Block + identityBlock Comparison Identity Block
<< dataFlow>>
0..1 + Validation() 0..1 + identityBlock
Value of "n"
Calculation of U(n) Calculation of U(n)
Identity block
Comparison of ID-Blocks
Authentication success/failure
In order to allow robots to know which one must send the authentication request when they
connect, it has been determined that only the one in motion sends an authentication request
to the other. This was set up because a malicious robot could just stick to another robot,
wait for the identity block to be sent to it and then send it back to the same robot resulting
to the hack of the authentication phase. Thus, it is necessary that the robot stationary at the
time of contact is silent and waits to receive the authentication request from the one that just
114 PROLISEAN
In case both robots were in motion at the time of contact, both robots would send a request.
If one of them was malicious then it would perform the same scenario as before, waiting for
the identity block to be sent and send it back instantly. The procedure to counter this second
loophole is as follows:
• When sending an authentication request to one of its ports, if the nanobot also receives
a request then the connection via that port will be processed last.
• If connections have been made with other neighbours, then forget the disputed port.
If the robot is malicious, it will have to send a request again, get back to the initial authen-
tication case and will be a refused authentication. Figure 6.9 illustrates the procedure to be
adopted in the above-mentioned case. The blue robot, which knows the protocol, will first
make connections with its other motionless neighbours and then, acknowledging that it is con-
nected, waits for the red robot to send a second request. Finally, if the red robot belongs to
the structure and is not connected to any other nanobot then it can make its connection with
it like in Figure 6.9a, and if it does not belong to it then it will be blocked according to the
classic authentication phase, Figure 6.9b.
All these conditions had to be set up to prevent a nanobot from being separated from the
structure due to security rules. This is the case in the following illustration, if they both made
the authentication request then any robot could connect. However, if communications were
cut off after a double request then the robot with no connection would be isolated from the
others.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 115
(a) When a friendly robot and a malicious robot are in movement at the same time, the friendly robot
finished authentication with the modules that are were not in movement. Then tries to authenticate
the malicious robot, since the malicious robots does not know the protocol it will not be authenticated.
(b) When two friendly robot are in movement at the same time, each module finishes the authentication
with the modules that were not in movement then authenticates the moving module.
Figure 6.9: Conflict resolution in three steps against a malicious robot (a) and with a friendly
robot (b). Blue modules represent a friendly robot in movement. Red modules represent
malicious modules. The desired new place of a module is depicted by dotted module and a
dashed arrow. When messages are authenticated, they are represented by thick blue arrows or
thick red arrows if otherwise. The blue Shields represent a secured interface.
Phase 2: Ciphered communication with multiple keys The second phase considers that
the encryption key is unique per couple of nanobots. In this configuration, each couple of
nanobots confirmed that the identity block was the same for both and therefore it is used as a
session key to encrypt data between both. A robot will have to save up to four or six session
keys at the time and delete it to save memory space once the communication is over.
One of the conditions for using symmetric encryption is that the public key is known only by
116 PROLISEAN
a small controlled number of entities. Ideally, if only the two entities in communication have
this key, it is called a session key. In this case it is created by the two nanobots, compared and
used, as one would use a session key in a traditional way of such an algorithm.
In this scenario, it is highly unlikely that three nanobots would have the same encryption key to
perform two communications; i.e IDA−B = IDB−C ; In order to avoid any unpleasant surprises,
it is recommended in this protocol to delete the encryption keys when the communication is
over and to set a sufficiently large n, where n is the number of authentications the robot
had before the current authentication. Indeed, one of the situations where this could happen
would be a communication in A and B that would last long enough for B to make N other
communications when a C robot requests authentication and produces the same key.
Nanobot A
ID Block A-B
Message
+ Key: String
0..1 0..1
0..1
+ block-Cipher Nanobot B ID Block A-B
Block-Cipher
+Block-Cipher + Key: String
0..1 + Encryption() + blockCipher 0..1
+ Decryption() Gate
<< Data Flow >> A-B 0..1
Ciphered Data Block-Cipher
+ message Message
+ Encryption() 0..1 0..1
Nanobot C << Data Flow >> + Decryption()
ID Block B-C Ciphered Data
Message Gate 0..1
B-C + blockCipher 0..1
+ Key: String
0..1 0..1 ID Block A-B
+ block-Cipher 0..1 + Key: String
Block-Cipher
+Block-Cipher
0..1 + Encryption()
+ Decryption()
Figure 6.10: Functional scheme of the ciphered communications during the second phase
Analysis This stage of the protocol is heavier than the previous versions but safe. The way
it uses the chaotic sequence, the logistic sequence, offers three configurable parameters. Once
combined with the use of a hash function and a block cipher, the parameters offer a very strong
security system. Moreover, if the unknown-bots were trying to penetrate the structure, the only
data they will receive is the value of n that is permanently changing with the authentications
on the other hubs of the nanobots and the refusal of the authentication. Thus, no data leaks
from the structure to this intruder. Like the others, it was designed to be light for low resources
swarm of robots by the use of a simple arithmetic sequence and its own lines of code as keys.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 117
Figure 6.11, summarizes every possible interaction a robot and its neighbours could have by
following this protocol.
Nanobot E ID Block A-B Nanobot B
Figure 6.11: Neighbours interactions following the version three of the protocol
Since the nanobots will have to handle up to six communications at the same time with multiple
authentications and disconnections if the structure is in movement, the protocol may cause
latency or consumes more time than if there were no security at all. However, this will not
be such an issue since the miniaturisation of technologies is going deeper every year and nano
scaled processors will soon be able to run this protocol. One can also notice that if all those
protocols and algorithms are embedded during the conception of the nano-modular robots, the
rest of the code can be modified to fit with this way of communicating and reduce the latency.
Context In the previous version, the fixed module is the one that is asking the moving particle
for authentication. The problem occurs when two moving modules get connected at the same
time. Then they will both be waiting for the other module to authenticate, and this will lead
to an infinite wait time. Thus, a logical disconnection between the two subjects. This section
of the chapter will be proposing a different approach based on the leader election process. At
the end of the leader election, the leader is a root of a spanning tree. Using the depth first
approach, the leader can send an identification message that will give different ID’s for each
module. The identification generated will be referred to as ID Assaker et al. (2020).
Authentication phase At the time of connection, both modules will exchange the following
information: the ID given by the leader, their clock and a hashed part of their code. Module
A will be receiving IDB , CLOCKB and HB (CodeB ). On the other hand, module B will be
receiving IDA , CLOCKA and HA (CodeA ). When module A receives IDB and CLOCKB ,
it will know what part of the code was hashed. Using its hashing function, it will hash the
designated part of the code and will obtain HA (CodeB ),then compare it with the received
118 PROLISEAN
HB (CodeB ). If both hashing results are the same, then the modules are authentic and they
will trigger the next phase of the protocol that is the encryption.
Two main conditions might occur in such a scenario. The first one is when the end user wants
to intentionally merge two different structures to become one system, and the other case is
when an intruder tries to connect to the swarm. When the first case occurs, there is a high
risk that both modules can have the same ID, this is when the CLOCK value is taken into
consideration. This value, with the ID, will be used to define what line of code is used to
retrieve the hashed value.
If an intruder module connects and tries to reply back with the same hashed value and the
same ID and CLOCK, the other module will definitely reject the reply. This is related to
the fact that modules of the same system cannot have the same ID due to the depth first
method used by the leader to provide identifications for the modules. Furthermore, modules
from different systems can not have the same CLOCK. Figure 6.12 shows in depth the
modules, the classes and the function used to achieve phase 1 of version 4.
Hash Function
w>
Code Comparison
Flo
+ identification
ta
+ Line: String
Da
+ Validation()
<<
lineToHash Clock
0..1 0..1 0..1
+ linePicker 0..1 + internalClock
LinePicker
+ linePicker
0..1 0..1
0..1 0..1 0..1 0..1
+ linePicker LinePicker 0..1
+ identification
ID
+ linePicker
0..1 lineToHash 0..1
0..1
>
w>
Comparison Code
Hash Function
Flo
+ internalClock
ta
Clock
<<
0..1
To execute this phase properly, both nanobots must execute all the actions in the meantime
as presented by the sequence diagram in Figure 6.13.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 119
:Nanobot A :UnknownBot B
Authentication proposal
Calculate HA(codeB)
Compare HB(codeA)
with HA(codeA)
Compare HA(codeB)
with HB(codeB)
Authentication success/failure
As described in Piranda et al. (2013), before a module accomplishes its movement, its current
neighbour will be sending the new neighbour a message informing it that there is a new module
in movement that is coming to connect. A different approach of the authentication can then
be introduced when particles are moving. The diagram of Figure 6.14 shows and explains how
authentication happens when a modules is in movement.
120 PROLISEAN
1 2
A A A A
B C B C
3 4
A A
B C B C
Figure 6.14: Authentication approach when modules are moving and connecting to new neigh-
bours: 1) When A decides to move and connect to C, it will inform B about its movement and
sends its ID with the message; 2) B, by its turn, will inform C that A is coming to connect to it
and forwards A’s ID as well; 3) Whenever A accomplishes its movement, it will input its ID into
the chaotic function and sends the result obtained to C; 4) C will input the obtained ID from
B, process it in the chaotic function and compares the results. If both results are matching,
then the connection authenticated; The new position of module A is depicted by the dotted
module. The dashed arrow represents the movement that will be made by A. Yellow arrows
means a normal communication and message exchange. Red arrow means that the module is
asking for authentication and green arrow depicts the approval of the authentication
Encrypted Communication The encryption method used in version three can be used here
since it is safe and secure.
Analysis The use of both chaotic function and identifications generated by the leader helps
making the system even more secure. Such approach requires more computational power than
the previously described versions. The person creating the system is the only one who is aware
of the computational power and its modules. Therefore, the end user is left with the decision
of what version to choose.
6.3.3/ Analysis
The goal is to create an authentication method that has the least possible impact on the
functioning of the whole system. It was necessary to find a method using the minimum of
resources. Most of the limitations of the proposed protocol come from the environment in
which the experiment takes place. Nothing has yet clearly defined what motivates robots to
move in a certain way. This knowledge might be useful to design a lighter protocol.
6.3. PROLISEAN: OUR PROPOSED PROTOCOL 121
From a more conceptual point of view, energy supply is not yet defined either. Some researchers
would like to be able to supply energy via the static electricity that surrounds the material.
However, others are looking to create nanoscopic batteries. This would make it possible to
define the individual energy consumption of each robot and know whether the application of
such a protocol does consume too much energy at the macroscopic level. Not to mention the
fact that the only thing known about the hardware capabilities of the modules is that they are
very limited. In order to be able to properly dimension this protocol, it will be necessary to
know the memory card size, the CPU speed, the transmission rate between robots, and many
other metrics.
ISO/CEI 27001 is a norm that defines security standards for IT field. Among all its content, 6
criteria can be found to assess and classify security algorithms and protocols. This upcoming
section focuses on the following four: Confidentiality, Integrity, Authentication and Availability.
Each one will be defined and discuss through the 4 versions of PROLISEAN. The remaining
criteria are:
• Traceability, which is inexistent in this protocol because of the low hardware capacities.
• Attributability, where each entity in this protocol is responsible of one action. In this
protocol, it is the case in each version. Thus, it does not allow an assessment.
Integrity The use of the hashing technique based on considering some lines of code provides
integrity to the system. Moreover, the use of chaotic hashing function will prevent adversary
robot to use the same hash code. If the hashed result compared at the receiver side is not the
same, the robot will know that the message was modified during transmission. This provides
integrity of messages, and the robot will ask for the message to be resent.
Authentication Authentication was the main point during the development of PROLISEAN.
It is the ability to guarantee the identity of the users, here it is done by comparing the source
codes – or some lines – of the robots since it is supposed to be the same across the structure.
122 PROLISEAN
As shown previously, versions 1 and 2 are very light over this fact and allow a very fast
authentication. But the result is a low degree of security in the authentication phase. The
second version presents higher security level since the part of the code used to authenticate
can vary according to the initial parameters. The third version is heavy. However, regarding
authentication, the identity block to show is built for each connection.
And finally, the forth version presents the highest level of security. The usage of identifications
generated by the depth first algorithm and its combination with the clock makes authentication
more efficient.
Availability Availability is the guarantee that all the services and resources remains available.
The point here is that the more secure the version is, the more latency can be expected. And the
assessment is inverted compared to the previous points. Moreover, in the third version, some
connections may not happen between two friendly robots in the case of double authentication
request. However, version four fixes this issue with the usage of the identifications.
Graph 6.15 summarizes the CIA criteria for the different versions of the proposed protocol.
Considering the previous results, the focus is on the 5 lightest algorithms: TEA, KTAN,
SEA, HIGHT, and NOEK. Ideally, this latter must have the lowest RAM, energy and memory
consumption but also be fast to encrypt and decrypt. One thing that is noticed during this
part of the study is that the lower the size is, the higher the energy consumption will be.
Indeed, an algorithm with few lines of code written in memory will repeat its functions more
to encrypt with a high security level than a big algorithm with all features in its code. So, the
most efficient one should be chosen.
Collision risk There is a probability that from two different data blocks the same hash result
is obtained, this is called the risk of collision, it is expressed by hash functions designers as
a probability. According to modern cyber security standards, this probability is very low but
n
not zero. For example, for SHA3 it is estimated that a collision can occur at most every 2 2
hashes, with n the output size of the blocks in bits.
Here, all the versions of this protocol rely on the result of a hash function for the authentication
between two nanobots. There is, therefore, a risk that a communication may be authorized
while the two parties do not belong to the same structure and consequently a risk of intrusion
in the event of an attack by someone malicious. Moreover, this probability is not applied to a
single robot but to all the robots in the structure and since their theoretical size is in the order
of nano meter, even a structure with a volume of 1 cm3 could contain thousands of billions of
nanobots. This risk is therefore not to be underestimated.
However, several points prove the use of a hash function for authentication remains a possible
solution:
• With a hashing block size of 128 bits the risk is 1 in 18 billions and with 256-bit blocks
it is 1 in 3.4 × 1038 for a collision to happen.
• The only version of this protocol that relies on the hash function has been created to
prevent two distinct structures from associating. And occasionally, to prevent deliberate
124 PROLISEAN
intrusion by a malicious entity but not controlled by an external user who may understand
the authentication mechanism. Thus, for the objective that was set, the hash function
fulfils, at least in theory, its role. If, during a collision between two structures, a tiny
fraction of the robots, in the order of 1 out of billions mix together, the structures will
be able to continue to perform their initial tasks without difficulty.
• The protocols use block encryption. So the session key is only known by nanobots
belonging to the same structure. Even if an intruder manages to connect, it will be
impossible for him to interpret the communications because it must have the encryption
key. In some models, it will also be necessary for this malicious nanobot to be able to
connect to at least one second robot in the structure to intercept the data flow through it.
Otherwise, it will be considered as one end and will only receive part of the information.
Which drastically reduces the probability of interception of the data.
Memory use This study focused on symmetric encryption to use the minimum number of
keys possible. Using an asymmetric encryption appeared to be a more secured solution but
it included the use of a directory containing millions of public keys. A solution to this issue
could have been to create groups of robots with a common public key. The bigger the groups,
the lower the security. That is why the lines of the robot’s code are used as session key in the
stages 2,3 and 4. Especially in the stage 3 and 4 in which keys are created in a chaotic way
that allows both robots to communicate with a unique session key that is delete at the end of
the communication.
Using the code of the robot in the encryption process also allow to save memory space. Indeed,
there is no need to add lines of code such as registers for the encryption keys. Hash function
provide blocks with a maximum size of 256 bits that is saved in the robots memory, multiplied
by 6 communication ports it gives 1,536 bits of keys or 192 Bytes.
The diagram in Figure 6.16 is based on the figures of ECRYPT II (European Network of
Excellence in Cryptology II) Francois-Xavier Standaert et al. (2010) and compares the cycle
count for encryption and decryption of the 5 algorithms and the energy consumption for
encryption. All those experimental figures were obtained by encrypting a maximum sized block
of data for each algorithm.
6.4. ALGORITHM ANALYSIS AND PROPOSED SOLUTIONS 125
• KTAN and SEA: The result was quite predictable regarding the size of both implemen-
tations. The number of cycles is twice higher than HIGHT or NOEK based implementa-
tions. For example, the AES based lightweight algorithm tested in ECRYPT II uses 18
time less cycles with the biggest code size of this report.
• TEA: As the energy consumption seems to be proportional with the number of cycles,
the energy needed to decrypt the TEA-based algorithm will be one of the highest among
the others.
• HIGHT and NOEK: Both seem to be a good compromise regarding all the parame-
ters previously introduced. Since HIGHT algorithm has less complexity, therefore, this
algorithm will be the focus of this chapter.
HIGHT for High Security and light weight is a block cipher designed for low resources devices
with 64-bit block length and 128-bit key length for 8-bit processors. It was created to secure
RFID tags that are used in contactless credit cards. Those devices are very interesting in this
study since it presents the same requirement as nano-modular robots which are low hardware
resources and low energy consumption.
It uses a Feistel-like 32-round iterative structure 6.17 that can either be hardware implemented
or software implemented Hong et al. (2006). According to the authors, this algorithm is more
efficient in hardware implemented version since Feistel structure uses XOR logical gates and
additions. HIGHT mostly uses mod 28 additions, XORs and circular shifts of bits. It is also
faster than AES-128 once embedded in a 8-bit processor and lighter in the same time by the use
of only one 128-bit register in the key schedule algorithm for both encryption and decryption
since it contains the 2 master keys values necessary for those operations.
126 PROLISEAN
WK3,WK2,WK1,WK0
Initial Transform
SK3,SK2,SK1,SK0
Round1
Key Schedule
SK127,SK126,SK125,SK124
Round32
WK7,WK6,WK5,WK4
Final Transform
Master Key
CipherText
This algorithm has proven through different studies Francois-Xavier Standaert et al. (2010);
Hong et al. (2006) its high resistance against all kind of known attacks to be considered as
resistant as classic symmetric block ciphers. To go into more detail, the initial transformation
prepares the data to be processed in the rounds by concatenating the W K3,2,1,0 whitening keys
and the data to be encrypted in the form of a matrix whose coefficients are bit lists. Then the
method called Round is applied 32 times to this matrix. A Round consists of 5 operations on
the rows and columns of the matrix comparable in some way to the precise and known mixing
of a Rubik’s cube. These 5 operations include the following:
• Two XOR operations between the coefficients and the Subkeys SK0,...,128 .
Once the 32 laps have been completed, the resulting matrix is finally transformed by the
Final Transform function, which undoes the last two operations of the 32nd lap and then
concatenates the entire matrix into a bit string that can be interpreted by the computers as a
character string.
Considering Figure 6.1 the focus will be on the SPONGENT hash function family which are
lightweight hash functions based on the sponge functions model. A sponge function is often
6.4. ALGORITHM ANALYSIS AND PROPOSED SOLUTIONS 127
used in hashing but not only, this term defines functions able to take as a parameter any size
of data and provide a fixed size block in return.
It is advantageous to use such function in this study since the source code of the robot should
be hashed which size is variable. Then use it later as a 128-bit key for one of the symmetric
block cipher.
Those Hash functions are based on the working principle of another lightweight block cipher
called PRESENT. The latter is tested in ECRYPT II report Francois-Xavier Standaert et al.
(2010) but the results of the use of this algorithm to cipher communications was not efficient
for the use of this study. Nevertheless, SPONGENT hash functions that are using its design
principles and are the lightest presented in Francois-Xavier Standaert et al. (2010) in term of
memory size and also RAM capacity use that is the reason why this report is focusing on it.
According to the creators Bogdanov et al. (2011), those hash functions were engineered from
the very beginning to be embedded in small sensors networks such as RFID. It uses a smart
management of the data generated during the hashing process by stocking the least bits possible
during the hashing and serializing the implementation to the point that the logic part of the
function is much smaller that the state part.
The function, like HIGHT, also uses logical gate to optimize the ratio size/RAM use and even
if we could implement it to artificially use those gates. It would ruin the creators efforts to
make it light.
The SPONGENT version would be more likely to be used is the 128-bit one since the 2 previ-
ously introduced block ciphers needs a 128 bits key to work. This version needs 1,060 logical
gates to work in its original design Bogdanov et al. (2011). In this case, logical gates should
also be used to make optimal use of this function. According to the various documents pre-
viously mentioned Bhardwaj et al. (2017); Katagi et al. (2008); Francois-Xavier Standaert
et al. (2010); Bogdanov et al. (2011), it would seem, so far, very complicated to make a hash
function with a small size and a small processor footprint without using it.
128 PROLISEAN
mi mi
f1 f4
hi-1 hi hi-1 hi
mi mi
f2 f5
hi-1 hi hi-1 hi
mi mi
f3
f6
hi-1 hi hi-1 hi
Figure 6.18: Six different ways to turn a block cipher to a hash function Black et al. (2002). M
is the block of data to hash that has been divided into the parts noted mi; hi is the result of a
hash turn, h0 is a constant arbitrarily chosen and the central block is the encryption algorithm.
The latter is used i times based on one of the models
To improve the the protocol, the encryption algorithm will be using both hashing function and
encryption such as suggested by Preneel, Govaerts and Vandewall in Preneel et al. (1993). The
challenge was to find a way to use a block cipher that would be secured enough, designed to
be embedded in low capacity devices and be able to run as a hash function within the addition
of a few lines of code.
It is the final stage to create a safe, hardly breakable and lightweight system to secure nano-
modular robots structures. All the security of the structure will fit into a small algorithm able
to encrypt, decrypt and hash on demand and with high security standards.
This method was very interesting in the past. The first hash functions were created by modify-
ing DES for instance, and then, with the increase of the threat in cybersecurity those functions
could not handle the high security requirement. Finally, with the arrival of AES standard the
interest for it pop-up back in the scientist landscape to the point that now, a lot of work about
this topic is available. For now, only heavy algorithms have been turned into hash function
successfully in terms of security standards respect and it would be a great challenge to create
such versatile algorithm.
There are 64 ways to turn a block cipher into a hash function, Figure 6.18 introduces 6
examples, among them few can handle the international security standards. For a simple
reason, ciphers are created to encrypt and decrypt but not hash functions. That is why,
6.5. SIMULATION AND DIFFERENTIAL CRYPTANALYSIS 129
Nevertheless, the idea is relatively simple in the design because it is necessary to find a way
to use the encryption algorithm that makes it almost indecipherable but not due to chance.
Indeed, for the same block of data, a hash function must return the same block.
As previously mentioned, this solution appears to be the most convincing among all because of
the simplicity to implement, the resistance against known attacks and the low memory space
required. Furthermore, Katagi et al. (2008); Rogaway et al. (2008) are dealing with a Noekeon
based hash function with the addition of a few code lines. It might be interesting to integrate
block encryption and hash function from Noekeon. Indeed, according to Katagi et al. (2008),
the Noekeon-based hash function is heavier than SPONGENT during its operation and also
in the memory space. As most of the code lines of the latter would already be written in the
source code of the robots with the block cipher, then it results that by using the NOEKEON-
based hash function this only adds a few more lines in the code. The diagram in Figure 6.19
shows how an encryption algorithm can be used for hashing as well, thus reducing the memory
and processing usage.
Yes
HEIGH Hash? %
No
Figure 6.19: Using the HEIGH algorithm for encryption and hashing simultaneously
Total Total Total decrypt time decrypt time decrypt time decrypt time
Method P (Ek (m) = c)
Rounds Plain Text Encryption 64b in year 32b in year 16b in year 8b in seconds
Differential 2−58 11+ 2248 NA 7.17 ∗ 1049 1.55 ∗ 1031 3.37 ∗ 1012 20
Linear 2−54 10 2228 NA 6.83 ∗ 1043 4.74 ∗ 1026 3.29 ∗ 1009 0.7
Impossible Diff. NA 8 293.6 2109.2 5.71 ∗ 1032 2.33 ∗ 1018 9.51 ∗ 103 0.001
Saturation NA 16 2168 251 5.93 ∗ 1025 1.35 ∗ 1013 3.06 2.19 ∗ 10−5
Boomerang NA 13 2248 NA 7.17 ∗ 1049 1.55 ∗ 1031 3.37 ∗ 1012 20
6.5.1/ Simulations
A simulation was done using VisibleSim in order to implement and evaluate the protocol. In
this scenario, a task is a message send or received. Table 6.4 shows all type of messages that
are being exchanged in the system.
In this simulation, three modules are placed. One of the modules is the main robot in the
130 PROLISEAN
H]
Message Type Message Description
AUTH REQUEST MSG This message is sent by a module that is requesting authentication to connect
AUTH GRANTED MSG Once this message is sent, it means that the module is authenticated to connect
AUTH REJECTED MSG Once this message is sent, it means that the module is not authenticated to connect and the connection will be blocked
initial system. The other two are placed in a way that one is authentic and the other one is not.
Figure 6.20 shows in details the messages exchanged among the modules in order to approve
or reject the connected robot. Furthermore, table 6.5 shows and explains the real values
during the simulation. The columns Value1 and Value2 represents the values of the variables
with index 1 and 2 respectively. Moreover, Figure 6.21 presents the structures simulated on
VisibleSim.
1 c1 i1 h1 c2 i2 h2
2
h1 == h'1 h2 == h'2
true false
1 2
Figure 6.20: Simulation graph. The initial module is colored in yellow. The bots that are trying
to authenticate are in white and numbered 1 and 2. After the authentication phase, module
1 is authenticated, therefore, it is now colored in yellow. Module 2 in rejected, therefore it is
colored in red.
(a) This is the initial state of the system. (b) The first bot in the system is colored in yellow
(c) This is the initial state of the system. (d) Three spanning trees. The green and blue trees
are identical.
Figure 6.21: Comparison of two cases, a) and b) has the same blue and green trees but b) has
yellow modules in addition. In the case b), yellow tree will dramatically change the results.
The yellow tree will be loosing against the blue tree, and it will be then merged into one tree.
So in this case having two identical trees is not considered as a collision.
In Hong et al. (2006), the authors provided the security analysis and statistical randomness
tests of HIGHT against multiple types of attacks. Table 6.3 summarizes the analysis results.
Those tests were made on an 8-bit key lengths to be able to reverse the encryption in a
timely manner. Whereas the key length used in this scenario is a 64 bits key. The fastest
decryption process was the linear cryptanalysis. The number of plain texts needed to reverse
the encryption on an 8 bit key was 257 . When using the 64 bit key, the number of plain texts
needed will be (257 )4 = 2228 . As long as the modules are changing their key at least every 227
times they send a message, the encryption will remain safe. In this scenario, it is suggested to
change the key used every 2 or 3 times the module sends a message.
The fastest supercomputer McCorkle (2020), called Summit, can make 200 ∗ 1015 calculations
per seconds. Using this value and the differential cryptanalysis method, the values in Table
6.3 are calculated. It is then obvious that 16bit key length for HIGHT encryption is more than
132 PROLISEAN
enough to secure the encryption and make it impossible to decrypt it in a timely manner.
6.6/ Conclusion
This chapter presents the design and implementation of the first security protocol for pro-
grammable matters based on nano modular robots. It describes a solution that avoids intrusion,
whether physically by a foreign nanobot or logically by an external hardware. The protocol is
derived in four versions in order to adapt to the capacity of the matter and to the needs of a
potential user. It describes and uses optimal lightweight cryptography and hashing algorithms
from the perspective of space/time complexity and energy consumption. Moreover, a chaotic
arithmetic sequence was applied to the source code of the robots, at each hashing time slot,
to avoid Trojan attacks. Finally, the protocol is implemented on VisibleSim and evaluated.
Results show that 16 bit key length for HIGHT encryption is enough to secure the system.
7
Conclusion
133
134 Conclusion
his dissertation offered unique techniques for resolving typical difficulties in modular robots.
T These methods will enable scientists to develop matter that can be designed to master its
surroundings. Based on the data collected, this substance can adapt to its surroundings and
modify its configuration. This is a small element of a much larger project being undertaken by
scholars all across the world. The primary goal is to move beyond 3D models by adding a fourth
dimension to things. This will allow us to perceive models and interact with data in entirely new
ways. Because programmable matter has restrictions such as physical ability, communication,
restricted memory, limited computing power, and clock synchronization, each typical method
becomes a very difficult challenge. While researchers have previously focused on the problem,
we argue in this thesis that a fundamental shift in approach or underlying assumptions in leader
election, self-reconfiguration, fault detection, and security can be achieved by improving how
modular robots are defined and considering a different set of assumptions about the problems.
As a result, we suggest an important structure and several algorithms for implementing those
novel approaches, and we demonstrate that current findings support the theory.
A novel method for selecting a leader for a modular robotic system was described. This method
is deterministic and is based on the creation of a spanning forest. Each tree in this forest begins
with a potential leader. Once the trees are created, they will compete with one another until
only one tree remains. The benefits of employing this algorithm include its ability to run on
lattice-based modular robots regardless of their original configuration and was tested only on
Blinky Blocks . It is capable of running on both 2D and 3D platforms. This six-phase method
operates in linear space and time. In some unusual setups, the algorithm elects numerous
leaders. An in-depth investigation of the configurations that result in a termination with no
leader is offered, which can aid in the prevention of similar situations in the future.
An advanced probability analysis can also be explored to better comprehend the algorithm’s
success rate. Finally, a theoretical research on the impact of delays on algorithm execution
could be presented, and the parameters could be varied in relation to the network width and
the speed of message transmission in the system.
Following the election of the leader, the system will execute a reconfiguration procedure to
convert into the desired shape. The suggested reconfiguration algorithm is based on Virtual
Force Algorithm (VFA), which was influenced by Wireless sensor network (WSN) systems.
This algorithm employs both distributed and centralized methods. It uses the Kuhn-Munkres
method to fill the majority of the vacant spaces in the objective shape with free modules.
Once the free modules have been relocated to different positions, additional free modules will
become available and will be transferred to the next open position.
In future work, an approach based on the sparsity structure of the cost matrix could be used
to improve the Kuhn-Munkres algorithm. This has the potential to increase the complexity of
our approach. Another potential future option is to investigate a self-reconfiguration method
for 3D lattice modular robots.
Conclusion 135
Once all modules are in place, it is critical to preserve module communication, ergo DETEC-
TOR. DETECTOR is a programmable matter-based hierarchical fault detection technique.
The proposed technique detects partial disconnections by constructing a spanning tree that
extends from the leader to all nodes. The leader now has access to the node’s coordinate. The
program can detect partial disconnection by doing a fast comparison. The simulation results
suggest an increased rate of disconnection detection, particularly in a high density system. The
accuracy of detecting disconnections ranged from 90% to 100%. Furthermore, the simulations
revealed that the algorithm’s complexity in terms of the number of messages exchanged stays
linear.
Future work should include the capacity to detect disconnection during the development of
the spanning tree, to maintain the spanning tree updated throughout robot movement, and
to detect complete disconnections in a modular robotic system. For example, the addition of
alternative modes of communication, such as wireless communication, can aid in the detection
of a complete separation, resulting in the isolation of specific modules from the entire system.
Concerning Blinky Blocks, the main modules used in this thesis, it would be interesting to
study the ability of updating the hardware in the future. If the update shows that the magnets
on one side of a block are active but the module still can’t communicate through this side,
then a disconnection exists.
Finally, and most importantly, there is security. Security was never considered when it came
to programmable matter. Because modular robots can be utilized in sensitive applications, a
security protocol should be implemented. As a result, PROLISEAN, the first security protocol
for modular robotics, was born. Despite the fact that the environment is not well suited to the
implementation of such a protocol, it allows for the proposal of the foundation of a solution to
avoid intrusion into programmable matter. Whether physically through the arrival of a foreign
nanobot or logically through the use of external gear. The latter is generated in four variants
in order to respond to the capacities as well as the needs of a potential user as best as possible.
The chapter highlighted approximately ten block ciphers and hash functions that potentially
fit the requirements of the experiment after classifying the encryption methods by size and
documentation. Then they were ranked by size, energy consumption, and functionality to
highlight the one that could currently be the most effective when merged into the previously
stated protocol. After researching the various methods, it emerges that symmetric encryption
is considerably more energy and capacity efficient than asymmetric encryption. To use it in
both ways, the chosen method would be to create the HIGHT block cipher for communication
encryption and add the few lines necessary to transform it into a hash function. It is a
lightweight algorithm with a low number of cycles during operation. In the future, we will
investigate the overall system’s complexity. In this context, new strategies based on system
clustering must be developed. To improve communication complexity in big scale systems,
the leader election phase can be extended by introducing sub-leaders at different levels. This
element provides numerous issues, ranging from key distribution across levels and sub-leaders
136 Conclusion
to the security strategy that must be implemented in the event of a leader breach. Finally, an
actual implementation that takes into account the leader election, the security protocol, and
the shape formation must be considered.
Modular robots are an exciting area of research and development that have the potential to
revolutionize the field of robotics. Despite the progress that has been made in recent years,
there is still much work that needs to be done in order to fully realize the potential of these
systems.
The field of modular robotics has seen significant advances in recent years, with the devel-
opment of various algorithms and methods for enhancing the performance and robustness of
modular robotic systems. The current dissertation has made a valuable contribution to this
field by presenting four algorithms for distributed modular robots, including a leader election
algorithm, a reconfiguration algorithm using virtual forces, a disconnection detection algo-
rithm, and a security protocol. The proposed algorithms were tested and validated through
simulations and experiments, demonstrating their effectiveness and potential for improving the
performance and robustness of modular robotic systems.
While these algorithms have shown great potential, there is still much room for further im-
provement and extension of the work done in this manuscript. Over the next years, I envision
several promising directions for future work, including enhancing the robustness of the leader
election algorithm in the presence of node failures, integrating the reconfiguration algorithm
with real-time control and sensing systems, developing a more efficient disconnection detec-
tion algorithm, and exploring the application of machine learning techniques for enhancing the
security of modular robotic systems.
Regarding the leader election algorithm, one potential direction for future work is to enhance
its robustness in the presence of node failures. This can be achieved by developing algorithms
that can quickly and effectively detect and recover from node failures, ensuring that the leader
node can continue to coordinate and control the system even in the presence of failures.
Integrating the reconfiguration algorithm with real-time control and sensing systems is another
promising direction for future work. This can enable modular robots to make informed decisions
about their reconfigurations based on real-time sensory information, resulting in more efficient
and effective reconfigurations. For example, modular robots can use real-time information
about the environment to determine the optimal configuration for a given task.
The disconnection detection algorithm can also be improved by developing a more efficient
algorithm that can detect and diagnose disconnections in real-time, even as the system is mov-
ing. This can be achieved by integrating alternative modes of communication, such as wireless
communication, into the system, enabling the system to detect complete disconnections even
in the presence of movements and vibrations. Additionally, the hardware of the main modules
used in this thesis, the Blinky Blocks, could be updated to improve the ability of the system
Conclusion 137
to detect disconnections.
Finally, exploring the application of machine learning techniques for enhancing the security of
modular robotic systems is a promising direction for future work. This can enable modular
robots to learn from previous experiences and improve their security protocols over time, making
them more resistant to security threats. For example, modular robots can learn to recognize
and respond to potential security threats, such as unauthorized access attempts, in real-time.
In conclusion, the work presented in this dissertation represents a significant step forward in
the field of modular robotics, with the potential to inspire further research and development
in this exciting and rapidly evolving field. By exploring the promising directions for future
work outlined above, I believe that we can continue to advance the state-of-the-art in modular
robotics and enable new and exciting applications in a wide range of domains.
Personal Publications
Hourany, E., Habib, B., Fountaine, C., Makhoul, A., Piranda, B., et Bourgeois, J. (2021a).
Prolisean: A new security protocol for programmable matter. ACM Transactions on
Internet Technology (TOIT), 21(1):1–29.
Hourany, E., Piranda, B., Makhoul, A., Bourgeois, J., et Habib, B. (2022). Detector: Hi-
erarchical distributed fault detection algorithm for lattice based modular robots.
In International Conference on Advanced Information Networking and Applications, pages
118–129. Springer.
Hourany, E., Stephan, C., Makhoul, A., Piranda, B., Habib, B., et Bourgeois, J. (2021b). Self-
reconfiguration of modular robots using virtual forces. In 2021 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS), pages 6948–6953. IEEE.
139
Bibliography
Ahmad, S., Zhang, H., et Liu, G. (2013). Distributed fault detection for modular and
reconfigurable robots with joint torque sensing: A prediction error based approach.
Mechatronics, 23(6):607–616.
Ahmadzadeh, H., et Masehian, E. (2015). Modular robotic systems: Methods and algo-
rithms for abstraction, planning, control, and synchronization. Artificial Intelligence,
223:27–64.
Ahmadzadeh, H., Masehian, E., et Asadpour, M. (2016). Modular robotic systems: Char-
acteristics and applications. Journal of Intelligent & Robotic Systems, 81(3):317–357.
Andrés Arroyo, M., Cannon, S., Daymude, J. J., Randall, D., et Richa, A. W. (2018). A
stochastic approach to shortcut bridging in programmable matter. Natural Computing,
17(4):723–741.
Arış, A., Oktuğ, S. F., et Yalçın, S. B. Ö. (2015). Internet-of-things security: Denial
of service attacks. In 2015 23nd Signal Processing and Communications Applications
Conference (SIU), pages 903–906. IEEE.
Asadpour, M., Ashtiani, M. H. Z., Sproewitz, A., et Ijspeert, A. (2009). Graph sig-
nature for self-reconfiguration planning of modules with symmetry. In 2009
IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 5295–5300,
doi: 10.1109/IROS.2009.5353943.
Ashley-Rollman, M. P., De Rosa, M., Srinivasa, S. S., Pillai, P., Goldstein, S. C., et Campbell,
J. (2007a). Declarative programming for modular robots.
Ashley-Rollman, M. P., Goldstein, S. C., Lee, P., Mowry, T. C., et Pillai, P. (2007b). Meld:
A declarative approach to programming ensembles. In 2007 IEEE/RSJ International
Conference on Intelligent Robots and Systems, pages 2794–2800. IEEE.
Assaker, J., Makhoul, A., Bourgeois1, J., et Demerjian, J. (2020). A unique identifier
assignment method for distributed modular robots. In 2020 IEEE/RSJ International
Conference on Intelligent Robots and Systems, IROS 2020. IEEE.
141
142 BIBLIOGRAPHY
Baca, J., Ferre, M., et Aracil, R. (2012). A heterogeneous modular robotic design for
fast response to a diversity of tasks. Robotics and Autonomous Systems, 60(4):522–531,
doi: https://doi.org/10.1016/j.robot.2011.11.013.
Bahi, J. M., Guyeux, C., et Makhoul, A. (2010). Secure data aggregation in wireless sensor
networks: homomorphism versus watermarking approach. In International Conference
on Ad Hoc Networks, pages 344–358. Springer.
Bassil, J., Moussa, M., Makhoul, A., Piranda, B., et Bourgeois, J. (2020). Linear distributed
clustering algorithm for modular robots based programmable matter. In IEEE/RSJ
International Conference on Intelligent Robots and Systems, IROS 2020, Las Vegas, NV,
USA, October 24, 2020 - January 24, 2021, pages 3320–3325. IEEE.
Biryukov, A., et Perrin, L. P. (2017). State of the art in lightweight symmetric cryptog-
raphy.
Bishop, J., Burden, S., Klavins, E., Kreisberg, R., Malone, W., Napp, N., et Nguyen, T.
(2005a). Programmable parts: a demonstration of the grammatical approach to
self-organization. In 2005 IEEE/RSJ International Conference on Intelligent Robots and
Systems, pages 3684–3691, doi: 10.1109/IROS.2005.1545375.
Bishop, J., Burden, S., Klavins, E., Kreisberg, R., Malone, W., Napp, N., et Nguyen, T.
(2005b). Self-organizing programmable parts. In International Conference on Intelligent
Robots and Systems, pages 3684–3691.
Black, J., Rogaway, P., et Shrimpton, T. (2002). Black-box analysis of the block-cipher-
based hash-function constructions from pgv. In Annual International Cryptology Con-
ference, pages 320–335. Springer.
BIBLIOGRAPHY 143
Bogdanov, A., Knežević, M., Leander, G., Toz, D., Varıcı, K., et Verbauwhede, I. (2011).
Spongent: A lightweight hash function. In International Workshop on Cryptographic
Hardware and Embedded Systems, pages 312–325. Springer.
Bonabeau, E., Theraulaz, G., Dorigo, M., Theraulaz, G., Marco, D. d. R. D. F., et others
(1999). Swarm intelligence: from natural to artificial systems. Number 1. Oxford
university press.
Bourgeois, J., Cao, J., Raynal, M., Dhoutaut, D., Piranda, B., Dedu, E., Mostefaoui, A., et
Mabed, H. (2013). Coordination and computation in distributed intelligent mems. In
2013 IEEE 27th International Conference on Advanced Information Networking and Appli-
cations (AINA), pages 129–136. IEEE.
Brunete, A., Hernando, M., Gambao, E., Torres, J. E., et Castro-González, A. (2011). Mdl: A
module description language for chained heterogeneous modular robots. In 2011 IEEE
International Conference on Robotics and Biomimetics, pages 2706–2711, doi: 10.1109/RO-
BIO.2011.6181714.
Cannon, S., Daymude, J. J., Randall, D., et Richa, A. W. (2016). A markov chain algorithm
for compression in self-organizing particle systems. In Proceedings of the 2016 ACM
Symposium on Principles of Distributed Computing, pages 279–288.
Castano, A., Shen, W.-M., et Will, P. (2000). CONRO: Towards deployable robots
with inter-robots metamorphic capabilities. Autonomous Robots, 8(3):309–324,
doi: 10.1023/A:1008985810481.
Cekerevac, Z., Dvorak, Z., Prigoda, L., et Cekerevac, P. (2017). Internet of things and the
man-in-the-middle attacks–security and economic risks. MEST Journal, 5(2):15–25.
Chung, W. K., Han, J., Youm, Y., et Kim, S. (1997). Task based design of modular robot
manipulator using efficient genetic algorithm. In Proceedings of International Conference
on Robotics and Automation, volume 1, pages 507–512. IEEE.
Cui, H., Zhang, J., Cui, C., et Chen, Q. (2016). Solving large-scale assignment problems
by kuhn-munkres algorithm, doi: 10.2991/ameii-16.2016.160.
Dai, J. S., Zoppi, M., Kong, X., et others (2012). Advances in reconfigurable mechanisms
and robots I. Springer.
144 BIBLIOGRAPHY
Davey, J., Kwok, N., et Yim, M. (2012). Emulating self-reconfigurable robots - de-
sign of the SMORES system. In 2012 IEEE/RSJ International Conference on In-
telligent Robots and Systems, pages 4464–4469, Vilamoura-Algarve, Portugal. IEEE,
doi: 10.1109/IROS.2012.6385845.
Daymude, J. J., Derakhshandeh, Z., Gmyr, R., Porter, A., Richa, A. W., Scheideler, C., et
Strothmann, T. (2018). On the runtime of universal coating for programmable matter.
Natural Computing, 17(1):81–96.
Daymude, J. J., Gmyr, R., Richa, A. W., Scheideler, C., et Strothmann, T. (2017). Leader
election with high probability for self-organizing programmable matter. CoRR,
abs/1701.03616, 2017.
De Rosa, M., Goldstein, S., Lee, P., Campbell, J., et Pillai, P. (2006). Scalable shape
sculpting via hole motion: Motion planning in lattice-constrained modular robots.
In Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Con-
ference on, pages 1462–1468. IEEE.
Derakhshandeh, Z., Dolev, S., Gmyr, R., Richa, A. W., Scheideler, C., et Strothmann, T.
(2014a). Amoebot-a new model for programmable matter. In Proceedings of the 26th
ACM Symposium on Parallelism in Algorithms and Architectures, pages 220–222.
Derakhshandeh, Z., Gmyr, R., Richa, A. W., Scheideler, C., et Strothmann, T. (2016). Uni-
versal shape formation for programmable matter. In Proceedings of the 28th ACM
Symposium on Parallelism in Algorithms and Architectures, pages 289–299.
Derakhshandeh, Z., Gmyr, R., Richa, A. W., Scheideler, C., et Strothmann, T. (2017). Uni-
versal coating for programmable matter. Theoretical Computer Science, 671:56–68.
Derakhshandeh, Z., Gmyr, R., Richa, A. W., Scheideler, C., Strothmann, T., et Tzur-David, S.
(2014b). Infinite object coating in the amoebot model. arXiv preprint arXiv:1411.2356.
Devi, N. R., Uma, G., Praveena, T., et Jyothi, M. N. (2013). Emerging and challenging
applications in swarm robotics. Int J Eng Sci, 2:318–321.
BIBLIOGRAPHY 145
Dewey, D. J., Ashley-Rollman, M. P., Rosa, M. D., Goldstein, S. C., Mowry, T. C., Srinivasa,
S. S., Pillai, P., et Campbell, J. (2008). Generalizing metamodules to simplify planning in
modular robotic systems. In Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ
International Conference on, pages 1338–1345, doi: 10.1109/IROS.2008.4651094.
Di Luna, G. A., Flocchini, P., Prencipe, G., Santoro, N., et Viglietta, G. (2018). Line recov-
ery by programmable particles. In Proceedings of the 19th International Conference on
Distributed Computing and Networking, pages 1–10.
Di Luna, G. A., Flocchini, P., Santoro, N., Viglietta, G., et Yamauchi, Y. (2019). Shape
formation by programmable particles. Distributed Computing, pages 1–33.
Di Luna, G. A., Flocchini, P., Santoro, N., Viglietta, G., et Yamauchi, Y. (2020). Shape
formation by programmable particles. Distributed Computing, 33(1):69–101.
Donald, B. R., Levey, C. G., McGray, C. D., Paprotny, I., et Rus, D. (2006). An untethered,
electrostatic, globally controllable mems micro-robot. Journal of microelectromechan-
ical systems, 15(1):1–15.
Dunbar, J. E., Grossman, J. W., Hattingh, J. H., Hedetniemi, S. T., et McRae, A. A. (1997).
On weakly connected domination in graphs. Discrete Mathematics, 167:261–269.
D’Angelo, G., D’Emidio, M., Das, S., Navarra, A., et Prencipe, G. (2020). Asynchronous
silent programmable matter achieves leader election and compaction. IEEE Access,
8:207619–207634.
Eiben, Á. E., Ellers, J., Meynen, G., et Nyholm, S. (2021). Robot evolution: Ethical
concerns. Frontiers in Robotics and AI, page 344.
El Baz, D., Boyer, V., Bourgeois, J., Dedu, E., et Boutoustous, K. (2012). Distributed part
differentiation in a smart surface. Mechatronics, 22(5):522–530.
El-Baz, D., Piranda, B., et Bourgeois, J. (2014). A Distributed Algorithm for a Recon-
figurable Modular Surface. In 2014 IEEE International Parallel Distributed Processing
Symposium Workshops, pages 1591–1598.
Emek, Y., Kutten, S., Lavi, R., et Moses Jr, W. K. (2019). Deterministic leader election in
programmable matter. arXiv preprint arXiv:1905.00580.
Etemad-Sajadi, R., Soussan, A., et Schöpfer, T. (2022). How ethical issues raised by
human–robot interaction can impact the intention to use the robot? International
Journal of Social Robotics, pages 1–13.
Faı́ña, A., Bellas, F., López-Peña, F., et Duro, R. J. (2013). Edhmor: Evolutionary designer
of heterogeneous modular robots. Engineering Applications of Artificial Intelligence,
26(10):2408–2423.
146 BIBLIOGRAPHY
Fitch, R., Butler, Z., et Rus, D. (2003). Reconfiguration planning for heterogeneous
self-reconfiguring robots. In Proceedings 2003 IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS 2003)(Cat. No. 03CH37453), volume 3, pages 2460–
2467. IEEE.
Francois-Xavier Standaert, II, E., et SYM, D. (2010). Ecrypt ii, final lightweight cryptog-
raphy status report.
Fu, G., Menciassi, A., et Dario, P. (2012). Design of a miniature switchable connection
system for stochastic modular robots. Sensors and Actuators A: Physical, 173(1):267–
276.
Fukuda, T., Buss, M., Hosokai, H., et Kawauchi, Y. (1991). Cell structured robotic system
cebot: control, planning and communication methods. Robotics and autonomous
systems, 7(2-3):239–248.
Fukuda, T., et Kawauchi, Y. (1990). Cellular robotic system (CEBOT) as one of the
realization of self-organizing intelligent universal manipulator. In Proceedings., IEEE
International Conference on Robotics and Automation, volume 1, pages 662–667. IEEE
Comput. Soc. Press, doi: 10.1109/ROBOT.1990.126059.
Gastineau, N., Abdou, W., Mbarek, N., et Togni, O. (2018). Distributed leader election and
computation of local identifiers for programmable matter. In International Symposium
on Algorithms and Experiments for Sensor Systems, Wireless Networks and Distributed
Robotics, pages 159–179. Springer.
Gilpin, K., Knaian, A., et Rus, D. (2010a). Robot pebbles: One centimeter modules for
programmable matter through self-disassembly. In 2010 IEEE International Conference
on Robotics and Automation, pages 2485–2492. IEEE, doi: 10.1109/ROBOT.2010.5509817.
Gilpin, K., Kotay, K., Rus, D., et Vasilescu, I. (2008). Miche: Modular shape formation
by self-disassembly. The International Journal of Robotics Research, 27(3-4):345–372.
Publisher: SAGE Publications.
Gilpin, K., et Rus, D. (2010b). Modular robot systems. IEEE robotics & automation
magazine, 17(3):38–55.
BIBLIOGRAPHY 147
Guyeux, C., Makhoul, A., et Bahi, J. M. (2014). A security framework for wireless sensor
networks: Theory and practice. In Reddy, S., editor, 2014 IEEE 23rd International
WETICE Conference, WETICE 2014, Parma, Italy, 23-25 June, 2014, pages 269–274.
Hanley, N., et ONeill, M. (2012). Hardware comparison of the iso/iec 29192-2 block
ciphers. In 2012 IEEE Computer Society Annual Symposium on VLSI, pages 57–62. IEEE.
Hong, D., Sung, J., Hong, S., Lim, J., Lee, S., Koo, B.-S., Lee, C., Chang, D., Lee, J., Jeong,
K., et others (2006). Hight: A new block cipher suitable for low-resource device. In
International Workshop on Cryptographic Hardware and Embedded Systems, pages 46–59.
Springer.
Hong, W., Wang, S., et Shui, D. (2011). Reconfigurable robot system based on elec-
tromagnetic design. In Proceedings of 2011 International Conference on Fluid Power and
Mechatronics, pages 570–575. IEEE.
Hornby, G. S., Lipson, H., et Pollack, J. B. (2001). Evolution of generative design systems
for modular physical robots. In Proceedings 2001 ICRA. IEEE International Conference
on Robotics and Automation (Cat. No. 01CH37164), volume 4, pages 4146–4151. IEEE.
Ikizoglu, S., Ozer, G., et Sari, O. C. (2020). Improving the functionality and performance
of m-tran robots by constructional flexibility. International Journal of Robotics and
Automation, 2020, 35(1).
Illiano, V. P., et Lupu, E. C. (2015). Detecting malicious data injections in event detec-
tion wireless sensor networks. IEEE Transactions on Network and service management,
12(3):496–510.
148 BIBLIOGRAPHY
Inou, N., Kobayashi, H., et Koseki, M. (2002). Development of pneumatic cellular robots
forming a mechanical structure. In 7th International Conference on Control, Automation,
Robotics and Vision, 2002. ICARCV 2002., volume 1, pages 63–68. IEEE.
Jiang, F., Cheng, Y., Dong, C., et Yu, E. (2020). A novel weight-based leader election
approach for split brain in distributed system. In IOP Conference Series: Materials
Science and Engineering, page 012005. IOP Publishing.
Jones, C., et Mataric, M. J. (2003). From local to global behavior in intelligent self-
assembly. In 2003 IEEE International Conference on Robotics and Automation (Cat. No.
03CH37422), volume 1, pages 721–726. IEEE.
Kamimura, A., Yoshida, E., Murata, S., Tomita, K., et Kokaji, S. (2002). A Self-
Reconfigurable Modular Robot (MTRAN) – Hardware and Motion Generation Soft-
ware –. In 5th International Symposium on Distributed Autonomous Robotic Systems,
page 10.
Karagozler, M. E., Campbell, J. D., Fedder, G. K., Goldstein, S. C., Weller, M. P., et Yoon,
B. W. (2007). Electrostatic latching for inter-module adhesion, power transfer, and
communication in modular robots. In 2007 IEEE/RSJ International Conference on Intel-
ligent Robots and Systems, pages 2779–2786. IEEE.
Katagi, M., Moriai, S., et others (2008). Lightweight cryptography for the internet of
things. Sony Corporation, pages 7–10.
Kirby, B., Campbell, J., Aksak, B., Pillai, P., Hoburg, J., Mowry, T. C., et Goldstein, S. C.
(2005). Catoms: Moving robots without moving parts. In Proceedings of the national
conference on artificial intelligence, volume 20, page 1730. Menlo Park, CA; Cambridge,
MA; London; AAAI Press; MIT Press; 1999.
Klidbary, S. H., Shouraki, S. B., et Faraji, S. (2013). Finding proper configurations for
modular robots by using genetic algorithm on different terrains. Int J Mater Mech
Manuf, 1(4):360–365.
Ko, D., et Cheng, H. (2010). Reconfigurable software for reconfigurable modular robots.
In Proceedings of ICRA 2010 Workshop Modular Robots: State of the Art, page 100.
Kuhn, H. W. (1955). Kuhn hw. the hungarian method for the assignment problem. naval
research logistic quaterly 1955; 2: 83-97. Naval Research Logistic Quaterly, 2:83–97.
Kumar, V., Jha, R. K., et Jain, S. (2020). Nb-iot security: A survey. Wireless Personal
Communications, 113(4):2661–2708, doi: 10.1007/s11277-020-07346-7.
Kurokawa, H., Kamimura, A., Yoshida, E., Tomita, K., Kokaji, S., et Murata, S. (2003). M-
tran ii: metamorphosis from a four-legged walker to a caterpillar. In Proceedings 2003
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003)(Cat.
No. 03CH37453), volume 3, pages 2454–2459. IEEE.
Kurokawa, H., Kamimura, A., Yoshida, E., Tomita, K., Murata, S., et Kokaji, S. (2002). Self-
reconfigurable modular robot (m-tran) and its motion design. In 7th International
Conference on Control, Automation, Robotics and Vision, 2002. ICARCV 2002., volume 1,
pages 51–56. IEEE.
Kurokawa, H., Tomita, K., Kamimura, A., Kokaji, S., Hasuo, T., et Murata, S. (2008).
Distributed self-reconfiguration of m-tran iii modular robotic system. The International
Journal of Robotics Research, 27(3-4):373–386.
Kurokawa, H., Tomita, K., Yoshida, E., Murata, S., et Kokaji, S. (2000). Motion simulation
of a modular robotic system. In 2000 26th Annual Conference of the IEEE Industrial Elec-
tronics Society. IECON 2000. 2000 IEEE International Conference on Industrial Electronics,
Control and Instrumentation. 21st Century Technologies, volume 4, pages 2473–2478. IEEE.
Lee, E., Yang, J., Jolda, M., et Wood, R. (2010). Cellular slime mold robot. In the
International Conference on Robotics and Automation Workshop, Modular Robots: State
of the Art, pages 30–35.
150 BIBLIOGRAPHY
Lipson, H., et Pollack, J. B. (2000). Automatic design and manufacture of robotic life-
forms. Nature, 406(6799):974–978.
Lu, Y., Chen, J., Comsa, I., Kuonen, P., et Hirsbrunner, B. (2014). Construction of data ag-
gregation tree for multi-objectives in wireless sensor networks through jump particle
swarm optimization. Procedia Computer Science, 35:73–82.
Luna, G. A. D., Flocchini, P., Santoro, N., Viglietta, G., et Yamauchi, Y. (2017). Brief An-
nouncement: Shape Formation by Programmable Particles. In Richa, A. W., editor,
31st International Symposium on Distributed Computing (DISC 2017), volume 91 of Leib-
niz International Proceedings in Informatics (LIPIcs), pages 48:1–48:3, Dagstuhl, Germany.
Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, doi: 10.4230/LIPIcs.DISC.2017.48.
Luna, G. A. D., Flocchini, P., Santoro, N., Viglietta, G., et Yamauchi, Y. (2020). Mobile ram
and shape formation by programmable particles. In European Conference on Parallel
Processing, pages 343–358. Springer.
Lyder, A., Garcia, R. F. M., et Stoy, K. (2008). Mechanical design of odin, an extendable
heterogeneous deformable modular robot. In 2008 IEEE/RSJ International Conference
on Intelligent Robots and Systems, pages 883–888. Ieee.
Miyashita, S., Kessler, M., et Lungarella, M. (2008). How morphology affects self-assembly
in a stochastic modular robot. In 2008 IEEE International Conference on Robotics and
Automation, pages 3533–3538. IEEE.
Moeckel, R., Jaquier, C., Drapel, K., Dittrich, E., Upegui, A., et Ijspeert, A. (2006). YaMoR
and Bluemove — An Autonomous Modular Robot with Bluetooth Interface for Ex-
ploring Adaptive Locomotion. In Tokhi, M. O., Virk, G. S., et Hossain, M. A., editors,
Climbing and Walking Robots, pages 685–692. Springer Berlin Heidelberg, Berlin, Heidel-
berg, doi: 10.1007/3-540-26415-9̇82.
Moussa, M., Piranda, B., Makhoul, A., et Bourgeois, J. (2021). Cluster-based distributed
self-reconfiguration algorithm for modular robots. In Barolli, L., Woungang, I., et
Enokido, T., editors, Advanced Information Networking and Applications - Proceedings of
the 35th International Conference on Advanced Information Networking and Applications
(AINA-2021), Toronto, ON, Canada, 12-14 May, 2021, Volume 1, volume 225 of Lecture
Notes in Networks and Systems, pages 332–344. Springer.
Murata, S., et Kurokawa, H. (2007). Self-reconfigurable robots. IEEE Robotics & Automa-
tion Magazine, 14(1):71–78.
BIBLIOGRAPHY 151
Murata, S., Yoshida, E., Kamimura, A., Kurokawa, H., Tomita, K., et Kokaji, S. (2002).
M-tran: Self-reconfigurable modular robotic system. IEEE/ASME transactions on
mechatronics, 7(4):431–441.
Nagy, Z., Oung, R., Abbott, J. J., et Nelson, B. J. (2008). Experimental inves-
tigation of magnetic self-assembly for swallowable modular robots. In 2008
IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1915–1920,
doi: 10.1109/IROS.2008.4650662.
Napp, N., Burden, S., et Klavins, E. (2006). The statistical dynamics of programmed self-
assembly. In Proceedings 2006 IEEE International Conference on Robotics and Automation,
2006. ICRA 2006., pages 1469–1476. IEEE.
Naz, A., Piranda, B., Bourgeois, J., et Goldstein, S. C. (2016a). A distributed self-
reconfiguration algorithm for cylindrical lattice-based modular robots. In 2016 IEEE
15th International Symposium on Network Computing and Applications (NCA), pages 254–
263. IEEE.
Naz, A., Piranda, B., Bourgeois, J., et Goldstein, S. C. (2018a). Electing an approximate
center in a huge modular robot with the k-bfs sumsweep algorithm. In 2018 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS), pages 4825–4832.
Naz, A., Piranda, B., Bourgeois, J., et Goldstein, S. C. (2018b). A time synchronization
protocol for large-scale distributed embedded systems with low-precision clocks and
neighbor-to-neighbor communications. Journal of Network and Computer Applications,
105:123 – 142.
Naz, A., Piranda, B., Goldstein, S. C., et Bourgeois, J. (2015). ABC-Center: Approximate-
center election in modular robots. In 2015 IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS), pages 2951–2957, Hamburg, Germany. IEEE,
doi: 10.1109/IROS.2015.7353784.
Naz, A., Piranda, B., Goldstein, S. C., et Bourgeois, J. (2016b). A time synchronization
protocol for modular robots. In 2016 24th Euromicro International Conference on Parallel,
Distributed, and Network-Based Processing (PDP), pages 109–118. IEEE.
Naz, A., Piranda, B., Tucci, T., Copen Goldstein, S., et Bourgeois, J. (2018c). Network Char-
acterization of Lattice-Based Modular Robots with Neighbor-to-Neighbor Commu-
152 BIBLIOGRAPHY
Nolfi, S., et Floreano, D. (2000). Evolutionary robotics: The biology, intelligence, and
technology of self-organizing machines. MIT press.
Østergaard, E. H., Kassow, K., Beck, R., et Lund, H. H. (2006). Design of the atron
lattice-based self-reconfigurable robot. Autonomous Robots, 21(2):165–183.
Ostergaard, E. H., et Lund, H. H. (2003). Evolving control for modular robotic units. In
Proceedings 2003 IEEE International Symposium on Computational Intelligence in Robotics
and Automation. Computational Intelligence in Robotics and Automation for the New Mil-
lennium (Cat. No. 03EX694), volume 2, pages 886–892. IEEE.
Park, M., Chitta, S., Teichman, A., et Yim, M. (2008). Automatic configuration recogni-
tion methods in modular robots. The Int. Jour. of Robotics Research, 27(3-4):403–421,
doi: 10.1177/0278364907089350.
Paul, C., et Bongard, J. C. (2001). The road less travelled: Morphology in the optimiza-
tion of biped robot locomotion. In Proceedings 2001 IEEE/RSJ International Conference
on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next
Millennium (Cat. No. 01CH37180), volume 1, pages 226–232. IEEE.
Pavliuk, N., Saveliev, A., Cherskikh, E., et Pykhov, D. (2020). Formation of modular
structures with mobile autonomous reconfigurable system. In Proceedings of 14th
International Conference on Electromechanics and Robotics “Zavalishin’s Readings”, pages
383–395. Springer.
Perrin, D. (2008). La suite logistique et le chaos. Rapport technique, Dép. Math. d’Orsay.,
Univ. de Paris-Sud, France, 22.
Pierre, T. (2019). Distributed Algorithms and Advanced Modeling Approaches for Fast
and Efficient Object Construction Using a Modular Self-reconfigurable Robotic Sys-
tem. PhD thesis.
Piranda, B., Chodkiewicz, P., Hołobut, P., Bordas, S. P., Bourgeois, J., et Lengiewicz, J.
(2021). Distributed prediction of unsafe reconfiguration scenarios of modular robotic
programmable matter. IEEE Transactions on Robotics, 37(6):2226–2233.
Piranda, B., Fekete, S., Richa, A., Römer, K., et Scheideler, C. (2016). Visiblesim: Your
simulator for programmable matter. In Algorithmic Foundations of Programmable Matter
(Dagstuhl Seminar 16271). https://projects.femto-st.fr/projet-visiblesim/en.
Piranda, B., Laurent, G. J., Bourgeois, J., Clévy, C., Möbes, S., et Fort-Piat, N. L. (2013). A
new concept of planar self-reconfigurable modular robot for conveying microparts.
Mechatronics, 23(7):906–915, doi: 10.1016/j.mechatronics.2013.08.009.
Preneel, B., Govaerts, R., et Vandewalle, J. (1993). Hash functions based on block ciphers:
A synthetic approach. In Annual International Cryptology Conference, pages 368–378.
Springer.
Regin, R., Rajest, S. S., et Singh, B. (2021). Fault detection in wireless sensor network
based on deep learning algorithms. EAI Endorsed Transactions on Scalable Information
Systems.
Rothemund, P. W. (2006). Folding dna to create nanoscale shapes and patterns. Nature,
440(7082):297–302.
Salemi, B., Moll, M., et Shen, W.-m. (2006). SUPERBOT: A Deployable, Multi-
Functional, and Modular Self-Reconfigurable Robotic System. In 2006 IEEE/RSJ In-
ternational Conference on Intelligent Robots and Systems, pages 3636–3641, Beijing, China.
IEEE, doi: 10.1109/IROS.2006.281719.
Santos-González, I., Rivero-Garcı́a, A., Burmester, M., Munilla, J., et Caballero-Gil, P. (2020).
Secure lightweight password authenticated key exchange for heterogeneous wireless
sensor networks. Information Systems, 88:101423.
Sarker, V. K., Gia, T. N., Tenhunen, H., et Westerlund, T. (2020). Lightweight security
algorithms for resource-constrained iot-based sensor nodes. In ICC 2020-2020 IEEE
International Conference on Communications (ICC), pages 1–7. IEEE.
Schneider, J., et Wattenhofer, R. (2011). Trading bit, message, and time complexity of
distributed algorithms. In Peleg, D., editor, Distributed Computing, pages 51–65, Berlin,
Heidelberg. Springer Berlin Heidelberg.
Seo, J., Yim, M., et Kumar, V. (2013). Assembly planning for planar structures of a brick
wall pattern with rectangular modular robots. In 2013 IEEE International Conference
on Automation Science and Engineering (CASE), pages 1016–1021. IEEE.
Shimizu, M., Ishiguro, A., et Kawakatsu, T. (2005). A modular robot that exploits a spon-
taneous connectivity control mechanism. In 2005 IEEE/RSJ International Conference
on Intelligent Robots and Systems, pages 1899–1904. IEEE.
Shimizu, M., et Suzuki, K. (2009). A self-repairing structure for modules and its control
by vibrating actuation mechanisms. In 2009 IEEE International Conference on Robotics
and Automation, pages 4281–4286. IEEE.
Shirai, T., Shibutani, K., Akishita, T., Moriai, S., et Iwata, T. (2007). The 128-bit blockci-
pher clefia. In International workshop on fast software encryption, pages 181–195. Springer.
Spröwitz, A., Moeckel, R., Vespignani, M., Bonardi, S., et Ijspeert, A. J. (2014). Roombots: A
hardware perspective on 3d self-reconfiguration and locomotion with a homogeneous
modular robot. Robotics and Autonomous Systems, 62(7):1016–1033.
BIBLIOGRAPHY 155
Stoy, K., et Nagpal, R. (2004). Self-reconfiguration using directed growth. In In Proc. 7th
Int. Symp. on Distributed Autonomous Robotic Systems, pages 1–10.
Suh, J. W., Homans, S. B., et Yim, M. (2002). Telecubes: Mechanical design of a module
for self-reconfigurable robotics. In Proceedings 2002 IEEE International Conference on
Robotics and Automation (Cat. No. 02CH37292), volume 4, pages 4095–4101. IEEE.
Thalamy, P. (2020). Distributed algorithms and advanced modeling approaches for fast
and efficient object construction using a modular self-reconfigurable robotic system.
PhD thesis. Thèse de doctorat dirigée par Bourgeois, Julien et Piranda, Benoı̂t Informatique
Bourgogne Franche-Comté 2020.
Thalamy, P., Piranda, B., et Bourgeois, J. (2020a). 3d coating self-assembly for modular
robotic scaffolds. In 2020 IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS), pages 11688–11695. IEEE.
Thalamy, P., Piranda, B., Lassabe, F., et Bourgeois, J. (2020b). Deterministic scaffold
assembly by self-reconfiguring micro-robotic swarms. Swarm and Evolutionary Compu-
tation, 58:100722, doi: https://doi.org/10.1016/j.swevo.2020.100722.
Thalamy, P., Piranda, B., Naz, A., et Bourgeois, J. (2021). Behavioral simulations of
lattice modular robots with visiblesim. In 15th International Symposium on Distributed
Autonomous Robotic Systems (DARS 2021), Kyoto, Japan.
Tolley, M. T., Hiller, J. D., et Lipson, H. (2011a). Evolutionary design and assembly
planning for stochastic modular robots. In Doncieux, S., Bredèche, N., et Mouret, J.-B.,
editors, New Horizons in Evolutionary Robotics, pages 211–225, Berlin, Heidelberg. Springer
Berlin Heidelberg.
156 BIBLIOGRAPHY
Tolley, M. T., Krishnan, M., Erickson, D., et Lipson, H. (2008). Dynamically programmable
fluidic assembly. Applied Physics Letters, 93(25):254105, doi: 10.1063/1.3048562.
Tolley, M. T., et Lipson, H. (2010). Fluidic manipulation for scalable stochastic 3d assem-
bly of modular robots. In 2010 IEEE International Conference on Robotics and Automation,
pages 2473–2478, doi: 10.1109/ROBOT.2010.5509664.
Tolley, M. T., et Lipson, H. (2011b). On-line assembly planning for stochastically re-
configurable systems. The International Journal of Robotics Research, 30(13):1566–1584,
doi: 10.1177/0278364911398160.
Tosun, T., Jing, G., Kress-Gazit, H., et Yim, M. (2018). Computer-aided compositional de-
sign and verification for modular robots. In Robotics Research, pages 237–252. Springer.
Tucci, T., Piranda, B., et Bourgeois, J. (2017). Efficient scene encoding for programmable
matter self-reconfiguration algorithms. In Proceedings of the Symposium on Applied
Computing, pages 256–261.
Tummala, R. L., Mukherjee, R., Aslam, D., Xi, N., Mahadevan, S., et Weng, J. (1999).
Reconfigurable adaptable micro-robot. In IEEE SMC’99 Conference Proceedings. 1999
IEEE International Conference on Systems, Man, and Cybernetics (Cat. No. 99CH37028),
volume 6, pages 687–691. IEEE.
Wazid, M., Das, A. K., Bhat, V., et Vasilakos, A. V. (2020). Lam-ciot: Lightweight authen-
tication mechanism in cloud-based iot environment. Journal of Network and Computer
Applications, 150:102496.
Wei, H., Cai, Y., Li, H., Li, D., et Wang, T. (2010). Sambot: A self-assembly modular
robot for swarm robot. In Proceedings - IEEE International Conference on Robotics and
Automation, pages 66–71.
Werfel, J. (2006). Anthills built to order: Automating construction with artificial swarms.
White, P., Zykov, V., Bongard, J. C., Lipson, H., et others (2005). Three dimensional
stochastic reconfiguration of modular robots. In Robotics: Science and Systems, pages
161–168. Citeseer.
White, P. J., et Yim, M. (2007). Scalable modular self-reconfigurable robots using ex-
ternal actuation. In 2007 IEEE/RSJ International Conference on Intelligent Robots and
Systems, pages 2773–2778, doi: 10.1109/IROS.2007.4399606.
Will, P. M., Castaño, A., et Shen, W.-M. (1999). Robot modularity for self-reconfiguration.
In Sensor Fusion and Decentralized Control in Robotic Systems II, volume 3839, pages 236–
245. SPIE.
Wolfe, K. C., Moses, M. S., Kutzer, M. D., et Chirikjian, G. S. (2012). M 3 express: a low-
cost independently-mobile reconfigurable modular robot. In 2012 IEEE International
Conference on Robotics and Automation, pages 2704–2710. IEEE.
Woods, D., Chen, H.-L., Goodfriend, S., Dabby, N., Winfree, E., et Yin, P. (2013). Active self-
assembly of algorithmic shapes and patterns in polylogarithmic time. In Proceedings of
the 4th conference on Innovations in Theoretical Computer Science, pages 353–354. ACM.
Yim, M. (1994). Locomotion with a Unit Modular Recon-figurable Robot. PhD thesis,
PhD Thesis, Dept. of Mech. Eng. Stanford Univ.
Yim, M., Duff, D. G., et Roufas, K. D. (2000). Polybot: a modular reconfigurable robot. In
Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics
and Automation. Symposia Proceedings (Cat. No. 00CH37065), volume 1, pages 514–520.
IEEE.
Yim, M., Eldershaw, C., Zhang, Y., et Duff, D. (2003a). Self-reconfigurable robot systems:
Polybot. Journal of the Robotics Society of Japan, 21(8):851–854.
Yim, M., Lamping, J., Mao, E., et Chase, J. G. (1997). Rhombic dodecahedron shape for
self-assembling robots. In Xerox PARC SPL, Tech. Rep. P9710777. Citeseer.
Yim, M., Roufas, K., Duff, D., Zhang, Y., Eldershaw, C., et Homans, S. (2003b). Modular
reconfigurable robots in space applications. Autonomous Robots, 14(2):225–237.
Yim, M., Shen, W.-M., Salemi, B., Rus, D., Moll, M., Lipson, H., Klavins, E., et Chirikjian,
G. S. (2007). Modular self-reconfigurable robot systems [grand challenges of
robotics]. IEEE Robotics & Automation Magazine, 14(1):43–52.
Yim, M., Zhang, Y., et Duff, D. (2002a). Modular robots. IEEE Spectrum, 39(2):30–34,
doi: 10.1109/6.981854.
158 BIBLIOGRAPHY
Yim, M., Zhang, Y., Lamping, J., et Mao, E. (2001). Distributed Control for 3D Meta-
morphosis. Autonomous Robots, 10(1):41–56, doi: 10.1023/A:1026544419097.
Yim, M., Zhang, Y., Roufas, K., Duff, D., et Eldershaw, C. (2002b). Connecting and
disconnecting for chain self-reconfiguration with polybot. IEEE/ASME Transactions
on Mechatronics, 7(4):442–451, doi: 10.1109/TMECH.2002.806221.
Yoshida, E., Kokaji, S., Murata, S., Kurokawa, H., et Tomita, K. (1999). Miniaturized self-
reconfigurable system using shape memory alloy. In Proceedings 1999 IEEE/RSJ Inter-
national Conference on Intelligent Robots and Systems. Human and Environment Friendly
Robots with High Intelligence and Emotional Quotients (Cat. No.99CH36289), volume 3,
pages 1579–1585 vol.3, doi: 10.1109/IROS.1999.811704.
Youssef, Y. M. (2021). Inducing rules about distributed robotic systems for fault de-
tection & diagnosis. In Proceedings of the 20th International Conference on Autonomous
Agents and MultiAgent Systems, pages 1845–1847.
Yurke, B., Turberfield, A. J., Mills, A. P., Simmel, F. C., et Neumann, J. L. (2000). A
dna-fuelled molecular machine made of dna. Nature, 406(6796):605–608.
ZHANG, X., et FEI, Y.-q. (2008). A self-repair algorithm for self-reconfigurable modular
robots based on geometrical characteristics. Journal of Shanghai Jiaotong University,
2008, 7.
Zhao, J., Cui, X., Zhu, Y., et Tang, S. (2011). A new self-reconfigurable modular robotic
system ubot: Multi-mode locomotion and self-reconfiguration. In 2011 IEEE Interna-
tional Conference on Robotics and Automation, pages 1020–1025. IEEE.
Zhao, J., Cui, X., Zhu, Y., et Tang, S. (2012). Ubot: a new reconfigurable modular robotic
system with multimode locomotion ability. Industrial Robot: An International Journal.
Zhong, H., Li, Z., Zhang, H., Yu, C., et Li, N. (2010). Modular robot path planning
using genetic algorithm based on gene pool. In International Symposium on Intelligence
Computation and Applications, pages 380–389. Springer.
Zhu, W.-H., et Lamarche, T. (2007). Modular robot manipulators based on virtual de-
composition control. In Proceedings 2007 IEEE International Conference on Robotics and
Automation, pages 2235–2240. IEEE.
BIBLIOGRAPHY 159
Zhu, Y., Zhao, J., Cui, X., Wang, X., Tang, S., Zhang, X., et Yin, J. (2013). De-
sign and implementation of ubot: A modular self-reconfigurable robot. In
2013 IEEE International Conference on Mechatronics and Automation, pages 1217–1222,
doi: 10.1109/ICMA.2013.6618087.
Zou, Y., et Krishnendu Chakrabarty (2003). Sensor deployment and target localization
based on virtual forces. In IEEE INFOCOM 2003. Twenty-second Annual Joint Conference
of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428), volume 2,
pages 1293–1303 vol.2.
Zykov, V., Chan, A., et Lipson, H. (2007a). Molecubes: An open-source modular robotics
kit. In IROS-2007 Self-Reconfigurable Robotics Workshop, pages 3–6. Citeseer.
Zykov, V., Lipson, H., et others (2007b). Experiment design for stochastic three-
dimensional reconfiguration of modular robots. In IEEE Int. Conf. Intell. Robots Syst.,
Self-Reconfigurable Robot. Workshop, San Diego, CA. Citeseer.
Zykov, V., Phelps, W., Lassabe, N., Lipson, H., et others (2008). Molecubes ex-
tended: Diversifying capabilities of open-source modular robotics. In IROS-2008
Self-Reconfigurable Robotics Workshop, pages 22–26. Citeseer.
List of Figures
2.1 The MITE framework for characterizing Modular Robotic Systems Ahmadzadeh
et al. (2016) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Catom3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Examples of modular robots: Figure 2.4a represents a polybot introduced in Yim
et al. (2000); Figure 2.4b is a Tripod configuration of CONRO Castano et al.
(2000); Figure 2.4c is a Five YaMoR modules Moeckel et al. (2006); Figure 2.4d
is a lattice modular robot called ATRON Jorgensen et al. (2004); Figure 2.4e
is a Rotating M-Block Romanishin et al. (2013); Figure 2.4f is a 2D Crystalline
Rus et al. (2000) modular robots with extensible arms; Figure 2.4g is a Superbot
Salemi et al. (2006) modular robot in a humanoid configuration. Figure 2.4h
M-TRAN Kamimura et al. (2002) modular robot in 4-legged configuration;
Figure 2.4i is a SMORES Davey et al. (2012) modular robot. . . . . . . . . . 29
3.1 Examples of weight generation based on the interfaces connections for two
different 2D lattices (cubic on the left similar to Blinky blocks that are the
modules used in this thesis, and hexagonal on the right as another example on
how to generate weight based on interface connection, however this model was
not used in this thesis). Grey triangles mark #0 connectors, others are placed
clockwise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 5 steps of the recruitment process: Roots start recruiting modules until no more
modules are available. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3 Group value computation: Starting from the leaf of each group, each leaf sends
its weight to its parent. The parent adds the received value with its weight and
then send the result backward until it reaches the root of the tree. Once the
sum reaches the root, it will be added to the root’s weight to define the group
value. This group value is then broadcast to all the modules of the tree. . . . . 52
161
162 LIST OF FIGURES
3.5 4 steps of the dismantling recruitment: First step presents the initial state, step
2 shows the competition between the two groups, the blue group win on the
green group, then each leaf of the two groups produces reset and dismantle
messages. Step 3 shows the broadcasting of reset and dismantle messages. At
the end, step 4, their is only one group and nodes are reset. . . . . . . . . . . 56
3.6 Leader election: 1) Once a module can not recruit or compete further, it sends
a Potential Leader message (PL) to its parent. 2)& 3) Each parent that receives
PL message waits for all its children PL message and then sends it backward
to its parent. 4) So far until the message reaches the root, which becomes the
leader and broadcast (5) to all modules in the system that the leader is elected. 58
3.7 Comparison of two cases, a) and b) has the same blue and green trees but b)
has yellow modules in addition. In the case b), yellow tree will dramatically
change the results. The yellow tree will be loosing against the blue tree, and it
will be then merged into one tree. So in this case having two identical trees is
not considered as a conflict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Invalid Node Motion according to Condition 1. The red module (#3) is a
module with 2 connections. Thus a pivot for rotation is not possible. . . . . . . 74
5.2 Different examples of Partial and complete disconnections: Figures 5.2a and
5.2b Represents a partial disconnection. In Figure 5.2a. modules A and B are
disconnected, but they still are part of the whole system since they can maintain
their connection to the system through their neighbors C and D. Figures 5.2c
and 5.2d are in a state of complete disconnection. In Figure 5.2c, module A
is disconnected from module B and module A is not connected to any other
module. Therefore, module A is considered to be in complete disconnection
from the system since there is no other way for the system to acknowledge its
presence. Same case for Figure 5.2d. . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Data collection in a dense system: Module 6 will add to the potentialNeigh-
borsVector the following coordinates: (2, 2) and (3, 1), Module 8 will add (3, 0)
and Module 9 will add (3, −1) and (2, −2). They will then send this vector
to their respective parents 5, 4, and 7. Module 5 will add (1, 2), Module 7
will add (1, −2), and Module 4 will not add anything since all its interfaces are
connected. So on until this vector reaches the leader. . . . . . . . . . . . . . . 96
5.5 This figure shows, on a logarithmic scale, how the number of messages sent
in a 1,000 3D system is changing with the density of the system. Each color
represents the percentage of errors that existed in the system during the sim-
ulations. It is noticeable that the number of messages is increasing with the
density. Furthermore, the number of messages decreases when the percentage
of errors is increasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.6 This figure shows, on a logarithmic scale (Natural log on the X axis), the
number of messages sent in the system according to the number of modules
in a logarithmic scale. The shape used in those simulation was a cube. The
colors represent the percentage of errors in the system during the simulations.
The results shows that the number of messages sent is linear when compared
to the number of modules in the system. . . . . . . . . . . . . . . . . . . . . . 98
5.7 Percentage of errors detected. This figures shows the percentage of error de-
tected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1 Results of ECRYPT II ordered by code size and RAM use . . . . . . . . . . . . 104
6.9 Conflict resolution in three steps against a malicious robot (a) and with a
friendly robot (b). Blue modules represent a friendly robot in movement. Red
modules represent malicious modules. The desired new place of a module is
depicted by dotted module and a dashed arrow. When messages are authenti-
cated, they are represented by thick blue arrows or thick red arrows if otherwise.
The blue Shields represent a secured interface. . . . . . . . . . . . . . . . . . . 115
6.10 Functional scheme of the ciphered communications during the second phase . . 116
6.11 Neighbours interactions following the version three of the protocol . . . . . . . 117
6.14 Authentication approach when modules are moving and connecting to new
neighbours: 1) When A decides to move and connect to C, it will inform B about
its movement and sends its ID with the message; 2) B, by its turn, will inform
C that A is coming to connect to it and forwards A’s ID as well; 3) Whenever
A accomplishes its movement, it will input its ID into the chaotic function and
sends the result obtained to C; 4) C will input the obtained ID from B, process it
in the chaotic function and compares the results. If both results are matching,
then the connection authenticated; The new position of module A is depicted
by the dotted module. The dashed arrow represents the movement that will
be made by A. Yellow arrows means a normal communication and message
exchange. Red arrow means that the module is asking for authentication and
green arrow depicts the approval of the authentication . . . . . . . . . . . . . 120
6.18 Six different ways to turn a block cipher to a hash function Black et al. (2002).
M is the block of data to hash that has been divided into the parts noted mi; hi
is the result of a hash turn, h0 is a constant arbitrarily chosen and the central
block is the encryption algorithm. The latter is used i times based on one of
the models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.19 Using the HEIGH algorithm for encryption and hashing simultaneously . . . . . 129
LIST OF FIGURES 165
6.20 Simulation graph. The initial module is colored in yellow. The bots that
are trying to authenticate are in white and numbered 1 and 2. After the
authentication phase, module 1 is authenticated, therefore, it is now colored in
yellow. Module 2 in rejected, therefore it is colored in red. . . . . . . . . . . . 130
6.21 Comparison of two cases, a) and b) has the same blue and green trees but b)
has yellow modules in addition. In the case b), yellow tree will dramatically
change the results. The yellow tree will be loosing against the blue tree, and it
will be then merged into one tree. So in this case having two identical trees is
not considered as a collision. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
List of Tables
4.1 Performance Evaluation for the whole algorithm on different versions of the
modules structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
167
List of Definitions
1 Definition: Particle/module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Definition: Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Definition: Anonymity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10 Definition: Leader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
15 Definition: Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
169
Document generated with LATEX and:
the LATEX style for PhD Thesis created by S. Galland — http://www.multiagent.fr/ThesisStyle
the tex-upmethodology package suite — http://www.arakhne.org/tex-upmethodology/
écol e doct oral e sci ences pour l ’i ngéni eur et mi crotechni ques
Title: Leader election and fault detection for secured self-reconfigurable modular robots
Keywords: Programmable Matter, Distributed Algorithms, Modular Robotics, Self-reconfiguration, Multi-agent Systems
Abstract:
Recent advancements in science foreshadow that in the lead to collisions among modules. To solve this problem, a
next few decades it might be possible to assemble reconfiguration algorithm is created based on virtual forces.
simple information processing units at almost no cost. This algorithm tackles the self-reconfiguration problem by
Myriads of these small-scale units could be combined to presenting a deterministic planning algorithm that can decide
powerful systems capable of solving intricate tasks, this which positions can be filled over multiple iterations using
is called programmable matter. This vision of building virtual forces. To detect errors in programmable matter
cheap microscopic processing units is supported by the systems, an error detection algorithm called DETECTOR is
progress made in manufacturing microelectro mechanical proposed. It is a hierarchically distributed fault detection
components, such that one can anticipate integrating logic algorithm, it allows the detection of disconnections in a
circuits, microsensors, microactuators, and communication hierarchical manner. The leader of the system will construct
devices on the same chip. the spanning tree, assign coordinates to each module and
This thesis presents four algorithms that propose a solution compare them to detect the disconnections. And finally, to
to four of the main issues in programmable matter: Leader ensure security in programmable matter, a security protocol
election, reconfiguration, error detection, and security. The is developed to solve the issue. This protocol is based
leader election algorithm deterministically elects a leader in a on lightweight cryptography and uses the same encryption
modular robotic system regardless of the modules’ type and protocol as a hashing function while keeping the distributed
configuration. The reconfiguration problem occurs when too architecture in mind. The analysis and simulation results
many particles are moving at the same time. This might show the efficiency of the proposed method.
Titre : Election de leader et détection de fautes pour robots modulaires sécurisés et auto-reconfigurables
Mots-clés : Matière Programmable, Algorithmes Distribués, Robotique Modulaire, Autoreconfiguration, Systèmes Multi-
agents
Résumé :
Les récents progrès de la science laissent présager collisions entre les modules. Pour résoudre ce problème,
que, dans les prochaines décennies, il pourrait être un algorithme de reconfiguration basé sur les forces
possible d’assembler des unités simples de traitement de virtuelles est créé. Cet algorithme s’attaque au problème
l’information pour un coût presque nul. Des myriades de l’auto-reconfiguration en présentant un algorithme
de ces petites unités pourraient être combinées pour de planification déterministe qui peut décider quelles
former des systèmes puissants capables de résoudre positions peuvent être remplies sur plusieurs itérations
des tâches complexes. Cette vision de la construction en utilisant des forces virtuelles. Pour détecter les
d’unités de traitement microscopiques bon marché est erreurs dans les systèmes de matière programmable, un
soutenue par les progrès réalisés dans la fabrication algorithme de détection d’erreurs appelé DETECTOR
de composants microélectro mécaniques, de sorte que est proposé. C’est un algorithme de détection de fautes
l’on peut envisager d’intégrer des circuits logiques, des distribué hiérarchiquement, il permet de détecter les
microcapteurs, des microactionneurs et des dispositifs déconnexions de manière hiérarchique. Le leader du
de communication sur la même puce. système va construire l’arbre de recouvrement, attribuer
Cette thèse présente quatre algorithmes qui proposent des coordonnées à chaque module et les comparer pour
des solutions à quatre des principaux problèmes de détecter les déconnexions. Et enfin, pour assurer la
la matière programmable : l’élection du leader, sécurité dans la matière programmable, un protocole
la reconfiguration, la détection des erreurs et la de sécurité est développé pour résoudre le problème.
sécurité. L’algorithme d’élection du leader élit de Ce protocole est basé sur la cryptographie légère et
manière déterministe un leader dans un système utilise le même protocole de cryptage comme fonction
robotique modulaire, indépendamment du type et de hachage tout en gardant à l’esprit l’architecture
de la configuration des modules. Le problème de distribuée. Les résultats d’analyse et de simulation
reconfiguration se produit lorsque trop de particules se montrent l’efficacité de la méthode proposée.
déplacent en même temps. Cela peut entraı̂ner des