Вы находитесь на странице: 1из 22

A Cloud based Autonomous Multipurpose System

with Self-Communicating Bots and Swarm of Drones


A report submitted in partial
fulfilment of the requirements for the degree of
Bachelor of Technology
in
Computer Science & Engineering
by

SUPRATIM AUDDY
(ROLL NO: 10400115190, REGISTRATION NO: 151040110190)
&
SUBRATA PAL
(ROLL NO: 10400115185, REGISTRATION NO: 151040110185)
&
SWARNADEEP BANERJEE
(ROLL NO: 10400115194, REGISTRATION NO: 151040110194)
Under the supervision of
PROF. DR. HIMADRI NATH SAHA
HOD
and
PROF. MADHAB KUMAR SAMANTA
Assistant Professor
and
PROF. SUMANTA CHAKRABORTY
Assistant Professor
Department of Computer Science & Engineering
Institute of Engineering & Management

Department of Computer Science & Engineering


Institute of Engineering & Management
Gurukul, Y-12, Block –EP, Sector-V, Salt Lake Electronics Complex
Kolkata-700091, West Bengal, India

MAY, 2019
Affiliated to:
ABSTRACT

The concept of Cloud based automated multipurpose system with self-


communicating bots controlled by swarm of drones is a comprehensive and
layered framework that caters to the needs of multiple facets of an application-
based project. Swarm robotics is an associate approach to the coordination of
multi-robot systems that incorporates massive numbers of individual physical
robots. A collective behaviour emerges from the interactions between the robots
and interactions of robots with the atmosphere. This approach emerged on the
sphere of artificial swarm intelligence influenced by the biological studies of
insects, ants and alternative fields in nature, wherever swarm behaviour occurs.
A key-component of this design is that the communication between the
members of the cluster that build a system of constant feedback. Here the
swarm intelligence has been used to devise a system of drones and bots
intended for a set of tasks.

1
ACKNOWLEDGEMENT

We would like to take this opportunity to thank everyone whose


cooperation and encouragement throughout the ongoing course of this
project remains invaluable to us.

We are sincerely grateful to our guide and mentor HOD Prof. Himadri
Nath Saha, Prof. Madhab Kumar Samanta and Prof. Sumanta
Chakraborty of the Department of Computer Science & Engineering,
IEM Kolkata, for his wisdom, guidance and inspiration that helped us go
through with this project and take it to where it stands now.

We would also like to express our sincere gratitude to Prof. Dr. Satyajit
Chakraborty, Director, Prof. Dr. Amlan Kusum Nayak, Principal and
other faculties of Institute of Engineering & Management, for their
assistance and encouragement.

Last but not the least, we would like to extend our warm regards to our
families and peers who have kept supporting us and always had faith in our
work.

2
TABLE OF CONTENTS

CHAPTER 1. INTRODUCTION ......................................................................... 4


1.1Motivation ..................................................................................................... 4
1.2Objective ....................................................................................................... 5
CHAPTER 2. BACKGROUND ........................................................................... 7
2.1 Related Literature Review ........................................................................... 7
CHAPTER 3. PROJECT IMPLEMENTATION.................................................. 9
3.1 Flocking Algorithm...................................................................................... 9
3.1.1 Separation Rule ......................................................................................... 9
3.1.2 Cohesion Rule ......................................................................................... 10
3.1.3 Alignment Rule ....................................................................................... 11
3.2 The Communication Module ..................................................................... 13
3.3 Proposed Model ......................................................................................... 16
3.4 Methodology .............................................................................................. 17
CHAPTER 4. CONCLUSION............................................................................ 19
References ........................................................................................................... 20

3
CHAPTER 1. INTRODUCTION

1.1 Motivation

Swarm robotics is a new approach to the coordination of multi-robot systems


that contains massive numbers of mostly straightforward physical robots. This
approach emerged within the field of artificial swarm intelligence similarly
because of the biological study of insects, ants and other fields in the nature,
wherever a swarm behaviour happens. Swarm robotics is a rising area in
collective robotics that uses a completely distributed control paradigm and
comparatively easy robots to attain coordinated behaviour at the cluster level.
Swarm robotics systems are self-organizing, that means that
constructive/collective (or macroscopic) behaviour emerges from individual (or
microscopic) decisions that robots take. At the time of disaster, human lives are
put at stake for rescue operations. But the proposed scheme eliminates this risk
by controlling the total rescue operation by automated bots at ground level and
through drones from sky level.

