Path Planning Algorithm Development For Autonomous PDF

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

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/269297110

Path planning algorithm development for autonomous vacuum cleaner robots

Conference Paper · May 2014


DOI: 10.1109/ICIEV.2014.6850799

CITATIONS READS
28 10,703

3 authors, including:

Abdullah Nahid Khondker Jahid Reza


Macquarie University Charles Sturt University
69 PUBLICATIONS   411 CITATIONS    17 PUBLICATIONS   98 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Fault Classification Using Machine Learning View project

Machine Learning in Health Monitoring View project

All content following this page was uploaded by Khondker Jahid Reza on 04 November 2018.

The user has requested enhancement of the downloaded file.


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

Path Planning Algorithm Development for Autonomous


Vacuum Cleaner Robots
Kazi Mahmud Hasan , Abdullah -Al-Nahid , Khondker Jahid Reza ########
1 1 2

1
Electronics and Communication Engineering Discipline
Khulna University, Khulna 9208, Bangladesh.
2
School of Computer and Communication Engineering,
Universiti Malaysia Perlis (UniMAP), Pauh Putra main campus, Arau, Perlis 02600, Malaysia.

E-mail: [email protected], [email protected], [email protected]########

Abstract - A vacuum cleaner robot, generally called a the robots in the market today. If it is commercially produced,
robovac, is an autonomous robot that is controlled by intelligent this robot will become a competitor. Although the cleaning
program. Autonomous vacuum cleaning robot will perform task efficiency of both the two robots is moderately good but the
like sweeping and vacuuming in a single pass. The DVR-1 problem so far with the cost. The expenditure of making cost
vacuum cleaning robot consists of two DC motor operated wheels
is pretty higher than the
that allow 360 degree rotation, a castor wheel, side spinning
brushes, a front bumper and a miniature vacuum pump. Sensors
in the bumper are used for generating binary information of The motto of this paper is to evaluate cost efficient,
obstacle detection then they are processed by some controlling lightweight, less noisy and low maintenance robotic system.
algorithms. These algorithms are used for path planning and Simultaneously, having the facility of automatic avoidance of
navigation. The robot's bumper prevents them from bumping any obstacles and capable of finding its way around after the
into walls and furniture by reversing or changing path fall from a height. On the other hand, the robot may perform
accordingly. floor cleaning functions like vacuum cleaning and sweeping
Index Terms - Bumper sensor, cliff sensor, navigation, vacuum while moving around. Mapping technology is absent in this
cleaner, complete coverage, route map algorithm. design due to cost effective issue. The idea make preference
for the robot to clean the entire area of a room.
I. INTRODUCTION A couple of spinning side brushes are attached to the
underneath of the cleaning machine to accumulate dirt, debris
Robots are emerged as a home appliance recently as the
including pet-hair as well during the move along the way.
people demands are increasing. Home appliance robotics
Though the robot is round shaped but it can still clean along
research is becoming active more than ever. So far several
edges and into other hard-to-reach places. The robot can also
number of big bulky cleaning machines are available for
be maneuvered using remote control to reach the destination.
domestic and industrial use. But their operations are non-
In this paper section II describes the basic block diagram of
autonomous type and these can perform only some specific
the systems, where section III gives some brief idea about the
functions of cleaning.
sensors. Developed algorithms are discussed in section IV.
The two most widely known robot vacuum cleaning robots are
Section V deals with design issues. This paper concludes with
the iRobot Roomba and Neato. Roomba cleans up very
performance analysis of the robot.
efficiently getting into hard-to-reach areas and often neglected
areas like wall edges and beneath furniture. Roomba senses its II. BLOCK DIAGRAM
surroundings and works intelligently around and under
The proposed robot is battery powered electronic device
furniture, avoiding stairs and other drop offs with 'cliff detect'
having two different sensors which produces binary
sensing. iRobot Roomba is a randomly moving robot. It does
information. This information is then sent to the control unit
not build a map of the house and it has no clue where it is in
which is regarded as the brain of the robot. This unit generates
the room rather it uses an algorithm called iAdapt. It goes
from wall to wall, turns when it bumps into an obstacle and control signals automatically based on the information
takes long enough time to cover the whole floor area [1]. But provided by the sensors. Finally these control signals are
forwarded to the wheel motor drivers.
with the help of a laser range finder that scans around in a full
360° circle, the Neato robot uses SLAM algorithm that allows Currently, two modes, i.e., manual and autonomous are
it to map the room for navigation and travels in straight line included to the robot. Manual mode allows the users to operate
patterns partially overlapped [2][3]. Kinect sensor based the robot by itself whether incase of autonomous it is driven
Roomba robot is already been investigated but the costs are by the operator. But the twice modes cannot be run
relatively higher [4]. But the proposed robot performs many of simultaneously.
the functions of Roomba and Neato but it is very much cost
effective costing only about US$ 55, far cheaper than any of

