0% found this document useful (0 votes)
126 views

Development, Study and Application of Swarm Robots: Benjamin Limbu Subba (17UEMT0012)

This document summarizes a student project report on the development, study, and application of swarm robots. The project involved designing hardware for robots with sensors to gather information and communicate with each other. The robots were programmed on an Arduino IDE to move and respond to their surroundings as a group based on sensor readings and information exchanged between them. The project aimed to apply concepts from swarm intelligence drawn from biological systems to coordinate the behavior of multiple simple robots.

Uploaded by

H I L L K I N G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
126 views

Development, Study and Application of Swarm Robots: Benjamin Limbu Subba (17UEMT0012)

This document summarizes a student project report on the development, study, and application of swarm robots. The project involved designing hardware for robots with sensors to gather information and communicate with each other. The robots were programmed on an Arduino IDE to move and respond to their surroundings as a group based on sensor readings and information exchanged between them. The project aimed to apply concepts from swarm intelligence drawn from biological systems to coordinate the behavior of multiple simple robots.

Uploaded by

H I L L K I N G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 39

DEVELOPMENT, STUDY AND APPLICATION OF

SWARM ROBOTS

A MINOR PROJECT REPORT

Submitted by

BENJAMIN LIMBU SUBBA [17UEMT0012]

in partial fulfillment for the award of the degree of

BACHELOR OF TECHNOLOGY

IN

MECHANICAL ENGINEERING

Guided by

Mr. T. SUBESH, M.E (CAD/CAM)


Assistant Professor in Mechanical Engineering

DEPARTMENT OF MECHANICAL ENGINEERING


SCHOOL OF MECHANICAL AND CONSTRUCTION

JUNE 2021
BONAFIDE CERTIFICATE

Certified that this Report titled “DEVELOPMENT, STUDY AND APPLICATION OF

SWARM ROBOTS” is the bonafide work of BENJAMIN LIMBU SUBBA (17UEMT0012)

who carried out the work under my supervision. Certified further that to the best of my

knowledge the work reported here is does not form part of thesis or dissertation on the basis of

which a degree or award was conferred on an earlier occasion oh this or any other candidate.

Signature of the Supervisor with date Signature of the HOD with date
Mr. T. Subesh, M.E (CAD/CAM) Dr. N. Lenin, B.E., M.E., Ph.D.,
Assistant Professor Professor and HOD
Department of Mechanical Engineering Department of Mechanical Engineering
Vel Tech Rangarajan Dr. Sagunthala R&D Vel Tech Rangarajan Dr. Sagunthala R&D
Institute of Science and Technology Institute of Science and Technology
Chennai - 600062 Chennai – 600062
CERTIFICATE OF EVALUATION

PROGRAM : Bachelor of Technology


BRANCH : Mechanical Engineering
SEMESTER : VIII
Name of Student BENJAMIN LIMBU SUBBA (17UEMT0012)
Title of the Project “DEVELOPMENT, STUDY AND APPLICATION OF SWARM
ROBOTS”
Name of Guide Mr. T. Subesh, M.E (CAD/CAM)
Assistant professor in Department of Mechanical Engineering
VelTech Rangarajan Dr. Sagunthala R&D Institute of Science and
Technology

The report of the project work submitted by the above students in partial fulfillment for
the award of Bachelor of Technology in Mechanical Engineering of VelTech Rangarajan Dr.
Sagunthala R&D Institute of Science and Technology for the Viva – voice examination held on
20-05-2021 has been evaluated and confirmed to the report of work done by the above student.

INTERNAL EXAMINER EXTERNAL EXAMINER


Name: Name:
Designation: Designation:
Department: Mechanical Engineering Affiliated:
ABSTRACT

Swarm robotics is an approach to the coordination of multiple robots as a system

which consist of large numbers of mostly simple physical robots. It is supposed that a desired

collective behaviour emerges from the interactions between the robots and interactions of robots

with the environment. This approach emerged on the field of artificial swarm intelligence, as

well as the biological studies of insects, ants, and other fields in nature, where swarm behaviour

occurs. The project deals with the concept of swarm robotics. In this project there will be

interaction of master bot with the slave. The bot uses sensors to get the information of the

surrounding area and react according to it. It also passes the information to the fellow bots, and

they all react as per the upcoming information. There will be exchange of information with the

swarm of bots and work together as a team. Team of many researchers have worked on this field

and have able to make the bots more intelligent with the use of artificial intelligence. They are

able to process the real-time captured data and react to the data intelligently.

I
ACKNOWLEDGEMENT

I express my gratitude and sincere thanks to our respected Founder Chancellor and President
Col._Prof. Dr. R. RANGARAJAN B.E. (ELEC), B.E. (MECH), M.S (AUTO), D.Sc. and
Foundress President Dr. SAGUNTHALA RANGARAJAN M.B.B.S., Managing Trustee &
Vice President for providing us ambient learning experience at our institution.

I deem it as a great pride in expressing my heart full gratitude to our beloved Vice Chancellor
Prof. S. SALIVAHANAN., Ph.D., and Registrar, Dr. E. KANNAN., Ph.D., for encouraging us
to complete my project and served as inspiration for us to perform well.

I also thank our Dean Academics & Dean School of Mechanical and Construction
Dr._A.T._RAVICHANDRAN., M.E., Ph.D., for his continuous encouragement and valuable
academic support in all aspects.