4
1.2 Objective

We are thinking of a system where a swarm of drones (Each drone with


different properties) will gather related information of the concerned area &
send them to a single drone (can be named as 'Master Drone') to analyse that
data; then the master drone shall give instructions to both the ground bots &
other drones about the task that they should perform. All the necessary data are
uploaded and stored in a Cloud environment by the Master Drone. The common
disasters like fire, flood, and landslide can be handled using this automated
control system. This system can also be used for agricultural purpose as well as
defence purpose in several ways.

Multi-Agent systems are those in which multiple agents coordinate among


themselves and try to achieve a goal. Nature has many good examples of multi
agent systems. Such examples are school of fish, swarm of bees, heard of cow
and so on. These collective motions has various advantages such as increase in
the chances of protection against predators and increase in chances of finding
food collectively. Engineers are trying to realize the same benefits on robotic
systems. The robots form a distributed system. All the agents have their own
intelligence. There is no central control. Therefore, failure of a single agent does
not mean the end of mission.

5
Swarm robotics is a new approach to the coordination of multi-robot systems
that contains massive numbers of mostly straightforward physical robots. This
approach merged within the field of artificial swarm intelligence similarly
because of the biological study of insects, ants and other fields in the nature,
wherever a swarm behaviour happens. Swarm robotics is a rising area in
collective robotics that uses a completely distributed control paradigm and
comparatively easy robots to attain coordinated behaviour at the cluster level.
Swarm robotics systems are self-organizing, that means that
constructive/collective (or macroscopic) behaviour emerges from individual (or
microscopic) decisions that robots take. At the time of disaster, human lives are
put at stake for rescue operations. But the proposed scheme eliminates this risk
by controlling the total rescue operation by automated bots at ground level and
through bots from sky level. We are thinking of a system where a swarm of
bots(Each bot with different properties) will gather related information of the
concerned area & send them to a single bot (can be named as 'Master Bot') to
analyse that data; then the master bot shall give instructions to both the ground
bots & other bots about the task that they should perform. All the necessary data
are uploaded and stored in a Cloud environment by the Master Bot. The
common disasters like fire, flood, and landslide can be handled using this
automated control system. This system can also be used for agricultural purpose
as well as defence purpose in several ways.

In Section 2 we present the background study of Swarm of drones. Section 3


proposes the methodology used. Finally Section 4 concludes the paper.

6
CHAPTER 2. BACKGROUND

2.1 Related Literature Review

The English term “swarm” denotes “a large or dense group of flying insects”.
With the expansion of the assorted use of “swarm”, this word has become
somewhat confusing. In this paper, we tend to clarify its association with
numerous robotic ideas. [1] Swarm robotics is a somewhat novel approach to
the coordination of enormous numbers of comparatively straightforward
robots that takes its inspiration from social insects. We give a brief overview
of this by presenting the following works:
This paper can be divided into 3 major parts.
1) Describing the desirable properties of swarm robotic systems, as
ascertained within the system-level functioning of social insects, 2)
Proposing a definition for the term swarm robotics, and expressing a
collection of criteria which will distinguish swarm robotics analysis from
alternative multi-robot studies, 3) Providing a review of some studies which
might act as sources of inspiration, and an inventory of promising domains
for the use of swarm robotic systems. [2] In this paper, we tend to review
strategies used for macroscopic modelling and analysing collective behaviour
of swarm robotic systems. Though the behaviour of a private robot in a
swarm is commonly characterised as a vital part, the collective behaviour of
swarms is statistically foreseeable and has typically an easy probabilistic
description. Indeed, we tend to show that a category of mathematical models
that describe the dynamics of collective behaviour may be generated using
the individual robot controller as modelling blueprint. We tend to compare
the models’ predictions to observe the results of probabilistic and sensor-
based simulations. Looking on the assumptions, the metric used, and
therefore the quality of the models, it can be shown that it's possible to realize
quantitatively correct predictions. [3] Swarm robotics is an associate
approach to collective robotics that takes inspiration from the self-organized
behaviours of social animals. Through straightforward rules and native
interactions, swarm robotics aims at planning strong, scalable, and versatile
behaviours for the coordination of enormous numbers of robots. In this paper
[4], the authors focus chiefly on ideas that contribute to the advancement of
swarm robotics as an engineering field which may be relevant enough to
tackle real-world problems. Swarm engineering is a rising discipline that

