Detector Hierarchical Distributed Fault Detection Algorithm For Lattice Based Modular Robots
Detector Hierarchical Distributed Fault Detection Algorithm For Lattice Based Modular Robots
Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
Abstract Modular robots are robots built from multiple modules which can recon-
figure the shape of the whole robot. This makes them a promising technology to
realize highly adaptable and re-configurable robots. One of the main challenges in
modular robotics is to detect and heal the system from a state 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 connec-
tions 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 paper presents a novel approach to detect disconnections in lattice
based modular robots. 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.
1 Introduction
1
2 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
time [11]. Programmable matter can respond to external or internal cues, or can be
triggered by the completion of a task. It can grow and adapt, and self-assemble and
self-repair [6, 18].
Programmable matter consists of a group of micro-robots, called granular com-
puting elements. Each of these robots can move in space, sense the environment
and communicate with each other. Each robot can communicate with its connected
neighbor to exchange information about its own location and surroundings, and per-
form the computation in parallel. The robots are small, and can be manufactured in
a highly parallel and distributed fashion. The difference between these robots and a
traditional micro-robot is that these robots self-organize into a structure that is not
readily predictable, and changes in response to a variety of environmental cues [18].
The benefit of programmable matter is that its capabilities are not limited to
any particular design or configuration. The robots can be configured in a variety
of shapes, sizes, and locations [6, 11, 18]. The robots can be added, removed or re-
organized without having to re-design and re-manufacture the structure. The robots
can even be built from other robots, or robots made from other materials. A pro-
grammable matter is more than a collection of objects with the ability to move and
change shape.
A very frequent error 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 paper 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 paper is as follow: Section 2 presents the literature review,
Section 3 presents the proposed algorithm, Section 4 shows the simulation results,
and finally Section 5 concludes the paper.
2 Background
Modular robots are mobile robots built from multiple units, usually called modules
or particles, capable of interactions with each other. These units are connected by
links, which are able to transmit forces between the units. Several architecture arises
from this technology such as hybrid architecture, chain architecture, and lattice ar-
chitecture. Some examples of modular robots are shown in Figure 1.
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 among modular robots can occur for a number of reasons: (1)
a robot may move off-course, (2) a robot may collide with a fixed structure, (3)
Hierarchical Distributed Fault Detection Algo. for Lattice Based Modular Robots 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 modular robotic
system 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 the system. Such disconnections may, for example, result in the loss of
valuable data that is being transferred among the robots, or in the loss of robot
operation time.
4 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
This section will introduce the proposed algorithm. Lets start by presenting some
definitions and terminologies.
3.1 Definitions
Definition 1 (Leader). The leader is a module that was elected, using a leader elec-
tion algorithm, before the execution of the proposed algorithm.
Definition 6 (Density). The density of a modular robotic system shows how scat-
tered 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 does not take into consideration the size of the module. Each module
is considered to have one unit size. Equation 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 = (1)
(xmax − xmin + 1) ∗ (ymax − ymin + 1) ∗ (zmax − zmin + 1)
This section will be describing the proposed solution in details. The algorithm is
based on three phases.
• Phase 1: Spanning tree creation and coordinate distribution;
• Phase 2: Neighbors’ Data Collection;
• Phase 3: Disconnection detection. Below is a detailed explanation of the phases.
6 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
A B
The leader of the system initiates the algorithm. It will create a spanning tree con-
taining 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 re-
ceived direction in order to generate its own coordinate. And finally, send a recruit
message to all its neighbor except for its parent.
(a) (b)
(c) (d)
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 po-
tential neighbors coordinates matching with existing modules, then there is a dis-
connection. Since each node have access to only its children, then the final decision
of disconnection is actually at the leader’s level.
4 Simulation Results
The proposed algorithm was implemented and evaluated using VisibleSim [16] 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
8 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
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)
Fig. 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 re-
spective 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.
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 1000 -with different densities ranging from
0.18 to 1. All the shapes’ 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 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 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.
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 rea-
son that it was the value where the system was sending messages the most. Figure
6a shows how the number of messages is increasing linearly with the number of
Hierarchical Distributed Fault Detection Algo. for Lattice Based Modular Robots 9
Fig. 5: This figure shows, on a logarithmic scale, how the number of messages sent
in a 1000 3D system is changing with the density of the system. Each color repre-
sents 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
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 er-
rors 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.
During the previous simulations, the simulator collected the total number of er-
rors detected by the proposed algorithm. Figure 6b 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
10 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib
the percentage of errors in the system. Figure 6b 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.
5 Conclusion
This paper presented Detector, a novel distributed algorithm for a hierarchical fault
detection in modular robots. The proposed algorithm is able to detect partial discon-
nections in a modular robotic system. To achieve such task, the algorithm creates a
spanning tree having the leader as root. Each module generates its coordinates start-
ing 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’ coordinates 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.
Hierarchical Distributed Fault Detection Algo. for Lattice Based Modular Robots 11
Future work should consider the ability to detect if any disconnection happened
during the construction of the spanning tree, keep the spanning tree updated during
the movement of the robots and also the ability to detect the complete disconnec-
tions in a modular robotic system. For example, the addition of different method of
communications such a wireless communication can help detect a complete discon-
nection that leads to an isolation of some modules from the whole system.
Acknowledgements The authors would like to acknowledge the National Council for Scientific
Research of Lebanon (CNRS-L) and the Holy Spirit University of Kaslik for granting a doctoral
fellowship to Edy Hourany.
This work was partially supported by the ANR (ANR-16-CE33-0022-02), the French In-
vestissements d’Avenir program, the ISITE-BFC project (ANR-15-IDEX-03) and the EIPHI Grad-
uate School (contract ”ANR-17-EURE-0002”).
References
1. Saleh Ahmad, Hongwei Zhang, and Guangjun Liu. Distributed fault detection for modular and
reconfigurable robots with joint torque sensing: A prediction error based approach. Mecha-
tronics, 23(6):607–616, 2013.
2. Jad Bassil, Mohamad Moussa, Abdallah Makhoul, Benoı̂t Piranda, and Julien Bourgeois.
Linear distributed clustering algorithm for modular robots based programmable matter. In
IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2020, Las Ve-
gas, NV, USA, October 24, 2020 - January 24, 2021, pages 3320–3325. IEEE, 2020.
3. Andres Castano, Wei-Min Shen, and Peter Will. CONRO: Towards deployable robots with
inter-robots metamorphic capabilities. Autonomous Robots, 8(3):309–324, 2000.
4. Jay Davey, Ngai Kwok, and Mark Yim. Emulating self-reconfigurable robots - design of the
SMORES system. In 2012 IEEE/RSJ International Conference on Intelligent Robots and
Systems, pages 4464–4469, Vilamoura-Algarve, Portugal, October 2012. IEEE.
5. Jean E Dunbar, Jerrold W Grossman, Johannes H Hattingh, Stephen T Hedetniemi, and Al-
ice A McRae. On weakly connected domination in graphs. Discrete Mathematics, 167:261–
269, 1997.
6. Edy Hourany, Christian Stephan, Abdallah Makhoul, Benoit Piranda, Bachir Habib, and Julien
Bourgeois. Self-reconfiguration of modular robots using virtual forces. In IEEE RSJ Interna-
tional Conference on Intelligent Robots and Systems (IROS 2021), Prague, Czech Republic,
sep 2021.
7. M. W. Jorgensen, E. H. Ostergaard, and H. H. Lund. Modular ATRON: modules for a self-
reconfigurable robot. In 2004 IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS), volume 2, pages 2068–2073, Sendai, Japan, September 2004. ISSN: null.
8. Akiya Kamimura, Eiichi Yoshida, Satoshi Murata, Kohji Tomita, and Shigeru Kokaji. A Self-
Reconfigurable Modular Robot (MTRAN) – Hardware and Motion Generation Software –. In
5th International Symposium on Distributed Autonomous Robotic Systems, page 10, 2002.
9. Christopher G Langton. Studying artificial life with cellular automata. Physica D: Nonlinear
Phenomena, 22(1-3):120–149, 1986.
10. R. Moeckel, C. Jaquier, K. Drapel, E. Dittrich, A. Upegui, and A. Ijspeert. YaMoR and Blue-
move — An Autonomous Modular Robot with Bluetooth Interface for Exploring Adaptive
Locomotion. In M. O. Tokhi, G. S. Virk, and M. A. Hossain, editors, Climbing and Walking
Robots, pages 685–692. Springer Berlin Heidelberg, Berlin, Heidelberg, 2006.
11. Mohamad Moussa, Benoı̂t Piranda, Abdallah Makhoul, and Julien Bourgeois. Cluster-based
distributed self-reconfiguration algorithm for modular robots. In Leonard Barolli, Isaac Woun-
gang, and Tomoya Enokido, editors, Advanced Information Networking and Applications -
12 Edy Hourany, Benoit Piranda, Abdallah Makhoul, Julien Bourgeois, Bachir Habib