978-1-4799-5180-2/14/$31.00 ©2014 IEEE


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

The complete block diagram representation is given in the Fig.


1 below.

Fig..2 Modulated 38 KHz IR light waveform.

Fig. 1. Block diagram of the DVR-1 robot.


Fig. 3. Cliff sensing process where incident IR signal does not reflect back.
III. SENSORS
IV. ALGORITHM
Basically, there are mainly two types of sensors to sense the
It is stated earlier that the robot having two distinct operational
environment for the robot . They are
modes and they are:
A. Bumper sensor A. Autonomous mode
B. Cliff sensor B. Manual mode

A. Bumper sensor A. Autonomous mode


Bumper sensor is used for sensing obstacle instead of IR Usually, autonomous mode is guided by algorithms for path
proximity sensor. Because the IR LED's/receivers are quite planning of the robot. Path planning is an important factor
directive and, thus, they cannot detect sharp obstacles as chair because the efficiency of cleaning robot is very much
legs or sharp edges [5]. Since the robot has no built-in dependent on it [6]. Four different algorithms are focused in
proximity sensors it can detect any obstacles using the bumper this paper for path planning. They are-
sensor only during collisions. The bumper sensor is basically a
contact sensor switch. The switches are very reliable and do i.Random walk
not need any filtering. When the robot knocks into something, ii.Spiral
its bumper retracts, activating mechanical object sensors that iii.‘S’ shape pathway
informed the machine about an obstacle. It then performs the
iv. Wall follow
sequential actions of backing up, rotating and moving forward
until it finds a clear path. The information is set either to ‘0’ or
‘1’. If the value is ‘0’ it means no obstacle is encountered and
i. Random walk
‘1’ means a collision. The front bumper is 2cm above from the
The first algorithm has been based on the idea of random
ground which means the robot can identify obstacle higher
movement. A random walk does not require any precise
than 2cm.
realization of the route plan [7]. The robot moves in forward
direction until an obstacle is sensed and then it stops if there is
B. Cliff sensor
any barrier. Next, it turns by comparing sensor readings from
While the robot is cleaning, it avoids steps or any other kind of
drop-off using three infrared sensors on the front underside of the left or right direction in which to turn and finally by
the unit. The sensor has an IR transmitter and a receiver. The generating a random number it decides how much to turn. But
IR light is modulated at 38 KHz so that no interference is there is a sophisticated condition called corner escape angle,
occurred due to daylight. These cliff sensors constantly send that should be checked otherwise the robot will be trapped in
out infrared pulse train shown in Fig. 2 and the signal corners [8][9]. The robot’s front bumper having two bumper
immediately bounces back. If it's approaching a cliff, the sensors and used to sense bumping into obstacle.
signals all of a sudden get lost. This is how the robot knows to
head the other way. The output of the cliff sensors are binary To avoid trapping in corners the turning time is calculated as
equivalent where ‘0’ means absence of cliff and ‘1’ means follow.
presence of cliff.

