33
INOM EXAMENSARBETE TEKNIK, GRUNDNIVÅ, 15 HP , STOCKHOLM SVERIGE 2018 A performance comparison of coverage algorithms for simple robotic vacuum cleaners En prestandajämförelse av täckningsalgoritmer för enkla robotdammsugare ROBIN GUNNING KTH SKOLAN FÖR ELEKTROTEKNIK OCH DATAVETENSKAP

A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

INOM EXAMENSARBETE TEKNIK,GRUNDNIVÅ, 15 HP

, STOCKHOLM SVERIGE 2018

A performance comparison of coverage algorithms for simple robotic vacuum cleaners

En prestandajämförelse av täckningsalgoritmer för enkla robotdammsugare

ROBIN GUNNING

KTHSKOLAN FÖR ELEKTROTEKNIK OCH DATAVETENSKAP

Page 2: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

A performance comparison ofcoverage algorithms forsimple robotic vacuumcleaners

ROBIN GUNNING

Bachelor’s degree in Computer ScienceDate: June 5, 2018Supervisor: Jana TumovaExaminer: Örjan EkebergSwedish title: En prestandajämförelse av täckningsalgoritmer förenkla robotdammsugareSchool of Computer Science

Page 3: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses
Page 4: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

iii

Abstract

Cheap automatic robotic vacuum cleaners keep their cost down byhaving less sensors and many of them focus on using a single frontalbumper sensor, this makes it important to be able to get good cover-age of a room with no knowledge of said room. This paper investigateswhether the algorithm boustrophedon is enough to get a good cover-age of a simple room with a maximum of two furnitures and only 90degree corners.

A graphical simulation were made to test the algorithms that arecommonly used in cheap automatic robotic vacuum cleaners to com-pare them with the result of only using boustrophedon. The resultsshow that the best algorithms are the non-deterministic random walkand all combined. Boustrophedon tends to get stuck when the room isnot empty and it only cleans half the room when starting in the mid-dle of the room, while being the fastest and gets most coverage in anempty room when starting in a corner.

Page 5: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

iv

Sammanfattning

Billiga automatiska dammsugare håller kostnaderna nere genom attminska antalet sensorer och många av dem använder endast en stöt-fångare med stötsensor framtill, vilket gör det viktigt att kunna få enbra täckning av ett rum utan vetskap om rummet. I denna rapportundersöks om algoritmen boustrophedon räcker för att få en bra täck-ning av ett enkelt rum med som mest två möbler och endast 90 gradershörn.

En grafisk simulering gjordes för att testa de algoritmer som van-ligtvis används i billiga automatiska dammsugare för att jämföra demmed resultatet av att endast använda boustrophedon. Resultaten vi-sar att de bästa algoritmerna är den icke-deterministiska random walkoch alla algoritmer kombinerade. Boustrophedon tenderar att fastnanär rummet inte är tomt och den rengör bara hälften av rummet närman börjar i mitten av rummet, men den är snabbast och får mest täck-ning i ett tomt rum när man börjar i ett hörn.

Page 6: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Contents

1 Introduction 11.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . 21.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Background 42.1 Previous research . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Algorithms . . . . . . . . . . . . . . . . . . . . . . 5

3 Method 103.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.1 Rooms . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Results 144.1 Room type 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Room type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 Room type 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 174.4 Room type 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Discussion 21

6 Conclusion 23

Bibliography 24

v

Page 7: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses
Page 8: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 1

Introduction

Most cheap automatic robot vacuum cleaners (from here on calledrobot cleaner) today combines three or four different path planningalgorithms to get the expected coverage as fast as possible. This hassparked the interest to develop efficient algorithms to reduce cleaningtime and be as efficient as possible.

There are several types of robot cleaners of available to the publictoday, however the price range of these robot cleaners varies greatlyand there is no set standard of what sensors a robot cleaner shouldhave. This makes almost every robot cleaner unique in the way ofgetting a good coverage of the room it is supposed to clean. Further-more different robot cleaners and companies has their own algorithmsdeveloped to maximize coverage and minimizing the dust on the floor.

Usually the price of the robot cleaner seems to correlate with the num-ber of sensors and how advanced the sensors are [7]. Cheaper modelsoften only have a single sensor which is a frontal bumper (Figure. 1), amicro switch which gets pressed when the robot cleaner bumps in to awall or another object.

Figure 1: Skantic Robot Cleaner 10 [9]

1

Page 9: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

2 CHAPTER 1. INTRODUCTION

