CALCULATION OF OPTIMAL PATHS IN THE
CONFIGURATION SPACE USING ARTIFICIAL POTENTIAL
FIELDS AND A* AND D* ALGORITHMS FOR AN
ARTICULATED ROBOT. COMPARISON OF TECHNIQUES
Miguel A. Gutiérrez, Alejandro Morales
Depto. Informática y Ciencias Computación, Universidad Católica de Ávila, Ávila, Spain
Vidal Moreno, Belén Curto
Depto. Informática y Automática, Universidad de Salamanca, Salamanca, Spain
Keywords: Configuration space, Articulated robot, Potential f
ields, Path planning.
Abstract: In this paper, we use a calculation path technique based on the configuration space in the case of an
articulated robot of two degrees of freedom. We propose the use of artificial potential fields to represent the
configuration space and the use of techniques of artificial intelligence like A* and D* to search a free
collision path into the configuration space. This combination of techniques can be used in static and
dynamic environments with more than three dimensions without considering the geometry of the obstacles.
The results for this combination of techniques are presented, choosing in each case the best option for each
one of the techniques for the combination.
1 INTRODUCTION
In the design of autonomous robots, one of the tasks
on which more studies have been made is the path
planning. Different techniques like potential fields or
artificial intelligence algorithms like A* or D* have
been used.
We can use the potential field method to
calcu
late the path from the initial configuration to
the final one. One of the first works presented on the
use of potential fields in the path planning was
(Hwang 1988), where a survey of the possibilities of
this method was made. In (Melchior 2003) the
potential field method is used to represent the
environment of the robot in 2D. A risk coefficient is
assigned to each obstacle to increase the repulsion
field in the surroundings of some obstacles. The
algorithm used to search a path between two
positions of the map was A*. Also in 2D spaces, the
potential field method is used in (Prestes 2004) to
represent the surrounding of a Nomad2000 robot in
order to make easy to find paths towards the
unexplored zones of the map. In (Ge 2002)
(Kacandes 1989) (Lee 1995) the potential fields
method is proposed to find a path in dynamic
environments. For example in (Lee 1995), the
surrounding of the robot was observed in regular
intervals of time, and the space occupied by the
obstacles at the end of the interval was calculated at
the beginning of the same one. After this, a repulsion
field is generated around the space that is going to
be occupied by the obstacles and an attraction one
towards the goal. In this work, the robot is assumed
to be precise and the obstacles are supposed to be
circular. A similar exposition was made in (Ge
2002), where the speed and acceleration of the
obstacles were well-known with respect to the robot.
All these methods are proposed in 2D work spaces.
Other methods calculate potential fields without
local minima. In (Latombe 1991) (Wong 2000) the
potential field map is calculated by a road map
previously calculated by a front of waves. Potential
field method has been used in 3D spaces in (Elnagar
2002) (Yachida 1995) (Zhang 1997), for example in
the path planning for flying robots.
Another option for path planning is the use of
artificial in
telligence algorithms. In (Trovato 1996),
Karen I. Trovato makes a study of the algorithms A*
and D* in the case of a robotic arm and an
11
A. Gutiérrez M., Morales A., Moreno V. and Curto B. (2005).
CALCULATION OF OPTIMAL PATHS IN THE CONFIGURATION SPACE USING ARTIFICIAL POTENTIAL FIELDS AND A* AND D* ALGORITHMS
FOR AN ARTICULATED ROBOT. COMPARISON OF TECHNIQUES.
In Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics - Robotics and Automation, pages 11-16
DOI: 10.5220/0001165800110016
Copyright
c
SciTePress
automobile. In (Gilliard 2002) the A* algorithm is
used on a search space represented using BSP trees.
This representation depends on the geometry of the
obstacles. This makes that this technique of path
planning very difficult to use in environments with
three or more dimensions. In (Adi 2004) the A*
algorithm has been used on hierarchic maps,
dividing the search in several levels. The main map
is divided in several smaller submaps, that can as
well be divided in smaller ones, etc. The search is
made on each one of the maps separately and the
obtained paths are united to get an only path.
All the mentioned path planning techniques
work in the work space. Other works use these
techniques in the configuration space.
The idea of reducing the robot to a point in an
appropriate space was introduced by Udupa (Udupa
1997), although the term configuration space had not
been used yet. Later, Lozano-Pérez (Lozano-Pérez
1983) adopted the notion of Cspace from the
mechanics and popularised it in path planning. In
some works the Cspace is calculated by means of
geometric methods as much for obstacles as for
robots with polygonal or polyhedral convex forms
(Lozano-Pérez 1983) (Seidel 1986). Other ones have
tried to make a representation in bitmap in such a
way that “elemental blocks” can be identified and
easily transformed into the Cspace, so that combined
form the Cspace for more complicated forms
(Branicky 1991). More recent works set out to
calculate bitmap of the Cspace like the convolution
of bitmap of the workspace with the one of the robot
(Kavraki 1995) (Moreno 1997) (Blanco 1997). In
these, the sufficiently small CPU time is used in the
calculation of the Cspace to use it in the planning
task without this supposes a boosting charge. In
(Blanco 1997) the potential field without minima is
used in the configuration space. In other works, the
geometric properties of the obstacles for the
construction of the Cspace are used to reduce the
time of calculation (Helgason 2001) (Williams
2001) (Chen 1996). In (Fox 1993), Maciejewski
proposes a path planning technique based on the
geometric characteristics of the obstacles in the
configuration space. Those techniques that use the
geometric properties of the obstacles are very
difficult to be applied in environments with more
than three dimensions.
In this work, we will use a combination of these
techniques. We will represent the configuration
space of an articulated robot using the potential field
technique and we will use path search algorithms
like A* and D* for searching collision-free paths.
We will use a bitmap to represent the configuration
space. This representation allows us to use the
technique independently of the geometry of the
robot or the obstacles. The selected search
algorithms work in static and dynamic
environments, so this technique can be used in both
type of environments. In addition, the measurement
of the performance of the algorithms implemented
will be presented.
The remainder of this paper is organized as
follows: in section 2 we present the problem
statement. The different techniques used to calculate
the configuration space of the robot and its
representation with potential fields are commented.
In section 3, we present a software platform
developed to validate the path planning process.
Finally, in section 4 we present the performance of
the technique in different environments and in
section 5 the main conclusions are presented.
2 PROBLEM STATEMENT
The path calculation technique used in this paper
works in the configuration space. First, the
configuration space corresponding to the work space
of the robot is calculated. The representation of this
configuration space is made by a bitmap. This
representation allows us to work independently of
the geometry of the obstacles and the robot. The
configuration space is represented by potential
fields: attraction to the goal and repulsion from
obstacles. Using this bitmap representation, the
repulsion field of the obstacles is calculated. In order
to obtain the path from the initial configuration to
the final configuration, we will use the A* in static
environments and the D* algorithm in dynamic
environments. Both algorithms guide their search by
an heuristic function. We use the potential field to
guide the search algorithms.
The result of the search algorithm is a series of
configurations that, if they are adopted by the robot,
it will move in the workspace without colliding with
obstacles.
2.1 Calculating the Configuration
Space
To calculate the configuration space we use the
method proposed in (Moreno 1997). In this method
the Cspace is calculated like the convolution of the
function that represents the robot and other function
that represents the workspace. In the particular case
of an articulated robot with two degrees of freedom
the final expressions to calculate the obstacles in the
Cspace are:
ICINCO 2005 - ROBOTICS AND AUTOMATION
12
Figure 1: Application develope
d
ϕϕθϕθ
drdrBrACB ),(),()( 1)0(111 =
ϕϕθϕθθ
θ
drdrBrACB
= ),()1,(),( )2,0(2212
where A
1
and A
2
are the subsets of the workspace
that represent the two links that form the robot and B
is the subset of the workspace occupied by the
obstacles.
Using this bitmap representation, the potential
field is calculated. To calculate the attraction force
of the potential field in one point, we use the
distance to the goal configuration. Possible functions
are: Euclidean, Manhattan, eight neighbours, etc.
This function is easy to calculate and valid in spaces
with more than three dimensions. To calculate the
repulsive force of the obstacles, we use a front of
waves that calculate the repulsive force in each point
in the surroundings of the obstacle. This force is
smaller as we move away from the obstacle.
With this method we can calculate the Cspace of
the robot in a short time, and it is easy to modify if
the robot is in a dynamic environment.
2.2 Using Potential Fields like
Heuristic Function
The A* and D* are heuristic guided algorithms. We
use the potential fields representation of the
configuration space like heuristic function to guide
the collision-free path search. The definition and
pseudocode of the algorithms can be found in
(Feigenbaum 1986) (Stentz 1994) and (Stentz 1995).
To do this, the function that chooses the best
neighbour in the A* algorithm must be modified.
The original function consists of two terms: cost
from the starting node (g) and the heuristic that
guides the search. This last term is divided in two
terms: the first is the attraction force in this point
(h
A
) and the second is the repulsive force in this
point (h
R
). The resulting function is the following
one:
f = g + h where h = h
A
+ h
R
.
In the same function in the D* algorithm, the
resulting function consists of only two terms: the
first is the attraction force in this point (h
A
) and the
second is the repulsive force in this point (h
R
).
f = h
A
+ h
R
.
Both functions can be quick and easily
calculated in any dimension spaces.
3 PROCEDURE VALIDATION
We have developed a software platform to validate
the path calculation. This application presents the
user the work space and its corresponding
configuration space. In both representations we can
see the robot, the obstacles, the calculated path, the
explored nodes and the repulsion field around the
obstacles. When the user modifies the work space,
the corresponding configuration space is
automatically recalculated and showed to the user.
We can see two different path calculations in figure
1.
3.1 Pseudocode
The pseudocode of the algorithm used may be the
following:
env = robot_environment();
cspace = cspace_from(env);
pot_cspace = repulsive_field(cspace);
result = search_alg(pot_cspace,
dist_function,data_struct);
wresult = to_workspace(result);
apply_robot(wresult);
CALCULATION OF OPTIMAL PATHS IN THE CONFIGURATION SPACE USING ARTIFICIAL POTENTIAL
FIELDS AND A* AND D* ALGORITHMS FOR AN ARTICULATED ROBOT. COMPARISON OF TECHNIQUES
13
The
robot_environment function generates a
bitmap representation of the environment of the
robot. This bitmap represents the workspace of the
robot and the calculation path technique used works
in the configuration space. The
cspace_from
function generates the Cspace. Then, the
repulsive_field function calculates the
repulsive fields of the obstacles in the configuration
space. At this time, the map for the path calculation
is ready. We use one search algorithm like A* or D*
to search a free-collision path using like heuristic
function the potential field generated before. The
path generated must be transformed for its use in the
workspace using the
to_workspace function.
Finally,
apply_robot acts in the robot to follow
the path.
4 PERFORMANCE OF THE
ALGORITHM
In this chapter, the performance of this technique is
presented. First we present the CPU time results
obtained using both algorithms in different
environments. The location and number of obstacles
and the initial and goal positions of the robot have
been generated of random way.
In the particular case of an articulated robot with
two degrees of freedom, two different free-collision
paths could be found: elbow-up and elbow-down
configurations. Those searches can be made in
parallel, so that we can choose the best solution, the
faster solution, etc. The CPU times choosing the best
solution are listed at figure 2.
Figure 2: Different CPU time results in different environments using both search algorithms
To calculate the attraction forces in the potential
field we use the distance to the goal configuration.
We can see the results using the Euclidean,
Manhattan and 8-distance functions in the following
table.
Path length Explored nodes Time (s)
Euclidean 100,774 61894,857 0,659
Manhattan 94,833 38947,389 0,421
8-distance 105,05 45177,01 0,573
As we can observe in this table, the number of
explored nodes is quite bigger in the case of using
Euclidean distance.
The most important data structure in both
algorithms is the open list, mainly because a good
selection of the data structure has an important
repercussion in the time of calculation and in the
memory usage. We have tested the algorithms with
two different data structures: an ordered list and a
binary heap. The results obtained are listed in figure
ICINCO 2005 - ROBOTICS AND AUTOMATION
14
3. The results show that the use of the binary head
data structure reduces the time of computation.
A parameter to be considered when representing
the work space with potential fields is the size of the
repulsion field that separates the robot from the
obstacles. Numerous tests demonstrate that, from
certain size, to increase the size of the repulsion field
makes the number of explored nodes to find the path
grow, increasing the time used to calculate it. This
tests show that a repulsion field size over ten points
causes the increase of the number of explored nodes.
Nevertheless, in the cases of a repulsion field size
below ten points (even the no existence of repulsion
field) the number of explored nodes is very similar.
This proves the importance of using a size of
repulsion field not excessively big, since we forced
the search algorithms to give a roundup to avoid the
obstacle. An example of this can be showed in the
figure 4.
5 CONCLUSIONS
The main target of this work has been the
representation of the environment of an articulated
robot using the potential field technique and the
implementation of path search algorithms in these
environments and the measurement of its
performance.
The results demonstrate that, in static
environments, there are not important differences of
performance between search algorithms.
The search algorithms have a higher
performance if the Manhattan distance is used
instead of the Euclidean distance or 8-distance in the
calculation of the distance to the goal configuration.
It is the same if a binary heap is used to store the
open list instead of a ordered list.
The size of the repulsion field that moves away
the robot from the obstacles must not be excessively
great, since the yield of the algorithms diminishes as
this field of repulsion grows. The results show that,
although the information provided by the potential
field is not much, the implemented algorithms
search allow us to obtain the optimal way between
two configurations in a fast way.
REFERENCES
Adi, J. and Muller, M., 2004. Near optimal hierarchical
path finding. Journal of Game Development.
Blanco, F., 1997. Un nuevo enfoque en la planificación de
caminos libres de colisiones para estructuras robóticas.
PhD thesis, Universidad de Salamanca.
Branicky, M., Newman, W., 1991. Real-time
configuration space transforms for obstacle avoidance.
The International Journal of Robotics Research.
Figure 3: Different data structures for the open list in
the search algorithms
Chen, D., 1996. Developing algorithms and software for
geometric path planning problems. ACM Computers
Survey.
Elnagar, A., 2002. A heuristic approach for local path
planning in 3d environments. Robotica.
Feigenbaum, E., 1986. The Handbook of Artificial
Intelligence. Addison Wesley.
Fox, J. and Maciejewski, A., 1993. Path planning and the
topology of configuration space. IEEE Transactions
on Robotics and Automation.
Ge, S. and Cui, Y., 2002. Dynamics motion planning for
mobile robots using potential field method.
Autonomous Robots.
Gilliard, P., 2002. Real-time bsp-based path planning with
A*. Brazilian Symposium on Computer Graphics and
Figure 4: Different results using 10 points repulsion field (left) and using 20 points one (right)
CALCULATION OF OPTIMAL PATHS IN THE CONFIGURATION SPACE USING ARTIFICIAL POTENTIAL
FIELDS AND A* AND D* ALGORITHMS FOR AN ARTICULATED ROBOT. COMPARISON OF TECHNIQUES
15
Image Processing.
Helgason, R., Kennington, J. and Lewis, K., 2001. Cruise
missile mission planning: A heuristic algorithm for
automatic path generation. Journal of Heuristics.
Hwang, Y. and Ahuja, N., 1988. Robot path planning
using potential field representation. PhD Thesis.
Kacandes, P., Langen, A. and Warnecke, H., 1989. A
combined generalized potential fields / dynamic path
planning approach to collision avoidance for a mobile
autonomous robot operating in a constrained
environment. Intelligent Autonomous Systems 2, An
International Conference.
Kavraki, L., 1995. Computation of configuration space
obstacles using de fast fourier transform. IEEE
Transactions on Robotics and Automation.
Latombe, J., and Barraquand, J., 1991. Robot motion
planning: a distributed representation approach.
International Journal of Robotics Research.
Lee, B., 1995. An analytic approach to moving obstacle
avoidance using artificial potential field. Proceedings
of the International Conference on Intelligent Robots
and Systems.
Lozano-Pérez, T., 1983. Spatial planning: a configuration
space approach. IEEE Transactions on computers.
Melchior, P., Orsoni, B., Lavialle, O., Poty, A. and
Oustaloup, A., 2003. Consideration of obstacle danger
level in a path planning using a* and fast-marching
optimization: comparative study. Signal Process.
Moreno, V., Curto, B., 1997. Mathematical formalism to
perform a fast evaluation of the configuration space.
Proc. of the IEEE International Symposium on
Computational Intelligence in Robotics and
Automation.
Prestes, E., Idiart, M., Trevisan, M. and Engel, P., 2004.
Autonomous learning architecture for environmental
mapping. J. Intell. Robotics Syst.
Seidel, R., Guibas, L., 1986. Computing convolution by
reciprocal search. Proc. of the ACM Symposium
Computational Geometry.
Stentz, A., 1994. Optimal and efficient path planning for
partially-known environments. Carneige Mellon
University.
Stentz, A., 1995. The focused d* algorithm for real-time
replanning. Carneige Mellon University.
Trovato, K., 1996. A* planning in discrete configuration
spaces of autonomous systems. PhD. Thesis.
Udupa, S., 1997. Collision Detection and Avoidance in
Computer Controlled Manipulators. PhD thesis.
California Institute of Technology.
Williams, M., and Jones, D., 2001. A rapid method for
planning paths in three dimensions for a small aerial
robot. Robotica.
Wong, B., and Spetsakis, M., 2000. Scene reconstruction
and robot navigation using dynamic fields.
Autonomous Robots.
Yachida, M., Kitamura, Y. and Tanaka, T., 1995. 3d path
planning in a dynamic environment using an octree
and an artificial potential field. Proceedings of the
International Conference on Intelligent Robots and
Systems.
Zhang, Y. and Valavanis, K., 1997 A 3d potential panel
method for robot motion planning. Robotica.
ICINCO 2005 - ROBOTICS AND AUTOMATION
16