978-1-4799-5180-2/14/$31.00 ©2014 IEEE


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

Fig. 4. Driving wheel joining axis and corresponding variables.

Assuming that,
Wheel radius= r
Wheel to centre point distance= R
Number of revolution of wheel per second=N
R Fig. 7. Random walk algorithm flowchart.
So, time for 3600 rotation of robot = second
N ii. Spiral algorithm
This algorithm allows the robot to create an increased circle.
First of all, the robot checks if there is enough place to start
moving spirally. If yes, the robot convolutes in a LHS (left
hand side) direction, increasing radius from centre point till an
obstacle is sensed. When the obstacle is sensed the robot stops
executing the algorithm. This algorithm helps in quick
coverage of the room area [10].
Fig. 5. Front bumper angle with respect to center point. The algorithm is exhibited in Fig. 8 using flowchart. For this
algorithm, the speed of the right wheel driving motor is
If the front bumper of the robot makes an angle ‘θ’ with the
considered running in full speed while the speed of the left
center point of driving wheel joining axis then to avoid corner
motor is gradually increasing with respect to time.
trapping condition-

Minimum turning time after a collision= second
720.rN
Now some randomness is added to this time to improve
random walk performance.

Random time is set as-


R
Random time = 0 to second
. N

A random number generator is used to generate this random


time. So the total turning time is calculated as-
Rθ R
720.rN
+ (0 to . N
second
Fig.8. Flow chart of the spiral algorithm.
For the robot we implemented,
Wheel radius, r = 4cm
Wheel to centre point distance, R= 12cm
Number of revolution of wheel per second, N=1.2
Bumper angle, θ= 1200

So, 0.41 + 0 to 0.41 second


The flowchart of the random walk algorithm is given below. Fig. 9. Motion path produced by spiral algorithm.

iii. ‘S’ shaped pathway


The route map of this algorithm is like the letter ‘S’. This
algorithm is the fastest process to cover the entire room area
[7][11]. With every collision with obstacle the turning
direction of the robot continuously changes under this mode.

Fig. 6. Motion path of the DVR-1 robot in random walk algorithm.

978-1-4799-5180-2/14/$31.00 ©2014 IEEE


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

iv. Wall follow


The wall follow algorithm allows the robot to move along
wall. While moving along wall it uses side spinning brush to
collect dirt from corners and walls. This algorithm also helps
in efficient coverage of the whole area.

Expected motion path of the wall follow algorithm is given


below.
Fig. 10. ‘S’ shape pattern motion path.

The robot has circular body structure. For this algorithm, after
every collision the robot has a sequence of movements. They
are-
a. Back
b. 900 Turn (Right/Left)
c. Go
d. 900 Turn (Left/Right) Fig.12. Robot moving along room boundary in wall follow algorithm.

It is supposed that, the robot body diameter = The wall follow algorithm flowchart is give below.
The parallel lines should be such that the robot partially
overlaps adjacent lines.
So maximum separation between parallel lines=
Let, Back distance =
Then various timings are
So, various required timings are (seconds)
Back = second (1)

Turn = second (2)

Go = second (3)
The robot has body diameter, L= 14.5cm
So, various required timings are calculated as
1) Back = 0.16 second
2) Turn = 0.625 second
Fig. 13. Wall follow algorithm flowchart.
3) Go = 0.48 second
Cleaning Cycle
The flowchart of the ‘S’ shape algorithm is given in Fig. 11. The robot continues executing those four algorithm one after
another (combined mode) until the whole surface area is fully
cleaned. The execution time for each algorithm is manually set
by the user or if not default execution time for each algorithm
is randomly set.

Fig.14. Different algorithms executing in cyclic order in the robot’s cleaning


cycle.

Fig. 11. Flow chart of the ‘S’ shape pattern algorithm. B. Manual mode
Manual mode allows the users to operate the robot hardly to
reach places. The user has freedom to command the robot to

