0% found this document useful (0 votes)
4 views

INISTA09_PerformanceComparisonoftheBUGsAlgorithmsforMobileRobots

This conference paper presents a performance comparison of various Bug's algorithms (Bug1, Bug2, Class1, Alg1, Alg2, and DistBug) for mobile robot motion planning in simulated environments. The study evaluates the algorithms based on their ability to navigate obstacles and reach a goal point using sonar sensors, revealing that performance varies depending on the environment. Results indicate that Class1, Alg2, and DistBug generally outperform Bug1 and Bug2 in terms of path efficiency.

Uploaded by

Usman Khan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

INISTA09_PerformanceComparisonoftheBUGsAlgorithmsforMobileRobots

This conference paper presents a performance comparison of various Bug's algorithms (Bug1, Bug2, Class1, Alg1, Alg2, and DistBug) for mobile robot motion planning in simulated environments. The study evaluates the algorithms based on their ability to navigate obstacles and reach a goal point using sonar sensors, revealing that performance varies depending on the environment. Results indicate that Class1, Alg2, and DistBug generally outperform Bug1 and Bug2 in terms of path efficiency.

Uploaded by

Usman Khan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

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

net/publication/276353510

Performance Comparison of the BUG’s Algorithms for Mobile Robots

Conference Paper · June 2009


DOI: 10.13140/RG.2.1.3616.6564

CITATIONS READS

9 3,298

2 authors:

Alpaslan Yufka Osman Parlaktuna


ASELSAN Inc. Eskisehir Osmangazi University
37 PUBLICATIONS 188 CITATIONS 82 PUBLICATIONS 822 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Alpaslan Yufka on 16 May 2015.

The user has requested enhancement of the downloaded file.


INISTA 2009
International Symposium on INnovations in Intelligent SysTems and Applications, June 29-July 1, 2009, TRABZON, TURKEY

Performance Comparison of the BUG’s Algorithms for Mobile Robots

Alpaslan YUFKA and Osman PARLAKTUNA


Eskişehir Osmangazi University, Eskişehir, Turkey
[email protected], [email protected]

Abstract sensors efficiently to define a new leaving condition


and to choose an initial boundary following direction
In this study, Bug1, Bug2, Class1, Alg1, Alg2 and with respect to local range data [11]. Beside this, the
DistBug motion planning algorithms for mobile algorithms in the Bug’s family can exhibit a
robots are simulated and their performances are statistically better performance depending on the
compared. These motion planning algorithms are structure of the environment, but at different
applied on a Pioneer mobile robot on the simulation environments the one may have an advantage over
environment of MobileSim. Sonar range sensors are another algorithm [4].
used as the sensing element. This study shows that This paper presents a comparison among the
mobile robots build a new motion planning using the Bug’s algorithms, as well as Bug1, Bug2, Class1,
Bug’s algorithms only if they meet an unknown Alg1, Alg2 and DistBug, to show which one exhibits
obstacle during their motion to goal. Each of the the best performance based on experimental data
Bug’s algorithms is tested separately for two provided from the simulation environment of
identical indoor environments. At the end of this MobileSim [14]. A Pioneer mobile robot is used in
study, the performance comparison of the Bug’s the simulation. The aim of the study is to compare
algorithms is shown. the algorithms in terms of total path length traveled.
The assumptions are that the mobile robot never
1. Introduction encounters a localization problem and it uses its
odometry to localize itself.
Based on the environment and the goal location,
generating a path for a mobile robot means finding a 2. The bug’s algorithms
continuous route starting from the start point, S, to
the goal point, G, which is in a 2D environment with The Bug’s algorithms are simple planners with
unknown obstacles of an arbitrary shape. provable guarantees [12]. When they encounter an
Implementing this, the navigation takes an important unknown obstacle, they can readily generate their
place and is a general problem for mobile robots. own path contouring the object in the 2D surface if a
In the literature, there are several distinct path to the goal exists. The purpose is to produce a
approaches related to the navigation [1]. The Bug’s collision-free path by using the boundary-following
algorithms [2, 3] construct a path to move the robot and motion-to-goal behaviors. In addition, the Bug’s
to G in a straight line, if the path to G is clear. family has three assumptions about the mobile robot
Robot follows boundary of the obstacle when it i) the robot is a point, ii) it has a perfect localization
encounters an unknown obstacle until the path is and iii) its sensors are precise [4]. Based on these
clear again [1]. These algorithms have advantages criterions, it is almost difficult to implement the
compared with the others [1] that the mobile robot Bug’s algorithms on mobile robots in the realistic
does not have to map its environment. The robot is world whereas the simulation programs, as well as
only interested in reaching its goal location if it is MobileSim, satisfy these conditions and provides an
reachable; however, if it is unreachable, the robot is easy implementation for the Bug’s algorithms on
able to terminate the given task. Each described Pioneer mobile robots.
Bug’s algorithm has this termination feature [4].
The following Bug’s algorithms are considered 2.1. Bug1 and bug2 algorithms
and implemented in this paper: Bug1 [5, 12], Bug2
[5, 12], Class1 [13], Alg1 [7-8-13], Alg2 [7-8-13] Bug1 and Bug2 algorithms by Lumelsky and
and DistBug [4-6] which are the part of the Bug’s Stepanove are not only the original and the earliest
family. Bug1 and Bug2 are the original algorithms of sensor-based planners but also offer minimal
the Bug’s family which need minimal memory memory requirements because of their plainness [11,
requirements but not to be capable of making the 12]. Their senses are based on tactile sensors but in
best use of the available sensory data to generate this study the sonar sensors instead of tactile sensors
short paths [11]. In contrast, DistBug uses range are used to implement the experiment.
Bug1 is an algorithm in the sense, the mobile for example, maze-searching [11]. In figure 1, it is
robot moves towards G directly along a line obvious that Bug 2’s path is the shorter than Bug1’s.
connecting S and G, unless it encounters an obstacle, On the other side, in the next section 4, the study
in which case the robot explores the external lines of shows how Bug1 beats Bug2 for environmet2.
the obstacle until the motion to G is available again
[8, 12]. Once it encounters an obstacle as shown in 2.2. Class1 algorithm
figure 1, it goes around the obstacle in clockwise
sense (default), and determines the leave point by Class1 by Noborio is an algorithm which follows
calculating the distance between the current position the boundary of the obstacle until the distance to G is
and G during travelling around the object. The larger than the minimum distance, whose point is Ci,
leaving point is the closest point around the obstacle stored by the mobile robot. In addition, Class1 limits
to the goal. Then, the mobile robot determines the its searching space as the circle whose center is at G,
shortest path to this closest point in order to reach the and its radius is as the segment GC [13]. Beside
leave point, and changes or keeps its direction of the these, it also constrains its searching space using hit
boundary following according to the shortest path to points, Hi. Based on the points Ci and Hi, Class1
return to the leave point. Next, it moves to the generates its circular loops for the searching space as
departure point and leaves the obstacle towards G shown in figure 2 so that it can leave the obstacle and
along a new line. When it encounters the second approach to G passing from the outer circular loop to
obstacle, the same procedure is applied. This method inner one which is closer than the previous outer one.
is inefficient but guarantees that the mobile robot is
able to arrive any reachable goal point, [1].