7
aims at shaping systematic procedures for modelling, designing, realizing,
verifying, validating, operating, and maintaining a swarm robotics system.
Here two taxonomies were presented: within the 1st taxonomy, the authors
tend to classify works that manage design and analysis methods; within the
second taxonomy, the authors tend to classify works consistent with the
collective behaviour studied. Finally the limits of swarm robotics along with
suggestions for future analysis directions have also been presented. [4] This
paper [5] describes the event of ideas of the SWARM-BOTS project and in
short overviews the outcomes of the project as well as the mechanical and
electronic nature of the developed robots. The paper additionally presents a
physics-based machine appropriate to analyse long adaptation algorithms and
shows samples of cooperative behaviours, each in simulation and in
hardware. This novel analysis field addresses the appearance and
implementation of robotic systems composed of swarms of robots that move
and collaborate to succeed in their goals. [5] In [6] the authors tend to
describe a robotic swarm that will become a distributed computing mesh,
whereas at the same time act as a physical embodiment of the programme. By
virtue of this easy peer-to-peer electronic communication theme, several
coordinated activities may be accomplished while no centralized
management was present. Drone is a very well-known product and many
applications through drone have been known for a long time. But particularly
swarm of drones along with bots at ground level is a new kind of proposition.
Previously "Spatially Targeted Communication and Self-Assembly," by
Mathews et.AL, was presented at IROS 2012 in Vilamoura, Portugal. This
work proposed a Swarm of self-assembling Robots programmed to overcome
obstacles [12]. Intel have introduced a swarm of drone recently. Though they
didn’t shown any utility application they have just used 500 drones with light
in the sky for entertainment purpose. Recently China has launched a record
breaking swarm of 119 fixed-wing unmanned aerial vehicles. The 119 drones
performed catapult-assisted take-offs and formations in the sky. According to
the CETC, "swarm intelligence" is regarded as the core of artificial
intelligence of unmanned systems and the future of intelligent unmanned
systems.
In India “Netra” is an Indian, light-weight, autonomous UAV for surveillance
and reconnaissance operations. It is developed by the Defence Research and
Development Organization and Idea Forge, a Mumbai-based private firm
[18]. Also, a research team at IIT-Kharagpur developed a Low Cost Super
Drone, BHIM, which is powered by a battery with seven hours of back-up
power. This enables it to fly long distances and help in rescue operations like
drop emergency supplies using parachutes in remote or disaster regions [19].
8
CHAPTER 3. PROJECT IMPLEMENTATION
3.1 FLOCKING ALGORITHM
There are several ways in which we can simulate a collective motion. Flocking
algorithm is one of them. We used the classical flocking algorithm as developed
by Craig Reynolds. [1] He used three simple rules to achieve flocking .
Cohesion, each robot moves towards the average position of its neighbours.
Alignment, each robot moves towards the average heading direction of its
neighbours.
Separation, each robot avoid hitting its neighbour.
In the simulation that we have made we considered the robot as a point mass
having a velocity. In each step the robot recieves information about the position
and velocity of other robots present around it. Using this information it
calculates three vectors.

3.1.1 Separation Rule

Say the robot B1 is under consideration having information about 3 neighbours


B2, B3, B4. As we know the positions of bots we calculate the vectors V2, V3,
V4. We weight these vectors by the distance between the two bots they are
associated with. Then we add all these vectors.

