0% found this document useful (0 votes)
15 views10 pages

Global_vs_local_algorithims

Uploaded by

Alex Fajardo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views10 pages

Global_vs_local_algorithims

Uploaded by

Alex Fajardo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Robotics and Autonomous Systems 61 (2013) 1440–1449

Contents lists available at ScienceDirect

Robotics and Autonomous Systems


journal homepage: www.elsevier.com/locate/robot

Path planning with obstacle avoidance based on visibility binary


tree algorithm
Abdulmuttalib Turky Rashid a,∗ , Abduladhem Abdulkareem Ali b , Mattia Frasca c ,
Luigi Fortuna c
a
Electrical Engineering Department, University of Basrah, Basrah, Iraq
b
Computer Engineering Department, University of Basrah, Basrah, Iraq
c
DIEEI, Faculty of Engineering, University of Catania, Catania, Italy

highlights
• A new algorithm for robot navigation, referred to as visibility binary tree algorithm is introduced.
• The construction of this algorithm is based on the visible tangents between robot and obstacles.
• The shortest path is run on top of the visibility binary tree.
• The performance is compared with three different algorithms for path planning.

article info abstract


Article history: In this paper, a novel method for robot navigation in dynamic environments, referred to as visibility binary
Received 19 November 2012 tree algorithm, is introduced. To plan the path of the robot, the algorithm relies on the construction of the
Received in revised form set of all complete paths between robot and target taking into account inner and outer visible tangents be-
5 July 2013
tween robot and circular obstacles. The paths are then used to create a visibility binary tree on top of which
Accepted 15 July 2013
Available online 23 July 2013
an algorithm for shortest path is run. The proposed algorithm is implemented on two simulation scenar-
ios, one of them involving global knowledge of the environment, and the other based on local knowledge
Keywords:
of the environment. The performance are compared with three different algorithms for path planning.
Path planning © 2013 Elsevier B.V. All rights reserved.
Obstacle avoidance
Visibility graph
Bresenham algorithm

1. Introduction Many techniques for path planning in the presence of obsta-


cles employ a Voronoi diagram under the hypothesis either of a
Path planning and obstacle avoidance are two important as- global [5] or a local knowledge scenario [6]. In the global knowl-
pects of autonomous mobile robot navigation. Based on the sensor edge scenario the assumption is that each robot has complete in-
information available, the approaches to path planning can be clas- formation about all obstacles in the environment, while in the local
sified into global and local methods [1,2]. In global methods, the knowledge scenario the information of each robot is limited to
robot plans its trajectory on the basis of a global information on the its sensing range. In approaches based on the Voronoi diagram,
environment [3]. This approach guarantees the convergence of the the planned trajectory is either a piecewise linear trajectory or a
robot path to the target, and also indicates if the goal is reachable smooth path. In the first case, the robots have to stop at each of the
or unreachable. On the other side, planning approaches based on trajectory segments end, change its orientation according to the
sensors providing limited (local) information, although of simpler next segment and then restart again. This kind of motion is dis-
implementation, do not guarantee the global convergence to the agreeable and leads to additional waste of power. In order to get a
target [4], since the robot uses its sensors to locate nearby obsta- smooth path, the use of different curves instead of linear segments
cles at each control cycle and to plan the next action to be executed. has been proposed. An example is the use of Voronoi diagram for
smooth path planning and better obstacle avoidance by iterative
enhancement proposed in [7]. Another example is the use of Bezier

Corresponding author. Tel.: +964 7806325288. curves. Smooths paths that are reliable with robot dynamics are
E-mail addresses: [email protected], [email protected] (A.T. Rashid), generated by using Bezier curves of degree three [8]. Time opti-
[email protected] (A.A. Ali), [email protected] (M. Frasca). mality [9], navigation in presence of corridor constraints [10] and
0921-8890/$ – see front matter © 2013 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.robot.2013.07.010
A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449 1441

curvature control [11,12] are other issues of navigation control ad-