It is a great pleasure for me to acknowledge the assistance and contributions of our Head of the
Department Dr. N. LENIN., M.E., Ph.D., for his encouragement and unwavering support during
the entire course of this project.

I owe my heartfelt thanks to the Project Coordinators Dr. P. ANAND M. E, Ph.D., Mr._D.
SURRYA PRAKASH MTech., and Mr._R. VIJAYAN MTech, for their immense guidance
and suggestions throughout the project period.

I owe my sincere thanks to the Vel Tech Industrial relations, international relations for their
immense support throughout the period of study.

I thank my Project Guide MR. T. SUBESH, M.E (CAD/CAM), for his continuous support
during the entire course of this project and for providing methodologies to carry out the work to
complete my project work.

I thank my Project Reviewer DR. CHRISTOPHER S., B.E(MECH), M.E(ENERGY), Ph.D.


(TURBO MACHINES) for his suggestion and comments during the entire course of this
project.

Most importantly, I would like to thank our Teaching and Non-Teaching Staff who helped me in
every possible way in this project. I also have immense pleasure in thanking my parents and
friends for their wholehearted support.

II
TABLE OF CONTENTS
CHAPTER NO. TITLE
PAGE NO.
ABSTRACT I

LIST OF TABLES V
LIST OF FIGURES VI
LIST OF ABBREVIATIONS VII

1. INTRODUCTION 1

1
1.1 SWARM ROBOTS
1.2 DEFINITION 1
1.3 GOALS AND APPLICATIONS 2
2. LITERATURE REVIEW 4
2.1 LIST OF PAPERS PUBLISED 4
2.2 REVIEW OF PAPER PUBLISHED 5

3. MATERIALS AND TOOLS 7


3.1 HARDWARE DESIGN 7
3.2 SENSORY PLATFORM 8
3.2.1 Proximity Sensors 9
3.2.1.1 Ultrasonic Sensor 9
3.2.1.2 Infrared Sensor 12
3.3 LOCOMOTION AND MANIPULATION 14
3.3.1 DC Motors 14
3.3.2 Motor Controller 15
3.4 16
COMMUNICATION AND CONTROL
3.4.1 Communication 16
3.4.2 Control 17
3.5 POWER CONSUMPTION AND MANAGEMENT 18

III
4. PROGRAMMING ON ARDUINO IDE 19
4.1 GLOBAL VARIABLE DECLARATION 19
4.2 SETUP 20
4.3 LOOPING 21
4.4 OTHER FUNCTIONS 22
4.4.1 Bluetooth Functions 22
4.4.2 Motor Functions 23
4.4.3 Ultrasonic Sensor 24
4.4.4 Menu 25

5. COST ESTIMATION 26

6. RESULT AND DISCUSSION 27

7. CONCLUSION 28

8. REFERENCES 29

IV
LIST OF TABLES

TABLE NO. TITLE PAGE NO.


2.1 List of papers published 4
3.1 Electric parameter of ultrasonic sensor 11
3.2 Motor specifications 15
3.3 L298N module pin configuration 16
3.4 HC-05 pin configuration 17
3.5 Total power consumption of the robot 18
5.1 Cost estimation 26

LIST OF FIGURES

V
FIGURE NO. FIGURE PAGE NO.
1.1 Swarm robots 1
1.2 Swarm intelligence benefits 2
3.1 Hardware architectures design 7
3.2 Ultrasonic sensor 10
3.3 Detecting mechanism of ultrasonic sensor 10
3.4 Timing Diagram of Ultrasonic sensor 12
3.5 IR sensor module 13
3.6 IR sensor module pinouts 13
3.7 L298n motor driver module with pinouts 15
3.8 HC-05 Bluetooth module 16
3.9 HC-05 Bluetooth module pinouts 16

LIST OF ABBREVIATION

LIBOT - Light Bots


GPS - Global Positioning System
UAV - Unmanned Aerial Vehicle
KHz - Kilo Hertz
TTL - Transistor-Transistor Logic
V - Voltage

VI
mA - Milli Ampere
µs - Microseconds
GND - Ground
LED - Light Emitting Diode
IR - Infrared
DC - Direct Current
dB - Decibel
PWM - Pulse width Modulation

VII
CHAPTER 1
INTRODUCTION

1.1 SWARM ROBOTS


Swarm robotics is an approach to the coordination of multiple robots as a system which
consist of large numbers of mostly simple physical robots. It is supposed that a desired collective
behavior emerges from the interactions between the robots and interactions of robots with the
environment. This approach emerged on the field of artificial swarm intelligence, as well as the
biological studies of insects, ants, and other fields in nature, where swarm behavior occurs.

Fig. 1.1 Swarm Robots


In swarm robotics multiple robots collectively solve problems by forming advantageous
structures and behaviors like the ones observed in natural systems, such as swarms of bees, birds,
or fish. However, the step to industrial applications has not yet been made successfully.
Literature is light on real-world swarm applications that apply actual swarm algorithms.
Typically, only parts of swarm algorithms are used which we refer to as basic swarm behaviors.
In this paper we collect and categorize these behaviors into spatial organization, navigation,
decision making, and miscellaneous. This taxonomy is then applied to categorize several existing
swarm robotic applications from research and industrial domains. Many industrial projects still
rely on centralized control, and even though a solution with multiple robots is employed, the
principal idea of swarm robotics of distributed decision making is neglected.

1.2 DEFINITON
The research of swarm robotics is to study the design of robots, their physical body, and their
controlling behaviors. It is inspired but not limited by the emergent behavior observed in social