More expensive models often utilize optical sensors to measure howmany times the wheels have rotated and some models even use lasersand radar to build virtual maps of the rooms the robot cleaner operatein. Rooms come in all different sizes and shapes and different algo-rithms are likely to have different strengths depending on the type ofroom. The standard algorithms for cheap robot cleaners are Boustro-phedon, random walk, spiral and wall follow [4].

Boustrophedon travels forward until hitting a wall, when hittingthe wall the robot reverses for a while then turns 90 degrees clockwiseor counter clockwise then travels for a short period and turns another90 degrees in the same direction as chosen when hitting the wall. Thatmakes the robot cleaner do an 180 degrees turn while not cleaning thesame space twice. When reaching the opposite wall the robot cleanerperforms the same set of instructions as before but in the opposite di-rection. This makes the robot cleaner zig-zag between two walls whiletraversing the room.

Random walk turns a random amount of degrees and travels in astraight path until it hits a wall.

Spiral is a counter clockwise spiral of increasing radius and whenhitting an obstacle switches to wall follow and travels in a small halfcircle until it hit the wall again and continues doing this around theroom or until the robot cleaner switches algorithm [4].

1.1 Purpose

The purpose of this report is to compare if a cheap robot cleaner withjust a single frontal bumper could get a good coverage with boustro-phedon of a room that has no more than 2 furnitures and only 90 de-grees corners.

1.2 Problem statement

Robots with only one bumper sensor have limited options in what al-gorithms can be used to get coverage in a room. This work aims to per-form a series of empirical tests to classify which of these algorithms get mostcoverage or if a specific combination of these algorithms is better than anothercombination. My hypothesis is that Boustrophedon will perform betterin every room that only has 90 degrees corners and with a maximum

Page 10: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 1. INTRODUCTION 3

of two pieces of furniture, meaning that if you have a sparse funituredroom no algorithm except boustrophedon is needed to get a coverageof 80% as fast or faster than all the algorithms combined.

1.3 Scope

The focus on this report is to compare if boustrophedon is enough toget a good coverage of a room, and not to improve or implement algo-rithms that outperforms the already existing algorithms.

Page 11: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 2

Background

2.1 Previous research

One approach to get good coverage is cellular decomposition whichdivides the room into several cells and performs the algorithm in eachcell [8][3][10]. Each cell is made up of a part of the room, making a newcell at the critical point for each room. The critical point is where theconnectivity of a cell changes, for example when an obstacle dividesthe room. According to Choset and Pignon [2], fewer cells are betteras fewer number of cells minimize the number of zig-zag motions therobot has to make, but more cells are guaranteeing the robot exhaus-tively covers the entire environment however this can be countered bymaking the boustrophedon algorithm have a shorter ”side step”.

Boustrophedon cellular decomposition is combining cellular de-composition with graph theory to generate an Euler tour, which guar-antees complete coverage of the known work space while minimizingthe traveled path by the robot. [6]. Using landmark-based topologicalcoverage or grid-based methods improves the coverage of algorithmslike boustrophedon [3].

Some previous research has been done in the field of comparingdifferent algorithms for unexplored environments and while the bestcoverage per minute is achieved when using all the algorithms com-bined, boustrophedon is the next best performing algorithm [4].

4

Page 12: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 2. BACKGROUND 5

2.1.1 Algorithms

This section contains background of the studies and used algorithmsfor this thesis. The non-deterministic algorithms are random walk andall combined since those are the only algorithms with random ele-ments. The rest of the algorithms will perform the same every timegiven the same parameters.

Boustrophedon

Boustrophedon means ox-turning in ancient Greek, and mimics an oxwhen plowing and makes the robot zig-zag from opposite walls whiletraversing the room length wise[2][6]. The pseudo code (Algorithm. 1)is a direct translation from the boustrophedon flowchart from Hasan[4]. The algorithm starts by going upwards and then makes the robotcleaner turn 90 degrees right when the front bumper is triggered, andthen travels a distance equal to the robot cleaners diameter and turns90 degrees right again making the robot face downwards. The robotcleaner then travels downwards till the bumper is triggered again. Therobot cleaner will now turn 90 degrees left, and then travels a distanceequal to the robot cleaners length and turns 90 degrees left again mak-ing the robot cleaner face upwards. After this the algorithm restarts.The path generated by the algorithm is depicted by (Figure. 2).

Page 13: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

6 CHAPTER 2. BACKGROUND

Start direction upLet one roboUnit = the diameter of the robotif collision detected then

Move backwards one roboUnitif if count is odd then

Turn 90 degrees clockwiseMove forwards one roboUnitTurn 90 degrees clockwiseadd 1 to count

elseTurn 90 degrees counter clockwiseMove forwards one roboUnitTurn 90 degrees clockwiseadd 1 to count