978-1-4799-5180-2/14/$31.00 ©2014 IEEE


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

create any pattern. In autonomous mode obstacles and cliffs The body of the robotic vacuum is composed of a circular
are handled automatically by on board sensors and controllers. piece of plastic board, onto which all the components are
But as the user operates the robot by him in manual mode, attached. The proposed robot is made of plastic as it is
some extra logics have to be developed. Without such relatively light and quite durable material for such a
programming the robot may bump an obstacle badly or fall construction. The motor specification is 2Amp/6VDC, 5500
from stairs. This may bring huge damage to the robot. The rpm with 70:1 gearbox.
allowed movements associated with both the sensors are listed
in Fig. 15. B. Driving system
The robot has different sort of driving systems. With driving
wheel placed on the center axis of the robot and differential
drive, a robot can rotate 3600 [12]. This facility is utilized in
the robot.

C. Side brush
The robot has two side brushes on the bottom for collecting
dirt along walls and corners. The brushes spin opposite to one
another. The side brush controlling motor specification is
Fig. 15. The DVR-1 robot’s bottom view showing various sensor
0.5Amp/6VDC with 30:1 gearbox.
arrangements.

The robot has two bumper sensors on left and right side
namely LB (left bumper) and RB (right bumper) respectively.
Table I includes the allowed commands regarding bumper
sensors.
Table I Various allowed commands corresponding to bumper sensor.
Fig.16. Robot’s side brush and vacuum filter.
Bumper Sensor
Featured Commands D. Vacuum system
LB RB Cyclonic type dry vacuum is used for collection of dirt.
0 0 All (Forward, Right, Left, Backward) Essentially the function of a cyclone separator is to remove the
0 1 Backward & Left majority of the dust and debris that is sucked up, and separate
1 0 Backward & Right it out from the air stream that carries it. It does this by
1 1 Backward introducing the dust filled air to the cyclone chamber. The
cyclone causes the air and dust to circulate around the outside
There are three cliff sensors on the bottom of the robot named of the container, and as such centrifugal forces keep the
LC, FC and RC. Featured commands of cliff sensor in manual particular matter to the outside edges. The vacuum motor is
mode are given below. 5Amp/6VDC with 8000rpm.
Table. II Allowed commands regarding cliff sensors.
Cliff Sensor Featured Commands
LC FC RC
0 0 0 All
0 0 1 Backward & Left
0 1 0 All except Forward
0 1 1 Backward & Left Fig.17. Dirty air suction and cyclonic filtration system.
1 0 0 Backward & Right
1 0 1 Backward E. Battery and electronics
1 1 0 Backward & Right The battery used is 6V/4.5Ah lead-acid. Lead-acid batteries
1 1 1 Backward are heavier than dry cell batteries but they have one big
advantage- they are far more cheaper than li-ion or NI-MH
batteries. The battery provides enough power to operate the
IV. MECHANICAL DESIGN OF PROPOSED ROBOT robot for about an hour. Charging time for the battery is about
5-6 hours.
Mechanical design consists of a three major parts. They will
be discussed in this section. V. PERFORMANCE DATA

A. The chassis The performance was measured separately for cleaning,


The body of the robot is circular and the driving wheels are obstacle avoidance and for coverage. The test track for
placed along the center axis so that the robot can spin in place cleaning was on tiled floor covered with dust and sand. The
in any direction [8]. One free-spinning castor wheel is located obstacle avoidance was tested in normal room environment:
at the rear of the robot to keep it balanced. chairs, tables on the room. It showed that simple bar with two
micro-switches as a sensitive bumper is quite sufficient for

978-1-4799-5180-2/14/$31.00 ©2014 IEEE


3rd INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION 2014