1
insects, called swarm intelligence. Relatively simple individual rules can produce a large set of
complex swarm behaviors. A key component is the communication between the members of the
group that build a system of constant feedback. The swarm behavior involves constant change of
individuals in cooperation with others, as well as the behavior of the whole group.

Fig. 1.2 — Swarm intelligence benefits


Unlike distributed robotic systems in general, swarm robotics emphasizes many robots,
and promotes scalability, for instance by using only local communication. That local
communication for example can be achieved by wireless transmission systems, like radio
frequency or infrared.

1.3 GOALS AND APPLICATIONS


Miniaturization and cost are key factors in swarm robotics. These are the constraints in
building large groups of robots; therefore, the simplicity of the individual team member should
be emphasized. This should motivate a swarm-intelligent approach to achieve meaningful
behavior at swarm-level, instead of the individual level.

Much research has been directed at this goal of simplicity at the individual robot level.
Being able to use actual hardware in research of Swarm Robotics rather than simulations allows
researchers to encounter and resolve many more issues and broaden the scope of Swarm
Research. Thus, development of simple robots for Swarm intelligence research is a very
important aspect of the field. The goals include keeping the cost of individual robots low to

2
allow scalability, making each member of the swarm less demanding of resources and more
power/energy efficient.

Compared with individual robots, a swarm can commonly decompose it’s given missions
to their subtasks; a swarm is more robust to partial swarm failure and is more flexible regarding
different missions.

One such swarm system is the LIBOT Robotic System that involves a low-cost robot
built for outdoor swarm robotics. The robots are also made with provisions for indoor use via
Wi-Fi since the GPS sensors provide poor communication inside buildings.

3
CHAPTER 2
LITERATURE REVIEW
2.1 LIST OF PAPERS PUBLISHED

AUTHORS SYSTEM DETAILS REMARKS

Iñaki Navarro and An Introduction to Swarm Introduction of swarm robots


Fernando Matía Robotics. and its applications.
[2013]
Zoltan Beck, W.T. Luke Collaborative online planning Swarm robots are used for
Teacy, Alex Rogers, for Automated Victim Search in victim search UAVs.
Nicholas R. Jennings Disaster Response
[2017]
Kunal R Chaudari, Soham Swarm Robotics Used klann mechanism to
D. Nandurdikar, Eshwar B. showcase the motion of
Chavan, Abishek S. swarm robots.
Javalkar
[2019]
Iroju Olaronke , Ikono A Systematic Review of Swarm The empirical proofs of the
Rhoda, Ishaya Gambo, Robots state-of-the-art studies on
Ojerinde Oluwaseun and swarm robots.
Olaleke Janet
[2020]
Madhav Patil, Tamer UB Swarm: Hardware Swarm robots are tested to
Abukhalil, Sarosh Patel, Implementation of detect fault and power
Tarek Sobh Heterogeneous Swarm Robot management using
[2016] with Fault Detection and Power heterogenous swarm robot
Management architecture

Table 2.1 – List of papers published.

4
2.2 REVIEW OF PAPER PUBLISHED

In this Journal, an overview of swarm robotics has been given for a better understanding
of this field of multi-robot research by Iñaki Navarro and Fernando Matía. The first sections
have made an introduction to the topic, showing its main properties and characteristics, and
placing the field in relation to more general multi-robotic systems. The main tasks and
experimental results in swarm robotics and the platforms used have been then summarized.
Lastly, the future promising applications together with the problems to overcome to reach them
have been explained and analyzed. [1]

And another paper published by Zoltan Beck, W.T. Luke Teacy, Alex Rogers,
Nicholas R. Jennings, they have discussed various methods to make use of the complex
connections in the uncertain planning problem. As a result, they have been able to construct an
online planner that manages to improve the performance compared to the state-of-the-art. They
have presented their approach through an application in disaster response, in an automated victim
search system. [2]

And another paper published by Kunal R Chaudari, Soham D. Nandurdikar, Eshwar


B. Chavan, Abishek S. Javalkar, they have been able to give the itemized outline of flow
swarm intelligence research and its applications in swarm robotics. So, they have concluded that,
Swarm robotics is an intriguing option in contrast to traditional ways to deal with robotics in
view of certain properties of critical thinking systems, which comprises of flexible, robust,
decentralized, and self-organized. [3]

And in another journal published by Iroju Olaronke, Ikono Rhoda, Ishaya Gambo,
Ojerinde Oluwaseun and Olaleke Janet, their study systematically reviews swarm robots
because studies in swarm robotics are usually applied to virtual reality simulations. The study
adopted the 5-step approach proposed by Khan et al. Eight research questions were formulated to
understand and summarize the empirical proofs of the state-of-the-art studies on swarm robots.
The result of the review shows that swarm robots are robust, scalable, exhibit cooperative
behavior and the interaction between individuals in the swarm is local and not global. The study

5
also reveals that swarm robots exhibit certain properties which include aggregation, flocking,
foraging, dispersion, self-wandering, and self-organization.[4]

And another paper published by Madhav Patil, Tamer Abukhalil, Sarosh Patel, Tarek
Sobh, they have been able to design and built five UB swarm robots and performed several
experiments to demonstrate the system’s feasibility. The hardware architecture of UB swarm
robots is reconfigurable and can be reassembled at any time. The hardware architecture is also
very flexible with the ability to connect any type of sensors without any modifications. This
robot swarm was tested for a set of different experiments including object avoidance, object
transportation, human rescue, wall painting, and mapping. [5]