endelse

Move forwardsend

Algorithm 1: Boustrophedon [4]

Figure 2: Boustrophedon

In the case where the room/space is known beforehand the boustro-phedon algorithm gains a lot from dividing the room into smallerparts for better coverage. As the obstacles and furnitures in the roomare known and divided into cells where the obstacles are, the robotcleaner can easily plan it’s boustrophedon path for every cell. Whenall the cells have been visited and cleaned, the entire room is cleaned[2]. There is a difference between following the longer or the shorterwall of the room, there will be no difference in coverage however thereare some small gains if the robot cleaner follows the long wall of theroom as the robot cleaner does not have to make as many turns as

Page 14: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 2. BACKGROUND 7

when following the short wall which saves battery.

Spiral

The spiral algorithm makes the robot cleaner move in an increasingspiral path. This algorithm works best if the robot is placed in themiddle of the room and has enough space to perform the spiral cor-rectly. When the robot cleaner starts this algorithm it starts a right orleft hand side spiral from the center point outwards until it the frontbumper is triggered. The pseudo code (Algorithm. 2) is a direct trans-lation from the spiral flowchart from Hasan [4].

while no collision doMove forwardTurn right according to turning angleDecrease turning angle

endAlgorithm 2: Spiral [4]

When the front bumper is triggered the robot cleaner stops the spi-ral algorithm and proceeds with another algorithm since starting thespiral algorithm when close to a wall is meaningless [4]. The path gen-erated by the algorithm is depicted by (Figure. 3).

Figure 3: Spiral walk

Random walk

The random walk is a very simple algorithm that only needs a simplefront bumper sensor. The robot cleaner just moves in any direction

Page 15: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

8 CHAPTER 2. BACKGROUND

until it hits an obstacle and the front bumper is pressed. When thebumper is pressed the robot cleaner generates a pseudo-random num-ber which decides how much the robot cleaner should turn. From herethe algorithm starts over. (Algorithm. 3) is a direct translation from therandom walk flowchart from Hasan [4].

Move forwardLet one roboUnit = the diameter of the robotif collision detected then

Move backwards one roboUnitTurn 180 degrees + or - random(90 degrees)

else

endAlgorithm 3: Random Walk

(Figure. 4) depicts how one of the paths the generated by the algorithmmight look like.

Figure 4: Random walk

Wall follow

The wall follow algorithm moves forward until the front bumper istriggered, at which point it turns 180 degrees away from the wall andthen starts a circular motion until it hit the walls again.The algorithmrepeats this procedure until the entire room has been covered alongthe Walls. This algorithm stays near the walls and never sways faraway from them, this means it only cleans the perimeter of the room[4]. This algorithm is seldom used alone but instead combined withthe spiral algorithm. (Algorithm. 4) is a interpretation of the wall fol-low flowchart from Hasan [4] and the half circle motion is from myown robot cleaner [1].

Page 16: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 2. BACKGROUND 9

Move forwardif collision detected then

Turn 180 degreesMove forward with a pre set angle speed

else

endAlgorithm 4: Wall follow

(Figure. 5) depicts how one of the paths generated by the algorithmmight look like.

Figure 5: Wall follow

Spiral + Wall follow

This is a combination of the spiral and the wall follow algorithm. Whenthe front bumper is triggered while using the spiral algorithm, therobot cleaner switches to the wall follow algorithm. This is useful forwhen the robot cleaner is starting in the middle using spiral. The al-gorithm switches only once. So when going from spiral to wall followthere is no way to switch back to spiral [5].

All combined

The all combined algorithm is using all of the above described algo-rithms and using a timer to change between them. Starting with bous-trophedon, switching over to random walk and from there switchingto spiral and when the front bumper is triggered switching to wall fol-low and then starting the whole cycle over again [4].

Page 17: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 3

Method

3.1 Simulation

By making a simulation of a robot cleaner with only a bumper sensorand providing it with a room, the simulation is able to compare andpresent which algorithm is best suited for that type of room. Otherways to test this by using a real robot cleaner, and clean real rooms. Asfar as we know there are no funding for this, and making a simulationmakes it possible to try out each algorithm separately and in differ-ent combinations. A mathematical and more analytic approach is notpossible due to too many variables that need to be accounted for.

The simulation is written in Python and is a graphical implemen-tation of the robot and the room, the robot only has one sensor whichis a front bumper that spans 120 degrees on the front of the robot [4].

Floor space will be represented by white pixels and walls and ob-stacles will be black pixels and already cleaned area will be paintedwith red pixels.

