Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

A

PROJECT REPORT

ON

ROBOT FOR SANITIZING A PLACE


Submitted for Partial fulfilment for the award of the Degree of Bachelor of
Technology
IN

ELECTRICAL ENGINEERING

Session 2017-2021

SUBMITTED TO: SUBMITTED BY:

Dr.Prerak Bhardwaj Anant Sharma (17EJCEE016)


HOD,EE Department Kunvarpreet (17EJCEE059)
Kunika Gupta (17EJCEE058)
Guneet Gupta(17EJCEE038)

DEPARTMENT OF ELECTRICAL ENGINEERING


JAIPUR ENGINEERING COLLEGE AND RESEARCH CENTRE
Shri Ram Ki Nangal, Via Vatika, Tonk Road, Sitapura, Jaipur-302022 (Rajasthan)
Session: 2020-2021
CANDIDATE’S DECLARATION

I hereby declare that the work, which is presented in this project report, entitled “ Robot for
Sanitizing a Place” being submitted in partial fulfillment of the requirements for the award of the
degree of Bachelor of Technology in Electrical Engineering, submitted to Department of
Electrical Engineering, Jaipur Engineering College and Research Centre, Jaipur, is an
authentic record of my own work carried out from July 2020 to June 2021, under the guidance and
supervision of Ms. Neha Agrawal in Department of Electrical Engineering, Jaipur Engineering
College and Research Centre The results embodied in this project have not submitted for the
award of any other Degree or Diploma.

Date: 13/08/2021 Anant Sharma

Place: Jaipur Kunika Gupta

Guneet Gupta

Kunvarpreet Singh

CERTIFICATE

This is to certify that the statement made by the candidate is correct to the best of our knowledgeand
belief.

(Ms. Neha Agrawal) Asst.Professor

Department of Electrical Engineering

i
ACKNOWLEDGEMENT

I am extremely grateful to Dr. V.K Chandana, Principal, Jaipur Engineering College and Research
Centre and Dr. Prerak Bhardwaj, Head of Electrical Engineering Department, for providing all the
required resources for the successful completion of my Project.

My heartfelt gratitude to my Project guide Ms. Neha Agrawal, for her valuable suggestions and
guidance in the preparation of the Project report. I am extremely thankful to her for providing such
a nice support, although she had a busy schedule managing the corporate affairs.

I express my thanks to friends for all the help and co-ordination extended in bringing out this
Project successfully in time.

I will be failing in duty if I do not acknowledge with grateful thanks to the authors of the references
and other literature referred to in this Project.

Lastly, thanks to all faculty members of Electrical Engineering Department for their moral
support and guidance.

Date: 13-08-2021 Anant Sharma [17EJCEE016]

Place: Jaipur Kunika Gupta[17EJCEE058]

Guneet Gupta[17EJCEE038]

Kunvarpreet Singh[17EJCEE059]

IV Year, Electrical Engineering

ii
ABSTRACT

This project describes the evolving role of robotics in healthcare and allied areas with special

concerns relating to the management and control of the spread of the novel coronavirus disease

2019 (COVID-19). The prime utilization of such robots is to minimize person-to-person contact

and to ensure cleaning, sterilization and support in hospitals and similar facilities such as

quarantine. This will result in minimizing the life threat to medical staffs and doctors taking an

active role in the management of the COVID-19 pandemic. The intention of the present research

is to highlight the importance of medical robotics in general and then to connect its utilization

with the perspective of COVID-19 management so that the hospital management can direct

themselves to maximize the use of medical robots for various medical procedures. This is despite

the popularity of tele medicine, which is also effective in similar situations. In essence, the recent

achievement of the Korean and Chinese health sectors in obtaining active control of the COVID-

19 pandemic was not possible without the use of state of the art medical technology .

iii
CONTENT

Candidate’s Declaration i

Acknowledgement ii

Abstract iii

Content iv

List of Figures vii

Chapter 1: INTRODUCTION 1-4

1.1 Objective 1

1.2 Sanitizing Robot 3

Chapter 2: CURRENT SCENERIO 5-8

2.1 India Response to Covid-19 6

2.2 Challeneges That Lies in the Road 7

2.3 Management of Hospitals in Covid-19 7

2.4 Organizational Thesis 8

Chapter 3: HARDWARE AND SOFTWARE REQUIRED 9-18

3.1 Hardware Required 9-15

3.1.1 Arduino Uno 9

3.1.2 HC-05 Bluetooth Module 9

3.1.3 Belt Drive 10

3.1.4 Pump 11

3.1.5 Robotic Arm 12

iv
3.1.6 SG-90 Motor 12

3.1.7 Spray Nozzle 13

3.1.8 Ultrasonic Sensor 14

3.1.9 Connecting Wires 15

3.1.10 Breadboard 15

3.2 Software Required 17

3.2.1 Robot Operating System 17

3.2.2 Arduino IDE 1.8.16 17

Chapter 4: WORKING OF SANITIZING ROBOT 19-23

4.1 Introduction 19

4.2 Working Explaination 19

4.3 Circuit Diagram of Sanitizing Robot 20

4.4 Bluetooth Operating System 21

4.4.1 How Button of Remote Works 21

4.5 Working Block Diagram 22

Chapter 5: PROGRAMMING CODE OF SANITIZING ROBOT 24-45

5.1 Arduino Code of Sanitizing Robot 24

5.2 Code for Sanitizing Robot Simulation 29

Chapter 6: RESULTS 46-49

6.1 ROS Result 46

6.2 Proteus Design Suit Result 46

6.3 Hardware Result 47

Chapter 7: CONLUSION AND FUTURE SCOPE 50-51

7.1 Conclusion 50

7.2 Future Scope 50


v
7.2.1 Positive Perception 50

7.2.2 Provide Peace of Mind Occupants 50

7.2.3 Increase Cleaning Frequency 51

7.2.4 Overcome Staffing Challenges 51

7.2.5 Validate Cleaning Tasks 51

7.2.6 Speedy Delivery 51

Chapter 8: REFERENCES 52

vi
LIST OF FIGURES

Figure Figure Name Page


No.
No.

1.2.1 Schematic Diagram 3

2.1 Line Diagram Showing Trajectory of Cases 5

3.1.1 Arduino Uno 9

3.1.2 HC-05 Module 10

3.1.3 Belt Drive 11

3.1.4 Pump 11

3.1.5 Robotic Arm 12

3.1.6 SG-90 Servo Motor 12

3.1.7 Spray Nozzle 13

vii
3.1.8 Ultrasonic Sensor 14

3.1.9 Jumper Wires 15

3.1.10 Breadboard 16

3.2.1 Logo of ROS Application 17

3.2.2 Logo of Arduino Application 18

4.3.1 Circuit Diagram 20

4.4.1 Mobile Control Mode 21

4.5.1 Block Diagram 23

6.1.1 3D Simulation of Sanitization Robot 46

6.2.1 Proteus Suit Results 47

6.3.1 Top View of Sanitizing Robot 48

viii
CHAPTER – 1
INTRODUCTION
1.1 Objective
A robot is a machine - especially one programmable by a computer - capable of carrying out a complex
series of actions automatically. Robots can be guided by an external control device or the control may
be embedded within. Robots may be constructed on the lines of human form, but most robots are
machines designed to perform a task with no regard to their aesthetics.