dressed with approaches based on the use of Bezier curves. These
approaches produce smooth paths but often require longer trajec-
tories to the target.
Another class of methods for path planning is based on the use
of graph search algorithms for shortest path. In such approaches,
first the graph of possible paths is built and then a shortest path
search algorithm is applied on such graph. The visibility graph
can be used for this purpose: this is a graph of visible obstacle
vertices (obstacles are assumed to be polygonal), where a vertex
V is defined as visible from a vertex U if the segment VU does not
intersect any obstacle edges in the environment [13,14]. A general
limitation of methods based on graph is the computation time for Fig. 1. Illustration of the Bresenham line algorithm.
shortest path calculation. For this reason, a simplification of the
graph structure to be explored may result in an improvement of
the efficiency of these methods. This is the idea underlying the analogy between pixels and points in the plane. To the best of our
introduction of other graphs instead of the visibility graph. Several knowledge, this is the first time in which these algorithms are ap-
works use, for instance, the so-called tangent visibility graph. The plied to trajectory planning. There are several useful characteristics
tangent visibility graph is defined as the set of possible trajectories in these algorithms motivating this choice: they are fast incremen-
obtained from visibility graph by retaining only the edges which tal algorithms and use only integer calculations; all multiplications
are bi-tangent to convex obstacle vertices [15,16]. The tangent are by 2 and thus can accomplished with a simple left shift in-
visibility graph has a lower number of vertices and edges than the struction. These characteristics make these algorithms particularly
visibility graph. This leads to a more efficient process of shortest suitable for implementation in hardware systems with limited
path calculation for the graph. As concerns the algorithms for available resources.
finding the shortest-path the Dijkstra’s algorithm is used on a full Let us first discuss the Bresenham line algorithm, which we use
visibility graph in [17]. The search can be optimized by running it to implement planning of a straight line trajectory. Consider as
on the tangent graph as in [18,19], instead on the visibility graph. in Fig. 1 a two-dimensional grid of points in the space where the
The aim of this paper is to introduce a new algorithm for path robot moves. Assume that the robot initial position is (x0 , y0 ), the
planning based on a further simplification of the graph structure direction to follow is given by the straight line shown in Fig. 1 and
used. The resulting graph, which we name the visibility binary tree, that the final end point is (xE , yE ). The objective of the algorithm is
is derived from the tangent visibility graph. We assume that the to derive the sequence of positions in the grid in which the robot
robot and the obstacles have circular shapes, that the robot radius has to move to follow in an approximate way the depicted line. This
is R and that the obstacle radius is the sum of the physical space is accomplished by moving at each step to the next position along
occupied by the obstacle and the radius of the robot. The visibil- the x axis (i.e., from xk to xk+1 ) and then by selecting which of yk or
ity binary tree is built starting from all possible paths between the yk+1 is the closest coordinate to the line (the points in the grid are
robot position and the target and optimizing the structure by re- indicated as (xk , yk ) where k is an index labeling the points in the
ducing redundant edges. After this step, an ad hoc searching algo- grid). Thus, the algorithm essentially has to choose at each step the
rithm is run on this graph. In fact, thanks to the simplified structure, value of the y coordinate. This is done by calculating at each time
the searching phase is also optimized. A further contribution of this step a decision parameter pk .
work is the use of a Bresenham algorithm for low level trajectory The algorithm can be described by the following steps:
planning. This has the advantage of requiring few computational 1. start from the two line end points (x0 , y0 ) and (xE , yE ) and
resources, so that the whole algorithm introduced in this paper is calculate the constants 1x = xE − x0 and 1y = yE − y0 .
aimed at reducing the computational resources required for its im- 2. calculate the first value of the decision parameter as:
plementation. p0 = 21y − 1x. (1)
The rest of the paper is organized as follows. Section 2 describes
the low level of trajectory planning of the robot. Section 3 develops 3. for each value of xk along the line, perform the following test. If
the theoretical analysis, describing the visibility binary tree algo- pk < 0, the next point to be selected is (xk+1 , yk ) and:
rithm. In Section 4, the visibility binary tree algorithm has been pk+1 = pk + 21y. (2)
tested in two scenarios. Finally, Section 5 draws the conclusions of
the paper. Otherwise, the next point to be selected is (xk+1 , yk+1 ) and:
pk+1 = pk + 21y − 21x. (3)
2. Low level of trajectory planning 4. repeat step 4 until (xE , yE ) is reached.
In this section, we briefly discuss the low level trajectory plan- Let us now discuss the Bresenham circle algorithm we used to
ning of the robot. The low level trajectory planning aims at im- derive a circular trajectory of the robot. The algorithm assumes that
plementing the routines needed for a robot to follow a given the circle is centered at the origin, so that the circle has a eight-
trajectory, whereas this trajectory is the result of the high level way symmetry and it suffices to calculate the locations of the robot
path planning. In particular, in this section we briefly discuss the in one of the octants. We will refer to the original coordinates as
kinematics of the robot and the Bresenham algorithm used to im- (X , Y ) and to the coordinates in the reference frame where the
plement robot motion along a straight line or an arc line. circle is centered in the origin as (x, y). Analogously to the case of
Although Bresenham algorithms [20] were developed for draw- the Bresenham line algorithm, at each step the new position xk+1
ing lines and circles on a pixelated display systems such as is selected and the algorithm has to choice which coordinate yk or
VGAs [21], in our work we apply them to implement the low level yk−1 is closest to the circle boundary. This is done by testing if the
of trajectory planning. In pixelated display systems a line is defined mid point between yk and yk−1 is inside the circle or not, i.e., if
as a set of points (pixels in the screen), in our approach we rep- f (x, y) , x2 + y2 − r 2 calculated at the mid point is negative or
resent the trajectory of robot to be computed as a set of succes- positive. This idea can be accomplished in an incremental way by
sive positions in the plane (points in the plane). So, we establish an the following steps (see Fig. 2):
1442 A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449