Figure 2. Class1’s path for the environment2

2.3. Alg1 and alg2 algorithms

Alg1 and Alg2 by Sankaranarayanan and


Vidyasagar are revised versions of Bug2 and Class1
respectively. Both of them intend to shorten the path
travelled by the mobile robot. The basic idea is that
if the mobile robot encounters a previously
experienced hit point, Hk, or leave point, Lk, during
its boundary-following action, it compares the
lengths of the path which are from Hk or Lk to the
last hit point, Hi, or the last leave point, Li, in
clockwise sense and counter clockwise sense (k<i).
Figure 1. Path generated by Bug1 and Bug2 for the According to the minimum path length to Hi or Li,
environment1 respectively the boundary-following direction is determined and
the robot goes to Hi or Li without any recording data
Algorithm Bug2 is a greedy algorithm that the of the path length. The record of the path length is
mobile robot follows a constant slope computed only restarted after reaching Hi or Li. Then, the robot
initially between S and G. The robot maintains its explores new external lines of the obstacle and
motion to the goal unless the path on the slope is maintains its boundary-following action until it finds
blocked by an obstacle, in which case, it follows a new leave point to G. Based on above property,
edges of the obstacle by using its sonar sensors in the Alg1 and Alg2 differ from Bug2 and Class1
clockwise sense until it finds its initial slope again. respectively. If it faces a different experienced point
This property leads to shorter paths than Bug1’s but again, the same procedure is applied [7, 8]. Figure 3
in some cases the path may get longer than Bug1’s, represents the paths generated by Alg1 and Alg2.
3. Implementation
Generally the Bug’s algorithms are published as
pseudo code [4]. We have written them as C++ code
executed in Linux platform using ARIA library [14]
and used MobileSim simulator [14] which is
compatible with real Pioneer mobile robots. Two
different indoor-environments, as well as
environment1 and environment2, are used for each
of the Bug’s algorithm as indicated in figure 5, and
their maps are created by Mapper3 [14]. The
environment1 is limited in 10m length and 8m width,
and it includes two convex-shaped obstacles. On the
other environment, the environment2 has a mazelike
obstacle whose outer dimensions are 13m length and
8m width. In experiments, S1 and S2 are locally
(0mm, 0mm) for both environments and G1 is
locally (7000mm, 5000mm) for environment1 and
G2 is locally (12000mm, 0mm) for environment2.
Figure 3. Path generated by Alg1 and Alg2 for the
environment2 respectively

