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