Global_vs_local_algorithims
Global_vs_local_algorithims
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.
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
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)
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
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