Robots can be autonomous or semi-autonomous and range from humanoids such as Honda's Advanced
Step in Innovative Mobility (ASIMO) and TOSY's TOSY Ping Pong Playing Robot (TOPIO) to
industrial robots, medical operating robots, patient assist robots, dog therapy robots, collectively
programmed swarm robots, UAV drones such as General Atomics MQ-1 Predator, and even
microscopic nano robots. By mimicking a lifelike appearance or automating movements, a robot may
convey a sense of intelligence or thought of its own. Autonomous things are expected to proliferate in
the coming decade, with home robotics and the autonomous car as some of the main drivers.

In the amidst of this global pandemic, stepping in where humans should not, robots are being used for
jobs such as sanitizing hospitals and delivering food and medicines, and have proved to be very much
useful and handy. Each and every day as health workers, researchers and governments struggle to
control the spread of the virus that has infected more than 22,053,135 people globally and claimed more
than 777,489 lives. Robots are also being deployed for administering treatment and providing support to
quarantined patients.

The World Health Organization has advised physical distancing for people around the world to prevent
community level transmission of Covid-19. Sanitization, which has become a very important aspect in
these pandemic times and plays a very crucial role in preventing us from exposure of this deadly virus
and thus helping in eradication of this global pandemic is very important.

Sanitization in these areas is indeed challenging and requires very high measures to be taken. But in
spite of all these high-end measures taken, there is always a risk associated with it. The objective of this
project is minimizing human association as much as possible and thus automating the tasks such as
sanitization with the help of robots. In this case, the use of robots can reduce human exposure to
pathogens, which has become increasingly important as epidemics escalates. The project uses Arduino

1
8.0 software for its design and development of the sanitization robot. Arduino integrated development
and HC-05 Bluetooth module used for control and programming. The design of the robot has a smile
feature that helps in spreading positivity amidst these times.

Sanitizing Robot is fully autonomous; it performs sanitizing in automatic mode while monitoring the
level of the sprayed compound, coverage area, and battery life. Right after the disinfecting chemical
mixture is distributed, the robot immediately returns to the charging station where the refill solution is
added. At the same time, the batteries are charged to their full capacity.

This method of application allows a single operator to service several robots simultaneously and to
disinfect large areas efficiently. Most important, the technical staff does not expose itself to prolonged
exposure of highly concentrated chemicals while working in entirely safe and risk-freeenvironment.

It is noteworthy to emphasize that the Sanitizing Robot is a simplified version of the security robot. It is
completely built on a shared robot platform and equipped with the latest technological hardware and
software solutions. SMP Robotics performed numerous timely tests in different environments, settings
and weather conditions resulting in only one outcome that this robot to be a proven, essential and cost-
effective solution.

This method of disinfection is widely used in urban and agricultural sectors due to the high efficiency of
processing complex surfaces and the low-cost of disinfectant chemicals. The intake of sanitizing
solution allows the robot to keep sterilizing for about 3-4 hours on a route with the proximity of 10
miles. The capturing area of the disinfection zone depends on the direction and strength of the wind and
can exceed 30 feet.

The sterilized surface area is automatically calculated by the special sensor installed on the robot. It
accumulates and processes incoming data of the sprayed footage taking into consideration the wind
speed and its direction. A specially developed smartphone application is used to display the
decontaminated area on the map for easy monitoring and control.

The objective of this project is minimizing human association as much as possible and thus automating
the tasks such as sanitization with the help of robots. In this case, the use of robots can reduce human
exposure to pathogens, which has become increasingly important as epidemics escalates. The project
uses Autodesk Fusion 360 software for its design and development of the sanitization robot. Arduino
integrated development and HC-05 Bluetooth module used for control and programming

2
1.2 Sanitizing Robot

The absolute best way of dealing with the coronavirus pandemic is to just not get coronavirus in the first
place. By now, you’ve (hopefully) had all of the strategies for doing this drilled into your skull—
wash your hands, keep away from large groups of people, wash your hands, stay home when sick, wash
your hands, avoid travel when possible, and please, please wash your hands.

At the top of the list of the places to avoid right now are hospitals, because that’s where all the really
sick people go. But for healthcare workers, and the sick people themselves, there’s really no other
option. To prevent the spread of coronavirus (and everything else) through hospitals, keeping surfaces
disinfected is incredibly important, but it’s also dirty, dull, and (considering what you can get infected
with) dangerous. And that’s why it’s an ideal task for autonomous robots.

Sanitizing Robot navigate semi-autonomously in any environment using Bluetooth and Mobiles or
Remote, while its arm is controlled by a human operator – like a tank with a rotating turret. Currently,
the operator can control the robot from up to 30 meters using a laptop/tablet.

Rather than a conventional pressure-spray nozzle, it uses an electrostatic-charged nozzle to ensure a


wider and further spread of the disinfectant, behind and over hidden surfaces. Unlike typical nozzles,
nozzle discharges chemicals with a positive electrical charge. These disinfectants will then be attracted
to all negatively-charged surfaces. Surfaces already covered with the disinfectant will then repel the
spray, making this method very efficient.

Figure 1.2.1 – Schematic Diagram


3
This concept of charge attraction is similar to how positive and negative poles of magnets are drawn to
each other. The process is more consistent than a human cleaning since the robot follows the same path
each time, and its autonomy means that human staff can be freed up to do more interesting tasks, like
interacting with patients.

This concept of charge attraction is similar to how positive and negative poles of magnets are drawn to
each other. The process is more consistent than a human cleaning since the robot follows the same path
each time, and its autonomy means that human staff can be freed up to do more interesting tasks, like
interacting with patients.

Sanitizing Robots is a robot that are able to disinfect patient rooms and operating theaters in hospitals.
They’re able to disinfect pretty much anything you point them at. By automatically spray the
disinfectant on patients bed when they get discharge. It is necessary for new patients as well the doctors.
This robot is operate by a mobile or remote so that sanitization must be safe and the for labour is stop
because they can also get into contact of virus if done sanitization physically.

It takes between 10 and 15 minutes to disinfect a typical room, with the robot spending 1 or 2
minutes in five or six different positions around the room to maximize the number of surfaces that it
disinfects. The robot’s UV array emits 20 joules per square meter per second (at 1 meter distance) of
254-nanometer light, which will utterly wreck 99.99 percent of germs in just a few minutes without the
robot having to do anything more complicated than just sit there.

4
CHAPTER – 2
CURRENT SCENARIO
The first case of COVID-19 in India was reported on January 30, 2020; the index patient was a student
who had returned from Wuhan. Thereafter, only 2 more cases were reported in February. Subsequently,
more cases came to the forefront in the month of March and there has been a surge in the number of
cases since the latter half of April 2020 (Figure 1). As of June 9, 2020, according to the Ministry of
Health and Family Welfare (MoHFW), a total of 266 598 confirmed COVID-19 cases have been
reported from 32 states/union territories. Most of the cases have been reported from the states of
Maharashtra, Tamil Nadu, Delhi, and Gujarat.

Figure 2.1- Line diagram showing trajectory of confirmed novel coronavirus disease cases in
India.

Hitherto, the MoHFW have reported 7471 deaths due to COVID-19, translating into a case- fatality rate
of 2.8%.