//Seperation Rule
Vector2 Bot::getAvoidDir(Message arr[],int l) {
Vector2 steer(0, 0);
int count = 0;

for (int i=0;i<l;i++) {


// Calculate vector pointing away from neighbor
Vector2 diff=pos-arr[i].pos;
float d = diff.Magnitude();
9
// If the distance is greater than 0 and less than an arbitrary amount (0
when the robot is itself)
if ((d > 0) && (d < crowdR)) {
diff.Normalize();
diff/=d; // Weight by distance
steer+=diff;
count++; // Keep track of how many
}
}
return steer;
}

3.1.2 Cohesion Rule

In this rule we calculate the average position of bots in the neighbourhood. We


then calculate a vector which is the difference in average position and the
position of the bot under consideration. We calculate the average position of B2,
B3, B4 and then calculate V.

//Cohesion Rule
Vector2 Bot::getCohesion(Message arr[],int l) {
Vector2 sum(0, 0); // Start with empty vector to accumulate all
locations
int count = 0;
for(int i=0;i<l;i++) {
Vector2 v=arr[i].pos-pos;
float d = v.Magnitude() ;
if ((d > 0) && (d < coheseR)) {

10
sum+=arr[i].pos; // Add location
count++;
}
}
if (count > 0) {
sum/=count;
Vector2 desired = sum - pos;
desired.Normalize();
desired*=0.05;
return desired;
}
else {
return sum;
}
}

3.1.3 Alignment Rule

The robot considers all other robots that are around it with in certain radius.
Then we see the velocity of the neighbour robot and weight it by the distance
between the neighbour robot and the robot under consideration. We then do this
for all neighbouring robots and calculate the sum of all the velocities that we
have obtained.

//Alignment Rule
Vector2 Bot::getAverageDir (Message arr[],int l) {
Vector2 sum(0, 0);
int count = 0;

11
for (int i=0;i<l;i++) {
Vector2 diff=pos-arr[i].pos;
float d = diff.Magnitude();
// If the distance is greater than 0 and
// less than an arbitrary amount (0 when the robot is itself)
if ((d > 0) && (d < friendR)) {
Vector2 copy = arr[i].move;
copy.Normalize();
copy/=d;
sum+=copy;
count++;
}
if (count > 0) {
//sum.div((float)count);
}
}
return sum;
}
So we have three velocities from three different rules. We then sum up these
velocities after proper scaling then make the bot move with this velocity.

Vector2 allign = getAverageDir(arr,l);


Vector2 avoidDir = getAvoidDir(arr,l);
Vector2 cohese = getCohesion(arr,l);
move+=allign;
move+=avoidDir;
move+=cohese;
12
3.2 The Communication Module

To implement the flocking algorithm, we need the robots to communicate


among themselves.
A computer network is a group of nodes connected by a communication link.
A node is any device capable of sending and receiving data. If we equipe our
robot with a transmitter and a receiver we can safely consider it as a node.
These nodes form a wireless LAN (defined by the IEEE 802.11 Project) .
Wireless LAN has to face a lot of challenges in establishing a successful
communication.

It is very difficult to have a point to point communication between two nodes in


wireless LAN. As the medium is generally air the signal is generally
broadcasted. We use this fact to our advantage.
In the simulation we have considered that when a robot sends a message this
message is passed into the medium. Now in the medium the message travells in
all direction and is received by other robots.

Now in the medium the message is in the form of a electromagnetic signal. The
strength of the electromagnetic signal decreases vary rapidly as it travells in all
directions. As out robots works in battery and normally have smaller power
supplies it difficult to spend too much power in sending a message. So we have
a transmission radius (R) which increases with the increase in power required to
send the message.
METHOD 1
In this method the message is composed of the position and velocity of the bot
which is sending the message.

class Message
{
public:

13
Vector2 move;
Vector2 pos;
int id;
void setData(int id,Vector2 pos,Vector2 move);
void cleanData();
};

Method 2
In this method the message is composed of the position and velocity of the robot
sending the message and also the position and velocity of all other bots that it is
aware of.
Method 2 is more efficient than method 1. Further we can see that flocks of
bigger size is formed as we increase the transmission radius.

Fig 1: Transmission radius 80.

Fig 2: Transmission radius 60.

14
Fig 3: Transmission radius 40