The robot cleaner leaves a trail of red to show where the robotcleaner has cleaned (Figure. 6). Due to how computational heavy count-ing colored pixels is, the simulation counts how much coverage therobot has accumulated every second instead of every frame.

At 100 seconds running time, the simulation ends and the resultsare presented to the user.

The algorithms used in this simulation are constructed using the flowcharts found in Hasan [4].

Cellular decomposition is not used in this study since it focuses on

10

Page 18: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 3. METHOD 11

cheap robot cleaners and for cellular decomposition more advancedand expensive equipment is needed.

Figure 6: The simulator in running the random walk algorithm

3.1.1 Rooms

There are four different types of rooms, two of which are entirely emptyand two that are sparsely furnitured. Corners are only angled at 90 de-grees. The rooms are in the form of a bitmap image file which makesit easy to create new rooms for the simulator to run.

This is the standard room, rectangular and empty (Figure. 7).

Figure 7: Room 1

This ”room” consists of several spaces with half walls and small cor-ners that divide the room (Figure. 8).

Page 19: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

12 CHAPTER 3. METHOD

Figure 8: Room 2

This is the standard room but furnished with a small sofa and an armchair. The sofa and the arm chair are represented by four points in theroom since that is where the legs are. The sofa and the arm chair aretall enough for the robot cleaner move underneath them (Figure. 9).

Figure 9: Room 3

The room with several spaces with half walls and small corners furni-tured with a sofa and an arm chair (Figure. 10).

Page 20: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 3. METHOD 13

Figure 10: Room 4

The simulation starts by counting the area of the room by counting thewhite pixels inside of the walls, then the algorithm to use is chosen.

3.2 Benchmarks

As a benchmark, the simulator will run all four of the algorithms witha timer to switch between them (All combined). This is what somecheap robot cleaners use [4]. This is used to as a control to compare ifany of the other algorithms are good enough to be used alone.

Page 21: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 4

Results

The results come from running the simulation several times for eachtype of room. The non-deterministic algorithms were tested by com-puting the mean of 10 separate runs, while the deterministic algo-rithms were tested with a single run. The reason some algorithms getstuck at a certain percentage of coverage is that the robot cleaner gotstuck and this is how the algorithms should work according to theflowchart in the report by Hasan [4].

4.1 Room type 1

These are the result from room type 1, the empty room. Starting in thebottom left corner (Figure. 11). As seen the boustrophedon gets highcoverage quickly and the coverage does not increase as it get stuckin the right upper corner. Starting in the middle of the room showsanother story. Boustrophedon only cleans half of the room before itgets stuck in the top right corner of the room (Figure. 12).

14

Page 22: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 4. RESULTS 15

Figure 11: Results when starting in a corner in room 1

Figure 12: Results when starting in the middle in room 1

Page 23: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

16 CHAPTER 4. RESULTS

4.2 Room type 2

These are the result from room type 2, the room with half walls andsmall corners. Starting in the bottom left corner the boustrophedongets stuck in the bottom middle wall and therefore just could cleanhalf the room (Figure. 13), Starting in the middle of the room the bous-trophedon gets stuck at the top right corner of the room (Figure. 14).

Figure 13: Results when starting in a corner in room 2

Page 24: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 4. RESULTS 17

Figure 14: Results when starting in the middle in room 2

4.3 Room type 3

These are the result from room type 3, the standard room but fur-nished. Starting in a corner boustrophedon gets 60% coverage fast butgets stuck at the armchair (Figure. 15). Starting in the middle of theroom boustrophedon gets stuck quickly at the armchair (Figure. 16).

Page 25: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

18 CHAPTER 4. RESULTS

Figure 15: Results when starting in a corner in room 3

Figure 16: Results when starting in the middle in room 3

Page 26: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

CHAPTER 4. RESULTS 19

4.4 Room type 4

These are the result from room type 4, the room with half walls andsmall corners when furnished. Starting in a corner boustrophedon getsstuck at the bottom and middle wall (Figure. 17). Starting in the mid-dle of the room is even worse for boustrophedon, getting stuck at thearmchair (Figure. 18).

Figure 17: Results when starting in a corner in room 4

Page 27: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

20 CHAPTER 4. RESULTS

Figure 18: Results when starting in the middle in room 4

Page 28: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 5

Discussion

Most of the time, the non-deterministic algorithms got stuck and couldnot move past the obstacle in their way.

Spiral gets good coverage when starting in the middle of an emptyroom as it covers a circle with a diameter the same size as the shortestwall. If there are obstacles in the room, spiral is not the way to go.If spiral is starting in the corner or close to a wall, the robot cleanerwill just spin half a rotation and stop when hitting the wall resultingin roughly 3% coverage.