6
CHAPTER 3

MATERIALS AND TOOLS

3.1 HARDWARE DESIGN

The hardware design for any swarm is an interactive and an important phase as it requires
well set design and plans to initiate and carry out the task and all components and/or parts are
assembled to build one robot swarm. At the hardware level, the most work has been done in
collective behavior with homogeneous robots. In this project we decided to build a single bot that
replicates a group of swarm robots. In this section, we explain the hardware architecture of the
robot swarm build by us through this project. This swarm of heterogeneous robots is designed so
that it can interact with the real world through the sensors installed on board and undertake
manipulation and localization based on the situation aroused using actuators and motions
devices. This modular hardware architecture consists of independent sensory units, actuator
modules, and communication units, making the swarm system scalable and flexible such that
more sensors and/or actuators can be added without modifying the overall architecture.

Fig. 3.1 – Hardware architecture design.

There are many factors that must be considered while designing and implementing the
hardware platform for the robot. Following are the design goals for the swarm robot, such as:

7
• The robot should be easily modifiable and compatible with a high-performance
microcontroller.

• Should consume less power.

• It should provide user friendly mobile, modular, and flexible platforms.

• It should be reconfigurable and provide easy support for the software as well as for the
middleware.

• It should provide low-cost wireless communication for indoor as well as outdoor


applications.

• It should have enough future expansion space for sensory units and actuators.

• The robot should be relatively of small size and shape with light weight, so that it can
allow ease of movement and maneuverability.

• The robot should be fully functional, and continuously coordinate and communicate
with the server.

Building of such a heterogeneous swarm of robots is a very complex task in real life. So,
in this project we have just built one robot to study the characteristics of swarm bots. The robot
swarm is simple, capable of sensing, localization and actuation based on the local information
and basic rules. In the following sections, the mechanical and electronic modules of the robots
are described with their full capabilities. All the parts were tested and slightly modified for the
applications, and then assembled to build the physical robot swarm.

3.2 SENSORY PLATFORM

Gathering information or data about the working environment or surrounding


environment of the swarm robots is an everlasting job. The sensory unit is important for robot
swarms to perform tasks such as obstacle detection and avoidance, neighboring robot detection,
and navigation. Sensors are classified as five sensing elements of the robot swarm and are used
to collect the information about their surrounding environment by means of electrical or
electromechanical signals. In this proposed hardware design, the robot swarm is equipped with
different types of sensors such as a temperature sensor, humidity sensors, an encoder, a camera,

8
communication devices, proximity sensors, and GPS tracking devices, etc. There are two
primary factors that affect the limitation of sensors: the first is Range and resolution of the
sensors, and the second is Noise that affects the output of the sensors. The study of animal
behavior shows that sensory skills are developed and adapted by the interpretation of signals
generated from sensors. In swarm robots, this self-learning capability is achieved by configuring
and calibrating sensors for a given task. Using multiple sensors (known as sensor fusion)
provides the most efficient and effective methods for collecting and investigating the unknown
environments. In this section, we have explained all the sensors that are used in our proposed
robot swarm hardware with their respective technical specifications.

3.2.1 PROXIMITY SENSORS

The measurement of distance and avoidance of the preceding obstacles is the


fundamental element of the information gathering quest. In swarm robotics, obstacle detection
and collision avoidance in real time while the robots are in motion is major constraint and
difficult task. It requires a proper technology and techniques to get the data of the surrounding
objects. High dimensions capturing ability camera and data processing (image processing)
devices are required. It also hugely depends on Artificial Intelligence to autonomous detect the
obstacles using which the robot can avoid the surrounding obstacles. The Proximity sensors
detect the object, surrounding material or other moving swarm robots without any physical
contact, and calculate the very precise distance of that object. This crucial component not only
avoids collision, but also prevents the physical damage to the swarm robots and maintains safe
distance. Depending on the type of technology used, proximity sensors are classified into
different categories such as inductive, capacitive, photoelectric, and ultrasonic proximity sensors.
Among these, ultrasonic proximity sensors were found to be more accurate and have more
capabilities when compared to the other types of proximity sensors. In proposed swarm robot
model, we use ultrasonic proximity sensors.

3.2.1.1 ULTRASONIC SENSOR

Ultrasonic sensors are very commonly used to measure distance because they are
inexpensive and easy to handle. They are used to avoid obstacles, to navigate, and for map
building. Ultrasonic sensors emit sound waves (ultrasound) of 20 KHz frequency and use it to

9
find a way around an obstacle, detect the uneven surfaces, any shape and size of object in known
as well as in unknown environment. This is known as Echolocation.

Fig. 3.2 – Ultrasonic sensor

This sensor sends outs ultrasonic waves which are then detected after they are reflected or
bounced back from object and/or obstacle. The time required for sending and to receiving the
ultrasonic waves is measured and further processed to calculate the distance. These sensors are
very precise in measurement and used in applications that require measurement between
stationary and moving objects.

Fig. 3.3 – Detecting mechanism of ultrasonic sensor.

The following formula is used to calculate the distance using ultrasonic sensor.

Distance(D) = (Time(t) x Speed of Sound(s)) / 2

Here, D = Distance of the obstacle to be measured

t = The time taken for the ping sent from the sensor to hit the obstacle and receive by the sensor detector

10
s = Speed of the sound at atmosphere (dry air), 343 m/s

The ultrasonic sensor uses the primitive speed distance formula to detect the distance of the
obstacle. However, we see the addition of “2” on the formula as the sound ping travels twice the
distance.

