THE DEVELOPMENT OF AN IMMUNE INSPIRED
ENERGY CHARGING MECHANISM FOR SWARM
ROBOTIC SYSTEMS
BY
MOHAMMED AL HAEK
INTERNATIONAL ISLAMIC UNIVERSITY MALAYSIA
2016
THE DEVELOPMENT OF AN IMMUNE INSPIRED
ENERGY CHARGING MECHANISM FOR SWARM
ROBOTIC SYSTEMS
BY
MOHAMMED AL HAEK
A thesis submitted in fulfilment of the requirement for the
degree of Master of Computer Science
Kulliyyah of Information and Communication Technology
International Islamic University Malaysia
MARCH 2016
ii
ABSTRACT
Swarm Robotics is a part of Swarm Intelligence, which is inspired by insects, birds
and other social animals, and concerned with controlling and coordinating multiple
small robots. Swarm Robotics has several advantages, and one of its most important
criteria is robustness or fault tolerance. However, recent research showed that swarm
robotics systems can be affected by the continuous failure of members of the swarm,
thus reflecting on the overall performance. We propose an energy charging
mechanism inspired by an immune system response known as granuloma formation.
The granuloma formation is a process by which unwanted substances are removed by
immune systems. This research presents a study of a particular immune systems
response for inspirations on energy charging in swarm robotic systems. To understand
the process of granuloma formation so that relevant components can be abstracted and
logically extracted, a model of granuloma formation using Unified Modelling
Language is developed. Then armed with this model, an agent based simulation is
constructed to allow further understanding of the agents involved in the process of
forming a granuloma. Based on this model and the simulation, analogous properties of
granuloma formation and swarm robotic systems are mapped accordingly. Then,
immune inspired energy charging mechanism is developed. The proposed energy
charging mechanism is presented, simulated and compared with another conventional
energy charging mechanism, which is the use of contact-less energy charging area.
Built on the experimental results, the proposed mechanism shows an improvement in
terms of performance time and aggregate energy of the swarm.
iii
خالصة البحث
تمن احليواان وغريها طيورالروبواتت السربية هي جزء من الذكاء السريب، وهو مستوحى من احلشرات وال وااي، عديد من املز ديها البية لوتنسيق عدة روبواتت صغرية. الروبواتت السر ويعىن مبراقبةاالجتماعية،
ا جريت مؤخر أ أظهرت أحباث أهم املزااي هي املتانة أو القدرة على حتمل األعطال. ومع ذلك، واحدة منعلى األداء ا ينعكس، ممأن أنظمة الروبواتت السربية ميكن أن تتأثر ابلفشل املستمر ألعضاء السربن استجابة مة ستوحاية مالعام للسرب. نقرتح يف هذا البحث آلية لشحن الطاقة يف الروبواتت السرب
م هبا إزالة ملية اليت تتهو الع بييباجلهاز املناعي املعروفة ابسم " تشكيل الورم احلبييب". تشكيل الورم احلغرض لهاز املناعي ابة اجلستجالاملواد الغري مرغوب هبا من قبل اجلهاز املناعي. يقدم هذا البحث دراسة
حبيث أن احلبييب لورمالسربية. لفهم عملية تشكيل استلهام ألية لشحن الطاقة يف نظم الروبواتت اورم احلبييب شكيل التمن العناصر ذات الصلة ميكن أن تستخرج استخراجا منطقيا، سيتم تطوير منوذج
زيد من اكاة تسمح للم. مث بناء على هذا النموذج، مت عمل حمUMLابستخدام لغة النمذجة املوحدة ديد اكاة، مت حتذج واحمللنمو لية تشكيل الورم احلبييب. وبناء على هذا االفهم للعوامل املشرتكة يف عم
لية شحنآ مث مت تقدمي ذلك.اخلصائص املتماثلة بني تشكيل الورم احلبييب وسرب األنظمة اآللية وفقا لناء على آلية شحن أخرة. ب رنتها معمقا و الروبوتية،الطاقة املقرتحة، مع حماكاهتا ابستخدام برامج احملاكاة
الطاقة حيث الوقت و آليل منرب االنتائج التجريبية، تبني أن اآللية املقرتحة أظهرت حتسنا يف أداء الس اإلمجالية للسرب.
iv
APPROVAL PAGE
I certify that I have supervised and read this study and that in my opinion, it conforms
to acceptable standards of scholarly presentation and is fully adequate, in scope and
quality, as a thesis for the degree of Master of Computer Science
…………………………………..
Amelia Ritahani Ismail
Supervisor
I certify that I have read this study and that in my opinion it conforms to acceptable
standards of scholarly presentation and is fully adequate, in scope and quality, as a
thesis for the degree of Master of Computer Science
…………………………………..
Sherzod Turaev
Internal Examiner
…………………………………..
Sazalinsyah Razali
External Examiner
This thesis was submitted to the Department of Computer Science and is accepted as a
fulfilment of the requirement for the degree of Master of Computer Science
…………………………………..
Normi Sham Awang Abu Bakar
Head, Department of Computer
Science
This thesis was submitted to the Kulliyyah of Information and Communication
Technology and is accepted as a fulfilment of the requirement for the degree of Master
of Computer Science
…………………………………..
Abdul Wahab Abdul Rahman
Dean, Kulliyyah of Information
and Communication Technology
v
DECLARATION
I hereby declare that this thesis is the result of my own investigations, except where
otherwise stated. I also declare that it has not been previously or concurrently
submitted as a whole for any other degrees at IIUM or other institutions.
Parts of the research reported within this thesis are based on my previous presented
publications: Al Haek et al. (2014a), Al Haek et al. (2014b), Al Haek and Ismail
(2014) and Al Haek et al. (2015).
Mohammed Al Haek
Signature ........................................................... Date .........................................
vi
INTERNATIONAL ISLAMIC UNIVERSITY MALAYSIA
DECLARATION OF COPYRIGHT AND AFFIRMATION OF
FAIR USE OF UNPUBLISHED RESEARCH
THE DEVELOPMENT OF AN IMMUNE INSPIRED ENERGY
CHARGING MECHANISM FOR SWARM ROBOTIC SYSTEMS
I declare that the copyright holders of this thesis is
Mohammed Al Haek.
Copyright © 2016 Mohammed Al Haek. All rights reserved.
No part of this unpublished research may be reproduced, stored in a retrieval system,
or transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording or otherwise without prior written permission of the copyright holder
except as provided below
1. Any material contained in or derived from this unpublished research may
be used by others in their writing with due acknowledgement.
2. IIUM or its library will have the right to make and transmit copies (print
or electronic) for institutional and academic purposes.
3. The IIUM library will have the right to make, store in a retrieved system
and supply copies of this unpublished research if requested by other
universities and research libraries.
By signing this form, I acknowledged that I have read and understand the IIUM
Intellectual Property Right and Commercialization policy.
Affirmed by Mohammed Al Haek
……..…………………….. ………………………..
Signature Date
vii
ACKNOWLEDGEMENTS
In full gratitude, I would like to acknowledge the following individuals who
encouraged, inspired, supported, assisted, and sacrificed to help my pursuit of a
Master degree. I would like to express my special appreciation and thanks to my
supervisor Dr. Amelia Ritahani Ismail, you have been a tremendous mentor for me. I
would like to thank you for your continuous support of my study and research, for
your patience and motivation, and for encouraging me all the time and allowing me to
grow as a researcher. I could not have imagined having a better advisor and mentor.
Furthermore, I would like to thank Professor Dr. Imad Fakhri Al Shaikhli, for his
unconditional support and fatherly role in my study and life. Also, I like to thank Dr.
Normaziah Abdul Aziz, Dr. Al-Sakib Khan Pathan and Dr. M.M. Hafizur Rahman for
their continuous support, guidance and advice. I would also like to thank my family
for the support they provided me, and to my friends, Fuad and Recky for helping me
putting the pieces together. In conclusion, I recognize that this research was supported
by the Malaysian Ministry of Higher Education under the Research Acculturation
Grant Scheme (RAGS): RAGS 12- 006-0006.
viii
TABLE OF CONTENTS
Abstract .................................................................................................................... ii Abstract in Arabic .................................................................................................... iii Approval Page .......................................................................................................... iv Declaration ............................................................................................................... v Copyright Page ......................................................................................................... vi
Acknowledgements .................................................................................................. vii List of Tables ........................................................................................................... x List of Figures .......................................................................................................... xi
List of Algorithms .................................................................................................... xiv
List of Symbols ........................................................................................................ xi
List of Abbreviations ............................................................................................... xi
CHAPTER ONE: INTRODUCTION ................................................................. 1 1.1 Problem Statement .................................................................................. 2 1.2 Research Questions ................................................................................. 2
1.3 Hypothesis .............................................................................................. 2 1.4 Research Objectives................................................................................ 3
1.5 Contribution ............................................................................................ 3
CHAPTER TWO: LITERATURE REVIEW .................................................... 4 2.1 Artificial Immune Systems ..................................................................... 4 2.2 Swarm Intrlligence and Swarm Robotics ............................................... 5
2.2.1 Advantages of Swarm Robotics .................................................... 6 2.2.2 Characteristics and Applications ................................................... 6
2.2.3 Energy Charging in Swarm Robotics ............................................ 7 2.3 Granuloma Formation ............................................................................. 11 2.3.1 Components of Granuloma ............................................................ 13 2.3.2 The Process of Granuloma Formation ........................................... 14
2.3.3 Modeling and Simulation of Granuloma ....................................... 16
CHAPTER THREE: RESEARCH METHODOLOGY ................................... 18 3.1 Modeling the Process of Granuloma Formation ..................................... 19 3.2 Understanding the Process of Granuloma .............................................. 19
3.3 Extracting the Rules in Granuloma Formation ....................................... 22 3.4 Agent Based Modeling of Granuloma .................................................... 29
CHAPTER FOUR: SIMULATING GRANULOMA FORMATION .............. 32 4.1 ABM Simulation of Granuloma Formation ............................................ 32 4.2 ABM Simulation Algorithms ................................................................. 38
CHAPTER FIVE: GRANULOMA INSPIRED MECHANISM FOR
ENERGY CHARGING IN SWARM ROBOTICS ............................................. 42 5.1 Energy Charging for Swarm Robotics .................................................... 42
ix
5.1.1 Foraging Simulation ...................................................................... 43
5.1.2 Aggregation Simulation ................................................................. 47 5.1.3 Energy Charging Using Power Stations ........................................ 51
5.1.4 Foraging with Power Stations ....................................................... 54 5.1.5 Limitations and Drawbacks of Power Stations ............................. 56 5.2 Mapping the Model of Granuloma Formation........................................ 58 5.3 Proposed Mechanism and Agents Specifications ................................... 62
CHAPTER SIX: SIMULATION AND RESULTS ............................................ 67 6.1 No Charge Simulation ............................................................................ 67 6.2 Contact-Less Charging Area Simulation ................................................ 72 6.3 Immune Inspired Energy Charging Simulation ...................................... 77
6.4 Robustness Analysis ............................................................................... 83
CHAPTER SEVEN: DISCUSSION AND CONCLUSION .............................. 87
REFERENCES ....................................................................................................... 89
x
LIST OF TABLES
Table No. Page No.
3.1 The mapping of granuloma components from model to agents in
ABM simulation 29
5.1 Time and round trips for running the foraging simulation with
different number of robots 46
5.2 Mapping granuloma agents to a swarm robotic members 59
6.1 Data collected from running the foraging simulation 5 times with no
recharging mechanism 71
6.2 Data collected from running the foraging simulation 5 times with
charging area 76
6.3 Data collected from running the foraging simulation 5 times with
charger-robots. Charger-robots’ energy is not calculated in the
aggregate energy. 82
6.4 Data collected from running the foraging simulation 5 times with no
charge, using charging area and the use of charge-robots 85
xi
LIST OF FIGURES
Figure No. Page No.
2.1 Audio signals from a robot in need of recharge is transmitted, and
the power station is showing its audio signal range. (Mullins et al.,
2012) 9
2.2 Robot in need of recharge is traveling through a tree structure toward
a power station. (Mullins et al., 2012) 10
2.3 Bugs or bacteria infecting macrophages, and replicating 15
2.4 The process of granuloma formation and its components, Shaler et
al. (2013) 16
3.1 The Flow of work throughout our research 18
3.2 A class diagram showing the cells involved in the granuloma
formation presented as classes. 24
3.3 Activity diagram depicting the simplified order of events that result
in the granuloma 25
3.4 State diagram for macrophages 27
3.5 State diagram for T-cells 28
3.6 State diagram for Antigen Presenting Cells 28
4.1 Initial environment set up for the simulation 33
4.2 MR (green) try to fight off BE (red with white background), but
become infected MI (orange) 34
4.3 MI Secrete substances and MI become chronically infected 35
4.4 MR are arriving at the infection site following the trace of chemokine 35
4.5 T-cells (blue) arrive at the infection site after being activated and
followed the traces of chemokine 36
4.6 T-cells activate 36
4.7 MA kills BE in large numbers 37
4.8 Granuloma ends when all BE and BI are eliminated 37
xii
5.1 Initialization of the simulaion with 7 robots (green) and 40 food
items 45
5.2 Robots collecting food and dropping it in the nest 45
5.3 One robot stopped moving due to low energy 45
5.4 6 robots continue the task of collecting food 45
5.5 The setup of swarm beacon taxis. A swarm of robots (left) with
limited sensors must move to a beacon (red circle) (Ismail, 2011) 48
5.6 Snapshots of the aggregation simulation using Simbad 49
5.7 Snapshots of the aggregation simulation with two robots with low
energy 50
5.8 E-puck battery chargers that require manual handling 51
5.9 E-puck automatic battery chargers into which the robot can
automatically attach 52
5.10 Arena with foraging robots with their energy level shown, moving in
environment where power stations are deployed (green) 55
5.11 Foraging robots with low energy start using power stations to
recharge 55
5.12 Foraging robots carrying food to the nest after charging is done 55
5.13 State chart of the use of Recharging-robots in a swarm system 60
5.14 State chart of Flying robot as an add-on to guide Recharger-robots in
a swarm system 62
6.1 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed 68
6.2 One robot (yellow LED) is moving to the nest to drop food while
another robot (red LED) stopped moving after it ran out of energy 69
6.3 More robots have stopped as they run out of energy, and the food
collection is going slower as less members are active now 69
6.4 Only two members of the swarm are active and working 70
6.5 The simulation stopped as all members of the swarm have no more
energy to continue the task, and some food items have not been
collected 71
6.6 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed 72
xiii
6.7 A robot is moving to the nest to drop food, while another is trying to
reach the charging area 73
6.8 One robot with 0 energy did not make it to the charging area, while
another robot is already recharging its battery 74
6.9 More robots with low energy are recharging, and active robots are
continuing the foraging task 74
6.10 Fully charged robot sets its LED to green, and join the swarm, while
other robots are still recharging 75
6.11 The simulation stops as all food items have been collected 75
6.12 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed 78
6.13 A robot moving to the nest to drop food, while another is trying to
reach the charging area 79
6.14 Fully charged robot will set its LED to green, and join the swarm,
while other robots are still recharging 81
6.15 The simulation stopped as all food items had been collected 82
6.16 Line chart comparing the number of active robots and the time
needed to collect all food items collected from simulations using
charging area (left), and charger-robots (right) 84
6.17 Line chart comparing the simulation time and aggregate energy of
the swarm collected from 5 simulations using 3 different
mechanisms, No charging (left), using charging area (middle) and
using charge robots (right) 85
xiv
LIST OF ALGORITHMS
Algorithm No. Page No.
1 Resting Macrophages 39
2 Infected Macrophage 39
3 Chronically Infected Macrophage 40
4 Aging 40
5 T-cell Recruitment 41
6 Basic foraging algorithm for swarm robots 44
7 Aggregation algorithm moving toward the light 49
8 Algorithm for charging using power station 53
9 Robot request for recharge 63
10 Charger robot response to a recharge request 64
11 Flying robot response to a recharge request 66
xv
LIST OF SYMBOLS
α The number of intercellular bacteria it takes to transfer MI to MC.
θ Age threshold.
δ The level of cytokine needed to activate MI or MR.
NRK The killing capability of MR.
PK Probability of macrophage getting infected.
PKMR Probability that MR can kill BE or get infected.
KBI The number of BI an infected macrophage can hold.
βMI The rate in which BI duplicate inside MI.
CMI The amount of chemokine secreted by MI.
TM The probability of MI being activated by T cells.
YN The cytokine of macrophage’s neighbors.
PTk The probability of being killed by T cell.
βMC The rate in which BI duplicate inside the MC.
CMC The amount of chemokine secreted by MC.
µ The threshold for YN .
TTime Time needed for TC to arrive at the infection site.
Ω The sum of chemokine level in the environment
Trecr The probability of TC recruitment
xvi
LIST OF ABBREVIATIONS
SR Swarm Robotics
AIS Artificial Immune System
GF Granuloma Formation
SI Swarm Intelligence
AI Artificial intelligence
MR Resting Macrophages
BE Extracellular Bacteria
BI Intracellular Bacteria
MI Infected Macrophages
APC Antigen Presenting Cell
DC Dendritic Cells
TC T-Cells
MC Chronically Infected Macrophage
MA Active Macrophages
UML Unified Modeling Language
ABM Agent Based Modeling
ADL Diffusion Limited Aggregation
IPT Inductive Power Transfer
LED Light-Emitting Diode
1
CHAPTER ONE
INTRODUCTION
Swarm Robotics (SR) is a relatively new field of study that is inspired by social insects
such as ants and bees, birds and other animals, and concerned with coordinating and
controlling the behavior and interactions of multiple small robots. It is the study of how
large number of simple agents can be conceived and developed such that a desired
behavior emerges from the interactions among agents and between agents and the
environment. The larger number of robots involved in performing a task gives the
swarm system an advantage over the more common approach of singular robot. By
having multiple robots performing the task, a failure of some members of the swarm
may not reflect on the performance of the swarm, thus fault tolerance and robustness of
the swarm make it more desirable. A mechanism is inspired by the artificial immune
system (AIS) and a process known as “granuloma formation (GF)” is proposed.
Granuloma formation involved multiple processes, from secretion to activation and
migration of immune cells. These processes can be assigned into a swarm system. In
this research, we model and simulate the granuloma formation in the immune system
and map the immune cells response to infections into the SR model. Then, based on that
mapping, we develop a mechanism that makes SR more robust by coordinating a
response for low energy hazard that results in the robots recharge energy in a way that
enables them to carry out a task.
2
1.1 PROBLEM STATEMENT
SR may not be as fault tolerant as it was first thought to be, since recent studies showed
that the failure of some members of the swarm, in the case of low energy for example,
can cause the swarm not to maintain its collective group behavior and cause a drawback
in the speed and efficiency of finishing the task. Continuous failure of members of the
swarm due to low energy will have a large impact on the overall performance of the
swarm. The collective behavior of the swarm might be affected and cause a task not to
be performed. A mechanism that allows the swarm to heal itself will improve the
swarm’s robustness.
We propose a mechanism inspired by the ability of the human body to heal itself
via internal coordination between the immune cells to form a granuloma.
1.2 RESEARCH QUESTIONS
This research aims to answer the following questions:
1. What are the components and processes involved in the granuloma?
2. How can the components of granuloma formation inspire a new mechanism
for swarm robotics?
3. Could a swarm robotic systems be more robust and by implementing an
energy charging mechanism inspired by granuloma formation?
1.3 HYPOTHESIS
1. UML modeling and Agent-based modeling can help identifying the main
components and agents in granuloma formation.
2. An energy charging mechanism can be drawn from the interaction and
3
communication of the immune cells involved in the granuloma formation.
3. An immune inspired mechanism for energy charging in SR is more efficient
in improving the robustness of a swarm system compare to more common
approaches.
1.4 RESEARCH OBJECTIVES
The objectives of this research are to:
1. Model and simulate the main cells involved in granuloma formation. 2. Understand the processes of immune systems specifically the interactions
of cells in granuloma formation.
3. Develop an energy charging mechanism for swarm robotics, based on the
components of granuloma formation.
4. Compare the performance of the immune inspired energy charging
mechanism with other common mechanisms.
1.5 CONTRIBUTION
Throughout this research, we modeled and simulated multiple processes and algorithms.
We modeled the cells engaged in granuloma formation, and simulated the process in an
agent based simulation. In order to explore the problem of energy charging in swarm
robotics, multiple simulations of some applications of swarm robotics such as, foraging
and aggregation, has been carried out to show the effect of low energy in the swarm.
The major contribution of this research is the development of an energy charging
mechanism for fault tolerance in swarm robotic systems, which is inspired by the
components and processes of granuloma formation.
4
CHAPTER TWO
LITERATURE REVIEW
This section discusses previous work conducted by researchers. Section 2.1 describes
the field of artificial immune systems and how it inspired computer scientists. Then
Section 2.2 explain what swarm robotics is, and what makes it different from other
approaches. The work done by researchers from different fields on granuloma formation
is discussed in Section 2.3.
2.1 ARTIFICIAL IMMUNE SYSTEMS
The theory of Artificial Immune Systems (AIS) is a biologically inspired field focusing
on adapting many aspects of immune systems, and it is concerned with using
immunology in solving problems in computing, where there has been an extensive
amount of work undertaken on the use of biological inspirations, for example neural
networks, swarm systems, genetic algorithms and others. This field of research has seen
the application of immune-inspired algorithms to problems such as robotics, intrusion
detection in networks, bioinformatics and machine learning to name a few (Read,
Andrews, & Timmis, 2012; Timmis, 2007; Timmis & Andrews, 2007). The motivation
for building immune-inspired solutions for computer problems arises from the
properties within the immune system that are attractive from a computer science
perspective (Timmis, 2007; Timmis & Andrews, 2007). Such properties include, the
self-organization and interaction of immune cells; the distributed operation of the
immune system throughout the body, pattern recognition and pathogens detection. AIS
takes inspiration from these properties and associated immune processes, and has been
5
defined by Timmis (2007) and Timmis & Andrews (2007) as “adaptive systems,
inspired by theoretical immunology and observed immune function, principles and
models, which are applied to problem solving”. The field of AIS also encompasses
modeling and simulation techniques to improve understanding of the immune system
in general. (Forrest & Beauchemin, 2007; Greensmith, Whitbrook, & Aickelin, 2010;
Read, Andrews, & Timmis, 2012; Timmis, 2007; Timmis & Andrews, 2007)
2.2 SWARM INTELLIGENCE AND SWARM ROBOTICS
Nature has always been the inspiration for new fields, studies and researches. Swarm
Intelligence (SI) is a field of AI that is inspired by insects, birds and other animals
(Jevtic and Andina, 2007; Sahin, 2005; Dorigo et al., 2006). A SI system consists of a
group or a swarm of simple systems or agents interacting and communicating with each
other and their environment. The definition of swarm intelligence denoted by (Dorigo
et al., 2006) as: The discipline that deals with natural and artificial systems composed
of many individuals that coordinate using decentralized control and self-organization.
In particular, discipline focuses on the collective behaviors that result from the local
interactions of the individuals with each other and with their environment. Swarm
Robotics (SR) is a new field of study that is concerned with controlling and coordinating
some small multiple robots (Miner, 2007; Bayindir and Sahin, 2007).
Sahin (2005) Defined swarm robotics as: Swarm robotics is the study of how large
number of relatively simple physically embodied agents can be designed such that a
desired collective behavior emerges from local interactions among agents and between
the agents and the environment.
From the definition, we can understand that swarm robotics are used to model and
control the behavior of multiple simple robots in a way that collective behavior is
achieved. The field of SR was inspired by insects and ant’s colony’s behavior (Sahin,
6
2005; Bayindir and Sahin, 2007; Jevtic and Andina, 2007; Dorigo et al., 2006).
2.2.1 Advantages of Swarm Robotics
According to Miner (2007), swarm robots have several advantages over individual
robots, and are the results of using many robots instead of just one. This is made possible
by:
The simplicity of designing and building a swarm robot with low cost.
Multiple agents of a swarm system can cover larger areas than an individual
robot.
Since robots in a swarm system do not depend on each other directly, the
system can be more tolerant to partial failure since other members of the
swarm can continue performing its actions of any agent that fails.
Scalability in the number of members. Adding more robots can increase the
effectiveness without disturbing the interactions of a swarm, since
algorithms for SR do not depend on the number of robots.
Some tasks may be too complex for a single robot to perform individually.
2.2.2 Characteristics and Applications
The approach of SR takes its inspiration from social insects and animals which
demonstrate three desired characteristics for multi-robot systems: robustness, flexibility
and scalability (Sahin, 2005; Jevtic and Andina, 2007).
1. Robustness is a system’s ability to still function with partial failure. If some
members of the swarm are unable to partake in performing a task, other
members of the swarm can cover their absence or failure.
3. Flexibility is a system’s ability to adapt to new, different, or changing
requirements of the environment.
7
4. Scalability can be defined as the ability to expand a task or mechanism to
support larger or smaller numbers of individuals, or to cover larger or
smaller area.
Sahin (2005) classified the SR application by emphasizing on the properties of
the tasks that make them suitable for swarm robotic systems. According to Sahin (2005),
SR is suitable for performing tasks that are not only redundant, but also tasks that cover
large regions, or tasks that require scale-up or scale-down in time.
According to Jevtic and Andina (2007), the swarm robotic systems can be applied in
various scenarios and tasks, such as:
Aggregation and Flocking this task is normally referring to gather a group of
randomly scattered robots in the environment and forms the robot clusters. Flocking
and Aggregation are of highly coordinated group behaviors exhibited by insects and
large group of fish and birds.
Foraging in this task, a robot is able to collect “food”, and deliver them in to some pre-
specified home location or “nest”.
Exploration and mapping Exploration is typically used in unknown environments
where robots are not equipped or provided with a map.
2.2.3 Energy Charging in Swarm Robotics
One of the most important advantages of swarm robots is robustness or fault tolerance.
Robustness or fault tolerance, can be defined as the degree to which a system can still
function in the presence of partial failures, which in the case of SR is achieved from the
terminology itself (Bayindir and Sahin, 2007). Having multiple robots working on the
same task simultaneously and coordinately allows the loss of some members of the
8
swarm, while others continue carrying out with the task. However, the overall outcome
of the task may not be the same as members of the swarm continue to fail. In the case
of low energy for example, robots will need to recharge their batteries and rejoin the
swarm in performing the given task, otherwise, the task will take longer time to be
achieved, and the failing robots may become obstacles in the way of active robots.
Not many researches on the energy-charging problem in swarm robotics have
been done. While Lee and Ahn (2011) studied using behavioral model to improve the
energy of swarm robotics in foraging task, Ngo and Schioler (2006) focused on
maintaining the energy in swarm robotics through self-maintenance. Kernbach and
Kernbach (2011) suggested approaches to maintaining energy balance and homeostasis
using hardware and software mechanisms. Using these mechanisms, Kernbach and
Kernbach (2011) focused on deciding the priority and recharging time at the power
stations for each robot using individual and collective swarm data, such as energy level
for each robot and the swarm. In a similar approach, Liu et al. (2007) introduced a
mechanism to automatically achieve a balance between foraging and resting, in order
to maximize the energy level in the swarm. In other words, Liu et al. (2007) used an
adaptive mechanism where the decision to either rest in the nest or engage in foraging,
is made in order to make sure that more energy is gained than lost in search for food.
While these research tried to manage the energy consumption, others proposed a
hardware change that could make the swarm more energy efficient. Both
Mukhopadhyay et al. (2008), and Chen et al. (2011) proposed and used a contact-less
charging batteries and platforms to re-duce time spent by the robots at the power
stations, as well as the need for queuing and standing by waiting to be recharged. While
Mukhopadhyay et al. (2008) focused on the efficiency of using electromagnetic
induction to charge robots with no contact needed with the power station, Chen et al.
9
(2011) designed a charging station that uses Inductive Power Transfer (IPT) to charge
multiple robots at the same time, with no need for docking at a power station. Some
researchers have tried to overcome the limitations of using power stations. Mullins et
al. (2012) proposed an approach to solve the problem with using power stations in large
areas by proposing an E-coli inspired algorithm and Diffusion Limited Aggregation to
develop a collective navigations strategy that helps guiding swarm robots to a common
target, such as power station. In their work, Mullins et al. (2012) a robot in need of
recharge before it runs out of power, will transmit an audio signal, and robots nearby
will receive and retransmit the signal, until it reaches the power station, then it’ll send
back a signal that forms a tree of nodes that guides the robot to the power station. A
snapshot of Mullins et al. (2012) collective navigation in shown in Figures 2.1 and 2.2.
Figure 2.1 Audio signals from a robot in need of recharge is transmitted, and the
power station is showing its audio signal range. (Mullins et al., 2012)
In a different approach, Arvin et al. (2009) designed a movable power station that
robots can attach to and charge. The movable charger or power station does not take
10
part in performing the task as other robots, but moves in the environment and allows
robots to connect and charge when they need. Arvin et al. (2009) approach focused on
the hardware design of the movable power station, and the ability of multiple robots to
attach to it and recharge when they need. Arvin et al. (2009) did not offer more
explanation on the source of power for the movable charger, and what is the next step
for the power charger after running out of power. Instead, Arvin et al. (2009) only
showed that the charger is not stationary, but moving in the environment, and it has
multiple conductive sides that robots can dock into. On the other hand, Ismail (2011)
proposed an energy-sharing algorithm inspired by immune response known as
“Granuloma Formation”, where members of the swarm share some of their own energy
with low energy robots.
Figure 2.2 Robot in need of recharge is traveling through a tree structure toward a
power station. (Mullins et al., 2012)
Inspired by immune response, Ismail (2011) proposed an algorithm in which
11
members of the swarm are compared to immunity cells fighting pathogens such as
bacteria. In that scenario, robot with low energy is thought of as an infected cell, and
other robots are immune cells surrounding the infected cell to fight the infection and
not al-lowing it to spread. In her proposed algorithm, Ismail (2011) suggested that other
robots would surround the robot with low energy upon receiving a help signal initiated
by the infected robot, and share some of their energy based on different methods to
determine how much each robot can share. This approach of energy sharing may help
robots with low energy to be recharged, but it means other members of the swarm are
losing their energy at the same time, and as the number of failing robots increased,
Ismail (2011) found that the performance of the algorithm remained the same. Drawing
inspiration from an immune response similar to what Ismail (2011) used, and combined
with Arvin et al. (2009) approach to make the charger find the robot in need of charge,
We studied granuloma formation, and introduced a new mechanism as an
attempt to solve the energy problem in Swarm Robotics. In our mechanism, charger-
robots are added to the swarm, and they reside at the power station nearby, while other
swarm robots are carrying out their task. When a robot is in need of recharge, it will
send a signal to a charger-robot, which in turn moves to the location of the robot with
low energy. More details about our mechanism and its specification will be described
and discussed Section 5.3.
2.3 GRANULOMA FORMATION
Granuloma is a complex structure formed by different immune cells such as
macrophages, T-cell and others (Adams, 1976; Davis and Ramakrishnan, 2008).
It is formed as a response to foreign intruders, and it combines innate and adaptive
immunity (Davis and Ramakrishnan, 2008). Granuloma can simply be viewed as a
12
“wall off” structure that stops foreign intruders from spreading when they cannot be
killed by immune cells (Davis and Ramakrishnan, 2008, 2009; Egen et al., 2008;
Ramakrishnan, 2012; Shaler et al., 2013). Granuloma involves multiple subsequently
carried processes, from secretion of substances, to recruitment, migration and activation
of immune cells (Saunders and Cooper, 2000; Flynn et al., 2011; Guirado and
Schlesinger, 2013). Some studies argue that granuloma is initiated by macrophages
interacting with bacteria (Davis and Ramakrishnan, 2008; Shaler et al., 2013; Flynn et
al., 2011), while others see the activation of T-cells after an interaction between bacteria
and Dendritic cells as the start of granuloma formation (Saunders and Cooper, 2000).
However, the initiation or even formation of granuloma does not necessarily mean that
the infection is under control, in order for the granuloma to stop bacteria from spreading,
it must be properly functioning (Flynn et al., 2011). Granuloma can contribute to early
bacteria spread and growth even though it is an immune response aimed to protect and
defend the host (Davis and Ramakrishnan, 2009; Ramakrishnan, 2012; Silva Miranda
et al., 2012; Bold and Ernst, 2009). Cells involved in forming the granuloma, such as
macrophages, can transport and carry the bacteria into the tissues or other parts of the
body (Davis and Ramakrishnan, 2008; Ramakrishnan, 2012; Silva Miranda et al., 2012;
Bold and Ernst, 2009). Hence, it is very common to find multiple granulomas in an
infected host, as the bacteria escapes a non-properly functioning granuloma and initiates
a new one (Flynn et al., 2011). Granuloma’s most common cause is Tuberculosis
(Ramakrishnan, 2012; Silva Miranda et al., 2012; Bold and Ernst, 2009), one of the
deadliest diseases through-out history (Ramakrishnan, 2012) and in current time (Shaler
et al., 2013; Saunders and Cooper, 2000; Silva Miranda et al., 2012), and it also appears
in other diseases such as Visceral Leishmania (Flugge et al., 2009). The oldest
description of granuloma dates back to 1679, when it was observed in the lung of dead
13
patients diagnosed with tuberculosis, and then from other diseases later in 1884 (Shaler
et al., 2013). Studies on granuloma to determine the main cells involving in the process
have been done on animals such as monkeys, mice and zebrafish (Davis and
Ramakrishnan, 2009; Guirado and Schlesinger, 2013; Silva Miranda et al., 2012; Bold
and Ernst, 2009; Flugge et al., 2009; Bru and Cardona, 2010; Carvalho et al., 2012).
Studying granuloma in human lungs can be challenging, especially because the dynamic
process of granuloma formation and its components cannot be fully understood from
biopsy (Guirado and Schlesinger, 2013). Therefore, an approach of modeling and
simulation of granuloma formation and process is needed. Using computer generated
models and simulations offers a chance to identify the main agents that construct the
network of interactions and highlight their functions and properties (Young et al., 2008).
In order to integrate a biological model of granuloma formation into a computer based
simulation, an assessment of the interactions at each level of the infection and the rules
governing these interactions are needed. This wide scale of interactions between the
host and the pathogen can range from molecular to intercellular level (Young et al.,
2008). Many computer models and simulations of granuloma formation in different
diseases have been developed to study, describe and make predictions based on general
information about the components of granuloma.
2.3.1 Components of Granuloma
1. Macrophages: are type of white blood cell originated from bone
marrow (Adams, 1976; Teo, 2003; Co et al., 2004; Flynn et al.,
2011).
2. T-cells: belong to a group of white blood cells known as lymphocytes
14
(Kam et al., 2001; Sneller, 2002; Co et al., 2004; Jiang and Chess,
2006).
3. Cytokines and chemokine: are substances secreted by specific cells
of the immune system which carry signals locally between cells and
thus have an effect on other cells (Adams, 1976; Sneller, 2002;
Ismail, 2011).
4. Antigen Presenting Cells: engulf antigen, migrate to the lymph nodes
where they activate T-cells, the most common type of APC is
Dendritic Cells (DC) (Banchereau and Steinman, 1998; Tseng and
Dustin, 2002; Uehira et al., 2002; Ludewig et al., 2004; Marino et
al., 2004; Bocharov et al., 2005; Schreiber and Sandor, 2010)
2.3.2 The Process of Granuloma Formation
The main actors in granuloma formation are macrophages and T-cells. With two
types of different signal produced by these cells which include cytokine and
chemokine. In a situation of acute infection, instead of macrophages digesting
the bacteria to stop the infection, bacteria will use macrophages to further spread
the infection, as seen from Figure 2.3.
15
Figure 2.3 Bugs or bacteria infecting macrophages, and replicating
Infected macrophages will emit two signal, cytokines and chemokine to other
macrophages, APC and T-cells. The aim of the signal is to inform other cells of its poor
condition (Davis and Ramakrishnan, 2008, 2009). In response to the signals, other
macrophages will be attracted to the infection sites and consequently form a ball like
structure sur-rounding the infection sites, as seen in Figure 2.4. APC will engulf antigen
from bacteria and migrate to the lymph node where it presents the antigen to T-cells
thus activating them. After activation, T-cells depart from the lymph node to the
infection sites, and secrete soluble mediator to maintain the formation of granuloma and
activate macrophages. Eventually, granuloma will trap bacteria as well as the infected
macrophages protecting the host by promoting macrophages containment and reducing
the nutrient supply to the bacteria (Davis and Ramakrishnan, 2008, 2009).
16
Figure 2.4 The process of granuloma formation and its components, Shaler et al.
(2013)
2.3.3 Modeling and Simulation of Granuloma
Researchers have studied granuloma formation since 1970s (Adams, 1976), and have
been trying to understand the agents and cells involved in this formation, and the role
of each cell and signal. Some studies done on animals such as zebrafish and mice pro-
vided amazing results on the details of this formation (Davis and Ramakrishnan, 2009;
Bru and Cardona, 2010; Carvalho et al., 2012). However, due to difficulties in studying
the granuloma formation in human lungs during infection, modelling and simulating of
granuloma formation emerged in recent years as substitution mechanism which enables
scientists and researchers to study and understand the cells interactions, as well as plat-
form for inspiration for developments in the computer technology field. In this research,
we followed the rules and steps of cells interaction and phases of granuloma formation
described in detail in (Marino and Kirschner, 2004; Marino et al., 2004; Segovia-Juarez
et al., 2004; Gammack et al., 2005; D’Souza et al., 2009; Marino et al., 2011a,b; Fallahi-
Sichani et al., 2013).
17
In the course of studying granuloma formation, a model of the interactions
between different immune cells using UML 2.0 diagrams and Agent Based Modeling
(ABM) is developed and presented in Chapters 3 and 4.
18
CHAPTER THREE
RESEARCH METHODOLOGY
In this work, we started by studding the granuloma formation in order to identify the
components of a new energy charging mechanism for swarm robotics system. The flow
of our work is shown in Figure 3.1. we started from the literature, where the components
of granuloma formation have been identified, as well as the applications of SR, and the
problem of energy charging. From that point, a model and simulation of granuloma
formation have been carried out, then the specifications of the energy charging
mechanism and the agents of the new swarm are mapped. This chapter describe the way
in which the work on modeling and simulating the granuloma formation will be carried
out. The work in this part is related to the readings and findings from Chapter 2. We
identify the main actors in the granuloma formation, and rules of interaction between
them, in Sections 3.1 and 3.2, before extracting the rules of granuloma formation from
modeling in Section 3.3, and for the agent based simulation in Section 3.4.
Figure 3.1 The Flow of work throughout our research
19
3.1 MODELING THE PROCESS OF GRANULOMA FORMATION
In this research, we use the Unified Modeling Language (UML), a unified notation
based on various object oriented analysis and design methodology that provides a
representation of the components of a system (LeBozec et al., 1998). The UML
diagrams are used to illustrate the design of our model as well as a medium for
extracting the rules of the simulation, identifying the agents of the simulation and the
relationships between different immune cells involved in the process of forming the
granuloma. The reasons of using UML diagram to represent our models according to
Booch (2005) are:
It is an open standard, graphical notation for specifying, visualizing,
constructing, and documenting systems.
It can increase the understanding of system or product.
It can provide both general and specific views on the project.
It is able to highlight the interaction and relation between different
components of a system.
In our design of the UML diagram, we followed the rules of the latest UML 2.0 user
guide as described by Booch (2005).
3.2 UNDERSTANDING THE PROCESS OF GRANULOMA Since this research focuses of modeling the granuloma formation from computer
science point of view, many of the complex details, cells and substances involved in the
formation are generalized and not studied in details as we will show later. Based on the
work of (Saunders and Cooper, 2000; Flynn et al., 2011; Saunders and Britton, 2007;
Segovia-Juarez et al., 2004) and from the literature discussed in Section 2.3, granuloma
formation starts with macrophages in their normal resting state interacting with foreign
20
pathogen. At its normal state, resting macrophages (MR) move at relatively high speed
of 1mm/min, and have a small capacity to kill extracellular bacteria (BE), 2 at most
(Segovia-Juarez et al., 2004; Marino and Kirschner, 2004). When overwhelmed, BE
infects MR and uses its resources to proliferate and produce intracellular bacteria (BI),
and resting macrophages at this point became infected macrophages (MI) that move
slower, but have the ability to secrete substances of cytokine and chemokine (Marino
and Kirschner, 2004; Marino et al., 2004; Segovia-Juarez et al., 2004; Gammack et al.,
2005; D’Souza et al., 2009; Marino et al., 2011a, b; Fallahi-Sichani et al., 2013). As
mentioned before, this paper presents granuloma formation from a computer science
perspective, and many details about the more complex components of granuloma
formation are generalized. For instance, there are different types and kind of substances
involved in the granuloma formation and they are part of the same family of substances
secreted during an immune response. For the purpose of simplicity, we divided the
substances secreted by granuloma’s components during the formation into two main
classes, a) cytokines that used for activation of cells, and b) chemokine that attracts
other cells to the infection site. Once BE infects macrophage, MI starts secreting low
doses of cytokine and chemokine. The chemokine attracts other macrophages and
immune cells to infection site, while cytokine at this point activates Antigen Presenting
Cell (APC), Dendritic Cells (DC) in particular. While nearby macrophages follow the
trace of chemokine from MI to the infection site, DC engulfs a pathogen and migrate to
the lymph nodes where T-cells (TC) are residing. In a complex process, DC present the
pathogen to T-cells, which in turn are activated from their naive state, and migrate to
the infection site following the traces of chemokine secreted by MI. When the number
of BI proliferating in a MI reaches the point of holding capacity for macrophage, the
infected macrophage will burst releasing new BE into the environment. When the
number of BI in a MI reaches a certain level, MI becomes chronically infected
macrophage (MC), meaning that the number of BI inside of it is large, and the possibility
21
of killing and recovering from BI is small. It takes TC up to two weeks to arrive at the
infection site (Segovia-Juarez et al., 2004; Marino and Kirschner, 2004), and once T-
cells are there, they join other macrophages that were attacked, and form a ball shape
structure that surrounds the pathogens. T-cell then start secreting larger amounts of
cytokines that activate the macrophages. Active macrophages (MA) are slower that MR,
and they have a life span of 10 days only, while MR has 100 days, but MA have the
ability to secrete substances in larger amounts, and kill BE in larger numbers that can
reach 10 BE kill at once in some cases (Segovia-Juarez et al., 2004; Marino and
Kirschner, 2004). Once activated by the T-cell, MA will phagocytose (the ingestion of
bacteria or other material) BE in large numbers, secrete cytokine that helps MI fight BI
, and introduce apoptosis (the death of cells that occurs as a normal and controlled part
of an organism’s growth or development) to MC. the process of apoptosis means killing
of cells, which is done by T-cell and MA at this point in order to not allow BI to burst
the MC and be released into the environment (Marino and Kirschner, 2004; Marino et
al., 2004; Saunders and Cooper, 2000; Flynn et al., 2011; Saunders and Britton, 2007;
Segovia-Juarez et al., 2004; Gam-mack et al., 2005; D’Souza et al., 2009; Marino et al.,
2011a,b; Fallahi-Sichani et al., 2013). At this point, granuloma has reached its goal of
killing foreign intruders, stop-ping bacteria from spreading and not allowing
macrophages to carry bacteria to other parts of the host.
From this stage the followings are identified:
the main components and cells.
the processes that involved in granuloma formation.
The components then can be categorized into different classes or groups:
1. Macrophages:
a. Resting macrophage- MR
b. Infected macrophage - MI
22
c. Chronically infected macrophage - MC
d. Active - MA
2. T-cells
a. Naive
b. Active
3. Antigen presenting cells (APCs): Dendritic cells (DC)
4. Cytokines and Chemokine
3.3 EXTRACTING THE RULES IN GRANULOMA FORMATION
From the literature review presented in Chapter 2, the rules of interaction between the
components of granuloma are extracted, and can then sum-up the steps of granuloma
formation. Granuloma starts with macrophages interacting with bacteria. Macrophages
in all its types (resting, infected and active) move in the blood circulation along with
antigen-presenting cells. On the other hand, T-cells are allocated in the lymph nodes
and move to the blood circulation when activated by the APCs. Cytokines and
chemokine secreted by both macrophages and T-cells also circulate in the blood stream.
Macrophages and T-cells together form the granuloma at the infection site. The relation
between these components is shown in Figure 3.2.
In order to understand the relation between granuloma agents, and the rules of
engagement and interaction between them, we draw an activity diagram showing the
steps each cell goes through to form granuloma. In Figure 3.3, an activity diagram
depicting the simplified order of events that result in the formation of granuloma. The
activity diagram in Figure 3.3 starts with BE interacting with MR, if MR is unable to
kill the bacteria, then it becomes infected MI. Infected MI moves slower than MR, and
it has the ability to secrete substances such as cytokines and chemokine. These
23
substances have two main roles, which are:
1. the recruitment of other cells, which is done by chemokine signals,
2. the activation of other cells, which is done by the cytokine signals.
The cytokines from MI will activate nearby APC, which in turn engulf antigen
from the bacteria and migrate to the lymph node where it will present this antigen to T-
cells through a very complicated operation. Active T-cells once activated follow the
trace of chemokine and move to the infection site and so does other MR, that are nearby
the infection site and picked up the trace of chemokine secreted from MI . Once active
T-cells and MR start arriving at the infection site, the granuloma formation starts. The
cells at the environment start forming a ball like shape that walls of bacteria from
infecting other parts of the body as well as contaminate MI from carrying BI to other
places and thereby spreading the infection. Cytokine secreted from T-cells have the
capability of activating MR. MA move slower than MR but faster the MI or MC, and their
lifespan is lower than MR, but they have the amazing capability of killing BE in large
numbers as well as secreting larger amounts of substances than MI, MR or MC. At the
same time, T-cells’ substances will induce apoptosis death to MC since they are not able
to be activated any more like MI can. The role of granuloma finishes when all BE in the
environment have been eliminated and all MI and MC are eliminated.
24
Figure 3.2 A class diagram showing the cells involved in the granuloma formation
presented as classes.
25
Figure 3.3 Activity diagram depicting the simplified order of events that result in the
granuloma
26
The steps and rules of interactions for granuloma formation can be summarized as:
1. Extracellular Bacteria (BE) interacts with Resting Macrophages (MR).
2. If MR is unable to phagocytose (ingestion of bacteria) BE, it becomes
infected (MI).
3. MI secrete small amount of chemokine and cytokines.
4. Intracellular bacteria (BI) proliferate inside MI.
5. If the number of BI reaches a certain level, MI becomes chronically infected
(MC).
6. MC cannot recover from the infection and will eventually die.
7. If BI proliferate enough, it kills the MC and releases BE to infect other MR.
8. Chemokine from MI attract MR to the infection site.
9. Cytokine from MI activate antigen-presenting cells (APCs).
10. APC engulf antigen from the bacteria and migrate to lymph node.
11. APC present the antigen to T-cells, TCs become activate.
12. Active TC follow the trace of chemokine secrete from MI and migrate to the
infection site.
13. TC and macrophages then form a granuloma.
14. Once at the infection site, TC secrete cytokine that activates MR and
chemokine that introduces apoptosis to MC to insure that BI are not released.
15. MR becomes active macrophage (MA) due to the cytokine from TC.
16. MA phagocytose BE, and stimulate MI by secreting large amounts of
cytokine and chemokine.
17. The granuloma finishes when all the BE are phagocytose, and all MC and MI
are either dead or become MA or MR.
27
For simulating granuloma formation using Agent based modeling technique, we
need a full understanding of the states of each major agent of granuloma, for example,
in the state diagram for macrophages Figure 3.4 and the state diagram for T-cells and
APCs (Figure 3.5 and 3.6).
Figure 3.4 State diagram for macrophages
In Figure 3.4, we can see the states macrophages go through during their
lifetime, from creation to death. At the creation, macrophages are in resting state by
default, once MR interact with BE it becomes infected MI and from there, it can be either
be stimulated by T-cells to become active or die. On the other hand, MR can become
active once they are at the infection site (engages) and stimulated by T-cell’s substances.
In the state diagram, q is the threshold for the macrophage age, when this age is reached,
the macrophage goes to apoptosis, a is the threshold for the number of inter-cellular
bacteria (BI) it takes to transfer infected macrophage to become chronically infected and
d is the level of cytokine to activate MI or MR.
28
Figure 3.5 State diagram for T-cells
On the other hand, T-cells go through different states as part of the granuloma
formation. As illustrated in Figure 3.5, T-cells start their life in the lymph nodes in the
naive state, similar the resting state in macrophages. After its interaction with APCs, T-
cells become active and able to secrete lager amounts of cytokine and chemokine. In
Figure 3.5, q is the threshold for the T-cell age, when this age is reached, the TC go to
apoptosis.
Very similar to T-cells’ state diagram, we can see the state diagram for APCs in Figure
3.6.
Figure 3.6 State diagram for Antigen Presenting Cells
29
3.4 AGENT BASED MODELING OF GRANULOMA For simulating the formation of granuloma, we use a programing language called
Net-Logo. NetLogo is a multi-agent-based programming language and integrated
modeling environment (Tisue & Wilensky, 2004 May; Tisue & Wilensky, 2004
October). For the purpose of this research, the agents extracted using the UML
diagrams are mapped in order to be implemented in the simulation on NetLogo
environment.
Table 3.1 The mapping of granuloma components from model to agents in ABM
simulation
Model Agents in Simulation Properties
MR Macrophage Agent - Age
- Killing capacity
- Secretion level
- speed
MI Macrophage Agent
MC Macrophage Agent
MA Macrophage Agent
TC T Cell Agent - Age and Secretion
BE Extracellular Bacteria - Age and Procreation
It is important to understand the agents involved in the simulation as well as the rules
that govern the interaction between these agents and the lifetime and states of each
agent. Table 3.1 shows the agents we mapped into our NetLogo simulation and some
of the attributes of each agent.
Due to some difficulties in determining the correct parameters for each agent,
and to simplify our simulation in a way that will not much affect the overall outcome
of the simulation; some assumptions are made in our simulation, we assume that:
1. APCs carry the antigen and present it to TC.
2. TC activation takes place in the lymph nodes.
30
3. Micro-compartment (single spot on the simulation arena) can hold: one
macrophage, one TC and some bacteria.
4. We assume that all compartments have a small trace of chemokine at the
beginning of the simulation.
5. A random age q is assigned to all agents, based on the life span found from
the literature for every agent. Agents die when they reach that age.
6. Bacteria will be placed at the center of the simulation.
7. MR moves randomly in the environment if they found no high traces of
chemokine.
8. If MR faces BE, it phagocytosis it.
9. If the number of BE is higher than the killing capacity of MR (NRK = 2), then
there is a probability of PKMR that MR can kill that BE s or get infected.
10. Once a macrophage is infected MI, it starts secreting chemokine, and BI will
start replicating.
11. Each infected macrophage has a capacity for the number of BI it can hold
KBI, if that number is reached, MI will burst.
12. If the number (a = KBI =2) of BI in MI is reached, MI becomes chronically
infected MC.
13. MC secretes chemokine until the number of BI reaches KBI, and then it dies.
14. When MC burst, it will release KBI new BE into the environment.
15. TC arrive at the infection site, and the level of chemokine reaches a specific
value.
16. All substances, chemokine and cytokine have decay and diffusion rates.
17. Once TCs are at the highest concentration of chemokine, they start secreting
cytokines.
31
18. When the level of cytokines reaches a specific value d, MR becomes active
MA.
19. MA can phagocytose bacteria better than other macrophages.
20. when the number of BE in the environment reaches 0, and all MI and MC
have died, the simulation stops.
A detailed description of the algorithms, and all the notations of the granuloma process
used in the programming of the simulation are shown and explained in Chapter 4, along
with the details of the agent based simulation.
32
CHAPTER FOUR
SIMULATING GRANULOMA FORMATION
In Chapter 3, we were able to identify the components of a granuloma formation, the
steps of the process of formation, the agents of granuloma as well as extracting the rules
of interaction between these agents, and the agents with environment. Based on the
diagrams presented in Section 3.3, and following the rules presented in Section 3.4, an
agent based modeling and simulation of granuloma formation is shown in the next
section, and the algorithms for each agent in the simulation are discussed after that.
4.1 ABM SIMULATION OF GRANULOMA FORMATION
After implementing the rules constructed from the UML diagram, and with clear
understanding of the agents involved, we were able to simulate the process of
granuloma formation using NetLogo. The results of the simulation are shown in Figures
4.1 - 4.8. In the simulation of GF using ABM, we mapped the modeling of the cells
interaction into agents represented with different colors. In the initialization of the
simulation, Figure 4.1, the simulation starts with MR (Green) moving randomly in the
environment with a number of BE (Red) at the center of the simulation with white
background, the MR movement at this point is random and fast. Algorithm 1 (Pg. 33)
happens in Figure 4.2, when MR interacts with BE and MR becomes infected MI
(Orange), when it cannot fight off the bacteria. MI starts to secrete chemokine and
cytokine (Red Background). For MI, Figure 4.3, Algorithm 2 (Pg. 34) takes place, where
MI becomes chronically infected MC (Brown) and the amount of substances secreted
becomes larger.
33
Figure 4.1 Initial environment set up for the simulation
The next stage of GF happens with more MR recruited to the infection site via a blood
vessel (Blue square), in Figure 4.4. MC goes through Algorithm 3 (Pg. 35), and either
can be killed by T-cells’ substances or burst by the large number of BI duplicating inside
of it.
Since our simulation focuses mainly on the environment where the infection and
the granuloma formation takes place, we did not simulate the activation of the T-cells
by APC, instead we assumed that the activation of the TC takes place in the lymph
nodes, and active T-cells arrive at the infection site after a certain time, Figure 4.5. The
recruitment of T-cells (blue) to the infection site follows Algorithm 5 (Pg. 36).
Once at the infection site, T-cells start secreting different types of chemokine
and cytokine that activate MR so they become active MA (White), Figure 4.6. MA have
the ability to kill bacteria in large numbers, and we can see clearly from Figure 4.7, the
number of BE is going down as MA phagocytose (ingestion of bacteria) more BE.
34
The simulation will stop when all BE and BI have been eliminated, Figure 4.8.
Throughout the simulation some algorithms that guide and govern the movements and
interactions of the agents are implemented in the simulation, such as the aging
algorithm, Algorithm 4 (Pg. 35), which determine the age of the agent and when they
die from natural aging. The algorithms and details of the simulation process are
explained in the next section.
Figure 4.2 MR (green) try to fight off BE (red with white background), but become
infected MI (orange)
35
Figure 4.3 MI Secrete substances and MI become chronically infected
Figure 4.4 MR are arriving at the infection site following the trace of chemokine
36
Figure 4.5 T-cells (blue) arrive at the infection site after being activated and followed
the traces of chemokine
Figure 4.6 T-cells activate
37
Figure 4.7 MA kills BE in large numbers
Figure 4.8 Granuloma ends when all BE and BI are eliminated
38
4.2 ABM SIMULATION ALGORITHMS
In Algorithm 1, NRK is the killing capability of the MR, and PK is the probability of
getting infected. When MR interacts with BE, if the number of BE is less or equals NRK,
then the BE is eliminated. Otherwise, if the number of BE is greater than NRK, there is
small probability (PK = 8.5 %) the MR can kill the BE, or becomes infected macrophage
MI.
As for Algorithm 2, bMI is the rate in which BI duplicate inside MI, CMI is the
amount of chemokine secreted by MI, and TM is the probability of MI being activated
by T-cells, while YN is the cytokine of MI ’s neighbors. The threshold for which MI
becomes chronically infected is a, and d is the amount of cytokine needed for the MI to
become active.
Algorithm 3 describes the rules for the chronically infected macrophage MC,
where KBI is the number of BI a macrophage can carry before it burst, PT k is the
probability of being killed by T-cell, bMC is the rate in which BI duplicate inside the MC,
and CMC is the amount of chemokine secreted by MC. While the number of BI is still
less than KBI and the level of cytokine of MC’s neighbors reached m, then there is small
probability of MC being killed by T-cell. In the case of T-cell killing, the number of BE
released into the environment will be half the number in case of MC bursting. Algorithm
4 simple shows the rule of aging for macrophages, where each macrophage in the
simulation is assigned a random age, and when that age in simulation is reached, the
macrophage is dead. Algorithm 5 shows the process of recruiting T-cells to the infection
site since the activation of the T-cells takes place in the lymph node. We assume that
active T-cells arrive at the infection site after TTime has passed and the sum of chemokine
level in the environment has reached a certain level w. Then there is probability of Trecr
= 22% that T-cells will find its way to the infection site.
39
Algorithm 1 Resting Macrophages
r = rand[1,100];
PK = 8.5 %;
NRK = 2;
Randomly move in the environment;
while BE ahead do
if BE <= NRK then
BE = BE −NRK ;
MR kills BE and remains in resting state ;
return MR;
else
if r > PK then
BE = BE–NRK;
MR = MI;
BI = NRK;
Resting macrophage become infected;
return MI;
end if
else
BE = BE–NRK;
MR kills BE and remains in resting state;
return MR;
end if
end while
Algorithm 2 Infected Macrophage
r = rand[1,100];
TM = 9%; probability of MI being activated by T-cell;
BI = BI + βMI;
C = C +CMI;
if BI < α then
YN = cytokine of neighbors ;
if YN > δ and r < TM then
BI = 0;
MI = MA;
return MA
end if
else
MI = MC ;
return MC
end if
40
Algorithm 3 Chronically Infected Macrophage
KBI = 2α = 20 ; carrying capacity of a macrophage;
YN = cytokine of neighbors;
r = rand[1,100];
PTK = 5%;
BI = BI +βMC;
C = C +CMC;
if BI < KBI and YN >= µ then
if r <= PTk then
BE = BI/2;
MC is Dead;
return macrophage is dead
else
return MC
end if
else
if BI >= KBI then
BE = BI;
MC is Dead;
end if
return macrophage is dead
end if
Algorithm 4 Aging
age = 0;
M= macrophage
Life time = random[1,100] days;
repeat
age++ ;
if age >= life time then
M is dead;
return M is dead
else
return M;
end if
until M dead
41
Algorithm 5 T-cell Recruitment
TTime = 10 to 15 day ; T-cells arrival time;
Trecr = 22 % ; probability of T-cell recruitment;
Csum: sum of chemokine level at the infection site;
r = rand [1,100] ;
if time >= TTime and Csum >= ω then
if r < Trecr then
S = rand [1,20];
return S new T-cells at the infection site
end if
end if
42
CHAPTER FIVE
GRANULOMA INSPIRED MECHANISM FOR ENERGY
CHARGING IN SWARM ROBOTICS
In this chapter, we will discuss the effect of energy loss on the performance of a swarm
system, and how it can affect its robustness and tolerance for partial failure, and the
need for a recharging mechanism that ensures the swarm’s ability to carry out the work
as a group. Then show and discuss the limitations of a common approach, which is the
use of power stations. In Chapter 4, we showed the process of granuloma formation,
and simulated the process using Agent-based simulation. Based on the model of
granuloma formation, we will introduce new members to the swarm, then explain the
mechanism for recharging robots in a swarm system, and the specifications of new
swarm members.
5.1 ENERGY CHARGING FOR SWARM ROBOTICS
In this section we will have a close look into swarm robotics, its application and the
effect of energy loss by simulating foraging and aggregation behavior in swarm robots;
and use this simulation to further clarify the energy problem and the need for a solution.
Then, using another simulation tool, we will look into the disadvantages and the
drawbacks of using power stations in order to attempt on solving this problem. For the
simulations of SR applications, we will use two tools; Simbad and Player/Stage. Simbad
is a 3D swarm robotic simulator that uses 3D java programming language and offers a
wide range of features for educational purposes (Hugues and Bredeche, 2006).
Player/Stage is a 2.5D swarm robotic simulator using C++ programming language
(Gerkey et al., 2003). Using Simbad simulator, foraging and aggregation algorithms for
43
swarm robotics are shown and explained in details, and the energy problem is
highlighted as the result of these simulations. Then, an energy charging mechanism
using power stations is simulated, shown and discussed. This mechanism allows a robot
to find a power station once its energy is low. The robot is going to find the nearest
power station to get the energy. It is applied in swarm foraging algorithm and simulated
using Player/Stage simulator.
5.1.1 Foraging Simulation
The foraging algorithm for Swarm Robotics was inspired by the foraging behavior of
ants. According to Hoff et al. (2010) and Lee and Ahn (2011), ants mark trails lead-ing
from the nest to food and back by depositing a chemical pheromone on the ground. Each
ant can both deposit and detect this chemical, and each ant uses the distribution of
pheromone in its immediate vicinity to decide where to move. When an ant is carrying
food, it lays pheromone as it searches for the nest, and other ants follow this trail out-
bound to the food. For our simulation of the foraging algorithm we did not apply any
kind of pheromone trail nor we simulated the behavior of forming a line from the food
source to the nest.
For this simulation we sent the robots into an environment with per-specified
shape, size and number of food items, in search of food. In case of an encounter with
food, the robot will pick it and move toward the nest. For the implementation of this
algorithm, we used the central control method where robots do not communicate with
each other directly, but they report a statistical statue to the control central where the
decision is made about were the robots move of should they pick up food or drop it. Our
algorithm is shown in Algorithm 6 (Pg. 39). The algorithm we used reflects the basics
of the foraging task, where robots allocate the nest, then move in the environment and
pick up food, then move to the nest where they drop it. No energy preserving or
44
balancing mechanisms are used to control the energy usage by the robots. Each robot
also implements an avoidance algorithm that allows the robot to move in the
environment while avoiding obstacles and other robots. The snapshots of the simulation
on foraging algorithm are shown in Figures 5.1 and 5.2.
Algorithm 6 Basic foraging algorithm for swarm robots
Create a group of i robots
Randomly place the robots
Randomly move in the environment
Get the nest’s location
repeat
if food is detected then
pick up the food
move to the nest
if AtTheNest then
drop the food
end if
else
randomly move in the environment
end if
until Task completion
From Figure 5.1, we can see that the environment is initialized to have 40 food
items (red color), and 7 E-puck robots randomly placed in the environment. When the
simulation starts, the robots will start moving in the environment with random velocity
until they encounter food, which they pick up. When a robot picks up food, it moves
toward the nest where it drops it, Figure 5.2, and go on again to move in the world and
pick up more food. As the robots start collecting food, one robot experiences an
energy shortage, and it is in need of recharge, the robot is pointed out in Figure 5.3.
Now the swarm is working with 6 robots instead of 7, after one robot cannot take part
in collecting food as seen from Figure 5.4.
45
With robots working in a finite environment where they move randomly and
pick up food, and with the absence of a method for nearest path or shortest path to the
nest, it is safe to assume that the more robots we add to the environment, the faster the
task will be done. Finishing the task here means that all 40 food items are picked up
from the environment. Table 1 shows the time, and average number of trips of running
the same simulation with different number of robots.
Figure 5.3 One robot stopped moving due
to low energy
Figure 5.4 6 robots continue the task
of collecting food
Figure 5.1 Initialization of the simulation
with 7 robots (green) and 40 food items
Figure 5.2 Robots collecting food and
dropping it in the nest
46
Table 5.1 Time and round trips for running the foraging simulation with different
number of robots
Number of
robots
Number of food
items
Average trips per-
robot
Task time(in
seconds)
7 40 5.71 435
5 40 8 559
3 40 13.33 782
For 7 robots to pick up one food item every time and go to the nest to drop it,
and assuming that all robots make the same number of trips from and into the nest to
pick up and drop food, we will have an average of 40/7 = 5.7 trips from and into the
nest for each robot, and 435 seconds to finish the task. These numbers will increase to
8 round trips in case of 5 functioning robots while 2 failed due to low energy, and a
simulation time of 559 seconds. Although the system is robust in the way that the task
will eventually be completed, but it can be done more efficiently and faster with all
members of the swarm properly operating with sufficient level of energy. A higher
average trips for every robot to make to the nest means more energy will be consumed,
and it also means that the time taken to finish the task will dramatically increase with
less functioning members of the swarm.
The foraging algorithm highlights one of the most important features of the
swarm robotics that makes it so appealing, which is robustness and fault tolerance. In
other words, having a group of small robots perform such a task is more efficient than
having one big robot do the same task since if one of the swarm robots was to break
down or not be able to continue the task, the other robots will carry on and make sure
the task is done. However, the question that must be asked is to what degree are swarm
robotics fault tolerant? And can they still perform a task and keep the main aim of doing
it as a swarm? In the foraging task, we see that partial failure can affect the overall
performance, but at the end, the task will be done. But is that the case for all swarm
47
robotics applications? In other words, how much the swarm behavior will be affected if
some of the robots are unable to perform the task and how this reflects on the total
behavior of the group. These questions will be answered by examining the aggregation
behavior of swarm robotics in the next simulation.
5.1.2 Aggregation Simulation
This task is normally referring to gather a group of randomly scattered robots in the
environment and forms robot clusters. According to Ismail (2011) aggregation of a
swarm requires that robots in the systems to have a physical coherence when performing
a task. Robots are randomly placed in an environment and are required to interact with
each other. Bjerknes and Winfield (2010) developed a class of aggregation algorithm,
which makes use of local wireless connectivity information alone to achieve swarm
aggregation, and Ismail (2011) takes a detailed look into some of the swarm aggregation
algorithms, which also called as the ‘swarm beacon taxis algorithms’.
Ismail (2011) further explained that in swarm beacon taxis algorithms, in order
for the robots to reach a beacon, the swarm moves together (taxis) towards an IR
(Infrared) beacon. Only the robots who have direct line to the IR beacon are attracted
to the beacon and illuminate a beacon sensor. An emergent property of this setup is
swarm taxis towards the beacon. This is shown in Figure 5.5, where a group of robots
have to stay together and at the same time move toward a beacon, which typically be a
light source. However, the robots do not individually have the necessary sensing
capability to determine the heading toward the beacon. The robots must cooperate to
achieve movement in the right direction.
48
Figure 5.5 The setup of swarm beacon taxis. A swarm of robots (left) with limited
sensors must move to a beacon (red circle) (Ismail, 2011)
In order to understand and study the aggregation behavior of SR, we have
developed an algorithm inspired by the study done by Ismail (2011). Our algorithm
focuses on creating an aggregation collective behavior for the robots by randomly
placing a group of 10 robots in an environment and they are required to interact with
each other via a centralized control approach. In our algorithm, the robots do not directly
communicate with each other but rather send information about their location, energy
level, direction and obstacles in their way to a centralized controller that evaluates the
gathered data and make decisions that are applied to the swarm as a group. The pseudo-
code for our aggregation algorithm is described in Algorithm 7 (Pg. 43).
For our algorithm we randomly placed 10 robots in an environment, for the
initial behavior the robots will start moving randomly in the place, when each robot
detects the light, it will set its rotational direction towards the light. The centralized
control will continuously receive data from the robots about their location, direction,
reading from the sonars, sensors reading and energy level for each robot. In order to
achieve aggregation behavior in moving, the robots will have to reach the light as a
group, and any problem that might lead to some of the robots not achieving this goal
will affect the overall performance of the swarm. In order to examine our algorithm and
the effect of energy loss on the swarm, we run a series of simulations, and snapshots of
each simulation are shown in the Figures 5.6 and 5.7.
49
Algorithm 7 Aggregation algorithm moving toward the light
Create a group of i robots
Randomly place the robots
Randomly move in the environment
j the number of robots with law energy
i = 10 and j = 0
repeat
if j < 3 then
for all i do
if energy > 10% then
Get light location
Move toward the light
return energy;
else
Stop Moving
Blinking Light = true;
j ++;
end if
end for
else
Stop Moving
end if
until Task completion
Figure 5.6 Snapshots of the aggregation simulation using Simbad
50
Figure 5.7 Snapshots of the aggregation simulation with two robots with low energy
Initial behavior. For the first simulation shown in Figure 5.6, We give each of the ten
robots a full level of energy that ensures they can perform the full task and have enough
power to support all of its tasks such as sensors, sonars and others. From the figure we
can see the beginning of the simulation were the robots are placed randomly in the
environment, the initial behavior of the robots is to find the light source and start moving
towards it. As we can see the robots move as a group to reach the light and no problems
occurred.
The effect of some faulty robots. In the second simulation shown in Figure 5.7, we
initialize the energy level for two of the robots to be lower than others. More
specifically, a low energy that is not enough to perform the task of reaching the light
source. The simulation started, and the robots located the light source then started to
move towards it, but we can see that two of the robots stopped moving due to low
energy. Meanwhile, the other robots with enough energy keep on moving towards the
light and achieving the goal of the simulation.
51
Although we have seen from the foraging behavior in Section 5.1.1, that the
swarm is able to recover from partial failure and finish the task; the aggregation
behavior in Section 5.1.2 raises the question about the robustness and fault tolerance of
swarm robots. If the goal of the aggregation or flocking algorithm is that all members
of the swarm reach the light or the target point as a group; can we say that the task has
been completed when some members of the swarm are unable to finish the task and
reach the light due to low energy, as seen in Figure 5.7?
From the foraging and aggregation simulations, we can see the need for an energy
charging mechanism that allows members of the swarm to recharge and join the swarm
in order to achieve full completions of the task as efficient as possible. One of the most
common approaches to solving the energy problem in swarm robots is the use of power
stations, or power banks and charging stations as they are also referred to.
5.1.3 Energy Charging Using Power Stations
The common commercial swarm robots available on the market today, such as E-puck,
require manual recharge, where the battery is removed from the robot and plugged into
a charger, as seen from Figure 5.8.
Figure 5.8 E-puck battery chargers that require manual handling
Then came an alternative to manual recharging which is the use of power station, or
52
automatic chargers where the battery does not need to be removed, but the robot can
attach itself to the charger and charge itself, as seen Figure 5.9.
A robot in a swarm will get inactive when its energy is depleted, and the whole
swarm will be affected by the loss of its members due to low energy as we have dis-
cussed earlier in Sections 5.1.1 and 5.1.2. Thus, swarm robots have to manage their
energy in an intelligent manner in order to complete their mission (Dorigo et al., 2006).
Figure 5.9 E-puck automatic battery chargers into which the robot can automatically
attach
Using Player/Stage simulator, we set up a simulation where robots have to
search for food in the environment and charge themselves in case of low energy by
finding the nearest power station. Twelve robots work in an 8m x 8m square-shaped
arena. Unlike the previous simulation in Section 5.1.1, food in this simulation is
gathered in one area indicated with a yellow color, while the nest is indicated with a red
color. The arena used in this simulation has some barriers placed in the arena to simulate
obstacle avoidance by the robots and it can be seen in Figure 5.10.
Operation: Behaviors of the robots in this simulation are:
Work: where the robots do their foraging work. This work includes moving to
food source, grabbing the food, moving to the nest and deposit the food.
53
Obstacle Avoid: Robot avoid obstacles, walls and other robots whenever their
proximity sensors triggered.
Dock (charging): Robots come to the power stations and set their positions to
charge. The algorithm for charging using power stations is shown in Algorithm
8. After a group of robots is created in the arena, robots will do their work of
finding food and bring it to the nest. If a robot is hungry, i.e. has low energy, it
will look for the closest power station to recharge. Once the nearest power
station is found, the robot will move towards it and set the mode to “Dock” in
order to start charging from the power station. As soon as it is fully charged, the
robot will change the mode to “Undock” to release itself from the power station,
then continue the foraging work.
Undock: Once they are fully charged, robots leave the power stations and
do their work.
Algorithm 8 Algorithm for charging using power station
Create a group of i robots
Randomly place the robots in the arena
Repeat
move food from the food area to the
nest
if hungry then
look for the nearest power station
if power station is found then
set mode to Dock
start charging
if energy if FULL then
Set mode to undock
end if
end if
end if
until task completion
54
5.1.4 Foraging with Power Stations
In each time step of the simulation, the robots will consume energy differently. When
the energy is low, the robots are going to find the closest power stations to recharge, as
shown in Algorithm 8. Recharge behavior should be stimulated when a robot is close
enough to a charging station and its state dictates that it needs to recharge. The behavior
should begin with the robot moving towards the charging station and attempting to
dock, if the robot fails to dock, the attempt should end. If the robot successfully docks,
charging should continue until the robot is fully charged.
An environment with foraging robots is shown in Figure 5.10, where robots,
power stations, nest (red) and food (yellow) can be seen as well as obstacles and other
details of the arena. The energy level of each robot is showing in on top of each robot.
In Figure 5.11, robots start to charge using charging stations. Each robot, with low
energy, starts looking for the nearest power bank, and set the mode to Dock, in order to
start charging. Once the robot charges to a full level, it’ll set the mode to unDock, and
continue performing the task of moving food from the food area to the nest, while others
are charging, as seen in Figure 5.12.
55
Figure 5.10 Arena with foraging robots with their energy level shown, moving in
environment where power stations are deployed (green)
Figure 5.11 Foraging robots with low energy start using power stations to recharge
56
Figure 5.12 Foraging robots carrying food to the nest after charging is done
5.1.5 Limitations and Drawbacks of Power Stations
In this mechanism, power stations are used as sources of power for low energy robots
to charge. This approach while seems sufficient to solve the low energy problem in a
swarm system, it has limitations and shortcomings. Placing power stations in the
environment where the swarm is performing their task may not be possible in every
case, and it requires additional setup for the environment. Hence, it may limit the
potentials of the system to be as suitable, to solve a problem or solve a task, as the setup
conditions allow. In addition, it requires each robot in the swarm to have a sufficient
knowledge of the environment and its setup, which contradict some applications of
swarm robots such as mapping and scalability. Providing the swarm with details of the
environment in order to know where the power stations are located, means that mapping
in swarm robotic systems is no longer a task or an application, but a necessity for the
system to know. It also means that scalability, a desirable attribute of swarm robotic
57
systems, is going to be limited. Scalability is the ability to expand a self-organized
mechanism to support larger or smaller numbers of individuals without affecting the
performance considerably (Bjerknes and Winfield, 2010). It also means that the
environment, which the swarm system can cover, is no longer scalable as the space now
relies on the location of the power stations and the pre-mapping of the power stations’
locations. A major issue is also the availability of enough power stations for the swarm
members, and the need for queues in case of multiple robots are using the same station.
Also, it means that the robot must be programmed to have sufficient energy level that
allows it to get to the power stations, stand in queue, and dock at the station to recharge;
a task that will end unsuccessfully if the estimation of the needed energy level was
wrong, resulting in a loss of a swarm member, even though power stations are nearby.
Another observation from the use of power stations for each robot to find and recharge
itself is that it borders on being an individual behavior rather that a swarm behavior.
Having each robot finding its nearest power station, recharge itself, then go on
performing the task with other members of the swarm, can be seen as an individually
driven and oriented behavior, compared to other approaches such as the energy sharing
algorithm proposed by Ismail (2011) and discussed earlier in Subsection 2.2.3.
The limitations of using power stations can be summarized in the following points:
1. placing power stations at the environment means an additional setup is
needed.
2. sufficient knowledge of the environmental setup by the robots is needed,
other-wise, more energy will be lost looking for power stations.
3. mapping of the environment in swarm robots will become a necessity, not
an application.
4. scalability will be limited to the environmental setup, and the locations of
58
the power stations.
5. the availability of enough power stations, and the need for queuing
mechanisms to organize robots at the power stations.
6. the wrong estimation of the needed energy level for the robot to find the
power station can result in the loss of a swarm member.
7. using power stations is closer to being an individually driven behavior,
rather than a swarm behavior.
To overcome these limitations, we proposed an energy charging mechanism which is
explained and discussed next.
5.2 MAPPING THE MODEL OF GRANULOMA FORMATION
In order to develop a mechanism for efficient energy charging of swarm robots, which
also preserves the characteristics of a swarm, i.e., collaborating and coordinating to
perform tasks as a group, we looked into the collaboration among immune cells in
granuloma formation to fight unknown antigen and infections. At an abstract level, we
are trying to come up with a swarm that is able to heal and recharge its members in the
same way immune system does. Based on the modeling of granuloma formation
discussed in Chapter 4, a mapping on the cells involved in the formation and swarm
robots is shown in Table 5.2.
Based on the modeling of granuloma formation, and using the mapping
presented in Table 5.2, a potential mechanism for energy charging in swarm robotic
systems is proposed.
Using Charger-Robots in this case, the T-cells from granuloma formation help
introducing” Charger-robots”. Charger-robots are part of the swarm but they do not take
part in the task the other robots are performing; and their main tasks are: a) to standby
and reside at a power station, b) to identify the location of the robot(s) with low energy
59
and c) to recharge the robot(s) with low energy. In this case, shown as a state chart in
Figure 5.13, if a swarm of robots is assigned to do a task in a specific environment, such
as foraging or aggregation, the charger-robots will be in a standby mode at the nearest
power stations located. When one or more of the swarm robots suffer from low energy,
it will send a signal of help. Charger-robots will pick up this signal, and move toward
the robots requiring recharge. Once a charger-robot responds to a recharge request, and
once it has recharged the robot that requested a recharge, the charger-robot will remain
in a standby mode in the arena waiting for another request, until its battery level is low,
in which case it will return to the power station, and another charger-robot will take its
place responding to recharge requests.
Table 5.2 Mapping granuloma agents to a swarm robotic members
Components
of Granuloma
Swarm robotic
systems Processes in swarm robotic systems
Macrophages Robots
performing a task
Members of the swarm performing a given
task such as foraging are similar to
macrophages moving the blood circulation.
If a robot experiences low energy level, its
situation is analogous to the infected
macrophages that send out distress signals.
Lymph nodes Power stations
Similar to the lymph nodes in the immune
system where T-cells reside, the power
station will have charger-robots.
T-cell Charger-robots
charger-robots, unlike other members of the
swarm, are unable to participate in
performing the task. Once a charger-robot
receives a help signal, it will move to the
target location and recharges the robots in
need of energy.
APC Drone (Flying
Robot)
Like APCs in the immune systems, flying
drones can be an add-on to the swarm, that
can be used in specific cases of large areas
to guide charger-robots to a target locations.
Cytokine and
chemokine Signals
Various signals such as wireless and light
signals play the role of guiding and
activating the robots for each step of the
process.
60
Figure 5.13 State chart of the use of Recharging-robots in a swarm system
In this way, the charger-robot will preserve energy by limiting the number of
trips it has to make from and into the power station. A minor potential drawback for this
method is the difficulty for charger-robots to find and allocate the target location where
robots in need of recharging are located. The charger-robot, due to its small size
compared to a large environment, may not be able to successfully locate the source of
signal or find the shortest path to reach the target location. Therefore, a possible add-on
to this mechanism can be a drone or a flying robot that has better view of the
environment, and it plays the role of APCs in activating and guiding T-cells in the
61
immune system. In this case, the Antigen Presenting Cells (APC) role is implemented.
The main role of APC in granuloma is to activate T-cells, which will move to the
infection site upon activation. At the infection site, T-cells will help to activate the
macrophages, which make macrophages more capable of killing antigens. To simulate
the role of APC, the introduction of a special targeted communication between flying
robots and mobile robots is needed. In this scenario, shown in Figure 5.14, when a robot
experiences low energy while carrying out the task, it will send a help request. The
flying robot will pick up this signal and move to locate the robot requesting help and
get its coordinates. The flying robot then maps the shortest path between charger-robots
at the station and the robot with low energy. Then the charger-robot will be guided to
the target location with the help of the flying robot.
However, the use of a flying robot or a drone, is a suggested as an add-on to the
main mechanism of using charger-robots, and can have its own set of advantages and
disadvantages. For our mechanism, we will further discuss the use of charger-robots
alone with no drone, and keep the use of flying robots as a suggested addition to the
mechanism for possible future development.
62
Figure 5.14 State chart of Flying robot as an add-on to guide Recharger-robots in a
swarm system
5.3 PROPOSED MECHANISM AND AGENTS SPECIFICATIONS
In order to further understand the proposed mechanism, we need to look into the details
of the operations taking place to recharge a member of the swarm, and the agents
involved in the process. Considering a foraging task, where the environment is divided
into three distinguished parts: (1) a nest where the robots drop food, (2) a field with
food to be collected by the foraging robots and (3) a charging station area where
recharging robots will reside. For the foraging robot, in case energy reaches a critical
level, and robot is in need of a recharge, the robots have to simply stop working in order
to pre-serve the energy level they have, set their beacon or LED color to red to make it
63
easier for a charger-robot to find it and emit a help signal that can be picked and
transmitted by other members of the swarm, until the charger-robot receives it. The
request for help algorithm is shown in Algorithm 9. Once the charger-robot receives the
help signal, it will send back an acknowledgment signal that will be transmitted by
swarm members until it reaches the robot asking for help, where it stops sending the
signal, and preserve energy.
Algorithm 9 Robot request for recharge
if energy level is low then
stop moving
while no acknowledgment from charge-robot has been received do
set beacon or LED color to red
send a help signal
end while
end if
The message from the robot requesting recharge simply contains an ID and
battery level, while the feedback or acknowledgment from the robot contains the
sender’s ID, and the charger-robot ID. The robot asking for recharge send their ID, so
charger-robots can know and distinguish the number of robots requesting recharge. And
similarly, the response message contains the ID of the robot requesting help along with
the ID of the robot responding to it, in order to organize the ask-and-response process.
On the other end of the operation, charger-robots are at a standby mode at all time, while
they are docking at the power stations. Once a signal has been transmitted through the
swarm, and it reaches a charger-robot, an acknowledgment signal will be sent in
response, then the charger-robot will start navigating the environment in search for the
robot with the red LED, indicating the need for recharge. When the charger-robot
arrives at the robot with the red beacon, it will set the mode to recharging, where it will
introduce itself, by sending a message containing its ID, and the ID of the robot that it
64
has received the request from. When a connection is established, the robot with low
energy will dock at the charger-robot and start charging. Once charging is finished, the
robot will set the mode to Undock, and detaches itself from the charger-robot, then the
robot goes back to doing its tasks, while charger-robot will be in a standby mode waiting
for the next request, as long as it has enough power to charge another robot. The
algorithm for the recharger-robot is shown in Algorithm 10.
Algorithm 10 Charger robot response to a recharge request
Dock at the power station
standby for recharge requests
if help signal is received then
send an acknowledgment
set the mode to UnDock
while in unDock mode do
navigate the environment in search for a red LED
if at the target location then
set the mode to recharge
if connection is established then
start recharge
else navigate the environment in search for a red LED
end if
end if if recharge complete then
if Energy level is enough to recharge at least one robot then
standby for recharge requests
else go back to the power station and Dock
end if
end if
end while
end if
The role of the flying robot as a guiding add-on takes the role of APCs in granuloma
formation. APCs engulf the antigen from the infection site in granuloma, then move to
the lymph nodes to activate the T-cells. In the case of swarm system, when a robot is in
need of recharge, particularly in a large environment where navigation and allocation
65
can take time and energy, flying robots will receive the help signal, then using their
ability to navigate large areas easily, they allocate the robot in need of recharge, the
move to the power station where they connect with a charger-robot and guide it to the
location of the robot requesting a recharge. This scenario is more complex than the first
approach, but it also ensures to save energy by reducing the time needed from
navigation of environment, and the ability to allocate objects to make better use of
energy consumption and time efficiency. The algorithm for the role of the flying robot
in recharging swarm robots is shown in Algorithm 11.
In the next chapter, the simulation and results of the proposed mechanism are
presented and compared with other mechanisms.
66
Algorithm 11 Flying robot response to a recharge request
standby for recharge requests
if help signal is received then
send an acknowledgment
set the mode to navigate
while in navigation mode do
navigate the environment in search for a red LED
if at the target location then
set the mode to connect
if connection is established then
save target’s coordinates
else
navigate the environment in search for a red LED
end if
end if
if coordinates are saved then
move to the power station
connect to a charger-robot
guide the charger-robot to the location of the target
if charge-robot is at the target location then
allocation and guiding task is done
go to a standby state
end if
end if
end while
end if
67
CHAPTER SIX
SIMULATION AND RESULTS
In this chapter we will be simulating the proposed mechanism involving mobile robots,
and compare its performance with a simulation of a swarm with no charging, and a
swarm with contact-less charging in specified recharging area. However, we will not be
simulating the suggested role of flying robots as a guiding add-on to charger-robot, and
leave it as a possible future development and improvement on the mechanism.
In order to evaluate the performance of the proposed mechanism, the data from
three simulations on different setups, using NetLogo simulator, are collected and
compared. Ten foraging robots will attempt to collect and drop 25 food items into a
nest, first with no recharging, second with contact-less charging and third with our
mechanism. The data to be collected and compared are the simulation time, number of
food items collected, the number of active robots at the end of the simulation and the
final aggregate energy level of the swarm.
6.1 NO CHARGE SIMULATION
To run this simulation, the environment is initialized to to have 10 foraging robots, 25
food items to be collected and dropped into the nest by foraging robots. The full battery
capacity for each robots is 5000, where the robot uses 1 unit of energy for each step and
10 energy units for picking and dropping each food item. However, not every robot has
initial energy level of 5000, but a random energy level. The simulation will stop when
either all the food items have been picked, or all the swarm members run out of energy.
Snapshots of the simulation are shown in the Figures 6.1 - 6.5. In Figure 6.1 we see the
68
environment setup with foraging robots with their energy level, food and nest area
(color yellow).
Figure 6.1 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed
The simulation starts with robots moving randomly in the environment looking
for food. Every active robot has its LED set to green, and once food has been
encountered, the robot sets its color LED color to yellow then move to the nest to drop
the food. On the other hand, when a robot reaches a low energy level, it sets its LED
color to red. Since there is no recharging mechanism applied here, the robot runs out of
energy and stops collecting food, or even move in the environment, as seen in Figures
6.2 - 6.5.
69
Figure 6.2 One robot (yellow LED) is moving to the nest to drop food while another
robot (red LED) stopped moving after it ran out of energy
Figure 6.3 More robots have stopped as they run out of energy, and the food collection
is going slower as less members are active now
70
Figure 6.4 Only two members of the swarm are active and working
In order to evaluate the performance of this simulation, the data from 5 attempts
on the same environment are collected and measured as shown in Table 6.1. From the
table we can see that with no recharge mechanism, the swarm runs out of energy and
will not be able to finish the task as between 5 to 11 food items are not collected. The
simulation time is almost the same in all 5 attempts, ranging from 4510 to 4540 time
steps, and all 10 robots are not active due to empty batteries.
71
Figure 6.5 The simulation stopped as all members of the swarm have no more energy
to continue the task, and some food items have not been collected
Table 6.1 Data collected from running the foraging simulation 5 times with no
recharging mechanism
Simulation Simulation
Time
Food
Collected
Active
Robots
Aggregate
Energy
1 4540 19 0 0
2 4540 20 0 0
3 4510 14 0 0
4 4530 16 0 0
5 4520 17 0 0
72
6.2 CONTACT-LESS CHARGING AREA SIMULATION
In this simulation, the contact-less charging mechanism explained earlier in Subsection
5.1.3 is implemented on the swarm. In this case, the environment is divided into nest
area, recharge area and foraging area where the food is, and initialized to have 10
foraging robots, 25 food items to be collected and dropped into the nest. The full energy
specifications and level for each robot is similar to the previous simulation in Section
6.1. Snapshots of the simulation are shown in Figures 6.6 - 6.11. In Figure 6.6 we see
the environment setup with foraging robots with their energy level, food, nest area
(yellow color) and charging area (blue color).
Figure 6.6 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed
As the simulation progresses, robots that pick up food (yellow LED) move to the nest
to drop the food, while robots with low energy (red LED) try to reach the charging
before the battery is completely empty, (Figures 6.7, 6.8 and 6.9).
73
Once a robot has fully charged its battery, it sets its LED color back to green,
and move out of the recharging area, and join the swarm in collecting food as seen in
Figure 6.10, until all food items have been collected, (Figure 6.11).
Figure 6.7 A robot is moving to the nest to drop food, while another is trying to reach
the charging area
74
Figure 6.8 One robot with 0 energy did not make it to the charging area, while another
robot is already recharging its battery
Figure 6.9 More robots with low energy are recharging, and active robots are
continuing the foraging task
75
Figure 6.10 Fully charged robot sets its LED to green, and join the swarm, while other
robots are still recharging
Figure 6.11 The simulation stops as all food items have been collected
76
In order to evaluate the performance of this simulation, the data from 5 attempts
on the same environment are collected and measured as shown in Table 6.2. From the
table and the line chart it can be seen that with a recharge mechanism, the swarm will
be able to collect all food items, but at different speed and with different energy level.
The effect of losing members of the swarm can be seen from the table. When 3 members
of the swarm ran out of energy and could not make it to the charging area for a recharge,
the other 7 robots needed more time to finish the task, and the aggregate energy of the
swarm was low. On the other hand, when all members of the swarm where able to
recharge and collect food, the simulation ended shortly, and the aggregate energy level
of the swarm was very high. The simulation time is not the same in all 5 attempts,
ranging from 5934 to 8012, depending on the number of active robots.
Table 6.2 Data collected from running the foraging simulation 5 times with charging
area
Simulation Simulation
Time
Food
Collected
Active
Robots
Aggregate
Energy
1 6143 25 9 19082
2 5934 25 10 25765
3 6992 25 9 17141
4 7399 25 8 17123
5 8012 25 7 14681
77
6.3 IMMUNE INSPIRED ENERGY CHARGING SIMULATION
This simulation is implemented on the same swarm of 10 foraging robots to collect 25
food items, and using our proposed charging mechanism. In this case, the environment
is divided into nest area where foraging robots will drop the food, recharge area where
recharger-robots are residing and wait for a recharge request and foraging area where
the food is located. Each foraging robot has a battery capacity of maximum 5000, and
assigned a random value of its level of energy at the start of the simulation. On the other
hand, Charger-robots have a maximum battery capacity of 40000, meaning that each
charger can fully recharge up to 8 robots. Snapshots of the simulation are shown in the
Figures 6.12 - 6.16. In Figure 6.12 we see the environment setup with foraging robots
with their energy level, food, nest area (yellow color) and charging area (blue color)
where charger-robots are residing.
The simulation starts and the foraging robots move randomly in the environment
searching for food. Once food has been encountered, the foraging robot sets its LED
color to yellow, and move to the nest to drop the food. When a foraging robot reaches
a low energy level, it stops moving and set its LED color to red. At this point, a help
signal will be issued, and a charger-robot at the charging area (blue color), we receive
the signal and move to find the robot with red LED as it can be seen from Figure 6.13.
Once the charger-robot reaches the robot asking for recharge, the recharge process
starts. The charger-robot will set its status to Dock, and the robot with low energy will
set its status to Charging.
78
Figure 6.12 Initializing the environment with 10 robots and 25 food items to be
collected. Energy level for each robot is showed
As long as the charger-robot has its status set on Dock, and the robot in need of
recharge is set on charging, any request from another robot for recharge will be held
until the current recharge is completed. Once the recharge is completed, the charger-
robot sets its status to UnDock, and now can move to recharge another robot
requesting help as seen in Figure 6.14.
79
Figure 6.13 A robot moving to the nest to drop food, while another is trying to reach
the charging area
80
At this point, when a charger-robot is dispatched out of the charging area (blue
color), and as long as it has enough battery level to fully recharge a forager robot, it
remains in the environment waiting for another request for recharge. This ensures to
save its energy by not traveling back and forth between the charging area and the for-
aging area every time a recharging request is received. It can be seen from Figure 6.15,
when the charger-robot receives a recharge request, and it does not have the sufficient
energy level to carry out this task, it will move back to the charging area, and another
recharging robot will take the request of recharge, and move towards the robot with red
LED to recharge it. In Figure 6.16, it can be seen that the simulation has stopped when
all food items have been collected and dropped into the nest.
The data from 5 attempts on the same environment are collected and measured,
and the results are presented in Table 6.2. From the table and the line chart it can be
seen that with a charger-robots’ mechanism in place, all 10 foraging robots were active
at all time during the simulation, and that all 25 food items have been collected. Having
all 10 active forging robots is reflected in the simulation time and aggregate energy level
of the swarm. It can be seen that the time it took to collect food items with 10 active
and charged robots fluctuated between nearly 4300 and 6300, while the aggregate
energy level above 25000 for 3 out of 5 attempts. Taking into consideration that a full
battery level for each of the 10 robots is 5000; by the time the simulation was over, an
average of 50 % of the battery level for each robot was still available, and able to
continue to carry out another task.
81
Figure 6.14 Fully charged robot will set its LED to green, and join the swarm, while
other robots are still recharging
82
Figure 6.15 The simulation stopped as all food items had been collected
Table 6.3 Data collected from running the foraging simulation 5 times with charger-
robots. Charger-robots’ energy is not calculated in the aggregate energy.
Simulation Simulation
Time
Food
Collected
Active
Robots
Aggregate Energy
(charger-robots not
included)
1 6253 25 10 24281
2 4337 25 10 28484
3 5992 25 10 23403
4 5017 25 10 26390
5 4335 25 10 25595
83
6.4 ROBUSTNESS ANALYSIS
Initially, for each mechanism or setup, we run each simulation 5 times for the foraging
robots to attempt to gather all food items with speed, efficiency and energy observation.
The data from each attempt for each simulation was collected; focusing on the number
of active robots, aggregate energy level of the swarm and simulation time. Although the
initial setup of each environment and simulation are the same, there are some
differences. In all scenarios and attempts, the number of foraging robots, food items and
initial energy level of the swarm are the same. However, an obvious difference between
the simulations is the recharging mechanism used. While the first simulation did not
have any recharging mechanism, the second one was an implementation of contact-less
charging where robots in need of recharge had to find their way to a designated
recharging area, and the third simulation was an implementation of our proposed
mechanism using charger-robots inspired by T-cell in Granuloma Formation. In
obtaining this data from running each simulation 5 times, we compared the performance
of the foraging robots using the Vargha-Delaney A test (Vargha and Delaney, 2000).
The setup of each of the three simulations shown and discussed earlier in the
Sub-sections 6.1 and 6.2, dictates that the simulation keeps running until either all food
items have been collected and dropped into the nest, or the aggregate energy level of
the swarm is zero. The case of the first simulation in Subsection 6.1 shows that the
absence of a charging mechanism meant the simulation had to stop when the energy
level of each robot reached zero, and not all food items had been collected. On the other
hand, for the simulation of using a charging area for robots, shown in Subsection 6.2,
and the simulation of using charge-robot, shown in Subsection 6.3; the simulation
stopped when all food items were collected. However, for the second simulation, not all
84
robots were active and taking part in foraging. A comparison of the results and the
performance of the three simulations is summarized in line charts shown in Figure 6.17
and Figure 6.18. The line chart in Figure 6.17 illustrates the relation between the number
of active robots and simulation time from the simulations with charging mechanisms
implemented.
Figure 6.16 Line chart comparing the number of active robots and the time needed to
collect all food items collected from simulations using charging area (left), and
charger-robots (right)
From the line chart in Figure 6.17, where the number of active robots (orange)
and simulation time (blue) are presented, we can see from Table 6.4 that using a
charging area as a platform where robots with low energy can Dock into and recharge
had a higher mean simulation time of 6896 compared to a mean of 5186 from the
simulation where charger-robots were used. Using a designated area for robots to
recharge has the same problem of using power station discussed earlier in Section 5.1.3.
Using a charging area resulted in some robots not being able to make the journey to the
charge area, and running out of power before being able to recharge, hereby causing the
swarm to lose some of its members. The result of losing some swarm member can be
85
seen from the line chart, where 10 active robots needed a simulation time of nearly 6000
to finish the foraging task, while 7 active robots needed a simulation time above 8000.
On the other hand, having a robot in need of recharge in a standby mode waiting for the
charger to come to it, resulted in a fully active swarm throughout the simulation, and
less simulation time than the previous mechanism. Leading to a conclusion that the
more active robots a swarm has, the faster the simulation finishes.
Table 6.4 Data collected from running the foraging simulation 5 times with no charge,
using charging area and the use of charge-robots
Simulation No
Charging
Charging
Area
Charger-
Robots
Avg. Active Robots 0 8.6 10
Avg. Simulation Time 4528 6896 5186.8
Avg. Aggregate Energy 0 18758.4 25630.6
Figure 6.17 Line chart comparing the simulation time and aggregate energy of the
swarm collected from 5 simulations using 3 different mechanisms, No charging (left),
using charging area (middle) and using charge robots (right)
For the line chart in Figure 6.18, simulation time (blue) and aggregate energy of
the swarm (orange) from all three simulations are presented. To the left of the line chart,
86
the results from the simulation with no charging mechanism in place shows that all 5
attempts took almost the same time for all robots to run out of energy. In other words,
with no charging, it takes all 10 robots an average simulation time of nearly 4530 to
stop moving and not being able to finish the foraging task due to low energy. As for the
second simulation using charging area, a rise in both the simulation time and aggregate
energy level can be observed. Although the simulation time ranged from nearly 6000 to
8000, we notice that the least time it took for the foraging robots to collect all food items
corresponds directly to the attempt with the highest aggregate energy level of the swarm
and the highest number of active robots. Contrarily, the most time it took for foraging
robots to collect all food items corresponds to the attempt with the lowest aggregate
energy level and the least number of active robots. Which leads us to conclude that the
faster the simulation is finished, the more efficient the swarm is in term of energy level.
From the line charts in Figures 6.17, 6.18 and Table 6.4, the better performance of using
charging-robots can be seen. However, the question remains, does the charging-robots
mechanism outperform the charging area mechanism significantly? In order to answer
this question, we conducted a Vargha-Delaney A test on the results from both
mechanisms.
87
CHAPTER SEVEN
DISCUSSION AND CONCLUSION
Swarm Robotics has properties that makes it more desirable and it has advantages over
the classical approach in robotics, properties such as robustness and scalability. How-
ever, in the matter of low energy, the failure of members of the swarm can reflect on
the overall performance and may cause the swarm to loss its fault tolerance advantage.
Inspired by an immune response known as granuloma formation, we proposed an
energy charging mechanism for robots in a swarm to be recharged. We presented a
model of granuloma formation in the immune system using UML diagrams and agent-
based modeling simulation. Based on this simulation, we mapped the biological
components of granuloma formation to the components in swarm robotic systems and
proposed a mechanism that can be applied to swarm robotic systems for energy
charging. In our work, we looked closely into the issue of energy charging in swarm
robotic systems using aggregation and foraging simulations, then highlighted the
limitations and draw-backs of using power stations in swarm systems. Based on a
mapping of immune cells’ interaction, we proposed new members of robots to be
implemented for a charging mechanism. A charger-robot, equipped with a large
capacity battery, and residing at a nearby power station will come to the rescue every
time it receives a signal from a robot requesting a recharge. Comparing the results of
implementing the proposed mechanism with other mechanism, we found that the
robustness of a swarm system can be improved, especially in terms of the number of
active robots, simulation time and the aggregate level of energy in the swarm. For future
work, we expect an add-on and other improvement to the proposed energy charging
88
mechanisms to be simulated, compared and evaluated, and implemented into robots in
a swarm system.
89
REFERENCES
Adams, D. (1976). The granulomatous inflammatory response. a review. The American
journal of pathology, 84(1):164.
Al Haek, M. and Ismail, A. R. (2014). Understanding the immune responses in
granuloma formation through agent-based simulation. In International
Research, Invention and Innovation Exhibition 2014 (IRIIE2014).
Al Haek, M., Ismail, A. R., Basalib, A. O. A., and Makarim, N. (2015). Exploring
energy charging problem in swarm robotic systems using foraging simulation.
Jurnal Teknologi, 76(1).
Al Haek, M., Ismail, A. R., and Nordin, A. (2014a). Agent based modeling and
simulation of granuloma formation for the development of energy charging
mechanism in swarm robots. In 3rd International Conference on Computer
Engineering & Mathematical Sciences, pages 141–148. ICCEMS.
Al Haek, M., Ismail, A. R., Nordin, A., Sulaiman, S., and Lau, H. (2014b). Modelling
immune systems responses for the development of energy sharing strategies
for swarm robotic systems. In Computational Science and Technology (ICCST),
2014 International Conference on, pages 1–6. IEEE.
Arvin, F., Samsudin, K., and Ramli, A. R. (2009). Swarm robots long term autonomy
using moveable charger. In Future Computer and Communication, 2009.
ICFCC 2009. International Conference on, pages 127–130. IEEE.
Banchereau, J. and Steinman, R. M. (1998). Dendritic cells and the control of immunity.
Nature, 392(6673):245–252.
Bayindir, L. and Sahin, E. (2007). A review of studies in swarm robotics. Turkish
Journal of Electrical Engineering, 15(2):115–147.
Bjerknes, J. and Winfield, A. (2010). On fault tolerance and scalability of swarm robotic
systems. In Distributed Autonomous Robotic Systems, volume 83 of Springer
Tracts in Advanced Robotics, pages 431–444. Springer Berlin Heidelberg.
Bocharov, G., Ford, N. J., and Ludewig, B. (2005). A mathematical approach for
optimizing dendritic cell-based immunotherapy. In Adoptive Immunotherapy:
Methods and Protocols, pages 19–33. Springer.
Bold, T. D. and Ernst, J. D. (2009). Who benefits from granulomas, mycobacteria or
host? Cell, 136(1):17 – 19.
Booch, G. (2005). The Unified Modeling Language User Guide, 2/E. Pearson Education
90
India.
Bru, A. and Cardona, P.-J. (2010). Mathematical modeling of tuberculosis bacillary
counts and cellular populations in the organs of infected mice. PloS one, 5(9):
e12985.
Carvalho, R. V., Kleijn, J., Meijer, A. H., and Verbeek, F. J. (2012). Modeling innate
immune response to early mycobacterium infection. Comp. Math. Methods in
Medicine, 2012.
Chen, L. J., Tong, W. I. S., Meyer, B., Abdolkhani, A., and Hu, A. P. (2011). A
contactless charging platform for swarm robots. In IECON 2011-37th Annual
Conference on IEEE Industrial Electronics Society, pages 4088–4093. IEEE.
Co, D. O., Hogan, L. H., Il-Kim, S., and Sandor, M. (2004). T cell contributions to the
different phases of granuloma formation. Immunology letters, 92(1):135–142.
Davis, J. M. and Ramakrishnan, L. (2008). The very pulse of the machine”: The
tuberculous granuloma in motion. Immunity, 28(2):146 – 148.
Davis, J. M. and Ramakrishnan, L. (2009). The role of the granuloma in expansion and
dissemination of early tuberculous infection. Cell, 136(1):37 – 49.
Dorigo, M., Birattari, M., and Stutzle, T. (2006). Ant colony optimization.
Computational Intelligence Magazine, IEEE, 1(4):28–39.
D’Souza, R. M., Lysenko, M., Marino, S., and Kirschner, D. (2009). Data-parallel
algorithms for agent-based model simulation of tuberculosis on graphics
processing units. In Proceedings of the 2009 Spring Simulation Multi-
conference, page 21. Society for Computer Simulation International.
Egen, J. G., Rothfuchs, A. G., Feng, C. G., Winter, N., Sher, A., and Germain, R. N.
(2008). Macrophage and t cell dynamics during the development and
disintegration of mycobacterial granulomas. Immunity, 28(2):271 – 284.
Fallahi-Sichani, M., Marino, S., Flynn, J., Linderman, J., and Kirschner, D. (2013).
A systems biology approach for understanding granuloma formation and
function in tuberculosis. In McFadden, J., Beste, D. J., and Kierzek, A. M.,
editors, Systems Biology of Tuberculosis, pages 127–155. Springer New York.
Flugge, A. J., Timmis, J., Andrews, P., Moore, J., and Kaye, P. (2009). Modelling
and simulation of granuloma formation in visceral leishmaniosis. In
Evolutionary Computation, 2009. CEC’09. IEEE Congress on, pages 3052–
3059. IEEE.
Flynn, J., Chan, J., and Lin, P. (2011). Macrophages and control of granulomatous
inflammation in tuberculosis. Mucosal immunology, 4(3):271–278.
Gammack, D., Ganguli, S., Marino, S., Segovia-Juarez, J., and Kirschner, D. E. (2005).
91
Understanding the immune response in tuberculosis using different
mathematical models and biological scales. Multiscale Modeling & Simulation,
3(2):312–345.
Gerkey, B., Vaughan, R. T., and Howard, A. (2003). The player/stage project: Tools for
multi-robot and distributed sensor systems. In Proceedings of the 11th
international conference on advanced robotics, volume 1, pages 317–323.
Guirado, E. and Schlesinger, L. (2013). Modeling the mycobacterium tuberculosis
granuloma - the critical battlefield in host immunity and disease. Frontiers in
Immunology, 4(98).
Hoff, N. R., Sagoff, A., Wood, R. J., and Nagpal, R. (2010). Two foraging algorithms
for robot swarms using only local communication. In Robotics and Biomimetics
(ROBIO), 2010 IEEE International Conference on, pages 123–130. IEEE.
Hugues, L. and Bredeche, N. (2006). Simbad: an autonomous robot simulation package
for education and research. In From Animals to Animats 9, pages 831–842.
Springer.
Ismail, A. R. (2011). Immune-Inspired Self-Healing Swarm Robotic Systems. PhD
thesis, University of York.
Jevtic, A. and Andina, D. (2007). Swarm intelligence and its applications in swarm
robotics. 6th WSEAS Int. Conference on Computational Intelligence, Man-
Machine Systems and Cybernetics, pages 41–46.
Jiang, H. and Chess, L. (2006). Regulation of immune responses by t cells. New
England Journal of Medicine, 354(11):1166–1176.
Kam, N., Cohen, I. R., and Harel, D. (2001). The immune system as a reactive system:
Modeling t cell activation with statecharts. In Human-Centric Computing
Languages and Environments, 2001. Proceedings IEEE Symposia on, pages 15–
22. IEEE.
Kernbach, S. and Kernbach, O. (2011). Collective energy homeostasis in a large-scale
micro robotic swarm. Robotics and Autonomous Systems, 59(12):1090–1101.
LeBozec, C., Jaulent, M.-C., Zapletal, E., and Degoulet, P. (1998). Unified modeling
language and design of a case-based retrieval system in medical imaging. In
Proceedings of the AMIA Symposium, page 887. American Medical Informatics
Association.
Lee, J.-H. and Ahn, C. W. (2011). Improving energy efficiency in cooperative foraging
swarm robots using behavioral model. In Bio-Inspired Computing: Theories and
Applications (BIC-TA), 2011 Sixth International Conference on, pages 39–44.
IEEE.
Liu, W., Winfield, A. F., Sa, J., Chen, J., and Dou, L. (2007). Towards energy
92
optimization: Emergent task allocation in a swarm of foraging robots. Adaptive
Behavior, 15(3):289–305.
Ludewig, B., Krebs, P., Junt, T., Metters, H., Ford, N. J., Anderson, R. M., and
Bocharov, G. (2004). Determining control parameters for dendritic cell-
cytotoxic T lymphocyte interaction. European journal of immunology,
34(9):2407–2418.
Marino, S., El-Kebir, M., and Kirschner, D. (2011a). A hybrid multi-compartment
model of granuloma formation and t cell priming in tuberculosis. Journal of
theoretical biology, 280(1):50–62.
Marino, S. and Kirschner, D. E. (2004). The human immune response to¡ i¿
mycobacterium tuberculosis¡/i¿ in lung and lymph node. Journal of theoretical
biology, 227(4):463–486.
Marino, S., Linderman, J. J., and Kirschner, D. E. (2011b). A multifaceted approach
to modeling the immune response in tuberculosis. Wiley Interdisciplinary
Reviews: Systems Biology and Medicine, 3(4):479–489.
Marino, S., Pawar, S., Fuller, C. L., Reinhart, T. A., Flynn, J. L., and Kirschner, D. E.
(2004). Dendritic cell trafficking and antigen presentation in the human immune
response to mycobacterium tuberculosis. The Journal of Immunology,
173(1):494–506.
Miner, D. (2007). Swarm robotics algorithms: A survey. Technical report, University
of Maryland.
Mukhopadhyay, S., Gupta, G., and Lake, B. (2008). Design of a contactless battery
charger for micro-robots. In Instrumentation and Measurement Technology
Conference Proceedings, 2008. IMTC 2008. IEEE, pages 985–990. IEEE.
Mullins, J., Meyer, B., and Hu, A. P. (2012). Collective robot navigation using diffusion
limited aggregation. In Parallel Problem Solving from Nature-PPSN XII, pages
266–276. Springer.
Ngo, T. D. and Schioler, H. (2006). Sociable mobile robots through self-maintained
energy. In Systems, Man and Cybernetics, 2006. SMC’06. IEEE International
Conference on, volume 3, pages 2012–2017. IEEE.
Ramakrishnan, L. (2012). Revisiting the role of the granuloma in tuberculosis. Nature
Reviews Immunology, 12(5):352–366.
Sahin, E. (2005). Swarm robotics: From sources of inspiration to domains of
application. In Swarm Robotics, pages 10–20. Springer.
Saunders, B. M. and Britton, W. J. (2007). Life and death in the granuloma:
immunopathology of tuberculosis. Immunology and cell biology, 85(2):103–
111.
93
Saunders, B. M. and Cooper, A. M. (2000). Restraining mycobacteria: role of
granulomas in mycobacterial infections. Immunology and Cell Biology,
78(4):334–341.
Schreiber, H. A. and Sandor, M. (2010). The role of dendritic cells in mycobacterium
induced granulomas. Immunology letters, 130(1):26–31.
Segovia-Juarez, J. L., Ganguli, S., and Kirschner, D. (2004). Identifying control
mechanisms of granuloma formation during m. tuberculosis infection using an
agent-based model. Journal of theoretical biology, 231(3):357–376.
Shaler, C. R., Horvath, C., Jeyanathan, M., and Xing, Z. (2013). Within the enemy’s
camp: Contribution of the granuloma to the dissemination, persistence and
transmission of mycobacterium tuberculosis. Frontiers in Immunology, 4(30).
Silva Miranda, M., Breiman, A., Allain, S., Deknuydt, F., and Altare, F. (2012). The
tuberculous granuloma: an unsuccessful host defence mechanism providing a
safety shelter for the bacteria? Clinical and Developmental Immunology, 2012.
Sneller, M. C. (2002). Granuloma formation, implications for the pathogenesis of
vasculitis. Cleveland Clinic journal of medicine, 69(Suppl 2): SII40.
Teo, Z. P. (2003). The role of macrophages in apoptosis: initiator, regulator, scavenger.
Reviews in Undergraduate Research, John Hopkins University, 2:7–11.
Tseng, S.-Y. and Dustin, M. L. (2002). T-cell activation: a multidimensional signaling
network. Current opinion in cell biology, 14(5):575–580. Uehira, K., Amakawa,
R., Ito, T., Tajima, K., Naitoh, S., Ozaki, Y., Shimizu, T.,
Yamaguchi, K., Uemura, Y., Kitajima, H., et al. (2002). Dendritic cells are decreased
in blood and accumulated in granuloma in tuberculosis. Clinical Immunology,
105(3):296–303.
Vargha, A. and Delaney, H. D. (2000). A critique and improvement of the cl common
language effect size statistics of mcgraw and wong. Journal of Educational and
Behavioral Statistics, 25(2):101–132.
Young, D., Stark, J., and Kirschner, D. (2008). Systems biology of persistent infection:
tuberculosis as a case study. Nature Reviews Microbiology, 6(7):520–528.