Fig 4: Transmission Radius 20

The system that has been proposed comprises of several ground robots
connected with each other through secured wireless network [7] [8] [9] [10]
[11]. They might sometimes communicate with their neighbour bots to
complete some specialized tasks cumulatively as instructed by their flying
counterparts. The model diagram of this has been depicted in Fig. 1.

15
3.3 Proposed Model
As already mentioned in the introduction section, the proposed model consist of
not only a single drone or a single bot but a group of interactive drones (swarm
of drones) as well as bots. Here, we define the entities that makes up the
proposed model:
i) Drone/UAV (Normal): Drones or Unmanned Aerial Vehicles which can fly
autonomously through software-controlled flight plans in their embedded
systems working in conjunction with on-board sensors and GPS.
ii) Master Drone: Master Drone that will give instruction to the slave drones and
bots.
iii) Bots: Bots depicts mostly simple physical robots.
iv) Cloud: It is used to store collected data in a virtual environment.
v) Wireless Network: Wireless Network is the main communication method of
our system. It is used to intercommunicate among the Master Drone, Slave
Drones and the Bots. The Specifications of the drones as well as bots in terms of
Processing Power as well as Battery Life that has been used in this system can
be stated as follows:
i) Drones: Processing Power- 50Hz; Battery Life- 20 mins.
ii) Master Drone: Processing Power- 60Hz; Battery Life- 25 mins
iii) Bots: Processing Power- 50Hz; Battery Life- 20 mins.
The Cloud Infrastructure that has been used here to store the necessary data as
well as information is a VMWare Cloud consisting of the ESxI Hypervisor.
Since, the privacy and confidentiality of the data is a vital issue over here we
have constructed our own private Cloud (DataCenter) instead of renting a public
Cloud service from some third party. The details of the VMware cloud that has
been used over here can be summarized that it can run applications across
vSphere-based cloud environments with access to a broad range of AWS
services.

16
3.4 Methodology
The Basic methodology of the proposed scheme can be described as follows:
Case 1: (Here the information flows from the bots to the drones initially)
1. The ground bots explore the path avoiding obstacles and move together to
gather information from the environment through their associated sensors
attached with them. For e.g. If we consider an agricultural scenario then the bots
provisioned with moisture sensor, gamma ray sensor etc. can check for the
suitable condition for growing crops.
2. The Accumulated information is send to the Master Drone using the wireless
network.
3. The Master Drone on getting the information from the bots takes necessary
actions i.e. it sends commands to the drones (swarm of drones) as well as stores
the necessary data relevant to the source field in the Cloud ESXi Database.
4. The Drones now follow the commands of the Master Drone. They may
interact with each other if needed to accomplish the intended task. For e.g. the
drones here may spray necessary amount of pesticides as well as fertilizers on
the agricultural field under inspection.
5. It should be mentioned that the Master drone is preprogramed with certain
expert test cases that helps it determine the correct amount and quality of
pesticides and fertilizers to be used depending upon the soil data collected from
the bots.

17
Case 2: (Here the information flows from the drones to the bots initially)
1. Here the UAVs collect various data about the source under investigation.
This is done by capturing photos of the source from different angles,
looking for stuck living body or human through thermo-cam etc. attached
to it.
2. The Accumulated information is send to the Master Drone using the
wireless network.
3. The Master Drone on getting the information from the drones takes
necessary actions i.e. it sends commands to the bots (swarm of ground bots)
as well as stores the necessary data relevant to the source field in the Cloud
ESxI Database.
4. The bots now follow the commands of the Master Drone. They may
interact with each other if needed to accomplish the intended task. For e.g.
the bots may rescue stuck human lives from a battle field or a disaster scene.
5. It should be mentioned that bots are supplied with the exact latitude and
longitude of the specified region that they need to visit for the rescue
operation.
These properties of the system allows it to fit into any disaster management
team as well as in any military or defence system, as well as agricultural
scenario.