SENSOR FEATURES:

Ultrasonic ranging module HC - SR04 provides 2cm - 400cm non-contact measurement


function, the ranging accuracy can reach to 3mm. The modules include ultrasonic transmitters,
receiver and control circuit. The basic principle of work:

(1) Using IO trigger for at least 10us high level signal,

(2) The Module automatically sends eight 40 kHz and detect whether there is a pulse
signal back.

(3) If the signal back, through high level, time of high output IO duration is the time from
sending ultrasonic to returning.

Wire connecting direct as following:

 5V Supply
 Trigger Pulse Input
 Echo Pulse Output
 0V Ground

ELECTRIC PARAMETER

Working Voltage DC 5 V
Working Current 15 mA
Working Frequency 40 Hz
Max Range 4m
Min Range 2 cm
Measuring Angle 15 degrees
Trigger Input Signal 10 µS TTL pulse
Echo Output Signal Input TTL lever signal and the range in proportion
Dimension 45 x 20 x 15 mm
Table 3.1 – Electric parameter of ultrasonic sensor

11
TIMING DIAGRAM

The Timing diagram is shown below. You only need to supply a short 10µS pulse to the
trigger input to start the ranging, and then the module will send out an 8-cycle burst of ultrasound
at 40 kHz and raise its echo. The Echo is a distance object that is pulse width and the range in
proportion. You can calculate the range through the time interval between sending trigger signal
and receiving echo signal. Formula: µS / 58 = centimeters or µS / 148 =inch; or: the range =
high level time * velocity (340M/S) / 2; we suggest using over 60ms measurement cycle, in order
to prevent trigger signal to the echo signal.

Fig. 3.4 – Timing diagram of ultrasonic sensor

CAUTION

 The module is not suggested to connect directly to electric, if connected electric, the
GND terminal should be connected the module first, otherwise, it will affect the normal
work of the module.
 When tested objects, the range of area is not less than 0.5 square meters and the plane
requests as smooth as possible, otherwise, it will affect the results of measuring.

3.2.1.2 INFRARED SENSORS

The Infrared sensor module consists mainly of the Infrared Transmitter and Receiver,
Opamp, Variable Resistor (Trimmer pot), output LED in brief.

12
Fig. 3.5 – IR Sensor Module

Fig. 3.6 – IR sensor module pinouts

IR LED TRANSMITTER

IR LED emits light, in the range of Infrared frequency. IR light is invisible to us as its


wavelength (700nm – 1mm) is much higher than the visible light range. IR LEDs have light
emitting angle of approx. 20-60 degree and range of approx. few centimetres to several feets,
it depends upon the type of IR transmitter and the manufacturer. Some transmitters have the
range in kilometres. IR LED white or transparent in colour, so it can give out amount of
maximum light.

PHOTODIODE RECEIVER

Photodiode acts as the IR receiver as its conducts when light falls on it. Photodiode is a
semiconductor which has a P-N junction, operated in Reverse Bias, means it start conducting
the current in reverse direction when Light falls on it, and the amount of current flow is
proportional to the amount of Light. This property makes it useful for IR detection.
Photodiode looks like a LED, with a black colour coating on its outer side, Black colour
absorbs the highest amount of light.

13
LM358 OPAMP

LM358 is an Operational Amplifier (Op-Amp) is used as voltage comparator in the IR


sensor. the comparator will compare the threshold voltage set using the preset (pin2) and the
photodiode’s series resistor voltage (pin3).

Photodiode’s series resistor voltage drop > Threshold voltage = Opamp output is High

Photodiode’s series resistor voltage drop < Threshold voltage = Opamp output is Low

When Opamp's output is high the LED at the Opamp output terminal turns ON (Indicating
the detection of Object).

VARIABLE RESISTOR

The variable resistor used here is a preset. It is used to calibrate the distance range at
which object should be detected.

3.3 LOCOMOTION AND MANUPULATION

The biggest challenges in developing the robot swarm are to make them mobile, fully
autonomous, and versatile so that they can move from one place to another over different
types of terrains in an unknown environment. The locomotion of a robot can be achieved by
the motors with some gear ratio to slow down the speed of rotation and increase the torque.
In this section, we explain the type of motors used and their connection and control
mechanism with microcontroller. The robot swarm uses dual wheels for locomotion and for
manipulation and control of motion of motors uses L298N DC Motor Driver Module which
is connected to the microcontroller.

3.3.1 DC MOTORS

For the motion of the robot, we have used dual DC Motors whose motion, direction and
power supply is controlled and maintained by L298N DC Motor Driver Module which is
connected to the central microcontroller to provide and regulate the duration and period of
motor rotation.

14
Voltage DC 3V DC 5V DC 6V
Current 100 MA 100 MA 120 MA
Reduction Rate 48:1
RPM (With tyre) 100 190 240
Tire Diameter 65 mm
Car Speed 20 39 48
Motor Weight (g) 29
Motor Size 70 x 22 x 18 mm
Noise <65 dB
Table 3.2 Motor specifications

3.3.2 MOTOR CONTROLLER

We use the motor controller to drive the wheel motors in addition to the microcontroller. In
this project, we have used L298N DC Motor Driver Module to control the speed and
direction of the wheel motors.  The L298N Motor Driver Module is a high-power motor
driver module for driving DC and Stepper Motors. This module consists of an L298 motor
driver IC and a 78M05 5V regulator. L298N Module can control up to 4 DC motors, or 2 DC
motors with directional and speed control.