robot starting position) to target by using the tangent visibility


graph. The idea of this algorithm is to search for safe (i.e., without
collisions) and as much as possible direct paths.
The different paths are built in an iterative manner. At each step
a direct path between the robot position and target is first assumed
(we refer in the following to it as ‘standard’ robot trajectory: in fact,
this is composed by two tracts: an arc path to readjust orientation
of the differential-drive robot towards the target and a straight line
from the end of the arc path to the target point). Then, if a collision
is detected along this path, this path is replaced by two possible
paths. These paths are derived by drawing the two tangent lines
Fig. 2. Illustration of the Bresenham circle algorithm.
from robot position to the safe circle of the colliding obstacle. This
process is repeated until the last vertex of the path is the target
point.
1. input the radius r and the circle center (xc , yc ), and consider a
In particular, the implementation of this algorithm is accom-
left top point in the 2D grid with coordinates:
plished according to the following steps.
(x0 , y0 ) = (0, r ). (4) Step 1: sensing the position, radius, orientation, and velocity of
robot (Ps (xs , ys ), rs , θs , vs ); the position and radiuses of obstacles
Assume that the robot starts from here, i.e., (0, r ).
(P1 , P2 , .., Pn , r1 , r2 , rn ); the target location (Pg (xg , yg )).
2. calculate the initial value of the decision parameter as:
Step 2: computation of a simple ‘standard’ robot trajectory from
5 source to target. This trajectory consists of two parts: an arc path,
p0 = r. (5) needed to orient the differential drive robot towards the target, and
4
a straight line representing the tangent line between the circular
3. for each point xk , perform the following test.
trajectory of the robot and the target point, as shown in Fig. 4.
if pk < 0, the next point along the circle is (xk + 1, yk ) and:
Step 3: check if there is any obstacle intersecting the path be-
pk+1 = pk + 2xk+1 + 1. (6) tween robot and target. The intersection occurs when the distance
between the center of the obstacle and the straight line from source
Otherwise the next point along the circle is (xk + 1, yk − 1) and:
to target is less than the radius of obstacle.
pk+1 = pk + 2xk+1 + 1 − 2yk+1 . (7) Step 4: if any intersection is detected, then the inner and outer
tangent lines from the arc trajectory of the robot to the obstacle are
4. determine symmetrical points in the other seven octants, if
drawn. Let us first focus on outer tangent lines. Four points have
needed.
to be calculated: referring to Fig. 5 these points are indicated as
5. calculate the coordinates in the original reference frame.
(x3 , y3 ), (x4 , y4 ), (x5 , y5 ) and (x6 , y6 ), whereas (xs , ys ), (xg , yg ), in-
6. repeat steps 3–5 until xk ≥ yk .
dicate the source and target point, respectively. The derivations of
the expression to calculate such point is omitted since it is based
3. The visibility binary tree algorithm on quite simple geometrical constructions, we only mention that
this involves the construction of third circle (indicated in Fig. 5 with
In this section, the visibility binary tree algorithm for path plan- dashed lines) having radius equal to the difference of the radii of
ning of mobile robot with obstacle avoidance is introduced. We will the two circles and centered in (xs , ys ). (x1 , y1 ) and (x2 , y2 ) repre-
first give an overview of the algorithm and then enter in the details sent the intersection points betweentangent lines from the target
of the substeps that constitute it. Although the algorithm is totally to this third circle. Given that D1 = (xg − x1 )2 + (yg − y1 )2 and
general, in the following we will assume that the robot kinemat-
(xg − x2 )2 + (yg − y2 )2 (where D1 and D2 represent the

D2 =
ics is a differential-drive. In fact, our discussion about the way in
distances between (xg , yg ) and (x1 , y1 ) and between (xg , yg ) and
which orientation of the robot towards the target is achieved ex-
(x2 , y2 )), the coordinates of the four points are calculated as fol-
plicitly makes this hypothesis for the robot kinematics.
lows:
The algorithm starts from the construction of the complete
set of paths from source to target in the tangent visibility graph yg − y1
x3 = x1 − r g ·
(Fig. 3(a) and (b)), that is, all the possible paths that are in the direc- D1
tion of the target and respect the visibility condition are considered xg − x1
y3 = y1 + rg ·
(we recall that a vertex V is defined as visible from a vertex U if the D1
segment VU does not intersect any obstacle edges in the environ- yg − y1
ment). Then, this set is represented through a binary tree, called x4 = xg − r g ·
D1
visibility binary tree (Fig. 3(c)). The next step is the optimization
xg − x1
of this binary tree (Fig. 3(d)) by removing edges that do not belong y4 = yg + rg ·
to the shortest path between source and target (essentially by re- D1
(8)
placing sequences of two edges with a concave angle in any set of yg − y2
x5 = x2 + r g ·
three vertices by a direct edge from the first to the third vertex). D2
Finally, a searching algorithm is applied to this optimized binary xg − x2
y5 = y2 − rg ·
tree to find the shortest path between source and target (Fig. 3(e)). D2
This shortest path is the trajectory that the robot will follow. yg − y2
The substeps mentioned above will be now described in details x6 = xg + r g ·
D2
in the next subsections.
xg − x2
y6 = yg − rg · .
3.1. Construction of the complete set of paths D2
In the case of inner tangent lines (Fig. 6), the following
The first step in the visibility binary tree algorithm is the con- equations have to be used to calculate the intersection points
struction of the complete set of paths from source (i.e., from the (x3 , y3 ), (x4 , y4 ), (x5 , y5 ) and (x6 , y6 ) (in this case the dashed circle
A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449 1443

Fig. 3. (a) First path from source to target. (b) Set of complete paths. (c) Representation of the set of complete paths by the visibility binary tree. (d) Optimized binary tree.
(e) The shortest path (in bold lines) in the optimized binary tree.

has radius equal to the sum of the radii of the other two circles): robot starting point. Each node then represents an intersection
y1 − yg point in the robot trajectory. Each node thus has one incoming
x3 = x1 − r g · edge (from the last point visited by the robot) and two outcoming
D1 edges, towards the next intersection points to be reached by the
xg − x1
y3 = y1 − rg · robot (one related to the inner tangent line and the other to the
D1 outer tangent line). Finally, the only leaf of the graph represents
y1 − yg the target.
x4 = xg − rg ·
D1
xg − x1 3.3. Optimization of the binary tree
y4 = yg − rg ·
D1
(9)
y2 − yg The binary tree is then optimized. The aim of this step is to
x5 = x2 + r g · reduce the number of links in the graph. In fact, the graph may
D2
xg − x2 contain sequences of edges with a concave angle between them.
y5 = y2 + rg · Since such sequences clearly do not represent the shortest path
D2
y2 − yg for the robot, the number of links in the graph can be reduced
x6 = xg + rg · by replacing such sequences with one link. Consider, for instance,
D2 the dashed edge shown in Fig. 3(d). It forms a concave angle with
xg − x2
y6 = yg + rg · . another edge of the graph and, therefore, these two edges can be
D2 replaced by the solid bold line which is a shorter trajectory for the
Step 5: repeat steps 2–4 by assuming as starting point each robot. The binary tree is optimized by looking at such sequences of
of the intersection points of the inner and outer tangent lines edges and substituting them with a new edge when this latter has
calculated before. The process is repeated until the target is two visible end nodes.
reached for each intersection point of each tangent line, as shown
in Fig. 3(b). 3.4. The search algorithm

3.2. Representation of the set of complete paths by a binary tree Given the simplified structure of the graph in which the shortest
part has to be searched for, this latter step can be performed in a
The complete set of paths obtained is then represented as a simple and computationally efficient way based on the following
binary tree. The root of the tree represents the source, i.e., the steps.
1444 A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449

Fig. 4. A standard trajectory of the mobile robot.

Fig. 6. Calculation of the inner tangent lines.

Fig. 5. Calculation of the outer tangent lines.

Step 1: mark the distance to every node on the graph as infinity. Fig. 7. Schematic illustration of step 3 of the shortest path search in the optimized
Step 2: for the first iteration, choose the starting point as the binary tree.
current node and fix the distance to it to zero. Select one path
and update the distances to every unvisited neighbor node, by These three algorithms are representative examples of path plan-
determining the sum of the distance between an unvisited node ning approaches based on Voronoi diagram (the first approach,
and the current node. which is actually already a version of the basic algorithm optimized
Step 3: mark the current node as visited (in Fig. 7 the edge is to generate smooth trajectories) and on navigation based on graph
colored as a gray solid line), and select the next unvisited node search (VisBug and TangentBug). In particular, in the cases of Vis-
along the same path until the destination node is reached. Bug and TangentBug, global and local information are combined
Step 4: repeat step 3 for the other paths. In Fig. 7 the subtrees together. In fact, the information on the target location is global, in
arising from the outer tangent to the first obstacle are drawn as the sense that it is known since the start of the navigation and inde-
dotted lines, and the subtrees from the inner tangent to the first pendently of the initial robot position, while obstacles are detected
obstacle are drawn as dashed lines. only in their proximity.
Step 5: compare the current path with the best path obtained The VisBug algorithm [22] has of two modes of motion: mo-
so far and choose the shortest. The final result of this process is the tion towards the target and obstacle boundary following. When the
shortest path shown in Fig. 3(e). robot hits an obstacle it changes direction of movement from target
towards boundary of obstacle. It then leaves the obstacle boundary
when this ensures that the distance to the target decreases. Instead,
4. Simulation results
the TangentBug algorithm [23] makes use of local data to compute
a shortest path based on the so-called local tangent graph [24].
Numerical simulations have been implemented in Visual basic The local tangent graph is a graph including only the obstacles
programming language and tested in Windows environment us- which are located within the robot sensing range. Additionally, this
ing an Intel core i5 CPU 2.53 GHz processor. In our simulations we algorithm makes use of the same types of motion implemented
assumed simple small differential-drive robots, although the algo- in the VisBug algorithm: motion towards the target and obstacle
rithm is totally general. The introduced algorithm has been tested boundary following. During motion towards the target, the robot
on two different scenarios: moves along the shortest path computed through the local tangent
– local knowledge scenario. In this case the robot has limited graph. During obstacle boundary following, the TangentBug algo-
sensing capabilities and is therefore able to locate obstacles rithm checks the leaving condition to decide when return to the
inside a sensing area; motion-towards-target mode. In local knowledge scenarios, both
– global knowledge scenario. In this case the robot has unlimited VisBug and TangentBug algorithms produce near shortest trajecto-
sensing capabilities for obstacles detection. ries to the target, with slightly better performance of TangentBug
algorithm.
The results are compared with three path planning algorithms: The visibility binary tree algorithm discussed in this paper
the algorithm based on Voronoi diagrams and Bezier curves [12], shares with the VisBug and TangentBug algorithms the combina-
the VisBug algorithm [22] and the TangentBug algorithm [23]. tion of global information (for the target) and local information for
A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449 1445

Fig. 8. Trajectory obtained by path planning using the algorithm based on Voronoi diagrams and Bezier curves [12] at different times: (a) t = 0 s; (b) t = 3.31 s; (c)
t = 7.17 s; (d) t = 11.03 s.

Fig. 9. Trajectory obtained by path planning using the VisBug algorithm at different times: (a) t = 0 s; (b) t = 3.59 s; (c) t = 6.7 s; (d) t = 10.7 s.

obstacles (this information then becomes global for large values conditions related to the number of obstacles, their dimension, and
of the robot sensing radius). The visibility binary tree algorithm the robot sensing radius. Let us first consider, for illustration pur-
makes use of the graphs like TangentBug to construct the path to- pose, a scenario with 20 obstacles of radius equal to 60 pixels. For
wards the target which avoids obstacles. The main differences of a qualitative analysis we report in Figs. 8–11 several snapshots of
our algorithm with TangentBug rely in the way in which this graph the trajectories generated by the four different algorithms on the
is built, a way which produces benefits when the information on same scenario. The robot speed has been fixed to 100 pixels/s and
target location is limited. In fact, for scenarios in which the robot the sensing radius to 200 pixels. The visibility binary tree algorithm
sensing radius is large (at the limit, scenarios with global knowl- provides the trajectory with shorter length when compared to the
edge of obstacle position), as we will show below, the two algo- result of the other three algorithms. The trajectory generated by
rithms show similar performance. the algorithm based on the Voronoi diagram is the longest, since
We first discuss the local knowledge scenario and then, as a it tries to keep the algorithm into a safe trajectory while the other
limit case obtained for large values of the sensing radius, the global algorithms drive the robot along trajectories which may be closer
knowledge scenario. We considered simulations under different to the obstacles.
1446 A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449

Fig. 10. Trajectory obtained by path planning using the TangentBug algorithm at different times: (a) t = 0 s; (b) t = 3.09 s; (c) t = 6.68 s; (d) t = 10.48 s.

Fig. 11. Trajectory obtained by path planning using the visibility binary tree algorithm at different times: (a) t = 0 s; (b) t = 3.03 s; (c) t = 6.66 s; (d) t = 10.37 s.

The distance between source and target for different number of For a more quantitative comparison, simulations in this sce-
obstacles
1200 nario have been repeated for a different number of obstacles, rang-
ing from 0 to 40 at steps of 5. For each value of the number of
1150
obstacles, 10 different realizations have been considered, where at
Mean value of distance (pixels)

1100 each realization a different distribution of the obstacles in the plane


1050
has been taken into account. For each path planning algorithm, av-
erage value and standard deviation of the distance between source
1000
and target have been then computed and reported in Fig. 12. The
950 introduced algorithm has better performances for any value of the
900
number of obstacles.
A second set of experiments in the local knowledge scenario
850
refers to a scenario with a fixed number of obstacles (equal to 50)
800 with different size (ranging from 50 to 140 pixels). Simulations
0 5 10 15 20 25 30 35 40
in this scenario have been repeated for four different locations of
Number of obstacles
the target. Results are summarized in Table 1 and in Fig. 13. From
Fig. 12. Comparison of the performance of the introduced path planning algorithm Table 1 we notice that the visibility binary tree algorithm has the
with three other path planning algorithms for different values of the number of best performance for all four target locations. The trajectories gen-
obstacles in a local knowledge scenario. Error bars represent standard deviation. erated by the four algorithms are reported in Fig. 13.
A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449 1447

Fig. 13. Comparison of the performance in a local knowledge scenario with 50 obstacles with different sizes and four different target locations: (a) algorithm based on the
Voronoi diagram; (b) VisBug algorithm; (c) TangentBug algorithm; (d) visibility binary tree algorithm.

Table 1
Performance on a local knowledge scenario with 50 obstacles with different sizes and
four different target locations.
Target Voronoi diagram VisBug TangentBug Visibility
location algorithm algorithm algorithm binary tree
algorithm

(230, 660) 711 781 738 684


(900, 685) 1142 1454 1131 1104
(760, 390) 840 980 813 802
(590, 110) 598 662 566 555

The third set of simulations was aimed at evaluating the per- Concerning the computational time required by these algo-
formance when the robot sensing radius is changed from 0 pixels rithms, our algorithm has better performance than the approach
(thus emulating a contact sensor) to unlimited values (thus emu- based on Voronoi diagram, but poorer performance with respect
lating a scenario of global knowledge). Simulations have been per- to VisBug and TangentBug. The bottleneck of algorithms based on
formed on an environment with 30 obstacles with different radius graph construction is, in fact, the search for the shortest path in
values ranging from 50 to 140 pixels. For each value of the robot the graph of possible trajectories to the target. Therefore, our al-
sensing radius analyzed, 10 different realizations have been con- gorithm benefits from the reduced computational time due to the
sidered. At each realization a different distribution of obstacles in simplification of the graph structure with respect to approaches
the plane has been taken into account. An example of the trajecto- considering the whole tangent visibility graph, but does not reach
ries generated by the four different algorithms in one of the real- the time performance of VisBug and TangentBug, in which on the
izations is illustrated in Fig. 14. The average value and the standard contrary the graph structure is so simplified that the presence of
deviation of the distance between source and target in the 10 re- the more convenient path to the target is not guaranteed, so that
alizations have been then computed and reported in Fig. 15. The they often result in a non-optimal choice of the trajectory to the
comparison shows that in most of the cases, which have taken into target. As an example, in a scenario with 50 obstacles with sizes
account a wide range of values of the sensing radius including the ranging from 50 to 140 pixels, robot speed fixed to 100 pixels/s,
case of global knowledge, the visibility binary tree algorithm per- distance to the target equal to 1080 and robot sensing radius equal
forms better (showing both a lower average value and a smaller to 200 pixels, on an Intel core i5 CPU 2.53 GHz processor the
standard deviation) than the other three algorithms implemented; approach based on Voronoi diagrams requires 14 min 7 s, VisBug
it shows performance very similar to the TangentBug algorithm for 1 min 28 s, TangentBug 1 min 26 s and the visibility binary tree
large values of the sensing radius. algorithm 4 min 47 s.
1448 A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449

Fig. 14. Environment used for the study of the effect of different values of the robot sensing radius on path planning performances and trajectory obtained for a sensing
radius equal to 100 pixels: (a) algorithm based on the Voronoi diagram; (b) VisBug algorithm; (c) TangentBug algorithm; (d) visibility binary tree algorithm.

The distance between source and target for different sensing radius of
5. Conclusions robot
1400
1350
In this paper, an algorithm for path planning of mobile robots
1300
in the presence of obstacles, named visibility binary tree algorithm,
Mean value of distance (pixels)

1250
has been introduced in local and global knowledge scenarios. In the
1200
description of the algorithm for path planning, we have described 1150
both the low and the high level of path planning. The first part of 1100
the paper is devoted to introduce the use of Bresenham algorithms 1050
for low level path planning, where the trajectory of robot to be 1000
computed is represented as a set of successive points in the plane, 950
while the second part focuses on the graph construction, optimiza- 900

tion and search for planning the trajectory of the robot. The use of 850

Bresenham algorithms for this purpose is motivated by the fact that 800
0 100 200 300 400 500 600 700 800
they offer the advantage of being a fast incremental algorithm, us- Sensing radius(pixels)
ing only integer calculations. This is a characteristic making this al-
Fig. 15. Comparison of the performance of the introduced path planning algorithm
gorithm particularly suitable for implementation in hardware sys- with three other path planning algorithms for different values of the robot sensing
tems with limited available resources. In illustrating both levels of radius. Error bars represent standard deviation.
path planning, we have thus shown how the whole algorithm is
suitable for implementation with limited available resources. the same performance in the global knowledge scenario and better
The introduced algorithm has been described in details and performance when information on the obstacle locations is limited.
simulation results comparing the proposed algorithm with three In terms of computational time, the approach performs much
particularly important different approaches to the problem of path better that the approach based on Voronoi diagrams, but does not
reach the performance of VisBug and TangentBug algorithms.
planning have been presented. In particular, since the literature on
the subject is vast and rapidly growing, we have chosen to compare
References
the proposed algorithm with one method that can be considered as
a benchmark for path planning and two other algorithms sharing
some important features with the one we have proposed. The main [1] M. De Berg, O. Cheon, M. va Krevel, Computational Geometry, Springer, Berlin,
Germany, 2000.
result is that the proposed algorithm has good performance in all [2] S. Ghosh, J. Burdick, A. Bhattacharya, S. Sarkar, Algorithms with discrete
the scenarios considered (which include examples with local and visibility-exploring unknown polygonal environments, IEEE Robotics and
Automation Magazine 15 (698) (2008) 67–76.
global knowledge, different number of obstacles, different sizes [3] G. Foux, M. Heymann, A. Bruckstein, Two dimensional robot navigation among
of obstacles and different values of the robot sensing radius). In unknown stationary polygonal obstacles, IEEE Transactions on Robotics and
particular, in terms of optimality of the trajectory it performs Automation (1994) 1622–1627.
[4] W.D. Rencken, Concurrent localization and map building for mobile robots
better than the approach based on the Voronoi diagram and the using ultrasonic sensors, in: Proceeding of the IEEE/RSJ Conference on
VisBug algorithm. Compared with the TangentBug algorithm, it has Intelligent Robots and Systems, IROS, 1993, pp. 2192–2197.
A.T. Rashid et al. / Robotics and Autonomous Systems 61 (2013) 1440–1449 1449

Abduladhem Abdulkareem Ali: He received his M.Sc. and


[5] P. Bhattacharya, M.L. Grvrilova, Voronoi diagram in optimal path planning,
Ph.D. Degrees from the Department of Electrical Engineer-
in: 4th IEEE International Symposium on Voronoi Diagrams in Science and
ing University of Basrah, Iraq at 1983 and 1996. Worked
Engineering, 2007, pp. 38–47.
as Assistant Lecturer, Lecturer, and Assistant professor at
[6] S. Mohammadi, N. Hazar, A Voronoi-based reactive approach for mobile
the same Department at 1984, 1987 and 1981 respectively.
robot navigation, in: Advances in Computer Science and Engineering, Vol. 6,
Then as Assistant professor and professor at the Depart-
Springer, Berlin, Heidelberg, 2009, pp. 901–904.
ment of Computer Engineering at 1997 and 2004 respec-
[7] P. Bhattacharya, M. Gavrilova, Roadmap-based path planning- using the
tively. Worked as consultant to many industrial firms to
Voronoi diagram for a clearance-based shortest path, IEEE Robotics and
design industrial control systems. Have more than 70 pub-
Automation Magazine 15 (2) (2008) 58.66.
lished papers, one patent, supervised many M.Sc. and Ph.D.
[8] The 2005 DARPA Grand Challenge, Vol. 36, Springer, Berlin, Heidelberg, 2007,
Dissertations. He is an Editor chair for the Iraqi Journal for
pp. 363–405.
[9] A. Sahraei, M.T. Manzuri, M.R. Razvan, M. Tajfard, S. Khoshbakht, Real-time Electrical and Electronic Engineering and a member of the editorial board for many
trajectory generation for mobile robots, in: The 10th Congress of the Italian Journals. Chairman of the first IEEE International conference on Energy, Power and
Association for Artificial Intelligence, AIIA 2007, September, 2007, pp. 10–13. Control (EPC-IQ01). His field of Interest is Robotics, Industrial control and Intelligent
[10] J. Choi, R.E. Curry, G.H. Elkaim, Path planning based on bezier curve for systems. He is currently the Director of Avicenna E-learning center at University of
autonomous ground vehicles, in: IAENG Transactions on Electrical and Basrah, Iraq.
Electronics Engineering Volume I—Special Edition of the World Congress
on Engineering and Computer Science 2008, IEEE Computer Society, 2009,
pp. 158–166.
[11] J.W. Choi, R.E. Curry, G.H. Elkaim, Continuous curvature path generation based
on bezier curves for autonomous vehicles, IAENG International Journal of
Applied Mathematics 40 (2010). Mattia Frasca was born in Siracusa, Italy, in 1976. He grad-
[12] J.W. Choi, R.E. Curry, G.H. Elkaim, Real-time obstacle avoiding path planning
uated in Electronics Engineering in 2000 and received the
for mobile robots, in: Proceedings of the AIAA Guidance, Navigation and
Ph.D. in Electronics and Automation Engineering in 2003,
Control Conference, AIAA GNC 2010, Toronto, Ontario, Canada, 2010.
from the University of Catania, Italy. Currently, he is re-
[13] T. Lizano-Perez, M.A. Wesley, An algorithm for planning collision-free paths
search associate at the University of Catania. His scientific
among polyhedral obstacles, Communications of the ACM 22 (10) (1979).
interests include nonlinear systems and chaos, Cellular
[14] T. Lizano-Perez, Automatic planning of manipulator. transfer movements, IEEE
Neural Networks, complex systems and bio-inspired
Transactions on Systems, Man, and Cybernetics SMC-11 (1981).
robotics. He is involved in many research projects and col-
[15] Y.H. Liu, S. Arimoto, Proposal of tangent graph and extended tangent graph for
laborations with industries and academic centers. He is
path planning of mobile robots, in: Proc. IEEE Inr. Con. Robot. Automat., 1991,
referee for many international journals and conferences.
pp. 312–317.
He was in the organizing committee of the 10th ‘‘Exper-
[16] Y.-H. Liu, S. Arimoto, Finding the shortest path of a disc among polygonal
imental Chaos Conference’’ and co-chair of the ‘‘4th International Conference on
obstacles using a radius-independent graph, IEEE Transactions on Robotics and
Physics and Control’’. He is coauthor of three research monographs (with World
Automation 11 (1995) 682–691.
Scientific): one on locomotion control of bio-inspired robots, one on self-organizing
[17] T. Asano, L. Guibas, J. Hershberger, H. Imai, Visibility of disjoint polygons,
systems and one on the Chua’s Circuit. He published more than 150 papers on ref-
Algorithmica 1 (1) (1986).
ereed international journals and international conference proceedings and is coau-
[18] L. Cesari, Optimization. Theory and Applications: Problems with Ordinary
thor of two international patents. He is IEEE Senior.
Differential Equations, Springer-Verlag, New York, 1983.
[19] C. Alexopolous, P.M. Griffin, Path planning for a mobile robot, IEEE
Transactions on Systems, Man, and Cybernetics 22 (1992) 318–322.
[20] J.E. Bresenham, Algorithm for computer control of a digital plotter, IBM
Systems Journal 4 (1) (1965) 25–30.
[21] J.E. Bresenham, Ambiguities in incremental line rastering, IEEE Computer
Graphics and Applications 7 (5) (1987). Luigi Fortuna (M’90-SM’99-F’00) was born in Siracuse,
[22] V.J. Lumelsky, T. Skewis, Incorporating range sensing in the robot navigation Italy, in 1953. He received the degree of electrical engi-
function, IEEE Transactions on Systems, Man, and Cybernetics 20 (5) (1990) neering (cum laude) from the University of Catania, Cata-
1058–1068. nia, Italy, in 1977. He is a Full Professor of system theory
[23] I. Kamon, E. Rivlin, A new range-sensor based globally algorithm for mobile,
with the Università degli Studi di Catania, Catania, Italy.
in: Proceedings of the 1996 IEEE International Conference on Robotics and
He was the Coordinator of the courses in electronic en-
Automation, Minneapolis, Minnesota—April 1996.
gineering and the Head of the Dipartimento di Ingegne-
[24] Y.H. Liu, S. Arimoto, Path planning using a tangent graph for mobile robots
ria Elettrica Elettronica e dei Sistemi (DIEES). Since 2005,
among polygonal and curved obstacles, International Journal of Robotics
he has been the Dean of the Engineering Faculty, Catania.
Research 11 (4) (1992) 376–382.
He currently teaches complex adaptive systems and robust
control. He has published more than 450 technical papers
and is the coauthor of ten scientific books, among which: Chua’s Circuit Imple-
Abdulmuttalib Turky Rashid was born in Iraq. He re- mentations (World Scientific, 2009), Bio-Inspired Emergent Control of Locomotion
ceived the B.S. degree in electrical engineering from Bas- Systems (World Scientific, 2004), Soft-Computing (Springer 2001), Nonlinear Non
rah University at Basrah, Iraq in 1986. He received the Integer Order Circuits and Systems (World Scientific 2001), Cellular Neural Net-
M.Sc. Degree from the same University at 1992. He worked works (Springer 1999), Neural Networks in Multidimensional Domains (Springer
as Assistant Lecturer and Lecturer at the Department of 1998), Model Order Reduction in Electrical Engineering (Springer 1994), and Ro-
Electrical Engineering University of Omer Al Mukhtar, Ly- bust Control—An Introduction (Springer 1993). His scientific interests include ro-
bia at 1997–2007; then at the Department of Electrical En- bust control, nonlinear science and complexity, chaos, cellular neural networks, soft
gineering, University of Basrah, Iraq at 2007 up to now. computing strategies for control, Robotics, micro–nanosensor and smart devices for
His field of Interest is Robotics and Industrial control. Cur- control, and nanocellular neural networks modeling.
rently, he is pursuing Ph.D. degree in Electrical engineering Dr. Fortuna was the IEEE Circuits and Systems (CAS) Chairman of the CNN Tech-
in University of Basrah, since 2009. His research interests nical Committee, IEEE CAS Distinguished Lecturer from 2001 to 2002, and IEEE
are in motion planning and control of multi mobile robots. Chairman of the IEEE CAS Chapter, Central-South Italy.

You might also like