An estimate released by the MoHFW on April 6, 2020 had revealed that out of the total number of
confirmed cases, 76% were male. People younger than 40 years and older than 60 years accounted for
47% and 19% of cases, respectively. On the contrary, 63% of all the deaths had occurred in those aged
60 years and older. The case-fatality rates in 3 age groups, namely, <40 years, 40 to 60 years, and >60
years were 0.40%, 2.36%, and 8.89%, respectively. Moreover, 86% of the deaths were seen in people

5
with underlying comorbidities, notably, diabetes mellitus, hypertension, kidney disease and/or
cardiovascular disease. Although the overall mortality rates vary from one nation to another, being as
low as 0.7% in Germany to as high as 10.8% in Italy, the fact that mortality due to COVID-19 increases
with advancing age and presence of comorbidities is consistent across all countries. Another update by
the Indian Council of Medical Research (ICMR) mentioned that 80% of the cases in India are either
asymptomatic or mild. This is very similar to what has been reported from the largest Chinese series.

2.1 India Response to COVID-19.

India has promptly responded to the novel threat. International borders have been shut and nationwide
lockdown has been imposed since March 25. As per the Oxford COVID-19 Government Response
Tracker, India’s response has been rated as one of the most stringent in the world, exceeding the
United States, Germany, France, Italy, and the United Kingdom. In the absence of containment and
timely lockdown, India would have had 820 000 cases by April15.

On the contrary, the reported number of COVID-19 cases in India as of April 15 was 11 438 (Figure 1),
thereby preventing more than 800 000 cases. The ICMR had earlier predicted that strict social distancing
would reduce the total number of cases by 62% and the peak number of cases by 89%. Similarly,
Chatterjee et al, using a stochastic mathematical model had predicted that uninterrupted spread of
COVID-19 would have led to 3 million cases by May 25; in reality there had been 138 845 cases as on
May 25. The COVID-19 testing rates in India have markedly increased from 0.02/1000 people in late
March to 3.28/1000 people as of June 7. As of June 9, 2020, 4 916 116 samples have been tested for
COVID-19.

In addition to the conventional real-time polymerase chain reaction (RT-PCR), the ICMR has advocated
the use of other screening tests like TrueNat and Cartridge-Based Nucleic Acid Amplification Test
(CBNAAT) using Cepheid Xpert Xpress SARS-CoV-2. Till date, 17 RT- PCR kits have been
validated and approved for use in India by the ICMR. Rapid antibody test kits are also being used for
surveillance purpose. Testing has been scaled up through 553 government and 231 private laboratories
all over the country. The strategy for COVID-19 testing has been expanded so as to include all those
with symptomatic influenza-like illness.The increased number of tests could have partly contributed to
the recent upsurge in the number of cases. In addition, the Government has established over 600
COVID-19 dedicated facilities all over India; as a backup, the Indian Railways have converted 375
coaches into isolation wards. All efforts are being made to increase awareness about COVID-19 and its
prevention via print, broadcast, and social media.

6
2.2Challenges That Lie in the Road Ahead

The biggest challenge in India’s fight against COVID-19 is the population, with a population density
that is almost 3 times that of China. The scenario is potentially worse in urban slums where the
population density may exceed more than 250 000/km2, making social distancing impossible. As
many as 140 million people in India are migrant daily-wage laborers; with imposition of nationwide
lockdown, they are being forced to flock back to their villages without being able to abide by
government advisories of social distancing. Unfortunately, another major hurdle in India’s struggle
against COVID-19 has been the attitude and action of some of the citizens; there have been
occasional reports of civilians hiding travel history in an attempt to escape quarantine and people
participating in otherwise forbidden massive religious gatherings. Although the health care
infrastructure has been urgently strengthened and nearly 2000 dedicated COVID-19 facilities have
been amassed all over the country over a short period of time, the dearth of doctors cannot be
made up overnight. India has just 0.8 doctors per 1000 population as against Italy’s 4.1, China’s
1.8, Spain’s 4.1, Iran’s 1.1 and the United States’ 2.6. In addition, the eastern states of West
Bengal and Odisha have recently been hit by a super cyclone named Amphan that have wreaked
havoc in the 2 states.

2.3 Management of Hospitals in Covid-19

In public hospitals, we interviewed cleaners and other hospital staff in 22 health facilities in Bihar,
Uttar Pradesh, and Madhya Pradesh in 2016 and 2017. Even before the pandemic, cleaners did not
have sufficient protective equipment or training to safeguard themselves and patients. Most cleaners
we met were Dalits who belonged to ‘sweeper castes.’ Their ‘low’ social status, and the fact that
most of them are contract workers, meant that they were often afraid to ask for what they needed,
including the protective equipment they were legally entitled to receive. Unfortunately, many
cleaners did not even have gloves as they swept and mopped floors, cleaned latrines, and wiped
delivery tables. One cleaner explained that she only used one glove per delivery because the
contractor did not provide gloves, and because it was difficult to ask nurses for supplies. Another
said that they were once given protective equipment, including rubber boots and masks, but these
supplies were soon stolen. They wanted to ask for replacements, but were afraid to speak up for fear
of being fired.

Most cleaners we spoke to were afraid of contracting infections at the hospital and of taking
them home to their families. However, to earn a living, they continued to work even without
protective gear. In this time of COVID-19, without protective equipment, these workers are at risk
and could also put patients and staff at risk. We hope they are not afraid to ask for what they need to

7
keep themselves and others safe.

COVID-19 has highlighted the importance of closely following infection control protocols, but
cleaners also suffer due to lack of training. Most cleaners we met had received none. There seemed
to be several reasons for this. First, cleaning jobs were not considered important enough to warrant
special training. Second, as a cleaner explained, anyone of a sweeper caste who took the job of a
cleaner was assumed to already know what to do: “We are of a low caste, and from childhood we
have been doing this work… what better training than this could there be?” And third, hospital staff
who received infection control training often did not communicate procedures and guidelines in
detail to cleaners because they assumed that they were not intelligent enough to understand.

2.4 Organization of Thesis

The organization of this thesis is as follows :

Chapter 1 - Contains some basic information about our robot, starting from the source that is

bluetooth signal from android app and at last explain the need of robot.

Chapter 2 - Specifies the need of our robot in the current covid scenario to protect the health

Workers.

Chapter 3 - Contains the description of the robot and its working.

Chapter 4 - Contains the list and description of hardware components and software used .

Chapter 5 - Contains the working and block diagram of the robot.

Chapter 6 - Code for hardware and simulation.

Chapter 7 - Describes the advantages of robot.

Chapter 8 - Contains results of our project.

Chapter 9 - Contains conclusion of our project.

8
CHAPTER 3
HARDWARE AND SOFTWARE REQUIRED
3.1 Hardware Required
Project ideas / topics depend majorly on hardware components for their operation. In some cases,
software is used for programming certain integrated circuit components otherwise pure hardware
components such as digital and analog discrete or monolithic integrated circuits are used.

3.1.1 Arduino Uno

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P
microcontroller and developed by Arduino.cc. The board is equipped with sets of digital and analog
input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other
circuits. The board has 14 digital I/O pins (six capable of PWM output), 6 analog I/O pins, and is
programmable with the Arduino IDE (Integrated Development Environment), via a type B USB
cable. It can be powered by the USB cable or by an external 9-volt battery, though it accepts
voltages between 7 and 20 volts. It is similar to the Arduino Nano and Leonardo. The hardware
reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is
available on the Arduino website. Layout and production files for some versions of the hardware are
also available.