Fig. 3.7 L298N motor driver module with pinouts

Pin Name Description


IN1 & IN2 Motor A input pins. Used to control the spinning direction of Motor A

15
IN3 & IN4 Motor B input pins. Used to control the spinning direction of Motor B
ENA Enables PWM signal for Motor A
ENB Enables PWM signal for Motor B
OUT1 & OUT2 Output pins of Motor A
OUT3 & OUT4 Output pins of Motor B
12V 12V input from DC power Source
5V Supplies power for the switching logic circuitry inside L298N IC
GND Ground pin
Table 3.3 L298N module pin configuration

3.4 COMMUNICATION AND CONTROL

3.4.1 COMMUNICATION

One of the most important factors for more efficient cooperative robots is the
communication among them and their environment. The robot should be constantly on
communication with the server and the fellow swarm robots. There is constant transfer of data of
the environment. In this project, we used Bluetooth technology in robots for data transfers and
communication. We have used Bluetooth Module HC-05, as it can easily transfer the data to the
robots and servers placed on surroundings, and it is also easy to connect and use.

Fig. 3.8 HC-05 Bluetooth module Fig. 3.9 HC-05 Bluetooth module pinouts

PIN NAME DESCRIPTION


Enable / Key This pin is used to toggle between Data Mode (set low) and AT command mode
(set high). By default, it is in Data mode
Vcc Powers the module. Connect to +5V Supply voltage

16
Ground Ground pin of module, connect to system ground.
TX – Transmits Serial Data. Everything received via Bluetooth will be given out by
Transmitter this pin as serial data.
RX – Receive Serial Data. Every serial data given to this pin will be broadcasted via
Receiver Bluetooth
State The state pin is connected to on board LED, it can be used as a feedback to check
if Bluetooth is working properly.
LED Indicates the status of Module.

 Blink once in 2 sec: Module has entered Command Mode.


 Repeated Blinking: Waiting for connection in Data Mode.
 Blink twice in 1 sec: Connection successful in Data Mode

Button Used to control the Key/Enable pin to toggle between Data and command Mode
Table 3.4 HC-05 pin configuration

3.4.2 CONTROL

