Professional Documents
Culture Documents
Abstract—
With the advancement of technology, robots are getting more
attention of researchers to make life of mankind comfortable. This
report presents the design, development and fabrication of prototype
Smart Floor Cleaning Robot (CLEAR) . Subject robot operates in
autonomous mode as well as in manual mode along with additional
features like scheduling for specific time and bagless dirt container
with auto-dirt disposal mechanism. This work can be very useful in
improving life style of mankind.
I. INTRODUCTION:
In recent years, robotic cleaners have taken major attention
in robotics research due to their effectiveness in assisting
humans in floor cleaning applications at homes, hotels,
restaurants, offices, hospitals, workshops, warehouses and
universities etc. Basically, robotic cleaners are distinguished
on their cleaning expertise like floor mopping, dry vacuum
cleaning etc. Some products are based on simple obstacle
avoidance using infrared sensors while some utilize laser
mapping technique. Each cleaning and operating mechanism
of robotic floor cleaners has its own advantages and
disadvantages. For example, robots utilizing laser mapping
are relatively faster, less time consuming and energy efficient
but costly, while obstacle avoidance based robots are
relatively time consuming and less energy efficient due to
random cleaning but less costly.
Components required
Distance L = 1/2 × T × C
where L is the distance, T is the time between the emission and reception, and C
is the sonic speed. (The value is multiplied by 1/2 because T is the time for go-
and-return distance.)
Infrared sensor
An infrared sensor is an electronic instrument which is used to sense
certain characteristics of its surroundings by either emitting and/or
detecting infrared radiation. Infrared sensors are also capable of
measuring the heat being emitted by an object and detecting motion.
Billing OF Materials
Arduino UNO Board 400
Ultrasonic HRC-04 90
Board(1)
Breadboard(2) 80
Jumper wires 70
Battery(9v) 40
Chassis 290
Battery 600
Rechargeable(12v)(2)
Wheels(4) 200
DC Motors(3) 500
Infrared sensor 140
Motor shield 90
total 2500
Program used:
const int mt1 = 2;
const int mt2 = 3;
const int mt3 = 4;
const int mt4 = 5;
const int trigPin = 8;
const int echoPin = 9;
const int rsen = 7;
const int lsen = 6;
long duration;
int distanceCm, distanceInch;
float vout;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(rsen, INPUT);
pinMode(lsen, INPUT);
pinMode(mt1,OUTPUT);
pinMode(mt2,OUTPUT);
pinMode(mt3,OUTPUT);
pinMode(mt4,OUTPUT);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,HIGH);
digitalWrite(rsen,LOW);
digitalWrite(lsen,LOW);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration*0.0133/2;
vout=distanceCm;
Serial.print("Distance in cm: ");
Serial.println(distanceCm);
Serial.print("Distance in inch: ");
Serial.println(distanceInch);
delay(10);
digitalWrite(mt1,LOW);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,LOW);
if((vout<=30)&& (digitalRead(rsen)==LOW)&&(digitalRead(rsen)==LOW))
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,HIGH);
delay(1000);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,LOW);
digitalWrite(mt3,LOW);
digitalWrite(mt4,HIGH);
delay(500);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,LOW);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,LOW);
delay(500);
}
if((vout<=30)&&(digitalRead(rsen)==HIGH)&&(digitalRead(lsen)==LOW))
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,HIGH);
delay(1000);
digitalWrite(mt1,LOW);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,LOW);
digitalWrite(mt4,HIGH);
delay(500);
}
if((vout<=30)&&(digitalRead(lsen)==HIGH)&&(digitalRead(rsen)==LOW))
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,HIGH);
delay(1000);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,LOW);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,LOW);
delay(500);
}
if((vout<=30)&& (digitalRead(rsen)==HIGH)&&(digitalRead(lsen)==HIGH))
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,HIGH);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,HIGH);
delay(1000);
digitalWrite(mt1,HIGH);
digitalWrite(mt2,LOW);
digitalWrite(mt3,HIGH);
digitalWrite(mt4,LOW);
delay(500);
}
}
– Saves Time
– Advanced Features
references
1. L293D datasheet. Website (www.ti.com)
2. S.Muruganandhan, G.Jayabaskaran, P.Bharathi, “LabVIEW-NI ELVIS II based Speed
Control of DC Motor,”
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 4,
April 2013
3. A Technical Analysis of Autonomous Floor Cleaning Robots Based on US Granted
Patents, European
International Journal of Science and Technology Vol. 2 No. 7 September 2013. Liu,
Kuotsan1, Wang, Chulun
4.
http://web.stevens.edu/ses/me/fileadmin/me/senior_design/2007/group01/DesignFinal.pdf
5. http://eng.najah.edu/sites/eng.najah.edu/files/robotic_vacuum_pre_1.pptx
6. http://www.ecs.umass.edu/ece/sdp/sdp05/preston/sdp_data/Draft%20System
%20Specification.doc
7. http://letsmakerobots.com/node/40288
8. http://www.intorobotics.com/build-diy-roomba-style-robot-vacuum-cleaner/
9. http://www.irobot.com/For-the-Home/Vacuum-Cleaning/Roomba.aspx