Figure 3.1.1 – Arduino Uno

3.1.2 HC-05 Bluetooth Module

The HC-05 is a very cool module which can add two-way (full-duplex) wireless functionality to your
projects. You can use this module to communicate between two microcontrollers like Arduino or

9
communicate with any device with Bluetooth functionality like a Phone or Laptop. There are many
android applications that are already available which makes this process a lot easier. The module
communicates with the help of USART at 9600 baud rate hence it is easy to interface with any
microcontroller that supports USART. We can also configure the default values of the module by
using the command mode. So if you looking for a Wireless module that could transfer data from
your computer or mobile phone to microcontroller or vice versa then this module might be the
right choice for you. However do not expect this module to transfer multimedia like photos or songs;
you might have to look into the CSR8645 module for that.

Figure 3.1.2 – HC-05 Module

3.1.3 Belt Drive

A belt drive, in machinery, a pair of pulleys attached to usually parallel shafts and connected byan
encircling flexible belt (band) that can serve to transmit and modify rotary motion from one shaft to
the other.

Belts are looped over pulleys and may have a twist between the pulleys, and the shafts need not be
parallel. Most belt drives consist of flat leather, rubber, or fabric belts running on cylindrical pulleys
or of belts with a V-shaped cross-section running on grooved pulleys.

In a two pulley system, the belt can either drive the pulleys normally in one direction (the same if on
parallel shafts), or the belt may be crossed, so that the direction of the driven shaft is reversed (the
opposite direction to the driver if on parallel shafts).

As a source of motion, a conveyor belt is one application where the belt is adapted to carry a load
continuously between two points. The belt drive can also be used to change the speed of rotation,
either up or down, by using different sized pulley.
10
Figure 3.1.3 – Belt Drive

3.1.4 Pump

A pump is a device that moves fluids (liquids or gases), or sometimes slurries, by mechanical action,
typically converted from electrical energy into hydraulic energy.

Pumps can be classified into three major groups according to the method they use to move the fluid:
direct lift, displacement, and gravity pumps. Pumps operate by some mechanism (typically
reciprocating or rotary), and consume energy to perform mechanical work moving the fluid. Pumps
operate via many energy sources, including manual operation, electricity, engines, or wind power,
and come in many sizes, from microscopic for use in medical applications, to large industrial pumps.

Figure 3.1.4 – Pump

Mechanical pumps serve in a wide range of applications such as pumping water from wells,aquarium
filtering, pond filtering and aeration, in the car industry for water- cooling and fuel injection, in

11
the energy industry for pumping oil and natural gas or for operating cooling towers and other
components of heating, ventilation and air conditioning systems. In the medical industry, pumps
are used for biochemical processes in developing and manufacturing medicine, and as artificial
replacements for body parts, in particular the artificial heart and penile prosthesis. When a casing
contains only one revolving impeller, it is called a single-stage pump. When a casing contains two or
more revolving impellers, it is called a double- or multi-stage pump.

3.1.5 Robotic Arm

A robotic arm is a type of mechanical arm, usually programmable, with similar functions to a human
arm; the arm may be the sum total of the mechanism or may be part of a more complex robot.
The links of such a manipulator are connected by joints allowing either rotational motion (such as in
an articulated robot) or translational (linear) displacement. The links of the manipulator can be
considered to form a kinematic chain. The terminus of the kinematic chain of the manipulator is
called the end effector and it is analogous to the human hand. However, the term "robotic hand" as a
synonym of the robotic arm is often proscribed.

Figure 3.1.5 – Robotic Arm

3.1.6 SG-90 Motor

Servomotor is a rotary actuator or linear actuator that allows for precise control of angular or linear
position, velocity and acceleration. It consists of a suiteeeable motor coupled to a sensor for position
feedback. It also requires a relatively sophisticated controller, often a dedicated module designed
specifically for use with servomotors.

12
Figure 3.1.6 – SG-90 Servo Motor

Servomotors are not a specific class of motor, although the term servomotor is often used to refer to
a motor suiteeeable for use in a closed-loop control system. Servomotors are used in applications
such as robotics, CNC machinery or automated manufacturing. A servomotor is a rotary actuator or
linear actuator that allows for precise control of angular or linear position, velocity and acceleration.
It consists of a suiteeeable motor coupled to a sensor for position feedback.

3.1.7 Spray Nozzel

A spray nozzle is a precision device that facilitates dispersion of liquid into a spray. Nozzles are used
for three purposes to distribute a liquid over an area, to increase liquid surface area, and create
impact force on a solid surface. A wide variety of spray nozzle applications use a number of spray
characteristics to describe the spray.

Figure 3.1.7- Spray Nozzle

13
Spray nozzles can be categorized based on the energy input used to cause atomization, the breakup
of the fluid into drops. Spray nozzles can have one or more outlets; a multiple outlet nozzle is known
as a compound nozzle. Multiple outlets on nozzles are present on spray balls, which have been used
in the brewing industry for many years for cleaning casks and kegs. Spray nozzles range from heavy
duty industrial uses to light duty spray cans or spray bottles.

3.1.8 Ultrasonic Sensor

An ultrasonic sensor is an electronic device that measures the distance of a target object by emitting
ultrasonic sound waves, and converts the reflected sound into an electrical signal. Ultrasonic waves
travel faster than the speed of audible sound (i.e. the sound that humans can hear). Ultrasonic sensors
have two main components: the transmitter (which emits the sound using piezoelectric crystals) and
the receiver (which encounters the sound after it has travelled to and from the target).

Figure 3.1.8- Ultrasonic Sensor

Ultrasonic sensors are used primarily as proximity sensors. They can be found in automobile self-
parking technology and anti-collision safety systems. Ultrasonic sensors are also used in robotic
obstacle detection systems, as well as manufacturing technology. In comparison to infrared (IR)
sensors in proximity sensing applications, ultrasonic sensors are not as susceptible to interference of
smoke, gas, and other airborne particles (though the physical components are still affected by
variables such as heat).

Ultrasonic sensors are also used as level sensors to detect, monitor, and regulate liquid levels in
closed containers (such as vats in chemical factories). Most notably, ultrasonic technology has
enabled the medical industry to produce images of internal organs, identify tumors, and ensurethe
health of babies in the womb.

14
3.1.9 Connecting Wires

Often, when building electronics projects, little thought is given thought is given to the connecting
wire. While it is possible to "get away with" almost anything for many projects, it is sometimes
necessary to connect the various electronics components using the right wire. For example it is often
useful to use coloured connecting wire to indicate such items as electronics wire used for connecting
the supplies, signals, and grounds. In this way it is easier to identify the different signals and lines
and this reduces the possibility of errors. In addition to this it is sometimes necessary to have
connecting wire of a particular size to ensure the connections are made in the right manner. If the
wire is too thick it may not be easy to accommodate in some situations, whereas thicker wire may be
needed for higher currents of physical strength or robustness in other situations.

Figure 3.1.9- Jumper Wires

Individual jump wires are fitted by inserting their "end connectors" into the slots provided in a
breadboard, the header connector of a circuit board, or a piece of test equipment.

3.1.10 Breadboard