18
CHAPTER 4. CONCLUSION
In this modern age of technology, we have made an attempt to propose an
automated system that can be used in multiple applications like disaster
management, agriculture fields, defence etc. The above sections give ample
proof of the fact that drones acts as sources of both national and international
technological up-rise. But all of these are based on single drone only, there is no
system of swarm of drones as well as ground bots. The proposed system
comprises of several cost-effective ground robots (bots) and UAVs. The bots
are connected with each other through wireless technology and utilize the
swarm like intelligence to be developed. They can explore the path avoiding
obstacles and move together to gather information from the environment
through their associated sensors attached with them. This information is
uploaded to the cloud and fetched by the Master Drone on requirement i.e.
before issuing the necessary commands for executing a specific job. Similarly,
the group of drones in the sky consists of UAVs with GPS and other sensors
having different functionalities like capturing photos from different angles, or
looking for stuck living body. They can collect information and send it to the
Master Drone which can upload the data in the cloud as well. The proposed
scheme can therefore coordinate both the system of swarms in the ground and
sky. The designed system thus adds added flavours to the research as well as
implementation domain of drone and bot technology. By devising an entire
swarm of the entities concerned it fills up certain gaps of a stand-alone system
and enhances the overall capability of the overall system. The future work is
geared upon constructing a complete application satisfying all the norms of our
proposed system and thereby running a rigorous study of the efficiency of the
system.

19
REFERNENCES

[1] Gerardo Beni, “From Swarm Intelligence to Swarm Robotics”, Swarm


Robotics WS 2004, LNCS 3342, pp. 1– 9, 2005.
[2] Erol Şahin, “Swarm robotics: From sources of inspiration to domains of
application”, Swarm Robotics WS 2004, LNCS 3342, pp. 10–20, 2005.
[3] Kristina Lerman, Alcherio Martinoli, Aram Galstyan, “A Review of
Probabilistic Macroscopic Models for Swarm Robotic Systems”, Swarm
Robotics WS 2004, LNCS 3342, pp. 143–152, 2005
[4] Brambilla, M., Ferrante, E., Birattari, M. et al. Swarm Intell (2013) 7: 1.
https://doi.org/10.1007/s11721-012- 0075-2
[5] F. Mondada, L. M. Gambardella, D. Floreano, S. Nolfi, J. L. Deneuborg and
M. Dorigo, "The cooperation of swarmbots: physical interactions in collective
robotics," in IEEE Robotics & Automation Magazine, vol. 12, no. 2, pp. 21- 28,
June 2005. David Payton, Regina Estkowski, Mike Howard, “Pheromone
Robotics and the Logic of Virtual Pheromones”, 2004
[6] DRDO Netra Mini Unmanned Aerial Vehicle (UAV), Quadcopter ,Indian
Armed Forces - AerMech.IN.(2016). http://aermech.in/drdo-netra-mini-
unmanned-aerial-vehicle -uavquadcopter-indian-armed-forces/
[7] http://www.networkedindia.com/2017/04/03/iit-kharagpurdevelops-low-
cost-super-drone-bhim/
[8] C.W. Reynolds, 1987 „Flocks, herds and schools: A distributed behavioural
model.” SIGGRAPHComput. Graph, 21, 25-34, 1987
[9] Erol Şahin, “Swarm robotics: From sources of inspirationto domains of
application”, Swarm Robotics WS 2004,LNCS 3342, pp. 10–20, 2005.
[10] Kristina Lerman, Alcherio Martinoli, Aram Galstyan,“A Review of
Probabilistic Macroscopic Models forSwarm Robotic Systems”, Swarm
Robotics WS 2004,LNCS 3342, pp. 143–152, 2005
[11] Brambilla, M., Ferrante, E., Birattari, M. et al. SwarmIntell (2013) 7: 1.
https://doi.org/10.1007/s11721-012-0075-2
[12] F. Mondada, L. M. Gambardella, D. Floreano, S. Nolfi, J.L. Deneuborg
and M. Dorigo, "The cooperation of swarmbots:physical interactions in
collective robotics," in IEEERobotics & Automation Magazine, vol. 12, no. 2,

20
pp. 21-28, June 2005. David Payton, Regina Estkowski, MikeHoward,
“Pheromone Robotics and the Logic of VirtualPheromones”, 2004

21

Вам также может понравиться