2.4. DistBug algorithm

Some Bug’s algorithms such as DistBug


algorithm by Kamon and Rivlin originate from Alg1
and Alg2. They use different data structures to store
the hit and the leave points together with some useful
information about the followed path [11].
In this algorithm, the mobile robot has a maximal
detection whose range is R, and it has two basic
behaviors which are the boundary-following and the
motion-to-goal actions. At the beginning, the robot
moves through G until it encounters an obstacle.
Then, its boundary-following action is activated in
clockwise sense (default). During the boundary
following, the robot records the minimal distance, Figure 5. Environment1 and environment2
dmin(G), to G achieved since the last hit point. The
robot also senses the distance in free space, F, which During the implementation, the mobile robot
is a distance of an obstacle from the robot’s location, updates its position and navigation data, uses its
X, in the direction of G. If no obstacle is sensed, F is sonar sensors, moves towards the goal, and by the
set to R. The robot leaves the obstacle boundary as wall following or the boundary following, follows
shown in figure 4 only when the path to G is clear or the edges of the unknown obstacle.
the equation, d(X, G) – F ≤ dmin(G) – Step, is In the simulation environment, the robot uses the
satisfied where d(X, G) is the distance from X to G, odometry to localize itself and to update its position
and Step is a predefined constant [6]. data. It’s important that the mobile robot refreshes its
localization frequently in order not to pass over the
hit and the leave points and not to skip the slope
discussed in Bug2. Note that the localization of the
robot is perfect in the simulation whereas in the real
world it is difficult to become perfect.
Some Bug’s algorithms, as well as TangentBug
[12] and DistBug, need range sensors whereas Bug1
and Bug2 do not [4]. Bug1 and Bug2 require tactile
sensors, but in this study the sonar sensors instead of
tactile sensors are used to sense the environment and
to manage the operations such as wall following and
Figure 4. DistBug’s path for the environment1 detecting the unknown obstacles.
The most important task for the mobile robot is In the first step of the experiment, each described
reaching G, therefore, it tries to move towards G algorithms are tested in environment1 as shown in
until it replans its motion according to the algorithm. figure 7. Bug1 is the slowest one among the tested
The obstacle detection and the wall following are the Bug’s algorithms but it guarantees the mobile
implemented by using sonar sensors whose layout is robot to reach the reachable target. The performance
denoted in figure 6. The robot uses front sensors of Bug2 is better than the performance of Bug1 for
numbered as 1, 2, 3, 4, 5 and 6 to sense obstacles that the environment1 because of its greediness. Alg1’s
block the path, and uses sidelong sensors numbered path length is nearly as same as Bug2’s because Alg1
as 7, 8 for the wall following in clockwise sense and behaves like Bug2 at normal conditions. On the other
0, 15 in counter-clockwise sense. hand, Class1 does not only exhibit a great
performance because of constraining its searching
area successfully but Alg2 and DistBug are also
great. As indicated in table 1 and shown in figure 9,
three best for environment1 are Class1, Alg2, and
DistBug, and the worst is Bug1.

Figure 6. Sonar layout

4. Experiments and results


Twelve applications are carried out to compare
the performance of each previously described the
Bug’s algorithms. In these applications, the
environments given in fig.5 are used. The experiment
is simulated on a Pioneer mobile robot and managed
by MobileSim simulator. An open source code
named as ARIA is used to program the mobile robot.
The mobile robot in the 2D surface has a local S,
and G for each tested environments. Based on the
bird’s-eye view, the shortest distance between S and
G is 8602.325267mm for environment1 and
12000mm for environment2. In this study, Bug1,
Bug2, Class1, Alg1, Alg2 and DistBug are evaluated.

Figure 8. The paths of Bug1, Bug2, Class1, Alg1,


Alg2 and DistBug for environment2 respectively

In the second step of the experiment, each