given task. The room is 12×12 sq. ft and testing continues [5] V. Colla, A.M. Sabatini, A composite proximity sensor for
until entire room is cleaned. target location and color estimation, in: Proceedings of the
Four different algorithms were tested separately. Finally a IMEKO Sixth International Symposium on Measurement and
cleaning cycle was tested. The acquired data are then plotted Control in Robotics, Brussels, 1996, pp. 134–139.
in MATLAB. The efficiency was seen as area coverage in
[6] Chaomin Luo & Simon X. Yang Deborah A. Stacey:
time. In theory, only random walk or spiral or ‘S’ shape
“Real-time Path Planning with Deadlock Avoidance of
algorithm can provide complete coverage of the area if
Cleaning Robot”, Proceedings of the 2003 IEEE International
required time is provided. Owing the fact that both algorithms
Conference on Robotics & Automation. Taipei, Taiwan,
involved partial or complete randomness, their outputs were
September 14-19. 2003
highly unpredictable. Nevertheless, based on numerous tests
the data shows that the robot covers the entire area faster when [7] Stachniss and Cyrill, “Robotic Mapping and Exploration”,
operated in combined mode. in Springer Tracts in Advanced Robotics, Vol. 55, 2009,
XVIII, 196 p. 89 illus.
[8] Y D Zhang, K L Fan, B L Luk, Y H Fung, S K Tso
“Mechanical Design of A Cleaning Robot” in 8th IEEE
Conference on Mechatronics and Machine Vision in Practice
(2001)
[9] Ryo Kurazume, Shigeo Hirose, “Development of a
Cleaning Robot System with Cooperative Positioning System”
in Autonomous Robots (2000) Volume 9, Issue: 3, Publisher:
Springer, Pages: 237-246
[10] Sewan Kim, “Autonomous cleaning robot: Roboking
system integration and overview” in IEEE International
Fig.18. Performance graph of various algorithms in 12×12 foot room arena
Conference on Robotics and Automation 2004 Proceedings
ICRA 04 2004 (2004) Pages: 4437-4441 Vol.5
VI. CONCLUSION
[11] Chih-Hao Chen and Kai-Tai Song: “Complete Coverage
The aim of this work was to design and implement algorithms Motion Control of a Cleaning Robot Using Infrared Sensors”,
of movement of autonomous vacuum cleaner that would be Proceedings of the 2005 IEEE International Conference on
able to work inside of a flat, but not free of obstacles. Though Mechatronics July 10, 2005, Taipei, Taiwan.
the robot has minimum number of sensors, yet developed
algorithms fulfilled this goal. Future development of the robot [12] Charles A. Schuler, Willam L. Mcnamee, "Industrial
includes mapping technology, automatic charging algorithm Electronics and Robotics," Mcgraw-Hill International Edition,
and virtual walls. Neural network and fuzzy logics based Industrial Electronics Series, 2003.
control will be developed for better control of robot in future.
As the proposed robot performs several functions of Roomba
and Neato, but the expenditure will be less than them and
about 30 USD. If it is commercially produced, this robot will
become a competitor.
REFERENCES
[1] Available at:
http://www.irobot.com/EngineeringAwesome/images/iAdapt
%20Fast%20Facts.pdf
[2] "Hands-On: Neato XV-11 Robotic Vacuum Review".
Home Server Land. 2011-01-13.
http://www.homeserverland.com/2011/01/hands-on-neato-xv-
11-robotic-vacuum-review/. Retrieved 2011-01-13.
[3] "Neato Robotics XV-11". BotJunkie. 2010-05-18.
http://www.botjunkie.com/2010/05/18/botjunkie-review-
neato-robotics-xv-11/. Retrieved 2010-09-19.
[4] Ruiz, E.; Acuna, R.; Certad, N.; Terrones, A.; Cabrera,
M.E., "Development of a Control Platform for the Mobile
Robot Roomba Using ROS and a Kinect Sensor," Robotics
Symposium and Competition (LARS/LARC), 2013 Latin
American , vol., no., pp.55,60, 21-27 Oct. 2013.

978-1-4799-5180-2/14/$31.00 ©2014 IEEE

View publication stats

You might also like