A breadboard is a solderless device for temporary prototype with electronics and test circuit designs.
Most electronic components in electronic circuits can be interconnected by inserting their leads
or terminals into the holes and then making connections through wires where appropriate.

15
Figure 3.1.10- Breadboard

The breadboard has strips of metal underneath the board and connect the holes on the top of the
board. The metal strips are laid out as shown below. Note that the top and bottom rows of holes are
connected horizontally and split in the middle while the remaining holes are connected vertically.

Because the solderless breadboard does not require soldering, it is reusable. This makes it easy to use
for creating temporary prototypes and experimenting with circuit design. For this reason, solderless
breadboards are also popular with students and in technological education. Older breadboard types
did not have this property. A stripboard (Veroboard) and similar prototyping printed circuit
boards, which are used to build semi-permanent soldered prototypes or one-offs, cannot easily be
reused. A variety of electronic systems may be prototyped by using breadboards, from small analog
and digital circuits to complete central processing units (CPUs).

A common use in the system on a chip (SoC) era is to obtain an microcontroller (MCU) on a pre-
assembled printed circuit board (PCB) which exposes an array of input/output (IO) pins in a header
suiteeeable to plug into a breadboard, and then to prototype a circuit which exploits one or more of
the MCU's peripherals, such as general-purpose input/output (GPIO), UART/USART serial
transceivers, analog-to-digital converter (ADC), digital-to-analog converter (DAC), pulse- width
modulation (PWM; used in motor control), Serial Peripheral Interface (SPI), or I²C.

16
3.2 Software Required

3.2.1 Robot Operating System (ROS)

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a
collection of tools, libraries, and conventions that aim to simplify the task of creating complex and
robust robot behavior across a wide variety of robotic platforms.

Why Because creating truly robust, general-purpose robot software is hard. From the robot's
perspective, problems that seem trivial to humans often vary wildly between instances of tasks and
environments. Dealing with these variations is so hard that no single individual, laboratory, or
institution can hope to do it on their own.

As a result, ROS was built from the ground up to encourage collaborative robotics software
development. For example, one laboratory might have experts in mapping indoor environments, and
could contribute a world-class system for producing maps. Another group might have experts at
using maps to navigate, and yet another group might have discovered a computer vision approach
that works well for recognizing small objects in clutter. ROS was designed specifically for groups
like these to collaborate and build upon each other's work, as is described throughout this site.

Fig3.2.1 – Logo of ROS Application

3.2.2 Arduino IDE 1.8.16

Arduino is a open-source electronics platform based on easy-to-use hardware and software. Arduino
boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn
it into an output - activating a motor, turning on an LED, publishing something online. You can tell
your board what to do by sending a set of instructions to the microcontroller on the board. To do so
you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE),
based on Processing.

17
Over the years Arduino has been the brain of thousands of projects, from everyday objects to
complex scientific instruments. A worldwide community of makers - students, hobbyists, artists,
programmers, and professionals - has gathered around this open-source platform, their contributions
have added up to an incredible amount of accessible knowledge that can be of great help to novices
and experts alike.

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed
at students without a background in electronics and programming. As soon as it reached a wider
community, the Arduino board started changing to adapt to new needs and challenges, differentiating
its offer from simple 8-bit boards to products for IoT applications, wearable, 3D printing, and
embedded environments. All Arduino boards are completely open-source, empowering users to build
them independently and eventually adapt them to their particular needs. The software, too, is open-
source, and it is growing through the contributions of users worldwide.

Fig 3.2.2 – Logo of Arduino application.

18
CHAPTER 4
WORKING OF SANITIZING ROBOT
4.1 Introduction

As we have given all the hardware and software required. Now in this chapter we learn how to use
hardware. Here we use four motors, two in front and two in back for the movement of sanitizing
robot i.e straight, reverse, left, right. We can move our sanitizing robot in any direction by using
these motors.

We use a motor for the movement of arm or robotic arm. This arm rotates 180 degree. So the the
sanitizer can be throw in every direction or every corner of the room. It helps in deep sanitizing a
place and to increase the efficiency of sanitizing robot.

We attached pump to the robotic arm. Main purpose of pump is to throw mist sanitizer by high
pressure so that it can cover a large distance. Sanitizer is go through the pipe to spray nozzle which
convert sanitizer into mist also increase the pressure of the sanitizer as a valve. Circuit diagram of
sanitizing robot is given in next section of this chapter. You can relate these things from it.

We use all these functions through application that was also made by us. It have buttons such as start,
stop, forward, backward, left, right, shoulder, elbow, pump. These all buttons have specified works
and can be relate according to the name of key buttons.

Now the point is how these motors and robotic arm works. Arduino Uno a microcontroller used to
give instruction to all parts of the sanitizing robot or it is the brain of sanitizing robot. We code in
arduino application, whatever work the part of sanitizing robot do. Coding of the sanitizing robot is
given in the next chapter.

4.2 Working

 Arduino is used for controlling the whole process with a HC-05 module and ultrasonic sensor.

 It is used to sanitize any place or building by using robotic nozzle and mist converter.

 It Consist of belt drive driving system which is capable of move on all terrain and controlled via
bluetooth.

 Input Signal is given via bluetooth to driving system and robotic arm that spray sanitizer
outside in mist form and also have ultrasonic sensor to avoid any collision with any obstacle.

 It is automatically controlled by remote user don’t need to go inside of place.

19
 Finally it is a great help to front line workers and reduce the danger to their life. It sanitizer the
complete place or building faster and efficient then human being.

4.3 Circuit Diagram of Sanitizing Robot

Figure 4.3.1 – Circuit diagram


20
4.4 Bluetooth Operating System

First of all user have to connect the robot by using Bluetooth of his mobile phone via remote
controller application of this robot. When pressing the button in the remote, it obeys the input signal
through the app. Initially, the input data reaches the Bluetooth module, and then the signal goes to
the Arduino module. The Arduino program passes the commands to the motor drive. During the
forward and backward stroke of the cylinder, air enters inside and moves the sanitizer outside of the
tank.

Figure 4.4.1 – Mobile Control Mode

21
4.4.1 How Button of Remote Works

FORWARD- Forward function F button allows robot to move forward when user gives F command
in terminal mode.

BACKWARD- Backward function B button allows robot to move backward when user gives B
command in terminal mode.

LEFT- Leftward is the function used in Loop block it allows robot to move left side when user gives
L command in terminal mode.

RIGHT – Rightward is the function used in Loop block it allows robot to move right side when user
gives L command in terminal mode.

PUMP – Pump is function used in Loop block it allows to start pump when user gives Ocommand in
terminal mode

STOP- ST in terminal mode it will send certain frequency to the Bluetooth module and the robot will
stop automatically.

SHOULDER- We can operate motors of shoulder through this button.

ELBOW- We can operate motors of elbow through this button

DISCONNECT- Disconnect the connected Bluetooth.

SELECT CONNECTION- Select the Bluetooth from the list of paired devices.

4.5 Working Block Diagram

The Block Definition Diagram (bdd) is used to define each Block's characteristics in terms of it's
structural and behavioural features, and relationships between the Blocks such as hierarchical
relationships. Blocks have optional compartments that describe Block characteristics.

A block diagram is a diagram of a system in which the principal parts or functions are represented by
blocks connected by lines that show the relationships of the blocks. They are heavily used in
engineering in hardware design, electronic design, software design, and process flow diagrams.