described algorithms are tested in environment2 as
shown in figure 8. It’s obvious that Bug1 beats Bug2
which is the worst one in environment2. Because of
some cases, for instance, a maze searching; Bug2
loses its advantage upon Bug1. At that point, Alg2
exhibits its feature upon Bug2 which improves the
path length of Bug2 according to experienced hit or
leave points. Class1 couldn’t maintain its great
performance of environment1 in the environment2
because of not being able to change its boundary-
following direction. It is one of the disadvantages for
Class1. At this time, Alg1 exhibits its property upon
Class1 which improves the path length of Class1. In
contrast, as indicated in table 1 and shown in figure
9, DistBug exhibits a great performance among
others because it provides the mobile robot to use its
Figure 7. The paths of Bug1, Bug2, Class1, Alg1, sensors efficiently, so it is able to find the shortest
Alg2 and DistBug for environment1 respectively path whereas others do not.
The experimental data is given in table 1, and is The future work will include different
also charted in figure 9. environments to test the performances of the Bug’s
algorithms and it will contain at least three of them
Table 1. Path lengths travelled by the robot for which are Rev1 [10], Rev2 [10], VisBug-21 [2],
environment1 (env.1) and environment2 (env.2) VisBug-22 [2], HD-I [11] and TangentBug [12] in
Env.1(mm) Env.2 (mm) order to extend the study. After implementing these,
Bird’s-eye 8602.325267 12000.000000 the algorithms should be tested on real pioneer
view robots to see the effects of the real world.
Algorithms
Bug1 29021.921497 113076.893602 6. References
Bug2 16193.656123 150288.508183 [1] Maria Isabel Ribeiro, “Obstacle Avoidance”, 2005.
Class1 12368.997925 141355.555627 [2] V. Lumelsky and T. Skewis, “Incorporating range
Alg1 16378.524969 93916.116569 sensing in the robot navigation function”, IEEE
Transactions on Systems Man and Cybernetics, vol. 20,
Alg2 12790.592228 91713.843486 1990, pp. 1058 – 1068.
DistBug 12794.794053 69485.595117 [3] V. Lumelsky and A. Stepanov, “Path-planning
strategies for a point mobile automaton amidst unknown
obstacles of arbitrary shape”, in Autonomous Robots
Vehicles, Springer, I.J. Cox, G.T. Wilfong (Eds), New
York, 1990, pp. 1058 – 1068.
[4] James Ng and Thomas Bräunl, “Performance
Comparison of Bug Navigation Algorithms”, Journal of
Intelligent and Robotic Systems, Springer Netherlands,
Volume 50 Number 1, 2007, pp. 73-84.
[5] V.J. Lumelsky and A. Stepanov, “Dynamic path
planning for a mobile automaton with limited information
on the environment”, IEEE Trans. Automat. Contr. 31.,
1986, pp. 1058–1063.
[6] Kamon, I. and Rivlin, E., “Sensory-based motion
planning with global proof”, IEEE Trans. Robot.
Autom.13., 1997, pp. 814–822.
[7] Sankaranarayanan, A. and Vidyasagar M., “Path
planning for moving a point object amidst unknown
obstacles in a plane: a new algorithm and a general theory
for algorithm development”, Proc. of the IEEE Int. Conf.
on Decision and Control 2, 1990, pp. 1111–1119.
[8] Sankaranarayanan, A. and Vidyasagar, M., “A new
path planning algorithm for moving a point object amidst
unknown obstacles in a plane”, Proc. of the IEEE Int.
Conf. Robot. Autom. 3, 1990, pp. 1930–1936.
[9] Noborio, H., “A path-planning algorithm for generation
of an intuitively reasonable path in an uncertain 2-D
workspace”, Proc. of the Japan–USA Symposium on Flex.
Autom. 2,, 1990, pp. 477–480.
[10] Noborio, H., Maeda, Y. and Urakawa, K., “A
Figure 9. The charts of path lengths for comparative study of sensor-based path-planning
environment1 and environment2 respectively algorithms in an unknown maze”, In Proc. of the IEEE/RSI
Int. Conf. on Intelligent Robots and Sys. 2, 2000, 909–916.
5. Conclusion and proposals [11] Evgeni Magid and Ehud Rivlin, “CAUTIOUSBUG:
A Competitive Algorithm for Sensory-Based Robot
Navigation”, Proceedings of 2004 IEEE/RSJ international
In this study, based on empirical data, a
Conference on Intelligent Robots and Systems, Sendal -
performance comparison among Bug1, Bug2, Japan, September 28 – October 2, 2004, pp. 2757-2762.
Class1, Alg1, Alg2 and DistBug algorithms is [12] CHOSET, Howie, LYNCH, Kevin M. and
realized. The application is carried out on a Pioneer HUTCHINSON, Seth, “Bug Algorithms”, Principles of
robot providing the simulation environment by Robot Motion: Theory, Algorithms, and Implementations,
MobileSim. In order to compare the algorithms, two MIT Press, Cambridge Center, 2005.
environments are used. The results show that Bug1 is [13] Hiroshi Noborio, “Several Path-Planning Algorithms
able to beat Bug2 for some cases. For the simplex of a Mobile Robot for an Uncertain Workspace and their
environment, Alg1 and Class1 compete with Evaluation”, Proc. of the IEEE Intelligent Motion Control ,
1990, pp. 289-294.
DistBug, but for the little complex environment,
[14] Mobile Robots Inc, ActivMedia Robotics, LLC, 2008,
DistBug exhibits a great performance, and Alg1 and http://www.mobilerobots.com/ .
Alg2 exhibit their feature upon Class1 and Bug2.

View publication stats

You might also like