Wall follow follows the walls nicely and therefore gets good cover-age independent of where the robot cleaner starts. Wall follow almostnever get stuck since it always turn 180 degrees when front bumper ishit, this makes the robot cleaner try to drive forward at almost everydegree.

Spiral plus wall follow performs as good as wall follow alone unlessthe room is empty and the robot is starting from the middle. This is be-cause the algorithm start with spiral and when the front bumper is hitit switches algorithm to wall follow, so if spiral does not cover mucharea it is like running wall follow alone.

Random Walk gets good coverage in any type of room and since itis using random elements it makes it hard to get stuck for a long time.The problem with random walk is that it is cleaning already cleanedspace, but it’s better to clean a bit of cleaned space than to get stuck

21

Page 29: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

22 CHAPTER 5. DISCUSSION

and not clean at all.

All combined gets equally good coverage as random walk due to therandom elements in the algorithm. Most of the time it gets coveragefaster than random walk since the robot switches between many differ-ent algorithm. As an example spiral might be initiated in the middleof the room when switching from random walk and boustrophedonmight be initiated in unexplored areas.

Boustrophedon got stuck a lot of the time, and when the robot cleanerhit the most right wall the boustrophedon could not continue any fur-ther. The robot cleaner just hits the right wall and then turns towardsthe top wall and hits that wall and turns back towards the right wall,and just keeps repeating that pattern. Boustrophedon performs reallywell if the conditions are optimal, a rectangular room with four 90 de-grees corners and no obstacles. However when a room has obstacles,boustrophedon almost get stuck every time unless the robot cleanerhits the obstacle exactly in the right position.

The implementation I found of the boustrophedon algorithm didnot really meet my expectations, maybe that is just because I did nothave enough information about the boustrophedon.

Page 30: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Chapter 6

Conclusion

I was wrong. Boustrophedon does not perform better in every roomwith only 90 degrees corners and a maximum of two pieces of furni-ture. Boustrophedon only performs as fast or faster than all combinedif the room is a rectangular empty room and the robot cleaner is start-ing in a corner, boustrophedon performs worse in all other kinds ofrooms and when not starting in a corner. All deterministic algorithmswill most likely get stuck in a room with furniture and that is whenall combined shines and random elements prevents the robot cleanerfrom getting stuck for a longer period of time.

Simulations show that wall follow and all combined are the best al-gorithms to use for a robot cleaner with only one frontal bumper dueto not getting stuck where boustrophedon gets stuck and can not con-tinue.

23

Page 31: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

Bibliography

[1] Centurion RDE 125. http://robotdammsugare.org/centurion-rde125/. [Online; accessed 24-Mars-2018]. 2018.

[2] Howie Choset and Philippe Pignon. “Coverage Path Planning:The Boustrophedon Decomposition”. In: International Conferenceon Field and Service Robotics. Jan. 1997.

[3] Enric Galceran. “A survey on coverage path planning for robotics”.In: Robotics and Autonomous Systems 61 (2013), pp. 1258–1276.

[4] Kazi Mahmud Hasan. “Path Planning Algorithm Developmentfor Autonomous Vacuum Cleaner Robots”. Electronics and Com-munication Engineering Discipline Khulna University, Bangladesh,2014.

[5] T. Palleja. “Modeling floor-cleaning coverage perfirmances of somedomestic mobile robots in a reduced scenario”. In: Robotics andAutonomous Systems 58 (2010), pp. 37–45.

[6] Ioannis Rekleitis. “Efficient Boustrophedon Multi-Robot Cover-age: an algorithmic approach”. School of Computer Science, McGillUniversity, Montreal, Canada, 2009.

[7] Roomba - Dammsugartyper. http://www.irobot.se/Home-Robots/Dammsugning. [Online; accessed 16-February-2018].2018.

[8] Seuk-Woo Ryu. “A Search and Coverage Algorithm for MobileRobot”. Department of Electrical Engineering, the SungkyunkwanUniversity, Suwon, Korea, 2011.

[9] Scantic robot cleaner 10. http://robotnyheter.se/2013/12/04/ny-robotdammsugare-for-499-kronor-hos-netonnet/. [Online; accessed 16-February-2018]. 2018.

24

Page 32: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

BIBLIOGRAPHY 25

[10] Sylvia C. Wong. “A topological coverage algorithm for mobilerobots”. Depatment of Electrical and Electronic Engineering, TheUniversity of Auckland, 2003.

Page 33: A performance comparison of coverage algorithms for simple ...1213970/FULLTEXT02.pdf · Boustrophedon travels forward until hitting a wall, when hitting the wall the robot reverses

www.kth.se