Block diagrams are typically used for higher level, less detailed descriptions that are intended to
clarify overall concepts without concern for the details of implementation. Contrast this with
the schematic diagrams and layout diagrams used in electrical engineering, which show the
implementation details of electrical components and physical construction.
22
MIST
PUMP NOZEL SANITIZER

ROBOTIC ARM

BLUETOOTH ARDUINO

ULTRASONIC SENSOR

DRIVING MOTOR’S

Figure 4.5.1 – Block Diagram

23
CHAPTER 5

PROGRAMMING CODE OF SANITIZING ROBOT


5.1 Arduino Code of Sanitizing Robot

int data;

void setup() {

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(8,OUTPUT);

pinMode(9,OUTPUT);

pinMode(6,OUTPUT);

Serial.begin(9600);

digitalWrite(6,1);

void Backward(){

digitalWrite(3,0);

digitalWrite(4,1);

digitalWrite(8,0);

digitalWrite(9,1);

void Forward(){

digitalWrite(3,1);

digitalWrite(4,0);

24
digitalWrite(8,1);

digitalWrite(9,0);

void Left(){

digitalWrite(3,0);

digitalWrite(4,1);

digitalWrite(8,1);

digitalWrite(9,0);

void Right(){

digitalWrite(3,1);

digitalWrite(4,0);

digitalWrite(8,0);

digitalWrite(9,1);

void Stop(){

digitalWrite(3,0);

25
digitalWrite(4,0);

digitalWrite(8,0);

digitalWrite(9,0);

void Pump()

if(digitalRead(6)==0)

digitalWrite(6,1);

else

digitalWrite(6,0);

void loop() {

if(Serial.available())

data=Serial.read();

if(data=='F')

// Serial.println("Move Forward");

26
Forward();

else if(data=='B')

// Serial.println("Move Backward");

Backward();

else if(data=='R')

// Serial.println("Move Right");

Right();

else if(data=='L')

// Serial.println("Move Left");

Left();

else if(data=='a')

27
{

Serial.println("Shoulder");

else if(data=='b')

Serial.println("Elbow");

else if(data=='P')

// Serial.println("PUMP");

Pump();

else if(data=='S')

// Serial.println("STOP");

Stop();

28
}

6.2 Code for Sanitizing robot simulation

At first we have to install ubantu operating system in our system .

Then we have to create catkin work space .

$ mkdir -p ~/catkin_ws/src ( command for creating a workspace)

$ cd ~/catkin_ws/

$ catkin_make

Now we will create catkin package..

$ cd ~/catkin_ws/src ( command for creating a catkin package)

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

# catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

Now we will build catkin workpace..

$ cd ~/catkin_ws

$ catkin_make

$ . ~/catkin_ws/devel/setup.bash

now we will create publisher .subsciber ansd master node and then initiallize them..

add_executable(topic_publisher src/topic_publisher.cpp

$ roscd ros_tutorials_topic/src → Move to the 'src' folder, which is the source folder of
29
the package

$ gedit topic_publisher.cpp → Create or modify new source file

now we will start programing the robot for movement and all the work ..

// ROS Default Header File

#include "ros/ros.h"

// MsgTutorial Message File Header

// The header file is automatically created when building the package.

#include "ros_tutorials_topic/MsgTutorial.h"

int main(int argc, char **argv) // Node Main Function

ros::init(argc, argv, "topic_publisher"); // Initializes Node Name

ros::NodeHandle nh; // Node handle declaration for communication with ROS system

// Declare publisher, create publisher 'ros_tutorial_pub' using the 'MsgTutorial'

// message file from the 'ros_tutorials_topic' package. The topic name is

// 'ros_tutorial_msg' and the size of the publisher queue is set to 100.

ros::Publisher ros_tutorial_pub =

nh.advertise<ros_tutorials_topic::MsgTutorial>("ros_tutorial_msg", 100);

// Set the loop period. '10' refers to 10 Hz and the main loop repeats at 0.1 second intervals

30
ros::Rate loop_rate(10);

ros_tutorials_topic::MsgTutorial msg; // Declares message 'msg' in 'MsgTutorial' message

// file format

int count = 0; // Variable to be used in message

while (ros::ok())

msg.stamp = ros::Time::now(); // Save current time in the stamp of 'msg'

msg.data = count; // Save the the 'count' value in the data of 'msg'

ROS_INFO("send msg = %d", msg.stamp.sec); // Print the 'stamp.sec' message

ROS_INFO("send msg = %d", msg.stamp.nsec); // Print the 'stamp.nsec' message

ROS_INFO("send msg = %d", msg.data); // Print the 'data' message

ros_tutorial_pub.publish(msg); // Publishes 'msg' message

loop_rate.sleep(); // Goes to sleep according to the loop rate defined above.

++count; // Increase count variable by one

return 0;

Now writing the subscribing node..

31
add_executable(topic_subscriber src/topic_subscriber.cpp)

$ roscd ros_tutorials_topic/src → Move to the 'src' folder, which is the source folder of

the package

$ gedit topic_subscriber.cpp → Create or modify new source file

.......

// ROS Default Header File

#include "ros/ros.h"

// MsgTutorial Message File Header

// The header file is automatically created when building the package.

#include "ros_tutorials_topic/MsgTutorial.h"

// Message callback function. This is a function is called when a topic

// message named 'ros_tutorial_msg' is received. As an input message,

// the 'MsgTutorial' message of the 'ros_tutorials_topic' package is received.

void msgCallback(const ros_tutorials_topic::MsgTutorial::ConstPtr& msg)

ROS_INFO("recieve msg = %d", msg->stamp.sec); // Shows the 'stamp.sec' message

ROS_INFO("recieve msg = %d", msg->stamp.nsec); // Shows the 'stamp.nsec' message

ROS_INFO("recieve msg = %d", msg->data); // Shows the 'data' message

32
}

int main(int argc, char **argv) // Node Main Function

ros::init(argc, argv, "topic_subscriber"); // Initializes Node Name

ros::NodeHandle nh; // Node handle declaration for communication with ROS system

// Declares subscriber. Create subscriber 'ros_tutorial_sub' using the 'MsgTutorial'

// message file from the 'ros_tutorials_topic' package. The topic name is

// 'ros_tutorial_msg' and the size of the publisher queue is set to 100.

ros::Subscriber ros_tutorial_sub = nh.subscribe("ros_tutorial_msg", 100, msgCallback);

// A function for calling a callback function, waiting for a message to be

// received, and executing a callback function when it is received

ros::spin();

return 0;

$ cd ~/catkin_ws → Move to Catkin Workspace

$ catkin_make → Run catkin build

Now we will write the Service Server Node

add_executable(service_server src/service_server.cpp)

33
$ roscd ros_tutorials_service/src → Move to the 'src' folder, which is the source folder of

the package

$ gedit service_server.cpp → Create or modify the source file

// ROS Default Header File

#include "ros/ros.h"

// SrvTutorial Service File Header (Automatically created after build)

#include "ros_tutorials_service/SrvTutorial.h"

// The below process is performed when there is a service request

// The service request is declared as 'req', and the service response is declared as 'res'

bool calculation(ros_tutorials_service::SrvTutorial::Request &req,

ros_tutorials_service::SrvTutorial::Response &res)

// The service name is 'ros_tutorial_srv' and it will call 'calculation' function

// upon the service request.

res.result = req.a + req.b;

// Displays 'a' and 'b' values used in the service request and

// the 'result' value corresponding to the service response

ROS_INFO("request: x=%ld, y=%ld", (long int)req.a, (long int)req.b);

34
ROS_INFO("sending back response: %ld", (long int)res.result);

return true;

int main(int argc, char **argv) // Node Main Function

ros::init(argc, argv, "service_server"); // Initializes Node Name

ros::NodeHandle nh; // Node handle declaration

// Declare service server 'ros_tutorials_service_server'

// using the 'SrvTutorial' service file in the 'ros_tutorials_service' package.

// The service name is 'ros_tutorial_srv' and it will call 'calculation' function

// upon the service request.

ros::ServiceServer ros_tutorials_service_server = nh.advertiseService("ros_tutorial_srv",

calculation);

ROS_INFO("ready srv server!");

ros::spin(); // Wait for the service request

return 0;

Now we will write the action server node..

35
add_executable(action_server src/action_server.cpp)

$ roscd ros_tutorials_action/src → Move to the 'src' folder, which is the source folder of

the package

$ gedit action_server.cpp → Create or modify new source fil

#include <ros/ros.h> // ROS Default Header File

#include <actionlib/server/simple_action_server.h> // action

Library Header File

#include <ros_tutorials_action/FibonacciAction.h> // FibonacciAction Action File Header

class FibonacciAction

protected:

// Node handle declaration

ros::NodeHandle nh_;

// Action server declaration

actionlib::SimpleActionServer<ros_tutorials_action::FibonacciAction> as_;

// Use as action name

std::string action_name_;

// Declare the action feedback and the result to Publish

36
ros_tutorials_action::FibonacciFeedback feedback_;

ros_tutorials_action::FibonacciResult result_;

public:

// Initialize action server (Node handle, action name, action callback function)

FibonacciAction(std::string name) : as_(nh_, name, boost::bind(&FibonacciAction::executeCB,

this, 1), false), action_name(name)

as_.start();

~FibonacciAction(void)

// A function that receives an action goal message and performs a specified

// action (in this example, a Fibonacci calculation).

void executeCB(const

ros_tutorials_action::FibonacciGoalConstPtr &goal)

ros::Rate r(1); // Loop Rate: 1Hz

37
bool success = true; // Used as a variable to store the success or failure of an action

// Setting Fibonacci sequence initialization,

// add first (0) and second message (1) of feedback.

feedback_.sequence.clear();

feedback_.sequence.push_back(0);

feedback_.sequence.push_back(1);

// Notify the user of action name, goal, initial two values of Fibonacci sequence

ROS_INFO("%s: Executing, creating fibonacci sequence of order %i with seeds %i, %i",

action_name_.c_str(), goal->order, feedback_.sequence[0], feedback_.sequence[1]);

// Action content

for(int i=1; i<=goal->order; i++)

// Confirm action cancellation from action client

if (as_.isPreemptRequested() || !ros::ok())

// Notify action cancellation

ROS_INFO("%s: Preempted", action_name_.c_str());

as_.setPreempted(); // Action cancellation

38
success = false; // Consider action as failure and save to variable

break;

// Store the sum of current Fibonacci number and the previous number in the feedback

// while there is no action cancellation or the action target value is reached

feedback_.sequence.push_back(feedback_.sequence[i] +

feedback_.sequence[i-1]);

as_.publishFeedback(feedback_); // Publish feedback

r.sleep(); // sleep according to the defined loop rate.

// If the action target value is reached,

// transmit current Fibonacci sequence as the result value.

if(success)

result_.sequence = feedback_.sequence;

ROS_INFO("%s: Succeeded", action_name_.c_str());

as_.setSucceeded(result_);

39
}

};

int main(int argc, char** argv) // Node Main Function

ros::init(argc, argv, "action_server"); // Initializes Node

Name

// Fibonacci Declaration(Action Name: ros_tutorial_action)

FibonacciAction fibonacci("ros_tutorial_action");

ros::spin(); // Wait to receive action goal

return 0;

Now runing the action server node..

$ rosrun ros_tutorials_action action_client

$ rosrun ros_tutorials_action action_server

[INFO] [1495764516.294367721]: ros_tutorial_action: Executing, creating fibonacci sequence of

order 20 with seeds 0, 1

[INFO] [1495764536.294488991]: ros_tutorial_action: Succeeded

$ rosrun ros_tutorials_action action_client

40
[INFO] [1495764515.999158825]: Waiting for action server to start.

[INFO] [1495764516.293575887]: Action server started, sending goal.

[INFO] [1495764536.295139830]: Action finished: SUCCEEDED

$ rostopic echo /ros_tutorial_action/feedback

header:

seq: 42

stamp:

secs: 1495764700

nsecs: 413836908

frame_id: ''

status:

goal_id:

stamp:

secs: 1495764698

nsecs: 413136891

id: /action_client-1-1495764698.413136891

status: 1

text: This goal has been accepted by the simple action server

41
feedback:

sequence: [0, 1, 1, 2, 3]

$ cd ~/catkin_ws/src

$ git clone https://github.com/ROBOTIS-GIT/ros_tutorials.git

$ cd ~/catkin_ws

$ catkin_make

$ rosrun ros_tutorials_action action_server

$ rosrun ros_tutorials_action action_client

#include "ros/ros.h" // ROS Default Header File

#include "ros_tutorials_service/SrvTutorial.h" // SrvTutorial Service File Header

#define PLUS 1 // Addition

#define MINUS 2 // Subtraction

#define MULTIPLICATION 3 // Multiplication

#define DIVISION 4 // Division

int g_operator = PLUS;

// The process below is performed if there is a service request

/calculation(ros_tutorials_service::SrvTutorial::Requestreq,ros_tutorials_service::SrvTutorial::Res

ponse &res)

42
{

// The operator will be selected according to the parameter value and calculate 'a' and 'b',

// which were received upon the service request.

// The result is stored as the Response value.

switch(g_operator)

case PLUS:

res.result = req.a + req.b; break;

case MINUS:

res.result = req.a - req.b; break;

case MULTIPLICATION:

res.result = req.a * req.b; break;

case DIVISION:

if(req.b == 0)

res.result = 0; break;

else

43
{

res.result = req.a / req.b; break;

default:

res.result = req.a + req.b; break;

// Displays the values of 'a' and 'b' used in the service request, and the 'result' value

// corresponding to the service response.

ROS_INFO("request: x=%ld, y=%ld", (long int)req.a, (long int)req.b);

ROS_INFO("sending back response: [%ld]", (long int)res.result);

return true;

int main(int argc, char **argv) // Node Main Function

ros::init(argc, argv, "service_server"); // Initializes Node Name

ros::NodeHandle nh; // Node handle declaration nh.setParam("calculation_method", PLUS); //

Reset Parameter Settings

// Declare service server 'service_server' using the 'SrvTutorial' service file

44
// in the 'ros_tutorials_service' package. The service name is 'ros_tutorial_srv' and

// it is set to execute a 'calculation' function when a service is requested.

ros::ServiceServer ros_tutorial_service_server = nh.advertiseService("ros_tutorial_srv",

calculation);

ROS_INFO("ready srv server!");

ros::Rate r(10); // 10hz

while (1)

// Select the operator according to the value received from the parameter.

nh.getParam("calculation_method", g_operator);

ros::spinOnce(); // Callback function process routine

r.sleep(); // Sleep for routine iteration

return 0;

45
CHAPTER 6

RESULTS
6.1 ROS Result

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a
collection of tools, libraries, and conventions that aim to simplify the task of creating complex and
robust robot behavior across a wide variety of robotic platforms.

Figure 6.1.1 – 3D simulation of Sanitizing Robot

Here we can see the 3D simulation model of sanitizing robot. In we can see front and right view of
the sanitizing robot clearly. Left side is exactly similar to right side. Here you can see all the parts
used in sanitizing robot. Such as pump, belt drive, chassis, motors etc.

6.2 Proteus Design Suite Result

Proteus is a work management automation platform designed from the ground-up by diversified
energy industry professionals to help the industry digitally transform and transition to a low carbon
future. It brings together talent acquisition, project management and finance into one cloud-based
hub.

The Proteus Design Suite is a Windows application for schematic capture, simulation, and PCB
(Printed Circuit Board) layout design. It can be purchased in many configurations, depending on the
size of designs being produced and the requirements for microcontroller simulation. All PCB Design
products include an autorouter and basic mixed mode SPICE simulation capabilities.

46
Figure 6.2.1 – Proteus Suite Results

6.3 Hardware Result

Hardware or HW can be defined as all the physical components that are a part of a computer system.
In other words, it can also be said that hardware simply refers to all the tangible and physical
components of a computer.

Hardware is best described as any physical component of a computer system containing a circuit
board, ICs, or other electronics. A perfect example of hardware is the screen on which you are
viewing this page. Whether it be a monitor, tablet, or smartphone, it is hardware.

This is the prototype that we have made for the main model of sanitizing robot that we have
discussed above. This prototype had cost approximately Rs. 4000. In this protype we use wheels
instead of belt drive for traction.

47
Figure 6.3.1 – Top View of Sanitizing Robot

48
Figure 6.3.2 – Side View of Sanitizing Robot

49
CHAPTER 7

CONCLUSION AND FUTURE SCOPE

7.1 Conclusion

Robot for Sanitizing a Place is becoming most useful in COVID-19 hospital environments. It reduces
the human intervention in sanitization. The designed system is very compact, so easily can transport
this robot to any place. The COVID-19 pandemic presents even more reason to use mobile robots for
safe cleaning in quarantine zones. The proposed model is fabricated and tested in a hospital
environment. The system is capable of disinfecting an area of up to 100 m2 per day. By using the
autonomous sprinkler system optimizes the disinfecting areas and reduces the wastage of sanitizer.
The designed system is capable of sanitizing an area of up to 100 m2 per day. The application area
can include hospital corridors, medical shop, operation theatre, walking pathways, doctor room,
testing center, and patient room, etc.

The robotics potential in medicine and allied areas with special relation to the control of the COVID-
19 pandemic. Effective management of COVID-19 can significantly reduce the number of infected
patients and casualties as witnessed in the case of the Chinese outbreak. Since, it has currently turned
out to be a global challenge, technologically advanced countries can aid others by donating support
equipment and robotic infrastructure to enable a good outcome in controlling this disease. This
review substantiates that the introduction of medical robotics has significantly augmented the safety
and quality of health management systems compared to manual systems due to healthcare
digitization. Classification of medical robots is only done using application-based categories to fit
every aspect of hospital service ranging as well as fault tolerant control and dependable architectures
for reliable and safe operation within the healthcare facilities.

7.2 Future Scope

7.2.1 Positive Perception

Seeking the latest innovations can display to occupants that you are constantly searching for ways to
provide a better clean and keep them safe. Utilizing autonomous equipment can show people that
you’re willing to invest in the latest cutting-edge innovations.

7.2.2 Provide Peace of Mind to Occupants

Perception is reality. As mentioned, autonomous vacuums can run throughout the day. Running the
machine during peak business hours can help you to show your building occupants that additional

50
steps are being taken to ensure your building is healthier and safer.

7.2.3 Increased Cleaning Frequencies

Unlike employees who are typically required to complete several cleaning processes throughout the
day, autonomous machines are dedicated to one specific task, like vacuuming. Even better, the
robots eliminate human error to deliver better, consistent results.

7.2.4 Overcome Staffing Challenges

Absenteeism and finding qualified janitorial staff has been and will likely remain a common issue.
When you cannot find cleaning staff or some of your staff calls out for the day, vacuuming is often
the first task that gets delayed or even skipped so available staff can focus on more important
procedures.

7.2.5 Validate Cleaning Tasks

Right now, the people who enter or occupy your building have never been more concerned with the
health and safety of your facility.

Many are asking for proof that specific cleaning activities are consistently being performed.

Autonomous vacuums can offer programs that can help you provide your stakeholders with a
confirmation of the cleaning that has taken place.

The systems have a way to view usage rates, manage cleaning routes, and get data confirming an
area has been vacuumed.

Not only will you be able to validate where, when, and how an area was cleaned, but you’ll be also
able to view analytics to improve vacuuming efficiency and effectiveness.

7.2.6 Speedy Delivery

Autonomous robots are becoming more commonplace in hospital environments, where they can be
used to deliver supplies throughout the facility. The COVID-19 pandemic presents even more reason
to use mobile robots for the safe distribution of hospital materials in quarantine zones, Bieller noted.

51
CHAPTER 8

REFERENCES

1. Bharadwaj, Alok & Yadav, Divyanshu & Varshney, Shreyshi. (2015). Non- Biodegragable
Waste – Its Impact & Safe Disposal. International Journal.

2. Himadri Nath Saha, Sourav Gon, Annesha Nayak, Samabrita kundu, Sumandrita Moitra ,
“IoT Based Garbage Monitoring and Clearance Alert System” 2018 IEEE 9th Annual
Information Technology, Electronics and Mobile Communication Conference (IEMCON) Pages:
204 – 208.

3. Mahmoud Tarokh and Malrey Lee,”Kinematics Modeling of Multi-legged Robots Walking on


Rough Terrain” 2008 Second International Conference on Future Generation Communication
and Networking Symposia.

4. Hiroo Takahashi, Kojiro Iizuka, “Analysis on Weight Arrangement Scheme to Reduce


theWeight of Multi-Legged Robot Takashi Kubota”,Proceedings of the 2005 IEEE International
Conference on Robotics and Automation, Barcelona, Spain, April 2005.

5. Gabriele Ferri, Alessandro Manzi, Pericle Salvini,Barbara Mazzolai, Cecilia Laschi, and Paolo
Dario, “DustCart, an autonomous robot for door-to-door garbage collection: from DustBot
project to the experimentation in the small town of Peccioli, 2011 IEEE International Conference
on Robotics and Automation, Shanghai International Conference Center, May 9-13, 2011,
Shanghai, China.

6. S. Subaashri, M. Sowndarya, D.K.S. Sowmiyalaxmi, S.V. Sivassan, C. Rajasekaran (2017),


‘Automatic Pet Monitoring & Feeding System using IoT, Vol. No. 10, PP 253-258, 2011 IEEE
International Conference on Robotics and Automation, Shanghai International Conference
Center, May 9-13, 2011, Shanghai, China.

52

You might also like