Controlling the robot is a very difficult task, especially for a swarm system. The robots in
a multi agent system are controlled using either centralized or decentralized methods. If the
decentralized technique is applied, the hardware structure of robots should be highly redundant
with exploitation of simple and more robust control strategies. The brain for the robot is its
microcontroller in which the user defined inference rules and knowledge base is stored. The
performance of the robot depends on its microcontroller. The primary function of the controller
is to route and manipulate the communications between other subsystems on the robot such as
sensing platform, actuators, navigation system, and localization system. Robot swarms move the
robots by sending the control signals to drive the motors. We use Arduino Uno microcontroller
for our robot swarm. The programming language used for the controllers is C++.
Arduino Uno is an open-source hardware platform, which adds flexibility in our robot
swarms. This board based on the ATmega328, has 14 digital input/output pins (of which 6 can be
used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a
power jack, an ICSP header, and a reset button. Ultrasonic sensors as well as sharp IR sensor are
connected to the analog input pins, encoders connected to the digital input pins of the controller.

17
This board can be powered by USB port or by 3- 6VDC an external power supply. Pin 0 and Pin
1 are used for TTL serial data receiver (Rx) and data transmitter (Tx).

3.5 POWER CONSUMPTION AND MANAGEMENT


The power management and distribution in swarm robotics is of very high importance,
which depends not only on the electronic design but also on its mechanical structure. To perform
a task in an unknown environment, robots should be capable of great degree of autonomy and
operate over a longer time. The autonomous mobile robots draw power from batteries carried on
the chassis to provide the power to the onboard sensors, actuators, and communication modules.
Batteries have a limited lifetime, due to which the operational time of the robots in the swarm is
also limited. For successful completion of the tasks, the robot swarm must be continuously aware
of the lifetime of its power source; therefore, management of power resources is necessary and
vital for spending the available energy for robots’ swarm economically.
SL. COMPONENT RATING OPERATING CURRENT TOTAL
NO. TIME (%) CONSUMPTION x NO.
OF COMPONENTS
1. Ultrasonic Sensor 4 mA 70 % 2.8 mA * 1 2.8 mA
Wheel Drive
2. 160 mA `100 % 160 mA * 2 320 mA
Motors
3. Motor Controller 10 mA 100 % 10 mA * 1 10 mA
Microcontroller
4. 50 mA 100 % 50 mA * 1 50 mA
(UNO)
5. Miscellaneous 100 mA 100 % 100 mA * 1 100 mA
Total 482.80 mA
Table 3.5 Total power consumption of the robot

CHAPTER 4
PROGRAMMING ON ARDUINO IDE

4.1 GLOBAL VARIABLE DECLARATION


In this section, all the necessary declaration of variables are done. To make the
arrangement of program elements easy and understandable, we have separated the various
functionality and tasks of each component separately.

18
1. //Libraires
2. #include "arduino.h"
3. #include <Servo.h>
4. HardwareSerial & bthc05(Serial);
5. Servo servo;
6. char menuOption = 0;
7. String arr[]={"forward()","backward()"};
8. //MOTOR DRIVER
9. //Motor 1
10. int enA = 13;
11. int in1 = 12;
12. int in2 = 11;
13. //motor 2
14. int enB = 8;
15. int in3 = 10;
16. int in4 = 9;
17. int led = 7;
18. //Servo
19. int delayPeriod = 25;
20. //variable defined for ultrasonic sensor
21. int ping = 6;
22. int echo = 5;
23. int duration = 0;
24. //functions prototype
25. void setup();
26. void loop();
27. int hc05();
28. void forward(int motorspeed);
29. void backward(int motorspeed);
30. void stopmotor();
31. void rotate();

19
32. float ultrasonic();
33. char menu();
34. void right(int motorspeed);
35. void left(int motorspeed);
36. void servoRotate();

4.2 SETUP
Here, we have done the setup of all the pins that are used or connected to the
microcontroller. We have declared if the pin used is for OUTPUT or INPUT.
1. void setup() {
2. // put your setup code here, to run once:
3. servo.attach(7);
4. //motor pin setup
5. pinMode(enA, OUTPUT);
6. pinMode(in1, OUTPUT);
7. pinMode(in2, OUTPUT);
8. pinMode(enB, OUTPUT);
9. pinMode(in3, OUTPUT);
10. pinMode(in4, OUTPUT);
11. //Ultrsonic sensor
12. pinMode(ping, OUTPUT);
13. pinMode(echo, INPUT);
14. pinMode(LED_BUILTIN, OUTPUT);
15. pinMode(led, OUTPUT);
16. // servo.detach();
17. // setup for serial port
18. Serial.begin(9600);
19. bthc05.begin(9600);
20. while (!Serial);
21. menuOption = menu();
22. }

20
4.3 LOOPING
Every Arduino program has a loop function that loops forever when the system is started
or reset.
1. void loop ()
2. {
3. // put your main code here, to run repeatedly:
4. if (menuOption == '1')
5. {
6. float dist = ultrasonic();
7. if (dist > 0)
8. {
9. Serial.print(dist, 2);
10. Serial.println(" cm");
11. if (dist > 10 && dist < 500)
12. forward(255);
13. else if (dist > 0 && dist < 10)
14. {
15. stopmotor();
16. backward(255);
17. right(255);
18. delay(1000);
19. }
20. else
21. stopmotor();
22. }
23. //Works if menu is 2
24. else if (menuOption == '2')
25. {
26. stopmotor();
27. }

21
28. }
29. }

4.4 OTHER FUNCTIONS


4.4.1 BLUETOOTH FUNCITONS
All the necessary bluetooh modules are invoked and utilised in this section of the program.
1. int hc05()
2. {
3. String bthc05Str = "";

4. if (bthc05.available())
5. {
6. //Read a complete line from bluetooth terminal
7. bthc05Str = bthc05.readStringUntil('\n');
8. // Print raw data to serial monitor
9. Serial.print("BT Raw Data: ");
10. Serial.println(bthc05Str);
11. // Serial.println(typeof(bthc05Str));
12. int value = bthc05Str.toInt();
13. return value;
14. }
15. }

4.4.2 MOTOR FUNCTIONS


Since motor requires various functions to hover around the bot, we have seperated each funcitons
such as forward motion, backward motion, right and left motion. Each of these fuctions are included in
each funcitons that are called from loop funtion.
1. void forward(int motorspeed)
2. {
3. digitalWrite(in1, HIGH);

22
4. digitalWrite(in2, LOW);
5. digitalWrite(in3, HIGH);
6. digitalWrite(in4, LOW);
7. if (motorspeed > 255)
8. motorspeed = 255;
9. analogWrite(enA, motorspeed);
10. analogWrite(enB, motorspeed);
11. }
12. void backward(int motorspeed)
13. {
14. digitalWrite(in1, LOW);
15. digitalWrite(in2, HIGH);
16. digitalWrite(in3, LOW);
17. digitalWrite(in4, HIGH);
18. if (motorspeed > 255)
19. motorspeed = 255;
20. analogWrite(enA, motorspeed);
21. analogWrite(enB, motorspeed);
22. }
23. void stopmotor()
24. {
25. analogWrite(enA, 0);
26. analogWrite(enB, 0);
27. }
28. void right(int motorspeed)
29. {
30. digitalWrite(in1, HIGH);//MOVES FORWARD
31. digitalWrite(in2, LOW);
32. digitalWrite(in3, LOW);//MOVES BACK
33. digitalWrite(in4, HIGH);
34. if (motorspeed > 255)

23
35. motorspeed = 255;
36. analogWrite(enA, motorspeed);
37. analogWrite(enB, motorspeed);
38. }
39. void left(int motorspeed)
40. {
41. digitalWrite(in1, LOW);
42. digitalWrite(in2, HIGH);
43. digitalWrite(in3, HIGH);
44. digitalWrite(in4, LOW);
45. if (motorspeed > 255)
46. motorspeed = 255;
47. analogWrite(enA, motorspeed);
48. analogWrite(enB, motorspeed);
49. }

4.4.3 ULTRASONIC SENSOR


Here, we have declared ultrasonic() function to get the distance of the obstacle using the
sound ping sent form the ultrasonic sensor.
1. float ultrasonic()// calculates distance using ultrasonic sensor
2. {
3. digitalWrite(ping, LOW);
4. delayMicroseconds(2);
5. digitalWrite(ping, HIGH);
6. delayMicroseconds(10);
7. digitalWrite(ping, LOW);
8. duration = pulseIn(echo, HIGH);
9. float dist = (duration * 0.0344) / 2;
10. delay(500);
11. return dist;
12. }

24
4.4.4 MENU
To get the menu optio while contolling the robot on the mobile application, we have declared a
menu option.
1. char menu()
2. {
3. while (!Serial.available());
4. // Read data from serial monitor if received
5. while (Serial.available())
6. {
7. char c = Serial.read();
8. if (isAlphaNumeric(c))
9. {
10. if (c == '1')
11. Serial.println(F("The bot initialisation has begun."));
12. else if (c == '2')
13. Serial.println(F("The bot is being set at halt state."));
14. else
15. {
16. Serial.println(F("illegal input!"));
17. return 0;
18. }
19. return c;
20. }
CHAPTER 5
COST ESTIMATION

It is very important as to how much of fund was required to build the project as it
gives the clear idea and estimation while building the large quantities of similar entities. So,
since our project was including good amount of hardware material, it costs some amount to buy
it. Each of the materials used and its costs are mentioned below.

25
The cost of the overall project amounted to around Rs. 2900.00 (Indian Currency). The
sector that took the larger amount of fund was a board chassis and microcontroller. The
expenditure could have been reduced more with the building of our own designed chassis which
was not able to due to resources unavailability and time constraints. This project would still be
quite expensive considering the number of robots that has to be built to form a complete swarm.

Dimensions Weight PRICE QNTY TOTAL


ITEMS
(cm) (gms) (Rs.) (Nos.) (Rs.)

Arduino UNO Board 80 x 20(mm) 65.5 789.00 1 789.00

Bluetooth Module 2x2 25 375.00 1 375.00

25.5 x 10
Robot Car Chassis 400 697.00 1 697.00
(Chassis size)

Ultrasonic Sensor 3x5 50 199.00 1 199.00

Motor Driver 4 x 2.5 35 210.00 1 210.00

Servo Motor 2x2 50 193.00 1 193.00

Resistor Pack N/A N/A 190.00 1 190.00

Jumper wires 10 x 200(Inc) N/A 238.00 1 238.00


Table 5.1 Cost estimation
CHAPTER 6
RESULT AND DISCUSSION

We have made a controllable bot, wherein the robot is in two wheeled fundamental robots.
The primary target is to demonstrate the correspondence between the robots which will be
simply remote and to demonstrate that how the robot's team up with one another to finish their
work. The robot on encounter of obstacle stops and takes a different route to reach its
destination. The robot also sends back the information of the obstacle back to the server.
In this project, the swarm robot was tested in various terrain and with various obstacles to
tests its ability to perform object avoidance. The major drawback was the robot design and motor
wheel as it failed to climb many terrains.

26
The robot requires further addition of cameras to capture the surrounding and feed the
data to AI processing so that the robot can make decision to whether avoid the obstacle or roll
over it based on the nature and size of the obstacle. If the robot is at a state able to go over the
obstacle, it should instead of avoiding it.

CHAPTER 7
CONCLUSIONS

The challenging planning problems are often simplified with relaxed constraints to apply
complex algorithms that optimize system performance. The simplifications are often
necessary to avoid an optimal or near-optimal solutions being intractable. Simplifications
may include replacing direct dependencies of actions with general goals or applying the same
constraints to a group of actions. Through this project, we have worked to build something
that could be used instead of man force to work under certain situation where the human
intervention can be dangerous.

27
In this project, we have discussed about the centralized control, and it could be replaced
with decentralized control implementation of which is quite difficult. We have also discussed
and addressed various power management, using which data, the power optimization can be
carried out in the robots.

CHAPTER 8
REFERENCES

1. E. Sahin, Swarm robotics: From sources of inspiration to domains of application, Berlin


Heidelberg: Springer, 2004.
2. L. Bayindir and E. Sahin, "A review of studies in swarm robotics," Turkish Journal of
Electrical Engineering and Computer Sciences, vol. 15, no. 2, pp. 115-147, 2007.
3. A. Gautam and S. Mohan, "A review of research in multi-robot systems," in 2012 IEEE
7th International Conference on Industrial and Information Systems (ICIIS), 2012.

28
4. Iñaki Navarro and Fernando Matía, “An Introduction to Swarm Robotics”, Hindawi
Publishing Corporation ISRN Robotics, Volume 2013, Article ID 608164, 10 pages.
5. Zoltan Beck, W.T. Luke Teacy, Alex Rogers, Nicholas R. Jennings,” Collaboraive online
planning for Automated Victim Search in Disaster Response”, Robotics and Autonomous
Systems, PII: SO921-8890(16)30751-5Ref.: ROBOT 2916.
6. Kunal R Chaudari, Soham D. Nandurdikar, Eshwar B. Chavan, Abishek S. Javalkar,
“Swarm Robotics”, International Research Journal of Engineering and Technology
(IRJET), Volume: 06 Issue: 12 | Dec 2019, e-ISSN: 2395-0056, p-ISSN: 2395-0072.
7. Iroju Olaronke , Ikono Rhoda, Ishaya Gambo, Ojerinde Oluwaseun and Olaleke Janet,
“A Systematic Review of Swarm Robots”, Current Journal of Applied Science and Technology,
June 2020, DOI:10.9734/cjast/2020/v39i1530719.
8. Madhav Patil, Tamer Abukhalil, Sarosh Patel, Tarek Sobh, “ UB Swarm: Hardware
Implementation of Heterogeneous Swarm Robot with Fault Detection and Power Management”,
International Journal of Computing, 14(1) 2015, 1-2, Print ISSN 1727-6209, On-line ISSN 2312-
5381.

29

You might also like