3 ROBOT AND ENVIRONMENT
DESCRIPTION
The description of the environments and the robots is
provided to the system through a set of XML (eXten-
sible Markup Language) files (http://www.w3.
org/XML). The idea to confine the description in
external files was suggested by the observation that
often the models of the involved robots are buried
into the code, preventing modification of the planning
problem without changes in the code itself. A gen-
eral tool should instead allow a rapid and inexpensive
reconfiguration of robots and a quick redesign of envi-
ronments to support a wide variety of planning prob-
lems.
A number of modeling languages are already avail-
able, but they are often too general and therefore they
do not provide high level abstractions for descrip-
tion of robotics-related mechanisms. To simplify the
modeling of a planning problem, a new XML-based
language specifically tailored to 3D robotic environ-
ments was developed. The choice of a markup lan-
guage was motivated by their common use in storage,
transmission and exchange of information as they al-
low the description of data and information contained
in text in a standardized format. Moreover, XML
has already proven convenient in describing various
types of structured data, as demonstrated by a grow-
ing number of XML-based languages in a wide range
of domains. XML documents are human-readable,
self-described, easy to maintain while guaranteeing
interoperability.
In this specific context, the XML Schema tech-
nology (http://www.w3.org/XML/Schema.
html) has been adopted to accurately define the
structure, contents and semantics of valid XML doc-
uments describing the robotic scenarios. In order to
simplify modeling of complex environments and to
encourage reuse in general, the definition of each el-
ement in the scenario is provided in a separate XML
file.
The semantics of workspace description allows in-
clusion of an arbitrary number of static objects in the
environment. For each object its geometry and posi-
tion are defined. Robots can be either mobile robots,
kinematic chains, a sequence of kinematic chains or
any system resulting from the composition of the pre-
vious ones. Mobile robots can be free-flying robots
or mobile robots on a plane. Kinematic chains are de-
scribed as sequences of links, and information about
shape and structure must be provided for each link.
In particular, the kinematic properties of the links are
expressed using the Denavit-Hartenberg parameters.
The choice of Denavit-Hartenberg notation (Harten-
berg and Denavit, 1955) is motivated by its wide use
that makes it a de facto standard for manipulator kine-
matics representation.
The geometry of the objects (static elements of the
workspace, links of kinematic chains, or any other
solid component of a robotic system) is described in a
uniform way. A solid object is defined as a set of geo-
metric shapes whose description is contained in sepa-
rate files: only the file names appear in the XML doc-
ument. As the geometric information is not directly
included in the XML file, the language is guaranteed
to be flexible and general: new file formats can be in-
cluded when needed, i.e. the extension of the system
to support additional geometric file formats does not
require changes in the XML document. The expres-
siveness of the developed XML language has been
empirically assessed by modeling a number of het-
erogeneous robots, including mobile platforms, ma-
nipulators, and parallel kinematic chains. A detailed
and comprehensive specification of the language can
be found in (Fantini and Reggiani, 2005).
4 GEOMETRY
In a planning context, the collision detection module
exploits the information about the geometry of the ob-
jects (obstacles and robots). The available collision
detection libraries can indeed be classified according
to the geometric object model they adopt (Lin and
Gottschalk, 1998), either polygonal (polygon soups,
convex objects, objects composed of convex parts) or
non-polygonal ( Constructive Solid Geometry (CSG),
implicit surfaces, parametric surfaces). Collision de-
tection libraries thus, usually require different input
formats. Moreover, the geometric representation can
influence the performance of the collision detection
algorithm. For example, algorithms working with
primitives are usually faster than those dealing with
polygonal soups. Therefore, a general system that
supports several collision detection algorithms should
also support multiple geometric formats.
As the type of input format is known only at run-
time when the files are read, the concepts of polymor-
phism and dynamic binding have been used to deal
with this dimension of variability of the system. In
the planning system, the design of the classes of the
geometry module follows the proxy pattern (Gamma
et al., 1995) shown in Figure 2.
Consider the case where the system should support
geometry models based on triangulation and CSG.
At compile time, the collision detection module must
deal with a surrogate, or proxy, of the class responsi-
ble for the handling of the input format. The proxy,
providing methods that can return to the caller ei-
ther the primitive based representation or the triangle
based one, hides the actual input format type.
AN OPEN OBJECT ORIENTED PATH PLANNING SYSTEM
19