autonomous robotic cleaner (arc)
TRANSCRIPT
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Microprocessor System (Lab)
AUTONOMOUS ROBOTIC CLEANER
Alinsod, Raznell L.
Brillantes, Tobbie A.
Diaz, Hanna Mercy R.
Juson, Lloyd Rowell Y.
Nazario, Alfonso Jerald D.
Valdez, Nicodemus O.
Valmoria, Louie B.
E4Q-BSECE/BSEE
Engr. Kierven R. De Mesa
Instructor
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
TABLE OF CONTENTS
Chapter 1 – Introduction 2
Background of the Study 3
Objectives 3
Significance of the Project 4
Definition of Terms 4
Chapter II – Methodology 5
Principle 5
Measurement of Values 5
Materials 5
Component Description 6
Procedure 10
Circuit Diagram 11
Block Diagram 13
Chapter III – Conclusion and Recommendation 15
Findings 15
Conclusion 15
Recommendation 16
Limitations 16
References 16
Appendix A (Codes) 17
Appendix B (Assembly and Construction) 22
Autonomous Robotic Cleaner 1
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
CHAPTER 1
INTRODUCTION
The first Roomba was thirteen inches in diameter and roughly four inches high. The
Roomba used a large bumper mounted on the front of the unit to detect any walls or objects in its
path. The robot was equipped with infrared sensors on the top front center. It also used a virtual
wall that transmitted infrared to the unit so it does not attempt to clean other rooms and get lost.
The first prototype consisted of three settings. The settings consisted of setting a room size,
small, medium and large. Roomba’s first feature at the time was the ability to detect whether or
not there was enough power for it to clean the room size you chose.
However as technology has gotten more sophisticated so has the Roomba. The Roomba
can now detect room sizes without a user input. The first Roomba operated on internal nickel
metal hydride batteries that required being recharged regularly from a wall plug. The newest
generations of Roomba’s now have self-charging features. The Roomba takes about six to eight
hours to recharge itself. iRobot offers a fast recharging pack which can recharge in 3 hours at the
price of $60. The newer generations Roomba’s are virtually completely automated. The user has
to just place the Roomba on the floor and choose clean, spot, or max. The clean button will clean
a room. Spot clean will clean an area. Max will clean until the battery runs out. The Roomba also
now has an automatic scheduler accessory.
Autonomous Robotic Cleaner 2
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Background of the Study
The Autonomous Robotic Cleaner is an entry level mobile robot learning platform. It
contains three channel IR collision sensor and a dual motor driver. Any arduino compatible
platform can be used as the controller. The Arduino program transmits data every second to the
computer then waits for a character from the Computer, when a correct character is received,
then it tells the motors what to do.
In fact, most of us usually using a hand controlled vacuum for cleaning. From time to
time technology come up and need to upgrade for easier human task. In addition, most of the
people are working and they did not have enough time to clean. Moreover, most of vacuum
robots in the market are expensive and may be large in size. So it is difficult to clean anywhere
like under beds. Therefore, this project is built to be one of the advantages for human to clean the
floor within small period and more effective.
Objectives
1. To develop an integrating holonomic drive for high mobility in confined spaces.
2. To enhance the guidance of robotic pallets, and wireless sensor network for self-location
capability.
3. To design a versatile platform for teaching and learning robotics by providing an
Arduino-compatible controller, motor controller board.
Autonomous Robotic Cleaner 3
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Significance of the Project
Autonomous Cleaning Robot is developed to make cleaning process easier especially for
working people. This Autonomous Cleaning Robot is designed for specific area such as under
beds, as well as a specific room or carpet that has a specific obstacle in the center or corner. It is
designed to make cleaning process become easier rather than by using manual vacuum.
Definition of Terms
Holonomic - refers to the relationship between controllable and total degrees of freedom of a
robot. If the controllable degree of freedom is equal to total degrees of freedom, then the robot is
said to be Holonomic.
NiMH (Nickel Metal Hydride) - batteries are really neat. Older cell phone batteries were often
NiMH. You can recharge them as much as you want, they have good current output, and have
the highest energy capacity. I would recommend them for small size robots and for powering
circuits.
Proximity sensor- is a sensor able to detect the presence of nearby objects without any physical
contact.
Autonomous Robot - An autonomous robot acts as a stand-alone system, complete with its own
computer (called the controller).
Autonomous Robotic Cleaner 4
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
CHAPTER II
METHODOLOGY
Principle
The cleaner robot operates on a 3.6V 600mAH NiMH Rechargeable Battery. The
operation of the robotic cleaner is going to be based on retrieving data from an array of inputs
that will tell the condition of the floor space around the vacuum. These inputs include sensors
andmotors. Each of these parts will be described in further detail further on later in the
documentation. The data from these inputs will be fed into the chip(s) which through its
software program will decide which direction the robot should move by sending the control
signals out to the drive motors.
Measurement of Values
The robot cleaner may include a distance sensor to sense a distance from the robot
cleaner to obstacles, such as furniture, office supplies, and walls, located within a region to be
cleaned, and left and right wheels to move the robot cleaner. The left and right wheels may be
configured to be rotated by a left wheel motor and a right wheel motor, respectively. As the left
wheel motor and the right wheel motor are rotated, the robot cleaner may perform indoor
cleaning while changing travel directions.
Materials
Caster for front wheel
Proximity Sensors
2x 3.6V 600mAH NiMH Rechargeable Battery
3-Ch IR Collision Sensor - 20 cm detection range
Autonomous Robotic Cleaner 5
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
2- 6V DC motor
Gizduino v4.1
Pbot controller
Brush
Connecting Wires
Component Description
Sonar Sensors
A device that detects or measures a physical property and records, indicates, or otherwise
responds to it. There will be three sonar sensors. These are needed as a last resort obstacle
detection in which the infrared did not detect for some reason. Output also will be stored in a
separate space on the main chip.
Battery and Power Regulator
It carries one environmentally friendly nickel-metal hydride batteries (NiMH) batteries
on board. As soon as the battery's power dips below the 10% point, the unit will cease and will
automatically shut-off itself. User has to bring it to its charging station, charge for about two
hours.
Brush
As its brush spins, it reaches out from underneath it grabs particles from along walls and
into corners, as well as around furniture legs. The particles are swept into its cleaning path, to be
picked up by its rotating brushes.
Autonomous Robotic Cleaner 6
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Motor
This autonomous robotic vacuum contains three motors: one for each driven wheel and
one for the brush roll.
Gizduino v4.1
The gizDuino is a locally available Arduino clone. They are electronics prototyping
platforms based on flexible, easy-to-use hardware and software. They have the ability to control
interactive objects and environments, and has limitless potential to do so.
Connecting Wires
Connecting wire is a piece of wire used to attach two circuits or components together.
Autonomous Robotic Cleaner 7
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Components Used in Circuit
Figure 1: Board layout of the P-BOT R2 Module showing the location of Gizduino Controller
Port, Battery input, Fast Charger Input, Motor Connector, Charger Input, ILLU switch.
Autonomous Robotic Cleaner 8
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
LED INDICATORS
Table 1: Pin connections and descriptions
PIN I.D DescriptionsP5 Connections for Motor DriversP6 Battery Input and Charger Input (Fast Charger – approx. 1 hour)P8 gizDuino Controller Port
SW1 Power and charging Switch10 V Charger Charger Input (10V Charger Adaptor – approx.. 6 hours)
Table 2. LED indicators and Descriptions.
LED PIN I.D DescriptionsD1 COL3 Collision Sensor 3 (LOW-on state)D2 COL2 Collision Sensor 2 (LOW-on state)D3 COL1 Collision Sensor 1 (LOW-on state)D10 M1DIR Motor Driver 1 Direction (Forward/Reverse)D11 M1RUN Motor Driver 1 RunD12 M2RUN Motor Driver 2 RunD13 M2DIR Motor Driver 2 Direction (Forward/Reverse)D18 - Power IndicatorD21 CHARGING Charging Indicator
Procedure
Autonomous Robotic Cleaner 9
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
1. First solder the wires to the motor leads.
2. Now mount the wheels to the motor shaft with the help of screw that you got with the
wheels.
3. After that mount the castor wheel on the bottom front and center (roughly) of the robot
using drill. The castor wheel usually comes with holes in it for easy mounting using small
nuts and bolts but if you don’t want to drill holes on the acrylic sheet (robot base) then
you can simply stick it with double sided tape.
4. Now place the two motors on the acrylic sheet with the help of double sided tape. It
would be better if you add some superglue or hotglue as the double sided tape sometimes
may not be able to handle the robot weight.
5. Place a motor in the box for the trash. The motor will be the collector of the trash with the
help of the brush.
6. Place gizduino and the pbot on the base.
7. Place the battery with the connector on the robot base.
8. Connecting the wires of the motor with the brush in the 5V and ground of the GizDuino
v4.1.
9. Input the codes in the arduino software. (See codes in Appendix A)
Circuit Diagram
Autonomous Robotic Cleaner 10
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Figure 2: Schematic Diagram of Motor Driver Circuit.
Figure 3: Schematic of three channel collision detector.
Autonomous Robotic Cleaner 11
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Figure 4: Power distribution and charger indicators.
Autonomous Robotic Cleaner 12
ResetButtonMotor brush
Sensors
Battery& Power Regulator
LeftMotor
RightMotor
MOTOR:
CHIP:
Autonomous Robotic Cleaner
Control
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Block Diagram
Figure 5. The initial block diagram for the Autonomous Robotic Cleaner
Autonomous Robotic Cleaner 13
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Block Diagram Explanation
The block diagram explains the system function of the autonomous robotic cleaner.
When the switch is shorted there is no power flowing in the circuit, when the switch is connected
or on then there is power which is being connected to the motor brush and the control itself. The
battery or power regulator supplies power or voltage to the sensor. The sensor when supplied
with voltage works and it serves as the eye of the robot itself. When the sensor detects an object
in front then it will be then delivered to the control unit or the microcontroller itself. The control
then will tell the motors whether it will stop or change direction. The control then goes back to
the sensor then after the sensor gets the data again it will be then delivered again to the control
then the process will be in cycle.
Autonomous Robotic Cleaner 14
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
CHAPTER III
CONCLUSION AND RECOMMENDATION
Findings
By using the Autonomous Robotic Cleaner, Developers can clean narrow spaces that
vacuum cleaners cannot reach. There are different advantages of using Autonomous Robotic
Cleaner, lighter that the commercially manufactured vacuum cleaners, small and can reach
narrow spaces, low power consumption, easy to manufactured and automated operation.
The major disadvantage of the Autonomous Robotic Cleaner is that it is costly.
Conclusion
Developers tried to produce a smart robot cleaner that detects more objects with a goods
price and with ease of use. As what this project is, developers produced a small type of robot that
can go between spaces, catch the trash and put it in its bin that is located below its base, the robot
is small so the trash that the robot will able to collect is also small. The bigger the robot the
bigger trash it can collect. Autonomous Robotic Cleaner can locate and detect if ever there is an
obstacle or furniture that will block its path. The controller may determine whether the cleaning
robot is in a traveling-impossible stuck state by detecting a difference between the calculated
position or angle of the cleaning robot and the measured position or angle of the cleaning robot
for a predetermined time period. Developers conclude that any future development will make our
robot smarter, and this depends in future development of other algorithms that depends in the
form of obstacles.
Autonomous Robotic Cleaner 15
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Recommendation
With this project, developers recommend that the robot can only take small piece of
trashes so if there is a big piece of trash in your room the robot will not be able to collect it. Also
fully charge the robot so that when the robot can completely clean any room. Always check the
trash can if it is full, because the motor with the brush will stop its process if ever the trash bin is
full.
Limitations
There are certain limitations of the project. It cannot really detect litter. Once it collides
the robot will then change direction. It cannot get big litter/trash and the lowest height the robot
can reach is 8 inches. It sometimes stuck in the wall.
References
1. Rickey’s World. (2015). DC Motor Interfacing.
Retrieved from http://www.8051projects.net/wiki/DC_Motor_Interfacing
2. Sharp. (2006). GP2Y0A21YK0F (Distance Measuring Sensor Unit 10-80cm)
Retrieved from http://www.sharpsma.com/webfm_send/1489
3. LV-MaxSonar. (2015). High Performance Sonar Range Finder
Retrieved from http://maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf
4. ALLDATASHEET.COM. (2016). DC-Motor Datasheet.
Retrieved from http://category.alldatasheet.com/index.jsp?semiconductor=DC-Motor
5. e-Gizmo Mechatronix Central. (2012). PBOT 2r0 Entry Level Mobile Robot Kit
Retrieved from http://www.e-gizmo.com/KIT/P-BOT.htm
Autonomous Robotic Cleaner 16
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
APPENDIX A
(Codes)
int col1= 2;
int col2= 3;
int col3= 4;
int ls1 = 5;
int ls2 = 6;
int ls3 = 7;
int m2dir = 8;
int m2run = 9;
int m1dir = 11;
int m1run = 10;
// The setup() method runs once, when the sketch starts
void setup() {
pinMode(col1, INPUT);
pinMode(col2, INPUT);
pinMode(col3, INPUT);
pinMode(ls1, INPUT);
pinMode(ls2, INPUT);
pinMode(ls3, INPUT);
pinMode(m2dir, OUTPUT);
pinMode(m2run, OUTPUT);
Autonomous Robotic Cleaner 17
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
pinMode(m1dir, OUTPUT);
pinMode(m1run, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
intcolsense = 0;
intstuckdetect;
void loop()
{
runBot(70,HIGH); // run robot
// read the status of colision sensors
colsense=0;
if(digitalRead(col1)==LOW) colsense=1;
if(digitalRead(col2)==LOW) colsense=colsense+2;
if(digitalRead(col3)==LOW) colsense=colsense+4;
// stuck detect timer
// if always sense, increment timer
if(colsense==0)
stuckdetect=0;
else
stuckdetect=stuckdetect+1;
Autonomous Robotic Cleaner 18
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
// if there is no obstruction, continue moving forward
if(colsense==0) runBot(150,HIGH);
// Obstruction up front or stuckdetect for more than 2 secs
if((colsense==2) | stuckdetect>20)
{
//reverse for 500mS
runBot(150,LOW);
delay(500);
// change direction in random manner
if(random(1,1000)>500)
digitalWrite(m2dir,HIGH);
else
digitalWrite(m1dir,HIGH);
delay(500);
// move forward again
runBot(70 ,HIGH);
}
//Obstruction 1
if(colsense==1)
{
analogWrite(m2run, 150);
Autonomous Robotic Cleaner 19
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
delay(100);
}
if(colsense==3)
{
analogWrite(m2run, 100);
delay(100);
}
if(colsense==4)
{
analogWrite(m1run, 150);
delay(100);
}
if(colsense==6)
{
analogWrite(m1run, 100);
delay(100);
}
}
voidrunBot(int speed, boolean direction )
{
digitalWrite(m2dir,direction);
digitalWrite(m1dir,direction);
Autonomous Robotic Cleaner 20
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
analogWrite(m2run, speed);
analogWrite(m1run, speed);
}
void Stop(void)
{
analogWrite(m2run, 0);
analogWrite(m1run, 0);
}
Autonomous Robotic Cleaner 21
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
APPENDIX B
(Assembly and Construction)
Autonomous Robotic Cleaner 22
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Autonomous Robotic Cleaner 23
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Autonomous Robotic Cleaner 24
University of Perpetual Help System-JONELTASto.Niño, City Of Biñan, Laguna
COLLEGE OF ENGINEERING & TECH-VOC.
Autonomous Robotic Cleaner 25