Algorithmic and Computational Robotics - New Directions 2000
Algorithmic and Computational Robotics - New Directions 2000
Fae <
its
= es! |ioe te :
Pie
re
¢
bs
: ea
Algorithmic and Computational Robotics:
New Directions
Algorithmic and Computational Robotics:
New Directions
edited by
Bruce Randall Donald
Dartmouth College
Kevin M. Lynch
Northwestern University
Daniela Rus
Dartmouth College
of
6 ioe 2000
A K Peters NEIR The Workshop on the Algorithmic
Natick, Massachusetts = | Foundations of Robotics
Editorial, Sales, and Customer Service Office
A K Peters, Ltd.
63 South Avenue
Natick, MA 01760
All rights reserved. No part of the material protected by this copyright notice
may be reproduced or utilized in any form, electronic or mechanical,
including photocopying, recording, or by any information storage and
retrieval system, without written permission from the copyright owner.
Foreword vu
Participants
Meso-Scale Self-Assembly
D. H. Gracias, I. Choi, M. Weck and G. M. Whitesides
Robust Geometric Computing in Motion
D. Halperin
Positioning Symmetric and Non-Symmetric Parts Using Radial and Constant Force Fields 37
F. Lamirauz and L. Kavraki
Complete Distributed Coverage of Rectilinear Environments 51
Z. J. Butler, A. A. Rizzi, and R. L. Hollis
Closed-Loop Distributed Manipulation Using Discrete Actuator Arrays 63
J. E. Luntz, W. Messner, and H. Choset
Kinematic Tolerance Analysis with Configuration Spaces 73
L. Joskowicz and E. Sacks
Deformable Free Space Tilings for Kinetic Collision Detection 83
P. Agarwal, J. Basch, L. Guibas, J. Hershberger, and L. Zhang
Real-time Global Deformations 97
Y. Zhuang and J. Canny
Motion Planning for Kinematic Stratified Systems with Application to Quasi-Static
Legged Locomotion and Finger Gaiting 109
B. Goodwine and J. Burdick
Manipulation of Pose Distributions 127
M. Moll and M.A. Erdmann
Image Guided Surgery 143
E. Grimson, M. Leventon, L. Lorigo, T.Kapur, O. Faugeras, R. Kikinis, R. Keriven,
A. Nabavi, and C-F. Westin
Graphical Construction of Time Optimal Trajectories for Differential Drive Robots 377
D. J. Balkcom and M. T. Mason
Foreword
Robot algorithms are abstractions of computational processes that control or reason about motion and
perception in the physical world. The computation may be implemented in software, hard-wired elec-
tronics, biomolecular mechanisms, or purely mechanical devices. Because actions in the physical world
are subject to physical laws and geometric constraints, the design and analysis of robot algorithms
raises a unique combination of questions in control theory, computational and differential geometry, and
computer science. Algorithms serve as a unifying theme in the multi-disciplinary field of robotics.
The Fourth International Workshop on the Algorithmic Foundations of Robotics (WAFR) brought
together a group of about sixty researchers to discuss recent trends and important future directions of
research on the algorithmic foundations of robotics. Held at Dartmouth College on March 16-18, 2000,
the workshop was chaired by Bruce Randall Donald (Dartmouth), Kevin Lynch (Northwestern), and
Daniela Rus (Dartmouth). The workshop consisted of six invited talks and twenty-four contributed
presentations in a single track. Each paper was rigorously refereed by the program chairs plus at
least three members of the program committee. The program committee consisted of the conference
chairs plus Pankaj Agarwal (Duke), Srinivas Akella (Rensselaer Polytechnic Institute), Nancy Amato
(Texas A&M), Antonio Bicchi (University of Pisa), Kamal Kant Gupta (Simon Fraser), Leslie Kaelbling
(MIT), Makoto Kaneko (University of Hiroshima), David Kriegman (UIUC), Steve LaValle (Iowa State),
Dinesh Manocha (UNC), Jim Ostrowski (University of Pennsylvania), John Reif (Duke), and Elisha
Sacks (Purdue).
Topics reported at WAFR 2000 included geometric algorithms, minimalist and underactuated robot-
ics, robot controllability, manufacturing and assembly, holonomic and nonholonomic motion planning,
manipulation planning, sensor-based planning, task-level planning, grasping, navigation, biomimetics,
medical robotics, self-assembly, modular and reconfigurable robots, and distributed manipulation. This
book contains the proceedings of WAFR 2000. A number of these papers are clearly destined to be
landmarks in the field. For example, the paper “Meso-Scale Self-Assembly” by Gracias, Choi, Weck, and
Whitesides was voted number three in the “Top Five Must Read Papers Recommended by the Carnegie
Mellon School of Computer Science Faculty” for the year 2000. It is worth noting that numbers one
and two were each written more than 40 years ago, and “Meso-Scale Self-Assembly” was voted ahead
of number four, Judge Jackson’s findings of fact against Microsoft. This demonstrates the value of
interdisciplinary interaction at workshops such as WAFR.
We are very grateful to Dartmouth College and Sandia National Laboratories for their generous
financial support of WAFR. We would like to thank all participants for their contributions. We thank
Dartmouth Project Assistant David Bellows for his work in organizing WAFR and in typesetting the
book and Fred Henle for his advice and assistance with AT@X and image enhancement.
TAN oereyT,
Participants
This paper describes the application of self-assembly to floating at the interface between a hydrophobic liquid
the formation of structured aggregates (both static and (perfluorodecalin, PFD) and a hydrophilic one (wa-
dynamic) of millimeter sized objects. We argue that ter) [6, 1]. In this system, PFD wets the hydrophobic
MEso-scale Self-Assembly (MESA) provides a frame- faces and forms “positive” menisci (menisci that extend
work for fabricating two- and three- dimensional struc- above the plane of the interface); water wets the hy-
tures (with objects ranging in size between 10 nm and drophilic faces and forms “negative” menisci (menisci
10 mm), and illustrates broadly important principles that extend below the plane). Menisci of the same
underlying the behavior of complex, natural systems. shape interact attractively with each other, while a
mismatch in the shape of the menisci results in weak or
1 Introduction repulsive interactions between the objects. Since capil-
lary forces have decay lengths on the order of millime-
Self-Assembly is the spontaneous organization of mole- ters to nanometers, they can be used to assemble ob-
cules or objects, under steady state or equilibrium jects across this range of sizes. (ii) The second system
conditions, into stable aggregates, by non-covalent uses MESA to form three-dimensional (3D) aggregates.
forces; these aggregates are not necessarily at the In this system liquid films (e.g. of low melting-point
global minimum in energy [14, 15]. Meso-Scale Self- alloys [9], or polymeric adhesives [12]) coat the faces
Assembly (MESA) refers to self assembly carried out of the assembling units. These films have a high in-
with objects ranging in size from 10 nm to 10 mm terfacial free energy in contact with water. When two
using forces having lateral extension with similar size faces come into contact, the films coalesce; this coales-
(8; 6,.1,.9, 12, 17, 13, 7, 4, 11}. MESA bridges the cence minimizes the exposed area of the interface and
gap between molecular self-assembly (e.g. crystalliza- decreases the free energy of the system.
tion [16]; and protein-ligand recognition [10]) and We also describe a system based on dynamical self-
the conventional fabrication of macroscopic machines. assembly [2] that incorporates a combination of attrac-
This paper briefly outlines the most important con- tive and repulsive forces. In this system, millimeter-
cepts governing self-assembly at these length scales. It sized magnetic disks are placed at a liquid-air interface,
also describes the application of MESA in (a) fabri- and subjected to the magnetic field produced by a ro-
cating artificial crystals and three dimensional struc- tating permanent magnet. The attractive forces occur
tures [9, 12, 17], (b) mimicking molecular self assem- between the magnetic units and the rotating magnet.
bly [4, 11, 3, 5], and (c) designing dynamical systems The repulsive forces are due to hydrodynamic interac-
that show tailored complexity [2]. tions associated with vortices in the fluid in the vicinity
of the individual spinning magnets.
2 Forces
OOO00O0
Figure 1: Photographs of self-assembled arrays of hydrophobically patterned hexagons, floating in the plane of the PF'D 4
water interface, and agitated by an orbital shaker. All the hexagons have centrosymmetric patterns of hydrophobic faces;
the dark faces are hydrophobic, while the light ones are hydrophilic. (A) Two faces (opposite) of individual hexagons are
hydrophobic; this pattern results in a linear array on assembly. (B) Alternate faces of individual hexagons are hydrophobic;
this pattern generates a porous 2D array. (C) All the faces of individual hexagons are hydrophobic; this pattern generates a
2D, close-packed array.
uuu
| CM
Figure 2: 3D assemblies containing 300 cubes. All the faces of the individual cubes were coated with a hydrophobic
polymer; assembly was carried out in water.
interface [6, 1, 7, 4, 11]. The PDMS objects assembled regular arrays (crystals) of millimeter sized polymeric
upon agitation using an orbital shaker. We chose this polyhedra. The faces of these polyhedra were coated
interface for four reasons: (a) PDMS does not swell in with either a photcurable adhesive [12] or molten sol-
contact with either liquid; (b) capillary forces at the in- der [9]. When these liquid-coated polyhedra were sus-
terface are strong (interfacial energy=0.05 J/m7); (c) pended in water and agitated, collisions between them
PDMS has a density intermediate between that of wa- allowed contact and coalescence of the liquid films; this
ter and PFD, and the pieces therefore float at the in- coalescence minimized the interfacial area between the
terface; (d) a thin film of PFD remains between the hydrophobic liquid and water, and provided the ther-
faces of the objects when they assemble, and acts as modynamic driving force for the self-assembly. In ex-
a lubricant; this film allows the objects to move lat- periments using pieces coated with photocurable adhe-
erally relative to one another, and minimizes the free sive, after self-assembly was complete, the structures
energy of the system. Figure 1 shows photographs of were exposed to UV radiation; this exposure cured the
aggregates formed with different hexagonal units at the lubricant and gave the aggregates sufficient mechanical
PFD/water interface. strength that they could be manipulated and charac-
terized. Figure 2 shows assembled 3D structures that
4 Three-Dimensional MESA
contain 300 cubes; these structures formed from sus-
MESA also provides an alternate strategy for the fab- pensions of 1000 cubes, using a photocurable adhesive.
rication of 3D microstructures. We assembled large, Figure 3 shows 3D porous structures formed by the as-
Meso-Scale Self-Assembly
3
Figure 4: (A) Hierarchical MESA in 2D. Initially four pieces (one (w) and three (x)) aggregate via strong capillary
interactions at the hydrophobically patterned faces (dark regions). A weaker capillary interaction between two concave
hydrophobic faces enables these small aggregates to grow into larger structures. (B) Templuted MESA in 2D. Eleven circular
pieces (z), act as templates around which 87 pieces (y), assemble into cyclic hexamers through capillary interactions at the
hydrophobic patterned faces (dark regions).
association of short sequences of single-stranded DNA. and spinning at the liquid-air interface. Circulardisks
Although this model has obvious limitations, it con- made up of PDMS doped with magnetite (1 mm inner
tains several features analogous to molecular systems, diameter, 400 wm thick) were placed in a dish filled
including cooperativity, directionality, and sequence with a liquid (typically ethylene glycol/water or glyc-
specificity. erin/water with kinematic viscosities 1-50 cp). A bar
magnet (5.6 cm x 4 cm x 1 cm) was then rotated be-
7 Dynamic Self-Assembly low the dish ( 2.4 cm below the air-liquid interface),
at an angular velocity of 200-1200 r.p.m. Figure 6 is
We have also examined dynamic self-assembly systems, a schematic diagram of the experimental set-up. Fig-
that is, systems that develop order only when dissipat- ure 7 shows the dynamic patterns formed with different
ing energy. These systems are particularly interest- numbers of disks. A variety of patterns were observed,
ing for their possible relevance to issues of complexity ranging from unnucleated (n<5) to nucleated (n>5) to
and emergence and ultimately, perhaps to understand- bistable patterns (n=10, 12). The wealth of phenom-
ing very complex systems, such as the cell. Here we ena displayed by this system makes it a good one to
describe the formation of dynamic patterns of unex- study complexity: the interactions involved are simple
pected regularity and complexity by millimeter-sized enough to be studied in detail but the patterns are far
magnetic disks subjected to a rotating magnetic field from obvious.
Meso-Scale Self-Assembly
Figure 7: The dynamic patterns formed by various numbers (n) of disks rotating at the ethylene glycol-air interface,
27 mm above the plane of the external magnet. The disks are composed of polyethylene shell (white) of outer diameter
1.27 mm, filled with PDMS doped with 25 % w/w of magnetite (black core). All disks spin around their centers at w=700
r.p.m, and the entire aggregate slowly (<2 r.p.m.) precesses around its center. For n<5, the aggregates do not have a
“nucleus”-all disks are precessing on the rim of a circle. For n>5, nucleated structures appear. For n=10 and n=12, the
patterns are bistable in the sense that the two observed patterns interconvert irregularly with time. For n=19, the hexagonal
pattern (left) appears only above w 800 r.p.m., but can be “annealed” down to 700_r.p.m. by slowly decreasing the spinning
rate. Without annealing, a less symmetric pattern exists at w=700 r.p.m.
[4] I.S. Choi, N. Bowden and G. M. Whitesides. Macro- the “capillary bond”. Journal of the American Chem-
scopic, hierarchical, two-dimensional self-assembly. ical Society, 121:5373-5391, 1999.
Angewandte Chemie International Edition, 38:3078—
3081, 1999. P. A. Kralchevsky and K. Nagayama. Capillary forces
between colloidal particles. Langmuir, 10:23-36, 1994.
[5cometM. Weck, I. S. Choi, N. L. Jeon and G. M. Whitesides.
Assembly of mesoscopic analogs of nucleic acids. Jour- T. L. Breen, J. Tien, S. R. J. Oliver, T. Hadzic and G.
nal of the American Chemical Society. (In Press). M. Whitesides. Design and self-assembly of open, reg-
ular, 3d mesostructures. Science, 284:948-951, 1999.
[6] N. Bowden, A. Terfort, J. Carbeck and G. M. White-
[10] M. M. C. A. L. Lehninger, D. L. Nelson. . Principles
sides. Self-assembly of mesoscale objects into ordered of Biochemistry 2nd Ed. Worth Publishers, 1993.
two-dimensional arrays. Science, 276:233-235, 1997.
[11] I. S$. Choi, N. Bowden and G. M. Whitesides. Shape-
[7] N. Bowden, I. S$. Choi, B. A. Grzybowski and G. selective recognition and self-assembly of mm-scale
M. Whitesides. Mesoscale self-assembly of hexagonal components. Journal of the American Chemical So-
plates using lateral capillary forces: Synthesis using ciety, 121:1754-1755, 1999.
Meso-Scale Self-Assembly
[12] T. L. B. J. Tien and G. M. Whitesides. Crystalliza- [15] M. V. M. M. Mrksich and G. M. Whitesides. Using
tion of millimeter-scale objects with use of capillary Self-Assembled Monolayers to Study the Interactions
forces. Journal of the American Chemical Society , of Man-Made Materials with Proteins; 2nd ed. Landes
120:12670—12671, 1998. Co.: Austin, TX, 1997.
me coyrmids 4)
Robust Geometric Computing in Motion
Dan Halperin, Tel Aviv University, Israel
Transforming a geometric algorithm into an effective study concerning complexity measures, the arithmetic
computer program is a difficult task. This transfor- model and the treatment of degenerate input.
mation is made particularly hard by the basic assump- In this paper we discuss the gap between the theory
tions of most theoretical geometric algorithms concern- and practice of geometric algorithms. We then describe
ing complexity measures and (more crucially) the han- efforts to settle this gap and facilitate the successful
dling of robustness issues. The paper starts with a dis- implementation of geometric algorithms in general and
cussion of the gap between the theory and practice of of algorithms for geometric arrangements and motion
geometric algorithms, together with a brief review of planning in particular.
existing solutions to some of the problems that this di-
Most of the algorithms developed in Computational
chotomy brings about.
Geometry aim for efficient worst-case asymptotic run-
We then turn to an overview of the CGAL project and ning time and storage. The computational model used
library. The CGAL project is a joint effort by a number is the so-called real RAM model that allows for infinite
of research groups in Europe and Israel to produce a ro- precision arithmetic operations [64]. Every operation
bust software library of geometric algorithms and data on a (small) constant number of simple geometric ob-
structures. The library is now available for use with jects (such as line segments, circles, planes) takes ‘unit’
significant functionality. We describe the main goals time. In addition the input to the algorithm is assumed
and results of the project. to be in general position, namely degenerate configura-
The central part of the paper is devoted to arrange- tions are excluded. For example, no three of a set of
ments (i.e., space subdivisions induced by geometric ob- input points may lie on a single line. We collectively
jects) and motion planning. We concentrate on the refer to the issues of arithmetic precision and the treat-
maps and arrangements part of the CGAL library. Then ment of degenerate input as robustness issues.
we describe two packages developed on top of CGAL for Each of the assumptions we have just mentioned
constructing robust geometric primitives for motion al- needs to be revised in practice. Some of the prob-
gorithms. lems are not unique to geometric algorithms, such as
the fact that the standard asymptotic measures of al-
gorithm performance may hide prohibitively large con-
1 Introduction
stants. This pitfall has been observed many times in
geometry, for example in the context of range search-
For over two decades, research in Computational
ing [37], vertical decomposition [50], and construction
Geometry has yielded numerous efficient algorithms
of Minkowski sums [4]; the latter example will be de-
and data structures for solving problems arising in a
scribed in more detail in the sequel.
diversity of areas from statistics and chemistry to GIS
and robotics [42],[54],[68]. Whereas the original focus Sometimes the worst-case resource bounds are de-
of this field was almost exclusively theoretical, these terringly high since they cover the treatment of even
days a lot of attention is given to practical solutions the most pathological non-realistic input instances.
and their software implementation. Transforming a This has led to the study of realistic input models
theoretical geometric algorithm into an effective run- (a.k.a. “fatness”). Making additional assumptions on
ning program is a hard task. The difficulties in this the input (based on the specific nature of a problem
process are rooted in the assumptions of the theoretical at hand) and tailoring the algorithms accordingly can
10 D. Halperin
result in much more efficient algorithms that are often A solution is given by using exact arithmetic (see,
simpler [5],[27],[48],[76], [77]. e.g., [17],[18],{20],[25],[80]). We can use rational num-
bers and maintain the numerator and denominator as
The unit-cost model for operations on a constant
unlimited length integers (supported by several soft-
number of simple geometric objects is also question-
ware packages). Precise predicates are also supported
able, especially when we aim for robust computation.
when they involve square roots [30] or even taking the
Already in two-dimensions and for collections of simple
k-th root [19],[59].
algebraic curves (e.g., circular arcs), algorithms need to
determine the sign of a polynomial of a rather high de- Exact arithmetic predicates can be rather time con-
gree [14]. Carrying out one such operation robustly suming. There are several adaptive evaluation schemes
may be costly. Redesigning algorithms so that they that save computing time by resorting to expensive
use lower-degree predicates was recently proposed as a computations only when they cannot determine the
means to enhance robustness [13],[14]. correct answer by simpler means like standard com-
puter arithmetic. One form of adaptive evaluation is a
Indeed, robustness issues seem to be the most criti-
floating-point filter which makes use of the hardware-
cal in the passage from theory to practice in geometric
supported floating-point arithmetic at the initial stage.
algorithms. Ignoring these issues can result in unreli-
For the use of such techniques in exact geometric com-
able or incorrect programs. This has led to an intensive
puting see [29],{40],|60],[74]. The packages described in
study in recent years. We briefly mention the main ap-
Sections 3 and 4 make extensive use of LEDA’s filters
proaches to handling robustness issues next and refer
[60] to speed up their running time; see for example the
the reader to recent surveys on the topic [69],[79] for
experimental results reported in [39] for a comparison
further information.
of exact arithmetic with or without filters.
Let us illustrate the problem of arithmetic precision
If we are not using exact arithmetic, precision prob-
in geometric computing. Consider the two polygons on
lems become especially noticeable at or near degen-
the left-hand side of Figure 1: does the small polygon
eracies. Burnikel et al. propose to handle degeneracies
fit inside the cavity in the larger polygon? We find the
directly [21] for certain two-dimensional problems. In
answer by computing the Minkowski sum of the larger
three- and higher-dimensional problems, however, di-
polygon and a copy of the smaller polygon rotated by
rectly handling degeneracies is an extremely tedious
180° degrees (the details are deferred to Section 4.1).
and error-prone task. Symbolic perturbation was sug-
Suppose the answer is yes as the figure implies. To
gested as a general means to overcome degeneracies
give a correct answer we must be able to identify a
[32],[34],[78] provided that exact arithmetic is avail-
singular point on the boundary of the Minkowski sum
able. If one insists on using only fixed-precision arith-
(in the middle of the sum on the right-hand side of
metic then several methods that approximate the geo-
Figure 1) which is the intersection point of many line
metric objects were proposed to guarantee robust-
segments. The standardly available computer arith-
ness and/or remove degeneracies; see, for example,
metic and number types could not in general give such
answers. [43] ,[50], [53] ,[61],[75).
Because of all the difficulties in implementing
geometric algorithms (as discussed above) several
computational-geometry groups have decided to put
up a carefully designed and implemented library with
an emphasis on robustness and generality [63]. This
resulted in CGAL: The Computational Geometry Al-
gorithms Library.
The CGAL project! officially started in September
1996. The actual work on the library’s kernel started
Figure 1: The small polygon can fit into the cavity in the
larger polygon (left-hand side) as indicated by a singular “The CGAL project and its successor project GALIA were
point in the middle of the Minkowski sum of the larger poly- both funded by the European Union. Throughout the paper
gon with a rotated copy of the small one (right-hand side). we refer to both projects as the CGAL project.
Robust Geometric Computing in Motion
11
earlier [35] and drew on the experience from still ear- Aviv University (Israel) and Utrecht University (The
lier projects including: the geometric part of LEDA Netherlands).
[59], C++gal ?, PlaGeo and SpaGeo?, and the XYZ-
workbench [70]. In the next section we give an overview Among the major goals in the design of the library
of the CGAL project and library, the main design goals were robustness, generality, and efficiency [16],[35],[36].
In general robustness is achieved in CGAL through
that guided the development of the library and a brief
exact computation of geometric predicates, which often
description of its various parts.
require the use of special number types. The user is free
CGAL is definitely not the only software develop- to choose different number types such as the machine
ment effort of computational geometry algorithms. Im- float or double, but then the algorithms are not always
plementations of geometric algorithms have been re- guaranteed to produce the correct output. There is a
ported in the literature and were made available for clear indication in CGAL under which conditions the
various problems; see [7] and [8]. These include li- algorithms are certified to work correctly.
braries and workbench efforts. Schirra [69] comments
Number types could be easily imported from other
that as far as libraries/workbenches are concerned, two
packages such as LEDA or The GNU Multiple Preci-
have paid special attention to robustness issues: The
sion Arithmetic Library [44] and smoothly used with
XYZ-workbench and LEDA.
CGAL. The ability of the user to specify different num-
This paper concentrates on arrangements and mo- ber types for the same algorithm is one aspect of the
tion planning. Arrangements are space subdivisions generality of the library. The project has adapted
induced by geometric objects and they are closely re- [16] the so-called generic programming paradigm that
lated to the study of collision-free path planning for makes heavy use of the C++ template mechanism [9].
objects moving among obstacles. Each of these top- In addition to number types users can choose a repre-
ics, as well as the connection between them, has been sentation type for point coordinates: Cartesian or ho-
the subject of extensive research. We give more back- mogeneous. Major flexibility and generality is achieved
ground about these areas and point to bibliography in through the use of ‘traits classes’. A traits class brings
the relevant sections. In Section 3 we focus on the maps together all the data types and operations needed by
and arrangements part of the library which has been a certain algorithm and is passed as an additional pa-
developed at Tel Aviv University. We explain the con- rameter to the algorithm. In Section 3.2 we illustrates
nection between arrangements and motion planning in how traits classes enhance the generality of the code
Section 4 and describe two packages developed on top for representing two-dimensional subdivisions.
of CGAL that provide robust primitives for motion algo-
For a detailed discussion of the above and additional
rithms. Concluding remarks and directions for further
goals in the design of CGAL see [16],[35],[36].
research are given in Section 5.
Notice that there is no global strategy for handling
degenerate input in CGAL. If an algorithm is claimed
2 The CGAL Project and Library
to perform correctly as long as exact predicates are
The Computational Geometry Algorithms Library provided, this means in particular that it could han-
CGAL is a software library of robust geometric algo- dle degenerate input. While this is often doable and
even desirable for two-dimensional problems [21] it
rithms and data structures.
may be unnecessary or extremely difficult for higher-
The participating groups in the CGAL project are dimensional problems. In Section 4.2 we propose an
from ETH Zurich (Switzerland), The Free Univer- efficient method for removing degeneracies from three-
sity Berlin (Germany), Halle University (Germany), dimensional arrangements.
INRIA Sophia-Antipolis (France), Max Planck Insti-
CGAL consists of three parts. The first is the ker-
tute Saarbrucken (Germany), RISC Linz (Austria), Tel
nel, which consists of primitive constant-size geometric
2p. Avnaim, C++gal: A C++ library for geometric al- objects and predicates on them (e.g., points and ori-
gorithms, INRIA Sophia-Antipolis, 1994.
entation test for points). The second part, the basic
3G.-J. Giezeman, PlaGeo, a library for planar geome-
try, and SpaGeo, a library for spatial geometry, Utrecht
library, consists of a large collection of fundamental
University, 1994. algorithms (e.g., constructing convex hulls) and data
12 D. Halperin
structures (e.g., kd-trees) parametrized by trait classes. more information about arrangements see, for example,
The maps and arrangements package that we describe [3},[31],[46], [73].
in the next section is part of the basic library. The third Arrangements are a useful tool in the study of geo-
part incorporates non-geometric support facilities such metric problems in robotics and other areas. We use
as I/O support for debugging and for interfacing CGAL them to partition a space into cells such that certain
to various visualization tools. The full functionality of invariants are maintained in each cell. The objects in
the library can be found in the manuals of the vari- S that define the arrangement are the loci of critical
ous parts [24]. Additional documentation includes an points in space where the invariants change. Arrange-
installation guide and a “getting started” manual guid- ments lead to efficient solutions in, among other areas,
ing the novice how to use the library through a series
robot motion planning (as we will explain in more de-
of program examples.
tail in Section 4.1), assembly planning, and visibility
CGAL can be used as a stand-alone library. However, problems [46],[73].
there are close connections between CGAL and LEDA—
Motivated by these applications the Tel Aviv site
the library of efficient data structures and algorithms.
of the CGAL project has been responsible for the de-
There are provisions in CGAL for easy use of LEDA’s
velopment of a package to support the construction
special number types, graphical window and graphical
and manipulation of arrangements of general curves.
output to a postscript file. For a succinct listing of the
Our two-dimensional package is described in this sec-
principal differences between CGAL and the geometric
tion; many technical details that we omit here can be
part of LEDA see [60, Section 9.11].
found in the CGAL user manual [24, Part II, Chapters 8
through 10] and in [39] and [51]. In Section 4.2 we de-
3 Maps and Arrangements scribe implementations for three-dimensional arrange-
ments of triangles and of polyhedral surfaces built on
Given a collection S$ of geometric objects (such as lines,
top of CGAL.
planes, or spheres) the arrangement A(S) is the sub-
division of the space where these objects reside into
cells as induced by the objects in S. Figure 2 illus- 3.1 From Maps to Arrangements
trates a planar arrangement of segments which consists
of vertices, edges and faces: a vertex is either a segment
Subdivisions could be used in CGAL in one of four lev-
els, where each higher level is built on top of the previ-
endpoint or the intersection point of two (or more) seg-
ments, an edge is a maximal portion of a segment not
ous one: (i) topological maps (which are not necessarily
containing any vertex, and a face is a maximal region planar), (ii) planar maps, (iii) planar maps with inter-
of the plane not containing any vertex or edge. We sections, and (iv) arrangements. We will restrict our
assume below some familiarity with arrangements; for description here to planar maps and arrangements.
A planar map in CGAL is defined as the subdivi-
sion of the plane into cells by a collection of pairwise
interior-disjoint z-monotone curves. The choice to re-
strict the curves to be z-monotone at this level makes
it easy to apply algorithmic methods such as the verti-
cal decomposition [28] to otherwise general curves. The
planar map level is the natural level to represent a sim-
ple plane subdivision such as a geographic map or a
room with polygonal obstacles.
;
Dee
x Planar maps in CGAL support traversal over faces,
edges and vertices of the map, traversal over the edges
of a face and around a vertex and efficient point loca-
tion (namely identifying the feature of a map where a
query point is located). They are dynamic and support
Figure 2: An arrangement of segments. insertion of new edges into or removal of edges out of an
Robust Geometric Computing in Motion
13
existing map. The representation is based on the Dou- We supply ready-made traits for line segments, cir-
bly Connected Edge List (DCEL) [28, Chapter 2]. This cular arcs, and polylines while using various number
representation belongs to a family of edge-based data types. We mainly rely on LEDA’s special number types
structures in which each edge is represented as a pair of for efficient exact arithmetic.
opposite half edges. The representation supports inner
components (holes) inside the faces. 3.3 Point Location
The curves at the arrangement level are the most Point location is a basic service required from a subdi-
general: they may intersect and are not necessarily x- vision data structure: Given a query point p report the
monotone. The arrangement level employs the planar face of the subdivision containing p. Planar maps (and
map level and preprocesses the input curves by decom- the levels above them) provide this service. We provide
posing each one of them into z-monotone subcurves, three algorithms for point location as well as a mech-
and further subdivides them at their intersection points anism for the users to supply their own point-location
with the other curves. A data structure which we call algorithm.
the hierarchy tree maintains the curve-history of each
The algorithms we have implemented are: (i) a naive
of the edges in the final planar map (namely the orig-
algorithm, which goes over all the edges in the map to
inal curves and sub-curves in which this edge is con-
find the location of the query point; (ii) an efficient
tained). In addition to the planar-map functionality,
algorithm (the default one) which is based on the ran-
the arrangement level supports overlapping curves and
domized incremental construction of a search struc-
the traversal of all the curves containing a query edge.
ture through the vertical decomposition of the map
[15],{62],[72], and (iii) a “walk-along-a-line” (walk, for
3.2 The Separation of Combinatorics and
short) algorithm that is an improvement over the naive
Numerics
approach: it finds the point’s location by walking along
As mentioned in Section 2, algorithms in CGAL are a vertical line from “infinity” towards the query point.
passed a so-called traits class that contains the needed We remind the reader that our point location imple-
data types and operations. For planar maps, the traits mentation handles general finite planar maps. The
class is an abstract interface of predicates and functions subdivision is not necessarily monotone (each face’s
that wraps the access of an algorithm to the geomet- boundary is a union of z-monotone chains) nor con-
ric (rather than combinatorial) inner representation. nected. In addition the input may be x-degenerate.
We have formulated the requirements from the planar We have observed an interesting behavior of the
map’s traits so they make as few assumptions on the point-location algorithms: During the construction of
curves as possible. Packing those predicates and func-
tions under one traits class gives flexibility in choos- 4The full list of requirements can be found in [24].
14 D. Halperin
process is guaranteed for 6 values above a threshold arrangements comparable in their robustness and gen-
which is determined by the analysis of the procedure. erality to the two-dimensional package described in
Section 3. A major obstacle to achieving this goal is
The thesis [65] contains a detailed report on all the the treatment of degeneracies (as far as precision is
degeneracies arising in arrangements of polyhedral sur- concerned we could use exact arithmetic wherever pos-
faces and the swept volume computation, gives bounds
sible). We mention next several possible directions to
on the perturbation radius as a function of € and the in-
confront degeneracies in arrangements. Although we
put polyhedral surfaces, and describes the implementa-
point out the difficulties and shortcomings of each di-
tion of the scheme together with experimental results.
rection we only mention directions which we believe
Our implementation of the swept volume algorithm are feasible, perhaps in restricted form (that is, only
uses CGAL in various ways (geometric primitives, pred- in three dimensions or only for arrangements of certain
icates, affine transformations, assertions, and precon- simple types of objects).
ditions testing). Most notably it uses the polyhedral
surface package developed by Kettner [57]. e Certifying a correct result only for input in gen-
eral position. This is feasible (in the sense that as-
This work is an extension of an earlier work on
serting general position is easier than computing
arrangements of spheres as they arise in molecular
modeling [50]. In both cases (molecular modeling and a degenerate arrangement) but impractical since
swept volumes) we show by experiments [50], [67] that quite often the input of physical-world problems
also on highly degenerate input (as depicted in Fig- is not in general position.
ure 8) the controlled perturbation scheme works effi- e Directly handling all degeneracies (as we do in the
ciently even when 6 is fairly small.
two-dimensional case). This seems to be a tremen-
dous task already for arrangements of triangles in
5 Conclusions three dimensions. What is missing is a system-
atic and concise way to express and compute the
We described advancement in robust implementation topology of the arrangement at the neighborhood
of geometric algorithms. After reviewing the CGAL of degeneracies.
project and library we concentrated on the maps and
e Applying symbolic perturbation (see the Introduc-
arrangements part of CGAL and showed how this and
other parts of CGAL are useful for devising robust prim-
tion). In this solution the difficulty seems to be
itives for motion planning. in the interpretation of the output (postprocess-
ing) [69].
Regarding arrangements, the next goal would be
to develop packages for three- and higher-dimensional e Tightly approximating the arrangement, possibly
using only fixed precision arithmetic (as in Sec-
tion 4.2). There are many conceivable ways to
achieve this goal, one of which is extending the
scheme that we propose above, controlled pertur-
bation, to other objects and to higher dimensions.
Implementing the scheme is not difficult. How-
ever, giving a theoretical guarantee for its viability
for arrangements of complex objects is a difficult
task [65].
ities (Center for Geometric Computing and its Applica- [11] K.-F. Béhringer, B. Donald, and D. Halperin. On the
tions), by a Franco-Israeli research grant “factory of the area bisectors of a polygon. Discrete Comput. Geom.,
future” (monitored by AFIRST/France and The Israeli 22:269-285, 1999.
approximately solves a problem with six degrees of free- [12] K.-F. Béhringer, B. R. Donald, and N. C. MacDon-
dom. However for solving motion planning problems ezactly ald. Upper and lower bounds for programmable vector
through the usage of arrangements, we need k-dimensional fields with applications to MEMS and vibratory plate
arrangements for problems with k degrees of freedom. part feeders. In J.-P. Laumond and M. H. Overmars,
20 D. Halperin
editors, Algorithms for Robotic Motion and Manipu- [26] M. de Berg, L. J. Guibas, and D. Halperin. Verti-
lation, pages 255-276. A. K. Peters, Wellesley, MA, cal decompositions for triangles in 3-space. Dzscrete
1996. Comput. Geom., 15:35-61, 1996.
I. Hanniel. The design and implementation of planar [65] S. Raab. Controlled perturbation for arrangements of
[51] polyhedral surfaces with application to swept volumes.
arrangements of curves in CGAL. M.Sc. thesis, Dept.
Comput. Sci., Tel Aviv University, Tel Aviv, Israel, M.Sc. thesis, Dept. Comput. Sci., Bar lan University,
2000. In preparation. Ramat Gan, Israel, 1999.
22 D. Halperin
[66] S. Raab. Controlled perturbation of arrangements of [73] M. Sharir and P. Agarwal. Davenport-Schinzel Se-
polyhedral surfaces with application to swept volumes. quences and Their Geometric Applications. Cam-
In Proc. 15th Annu. ACM Sympos. Comput. Geom., bridge University Press, 1995.
1999.
[74] J. Shewchuk. Adaptive robust floating-point arith-
[67] S. Raab and D. Halperin. Controlled perturbation of metic and fast robust geometric predicates. Discrete
arrangements of polyhedral surfaces with application Comput. Geom., 18:305-363, 1997.
to swept volumes. Full version, manuscript, Tel Aviv
University, 2000. [75] K. Sugihara. On finite-precision representations of
geometric objects. J. Comput. Syst. Sct., 39:236—-247,
[68] J.-R. Sack and J. Urrutia, editors. Handbook of Com- 1989.
putational Geometry. North-Holland, 1999.
[76] A. F. van der Stappen. Motion Planning amidst Fat
[69] S. Schirra. Robustness and precision issues in geomet- Obstacles. Ph.D. dissertation, Dept. Comput. Sci.,
ric computation. In J.-R. Sack and J. Urrutia, editors, Utrecht Univ., Utrecht, Netherlands, 1994.
Handbook of Computational Geometry, pages 597-632.
Elsevier Science Publishers B.V. North-Holland, Am- [77] A. F. van der Stappen, D. Halperin, and M. H. Over-
sterdam, 1999. mars. The complexity of the free space for a robot
moving amidst fat obstacles. Comput. Geom. Theory
[70] P. Schorn. Robust algorithms in a program library for Appl., 3:353-373, 1993.
geometric computation. Ph.D. thesis, ETH Ziirich,
Switzerland, 1991. Report 9519. [78] C. K. Yap. A geometric consistency theorem for a
symbolic perturbation scheme. J. Comput. Syst. Sci.,
[71] J. T. Schwartz and M. Sharir. On the “piano movers” 40(1):2-18, 1990.
problem II: General techniques for computing topolog-
ical properties of real algebraic manifolds. Adv. Appl. [79] C. K. Yap. Robust geometric computation. In J. E.
Math., 4:298-351, 1983. Goodman and J. O’Rourke, editors, Handbook of Dis-
crete and Computational Geometry, chapter 35, pages
[72] R. Seidel. A simple and fast incremental randomized 653-668. CRC Press LLC, Boca Raton, FL, 1997.
algorithm for computing trapezoidal decompositions
and for triangulating polygons. Comput. Geom. The- [80] C. K. Yap. Towards exact geometric computation.
ory Appl., 1(1):51-64, 1991. Comput. Geom. Theory Appl., 7(1):3-23, 1997.
Controlled Module Density Helps
Reconfiguration Planning
An Nguyen, Stanford University, Stanford, CA
Leonidas J. Guibas, Stanford University, Stanford, CA
Mark Yim, Xerox Palo Alto Research Center, Palo Alto, CA
In modular reconfigurable systems, individual modules modular reconfigurable robot offers many advantages
are capable of limited motion due to blocking and con- over conventional robots [7]. Such a robot has high
nectivity constraints, yet the entire system has a large fault. tolerance, since each module can be replaced by
number of degrees of freedom. The combination of these any other module in the robot; the homogeneity of the
two facts makes motion planning for such systems ex- modules allows low cost mass production; finally, the
ceptionally challenging. In this paper we present two robot can assume a wide variety of conformations or
results that shed some light on this problem. First we shapes, and thus can be easily adapted to performing
show that, for a robotic system consisting of hexagonal numerous tasks.
2D modules, the absence of a single excluded config- A reconfigurable robot changes its shape by movy-
uration is sufficient to guarantee the feasibility of the ing one or more of its modules locally. The motion of
motion planning problem (for any two connected con- each individual module in the configuration must sat-
figurations with the same number of modules). We also isfy certain constraints, as illustrated in Figure 1. In
provide an analysis of the number of steps in which the general, there are two types of constraints: the connec-
reconfiguration can be accomplished. Second, we ar- tivity constraint requires all modules to stay connected
gue that skeletal metamodules, which are scaffolding- at all times to a fixed base (for power distribution,
like structures in 2D built out of normal modules, of- inter-module communication, etc), and the blocking
fer an interesting alternative. General shapes can be constraint requires a module not to collide with other
built out of these metamodules and, unlike the case for modules during its motion. A module may also need
shapes built directly out of modules, a metamodule can to support itself on its neighboring modules in order
collapse and pass through the interior of its neighboring to move.
metamodules, thus eliminating all blocking constraints.
Though each module can have very limited motion,
This tunneling capability makes the motion planning
or none at all, the large number of modules present
problem easier and allows faster reconfiguration as well,
means that the system has many degrees of freedom —
by providing a higher bandwidth conduit, the interior
in general, roughly proportional to the number of mod-
of the shape, through which the modules can flow. The
ules present. The homogeneity of the modules further
conclusion of our work is that it is worthwhile to study
complicates the reconfiguration problem, as it is not
subclasses of shapes that (1) approximate closely arbi-
clear which module in the original configuration should
trary shapes, while also (2) simplifying significantly the
go to which location in the final configuration. Thus
motion planning problem.
motion planning for modular reconfigurable robots is
a challenging combinatorial task; in fact, under several
1 Introduction scenarios, the local blocking constraints can make the
task infeasible.
A modular reconfigurable robot, sometimes known as
a metamorphic robot consists of many identical mod- In this paper we propose to address this problem by
ules, each with limited ability to connect, disconnect, focusing on selected subsets of the allowed module con-
and move around its neighbors. Originally proposed by figurations. By imposing certain constraints that limit
Yim [12], Chirikjian [2], and Murata [7], these robots how locally packed the modules can be, we demonstrate
have since been further studied by these and several that the reconfiguration problem can become always
other authors [13, 14, 1, 4, 6, 5, 8, 9, 10, 11, 15]. A feasible, or at least significantly easier. We give two
24 A. Nguyen, L. Guibas, and M. Yim
2 Related Work
Figure 4: An example of an immobile branch in a mobile Figure 5: The above configuration is inadmissible because
configuration. the empty grid B is between two occupied grids A and C.
If a module is added to the configuration at B, the configu-
ration becomes admissible. The configuration also becomes
and it would be hard to define a heuristic that cap-
admissible if the module at A or C is removed.
tures that.
Given the difficulty for solving the motion planning
Proposition 1 Any admissible configuration can be
problem in general, it is desirable to restrict ourselves
transformed into a straight line configuration.
to a simpler problem. As already mentioned, we pro-
pose to restrict ourselves to a subset of all possible con- As an immediate corollary of proposition 1:
figurations, large enough to adequately approximate an
arbitrary configuration, yet restricted enough to make Corollary 2 Any admissible configuration can be
the motion planning more tractable. transformed into any other admissible configuration
with the same number of modules.
5 Reconfiguration for Planar Hexago-
Proof of proposition 1:
nal Modules
We construct a transformation from an admissible
We consider the case of a reconfigurable robot com- configuration to a straight configuration in two phases.
posed of rigid hexagonal modules in the plane, as illus- First, we transform the admissible configuration to an
trated in Figure 1. We assume that all configurations admissible chain configuration (to be defined below),
of interest must be connected, and that a particular and then convert that chain to a straight line configu-
module, called the base, is immobile. The base can be ration.
used for transmitting power and communication into Note that the complement of an admissible configu-
the system. We will refer to a possible location for a ration in the plane consists of one or more connected
module as a grid cell, or simply a grid. The only mo- components, exactly one of which is infinite. We call
tion allowed for a module is the rigid rotation around a this infinite component the outer free space (with re-
vertex it shares with some other module in the config- spect to the configuration). The module boundary line
uration, subject to the condition that such rotation is segments separating the outer free space and the config-
not blocked by any module nor leaves the configuration uration are called the outer boundary, and the modules
disconnected. in the configuration that border the outer free space are
We call a robot configuration admissible if it is con- said to be on the outer boundary.
nected and there is no empty grid cell directly in be- For ease of discussion, we assume that the hexagon
tween two occupied grid cells in the configuration; see lattice is oriented as in the previous figures. We use lat-
Figure 5. Admissible configurations have a very nice tice coordinates with the x-axis in the minus 30 degree
property, as shown in the following proposition. direction, and the y-axis in the vertical direction.
Controlled Module Density
27
In the first phase, we use a greedy algorithm. Let
us choose an extreme module in the configuration, say
choose among all modules with maximal x coordinate
the one with maximal y coordinate. Clearly, this mod-
ule is on the outer boundary of the configuration. We
grow a “tail” by repeatedly locating available modules
that can be moved towards the extreme module we just
selected, moving them there and then appending them
to the end of this growing tail. This process ends when
there is no module available for extending the tail.
The search for a module to add to the tail is done Figure 6: This figure is used in the proof of lemma 3. A
greedily. Starting from the extreme position, we search is a grid on the outer boundary of a configuration, and B
among all modules on the outer boundary of the config- and C' are on the outer free space. If a module, moving
uration, say in the counter-clockwise direction, for the in the counter-clockwise direction along the outer boundary
first module that can move clockwise without violating of the configuration, can reach B but cannot reach C, then
any motion constraints. We then let that module roll the lemma asserts that the module at A can move counter-
into the free space, along the outer boundary toward clockwise to either K, or I. Other grid labels in the figure
the extreme position, and then along the existing tail are used in the proof of the lemma.
until it reaches the tip. The feasibility of such a motion
is guaranteed with the help of the following lemma:
In both situations, the module at A can move
Lemma 3 A module moving along the outer bound- counter-clockwise, and thus lemma 3 is proved.
ary of an admissible configuration in counter-clockwise Since we choose the first module that can move
(clockwise) direction can only be blocked at a position counter-clockwise, the lemma guarantees that such a
at which its blocker module is capable of moving in the module can move counter-clockwise without ever be-
that same direction. ing blocked toward the extreme module. The module
can then move to the tip of the constructed tail. We
Proof of lemma 3:
need to make sure, however, that the configuration is
We only consider the case when the direction is admissible at the end of each move.
counter-clockwise. The clockwise case is similar. See Note that the removal of a module from an admissi-
Figure 6. ble configuration always leaves it admissible as long as
Say that in the original configuration, before the it is still connected. We only need to ensure that when
moving module moves to B, grid A is occupied, and we add the module to the tip of the tail, the configu-
grids B and C are empty. The admissibility of the ration is still admissible. Since the tail points right up
configuration implies that grids D and F are empty. from a module at an extreme position, most modules
Thus the only reason that a moving module cannot in the tail are too far to affect the admissibility of the
move forward from B to C is that E is occupied. The rest of the configuration. We need to be cautious only
admissibility again dictates that H and J are empty. when building the first few modules in the tail.
There are now two possibilities: Let the coordinates of the extreme module be
(rz, yo). It is easy to verify that the following scheme
e If K is occupied, then L is empty, and thus the for building the tail will keep the configuration admis-
module at A can roll counter-clockwise over K to sible, see Figure 7:
I.
e if (xo — 1, yo + 1) is empty, the tail can be build at
e If K is empty, then there must be a module at J
(xo +1, yo +1), (20 +2, Yo + 2), (Zo +3, Yo +3), -- 53
so that A is not disconnected from the rest of the
configuration. Grid M must then be empty, and e if (x—1, yo +1) is occupied, and (ro —1, Yo) is also
the module at A can roll counter-clockwise over occupied, the tail can be build at (2, yo +1), (to+
module at J to K. ++55
1,yo+1), (zo + 2, Yo + 2); (v0 + 3, Yo + 3),
28 A. Nguyen, L. Guibas, and M. Yim
easisssceressetees
piece in the configuration is free to move except the
CHOC Ha HO-C
module at the end of the constructed tail.
2,0,0,8 28,8485
Lemma 4 The configuration at the end of phase 1 is a
chain with one end at the end of the newly constructed
e266 OB GB oe e-G=o
tail and with the other end at the fixed base. Figure 8: The black loop represents the largest loop in the
configuration. A is the loop connector for the fixed base.
Before we prove lemma 4, let us prove:
B is the loop connector for the the tail. C is an extreme
Lemma 5 Any admissible configuration has a module module on the loop that has no motion constraints for its
on the outer boundary that can move without any mo- motion to the outer free space. D is an extreme module on
tion constraint. the loop, but is a connector. A and B happen to be extreme
modules of the loop.
Proof of lemma 5:
Consider the configuration obtained after phase 1.
We call a module, say X, in a configuration a connec-
Assume, for the sake of contradiction, that this config-
tor if the removal of X from the configuration makes
uration is not a chain, so there is a loop in the configu-
the configuration disconnected. For a connector X, we
ration. Among all the loops, choose the one enclosing
define the branch at X as the subconfiguration consist-
the largest number of grids. Call this loop £. From
ing of X and the component that becomes disconnected
any module, say X, outside of loop £, there is one or
from the base upon the removal of X.
more paths connecting the module to the loop, all of
Consider an extreme module in the configuration which must share a common module Y contacting the
that is different from the fixed base. This module is loop (otherwise, the loop can be augmented to enclose
on the outer boundary, and its motion (clockwise or more grids inside.) We call Y the loop connector for X.
counter-clockwise) into the outer free space doesn’t vi- The removal of Y would make X disconnected from CL,
olate any blocking constraint. If this module is not a and thus make the configuration disconnected. Thus,
connector, it is the desired module. a loop connector is a connector as previously defined.
If it is a connector, consider the branch at this con- Consider an extreme module M in loop L. Without
nector as a configuration, with the connector as the loss of generality, we can assume that WM is neither the
fixed base. By an inductive argument, we can assume loop connector for the tip of the tail constructed, nor
Controlled Module Density
29
the loop connector for the fixed base (if the loop con- Lemma 6 The number of tail relocation steps in phase
nectors for those modules are defined). We can make 2 is O(n'/2)
this assumption, since a loop has more than two ex-
treme modules, and thus we can always choose an ex- Proof: At any moment, consider the configuration ex-
treme module different from the above two connectors. cluding the tail. Assume that this configuration has
Note that with our choice of £, module M must be on m, (m < n) modules, then its diameter d (measured
the outer boundary of the configuration. in terms of grid modules) is at least O(m!/?). Let P
and @ be two modules with distance d. It is easy to
There are two possible cases:
see that in two tail relocations, by relocating the tail
to P, then to Q (or to Q, then to P), the tail has at
e If M has no neighboring module outside of the least d more modules; the remaining configuration has
loop then, due to its extremality, M can move O(m?/?) less modules. Straightforward analysis shows
into the outer free space without any motion con- that the number of tail relocations must be at most
straints. O(n'/?), ©
From lemma 6, the number of steps in the second
e If M has as a neighbor module N outside of the
phase is O(n°/?). This worse case can be achieved for
loop, then M is a loop connector for N. Consider
a winding chain of n modules around the fixed base.
the branch at M as a configuration with fixed base
M. By lemma 5, there is a module on the bound- This completes our proof of proposition 1. ©
ary of this new configuration that can move into
the outer free space of the new configuration. It 6 Robots Composed of Metamodules
is clear that this module can move into the outer
free space of the original configuration. In this section, we explore a different approach to re-
configuration planning. Instead of restricting ourselves
to admissible configurations, we consider arbitrary con-
Thus, in both cases, we have a contradiction: there is figurations that can be built out of a different building
a module capable of moving to the tail built at the end block, a skeletal metamodule or in short a metamod-
of phase 1. This proves that the assumption we made ule. A skeletal metamodule is a collection of modules
is false, and thus lemma 4 holds. In other words, the in a scaffolding-like structure, designed with the pur-
greedy algorithm in phase 1 transforms any admissible pose of relaxing the basic module blocking constraints.
configuration into an admissible chain. ¢ The metamodules themselves pack in a lattice struc-
In phase 2, we show that it is possible to transform ture; the ones we consider have an overall shape that
an admissible chain configuration into a straight line is a scaled-up copy of the basic module shape.
configuration. The chain configuration may be wind- Figure 9 shows a robot of rigid hexagons, built from
ing around the fixed base, and a simple way to make skeletal metamodules. The metamodule in Figure 9
it straight is to unwind it. Starting with the extreme still has a hexagonal shape, but it is an enlarged copy
module we used in phase 1, we repeatedly choose a dif- of the original module shape and has an empty interior.
ferent extreme module on the chain, then build a tail at A metamodule can decompose itself into modules,
this location. The tail will have more and more mod- which can move to another nearby location, then re-
ules after each iteration, since the previous extreme assemble themselves back into a metamodule. This can
module and all the modules in the previous tail are in happen on the surface of the structure, just like with
the new tail. Eventually, the fixed base becomes one of regular modules, but now with no blocking constraints.
the extreme modules, and the tail contains all modules More interestingly, in a configuration of metamodules
other than the fixed base. that are sufficiently large, a metamodule can move to
If the original configuration has n modules, the first a neighboring empty position through the interior of
phase would take O(n”) steps since each module moves a supporting metamodule neighboring both the meta-
at_ most O(n) steps. In the second phase, the cost for module and the nearby empty location. This can be
each tail relocation is O(n”). The number of tail relo- achieved by moving out of the way certain modules of
cation can be bounded by the following lemma: the supporting metamodule, thus creating a gate to
A. Nguyen, L. Guibas, and M. Yim
sestatatata!
HOE erereveveverere
| ae
4 beets
7,
Se ae
o.8, aoe”.
sestraseces
Hs
ein a configuration still connected and fat again. In this
Sk OA
case, we move both modules to the tip of the tail
in two consecutive time steps.
Yule
ae
wa Cyd,6
Note that the fixed base should not be in any layer
7, eeeeeee
being shifted, and this is guaranteed since there are
y modules surrounding the fixed base at all times. Also,
although the configuration at the end of each step may
3337 Olen a not be fat, this only happens at the tip of the tail (when
the tail first touches some other part of the configura-
tion.) For the analysis, it is safe to assume that the
Figure 13: The metamodules in a fat configuration can
configuration is always fat, since we can pretend that
move to generate the rounded straight line to the right. The
the tip of the tail is not yet there when we search for
algorithm applied on this configuration first moves A, then
the next metamodule.
moves both B and C (and breaks the only loop in the con-
figuration), then moves D, F, and E to the tail. Before further analysis, let us give some intuition
behind the two cases above. In the first case, the op-
eration takes away a metamodule on the boundary,
Proof of proposition 7: making the configuration thinner. Since the configu-
Without loss of generality, it suffices to show that ration is fat, the topology of the configuration does not
we can transform a fat configuration to a fat straight change. In the second case, the configuration has some
line configuration with a rounded end (shown shaded thin cross section in a loop. The removal of a module
with slanted lines in Figure 13.) Furthermore, we can in that thin section makes the configuration nonfat,
assume that the six metamodules surrounding the base yet the additional metamodule removal eliminates the
metamodule are already in the original configuration. skinny cross section. The loop is disconnected, and the
This is so we can preprocess the original configuration topology of the configuration changes, see Figure 13.
and postprocess the final configuration to the desired
We claim that the above greedy algorithm moves all
form in O(n) time.
metamodules in the configuration to the tail. Let us as-
We again will use a greedy algorithm. Starting from sume for the sake of contradiction that there are some
the tip of the tail constructed so far, we search in the metamodules not in the tail when the greedy algorithm
counter-clockwise direction along the boundary of the fails to find any metamodules to move. Consider the
configuration to find the first metamodule not already free space, the complement of the configuration. If
in the tail satisfying either of the following two condi- there are two or more connected components of the
tions:
free space, consider the smallest distance between the
e The removal of the metamodule leaves the config- component contacting the tail and all remaining com-
uration connected and fat. In this case, we use the ponents. This distance is not one, since we assume
parallel shearing operation to shift an entire layer that the configuration at the beginning of each search
of the configuration on the boundary, with the net is always fat. If this distance is two, the second condi-
effect of moving the selected metamodule in O(1) tion would be applicable to remove the two metamod-
steps to the tip of the tail. If the layer on the ules, merging the two components of the free space. If
boundary includes metamodules in both the up- the distance is three or more everywhere, clearly the
per and lower layers of the tail, we do the shearing first condition would have been used to remove further
in two steps, the first shearing uses only one of the metamodules. Thus the free space is connected. In
two layers of the tail, and the second shearing uses order for the first condition not to be applicable, the
the remaining layer. metamodules not in the tail are on one or more thin
chains originating from the tail. This is a contradic-
e The removal of the metamodule leaves the configu- tion, since the metamodules at the tip of these chains
ration connected but nonfat, and further removal would have been removed by the first condition.
Controlled Module Density
33
The O(n) number of parallel steps follows trivially,
since the remaining configuration has one less meta-
module after every O(1) time steps. o
e T; (S14 S2): If the metamodule is or becomes a tree for another convoy to pass through. In both cases
leaf metamodule, it starts to tunnel toward 0. another module, the blocker of M from a different sub-
tree, is moving though the branch node for every time
e T> (Sz +> $3): If the metamodule has tunneled step that our module M has to wait. But once a meta-
into the 0 metamodule, it starts to tunnel to the module has been the blocker of M, it can never block
tip of the tail. M again at a branch node, as it has now become an
ancestor of M in the tree. Thus no node needs more
e T3 (S3 +4 54): If the metamodule has reached the
than O(n) moving or waiting steps to reach its final
end of the tail, it exits and forms a normal non-
tunneling metamodule growing the tail. destination.
Since we move from the leaves of the branch inward,
Any metamodule that is a leaf will move up the tree connectivity is never broken. Furthermore this algo-
by tunneling inside the branches towards 0. Moving rithm operates in a very simple and purely local fash-
up the tree is accomplished by examining the number ion. All of this assumes that only one metamodule
of the metamodules neighboring the current metamod- can be “tunneled” inside another metamodule at one
ule that the tunneling metamodule is contained in and time. Metamodules with larger interiors would have
targeting the neighbor with the lowest number as the more “bandwidth” which would mean less traffic prob-
direction to tunnel. When a leaf tunnels up a branch lems and fewer steps.
of the tree, the former second-to-last metamodule be-
comes the last metamodule and thus a leaf, so it starts
7 Conclusion
to move up.
There are three cases where a metamodule in state In this paper we have explored certain restrictions on
S> will not be able to tunnel into its neighbor: 1) when the allowed structure of reconfigurable robots with the
it is being tunneled itself, 2) when another metamod- aim of making the motion planning problem easier,
ule is inside the target metamodule and has not exited without unduly confining the set of shapes the robot
because it is waiting for another metamodule to move, can assume. Though all our results are in 2D, we be-
and 3) when a metamodule with a higher number wants lieve that appropriate extensions to 3D are possible,
to enter the same target metamodule. The last case is and in some cases straightforward. For example, we
an arbitrary prioritization (or right of way) convention. can build 3D rhombic dodecahedron metamodules that
Once a metamodule reaches the 0 metamodule, it at- consist of an edge skeleton of a scaled copy of the ba-
tempts to form the tail by tunneling down the tail until sic RD module. Because the parallelogram facets of
it emerges at the end, thus growing the tail. these metamodules are actually solid only along their
At every step, at least one metamodule is either mov- edges, other collapsed metamodules can enter, tunnel
ing up the tree, or growing the tail. In fact, every meta- through, and exit a given metamodule easily, without
module will either be a conduit for other metamodules any of the gate opening or closing operations we need
to pass through or will itself be tunneling through an- in 2D. In 3D as well, the traffic management of convoys
other metamodule after O(n) steps. While there is of modules tunneling through the robot interior seems
always a convoy tunneling towards the root or growing easier than in 2D. Since the tunneling reconfiguration
the tail, some convoys may be waiting at branch nodes algorithm imposes a tree structure which is indepen-
for other convoys to finish their tunneling. Clearly a dent of the dimensionality of the physical modules, it
metamodule only moves O(n) steps before it reaches will work for this 3D RD case as well.
its eventual goal position in the tail, as its motion fol-
lows a path in the tree and through the tail. What is Acknowledgments
more interesting is that a metamodule M also never
waits a total of more than O(n) steps before reaching Leonidas Guibas and An Nguyen were supported in
its destination. We can see this as follows. After the part by National Science Foundation grants CCR-
initial O(n) steps, metamodule M waits only when it 9623851 and IRI-9619625, as well as by US Army
is being tunneled through, or when it is part of a tun- MURI grant DAAH04—96-1-0007. An Nguyen was also
neling convoy that is waiting at a branch node up the supported by a Stanford Graduate Fellowship.
Controlled Module Density 35
References
[9] Pamecha, A. et al., “Design and Implementation
of Metamorphic Robots” in Proceedings of the 1996
[1] Casal, A., Yim, M., “Self-Reconfiguration Planning ASME Design Engineering Technical Conference and
for a Class of Modular Robots,” SPIE Symposium Computers in Engineering Conference, Aug 1996.
on Intelligent Systems and Advanced Manufacturing,
Sept. 1999.
[10] Pamecha, A., Chirikjian, G., “Useful Metrics for
[2] Chirikjian, G., “Kinematics of a Metamorphic Ro- Modular Robot Motion Planning,” in JEEE Trans-
actions on Robotics and Automation, Vol. 13, No 4,
botic System,” in Pre. 1994 IEEE Int. Conf. Robotics
and Automation, San Diego, CA. August 1997.
ialrind Pomnton
si 09
—— iw ‘A
magebari i
PI ie
Se icike
ee ie ~
pes, er ee ay Sa ry
nw oe acti We Syren h a “s ri i A
prbtnatigl wale cin bean
oe a eg (itl. See aes rpeteeas ;
uma oomad Pied: wh)» Bie
a) cae 2 OF Ca ae a Ee
eeeay tenes Ree ins Fon af) ae, par .
aed eoiE kite as)
a 7
, a (ies ae james ii
ae feae
F Rows ud 5 «aive-+eig
Part positioning is an important task in manufactur- squeezes performed by two parallel jaw grippers. Given
ing. New approaches have been proposed to perform a polygonal part, the paper described an algorithm to
this task using force fields implemented on an active compute the best sequence of squeezes that uniquely
surface. A part placed on such a surface is subjected to orients the convex hull of the part no matter what the
a resultant force and torque and moves toward a stable initial configuration is. In [16], the parts are on a con-
equilibrium configuration. Such force fields can be im- veyor belt and rotate by contact with passive fences.
plemented using different technologies. In this paper,
Another approach is based on force fields imple-
we study the combination of a unit radial field with
mented in an horizontal plane [6, 13]. A part lying
a small constant force field. In prior work we proved
on the field is subjected to a resultant force and torque
that such a combination can uniquely position a class of
that move the part toward a stable equilibrium con-
non-symmetric parts. In this paper, we propose a more
figuration if one exists. A series of papers (see [4] for
complete modeling of this combination which allows us
detailed references) established the fundamentals for
to devise a method to determine all the equilibrium con-
part manipulation using force fields. Current technol-
figurations of a part in the above force fields. This
ogy permits the implementation of certain force fields
method works for both symmetric and non-symmetric
in the microscale with MEMS actuators [6] or air jets
parts. Beyond the method, this paper reports a com-
[2] and in the macroscale using mechanical devices [14].
prehensive study of the action of radial and constant Vibrating plates can also be used to produce certain
potential fields over parts with an original characteri-
force fields in the plane [3].
zation of local minima of the lifted potential field.
In work which is summarized in [4, 6] the properties
1 Introduction of force fields that are suitable for sensorless manipula-
tion were analyzed and manipulation strategies were
During manufacturing, parts typically stored in boxes
proposed. Several fields were investigated including
have to be manipulated and oriented before assembly. the squeeze, radial, and inertial fields and combina-
This task is critical in manufacturing since it strongly tions thereof. Notably, the algorithm of [9] still applies
affects the productivity of the assembly line. Orien- when the jaw grippers are replaced by squeeze force
tation has been traditionally performed by vibratory fields. Later work [10] introduced the elliptic potential
bowl feeders. However, these devices are designed for field which gave rise to two stable equilibria for non
a given part and need to be modified if the shape of symmetric parts.
the part changes.
Recent work has investigated alternative ways of ori- Complexity and Uniqueness of Positioning
enting parts, and emphasis has been placed on simple
programmable devices [1, 6, 9, 15, 14]. Part positioning There are two main issues when positioning’ parts us-
without sensing has become very popular over the past ing force fields. The first one is the number of basic
few years since it is easy to implement and the meth- operations, (i.e., number of force fields used) and the
ods proposed can be very robust [1, 2, 3, 6, 7, 8, 9, 16]. second one is the number of distinct positions that the
Our work brings new contributions in this domain. 1Orienting a part consists in specifying the orientation
One of the pioneering papers in this area, [9], pro- of the part. Positioning a part consists in specifying the
posed to orient a polygonal part by a sequence of position and orientation.
38 F. Lamiraux and L. Kavraki
strategy yields. Both issues have been addressed previ- these partial derivatives. An algorithm to determine all
ously and work has been done both on finding shorter the stable equilibrium configurations of a part is then
sequences of operations [6] and on finding a unique op- given. Finally, an example of positioning a symmetric
eration that positions a part. In [10], a quadratic po- part is presented. We conclude in Section 5.
tential field is used to position parts. Any part with
distinct principal moments of inertia has exactly two 2 Notation and Definitions
stable equilibrium configurations in these fields. The
other parts have undefined orientation. Addressing the This section puts forward the notation and definitions
above issues at the same time would consist in finding used in the paper. We first define the action of a force
a single field that uniquely positions a part. It was field over a part and the notion of a stable equilibrium
conjectured in [6] that the combination of a unit ra- configuration in this context. Then we outline some
dial field with a constant force field would fulfill this properties of force fields deriving from a potential func-
task. In [5], we proved that this conjecture is true un- tion. Most of these definitions have been introduced
der the condition that when the part is subjected to in [4].
the unit radial field only, the center of mass of the part
If F is a set, we denote by int(#) and OF the interior
in equilibrium is not at the origin of the field. Thus,
and boundary of E. Throughout the paper, r denotes
for almost any non-symmetric part, there exists a force
a point of the plane of coordinates (€,7) in a frame
field that uniquely positions this part.
attached to the plane. We consider a part in the plane
occupying surface S with center of mass G at (0,0)
Contributions and Organization of the Paper
in a reference configuration qg. We suppose that S$
Symmetric parts like a rectangle or a regular polygon is a compact set and that its boundary QS is a zero-
for instance do not fulfill the above condition: When measure subset of the plane. The configuration space
placed in a unit radial field, at equilibrium, the center of the part isC = R?xS!, where S! is the unit circle. A
of mass of the part will coincide with the origin of the configuration q = (z,y,@) € C corresponds to a rigid-
unit radial field, due to symmetry. The goal of this pa- body transformation yq in the plane transforming r =
per is to determine all the stable equilibrium configura- (€,7) into
tions of a general part, symmetric or not, subjected to
the combination of a unit radial field with a small con- _ { «+€&cosé—nsin#é
stant field. There are two main contributions in this Pa(t) = (y + €sin6 + n cos ).
paper. The first one is a characterization of the sta-
We denote by Sq the subset occupied by the part in
ble equilibrium configurations of a part using a general
configuration q.
modeling based on the curve of translational equilibria
for fixed orientations and its partial derivatives. This When the part is placed on a force field f(r), the
modeling is a generalization of results previously pub- resultant force and torque it is subjected to are the
lished [5, 12]. The second contribution is a method to following:
compute the above mentioned partial derivatives and
an algorithm that determines all the equilibrium con-
an = T [ f(r)dr (1)
figurations of a given part. q
U(a)= f u(x)ar=[weata)yar
qa
Figure 1: Parameterization of C with the system of coor-
dinates q = (X,Y,9). Yq corresponds to a translation of
over C is called the lifted potential field induced by uw. (X,Y) followed by a rotation of angle @ about the origin.
The lifted potential field U(q) is thus defined by in- 3.1 Unit Radial Field
tegrating the value of the plane potential field over the
surface Sq occupied by the part in configuration q. We call unit radial field the force field f(r) = —7.This
In [6] some properties of the lifted potential field are field has constant magnitude, is oriented toward the
established. The most interesting among these proper- origin of the frame attached to the plane and derives
ties is that the partial derivatives of the lifted potential from the potential function:
field w.r.t. x, y and @ are exactly the opposite of re-
spectively the coordinates of the resultant force and v(r) = |[rll = ve? +77. (3)
the resultant torque. v is clearly symmetric by rotation about the origin.
a = -F@)
q’ are the same. To take fully advantage of this prop-
erty, we are going to use a new system of coordinates
(X,Y,@) for the configuration of the part, illustrated
(a) = -M(a). in Figure 1 and defined by:
3 Radial and Constant Fields Vax e.0 / u(X + &,¥ +n)d€édn. (4)
Ss
In this section we study the properties of combinations
of a unit radial force field with a small constant force Because of the independence on @, we will consider V
field. Both fields derive from a potential. We give a as a function of (X,Y) only. Notice that when @ = 0,
method to determine the stable equilibrium configura- X =z and Y = y. V(X,Y) = V(a,y,0) can thus
tions (i.e., local minima) of a part subjected to such be considered as the lifted potential field of the part
a combination in the general case. See also [5], where in translation. This interpretation can be helpful to
some of the material below was originally developed. understand some of the forthcoming developments.
40 F. Lamiraux and L. Kavraki
Smoothness of V In the following sections, we will singularity of v at the origin affects the smoothness of
use a lot the partial derivatives of V. For this reason, V only where the boundary of the part passes above
we state in this section the differentiability properties this singularity.
of this function.
Minimum of V and Pivot Point Due to symme-
C is partitioned into three subsets. The configura- try, the unit radial field obviously cannot uniquely po-
tions for which the origin of the radial field is in the sition a part. However, for a fixed value of 8, any part
interior of the part, the configuration for which the ori- in translation has a unique stable equilibrium. This
gin is outside the part and the configurations for which property is a consequence of Proposition 3 below. This
the origin is on the boundary of the part. We denote proposition was also given in [5]. It is repeated here for
respectively C*”, C°“*, and C°°""4 these subsets. To de- completeness. Notice that it provides a different proof
cide in which of these subsets a configuration (X, Y, 6) for the existence and uniqueness of the pivot point de-
lies, we need only to consider (X,Y) in the new system fined below than the one given in [4].
of coordinates. (see Figure 3.1 for intuition):
Proposition 3 V verifies the following properties:
qec™ S (—X,—-Y) € int(S)
q e (out Se
Cx. ) =Y) ¢ S
(i) The Hessian of V Hess V(X,Y) is positive defi-
q E Cbound van
(-X,-Y) € OS. nite everywhere in R?,
As far as differentiability is concerned, V has the fol- (ii) V has a unique local minimum over R?.
lowing properties.
Proof: As Hess V is a 2 by 2 matrix, (i) is equivalent
Proposition 2 (i) V is of class C® over C” and to:
over CO, tr Hess V(X,Y) > 0
2
(it) V is of class C? over C and VAG) CR eer ery CP y 0
where tr and det are respectively the trace and determi-
nant operators. According to (7-9) and (3), the second
BEY) =f FER+EY tnlaedn 6) order partial derivatives of V are:
a°V lis ee (Yee
+ ee
SyOGY) =f Fe +EY tnldedn a0) = | para are
o"V <$ (X +)?
SCY) =f Sx +EY tn dln (7) a) = free vem
av ee) £= g (X -(X+9W +)
Spry) = f Sex +EY tnldien © OXOY
axoy + €)? + (Y +n)?)3/2 d§dn.
/ X1Y1X2Yo
ga (Xt + ¥7)8/2(X2 + ¥2)3/2
3 ij Mo Xe XG eye
Figure 2: In a unit radial field, at the equilibrium con-
S2 (Xx? at: eT OE: oteMowlehe
figuration corresponding to 0 = 0, the center of mass is at
In the first integral, (X,Y) and (Xo, Y2) have a sym- (Xo, Yo).
metric role and can be switched so that X?Y? can be
replaced by $(X?Y? + X3Y?) and: the unit radial field. In this section, we perturb the
1 f X?Ys + X3Y? — 2X1Yi X2Ye radial field by adding a small constant field in order to
det Hess V(X, Y) break the symmetry. We are going to show that for
2 ea (ATA VS) AG + ¥2)8? each fixed orientation 6 of the part, the corresponding
att (X1Y2 — X2¥i)? lifted potential field has a unique minimum in (X,Y).
2 Jig (XP + Y?)3/2(X3 + ¥2)8/2 When now @ varies, the curve of these minima is C!
SG).
and C if the pivot point is not on the boundary of the
Thus Hess V is positive definite everywhere. This en- part. We call this curve the equilibrium curve. Then
sures us that if V has a local minimum, it is unique. we will give a characterization of the local minima of
the lifted potential using the equilibrium curve.
Moreover, as u(r) tends toward infinity when ||r|| tends
toward infinity, V(X, Y) also tends toward infinity as We consider now the following potential function in
(X,Y) diverges. This property implies the existence of the plane (Figure 3):
a local minimum of V. oO
u(r) = v(r) + 6n
We denote by (Xo, Yo) the unique minimum of V.
The set of equilibrium configurations of the part under where v is the unit radial field and 6 is a positive con-
the radial field is the following {(Xo, Yo,0),@ € S*}. stant. The second term 67 corresponds to the constant
Let us express this curve in the standard system of
coordinates:
force field —6(0, 1). The lifted potential field for a given From (12), as V is of class C? (Proposition 2), F’ is
value of 6 is expressed as follows in the (X, Y,@) system of class C!. By definition, the equilibrium curve min-
of coordinates: imizes the lifted potential field for fixed @ and 6 and
therefore fits the following implicit representation:
Us(X, Y,0) = V(X, Y) + 6|S| (sin? X + cos Y) (12)
where |S| is the area of S. For clarity purposes, we F(X*,Y*, 0,6) =0.
define the following functions
The differential of the partial function F¢,5 of the
Cesc ry UX, V0,0) =a X,Y,0) variables (X,Y) is exactly the Hessian of V. From
Proposition 3, this differential is invertible everywhere.
where the variables we put in the subscript are consid-
According to the implicit function theorem, these
ered constant. conditions imply that X* and Y* can be expressed
Minimum of Us; and Equilibrium Curve The as C! functions of (6,6). As the equilibrium curve is
second term of the right hand side of Expression (12) unique, these C! functions are necessarily the formerly
is linear in (X,Y). For this reason, Ups has the same defined X*(6,6) and Y*(@, 6).
second order partial derivatives as V and Hess Ug.5 =
Hess V is positive definite (Proposition 3). For any (ii) If the pivot point is not on the boundary of the
fixed value of 9 and 6 < 1, u(r) tends toward infinity part, —(X*(6,0), ¥*(0,0)) ¢0S. By the continuity of
with |r|. Thus Ug5(X,Y) tends toward infinity with X* and Y%, there exists a 69 such that for any 8 € S!
(X,Y) and Ug has a unique local minimum. We de- and 0 < 6 < 609, —(X*(0,6), Y*(@,6)) ¢ OS. In other
note by (X*(0,6),Y*(8,6)) this local minimum. We words, if we follow the equilibrium curve for a small
can express it in the standard system of coordinates 6, the origin of the field remains completely inside or
by: completely outside the part and (X*, Y*, 0,6) remains
a*(0,6) = cos6 X*(0,6) —sin@ Y*(8,6) (13) in a domain where F is smooth (from Proposition 2).
Therefore, according to the implicit function theorem,
y"(0,6) = sin? X*(0,6) + cos@ Y*(6,6). (14) X* and Y* are also smooth. Relations (13) and (14)
For each value of 6 < 1, these local minima define a imply that «* and y* have the same differentiability
curve of parameter @ that we call equilibrium curve. properties as X* and Y~*. Oo
We are going to show now that this curve is of class
C?. It is of class C® for small values of 6 if the pivot From now on, we will assume that the pivot point
point is not on the boundary of the part. is not on the boundary of the part, so that the partial
derivatives of the equilibrium curves are all defined for
Notice that (X*,Y*)(0,0) = (Xo, Yo) is the min-
small 6.
imum of V and therefore is independent of @. The
smoothness of the equilibrium curve will prove useful
in the sequel where its partial derivatives are used. Properties of the equilibrium curve We now
point out a property of the equilibrium curves that
Proposition 4 The equilibrium curve is smooth. will constitute the basis of our method to determine
the local minima of U. For a fixed value of 6 the local
(i) X*, Y*, x* and y* are continuously differentiable.
minima of U are obviously on the equilibrium curve
(ii) if (—X0, -Yo) ¢ OS (i.e., the pivot point is not on associated to 6. We are going to show that these local
the boundary of the part), there exists dg such that minima are the points where (x*, y*) crosses the y axis
A", Y*,.a*, and y* are C™ over S' x [0,do). from z <0 tox > 0. For that, we define:
= Tt (x°(6),¥*(6),6)
= 6|S|(cos@
X*(0) —sin@ Y*(@))
= 6|S|«*(6) By continuity of x* and ae we proved that for small
values of 6, 2*(0,6) still vanishes only twice, around 6;
using expression (12) and the fact that the partial and 4 and therefore the stable equilibrium configura-
derivatives of Us w.r.t. X and Y vanish at (X*,Y%*). tion is unique.
O
When the pivot point and the center of mass are the
This proposition leads directly to the following prop- same (that is when (Xo, Yo) = (0,0)), this reasoning
erty. does not apply since from (10) and (13), 2*(0,0) = 0
for all 6. The following theorem however, states that
Proposition 6 For any fixed value of 6 < 1, the two the criterion applied previously to x*(6,0) can be ap-
following properties are equivalent: plied to the first non-uniformly zero partial derivative
(i) (X,Y,8@) ts a local minimum of U5, of z* w.r.t. 6, evaluated for 6 = 0: "2" (6,0). More
(7) eA A A030) 2Y¥=.Y, (0,6) and. the precisely, if Fe (6,0) has only simple roots, 7.e., van-
equilibrium curve crosses the y-axis from ishes with non zero slope then for small 6, x*(6,6) also
left to right when @ increases: has only simple roots close to the roots of —— (0,0)
a*(6,5) =0 and 22-(0,5) > 0. (Figure 5). Among those roots, some represent stable
Figure 4 shows the value of the lifted potential along equilibrium configurations, the other ones are unstable.
the equilibrium curve for a given part. Theorem 7 For a given part, if there exists an
We are going now to devise a method for computing integer n > 0 such that:
these equilibrium configurations for small values of 6
and for any kind of part, symmetric or not. (i) for anyk such thatO0<k<n-—1,
22" (9,0) = 0 uniformly over S!,
(it) oan (0,0) vanishes only at a finite number
of points (61,...,42m), and
n+1_*
(iti) for anyl<Il<m, Fe (421, 0) = 0,
m+1*
U§
(8) oe (821-1, 0) < 0,
‘Spt
Let us denote by J the union of the intervals of 0 2. From condition (i),when 0 ite in J, Tz (6,0)
defined above: ---~(0, 0)|admits
0,05 +) a positive eons bound over J, md we denote by M:
I= U (Op
1<ps2m Nak
4.1 Expressions of a2" (6,0) Hess V (0,0) (2. a )= —|S| (oe i (24)
Differentiating Equation (13) yields:
) According to Proposition 3, si above saint is in-
ae)
= 6) =cos@ yAGE (6,5) —sin@ Sak (0, 6). 2 (0, 0)
vertible, so that expressions of x (0, 0) and ox
46 F. Lamiraux and L. Kavraki
;
Hess V(X*(0,6), :
Y*(0,6)) (oe
Re (0,8)
6,6) \_a fay
n < 0;
while (z[n] = 0) do
nent;
system < evaluate(expr[n],6 = 0);
(25) (X[n],¥ [ne giiwrtets
where Ex, is a polynomial expression of variables
solve(system,(5*-(6, 0), aa (8,0)));
ox" (0,6), 2X (0,6) forl < 1 < k-1. The x{n] + cos6X[n] — sin 6 Y [n};
coefficients of this polynomial are functions of the expr|n + 1] « differentiate(expr[n],d);
axiayias(X"(9,5),¥*(9,8)), for2 <i < k+1 and od;
xe + differentiate(x[n], A);
Os 7 51. (01, ..-;9m) < solve(x[n] = 0, 6);
for each 7 between 1 and m do
Proof: This proposition can be easily proved by in- If evaluate(xe,,9 = 4:1) > 0
duction. For k = 2, if we differentiate once (22-23), we minima <- minima U {(0, 0, 4:)}
find that the proposition is satisfied with: endif
od;
pee Vso + 2a + Vie ¥7?
2K Var XT? + WV aXTY + Voa¥7? Table 1: Algorithm that computes the local minima of the
lifted radial-constant field Us for small 6.
It remains to check that if EF, is of the form described Using the above developments, the roots of the first
in the proposition, so is F,41. This test is straightfor- non-uniformly zero o 2"(6,0) can be computed by the
ward. Oo algorithm presented in Table 1. This algorithm needs
the partial derivatives of V evaluated at (0,0) and a
The expressions involved in the above proposition function, minimize, that computes the unique mini-
are rather complex. That is why we only give their mum of V.
Positioning Symmetric and Non-Symmetric Parts
AT
The Partial Derivatives of V. Ifthe part is polyg- Inverting this system yields:
onal, we can express exactly the partial derivatives of
V and thus evaluate them for any (X,Y). In this case, OX* ol ey? _(|si
55 (O20). =5 sind 35 CAV AY cos 6.
minimize can numerically minimize V using a gradient
method and return an approximation of (Xo, Yo).
Substituting these equalities in (13) gives as expected:
If the part is not a polygon, the partial derivatives of
V can be computed numerically. We do not give details x°(0;0)= 0:
about these numerical computations. Some discussion
can be found in [11]. Now, differentiating again (22-23) and substituting 6 =
0, we get:
4.3 Example
0? X*
Let us compute the stable equilibrium configurations ABER + V3,0X7? + Wei XTY +VieYy? = 0
of the part represented in Figure 6. For this polygo- OPY* *2
—=-
52 + Vo1Xi? + 2Vi,2X7YT + Vos3¥7 = a0)
nal part, symmetric by rotation of angle 5, we have
computed using Maple the expressions Ole av and oY
These expressions are very long, we cannot Tenet them where Vi; = s2z5¥7(0,0), Xt = 94°(6,0), Yi" =
here. Differentiating symbolically these expressions, we o** (0,0) and oe and ee are evaluated at (0,0).
obtained higher order derivatives of V that we evalu- From this system, we extract expressions of the second-
ated at (0,0): order partial derivatives of X* and Y*:
OX" (6,0) +
A= a)
oY (0,0)ee o¥ (0.0) = oe—3 oey* (8,0) +
=r a A
ar CAD aeaye 09)pitt where ... stands for already evaluated expressions.
va lac a
OxX-0Y? 2
From this system, we get:
(1,1)
(4,0) References
[11] F. Lamiraux and L. Kavraki. Part positioning using a discrete distributed actuator array. In P. Agarwal,
radial and constant fields: Modeling and computation L. E. Kavraki, and M. Mason, editors, Robotics: The
of all equilibrium configurations. in preparation. Algorithmic Perspective, pages 35-47. AK Peters, Nat-
ick, MA, 1998.
[12] F. Lamiraux and L. E. Kavraki. Positioning symmet-
ric parts using a combination of a unit-radial and a
constant force fields. to appear in the IEEE Interna- [15] D. S$. Reznik and J. Canny. Universal part manipula-
tional conference on Robotics and Automation 2000, tion in the plane with a single horizontally-vibrating
2000. plate. In P. Agarwal, L. E. Kavraki, and M. Mason,
editors, Robotics: The Algorithmic Perspective, pages
[13] W. Liu and P. Will. Part manipulation on an intelli- 35-47. AK Peters, Natick, MA, 1998.
gent motion surface. In International Conference on
Intelligent Robots and Systems, pages 399-404, Pitts-
burg, PA, Aug. 1995. IEEE/RSJ. [16] J. Wiegley, K. Goldberg, MM. Peshkin, and
M. Brokowski. A complete algorithm for de-
[14] J. Luntz, W. Messner, and H. Choset. Velocity field signing passive fences to orient parts. In Proc. Int.
design for parcel manipulation on the virtual vehicule, Conf. on Rob. and Autom., pages 1133-1139, 1996.
hetodh jail, wires « 7
YW hoe deren, a
1 ir
; ne aN Tia;
a
eae ee
” smal oh d
peru s
Oar « iy bow * ; nn
; Cis ve 4 »
3
if ' eo J ‘ s P. :
vs
— oe
2 Ps
}4omsal}) hw ior Be dete Ss
PA palin mui. - 11 ee i
od atiec desl besthe count Sm
a ey al Yoni tory 2 Chimes = Te
rr u —_
SS, &.
; Soi mar fe WT w atyall iyi tony
ie a ee
— pee rt mal mds: Qe
er —
ig] icy} te
: y i iQ .
4 (eh : Hibingert” TS i once
10 OF Wy Thrwitiioo, Bit Fajen Celi ee ahi ots wlbde Vasa ae
bof the aia, re Vial ma, Lh
a oe
mo!mbhe
*
(ree, oe PR ‘Di 7
-
a! uw hae i Cipary) 5
are
ee
ey 4
é Veawe
- Rs
i tha
i mais ier .
e i seit Fi : tual
i y
"
vi
let Pr
Pia Nc f wy te
g wii (
-
® i” 1
tw. I
eal
~ é
‘
"en
~
Complete Distributed Coverage
of Rectilinear Environments
Complete coverage of an unknown environment is a stead to use a strict geometric algorithm about which
valuable skill for a variety of robot tasks such as floor completeness can be proven for any environment of a
cleaning and mine detection. Additionally, for a team given class. Tasks which may be accomplished by mul-
of robots, the ability to cooperatively perform such a tiple robots introduce additional complexity, since each
task can significantly improve their efficiency. This point in the environment need only be reached by one
paper presents a complete algorithm DCR (distributed of several robots, and in order to cooperate, the robots
coverage of rectilinear environments) which gives ro- must know (or discover) each other’s location. How-
bots this ability. DCR is applicable to teams of square ever, using multiple robots gives the potential for in-
robots operating in finite rectilinear environments and creased efficiency in terms of total time required.
executes independently on each robot in the team, di- While a number of sensor-based coverage algorithms
recting the individual robots so as to cooperatively cover have been proposed, in most, the algorithm begins by
their shared environment relying only on intrinsic con- assuming the environment to be simply shaped (e.g.
tact sensing to detect boundaries. DCR exploits the simply connected, monotone, convex, etc.). To cover
structure of this environment along with reliable posi- its environment, the robot may then execute a simple
tion sensing to become the first algorithm capable of coverage path until it discovers evidence that contra-
generating cooperative coverage without the use of ei- dicts the initial assumption, at which point one of sev-
ther a central controller or knowledge of the robots’ eral strategies is used to ensure coverage on all sides
initial positions. We present a completeness proof of of the newly discovered obstacle. An algorithm pre-
DCpr, which shows that the team of robots will always sented by Lumelsky et al. in [2] and extended in [3]
completely cover their environment. DCR has also been produces coverage of C? environments for robots with
implemented successfully in simulation, and future ez- finite non-zero sensing radius by recursively building a
tensions are presented which will enable instantiation subroutine stack to ensure all areas of the environment
on a real-world system. are covered. This algorithm does not explicitly build
a map, in contrast to sensor-based coverage work by
1 Introduction Acar [4] based on a planned coverage strategy outlined
in [5]. In [4], a cellular decomposition of the environ-
The coverage problem, that of planning a path for a ment is constructed and used to form a graph which
sensor, effector, or robot to reach every point in an in turn is used to plan coverage — when a specific cell
environment, is one that appears in a number of do- has been covered, the robot uses the structure of the
mains. The problem of sensor-based coverage, that of graph to plan a path to an unexplored area, and when
planning such a path from sensor data in the absence of the graph has no unexplored edges, coverage is com-
a priori information about the environment, is limited plete. The cellular decomposition approach of [5] also
to robotics, but also applies to a number of different inspired the algorithm presented in [6], which in turn is
tasks. What is common to all these problems, whether the basis for the current work. In [6], we presented an
a spray painting task on a known surface or a mine algorithm for coverage of rectilinear environments by a
detection task with little or no initial information, is single robot using only intrinsic contact sensing. This
a need for assurance of complete coverage. For known algorithm also explicitly leveraged the degeneracies of
areas, a path can be correctly generated off-line [1], the environment (degenerate in the C” sense) by de-
but in the sensor-based case, the usual solution is in- composing the free space into a set of rectangular cells.
52 Z. Butler, A. Rizzi, and R. Hollis
In contrast to the more commonly studied coverage playing soccer [10]) without proof of the correctness or
tasks mentioned above, the inspiration for the current completeness of the individual or group algorithms.
work comes from a manufacturing environment. The On the other hand, research into algorithms for com-
minifactory, an automated assembly system under de- plete coverage of an environment by cooperating robots
velopment in the Microdynamic Systems Laboratory’, has so far used a central controller deploying robots
has been built within a framework that provides for from known locations, which is not satisfactory for the
rapid design, programming, and deployment [7]. minifactory problem. For example, Gage’s work [11]
uses random walks by a large team with a common
A minifactory includes several types of independent
home position to generate probabilistically complete
robots, but this work concentrates on the couriers,
small tethered robots that operate on a set of tileable coverage. A fairly abstract algorithm presented by Rao
platens which form the factory floor. The couriers have et al. [12] uses a small team of point-sized robots with
micron-level position sensing but only intrinsic contact infinite range sensing to build a visibility graph of a
sensing to detect the boundaries of their environment. polygonal environment. In contrast, work by Rekleitis
In addition, each is equipped with an upward-pointing et al. [13] uses cooperating robots with mutual remote
optical sensor to locate LED beacons placed on over- sensing abilities, but with explicit cooperation to re-
head robots as calibration targets. One of the tasks duce mapping errors rather than to increase efficiency.
for the couriers is to collectively explore the as-built
factory from unknown initial positions to generate a 2 DCr: Overview
complete factory map. This task has led to the investi-
gation of coverage algorithms for teams of robots, with DCR is an algorithm developed for square robots that
the restrictive environment providing a simplified do- use only intrinsic contact sensing, and produces com-
main to consider. The algorithm developed here there- plete coverage of any finite rectilinear environment
fore applies to teams of square robots with intrinsic while using cooperation between robots to produce cov-
contact sensing operating in a shared, connected recti- erage more efficiently. It consists of three distinct com-
linear environment with finite boundary and area. In ponents, shown schematically in Figure 1. The first,
addition, the robots in the team will not know their CCrRm, covers the environment by incrementally build-
relative initial positions or orientations, however, due ing a cellular decomposition C (C = {Co,...,C,}).
to the structure of the environment, their orientation It uses only C and the robot’s current position p =
will be one of four distinct values (i.e. with axes aligned (Px, Py) (i.e. time-based history is not used) to direct
with the environment boundaries) and cannot change. the robot to continue coverage. CC ry is based on
the work in [6], and performs coverage without taking
Like the work described here, previous work in dis- into account any other robots in its team. However,
tributed robotics has presented the use of a common with the other components of DCR properly designed,
algorithm executed by each robot in a team (without a it performs coverage equally capably in a cooperative
central controller) to achieve a specific task [8, 9, 10].
For example, in the work of Donald et al. [8], several
distributed algorithms were presented to perform a co-
operative manipulation task. There, however, the goal
was to recast a simple provable algorithm in such a
way that explicit communication was unnecessary, but
could rather be implicit in the task mechanics. In our
data \ colleague|
work, the environment is static, and so this reduction info /
Figure 2: Examples of (a) the sweep-invariant decomposition, (b) an oriented rectilinear decomposition, and (c) a possible
generic rectilinear decomposition of a rectilinear environment.
setting. The second part of DC, the feature handler, Figure 2b. This decomposition is produced by extend-
derives pre-specified types of features from C and com- ing all vertical edges (the x values of these edges are
municates with other robots in the team to determine called interesting points, analogous to critical points of
the relative position of the various robots. Finally, the a sweep through a C? environment) to form cell bound-
overseer takes incoming data from colleagues and al- aries, and can be incrementally constructed and easily
ters C. This is done without the explicit “knowledge” covered with the use of seed-sowing paths as described
of CCrm, but because CCryy uses no state other than below. This decomposition is produced by DCR when
C and p, the overseer can alter C to incorporate the performing coverage without colleagues.
new data, and as long as this is done such that C re- Multiple robots performing cooperative coverage in a
mains in a state admissible to CCry (as described in shared environment will not necessarily have the same
Sec. 2.4), coverage continues. orientation, and therefore will not necessarily build the
same oriented rectilinear decomposition. This means
2.1 Cell Decompositions under DCR that neither of the above decompositions can be built
in a cooperative setting. Instead, the cell decomposi-
Before discussing the makeup of DC’p, it may be in-
tions that are constructed under DC p fall into a class
structive to describe the type of cell decompositions
referred to here as generic rectilinear decompositions
that will be constructed. This discussion will focus
(GRDs), an example of which can be seen in Figure 2c.
only on the geometry of the cells in the decomposi-
A GRD consists of cells that are rectangular and su-
tion, but in each type of decomposition, every cell also
persets of cells of the SID. In addition, in a valid GRD,
includes “connections” (geometric references) to each
no two cells have overlapping area (Vi, j7:C; NC; = 0)
of its neighbors that allow for the straightforward cre-
and all cells contain connections to all neighbors across
ation of an adjacency graph of the decomposition. One
their common edges. It should also be noted that dur-
way to uniquely decompose a known rectilinear envi-
ing the performance of DCR, a valid GRD may consist
ronment is the sweep-invariant decomposition (SID), of multiple disconnected components. This is because
as shown in Figure 2a. In a SID, each obstacle or robots only share completed cells, but may meet in an
boundary edge is extended until a perpendicular wall area that neither has completed. Also, for a given envi-
is reached, with all extended edges defining cell bound- ronment, different initial positions of robots may lead
aries — as a result, a cell’s edge may be determined by to different GRDs, since the nature and timing of the
an arbitrarily distant boundary component. Thus, it is cooperation may change.
not possible to incrementally construct the SID with-
out splitting cells that have already been completed, 2.2 CCrm Description
since determining a cell’s extent could require knowl-
edge of features that are arbitrarily distant from the To perform cooperative coverage, each robot must first
cell itself. This difficulty of incremental construction be able to perform coverage by itself. This is the job of
makes sensor-based coverage based on the SID imprac- CCrm, asensor-based coverage algorithm for a rectan-
tical. A different, nearly unique type of decomposi- gular robot with only intrinsic contact sensing operat-
tion is the oriented rectilinear decomposition, shown in ing in rectilinear environments. It operates in cycles,
54 Z. Butler, A. Rizzi, and R. Hollis
Figure 3: Some examples of how CCrm discovers and localizes interesting points.
with the length of each cycle being a single straight-line 3b, which uses similar rules, although in this case a
trajectory of the robot. At the beginning of each cycle, placeholder Hp is built rather than a new cell.
it examines the structure of C around the current posi- Since the first applicable rule determines the next
tion, and uses an ordered list of rules to determine the trajectory, rules for interesting points are tested first,
next trajectory (both direction and distance) required followed by the seed-sowing rule, as follows:
to continue coverage. The rules are structured so as to
produce complete coverage. Once a trajectory is sub- 1. If p is in a cell, call that cell C. and continue at
mitted to the underlying robot, the robot moves until rule 2. Otherwise, if p, is within w (the width of
one of three types of coverage events occurs. A cov- the robot) of a complete cell, go into that cell.
erage event occurs when the maximal distance of the 2. If C. has a side edge with finite uncertainty, move
trajectory is achieved, a collision takes place, or con- to localize that edge.
tact that is to be maintained with a wall is lost. CCry 3. If C. has a side edge at a known position that
then updates C given the type of event, chooses a new is not completely explored, investigate the closest
trajectory, and the cycle repeats. unexplored point in it.
Under CC ry, each cell C; is described by its mini- 4. If C. has unknown floor or ceiling, go in —y or +y
mum known and maximum potential extents, C;,, and respectively.
C;,, respectively. Associated with each edge of the cell 5. If C. is not covered from its left edge to its right
is a list of intervals, each of which is a connected line edge (note that if either edge is unknown, this will
segment describing the cell’s neighbor across that edge. always be true), continue seed-sowing.
Each interval therefore points to a wall, another cell or
a placeholder, a line segment denoting the entrance to If none of these rules apply to C,, then it must be
unexplored area. complete. A cell is defined as complete when each of
its edges are at known location and are spanned by a
To cover each cell, CCry generates a seed-sowing set of intervals, and its interior has been completely
path as shown in the leftmost portion of Figure 3a, in covered with seed-sowing strips. If C. is complete, the
which the robot travels along paths parallel to its y following rules are used, in order:
axis and as far apart as the width of the robot. These
continue until an interesting point is detected, such as 6. If there is an incomplete cell in C, plan a path to
in the middle portion of Figure 3a. When this occurs, it and follow the first step of that path.
CCrm updates C based on the type of coverage event. 7. If C. has a placeholder neighbor, build a new cell
In the case of Figure 3a, a new cell (C1) is added around from it and enter the new cell.
p with uncertainty in the boundary between it and the 8. Choose a placeholder from C, plan a path to the
previous cell. A rule then fires based on this uncer- cell it adjoins and take the first step of the path.
tainty to localize the interesting point before coverage
continues in the new cell. Another case of detection and Path planning is done by implicitly creating a graph
localization of an interesting point is shown in Figure from the adjacency relationships of the cells in C, and
Complete Distributed Coverage of Rectilinear Environments
59
searching that graph for a path to the destination. The robots. However, the claiming of area does not effect
search is done depth-first from the destination back to completeness of DC’, so it can be implemented only
p, and the destination is chosen deterministically, so when desired.
that even though the plan is regenerated after each
trajectory, the planned path will remain the same as
2.3 Feature Handler Description
the plan is executed. Traversal of each cell is done sim-
ply with straight line motions. Finally, if none of these
The feature handler is quite independent from the
rules fire, there must be no placeholders or incomplete
other two components in its behavior. Its task is to
cells, and so C must be completely covered and its use the data in C to generate colleague relationships
boundary explored, meaning coverage is complete. between robots, however, it does not alter C. There-
Once cooperation is achieved, a cell may have an- fore, the specific types of features and algorithms used
other (complete) cell above or below it, as seen in Fig- by the feature handler can change from one system to
ure 2c. To allow CCrm to continue seed-sowing in the next without affecting the rest of DCr. For exam-
such cells, a construct called an exploration boundary ple, in the current implementation, the feature handlers
has been developed. Exploration boundaries are vir- look for distances between unlabeled landmarks (bea-
tual walls placed at the floor and ceiling of each cell cons) that are common to two robots’ maps. However,
obtained from a colleague, and have the property of other feature types such as wall lengths or beacon la-
allowing the robot to pass though them only when the bels (if present) could also be used, depending on the
robot is in a complete cell. This allows CCry to per- particular system. The generic behavior of a feature
form seed-sowing in a cell that does not have walls at handler is to inform all other robots in the team of
its floor or ceiling, as shown in Figure 4a, but does the values for all instances of a specified feature type
not impede path planning once the cell is complete, as in C. When two robots discover matching features,
shown in Figure 4b. It should also be noted that in their feature handlers symmetrically compute the rela-
any case, a completed cell will always have an attached tive transforms between their local coordinate systems
floor and ceiling, where an attached cell edge is one using appropriate geometric algorithms. These trans-
that is adjacent to a wall or another complete cell (not forms are then used by the overseer when incorporating
a placeholder) at every point. data obtained from colleagues.
A second addition made to CCry that only has im- The other mandatory job of the feature handler is
pact during cooperation is that a robot can “claim” a to transfer data to all colleagues at the correct times.
placeholder as it builds a cell from it. The robot passes When a colleague relationship is formed, all complete
this claim on to the overseers of its colleagues, and so cells must be given to the colleague, and when a cell in
the other robots in the team will not travel to that area C first becomes complete, that cell must be reported
to perform coverage. This helps minimize the double to all colleagues. This ensures that the information
covering of area, but also implies trustworthiness of the available to each robot is consistent, which in turn
maintains the attached edge property of cells described
above.
Figure 5: An example of adding new area by the overseer, in which the initial cell decomposition is depicted in Figure 5a
and the incoming cell Cnew in Figure 5b. The dot in each section of the figure represents a common real-world point.
The cell Cw arrives described in the coordinate sys- possibly also provided by the sender of Chew). Each
tem of the sending robot, and so it is first transformed new cell is then intersected with every cell C; € Cine.
into the local coordinate system using the transform This intersection process is designed to retain the com-
provided by the feature handler. Also at this time, all plete Crew and eliminate any overlap with incomplete
intervals in Cre, that do not point to walls are mod- cells (shrinking or deleting the incomplete cells as nec-
ified to point to “unidentified free space” rather than essary). Since an incomplete cell must be attached on
a specific cell or placeholder, since any such neighbor its floor and ceiling, C,-~ cannot be taller than any
information in C,,ew is meaningful only to the robot C; € Cine. The intersection is therefore performed as
that sent it. follows (note that it is not recursive, since each Crew
To determine the area of cells to be added to is now a fixed size):
C,C.om is defined as the set of all complete cells in © VC; © Cine:
C, and Cine = C — Coom. For the example in Figure
— If Ci, NCnew = 9, do nothing.
Cranes oscis and. Cine = 102). Crew 1s then
— If Ci,, NCnew = 0, reduce C;, so that it does
intersected with each cell in Cogm as follows:
not overlap Chew, skip to next Cj.
— If. Cyn Chas = Grew; TeplaceCamih- (4,
e VC; ‘S eet
skip to next C;.
— If C; NCrew = 9, do nothing.
— If Crew is the same height as C;, there must be
— If Crew is wider (larger in 2) than C;:
a partial overlap in the x direction, so reduce
* If Crew,right > Cirignts make a copy of C;,, (on either its left or right as appropriate)
Crew Called C,, set Cr jefe = Cirignt, and tOLabDut Crew:
call the overseer with C,.
— Otherwise, there must be partial overlap in
* Similarly (note no else here) for the y direction:
Creuleyt << Crise:
* If Crew,ceit < Ci,ceit, replace C; with a cell
* If Crew is also taller than C;, make a copy
Cs; set Oz ficor = Unew,ceil and keep only
Gf Crew Called Cz, set, Cz te: = Citepn and
placeholders attached to C,, and create an
Coz,right = Ci,rignt, then call the overseer
interval in C, to point to Chew.
with C,.
* Similarly (again no else) for Crew, floor >
— Else if Crew is taller than C;, perform similar
Ci, floor:
tests on top and bottom (no third test).
In the example, this intersection process results in
If Crew (or its descendants) survive this process (such the decomposition shown in Figure 5d. Finally, each
as the area shown in Figure 5c, added to C as C3 in unassigned interval 7in C,ew is given the correct neigh-
Figure 5d), it will consist only of area new to C, i.e. bor(s). This is done by determining which cell’s max-
Crew ™Ceom = 9. In addition, whether or not the area imum extent (if any) is across from the two ends of i
has been divided, each cell will still have at least two (these cells are denoted Cop and Cyt). i is then as-
attached edges (either walls or other complete cells, signed as follows:
Complete Distributed Coverage of Rectilinear Environments
57
e If Crop = Coot = 0, build a new placeholder H,,
equal in size to i and set i’s neighbor to H,,. (begin\ Seea:sowing xD _ S)
e If Gey = Coot #~ 0:
A Ri sinhA exploration /
— If Ciop is complete, set i’s neighbor to Cie:
Also, find the interval in Crop that corre-
pep OT
sponds to 7 and connect it to Chew. initial
— If Cop is incomplete and i is horizontal, split Codge exp
2, connect it to Crop for iM Crop, and build a
placeholder for 1M Ciop,-
Figure 6: A simplified version of the FSM representation
— If Crop is incomplete and i is vertical, connect
of CCrm. Contents of the nodes are described in the con-
i to Crop over the y extent of Crop, as long as
text of the proof. Gray dots represent the completion of
Crop, is within one robot width of i, build a
a cell.
placeholder otherwise. If Cropn adjoins Crew,
find the corresponding interval in Cio) and
connect it to Chey. starting from the initial condition of an empty map.
Each motion has from one to three (uncontrollable)
© If Crop # Coot, this should only occur if 7 is hor-
outcomes, each of which is a different type of coverage
izontal and Cop and Cy: are each either an in-
event and is represented by a transition in the FSM.
complete cell or 9. In this case, connect i where
Completeness is then demonstrated by showing that
adjacent to Ctop,, Coot, to those cells, and build
there are no terminal states other than complete cov-
placeholders for the remainder of 7.
erage, and no cycles that do not result in a monoton-
ically increasing measure of progress toward coverage.
tae Eroor In addition, since states of the FSM are uniquely deter-
mined by the robot’s current cell C,, the FSM is valid
To prove that DCR leads to complete coverage of any for any valid GRD that includes C, (no matter how it
finite rectilinear environment by any number of robots was constructed). A simplified version of the FSM, in
(in the absence of interrobot collisions), it is first nec- which some nodes consist of several states and transi-
essary to show the completeness of CCry, since DCR tions, is shown in Figure 6. Note that all loops in Fig-
run by a single robot is exactly CCry. We then show ure 6 contain a cell completion event, which indicates
that any cooperation regardless of its timing and na- progress toward complete coverage. While the details
ture does not interfere with the progress of CCra,. of the FSM are beyond the scope of this presentation,
These statements, combined with the reactive nature a brief description of each node may give some insight
of CCry (and therefore the decoupled nature of cov- to the structure of the FSM as well as CC ry, itself.
erage and cooperation under DCR), imply that DCR
is complete. Node A contains the states that describe seed-
sowing. In the absence of another incomplete cell over-
Proposition 1 CCry continues coverage to comple- lapping the current cell, seed-sowing continues, cycling
tion in a finite rectilinear environment in the absence through the four states in Node A, until an interest-
of cooperation that alters the robot’s current cell. ing point is discovered. This discovery can be made in
five different ways, each leading to one of five successor
Completeness of CC gy is shown through the con- states of Node A.
struction and analysis of a finite state machine (FSM)
which represents all possible behavior of CCry. To Node B contains a single state, the situation shown
construct the FSM, an equivalence relation is defined in the middle of Figure 3a. From this state, a single
over all possible cell decompositions C and robot po- motion completes the previous cell, and the robot is
sitions p such that any two (C,p) pairs that cause the then in a cell with one known and partially explored
same rule to be applied in the same way are considered edge. All states for which the current cell has this
equivalent. The resulting equivalence classes define the structure are contained in Node C, in which the robot
states of the FSM. All possible motions of the robot un- explores this first side of the cell. Node C contains
der CCrm (without cooperation) are then enumerated, two cycles which correspond to the exploration of that
58 Z. Butler, A. Rizzi, and R. Hollis
edge monotonically up or down (+y or —y). As the ex- described above. Global correctness is demonstrated
ploration progresses, the robot may create and extend by showing that the area of any cells added to C is cor-
wall intervals and/or placeholders, but there is never a rect and that all mutual connections between cells are
cause to reverse direction. This exploration may also constructed correctly. Local correctness is then shown
include attachment of the current cell to neighboring via an enumeration of the possible effects on the robot’s
cells, which is done correctly in any valid GRD. Once current cell by the overseer.
this exploration is complete, seed-sowing once again Proof that added area is correct relies on the fact
begins in this new cell. that all complete cells in a GRD are supersets of SID
Nodes D and E each represent a single state which cells (including the cell obtained by the overseer Crew).
will always lead to Node F. Node D represents a state Therefore, VC; € Ccom; (Cnew—Ci) is also a superset of
in which a corner is discovered by losing contact while SID cells. To confirm that the area added by the over-
moving along the floor or ceiling of a cell during seed- seer from Crew is in fact (Crew — Ci), Cnew is written
sowing. Node E represents the case shown in Figure as C; UC; UC;,, where C; is the area to the left of C;,
3b, in which a placeholder is built and the final edge of C, the area to the right of C;, and C,, the remainder
a cell localized. In both of these cases, the cell’s edge is of Crew. C; and C, will be fed back to the overseer
then at a known location. Node F in turn applies to all if non-null, at which point they will remain unchanged
cells where all but one edge are known and explored. It relative to C;. If Cj, is larger than C;, it will also be
is similar to Node C, in that it contains several states given to the overseer, but will be subject to the ver-
that describe the exploration of an edge, and the robot tical intersection test, which in turn sends C,, — C;
moves monotonically along the edge. There are some to the overseer. Otherwise, C,, C C;, or equivalently
internal differences between the nodes, and when the Cm —C; = 9. In either case, the total area added based
exploration is complete in Node F, so is the cell, with on Crew and C; is (Cy) UCU [Cm — Ci]) = (Crew — Ci).
one exception. This exception is for the first cell (Co), For incomplete cells {C; : C; € Cine, Ci Crew 4 9},
for which exploration of its first known edge is also de- it must then be shown that after Cney is added, all
scribed by Node F, leading to Node X. This can only known edges of C; lie on edges of the SID. Since in all
happen once, however, so this cycle cannot be repeat- cases, edges of C; that are moved will be coincident
edly traversed without completing a cell. with edges of Crew, which is a valid GRD cell, this
Finally, Node X describes the state where the ro- condition is also satisfied.
bot’s current cell is complete, as well as when the first To show that each added cell is correctly connected
edge of Cp has been explored. In the latter case, since to its neighbors, it must be shown that determining
Co is not yet complete, CCryy returns to Node A to the neighbors at each end of an interval (as is done
perform seed-sowing toward the other side of Co. Oth- by the overseer) is sufficient to determine its overall
erwise, there are three possibilities. If there is an in- disposition. This is in turn true if no interval is adja-
complete cell in C, the robot will enter it and restart cent to more than two cells, and no cell lies adjacent
seed-sowing in Node A. Otherwise, if a placeholder ex- to an interval without reaching one end of it. Proofs of
ists, CCry will build a cell from the placeholder and these statements rely on the property that each com-
begin to explore the cell’s near edge as described by plete cell in a GRD will always have two attached op-
Node C. Finally, if and only if Node X is reached and posing edges.
no incomplete cells or placeholders exist, coverage is
To show that no cell can lie in the middle of an in-
complete and DCR terminates.
terval 7, assume that such a cell exists (call it C,). By
Proposition 2 The action of the overseer always definition, C,, must not have a neighbor on the side that
leaves (C,p) in the domain of CCrm. attaches to 7, otherwise that neighbor would be present
instead of Crew. Cz must therefore have neighbors on
This proposition has both global and local (to p) im- its sides perpendicular to i. However, if these neigh-
plications. Globally, the overseer must always produce bors are walls, i will end at the edges of C,, which
a valid GRD, since this is assumed in Proposition 1. In contradicts the original assumption. Otherwise, the
addition, the local construction of C must be such that two neighbors must themselves have neighbors in the
C and p form a state which is represented in the FSM directions perpendicular to 7. Eventually this chain of
Complete Distributed Coverage of Rectilinear Environments
59
Call relation
acrst
OMG,Ge 0Ovedt) wan
DE Crew
Os CAIealebov elap)
Grorlan toca ps cay
[wate Taoeffect
[Crew
Cc, =Co, top/bottom
Creal 'CeiCy Ce,
[call subsumedreplaced
Continue in small C
middle replaced as above, but see case 3 in text
It is possible for the intervals on an edge of C, to be modified by the addition of an
adjacent cell, but this will not change the state of CCrm except perhaps to complete Ce.
cells must adjoin a wall, at which point i’s neighbor is shown in Figure 7a, and is handled by connecting
will be a cell, not null as assumed. the interval in Crew to C. even though the minimum
Proving that an interval 7 will not adjoin more than extents of the two cells do not adjoin. This connec-
two cells is also shown by contradiction. First, assume tion is prescribed in Section 2.4. This puts CCry in
7 is a vertical interval in C;,e~ adjacent to two existing Node X, but allows the robot to reenter C,, as it is re-
cells. The two cells (C, and C,, complete or incom- quired to do, since C, is still incomplete. CCry then
plete) must therefore be unattached on the side facing resumes seed-sowing, since C, still does not extend to
Crew. Ca and Cz, must therefore have attached floors Crew. Case 2, shown in Figure 7b, is handled by rule
and ceilings (including their mutual edge), and both 1 of CCrm (this is in fact the only case in which this
must therefore have been created by a robot with the rule produces motion). Now in Node X, a move in the
same sweep direction. But this is not possible, as one x direction will always succeed, since Cre, must be as
would have to be created first (even if both came from tall as C., and if there was a wall between p and C,,
different robots), and would therefore have to extend it would have been discovered already. The robot then
to a true wall, not just to the other cell. Two cells like continues from this complete cell. Finally, Case 3 in
this C, and C;, therefore cannot exist, and so a verti- Table 1 is one in which multiple incomplete cells are
cal interval cannot have more than one neighbor. For created, such as in Figure 5d, which could potentially
a horizontal interval, the argument works exactly the cause problems for seed-sowing. However, these new
cells will always share a known edge, and coverage can
same way for complete cells. However, in this case it is
only continue away from that edge. Also, the poten-
possible to have at most two incomplete cells adjacent
tial failure of seed-sowing under CCpy, can only occur
to i if and only if they are Co and C}\.
when moving through the known but unexplored edge
Finally, to show that the action of the overseer does of an incomplete cell. Therefore, the robot will always
not leave the robot in a position from which coverage complete one of the new cells (even with successors)
cannot continue, the possible actions of the overseer and return to the other without triggering a failure of
in the neighborhood of p must be investigated. If the CCrm.-
robot is in a complete cell at the time of cooperation,
this cell will not be changed, and so the state of CCrm
is likewise unchanged. Otherwise, the robot’s current Proposition 3 Propositions 1 and 2 are sufficient to
cell C. is incomplete, and so the possible intersections prove completeness of DCR.
of Crew and C, must be enumerated. However, Crew
must be no taller than C,,,, since any known neighbors Proposition 2 ensures that regardless of the input to
above and below C. must be walls or complete cells. the overseer, CCry will always find itself in the FSM
The enumeration of all cases of intersection of C, and described in Proposition 1, from which it will continue
Crew is therefore as shown in Table 1, with the resul- to perform coverage, making monotonic progress. Also,
tant state of CCry also dependent on whether p is since the overseer can only increase the area spanned
within Crew. by Ccom (or leave it unchanged), the act of coopera-
Three of the results from this intersection are non- tion also describes monotonic progress toward complete
trivial, and are presented here in more detail. Case 1 coverage.
60 Z. Butler, A. Rizzi, and R. Hollis
Figure 8: Screenshots of a two-robot coverage run in progress: (a) Initial positions (b) Just after colleague relationship is
formed (c) Each robot exploring a different region (d) Coverage is complete.
4 Implementation / Example respect to time or total distance for the pair, it does
show that each robot spends less time covering than it
DCR has been implemented in simulation, and a series would without cooperation.
of screen shots of a single run are shown in Figure 8. In addition to the simulation, CCry has been suc-
The simulation gives an overall view of the environ- cessfully implemented in the minifactory environment
ment as coverage progresses, and also displays a view on a single courier, and the relationship of the algo-
(not shown here) of the cell decomposition internal to rithm to the underlying robot control will remain the
each robot. In the simple example shown here, the two same in DCr. However, some extensions to DCR will
robots Ro and R,; performed coverage independently ease its transition into a real-world robot system. For
until a time just before Figure 8b was taken, at which example, the simulation currently incorporates small
point their feature handlers decided that sufficient in- non-cumulative position error, which is allowed for in
formation was present in their maps to determine their most cases, but not in a rigorous (or even completely
relative position. Note that at this point, Ro is no correct) manner. Further analysis of the effects of this
longer performing seed-sowing over the full width of and other types of uncertainty will make DCR ap-
the environment. By the time Figure 8c was taken, plicable to a wider variety of robot systems. Also,
each robot was working on a different area of the envi- while the simulation can effect collisions between ro-
ronment, after which they ended up in the same area. bots, DCR currently uses simple methods to attempt
R, then claimed the area at the lower left before Ro to avoid colleagues and make progress. These meth-
could, and so Ro simply waited in a “safe” place for Ry ods often succeed, but are prone to failure in complex
to finish. Finally, when coverage is complete in Figure environments, and more intelligent strategies must be
8d, note that only about half of the area has been vis- developed, preferably ones that allow the completeness
ited by both robots. While clearly not optimal with proof to be retained with minimal modification. Our
Complete Distributed Coverage of Rectilinear Environments
61
eventual goal is the implementation of DC on the
[4] E. Acar and H. Choset, “Critical point sensing in
minifactory hardware to verify its utility in a real-world unknown environments for mapping,” in JEEE Int’l
system. Conf. on Robotics and Automation, 2000.
ae
" baue ata *
‘ \ 7 v ' a '
7 . Pelee wrsar a
BAH law oath A
iD esi ~e
oo” beshvoubnyRRP OGISIC. sueldtio al
i ae ae ao 10 iad poor eb eseg on
Ld ae enrqmncy fl jsut
in ‘piguate eine
a mmileror dai ygih¥> rcp
she FD bia cut habih socal Ya
sabres
pa eae *
it ai Ly 4ha Pit.
: ,
tee iat y
* i if
a i 7 ey —)
% rnd © bas tieeernd -A ae
Y ONYoIaiIKTee mires wihtycbh ———
7d Bartdah oi paynink saver
“ pad 4 fey fifties! . a Pe en
tT ee beats Hie ls os fos
rié ata e pa: Lilt “tins t iT t- coat yey ms ~~ iD Wcad ot , " ”
Distributed manipulation systems induce motions on While supporting the object, each cell provides a trac-
objects through the application of many external forces. tion force on it, and the combined action of all the cells
An actuator array performs distributed manipulation supporting the object determines the motion of the
using a planar array of many small stationary actua- object. Current applications of actuator arrays range
tors (which we call cells) each of which applies a force from micromechanical systems transporting pieces of
in the plane to larger objects which rest atop many silicon wafer to macroscopic arrays of motorized wheels
cells at once. An actuator array can transport and transporting cardboard boxes.
orient flat objects in the plane. The authors have de-
Actuator arrays represent a recent development in
veloped a table-top scale actuator array consisting of
robotic manipulation. Typical work addresses the task
many motorized wheels. In such a macroscopic array,
of bringing an object to a particular position and orien-
a fairly small number of cells support the object. The tation using open-loop modes of operation. The action
work of the authors builds upon and extends the work of the cells is pre-programmed and constant, establish-
of researchers in microelectromechanical (MEMS) ac- ing a force field in which the object moves [1, 2]. These
tuator arrays by explicitly modeling the discreteness in analyses considered microelectromechanical (MEMS)
the system, including the set of supports, distribution scale applications, where the large number of actua-
of weight, and generation of traction forces and by us- tors justifies the assumption that the forces from the
ing the resulting model to directly design classes of ac- discrete actuators are a continuous force field applied
tuation fields (sets of wheel speeds). Using a constant over the area of the object. Under this assumption, re-
(open-loop) wheel velocity field, discreteness causes un- searchers used potential field theory to predict motions
desirable behavior such as unstable rotational equilib- and stable poses of objects.
ria, suggesting the use of object feedback. Discrete
In this work, we examine a macroscopic actuator
distributed control algorithms are derived by inverting
array, the Modular Distributed Manipulator System
the dynamics of manipulation (the relationship between
(MDMS). Each cell of the MDMS is made up of a
wheels speeds and forces on the object) to come up
pair of motorized roller wheels which together can ap-
with wheel velocity fields which effect the desired forces
ply a directable traction force to objects such as card-
and moments on the object. These algorithms reduce
board boxes. The MDMS uses distributed control and
the many-input-three-output control problem to a three-
therefore is fully programmable. An 18 cell prototype
input-three-output control problem. Using these algo-
MDMS has been built and tested. On the MDMS, as
rithms, the authors demonstrate the stability of closed-
few as four or six cells support an object such that
loop discrete distributed manipulation.
continuous approximations fail and we must account
for discreteness when analyzing the MDMS.
1 Introduction
Discreteness causes imprecision in open-loop manip-
An actuator array performs distributed manipulation ulation, particularly in the orientation of objects. For
where many small stationary elements (which we call example, under certain modeling assumptions appro-
cells) cooperate to manipulate larger objects. Objects priate to the MDMS, the net moment acting on an ob-
lie on a regular array as they are transported and ori- ject is not a direct function of the object’s orientation,
ented. Many cells support the object simultaneously, and orientation can only be done to cell resolution [5].
and as it moves, the set of supporting cells changes. In addition, some objects having stable rotational equi-
64 J. E. Luntz, W. Messner, and H. Choset
vf Teck]-m mo
Pale Vana, + + Our strategy to implement position and orientation
feedback is to apply velocity fields which reduce the
array to a single “virtual” actuator capable of gener-
Summing vectorially, the net horizontal force is ating a desired force and torque on the object. Since
force and torque change as the object moves, we must
Pea VON TS UX on W (5) continuously recompute and adjust the wheel speeds.
We assume sensing of the object’s position and orienta-
Observe that the net horizontal force is not a func- tion is done externally, for example, by a vision system.
tion of the object’s rotation speed - the terms multiply- It is desirable to distribute the computation to reduce
ing w are identically zero [5]. Furthermore, the second communication such that each cell need only be aware
term in this equation is a constant linear damping term. of the desired net force and torque and its location rel-
Substituting N from Equation 1 yields ative to the center of the object, and not the state of
each cell.
0 0
f = p»WVBT (BBT) | 1 0 |Xen 3.1 Applying Both Force and Torque
0 1 We compute velocity fields by inverting the relation-
ks ship between wheel speeds and net force and torque.
As a first attempt, we specify both a force and torque
=] 1 eS
to compute the velocity field. Without loss of general-
+ WVB" (BB) 0 |—“uXemW (6)
ity, we set the origin of the system to lie at the center of
0
Seas re the object such that the cells move rather than the ob-
a. ject. Also, we ignore the damping terms in Equations 6
and 7. For the purpose of feedback control, since the
The 2 x 2 spring constant matrix k,, and the offset damping is mainly a function of the object’s motion,
force vector f, are constant while the object rests on a we treat damping as a property of the manipulated ob-
particular set of supports. ject rather than the actuators. The expressions for the
We compute the net torque similarly [5] resulting action of our virtual actuator (i.e. the net force and
in the following expression for the net torque acting torque on the object) reduce to:
on the object as a function of position and rotational 0 0
speed (and set of supports). f =f, =»WVB" (BBT)"'| 1 0 | and
1 00 om
7 =yWRB'(BB') *|0|+pWRB(BB') [10] Xem (8)
0 01 fi
7 =T) = )W RB! (BB‘) ” |0
0
>
To Ks,
tex (f+, Xe) —w(€NT-W RE, Xem) (7) We can rewrite these equations in terms of the
stacked velocity vector formed by stacking the trans-
where R; = X;xV; and %; = XX; = (x? +47). The poses of the z and y component rows of V.
vector ks, relates torque to position, and 7, is a scalar io.
constant torque. The net applied torque and damp- i a UW i
yr y
oa
Fa (9 )
eS SE See Oe ee ee a ee
ae en ee
~ ee
Flan omR) fe os
We pseudo-invert this underconstrained set of equa-
tions to solve for the stacked velocity vector.
Vey (Bt
Va pW On
This expression can be algebraically reduced since D,
and Dy are diagonal matrices. After some algebra, the
Closed-Loop Distributed Manipulation - Discrete Actuator Arrays
67
aL
’ ’ ? , , we = 3
This expression, in general is not equal to zero and gen-
erates an extra force which was not intended by this
ee field. This disturbance force (fa) is dependent on the
TARReee
it Fe oe
AS See ; application of torque. While it can be shown that there
LSS JAN ee Sd Reale Xx
| are many positions and orientations at which this dis-
@ a 4 4 a se - a
a « >
Xem(8) is Re
X,(s) ms? + upWs + Ky, (21)
Figure 11: Using the kinematic rotation field, a second sector nonlinearity, atr(Xem, 9), is introduced to the orientation
feedback loop.
References
In this paper we have derived closed-loop control [6] D. Reznik, E. Moshkoich, and J. Canny. Building a
strategies for manipulating objects. While more com- universal planar manipulator. In Proceedings, Work-
plicated to implement than open-loop control, these shop on Distributed Manipulation at the International
Conference on Robotics and Automation, 1999.
strategies address precision limitations apparent in the
open-loop operation of discrete actuator arrays. We [7] M. Vidyasagar. Nonlinear Systems Analysis. Prentice-
derived a class of fields which reduce the array of actu- Hall Inc., Englewood Cliffs, NJ, 1978.
ators to a single virtual actuator for which simple feed-
Kinematic Tolerance Analysis with Configuration Spaces
Leo Joskowicz, The Hebrew University, Jerusalem, Israel
Elisha Sacks, Purdue University, West Lafayette, IN
This paper is a survey of our research on kinematic the analysis. These limitations cause significant risks
tolerance analysis of mechanical systems with paramet- and uncertainties despite large analysis efforts.
ric part tolerances. We present a general algorithm
The major steps in tolerance analysis are tolerance
for planar systems and illustrate it with a design case
specification, variation modeling, and sensitivity analy-
study. The algorithm constructs a variation model for
sis. Tolerance specification defines the allowable varia-
the system, derives worst-case bounds on the variation,
tion in the shapes and configurations of the parts of a
and helps designers find unexpected failure modes, such
system. The most common are parametric and geomet-
as jamming and blocking. The variation model is a gen-
ric tolerance specifications [16, 25]. Variation model-
eralization of the configuration space representation of
ing produces mathematical models that map tolerance
nominal part contacts. The algorithm handles general specifications to system variations. Sensitivity analy-
planar systems of curved parts with contact changes, sis estimates the worst-case and statistical variations
including open and closed kinematic chains. It con- of critical properties in the model for given part varia-
structs a variation model for each interacting pair of tions. Designers iterate through these steps to synthe-
parts then derives the overall system variation at a size systems that work reliably and that optimize other
given configuration by composing the pairwise variation design criteria, such as cost and durability.
models via sensitivity analysis and linear programming.
We demonstrate the algorithm on a gear selector mech- The tolerancing objectives are to produce designs
that can be assembled and that function correctly de-
anism in an automotive transmission with 100 func-
spite manufacturing variation. In assembly toleranc-
tional parameters. The analysis, which takes less than
ing, general part variations must be modeled, so geo-
a minute on a workstation, indicates that the critical
metric tolerance specifications are the norm. Statis-
kinematic variation occurs in third gear and identifies
tical sensitivity analysis is appropriate because guar-
the parameters that cause the variation.
anteed assembly is more expensive than discarding a
few defective products. Most algorithms perform tol-
1 Introduction erance analysis on the final assembled configuration [2],
although recent research explores toleranced assembly
sequencing [12] and fixturing [4]. In functional toler-
This paper describes our research in kinematic toler-
ancing, the relevant part variations occur in functional
ance analysis of mechanical systems. The task is to
features whose descriptions are parametric. Paramet-
estimate the worst-case or average error in critical sys-
ric tolerances, which are simpler than geometric tol-
tem parameters due to manufacturing variation. This
erances, are best suited to capture these variations.
analysis plays a key role in improving design quality
Worst-case analysis is most appropriate because func-
and in reducing development time. In current practice,
tional failures that occur after product delivery can be
tolerance analysis is an imperfect, difficult, and time
unacceptable.
consuming activity. To keep the analysis affordable
and on time, only those aspects of a design that are pre- Our research addresses functional kinematic toler-
sumed to be critical are considered. These typically in- ance analysis. Kinematic tolerancing is the most im-
clude safety items, selected clearances, and areas where portant form of functional tolerancing because kine-
part interferences are expected. Unproven assump- matic function, which is described by motion con-
tions and simplifications are often made to speed up straints due to part contacts, largely determines me-
74 L. Joskowicz and E. Sacks
rae
tings labeled 1, 2, 3, D, N, R, and P. Each of the cam
settings determines a nominal opening of the valves.
The angular position of the cam is determined by the
pin that pushes the lower cam profile. Variations in
the pin, piston, and cam shapes and positions affect
the piston displacement and thus the valve opening.
The kinematic tolerance analysis task is to determine
the maximum variation of the piston displacement for
each cam setting. It is also important to determine
which feature variations contribute the most to the
piston variation: the cam axial position, its profile, the
pin radius, or others. The many part features, complex 0
kinematic relations, and contact changes make manual -0.6 6
3
analysis impractical. 261.6
We obtained the nominal boundary representation
model of the gear selector cam subassembly from Ford.
We constructed a parametric model of the subassem-
bly by adding variation parameters to the functional
features of the parts. For the cam, we toleranced the
line segments that form the tooth sides, the small arc
segments that form the tooth tips, the arc segments
that connect the teeth, and the circular pin that en-
gages the piston. For the piston, we toleranced the
two vertical segments that are in contact with the cam
pin. For the pin, we toleranced the single, circular fea-
ture. Line segments were toleranced by varying the
coordinates of the two endpoints; arc segments were 260 A)
0.35 0.39
toleranced by varying the radius and the center coor-
dinates. To account for uncertainties in the position
Figure 6: Comb/piston configuration space and contact
of the rotation axes, we also toleranced the centers of zone detail.
rotation of the cam and the pin. Since we chose the
piston as the reference part of the assembly, there was
no need to tolerance the orientation of its translation worst-case variation of between 0.41mm and 0.45 mm
axis. The model has in total 86 tolerance parameters over the functional range of the cam angle, 6. In the
for the cam, 8 for the piston, 5 for the pin, and 99 cam/pin zone, the pin orientation, w, has a worst-case
overall. We assigned every parameter an independent variation of between 0.013 radians and 0.018 radians.
tolerance of +0.1 mm. Constructing the parametric We computed the kinematic variation of the system at
models and inputting them to the program took one the configuration @ = 0.371 radians, w = —0.0008 radi-
person two hours. ans, x = 260.8 mm where the gear selector is in third
gear (Figure 5). The worst-case variation of x is 0.9
To determine the kinematic variations, we computed mm—roughly half from each pair. The main factors
the nominal configuration spaces and the contact zones
in the cam/piston variation are the cam center hori-
of the cam/piston and cam/pin pairs, as shown in Fig-
zontal position (25%), vertical position (25%), tooth
ures 6 and 7. The computation took about 20 seconds, base x position (25%), and the x coordinates of the
using a Lisp program running on an Indigo 2 Worksta- piston vertical segments (10%). The cam/pin varia-
tion. In the cam/piston zone, the piston offset, x, has a
Kinematic Tolerance Analysis
81
60) misalignment due to manufacturing variation, assem-
bly error, or wear. We have developed a configu-
ration space computation algorithm for spatial pairs
whose parts move along fixed axes [10]. The con-
tact zone model applies to these spaces. To imple-
ment it, we need to program the partial derivatives of
the contact functions, g(u,v,p), for every type of con-
tact, e.g. plane/cylinder, cylinder/sphere, and cylin-
der/circle. We are also studying tolerance synthesis
within the configuration space representation and are
extending the algorithm to variational part models pro-
duced by modern CAD tools, such as ProEngineer and
Catia.
Kinematic tolerance analysis has potential relevance
to robot path planning with uncertain geometry. The
analysis provides a detailed understanding of how small
variations in geometry effect nominal contact relations.
This knowledge could be useful in compliant motion
and in manipulation where the robot plans based on
the domain geometry. The maximum material estimate
represents a single point in the contact zone, hence
provide less information than the full zone. In coarse
0.35 0 wD path planning, the extra information is probably un-
necessary because the robot wants to avoid obstacles
Figure 7: Comb/pin configuration space and contact zone robustly, not to interact with them.
detail.
Acknowledgments
tion is evenly distributed among the parameters of the
touching features and the part centers of rotation. Ralf Schultheiss and Uwe Hinze collaborated in the
case study. Sacks is supported by NSF grants CCR-
9617600 and CCR-9505745 and by the Purdue Center
6 Conclusion for Computational Image Analysis and Scientific Vi-
sualization. Joskowicz is supported by a grant from
We described a kinematic tolerance analysis algorithm the Authority for Research and Development, The He-
for mechanical systems with parametric part tolerances brew University of Jerusalem, Israel. Both are sup-
and presented a design case study. The algorithm con- ported by a Ford University Research Grant, the Ford
structs a variation model for the system, derives worst- ADAPT200 project, and by grant 98/536 from the Is-
case bounds on the variation, and helps designers find raeli Academy of Science.
unexpected failure modes, such as jamming and block-
ing. We have applied our program to detailed paramet- References
ric models of a variety mechanisms including a Geneva
cam pair, a 35mm camera shutter, a movie camera film [1] Eric Ballot and Pierre Bourdet. A computation
method for the consequences of geometric errors in
advance, and a micro-mechanical gear discriminator.
mechanisms. In Proc. of the 5th CIRP Int. Seminar
In all cases, the program produced useful and interest- on Computer-Aided Tolerancing, Toronto, 1997.
ing qualitative and quantitative results.
[2] K. W. Chase and A. R. Parkinson. A survey of re-
We plan to extend the scope of our algorithm to search in the application of tolerance analysis to the
spatial tolerance analysis of planar systems. Planar design of mechanical assemblies. Research in Engi-
pairs must be analyzed as spatial pairs to study axis neering Design, 3(1):23-37, 1991.
82 L. Joskowicz and E. Sacks
We present kinetic data structures for detecting col- collision response, collision detection remains one of
lisions between a set of polygons that are moving the bottlenecks in such a system. A commonly used ap-
continuously in the plane. Unlike classical collision- proach to expedite the collision detection between com-
detection methods that rely on bounding volume hi- plex shapes is based on hierarchies of simple bounding
erarchies, our method is based on deformable tilings volumes surrounding each of the objects. For a given
of the free space surrounding the polygons. The ba- placement of two non-intersecting objects, their respec-
sic shape of our tiles is that of a pseudo-triangle, a tive hierarchies are refined only to the coarsest level at
shape sufficiently flexible to allow extensive deforma- which the primitive shapes in the two hierarchies can
tion, yet structured enough to make detection of self- be shown to be pairwise disjoint.
collisions easy. We show different schemes for main- Motion in the physical world is in general continuous
taining pseudo-triangulations using the framework of over time, and many systems attempt to speed up col-
kinetic data structures, and analyze their performance. lision checking by exploiting this temporal coherence,
Specifically, we first describe an algorithm for main- instead of repeating a full collision check ab initio
taining a pseudo-triangulation of a point set, and show at each time step [22]. Swept volumes in space or
that this pseudo-triangulation changes only quadrati- space-time have been used towards this goal [6, 17, 19].
cally many times if points move along algebraic arcs Though fixed time-sampling is customary for motion
of constant degree. We then describe an algorithm for integration, collisions tend to be rather irregularly
maintaining a pseudo-triangulation of a set of convex spaced over time. If we know precisely the motion laws
polygons. Finally, we extend our algorithm to the gen- of the objects, then it makes sense to try to predict ex-
eral case of maintaining a pseudo-triangulation of a set actly when collisions will happen, instead of hoping to
of moving simple polygons. These methods can be ex- locate them with time sampling. There have been a few
tended to situations where the polygons deform as well theoretical papers in computational geometry along
as move. these lines [8, 13, 23], but their results are not so useful
in practice because they use complex data structures
1 Introduction and are only applicable for limited types of motion.
In this paper, we consider the situation where we
Collision detection between moving objects is a fun- have multiple moving or deforming polygonal objects
damental problem in computational simulations of the in the plane. Such a setting can arise in various simu-
physical world. Because of its universality, it has been lation and motion planning tasks. For example, in sev-
studied by several different communities, including ro- eral manufacturing processes, the mechanical parts are
botics, computer graphics, computer-aided design, and modeled as planar polygons [1, 5, 4] for parts feeding
computational geometry. Several methods have been and orienting tasks. In motion planning for multiple
developed for the case of rigid bodies moving freely in mobile robots amidst possibly moving obstacles, the
two and three dimensions. Though a physical simula- robots and obstacles are usually projected to the floor,
tion involves several other computational tasks, such as and the problem is simplified to a two-dimensional
motion dynamics integration, graphics rendering, and problem to improve efficiency. More importantly, we
84 P. Agarwal, J. Basch, L. Guibas, J. Hershberger, and L. Zhang
hope that extensions of the major techniques developed that the self-intersection of a cell of the decomposi-
in this paper will be able to handle three dimensional tion is easy to detect, the decomposition is simple to
objects. update when a self-intersection occurs, and the decom-
position conforms to the motion of the polygons so
Recently, Basch et al. [2] and Erickson et al. [9] pre-
sented algorithms for detecting collision between two
that self-intersections do not happen too many times.
An obvious choice for the decomposition is a trian-
polygons using the kinetic data structures framework,
gulation of the free space. Such a triangulation was
which was originally introduced by Basch et al. [3, 12].
These kinetic algorithms avoid many of the problems
used by Held et al. [16] to track a moving object flying
among fixed obstacles. Although a triangulation sat-
that arise in fixed time-sampling methods. A kinetic
isfies the first two criteria, it contains too many cells
data structure, or KDS for short, is built on the idea
and therefore has to be updated frequently when all
of maintaining a discrete attribute of objects in mo-
the defining shapes are in motion. We will therefore
tion by animating a proof of its correctness through
use a pseudo-triangulation as the decomposition, which
time. The proof consists of a set of elementary con-
has considerably fewer cells compared to a triangula-
ditions, called certificates, based on the kinds of tests
tion. Pseudo-triangles can flex as the objects move,
performed by ordinary geometric algorithms —- CCW
and therefore the combinatorial structure of the tiling
(counterclockwise) tests in our case. Those certificates
needs fewer updates. At the same time, the cells in a
that can fail as a result of the motion of the polygons
pseudo-triangulation have sufficiently simple shapes so
are placed in an event queue, ordered according to their
that their self-intersections are easy to detect and the
earliest failure time. When a certificate fails, the proof
needs to be updated. Unless a collision has occurred, triangulation is easy to update. Pseudo-triangulations
we perform this update and continue the simulation. have been used in the past, but primarily for various
In contrast to fixed time step methods, for which the visibility problems [7, 21]. An additional benefit of
fastest moving object gates the time step for the entire our structure is that it can gracefully adapt to object
system, a kinetic method is based on events (the certifi- shapes that are themselves flexible. As our polygons
cate failures) that have a natural significance in terms move they can also deform and change shape. This ad-
of the problem being addressed (collision detection in ditional flexibility impacts our data structure primarily
this case). on the number of events it has to process — but its ba-
sic nature and certification remains unchanged.
Unlike the previous hierarchy-based algorithms, the
algorithm by Basch et al. [2] maintains a decomposi- In Section 2, we describe our model for motion, de-
tion of the common exterior of the two moving poly- fine pseudo-triangulations, and describe the certificates
gons (similar approach was used by Mount [20] for the needed to maintain a pseudo-triangulation. In Sec-
static problem of intersection detection.). The cells of tion 3, we first describe how to maintain a pseudo-
this decomposition deform continuously as the objects triangulation for a set P of n moving points in the
move. As long as all the cells in the decomposition re- plane, and show that it can be maintained in an output-
main disjoint, the decomposition itself acts as a KDS sensitive manner. For low-degree algebraic motion, the
proof of non-collision between the objects. At certain pseudo-triangulation changes about O(n”) times. We
times, cells become invalid because they self-intersect can further refine the pseudo-triangulation to main-
and the decomposition has to be modified. Unfortu- tain a triangulation of P, which changes about O(n"/*)
nately, in their approach an extension to collision de- times if each point in P is moving with fixed velocity.
tection between many polygons is very expensive — To our knowledge, this is the first triangulation (with-
such a decomposition has to be built separately for out Steiner points) that changes a sub-cubic number of
every pair of polygons. times, even for linear motions.
In this paper we present an algorithm for detecting In Section 4, we describe a scheme for maintain-
collision between arbitrary sets of simple polygons as ing the pseudo-triangulation of a set P of k disjoint
they move and/or deform in the plane. As in [2], we convex polygons with a total of n vertices. We show
maintain a decomposition of the common exterior of that the greedy vertical pseudo-triangulation proposed
polygons, the free space, into deformable tiles. Ide- by Pocchiola and Vegter [21] can be maintained effi-
ally, we would like to maintain a decomposition so ciently. A nice feature of this (or any minimal) pseudo-
Deformable Free Space Tilings for Kinetic Collision Detection
85
triangulation is that the number of cells is only O(k), cessfully addressed. Though this paper describes how
which is typically much smaller than n, the total com- to implement the deformable tiling idea only in 2D, we
plexity of the polygons. On the other hand, the size are hopeful that 3D extensions will also be possible.
of any triangulation has to be at least Q(n). We will
show that we need a kinetic data structure of size O(k)
2 Models of Motion and Pseudo-
to maintain this pseudo-triangulation. But unlike the
set of points case, we do not have sharp bounds on the Triangulations
number of events.
In this section we discuss our models of motion, de-
Finally, in Section 5, we combine our algorithm for fine pseudo-triangulations, and discuss how we main-
the convex case with the one in [2] to construct a tain them as objects move continuously.
pseudo-triangulation for a set of pairwise-disjoint sim-
ple polygons moving in the plane. It can easily be 2.1 Models of Motion
updated when a certificate fails. The number of certifi-
cates needed to maintain the correctness of the pseudo- There are two reasons for defining motion models.
triangulation is within an O(log n) factor of the size of a First, we need to be able to compute the certificate fail-
minimum link subdivision separating the polygons [24]. ure times. Second, we wish to be able to give bounds
By this property, our separation proof automatically on the maximum number of events that can happen.
adapts to the complexity of the relative placement of We describe the model for which we bound the number
the polygons, and its size will vary between O(k) (when of events first.
the polygons are far from each other) and O(n) (when A rigid polygon P is described at rest by a refer-
they are closely intertwined). A compact separation ence point o, by an orthonormal basis (x,y), and by
proof is important when objects are allowed to change the coordinates (pz,p,) of each vertex p of P in this
their motion plan unpredictably since the number of orthonormal frame centered at 0. An algebraic motion
certificates represents the cost of recomputing the event of P is given by a trajectory o(t) of the reference point
times. Recently, Kirkpatrick et al. [18] were able to and by an orthonormal basis (x(t), y(t)), such that the
suggest a method that kinetically maintains a decom- coordinates of 0, x,y are algebraic functions of time of
position of the free space whose size is within a constant bounded degree. The position of v at time t, denoted
factor of the size of a minimum link subdivision. Unlike by v(t), is o(t) + p2x(t) + pyy(t). If P is a point, then
our method, in which the tiling is determined only by o is the same as P and the vectors x, y are not needed.
the current positions of the polygons, in their method, We will use P(t) to denote the polygon P at time t.
the tiling depends on the history of the motions; this The degree of motion of P is the maximum degree of
makes it hard to analyze the efficiency of their method. a polynomial defining the coordinates of 0;, 7;, y;, for
1<i<k. If the degree of motion is 1, we say that
Traditionally, collision detection has been divided
the motion is linear. We call a motion translational if
into two phases: the broad phase, in which one uses
the coordinates of vectors 2;,y;, for alll <i <k, are
a simple-minded algorithm (typically a bounding box
constant.
check) to determine which pairs of objects might collide
and thus need further testing, and the narrow phase, in Although the above model differs from that used in
which these candipdate pairs get a more detailed colli- practice in describing rotational motion, it is flexible
sion test using a sophisticated algorithm. Note that our enough to approximate arbitrary motions to any de-
approach based on deformable free space tilings com- sired accuracy, for a limited time. Note, however, that
pletely obviates this distinction. The tiling effectively an algebraic rotation has necessarily non-uniform an-
‘hides’ features of objects that are far away and treats gular velocity, and can cover only a constant number of
the objects as equivalent to their convex hulls. As the full turns. If we parameterize the basis (x(t), y(t)) ap-
objects get closer and more intertwined, their features propriately, we can represent algebraically some special
get progressively revealed and participate in collision cases, such as when all the objects rotate with angu-
checks. Furthermore our framework can be extended in lar velocities that are rational multiples of a common
a straightforward way to deformable objects, a setting angular velocity. Rotations with general angular veloc-
that no previous collision detection method had suc- ities can either be approximated using power series, or
86 P. Agarwal, J. Basch, L. Guibas, J. Hershberger, and L. Zhang
(iii)
3.2 Maintaining the IPT Next, we consider the case in which two points ex-
change in 2-order (we call this an z-event). Although
As the points move, IPT(P) changes continuously, such an event does not affect the validity of the pseudo-
but its combinatorial structure changes only at discrete triangulation, it does cause a change to IPT(P) since
times. the incremental ordering of the points changes. Sup-
pose that p passes q from the left at time t and p is
Deformable Free Space Tilings for Kinetic Collision Detection
89
u(p)
through p and q; otherwise, o3(t) is undefined. Since
the motion has constant degree, the x-order of a pair
of points can switch only a constant number of times.
Thus, each 3(t) consists of a constant number of arcs,
all of which are portions of a fixed-degree polynomial.
Consider the family of functions
®, = {¢7|¢€P,q#
pd}.
By our assumptions, any two arcs in ®, intersect a
constant number of times, say, s — 2 times. For a point
q to be d(p) at time t, ¢%(t) must have the largest
value among all the points in P. This is to say, the
number of changes to d(p) is the same as the combina-
torial complexity of the upper envelope of ®,, which is
bounded by A;(n). (As(m) is the maximum length of
an (n,s) Davenport-Schinzel sequence and is roughly
d(q)
linear.) Similarly, we can bound the number of changes
(ii) to u(p) by As(n). Summing over all the points in P,
Figure 4: (i) Two points exchange in x-order. (ii) Fan we thus have:
triangulation of IPT (P). Theorem 4 When the points of P move algebraically
with constant degree, IPT(P) changes O(n X;5(n))
above g (Figure 4). Let r be d(p) just before time ft, times, where s is a constant that depends on the de-
and let r’ be u(q) immediately after time t. Then the gree of the motion.
structure is updated by switching the edge rp with the
edge r’q — a flipping operation defined in Section 2.3. 3.4 Fan Triangulation of P
The point r’ can be found by computing a tangent seg- It is easy to obtain a triangulation of P from IPT (P).
ment from g to the concave chain between u(p) and We connect each point p to every interior point on
d(q), which can be done in O(log n) time. C(p), thereby creating a fan inside each A(p). We
Notice that in this description, each event changes call such a triangulation the fan triangulation of P.
IPT(P). Thus, the method is output-sensitive. We (Figure 4 (ii)). Although IPT(P) changes only nearly
have shown that quadratically many times, we are not able to prove a
similar bound on the number of changes in the fan tri-
Theorem 3 The IPT of n points can be maintained in angulation. It is easy to verify that a reflex or corner
an output-sensitive manner. Each update of the struc- event causes only O(1) changes to the fan triangula-
ture takes O(log n) time. tion. The problem comes from the z-ordering events,
which we process by switching a fan of p to a fan of q,
In the following, we shall bound the number of or vice versa (Figure 4 (ii)). The cost of such switching
changes to JPT(P) for points in constant degree alge- is proportional to the length of the chain between r and
braic motion. r’, where r and 7’ are the same as defined in Section 3.2.
In the worst case, it might be O(n). This gives us a
3.3. Combinatorial Changes to JPT(P) naive bound of O(n*) on the number of changes to the
of fan triangulation.
We now obtain an upper bound on the number
combinatorial changes to IPT(P), i.e., the number of For linear motion, we can obtain a better upper
events, under the assumption that the degree of mo- bound on the number of changes to the fan triangu-
tion of P is fixed. We define a function ¢%(t) for two lation by a global argument. To our knowledge, this is
distinct points p,q € P: if at time t, q is to the left the first triangulation for which a sub-cubic bound can
of p, then $%(t) is the slope of the line that passes be proved, even for linear motions.
90 P. Agarwal, J. Basch, L. Guibas, J. Hershberger, and L. Zhang
Theorem 5 For points in linear motion, the num- make a right turn if it is possible. Call the trajectory
ber of changes to the fan triangulation is bounded by of such a point a pseudo-concave chain. Clearly, in
O(n*/3,(n)), where s is a constant. a line arrangement, this definition gives us exactly a
concave chain. We can prove the following.
In the following, we prove Theorem 5. For each point
p, denote by Ha(p) the half-space below the line passing Lemma 7 The lower envelope of the arrangement of
through p and r. Consider a point v € P on the concave =, consists of yy, disjoint (pseudo) concave chains.
chain C between r and r’ at the time t when an z-event Proof: Imagine that a point travels on the lower en-
happens. It can be shown that at least one of u(v) and velope of E,. It needs to stop only if it encounters an
d(v), say d(v), is adjacent to v in C at time t. endpoint of an arc. Such an endpoint corresponds to a
Since v lies between r and r’, the points p,q must discontinuity of the function €? for some p, i.e., corre-
lie below the line that passes through v and d(v), sponds to p coming in or going out of Hq(v). Further,
ie., p,q € Ha(v). Furthermore, there is no point in the endpoint is on the lower envelope. This happens
P12 Ha(v) to the left of p and g. Otherwise, it would Yy times. Oo
contradict that v appears on the concave chain between
Combining the Lemma 6 and 7, we are able to prove
u(p) and d(q). We define the function €?(t) to be the
Theorem 5.
x-coordinate of p if pis in Ha(v) and to the right of v at
time t and undefined otherwise. Set =, = {€? |p € P}. Proof: (Theorem 5) If the points move linearly with
The point v is on the concave chain between r and r’ a constant velocity, then the z-coordinate of a point is a
when p,q exchange their x-ordering if and only if €?(t) linear function of time. Thus, the lower envelope of =,
and €4(t) are both defined and they are the small- consists of 7, disjoint concave chains in an arrangement
est amongst all the €,’s at time ft, ie., if the point of n lines. According to the results in [14, 15], the total
(t, €?(t))(= (t,€2(t))) is a vertex on the lower enve- complexity of these chains is bounded by:
lope of =,. Denote by 6, the complexity of the lower
envelope of &=,. The number of changes to the fan tri-
by = O(max (ny,/*, n7/92/)).
angulation in this case is thus bounded by }?,-p dv. Therefore, the total complexity is bounded by:
Unfortunately, we cannot use a Davenport-Schinzel
+e Op = by, O(max (ny}/3 ,n?/342/3)) |
sequence argument to prove a near-linear bound on 6, vEP v
because the graphs of functions €2(t) may consist of
Q(n) arcs. In fact, there are examples in which the By Lemma 6, >7,, % = O(nd;(n)). Thus, >>, 6, is
graphs of functions in =, consist of Q(n) arcs in total. maximized when 7, = O(A;(n)), for all v’s. This gives
We therefore need a more refined analysis to bound us the bound of O(n4/*,(n)). Oo
On.
We do not know whether it is possible to extend this
When a point g enters or leaves Hq(v), it may or may
result to higher degree algebraic motions or whether
not appear on the lower envelope of =,. For a point
this bound is tight.
v € P, denote by 7, the number of arc endpoints that
appear on the lower envelope of =,.
4 Pseudo-Triangulation for Convex
Lemma 6 )0 ep Ww = O(nAs(n)). Polygons
Proof: When an event of this type happens, /PT(P) We now consider the case in which P is a set of k
changes. Thus, in total, it is bounded by O(nA,(n)) by convex polygons with a total of n vertices. We de-
Theorem 4. oO scribe a different pseudo-triangulation for P, called the
greedy vertical pseudo-triangulation, which is based on
Consider a point that travels along the edges of the notions developed by Pocchiola and Vegter [21]. They
arrangement A(=) of a set & of t-monotone algebraic introduced the greedy pseudo-triangulation as a tool
arcs. The point moves t-monotonically along an edge in to compute the visibility complex of a set of convex
A(=). When it comes to an intersection between two polygons. We adapt their algorithm for our collision
arcs, it either continues to travel on the same arc or detection application.
Deformable Free Space Tilings for Kinetic Collision Detection
91
Figure 5: (i) Intersecting and non-intersecting tangents: $1, 82 are intersecting, but 81,83 and 82,83 are non-intersecting
tangents. (ii) Greedy vertical pseudo-triangulation. (iit) Left-to-right property. The solid segment is an edge in GVPT .
The dotted ones are the free tangents it crosses.
‘Intuitively, if we smooth the polygon P by taking the Lemma 9 (Local property) Suppose that s is an
Minkowski sum of P with a disk of a sufficiently small ra- edge in T.(P). Denote by <' the same ordering as
dius, say 6, and we translate s and s’ by at most 6 so that < except assigning s as the maximum element of =’.
they become tangents to the resulting polygons at their end-
points, then s and s’ cross at v if and only if the translated
Then T-<:(P) can be obtained from T.(P) by replacing
copies of s and s’ intersect. s with its shadow edge.
92 P. Agarwal, J. Basch, L. Guibas, J. Hershberger, and L. Zhang
Figure 6: The reflex(from left to right) and corner(from right to left) events and the updates. When a reflex certificate
fails, we choose the edge with smaller slope, as shown in the right figure.
By this lemma, if the ordering of an edge changes, Further, one of the corner or reflex certificates must fail
we just perform a local flip operation to fix the greedy when such an event happens. oO
pseudo-triangulation.
When a corner or reflex certificate fails, we can up-
4.2 Greedy Pseudo-Triangulation
date G(P) as described in Section 2.3, except for one
subtle issue in the case of reflex certificates. When
Maintenance
an interior vertex p of a side chain ... prppRr... ceases
We now describe how to maintain G(P) as a KDS so to be a reflex vertex, we add the edge pppr and we
that it can be updated efficiently as the polygons in have to delete one of the edges pzp and ppr. Instead
P move or deform. As described in Section 2.3, we of deleting one of them arbitrarily, we delete prp if
maintain corner and reflex certificates for each pseudo- O(pip) > O(ppr); see Figure 6.
triangle in G(P). In addition, for each diagonal edge Next, we consider diagonal certificates. If the cer-
s of G(P), we maintain a diagonal certificate to certify tificate of a diagonal edge s fails, then either s or its
that 0(s) < 0(s’), where s’ is the shadow edge of s shadow edge (see Section 2 for the definition) is verti-
in G(P). This adds the requirement to maintain the cal. When such an event happens, the slope ordering
shadow edges although such edges do not appear in of an edge jumps from the minimum to maximum, or
G(P). The shadow edges can also be maintained using vice versa. By the local property of greedy pseudo-
corner and reflex certificates. We will show that these triangulations, we can simply perform a flipping oper-
certificates are sufficient to maintain G(P). ation to s to maintain G(P).
As in Section 3, we can prove the following analogue Since G(P) has O(k) diagonals and pseudo-triangles,
to Lemma 2. the number of corner and diagonal certificates is O(k).
We assume that the polygons remain convex at all
Lemma 10 J[f no diagonal certificate fails, then G(P)
times, therefore it. suffices to maintain reflex certificates
changes only when one of the corner or reflex certifi-
for a vertex only if it is adjacent to a diagonal edge,
cates fails.
i.e., a free bi-tangent. The number of such vertices is
Proof: The greedy pseudo triangulation can change also O(k). Hence, we obtain the following:
only when a tangent stops or starts to be free, when Theorem 11 G(P) can be maintained by using a
the slope ordering of two intersecting tangents changes,
structure with O(k) certificates. Each event can be
or when two intersecting free tangents stop or start processed in time O(log n).
to intersect. Without any diagonal certificate failure,
all these cases are reduced to when three objects are This data structure works even if the polygons de-
collinear. (three objects are collinear if there is a line form continuously over time, as long as they remain
tangent to all of them.) Suppose that the collinear convex at all times, though the number of events might
objects are P;, P2, P3 and the line @ is tangent to be affected. The rigid motion can give us better bounds
them in that order. Consider the line segments s1,89,53 as stated in Theorem 13.
on £ that connect P; P2, P2P3, and P3P,, respectively.
By the left to right property, for such a collinearity to 4.3 Combinatorial changes to G(P)
change G(P), it must be the case that exactly two of Next, we bound the number of changes to G(P) if the
these edges are in G(P) right before the event happens. degree of motion of P is fixed. It can be shown that
Deformable Free Space Tilings for Kinetic Collision Detection
93
a corner or reflex certificate fails when three polygons
of P become collinear, i.e., a line is tangent to three
polygons. Hence, a combinatorial change in G(P) hap-
pens only when three polygons of P are collinear or
when a bi-tangent becomes vertical. The number of
such events can be bounded by the following lemma.
Guibas, and Li Zhang were supported in part by Na- [10] R. L. Graham. An efficient algorithm for determining
tional Science Foundation grant CCR-9623851 and by the convex hull of a finite planar set. Inform. Process.
Lett., 1:182-133, 1972.
US Army MURI grant DAAH04-96-1-0007. We wish
to acknowledge the contribution of Otfried Cheong and [11] R. L. Graham and F. F. Yao. Finding the convex hull
Mark de Berg to preliminary work related to part of of a simple polygon. J. Algorithms, 4:324-331, 1983.
this paper. L. J. Guibas. Kinetic data structures: A state of the
[12]
art report. In Proc. 38rd Workshop on Algorithmic
Foundations of Robotics, pages 191-209, 1998.
References
[13] P. Gupta, R. Janardan, and M. Smid. Fast algorithms
[1] E. M. Arkin, M. Held, and J. S. B. Mitchell. Man- for collision and proximity problems involving mov-
ufacturing: An application domain for computational ing geometric objects. Comput. Geom. Theory Appl.,
geometry. In First Regional Symposium on Manufac- 6:371-391, 1996.
turing Science and Technology, pages 29-36, October
12-13 1995. [14] D. Halperin and M. Sharir. On disjoint concave chains
in arrangements of (pseudo) lines. Inform. Process.
J. Basch, J. Erickson, L. J. Guibas, J. Hershberger, Lett., 40(4):189-192, 1991.
and L. Zhang. Kinetic collision detection for two sim-
ple polygons. In Proc. 9th ACM-SIAM Sympos. Dis- [15] D. Halperin and M. Sharir. Corrigendum: On disjoint
concave chains in arrangements of (pseudo) lines. Jn-
crete Algorithms, pages 102-111, 1999.
form. Process. Lett., 51:53-56, 1994.
[3patsyJ. Basch, L. J. Guibas, and J. Hershberger. Data struc- [16] M. Held, J. T. Klosowski, and J. S. B. Mitchell. Eval-
tures for mobile data. In Proc. 8th ACM-SIAM Sym- uation of collision detection methods for virtual real-
pos. Discrete Algorithms, pages 747-756, 1997. ity fly-throughs. In Proc. 7th Canad. Conf. Comput.
Geom., pages 205-210, 1995.
[4(ee R.-P. Berretty, K. Goldberg, M. Overmars, and F. V.
der Stappen. On fence design and the complexity of [17] P. M. Hubbard. Collision detection for interactive
push plans for orienting parts. In Proc. 18th Annu. graphics applications. JEEE Trans. Visualization and
ACM Sympos. Comput. Geom., pages 21-29, 1997. Computer Graphics, 1(3):218-230, Sept. 1995.
[5 al K.-F. Bohringer, B. R. Donald, and N. C. MacDon- [18] D. Kirkpatrick, J. Snoeyink, and B. Speckmann. Ki-
ald. Upper and lower bounds for programmable vector netic collision detection for simple polygons. In To
fields with applications to MEMS and vibratory plate appear in 16th Sympos. Comput. Geom., 2000.
part feeders. In J.-P. Laumond and M. H. Overmars,
editors, Algorithms for Robotic Motion and Manipu- [19] B. Mirtich. Impulse-based Dynamic Simulation of
Rigid Body Systems. Ph.D. thesis, Dept. Elec. Engin.
lation, pages 255-276. A. K. Peters, Wellesley, MA,
Comput. Sci., Univ. California, Berkeley, CA, 1996.
1996.
[20] D. M. Mount. Intersection detection and separators
[6] S. Cameron. Collision detection by four-dimensional for simple polygons. In Proc. 8th Annu. ACM Sympos.
intersection testing. In Proc. IEEE Internat. Conf. Comput. Geom., pages 303-311, 1992.
Robot. Autom., pages 291-302, 1990.
[21] M. Pocchiola and G. Vegter. Topologically sweeping
B. Chazelle, H. Edelsbrunner, M. Grigni, L. J. Guibas, visibility complexes via pseudo-triangulations. Dis-
J. Hershberger, M. Sharir, and J. Snoeyink. Ray crete Comput. Geom., 16:419-453, Dec. 1996.
shooting in polygons using geodesic triangulations. Al-
gorithmica, 12:54-68, 1994. [22] M. K. Ponamgi, D. Manocha, and M. C. Lin. Incre-
mental algorithms for collision detection between gen-
[8 D. Eppstein and J. Erickson. Raising roofs, crashing
coomeaet
eral solid models. In Proc. ACM SIGGRAPH Sympos.
cycles, and playing pool: Applications of a data struc- Solid Modeling, pages 293-304, 1995.
ture for finding pairwise interactions. In Proc. 14th
Annu. ACM Sympos. Comput. Geom., pages 58-67, [23] E. Schémer and C. Thiel. Efficient collision detection
1998. for moving polyhedra. In Proc. 11th Annu. ACM Sym-
pos. Comput. Geom., pages 51-60, 1995.
[9] J. Erickson, L. J. Guibas, J. Stofi, and L. Zhang. [24] S. Suri. Minimum link paths in polygons and related
Separation-sensitive kinetic collision detection for con- problems. Ph.D. thesis, Dept. Comput. Sci., Johns
vex objects. In Proc. 9th ACM-SIAM Sympos. Dis- Hopkins Univ., Baltimore, MD, 1987.
crete Algorithms, pages 327-336, 1999.
Real-time Global Deformations
Yan Zhuang, University of California, Berkeley, CA
John Canny, University of California, Berkeley, CA
Real-time simulation and animation of 3D global de- 1 and 2). To avoid such distortions, we simulate global
formations is the bottleneck of many applications, such deformations using nonlinear finite element methods
as a surgical simulator. In this paper, we present a (Section 3).
system that simulates physically realistic large deforma-
Secondly, we achieve real-time simulation by restrict-
tions of soft objects in real-time. We achieve the phys-
ing time steps, which are not constants, to a small
ical realism by modeling the global deformation using
set of values. Finite element methods usually re-
geometrically nonlinear finite element methods. We ob-
quire solving a large sparse linear system at each time
tain real-time dynamic simulation of models of reason- step. The restriction of time steps leads to a small
able complexity by preprocessing the LU-factorization number of possible matrices to invert. This enables
of a small number of large matrices. To reduce the us to pre-compute all inverse matrices, represented
time and space required for such a preprocess, and the by its LU-factorization. With the precomputed LU-
time of the back-substitution, we apply modified nested factorization, only back-substitution is needed at each
dissection to reorder the finite element mesh. We also time step of the simulation. In Section 5, we dis-
introduce an efficient method that handles deformable cuss our modified nested dissection algorithm, which
object collisions with almost no extra cost. reduces both the time for LU-factorization and that of
back-substitution.
1 Introduction Finally, we propose an efficient collision handling
method for FEM in Section 6. Simulating deformable
Physically realistic modeling and manipulation of de- object collisions using a penalty method [21] requires
formable objects has been the bottleneck of many ap- tiny time steps to generate visually satisfactory anima-
plications, such as human tissue modeling, character tions. A general impulse collision [1] is considered more
animation, surgical simulation, etc. Among the poten- efficient and accurate but still requires more computa-
tial applications, a virtual surgical training system is tional power than collision-free dynamics. In Section
the most demanding for the real-time performance be- 6 we present an extremely simple and efficient. colli-
cause of the requirement of real-time interaction with sion time integration scheme, which makes the time
virtual human tissue. integration of collision dynamics as cheap as that of
In this paper, we address the bottleneck problem of collision-free dynamics.
real-time simulation of physically realistic large global
deformations of 3D objects. In particular we apply 2 Related Work
the finite element method (FEM) to model such de-
formation. By global deformation, we mean deforma- Our work of modeling and simulating a deformable ob-
tions, such as large twisting or bending of an object, ject falls into the realm of physically based modeling.
which involve the entire body, in contrast to poking Witkin et al. [25] summarizes the methods and princi-
and squeezing, which involve a relatively small region ples of physically based modeling, which has emerged
of the deformable object. as an important new approach to computer animation
and computer graphics modeling.
First, we point out that the application of linear elas-
tic finite element methods to simulating large global In general, there are two different approaches to
deformation leads to unacceptable distortions (Figure modeling deformable objects: The mass spring model
Y. Zhuang and J. Canny
98
fixed left end and a free right end. The middle image
Figure 1: The left image shows a beam at its initial configuration with a
shows the distorted deformation under gravity, using linear strain. The right image shows the undistorted deformation,
under the same gravitational force, using quadratic strain (equation (5) and (6)).
and the finite element model. Gibson and Mirtich [9] Terzopoulos et al. [21, 20, 22] applies both finite dif-
gives a comprehensive review of this subject. ference and finite element methods in modeling elasti-
cally deformable objects. Celniker et al. [15] applies
The mass spring model has had good success in cre-
FEM to generate primitives that build continuous de-
ating visually satisfactory animations. Waters [23] uses
formable shapes designed to support a new free-form
a spring model to create a realistic 3D facial expression.
modeling paradigm. Pieper et al. [16] applies FEM
Provot et al. [18] describes a 2D model for animating
to computer-aided plastic surgery. Chen [3] animates
cloth, using double cross springs. Promayon et al. [17]
human muscle using a 20 node hexahedral FEM mesh.
presents a mass-spring model of 3D deformable objects
and develops some control techniques.
Keeve et al. [11] develops a static anatomy-based fa-
cial tissue model for surgical simulation using the FEM.
Despite the success in some animation applications, Most recently, Cotin et al. [5] presents real-time elas-
the mass spring models do not model the underlying tic deformation of soft tissues for surgery simulation,
physics accurately, which makes it unsuitable for simu- which only simulates static deformations.
lations that require more accuracy. The structure of
James and Pai [10] model real-time static local defor-
the mass spring is often application dependent and
mations using the boundary element method (BEM).
hard to interpret. The animation results often vary
BEM has the advantage of solving a smaller system
dramatically with different spring structures. The dis-
because it only deals with degrees of freedom on the
tribution of the mass to nodes is somewhat (if not com-
surface of the model. However, the resulting system is
pletely) arbitrary. Despite its inaccuracy, it does not
dense. It is difficult to apply boundary element method
have visual distortion and it is computationally cheap
to model non-homogeneous material.
to integrate over time because the system is, by its very
nature, a set of independent algebraic equations, which Our work differs from the previous work by either
requires no matrix inversions to solve. one or all of the following: (1) We simulate large global
deformations instead of small local deformations; (2)
As an alternative, finite element methods (FEM)
we simulate the dynamic behavior of soft objects rather
model the continuum much more accurately and their
than the static deformation.
underlying mathematics are well studied and devel-
oped. Another similar method is the finite difference
3 Nonlinear Elasticity with FEM
method, which is less accurate but simpler and appro-
priate for some applications. Indeed a linear finite dif- By global deformations, we mean deformations that are
ference method over a uniform mesh is just a special large and involve the entire body, such as high ampli-
case of FEM. Its accuracy and mathematical rigorous- tude bending and twisting (Figure 1 and 2). These
ness make FEM a better choice for applications such types of deformation often occur to soft objects, such
as surgical simulations. as tissue in surgical simulations.
Real-time Global Deformations
99
Figure 2: The bottom of the object is fixed and its top is twisted. The top in the left image is distorted (grown bigger)
because it is simulated using linear elasticity. The right image shows that the same distortion does not occur with nonlinear
elasticity.
The theory of elasticity is a fundamental discipline displacements at vertices of the mesh, called nodes,
in studying continuum material. It consists of a consis- will be calculated. The values at other points within
tent set of differential equations that uniquely describe the element are interpolated by continuous functions,
the state of stress, strain and displacement of each usually low order polynomials, using the nodal values.
point within an elastic deformable body. It consists of The global equations (the relationship between all the
equilibrium equations relating the stresses; kinemat- nodal values) are obtained by assembling elementwise
ics equations relating the strains and displacements, equations by imposing inter-element continuity of the
constitutive equations relating the stresses and strains; solution and balancing of inter-element forces.! This
and boundary conditions relating to the physical do- essentially requires solving the following system of dif-
main. The theory was first developed by Louis-Marie- ferential equations:
Henri Navier, Dimon-Denis Poisson, and George Green
in the first half of the 19th century [24].
Synthesizing those equations allows us to establish a Mii + Du+R(u) =F (1)
relationship between the deformation of the object and
the exerted forces. However an analytic expression of where u is the 3n-dimensional nodal displacement vec-
such relationship is impossible, except for a small num- tor; u and u, the respective velocity and acceleration
ber of simple problems. Finite element methods (FEM) vectors; F, the external force vector; M, the 3n x 3n
are one way to solve such a set of differential equations. mass matrix; D, the damping matrix; and R(u), the
From now on, we will discuss elasticity within the con- internal force vectors due to deformation. n is the num-
text of finite element methods. ber of nodes in the FEM model [29].
When the geometry of the deformable object is com- To our best knowledge the published research ((16,
plicated, it is impossible to obtain an analytic solution 3, 11, 5]) assumes small deformations in their virtual
of an elastic deformation. FEM solves this problem environment. The most simulated deformations are
by subdividing the object into small sub-domains with those caused by squeezing and poking at a relatively
simple shapes (tetrahedra, hexahedra, etc.), called fi- small surface region. The small deformation assump-
nite elements. The sub-division (mesh) does not only tion leads to the often used linear elasticity model,
approximate the original geometry, but also leads to a which is based on the following linear strain approx-
discrete representation of the deformation. imations:
In particular, we apply a displacement based finite el-
ement method to simulate such deformation. Namely 1Detailed discussions of FEM can be found in [19, 28].
Y. Zhuang and J. Canny
100
Ou Ow Ow
Ex
~ Ox (2) Ou Ov Ou Ou Ov Ov
ee
Moy = Bas Tapas
de Oy Ox Oy o}
_ au,
Tey Oy Ox
(3)
The other 4 terms of the strain are defined simi-
larly. It is easy to verify that the above nonlinear strain
handles arbitrary large rigid body motions correctly.
where z, y and z are the independent variables of the
Namely no artificial strain will be introduced when we
cartesian frame, and u, v and w are the corresponding subject the object to a rigid body motion.
displacement variables at the given point. Other terms
of the strain at point (x,y, Z), €y, €z, Yyz and Yza, are This quadratic strain makes (1) a nonlinear system,
defined similarly. in which the internal force R(u) is no longer a linear
term of nodal displacements. If we solve this nonlinear
This linear strain makes the internal force vector lin- system using an implicit integration scheme such as [2],
ear with respect to nodal displacement vector. Namely real time simulation is impossible for reasonably large
it simplifies Equation (1) to the following linear system: meshes.
We observe that a soft material such as live tis-
Mi+Diu+Ku=F (4) sue has small stiffness in all directions (not necessar-
ily isotropic). This makes explicit time integration
This allows a preprocessing step that computes the schemes appropriate because we can take large time
constant stiffness matrix K and its LU factorization. steps. We apply the explicit Newmark scheme to equa-
This preprocessing step has been the key factor to real- tion (1), which leads to the following equations:
time performance in previous works, such as [5], which
animates deformations using a sequence of static equi- 1
Tre ee | aT AN or sun At, (7)
libria.
The problem with this linear strain approximation
is that it does not model finite rotation correctly. As i . Ra t i
(M+ 5 AtnD)iin+1 = Frti-R(un41)—D(tnt5tinAtn)
a result, it introduces distortions when large global de-
formations occur (Figure 1 and 2), because global de- (8)
formations usually involve finite rotation of part of the
object relative to the rest of it. i : Lie z
Un+1 = Up + 3 (un a5 G1 )AG, (9)
To further illustrate this distortion, let us subject
an undeformed object to a rigid body rotation. Ap- Newmark scheme converts a nonlinear system to 3
parently, the rotation should not introduce any defor- linear systems (7), (8) and (9). The order of updating
mation to the object. Namely the strain at any point is (7), (8) and then (9).
within the object should be zero. However equations
(2) and (3) give a nonzero strain. This “artificial” 4 Preprocessing the Inverse Matrices
strain leads to distortion, because the body has to de-
form in a certain way to balance the stress caused by The bottleneck of Newmark scheme is solving Equa-
such an “artificial strain”. tion (8). It requires inverting a large sparse matrix
M + tAtnD. This matrix is not a constant matrix
To avoid the distortion, as shown in Figures (1) and
because the time step At, may vary over time. In-
(2), we model the deformation using the exact strain,
verting a different large sparse matrix makes real time
which is quadratic as following:
performance impossible.
To achieve real-time performance, Zhuang and
Canny [27] approximated this matrix with its row-
lumped diagonal matrix. This is equivalent to diag-
onalizing both the mass matrix M and the damping
Real-time Global Deformations
101
middle 4 middle
left right
(a)
Figure 3: (a) The dissector in the regular nested dissection algorithm is a layer of nodes. (b) The modified nested dissection
algorithm uses a layers of elements (shaded), cut by a plane (or a line in 2D), as the dissector.
matrix D. The diagonalization of M is acceptable be- only requires back-substitution. The time for back-
cause it still preserves the global inertia property of substitution is determined by the number of nonzeros
the object, although it does not preserve the local mo- in the LU-factorization of (M + 5At,D). In Section
ment of inertia. The diagonalization of the damping 5, we discuss how to reduce number of nonzeros in the
matrix may lose important viscous elasticity property LU-factorization.
of the material. For simulations that require more
physical realism, diagonalization of matrix D is not 5 Nested Dissection
appropriate.
A typical finite element simulation has to solve a large
In this section, we propose a different treatment by
sparse linear system of large number of nonzero entries.
preprocessing. The matrices M and D are contants.
For example, a 10 x 10 x 10 linear hexahedral mesh for
The only variable is At,. The time step At, depends
3D linear elasticity gives a sparse matrix of 3993 x 3993
on the stability requirement of the system and the col-
with 242435 non-zeros, which is about 1.5% of the size
lision handling requirement. Instead of approximating
of a dense matrix with the same dimensions. To solve
these two matrices as [27] does, we restrict the time
such a system efficiently, we have to avoid operating on
step At, to a small set of values. Let T' be the largest
zeros aS much as we can. However how efficiently we
time step allowed, we define the restricted set of al-
can do so largely depends on the sparsity of the matrix:
lowed time steps as {T'/2*|i = 0,1,...,m}. We choose
the position of the nonzero entries.
the value m such that T/2” < Tin, where Tin is the
minimum time step in the worst case. Given a finite element model of a physical problem,
the values of non-zeros of (M + 5At,D) are deter-
By restricting time steps to such a small set of values, mined by the underlying model, while the positions
we only have m+ 1 possible matrices needed for the of those non-zeros are determined by the indices of
entire simulation. We can therefore pre-compute the the variables. For convenience, let us denote matrix
m + 1 inverse matrices before the simulation begins. (M + $At,D) by A. The entry (i,7) of A is nonzero
Instead of precomputing the inverse of matrix if and only if the variable xz; and x; are related. Given
(M + $AtnD), we precompute its LU-factorization. such a sparse matrix A = LU, the LU-factorization
Given the LU-factorization, solving Equation (8) takes O(>, dj) space and O()), d?) time, where d; is
_|
Y. Zhuang and J. Canny
102
Right
Zeros
ci
(a)
500 1000
B: _
1500
Pt
ome
i
: 4°
”
Sie
# arees
4
7000an 3000
PT 115 ee
tea
= 316692
(c)
*i
3500
si
aeB
00
ees
mr
4500 500)
Figure 4: (a) The block structure of sparse matriz A after the first dissection. (b) The sparse matrix structure generated
by nested dissection. (c) The sparse matrix ordering using non-gird nested dissection.
the number of non-zeros in each column vector of £ has one degree of freedom.? A mesh of n nodes leads
[8]. If we assume that no exact numerical cancella- to a sparse matrix A of size n x n. An entry (7,7) is
tions can occur, £ will have non-zeros below the diag- nonzero if and only if the node i and 7 are in the same
onal everywhere that A does. We define fills to be the element.
below-diagonal entries in which £ is nonzero and the For the mesh generated on regular grid (3(a)) The
corresponding entry of A is zero.” regular nested dissection [6] algorithm recursively di-
Different ordering of the row and column vectors of vide the unordered nodes into 3 groups: left, middle
the matrix A has no effect on the underlining physical and right. The group middle is just a set of nodes that
problem that we are solving. However it dramatically completely separate left and right. This algorithm or-
change the number of fills. In order to reduce the space ders the nodes such that its sparse matrix has fractal
and running time for LU-factorization and the time of sparsity as shown in Figure 4(b). After the first step
the corresponding back-substitution, we would like to of recursion, we immediately get 2 blocks of zeros as
minimize the number of fills. Unfortunately finding the shown in Figure 4(a), because left and right are not
order that gives the smallest fills is an NP-complete directly related.
problem [26]. Unfortunately regular nested dissection algorithm
For sparse matrix that arises from regular finite requires a finite element mesh defined on regular grid.
element mesh, George[6] proposed a heuristic called For an unstructured mesh, it would be difficult to find
nested dissection for ordering the variables of the sys- middle to dissect the mesh. In computer graphics, most
tem such that it gives a small number of fills. meshes are unstructured. This motivated us to extend
regular nested dissection to unstructured finite element
Unfortunately a FEM mesh is often unstructured. In mesh.
this section, we propose a modified nested dissection
that works on any unstructured finite element mesh. Instead of separating the set of unordered nodes us-
ing a layer of nodes, we “cut” the mesh by a axis-
aligned plane. It is easy to compute the set of elements
5.1 Modified Nested Dissection
cut by this plane. We let middle be the set of unordered
nodes in the elements cut by this plane and continue
For the simplicity of the presentation, let us consider
recursively as the regular nested dissection.
a 2-dimensional finite element mesh, where each node
’This can be easily generalized to multiple degrees of
7A is symmetric. freedom and 3-dimensional meshes.
Real-time Global Deformations
103
number
fills
of
time
LUfactorization
= ue n n n — . 4 ——_= 4 .
0 500 1000 1500 2000 2500 3000 3500 4000 4500 1500 2000 2500 3000 3500 4000 4500
size (n) size (n)
(a) (b)
Figure 5: The result for minimum degree ordering is plotted in dashed line, non-grid nested dissection in solid line, and
the standard nested dissection in dash-dot line. (a) Number of fills. (b) Running time.
This modified nested dissection can be applied to any Before calling this function the first time, we initial-
unstructured finite element meshes, including tetra- ize each entry of the permutation array perm to -1 (or-
hedral meshes. Figure 3(b) shows one step of such der unassigned), and we compute the centroid of each
a dissection. It also leads to the block structure as element. The function Find-dissector simply computes
shown in Figure 4(a), except that the size of the M- the 3 medians along z, y, and z direction and compare
block is bigger. At the end, we still get an ordering the number of elements cut by the axis-aligned planes
that gives a sparse matrix with fractal sparsity (Fig- thru the medians and return as the dissector the plane
ure 4(c)). Due to the larger size of matrix M, the with the minimum cut.
two “wings” (M — left and M — right) are wider at
each level. 5.2 Running Time
The pseudo code of the modified nested dissection is
It takes O(n) time to find the median given a list of n
as following: numbers [4]. The depth of the recursion is apparently
Modified-nested-dissection(E, top, perm) O(log n). Thus the total running time is O(n logn).
if E€.length = 0 then
return. 5.3. Numerical Experiments
else if €.length = 1 then
for each node j in E[0] do In order to measure the performance of the modified
if perm|j| != —1 do
nested dissection algorithm, we compare its fills and
perm|j] = top
LO Dida LU-factorization time with that of regular nested dis-
endif section and that of minimum-degree algorithm [12, 7].
else All the matrices are derived from a 3-dimension fi-
Find-dissector(€). nite element mesh of different size. The comparison
middle = all the elements cut by the dissector.
of number of fills is listed in Table 1 and that of the
left = elements to the “left” of the dissector.
right = elements to the “right” of the dissector. LU-factorization time is listed in Table 2.
Modified-nested-dissection(middle, top, perm). Minimum-degree ordering is an alternative ordering
Modified-nested-dissection(left, top, perm).
proposed to handle general matrix. It is an greedy al-
Modified-nested-dissection(right, top, perm).
endif gorithm that does the ordering directly on the connec-
Y. Zhuang and J. Canny
104
6a
[375 | 15285 |25722|
12384
52131
6|1176_[ 60360 332766
60888
487701 |117900 |
fad
[9 [1728 [94266
Pe |
2187 286929
tivity graph defined by the matrix. Our numerical ex- The popular penalty methods [21, 20, 22] model the
periments show that our modified nested dissection al- collision by adding an artificial spring of large stiffness
gorithm has an apparent advantage over the minimum- at the point of collision. This stiff spring requires tiny
degree ordering, in both space and running time. Our integration time steps to stably simulate a collision.
modified nested dissection algorithm produces an order Various experiments show that the ratio between a col-
that has less fills, than the minimum-degree ordering, lision free integration time step and that of a penalty
in 17 of 18 tests, while it has a better LU-factorization collision is on the order of hundreds if not more.
time in all 18 test. The result is plotted in Figure 5. This tempts us to develop new collision-handling
This suggests that the geometry of the mesh gives bet- methods that avoid adding extra artificial stiffness into
ter heuristic than its connectivity graph. the system. We will illustrate our collision-handling
Also it is worth noting that the modified nested method, using a special case: collision between a rigid
dissection ordering requires significantly less time for body and a single node of the FEM mesh of the de-
LU-factorization while only having slightly less fills formable body (Figure 6). Later in this section, we will
than the minimum-degree ordering. This shows that show that it is straightforward to extend this method
the modified nested dissection leads to better sparsity: to handle general collisions of deformable objects.
Non-zeros are more optimally positioned in the matrix. Consider the collision between a moving deformable
body and a moving rigid body (Figure 6). To sim-
6 Collision Handling plify the discussion, we use the moving frame attached
to the moving rigid body instead of the fixed world
For collisions involving deformable objects, the colli- frame. Namely all quantities are relative to the mov-
sion time can be assumed finite (unlike the instanta- ing rigid body. Assume that at time t,, the node p on
neous collision of rigid bodies). This allows a larger the deformable object, with relative velocity ¥(p)n, is
time step for numerical integration. colliding with the rigid surface of outward normal n.
Real-time Global Deformations
105
[6 [1176-60360
[8 [1556 | 82956
[9 [tras |94366-| 86.30 [8
|
4.52
138870
2700
95630
rigid surface js :
~
ve deformable body
are
‘
eetn
2
eae
2V(D)n
Atn
If we choose Atp+1 = Atn, by Equation (7), we have:
This collision integration scheme can be generalized better algorithm using sweeping-line (plane). By us-
to collisions between deformable bodies and collisions ing a sweeping-line (plane) approach, we may be able
that involve multiple point contacts. Multiple point to find a “thin” layer of nodes (rather than a layer of
collisions are modeled as a set of simultaneous single elements) to separate the mesh. This way, we would
point collisions. be able to generalize the regular nested dissection algo-
rithm to unstructured mesh without giving away any
Unlike a general impulse [1, 13, 14], we do not have
performance. We are currently studying this approach.
to distinguish the case that the colliding deformable
objects quickly bounce away from each other and that We also introduced an efficient collision constraint.
one sticks to or slides on the surface of the other. The This constraint enables us to simulate the collisions
bouncing collision, the sticking and sliding contacts, with little extra computation, compared to a collision
are handled by exactly the same collision integration free simulation step. Our experiments show that this
constraint. This collision constrain adds little extra collision constraint handles collision much more effi-
cost to the dynamic simulation. cient than penalty method.
Currently our system is able to produce real-time
7 Conclusions and Future Work graphics for a mesh of several hundred vertices. We
are interfacing our system to haptic devices, such as a
We presented a simulation system that simulates global Phantom, so that users can interact with deformable
3D deformations in real-time. Due to the distortion as- objects in real-time.
sociated with linear strain, we simulate the global de-
formation using geometrically nonlinear finite element Acknowledgments
methods. The nonlinear FEM formulation is derived
from the application of the nonlinear exact strain. Supported by a Multi-Disciplinary Research Initiative
It is in general too expensive to solve such a nonlinear grant for 3D Visualization, sponsored by BMDO with
FEM system in real time. In order to achieve real-time support from ONR. We thank Panayiotis Papadopou-
performance, we pre-compute the LU-factorization of los for sharing with us his FEM expertise and Jonathan
a small number of large sparse matrices. Such pre- Shewchuk for his insight in 3D meshing.
processing is possible because we restrict the time steps
to a small set of values. Our experiments show that References
usually we only need no more than 3 different values
for time steps. [1] David Baraff and Andrew Witkin. Dynamic simula-
tion of non-penetrating flexible bodies. In Computer
To reduce the time and space for LU-factorization Graphics: Proceedings of SIGGRAPH, pages 303-308.
and the time of back-substitution, we apply nested ACM, 1992.
dissection to reorder the vertices in the finite element
mesh. Such a reordering does not change the physi- [2] David Baraff and Andrew Witkin. Large steps in cloth
simulation. In Computer Graphics: Proceedings of
cal model that we are simulating. But it dramatically
SIGGRAPH, pages 303-308. ACM, 1998.
reduce the number of nonzeros in the LU-factorization.
We modified the regular nested dissection algorithm [3] David Chen. Pump It Up: Computer Animation of
a Biomechanically Basded Model of Muscle Using the
so that it works on unstructured finite element mesh. Finite Element Method. PhD thesis, MIT, 1992.
The modified nested dissection ordering takes 30% to
50% more time for the LU-factorization than the reg- [4(Aes Thomas H. Cormen, Charles E. Leiserson, and
ular nested dissection, however it is more general than Ronald L. Rivest. Introduction to Algorithms. The
the regular nested dissection: it is able to handle any MIT Press, 10 edition, 1993.
unstructured finite element mesh. [5 Stéphane Cotin, Hervé Delingette, and Nicholas Ay-
Our current implementation simply uses a cutting ache. Real-time elastic deformations of soft tissues
plane and separate the mesh using the elements inter- for surgery simulation. IEEE Transcation on Visual-
ization and Computer Graphics, 5(1):62-73, January-
sected by the cutting plane. It seems that there is a March 1999.
Real-time Global Deformations
107
[7] Alan George and Joseph W. H. Liu. A fast implemen- [18] X. Provot. Deformation constrains in a mass-spring
tation of the minimum degree algorithm using quotient model to describe rigid cloth behavior. Computer In-
graphs. ACM Transaction on Mathematical Software, terface, 1995.
6(3), September 1980.
[19] J. N. Reddy. An Introduction to the Finite Element
Alan George and Joseph W. H. Liu. Computer Method. McGraw-Hill, Inc., 2nd edition, 1993.
Solution of Large Sparse Positive Definite Systems.
Prentice-Hall, Inc., 1981. [20] D. Terzopoulos and K. Fleischer. Modeling inelas-
tic deformation: Viscoelasticity, plasticity, fracture.
Sarah F. Gibson and Brian Mirtich. A servey of de- Computer Graphics, 22, August 1988.
formable models in computer graphics. Technical Re-
port TR-97-19, Mitsubishi Electric Research Labora-
[21] D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer.
Elastically deformable models. Computer Graphics,
tories, Cambridge, MA, November 1997. 21, July 1987.
Doug L. James and Dinesh K. Pai. Artdefo: Accu- [22] D. Terzopoulos and K. Waters. Physically-based facial
rate real time deformable objects. Computer Graphics: modeling, analysis and animation. Journal of Visual-
Proceedings of Siggraph, pages 65-72, August 1999. ization and Computer Animation, 1990.
[11] E. Keeve, S. Girod, P. Pfeifle, and B. Girod. Anatomy- [23] K. Waters. A muscle model for animating three-
based facial tissue modeling using the finite element dimensional facial expression. Computer Graphics,
method. JEEE Visualization, 1996. 21(4), July 1987.
[12] Joseph W. H. Liu. Modification of minimum-degree [24] H. M. Westergaard. Theory of Elasticity and Plastic-
algorithm by multiple elemination. ACM Transaction ity. Dover Publications, Inc., 1964.
on Mathematical Software, 11(2), June 1985.
[25] A. Witkin and et al. . An introduction to physically
at Tain a} ne al
ar. iT its ;
4 te, ahaa he Here b ‘ues waht" ¢ ety e a8 trp.~
tit = igdapey
me poll
ih a
ea
—e es
e =e ste eoie Tor ea al
y “ti «i
hi shetesfrT cosine
Nab. - _
We present a general motion planning algorithm for multi-fingered hand manipulation. The method is in-
robotic systems with a “stratified” configuration space. dependent of the number of legs (or fingers) and many
Such systems include quasi-static legged robots and other aspects of a robot’s morphology. In the legged lo-
kinematic models of object manipulation by finger repo- comotion context, it is distinct from previous planning
sitioning. Our method extends a nonlinear motion methods in that it is not based on foot placement con-
planning algorithm for smooth systems to the stratified cepts, and therefore the computationally burdensome
case, where the relevant dynamics are not smooth. The calculation of foot placement can be avoided. Instead,
method does not depend upon the number of legs or fin- our approach focuses on control inputs.
gers, nor is it based on foot placement or finger place-
ment concepts. Examples demonstrate the method.
1 Introduction
authority in this design may be desirable in practical stages of legged robot system design. While the tech-
situations because it decreases the robot’s mechanical niques outlined in this paper are equally applicable for
complexity. This leg geometry can also probably be im- locomotion and hand manipulation, the bulk of the pa-
plemented at very small size scales using MEMS tech- per will focus on locomotion, with the application to
nology. However, such decreased kinematic complex- hand manipulation briefly sketched at the end of the
ity comes at the cost of requiring a more sophisticated paper. An interesting observation, which is not ex-
control and motion planning theory. Note that for this plored in this paper, is that our technique is equally
robot, it is not immediately clear if it can move “side- applicable to both locomotion and manipulation.
ways.” There is a vast literature on the analysis and control
The issue of this mechanism’s ability to move side- of legged robotic locomotion. Prior efforts have typ-
ways is the controllability problem. In Refs. [9, 8] we ically focused either on a particular morphology (e.g.
present controllability tests for stratified systems. We biped [17], quadruped [19, 2], or hexaped [32]) or a par-
assume in this paper that a given system is controllable ticular locomotion assumption (e.g. quasi-static [32] or
in the stratified sense. Otherwise, it is not possible to hopping [25]). Less effort has been devoted to uncover-
track an arbitrary trajectory. Given the assumption ing principles that span all morphologies and assump-
of controllability, this paper addresses how to plan the tions. Some general results do exist. For example, the
robot’s leg (or finger) movements so that it can approx- bifurcation analysis in Ref. [5], many optimal control
imately follow a given trajectory. A conventional “foot- results such as those in Ref. [3] and the fundamental
placement” approach, where the foot can be placed as conservation of momentum and energy results that un-
necessary to implement vehicle motion, will clearly not derlie Raibert’s hopping results [25] have general ap-
work for the hexapod of Figure 1, because sideways leg plicability. However, none of these methods directly
placement is impossible. use the inherent geometry of stratified configuration
Our approach is motivated by the method of Laffer- spaces to formulate results which span morphologies
riere and Sussmann [18] for motion planning for a class and assumptions. Our work makes a novel connec-
of nonlinear kinematic systems whose equations of mo- tion with recent advances in nonlinear geometric con-
tion are smooth. However, since legged robots (and trol theory. We believe that this connection is a useful
grasping hands) intermittently make and break con- and necessary step towards establishing a solid basis
tact, their equations of motion are not smooth. Hence, for locomotion engineering.
the method of Ref. [18] cannot be directly applied. In contrast to robotic legged locomotion, many re-
Section 3 introduces the notion of a stratified c-space, sults in robotic grasping and manipulation are formu-
which is decomposed into various subspaces (or strata) lated in a manner that is independent of the morphol-
depending upon which combination of feet are in con- ogy of the gripper [24]. Vast efforts have been directed
tact with the ground. We extend the approach of Ref. toward the analysis of grasp stability and force closure
[18] by using the stratified c-space structure in a novel (26, 27, 31], motion planning assuming continuous con-
way. It is likely that other methods for steering smooth tact [20, 33, 13] and haptic interfaces and other sens-
systems (such as Ref. [22]) can be similarly extended by ing [6, 29, 28]. Finger gaiting, where fingers make and
adopting our framework. A main contribution of this break contact with the object has been less extensively
work is the introduction of a geometric framework that considered. Finger gaiting has been implemented in
supports the extension of prior nonholonomic motion certain instances [23, 15, 7] and also partially consid-
planning techniques to this class of systems. ered theoretically [14, 4, 10]. Perhaps the approach
Our approach is general and thus works indepen- which most closely mirrors that of the subject of this
dently of the number of legs (fingers). It may be true proposal is in [24] where notions of controllability and
that for a given quasi-static legged robot, one could de- observability from “standard” control theory are ap-
velop a specific motion planner that would perform as plied to grasping (however, these results are limited to
well, or possibly better, than the technique described the linear case and do not allow for fingers to intermit-
in this paper. The key advantage of this approach is tently contact the object).
its generality. It is particularly well suited to the task Section 2 briefly reviews standard ideas, and summa-
of quickly designing a planner during the preliminary rizes the motion planning method of Ref. [18]. Section
Motion Planning for Kinematic Stratified Systems
1!
3 introduces our notion of a stratified c-space. Section Theorem 1 Given two smooth vector fields 91, 92 the
4 presents our algorithm in the context of quasi-static composition of their exponentials is given by:
legged locomotion, while Section 5 applies this algo-
rithm to the system of Figure 1. Section 6 sketches et @92 — e91t92+3191,92]+
73([91,[91,92]]—-[92,[91,92]])-- (4)
the application of these ideas to multi-fingered hand
manipulation, and presents an example. where the remaining terms may be found by equating
terms in the (non-commutative) formal power series
2 Background on the right- and left-hand sides.
We assume the reader is familiar with the basic nota- 2.1 Trajectory Generation for Smooth
tion and formalism of differential geometry and non- Systems
linear control theory, as in Ref. [16]. The following
This section reviews the motion planning method of
definitions and classical theorems are reviewed so that
Ref. [18] for smooth kinematic systems described by a
the starting point of our development will be clear.
single equation having the form of Equation (1).
The equations of motion for smooth kinematic non-
A nonholonomic control system often does not have
holonomic systems take the form of a driftless nonlin-
enough controls to directly drive the system along a
ear affine control system evolving on a configuration
given trajectory, i.e., the number m in Equation (1)
manifold, M:
is less than the c-space dimension. In the method of
= Gi(2)Uy +---+Gm(t)Um xceEM. (1) Ref. [18], this deficit is managed by using an “extended
system,” where “fictitious controls,” corresponding to
Since we restrict our analysis to quasi-static locomotion
higher order Lie bracket motions, are added. If enough
and kinematic models of multi-fingered manipulation,
Lie brackets are added to the system to span all pos-
the governing equations of motion will piecewise take
sible motion directions (which is possible if the system
the form of Equation (1) on each strata. Recall that
is locally controllable), then the motion planning prob-
the Lie bracket between two control vector fields, gi (z) lem becomes trivial for the extended system.
and g2(x), is computed as:
The extended system is constructed by adding Lie
(91(2),92(2)] = P8247)
9,(q)— HX 9 (a) bracket directions to the original system from Equa-
tion (1),
and can be interpreted as the leading order term that
results from the sequence of flows ES BU ER Bab GO Ge aS)
G29 0 G-% 0 bf 0 G(x) = (91, g2](x) + O(€*), (2) where 6; = g; for? = 1)...,m, and the 0n41,-.-,05
correspond to higher order Lie brackets of the g;, cho-
where $2 (x9) represents the solution of the differential
sen so that dim(span{b,,...,6;}) = dim(Z,M). The
equation £ = gi(x) at time € starting from Zo.
vs are called fictitious inputs since they may not cor-
Campbell-Hausdorff Formula. The flow along respond with any actual system inputs. The higher
the vector field g; can be considered by its formal ex- order Lie brackets must belong to the Philip Hall basis
ponential of g;, denoted by: (30, 21] for the Lie algebra. The control inputs v' which
2 steer the extended system can be found as follows. To
(a) = e'%(2) = (I+ tat a+) (3) go from a point p to a point q, define a curve y(t) con-
necting p and q (a straight line would work, but is not
where terms of the form g? are partial differential oper- necessary). After determining y(t), simply solve:
ators. In order to use Equation (3), composition must
be from left to right, as opposed to right to left for ¥(t) = gi(y(t))v +--+ + gs(r(t))e* (6)
flows, ¢.g., $72 0 of! = e%"1e9"2, where both sides of
this equation mean “flow along g; for time t; and then for the fictitious controls v;. This will involve invert-
flow along gz for time t2.” The relationship between ing a square matrix or determining a pseudo-inverse,
the flow along vector fields sequentially is given by the depending on whether or not there are more 6,’s than
Campbell-Baker-Hausdorff formula [34]. the dimension of the configuration space.
112 W. Goodwine and J. Burdick
To find the actual controls, first determine the Philip of order greater than two are inconvenient to control
Hall basis for the Lie algebra generated by g1,..-,9m; since many motions are needed to effect even a small
and denote by B,, Bo,...,B, a collection of basis el- motion in a higher-order Lie bracket direction. For this
ements such that when they are evaluated as vector reason, and for purposes of the clarity of presentation,
fields, they form a basis space of vector fields. All flows we limit our attention to second order brackets. How-
of Equation (1) can be represented in the form: ever, there is no theoretical limitation on the order of
brackets.
S(t) = elts(t) Bs phs—1(t)Bs-1 at e2(t) Be phi (t)Bi (7)
If the system is nilpotent, this method exactly steers
for some functions hy, h2,..., hs, called the (backward)
the system to the desired final state. Else, the system is
steered to a point that is, at worst, half the distance to
Philip Hall coordinates. Furthermore, S(t) satisfies the
the desired state [18]. The algorithm can be iterated to
formal differential equation:
generate arbitrary precision. This iterated method also
S(t) = S(#)(Byu.
+ +--+ Bsvs); S(0)=1. (8) includes the notion of a “critical” step length. Ref. [18]
estimates the critical step length bound, and shows via
If we define the adjoint mapping: simulations that the actual critical length is typically
larger than the estimated bound.
Ad,-1;3; Be — en Bie tht
Definition 2 Let So be a manifold, and n functions 4.1 The Stratified Extended System
®; : So H+ R, 7 = 1,...,n be such that the level sets On each strata, only one set of governing equations is
S; = 67'(0) C So are regular submanifolds of So, for in effect. Generally, the equations of motion in the
Motion Planning for Kinematic Stratified Systems
115
The notation “Siz ~— S,” means that the flow takes the
system from S; to Sy2 and “on S$,” means that the flow
lies entirely in S. This sequence of flows is illustrated
in Figure 4. In this sequence, the system first moved off
of the bottom stratum into $1, flowed along the vector
field 91,2, flowed back onto the bottom stratum, off of
the botiom stratum onto S2, along vector field g2,2 and
back to the bottom stratum.
Notice that from the Campbell-Baker—Hausdorff for-
mula (Equation (4)), if the Lie bracket between two vec-
tor fields is zero, then their flows commute. Thus, if
aD2 © Psi
1 (x 0). (13) Erect atop acti P(dbp,o1.) =0. (16)
on
ee Beat
116 W. Goodwine and J. Burdick
Henceforth, we will just assume that the vector field foot is very close to the ground, or very far from the
on the higher stratum is tangent to the lower stratum, ground, but may be dependent upon whether or not a
and note that if it is not tangent, we can modify it to foot is in or out of contact with the ground. When this
be so in the above manner. is so, the Lie bracket of the vector field controlling foot
height with any other vector field is zero, and the de-
The above example shows how one can effectively
coupling requirement is satisfied. Additionally, the tan-
determine the influence of a control that is defined in
gency requirements for canceling the flows associated
a higher stratum on the net evolution of the system in
with raising and lowering the foot will automatically be
the lower stratum. The following example shows how
satisfied.
motions that are analogous to Lie Bracket motions can
~ be realized by controls on different higher strata.
This is arguably a strict assumption. However, for
Example 2 Consider the sequence of flows kinematic, legged robots this assumption will almost
always be satisfied (see Section 5 for an example).
t t t t t t
ay — O54 2 ae ? Gay = ee 3 te = Da 4
Examples 1 and 2 show that in given a stratified
t t t t t t
Ces a ee - Cons a Cain Ssee 2 Dae (xo) system, the vector fields on any stratum (other than
vector fields corresponding to lifting or replacing feet)
The first six flows in this example are the same as in can be considered as part of the equations of motion
Example 1. Following the first siz flows are siz more in the bottom stratum if either certain Lie bracket and
wherein the flows that are entirely on Sj, i.e., the flow tangency conditions are met, or if Assumption 3 is sat-
along 91,2, and entirely on So, i.e., the flow along g22, isfied. If the vector fields are not tangent to the bottom
are in the negative direction. If the Lie brackets are
stratum, they are modified as in Example 1.
zero as in Equation (14), and t; = ti+2, i = 1,4,7, 10
these flows can be rearranged as We have shown above that it is possible to consider
vector fields in higher strata as part of the equations of
t t t t
LF = Pg,. ° Oras © bgo,2 54,2 (0). motion for the system on the bottom stratum. Based
on this observation, we introduce the following.
Now, if ta = ts = tg = Fila;
t t t t
aah Ee v Hite S O23 . Doro (Zo) Definition 4 The extended stratified system on the
2 bottom strata, Sg, is the driftless affine system com-
= Picts as a5 O(t?) (zo), prised of the vector fields on the bottom strata, chosen
where t = tg = ts = tg =t11 <1. Thus, this sequence vector fields from the higher strata, and Lie brackets
provides a net flow in S2 in the direction of the Lie of vector fields from Sg and higher strata. L.e., it is a
bracket between vector fields which are in the equations system taking the form:
of motion on different strata, S; and So.
£ = 064(x)v1 +---bm(x)Um
In Examples 1 and 2, it was required that certain
ta By 1 Ort I bnUn
Lie brackets be zero. While one could simply check —————
that these conditions are met in a given situation, the from higher strata
following assumption will guarantee this condition. ahs bn4i1Un+1 ae ees se DpUp, (17)
—__——— ooo’
Assumption 3 [f it is necessary to lift a foot from the any Lie brackets
ground during a gait cycle, we assume that the robot
can directly control, (via a single control, or a combina- where the {b;,...,6,} span T;So, the inputs v1,...,Un
tion of control inputs), the height of that foot relative to are real, and the inputs vp41,... , Up are fictitious.
the ground. Furthermore, for each stratum comprising
the given gait, we assume that the system’s equations With this definition, we have effectively increased the
of motion are independent of the foot height. I.e., the class of vector fields that we may employ when using
robot’s motion is independent of whether a particular the motion planning algorithm presented in Section 2.
Motion Planning for Kinematic Stratified Systems
147
4.2 The Motion Planning Algorithm the sequence of flows in Equation (7) are arranged by
For motion planning, the method of Section 2 could be order, and, from a gait efficiency point of view, it is
used in conjunction with the stratified extended sys- desirable to have them arranged by strata. It is pos-
tem. The basic idea is to use the stratified extended sible to regroup this sequence of flows by strata if the
system to plan the motion in the bottom stratum in Lie bracket between any vector fields (considered re-
order to obtain the fictitious inputs. We can deter- stricted to the bottom stratum) from different strata
mine the actual inputs by the method in Section 2 are zero. If this is true, Examples 1 and 2 show that it
with the modification that whenever the system must is possible to reorder the flows to obtain the same net
result. Flows corresponding to the same stratum could
flow along a vector field in a higher stratum, it switches
be grouped together. In physical terms, this grouping
to that stratum by lifting the appropriate feet, flowing
will reduce the number of times that a particular foot
along the vector field, and then replacing the appropri-
must make and break contact with the ground. The
ate feet, as in Example 1.
example in Section 5 does not satisfy this assumption.
Specifically, the algorithm to generate trajectories
that move the system from initial configuration p to
4.3 Gait Stability
final configuration q is as follows.
There is not an inherent mechanism in the straight—
1. Construct the extended stratified system, Equation forward application of the method of Section 2 to guar-
(17), on the bottom strata, Sz. antee the stability of the gait. Recall that the method
is based on the selection of a trajectory for the extended
2. Find a nominal trajectory, y(t), that connects p
system, y(t), from which the fictitious inputs are de-
and gq. Given 7(t), solve
termined. It is important to note that the actually
realized trajectory will generally not be y(t). Thus,
Y(t) = bi(x)v1 +--+ + bp(Z) up,
merely picking an initial trajectory y(t) which is al-
for the fictitious inputs, v;. As discussed in Section ways stable is not sufficient. One also must guarantee
4.3, it may be necessary to decompose the entire that the method’s inherent deviations from the initial
trajectory from the initial point to final point into trajectory lie within the stability bounds.
smaller subtrajectories.
Stability considerations can be incorporated into the
3. Solve the stratified extended system for the ficti- method as follows. Assume that there is a means for de-
tious control inputs. Le., solve for the backward termining the stability of the system, such as a scalar—
Philip Hall coordinates by solving the differential valued function of the configuration, U(x). For con-
equations (from Equation (10)). venience, assume that when W(x) < 0, the system is
unstable, when U(x) > 0, the system is stable, and
4, For each path segment in each strata, compute the when W(x) = 0, the system is on the stability bound-
actual controls that steer the system along 7(t). ary. In our analysis, the initial trajectory, y(t), must
This solution might require the transformation of be selected such U(y7(t)) > 0.
the backward Philip Hall coordinates to forward
The overall approach is to, when necessary, take
Philip Hall coordinates.
steps that are “small enough” to ensure that the system
5. Flow along each first order vector field, and ap- remains stable. Since the flow sequences are composed
proximate higher order vector fields as illustrated of small motions and a norm is necessary to measure
in Example 1. In general, it will be necessary to the length of a flow, we will either consider the system
switch strata between some of these flows. locally in R” or equip the configuration manifold with
a metric. Given a desired step along the trajectory,
Before we illustrate this method in Section 5, we con- y(t), t € [0,1], let R = min{||z —cl], ¢ € Y*(0)},
sider the issues of gait efficiency and stability. With re- i.e. the distance from the step’s starting point to the
gard to gait efficiency, note that the straight-forward closest point on the stability boundary. We want to
application of the method of Section 2 may result in an ensure that the system’s trajectory does not intersect
inordinate amount of strata switches. That is because the set Y~1(0). Let 2, and zy denote the starting
W. Goodwine and J. Burdick
118
and final trajectory points. Without loss of general- bound. Given these two observations, an appropriate
ity, let y(t) = x +t(xy — x5) be a desired straight line step length may often be best determined experimen-
path between the starting and end points. Also, let tally.
A = |\ay —2,||. Recall that the fictitious inputs, v’ These very same observations also apply to obstacle
were determined by solving an equation of the form avoidance. If the robot traverses an environment with
¥(t) = gi(y(t))v' +--+» +gs(7(t))v® for the v'. We have obstacles, we assume that the nominal trajectory is de-
that: ||v*|| < C||+(t)|| = CA, for some constant C. By signed by an holonomic or rigid body planner in such
the method of construction of the real inputs from the a manner as to avoid obstacles. Ensuring that the ac-
fictitious inputs, we have that. ||u*|| <CA1/*, where k tual trajectory also avoids the obstacles, requires that
is the degree of nilpotency of the system, or the degree the nominal trajectory be analogously broken into suf-
of the nilpotent approximation. ficiently small steps to ensure that the actual trajectory
Pick a ball, B, of radius R, and let K be the max- remains sufficiently close to it.
imum norm of all the (first order) vector fields, 9;
for all points in B. Recall that the real inputs, w’ 5 Example
were given by a sequence of inputs which approxi-
mate the flow of the extended system. Denote this We illustrate our approach by generating control in-
sequence by Us, where the superscript indexes the in- puts that will steer the hexapod of Figure 1 to walk
put, and the subscript indexes its position in the se- over flat terrain (see Section 6 for an example involving
quence. The maximum distance that the system can manipulation of a curved object, which is analogous to
possibly flow from the starting point, z,, is given by locomotion over uneven terrain). The key difficulty in
the sum of the distances of the individual flows. Let this example is the fact that the legs are kinematically
Im = MaxX;e(0,1]{||Z(t) — xs ||} denote the point in the insufficient, making sideways motion difficult. Assume
flow that is maximally distant from the starting point that the robot walks with a tripod gait *, alternating
(this is not necessarily the final point, x7). To guaran- movements of legs 1-4-5 with movements of legs 2-3-6.
tee stability, we must show that ||z, — 2|| < R. How- With the tripod gait, this robot has four control inputs.
ever, this distance, ||z,, — x|| is necessarily bounded by The inputs wu; and uz respectively control the forward
the sum of the norms of each individual flow associated
and backward angular leg displacements of legs 1—4—
with one real control input, ui, 4:62;
5 and legs 2-3-6, while inputs ug and wu, respectively
1
control the height of legs 1-4-5 and 2-3-6.
lem — all < aes So| 0 giui dtl) The equations of motion can be written as follows:
tJ
= cos@(a(hi)ui + B(h2)u2)
However, ||u‘|| < CA‘/* and ||g:(z)|| < K Va € B.
ys sin 8(a(hj)uy + B(h2)u2)
Thus,
2m —al|< $)KCAM*, (18) Gr la(hy)uy = IB(h2)ue2
tJ
1 = Ui; oo —— uy
and since A = ||z+ — z||, by choosing the desired final
hy = u3 hs = U4.
point close enough to the starting point, the trajectory
will not intersect the stability boundary. where (z,¥,@) represents the body’s configuration, ¢;
Note that since A is raised to the power of 1/k, if is the front to back angular deflection of the legs, I is
k is large, it may be necessary to make A exceedingly the leg length, and h, is the height of the legs off the
small in order to ensure stability. However, the bound ground. The functions a(h;) and @(h2) are defined by:
expressed in Equation (18) is very conservative since
it sums the length of a bound on each individual flow an ladf Rata 1 ifhy=0
in the series. In actuality, because the largest flows a(n) ={ 4 if h > 0 ata) = {4 if ho > 0
correspond to the Lie brackets of order k, simply sum- Ref. [9] shows that the hexapod is small time locally
ming their component lengths will give a conservative gait controllable when a tripod gait is used.
Motion Planning for Kinematic Stratified Systems
119
x Case) @) (0)
y sind 0 0 i
0 jal oerg :
il? | hiatal ei Up (20)
Figure 5: Stability Margin for Hexapod Tripod Gait. bo Ot BLT 70 4
he eae ihe |
Since the robot walks in a tripod gait, stability is en-
sured if the robot’s center of mass remains above the where h; is the height of the corresponding set of legs
triangle defined by the tripod of feet which are in con- and ug is constrained to be 0. Label columns one, two
tact with the ground. For the motion of legs 1-4-5, the and three in Equation (20) 91,1, 91,2 and g1,3, respec-
robot’s center of mass must be at least b = - +lsin $1 tively. If legs 2-3-6 are in ground contact and legs
from the front of the robot to ensure stability, where I, 1-4-5 are not, the equations of motion are:
denotes the body’s length. See Figure 5. Alternatively,
if the center of mass is located a distance b from the £ 0 cosé@ O
front of the robot, then stability is ensured during the y 0 sind 0 z
motion if both of these constraints are satisfied 6 Od i
db = 1 0 0 U2 (21)
es oie 0
U3
hy 0 8!
ee Mesain (= - 8/1).
where w,4 is constrained to be 0. The columns in Equa-
tion (21) are denoted go1, g2,2, and go.3.
Denote the stratum when all the feet are in contact
(a = B = 1) by Sie, the stratum when tripod one is For motion planning purposes, we must select
in contact (a = 1,0 = 0), by Sj, the stratum when enough vector fields to span the tangent space of the
tripod two is in contact (a = 0,0 = 1), by Sz and the bottom stratum, Sj2. A simple calculation shows that
stratum when no legs are in contact (a = @ = 0), by the set of vector fields,
So. Note that this system satisfies the requirements of
Assumption 3 since, regardless of the values of a and {912,1; 912,25 91,2) 92,1; [912,15 912,2]}
B, the vector fields moving the foot out of contact with
spans T,Sjo for all x € Sig. Note that [g912,1, 912,2] =
the ground are of the form {sz}, and the equations
(—2l sin 6, 21cos0,0,0,0)7. This Lie algebra is not
of motion are independent of the foot heights, h;. nilpotent, and thus the extended system will only be a
The equations of motion in the bottom strata, S12 nilpotent approximation.
(where all the feet maintain ground contact), are:
The stratified extended system is constructed from
z cos@ cosé the extended system that uses the vector fields from
y sin@ sin@ all strata.
Aovlie asic (se ) (19)
Ai i! 0 & = 912,10! + g12,2v" + gi20° + ga1v* + [912,1; 912,210"
(22)
W. Goodwine and J. Burdick
120
pem0saGn0s lr Looe 4
“iui
Breaking the path into segments leads to better over-
iI)
all tracking. Second, robot stability requirements may
also demand smaller steps.
The approach is general enough that approximate
400]1BG
tracking of arbitrary trajectories is possible. Figure 7
shows the hexapod following an ellipse while maintain-
ing a constant angular orientation. Figure 8 shows the
results when a smaller step size is used. In the first
Figure 8: Elliptical Trajectory with Smaller Steps.
simulation, the elliptical trajectory is broken into 30
segments. In the second, it is divided into 60 segments.
In this example, part of the trajectory tracking error is Also plotted in these figures is the stability crite-
due to the nilpotent approximation, but another con- rion. Let the body length be 2 units of length and let
tribution to the error is the simplicity of the model. the center of mass be located a distance of 0.75 units
Some directions are more “difficult” for the system to from the front of the robot. Then, the stability crite-
execute than others due to the kinematic limitations rion is ¢; < 0.25 [rad] and ¢2 > —.85 [rad]. In Figures
of the leg design. Because this mechanism can not ex- 7 and 8 the stability limits for ¢ are indicated by the
ecute “crab-like” gaits, its tracking error during side- straight horizontal lines. In the first case, where the
ways motions increases, as this direction corresponds robot takes bigger steps, the stability condition is vio-
to a Lie bracket direction. lated. However, in the second case it is not.
W. Goodwine and J. Burdick
122
from S234
where all the vector fields except those on the first line
correspond to free finger tip motion. Tedious calcula-
tions show that {g),...,918} spans the tangent space
Figure 13: Finger kinematics.
W. Goodwine and J. Burdick
124
(2——J Matt Berkemeier. Modeling the dynamics of [17] S. Kajita and K. Tani. Study of dynamic biped loco-
quadrupedal running. Int. J. Robotics Research, motion on rugged terrain. In IEEE Int. Conf. on Ro-
16(9):971-985, 1998. botics and Automation, pages 1405-1411, Sacramento,
CA, 1991.
[3] C.H. Chen, K. Mirza, and D.E. Orin. Force control of
planar power grasp in the digits system. In 4th Int. [18] G. Lafferriere and Hector J. Sussmann. A differential
Symp. on Robotics and Manufacturing, pages 189-194, geometric approach to motion planning. In X. Li and
1992. J. F. Canny, editors, Nonholonomic Motion Planning,
pages 235-270. Kluwer, 1993.
[4] I-M Chen and J.W. Burdick. A qualitative test for
n-finger force-closure grasps on planar objects with [19] J.K. Lee and §.M. Song. Path planning and gait of
applications to manipulation and finger gaits. In Proc. walking machine in an obstacle-strewn environment.
IEEE Int. Conf. on Robotics and Automation, pages J. Robotics Systems, 8:801—827, 1991.
814-820, 1993.
[20] D. J. Montana. The kinematics of contact and grasp.
J. J. Collins and Ian Stewart. Hexapodal gaits and Int. J. of Robotics Research, 7(3):17-25, 1988.
coupled nonlinear oscillator models. Biological Cyber-
netics, 68:287—298, 1993. [21] Richard M. Murray, Zexiang Li, and S. Shankar Sas-
try. A Mathematical Introduction to Robotic Manipu-
Ronald S. Fearing and T.O. Binford. Using a cylin- lation. CRC Press, Inc., 1994.
drical tactile sensor for determining curvature. [EEE
Trans. Robotics and Automation, 7(6):806-817, 1991. [22] R.M. Murray and $.S. Sastry. Nonholonomic motion
planning: Steering using sinusoids. IEKEE Trans. Au-
[7] R.S. Fearing. Implementing a force strategy for object tomatic Control, 38:700—-716, 1993.
reorientation. In Proc. IEEE Int. Conf. on Robotics
and Automation, pages 96-102, 1986. [23] T. Okada. Object handling system for manual indus-
try. IEEE Transactions on Systems, Man and Cyber-
[8] B. Goodwine and J.W. Burdick. Controllability of netics, 9(2):79-89, 1979.
kinematic systems on stratified configuration spaces.
IEEE Trans. Automatic Control (to appear), 1999. (24) Domenico Prattichizzo and Antonio Bicchi. Dynamic
analysis of mobility and graspability of general manip-
Bill Goodwine and Joel Burdick. Gait controllability ulation systems. JEEE Transactions on Robotics and
for legged robots. In Proc IEEE Int. Conf on Robotics Automation, 14(2):241-258, April 1998.
and Automation, 1998.
[25] M.H. Raibert. Legged Robots that Balance. MIT Press,
Bill Goodwine and Joel Burdick. Stratified motion 1986.
planning with application to robotic finger gaiting.
Proc. IFAC World Congress, 1999. [26] E. Rimon and J.W. Burdick. Configuration space
analysis of bodies in contact — i. Mechanism and Ma-
J. William Goodwine. Control of Stratified Systems chine Theory, 30(6):897-912, August 1995.
with Robotic Applications. PhD thesis, California In-
stitute of Technology, 1998. [27] E. Rimon and J.W. Burdick. Configuration space
analysis of bodies in contact — ii. Mechanism and Ma-
Stratified Morse Theory. chine Theory, 30(6):913-928, August 1995.
[12] Goresky and Macpherson.
Springer-Verlag, New York, 1980.
[28] K. Salisbury, D. Brock, T. Massie, N. Swarup, and
L. Han, Y.S. Guan, Z.X. Li, Q. Shi, and J.C. Trinkle. C. Zilles. Haptic rendering: Programming touch in-
[13] teration with virtual objects. In Proc. Symp. on In-
Dextrous manipulation with rolling contacts. In Proc.
IEEE Int. Conf. on Robotics and Automation, pages teractive 3D Graphics, pages 123-130, 1995.
992-997, Albuquerque, NM, 1997.
[29] K. Salisbury and C. Tarr. Haptic rendering of surfaces
J. Hong and G. Lafferriere. Fine manipulation with defined by implicit functions. In Proc. ASME Int. Me-
[14] chanical Engineering Congress and Exposition, pages
multifinger hands. In [EEE Int. Conf. on Robotics
and Automation, pages 1568-1573, 1990. 61-67, 1997.
126 W. Goodwine and J. Burdick
[30] Jean-Pierre Serre. Lie Algebras and Lie Groups. [33] J.C. Trinkle and R.P. Paul. Planning for dexterous
Springer-Verlag, 1992. manipulation with sliding contacts. Int. J. of Robotics
: Research, 9(3):24—48, 1990.
[31] K.B. Shimoga. Robot grasp synthesis algorithms: A
~ Lhe f } } =
pean a SR ones Bo eeedebotics He [34] V.S. Varadarajan. Lie Groups, Lie Algebras, and
Their Representations. Springer-Verlag, 1984.
[32] S.M. Song and K.J. Waldron. Machines that walk: the
Adaptive Suspension Vehicle. MIT Press, 1989.
Manipulation of Pose Distributions
Mark Moll, Carnegie Mellon University, Pittsburgh, PA
Michael A. Erdmann, Carnegie Mellon University, Pittsburgh, PA
In our research we are trying to develop strategies to A part with an initially unknown orientation is re-
orient three-dimensional parts with minimal sensing leased from a certain height and relative horizontal po-
and manipulation. That is, we would like to bring sition with respect to the bowl. The only forces acting
a part from an unknown position and orientation to on the part are gravity and friction. We assume the
a known orientation (but possibly unknown position) bowl doesn’t move. We can compute the final resting
with minimal means. In general, it is not possible to configuration for all possible initial orientations. This
orient a part completely without sensors, but it is suffi- will give us the pdf of stable poses. The goal is to find
cient if a particular orienting strategy can bring a part the drop height, relative position and bowl shape that
into one particular orientation with high probability. will maximally reduce uncertainty. In this paper we
The sensing is then reduced to a binary decision: a assume for simplicity that the initially unknown ori-
sensor only has to detect whether the part is in the entation is uniformly random, but our approach also
right orientation or not. If not, the part is fed back works for different prior distributions.
M. Moll and M. A. Erdmann
128
Stable Poses
Table 1: Probability distribution function of stable poses for two surfaces. The initial velocity is zero and the initial rotation
is uniformly random.
Table 1 shows three different pose distributions. reduce the uncertainty greatly by taking advantage of
Each stable pose corresponds to a set of contact points the dynamics.
(marked by the black dots in the table). For an arbi-
trarily curved support surface the stable poses do not 1.2 Outline
necessarily correspond to edges of the convex hull of
the part. We therefore define a stable pose as a set of In Section 3 we will explain the notion of capture re-
contact points. This means that any two poses with gions and introduce an extension and relaxation of this
the same set of contact points are considered to be the notion in the form of so-called quasi-capture regions.
same as far as the pose distribution is concerned. In our These quasi-capture regions allow for fast computation
example the support surface is a parabola y = ax? with of pose distributions. In Section 4 we will present our
parameter a. Other parameters are the drop height, h, simulation and experimental results. Finally, in Sec-
and the initial horizontal position of the drop location, tion 5 we will discuss the results presented in this pa-
xo. We limit the surface to parabolas for illustrative per. But first we will give an overview of related work
purposes only; in general we would use a larger class in the next section.
of possible shapes (see Section 4.1).
2 Related Work
The first row in the table shows the pdf assuming
quasistatic dynamics. In this case the surface is flat and
2.1 Parts Feeding and Orienting
the part is released in contact with the surface. The
second row shows how the pdf changes if we model the One of the most comprehensive works on the design
dynamics. The initial conditions are the same as for the of parts feeding and assembly design is [12], which de-
quasistatic case, yet the pdf is significantly different. scribes vibratory bowls as well as non-vibratory parts
The third row shows the pdf for the optimized values feeders in detail. The APOS parts feeding system is
for a, h and zo. described by Hitakawa [26]. Berretty et al. [6] present
The objective function over which we optimize is the an algorithm for designing a particular class of gates
entropy of the pose distribution. If p,,... , pn are the in vibratory bowls. Berkowitz and Canny [4, 5] use
probabilities of the n stable poses, then the entropy is dynamic simulation to design a sequence of gates for a
— >, pi log p;. This function has two properties that vibratory bowl. The dynamics are simulated with Mir-
make it a good objective function: it reaches its global tich’s impulse-based dynamic simulator, Impulse [35].
minimum whenever one of the p; is 1, and its maximum Christiansen et al. {16] use genetic algorithms to design
for a uniform distribution. By searching the parameter a near-optimal sequence of gates for a given part. Op-
space we can find the a, h and zp that minimize the timality is defined in terms of throughput. Here, the
entropy. In the third row of the table the pose distribu- behavior of each gate is assumed to be known. So, in
tion is shown with minimal entropy. The table makes a sense [16] is complementary to [5]: the latter focuses
it clear that even with a very simple surface we can on modeling the behavior of gates, the former finds an
optimal sequence of gates given their behavior. Akella
1This is a local minimum found with simulated anneal- et al. [1] introduced a technique for orienting planar
ing and might not be the global minimum. parts on a conveyor belt with a one degree-of-freedom
Manipulation of Pose Distributions
129
(DOF) manipulator. Lynch [32] extended this idea to tact, and the dynamics in the system are dissipative,
3D parts on a conveyor belt with a two DOF manipula- the capture regions will be correct. The capture re-
tor. Wiegley et al. [43] presented a complete algorithm gions will in general not cover the entire configuration
for designing passive fences to orient parts. Here, the space.
initial orientation is unknown.
Goldberg [22] showed that it is possible to orient
2.3 Collision and Contact Analysis
polygonal parts with a frictionless parallel-jaw gripper
without sensors. Marigo et al. [34] showed how to ori-
For rigid body collisions several models have been pro-
ent and position a polyhedral part by rolling it between
posed. Many of these models are either too restric-
the two hands of a parallel-jaw gripper. Grossman and
tive (e.g., Routh’s model [39] constrains the collision
Blasgen [25] developed a manipulator with a tactile
impulse too much) or allow physically impossible col-
sensor to orient parts in a tray. Erdmann and Ma-
lisions (e.g., Whittaker’s model [42] can predict arbi-
son [18] developed a tray-tilting sensorless manipulator
trarily high increases of system kinetic energy). Re-
that can orient planar parts in the presence of friction.
cently, Chatterjee and Ruina [15] proposed a new colli-
If it isn’t possible to bring a part into a unique orienta-
sion rule, which avoids many of these problems. Chat-
tion, the planner would try to minimize the number of
terjee introduced a new collision parameter (besides the
final orientations. In [19] it is shown how (with some
coefficients of friction and restitution): the coefficient
simplifying assumptions) three-dimensional parts can
of tangential restitution. With this extra parameter
be oriented using a tray-tilting manipulator. Zumel
a large part of allowable collision impulses can be ac-
[45] used a variation of the tray tilting idea to orient
counted for, and at the same time this collision rule
planar parts with a pair of moveable palms.
restricts the predicted collision impulse to the allow-
In recent years a lot of work has been done on pro- able part of impulse space. This is the collision rule we
grammable force fields to orient parts [9, 10, 28]. The will use (see [36] for details).
idea is that a kind of force “field” (implemented using,
e.g., MEMS actuator arrays) can be used to push the Instead of having algebraic laws, one could also try
part in a certain orientation. Kavraki [28] presented a to model object interactions during impact. This ap-
vector field that induced two stable configurations for proach is taken, for instance, by Bhatt and Koechling
most parts. Bohringer et al. [9, 10] used Goldberg’s (7, 8], who modeled impacts as a flow problem. While
algorithm [22] to define a sequence of “squeeze fields” this might lead to more accurate predictions, it is obvi-
to orient a part. They also gave an example how pro- ously computationally more expensive. Also, in order
grammable vector fields can be used to simultaneously to get a good approximation of the pdf of resting config-
sort different parts and orient them. urations, this level of accuracy might not be required.
On the other hand, it is also possible to combine the
2.2 Stable Poses effects of multiple collisions that happen almost instan-
taneously. Goyal et al. [23, 24] studied these “clatter-
To compute the stable poses of an object quasistatic ing” motions and derived the equations of motion.
dynamics is often assumed. Furthermore, usually it is
assumed that the part is in contact with a flat sur- Given a collision model and the equations of motion,
face and is initially at rest. Boothroyd et al. [11] were one can simulate the motion of a part. In cases where
among the first to analyze this problem. An O(n?) al- there are a large number of collisions or with contact
gorithm for n-sided polyhedrons, based on Boothroyd modes that change frequently one can simulate the dy-
et al.’s ideas, was implemented by Wiegley et al. [44]. namics using so-called impulse-based simulation [35].
Goldberg et al. [21] improve this method by approx- However, there are limits to what systems one can sim-
imating some of the dynamic effects. Kriegman [30] ulate. Under certain conditions the dynamics become
introduced the notion of a capture region: a region in chaotic [13, 20, 29]. We are mostly interested in sys-
configuration space such that any initial configuration tems that are not chaotic, but where the dynamics can
in that region will converge to one final configuration. not be modeled with a quasistatic approximation. In
Note that his work doesn’t assume quasistatic dynam- Section 4.1 a number of “chaos plots” are shown that
ics; as long as the part is initially at rest and in con- are very similar to the one in [29].
M. Moll and M. A. Erdmann
130
2.4 Shape Design terms of local state. The closest stable pose can be
defined as follows:
The shape of an object and its environment imposes
constraints on the possible motions of an object. Caine
[14] presents a method to visualize these motion con- Definition 2 We define a stable pose to be a pose
straints, which can be useful in the design phase of such that there is force balance when only gravity and
both part and manipulator. In [31] the mechanics of contact forces are acting on the part. The closest stable
entrapment are analyzed. That is, Krishnasamy dis- pose is the stable pose found by following the gradient
cusses conditions for a part to “get trapped” and “stay of the potential energy function (using, e.g., gradient
trapped” in an extrusion in the context of the APOS descent) from the current pose.
parts feeder. Sanderson [40] presents a method to char-
acterize the uncertainty in position and orientation of We can now define quasi-capture regions:
a part in an assembly system. This method takes into
account the shape of both part and assembly system. Definition 3 A quasi-capture region is the largest
In [33] the optimal manipulator shape and motion are possible region in configuration phase space such that
determined for a particular part. The problem here was (a) all configurations in this region have the same clos-
not to orient the part, but to perform a certain juggler’s est stable pose and (b) no configuration in a quasi-
skill (the “butterfly”). With a suitable parametrization capture region has enough (kinetic and potential) en-
of the shape and motion of the manipulator, a solution ergy to leave this region either with a rolling motion or
was found for a disk-shaped part that satisfied their one collision-free motion.
motion constraints. Although the analysis focuses just
on the juggling task, it shows that one can simulate
Ideally these quasi-capture regions would induce a
and optimize dynamic manipulation tasks using a suit-
partition of configuration phase space, so that for each
able parametrization of manipulator (or surface) shape
point in phase space we would immediately know what
and motion.
its final resting configuration is. Of course, this is not
the case in general, since with a sufficiently large ve-
3 Analytic Results locity an object can reach any stable pose. But if we
restrict the velocity to be small to begin with, then we
3.1 Quasi-Capture Intuition
are able to quickly determine the pose distribution. It
In our efforts to analyze pose distributions in a dynamic has been our experience that without the use of quasi-
environment, we have been working on a generalization capture regions a lot of computation time is spent on
of so-called “capture regions” [30] that we have termed the final part/surface interactions (e.g., clattering mo-
quasi-capture regions. Specifically, for a part in con- tions) before the part reaches a stable pose. In other
tact with a sloped surface, we would like to determine words, with our analytic results it is possible to avoid
whether it is captured, i.e., whether the part will con- computing a potentially large number of collisions.
verge to the closest stable pose. For simplicity, let the In our analysis we have focused on the two dimen-
surface be a tilted plane.
sional case. To illustrate the notion of capture, we will
start with another example. Consider a rod of length
Definition 1 Let a pose be defined as a point in 1 with center of mass at distance R from each vertex.
configuration space such that the part is contact with One can visualize this rod as a disk with radius R and
the surface. uniform mass, but with contact points only at the ends
of the rod (see Figure 2).
We assume that friction is sufficiently high so that a Note that the endpoints of the rod are numbered.
part cannot slide for an infinite amount of time. In gen- We will refer to these endpoints later. Let the “side”
eral capture depends on the whole surface and every- of the rod where the center of mass is above the rod
thing that happens after the current state, but the fric- be the high energy side, and the other side be the low
tion assumption and our definition of pose allow us energy side. We can then define that the rod is “on”
to define quasi-capture (in Section 3.2) of the part in the high energy side if and only if the center of mass is
Manipulation of Pose Distributions
131
mass with respect to the rod endpoints, the slope of max (tan ¢, 2sin $ sin).
the support surface and the drop height, the bound for
the capture velocity will change. This bound will also Proof: See appendix A. oO
depend on the relative orientation of the contact point
with respect to the center of mass. Note that for ¢ = 0 this bound reduces to v? <
—2gR(1+sin@). In other words, this bound is as tight
For a sloped surface the capture condition is not as as possible when the surface is horizontal.
simple as for the horizontal surface. By bouncing and
rolling down the slope, the rod can increase its kinetic One can compute € numerically, but the appendix
energy. We have derived an upper bound on how far also gives a good analytic approximation. The theo-
the rod can bounce. This gives an upper bound on the rem above gives a sufficient condition on the velocity
increase in kinetic energy. So the quasi-capture condi- and pose of the rod such that it cannot rotate to the
tion can now be stated as: the current kinetic energy other side during one bounce. But suppose there is a
M. Moll and M. A. Erdmann
132
height
Drop
height
Drop
1 2 3 4 5
‘ ; Iniited
nsasen
aa &
AS ! Initial orientation ;
= a. 0.7
on
7]
<=
2.0.5 40.6
=
Drop
height “S|
EI0.4 40.5
=
0.3 40.4
i—)ie
C= Optimal drop height |
os Lower bound on prob. of low energy side bound
Lower
of
prob.
low
side
on
energy
“1s
nN
1 6 1 2 3 4
Iniaveto \ Number of bounces
IS : ;
peey atte (c)anhi
(d) Optimal drop height and lower bound on
Afttieo
er ’sfive bounces a probability of ending up on low-energy side
a... on the low energy side a on the low energy side, but not captured ln the high energy side
Figure 5: Quasi-capture regions for the low energy side of the rod on a 7° slope. The rod parameters are a = 1/2,
R = 0.05m, gravity, g, equals —1.20m/s*, the coefficient of friction, 1, is 5 and the restitution parameters are: e = 0.1,
et = —0.2.
Using the simulator we can compute the quasi- Let the optimal drop height be defined as the drop
capture regions for the rod. Figures 5(a)—(c) show the height that maximizes the probability of ending up
quasi-capture regions for the low energy side after one, on the low energy side. Then dropping the rod with
three and five bounces. The dark areas correspond to uniformly random initial orientation from the optimal
initial orientations and initial velocities that result in drop height will reduce uncertainty about its orienta-
the rod being quasi-captured. The zero orientation is tion maximally (unless there exists a drop height that
defined as the orientation where endpoint 1 is to the will result in an even higher probability for the high
right of the center of mass. The triangles below the energy side). In Figures 5(a)—(c) the drop height that
X-axes show the pose of the rod corresponding to the results in the maximum probability of ending up on
orientation at that point of the X-axes. the low energy side is marked by a horizontal line. Af-
M. Moll and M. A. Erdmann
134
(a) Orange insulator cap on a flat surface (b) ... and on an optimized bowl
Figure 6: Result of optimizing a surface for the orange insulator cap.
Stable Poses
) (Oy 150) 8,056) (.7,0,—.7) (0,0,—1) | Entropy
(=1,0,0) (0,—1,0
Experimental, flat (1036 trials) 0.271 0.460 0.197 0.050 0.022 1.58
Dynamic simulation, flat surface 0.355 0.207 0.221 0.185 0.019 0.014 1.48
Dynamic simulation, optimal bowl 0.622 0.125 0.154 0.096 0.003 0.000 1.09
Table 3: Probability distribution function of stable poses for two surfaces. The initial velocity is zero and the initial rotation
is uniformly random. The experimental data is taken from [21]. There, (0,—1,0) and (0,1, 0) are counted as one pose.
The quasi-capture regions also apply to general do more experiments to verify our current and future
polygonal shapes. However, we can no longer use the analytic results.
symmetry of the rod. So the quasi-capture expressions
for general polygonal shapes become more complex. Acknowledgments
On the other hand, we might be able to orient pla-
nar parts by using a setup similar to the one described This work was supported in part by the National Sci-
in Section 4 and attaching two pins to the top of the ence Foundation under grant IRI-9503648. The au-
part. Generalizing the quasi-capture regions to three thors are grateful to Al Rizzi, Matt Mason and Devin
dimensions is non-trivial and is an interesting direction Balkcom for their helpful comments.
for future research.
The simulation and experimental results show that References
the simulator is not 100% accurate, but that it is a
useful tool for determining the most promising initial [1] S. Akella, W. H. Huang, K. M. Lynch, and M. T. Ma-
conditions for uncertainty reduction. In other words, son. Sensorless parts orienting with a one-joint ma-
nipulator. In Proc. 1997 IEEE Intl. Conf. on Robotics
the optimum predicted by the simulator will probably
and Automation, 1997.
be near-optimal in the experiments. We can then ex-
perimentally search for the true optimum. [2] David Baraff. Coping with friction for non-penetrating
rigid body simulation. Computer Graphics, 25(4):31-
Another area where quasi-capture regions may be 40, July 1991.
applied is in computer animation. Before a part comes
to rest, there are many interactions between the part [3] David Baraff. Issues in computing contact forces
and the support surface. It turns out that these in- for non-penetrating rigid bodies. Algorithmica, pages
292-352, October 1993.
teractions are computationally very expensive. With
our capture regions we can eliminate the last “clatter- [4] Dina R. Berkowitz and John Canny. Designing parts
ing” motions of the part, since we can predict what feeders using dynamic simulation. In Proc. 1996 IEEE
the final pose will be. For applications where fast an- Intl. Conf. on Robotics and Automation, pages 1127—
1132, April 1996.
imation is more important than physical accuracy, a
pre-computed motion can be substituted for the ac- [5] Dina R. Berkowitz and John Canny. A comparison of
tual motion. real and simulated designs for vibratory parts feeding.
In Proc. 1997 IEEE Intl. Conf. on Robotics and Au-
With future research we hope to improve the con- tomation, pages 2377-2382, Albuquerque, New Mex-
straints on the quasi-capture velocity by taking into ico, 1997.
account more information, such as the direction of the
velocity vector. If improving the quasi-capture bounds [6 —a Robert-Paul Berretty, Ken Goldberg, Lawrence Che-
ung, Mark H. Overmars, Gordon Smith, and A. Frank
is impossible, it might be possible to get better ap-
van der Stappen. Trap design for vibratory bowl feed-
proximations for pose distributions. As noted in Sec- ers. In Proc. 1999 IEEE Intl. Conf. on Robotics and
tion 4.1 it is possible to get a good estimate of the max- Automation, pages 2558-2563, Detroit, MI, May 1999.
imal uncertainty reduction after only a small number
[7] Vivek Bhatt and Jeff Koechling. Partitioning the pa-
of bounces of the rod. So another interesting line of
rameter space according to different behavior during
research would be to find out how accurate these ap- 3d impacts. ASME Journal of Applied Mechanics, 62
proximations are in general. We are also planning to (3):740-746, September 1995.
Manipulation of Pose Distributions
137
[17] Ingrid Daubechies, editor. Different Perspectives on [30] David J. Kriegman. Let them fall where they may:
Wavelets, volume 47 of Proceedings of Symposia in Capture regions of curved objects and polyhedra. Intl.
Applied Mathematics, 1993. AMS. J. of Robotics Research, 16(4):448-472, August 1997.
[18] Michael A. Erdmann and Matthew T. Mason. An [31] Jayaraman Krishnasamy. Mechanics of Entrapment
exploration of sensorless manipulation. [EEE J. of with Applications to Design of Industrial Part Feeders.
Robotics and Automation, 4(4):369-379, August 1988. PhD thesis, Dept. of Mechanical Engineering, MIT,
May 1996.
[19] Michael A. Erdmann, Matthew T. Mason, and George
Vanétek, Jr. Mechanical parts orienting: The case of [32] Kevin M. Lynch. Toppling manipulation. In Proc.
a polyhedron on a table. Algorithmica, 10:226-247, 1999 IEEE Intl. Conf. on Robotics and Automation,
pages 2551-2557, Detroit, MI, May 1999.
1993.
M. Moll and M. A. Erdmann
138
[33] Kevin M. Lynch, Naoji Shiroma, Hirohiko Arai, and Appendix A: Proof of Theorem 4
Kazuo Tanie. The roles of shape and motion in dy-
namic manipulation: The butterfly example. In Proc.
1998 IEEE Intl. Conf. on Robotics and Automation, Definition 5 Let a bounce be defined as the flight
1998. path between two impacts.
‘ideal
Asi wo eh
d, = Rcos(Q/2) -Rsin@+0)
Se p Ros)
(a) Change in distance between the center of mass (b) Trajectory of the center of mass during a bounce
and the surface in poses with the initial and ideal
orientation
Figure 8: Increase in kinetic energy when rotating to the ideal orientation
computing the next contact point is a lot easier. Let Proof: We can distinguish several cases: endpoint 1 of
0 be the relative orientation of the contact point at the rod or endpoint 2 can be in contact with the slope,
t = 0. @ = 0 corresponds to the contact point being and the rod can be on the low or high energy side. We
to the right of the center of mass. The signed distance will prove the case where endpoint 1 is in contact and
from the center of mass to the surface at t = 0 is then the rod is on the high energy side. The proof for the
—Rsin(@+ ¢), as shown in Figure 8(a). One can easily other cases is analogous. The case under consideration
verify that in the ideal orientation the relative orienta- is shown in Figure 9(a). To roll counterclockwise over
tion of endpoint 1 is | — $ — @. Let 6 be equal to this to the left side, v? > —2gh1. The distance h is simply
relative orientation. In the pose where the rod is in con- equal to R(1+sin@). If the rod rolls clockwise over to
tact with the surface and has the ideal orientation the two-point contact and continues to roll over endpoint 2,
signed distance from the center of mass to the surface the rod gains kinetic energy because the second contact
is —Rsin(@ + ¢) = —Rcos §. So in total the center of point is lower than the first contact point. This gain is
mass travels at most a distance R(cos $ —sin(#+¢)) in proportional to hg.
the direction normal to the surface during one bounce. One can easily verify that for two-point contact the
Let d, be equal to this distance. To solve for the time relative orientations of contact points 1 and 2 are ao -
of impact we can treat the rod as a point mass centered 5 — 9 and 4 + $ — 9, respectively. The bound for
at the center of mass and replace dys) in Equation 2 rolling over endpoint 2 is therefore
with —d,. Equation 2 is then simply a paraboloid in
t. The distance function now measures the distance Vo 2g(h3 — he)
between the center of mass and the dotted line parallel = — 2gR(1+sin6 — cos($ — ¢) + cos($ + ¢))
to the surface shown in Figure 8(b). This approach is
= — 2gR(1+sin0 — 2sin $ sin).
not limited to the case where our new orientation is the
ideal orientation. Suppose an oracle would tell us that
If the center of mass is to the left of the contact point
the new orientation is 9. Then we can solve for the time
the last term will change sign. We can therefore com-
of impact by substituting R(sin(@+ ¢) —sin(@+ @)) for bine the two bounds (one for rotating clockwise, and
dg) in Equation 2. for rotating counterclockwise) into this bound:
The following lemma gives a bound on the velocity
needed to roll to the other side. v? > min(—2gR(1 + sin 6),
— 2gR(1 + sin@ + 2sign(cos @) sin $ sin @))
Lemma 8 [f the rod is in rolling contact, then to be =—2gR(1+sin §+(sign(cos @)—1) sin - sin ¢). (3)
able to roll to the other side the following condition
has to hold: v2? > —2gR(1 + sin@ + (sign(cos#) — O
1)sin ¢sin¢). We assume 0 << 5.
M. Moll and M. A. Erdmann
140
sree
ia A
(c) Endpoint 1 in contact, low energy side (d) Endpoint 2 in contact, low energy side
Theorem 4 The rod with a velocity vector of length The maximum change in v? is then bounded by
v and in contact with the surface is in a quasi-capture
Av? =2gAh< 29(4gt? + v(sin €)t)
region if the following condition holds:
=2veasGsin&(y sin(€ + 9)
v2 Bees se (usin(E+4)+/0? sin®(EFG)—29dn
C056) + 4/v? sin?(€ + ¢) — 2gdn cos d) — 22%. (5)
— 29(-22, + Re) < —29R (1 + cos($ + 4)), cos @
Therefore, when v = 0* and the relative orientation By differentiating the expression inside max(-) with re-
of the contact point after the bounce is equal to ideal spect to @ we find that there is a local maximum at
orientation the quasi-capture constraint is 6 = 0. Other local maxima occur when 6 approaches
— 5 from below or =5 from above. The correction ¢€
2gRinte+o)—sin(0+9)
a lah DT —2gR(1+sin6). (7) therefore simplifies S
vie sales) |
That is, if an upper bound on the kinetic energy after € =max (sind sin(O+-o) sind sin 6+2sin &
cos p cos @
one bounce is less than the energy needed to rotate to
the other side, the rod will not be able to rotate to = cos( + ¢) — cos(o/2)
cos d
4 max ae 2sin
$sin @) .
the other side. Now suppose the new orientation is not
equal to the ideal orientation. Then the increase of ki- For uv # 0* the difference between f (6) and f (0) is even
netic energy will be less, but the energy required to roll larger and g(0) does not depend on 2, so the value for €
to the other side will be less, too. Let 6 be the rela- is an upper bound for all v. Combining all the bounds
tive orientation of the contact point after the bounce. we arrive at the desired result. Oo
Equation 7 is of the form f(6) < (6), where f(-) com-
putes the kinetic energy after one bounce for a given Note that for ¢ = 0 this bound reduces to v? <
new orientation and g(-) computes the energy needed —2gR(1+sin@). In other words, this bound is as tight
as possible when the surface is horizontal.
to roll to the other side for a given orientation®. Un-
fortunately, this bound does not imply V6.f (8) < g(@). For an arbitrary d,, it is not possible to compute the
From the ‘oracle argument’ on page 139 it follows that optimal € analytically. Fortunately, we can analytically
f() is indeed an upper bound on the maximum in- solve for € if we assume that the bounce consists of
crease of the kinetic energy. Substituting 9 in lemma 2 pure translation. The resulting € can be used as an
shows that g(@) is a lower bound on the kinetic en- approximation. It can shown that the solution for €
ergy needed to roll to the other side. We would like to can be written as
determine the smallest possible ¢ such that y1—sin d
pe ee cee IT Ee vor
a V2V/1—sin d
f(0)-2gRe<g() = v6.¢(8) < 9(8). Substituting these values in Equation 4, we find that
It is not hard to see € has to be equal to the approximation for the bound for Av? then simpli-
fies to
ax(9(8) ae) f (9) + f(9))/(—2gR).
aN 2 eS ers
2qdn v? sind
parr aUbe 1 — 4dng Frese$)
The difference between f(6) and f(6) is
The relative error in this approximation depends on ¢,
2g R EDEL s dn, v and g and can be computed numerically. Some-
cos @
what surprisingly, the relative error appears to be con-
Similarly, the difference between g(9) and g(6) is stant in v, d, and g. The relative error does vary sig-
nificantly with ¢, but is still fairly small (on the order
—2gR (sind — sin6— (sign(cos 4) — 1) sin $ sin 6)' of LO es
a
~
CO ee
7
ae eh Weare fh usb ct) yang on... aU SING aoly & Tobetge abr a lot oF
ee. Hub Viettidw ne At (jy > (Oy THRE Jind daa Bor deur, ult
a t }
ava pllaniny| Lit
“4
4 Lat Myc Reed qartied HORT omc ages Np Rs : tie
in ‘
mide a qu 2 wil, he
ela “i! murrbeens
i» ix a
— =i4 Go Ditod “a ORS Ge. ial
nites hae Maidaluies :
Vig Cutty als Tiniels Maia atone
mM) aaa H he gers “1% a/toaie ealy 0. yee al A Cy a
: =i #4 inayhdT Ick su on alll SUM WI * aalile tualot
— TS" a dle cl
- 3H
x Sia iSoasua, v/ridorng: oll
> din fry ee te
“ ‘og
Bare write GT atin, ob Mh, Wade ~ at (Wiep,bacy q
aa ty) Waice! HRP, et ted te dpa uvrfln «
: = id v \ lhe. >
wi ly lehuis ts
>vis it
Nie 4
7
a
‘ oo
Image Guided Surgery
Eric Grimson, MIT, Cambridge, MA
Michael Leventon, MIT, Cambridge, MA
Liana Lorigo, MIT, Cambridge, MA
Tina Kapur, Visualization Technology Incorporated, Wilmington, MA
Olivier Faugeras, MIT, Cambridge, MA
Ron Kikinis, Brigham and Women’s Hospital, Boston, MA
Renaud Keriven, Cermics, Ecole Nationale des Ponts et Chaussées, Paris, France
Arya Nabavi, Brigham and Women’s Hospital, Boston, MA
Carl-Fredrik Westin, Brigham and Women’s Hospital, Boston, MA
Recent developments in computer vision and robotics e A set of medical images (such as MRI or CT) are
are changing the manner in which modern surgery is acquired of the relevant portion of the patient’s
being practiced. Image guided surgical methods are anatomy (Figure 1).
providing a surgeon with the ability to visualize inter- e These images are segmented into distinct anatomi-
nal structures and their geometric relationships, often cal structures, yielding a 3D patient-specific model
in alignment with live imagery or direct views of the (Figure 2).
patient. Such visualization abilities enable a surgeon to
plan minimally invasive procedures. Tracking methods e The model is then registered to the actual posi-
further allow a surgeon to see the actual position of his tion of the patient on the operating table. Surgi-
instruments, and their physical relationship to critical cal instruments are tracked relative to the patient
144 E. Grimson et al.
+20
Mode 1
Mode 2
Figure 6: Top: Three-dimensional models of seven thoracic vertebrae (T3-T9) used as training data. Bottom left and
right: Extracted zero level set of first and second largest mode of variation respectively.
mode appears to represent the shifting of the bulk of 9 Shape Priors and Geodesic Active
the corpus from front to back. Contours
8.2 The Correspondence Problem Given a curve representation (the k-dimensional vec-
tor a) and a probability distribution on a, the prior
When measuring shape variance of a certain part of an shape information can be folded into the segmentation
object across a population, it is important to compare process. This section describes adding a term to the
like parts of the object. For example, when looking at level set evolution equation to pull the surface in the di-
variances in the shape of the vertebrae, if two training rection of the maximum likelihood shape and position
examples are misaligned and a process of one is overlap- of the final segmentation.
ping a notch of the other, then the model will not be
9.1 Geodesic Active Contours for Object Seg-
capturing the appropriate anatomical shape variance
mentation
seen across vertebrae.
The snake methodology defines an energy function
One solution to the correspondence problem is to ex-
E(C) over a curve C as the sum of an internal and
plicitly generate all point-wise correspondences to en-
external energy of the curve, and evolves the curve to
sure that comparisons are done consistently, although
minimize the energy [19].
this is dificult to automate and is manually tedious
(see [7]). Another approach to correspondence is to
roughly align the training data before performing the
E(C) =6 fiIc'(lPdq — /IVz(C(q))ldq. 6)
comparison and variance calculation. A rough align- In [9], Caselles, et al. derive the equivalence of geodesic
ment will not match every part of each training in- active contours to the traditional energy-based active
stance perfectly, so one must consider the robustness contours (snakes) framework by first reducing the min-
of the representation to misalignment. imization problem to the following form:
Using the signed distance map as the representation
of shape provides tolerance to slight misalignment of minfig(IVz(C(a))|) {C’(a)| aq (6)
object features, in the attempt to avoid having to solve
the general correspondence problem. In the examples where g is a function of the image gradient (usually of
the form TavTe): Using Euler-Lagrange, the following
presented here, the rough rigid alignment of the train-
ing instances resulted in the model capturing the shape curve evolution equation is derived [9]:
variances inherent in the population due to the depen- OC (t)
Tart = gkN — (Vg: N)N (7)
dence of nearby pixels in the shape representation.
148 E. Grimson et al.
P(u, VI |a,p)P(o,p)
Figure 7: Three steps in the evolution process. The evolv-
P(a,p |u, V1) i ae (11)
|
ing curve is shown in solid blue superimposed on the image P(u|a,p)P(VI |a,p, u)P(a)P(p)
(top row). The curve is matched to the expected curve to ob- P(u, VJ)
tain a PDF over pose (bottom row). The next evolution step
We proceed by defining each term of Equation 11 in
(based on pose and shape) is shown as the dotted blue line.
turn. We discard the normalization term in the denom-
inator as it does not depend on shape or pose. More
where « is the curvature and AN is the unit normal. By details are available in [21].
defining an embedding function wu of the curve C, the The first term in Equation 11 computes the probabil-
update equation for a higher dimensional surface is [9]: ity of a certain evolving curve, u, given the shape and
pose of the final curve, u* (or (a,p)). Notice that this
St = 9 (etn) |Vul + Vu- Vag (8) term does not include any image information whatso-
ever. We model this term as a Laplacian density func-
where c is an image-dependent balloon force added to
tion over V,tsider the volume of the curve wu that lies
force the contour to flow outward [8, 22]. In this level
set framework, the surface, u, evolves at every point
outside the curve wv.
perpendicular to the level sets as a function of the cur-
P(u | a, p) = exp (—Voutside) (12)
vature at that point and the image gradient.
This term assumes that any curve u lying inside u* is
9.2 Estimation of Pose and Shape equally likely. Since the initial curve can be located at
any point inside the object and the curve can evolve
In addition to evolving the level set based on the cur-
along any path, we do not favor any such curve.
vature and the image term, we include a term that
incorporates information about the shape of the object The second term in Equation 11 computes the prob-
being segmented. To add such a global shape force ability of seeing certain image gradients given the cur-
to the evolution, the pose of the evolving curve with rent and final curves. Let h(u*) be the best fit Gaussian
respect to the shape model must be known (see Fig- to the samples (u*, |VJ|). We model the gradient prob-
ure 7). Without an estimate of the pose, the shape ability term as a Laplacian of the goodness of fit of the
model cannot adequately constrain or direct the evolu- Gaussian.
tion. Therefore, at each step of the curve evolution, we P(VI |uu) = exp (—| h(u') — |VJ| |?) (13)
seek to estimate the shape parameters, a, and the rigid
pose parameters, p, of the final curve using a maximum The last two terms in Equation 11 are based on our
likelihood approach. prior models, as described in Section 8. Our shape
(Qn,
>Pu) = argmax P(a,p |u, VI) (9) prior is a Gaussian model over the shape parameters,
ap a, with shape variance Dx.
In this equation, u is the evolving surface at some point
in time, whose zero level set is the curve that is seg- Pla)= espe
af nb dblagls ex (—Saete)
ulEe Ste ad
Image Guided Surgery
149
In our current framework, we seek to segment one ob- timate. Combining these equations yields the final ex-
ject from an image, and do not retain prior information pression for computing the surface at the next step.
on. the likelihood of the object appearing in a certain
location. Thus, we simply assume a uniform distribu- u(t +1) =u(t)-+A, (9(c+) [Vu(t)| + Vu(t)- Vs)
tion over pose parameters, which can include any type
of transformation, depending on application. 295 (we) a2u(t)) (18)
The two parameters 1 and \» are used to balance
P(p) = U(—co,
ov) (15) the influence of the shape model and the gradient-
curvature model. The parameters also determine the
These terms define the maximum likelihood estima-
overall step size of the evolution. The tradeoff between
tor of shape and pose, which estimates the final curve
shape and image depends on how much faith one has
or segmentation of the object. For efficiency, these
in the shape model and the imagery for a given appli-
quantities are computed only in a narrow band around
cation. Currently, we set these parameters empirically
the zero level set of the evolving surface, and the ML
for a particular segmentation task, given the general
pose and shape are re-estimated at each evolution step
image quality and shape properties.
using simple gradient ascent on the log likelihood func-
tion in Equation 11. While each ascent may yield a
10 Results
local maximum, the continuous re-estimation of these
parameters as the surface evolves generally results in We have tested the segmentation algorithm on syn-
convergence on the desired maximum. Next, we in- thetic and real shapes, both in 2D and in 3D. For
corporate this information into the update equation controlled testing, a training set of rhombi of various
commonly used in level set segmentation. sizes and aspect ratios was generated to define a shape
model. Test images were constructed by embedding
9.3 Evolving the Surface the shapes of two random rhombi with the addition of
Gaussian speckle noise and a low frequency diagonal
Initially, the surface, u, is assumed to be defined by bias field.
at least one point that lies inside the object to be seg-
Segmentation experiments were performed on 2D
mented. Given the surface at time t, we seek to com-
slices of MR images of the corpus callosum (Figure
pute an evolution step that brings the curve closer to
8). The corpus callosum training set consisted of 49
the correct final segmentation based on local gradient
examples like those in Figure 4. The segmentations of
and global shape information.
two corpora callosa are shown in Figure 8. Notice that
The level set update expression shown in Equation while the ML shape estimator is initially incorrect, as
8 provides a means of evolving the surface u over time the curve evolves, the pose and shape parameters con-
towards the solution to the original curve-minimization verge on the boundary. The segmentations of the femur
problem stated in Equation 6. Therefore, the shape of slices and the corpora all converged in under a minute
the surface at time t+1 can be computed from u(t) by: on a 550 MHz Pentium III.
The vertebrae example illustrates the extension of
ult +1) = u(t) +1 (e(c+ x) |Vu(t)| + Vu(t) - Vs) (16) the algorithm to 3D datasets. Figure 9 illustrates a few
steps in the segmentation of vertebra T7. The training
where A; is a parameter defining the update step size. set in this case consisted of vertebrae T3-T9, with the
exception of T7. The initial surface was a small sphere
By estimating the final surface u* at a given time
placed in the body of the vertebra. The red contour is
t, (Section 9.2), we can also evolve the surface in the
a slice through the zero level set of the evolving hyper-
direction of the maximum likelihood final surface:
surface. The yellow overlay is the ML pose and shape
u(t +1) = ult) +2 (a(t) - u(t)) (17) estimate. Segmenting the vertebra took approximately
six minutes.
where A2 € [0,1] is the linear coefficient that deter- To validate the segmentation results, we compute
mines how much to trust the maximum likelihood es- the undirected partial Hausdorff distance [15] between
150 E. Grimson et al.
Figure 8: Four steps in the segmentation of two different corpora callosa. The last image in each case shows the final
segmentation in red. The cyan contour is the result of the standard evolution without the shape influence.
Lo OC 4
Figure 9: Karly, middle, and final steps in the segmentation of the vertebra T7. Three orthogonal slices and the 3D
reconstruction are shown for each step. The red contour is a slice through the evolving surface. The yellow overlay is a slice
through the inside of the ML final surface.
the boundary of the computed segmentation and the Corpus 1 Corpus 2. Vertebra
boundary of the manually-segmented ground truth. 1.3 mm 1.5 mm 2.7 mm
The directed partial Hausdorff distance over two point 1.6 mm 2.0 mm 4.4mm
sets A and B is defined as
Table 1: Partial Hausdorff distance between our segmen-
tation and the manually-segmented ground truth.
Srathn x
hx (A,B)
= K" min ||a~— 6]|
11 Evolution of Surfaces
where K is a quantile of the maximum distance. The The previous two methods for segmentation are de-
undirected partial Hausdorff distance is defined as signed to handle a wide range of structures, but work
Hx(A,B) = max(hx(A, B),hx(B,A)). The results best for compact connected anatomical structures.
for the corpora and vertebra shown in Table 1 indicate Segmenting out tubelike structures, such as vessels of-
that virtually all the boundary points lie within one or ten requires more specialized methods, and in this sec-
two voxels of the manual segmentation. tion, we outline our approach to such problems.
Image Guided Surgery
151
Curve-shortening flow is the evolution of a curve over
time to minimize some distance metric. When this initia
where I : [0,a] x [0,6] — [0,00) is the image and g : with initial condition u(-,0) = uo(-) and uo(Co) = 0
[0, 00) + Rt is a strictly decreasing function such that in the sense that the zero level set of wu is iden-
g(r) + 0 as r — ov, such as g(|VI|) = Tv: tical to the evolving curve for all time. Choosing
152 E. Grimson et al.
It is these equations that motivated the development where II is the projection operator onto the normal
of CURVES, which uses image information to create space of C’ (a vector space of dimension 2) and d is
the auxiliary vector field. a given vector field in R°, (Figure 11). The evolution
Let v : R® — [0,00) be an auxiliary function whose equation for the embedding space becomes [1]:
zero level set is identically C(p) : [0,1] > R°, that is
ve = A(Vv, Vv) + Vo-d.
smooth near C’, and such that Vv is non-zero outside
C. For a nonzero vector q € R”, define:
Sm
13. CURVES
Py =I
lah The evolution equation we use follows directly from an
energy-minimization problem statement.
where J is the identity matrix as the projec-
tor onto the plane normal to q. Further define 13.1 Evolution Equation
A(Vv(z, t), V7u(a, t)) as the smaller nonzero eigenvalue
For 1D structures in 3D images, we wish to minimize:
of Py, V7uPyy. The level set evolution equation is [1]:
> = g’ VI
ae
C, = KN — —II(H—),
gal Figure12: To evolve a point on the distance function,
CURVES chooses image information from A instead of B.
where H is the Hessian of the intensity function. The
auxiliary vector field in the above equation is thus:
dot product of the respective gradients of v and I, so
= OR the update equation becomes:
d= —H-—_.,
g |VI|
ff
t= NVo(a,2),
vy, = A(Vv(z, V0(2,0)+FV0(@,1) HE
t), V20(2,t
é
Lae
VI
z,t)-H——
propagate the image information off the current object
boundary to obtain the values near the boundary, as is
customary in level set methods [4, 2, 20, 12]. Instead,
13.2 Features we use directly the image information at each point in
the image (Figure 12). Our choice has the advantage
Initial experiments required that the evolving volume of enabling attraction to image gradients not on the
be a distance function to the underlying curve; how- current boundary, thereby reducing sensitivity to ini-
ever, it was not clear how to robustly extract the zero tialization, at the expense of requiring more frequent
level set or even evolve those points since the distance reinitializations of the distance function and losing the
function was singular exactly there. For this reason, we equivalence to the Lagrangian method (updating C di-
developed the ¢-Level Set Method which defines a thin rectly instead of v) off the boundary.
tube of radius ¢ around the initial curve, then evolves In short, the CURVES system takes in a 3D im-
that tube instead of the curve. € does not denote a fixed age that contain thin curvilinear structures, such as an
value here, but means only that the evolving shape is MRA image. An initial segmentation estimate is gener-
a “tubular” surface of some unspecified and variable ated by thresholding the image. That estimate is used
nonzero width. Thus, we are now evolving surfaces to generate an initial distance function, which is itera-
similar to [4], but that follow the motion of the under- tively updated according to Equation 20. Convergence
lying curve so they do not regularize against the high is detected automatically when volumetric change in
curvatures found in thin cylindrical structures such as the segmentation is very small over some number of
blood vessels and bronchi. In addition to being more iterations. Further detail was published in [23].
robust, this method better captures the geometry of
such structures, which have nonzero diameter. 14 Results
Next, we modified the update equation for the MRA
segmentation application. To control the trade-off be- We have run CURVES on over 20 medical datasets, pri-
tween fitting the surface to the image data and enforc- marily phase contrast magnetic resonance angiography
(PC-MRA), of various resolutions and scanner types.
ing the smoothness constraint on the surface, we incor-
We provide images of representative segmentations.
porate an image weighting term p which is set by the
user or is pre-set to a default value. Second, because We first show successive boundary estimates in a seg-
vessels in MRA and bronchi in CT appear brighter than mentation of a cerebral MRA image to demonstrate
the background, we weight the image term by the co- the behavior of the algorithm over time, until conver-
sine of the angle between the normal to the surface and gence is reached. We then show CURVES segmenta-
the gradient in the image. This cosine is given by the tions of more cerebral MRA images compared to those
che
154 E. Grimson et al.
Figure 14: The same MRA dataset is shown from three orthogonal viewpoints. For each viewpoint, the maximum intensity
projection of the raw data is shown, followed by the CURVES segmentation (red), the manual segmentation (blue), and a
combination image showing the differences between the segmentations.
[7] T. Cootes, C. Beeston, G. Edwards, and C. Taylor [14] W.E.L. Grimson, T. Lozano-Pérez, W.M. Wells III,
Unified Framework for Atlas Matching Using Active G.J. Ettinger, S.J. White and R. Kikinis, An Auto-
Appearance Models. Information Processing in Med- matic Registration Method for Frameless Stereotaxy,
ical Imaging 1999. Image Guided Surgery, and Enhanced Reality Visu-
alization, IEEE Trans. Medical Imaging, 15(2), April
[8Dstt
L. Cohen On active contour models and _ balloons. 1996,
pp. 129-140.
CVGIP: Image Understanding, 53(2):211—218, 1991.
[15] D. Huttenlocher, G. Klanderman, W. Rucklidge,
[9] V. Caselles, R. Kimmel, and G. Sapiro. Geodesic ac- “Comparing images using the Hausdorff distance” in
tive contours. Int’l Journal of Computer Vision 22(1) IEEE Trans PAMTI, 15:850-863, 1993.
(1997) 61-79
[10] G. Christensen, R. Rabbitt, and M. Miller. De- [16] M. Jones and T. Poggio. Multidimensional Morphable
Models. Int’l Conf. Computer Vision, 1998.
formable templates using large deformation kinemat-
ics. IEEE Trans. on Image Processing 5(10) (1996)
1435-1447.
[17] T. Kapur, E. Grimson, R. Kikinis, W. Wells, “En-
hanced spatial priors for segmentation of magnetic
resonance imagery”, Medical Image Computation and
[11] Evans, L.C. and Spruck, J.: Motion of level sets by
Computer Assisted Interventions, Boston, October
mean curvature: I. Journal of Differential Geometry
1998.
33 (1991) 635-681
[12] Gomes, J., and Faugeras, O.: Reconciling distance [18] T. Kapur, E. Grimson, W. Wells, R. Kikinis, “Seg-
functions and level sets. mentation of Brain Tissue from Magnetic Resonance
Images”, Medical Image Analysis, Vol. 1, Issue 2, 1997,
[13] Grimson, W.E.L., Ettinger, G.J., Kapur, T., Leven- pp 109-128.
ton, M.E., Wells III, W.M., and Kikinis, R.: Utilizing
Segmented MRI Data in Image-Guided Surgery. Int’! [19] Kass, M., Witkin, A., and Terzopoulos, D.: Snakes:
Journal Pattern Recognition and Artificial Intelligence active contour models. Int’! Journal Computer Vision
(1996) 1(4) (1988) 321-331
E. Grimson et al.
[20] Kichenassamy, A., Kumar, A., Olver, P., Tannen- aments. UCLA Computational and Applied Mathe-
baum, A. and Yezzi, A.: Gradient flows and geometric matics Report 98-47 (1998)
active contour models. In Proc. IEEE Int’! Conf. Com-
puter Vision (1995) 810-815 J. Sethian. Level Set Methods. Cambridge University
Press (1996)
M. Leventon, E. Grimson, O. Faugeras. Statistical
Shape Influence in Geodesic Active Contours. CVPR L. Staib and J. Duncan. Boundary Finding with Para-
2000 metrically Deformable Models PAMI 14(11), (1992),
1061-1075.
L. Lorigo, O. Faugeras, W.E.L. Grimson, R. Keriven,
R. Kikinis. Segmentation of Bone in Clinical Knee S. Ullman and R. Basri. Recognition by linear combi-
MRI Using Texture-Based Geodesic Active Contours. nations of models. CVPR 1991
In MICCAT, 1998.
P. Viola, W. Wells. IJCV 1997
Lorigo, L. M., Faugeras, O., Grimson, W.E.L.,
Y. Wang and L. Staib. Boundary Finding with Corre-
Keriven, R., Kikinis, R., and Westin, C.-F.: Co-
dimension 2 geodesic active contours for MRA seg- spondence Using Statistical Shape Models CVPR 1998
mentation. Proc. Int’! Conf. Information Procession W.M. Wells, III, W.E.L. Grimson, R. Kikinis, and
Medical Imaging. Lect. Notes Comp. Sci. 1613 (1999) F.A. Jolesz, “Adaptive Segmentation of MRI data”,
126-139 IEEE Trans. Medical Imaging, Vol. 15, No. 4, pp. 429—
A. Pentland and S. Sclaroff. Closed-form solution 442, August 1996.
for physically based shape modeling and recognition.
Zeng, X., Staib, L.H., Schultz, R.T., and Duncan, J.S.:
PAMI 13(7) (1991) 715-729.
Segmentation and measurement of the cortex from 3D
Ruuth, S.J., Merriman, B, Xin, J., and Osher, S.: MR images. Proc. Int’! Conf. Medical Image Com-
el
Diffusion-generated motion by mean curvature for fil- puting Computer-Assisted Intervention. Lect. Notes
Comp. Sci. 1496 (1998) 519-530
Pulling Motion Based Tactile Sensing
Makoto Kaneko, Hiroshima University, Higashi-Hiroshima, Japan
Toshio Tsuji, Hiroshima University, Aigashi-Hiroshima, Japan
convex area. When the tactile probe recognizes such objects. Chen, Rink and Zhang [18] introduced an
a particular situation, the sensing system stores each active tactile sensing strategy to obtain local object
contact point before and after jump. For such a non- shape, in which they showed how to find the contact
traced area, the sensing motion is repeated recursively. frame and how to find the local surface parameters in
There might be a failure mode in which the sensing mo- the contact frame. This work might be applied to a
tion results in repeating mode without finding any new concave surface that can be described by the second
contact point. To emerge from such an infinite loop, we order polynomial equation, although their experiment
prepare infinite loop escape by which the tactile probe is limited to a convex object only. In these works, they
can always find a new contact point if it exists. We picked up extremely simple concave objects as test ex-
show that the proposed algorithm can continue to run amples but included no precise discussion on the inher-
until the tactile probe detects every surface that it can ent sensing algorithm for concave objects. This paper
reach and touch. Also, we show computer simulations is an extended version of our former work [19].
obtained using the proposed algorithm.
3 Problem Formulation
2 Related Work
3.1 Preliminary Definitions
There are a number of papers discussing tactile and
Let P(s) (or simply P) be a point on the envi-
haptic perception linked with multi-fingered dexterous
ronment’s surface, where s is the coordinate along
hands [1]-[10]. Caselli et al. [11] proposed an efficient the surface as shown in Figure 3(a). We define
technique for recognizing convex object from tactile
Dist(P(s1), P(s2)), fa and fk, as the distance, the
sensing. ‘They developed internal and external vol-
environment’s contour, and the line segment between
umetric approximation of the unknown objects and
P(s,) and P(s2), respectively. When Ce becomes
exploited an effective feature selection strategy along
with early pruning of incompatible objects to improve known by a probe tracing, we define ane € W,, where
recognition performance. On the other hand, algo- W, is the assembly of the area traced by the probe.
rithms for tactile sensing have also been reported. Gas- If Dist(P(s;), P(s2)) < € exists for a V small ¢ > 0,
ton and Lozano-Perez [12] and Grimson and Lozano- we can regard L,’ as an approximate surface of byFef
Perez [13] discussed object recognition and localization and define C € W2, where W2 is the assembly of
through tactile information under the assumption that approximately detected area by straight-line approxi-
the robot possesses the object models. Cole and Yap mation. When the tactile probe recognizes the partic-
[14] have addressed the “Shape from probing” problem, ular area between P(s;) and P(s2) where it can not
where they discussed how many probes are necessary reach and touch physically, we define the area as the
and sufficient for determining the shape and position non-reachable area and describe by CE2 € W3, where
of a polygon. They showed 3n — 1 probes are neces- Ws3 is the assembly of the wifi pases area verified
sary and 3n are sufficient for any n-gon, where n is the by a probing motion. For every concave object (or en-
number of probes. Most of these works [1]-[9], [11]- vironment), we can make an equivalent convex shape
[14], however, deal with convex objects only and never by connecting common tangential lines. The outside
discuss concave ones.
As far as we know, there are only a few papers Free area: F
[15]-[20] addressing tactile sensing for concave objects.
Russell [15] designed a whisker sensor composed of
Unknown
an insensitive flexible beam, a potentiometer, a re- area
turn spring and counterweight. Assuming that the P(so)
(c) (d)
angles (Figure 5(c) and (d)), and one line segment (Fig-
Figure 4: Outline of the algorithm. ure 6(a)), where the difference between (c) and (d) de-
a new pair indicating the unknown area. The sensing pends upon whether i passes through gl) or gi).
motion is repeated recursively for A,B ,. During both The quadrangle in Figure 5(a) or (b) results in a tri-
local concave point search and tracing motion planning, angle when the line segment A;B; lies on the extended
the sensing motion may result in an infinite loop de- line of one of two probe postures. For a single probe
pending upon the environment’s geometry. In order to detection as shown in Figure 6(a), G; forms either a tri-
emerge from such an infinite loop, we prepare the infi- angle or a line segment (Area(G;) = 0). Area(G;) = 0
nite loop escape, in which the probe is inserted so that it means no more rotational degree of freedom around the
can reach a new contact point between the designated tip. In other words, there exists no other pass except
area. The infinite loop escape is not always necessary the current one resulting in the single probe posture as
but called upon request when the same contact point shown in Figure 6(b). Once Area(G;) = 0 is detected,
is detected repeatedly. the algorithm categorizes the A;B; into never touching
area W3 and leaves from the initial pass planning. In
4.2 Local Concave Point Search this subsection, we temporarily assume Area(G;) 4 0.
4.2.1 Initial Pass Planning
Figure 7: Definition of a mazimum swing angle is determined such that the probe
never comes out from the line segments PY) A; and
(i) Swing motion: The probe is rotated around the PY) B,. If there is no Ext(A;B;) within Bs Nn V;,
joint until either it makes contact with an envi- the tip always reaches Int(A;B;) through the bisection
ronment or it exceeds a prescribed rotational an- method.
gle.
Proof : By the assumption imparted to the max-
(ii) Dividing: The angular displacement obtained dur- imum swing angle, the probe never comes out from
ing the swing motion is equally divided. Then, the
the line segments pY A; and py )B; as shown in
probe is swung back by the equally divided angle.
Figure 8(a). From Figure 8(b), we can easily show
(itt) Inserting motion: The probe is inserted along the
longitudinal direction till the tip makes contact CONV) De 0 Vids Soret wtecldast fialan
with an environment. which means if there is no Ext(A;B;) within 7? NY,
(iv) (i) through (iii) are repeated until the probe re- (pe NVi(j = 1,2,...,n) cannot include Ezt(A;B;) ei-
sults in one of the following states, (a) The probe ther. Therefore, the tip comes out from i or stops
loses any rotational degree of freedom around the due to the existence of Int(A;B;) before reaching ia
joint, or (b) The tip converges the intersection be- Once the tip comes out from re the only feasible case
tween the environment’s surface and the boundary is that it makes contact with Int(A;B;). In any case,
imparted as a constraint condition. the tip finally reaches on Int(A;B;). 0D
Definition 4 Let the joint position be P;. Define T; In order to utilize Theorem 2, we have to ensure that
as a semi-infinite region sandwiched by two lines P;A;
there is no Ext(A;B;) within iPom V;. In case that
and P;B;.
there exists an external environment within Ti Vi,
7,” is shown by the hatched line in Figure Wee however, the tip does not always reach Int(A;B;)
where the superscript (j) denotes the value after j-th even though the bisection method is executed within
insertion. Now let us consider an extreme case, where
7”) 1 V;. Figure 9(a) may provide a good example.
the initial contact is achieved at the top of the hill
Suppose that the initial contact is achieved at the top of
as shown in Figure 7(b). The bisection method starts
the hill and the bisection method is executed as shown
by swinging the probe in the left direction (or right
in Figure 9(a). At the end of the bisection method,
direction). Since the probe always goes into the safety
the tip will converge to the local concave point D; be-
area F in this particular case, the probe will not make
longing to Ext(A;B;). To exclude the convergence to
contact with the environment any more. Therefore,
such an external environment, we again recall G; where
we need a boundary, such that we can stop the swing
it is guaranteed that there is no Ext(A;B;) in it. For
motion. Te ) provides a reasonable boundary, although example, if the bisection method is planned, such that
it is still not a sufficient boundary for finally making
the tip may move within Te ) AV; 0G; as shown in
the tip converge on Int(A;B;).
Figure 9(b), the convergence on Int(A;B;) is always
Theorem 2 Suppose that an initial contact with guaranteed. Theorem 3 provides a sufficient condition
Int(A;,B;) is already completed. Also suppose that the for making the tip always converge on Int(A;B;).
Pulling Motion Based Tactile Sensing
163
Figure 9: An example of environment where there exists Definition 6 Define K, as an assemble of v satis-
Ext(A;B:) within 7 Me.
fying v't* <0, where v and t are vectors expressing
the moving direction of the joint, and the longitudinal
Theorem 3 Suppose that an initial contact with direction of the probe, respectively, and * denotes the -
Int(A;B;) is already completed. A sufficient condi- value just after the bisection method is completed. Also,
tion for making the tip finally converge on Int(A;B;) define Kz as an assemble ofv satisfying sgn(v,t*) < 0.
is to execute bisection method such that the tip may not More simply, K; denotes the half plane excluding t*
come out from the boundary of T) AV;NG; except the when the whole plane is divided at the joint by the line
line segment A;B;. perpendicular to t.
Proof : Since there is no Ext(A;B;) within qe ae Definition 7 Face(right) = ON (or Face(left) =
V;NG;, the tip comes out from ae or stops due to the ON or Face(tip) = ON) means that a part of the right
side (or left side or tip) of the probe makes contact with
existence of Int(A;B;) before reaching Lge: Therefore,
an environment.
by the similar logic that explained in the proof in the-
orem 2, we can show that the tip finally reaches on Based on Definition 5, the three cases (a), (b), and
Int(A;B;) in any case. O (c) in Figure 10 can be classified by (Yi, Y2) = (1,0),
(V1,¥a)= (1,1 or 1), (¥1,¥s) = (2,0), respectively.
For each case, let us now consider a sufficient condi-
4.3 Tracing Motion Planning
tion for realizing the pulling motion based tracing mo-
4.3.1 Realization of the Pulling Motion tion. Let K be the region where the joint can be moved
When the local concave search comes to the end, without generating any pushing motion. In case (a),
there are basically two possible cases as shown in Fig- K = K, (the hatched area in Figure 11(a)). In case
ure 10, namely, the tip finally reaches a local concave (b), if Yo = —1, K = K,MKez (the double hatched area
point (a), and it stops at a non-local concave point in Figure 11(b)) and if Yy= 1, K = KyNKg. Incase (c),
((b) and (c)). In Figure 10(b) and (c), the tip stops if Face(left) =ON, K =K,MKe (the double hatched
due to the boundary constraint (b) and due to multiple area in Figure 11(c)) and if Face(right) = ON, Y2 = 1,
contacts (c), respectively. iS = Ian jee
Figure 13: P2na detected on Int(A;Bi) or Ext(A;Bi). Figure 14: How to store non-detected area.
<Case 2-1> or <Case 2-2> is distinguished by check- (ii) In case of Prin = Bi:
ing whether Pong € GiU (TiN) or Pong € Gin (TiUV,), (Aj, By) = (Prst, Pona or Pyin).
respectively, as shown in Figure 13(a) and (b). <Case This rule is for keeping the characteristics of V,; de-
2-3> happens when the probe enters F without any fined in 4.2.1.
contact. In <Case 2-1>, the area between P),, and
Pond is registered as a non-detected area and then the 4.4 Infinite Loop Escape
tracing motion is continued for the remaining non-
traced area. In both <Case 2-2> and <Case 2-3>, There might be a particular state in which the tip can
we stop any further tracing motion and register the find the same point repeatedly during the local con-
area between Pj5; and Pyin as a non-detected area. cave point search and the tracing motion planning. In
<Case 3> may occur because the condition realizing a order to avoid such an undesirable mode, we prepare
pulling motion is satisfied only at the starting position. the infinite loop escape, where the probe temporarily
Once v;'t > 0 is detected, we stop the tracing motion searches a new contact point by utilizing the same way
and register the area between P;,; and Pyin as a non- taken in the initial pass planning. Since the initial
detected one, where Pj,; is replaced by the point in pass planning ensures to find a new contact point be-
which v;!t > 0 is detected. <Case 4> may also occur tween A;B;, we can separate the area A;B; into two
depending on the surface geometry, the probe posture new areas A;,,Bj;4, and A;,2Bj42, as shown in Fig-
and the moving direction of the probe. Once the probe ure 15(a). After dividing the area, we leave from the
loses the degree of freedom in the direction v;, we stop infinite loop escape and come back to the normal mode
the tracing motion and register the area between P, st given by local concave point search and tracing mo-
and Prin as a non-detected one, where P< is replaced tion planning. Now, assume that an infinite mode ap-
by the point in which the probe loses the degree of free- pears every time after initial pass planning motion. In
such an extreme case, Aji1Bj41 (or Ai+2Bi+2) is fur-
dom. In case of Figure 11(c), according to Theorem 4,
ther separated into two unknown areas A;+3Bj43 and
the tracing motion is not executed in the direction from
Aj44B;44, and so forth, as shown in Figure 15(a). For
D; to A;. In such a situation, we register (Po) ; Pe)
and (Pe), Pe) as non-detected areas after regarding
(PA2, Pana) = (DisQ) and (PLS2, Phin) = (Q,4i) as
shown in Figure 12(c).
ra
\
A
Ch Ceew
Be
No
j=j~jt+m-1
New non-traced area? Store new
unknown area A;B;
No
Lins Yes
m, : the number of unknown
area detected in i-th roop
Figure 17 and Figure 18 show simulation results, where and the unknown areas, respectively, and the line seg-
the continuous and the dotted lines denote the known ment passing through the joint expresses the moving
direction of the joint, which is determined by the suf-
ficient condition given by Theorem 4. Figure 17 is a
simple example, where the tip can trace every surface
eventually. Also, there is no Ext(A;B;) within 7? NY;
and, therefore, the local concave point can be found by
utilizing either Theorem 2 or Theorem 3. Figure 18
shows an example including a couple of never-touching
areas, where the tip cannot reach and touch. Although
this example includes such a complicated surface, it
can be seen that the proposed algorithm enables the
tip to reach every reachable area step by step and, fi-
nally, it finds the contour of the surface except three
never-touching areas. From these simulation results,
it can be understood that the unknown area gradually
(c) (d) decreases and finally disappears except the particular
area which the probe cannot reach and touch.
Figure 17: Simulation result (example 1).
Pulling Motion Based Tactile Sensing
167
6 Conclusions IEEE Int. Conf. on Robotics and Automation, pp342—
347, 1989.
A tactile sensing algorithm for detecting the concave
surface was discussed. In our next step, we will relax [8] Bajcsy, R.: “What can we learn from one finger ex-
periments?”, Proc. of the 1st Int. Symp on Robotics
this assumption so that the tip can reach much larger
Research, pp509-527, 1984.
area. Also, we will try to extend the pulling-motion-
based tactile sensing into a 3D concave environment. [9] Bicchi, A., Salisbury J. K. and D. J. Brock: Contact
Since tracing every area for a 3D environment is not sensing from force measurements, Int. J. of Robotics
Research, vol.12, no.3, 1993
as feasible as that in a 2D one, the parametrized local
surface function [18] may be a useful tool for expressing [10] Bays, J. S.: Tactile shape sensing via single- and multi-
the surface shape with respect to a local contact frame. fingered hands, Proc. of the IEEE Int. Conf. on Robot-
ics and Automation, PP 290-295, 1989.
We believe, however, that the concept of the pulling-
motion-based tracing should be still included even in [11] Caselli, S., C. Magnanini, F. Zanichelli, and E. Caraffi:
the algorithm for surface sensing of a 3D environment. Efficient exploration and recognition of convex objects
based on haptic perception, Proc. of the IEEE Int.
Conf. on Robotics and Automation, PP 3508-3513,
Acknowledgments 1996.
This work has been supported by CREST of JST [12] Gaston, P. C., and T. Lozano-Perez: Tactile recogni-
tion and localization using object models, The case of
(Japan Science and Technology).
polyhedra on a plane, MIT Artificial Intelligence Lab.
Memo, no.705, 1983.
References
[13] Grimson, W. E. L. and T. Lozano-Perez: Model based
recognition and localization from sparse three dimen-
[1] Dario, P. and G. Buttazzo: An anthropomorphic robot
sional sensory data, AI Memo 738, MIT, AI Laboratory,
finger for investigating artificial tactile perception, Int
Cambridge, MA, 1983.
J. Robotics Research, vol.6, no.3, pp25—48, 1987.
[14] Cole, R., and C. K. Yap: Shape from probing, J. of
N Fearing, R. S. and T. O. Binford: Using a cylindrical
Algorithms 8, pp19-38, 1987.
tactile sensor for determining curvature, Proc. of the
IEEE Int. Conf. on Robotics and Automation, Philadel- [15] Russell, R. A. : Using tactile whiskers to measure sur-
phia, pp765-771, 1988. face contours, Proc. of the 1992 IEEE Int. Conf. on
Robotics and Automation, pp1295—1300, 1992.
[3 ‘otis
Maekawa, H., K. Tanie, K. Komoriya, M. Kaneko, C.
Horiguchi, and T. Sugawara: Development of a finger- [16] Tsujimura, T. and T. Yabuta: Object detection by tac-
shaped tactile sensor and its evaluation by active touch, tile sensing method employing force/moment informa-
Proc. of the IEEE Int. Conf. on Robotics and Automa- tion, IEEE Trans. on Robotics and Automation, vol.5,
tion, Nice, p1327, 1992. no.4, pp444—450, 1988.
[4](ase Salisbury, J. K.: Interpretation of contact geometries [17] Roberts, K. S. : Robot active touch exploration, Proc.
from force measurements, Proc. of the 1st Int. Symp. of the IEEE Int. Conf. on Robotics and Automation,
on Robotics Research, 1984. PP 980-985, 1990.
[5] Brock, D.L. and S.Chiu: Environment perception of [18] Chen, N., R. Rink, and H. Zhang: Local object shape
an articulated robot hand using contact sensors, Proc. from tactile sensing, Proc. of the IEEE Int. Conf. on
of the IEEE Int. Conf. on Robotics and Automation, Robotics and Automation, PP 3496-3501, 1996.
Raleigh, pp89-96, 1987.
[19] Kaneko, M., M. Higashimori, and T, Tsuji: Pulling
[6] Kaneko, M., and K. Honkawa: Compliant motion based motion based tactile sensing for concave surface, Proc.
active sensing by robotic fingers, Preprints of the 4th of the IEEE Int. Conf. on Robotics and Automation,
IFAC Symp. on Robot Control, Capri, pp137-142, pp2477—2484, 1997.
1994.
[20] Boissonnat, J. D. and M. Yvinec: Probing a scene of
[7] Allen, P. and K. S. Roberts: Haptic object recogni- non-convex polyhedra, Algorithmica, vol.8, pp321—342,
tion using a multi-fingered dexterous hand, Proc. of the 1992.
3 are:Sg dell ae law al Boat ~ "20 —_7 : es
ern
pee bir
nae es
ret, to Tettuo vd be "dite a
laa staid wose
P a [ragtten viet
a
i.-“ Pa oni ‘ od amd,
i
jit his & 2 owe Ot
_< it are DAP a Mevne: na oe
hewfer Marg wh.mace td Sa
eh yeetiyertsg
fee.i waht ”~ Babipew
eel Tay ange on (Oi aligaatent
cline) jatitbauy yithanites ind
ae RO? beyaes
wie sere
NY av v “hd
= =
se ioe ve. 4 a is 4 e
‘dipti se =. HO) Gas Nolo AIS 6 Fed aly iy Pe Le) Ova
eo % mely A rad wiiodal ae
cone
Ay dul 4M. ut at A) URRY A ol mute tae, eee =»
. . ‘eugt ch pater ‘ ®
ne \,
»| » Tale igs
7 reel a de Wee? canad’ b bets ay) .
el liek { Ve Lal Ae fee DT! rt Pee Py
Ine") mins2 ay a 20 AWD gate BAP ad
AP Dicerinaieey, ante "90 argon gels :
oiled
MOE LOC MELE ced unr ae da, beige eid: ‘whi,
A® ie sutton fig) iwih ade
pale, gen hoe -bomdidneH Mh oberee C0 eerie in
rede vr OP
ii
tet
AFD Wobbee arin es, Betas vlttows Dee)
1
Pheu tyemei
yttitnien tins ited) « wr antt
aavataes ten! bse 2 WO a ino) Atel AHO AL Sua? diy) of ant
yar ty a aun Ae Mites
‘ (i Aen seus i pals 1hANYte ol 9 igtliay
Ti | ss ow gh tng —_F va?
sal
ig wis, ity rmuilve Vv haa Ft lage iP iD)
, i ogee Ql ae) |
1 Introduction
2 Related Work
This paper proposes an inexpensive (minimalist)
method for compensating for these differences in ori- Grasping is a fundamental issue in robotics; [3] pro-
entation by reorienting the part during grasping. As vides a useful review of research on the topic.
illustrated in Figure 1, the part is initially in stable
orientation (a); it then is rotated by the gripper to ori- The two most important classes of grasps are known
entation (b) for assembly onto the peg. We refer to as force closure and form closure. The difference be-
this as a compensatory grasp. tween these two is that the latter is stable regardless
170 T. Zhang, G. Smith, and K. Goldberg
of the external wrench applied to the object. In 1990, in force closure using constrained slip. Rus [13] pro-
Markenscoff et al. [4] proved, by infinitesimal pertur- posed a finger tracking technique to generate rotation
bation analysis, that four hard fingers are necessary of grasped objects with sliding. Hong et al. [14] de-
and sufficient to achieve form closure of a 2D object in veloped a planing algorithm to acquire a desired grasp
the absence of friction. The parallel jaw grippers we by using a finger gait technique, which allows reposi-
propose provide four contact points but the location of tion of fingers while maintaining a grasp. Fearing [15]
tips B and B’ are dependent on the locations of A and considered both sliding and rolling manipulation, and
A’ respectively. developed grasp planning based upon local tactile feed-
Mason [5] was the first to study the role of passive back, geometry, and frictional constraints. Bicchi and
compliance in grasping and manipulation. Brost [6] Sorrentino [16] analyzed the effect of rolling. Compen-
applied Mason’s Rule to analyze the mechanics of the satory grasps combine rolling and sliding. Another ap-
parallel-jaw gripper for polygonal parts moving in the proach was studied by Rao et al. [17]. They proposed
plane. He showed that it is possible to compensate picking up a part using a parallel gripper with a piv-
for errors in part orientation using passive push and oting bearing, allowing the part to pivot under gravity
squeeze mechanics. Our paper considers grasp mechan- to rotate into a new configuration.
ics in the gravitational plane. Our work was motivated by recent research in top-
In 1995, Canny and Goldberg [7] introduced the pling manipulation. Zhang and Gupta [18] studied how
concept of Reduced Intricacy in Sensing and Control parts can be reoriented as they fall down a series of
(RISC) to robotics, which combines simple automation steps. The authors derived the condition for toppling
hardware with appropriate algorithms. The resulting over a step and defined the transition height, which
manipulation systems are inexpensive and reliable. is the minimum step height to topple a part from a
given stable orientation to another. Yu et al. [19] ap-
Trinkle and Paul [8] studied how to orient parts in
plied toppling technique to predict the location of an
the gravitational plane by lifting them off work-surface
object’s COM. The force and position information of
using a gripper. Based upon the geometry of a grasp
the robot finger-tip was provided during Tip (toppling)
and quasi-static analysis, the authors generated lifta-
Operations to estimate the Gravity Equi-Effect Plane
bility regions, which defines the qualitative motion of
containing the COM and the line contact between the
a squeezed object. They predicted the motion by solv-
object and the work-surface. The intersection of three
ing the forward object motion problem that is the dual
such planes at different orientations gave the location of
of a nonlinear program employing Peshkin’s [9] mini-
mum power principle. The pre-liftoff phase analysis of
the COM. Lynch [20] derived sufficient mechanical con-
ditions for toppling parts on a conveyor belt in terms
Trinkle and Paul’s paper is related to our constrained
toppling phase analysis in that we both applied graphic
of constraints on contact friction, location, and motion.
method to analyze the interaction among a planar ob- In [21], we describe the toppling graph to represent the
mechanics and the geometry of toppling manipulation.
ject, a supporting surface, and a gripper in the plane
containing gravity. One important difference is that In this paper, we combine toppling mechanics with an
we focus on the parallel-jaw gripper and consider how analysis of jamming, accessibility and form closure.
jaws can be designed to facilitate grasping using only
translational motion; Trinkle and Paul considered two 3 Problem Definition
or three-point (contact) initial grasps, and employed
both pusher and roll strategy to achieve form-closure Given the planar projection of an n-sided convex poly-
grasps. Abell and Erdmann [10] studied how a planar hedral part P, how can we rotate the part to a de-
polygon can be rotated in a gravitational field while sired orientation and grasp it securely? There are two
stably supported by two frictionless contacts. Zumel
phases involved in this process: constrained toppling
and Erdmann [11][12] analyzed nonprehensile manipu- and grasping. We are given as input: the part’s center
lation using two palms jointed at a central hinge. They
of mass (COM), uncertainty in vertex location, ¢, the
also developed a sensorless approach to orient parts. coefficient of friction between the part and the surface,
Another approach to reorienting parts is dextrous py, and the coefficient of friction between the part and
manipulation, where the part is reoriented as it is held the gripper, jz. Let 6 denote the orientation of the part
Compensatory Grasping with the Parallel Jaw Gripper
171
from the +X direction; initially @ = 0. Let 64 denote
toppling tip
the angle at the desired orientation.
ZL friction cone
During the constrained toppling phase, only gripper constraining
tips A and A’ make contact with the part. We require tip friction
that these two tips cause the part to rotate counter- cone
clockwise without causing C to lose contact with the
surface. From the toppling analysis in section 4 we are
able to show that on a given edge, the rolling condi- dieA in
tions are more easily satisfied if A’ is lower, i.e. da:
is smaller. This will in general produce a finite set of =p OK
bottom surface
possible d4’ candidates for the part. The height of A,
friction cone
da, can then be determined by the graphical analysis
described in section 4.
Figure 3: Notation.
The grasping phase occurs when the part has been
toppled to 6 = 0g. During grasping the grasping grip-
per tips, B and B’, make contact with the part. We re- We consider P as shown in Figure 3. Starting from
quire that the contacts corresponding to A, A’, B, and the pivot, we consider each edge of the part in counter-
B’ create form-closure on the part, even when friction clockwise order, namely e1, €2, ..., €n. The edge e;,
with vertices vu; at (x, 2) and vj41 at (2441, 2:41), is
is disregarded. Since d, and dy: are already known, we
in direction ~; from the +X axis.
must determine dg and dg such that form-closure is
achieved. We additionally require that the tips B and We assume that the part and the gripper are rigid,
B’ do not make contact with the part before 6 = 04. and also that the part’s geometry, the location of the
This requirement is essentially a form of accessibility COM, and the position of the jaws are known exactly.
constraint and further limits the possible values of dz We also assume that the pushing tip and the toppling
and dg. Finally, because A and B are fixed on the tip of the gripper contact the part simultaneously, and
same jaw of the gripper (and likewise A’ and B’) the the motion of the part and is slow enough that we can
geometry of the part along with the relative heights of ignore inertial effects.
A and B will determine the relative x offset between A
and B, which we denote zap.
The final output of the analysis is the height of each 4 Constrained Toppling Analysis
of the four tips, d4, d4’, dg, and dy’, as well as the rel-
ative x offset between tips on each jaw, zap and 2 ,4/p) We divide constrained toppling into a rolling phase and
(see Figure 2). This set of variables determines the a settling phase. Our analysis involves the graphical
gripper design that will rotate the part to the desired construction of a set of functions that represent the me-
orientation. chanics of these phases. In [21], we introduced the top-
pling graph, which includes the radius function, vertex
Figure 3 shows the notation used in our constrained
height functions, constrained rolling height functions,
toppling analysis. The part sits on a flat worksurface
and constrained jamming height functions.
in a stable orientation. The worksurface friction cone
half-angle is a, = tan~+p, and the gripper tip friction The radius function, R(@), is the height of the COM
half-angle is a; = tan~',. The contact point between above the surface as the part is rotated through @ =
the part and the worksurface is called a pivot vertex, 0 > 27. The local minima of the radius function indi-
denoted C in Figure 2, and taken to be at (0,0). The cate the stable orientations of the part [22], while the
COM is a distance p from the origin and angle 7 from local maxima are unstable equilibrium orientations. In
the +X direction at its initial orientation. The pushing this paper we will consider only the range of angles
tip, A’, is a distance d4 from the bottom surface. We corresponding to rotation from one single stable ori-
denote the vector at the left edge of the toppling tip entation to the next. We assume that the part can
friction cone as f; and the right edge as f,. be toppled into that orientation before grasping. This
172 T. Zhang, G. Smith, and K. Goldberg
z i= Sis
—, 4
i! Lo ( )
Lp2 = 8; (5)
_ d/tan(@+w)—s
where
Ss = pcos(n+8), (7)
: (Zp2 — Zp1) sin(@ + w + az) (8
sin(O+w+t+ar—ay) )
Rotation angle (8)
ae tan(a; — 8 —w)’ ay
where
Lp1 = dtan(9+w), (18)
GS == d, (19) O39 = 1 — a4 — Yi. (25)
Compensatory Grasping with the Parallel Jaw Gripper
175
!
The first two criteria can be described as A must
!
|
1 be above both the rolling height and the jamming
|
I
height on the edge it is in contact with for all 8. Note
|
V2
that when the pin crosses a vertex height function
|
|
l
|
1
| it contacts a new edge and must then be above the
|
i
rolling height and jamming height functions for that
|
| edge. The third criterion is that the pin must not lose
!
|
| contact with the part by passing over it during the
|
| be
Se
er
rolling phase.
fi 20 0. 348 60 80 100 120 140
fe)
inaccessible da — Yi
= 2£;-%,—-—— 28
region
a Ag See alig (28)
& y = Y- (29)
final where (2;,y;) is the location of the vertex in the fixed
orientation
frame of reference, (x;, y;) is the location of the vertex
initial
at the bottom of the edge that the toppling tip con-
orientation tacts, and 7; is the angle of that edge. We must check
what portion of the edge is visible from the +X direc-
tion without being blocked by the combination of the
Figure 8: Rotation of a part relative to the toppling tip A.
vertex function and the initial orientation of the edge.
Note that it is possible that lower edges and vertices
e;, final
may also block part of the final orientation of the edge,
B, orientation
and must be checked as well. This check insures that
vertex the contact point is not blocked by the part during
= SS ~ . function rotation.
Y ier aeVS e,, final The second consideration insures that the edge is
RS orientation moving out to the grasping tip at 0 = 6g. In other
curve separating BSR > words, the relative X displacement between A and B,
proceeding from denoted x4, must be greater than the X location (with
receding of edge )
respect to the toppling tip) of the part at dg for any
0 < 64. We will denote the location of the part at a
e, inital |______1f ORG aS height dg and angle @ as (z.,dg). Note that this is a
orientation ee tat
different physical point at each @.
At some critical height, h,, the derivative of x, with
Figure 9: A portion of the edge in the final orientation
respect to @ is 0. All of the physical points on that
may be blocked in the positive x direction before the part
edge below he will meet the requirement of moving out
reaches the final orientation. Additionally, a curve shows
to the part while those above will be receding. The ac-
the separation between where the part is moving forward and
cessibility constraint for this consideration is therefore,
where it 1s receding.
dp < £, on a given edge.
The relative X displacement of a point of the part at
part reached the desired orientation. Since this would height dg can be shown geometrically to be:
prevent the part from reaching the desired final orien-
tation, these heights are considered inaccessible. fe = 2;-2+————
= (30)
By examining the inaccessible region more closely, as
shown in Figure 9, we can see that there are two factors where (2;,y;) and (z;,y;) are the locations of the ver-
to be considered when determining the accessibility of tex at the bottom of the edge in contact with A and
an edge. The first factor is whether any portion of the the edge in contact with B respectively, and ~; and ~;
edge in the final orientation is blocked from visibility in are the angles of those edges. Therefore the derivative
the positive X direction by the part as it rotates. The of x, with respect to @ is given by:
second factor is what portion of the edge is moving
forward, in the +X direction, at the final orientation. dhe | > 1 dakelg
PT eres ae OS
The first factor is taken into account by calculating a Ae~%j; he - Yj
vertex function for the vertex at the top of edgee;. The
Compensatory Grasping with the Parallel Jaw Gripper
177
and must be 0 at he. Setting (31) equal to 0 and solving
for he yields:
5.2 Form-Closure
Overmars for their contributions to our thinking about [13] D. Rus. Dextrous rotations of polyhedra. In [EEE In-
the toppling graph. ternational Conference on Robotics and Automation,
May 1992.
This work was supported in part by the National Sci-
ence Foundation under CDA-9726389 and Presidential [14] J. Hong, G. Lafferriere, B. Mishra, and X. Tan. Fine
Faculty Fellow Award IRI-9553197. manipulation with multifinger hands. In International
Conference on Robotics and Automation. IEEE, May
1990.
References
[15] Ronald S. Fearing. Simplified grasping and manipu-
lation with dextrous robot hands. IEEE Journal of
[1] K. Goldberg, B. Mirtich, Y. Zhuang, J. Craig,
Robotics and Automation, RA-2(4), December 1986.
B. Carlisle, and J. Canny. Part pose statistics: Es-
timators and experiments. JEEE Transactions on Ro-
botics and Automation. 15(5), pages 849-857, 1999. [16] A. Bicchi and R. Sorrentino. Dextrous manipulation
through rolling. In International Conference on Ro-
G. Causey and Roger Quinn. Design of a flexible parts botics and Automation. IEEE, 1995.
feeding system. In [EEE International Conference on
Robotics and Automation, 1997. [17] A. Rao, D. Kriegman, and K. Goldberg. Complete
algorithms for feeding polyhedral parts using pivot
Jocelyn Pertin-Troccaz. Grasping: A state of the art. grasps. IFEE Transactions on Robotics and Automa-
In The Robotics Review I, pages 71-98. MIT Press, tion, 12(6):331-42, April 1996.
1989.
[4= Xanthippi Markenscoff, Luqun Ni, and Christos H. Pa-
[18] R. Zhang and K. Gupta. Automatic orienting of poly-
hedral through step devices. In IEEE International
padimitriou. The geometry of grasping. International Conference on Robotics and Automation, 1998.
Journal of Robotics Research, 9(1), February 1990.
[5 Matt Mason and J. Salisbury. Robotic Hands and Me- [19] Y. Yu, K. Fukuda, and S. Tsujio. Estimation of mass
cod
and center of mass of graspless and shape-unknown
chanics of Manipulation. MIT Press, 1985.
object. In IEEE International Conference on Robotics
(6 — Randy C. Brost. Automatic grasp planning in the and Automation, 1999.
presence of uncertainty. The International Journal of
Robotics Research, December 1988. [20] Kevin Lynch. Toppling manipulation. In [EEE In-
ternational Conference on Robotics and Automation,
[7] John Canny and Ken Goldberg. A risc approach to 1999.
sensing and manipulation. Journal of Robotic Systems,
12(6):351-362, June 1995. [21] Tao Zhang, Gordon Smith, Robert-Paul Berretty,
Mark Overmars, and Ken Goldberg. The toppling
J. C. Trinkle and R. P. Paul. Planning for dex- graph: Designing pin sequences for part feeding. In
trous manipulation with sliding contacts. Interna- IEEE International Conference on Robotics and Au-
tional Journal of Robotics Research, June 1990. tomation, 2000.
Compensatory Grasping with the Parallel Jaw Gripper 179
[22] Ken Goldberg. Orienting polygonal parts without sen- [24] Matt Mason. Two graphical methods for planar con-
sors. Algorithmica, 10(2):201-225, August 1993. Spe- tact. problems. In IEEE/RSJ International Workshop
cial Issue on Computational Robotics. on Intelligent Robots and Systems, 1991.
[23] Tao Zhang, Gordon Smith, and Ken Goldberg. Com- [25] F. van der Stappen, C. Wentink, and M. Overmars.
pensatory grasping with the parallel-jaw gripper. Computing form-closure configurations. In [EEE In-
Technical Report, ALPHA Lab, UC Berkeley, 2000. ternational Conference on Robotics and Automation,
1999.
enc) yevitigk? «athtose sire
hbeibagh
tare
fn wy
| wv. ; PY 2s “Teg :
Y=: Poel Es itty
s<cquistara nit
» io bc Npfeeanit- ie,
i 7
jw
Ra we
a Peeriteae (PE ry & ‘
a J
hs e » m)"* ] . ' ’ T
; - ,a 2 Paw; a * sf aha —_ ¥
yes a WS pe j a aan
o- a
?- — , Pr a
e
% *
_ ‘
‘=
ee. - on ‘
a. ae
te riruern, Siad
2-1, Ueuihy oe A
Pe dite: Ganel ee
ton (, WEAR), Sone
_ oe
—
Optimal Planning for Coordinated Vehicles
with Bounded Curvature
Antonio Bicchi Centro “E. Piaggio,” University of Pisa, Pisa, Italy
Lucia Pallottino Centro “E. Piaggio,” University of Pisa, Pisa, Italy
In this paper we consider the problem of planning The paper is organized as follows. In Section 2 we
motions of a system of multiple vehicles moving in a describe the problem and introduce some notation. In
plane. Each vehicle is modelled as a kinematic system Section 2.1 a formulation of the problem in a form
with velocity constraints and curvature bounds. Vehi- amenable to application of optimal control theory is
cles can not get closer to each other than a predefined presented. Section 3 is devoted to the study of nec-
safety distance. For such system of multiple vehicles, essary conditions for extremal arcs. Finally, Section 4
we consider the problem of planning optimal paths in describes a numeric algorithm to find solutions, which
the absence of obstacles. The case when a constant applies under some restrictions.
distance between vehicles is enforced (such as when co-
operative manipulation of objects is performed by the 2 Problem Statement
vehicle team) is also considered.
Consider N vehicles in the plane, whose individual con-
1 Introduction figuration is described by q; = (2, yi,0:) € Rx Rx S!,
with (2;,y;) coordinates in a fixed planar reference
In this paper we consider the problem of planning mo- frame (0,z,y) and 0; the heading angle of the vehi-
tions of a system of multiple vehicles moving in a plane. cle with respect to the x axis. Each vehicle is assigned
The motions of each vehicle are subject to some con- a task. In order to compute its task a vehicle starts
straints: The velocity of the center of the vehicle is par- in a configuration g;,, and moves in a final configura-
allel to an axis fixed on the vehicle; the velocity is con- tion gi,g. We call these two particular configurations
stant along such axis; the steering radius is bounded. way-points. The initial way—point time is assigned
Also, a minimum distance between vehicles must be and denoted by T?. Assume vehicles are ordered such
enforced along trajectories. that T? < Tg < --- < Tg. We denote by T? the
time at which the i-th vehicle reaches its goal, and let
The task of each vehicle is to reach a given goal con-
T; os T? —T;. Motions of the i-th vehicle before T?
figuration from a given start configuration. We con-
sider optimal solutions in the sense of minimizing total
and after T? are not of interest.
completion time. The i-th vehicle motion is subject to the constraint
that its transverse velocity is zero, @; sin 8; — y; cos 0; =
The literature on optimal path planning for vehicles
0,i=1,...,N. Equivalently, this motion is described
of this type is very rich. The seminal work of Dubins
by the control system q; = fi (qi, ui,wi). More explic-
[4] and the extension to vehicles that can back-up due
itly:
to Reeds and Shepp [6], solved the single vehicle case
Li U; Cos 8;
by exploiting specialized tools. Later on, Sussmann
Ue) 1 le, ei Oe | (1)
and Tang [7], and Boissonnat et al. [2], reinterpreted
0; Wj
these results as an application of Pontryagin’s mini-
mum principle [5]. Using these tools, Bui et al. [3] where u; and w, are the linear and angular velocity of
performed a complete optimal path synthesis for Du- the i-th vehicle, respectively. All vehicles are subject
bins robots. The minimum principle framework used to the following additional constraints:
in these previous works is also fundamental in the de-
velopments presented here. i) the linear velocity is constant: u; = Wi;
182 A. Bicchi and L. Pallottino
ii) the path curvature is bounded: |w;| < 9;, where define the admissible control sets accord-
0; = FF and R; > 0 denotes the minimum turning ingly. In addition we define the separation vector
radius of the i-th vehicle; D= [Dy2, ee » Din, Das, coe ,Dn-1,N]; and the vector
field f(q,u,w)= col, (fiwi). Finally introduce ma-
iii) the distance between two vehicles must remain trices [; ==eoly.a (Oa; (2 1 1]"), with oj, =1ifi=j,
larger than, or equal to, a given separation limit: else oj;= 0, ad functions 7;(q(t),@) = T: (g(t) — @).
Dij(t) = (x5 (t) —a4(€))?
+(y5(€)—ys(t))? — a3, = 0, Our optimal control problem is then formulated as
at all times ¢ (di, =0,2= 1,45, NY"
H;(t) = const. < 0 along extremal unconstrained arcs with the restriction that:
and, being by assumption the way-points configura-
tions unconstrained, it follows from Equation 9 that b€ (rR, 27R); a,e € [0,5], u,v € [0,27R), d>O0 (15)
H;(t) is also continuous at t = TY.
A complete synthesis of optimal paths for a single
Extremals of H; within the open segment {|w;| < Dubins vehicle is reported in [3]. The length of Du-
u;/R} can only be obtained if: bins paths between two configurations, denoted by
Lp(é?,€7), is then unique and defines a metric on
: — ee Air yi(t) _ ri2i(t) + V3 =)())) (13) IR? x S!. One simply has Lp(-,-) = R(|a| + |b| + lel)
for a C,0pC. path, and Lp(-,-) = R(|u| + |v|) +d for
a CaS aC» pathi
If the condition holds on a time interval of non-zero
measure, then A;,3 = 0 on the interval. This implies In our multivehicle problem, however, other extremal
pitt; sin(O; — Wi)= 0, hence 6;= 7; mod and w; = 0. paths may turn out to be optimal, and therefore have
A. Bicchi and L. Pallottino
184
and, using Equation 17, such a ¢ exists only if = <1. If we find the solution
of Equation 19 in 6¢ and 68, the solutions coincide for:
U1 cos(@ — 61) — U2 cos(d — 62) = 0. (19)
‘This is similar to the current practice in conflict reso-
lution for air traffic control © = 62 + arccos (=) é (25)
U2
Optimal Planning for Coordinated Vehicles with Bounded Curvature
185
@ exists if 2 < 1. Hence, from Equations 24 and
; ae a :
25, @ exists if Uj = Up. In this case the solution of
Equation 19 is:
J= Pin
+ >0, 72% (a(T?) — a2)
+ 0,72 1s(a(TY) — 4?) ve)
A tae wi +AT(G— f) + uDyodt,
with y > 0 along a constrained arc. The jump condi- Figure 2: A numerically computed solution to a two-
tions at the entry point of a constrained arc, occurring vehicles minimum total time problem. Vehicles are repre-
at time 7, are now: sented as aircraft. Minimum curvature circles are reported
at the start and goal configurations, along with safety discs
of radius d/2 (dashed). The unconstrained Dubins’ paths
= — my |
4
(thin lines) would achieve a cost of 88.75 units, but collide
in this case (collisions are marked by “+” signs). The op-
timal solution consists of two unconstrained arcs for each
vehicle, pieced together with a zero—length constrained arc
of type b. Total cost is 92.25 units.
where H = 3), w; + ATf+v7T Dyp, and:
form:
(a1 — 22) %,cos0, — tig cos Ag
(yi —Yy2) wt sind, — tig sin 2
(XY -2 0 di, sin(d — 61)
Oq : (xo aad £1) U2 COS Og -—- 1 cos 01 A(qe;¢e) |°?47
(y2 = Yi) U2 sin Og — Uy; sin 6;
0 —dt2 sin(d — 62)
A further distinction among constrained arcs of zero where the explicit expression of matrix A(q-,¢c), for
and nonzero length should be done at this point. each contact type, can be easily evaluated in terms of
ai, G1, G5 G5, and is omitted here for space limitations.
3.2.1 Constrained Arcs of Zero Length Non-triviality of costates implies that (q., @-) must sat-
isfy Equation det(A) = 0. A further constraint on
Consider first a constrained arc of zero length occur- contact configurations is implied by the equality of de-
ring at a generic contact configuration. This is com- placement times from start to contact for the vehicles,
pletely described by the configuration of one vehicle which is expressed in terms of Dubins distances as:
(€.g., dc = 1), by the angle ¢. = ¢, and by the con-
tact type. Assume for the moment that there is only Lp(&j, &c)/ta ~ Lp (3, &¢)/ua,
one constrained arc of zero length in the optimal path
between way-points of the two vehicles. Equation 27, where €/, denotes the configuration of vehicle 2 at con-
taking into account that costates of each vehicle are tact. This is uniquely determined for each contact type.
determined (once the way-points and contact configu- If m constrained arcs of zero length are present in an
rations are fixed) up to constants p;(r~), pi(T*), pro- optimal solution, similar conditions apply (with way-
vides a system of 6 equations in 6 unknowns of the points configurations suitably replaced by previous or
186 A. Bicchi and L. Pallottino
and:
Level m > 2. Consider the M []/";'(M —2*) possible In this paper, we have studied the problem of plan-
solutions involving m zero—length constrained arcs ning trajectories of multiple Dubins’ vehicles in a plane.
between different pairs of vehicles and (possibly) Necessary conditions have been derived for both free
wait circles for other vehicles, and compute the and constrained arcs. An algorithm for numerically
shortest path in this class. If this is longer than finding solutions has been described.
Optimal Planning for Coordinated Vehicles with Bounded Curvature
189
Acknowledgments
Authors wish to thank Gianfranco Parlangeli for help
in an early phase of this work, and Jean-Paul Laumond
for his useful remarks and suggestions on a previous
version of this paper. This work was done with the
support of NATO (CR no. 960750), ASI (ARS-96-170),
and MURST (project RAMSETE).
References
rT Aye
7 . ) Tess) heer
’
¢ oT
Soh aH
?
a! passin ‘gh y
ae ee ee
a dine
Sal meet ah al! 6", ~~
oo, » x.
1 Mig! ma ¥ 5
~.
asthin Mrseentcd) Wr gt
wi e
Waar
le lnies! YW aie i]
7.
id Tete asi nd’, fen he i
—) =)
1 fe oe, oh Tyhi
’ ea aon Se ee, e)
Witgemelwrare Walid cod nitoe art
: Wing. ‘we ii c mayan? Yewobh digerahdy 4 van 40 wien es
ee fe
MILD math ii]
i ee EP ee
oan! oat 4 . ae? fC. lfisneceht4,
QU Dts. GAT Ill) gigi b ey iF
> A, - ras S a
vires)
ors
|.
A
i
t
ee yn J
_
Paris i. i Li! enh HT VGei "i. Sree glad
etek hired baer ine Sar
,
ny p ta Wey Ayes ‘, = difwil Ab ah
Lsetenad fist «2 eee MAO Di
™ VWa, A? itt o sires) Wot Vi
®& _— ©
- at
ae
; 2 .
:
- e we
mm.
oe
An Efficient Approximation Algorithm
for Weighted Region Shortest Path Problem
John Reif, Duke University, Durham, NC
Zheng Sun, Duke University, Durham, NC
Performance Parameters
MOIR
n number of vertices
LN
ottis
Pos halvate
maximum coordinate
Algorithm |Complecty
Mitchell et al. ||O(n® log 24%
| Brror W )
i. It provides an efficient way of computing the opti-
mal path on the discretization graph. We refer to
this problem as Discrete Weighted Shortest Path
O(= + n3 logn) Problem.
LW-absolute
Discrete Weighted Shortest Path
(me t mien Problem A 2D space is composed of n
ee Owe) a
ee ee triangular region, each of which is as-
Aleksandrov O(nmlog(nm)) = sociated to a certain unit weight. On
2
et al. Oa log(LN) each edge e of each region, there are
log( ara) m = f(e) Steiner points. For any given
source point s and destination point f,
For other related work, see [2, 3, 4, 8, 14, 15, 16, 17], find a weighted shortest path that only
or see survey [12]. intersects region boundaries at vertices or
Steiner points.
1.3 Our Result
This is exactly the problem that [9], [1] and our
In this paper we introduce a wavefront-like algorithm
algorithm solve after the discretization step. The
that can compute optimal paths on any discretization
other two algorithm only compute an approximate
(uniform or logarithmic) more effectively than the ones
optimal path with time complexity greater than or
proposed in [9] and [1]. Instead of computing an ap- equal to that of our algorithm.
proximate optimal path in the discretized space with
e-relative error, as the above-mentioned two algorithms ii. It can be applied to different discretizations to
do, our algorithm can give an exact optimal path in less achieve different approximation goals. For exam-
(for the uniform discretization) or equivalent (for the ple, if absolute error is to be limited, we can ap-
logarithmic discretization) time. We achieve so by dy- ply this algorithm on a uniform discretization. If
namically maintaining for each Steiner point a small restricting relative error is the main goal, the log-
set of edges that are to be considered in search for an arithmic discretization then can be used.
optimal path. The total number of edges is O(m) in
each region. iii. It can be applied to a more general class of prob-
For the purpose of solving the original (continuous) lems. As we will show later, our algorithm only
weighted shortest path problem, our algorithm im- assumes the following geometric property:
194 J. Reif and Z. Sun
Inside each region (not including the S. (If otherwise, we can add a constant number of
edges), the weighted length of a path p; edges to construct from S' a new subdivision S’ which
is less than that of po if and only if the has s and t as vertices.) The problem is to find a short-
Euclidean length of p; is less than that est weighted length path (which will be called optimal
of p2- path) from s to t.
Therefore, our algorithm can be applied to opti-
It has been proved (see [13]) that an optimal path
mal path problems on planar regions where weight consists of O(n”) straight line segments. The endpoints
of a path is defined differently but the above- of each segment are on the boundary of a triangu-
mentioned property holds. A good example will lar face.
be computing an optimal path in a space com- Our algorithm is a general optimal path algorithm
posed of triangular regions, each of which has a and can be applied to any discretization that places
uniform flow. Steiner points on edges. Therefore, for now, we use
f(e) to denote the number of Steiner points added
2 Preliminaries along a given edge e. Here f(e) is dependent on e.
It may also depend on n and some other parameters,
2.1 Overview of Our Approach as we shall see later in this paper. We use V to de-
note the set of vertices of S and use V, to denote the
Let S be a polygonal subdivision of a planar space,
set of all Steiner points. In the following discussion, a
and let n be the number of vertices of S. This implies
“point” refers to a point in V UV,.
the number of edges and faces (regions) is also O(n).
Without loss of generality, we assume that each face of We first focus on a subspace P’ of the original path
S is a triangle. A triangulation can be performed in space P. Each path in P’ is composed of a number of
case there are non-triangular faces in the input subdi- line segments, each of whose two endpoints are points
vision. The resulting subdivision S’ after triangulation in V UV,. Further, the two endpoints of such a line
will still have O(n) vertices, edges and faces. segment are in a same face of S. We call such a path
a discrete path.
Each face f is associated with a non-negative real
number wy, the weight of f. For simplicity, we assume We first compute an optimal discrete path p/,,+(s, ¢)
that wy € [1,Wmaz]. For each edge e, the weight we from s to t in P’ and use this path to approximate the
is defined to be min{wy, wy}, where f and f’ are the optimal path popt(s, t) from s to t in the original space.
two faces adjacent to e. Wmaz (Wmin), as we defined Then, we show that D’(s,t), the weighted length of
in Section 1, is the maximum (minimum, respectively) Popt(Sst), gives a good approximation to D(s, t).?
weight of all regions. L is the length of the longest edge Our algorithm is similar to Dijkstra algorithm. How-
among the O(n) edges. ever, by utilizing some geometric properties of this
A line segment 0702 in a triangular region f is called problem, we achieve a time complexity lower than that
edge-crawling if v; and va are on a same edge e of f; of Dijkstra algorithm.
otherwise, it is called face-crossing. Refer to Figure 1,
the third segment of the optimal path is edge-crawling 2.2 Data Structures
and the other three segments are face-crossing. We
Before giving the description of our algorithm, we first
use |0jU2| to denote its Euclidean length and W(v702) present some basic data structures.
to denote its weighted length which is defined to be
|Oy02| - wy. If vive is edge-crawling, W (702) is |U7Vd| - Our algorithm maintains a list QLIST of paths. Each
We. Here we might be different from wy in case the path p’ € QLIST is a candidate optimal path from s to
other face f’ adjacent to e has a smaller weight than some point v € VUV,, and is represented by a quadru-
Piet (@. Goren) Carenne)> bere Uprev 18 the previous point
that of f. For two paths p; and po, we use p; + po to
denote the concatenation of p; and pp and p[v, v2] to “As a matter of fact, in a single run of our algorithm,
denote the part of path p between v; and vo. an optimal discrete path p),:(s,v) is computed for each
vEVUYVs..
Let s and t be the source and the destination, respec- The accuracy of the approximation will depend on the
tively. We can assume that s and ¢ are two vertices of discretization used.
An Efficient Approximation Algorithm for Weighted Region Shortest Path
Problem 195
Discovered Points
7
® Source
Figure 3: Intervals.
Figure 2: Candidate optimal path.
the portion of Dopt (Ss vi) between vj,2 and v;. There-
fore, p21 + U2,101,2 + Pi2 is a path from s to v and
Pi. + U1,1022 + Po2 is a path from s to v2. How-
ever, the total weighted length of the above two paths
is shorter than that of p/,,(s,v1) and pjp(8, v2), as
W (U,10 72) > W (Tri022) + W (e102).
+ W(%3,1032)
Therefore, one of p/,,;(s, 01) and p5pz($, V2) must not be
optimal. A contradiction. O
With exactly the same argument, we can prove the
following lemma:
inal space and n is the number of triangular regions. [2] R. Alexander. Construction of optimal-path maps
Therefore the time complexity of Dijkstra’ algorithm for homogeneous-cost-region path-planning problems.
Ph.D. Thesis, Computer Science, U.S. Naval Postgrad-
is O(m?n + mnlog(mn)) to solve the exact optimal uate School, Monterey, CA, 1989.
path problem, compared to O(mnlog(mn)) of our al-
gorithm. [3oost
R. Alexander and N. Rowe. Geometrical principles
for path planning by optimal-path-map construction
We implemented two versions of Dijkstra’s algo- for linear and polygonal homogeneous-region terrain.
rithm, one based on binary tree and the other based on Technical report, Computer Science, U.S. Naval Post-
Fibonacci heap. The binary tree based Dijkstra’s algo- graduate School, Monterey, CA, 1989.
rithm is the traditional one and has a time complexity
[4— R. Alexander and N. Rowe. Path planning by
of O((|E| + |V|)log|V|). The Fibonacci heap based optimal-path-map construction for homogeneous-cost
one is provided by Fredman and Tarjan [7] and has an two-dimensional regions. In IEEE Int. Conf. Robotics
improved complexity of O(|E|+|V| log |V|). Some pre- and Automation, 1990.
liminary experiments with relatively small data inputs
show that our algorithm performs better than both ver-
[5] J. Canny and J. Reif. New lower bound techniques
for robot motion planning problems. In A. K. Chan-
sions of Dijkstra’s algorithm in finding exact optimal dra, editor, Proceedings of the 28th Annual Sympo-
paths in discretized space. sium on Foundations of Computer Science, pages 49—
60, Los Angeles, CA, Oct. 1987. IEEE Computer So-
For large scale experiments, we plan to use standard ciety Press.
data sets for experiment inputs to make comparison.
If standard data sets are not available, we will try to [6] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. In-
troduction to Algorithms. MIT Press, 1990.
use computer-generated data sets.
M. L. Fredman and R. E. Tarjan. Fibonacci heaps
7 Conclusion and their uses in improved network optimization algo-
rithms. In 25th Annual Symposium on Foundations of
In this paper we present a new approximation algo- Computer Science, pages 338-346, Los Angeles, Ca.,
USA, Oct. 1984. IEEE Computer Society Press.
rithm to solve the weighted shortest path problem.
Compared to some of the previous work, our algorithm [8] M. Kindl, M. Shing, and N. Rowe. A stochastic
provide a more effective way of finding optimal paths in approach to the weighted-region problem, II: Perfor-
the discretized space (resulted from either uniform or mance enhancement techniques and experimental re-
sults. Technical report, Computer Science, U.S. Naval
non-uniform discretization). Our algorithm has the fol- Postgraduate School, Monterey, CA, 1991.
lowing three advantages over previous algorithms: (a)
can compute exact solutions for a discrete case of this [9] M. Lanthier, A. Maheshwari, and J. Sack. Approx-
problem; (b) can be applied to any discretization; and imating weighted shortest paths on polyhedral sur-
faces. In 6th Annual Video Review of Computa-
(c) can be applied to a more generic class of problems. tional Geometry, Proc. 13th ACM Symp. Computa-
We expect to find more applications for our algo- tional Geometry, pages 485-486. ACM Press, 4-6 June
rithm. 1997.
[13] J. S. B. Mitchell and C. H. Papadimitriou. The [16] N. C. Rowe. Roads, rivers, and obstacles: optimal
weighted region problem: Finding shortest paths two-dimensional route planning around linear features
through a weighted planar subdivision. Journal of the for a mobile agent. International Journal of Robotics
ACM, 38(1):18-73, Jan. 1991. Research, Vol 9(6), Dec 1990., pages 67-74, 1990.
na
sii+
ahd: ate ey
ad
gael
wht (Albee thao lim
a al ‘wer Exteel, eer eens
PR».
vite,
bal
is
ié
a’
“fe
om be 1
MARL NS cr] rae 5
akevr’ ;
abc Adana, Mims gpdintat ursBbo Sega
feged (al
4 : xh: FEvRE Y jest ¥ ay: the lied NHOW 6 Te P..
= A Vesta Gey Pins a /
: 0) fa) (wei)oa CMe ig fear reer ;
cleats Aye bn FS De oO >
ti 4 Game
Tr -cWin 6S
eat vo om xo
- Gout = wun AL eliaint * ASP the
Py hiv g ae
i
ee
_ hire
us:
60 Pominditnenas
ou oh 2
-
cgay Meee
G
bear, aut J
© wor.
vee rn —.
é
ra ‘
~ n
Loward the Regulation and Composition
of Cyclic Behaviors
E. Klavins University of Michigan, Ann Arbor, MI
D.E. Koditschek University of Michigan, Ann Arbor, MI
R. Ghrist Georgia Institute of Technology, Atlanta, GA
Many tasks in robotics and automation require a cyclic For reasons we have discussed elsewhere at length
exchange of energy between a machine and its environ- [7, 21], we construe “task” to mean any behavior that
ment. Since most environments are “underactuated” can be encoded as the limit set of the closed loop dy-
— that is, there are more objects to be manipulated namical system resulting from coupling the robot up to
than actuated degrees of freedom with which to manipu- its environment. By “programming” is meant (at the
late them — the exchange must be punctuated by inter- very least) a means of composing from extant primi-
mittent repeated contacts. In this paper, we develop the tive task behaviors new, more specialized, or elaborate
appropriate theoretical setting for framing these prob- capabilities. A decade’s research by the second author
lems and propose a general method for regulating cou- and colleagues has yielded the beginnings of a compo-
pled cyclic systems. We prove for the first time the sitional methodology for tasks that can be encoded as
local stability of a (slight variant on a) phase regula- point attractors [29, 28, 7, 14, 19]. In the present paper,
tion strategy that we have been using with empirical we take the first steps toward a formal foundation for
success in the lab for more than a decade. We apply tasks that can be encoded as the next simplest class
these methods to three examples: juggling two balls, two of steady state dynamical systems behavior — limit
legged synchronized hopping and two legged running — cycles.
considering for the first time the analogies between jug-
gling and running formally. 1.1 Contributions of the Paper
In this paper we are able to prove for the first time the
1 Introduction partial correctness of a (slight variant on) a phase regu-
lation strategy that we have been using with empirical
success in the lab for more than a decade [5, 31]. The
A robot is a source of programmable work. Robot pro-
object of study is a discrete dynamical control system
gramming problems arise when a mechanism designed
on a co-dimension one subset of the tangent bundle
with certain directly actuated degrees of freedom is re-
over the two-torus, © C T?. The theoretical result
quired to exchange energy with its environment in such
is the proof of local asymptotic stability for a speci-
a fashion that some useful work — its “task,” involving
fied fixed point on this subset, x* € U. To illustrate
the imposition of specified forces over specified motions
the potential implications of the emerging theory, we
— is accomplished. Typically, the environment is not
introduce three example systems that move from jug-
directly actuated and has its own preferred natural dy-
gling toward phase coordination strategies for legged
namics whose otherwise uninfluenced motions would be
machines.
at least indifferent and, possibly, inimical to the task.
The prior century’s end has witnessed the practical tri- We show in our first example that this discrete sys-
umph and emerging formal understanding of programs tem corresponds to the parametrized family of return
for information exchange and manipulation. There maps that arise when a one degree of freedom actuated
does not yet seem to exist a programming paradigm piston strikes two otherwise unactuated one degree of
that can specify similarly goal oriented work exchange freedom balls falling in gravity. This abstraction pre-
at any reasonable level of generality with any reason- sumes sufficient control of the piston to track a suitably
able likelihood of successful implementation (much less, distorted image — a “mirror law” [6] — of the trajec-
of formal verification). tory described by the two balls, along the lines of the
206 E. Klavins, D.E. Koditschek, and R. Ghrist
empirical setup in [5, 30]. Under these assumptions, case of the two-juggle. We suspect, but have not yet
the torus bundle represents the phase coordinate rep- proven, that the coordinated bipedal vertical gait is
resentation of the two degree of freedom hybrid flow once again (essentially globally) asymptotically stable.
formed when the paddle repeatedly but intermittently The final example represents our first and still rather
strikes one or the other ball. The functional freedom tentative efforts to interleave constituent cyclic be-
afforded by the choice of “mirror law” yields the para- haviors that arise in systems possessed of more than
metrization of the available closed loop return maps one degree of freedom. Raibert’s running machines
whose domain, », is now interpreted as the phase con- combined in parallel, for each leg, three independent
dition at which an impact is made. The preliminary and decoupled controllers that operated in three very
analysis presented here develops a set of sufficient con- strongly coupled degrees of freedom, with excellent
ditions on the mirror law that guarantees the local as- empirical success. Moreover, he devised a notion of
ymptotic stability of a limit cycle corresponding to the “virtual leg” that successfully coordinated the relative
the desired two-juggle. We suspect, but have not yet phases of the “vertical” components of the physical legs
proven, that the desired limit cycle is essentially glob- without damaging their other degrees of freedom. In
ally asymptotically stable. this paper, we are content simply to extend our emerg-
We have not yet formalized the notion of behavioral ing notion of “phase” to a pair of two-degree of freedom
composition (as we have begun to do for behaviors en- pogo sticks (the “Spring Loaded Inverted Pendulum”
coded as point attractors [7, 19]) but it represents a [35]) and assume that their individual phase regulation
strong unifying theme throughout the paper. The two- mechanisms are deadbeat. Once again, simulations
juggle mirror law may be seen as a kind of informal suggest that this is the appropriate generalization, but
“interleaving” of two one-juggle functions. However, we remain cautious regarding the larger implications
because we desire a more general compositional notion pending more realistic constituent models.
not tied to the (effective but very costly in sensory
effort) mirror constructions, we next apply our phase 1.2 Motivation and Relation to Existing
regulation method to “interleave” a very different style Literature
of individual controller. Specifically, with the appro-
Coupled oscillators have long been used to model com-
priate notion of phase coordinates described above, we
plex physical and biological settings wherein phase
are now able to consider for the first time the analogies
regulation of cyclic behavior is paramount [15]. The
between juggling and running.
biological reality of neural central pattern generators
Our second example concerns two vertical Raibert (CPGs) — oscillatory signals that arise spontaneously
hoppers [27], each of whose leg springs has an ad- from appropriate intercommunication between neurons
justable stiffness. Now, although both legs are par- — seems by now to have been conclusively demon-
tially actuated, the contact with ground is no longer strated in organisms ranging from insects [26, 12] to
instantaneous and we abandon mirror laws in favor of lampreys [9]. Mathematical models proposed to ex-
a Raibert style energy management strategy coordi- plain the manner in which families of coupled dynam-
nated over repeated intermittent stance modes so as ical systems can stimulate a sustained oscillation and
to nudge the total vertical energy toward that value stably entrain a desired phase relationship have become
which encodes the desired behavior. When the legs are progressively more biologically detailed [8, 13, 16]. But
decoupled from each other, arguments nearly identical the work presented here has relatively little overlap
to those we have developed in past work [20] yield es- with that literature. While we are intrigued by the
sential global asymptotic stability of the two indepen- capabilities of purely “clock driven” systems [36, 32],
dent vertical “gaits”. Note that the reference energy it seems clear that no significant level of autonomy can
is achieved asymptotically, rather than by a deadbeat be developed in the absence of perceptual feedback.
one step correction as was assumed in the first exam- The present investigation cleaves to the opposite (ie.,
ple. Nevertheless, applying the identical phase regula- perceptually driven) end of the sensory spectrum in
tion scheme yields a closed loop system that exhibits adopting the device of a “mirror law” [6] with its com-
in simulation the same striking coordinated behavior mitment to profligate sensory dependence [30]. In this
as we have proven to hold true (at least locally) in the sense, the present work bears a closer relationship to
Toward the Regulation and Composition of Cyclic Behaviors
207
the biological literature concerned with reflex modu- ever, as the degrees of freedom increase, the burdens of
lated phase regulation [11]. high dimensionality make centralized control schemes
Many tasks in robotics and automation entail a prohibitively expensive. There is considerable interest
cyclic exchange of energy between a machine and its in developing cyclic behaviors that are as decoupled
environment. This is evidently the case for legged lo- as possible, promoting decentralized regulation. Our
comotion systems as well as for many less obvious ex- present model for pursuing this desideratum is pro-
amples wherein a mechanism repeatedly changes its vided by our initial work on concurrent composition
local “shape” so as to effect some global “progress” of point attractors [19]. Since our reference flows have
[24]. When viewed from an appropriate geometric per- gradient-like cross-section maps, we harbor some hope
spective, the recourse to repetitive self-motion may be that the connection may be forthcoming.
interpreted as a means of “rectification” — exercising
indirectly the unactuated degrees of freedom through 2 Preliminary Discussion
the influence of the actuated degrees of freedom aris-
ing from an interaction between symmetries and con- We start in Section 2.1 by defining phase coordinates
straints [2]. Because our notion of a task is so com- that enable us to re-cast physical equations involving
pletely bound up with a closed loop dynamical inter- potential and kinetic energy as geometric equations re-
action between the robot and its environment, this lating progress around a circle and its velocity. In the
invaluable geometric control perspective provides no examples at hand, the physical control variables are
solution but merely a complete account of the (open used to adjust the energy of the unactuated degrees of
loop) setting within which our search for stabilizing freedom upon their intermittent contacts with the ac-
feedback controllers can begin. Since the dynamics in tuated components. In phase coordinates, the phase
question are inevitably nonlinear, the relation between velocity of each constituent subsystem is subject to
open loop controllability properties and feedback sta- control at each impact, and effects a corresponding re-
bilizability properties is far from clear. setting of the various relative phases.
In our understanding, the most relevant connection Having arrived at a convenient model space, the
to date remains the nearly two decade old observa- torus, we next examine in Section 2.2 the notion of
tion of Brockett [4], precluding smooth feedback sta- a “reference field” — a family of limit cycle generating
bilization to a point in the face of conditions known vector fields on the k-torus whose return maps on the
[3] to characterize the nonholonomic constraints that (k — 1)-torus admit as a Lyapunov function a “Naviga-
appear in the present underactuated setting [22]. At tion Function” [23] down to the fixed point. The topo-
the very least, this fact necessitates the appearance logically unavoidable repellors can be identified with
of hybrid controllers — feedback laws whose resulting the application as phase pairs that are to be avoided
closed loops make non-smooth transitions triggered by (e.g., when both balls come down at exactly the same
state — in the case of tasks encoded as point attrac- of time). Although our ultimate constructions appear
tors [22]. In the present situation, when tasks are en- as maps of an appropriate cross section (so the topolog-
coded as limit cycles, we are aware of no similar nec- ical constraints appear to lose their force) these toral
essary conditions. Nevertheless, the feedback solutions maps are classical objects and yield very convenient
we construct have a strong hybrid character. Since the and workable targets.
nonholonomic constraints in our setting arise from the
2.1 Controlling Phase
“underactuated” nature of the problem [21], it seems
intuitively clear that the robot’s work on the compo- Let ft: Rx X > X bea flow on X. We are concerned
nents of its environment must be punctuated by inter- with flows that are cyclic in the sense that a global cross
mittent repeated contacts. section can be found. Formally, a global cross section
One last influence on the present work that bears ¥ is a connected submanifold of X which transversally
some comment concerns the possibility of composition. intersects every flowline. For any point « € X, define
Since good regulation mechanisms are hard to find, the time to return of z to be:
there is considerable interest in developing techniques
for composing existing behaviors to get new ones. How- t+ (x) = min{t > 0| f*(x) € 5} (1)
208 E. Klavins, D.E. Koditschek, and R. Ghrist
We design the controller so that there is a unique > ww = (0, u1, 5, ua) .
and stable fixed point at some desired phase velocity
Thus, the phase velocity updates wi(w) and u2(w’)
P= Ws
must be found so that (4) is achieved. We do this
‘In Section 3.1, deadbeat control of the phase velocity with two examples in Section 3 and prove the stability
is possible. In Section 3.2, the control of phase velocity is of our method in Section 4.
asymptotically stable. Our analysis in Section 4 depends on
the former. We believe a similar treatment will eventually Notice that a single phase describes a circle $1 and
apply to the latter. two phases describe a torus T? = $1 x $1. In the next
Toward the Regulation and Composition of Cyclic Behaviors
209
section, we define a “reference” vector field on the k- locked attracting periodic orbit, the winding set must
dimensional T* which encodes the ideal behavior of consist of a unique winding vector. In Section 3.1 we
the system as though it were fully actuated. Then, we present a system consisting of a piston which must ver-
show how to use the field to generate velocity updates tically juggle two balls so that the first bounces A times
as above. for every B times the second bounces (See Figure 4),
where A and B are integers: the winding vector is thus
2.2 Construction of a Reference Flow on T* (A,B) (rescaled to unit length). The generalization
of this situation to n juggled items requires a winding
The problem of composing dynamical systems with
vector of integers (Ai, Ao,..., An).
point-goal attractors is relatively straightforward, due
Our goal is to couple systems with unique attrac-
in no small part to the convenient topological fact that
tors satisfying the above restrictions in such a manner
the product of a zero-dimensional set (a point goal)
that the product system remains in the same dynam-
with a zero-dimensional set is again a zero-dimensional
ical class: a single attractor with appropriate winding
set: point-goals are well-behaved with respect to Carte-
vector. In addition, the existence of unstable invariant
sian products. This is not so for the case of systems
sets (in general forced by topological considerations) is
with an attracting periodic orbit. The Cartesian prod-
desirable for setting up “walls” of repulsion in the con-
uct of k such continuous systems gives rise to a flow
figuration space. For example, in juggling it may be
with an attracting k-torus T* = S$! x.--x S!. The
desirable for the configuration wherein both balls hit
desired behavior for a flow on this set is again an at-
the paddle simultaneously to be a repellor. For both
tracting periodic orbit; however, such mode locking can
attractors and repellors, the freedom to “tune” these
occur only if the oscillators are coupled. More unfor-
invariant sets geometrically is a necessity. We thus
tunately, such dynamics arise only through a relatively
turn to a brief exposition of two appropriate classes of
careful tuning of the individual systems and their mu-
reference flows on the k-torus T* which will serve as
tual couplings. Baesens et al. [1] carefully explore the
skeletons for the goal dynamics of the control schemes
intricacies of this problem, illustrating the prevalence
to be constructed.
of complexity in both the dynamics and the bifurcation
structures of flows on the attracting T* in the (osten- The flows we consider on T* will all have global cross
sibly simple) case k = 3. sections © homeomorphic to T*~!. To obtain a unique
attracting periodic orbit for the flow, we specify the
An important measure of complexity for the dynam- appropriate dynamics on the cross-section and accord-
ics of a flow on a torus T’ is the set of winding vectors. ingly suspend to a flow: the flow is then determined
Choose a lift ¢; of the flow ¢; on T* to the univer- by the dynamics of the return map and the desired
sal cover R* of T*. Then, consider for each x € T* winding vector.
with lift z © R* the vector ¢,(Z) normalized to unit
Consider the diffeomorphism which is the time-1
length: denote this by w;(Z). This vector lies in the
map of the gradient field -VV, where:
unit (k —1)-sphere S*—! C R* of directions in R*. De-
fine w(x) C S*-1 to be the set limit points of w;(Z) k-1
as t > oo. This set (independent of the lift 7 in the V:x-R (01,02,--.,Ok—1) + & )- cos(276;).
QY?
o— > 0 «———_0
ae
maximize
minimum
distance
@ x»
pe
piston
(a)
Figure 4: Models considered in this paper: (a) two balls juggled on a piston; (b) two Raibert style hoppers, hopping out of
phase; (c) two legged spring loaded inverted pendulum (SLIP) model of a biped.
This represents a point of departure from earlier work form (v1, Yi » Y2; yo) ae (yr +yt, V1, Y2 +Yyet, Yy2) between
on juggling two balls where a phase error term was collisions.
combined with two mirror laws somewhat informally. We define reference trajectories jz; and pg based on
We construct a mirror law for each system separately the mirror law idea. Given any pair (@1, ¢2) we define
and then combine the laws into a single mirror law us- a lookahead function Cy : [0,1]? — [0,1]? for ball one
ing an “attention function.” First define the phase of a which gives the phase of ball two at the next ball one
ball according to the discussion in Section 2.1. Suppose collision. Thus:
a ball rebounds from a collision with the paddle with
velocity by. By integrating the dynamics b = —g and Ci (¢1,2) = 1 — $1) + oe.
noting that collisions occur when 6 = 0, we obtain the 1
time since the last impact and the time between im- We desire that after this collision, bean. = uy = Rye
pacts, a computationally effective instance of (1) and C1(¢1, ¢2) (ie. the control input u; follows R). Since
(2), as:
Oi ebay =O ALE rican ls eee reer (since
b; = 0 at the collision), we have, using (11),
(paul and Reiter to (12)
g g oe :
Pi,new ae ae a cr(L+-a)eiby = R1 0 C1(¢1, 2) (14)
= SN 1 ae g . (15)
nk a ange oe 13 (1+ a)V/2m bs Ri 0 Ci(G1,
G2)
? § 2bo : 2bo ( )
A similar expression for co can be obtained in terms
In this manner, for a two ball system with ball posi- of Ryo Cy. This gives us a mirror law for each ball.
tions b; and b2, we obtain two phases ¢1 and ¢2. Notice However, we have only one paddle so we need an at-
that ¢; € [0,1] and that ¢; is constant between colli- tention function s : [0,1]? — [0,1] and a new reference
sions between ball 2 and the paddle as established in trajectory composed of jz; and pio:
Section 2.1. The velocity bi is reset instantaneously
upon collisions, corresponding to the update rule (11). be = Su, + (1—8)pe.
In the rest of this section we will take advantage of Such a function is fairly easy to define for specific in-
the fact that the flow Gt = H o F' o H™!, described stances of A and B. A more complete treatment of
in Section 2 and instantiated here, has the very simple attention functions can be found in [18].
Toward the Regulation and Composition of Cyclic Behavio
rs 213
Figure 5: (a) The positions of the two balls and the paddle vs. time for A:B = 1:1 starting from a randomly chosen initial
condition. (b) The phase plot $1(t) vs. $2(t) for the same run. Note the limit cycle where $1 = $2 + +. (c) and (d) show
the same information for A:B = 1:2.
Figure 6: (a) A plot of the velocity vs. the position of a simulated one legged hopper emphasizing the stable limit cycle. (b)
A plot of the position and phase of the hopper vs. time. Between minimal points of the hop, phase velocity 1s constant.
to have global asymptotic stability. Thus, a leg cannot one lowest point to the time of the next. Next, smooth
be controlled to a specified apex height in one bounce this map so that each segment has the same slope.
as could the balls in Section 3.1. First, note that 0g varies between 0 and 94min, Of
To obtain a definition of phase for the leg, we change varies between 0 and 1 and @, varies between 9¢maz
coordinates to real canonical form in the compression and 0. Thus:
and decompression modes. This is demonstrated in
A 6 = a) 1
[20]. We arrive at systems (F.,6.) = (—2wBE-,
—w)
and (Ea,6a) = (—2w@Eqg,—wr) for compression and
decompression respectively. Note that the changes in
the second coordinates of these systems are constant.
is the first transformation.
They can therefore be used as phase variables. In com-
pression, for example, 6. = w and 0, varies between Second, think of each of these phases as a linear
Cana, and 0. Thus: homogeneous transformation Pz : [0,t:] — [0,1/3],
Py : [ti1,t2] > [1/3,2/3] and P. : [te,t3] > [2/3,1]
where t;, t2 and t3 are the durations of the liftoff,
Of= Wil = 0, mas— (17)
touchdown and bottom modes, respectively. We de-
sire the phase to increase from 0 to 1 linearly as time
where t, is the duration of the compression mode. This increases from 0 to t3. The following, final definition
expression is a scalar multiple of the general phase de- of phase for the hopping leg system, has this property:
finition described in Section 2.1. However, to control
two physically unconnected legs to hop in a synchro- HP (6,1) Hz<UKke=0
nized manner as in Figure 4(b), our present construc- 624 HP;*(6;,1) ife>0 (19)
tive approach requires constant phase velocity through-
HP -+(0,. 1\wsil & = OA es Oe
out each cycle of a hop as in Figure 6(b). We must
transform three piecewise linear phases so that each Here H is the transformation (z,1) +> (z/t3,1). This
has the same rate of change, as assumed in the dis- results in a phase definition for a single leg that is
cussion of Section 2.1. We begin with the phases dur- equivalent to t/(t; + t2 + t3) as in (3). Figure 6 (b)
ing compression and decompression, 8, and 64 and the illustrates how @ changes with the position of the mass
phase during flight, 05 = ce in simulation.
The construction of a suitable phase definition from For a system with two physically unconnected legs
64, 9. and @¢ is in two steps. First, apply affine trans- modeled by (16) with states (1,41) and (zo, #2), let
formations so that the decompression phase varies from 6, and 4 be the phases of the legs. Since each leg ac-
0 to 1/3, the flight phase from 1/3 to 2/3 and the com- tuates itself, there is no need for an attention function.
pression phase from 2/3 to 1. This gives a piecewise Once again, we wish to control the legs so that they
linear map from interval of time connecting the time of are hopping to a prespecified height and so that they
Toward the Regulation and Composition of Cyclic Behaviors
215
(a)
Figure 7: (a) The positions of the leg’s centers of mass versus time for A:B =1:1 starting from a randomly chosen initial
condition. (b) The phase plot 01(t) vs. 62(t) for the same run. Note the limit cycle where 6; = 02 + z-
are out of phase: one leg is at its lowest point when again consists of compression and thrust phases. Be-
the other is at its highest. We use a reference field R tween hops, a leg must swing around the mass to ready
wath AB == 431. itself for the next hop. This is called the swing phase.
The task is to construct a controller for the legs that
Recall that the thrust, 7;, supplied by a leg is con-
realizes this gait.
stant through the decompression phase. The gain for
each thrust, «;, controls the phase velocity. A larger This example is different from our previous exam-
thrust gives a smaller phase velocity (because the leg ples in that we start with a specification of the ag-
goes higher and takes longer to return to its lowest gregate behavior of the system and decompose it into
point). Thus, we simply reset the thrust gains, «; to controllers for the individual subsystems. In the jug-
be 1/R; (61, 82) whenever 6; = 0, i = 1,2. gling and hopping examples, the phase regulated sys-
tems are themselves cyclic. For example, in the 1:1
Figures 7(a) and (b) show simulations of the system case, the aggregate phase of a phase regulated system
with A: B =1:1. In all runs with various reasonable at equilibrium is
values of the parameters the legs regulate their phases 1 lige
to very near the limit cycle within two or three stance 5(o1 + G2 — 2) if bi < 2 (20)
agg (hi, $2) = {es + 2 + 4) otherwise .
modes.
In the juggling example, dag, is a measurement of the
3.3. Two Legged SLIP phase of the paddle. In this example, ¢ag, will be
a measurement of the phase of the underlying SLIP
One obvious shortcoming of the synchronized hopping model which the legs will then “service” according to
model of walking is that the two legs are physically the pseudo-inverse of @agg:
unconnected. In this section we examine the Spring
Loaded Inverted Pendulum (SLIP) model [35] of a hop- thao) =(b0+5) (mod 1). (21)
ping leg which we have modified to have two legs as
That is, the phases of the legs are functions of the
shown in Figure 4(c). The SLIP model has a single
phase of the underlying SLIP model. It remains to
point mass (which we assume to be 1 in this paper) in
the plane and a massless, spring loaded leg. When it define phase for the SLIP model.
is not touching the ground, its dynamics are ballistic. As shown in Figure 4(c) the system is described by
When the toe of the leg is touching the ground, the variables x,y, ,, and 62 where (x,y) is the position of
spring of the leg exerts force on the mass along the di- the body and 6; and 6, are the angles of the legs. When
rection of the leg. Our slightly different model consists in stance mode, the position of the body will also be
of a mass with two rotating, massless legs which we call described by the distance r from the body to the toe
the roadrunner. In an alternating gait, the roadrunner (given by (Ztoe, y)) and the angle of the leg touching
uses one leg to hop and then the other. When a leg the ground. When a leg is compressing, 7 < 0, the stift
is touching the ground, it is in stance mode — which ness of the spring is k; and when it is decompressing,
216 E. Klavins, D.E. Koditschek, and R. Ghrist
r > 0, the stiffness is ko. The spring model we will use define the phase of the SLIP model so that it completes
has potential: two cycles between 0 and 1 instead of one cycle so that
(21) makes sense in the present context. We neglect
kof a 1 this detail here.
Now define the position of the legs during their swing
phases as a function of the phase. Let 4.) be an angle
where | is the natural length of the leg and k is the
near the middle of the swing phase, such as 7. We give
current spring stiffness. The dynamics of the system
can be derived from the Hamiltonian as in [35] for the each leg a discrete state s; defined by:
cases with or without gravity in stance. We consider 0 if 6; <G 6; < Dee
only the case without gravity. We have during flight: 54= Tif Giop < 0: — Usa
2 otherwise (leg is touching the ground) .
Pee).
ge
y
=
a)
and é
Ae
=
U2 Thus, a leg is characterized by a sequence such as
(0,1,2,0,1,2...). We define reference maps (functions
(22)
en a
74 (#-1)m-24+1
me
_{ 7 ~$-Z
0 402
system forward to obtain a point in /2, then integrate
again to get a point in f(w) € ¥1.
A point in ©; has the form w = (0, ¢2, di, d2). This Here, m = &’(1/2) is the slope of R at 1/2. F is stable
maps to the point w’ = (C),0,R(¢2), d2) € Ne where at (1/2, v) if the eigenvalues of the Jacobian lie within
C; is the phase of the first system when the trajectory the unit circle. Values for m and v which guarantee
of the total system first intersects U2. w’ in turn maps this are not difficult to find. For example,
to the point f(w) = (0, C2, R(d1), R(C1)) where C2 is
the phase of the second system when the trajectory Proposition 4.2 [f tite
= 2uv — 2 then the eigenvalues
next intersects ©;. The phases Cy and C2, which can of Ja) F are 0 and +; —1 which implies that (1/2, v)
be obtained via the point-slope formula for a line (in is a stable fixed point of F whenever v > 1.
the ¢1, ¢2 plane), are given by:
Once again, the proof is just a calculation: simplify
Cyr =
PERG amet. yeienh (OY)
hes 2) ey — R(d2) (1—C,) . (23)
(25) using m = 2v — 2 and compute the eigenvalues.
With the reference field we are using, m = 27K. Thus,
for a given value of v, we set R(d) = v — FSsin(27¢).
Let (22, y,2) = ($2, 41,42). Then, expanding f(w), we In practice, it is not difficult to find other parameters
obtain a discrete, real valued map on Ne given by which make F stable. For a given v, we first choose
RPE) m to be quite small and increase it slowly until the
R (1= Lk) controller is aggressive, yet still stable.
c= me) = Lk)
oo R(Lx)
Poe Rae) 5 Conclusion
ag a | BE) — 2y)] In this paper we have taken the first steps toward a for-
(24) mal treatment of phase regulation for underactuated
218 E. Klavins, D.E. Koditschek, and R. Ghrist
environments that must be repeatedly and intermit- [3] A.M. Bloch and N.H. McClamroth. Control of me-
tently contacted by an actuated robot. We have in- chanical systems with classical non-holonomic con-
traints. In Proc. 28th IEEE Conf. on Decision and
troduced a variant of the two-juggle controller [5, 30] Control, pages 201-205, Tampa, FL, Dec 1989.
and, by re-writing the system in phase coordinates, ex-
hibited sufficient conditions for local asymptotic sta- [4] R.W. Brockett. Asymptotic stability and feedback
stabilization. In R.W. Brockett, R.S. Millman, and
bility of a 1:1 mode-locked rhythm. The obvious next
H.J. Sussman, editors, Differential Geometric Control,
step concerns the extent of the domain of attraction. chapter 3, pages 181-191. Birkhauser, 1983.
Here, there is a natural hybrid structure — the order
of “contact events” (i.e., the sequence of balls hit) — [5al M. Buehler, D. E. Koditschek, and P.J. Kindlmann.
Planning and control of robotic juggling and catch-
whose desired sequences might be seen as a pattern to ing tasks. International Journal of Robotics Research,
be regulated against disturbances. Moreover, there is 13(2), April 1994.
a “forbidden” set in phase space — where both balls
[6] M. Biihler and D.E. Koditschek adn P.J. Kindlmann.
must be hit at the same time — that must be shown
A family of control strategies for intermittent dynam-
to be a repeller. We have also suggested the manner ical environments. [EEE Control Systems Magazine,
in which this 1:1 “juggling” framework carries over to 10(2):16—22, 1990.
simple problems in legged locomotion. Because the ef-
[7—w R. Burridge, A. Rizzi, and D.E. Koditschek.Sequen-
fective input enters through an additional dynamical tial composition of dynamically dexterous robot be-
lag in such problems, our present sufficient conditions haviors. International Journal of Robotics Research,
for asymptotic stability will need to be modified in or- 18(6):534-55, 1999.
der to address them. We have not dealt at all with the [8] A. H. Cohen, P. J. Holmes, and R. H. Rand. The na-
problem of regulating more general A:B mode-locking, ture of the coupling between segmental oscillators of
but we believe that similar methods can be used to the lamprey spinal generator for locomotion: A math-
achieve such behaviors. ematical model. J. Math. Biology, 13:345-369, 1982.
Although the applications focus of this paper is lim- [9] Avis H. Cohen, Serge Rossignol, and Sten Grillner
ited to locomotion systems, we are intrigued by the (eds.). Neural Control of Rhythmic Movements in Ver-
tebrates. Wiley Inter-Science, NY, 1988.
prevalence of phase regulation problems in more ab-
stract settings such as factory automation [19, 17] and [10] P. Collet and J.P. Eckmann. Iterated Maps on the
will seek to apply these ideas in that context as well. Interval as Dynamical Systems. Birkhauser, Boston,
1980.
[17] E. Klavins. Automatic compilation of concurrent hy- machine. International Journal of Robotics Research,
brid factories form product assembly specifications. In 3:75-92, 1984.
Hybrid Systems: Computation and Control Workshop,
Third International Workshop, Pittsburgh, PA, 2000. [28] E. Rimon and D.E. Koditschek. The construction of
analytic diffeomorphisms for exact robot navigation
[18] E. Klavins. The construction of attention functions on star worlds. Transactions of the American Mathe-
for phase regulation. Technical report, University of matical Society, 327:71-115, 1991.
Michigan, 2000.
[29] E. Rimon and D.E. Koditschek. Exact robot naviga-
[19] E. Klavins and D.E. Koditschek. A formalism for the tion using artificial potential fields. [EEE Transac-
composition of concurrent robot behaviors. In Pro- tions on Robotics and Automation, 8(5):501-518, Oc-
ceedings of the IEEE Conference on Robotics and Au- tober 1992.
tomation, 2000.
[30] A. Rizzi and D.E. Koditschek. An active visual esti-
[20] D. E. Koditschek and M. Bihler. Analysis of a simpli- mator for dexterous manipulation. IEEE Transactions
fied hopping robot. International Journal of Robotics on Robotics and Automation, 12(5):697-713, October
Research, 10(6):587-605, December 1991. 1996.
[21] D.E. Koditschek. Task encoding: Toward a scientific [31] A.A. Rizzi, L.L. Whitcomb, and D.E. Koditschek. Dis-
paradigm for robot planning and control. Robotics and tributed real-time control of a spatial robot juggler.
Autonomous Systems, 9:5-39, 1992. IEEE Computer, 25(5):12-26, May 1992.
[22] D.E. Koditschek. An approach to autonomous robot [32] U. Saranli, M. Buehler, and D.E. Koditschek. Design,
assembly. Robotica, 12:137—155, 1994. modeling and preliminary control of a compliant hexa-
pod robot. In Proceedings of the IEEE Conference on
[23] D.E. Koditschek and E. Rimon. Robot navigation Robotics and Automation, 2000.
functions on manifolds with boundary. Advances in
Applied Mathematics, 11, 1990. [33] U. Saranli, W.J. Schwind, and D.E. Koditschek. To-
ward the control of a multi-jointed monoped runner.
[24] P.S. Krishnaprasad. Motion, control and geome- In Proc. IEEE Intl. Conf. on Robotics and Automa-
try. In Board of Mathematical Sciences, National Re- tion, pages 2676-2682, 1998.
search Council Motion, Control and Geometry: Pro-
ceedings of a Symposium, pages 52-65. National Acad- [34] S. Schwartzman. Asymptotic cycles. Annals of Math-
emy Press, 1997. ematics, 2(66):270—284, 1957.
[25] R. S. MacKay. Chaos, order, and patterns (lake como, [35] W.J. Schwind and D.E. Koditschek. Approximating
1990). In NATO Adv. Sci. Inst. Ser. B Phys., volume the stance map of a 2 dof monoped runner. Journal
280, pages 35-76, Plenum, New York, 1991. of Nonlinear Science, 2000. ‘To appear.
[26] K. Pearson. The control of walking. Scientific Amer- [36] P. J. Swanson, R. R. Burridge, and D. Koditschek.
ican, 235(6):72-86, December 1973. Global asymptotic stability of a passive juggling strat-
egy: A parts possible feeding strategy. Mathematical
[27] M.H. Raibert, H.B. Brown, and M. Chepponis. Ex- Problems in Engineering, 1(3), 1995.
periments in balance with a 3D one-legged hopping
Moiretsa
st :
fi.AT
SRSA 4 Uh
Re€aren: es
_
}? - 1) Sh anh i eae
v 4 #
“vs |
at
~ 1*) ».48
A Framework for Steering Dynamic Robotic
Locomotion Systems
James P. Ostrowski, University of Pennsylvania, Philadelphia, PA
Kenneth A. Mclsaac, University of Pennsylvania, Philadelphia, PA
We seek to formulate control and motion planning through control inputs on other parts of the system.
algorithms for a class of dynamic robotic locomotion It is this class of systems in which we are interested,
systems. We consider mechanical systems that involve and in particular to a sub-class that is characterized
some type of interaction with the environment and have by robotic systems that move through their environ-
dynamics that possess rotational and translational sym- ment, or robotic locomotion systems. Some exam-
metries. Research in nonholonomic systems and geo- ples of such systems include flying robots (satellites
metric mechanics has led to a single, simplified frame- with thrusters, blimps, helicopters, etc.), the snake-
work that describes this class of systems, which includes board, bicycles, swimming robots, and even legged sys-
examples such as wheeled mobile robots, bicycles, and tems. Our current work does not include legged robots,
the snakeboard robot; undulatory robotic and biologi- which possess intermittent contacts, though extensions
cal locomotion systems, such as paramecia, inchworms, to such systems are certainly possible [5].
snakes, and eels; and the reorientation of satellites and To study control and motion planning for such sys-
underwater vehicles with attached robotic arms. We tems, we utilize a geometric framework developed in
explore a hybrid systems approach in which small am- previous work [19] to capture the general form of most
plitude, periodic inputs, or gaits, are used to yield sim- locomotion systems. The basic concept is to decom-
plified approximate motions. These motions are then pose the system into a part defining the motion (and
treated as abstract control inputs for a simplified, kine- momentum) in the position of the robot, and a com-
matic representation of the locomotion system. We de- plementary part describing the internal shape of the
scribe the application of such an approach as applied system. Internal shape controls can then be used not
to two examples: the snakeboard robot and an eel-like, only to change the position of the system, but to gen-
underwater robot. erate velocities and hence truly locomote in a dynamic
sense. The current study focuses on introducing meth-
1 Introduction ods for controlling and planning trajectories (steering)
for such dynamic systems.
The field of robotic motion planning has generally fo-
cused on the study of wheeled vehicles, and very of- In this paper, we use perturbation methods to de-
ten this has implied kinematic representations of such rive approximate expressions for the effect of internal
systems [9, 14]. When dynamics are treated, they are shape changes on the motion of the system. By assum-
generally directly actuated, e.g., through wheel torques ing small amplitude inputs we can introduce a scaling
applied to the wheels, and do not involve unactuated parameter into the system. Such perturbation tech-
motions. In such cases, the kinematic representation of niques have proven useful in a variety of control con-
such a system can be proven to be fully adequate [13]. texts (2)12,/18,/22):
More recently, the motion planning field has In order to develop the appropriate motion plans, we
branched out to explore a wider range of topics, in- utilize a framework for abstraction of the system dy-
cluding motion planning for flexible or articulated ob- namics that is used in hybrid systems. We note that
jects, parts assembly, and biological molecules [10]. Re- the motion planning algorithms we are proposing for
searchers have also begun to study underactuated me- dynamic underactuated systems have a natural real-
chanical systems, where some or even most of the dy- ization as hybrid systems, since they involve systems
namics of the system can only be actuated indirectly, with continuous time dynamics for which the controls
222 J. Ostrowski and K. MclIsaac
are generated over discrete intervals (input periods), ODE given by Lagrange’s equations). Thus, Equa-
and with discrete mode-switching. tion 2.1 governs the motion of the system in position
space, based on changes in shape and the momentum
2 Characterization of the Steering in the position (group) directions. Equation 2.3 de-
scribes the evolution of the internal shape of the ro-
Problem
bot in terms of the internal applied forces, 7,. Lastly,
2.1 Background and Problem Formulation
Equation 2.2 is called the generalized momentum
equation, where p is a momentum vector associated
In working with locomotion problems in general, and with the momentum along each of the kinematically
steering problems in particular, there is generally a nat- unconstrained fiber directions. This equation describes
ural decomposition of the state space (say, Q) into a the dynamics of the system, via the momentum, in
position space, represented by a Lie group, G, and a the position, or group, directions. We have included a
shape space, given by a general manifold, M. A more forcing term in this equation, T,, to allow us to model
detailed description of this is given in [19], but some control inputs or external forces, such as those arising
easy examples to visualize the shape variables include from fluid drag models or viscous damping. Notice that
the internal bending of a snake, the rotational position by using the symmetries and writing the equations in
of the wheels on a mobile robot, or the leg positions on a body-fixed frame we can pull the position (group)
a walking robot. variable g out of the equation— this greatly helps to
Denoting the configuration variables by g = (g,r) € simplify the necessary calculations.
G x M = Q, the general formulation of the system dy-
namics is found via Lagrange’s equations, perhaps with 2.2 Analogies and Abstractions to Kinematic
undetermined multipliers representing the constraints. Systems
Another important characteristic of robotic locomotion Our main goal in this paper is to develop a motion plan-
systems, however, is that the motion of such systems ner for dynamic locomotion systems by using equiva-
is generally independent of the actual position of the lent representations, or simplified abstractions, for
system, g. Stated another way, the system’s dynamics the system. This will enable us to compute paths for
are invariant with respect to position. This leads to a
the simplified systems that are then tracked by the full
reduced representation when viewed in the appropriate
dynamic system. Figure 1 shows our general approach
body-fixed frame. Using this invariance we write the
to the system representation at various levels of ab-
(possibly constrained) dynamics in terms of a body ve-
straction. Also see Figure 2 for an overlayed compari-
locity, €= g~1g, and a body momentum, p (see [1, 17] son between the motion plans.
for more formal definitions):
The key idea here is to start with the full dynamics,
f=9 Gg=—A(r)r tT (r)p, (2.1) shown at the lowest level in Figure 1, and build sim-
plified approximations of this system at various levels.
p= alr) +p! B(r)r + p' y(r)p + Tq,
In the example we have shown, the full dynamics are
(2.2) first approximated by an equivalent dynamic system
Vist — 130 (2.3) in which the inputs have been restricted to a class of
simple cyclic inputs. This leads to an “averaged” set
Although the derivation of these equations is quite of dynamics in which we assume direct control over
involved, for our purposes here the basic form of them the momentum terms (the derivation for this is done
is all that is critical (to gain a much better insight into in Section 3 below). The next level of abstraction in-
these equations, the reader is referred to the paper by volves replacing the dynamic model with a kinematic
Bloch et al. [1], and examples from robotics explored approximation (also shown in Section 3). In this paper,
in [8, 19]). Equations 2.1 and 2.3 are the fiber and the kinematic approximation (the second level from
base equations, respectively. They define the body the top) is all that is needed, since we use steering
velocity of the system and the dynamics of the shape algorithms based on a kinematic model of this form.
space, respectively (V represents an affine connec- However, we can consider the use of an even coarser
tion, which we will use to denote the second order approximation to this kinematic model in which all of
A Framework for Steering Dynamic Robotic Locomotion Systems
223
eee kinematic | |: ie this overall scheme will likely require some type of ne-
gotiation between motion planners at the various levels
of abstraction, an issue that we do not address here.
Averaged | There is an obvious compromise here between build-
é=i nae1(u,)pi dynamics
vA ing sufficiently simple higher-level abstractions and los-
ing the fidelity to model the characteristics of the more
Pee Kinematic, Ge complex dynamic system. For example, in an omnidi-
cyclic shape rectional model, right angle (piecewise continuous (C°)
paths) turns are allowed, while this is obviously not
Original feasible at many of the lower levels (which generally re-
t quire at least C1 continuity). On the other hand, deal-
Equations 2.1- ae ing with the full details of the original dynamic model
ms; =a
Complete a is generally not tractable, and even special methods
dynamics such as those based on optimal controls or random-
ized motion planners tend to require a great deal of
machinery and computation to compute plans for even
Figure 1: A hierarchical description of the different mod-
relatively simple systems [21]. In the next section, we
els used.
show a mechanism for approximating a dynamic loco-
motion system with cyclic inputs, and in Section 3.3
Obstacles we show that this leads to a simplified representation
using a kinematic, car-like robot model. Then, in Sec-
tions 4 and 5, we apply these algorithms to the steering
eax:
Goal
of snakeboard and eel robotic systems.
--- Omnidirectional
--- Constrained kinematic
——
Dynamic approximation
Full dynamics
3 Algorithms for Generating Motion
3.1 Cyclic Inputs and Locomotive Gaits
Figure 2: Comparison of the paths planned at different
One of the goals discussed above is to form a simplified
levels.
approximate model of the system. One way in which
we can do this is by working from a set of pre-defined
the directions of motion are directly controlled via the inputs. This technique is commonly used in underac-
inputs. tuated and nonholonomic systems [16, 7, 2, 11], and
Of course, formulating the different levels of abstrac- for a restricted class of inputs is sometimes referred
tion is only half of the work. The reason for abstracting to as “steering using sinusoids.” Since we are investi-
at the various levels is to simplify the motion planning gating locomotion systems, we derive an analogy from
effort at each stage. However, motion plans formulated biological systems where a very common observation
at the highest levels of abstraction may not be imple- is that motions are most often generated by cyclic
mentable at the lower levels (though this is certainly shape changes. The motion takes on a characteristic
a goal of the abstraction). Thus, a motion planning form, called a gait, which we can loosely define as a
224 J. Ostrowski and K. MclIsaac
specified cyclic pattern of internal shape changes (in- ro +eu(t), the momentum to second order in is given
puts) which couple to produce a net motion. For each by:
species, there usually exist at most a handful of gaits,
often tailored for specific needs or environments. For Pa(t) = Poa + €8°;poou'|b
instance, a human will walk or run, depending on the ap. yee
desired speed, but can also hop or skip. ae ((= =ahee 3 poo| ut? dr
(f 0
t
3.2 <A Perturbation Approach to Momentum nbd dt — 06; Oc;,Poou
b i (Ow)
iit +...
+a; |wt?
Generation 0
Motivated by recent work by Leonard, Krishnaprasad, Proof: This result is a straightforward, though exten-
and Bullo [2, 12], we use a perturbation approach to sive, calculation, found by setting p = p® + ep’ + ep? +
analyze the response of dynamic locomotion systems to ..., and Taylor expanding a and ( about ro:
small amplitude cyclic inputs (see Khalil [6] for more
details on the use of perturbation methods). We be- p=ptep't+epr
rt...
gin with the general form of the equations for a dy-
namic nonholonomic system, but with the restriction = 0+ €B(ro)p'u
that the terms in the momentum equation that are 0
a Nigel p> + B(ro)p t+ o(r)it) sy
quadratic in momenta be zero (that is, y = 0 from a (¢ TO
Equation 2.2). We re-write these equations here using
indicial notation, where repeated indices imply sum- Equating terms at each order of € and noting that
mation over that index, since this will be important p(0) = po leads to the result. |
for making sense of the results given below:
Remarks: Proposition 1 provides very interesting in-
Nga) Arr + (1) (r\p,,. ||(3.4) sights into the generation of momentum for this type
Da Oagnyrr +)3,,(r)i
pp. of system. For cyclic inputs, there are only two terms
that lead to net changes in momentum, the terms stem-
It can be shown that in all cases where the generalized ming from a and £, and they are both at order e’.
momentum is one-dimensional the term 7 will be iden- Furthermore, when one uses sinusoids that are driven
tically zero [1]. This is true for many rolling robotic in-phase,! the change in momentum is:
systems including the bicycle. The case in which y is
t
the only nonzero term in the momentum equation is
Apa = Qaij ihut dr.
treated implicitly in [2]. 0
First, recall the results of Dubins [4] for kinematic 2. Steering to the desired setup point: Once
mobile robots. It was shown that the optimal path for the desired momentum has been achieved, the sys-
a car steering in SE(2) with limits on the turning ra- tem can be steered along any desired path (by
dius is given by two circular arcs (one arc tangent to assumption). This involves computing the neces-
each of the initial and final headings) connected by a sary arcs and line segments to connect (1, y1, 41)
straight line segment. See Figure 3. In this section to (ta, Yya,9a). In order to setup for the final
we utilize these paths as the backbone for steering dy- step of reducing the momentum, steer the sys-
namic nonholonomic systems. In order to make the tem to the point (rq — 2s, Ya — Ys, 9a — 9s), where
abstraction shown in Figure 1 from the dynamic sys- T;, = (Xs,Ys,9s) is the approximate change in po-
tem to the approximate dynamic system (and hence sition that will result from the stopping motion in
further to the kinematic, car-like system) work, the Step 3. Assuming the appropriate steering can be
executed, the setup point is reached with a mo-
mentum of p?%.
3. Zero the momentum: Execute the opposite ma-
neuver to that chosen in Step 1 in order to reduce
the momentum to zero.
process to move to the final state. For systems that the wheels themselves are allowed to spin freely,
such as the snakeboard, it may be possible to use just as with a traditional skateboard.
other gaits to make small corrections in position, Following along the lines of Ostrowski et al. [21], we
as is shown in [18]. use a non-dimensional set of variables, normalized by
the board length and rotor momentum, so that the
This steering algorithm is based solely on the use of fiber equations reduce to the form of Equation 2.1 with:
feedforward terms to control the motion. We explore
the use of feedback terms in discussing steering for the —Jsindcosd 0 aah
eel in Section 5. We also remark that if one is inter- AS 0 0 and 1 = 0 "
ested strictly in configuration controllability (moving J sin? ¢ 0 j
5 tang
between configurations only, without regards to veloc-
ity) [3], then the motion can be achieved using Steps 1
and 2 only. and J a non-dimensional ratio between the rotor iner-
tia and the board inertia. The generalized momentum
4 Steering with a Feedforward equation, Equation 2.2, is given by:
Approach: The Snakeboard Example Des 2cos? f dy —tan ¢ dp.
The Snakeboard is a commercial variant of the skate-
board that allows for independent rotation of the wheel Using this, we can explore the relationship between
trucks. The simplified model of the Snakeboard (re- the integrals of Proposition 1 and the appearance of
ferred to as the snakeboard model) is shown in Fig- cyclic inputs. Using inputs of the form y(t) = > —
ure 4, along with a robotic version that was constructed dy sin2nt and ¢(t) = agsin2at, the a term in the
in order to verify theoretical simulations. We briefly momentum equation leads to changes of momentum
recall the description of the snakeboard as developed equal to:
in [20, 21]. The basic premise is that by properly cou- 1 1
pling the rotating flywheel (modeling the swinging of Ap = aai;(T0) | i ainds fioydr
a human torso) with the turning of the wheels, one 0 0
1
can generate a variety of motions, including a forward
= -2(2n)Pasay | cos? 2n7 dr = —4n agag.
serpentine-like gait reminiscent of a snake. 0
(4.6)
As a mechanical system the snakeboard has a config-
uration manifold given by Q = SE(2)xSxS. As coor-
dinates for @ we shall use (x, y,0,%,¢) where (a, y, 0) A set of simulations for this pair of inputs is pre-
describes the position of the board with respect to a sented in Figure 5. The right-hand plot in this figure
reference frame, w is the angle of the rotor with re- shows the time evolution of the momentum. For each
spect to the board, and ¢ denotes the angle of the back
wheel truck with respect to the board (and the oppo- yx lod
\
Pp
site of the angle of the front wheels, which is assumed 30,00 63,03" 1.00 03,05
05,05 03,05
to move through equal and opposite rotations). Note 25,00 -2.00
3.00
20.00
RO Se
15.00 5.00
-6.00
10.00
-7.00
back wheels *
5.00 8.00
—i\8 = front wheels
-9,00
O00 =v, oe
= a TU a le cca aie cas
x
0,00 00.00 400.00 600,00 0.00 0.50 1.00 '
-2.00 -4,00
-2.50 5.00
-3.00 6.00
-3.50 7,00
-4,00 8,00
-4.50 9,00
-5.00 10.00 4
0.00 2.00 4,00 0.00 5.00 10.00
\
where v} is the projection of the vector (#;,%;) along
a direction perpendicular to the link. We exclude drag
forces parallel to the link because they were determined rack
Turing
(metres)
It should also be noted that when performing feed- 5.3.2 Stopping Controller
back on a system using periodic gaits, the control is
based on discrete sampling by averaging the center of The problem of stopping given an initial forward mo-
mass position and velocity over one cycle. This places mentum is considered independently of the problem of
a theoretical (Nyquist) limit on the controller dynam- steering. In general, a stopping controller that drives
ics of Fs /2. In practice, for a 1Hz drive gait, controller the robot’s velocity to zero will result in a repeatable
responses of under five seconds are likely not achiev- motion, possibly including both a translation and a
able. rotation during some stopping time, ts. Unlike the
snakeboard, the first order approximation to stopping
We use a feedforward law based on the (curvature
does not lead to the opposite motion as that found in
of the) path generated by the kinematic motion plan-
starting, largely due to the dissipation found in the eel.
ner. In addition to this, we note that since the steering
is only approximate, the addition of a feedback term Let us define a stopping transformation, T;, for
is desirable. If we define d as the signed, perpendicu- a given initial velocity. Then we can use our steering
lar distance to the desired trajectory (with d negative controller to steer to a configuration that can reach the
when the desired trajectory is to the right of the ac- goal through the transformation T,. Using the stop-
tual trajectory), the motion of the cart is described by ping controller to drive the velocity to zero from that
d = vsin(@q(t) — A(t)) (see Figure 3). Using a pro- point will result in the robot having a final configura-
portional feedback control law for the cart of the form tion at the goal point with zero velocity. The trans-
6(t) = ke(0a(t) — 0(t)) — ka(d), one can show that the formation, T;, depends primarily on the momentum
linearized equations of motion can be easily stabilized of the robot before initiating the stopping gait, which
about a straight path. The characteristic equation for would make the determination of JT, an untractable
the linearized system is by s?+kgs—vkg = 0. The con- problem if it were necessary to consider the entire mo-
dition for stability of this system, therefore is kg > 0 mentum space. However, since we have limited our-
and kg < 0 which matches our intuition about steering. selves to straight line trajectories and circular arcs, we
230 J. Ostrowski and K. MclIsaac
This paper establishes easily implemented feedforward [3] F. Bullo and A. D. Lewis. Configuration controllability
for mechanical systems on Lie groups. In Symposium
and feedback control algorithms for mechanical sys-
on Mathematical Theory of Networks and Systems, St.
tems with Lie group symmetries, external forces, and Louis, June 1996.
nonholonomic constraints. We focus our attention on
systems that use small amplitude, periodic shape in- [4] L. E. Dubins. On curves of minimal length with a
puts, or gaits, for momentum generation and steering. constraint on average curvature and with presribed
initial and terminal positions and tangents. American
We have proposed a motion planning algorithm based
Journal of Mathematics, 79:497-516, 1957.
on Dubins’ work on the control of kinematic wheeled
vehicles. The motion planning problem reduces to a [5
J— B. Goodwine and J. W. Burdick. Trajectory genera-
momentum generation phase (with a complementary tion for kinematic legged robots. In Proc. IEEE Int.
momentum dissipation phase) and a steering phase in Conf. Robotics and Automation, pages 2689-2696, Al-
buquerque, NM, April 1997.
which the complex dynamics of the system can be ap-
proximated using a kinematic steering model. We de- (6a= H. Khalil. Nonlinear Systems. Macmillan Publishing
velop these abstract (kinematic) steering models using Co., 1992.
a hierarchical, hybrid-systems approach to the prob-
lem, in which we look for commonalities among a wide
[7<7 P. S. Krishnaprasad and D. P. Tsakiris. Oscillations,
SE(2)-snakes and motion control. In IEEE Conf. De-
range of dynamic systems— in this case, the common- cision and Control, pages 2806-2811, New Orleans,
ality is that the system must be steerable. LA, December 1995.
A Framework for Steering Dynamic Robotic Locomotion Systems
231
[15] K. MclIsaac and J. Ostrowski. A geometric formula- [22] J. Radford and J. Burdick. Local motion planning for
tion of underwater snake-like locomotion: Simulation nonholonomic control systems evolving on principal
and experiments. In JEEE Conf. on Robotics and Au- bundles. Conf. Mathematical Theory of Networks and
tomation, pages 2843-2848, Detroit, May 1999. Systems.
fy ia
aietee?, wontoerrad, aa v
i
priate Jn jor] _ ns as
i “nha
wei pve
—
paysae
(TA) ud ez“i my att “auf
OW HO grr tmca vcam
ets vette
ity Soy We aghre Ci > oe 8
OnetayWy aT tealFil tea Beet ae} yet The
bye
fleves} EN
VEL pear
a li eae smear
ioe waa ae
ierrghearmy swede eT
J ih te =A wlan peal q gibt: ror. GOO), itieng 4 eect by
_ . re bas ed iyecan ii,“at “Ayot at
ve tL (Ot! anche ypia
Staal oa aN Hosen elbietcus io jay
rm pehzonree. | Dias herere” > ry Mayne G
Anny SA
fone
vert i
— ' , RL, wns 2 sun wat ae TF Sgn
eed ‘ : fOS) ~
ave “wr
at amiol
es d dhe Ca
Me TE
tigre .cap?Apet
bawsite
Pa 2
ap fet ,
9 pe av .. “ 60 Mathers
oe idl (Vib bee ;
_ D
Watters 7Tivery af etaiie
herny af
ay
Reena
jOgut A a
: es
oo y :
phd hee’ 2
» 14> * et. » ‘ ‘ . é 7 E - —_—
hic (Map 6 pehy ) _— a 7
onaes - ¥ aan TA et se Cured af
PP it gals BA Pye
iat at ont ae
RNS
Me Acn
ot
wt 6.
presses».
3 ree
| =
ns ;
el peas
7 sto st
7 re
ay 5 i he
which only implement the regrasp without moving the The PRM planner for closed chain mechanisms pro-
object, and transform paths, which only transfer the posed in [18] builds a roadmap in the portion of
object using fixed grasps. A manipulation system on a the configuration space that satisfies the closure con-
transform path with a fixed grasp can be viewed as straints. The roadmap vertices are generated by first
a system with closed chains.1 While the transform sampling points from the entire configuration space,
path planning problem has been studied for simple and then performing a randomized gradient descent to
robot manipulation systems, the general problem re- try to transform them into configurations satisfying the
mains open and is one motivation for our work. Other closure constraints. Roadmap vertices are connected
motivational applications of closed chain motion plan- by a randomized gradient descent traversal of the con-
ning include animation, virtual reality, and training. straint surface. When applied to closed chain linkages
composed of line segments in the plane, this approach
Motion planning [15] is a challenging problem which
required several hours of computation to generate a
involves complicated physical constraints and_high-
well connected roadmap. Thus, while this work rep-
dimensional configuration spaces. The fastest existing
resents a crucial first step towards extending the PRM
deterministic planner [6] takes time exponential in the
methodology to this important class of problems, the
number of degrees of freedom of the robot. On the
methods do not yet lead to efficient solutions for many
other hand, a class of randomized planners proposed
practical problems.
during the last decade have successfully solved many
previously unsolved problems. In particular, Proba-
bilistic Roadmap Methods (PRMs) [2, 3, 4, 5, 10, 11, 24] 1.1 Our Approach
have been used successfully in high-dimensional con-
figuration spaces. The general methodology of PRMs In this paper, we propose a new approach for plan-
is to construct a graph (the roadmap) during pre- ning the motion of kinematic chains with closure con-
processing that represents the connectivity of the ro- straints. Like [18], we believe the PRM methodology
bot’s free configuration space (C-space), and then to can be extended to closed chains. However, since the
query the roadmap to find a path for a given mo- probability that a randomly generated node lies on
tion planning task (see Figure 2). Roadmap vertices the constraint surface is zero [18], we believe that the
are (generated from) randomly sampled configurations purely randomized philosophy of the PRM must be aug-
which satisfy feasibility requirements (e.g., collision mented with more deliberate techniques developed in
free), and roadmap edges correspond to connections be- the robotics community to deal with the closure con-
tween “nearby” vertices found with simple local plan- straints. In particular, we advocate the use of kinemat-
ning methods. For the most part, the major successes ics to guide the generation and connection of closure
for PRMs have been limited to rigid bodies or artic- configurations. Briefly, the kinematics of an articulated
ulated objects without closed chains. Recently, some object (such as a robotic finger) describes the relation-
efforts have been made to apply the PRM paradigm to ship between the configuration/motion of the joints of
closed chain systems [18] and to flexible objects [9]. the linkage and the resulting configuration/motion of
the rigid bodies which form the linkage. Our plan-
Goal®~__ ner uses both forward and inverse kinematics to gener-
ate closure configurations. In particular, we break the
closed chain into a set of open subchains, apply stan-
dard PRM random sampling techniques and forward
kinematics to one subset of the subchains, and then
use inverse kinematics on the remaining subchains to
enforce the closure constraints.
where 9, e;(G;),7 = 1, 2, is the forward kinematic trans- In this section, we describe the high-level strategy of
our kinematics-based PRM for closed chain systems.
formation [7, 19] of chain 7 which determines the end-
frame configuration based on joint variables. (Inverse We begin by noting that the closure constraint in
kinematics solves the inverse problem of determining Equation 2 can be reduced to:
proper joint variables to achieve some specified end-
frame configuration.) Jud; (Gbrer (F1) — Gb1b2Gb22 (G2)) = 0 (4)
The closure constraint is often expressed in the form Joye; (1) — Jb1b2Jb2e2 (G2) =0 (5)
f(q) = 0 (e-8., Gwe, — Gwe = 0). When multiple closed where gp,c,,2 = 1,2, are the end-frame configurations
chains exist in a linkage system, each closed chain im- described in the body frame F'g;, and go,», is the trans-
poses one closure constraint; the [th such constraint is formation from the base link of chain 1 to the base link
denoted by f7, and we use f(q) = 0 to denote fi(¢) = 0, of chain 2. If we think of the base link of the first chain
for all 1 < 1 < K, where K is the number of closed as the virtual (mobile) base of the system, its configura-
chain constraints. In general, the valid configurations tion gw, can be interpreted as a rigid body motion on
of a closed chain system lie in the set: the system. In other words, Equation 4 reveals one im-
portant property of closure configurations: Rigid body
Cetosure. = {a\q €C and f(g) ai O} 2 (3)
transformations preserve closure configurations. Equa-
tion 5 further shows that closure constraints can be
Notice that closure constraints such as Equation 2 defined independent of the base configuration.
can be transformed to the zeros of polynomials us-
ing the projective transformation. Then, the valid In the following discussion, we will use gy» to de-
configurations of the system, Cctosure, define a lower- note the configuration of the virtual base of the system.
dimensional algebraic variety embedded in the higher- In addition, we will treat the transformation from the
dimensional configuration space C. This is roughly system base to the base of any chain, say chain 7, as a
virtual link with joint variables being the parameteriza-
analogous to embedding a 2D surface or a 1D curve
tion of the transformation gpp,, €.g., a position vector
in a 3D space. The fact that the volume measure of
a low-dimensional entity in a high-dimensional ambi-
(prismatic joints) py, € R* and an orientation vec-
apes CGD)
ent space is zero is why the probability that a random tor (revolute joints) ay, € S” 2. Thus, every open
configuration q € C will satisfy the closure constraint chain can be viewed to be virtually extended to the sys-
is zero. While closure constraints pose difficulties for tem base. As a result, we can define a joint variable for
238 L. Han and N. M. Amato
the extended chain as 0; = (pop,;, @vv;, Gi), t = 1,---,F. by solving the closure constraints (Equation 7), and
For simplicity, we will call 6; the joint variable of sub- retain the self-collision free closure configurations. For
chain 7, with the understanding that it includes the vir- example, consider the closed chain shown in Figure 4.
tual joint variables, when applicable. Define the joint Suppose we select the joint variables of chain 2, 42, as
variable of the system to be 0 = (6;,---,0,) € S” x R?, the active variables 6,, and randomly generate values
where p and r are the total number of prismatic joints for them. We then use forward kinematics to determine
and revolute joints, respectively. Then the system con- the end-frame configuration gye,, and then use inverse
figuration space can be rewritten as: kinematics to compute joint variables of chain 1 (the
passive variables 6,) which will make goe, coincide with
C={(gu2,)loune SE(d),8dES"xR?}. (6) Jobe, and satisfy the closure constraints.
Since the closure constraint (Equation 2) or its gen- The closure configurations generated will be the ver-
eral form f(q) = 0, in fact, does not depend on the tices of a (small) roadmap which records paths con-
base configuration and only specifies constraints with necting self-collision-free closure configurations (again,
respect to joint variables, we can define the equivalent with no dependence on the base configuration gw»).
constraints of f on the joint variables as: The edges in this roadmap can be generated using
straight-line, or any other simple local planner to con-
f(0) =0 (7) nect the active variables 0, of the two closure configu-
rations, and then computing the corresponding passive
Furthermore, define: variables 9, along the local path. As with any PRM, a
self-collision-free local path is recorded as a roadmap
Culosure = {916 € Ss” x RY, f(0) = o}0 (8) edge. By a slight abuse of terminology, we call such a
roadmap a kinematic roadmap since it reveals the kine-
Now, the subset of C corresponding to closure configu- matic connectivity of the closure structures, and its
rations can be expressed as: construction involves the computation of both forward
and inverse kinematics. Figure 5(a) shows a three-node
Casi’ a {(Su; 9)| Gwe ‘= SE(d), ve (ai aca (9) kinematic roadmap for a 4-link closed chain.
(a) (b) i)
Figure 5: (a) A Kinemattc roadmap (Workspace), (b) copying the kinematic roadmap to different base configurations
(C-space), and (c) connecting configurations with the same closure structure (C-space).
6 Building a Roadmap from for self-collision. Therefore, the reuse of the closure
a Kinematic Roadmap configurations and their connection edges can signifi-
cantly reduce the total number of collision detection
The kinematic roadmap provides us with a set of self- calls, which represent the major computation cost at
collision-free closure configurations 6 € Celosure (Equa- this stage.
tion 8) and connections between them. Therefore, by
randomly generating base configurations gp), we can 6.2 Connecting Same Closure Nodes
“populate” the environment with kinematic roadmap Closed-chain configurations with the same closure con-
nodes and edges—this will only require collision de- figurations can be viewed as configurations of a rigid
tection with environment obstacles since we save the
body. Therefore, we can use rigid body PRM methods
paths associated with the kinematic roadmap edges.
to connect them. More specifically,
Furthermore, roadmap nodes generated from the same
closure configuration can be treated as rigid body con- CONNECTING NODES OF SAME CLOSURE ‘T'YPE
figurations during roadmap connection. 1. For each closure configuration 6 in kinematic roadmap
2. Collect all roadmap nodes with this closure
PROTOTYPE KINEMATICS-BASED PRM configuration in a set
I. POPULATE ENVIRONMENT WITH KINEMATIC ROADMAP a: Use rigid body PRM connection methods to connect
generate random base configurations and retain configurations in the set
collision-free parts of kinematic roadmap in roadmap 4. Add the edges generated in Step 3 to the roadmap
II. ADDITIONAL CONNECTION OF ROADMAP NODES 5. endfor
connect roadmap nodes with the same closure
structure using rigid body planners Figure 9 shows a portion of the roadmap, being pro-
gressively built by connecting configurations with clo-
sure structures C1,C2, and C3, respectively.
6.1 Populating the Environment with
Copies of the Kinematic Roadmap 7 Experimental Results
POPULATING ENV. WITH COPIES OF KINEMATIC ROADMAP 7.1 Implementation Details
1. Choose random vertex @ from the kinematic roadmap
2 Generate random base configuration gw» Our prototype closed chain PRM planner was developed
3 If the configuration (gw»,0) is collision-free
on top of the C++ OBPRM software package developed
4. Retain (gws,9) as a roadmap vertex
5 For each neighbor of 0, say 0, in the kinematic by the robotics group at Texas A&M University [2,
map (repeat with their neighbors as needed) 4|. This strategy was taken because the construction
6 If (gw, ) is collision-free of the kinematic roadmap and the connection of the
re Retain (gus,9) as a roadmap vertex roadmap nodes with the same closure configuration are
8 Retrieve the path 6(t) connecting 6 and 0 both basically simple PRM planners. It turned out to
from the kinematic map
be fairly easy to incorporate the closed-chains into the
9. If (gwo, 0(t)) is collision-free for all intermediate
closure configurations along the path ¥ PRM framework due to the object oriented design of the
10. Add an edge between (gws,9) and (gwo, 0) code. All experimental results reported in this section
(repeat as desired) were performed on an SGI Octane and used the RAPID
[8] package for 3D collision detection.
The generation of the random base configuration in
7.2 Experiments
Step 2 can be implemented with any node generation
strategy developed for rigid body robots such as PRM While our planner can handle complicated three-
[11], PRM with Gaussian filter [5], OBPRM [2], and the dimensional closed chains, the results presented here
medial-axis PRM [23]. We next note that since the are for single loop closed chains in three-dimensional
kinematic roadmap’s nodes and edges are known to environments. In particular, the chains we consider
be self-collision free, the only collision checks needed consist of m identical links, all joints are revolute, and
in this stage are between environment obstacles and we partition the m joint angles into 3 consecutive pas-
the robot, i.e., it is not necessary to check the links sive angles and m — 3 active angles.
A Kinematics-Based PRM for Closed Chain System
s 243
gl g2 g3 | ee a c gl g2 g3
cl Qa \ a \s / cal Re
Nel Aa? AY / i
o : |
| 4elNe wy
13, f |
(\I\ |
C3 A:
. Pas /,
van : ~ cl
@ a SS J
(c)
11(S) |] 1.76
Roadmap Construction roadmap, and rigid body connections are made be-
Chats |Kinemane Met | Generation | Comertion | tween nodes with the same closure type. Both stages
ec eeree ea employ PRM planners to construct their roadmaps. Our
[re | | |= [525|sss|eaor|
AP) e2o eo 2.44 | 341 || 12.56 ee | preliminary experimental results indicate that the use
of kinematics to guide the generation and connection of
[ ow) | TE es|oefate |
9(P 0.44} 13 3 || 0.99 | 132 9.27 3 |
closure configurations is very beneficial, both reducing
sroliondkiogt easoisamtal
a
prais “ait mes
1h uySS¥ PIAA
oss J3 Nee* AUG Ty .
a
> ne Se
RH
. se yt
"
ee ede Ol thai
six rab, Be)
Te relies Pacers
iy
DL ayy A al — rH % tie Pi! i
‘ pind ra
ie i 1% a ostz
Gre Viva a Pek! e hol
DRE A rite y In: ee:
eo vaif %. baleaib, ie
a ay mee
. — 4, er:
Sen da Ubenid,; 1/7... ria Vaart wd A a1, th
¢ sy a 4
sary Aw it icoeed oN a ve ‘ ie re ees sep
a In
sf é tongs See ee ae ee at & Cite a tat re a rae
nee f re
mWia eh wt a, fa Lt | ee CG ae fete? Gn bewdla sey Poke,
7 7 :
irety wv i ' byi’ an ai ¥ a lis way Wed
7 ' ~~ 4 Sah Ue i : ; ’
: ani wit, er hap Peper dary slater! i les
‘
Wy Weoredgiin OL J wi
so B'S NES Avett: ayite gees 4 ath’ ** he
ONE) Ref D ey Sa He tbh Pea nye spe)
‘ : - wr NW, ise te
- :
;
§
best
e 7
b GD she
Randomized Kinodynamic Motion Planning
with Moving Obstacles
David Hsu, Stanford University, Stanford, CA
Robert Kindel, Stanford University, Stanford, CA
Jean-Claude Latombe, Stanford University, Stanford, CA
Stephen Rock, Stanford University, Stanford, CA
A randomized motion planner is presented for robots free geometric paths [18]. A PRM planner samples the
that must avoid collision with moving obstacles under robot’s configuration space at random and connects the
kinematic and dynamic constraints. This planner sam- generated free samples, called milestones, by simple
ples the robot’s statex time space by picking control in- local paths, typically straight-line segments in config-
puts at random and integrating the equations of motion. uration space. The result is a undirected graph called
The result is a probabilistic roadmap, i.e., a collection a probabilistic roadmap. Multi-query PRM planners
of sampled statex time points, called milestones, con- precompute the roadmap [18], while single-query plan-
nected by short admissible trajectories. The planner ners compute a new roadmap for each query [11]. It
does not precompute the roadmap; instead, for each has been proven that, under reasonable assumptions, a
planning query, it generates a new roadmap to con- small number of milestones picked uniformly at random
nect the input initial and goal statex time points. This are sufficient to capture the free space’s connectivity
paper shows that the probability that the planner fails with high probability [11, 17]. However, with nonholo-
to find a trajectory when one exists quickly goes to 0 nomic and/or dynamic constraints, straight local paths
as the number of milestones grows. The planner has are not feasible. Moreover, allowing obstacles to move
been tested successfully in both simulated and real en- requires indexing milestones by the times when they
vironments. In the latter case, a vision module esti- are attained.
mates the obstacle motions just before planning, and
For each planning query, our algorithm builds a
the planner is then allocated a small amount of time to
new roadmap in the collision-free subset of the robot’s
compute a trajectory. If a change in obstacle motion is
statextime space, where a state typically encodes both
detected while the robot executes the planned trajectory,
the configuration and velocity of the robot (Section 3).
the planner re-computes a trajectory on the fly.
Each milestone is obtained by selecting a control in-
put at random in the set of admissible controls and
1 Introduction integrating the motion induced by this input over a
In its most basic form, motion planning is a purely geo- short duration of time, from a previously-generated
milestone. The local trajectory thus obtained auto-
metric problem: Given the geometry of a robot and sta-
matically satisfies the motion constraints, and if it does
tic obstacles, compute a collision-free path of the robot
not collide with the obstacles, its endpoint is added
between two configurations. This formulation ignores
to the roadmap as a new milestone. This iterative
several key aspects of the real world. Robot motions
process yields a tree-shaped roadmap rooted at the ini-
are subject to kinematic and dynamic constraints that,
tial statextime and oriented along the time axis. It
unlike obstacles, cannot be represented by forbidden
ends when a milestone falls in an “endgame” region
regions in the configuration space. The environment
from which it is known how to reach the goal.
may also contain moving obstacles requiring that com-
puted paths be parametrized by time. In this paper, we In Section 4, we show that the probability that our
consider motion planning problems with both kinody- algorithm fails to find a trajectory when one exists con-
namic constraints and moving obstacles. We propose verges toward 0 (probabilistic completeness), with a
an efficient algorithm for this class of problems. convergence rate that is exponential in the number of
Our work extends the probabilistic roadmap (PRM) generated milestones. We have also tested the algo-
rithm in both simulated and real environments. In
framework originally developed for planning collision-
248 D. Hsu, R. Kindel, J.C. Latombe, and S. Rock
simulation (Sections 5 and 6), we have verified that straints. With few exceptions (e.g., [9]), previous work
it can solve tricky problems. In the hardware robot has considered these two types of constraints sepa-
testbed (Section 7), we have checked that the planner rately.
operates properly despite various uncertainties and de- Planning for nonholonomic robots has attracted con-
lays associated with an integrated system. In this test- siderable interest [4, 19, 20, 22, 23, 26, 28]. One ap-
bed, a vision module measures obstacle motions, and proach [19, 20] is to first generate a collision-free path,
the planner has a short, predefined amount of time to ignoring the nonholonomic constraints, and then to
compute a trajectory (real-time planning). The vision break this path into small pieces and replace them
module monitors the obstacles while the robot executes by feasible canonical paths (e.g., Reeds and Shepp
the computed trajectory. If an obstacle deviates from curves [24]). This approach works well for simple ro-
its predicted trajectory, the planner re-computes the bots (e.g., car-like robots), but requires the robots to be
robot’s trajectory on the fly. locally controllable [4, 23]. A related approach [26, 28]
uses a multi-query PRM algorithm that connects mile-
2 Previous Work stones by canonical path segments such as the Reeds
and Shepp curves. Another approach, presented in [4],
Motion planning by random sampling This ap- generates a tree of sampled configurations rooted at the
proach was originally proposed to solve geometric path- initial configuration. At each iteration, a chosen sam-
planning problems for robots with many degrees of free- ple in the tree is expanded into a few new samples, by
dom (dofs) [2, 3, 11, 16, 18]. Sampling replaces the integrating the robot’s equation of motion over a short
prohibitive computation of an explicit representation duration of time with deterministically picked controls.
of the free space by collision checking operations. Pro- A space partitioning scheme limits the density of sam-
posed techniques differ mainly in their sampling strate- ples in any region of the configuration space. This ap-
gies. An important distinction is between multi-query proach has been shown to be also applicable to robots
planners that precompute a roadmap (e.g., [18]) and that are not locally controllable. Our new planner has
single-query planners that don’t (e.g., [11]). Single- many similarities with this approach, but picks controls
query planners build a new roadmap for each query by at random. It is probabilistically complete whether the
constructing trees of sampled milestones from the ini- robot is locally controllable or not.
tial and goal configurations [11, 21]. Our planner falls
Algorithms for dealing with dynamic constraints are
in this second category.
comparable to those developed for nonholonomic con-
It has been shown in [11, 15, 17, 29] that, under straints. In [5, 27] a collision-free path is first com-
some assumptions, a multi-query PRM path planner puted, ignoring the dynamic constraints; a variational
that samples milestones uniformly from the configura- technique then deforms this path into a trajectory that
tion space is probabilistically complete and converges both conforms the dynamic constraints and optimizes
quickly. More formally, the probability that it fails to a criterion such as minimal execution time. No for-
find a path when one exists converges toward 0 ex- mal guarantee of performance has been established for
ponentially with the number of milestones. In [11], these planners. The approach in [7] places a regular
this result is established under the assumption that the grid over the robot’s state space and searches the grid
free space verifies a geometric property called expan- for a trajectory using dynamic programming. It offers
siveness. In this paper, we generalize this property to provable performance guarantees, but is only applica-
statextime space and prove that our new randomized ble to robots with few dofs (typically, 2 or 3), as the
planner for kinodynamic planning is also probabilisti- size of the grid grows exponentially with the number of
cally complete with a convergence rate exponential in dofs. Our planner is related to this second approach,
the number of sampled milestones. No formal guaran- but randomly discretizes the statextime space, instead
tee of performance had previously been established for of placing a regular grid over it. The planner in [21]
single-query planners. resembles ours, but no guarantee of performance has
Kinematic and dynamic constraints Kinodynamic been established for it.
planning refers to problems in which the robot’s mo- Moving obstacles When obstacles are moving, the
tion must satisfy nonholonomic and/or dynamic con- planner must compute a trajectory parametrized by
Randomized Kinodynamic Motion Planning with Moving Obstacles
249
time. This problem has been proven to be compu-
tationally hard, even for robots with few dofs [25].
Heuristic algorithms [8, 10, 14] have been proposed,
but they usually do not consider constraints on the ro-
bot’s motion other than an upper bound on its velocity.
The technique in [14] first ignores the moving obstacles
and computes a collision-free path of the robot among
the static obstacles; it then tunes the robot’s velocity
along this path to avoid colliding with moving obsta-
cles. The resulting planner is clearly incomplete. The
planner in [10] tries to reduce incompleteness by gen-
erating a network of paths. The planner in [9] is a
rare example of planner dealing concurrently with kin-
Figure 1: Model of a car-like robot.
odynamic constraints and moving obstacles. It extends
the approach of [7] to statex time space and thus is also
limited to robots with few dofs. the constraints F;(s,$) = 0 are equivalent to Equa-
tion (1) in which wu is a vector in R™ = R"—*, Recipro-
cally, Equation (1) can be rewritten into k = n—™m in-
3 Planning Framework
dependent equations of the form F;(s, $) = 0. Further-
emore, in Lagrangian mechanics, dynamics equations
Our algorithm builds a probabilistic roadmap in the
are of the form G;(q,q¢,@) = 0, where q, g, and g are
collision-free subset F of the statextime space of the
the robot’s configuration, velocity, and acceleration, re-
robot [9]. The roadmap is computed in the con-
spectively. Defining the robot’s state as s = (q,Q),
nected component of F that contains the robot’s initial
we can rewrite the dynamics equations in the form
statextime point.
F (s,s) = 0, which, as in the nonholonomic case, is
equivalent to Equation (1).
3.1 State-Space Formulation
Robot motions can also be constrained by inequali-
Motion constraints We consider a robot whose mo- ties of the forms F;(q,q) < 0 and Gi(q,4,q¢) < 0. Such
tion is governed by an equation of the form: constraints restrict the sets of admissible states and
controls to subsets of R” and R™.
sh f(s) 4h) (1)
Examples We illustrate these notions with two exam-
where s € S is the robot’s state, § is its derivative ples that will be useful later in the paper:
relative to time, and u € 2 is a control input. The set
Nonholonomic car-like robot. Consider a car A mod-
S and Q) are the robot’s state space and control space, eled as shown in Figure 1. Let (x,y) be the posi-
respectively. Given a state at time ¢t and a control tion of the midpoint R between A’s rear wheels and
function wu: [t,t’/] + 0, where [t, t’] is a time interval, 9 be the orientation of the rear wheels with respect
the solution of Equation (1) is a function s: [t,t/] > S to the x-coordinate axis. We encode A’s configura-
describing the robot’s state over [t,t’]. We assume that tion by (z,y,9) € R°. The nonholonomic constraint
S and 2 are bounded manifolds of dimensions n and m tan @ = y/« is equivalent to the system:
(m <n), respectively. By defining appropriate charts,
we can treat S and 2) as subsets of R” and R”. g=vcos#, y=vsind, 6 = (v/L) tan,
Equation (1) can represent both nonholonomic and
dynamic constraints. A nonholonomic robot is con- which has the same form as Equation (1). This refor-
strained by k independent, non-integrable scalar equa- mulation corresponds to defining the state of A to be
tions of the form F;(q,q) = 0, 1 = 1,2,...,k, where its configuration and choosing the vector (v, @), where
q and g denote the robot’s configuration and velocity, v and ¢ denote the car’s linear velocity and steering
respectively. Let the robot’s state be s = q. It is shown angle, as the input control. Bounds on v and ¢ define
in [4] that, under appropriate mathematical conditions, Q as a subset of R?.
250 D. Hsu, R. Kindel, J.C. Latombe, and S. Rock
Point-mass robot. For a point-mass robot A moving in than a milestone lying in an already densely sampled
a plane, we typically want to control the force applied region. This technique avoids oversampling any partic-
to A. So, we define A’s state to be s = (2,y,2,4), ular region of F.
where (z,y) is A’s position. The equations of mo-
Control selection Let Ul; be the set of all piecewise-
tion are:
Lae) 0, constant control functions with at most @ constant
y= Uy/ m,
pieces. Hence, for any u € Us, there exist to < ti <
where m and (uz, uy) denote A’s mass and the force ... <te_1 < tg such that u(t) is a constant c; € 2 over
applied to it. Bounds on the magnitudes of (4, y) and the time interval (t;_1,t;), fori = 1,...,4. We also
(Ue, Uy) define S and 2 as subsets of R* and R?, re- require t; —tj;-1 < Omax, where dmax is a constant. Our
spectively. algorithm picks a control u € Uy, for some prespeci-
Planning query Let S7 denote the statex time space fied £ and dmax, by sampling each constant piece of u
S x [0,+00). Obstacles in the robot’s workspace are independently. For each piece, c; and 6; = t — ti-1
mapped into this space as forbidden regions. The free are selected uniformly at random from 2 and (0, dmax],
space F C ST is the set of all collision-free points (s, t). respectively. The choices of the parameters £ and dmax
A trajectory s: [a,b] > S is admissible if, for all t € will be discussed in Subsection 4.4.
[a, 6], s(t) is an admissible state and (s(t), t) is collision-
free. Endgame connection The above “control-based”
sampling technique does not allow us to reach the goal
A planning query is specified by an initial statex time
(Sg,t,) exactly. We need to “expand” the goal into an
(sp,t») and a goal statextime (s,,t,). A solution to
endgame region that the sampling algorithm will even-
this query is a function wu: [t,, tg] > 2 that produces an
tually attain with high probability. There are several
admissible trajectory from state sp, at time t, to state
ways of creating such an endgame region.
S$, at time t,. In the following, we consider piecewise-
constant functions u(t) only. For some robots, it is possible to analytically com-
pute one or several canonical control functions that ex-
3.2. The Planning Algorithm actly connect two given points while obeying the kino-
Like the planner in [11], our algorithm iteratively builds dynamic constraints. The Reeds and Shepp curves de-
a tree-shaped roadmap T rooted at mp = (85, tp). veloped for nonholonomic car-like robots are an exam-
At each iteration, it picks at random a milestone ple of such functions [24]. If such control functions are
(s,t) from T, a time t’ < t,, and a control function available, one can test if a milestone m belongs to the
u: [t, t'] + Q. The trajectory from (s,t) induced by u engame region by checking that a canonical function
is computed by integrating Equation (1). If this trajec- generates an admissible trajectory from m to (sg, tg).
tory is admissible, its endpoint (s’, t’) is added to T as
A more general technique is to build a secondary tree
a new milestone; an arc is created from (s, t) to (s’,t’),
T’ of milestones rooted at the goal, in the same way as
and u is stored with this arc. The kinodynamic con-
straints are thus naturally enforced in all trajectories
that for the primary tree 7’, except that Equation (1) is
represented in T’. The planner exits with success when integrated backwards in time. The endgame region is
the newly generated milestone lies in an “endgame” then the union of small neighborhoods of the milestones
region that contains (s,, ty). in T’: The planner exits with success when a milestone
m € T falls in the neighborhood of a milestone m’ € T’.
Milestone selection The planner assigns a weight The trajectory following the appropriate arcs of T and
w(m) to each milestone m in T. The weight of m is T’ contains a small gap between m and m’, but this
the number of other milestones contained in a neigh- gap can often be dealt with in practice. For example,
borhood of m. So w(m) represents how densely the beyond m, one can use a PD controller to track the
neighborhood of m has already been sampled. At each trajectory extracted from T’.
iteration, the planner picks an existing milestone m in
T at random with probability 7;(m) inversely propor- Algorithm in pseudo-code The planning algorithm
tional to w(m). Hence, a milestone lying in a sparsely is formalized in the following pseudo-code. We will
sampled region has a greater chance of being selected refer to it as KDP.
Randomized Kinodynamic Motion Planning with Moving Obstacles
251
—————
Algorithm
SS
1 a ee ee eee
We define the lookout of a subset S of F as the sub- Let M = (mo,m1,m2,...) be a sequence of mile-
set of all points in S whose “reachability sets overlap stones generated by KDP with IDEAL-SAMPLE (mo =
significantly with their reachability sets outside S: my), and let M; denote the first 7 milestones in M.
The milestone m, is called a lookout point if it lies in
the G-lookout of Ry(M;_1). Lemma 3 states that the
Definition 1 Let 3 be a constant in (0,1]. The (-
é-reachability set of M spans a large volume if it con-
lookout of S C F is:
tains enough lookout points, and Lemma 4 estimates
B-LOOKOUT(S) = the probability that this happens. Together, they im-
ply that with high probability, the reachability set of
{p€ S| u(Re(p)) \ S) 2 Bu(R(S) \ S)}, a relatively small number of milestones spans a large
where 4(Y )denote the volume of any subset Y C R(S) volume in #.
relative to R(S).
Lemma 3 /f a sequence of milestones M contains k
The free space F is expansive if every subset S C F lookout points, then u(Re(M)) > 1—e-?*.
has a large lookout.
Proof: Let (m;,,mi,,--. ,Mi,) be the subsequence of
lookout points in M. For any i = 1,2,..., we have:
Definition 2 Let a and ( be two constants in (0, 1].
For any p € F, R(p) is (a, 3)-expansive if for every con-
nected subset S C R(p), u(G-LOOKOUT(S)) > ap(S). u(Re(M;)) = w(Re(Mi-1)) + w(Re(m:) fiend
The free space F is (a, 3)-expansive if for every p € F,
R(p) is (a, 3)-expansive. Thus p(Re(M;)) > u(Re(M;)), for any i < j. In par-
ticular:
Think of p in Definition 2 as the initial milestone mp
and S$ as the f-reachability set of a set of milestones u(Re(M)) > w(Re(
Mi,)). (3)
produced by KDP after some iterations. If a and ( are
both reasonably large, then KDP has a good chance to Using (2) with i = 7, in combination with the fact that
sample a new milestone whose f-reachability set adds m,, is a lookout point, we get:
significantly to the size of S. In fact, we show below
that with high probability, the ¢-reachability set of the u(Re(Mi,)) 2 w(Re(Mi,-1)) + B wo& \ Re(Mi,-1))-
milestones sampled by KDP expands quickly to cover
most of R(mp); hence, if the goal (s,,t,) lies in R(ms), Let v; = u(Re(M;)). We observe:
then with high probability, the planner will quickly find
an admissible trajectory. W(X \Re(Mi,-1)) = w(¥) — w(Re(Mi,-1)) = 1-v4,-1.
4.2 Probabilistic Convergence of the Planner Hence, v4, > Vi,-1+ 6 (1—v;,-1), which can be rewrit-
ten as:
Let * = R(mp) be the reachability set of mp. Sup-
pose that ¥ is (a, 3)-expansive. We establish below an
Vin 2 Ving B (1 ea Veen a (1 = BN Gia a ae
upper bound on the number of milestones needed to
guarantee that a milestone lies in the endgame region Since 7, — 1 > ix_1, it follows that.v;,-1 — vi,_, > 0.
E with high probability, if #4 ¥ has non-zero volume Therefore, the previous inequality yields:
relative to Y. For convenience, we scale all volumes so
that u(¥) = 1. Vin 2. Vig gta eee)
Let us assume for now that there is an ideal sam-
pler IDEAL-SAMPLE that picks a point uniformly at Setting wz = v;, leads to the recurrence wy > we_1 +
random from the £-reachability set Ry(M) of any set 2 (1 — wr_1), with the solution:
of milestones M. The procedure IDEAL-SAMPLE re- k—1
places lines 3-5 in KDP. We will discuss how to ap- Wk > (1—B)*wo+B
Y (1-67 =1-(1—8)*(1—w).
proximate IDEAL-SAMPLE in Subsection 4.3.
j=0
Randomized Kinodynamic Motion Planning with Moving Obstacles
253
As wo > 0 and 1— 6 < e7*, we get we > 1—e7**. Proof: Divide M = (mo,m1,mzg,... ,M,) into two
Combined with (3), it yields: subsequences M’ and M” such that M’ contains the
first r’ milestones and M” contains the next r” mile-
w(Re(M)) > 1—e*. stones with r’ +r” =r. By Lemma 4, M’ contains k
Oo lookout points with probability at least 1—k(1 ~a)"/ Ry
If there are k lookout points in M’, then by Lemma 3,
Lemma 4 A sequence of r milestones contains k look- Re(M") has volume at least 1 — g/2, provided that
k > 1/@1n(2/g). As a result, Re(M’) has a non-
out points with probability at least 1 — ke~°l"/* ,
empty intersection J with E of volume at least g/2,
Proof: Let M be the sequence of r milestones and L and so does the é-reachability set of every subsequence
be the event that M contains k lookout points. Assume M; > M’.
that r is an integer multiple of k. We divide M into Since IDEAL-SAMPLE picks a milestone uniformly at
k subsequences of r/k consecutive milestones. Denote random from the ¢-reachability set of the existing mile-
by L; the event that the ith subsequence contains at stones, every milestone m; in M” falls in J with proba-
least one lookout point. Since the probability of bility (g/2)/u(Re(Mi-1)). Since u(Re(Mj_-1)) < 1 for
having k lookout points is greater than the probability all 7, and the milestones are sampled independently,
of every subsequence having at least one lookout point, M” contains a milestone in I with probability at least
we have: Wl Gil) empl caeied
Pr(L) = Pr(Ly (leloe eer lit Le); If M fails to have a milestone in HL, then either the
f-reachability set of M’ does not have a large enough
which implies: intersection J with E (event A), or no milestone of M”
k lands in J (event B). We know that Pr(A) < 7/2 ifr’ >
Toe As De Pri)! (k/a) In(2k/y) and Pr(B) < y/2 if r” > (2/9) In(2/7).
i=0 Choosing r > (k/a)In(2k/y) + (2/9) In(2/7) guaran-
tees that Pr(AUB) < Pr(A)+Pr(B) < ¥. Substituting
Since each milestone picked by IDEAL-SAMPLE has k = (1/() In(2/g) into the inequality bounding r, we
probability a of being a lookout point, the probability get:
Pr(L;) of having no lookout point in the ith subse-
quence is at most (1 — a)"/*. Hence: > InQ/9) ,, 2/9), 24,2
aoe By oN We
Pr(L) =1—Pr(ZL) >1—k(1—a)"/*. O
If r is not an integer multiple of k, we divide M into k— If KDP returns FAILURE, either the query admits no
1 subsequences of length |r/k| and a kth subsequence solution, i.e., (S9,tj) ¢ ¥, or the algorithm has failed
of length r —k|r/k|. We get: to find one. The latter event, which corresponds to re-
turning an incorrect answer to the query, has probabil-
Pe(iy ee Oe
ity less than y. Since the bound in Theorem 5 contains
O only logarithmic terms of 7, the probability of an in-
correct answer converges toward 0 exponentially in the
We are now ready to state our main result which es- number of milestones.
tablishes an upper bound on the number of milestones
The bound given by Theorem 5 also depends on the
needed to guarantee that the planner finds a trajectory
expansiveness parameters a, 3 and the volume g of the
with high probability, if one exists.
endgame region. The greater a, 3, and g, the smaller
Theorem 5 Let g > 0 be the volume of the endgame the bound. In practice, it is often possible to establish
region E in X and y be a constant in (0,1]. A se- a lower bound for g. However, a and # are difficult or
quence M of r milestones contains a milestone in E impossible to estimate, except for trivial cases. This
with probability at least 1—v, if r> (k/a) In(2k/y) + prevents us from determining the parameter N (max-
imal number of milestones) for KDP a priori. This
(2/9) (2/7), where k = (1/() In(2/9).
204 D. Hsu, R. Kindel, J.C. Latombe, and S. Rock
is not different from previous analyses of PRM path 4.4 Choice of ¢ and bmax
planners [11, 15, 17, 29].
In theory, the parameter £ must be chosen such that
for any p € R(mpy), Re(p) has the same dimension as
4.3. Approximating IDEAL-SAMPLE R(mp). Otherwise, Re(p) has zero volume relative to
R(mp), and R(mp) cannot be expansive even for ar-
One way of implementing IDEAL-SAMPLE would be bitrarily small values of a and 3. This can only hap-
to use rejection sampling [13]: Generate many samples pen when some dimensions of R(m»,) are not directly
and throw away a fraction of them in the more densely spanned by constant controls in 2. But these dimen-
sampled regions. However, this would lead KDP to sions can then be generated by combining several con-
generate and then discard many potential milestones. trols in 2 using Lie-brackets [4]. The mathematical de-
finition of a Lie bracket can be interpreted as an infin-
KDP seeks to approximate IDEAL-SAMPLE in a itesimal “maneuver” involving two controls. Spanning
more efficient way. Note that every new milestone m’ all the dimensions of R(mp,) may require combining
created in line 5 of Algorithm 1 tends to be relatively more than two controls of 2, by imbricating multiple
close to m, because long trajectories induced by con- Lie brackets. At most n — 2 Lie brackets are needed,
trols picked at random are often in collision. Therefore, where n is the dimension of S. Hence, it is sufficient in
if we selected milestones uniformly in line 3, the result- all cases to choose f= n — 2.
ing distribution would be very uneven; indeed, with
high probability, at line 3, the planner would pick a To simplify the implementation, however, one may
milestone in an already densely sampled region, which choose £ = 1, since a path passing through several con-
would yield a new milestone in that same region in secutive milestones in T corresponds to applying a se-
line 5. The distribution 7;(m) ~ 1/w(m) used at line 3 quence of constant. controls. In general, the larger @,
contributes to the diffusion of milestones over R(mp) the greater a and (, hence the smaller the number of
and avoids oversampling. In general, maintaining the milestones needed according to our analysis, but also
weights w(m) as the roadmap is being built has a much the more costly the generation of each milestone. The
smaller computational cost than performing rejection choice of dmax is somewhat related. A larger dmax re-
sampling. sults in greater a and @, but also leads the planner to
integrate longer trajectories that are more likely to be
There is a slightly greater chance of generating a non-admissible. Experiments show that @ and dmax can
new milestone in an area where the ¢-reachability sets be selected in rather wide intervals without significant
of several milestones already in T overlap. However, impact on the performance of the planner. However, if
milestones in T’ with overlapping ¢-reachability sets are the values for £ dmax are too large, it may be difficult
more likely to be close to one another than milestones to approximate IDEAL-SAMPLE well.
with no such overlapping. Therefore, the use of 1; at
line 3 keeps the problem under control by preventing
it from worsening as the number of milestones grows. 5 Nonholonomic Robots
There is yet another issue to consider. Though line 4 5.1 Robot Description
selects u uniformly at random from Uy, the distribution
of m’ in Re(m) is not uniform in general, because the We implemented KDP for two different robot systems.
mapping from Uz to Re(m) may not be linear. In many One consists of two nonholonomic carts connected by
cases, one may precompute a distribution 7, such that a telescopic link and moving among stationary obsta-
picking wu from Uy with probability 7, (u) yields a uni- cles. The other system is an air-cushioned robot that
form distribution of m’ in R¢(m). In other cases, rejec- is actuated by air thrusters and operates among mov-
tion sampling can be used locally as follows: In line 4, ing obstacles on a flat table. It is subject to strict
pick several control functions u;; in line 5, compute the dynamic constraints. In this section, we discuss the
corresponding m}, throw away some of them to achieve implementation of KDP for the nonholonomic robot.
a uniform distribution among the remaining m{, and In the next two sections, we will do the same for the
pick a remaining mj at random. air-cushioned robot.
Randomized Kinodynamic Motion Planning with Moving Obstacles
255
Wheeled vehicles are a classical example for nonholo- orientation of F;’s velocity relative to the rear wheels).
nomic motion planning. The robot considered here The equations of motion for the system are:
is a new variation on this theme. It consists of two
independently-actuated carts moving on a flat surface Ly = U,COS 0; Xo = U2COS Op
(Figure 3). Each cart obeys a nonholonomic constraint Yi = uj,sing; Yo = uesinds
and has non-zero minimum turning radius. In addition, 0; a (u1/L;) tan oy A => (u2/L2) tan o2
time (sec
is in collision, or not. In our experiments, we used a
128 x 128 x 64 bitmap. |
std_|
Endgame region We obtain the endgame region by
generating a secondary tree JT” of milestones rooted
at Sg.
roa14.09 3 126,100 |4473
7.42 | 287,800 | 9123 et
5.3. Experimental Results 0.92 | 0.51 56,400 | 1894 20250
2 3
running time (seconds)
(c)
Figure 7: Trajectories produced by the planner for the air-cushioned robot.
alytically. Trajectories are discretized and at each dis- 6.3 Experimental Results
cretized statextime the robot disc is checked for col-
lision with each obstacle disc. This naive technique We performed numerous experiments in more than one
works reasonably well when the number of obstacles is hundred simulated environments. In each case, plan-
small. It could easily be improved. ning time was limited to five minutes. For a small
number of queries, the planner failed to return a tra-
jectory, but for none of them were we able to show that
Endgame region When a milestone m is added to T,
an admissible trajectory exists. On the other hand, the
it is checked for a connection to k goal points (sg, t,).
planner successfully solved several queries for which we
Each of the k values of t, is picked uniformly at random
initially thought there were no solution.
in the interval [tmin, tmax], Where tmin is an estimate of
the earliest time when the robot may reach s, given Three trajectories computed by the planner are
its maximal velocity and assuming no obstacles. For shown in Figure 7. For every example, we display
each value of t,, the planner computes the third-order five snapshots labeled by time. The large disc is the
spline connecting m to (s,,t,). It then verifies that robot; the smaller discs are the obstacles. The solid
the spline is collision free and satisfies the velocity and and dotted lines mark the trajectories of the robot and
acceleration bounds. If all the tests succeed, then m lies the obstacles, respectively. For each query, we ran the
in the endgame region. In all the experiments below, planner 100 times independently with different random
k is set to 10. seeds. The planner successfully returned a trajectory
Randomized Kinodynamic Motion Planning with Moving Obstacles
259
the system (not just the time needed for planning). It of the robot at all times. A PD-controller with feedfor-
could be further reduced by running the planner on a ward is used to track this trajectory. Maximum track-
machine faster than the Sun Sparc 10 that we are using ing errors are 0.05 m and 0.02 m/s. The size of the
currently. disc modeling the robot is increased by 0.05 m to en-
sure safe collision checking by the planner.
Path optimization Because robot starts executing
the trajectory 0.4 second after planning begins, the
planner exploits any extra time after obtaining a first 7.3. Experimental Results
trajectory to generate additional milestones and keeps
The planner successfully produced complex maneuvers
track of the best trajectory generated. The cost func-
of the robot among static and moving obstacles in var-
tion used to compare trajectories is eer + b)6i,
ious situations, including obstacles moving directly to-
where k is the number of segments in the trajectory, u;
ward the robot, as well as perpendicular to the line
is the magnitude of the force exerted by the thrusters
connecting its initial and goal positions. The tests also
along the ith segment, 6; is the duration of the 7th
demonstrated the ability of the system to wait for an
segment, and b is a constant. This cost combines fuel
opening to occur when confronted with moving obsta-
consumption with execution time. A larger b yields a
cles in the robot’s desired direction of movement and to
faster motion, while a smaller 6 yields less fuel con-
pass through openings that are less than 10 cm larger
sumption. In our experiments, the cost of trajectories
than the robot. In almost every trial, a trajectory was
was reduced, on average, by 14% with this simple im-
computed within the allocated time. Figure 9 shows
provement.
snapshots of the robot during one test.
Sensing errors The obstacle trajectories are assumed
Several constraints limited the complexity of the
to be straight lines at constant velocities. However,
planning problems which we could test. Two are re-
inaccuracy in the measurements by the vision module
lated to the testbed itself: The size of the table relative
and assymmetry in air-bearings cause actual trajecto-
to the robot and the obstacles, and the robot’s small
ries to be slightly different. The planner deals with
acceleration. The other two constraints result from the
these errors by increasing the radius of each moving
design of our system: The requirement that obstacles
obstacle by an amount €Vmaxt, where t denotes time,
move along straight lines and hence do not collide with
Vinax is the measured velocity of the obstacle, and € is
each other, and the relatively high uncertainty on their
a constant.
movements, which forces the planner to grow the obsta-
Safe-mode planning If the planner does not find a cles and thus reduce free space. To eliminate the last
trajectory to the goal within the allocated time, we two constraints, we introduced on-the-fly replanning.
find it useful to compute an escape trajectory. The
endgame region Es. for the escape trajectory consists 7.4 On-the-Fly Replanning
of all the reachable, collision-free states (s.,t.) with
te > Tesc for some Tes-. An escape trajectory corre- Whenever an obstacle leaves the disc in which the plan-
sponds to any acceleration-bounded, collision-free mo- ner believes it lies (because either the error on the pre-
tion in the workspace for a small duration of time. In dicted motion is larger than expected, or the obstacle’s
general, EH... is very large, and so generating an escape direction of motion has changed), the vision module
trajectory often takes little time. To ensure collision- alerts the planner. The planner recomputes a trajec-
free motion beyond T.,., a new escape trajectory must tory on the fly as if it were a normal planning operation
also be computed long before the end of the current within the same time limit, by projecting the state of
escape trajectory so that the robot can escape collision the world 0.4 second into the future. On-the-fly replan-
despite the acceleration constraints. We modified the ning makes it possible to perform much more complex
planner to compute concurrently both a normal and an experiments in the testbed. We show two examples
escape trajectory. In our experiments, the modification below.
slowed down the planner by about 2%.
In the example in Figure 10, eight replanning oper-
Trajectory tracking The trajectory received by the ations are performed over the 75 seconds taken by the
robot specifies the position, velocity, and acceleration robot’s motion. Initially, the robot moves to the left
Randomized Kinodynamic Motion Planning with Movin
g Obstacles 261
15 e AD:
1 1
g 05 @ os e@
Eo 2 0
#05 e 405
1} @ =|
-1.5 -1.5f,
= 0 1 -1 0 1 -1 0 1
x, [meters] x, [meters] x, [meters]
ou
[meters]
X, 1
oS a
5
—1.5
0 1 0 1 10} 1
x, [meters] x, (meters] x, [meters]
measurement of the obstacle trajectories (We set € such The experiments in the hardware robot testbed demon-
that sensing errors caused replanning to occur, on av- strate that the planner remains effective despite vari-
erage, every 5 seconds). However, none resulted in a ous delays and uncertainties inherent to an integrated
major redirection of the robot. system interacting with the physical world. They also
show that the planner can be used in real-time when
8 Conclusion obstacle trajectories are not known in advance.
We have presented a simple, efficient randomized plan- In the future, we plan to apply the planner to en-
ner for kinodynamic motion planning problems in the vironments with more complex geometry. Geometrical
presence of moving obstacles. Under the expansiveness complexity essentially increases the cost of collision-
assumption, we have formally proven that the plan- checking, but hierarchical techniques deal with this is-
ner is probabilistically complete and converges quickly sue well. In [11], a similar, but simpler planner was
when a solution exists. This proof also applies to ro- successfully applied to compute geometric disassembly
bots that are not locally controllable. The planner paths with CAD models having up to 200,000 trian-
was tested successfully with simulated and real robots. gles. Another issue that we would like to investigate is
Randomized Kinodynamic Motion Planning with Moving
Obstacles 263
the reduction of the standard deviation of the planning
time. We suspect that the long thin tail shown in Fig-
[10] K. Fujimura. Time-minimum routes in time-
dependent networks. IEEE Tr. on Robotics and Au-
ure 5 is typical of all PRM planners developed so far. tom., 11(3):343-351, 1995.
But it seems more critical to reduce it for single-query
planners, since such planners are more likely to be used
[11] D. Hsu, J. C. Latombe, and R. Motwani.
Path planning in expansive configuration spaces.
interactively or in real-time than multi-query ones. Int. J. Comp. Geometry and Applications, 9(4-5):495—
512, 1999.
[12] P. Jacobs and J. Canny. Planning smooth paths for
Acknowledgments mobile robots. In Proc. IEEE Int. Conf. on Robotics
and Autom., p. 2-7, 1989.
This work was supported by ARO MURI grant [13] M.H. Kalos and P.A. Whitlock. Monte Carlo Methods,
DAAH04-96-1-007, NASA TRIWG Coop-Agreement Vol. 1, John Wiley & Son, 1986.
NCC2-333, Real-Time Innovations, and the NIST ATP [14] K. Kant and 8S. W. Zucker. Toward efficient trajectory
program. David Hsu has also been the recipient of a planning: The path-velocity decomposition. Int. J. of
Microsoft Graduate Fellowship, and Robert Kindel, the Robotics Research, 5(3):72-89, 1986.
recipient of an NSF Graduate Fellowship. [15] L.E. Kavraki, M. Kolountzakis, and J. C. Latombe.
Analysis of probabilistic roadmaps for path planning.
IEEE Tr. Robotics and Autom., 14(1):166-171, 1998.
References
[16] L.E. Kavraki and J. C. Latombe. Randomized pre-
processing of configuration space for fast path plan-
[1] P. K. Agarwal. Range searching. In Handbook of dis-
ning. Proc. IEEE Int. Conf. on Robotics and Autom.,
crete and computational geometry, J.E. Goodman and
p. 2138-2145, 1994.
J. O’Rourke (eds.), CRC Press, Chap. 31, p. 575-598,
1997.
[17] L.E. Kavraki, J. C. Latombe, R. Motwani, and
[2] N. M. Amato, O. B. Bayazit, L. K. Dale, C. Jones, and P. Raghavan. Randomized query processing in robot
D. Vallejo. OBPRM: An obstacle-based PRM for 3D motion planning. J. Computer and System Sciences,
workspaces. In Robotics: The Algorithmic Perspective, 57(1):50-60, 1998.
P.K. Agarwal, L.E. Kavraki, and M.T Mason (eds.),
A K Peters, p. 155-168, 1998. [18] L.E. Kavraki, P. Svestka, J. C. Latombe, and M. Over-
mars. Probabilistic roadmaps for path planning in
[3(atest
J. Barraquand and J. C. Latombe. Robot motion plan- high-dimensional configuration spaces. [EEE Tr. Ro-
ning: a distributed representation approach. Int. J. of botics and Autom., 12(4):566—580, 1996.
Robotics Research, MIT Press, 10(6):628-649, 1991.
[19] J.P. Laumond. Feasible trajectories for mobile ro-
[4] J. Barraquand and J. C. Latombe. Nonholonomic bots with kinematic and environmental constraints.
multibody mobile robots: controllability and motion Proc. Int. Conf. on Intelligent Autonomous Systems,
planning in the presence of obstacles. Algorithmica, p. 346-354, 1986.
10(2-4):121-155, 1993. [20] J.P. Laumond, P.E. Jacobs, M. Taix., and R.M. Mur-
[5] J. E. Bobrow, S. Dubowsky, and J. Gibson. Time- ray. A motion planner for nonholonomic mobile ro-
optimal control of robotic manipulators along specified bots. [EEE Tr. on Robotics and Autom., 10(5):577—
paths. Int. J. of Robotics Research, 4(3):3-17, 1985. 593, 1994.
[6] J.P. Desai and V. Kumar. Motion planning for coop- [21] S. LaValle and J. Kuffner. Randomized kinodynamic
erating mobile manipulators. J. of Robotic Systems, planning. Proc. IEEE Int. Conf. on Robotics and Au-
16(10):557—-579, 1999. tom., p. 473-479, 1999.
[7—a B. Donald, P. Xavier, J. Canny, and J. Reif. Kinody- [22] Z. Li, J. F. Canny, and G. Heinzinger. Robot motion
namic motion planning. J. of the ACM, 40(5):1048- planning with nonholonomic constraints. In Robotics
1066, 1993. Research: The 5th Int. Symp., H. Miura et al. (eds.),
MIT Press, p. 309-316, 1989.
[8] P. Fiorini and Z. Shiller. Time optimal trajec-
tory planning in dynamic environments. Proc. IEEE [23] K. M. Lynch and M. T. Mason. Stable pushing: me-
on Robotics and Autom., p. 1553-1558, chanics, controllability, and planning. Int. J. of Ro-
Int. Conf.
1996. botics Research, 15(6):533-556, 1996.
[9] T. Fraichard. Trajectory planning in a dynamic [24] J.A. Reeds and L.A. Shepp. Optimal paths for a car
Advanced that goes forwards and backwards. Pacific J. of Math-
workspace: a ‘state-time space’ approach.
Robotics, 13(1):75-94, 1999. ematics, 145(2):367-393, 1990.
264 D. Hsu, R. Kindel, J.C. Latombe, and 8. Rock
[25] J. Reif and M. Sharir. Motion planning in the presence presence of obstacles. [IEEE Tr. on Robotics and Au-
of moving obstacles. Proc. IEEE Symp. on Founda- tom., 7(6):785-797, 1991.
tions of Computer Science, p. 144-154, 1985.
[28] P. Svestka and M. H. Overmars. Motion planning for
[26] S. Sekhavat, P. Svestka, J.-P. Laumond, and M. Over- car-like robots using a probabilistic learning approach.
mars. Multi-level path planning for nonholonomic ro- Tech. Rep. RUU-CS-94-33, Dept. of Computer Sci-
bots using semi-holonomic subsystems. Algorithms for ence, Utrecht Univ., The Netherlands, 1994.
Robotic Motion and Manipulation, J.P. Laumond and
M. Overmars (eds.), A.K. Peters, p. 79-96, 1997. [29] P. Svestka and M. Overmars. Probabilistic path plan-
ning: robot motion planning and control. Lec-
[27] Z. Shiller and S$. Dubowsky. On computing the global ture Notes in Control and Information Sciences, 229,
time-optimal motions of robotic manipulators in the Springer, p. 255-304, 1998.
On Random Sampling in Contact Configuration Space
Xuerong Ji, University of North Carolina, Charlotte, NC
Jing Xiao, University of North Carolina, Charlotte, NC
Random sampling strategies play critical roles in ran- indicated by a contact formation (CF) [17] and a rep-
domized motion planners, which are promising and resentative configuration of the CF. Each edge denotes
practical for motion planning problems with many de- the neighboring relationship between the two nodes
grees of freedom (dof). In this paper, we address ran- connected by the edge. With this approach, the prob-
dom sampling in a constrained configuration space — the lem of contact motion planning is effectively simpli-
contact configuration space between two polyhedra, mo- fied as graph search at high-level for state transitions
tivated by the need for generating contact motion plans. and motion planning at low-level within the set of con-
Given a contact formation (CF) between two polyhe- tact configurations constrained by the same contact
dra A and B, our approach is to randomly generate state!. However, even for such reduced-dimension and
configurations of A satisfying the contact constraints reduced-scope motion planning, the dimensionality or
of the CF. Key to the approach is to guarantee that dof can still be quite high for less-constrained contact
sampling happens only in the constrained space to be states, such as those consisting of only a single prin-
efficient, which has not been addressed in the litera- cipal contact (PC) [17] (see Figure 1 for PCs between
ture. We first describe our random sampling strategy two polyhedra). Thus, randomized motion planning is
for configurations constrained by CFs consisting of one desirable for planning contact motions, which requires
or two principal contacts (PCs) and then present im- random sampling of contact configurations.
plementation results. There are promising randomized planners for
collision-free motions, such as those based on proba-
1 Introduction bilistic roadmaps (PRM) [12, 15]. In the PRM model
random sampling consists of generating arbitrary con-
Contact motions are important in automatic assem- figurations of the considered object/robot. The sam-
bly processes, not only because they happen frequently pled configurations may or may not be collision-free.
when clearance between objects is tight, but also be- To make sampling more efficient, several researchers
cause they reduce degrees of freedom (dof), thus re- introduced different methods targeting at producing
duce uncertainties [14, 16]. Contact motion occurs more samples in certain critical areas that tend to
on the boundary of configuration space obstacles (C- be close to C-obstacles and sparse samples in other
obstacles) [13], but computing C-obstacles remains a areas[1, 3, 8]. However, sampling ezactly on the C-
formidable task to date. While there were exact de- obstacle surface, or in the contact configuration space,
has not been addressed in the literature.
scriptions of C-obstacles for polygons [2, 4], there were
only approximations for polyhedra [5, 11]. Contact In this paper, we extends the random sampling strat-
motions, however, require exactness of contact config- egy for a single PC reported in [10] to contact forma-
urations. Hence, some researchers started exploring tions (CFs) of two PCs. Our approach takes advantage
methodologies on contact motion planning without ex- of our work on automatic generation of contact state
plicitly computing C-obstacles (see, for example, [7]). graphs by building sampling on the knowledge of a con-
tact formation and a representative contact configura-
Recently the authors introduced a general divide-
and-merge approach for automatically generating a 1Note that a general contact motion crossing several con-
contact state graph between arbitrary polyhedra (9, tact states consists of segments of motion in each contact
20]. Each node in the graph denotes a contact state, state.
266 X. Ji and J. Xiao
DE? BRP
tion under the contact formation (obtainable from such
agraph). Particularly, given a CF and a seed configura-
tion satisfying the CF, the goal is to randomly sample
configurations satisfying the CF. f-e/e-f f-v/v-f
<p 2p Za
The paper is outlined as follows. in Section 2, we
review the notion of CFs and analyze the dof for each
kind of single-PC or two-PC CF between two arbitrary
polyhedra. In Section 3, we present the random sam- Ng Boa e-v/v-e
pling algorithms. In Section 4, we provide some ex- Neeser
perimental results of the sampling strategy. Section 5
concludes the paper. Figure 1: Principal Contacts (PCs)
°. Br,
ff
ae Bs:Tye leaps a Y; 0) <l pote(™) ‘Trotz
(a) ATs
e -€. 2The notion “e-f/f-e” means either e-f or f-e. The same
Bia =P T.B a Es (y) VP eee (a) Dinas (gz;Y; 0) ie fA explanation applies to all “/” used in the paper.
268 X. Ji and J. Xiao
Se
(d), CLi,CL2z | CL and CL; and CL are coplanar (3
dof), (e) and (f), CLIi,CL2 1 CL and CL; and CLz are
not coplanar (3 dof). The instantaneous rotational axes ri
(and r2) are shown. For clarity, only the elements of the (a) (b)
objects in contact are shown. The planes Por, and Por,
Figure 6: Two configurations of the same {e-f, e-f} CF:
are shown in dotted lines.
(a) valid with no local penetration, (b) invalid with local
penetration
planning of contact motions within the same contact
formation at the low level, which we call CF-compliant
motion planning. Our random sampling strategy aims local penetration between an adjacent face of the edge
at CF-compliant motion planning and takes advantage and the face of B in the bottom PC.
of the known information provided by the divide-and- We use two general methods to randomly generate a
merge approach: A CF and a (seed) contact configu- valid configuration:
ration satisfying the CF.
e Direct Calculation: this method first calculates
the valid range for the values of each independent
For each CF, our strategy generates contact config-
variable® and then randomly selects a value within
urations which satisfy the CF and are guaranteed no
the range for the variable. In this way, all sam-
local penetration, that is, no penetration between the
pled configurations are valid ones. For single-PC
two objects through elements ua and up of each PC or
CFs and some two-PC CFs (see Section 3.1 and 3.2
through an element directly connected to ua (or up) for details), it is a good method for sampling since
and up (or ua). We call such configurations valid con-
tact configurations for the CF. Figure 6 shows two con- 3 valid range refers to the range of values for a variable
figurations with the same {e-f, e-f} CF, where (a) is a which satisfy the contact constraints of the CF and do not
valid configuration, and (b) is invalid because it has a cause local penetration between the two objects.
270 X. Ji and J. Xiao
if 26 Ces
ee
ee
CP, ||CP»
a
[eee Ae ERY oA Cscme] fsreve
3
cy
1 point, 1 line PCs
sonia alas
AE
2 point PCs
SqaEO00Ec
leEels
cele
Table 1: Two-PC CFs, their rotational dof, and corresponding rotational azes
Now we explain the sampling strategies regarding as the independent variable for the combined motion.
rotational variables about X, Y, and Z respectively in It first randomly samples d with a value satisfying PC,
more detail. by Direct Calculation (in a procedure similar to but
simpler than trans_2PC(), since only one PC needs to
Rotation About X, i.e., /] =1: be satisfied). Next it checks whether PC>2 can also be
We use the Hybrid Method introduced earlier. satisfied by a guarded rotation about Y, with the an-
The function rotate_ldof(1,C,PC 1, PC2) first calcu- gle calculated, which depends on the value of d. If so,
lates the angle range about X which satisfies PC2 by the function returns a valid configuration C; otherwise,
calling find_angle_range() (see Section 3.1). It then again, either resampling or convergent iteration on
samples an angle @ inside the range, and next rotates the value d (i.e., d ~ kd, where 0 < k < 1, repeatedly
A about X by @ to get a new configuration C. If C also until d results in a valid configuration) can be used.
satisfies PC}, i.e., forms a valid configuration, it is re- Figure 10 shows how a rotation about Y is sampled
turned; otherwise, either resampling or convergent for a CF with two line PCs of parallel contact lines
iteration can be used (as introduced before Section (and non-parallel contact planes).
3.1). Here convergent iteration is to modify @ by ké,
Figure 11 shows the sampling for a CF with two line
ie., 0 + kO, where 0 < k < 1, repeatedly until @ re-
PCs of non-parallel contact lines and contact planes.
sults in a valid configuration, i.e., a convergence to the
Besides the similar steps as those for the case with
valid value range is achieved.
parallel contact lines as shown in Figure 10, here an
extra step is needed as shown in Figure 11(d) to rotate
Rotation About Y, i.e., | = 2:
about X axis, which is a guarded rotation trying to
Sampling again uses the Hybrid Method. As men- satisfy PC.
tioned earlier, the motion here is a combined transla-
tion and rotation with one independent variable. Al- Rotation About Z, i.e., [E="3:
though the instantaneous rotational axis for the vari- Unlike the two previous cases about X and
able can be found (see Figure 4), it is generally difficult Y, here the rotational variable about Z is sam-
to be used for sampling because the axis is not fixed pled using Direct Calculation. The function
and it is hard to analytically describe the axis’s motion. rotate_ldof(3,C,PC1,PC2) first calculates the ro-
Therefore, we use another strategy to sample this vari- tational angle ranges (011,612) and (021,422) about
able, which is given below. Z for PC, and PCy, respectively by calling
In all cases where this motion is possible (Figure 9 find_angle_range() (see Section 3.1), and then finds
gives some examples), C'P; and C’P2 are not par- the intersection of the ranges as the valid range of the
allel, and they intersect at line CL. The function rotational variable. Finally, an angle @ is sampled ran-
rotate_ldof(2,C,PC,PC2) uses a translational vari- domly inside the range, and A is rotated about Z by 0
able d along an axis U on CP, and perpendicular to CL to generate a valid configuration.
274 X. Ji and J. Xiao
The results summarized in Table 2, show clearly the third variable is the fastest because of Direct Cal-
that it takes much shorter time to generate samples culation.
for single-PC CFs. This is because, though usually
single-PC CFs have higher dof, sampling is done by 5 Conclusion
Direct Calculation. For two-PC CFs of the same
objects, usually the higher dof the CF has, the more This paper addresses random sampling of configura-
time is needed to sample the same number of configura- tions constrained by contact, which is not only nec-
tions, although the time also depends on the geometry essary for planning contact motions with certain ran-
of the objects. For the same CF, the running time of domized planners but also useful for planning collision-
the algorithm is nearly proportional to the number of free motions since the sampled contact configurations
samples generated. probabilistically characterize the C-obstacles. An ef-
In the last three rows of Table 2, we show the run- ficient random sampling strategy is implemented for
ning times of the examples using convergent itera- sampling configurations constrained by single-PC or
tion and resampling respectively. It seems that con- two-PC CFs, which satisfy contact constraints of the
vergent iteration runs faster in most cases. Our ex- CF without causing local penetration. The strategy
periments show that for convergent iteration with is characterized by directly computing valid samples
k = 0.5, after at most 13 iterations, a valid configu- wherever possible to maximize efficiency. In the next
ration can be obtained for all the four examples. For step, we intend to apply such a strategy to randomized
resampling, on the other hand, after at most 73 re- contact motion planning.
sampling iterations, a valid configuration can be ob-
tained. Acknowledgments
Our experiments also show that among the three ro-
tational variables, the sampling of the second one about This work has been supported by the National Sci-
Y with dependent translation is the most expensive, ence Foundation under grants IIS-9700412 and CDC-
followed by that of the first variable, and sampling for 9726424. The authors appreciate early inspiration from
276 X. Ji and J. Xiao
Table 2: Examples in Figure 12 and Figure 13 and their running times for 1000 samples.
In the last three rows, the two
numbers given for each case under times(s) correspond to the running times using convergent iteration
and resampling
respectively.
discussions with Jean-Paul Laumond, Jean-Claude [10] X. Ji and J. Xiao, “Towards Random Sampling with
latombe, David Hsu. The authors are also grateful to Contact Constraints”, to appear in JCRA’2000.
comments by Matt Mason and Mark Yim.
[11] L. Joskowicz, R. H. Taylor, “Interference-Free Inser-
tion of a Solid Body Into a Cavity: An Algorithm and a
References Medical Application”, Int. J. Robotics Res., 15(3):211-
229, June 1996.
[i] N. Amato, O. Bayazit, L. Dale, C. Jones, D.
Vallejo, “OBPRM: An Obstacle-Based PRM for 3D [12] L.E. Kavraki, P. Svestka, J.C. Latombe, and M. Over-
Workspaces”, Workshop Algor. Found. of Robotics, mars, “Probabilistic Roadmaps for Path Planning in
pp. 155-168, Mar. 1998. High-Dimensional Configuration Spaces”, IEEE Trans.
Robotics & Automation, 12(4):566-580, 1996.
[2] F. Avnaim, J. D. Boissonnat, and B. Faverjon, “A prac-
tical exact motion planning algorithm for polygonal ob- [13] T. Lozano-Pérez, “Spatial Planning: A Configuration
jects amidst polygonal obstacles”, IEEE Int. Conf. Ro- Space Approach”, IEEE Trans. Comput., C-32(2):108-
botics & Automation, pp. 1656-1661, Apr. 1988. 120, 1983.
[3] V. Boor, M. H. Overmars, and A. F. Stappen, “The [14] M. T. Mason, “Compliant Motion”, Robot Motion:
Gaussian Sampling Strategy for Probabilistic Roadmap Planning and Control, MIT Press, 1982.
Planners”, JEEE Int. Conf. Robotics & Automation,
May 1999. [15] C. Nissoux, T. Simeon, and J. P. Laumond, “Visibility
based probabilistic roadmaps”, IEEE Int. Conf. Intell.
[4] R. Brost, “Computing Metric and Topological Proper- Robots and Systems, 1999.
ties of C-space Obstacles”, [EEE Int. Conf. Robotics &
Automation, pp. 170-176, May 1989. [16] D. E. Whitney, “Historical Perspective and State of the
Art in Robot Force Control”, [EEE Int. Conf. Robotics
[5] B. Donald, “A Search Algorithm for Motion Planning & Automation, pp. 262-268, 1985.
with Six Degrees of Freedom”, Artificial Intelligence,
pp. 295-353, 31(3), 1987. [17] J. Xiao, “Automatic Determination of Topological
Contacts in the Presence of Sensing Uncertainties,”
[6] A. Farahat, P. Stiller, and J. Trinkle, “On the Algebraic IEEE Int. Conf. Robotics & Automation, pp. 65-70,
Geometry of Contact Formation Cells for Systems of May 1993.
Polygons”, IEEE Trans. Robotics & Automation, 11(4),
pp. 522-536, Aug. 1995. [18] J. Xiao and L. Zhang, “Computing Rotation Distance
between Contacting Polytopes,” IEEE Int. Conf. Ro-
[7] H. Hirukawa, “On Motion Planning of Polyhedra in botics & Automation, pp. 791-797, Apr. 1996.
Contact”, Workshop Algor. Found. of Robotics, 1996.
[19] J. Xiao and L. Zhang, “Contact Constraint Analy-
[8] D. Hsu, L. Kavraki, J.C. Latombe, R. Motwani, and
sis and Determination of Geometrically Valid Contact
S. Sorkin, “On Finding Narrow Passages with Proba-
Formations from Possible Contact Primitives”, [EEE
bilistic Roadmap Planners”, Workshop Algor. Found.
Trans. Robotics and Automation, 456-466, Jun. 1997.
of Robotics, pp. 141-153, Mar. 1998.
[20] J. Xiao and X. Ji, “A Divide-and-Merge Approach to
[9] X. Jiand J. Xiao, “Automatic Generation of High-Level
Automatic Generation of Contact States and Planning
Contact State Space,” IEEE Int. Conf. Robotics & Au-
tomation, pp. 238-244, May 1999. of Contact Motion”, to appear in ICRA’2000.
y+‘acttielglh
~ aeutiel) Soule
Binet Ae lat
aay
fa - ~ her eee
> '- Ot ap
/
eo
en eee’ oY
ie is |
e
. ST Eo
a
hea ‘ : nbs Pateviape: 9 Yo “eres? Eph Lee erry Mil Miz :
od AMIEL
AL ogee is shi ee A a hie corr ' a ~~. is iT cam
Kid
Raletd” Ioutn Beutler Ny ett
Che? ejay ‘en p
Fave toahghi}Yo cetiareggl ip
ar eee ame Mt ' wh We
OOO BAA th x ede ar eon Faw
doh Low 3 icv WAR ‘oe
OU! veh
Randomized Path Planning for a Rigid Body
Based on Hardware Accelerated Voronoi Sampling
Charles Pisula, University of North Carolina, Chapel Hill, NC
Kenneth Hoff III, University of North Carolina, Chapel Hill, NC
Ming C. Lin, University of North Carolina, Chapel Hill, NC
Dinesh Manocha, University of North Carolina, Chapel Hill, NC
Probabilistic roadmap methods have recently received of digital actors or autonomous agents [16], maintain-
considerable attention as a practical approach for mo- ability studies [4], drug design [7] and robot-assisted
tion planning in complex environments. These algo- medical surgery [22, 24].
rithms sample a number of configurations in the free
This problem has been extensively studied over the
space and build a roadmap. Their performance varies
last three decades. A number of analytical methods
as a function of the sampling strategies and relative
and approximate techniques have been proposed. How-
configurations of the obstacles. To improve the perfor-
ever, due to the computational complexity of complete
mance of the planner through narrow passages in con-
motion planning algorithms, most practical algorithms
figuration space, some researchers have proposed algo-
are based on randomized motion planning algorithms,
rithms for sampling along or near the medial azis of the
such as randomized potential field methods (RPP) or
free space. However, their usage has been limited be-
probablistic roadmap methods (PRMs).
cause of the practical complexity of computing the me-
dial axis or the cost of computing such samples. The simplest PRM algorithms generate a set of con-
figuration in the free space. The planning algorithm
In this paper, we present efficient algorithms for
involves three main steps [26, 14, 15, 21]:
sampling near the medial axis and building roadmap
graphs for a free-flying rigid body. We use a re-
1. Generate a list of samples in the configuration
cent algorithm for fast computation of discrete general-
space. The simplest algorithms use uniform sam-
ized Voronoi diagrams accelerated by graphics hardware
pling techniques.
[10]. We initially compute a bounded error discretized
Voronoi diagram of the obstacles in the workspace and 2. Use collision detection or distance computation al-
use it to generate samples in the free space. We use gorithms to select the samples lying in the free
multi-level connection strategies and local planning al-
space.
gorithms to generate roadmap graphs. We also utilize
the distance information provided by our Voronoi al- 3. Try connecting the samples in the free space by lo-
gorithm for fast proximity queries and sampling the cal planning methods and build a roadmap graph.
configurations. The resulting planner has been applied
to a number of free flying rigid bodies in 2D (with The roadmap graph is used to generate a path between
3-dof) and 3D (with 6-dof) and compared with the
the start and goal configurations. However, the effi-
performance of earlier planners using a uniform sam-
ciency of these planners can degrade in configurations
pling of the configuration space. Its performance varies
containing narrow passages or cluttered environments.
with different environments and we obtain 25% to over
In such cases, a significant fraction of randomly
1000% speed-up. generated configurations are not in the free space.
Moreover, it is hard to generate a sufficient number
1 Introduction of samples in the narrow passages or connect all the
nodes in the free space using local planning methods.
Motion planning is one of the important, classical prob- Many approaches have been proposed in the literature
lems in algorithmic robotics [18]. Besides robotics, it to overcome these problems. These include:
has applications in many areas, including animation
280 C. Pisula, K. Hoff III, M. C. Lin, and D. Manocha
Dilating the Free Space[13]: The main idea is to 1.1 Our Results
dilate the free space by allowing the rigid body to
In this paper, we present improved algorithms for sam-
penetrate the obstacles by a small amount. The areas
near these nodes are resampled to find collision free pling based on medial axis and use them for effi-
ciently constructing the Voronoi roadmap. We make
configurations. However, dilation can alter the topol-
use of bounded error discretized Voronoi diagrams,
ogy of the free space. Furthermore, no good practical
computed using graphics rasterization hardware [10].
(in terms of efficiency and robustness) algorithms are
More specifically, we render distance functions for each
known for penetration depth computation between
primitive of the obstacle and use the frame buffer out-
polyhedral models. Some of the public domain im-
put to identify the Voronoi boundaries upto a given
plementations like I-COLLIDE and V-Clip for convex
resolution. Furthermore, the depth buffer provides
polytopes, based on Lin-Canny distance computation
the distance information which is used to speed up
algorithm, provide only an approximation to the
the proximity queries and sampling the configuration
penetration depth.
space. This computational framework enables insight-
ful analysis of the workspace to identify different types
Sampling near the Obstacle Boundaries [1]: It of narrow passages and efficient generation of sampling
samples the nodes from the contact space, the points with guaranteed distribution on the medial axis.
configurations where the robot just touches one of We use multi-stage connection strategies along with lo-
the obstacles. It works well in many cases, but its cal planning algorithms to build the roadmap graphs.
performance is difficult to analyze. The resulting PRM has been applied to a number of
complex environments composed of 3-dof (in 2D) and
6-dof rigid bodies (in 3D). As compared to uniform
Information about the Environment [12, 21]:
sampling of the configuration space, it can considerably
These algorithms make use of information known
improve the performance of the planner. Our initial ex-
about the environment. These include executing
periments demonstrate 25% to over 1000% speed-up in
random reflections at the C-obstacle surfaces [12]
running times. Since the cost of generating the samples
and adding “geometric” nodes for non-articulated
is relatively small, the planner never underperforms as
robots near the boundaries of the obstacles in the
compared to uniform sampling.
workspace [21].
Some of the main advantages of our approach in-
clude:
Sampling Based on the Medial Axis [27, 26, 9]:
The main idea is to generate nodes that lie on the me-
e Efficiency: The resulting algorithms for gen-
dial axis of the workspace or the free space. Intuitively
erating the bounded error approximation of the
speaking, the medial axis corresponds to a set of points
Voronoi diagram and samples on the medial axis
that are furthest from the obstacle boundaries and have
run relatively fast. For environments composed of
maximum clearance. It has been used for a number of
thousands of polygons, we can generate Voronoi
motion planning algorithms [20, 3, 18, 6, 5]. However,
diagrams at 128 x 128 x 128 resolution at in a few
its practical use has been limited because of the diffi-
seconds or minutes (depending on the size of the
culties in accurately computing the medial axis or gen-
environment) on a SGI workstation. Furthermore,
eralized Voronoi diagrams. Wilmart et al. [27, 26] gen-
the distance buffer helps us speed up the collision
erate random configurations and retract them onto the
queries by a factor of two. Based on our sampling
medial axis without explicitly computing the medial
strategies, a high fraction of the nodes generated
axis. They use a search algorithm based on distance
are in the free space.
to the obstacles for the retraction. They have applied
the resulting algorithm to a few configurations with e Simplicity: The resulting algorithm is relatively
narrow passages and obtained considerable speedups simple to implement and doesn’t suffer from ro-
over uniform sampling. Guibas et al. [9] use point ap- bustness or degeneracies. The basic PRM planner
proximations on the boundary, compute their Voronoi is a rather simple approach and our sampling al-
diagrams to approximate the medial axis and use it for gorithm doesn’t introduce any complications.
motion planning of flexible objects.
Randomized Path Planning for a Rigid Body Based on Hardware Accelerated
Voronoi Sampling 281
e Identification and Characterization of Nar- and orientations. We use (zx, y, z) coordinates to repre-
row Passages: The distance buffer information sent the position and a unit quaternion to represent the
gives us information about narrow passages in the orientation. The (x,y,z) coordinates will be referred
workspace. Using a combination of distance met- to as the translation component of a configuration and
ric for dimension analysis and retraction methods, the quaternion is the rotation component of a config-
it can also be used to identify narrow passages in uration. Furthermore, C can be partitioned into free
many cases. space, F’ and blocked space, B. The blocked space cor-
responds to configurations, where the robot R collides
e Global connectivity information based on
with at least one of the obstacle. The rest of the con-
Voronoi Roadmaps: The connectivity infor-
figuration space corresponds to the free space. In other
mation provided by the discretized generalized
words, F = C’\B. Furthermore, we denote the bound-
Voronoi diagram is used in constructing the
ary of the free space as OF and JO represents the union
roadmap and accelerating performance of the local
of boundaries of all the obstacles.
planner.
2.2 Medial Axis and Voronoi Diagrams
The rest of the paper is organized as follows: In
Section 2, we highlight our notation, provide a brief The medial axis of a solid object provides shape analy-
overview of the medial axis and the fast approximate sis in terms of its boundary elements. It is a skeletal
to compute a discretized approximation using graphics representation that can be formulated as the locus of
hardware. We describe the planner in Section 3 and the center of a maximal sphere as it rolls around the
present the multi-stage connection strategies to build object interior. It is closely related to the Voronoi dia-
the roadmap. Section 4 presents our sampling strate- gram of a solid and for a suitably defined boundary, it
gies based on medial axis of the workspace. can be computed from the Voronoi diagram and vice
versa. The concept of medial axis was first proposed
Section 5 discusses various implementation issues, in- by Blum [2] for biological shape measurement and since
cluding collision culling, computations of Voronoi ver- been used for mesh generation, feature recognition and
tices and graphs, and other data structures. We also molding simulation. Medial axis and Voronoi diagrams
highlight the performance of our planner on different have been long used for robot motion planning [20,
benchmarks. Finally we compare it with related ap- 3, 18, 6]. The medial axis of the free space F, de-
proaches in Section 6. noted by MA(F’) has lower dimension than F' but is
still a complete representation for planning the mo-
2 Background tion. Strictly speaking, MA(F’) is a strong deforma-
tion retract of F, implying that F can be continuously
In this section, we highlight our notation and provide a deformed into MA(F’) and maintain its topology struc-
quick overview of medial axis and fast computation of ture [20, 3, 6, 27].
discretized Voronoi diagrams using graphics hardware. Algorithms to compute Voronoi diagrams and me-
dial axis have been extensively studied in computa-
2.1 Notation and Representation tional geometry and solid modeling. Good theoretical
and practical algorithms are known for point primi-
In this paper, we restrict ourselves to dealing with non-
articulated rigid bodies in 2D or 3D. We use the sym- tives. However, the boundaries of the Voronoi regions
bol W to represent the workspace. We will denote for higher order primitives (e.g., lines, triangles) cor-
the robot as R and the set of obstacles as O. We respond to high-degree algebraic curves and surfaces.
assume that the robot and each obstacle is a closed No good practical algorithms are known for comput-
ing them efficiently and robustly. As a result, their
and bounded set. Our current implementation assumes
applications have been limited.
that each obstacle is represented as a collection of tri-
angles. It is relatively simple to extend them to other Given the practical complexity of computing Voronoi
primitives (e.g., spline models) based on our current diagrams, many researchers have proposed approxi-
Some common approximations in-
algorithmic framework. The configuration space (de- mate approaches.
noted by C) of R is given by the set of all positions clude generating point approximations of the bound-
282 C. Pisula, K. Hoff III, M. C. Lin, and D. Manocha
aries and computing their Voronoi diagrams [23]. How- 3 Path Planning Based on Discretized
ever, it is hard to give any guarantees on the accuracy Voronoi Diagrams
of the resulting Voronoi diagram. Other approaches
use spatial subdivision techniques [25, 19]. While these In this section, we describe our path planning algo-
algorithms can be used to generate bounded error ap- rithm. Initially we present algorithms for computing
proximations of Voronoi diagrams, they can be rather the discretized Voronoi diagrams, followed by use of
slow for large environments. boundary finding algorithms that extract the Voronoi
graph. We use a multi-stage strategy to build the
roadmap. It generates configurations in the free space
2.3. Bounded Error Approximation of Voronoi and connect them using local planning algorithms. The
Diagrams Using Graphics Hardware first stage selects nodes using the medial axis of the
workspace and connects them using simple local plan-
We compute a bounded error approximation of the ning algorithms. Next it attempts to connect different
Voronoi diagram of the obstacles in the workspace, W. components. Finally, it tries to estimate narrow pas-
If any of the obstacles is a closed and bounded solid, sages based on local characteristics of the Voronoi di-
we do not compute the Voronoi diagram inside that agram and generates more samples in those regions.
solid. Each boundary triangle, edge, and vertex of an More details on improved sampling algorithms are
obstacle is treated as a separate site. We compute a given in Section 4.
discrete generalized Voronoi diagram by rendering a
three-dimensional distance mesh for each site. The 3D
3.1 Discretized Voronoi Diagram of the
polygonal distance mesh is a bounded-error approxi-
Workspace
mation of a possibly non-linear distance function over
a plane. Each site is assigned a unique color, and the
Given a bound on the discretization error, the algo-
corresponding distance mesh is rendered in that color
rithm computes the Voronoi diagram of the obstacles
using parallel projection. The graphics system per-
O slice-by-slice (along the z-axis). It renders the dis-
forms a depth test for each pixel in order to resolve the
tance function for each vertex, edge and triangular
visibility of surfaces. The depth buffer keeps a running
face of each obstacle. Each slice is generated using
minimum depth as polygons are rendered. When the
the graphics rasterization hardware. We read back the
minimum depth is updated, the frame buffer is also
color buffer and the depth-buffer for each slice. The
updated with the pixel’s color. Thus, the rasterization
color buffer gives the index of the nearest obstacle to
provides, for each pixel, the identity of the nearest site
each sample point in the slice. The distance buffer
(encoded as a color) and the distance to that site. The
gives the distance to that obstacle. It generates a 3D
error in the mesh is bounded to be smaller than the
voxel grid that corresponds to a uniform sampling of
distance between two pixels, in order to maintain an
the space containing the geometric primitives. This 3D
accurate Voronoi diagram. More details are given in
image gives a volumetric representation of the general-
[10]. This algorithm runs very fast in practice.
ized Voronoi diagram of the primitives. The resolution
of the Voronoi graph can have significant impact on
2.3.1 Motion Planning Using Discretized Voronoi the performance of the planner (as highlighted in Sec-
Diagrams tion 5). In our current implementation, we take uni-
form samples along the z-axis. In theory, it is possible
Many motion planning algorithms have been pro- to vary the step size adaptively using bisection. For
posed based on discretized Voronoi diagrams [25, 10, PRM, we are only interested in computing an accurate
11]. Based on the color and distance buffer informa- approximation of the Voronoi boundaries.
tion, [10, 11] define a potential field and use it to nay-
igate the robot. Since the distance buffer information 3.2 Extracting the Voronoi Graph
is computed at interactive rates, this planner has also
been applied to dynamic 2D environments (3-dof ro- The Voronoi diagram is in the form of two 3D images:
bots). a color image corresponding to the IDs of the closest
Randomized Path Planning for a Rigid Body Based on Hardware Accelerated
Voronoi Sampling 283
site to each sample point and a depth image giving the ples in the contact space. Our roadmap construction
related distances to the closest sites. Since we are us- algorithm proceeds in three stages.
ing a volumetric representation, the actual continuous
boundaries of the Voronoi graph are described implic-
itly as lying between sample points of different colors 1. Preprocessing: As part of a pre-process, we gen-
(sample points that have different closest primitives). erate a number of nodes using points near the
Our goal is to extract the boundary graph struc- medial axis of the workspace. We assign con-
ture in order to bias the randomized motion planning figurations where the position of the robot cor-
sampling. In 3D workspace, the Voronoi graph struc-
responds to a point lying on or near the medial
axis. The orientation is assigned either randomly
ture is composed of Voronoi vertices, edges, and faces.
or based on the local characteristics of the me-
However, for our applications, we only need the ver-
dial axis (see Section 4). Since the points on the
tices and the edges. This will give us a graph struc-
medial axis have the maximal clearance from the
ture forming maximally clear paths from the obsta-
obstacles, these nodes will bias the robot to plan
cles in the workspace. Voronoi vertices are the set
a path near the medial axis. We use an adap-
of points equidistant among four or more primitives,
tive strategy to select the nodes. Initially, we se-
and Voronoi edges are the set of points equidistant
lect nodes corresponding to the vertex locations in
among three primitives. To extract these features we
the Voronoi graph. We use a local planning algo-
use continuation methods, which are very similar to
rithm to check whether we can generate an edge
common iso-surface extraction techniques commonly
of the roadmap between those nodes. If not, we
used in volume rendering. Our goal is to continuously
select a midpoint location along the Voronoi edge
“bracket” the boundary curves in a 2 x 2 x 2 region of
and repeat the process for each Voronoi edge in
sample points and then walk along the boundary one
the roadmap graph. This process is repeated un-
voxel at a time. We only step to the next 2 x 2 x 2
til both nodes are connected. At the end of this
region if it is part of the same boundary. In this man-
phase, the roadmap may consist of one or more
ner, we only touch 3D sample points that are close to
connected components and its topology is similar
the boundary. Since we are effectively growing the en-
to that of the Voronoi graph. The local planning
tire boundary from some starting “seed” point, we are algorithm is similar to the rotate-at-s algorithm
able to form a correctly connected graph structure eas- highlighted in [1].
ily and efficiently. The seed point is found along the
boundaries of the voxel grid since the boundary graph
must typically intersect the bounding volume of the 2. Connecting Multiple Connected Compo-
workspace. nents: If the roadmap has more than one con-
nected component, we try to connect them. This
requires trying different set of nodes between each
3.3. Multi-Stage Roadmap Construction component and trying to find a path using the
local planner. Or we generate more nodes that re-
Given the Voronoi graph, we present a multi-stage al- tain the same positions close to the medial axis of
gorithm to build the roadmaps. The goal is to initially the workspace, but with different orientations for
generate portions of the roadmap using the medial axis the robot. Then, we try to connect these nodes to
and simple local planning algorithms. Next we connect different components of the roadmap.
different roadmaps generated using more sophisticated
techniques. Finally, we make use of the Voronoi graph
and the distance buffer to estimate narrow passages 3. Sampling along Narrow Passages: We esti-
and generate additional samples along these narrow mate narrow passages based on the medial axis
passages and try to connect them with the other sam- and the distance buffer. More details are given in
Section 4. We generate nodes near these narrow
pled nodes. Our overall strategy in using a multi-stage
passages by using a combination of uniform sam-
algorithm is similar to that highlighted in [1]. However,
pling, Gaussian sampling and biased angle sam-
we choose samples based on the medial axis and esti-
pling to connect them with the roadmap.
mate narrow passages, as opposed to generating sam-
284 C. Pisula, K. Hoff III, M. C. Lin, and D. Manocha
4 Sampling Strategies Based on with the distance values of the voxels that represent the
Voronoi Graphs discretized medial axis of the workspace.
Let us assume that the tightest-fitting arbitrarily
In this section, we present strategies to estimate narrow oriented bounding box (OBB) is given for the robot.
passages and improved sampling algorithms based on Moreover, the box’s local coordinate frame and its
the medial axis of the workspace. dimensions with respect to the global coordinate frame
are known. Algorithms based on covariance matrix to
4.1 Estimation of Narrow Passages
approximate the “principle component directions” of
Our algorithm computes a discretized Voronoi diagram a given collection of polygons can be used to compute
of the workspace. With each voxel, we associate a color a tight fitting OBB [8]. Let us further assume that the
that corresponds to an ID of the closest obstacle and a exact dimensions of the “potential” narrow corridors
distance value, which stores the distance to that obsta- are given. Based on this information, we define, the
cle. By comparing this value against the dimensions of following types of narrow passages:
the robot, we can estimate the narrow passage in many
cases. Given a robot R, let roy; be the radius of min-
Type-T Narrow Passages: Robot can move
imum enclosing sphere and r;, be the radius of the through narrow passages by translational motion.
maximum inscribed sphere. If we are given a subset of Rotations are not required for the robot to navigate
voxels on the Voronoi boundary, whose distance value
through the narrow corridors. This occurs when all
is less than rouz, then all the configurations whose cor- the dimensions of the robot’s OBB are equal or slightly
responding positions in workspace (translation compo-
smaller than the dimensions of the narrow corridors.
nents) are close the location of these voxels may contain Images 1-3 are examples of such narrow passages
“narrow passages.” In such cases, it may be difficult to
where merely careful translational movements are
plan the motions of the robot through these narrow
sufficient to navigate the robot through the narrow
passages, even when only translational displacements
corridors.
are required to navigate through the narrow corridors.
Furthermore, if any collection of voxels on the Voronoi
boundary have a distance value less than r;,, then all Type-R Narrow Passages: Rotations are required
configurations whose translation components (or the for the robot to navigate through the corridors. This
corresponding positions in workspace) are close to the occurs often when the largest dimension of the robot’s
location cannot be contained in the free space. OBB exceeds those of the narrow corridors. Images 3
Furthermore, the degrees and types of “tightness” in and 6 highlight examples of two narrow passages that
a cluttered environment are determined by the dimen- require rotations to plan the path for the robot and the
sions of the robot with respect to the dimensions of nar-
piano.
row corridor in the workspace (defined based on some
type of distance metric). Normally, the medial rep- 4.2 Random Sampling Near the Medial Axis
resentation computed is only the generalized Voronoi
Once we can identify different types of narrow passages
diagram or medial axis of the “workspace.” Ideally we
in the configuration space, we can design better sam-
wish to compute the medial axis of the free space and
pling strategies for handling these scenarios.
identify the narrow passages more precisely by con-
sidering the rotational components of robot configura- In general, if the robot encounters a type-T narrow
tions. Unfortunately, no fast and practical algorithm passage, the robot can easily move through the narrow
is known for computing the configuration space. corridors by placing the geometric center of the robot’s
Our algorithm computes an approximate medial axis OBB along the edges of the Voronoi graph. In such
of the workspace. Therefore, the scheme we mention cases taking samples on the medial axis (the first step
to estimate the location of “narrow passages” is only in our multi-level strategy) has considerable benefits.
an approximation technique. In the rest of this sec- For handling type-R narrow passages, sampling
tion, we describe some techniques that perform dimen- along the Voronoi graph with random sampling of an-
sion analysis by comparing the dimensions of the robot gles can lead to poorer performance. Instead, we pro-
Randomized Path Planning for a Rigid Body Based on Hardware Accelerated Voronoi
Sampling 285
pose to sample near the Voronoi graph using a combi- buffer. The performance of the Voronoi algorithm on
nation of the following strategies: different scenarios has been highlighted in Table 1. It
is a linear function of the number of voxels in the grid
e Simple Uniform Sampling: Place more sam- and increases as we subdivide a voxel into 8 sub-voxels.
pling points uniformly inside the narrow passages, We expect this performance can be improved by using
once they have been identified. This technique adaptive grid size selection. We are currently investi-
basically increases the density of sampled nodes gating the implementation issues related to adaptive
inside the narrow passages everywhere. grid size.
e Gaussian distribution: Sample near the medial We perform collision and distance queries between
axis with a Gaussian distribution to randomly po- the robot and the obstacles using PQP [17]. PQP uses
sition the points with higher distribution density a hierarchy of swept sphere volumes and works effi-
near the medial axis while uniformly sampling in ciently on general polygonal models. A typical planner
the angular space. spends a high percentage of its time in performing col-
lision and distance queries. To speed up these queries,
e Angular Bias: Biasing the angular sampling by we enclose the robot R with a bounding sphere. Let
positioning the local coordinate axis along which its radius be rou~. We compare the radius with the dis-
the robot’s OBB has its smallest dimension so that tance value associated with the voxel that contains the
the axis is perpendicular to the tangent direction position of the center of the enclosing sphere. If rox; is
of the Voronoi graph with Gaussian distribution. less than the distance value, it implies that the given
Intuitively, this sampling strategy attempts to ori- configuration lies in the free space and we don’t have
ent the robot to intelligently adapt to the change to perform explicit collision check between the robot
in curvatures of the Voronoi graph, as it moves and all the obstacles. Otherwise, we use PQP routines
through the narrow passages. for exact collision detection. We refer to this acceler-
ation technique as QR collision check for quick rejec-
We have experimented with a combination of these tions. Given the color buffer, we compute the bound-
strategies on several different benchmark environments ary graph of the Voronoi diagram using a marching
and have observed good performance improvement over technique. We next compute an approximation to the
uniform sampling. More details of our implementation medial axis, and identify regions to be considered as
results are given in the next section. narrow passages in the workspace (as described in Sec-
tion 4).
In the roadmap construction phase, the planner at-
5 Implementation and Performance
tempts to build a network of configuration nodes that
can be used for the path planning queries. We use the
We describe the implementation of our planner and its
multi-stage algorithm described in Section 3. We rep-
application to different benchmarks.
resent the roadmap as a graph with multiple connected
components. Given an initial and goal configuration,
5.1 Implementation we combine the roadmap and query phase into one step
so that each query adds new connectivity information
We have implemented a preliminary version of the to the roadmap. The planner builds the roadmap by
planning algorithm for 2D (3-dof) and 3D (6-dof) en- iteratively growing from initial configuration C; and
vironments on an SGI IRIX workstation. The planner the goal configuration C,. We use a growth strategy
proceeds in distinct stages: Pre-processing, roadmap similar to the one highlighted in [15, 13]. To grow a
construction, and path planning query. component c of the roadmap, the algorithm randomly
In the pre-processing phase, the planner computes selects a node N, in c to expand. N, is chosen from
information about the environment. First, it computes the set of previously generated samples in c, giving pri-
the discretized Voronoi diagram. With each voxel of ority to those near the medial axis, and the ones in the
the 3D image, we store information about the closest low density areas. The main goal is to bias the planner
obstacle and the distance computed using the depth towards the nodes whose translational component lies
286 C. Pisula, K. Hoff III, M. C. Lin, and D. Manocha
2180 (Benchmark 6) : :
10900 2.0
Table 1: The cost of computing the discretized Voronoi diagram in seconds as a function of the resolution. The table lists
the number of triangles against Voronoi diagram resolution. All timings are computed on a SGI Infinite Reality (Onyx2).
Each represents a different grid size (16 x 16 x 16 to 512 x 512 x 512).
close to the medial axis and to select new configura- — Scenario (b): Type-R narrow passage, robot
tions in free space. dimension of 4.0 x 40.0.
To expand a node, we generate a number of random — Size of environment : 400 x 400
configurations N, in the neighborhood of N,. using a — Width of narrow passage: 20
Gaussian distribution. The size of the neighborhood — Number of line segments : 158
is defined by the distance to the nearest obstacle and
e Benchmark 2: A 2D environment requiring the
is computed using the distance information associated
with each voxel. After that we check if NV is in the free robot to traverse a long Type-T narrow passage
space by performing a collision query. We try to insert resembling a maze (Image 2).
free configurations into the component c by checking — Size of environment : 400 x 400
for a valid path from N. to Ne using the local plan- — Width of narrow passage: 15
ner. Finally, after each component has completed its
— Number of triangles : 1044
expansion stage, an attempt is made to connect the un-
connected components using local planning algorithms. — Robot dimensions : 10 x 10
This process is repeated until a path has been found e Benchmark 3: A complex 2D environment con-
between the initial and the goal configuration. sisting of chairs, pianos and a music stand, each
projected into the XY plane (Image 3). The robot
5.2 Benchmark Environments (a music stand) must navigate a Type-T narrow
passage.
We have tested the performance of the planner on sev-
eral 2D and 3D benchmarks. We also compared its — Size of environment : 15.5 x 17.5
performance with Stanford PRM developed by David — Number of triangles : 12054
Hsu, J. Latombe et al. [13]. It uses uniform sampling in — Robot dimensions : 1.0 x 1.0
the configuration space to generate the configurations.
e Benchmark 4: A 3D environment with two
We have chosen a suite of environments and scenarios
open areas connected by a single channel (Image
to test the effectiveness of our sampling scheme over ba-
sic uniform sampling. Most of them have either Type-T
4(a-c)). The robot (a block) must move from the
narrow passage or Type-R narrow passage. The set of initial configuration to the goal by traversing a
narrow tunnel.
benchmarks used include:
— Scenario (a): Type-T narrow passage, robot
e Benchmark 1: A 2D environment requiring the dimension of .025 x .025 x .025.
robot to navigate a narrow passage to move from — Scenario (b): Type-T narrow passage, robot
the open area on the left to the open area on the dimension of .08 x .08 x .08.
right (Image l(a-b)). The environment consists — Scenario (c): Type-R narrow passage, robot
of two wide open areas connected by one narrow dimension of .025 x .025 x .125.
channel.
— Size of environment: 1.0 x 1.0 x 1.0
— Scenario (a): Type-T narrow passage, robot — Width of narrow passage: 0.1 x 0.1 x 0.1
dimension of 2.5 x 14.0. — Number of triangles: 28
Randomized Path Planning for a Rigid Body Based on Hardware Accelera
ted Voronoi Sampling 87
i)
C-Space Samples [Free Samples |Pull Coll. Checks |QR Goll, |Connect Comp. Calls
Pi(a)___| Voronoi Based |1.50] 5062 Baldeeeo O ragTTe]leas aol 2655585
1239 ae 21S 0D al Re 36447
30.22 14843 BAgoT | See DOTSCN] La Oa 2360384
20.47 5207 3365 |
=a TY 201654
Table 2: Benchmark 1, environment shown in Image 1. The size of the robot varies so that in
(a) No rotation is required.
(b) Rotation is required.
e Benchmark 5: <A 3D environment similar to e Sampling Type—We have compared our Voronoi
benchmark 4, except that the passage is not a Based sampling to Stanford’s planner that uses
simple straight channel. The channel “spirals” Uniform sampling [13]. The basic structure of the
through space. The tunnel itself provides a nar- implementations are the same. The main differ-
row passage in the workspace. The sharp corners ence is in the sampling strategy.
further complicate planning by causing a Type-R
narrow passage (Image 5). e Time—The running time to service the benchmark
query. The time to compute the Vornoi diagram
— Scenario (a): Type-R narrow passage, robot is not included, but is listed in a separate table.
dimension of .02 x .02 x .125. But it includes the time to build the roadmap.
— Scenario (b): Type-R narrow passage, robot
dimension of .07 x .07 x .07. e C-Space Sample—The total number of random
C-Space configuration generated by the planner.
— Size of environment : 1.0 x 1.0 x 1.0
This number represents all configurations, even
— Width of narrow passage: 0.1 x 0.1 x 0.1 those in contact space, and those that are in free
— Number of triangles : 46 space that fail to connect to a node in the road
map.
e Benchmark 6:
A 3D environment consisting of chairs, a table, e Free Samples—The total number of samples which
and a piano (Image lie in free space and successfully become part of the
roadmap.
6). The goal is to move the piano through the
window. The e Full Coll. Checks—The number of times a full
environment provides Type-R narrow passage, as PQP collision query was performed.
the piano must e QR Coll.—The number of times a full collision
rotate to fit through the window. This benchmark query was avoided, by doing a quick rejection.
has been provided to us by Jean-Paul Laumond at
e Connect Comp. Calls—The number of times the
LAAS, Toulouse.
planner attempted to connect two nodes from dis-
— Size of environment : 6000 x 6000 x 3000 tinct components.
— Dimension of narrow passage: 2000 x 1000 (W
x H) 6 Analysis and Comparison
— Robot dimension (with legs): 1000 x 1210 x
850 Overall the performance of our planning algorithm
varies with the environment. In all our current bench-
— Robot dimension (sans legs): 1000 x 1200 x
marks, it significantly performs uniform sampling in
350
Type-T narrow passages. It also improves the perfor-
mance of the planner when there are Type-R narrow
5.3 Performance Data
passages in the configuration space. In all our bench-
We highlight the performance of the planner on dif mark comparisons, we try to make minimal changes to
ferent benchmarks. The different columns in the table the connection strategies. Based on the medial axis,
used are: we have also proposed a novel multi-stage strategy to
288 C. Pisula, K. Hoff III, M. C. Lin, and D. Manocha
build the roadmap. It leads to considerable improve- have applied it to a number of 2D and 3D benchmarks
ment in the performance. and the preliminary results are promising.
The idea of using the medial axis for sampling is not Next, we would like to investigate the theoretical
novel. Other authors have proposed using medial axis analysis of “Voronoi skeleton” or medial axis for Type-
based sampling [27, 26, 9]. The major benefit in our R narrow passages and develop more rigorous compu-
approach comes from the fact that we have bounded tational techniques using graphics hardware. It will
error approximation of the medial axis computed us- be useful to conduct more extensive performance com-
ing graphics hardware. Wilmarth et al. [27, 26] do not parisons between our approach accelerated by graph-
compute a medial axis. They take random configura- ics hardware against other PRMs based on medial-axis
tions and retract them to the medial using iterative ap- sampling [27, 26, 9]. We would like to further extend
proaches. However, they either cannot guarantee suf- our approach to motion planning with constraints and
ficient number of samples in all the narrow passages, planning of articulated objects or manipulators.
or it will take many more random configurations (fol-
lowed by retraction) to generate sufficient samples in Acknowledgments
some of the challenging scenarios.
We are grateful to David Hsu and Jean-Claude
Guibas et al. [9] take point samples on the boundary Latombe for a version of their planner and many
and compute their Voronoi diagram to estimate sam-
useful discussions related to this problem. We are
ples on the medial axis of the workspace. Again, in
also grateful to Jean-Paul Laumond for providing us
this case, it is difficult to guarantee any bounds on the with the model of Benchmark 6. Supported in part
medial axis or quality of the resulting samples.
by ARO Contract DAAH04-96-1-0257, NSF Career
Overall, having a bounded error approximation of Award CCR-9625217, NSF grants EIA-9806027 and
the medial axis of the workspace, along with the dis- DMI-9900157, ONR Young Investigator Award, DOE
tance information computed using the depth buffer, ASCI Contract and Intel.
helps us in identifying the narrow passages and charac-
terizing them in many cases. Our proposed algorithms References
seem to perform well in all the benchmark cases we
have tried. Clearly, there is no one universal sampling [1] N. Amato, O. Bayazit, L. Dale, C. Jones, and
strategy that will work well in all cases. Therefore, we D. Vallejo. Obprm: An obstacle-base prm for 3d
workspaces. Proceedings of WAFR98, pages 197-204,
are continuing to experiment with various benchmark 1998.
examples to find the worst case scenarios, as well as in-
vestigating a theoretical analysis that relates a medial [2] H. Blum. A transformation for extracting new de-
axis in a workspace to a Voronoi roadmap in the corre- scriptors of shape. In W. Whathen-Dunn, editor,
Models for the Perception of Speech and Visual Form,
sponding configuration space. We believe that a formal pages 362-380. MIT Press, 1967.
analysis and characterization will give us a more rig-
orous method to distinguish between different types of [3pathyJ. Canny and B. R. Donald. Simplified Voronoi di-
narrow passages and enable us to intelligently choose agrams. In Proc. 3rd Annu. ACM Sympos. Comput.
Geom., pages 153-161, 1987.
a combination of sampling strategies for adapting to
different regions of the environment. [4] H. Chang and T. Li. Assembly maintainability study
with motion planning. In Proceedings of Internationa
Conference on Robotics and Automation, 1995.
7 Conclusion
[5is H. Choset. Nonsmooth analysis, convex analysis and
their applications to motion planning. International
We have presented techniques to improve the perfor- Journal of Computational Geometry and Applica-
mance of PRM in configurations with narrow passages. tions, 1997.
We use a bounded error approximation of the general-
[6— H. Choset, I. Konukseven, and A. Rizzi. Sensor based
ized Voronoi diagram to improve the sampling and es-
planning: Using a honing strategy and local map
timate narrow passages in the free space. It is also used method to implement the generalize voronoi graph.
to improve the performance of proximity queries. We SPIE Mobile Robotics, 1997.
Randomized Path Planning for a Rigid Body Based on Hardware Accelera
ted Voronoi Sampling 289
S. Gottschalk, M. Lin, and D. Manoch. Obb-tree: [19] D. Lavender, A. Bowyer, J. Davenport, A. Wallis,
A hierarchical structure for rapid interference detec- and J. Woodwark. Voronoi diagrams of set-theoretic
tion. In Proc. of ACM Siggraph ’96 pages 171-180, solid models. IEEE Computer Graphics and Applica-
1996. tions, pages 69-77, September 1992.
for many degrees of freedon-random reflections at c- main delaunay triangulatio. In Chris Hoffman and
space obstacles. Proc. of IEEE International Conf. Jarek Rossignac, editors, Solid Modeling ’95, pages
on Robotics and Automation, pages 3318-3323, 1994. 201-212, May 1995.
C-Space Samples Full Coll. Checks [|QR Coll. | Connect Comp. Calls
625.67 50692 3479
1393
meres
86902
|iO
78251
2423896
308528
Voronoi Based | 213.89 10018
Table 3: Benchmark 2, maze environment shown in Image 2. The narrow passage is long with respect to the robot
dimensions.
C-Space Samples Full Coll. Checks [|QR Coll. | Connect Comp. Calls
36631 T7a12 Cr a RN EM 04032
23680 8739 33646 24907 54986
Table 4: Benchmark 3, house environment shown in Image 3. Notice that the Uniform based sampling does not even
complete in the allocated time.
Table 5: Benchmark 4, a simple tunnel shown in Image 4. The size of the robot varies so that in (a) The robot is small,
and no rotation is required. (b) Rotation is required. (c) The robot is large, but no rotation is required. Notice that in (c)
the Uniform based sampling does not even complete in the allocated time.
Table 6: Benchmark 5, spiral tunnel shown in Image 5. In (a) and (b) the robot size varies. In (c) we compute the path
with our boundary graph approach. (a) No rotation is required. (b) Rotation is required. (c) The same scenario as in (a)
with the different connection scheme that takes advantage of medial representations. We observe substantial performance
improvement by using a better connection strategy that exploits the Voronoi graph structures.
Table 7: Benchmark 6, piano environment shown in Image 6. A very challenging Type-R narrow passage still shows 25%
speedup.
i zed Path Planning Ay d Body Based on Hardware Accelerated Voronoi Sampling
cen for poe a Rigi 291
and
Ran dom
omi
through workspace.
nt, (b) computed voronoi surface, (Cc) extracted core
Image 4: Benchmark 4 showing (a) planning environme
ark 6. Red
5. Image 6: Piano Environment, Benchm
Image 5: A simple tunnel, Benchmark shows the initial position. The Green
position shows an R Narrow Passage.
ny
4
ik lee
g 7 “ad
«sit ‘ “a 7
oa 7
iy ue
‘ of i
4 2.
he
Ps
ess
i—
aim ’
ie! et <oy meh veg hy a of,
eal eel lng,
1 prvadttiay a ow
oo nh emp [Pam 5
,
Rapidly-Exploring Random Trees: Progress and Prospects
Steven M. LaValle, Jowa State University, Ames, IA
James J. Kuffner, Jr., University of Tokyo, Tokyo, Japan
We present our current progress on the design and ical prototypes. Motion planning techniques have al-
analysis of path planning algorithms based on Rapidly- ready been applied to assembly problems in this area
exploring Random Trees (RRTs). The basis for our [9]. As the power and generality of planning techniques
methods is the incremental construction of search trees increase, we expect that more complicated problems
that attempt to rapidly and uniformly explore the state that include differential constraints can be solved, such
space, offering benefits that are similar to those ob- as the evaluation of vehicle performance and safety
tained by other successful randomized planning meth- through dynamical simulation conducted by a virtual
ods. In addition, RRTs are particularly suited for prob- “stunt driver.”
lems that involve differential constraints. Basic the-
As we approach applications of increasing difficulty,
oretical properties of RRT-based planners are estab-
it becomes clear that planning algorithms need to han-
lished. Several planners based on RRTs are discussed
dle problems that involve a wide variety of models, high
and compared. Experimental results are presented for
degrees of freedom, complicated geometric constraints,
planning problems that involve holonomic constraints
and finally, differential constraints. Although exist-
for rigid and articulated bodies, manipulation, nonholo-
ing algorithms address some of these concerns, there
nomic constraints, kinodynamic constraints, kinematic
is relatively little work that addresses all of them si-
closure constraints, and up to twelve degrees of free-
multaneously. This provides the basis for the work
dom. Key open issues and areas of future research are
presented in this paper, which presents randomized,
also discussed.
algorithmic techniques for path planning that are par-
ticularly suited for problems that involve differential
1 Introduction constraints.
Given the vast, growing collection of applications that We present an overview of the progress on our de-
involve the design of motion strategies, the successes of velopment of Rapidly-exploring Random Trees (RRTs)
motion planning algorithms have just begun to scratch [29]. The results and discussion presented here summa-
its surface. The potential for automating motions is rize and extend the work presented in [30, 22]. In [30],
now greater than ever as similar problems continue we presented the first randomized approach to kinody-
to emerge in seemingly disparate areas. The tradi- namic trajectory planning, and applied it to problems
tional needs of roboticists continue to expand in efforts that involve up to twelve-dimensional state spaces with
to automate mobile robots, manipulators, humanoids, nonlinear dynamics and obstacles (for problems with
spacecraft, etc. Researchers in computer graphics and moving obstacles, a similar randomized approach has
virtual reality have increasing interests in automating been proposed more recently, in [20]). In [22], we pre-
the animations of life-like characters or other moving sented and analyzed a holonomic path planner that
bodies. In the growing field of computational biology, gives real-time performance for many challenging prob-
many geometric problems have arisen, such as study- lems. RRTs build on ideas from optimal control theory
ing the configuration spaces of flexible molecules for [5], nonholonomic planning (see [27] for an overview),
protein-ligand docking and drug design. Virtual pro- and randomized path planning [1, 19, 36]. The ba-
totyping is a rapidly-expanding area that allows the sic idea is to use control-theoretic representations, and
evaluation of proposed mechanical designs in simula- incrementally grow a search tree from an initial state
tion, in efforts to avoid the costs of constructing phys- by applying control inputs over short time intervals to
294 S. M. LaValle and J. J. Kuffner
reach new states. Each vertex in the tree represents a choice of a good heuristic potential function, which
state, and each directed edge represents an input that could become a daunting task when confronted with
was applied to reach the new state from a previous obstacles, and differential constraints. In the prob-
state. When a vertex reaches a desired goal region, abilistic roadmap approach [1, 19], a graph is con-
an open-loop trajectory from the initial state is repre- structed in the configuration space by generating ran-
sented. dom configurations and attempting to connect pairs
of nearby configurations with a local planner that will
For problems that involve low degrees of freedom,
connect pairs of configurations. The assumption is that
classical dynamic programming ideas can be employed
the same roadmap will be used for multiple queries. For
to yield numerical optimal control solutions for a broad
planning of holonomic systems or steerable nonholo-
class of problems [5, 24, 28]. Since control theorists
have traditionally preferred feedback solutions, the rep-
nomic systems (see [27] and references therein), the lo-
cal planning step might be efficient; however, in general
resentation takes the form of a mesh over which cost-
to-go values are defined using interpolation, enabling
the connection problem can be as difficult as design-
ing a nonlinear controller, particularly for complicated
inputs to be selected over any portion of the state
space. If open-loop solutions are the only require- nonholonomic and dynamical systems. The probabilis-
ment, then each cell in the mesh could be replaced tic roadmap technique might require the connections
by a vertex that represents a single state within the of thousands of configurations or states to find a so-
cell. In this case, control-theoretic numerical dynamic lution, and if each connection is akin to a nonlinear
programming techniques can often be reduced to the control problem, it seems impractical many problems
construction of a tree grown from an initial state (re- with differential constraints.
ferred to as forward dynamic programming [24]). This
idea has been proposed in path planning literature for 2 Problem Formulation
nonholonomic [4] planning and kinodynamic planning
in [13]. Because these methods are based on dynamic The class of problems considered in this paper can be
programming and systematic exploration of a grid or formulated in terms of six components:
mesh, their application is limited to problems with low
degrees of freedom. 1. State Space: A topological space, X
We would like to borrow some of the ideas from
2. Boundary Values: Zjnjz¢ € X and Xgoai C X
numerical optimal control techniques, while weaken-
ing the requirements enough to obtain methods that 3. Collision Detector: A function, D: X 73
can apply to problems with high degrees of freedom. {true, false}, that determines whether global con-
As is common in most of path planning research, we straints are satisfied from state z. This could be
forego trying to obtain optimal solutions, and attempt a binary-valued or real-valued function.
to find solutions that are “good enough,” as long as
they satisfy all of the constraints. This avoids the use 4. Inputs: A set, U, which specifies the complete set
of dynamic programming and systematic exploration of controls or actions that can affect the state.
of the space; however, a method is needed to guide the
5. Incremental Simulator: Given the current
search in place of dynamic programming.
state, x(t), and inputs applied over a time interval,
Inspired by the success of randomized path planning {u(t’)|t < t’ < t+ At}, compute «(t+ At).
techniques and Monte-Carlo techniques in general for
addressing high-dimensional problems, it is natural to 6. Metric: A real-valued function, p : X x X >
consider adapting existing planning techniques to our (0,00), which specifies the distance between pairs
problems of interest. The primary difficulty with many of points in X.
existing techniques is that, although powerful for stan-
dard path planning, they do not naturally extend to Path planning will generally be viewed as a search
general problems that involve differential constraints. in a state space, X, for a continuous path from an ini-
The randomized potential field method [3], while effi- tial state, init to a goal region Juapal ta) ae Or POal
cient for holonomic planning, depends heavily on the state Lgoai € X. It is assumed that a complicated
Rapidly-Exploring Random Trees
295
set of global constraints is imposed on X , and any so- contexts such as wheeled-robot systems [27], and ma-
lution path must keep the state within this set. A nipulation by pushing [35]. A recent survey appears in
collision detector reports whether a given state, x, sat- [27]. The constraints often appear in the implicit form
isfies the global constraints. We generally use the no- hi(4,q) = 0 for somei from 1 to k < N (N is the dimen-
tation Xf,ee to refer to the set of all states that satisfy sion of C). By the implicit function theorem, the con-
the global constraints. Local, differential constraints straints can also be expressed in control-theoretic form,
are imposed through the definition of a set of inputs q = f(q,u), in which wu is an input chosen from a set of
(or controls) and an incremental simulator. Taken to- inputs U. Using our general notion, x replaces g to ob-
gether, these two components specify possible changes tain ¢ = f(x,u). This form is often referred to as the
in state. The incremental simulator can be consid- state transition equation or equation of motion. Using
ered as the response of a discrete-time system (or a the state transition equation, an incremental simulator
continuous-time system that is approximated in dis- can be constructed by numerical integration (using, for
crete time). Finally, a metric is defined to indicate example Runge-Kutta techniques).
the closeness of pairs of points in the state space. This
metric will be used in Section 3, when the RRT is intro- Kinodynamic’ Path Planning For kinodynamic
duced. It will generally be assumed that a single path planning, constraints on both velocity and acceler-
planning query is presented, as opposed to performing ation exist, yielding implicit equations of the form
precomputation for multiple queries, as in [1, 19]. hi(G,4,¢) = 0 (6, 8, 10, 11, 13, 12, 14, 45, 46]. A
state, c € X, is defined as x = (q,q), forg € C. Us-
Basic (Holonomic) Path Planning Path planning ing the state space representation, this can be simply
can generally be viewed as a search in a configura- written as a set of m implicit equations of the form
tion space, C, in which each q € C specifies the po- Gis) ="0) for =o Lee ald ie eeete
sition and orientation of one or more geometrically- implicit function theorem can again be applied to ob-
complicated bodies in a 2D or 3D world [33, 25]. The tain a state transition equation. The collision detection
path planning task is to compute a continuous path component may also include global constraints on the
from an initial configuration, ginit, to a goal configura- velocity, since ¢ is part of the state vector.
tion, Qgoal- Thus, X = C, init = init, Lgoal = Ygoals
and Xfree = Cfree, which denotes the set of config- Other Problems A variety of other problems fit
urations for which these bodies do not collide with within our problem formulation, and can be ap-
any static obstacles in the world. The obstacles are proached using the techniques in this paper. In gen-
modeled completely in the world, but an explicit rep- eral, any open-loop trajectory design problem can for-
resentation of Xfree is not available. However, using mulated because the models are mostly borrowed from
a collision detection algorithm, a given configuration control theory. For example, the planner might be used
can be tested. (To be more precise, we usually em- to compute a strategy that controls an electrical circuit,
ploy a distance-computation algorithm that indicates or an economic system. In some applications, a state
how close the geometric bodies are to violating the con- transition equation might not be known, but this does
straints in the world. This can be used to ensure that not present a problem. For example, a physical simu-
intermediate configurations are collision free when dis- lator might be developed by engineers for simulating a
crete jumps are made by the incremental simulator.) proposed racing car design. The software might sim-
The set, U, of inputs is the set of all velocities £ such ply accept control inputs at some sampling rate, and
that ||z|| < c for some positive constant c. The incre- produce new states. This could serve directly as the
mental simulator produces a new state by integration incremental simulator for our approach. Other minor
to obtain, fnew = z + uAt, for any given input u € U. variations of the formulation can be considered. Time-
varying problems can be formulated by augmenting the
Nonholonomic Path Planning Nonholonomic
1Tn nonlinear control literature, kinodynamic planning
planning [26] addresses problems that involve nonin- for underactuated systems is encompassed by the definition
tegrable constraints on the state velocities, in addition of nonholonomic planning. Using control-theoretic termi-
to the components that appear in the basic path plan- nology, the task is to design open-loop trajectories for non-
linear systems with drift.
ning problems. These constraints often arise in many
296 S. M. LaValle and J. J. Kuffner
function in the EXTEND algorithm. Usually, X is the next step in the solution trajectory will be con-
characterized by a uniform probability density function structed. This argument is applied inductively from
over X free; however, we will allow X to be character- zx to £,, until the final state Xgoar = Le+1 is reached.
ized by any continuous probability density function. |
Let X; denote a vector-valued random variable that
represents the distribution of the RRT vertices after k Convergence Rate Theorems 6 and 7 express the
iterations. rate of converge of the planner. These results represent
a significant first step towards gaining a complete un-
Theorem 4 X;, converges to X in probability. derstanding of behavior of RRT-based planning algo-
rithms; however, the convergence rate is unfortunately
We now consider the more general case. Suppose expressed in terms of parameters that cannot be easily
that motions obtained from the incremental simulator measured. It remains an open problem to characterize
are locally constrained. For example, they might arise the convergence rate in terms of simple parameters that
by integrating ¢ = f(x, wu) over some time At. Suppose can be computed for a particular problem. This gen-
that the number of inputs to the incremental simula- eral difficulty even exists in the analysis of randomized
tor is finite, At is constant, no two RRT vertices lie path planners for the holonomic path planning problem
within a specified « > 0 of each other according to p, [18, 23].
and that EXTEND chooses the input at random. It
may be possible eventually to remove some of these re- For simplicity, assume that the planner consists of a
strictions; however, we have not yet pursued this route. single RRT. The bidirectional planner is only slightly
Suppose Liniz ANd Fgoq) lie in the same connected com- better in terms of our analysis, and a single RRT is
ponent of a nonconvex, bounded, open, n-dimensional easier to analyze. Furthermore, assume that the step
connected component of an n-dimensional state space. size is large enough so that the planner always attempts
In addition, there exists a sequence of inputs, uj, U2, COCONNCCESL earl OC rand:
++) Up, that when applied to xiniz yield a sequence of Let A = {Ap, Ai,..., Ax} be a sequence of subsets
Biaes Tint: — 20, Lis C2 seed: = Caeai- Al of of X, referred to as an attraction sequence. Let Ap =
these states lie in the same open connected component {init}. The remaining sets must be chosen with the
of X free: following rules. For each A; in A, there exists a basin,
The following establishes the probabilistic complete- B; © X such that the following hold:
ness of the nonholonomic planner.
1. For all « € Aji, y € Aj, and z €\X\ B;, the
Theorem 5 The probability that the RRT initialized metric, p, yields p(x,y) < p(z, z).
at Linit will contain Lgoa1 as a verter approaches one
2. For all x € B;, there exists an m such that the
as the number of vertices approaches infinity.
sequence of inputs {w1, U2,..., Um} selected by the
Overview of Proof: The argument proceeds by EXTEND algorithm will bring the state into A; C
induction on 7. Assume that the RRT contains z; B;.
as a vertex after some finite number of iterations.
Consider the Voronoi diagram associated with the Finally, it is assumed that Ag = Xgoa.
RRT vertices. There exists a positive real number, c;, Each basin B; can intuitively be considered as both
such that p(Vor(a;)) > c, in which Vor(z;) denotes a safety zone that ensures an element of B; will be
the Voronoi region associated with z;. If a random selected by the nearest neighbor query, and a poten-
sample falls within Vor(z;), the vertex will be selected tial well that attracts the state into A;. An attrac-
for extension, and a random input is applied; thus, z; tion sequence should be chosen with each A; as large
has probability (Vor(«;))/w(X free) of being selected. as possible and with k as small as possible. If the
There exists a second positive real number, cz (which space contains narrow corridors, then the attraction
depends on c;), such that the probability that the cor- sequence will be longer and each A; will be smaller.
rect input, u;, is selected is at least co. If both x; and Our analysis indicates that the planning performance
u; have probability of at least co of being selected in will significantly degrade in this case, which is con-
each iteration, then the probability tends to one that sistent with analysis results obtained for randomized
Rapidly-Exploring Random Trees
299
holonomic planners [17]. Note that for kinodynamic Theorem 7 /f an attraction sequence of length k ea-
planning, the choice of metric, p, can also greatly af- ists, for a constant 6 € (0,1), the probability that
fect the attraction sequence, and ultimately the perfor- the RRT finds a path after n iterations is at least
mance of the algorithm. 1 — exp(—npé?/2), in which 6 =1—k/(np).
Using y to represent measure, let p be defined as:
Proof: The random variable C from the proof of The-
DS min{1(Aj)/H(X free) }, orem 6 has a binomial distribution, which enables the
application of a Chernoff-type bound on its tail proba-
which corresponds to a lower bound on the probability bilities. The following theorem [39] is directly applied
that a random state will lie in a particular A;. to establish the theorem. If C is binomially distrib-
The following theorem characterizes the expected uted, 6 € (0, 1], and » = E[C], then P[C < (1—6)p] <
number of iterations required to find a solution. exp(6?/2). i
Theorem 6 If a connection sequence of length k ex-
An RRT in a Large Disc In the limit as the num-
ists, then the expected number of iterations required to
ber of iterations approaches infinity, the RRT becomes
connect Ginit to Qgoat is no more than k/p.
uniformly distributed, but what happens when the
Proof: If an RRT vertex lies in A;_1, and a random RRT is placed in a “large” space? Intuitively, it seems
sample, 2, falls in A;, then the RRT will be connected that the best strategy would be to grow the tree away
to z. This is true because using the first property in from the initial state as quickly as possible. To deter-
the definition of a basin, it follows that one of the ver- mine whether this occurs, we performed many simu-
tices in B; must be selected for extension. Using the lation experiments (each with hundreds of thousands
second property of the basin, inputs will be chosen that of iterations) to characterize how an RRT grows in
ultimately generate a vertex in A;. the limit case of a disc with a radius that approaches
infinity. Consider the case of a 2D state space and
In each iteration, the probability that the random
holonomic planning. Figure 4(a) shows a typical re-
sample lies in A; is at least p; hence, if A;_; contains
sult, in which the RRT has three major branches, each
an RRT vertex, then A; will contain a vertex with prob-
roughly 120 degrees apart. This behavior was repeat-
ability at least p. In the worst-case, the iterations can
edly observed for the 2D case, although the orientation
be considered as Bernoulli trials in which p is the prob-
of the branches is random. In higher dimensions, we
ability of a successful outcome. A path planning prob-
have observed that the RRT makes n + 1 branches in
lem is solved after k successful outcomes are obtained
an n-dimensional space. The branches also have equal
because each success extends the progress of the RRT
separation from each other (they appear to touch the
from A;_1 to A,.
vertices of a regular (n + 1)-simplex, centered at the
Let C1, C2,...,Cn be ii.d. random variables whose origin. This gives experimental evidence that in the
common distribution is the Bernoulli distribution with expected sense, the RRT grows outward from the ori-
parameter p. The random variable C = C;+C2+---+ gin at a rate that is linear in the number of iterations,
C,, denotes the number of successes after n iterations. and decreases moderately with the number of dimen-
Since each C; has the Bernoulli distribution, C’ will sions. It remains an open question to confirm these
have a binomial distribution, observations by proving the number and directions of
these branches.
fal Ag Rea Mier
Relationship to Optimality Another observation
in which k is the number of successes. The expectation that we have made through simulation experiments is
of the binomial distribution is n/p, which also repre- that the paths in a holonomic RRT, while jagged, are
sents an upper bound on the expected probability of not too far from the shortest path (recall Figure 3).
successfully finding a path. | This is not true for paths generated by a simpler tech-
nique, such as Brownian motion. For paths in the
The following theorem establishes that the probabil-
we have performed repeated experiments that
ity of success increases exponentially with the number plane,
compare the distance of randomly-cho sen RRT vertices
of iterations.
300 S. M. LaValle and J. J. Kuffner
Figure 5 shows the RRT_BIDIRECTIONAL algo- Through extensive experimentation over a wide vari-
rithm, which may be compared to the BUILD_RRT al- ety of examples, we have concluded that, when applica-
gorithm of Figure 1. RRT_BIDIRECTIONAL divides ble, the bidirectional approach is much more efficient
the computation time between two processes: 1) ex- than a single RRT approach. One shortcoming of us-
ploring the state space; 2) trying to grow the trees into ing the bidirectional approach for nonholonomic and
each other. Two trees, 7, and 7, are maintained at kinodynamic planning problems is the need to make a
connection between a pair of vertices, one from each
RRT. For a planning problem that involves reaching
RRT_BIDIRECTIONAL(2init, Zgoa1) a goal region from an initial state, no connections are
1 7q-init(2iniz); To-init(tgoat);
2 "for k= 1 to K do necessary using a single-RRT approach. The gaps be-
3 Grand + RANDOM.STATE(); tween the two trajectories can be closed in practice by
4 if not (EXTEND(Ta, Lrana) = Trapped) then applying steering methods [27], if possible, or classical
5 if (EXTEND(7%,fnew) =Reached) then shooting methods, which are often used for numerical
6 Return PATH(7.,, 7s); boundary value problems.
7 SWAP(Ta, Te);
8 Return Failure
Other Approaches If a dual-tree approach offers
advantages over a single tree, then it is natural to ask
Figure 6: A bidirectional RRT-based planner.
302 S. M. LaValle and J. J. Kuffner
oS
Ly ie
VR}
A rts
Coxe?
puted path from an initial state to a goal state. The top formed using variants of the RRT_BIDIRECTIONAL
two pictures show paths computed for a 3-DOF model, planner. More experiments were presented in [30].
using the standard kinematics for a car-like robot. Recently, RRTs have been applied to automating the
In the first example, the car is allowed to move in flight of helicopters in complicated 3D simulations that
both forward and reverse. In the second example, the contain obstacles |15].
car can move forward only. In the first example in
Consider the case of a fully-orientable satellite model
the second row in Figure 10, the car is only allowed to
with limited translation. The satellite is assumed to
turn left in varying degrees! The planner is still able to
have momentum wheels that enable it to orient itself
overcome this difficult constraint and bring the robot
along any axis, and a single pair of opposing thruster
to its goal. The final example uses a 4-DOF model,
controls that allow it to translate along the primary
which results in continuous curvature paths [43].
axis of the cylinder. This model has a 12-dimensional
The final nonholonomic planning problem involves state space. The task of the satellite, modeled as a rigid
the 4-DOF car pulling three trailers, resulting in a 7- cylindrical object, is to perform a collision-free dock-
DOF system. The kinematics are given in [40]. The ing maneuver into the cargo bay of the space shuttle
goal is to pull the car with trailers out of one stall, model amidst a cloud of obstacles. Figure 12 shows
and back it into another. The RRTs shown correspond the candidate solution found after 23,800 states were
to one of the best executions; in other iterations the
explored. The total computation time was 8.4 minutes
exploration was much slower due to metric problems. on the SGI.
Kinodynamic planning experiments Several kin- The final result, given in Figure 13, shows a fictitious,
odynamic planning experiments have been performed underactuated spacecraft that must maneuver through
for both non-rotating and rotating rigid objects in 2D two narrow gates and enter a hangar that has a small
and 3D worlds with velocity and acceleration bounds entrance. There are five inputs, each of which applies a
obeying L? norms. For the 2D case, controllability is- thrust impulse. The possible motions are: 1) forward,
sues were studied recently in [34]. All experiments uti- 2) up, 3) down, 4) clockwise roll, 5) counterclockwise
lized a simple weighted L? metric on X, and were per- roll. There are 4000 triangles in the model. Path plan-
Rapidly-Exploring Random Trees
305
ae Ee
e® -°
BS
7 Discussion
ae os
dicates “closeness” as the ability to bring the state
from «x to z’ while incurring little cost. For holonomic
planning, nearby states in terms of a weighted Euclid-
ean metric are easy to reach, but for nonholonomic
problems, it can be difficult to design a good metric.
The ideal metric has appeared in similar contexts as
the nonholonomic metric (see [27]), and the cost-to-
Figure 14: Two manipulators transport a cross-shaped ob-
go function [5]. Of course, computing p* is as diffi-
ject while maintaining kinematic closure.
cult as solving the original planning problem! It is
generally useful, however, to consider p* because the
handling differential constraints (without necessarily performance of RRT-based planners seems to gener-
requiring steering ability). RRTs have also led to very ally degrade as p and p* diverge. An effort to make
efficient planners for single-query holonomic path plan- a crude approximation to p*, even if obstacles are ne-
ning. Several issues and topics are mentioned below, glected, will probably lead to great improvements in
which are under current investigation. performance. In [15], the cost-to-go function from a
hybrid optimal controller was used as the metric in an
Designing Metrics The primary drawback with the RRT to generate efficient plans for a nonlinear model
RRT-based methods is the sensitivity of the perfor- of a helicopter.
mance on the choice of the metric, p. All of the results
presented in Section 6 were obtained by assigning a Efficient Nearest-Neighbors One of the key bot-
simple, weighted Euclidean metric for each model (the tlenecks in construction of RRTs so far has been near-
same metric was used for different collections of obsta- est neighbor computations. To date, we have only
cles). Nevertheless, we observed that the computation implemented the naive approach in which every ver-
time varies dramatically for some problems as the met- tex is compared to the sample state. Fortunately,
ric is varied. This behavior warrants careful investiga- the development of efficient nearest-neighbor for high-
tion into the effects of metrics. This problem might dimensional problems has been a topic of active interest
seem similar to the choice of a potential function for in recent years (e.g., [2]). Techniques exist that can
the randomized potential field planer; however, since compute nearest neighbors (or approximate nearest-
RRTs.eventually perform uniform exploration, the per- neighbors) in near-logarithmic time in the number of
formance degradation is generally not as severe as a vertices, as opposed to the naive method which takes
local minimum problem. Metrics that would fail mis- linear time. Implementation and experimentation with
erably as a potential function could still yield good nearest neighbor techniques is expected to dramatically
performance in an RRT-based planner. improve performance. Three additional concerns must
In general, we can characterize the ideal choice of be addressed: 1) any data structure that is used for
a metric (technically this should be called a pseudo- efficient nearest neighbors must allow incremental in-
metric due to the violation of some metric properties). sertions to be made efficiently due to the incremen-
Consider a cost or loss functional, L, defined as: tal construction of an RRT, and 2) the method must
support whatever metric, p, is chosen, and 3) simple
ile
i= [ I(a(t), u(t))dt + 1j(2(T)). adaptations must be made to account for the topology
of the state space (especially in the case of $1 and P?,
which arise from rotations).
As examples, this could correspond to the distance
traveled, the energy consumed, or the time elapsed dur- Collision Detection For collision detection in our
ing the execution of a trajectory. The optimal cost to previous implementations, we have not yet exploited
go from z to 2’ can be expressed as the fact that RRTs are based on incremental motions.
Given that small changes usually occur between con-
p*(¢,2’)! = min: /a I(a(t), u(t))at + utetry| | figurations, a data structure can be used that dramat-
ically improves the performance of collision detection
Rapidly-Exploring Random Trees
307
and distance computation [16, 31, 38, 42]. The incorpo-
[10] M. Cherif. Kinodynamic motion planning for all-
ration of such approaches into our RRT-based planners terrain wheeled vehicles. In [EEE Int. Conf. Robot.
should cause dramatic performance benefits. & Autom., 1999.
Acknowledgments
[11] C. Connolly, R. Grupen, and K. Souccar. A Hamil-
tonian framework for kinodynamic planning. In Proc.
of the IEEE International Conf. on Robotics and Au-
This work has benefitted greatly from discussions with tomation (ICRA’95), Nagoya, Japan, 1995.
Nancy Amato, Jim Bernard, Francesco Bullo, Peng
B. Donald and P. Xavier. Provably good approxi-
Cheng, Bruce Donald, Yan-Bin Jia, Lydia Kavraki, mation algorithms for optimal kinodynamic planning:
Jean-Claude Latombe, Jean-Paul Laumond, Kevin Robots with decoupled dynamics bounds. Algorith-
Lynch, Ahmad Masoud, and Jeff Yakey. The authors mica, 14(6):443-479, 1995.
thank Valerie Boor for supplying the problem shown
in Figure 9. LaValle is supported in part by NSF CA- [13] B. R. Donald, P. G. Xavier, J. Canny, and J. Reif.
Kinodynamic planning. Journal of the ACM, 40:1048-
REER Award IRI-9875304 and Honda. Kuffner is sup- 66, November 1993.
ported in part by a jointly-funded NSF-JSPS (Japan)
Post-Doctoral Fellowship. [14] Th. Fraichard and C. Laugier. Kinodynamic planning
in a structured and time-varying 2d workspace. In
IEEE Int. Conf. Robot. & Autom., pages 2: 1500-
References 1505, 1992.
[1] N. M. Amato and Y. Wu. A randomized roadmap [15] E. Frazzoli, M. A. Dahleh, and E. Feron. Robust hy-
method for path and manipulation planning. In [EEE brid control for autonomous vehicles motion planning.
Int. Conf. Robot. & Autom., pages 113-120, 1996. Technical Report LIDS-P-2468, Laboratory for Infor-
mation and Decision Systems, Massachusetts Institute
[2jad S. Arya, D. M. Mount, N. S. Netanyahu, R. Silver- of Technology, 1999.
man, and A. Y. Wu. An optimal algorithm for ap-
proximate nearest neighbor searching. Journal of the [16] L. J. Guibas, D. Hsu, and L. Zhang. H-Walk: Hierar-
ACM, 45:891—923, 1998. chical distance computation for moving convex bodies.
In Proc. ACM Symposium on Computational Geome-
[3—
J. Barraquand, B. Langlois, and J. C. Latombe. Nu- try, pages 265-273, 1999.
merical potential field techniques for robot path plan-
ning. IEEE Trans. Syst., Man, Cybern., 22(2):224— [17] D. Hsu, L. E. Kavraki, J.-C. Latombe, R. Motwani,
241, 1992. and S. Sorkin. On finding narrow passages with proba-
bilistic roadmap planners. In et al. P. Agarwal, editor,
[4 J. Barraquand and J.-C. Latombe.
Kecweal
Nonholonomic Robotics: The Algorithmic Perspective, pages 141-154.
multibody mobile robots: Controllability and motion A.K. Peters, Wellesley, MA, 1998.
planning in the presence of obstacles. In [EEE Int.
Conf. Robot. & Autom., pages 2328-2335, 1991. [18] D. Hsu, J.-C. Latombe, and R. Motwani. Path plan-
ning in expansive configuration spaces. Int. J. Com-
[5] R. E. Bellman. Dynamic Programming. Princeton put. Geom. & Appl., 4:495-512, 1999.
University Press, Princeton, NJ, 1957.
[6] J. E. Bobrow, S. Dubowsky, and J. S. Gibson. Time- [19] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H.
Overmars. Probabilistic roadmaps for path planning
optimal control of robotic manipulators along specified
in high-dimensional configuration spaces. IEEE Trans.
paths. Int. J. Robot. Res., 4(3):3-17, 1985.
Robot. & Autom., 12(4):566—-580, June 1996.
[7] V. Boor, N. H. Overmars, and A. F. van der Stap-
pen. The gaussian sampling strategy for probabilistic [20] R. Kindel, D. Hsu, J.-C. Latombe, and S. Rock. Kin-
odynamic motion planning amidst moving obstacles.
roadmap planners. In IEEE Int. Conf. Robot. & Au-
In IEEE Int. Conf. Robot. & Autom., 2000.
tom., pages 1018-1023, 1999.
[8cel
J. Canny, A. Rege, and J. Reif. An exact algorithm [21] J. J. Kuffner. Autonomous Agents for Real-time Ani-
mation. PhD thesis, Stanford University, 1999.
for kinodynamic planning in the plane. Discrete and
Computational Geometry, 6:461—484, 1991.
[22] J. J. Kuffner and S. M. LaValle. RRT-connect: An
[9] H. Chang and T. Y. Li. Assembly maintainability efficient approach to single-query path planning. In
study with motion planning. In IEEE Int. Conf. Ro- Proc. IEEE Int’l Conf. on Robotics and Automation,
bot. € Autom., pages 1012-1019, 1995. 2000.
308 S. M. LaValle and J. J. Kuffner
[23] F. Lamiraux and J.-P. Laumond. On the expected [37] E. Mazer, G. Talbi, J. M. Ahuactzin, and P. Bessiere.
complexity of random path planning. In JEEE Int. The Ariadne’s clew algorithm. In Proc. Int. Conf. of
Conf. Robot. & Autom., pages 3306-3311, 1996. Society of Adaptive Behavior, Honolulu, 1992.
[24] R. E. Larson. A survey of dynamic programming com- [38] B. Mirtich. V-Clip: Fast and robust polyhedral colli-
putational procedures. [EEE Trans. Autom. Control, sion detection. Technical Report TR97-05, Mitsubishi
12(6):767-774, December 1967. Electronics Research Laboratory, 1997.
[25] J.-C. Latombe. Robot Motion Planning. Kluwer Aca- [39] R. Motwani and P. Raghavan. Randomized Algo-
demic Publishers, Boston, MA, 1991. rithms. Cambridge University Press, 1995.
[26] J.-P. Laumond. Finding collision-free smooth trajec- [40] R. M. Murray and S. Sastry. Nonholonomic motion
tories for a non-holonomic mobile robot. In Proc. Int. planning: Steering using sinusoids. Trans. Automatic
Joint Conf. on Artif. Intell., pages 1120-1123, 1987. Control, 38(5):700-716, 1993.
1 Introduction
3 Sensors
1.5 T rp T = T
number of sensors is more important than their place-
ment. As long as the sensors are reasonably distributed
around the surface of the sphere we achieve nearly iden-
tical performance of our decoding method. The more
sensors we use, the more accurately can we determine A
from c(A). However, the computational burden rises
accordingly. With 50 sensors, we usually find A to
within 2 or 3 degrees. With 200 sensors we typically
find A to within half a degree.
4 Local Solution
0 n
sr
Our problem is: Given c(A), find a B € SO(3) so -60 -40 -20 0 20 60
Also notice that within 10° of the actual position, the 0. —10
graph of f decreases (stepwise) to the minimum value. oe ee O=G
Thus, a sensible approach to minimizing f(B) would 0 0 0
Encoders for Spherical Motion
313
The gradient points in the direction of steepest as-
cent, so by following a path in the opposite direction,
we are led to a (local) minimum of the function. How-
ever, for the function we are considering, the gradient
of f at B is 0 for almost all B € $O(3), and is unde-
fined otherwise.
Our solution is to use approximate gradients. We
replace the right derivatives EP f (with j = 1, 2,3) with
finite difference approximations:
iber je f(Be-**s)
2t ;
We begin with a specific step size for t (e.g., t =
0.01). If the approximate gradient we calculate is 0,
50 50
we increase t by a constant factor. We do this until
the approximate gradient is some nonzero vector x.
We then update B by a step of size t in the negative Figure 5: Plot of f(A) as A varies along two orthogonal
gradient direction, i.e., axes.
0 Bei abo
is, we can choose a threshold (say 10°) and find a finite
B+¢ Bexp< -t]}] —-21 0 “x5
subset Z C SO(3) so that for all A € SO(3) there is a
Sig Sahte) 0
B € Z so that the rotational difference between A and
where z; is the finite difference approximation to B is below the threshold.
(E} f)(B). Our method is equally simple. We precompute the
set Z C SO(3). We record in a table the vector c(B)
We then iterate this procedure. At each successive
for all B € Z. Suppose Z = {B, Bo,..., By}. We
step, we decrease t by a constant factor so we do not
create a k x n matrix M whose i, j-entry is c(B/'s;);
overrun the minimum.
i.e., this entry is the color observed by the j*® sensor if
Ideally, we continue this procedure until we reach a the ball is rotated by B; from its home position.
B at which f(B) = 0. Of course, we could get trapped Let A € SO(8) be arbitrary. Then we choose B;
at a local minimum. In this case, if f(B) is fairly small in SO(3) so that c(A) - c(B;) is as large as possible
(say f(B) < 0.2) we are actually quite close to the (best possible match). This can be done by a single
minimum and may stop there. matrix-vector multiply, Mc(A) and finding the coordi-
nate with largest index.
5 Global Solution This calculation is reasonably fast, but the matrix
M is quite large (for 100 sensors and 10000 saved ori-
In the previous section we presented a technique to find
entations we need one million entries). One idea that
a B € SO(3) that solves the equation c(B) = c(A) saves some memory and speeds up the calculation is to
provided we are given a starting Bo sufficiently near A replace M by a reduced-rank approximation.
(within 10°). However, a steepest-descent method fails
Let M = UXV™ be M’s singular value decomposi-
if we start too far from the solution because of the pres-
tion [13]. Here U is a k x k unitary matrix, V is an
ence of many local minima and the highly nonsmooth
n Xn unitary matrix, and » is a k x n diagonal ma-
nature of the function. See Figure 5.
trix whose diagonal entries are real, nonnegative, and
Our strategy is simple. Since SO(3) is compact and in decreasing order. Let r be a modest positive integer
since the descent method just needs a starting value (e.g., r = 10) and let:
that is reasonably close to the correct value, we can
evaluate f(B) over a discrete subset of SO(3). That e be the r x r upper left corner of ©,
314 E.R. Scheinerman, G.S. Chirikjian, and D. Stein
e U be the k x r matrix formed by choosing just the [6] G.S. Chirikjian and D. Stein. Kinematic de-
sign and commutation of a spherical stepper mo-
first r columns of U, and
tor. IEEE/ASME Transactions on Mechatronics,
e V be the nxr matrix formed by choosing just the 4(4):342-353, December 1999.
first r columns of V. K. Davey and G. Vachtsevanos. The analysis of fields
and torques in a spherical induction motor. IEEE
Then M = UXV". This approximate decomposition Trans. Magn., MAG-23, March 1987.
can be computed without finding the full singular value
decomposition. It is a one-time computation that is M. de Berg, M. van Kreveld, M. Overmars, and
reasonably fast. O. Schwarzkopf. Computational Geometry: Algo-
rithms and Applications. Springer-Verlag, 1997.
Notice that these three matrices consume a total of
rk+r?++rn storage. For k = 10000, n = 100 and B.R. Donald, J. Jennings, and D. Rus. Information
r = 10, this is about 100,000 which is significantly less invariants for distributed manipulation. International
than one million. We can then approximate Mc(A) Journal of Robotics Research, 16(5):673-702, October
1997.
by USV'c(A), and select the largest component(s) to
give reasonable starting values to the descent method. H. Edelsbrunner. Algorithms in Combinatorial
Our experience has been that we need to try a few Geomery. Springer-Verlag, 1987.
of the largest starting values of the approximation to
I.M. Gel’fand, R.A. Minlos, and Z.Ya. Shapiro. Repre-
Mc(A) to get a good starting value.
sentations of the rotation and Lorenz groups and their
applications. Macmillan, 1963.
Acknowledgments
S. Helgason. Differential geometry, Lie groups, and
Edward Scheinerman is supported, in part, by an Inter- symmetric spaces. Academic Press, 1978.
disciplinary Grant in the Mathematical Sciences from
R.A. Horn and C.R. Johnson. Matrix Analysis. Cam-
the National Science Foundation, DMS-9971696. Gre- bridge University Press, 1985.
gory Chirikjian and David Stein are supported by
a grant from the Robotics and Human Augmenta- Y. Kaneko, I. Yamada, and K. Itao. A spherical DC
tion program of the National Science Foundation, IS- servo motor with three degrees-of-freedom. ASME
9731720. Dynamic Systems and Controls Division, 11:398—402,
1988.
[21] J. Pei. Methodology of Design and Analysis of trasonic motor. In Proc. 1995 IEEE Int. Conf. on
Variable-Reluctance Spherical Motors. PhD thesis, Robotics and Automation, pages 2935-2940, Nagoya,
Georgia Institute of Technology, 1990. Japan, 1995.
[22] R.B. Roth and K.-M. Lee. Design optimization of [26] S. Toyama, G. Zhang, and O. Miyoshi. Development
a three degrees-of-freedom variable-reluctance spher- of new generation spherical ultrasonic motor. In Proc.
ical wrist motor. ASME J. Engineering for Industry, 1996 IEEE Int. Conf. on Robotics and Automation,
117:378-388, August 1995. pages 2871-2876, Minneapolis, Minnesota, April 1996.
[23] D. Stein and G.S. Chirikjian. Experiments in the com- [27] D.B. West. Introduction to Graph Theory. Prentice-
mutation and motion planning of a spherical stepper Hall, 1996.
motor. preprint.
[28] F. Williams, Laithwaire, and G.F. Eastham. Develop-
ment and design of spherical induction motors. Proc.
[24] C.J. Taylor and D.J. Kriegman. Minimization on the of the IEEE, pages 471-484, December 1959.
Lie group SO(3) and related manifolds. Technical
Report 9405, Yale Center for Systems Science, April
[29] Z. Zhou and K.-M. Lee. Real-time motion control of
1994. a multi-degree-of-freedom variable reluctance spheri-
cal motor. In Proc. 1996 IEEE Int. Conf. on Robotics
[25] S. Toyama, S. Sugitani, G. Zhang, Y. Miyatani, and and Automation, pages 2859-2864, Minneapolis, Min-
K. Nakamura. Multi degree of freedom spherical ul- nesota, April 1996.
canal iti eed
' iawiaed tY = 3 twa
ia hae bs hued
ti Taltie
els =) sameny4 [oe
: ag pat: Z ollany wetna
rs
ath go) Pattee foun
moe
arena aS Bet bes)
an wert ddadt
PER hy LiMo. | ,
{ al rear) * atl.ia,. ‘oad pri) iy ba Lil Ani "by
rine hen nuit! nit sca aes
boar :
tyw= el «/ Me ress:1%) tog ila’ sf rote ‘wuts “oe rare’)
fr gt eA ; ih
we 7
” ’,
ea. ef
6
Te Se iyo
OS «ten Sue ti
eee
i avdyi Af \- w
(af
Tt « )
é
Rei eee wir 29 brtiihen han. > 2
My EE Fiedienom, i > as
_ Filtaybet uh Fite Cio i ; be ‘
- te ft Veen neal
: =
7 e ss
ay i
bea i
' - .
_ = n+ rua hagey, if 7¢ it
SP MATRA Vadis
ri
- ie @cth 4 pd ache
7 a ire) “rT Ls 6 mt ‘
— : ii hs
1 le ‘ ‘\ r
oa I
@ »
:
:
j x
Notes on Visibility Roadmaps and Path Planning
J.-P. Laumond, LAAS-CNRS, Toulouse, France
T. Siméon, LAAS-CNRS, Toulouse, France
This paper overviews the probabilistic roadmap ap- route to face the constraints imposed by such a sce-
proaches to path planning whose surprising practical nario.
performances attract today an.increasing interest. We
This paper does not contain new algorithms, new
first comment on the configuration space topology in-
theorems nor new original results. It constitutes a
duced by the methods used to steer a mechanical sys-
set of remarks and working notes on probabilistic
tem. Topology induces the combinatorial complexity of
roadmaps algorithms introduced at the beginning of
the roadmaps tending to capture both coverage and con-
the ’90s [13, 25, 15] and now attracting numerous re-
nectivity of the collision-free space. Then we introduce
search groups, including ours.
the notion of optimal coverage and we provide a paper
probabilistic scheme in order to compute what we called The first section starts at the beginning: It deals
visibility roadmaps [26]. Reading notes conclude on re- with the controllability of mechanical systems inde-
cent results tending to better understand the behavior pendently from any computational perspective. In the
of these probabilistic path planning algorithms. next section we put emphasis on the choice of the meth-
ods used to steer a mechanical system from a configu-
1 Introduction ration to another one. The set of configurations reach-
able from a given configuration has various shapes de-
The framework of this work lies in the tentative to pending on the considered steering method. Paving
provide path planners working for large classes of me- the space with reachable sets asks for combinatorial
chanical systems. Such a generality is imposed by an topology issues which are discussed. The roadmaps in-
increasing number of path planning applications that duced by such pavements capture both coverage and
extend the robotics area where the research has been connectivity of the space and allow to apply a retrac-
initially conducted [19]. tion approach to path planning. At this stage, we in-
In our case, we are interested in providing CAD sys- troduce the notions of optimal coverage and visibil-
tems with path planning facilities in the context of lo- ity roadmaps. Section 4 addresses the computational
gistics and operation in industrial installations. A typ- point of view: Probabilistic algorithms are today the
ical scenario is the following one. An operator has to only effective way to pave the space with reachable
define a maintenance operation involving the moving sets. After presenting the principle of the probabilistic
of an heavy freight. He has CAD software including roadmap algorithms we show how visibility roadmaps
all the geometric details and facilities to display the may be computed. An interest of the algorithm lies
plant together with catalogue containing lists of avail- in its control. Another one is the small size of the
able tools to perform the maintenance task. He should computed roadmaps. The work related to probabilis-
choose suitable handling devices among cranes, rolling tic roadmap algorithms is reported and commented in
bridges, carts... and validate his choice by simulating Section 5.
the task within the CAD system. As the other facilities
offered by the CAD software, the use of path planners 2 Controllability and CS Topology
should be as easy as possible. The operator does not
care about path planning algorithms. Examples of mechanical systems Consider the
Probabilistic path planners, and among them, prob- mechanical systems displayed in Figure 1 together with
abilistic roadmap algorithms, appeared as a promising examples of collision-free paths. Modeling a mechan-
318 J.-P. Laumond and T. Siméon
it
320
> P
a: Resehunle sets with paths of fixed length.
bak
b: Visible sets in the presence of an obstacle
(grey domains are not reachable).
> 2
stc steering method. A set of guards is said to be cov-
ering CSfree if any configuration in C'Sfree is visible
from at least one guard.
We first address a question: Is there a finite set of
guards covering CSfree ? The answer to this question
is difficult and there exists today no general result. It
depends on both the shape of C'Syree and the consid-
ered steering method. Figure 4: Finite coverage using Steerji, exists for the cases
a, b, and d. It does not for the case c. Finite coverage using
Let us illustrate the problem via four examples of Steerman exists for the cases e, g, and h. It does not for the
2-dimensional C'Sfree (see Figure 4). First consider case f.
Steer;;,. For the cases of Figures 4(a) and 4(b), we may
provide coverage of C'Sfree, €.g., by putting guards suf-
ficiently close to convex vertices of the obstacles. The reason we say that the set of guards provides optimal
cases 4(c) and 4(d) contain an obstacle whose boundary coverage.
piece is circular and tangent to a straight-line segment:
Clearly, the set of guards providing optimal coverage
There is no way to provide a finite number of guards
is not unique. Taking a combinatorial point of view, a
covering C'Sfree for the case 4(c), while this is possible
second question is: If there exists finite optimal cover-
for the case 4(d) (in this later example it is necessary
age, are all the sets of guards achieving optimal cover-
to put at least one guard on the dashed line).
age necessarily finite? The answer is “no” in general.
Consider the same environments with Steerman. Fi-
The answer is “yes” if we consider Steer);,, and a
nite coverage exists for the cases 4(e), 4(g), and 4(h)
polygonal C'Sfree: The maximal number of guards is
while it does not exist for the case 4f.
bounded by the number of straight-line segments’. The
answer is “no” if we consider a single circular obstacle
Optimal coverage Now, we impose an additional (Figure 5).
constraint. We wish to provide coverage such that any
guard does not see any other one. Withdrawing a single 3Remark: computing the minimal number of guards
guard does not provide coverage anymore. For that constitutes the classical art gallery problem [23].
Notes on Visibility Roadmaps and Path Planning
321
Figure 9: Example of CSfree with two connected com- Probabilistic roadmaps were introduced at the begin-
ponents. Any new collision-free configuration should be ning of the ’90s at both Stanford and Utrecht Univer-
checked to know if it belongs to both connected components sity [13, 25, 15]. Ph.D. Theses of L. Kavraki [12] and P.
of CS free. Checking this 1s much more expansive in the Svestka [27] state with details the seminal foundations
case of the basic roadmap (leftt) than in the case of the of these new algorithms together with the first experi-
visibility roadmap (right). mental results which are at the origin of their success.
324 J.-P. Laumond and T. Siméon
Project 28226 MOLOG (http://www.laas.fr/molog). [12] L. Kavraki. Random networks in configuration spaces
for fast path planning. PhD Thesis, Dept of Computer
Science, Stanford University, 1995.
References
[13] L. Kavraki and J.C. Latombe. Randomized pre-
processing of configuration space for fast path plan-
[1] J.M. Ahuactzin, K.K. Gupta and E. Mazer. Manipu- ning. [EEE International Conference on Robotics and
lation planning for redundant robots: a practical ap-
Automation, San Diego (USA), 1994.
proach. Practical Motion Planning in Robotics, K.K.
Gupta and A.P. Del Pobil (Eds), J. Wiley, 1998. [14] L. Kavraki, L. Kolountzakis and J.C. Latombe. Analy-
sis of probabilistic roadmaps for path planning. IEEE
[2) R. Alami, J.P. Laumond and T. Siméon. Two manip- International Conference on Robotics and Automa-
ulation planning algorithms. Algorithmic Foundations tion, Minneapolis (USA), 1996.
of Robotics (WAFR94), K. Goldberg et al (Eds), AK
Peters, 1995. [15] L. Kavraki, P. Svestka, J.C. Latombe and M.H. Over-
mars. Probabilistic Roadmaps for Path Planning in
[3] N. Amato, O Bayazit, L. Dale, C. Jones and D. High-Dimensional Configuration Spaces, IEEE Trans-
Vallejo. OBPRM: an obstacle-based PRM for 3D actions on Robotics and Automation, Vol 12 (4), 1996.
workspaces. Robotics: The Algorithmic Perspective
(WAFR98), P. Agarwal and all (Eds), AK Peters 1998. [16] L. Kavraki and J.C. Latombe. Probabilistic roadmaps
for robot path planning. Practical Motion Planning
[4] N. Amato, O Bayazit, L. Dale, C. Jones and D. in Robotics, K. Gupta and A. del Pobil (Eds), Wiley
Vallejo. Choosing good distance metrics and local Press, 1998.
328 J.-P. Laumond and T. Siméon
[17] L. Kavraki, M. Kolountzakis and J.C. Latombe. [23] J. Goodman and J. O’Rourke. Handbook of Discrete
Analysis of Probabilistic Roadmaps for Path Planning, and Computational Geometry. CRC Press, 1997.
IEEE Transactions on Robotics and Automation, Vol
14 (1), 1998. [24] C. Nissoux. Visibilit et mthodes probabilistes pour la
planification de mouvement en robotique. PdD Thesis
[18] Y. Koga, K. Kondo, J. Kuffner and J.C. Latombe. (in french), University Paul Sabatier, Toulouse, 1999.
Planning motion with intentions. ACM SIGGRAPH,
Orlando (USA), 1994.
[25] M. Overmars and P. Svestka. A Probabilistic learning
approach to motion planning. Algorithmic Founda-
[19] J.C. Latombe. Motion planning: a journey of robots,
tions of Robotics (WAFR94), K. Goldberg et al (Eds),
molecules, digital actors, and other artifacts. The In-
ternational Journal of Robotics Research, Vol 18 (11), AK Peters, 1995.
1999.
[26] T. Siméon, J.P. Laumond and C. Nissoux. Visibility-
[20] J.P. Laumond (Ed.). Robot Motion Planning and Con- based probabilistic roadmaps for motion planning.
trol. LNCS 229, Springer Verlag, 1998 (out of print, (Submitted to Advanced Robotics Journal. A short
available freely at http: //www.laas.fr/~jpl1/). version appeared in IEEE IROS, 1999).
ae
wa
(Le
nee
WEAN y.
‘PND.
Standing
Boundary on Both Legs
Standing :
Condition Pstandinig
Motion Name
1 OnLLeg 4LBoundary2Legs 9 RBoundary2RLeg
2LLeg2LBoundary 5Legs2LBoundary 10 RLeg2RBoundary
3 LBoundary2LLeg 6 OnLegs 11 OnRLeg
7 Legs2RBoundary
8 RBoundary2Legs
Standin Standing
ayLeft | Leg
on on Right Leg
(converging towards the actual model). These schemes 2. The robot tries to follow the input motion while
have been successfully used to generate walking pat- satisfying the dynamic balance constraints.
terns for humanoid type robots [5, 6, 7]. 3. All joints or selected joints can be used in order to
maintain balance.
This paper describes an online dynamic balance sta-
4. No assumptions are made regarding the dynamic
bilization algorithm for humanoid robots that works by
stability of the input motion.
enumerating possible contact state changes, and com-
5. Information regarding the future input motion is
pensating for dynamic instabilities using all joints of
unavailable, aside from the current posture.
the body in real-time. We formulate and solve the bal-
6. The floor and the soles of the robot’s feet are both
ance compensation problem as an optimization prob-
planar.
lem. Our method can be applied to full-body motions
7. Disturbances from the environment are assumed
of humanoid robots that stand on one or two legs. Al-
to be slow.
though our experiments use bipedal humanoid-type ro-
bots, the algorithm can generally be applied to any
AutoBalancer is designed as a two-layered architecture:
type of legged robot.
the Planner manages transitions between states, while
The paper is organized as follows: Section 2 out- the Compensator keeps the robot balanced in the cur-
lines the design of the AutoBalancer algorithm. Sec- rent state.
tion 3 explains the balance compensation method in
detail. Section 4 describes experiments using a 16-DOF 2.1 States and Transitions for a Standing
remote-brained robot and 30-DOF child-size humanoid Humanoid Robot
robot. Section 5 contains some concluding remarks and
discussion. We identify the nature of contacts between the ro-
bot and the ground by enumerating states. The ro-
bot moves by making transitions between these states.
2 Design of AutoBalancer Figure 1 describes the five states and eleven transitions
used by our system. Boundary condition states repre-
“AutoBalancer” makes the following assumptions: sent the special cases when both soles of the feet are in
contact with the ground, but the entire weight of the
1. A filter function is used for maintaining dynamic robot is supported by only a single foot. Transitions
balance in real-time. between the single-leg contact states and the dual-leg
AutoBalancer: An Online Dynamic Balance Compensation Scheme
331
contact state must pass through the boundary condi-
tion states. Additional transitions include: positioning
the robot centroid above a sole, and lifting up or lower-
Ideal
ing a free leg to the ground. AutoBalancer implements
Centroid
balance compensation functions for every state transi-
Projection
tion, and switches between these functions according
to the robot state.
foot x y
2.2 Planner
M, =- (>:
Hy i6; + ,); (14) Balance Compensation as an Optimization Problem
Gail
Let 60ema be the differential input joint angle vector,
d0ret be the component to approach to the input joint
M, =— (>H.i0; + .) (15)
P -
6;(t) ©
9;(t) — Oi(t — dt) Given 68c¢ma, we can calculate 60,¢¢. Using the con-
bt ; dition of Equation 20, we can obtain constraint equa-
tions with d@comp as a variable. From the right side of
Equation 20, it follows that 6@ becomes similar to the
given input when d@comp is close to zero. Therefore,
By plugging these expressions into Equations 3, 4, we can find a d@comp Which minimizes an evaluation
and 5, we see that the constraint equations for the mo- function as follows:
ments of inertia are linear, just like the constraints on
the position of the center of gravity. H,, b can be calcu-
lated using a fast algorithm for inverse dynamics based
=> Shear) (21)
on the Newton-Euler method|8}.
The inverse dynamics problem consists of comput-
where w; is a positive weight variable. Large values
ing an appropriate set of input torques 7 given a set
of joint angles 6, joint angle velocities 8, and joint an- for w; cause dOcomp,i to be closer to zero, which in
gle accelerations 6. This algorithm solves the inverse turn causes the ith joint angle to more closely match
dynamics problem for a serial-chain manipulator with the given input. The factor w; essentially attempts to
encode the importance of the ith joint angle.
rotational joints, but it can be applied to robots with
a tree-like link structure (see Figure 4). Let the in- The three inequalities of Equations 3, 4, and 5 form
verse dynamics algorithm be denoted by INV(). The a second order programming problem. We can con-
solution torques can be computed as follows: vert each inequality to an equality, and use Lagrange
multipliers to solve this system.
560 can be obtained by solving Equation 21. Thus,
+ = INV(6, 0,8). (17) balance compensation can be solved as a second-order
334 S. Kagami, F. Kanehiro, Y. Tamiya, M. Inaba, and H. Inoue
programming problem in every control loop. The com- result in leg collisions are hard to formulate. In our
putational complexity of this problem is O(3” x (p+c)?) current implementation, the user of the system must
where n is the number of inequality constraints, p is take care to detect and prevent possible interference
the number of DOFs, and c is the total number of con- between the legs.
straints. Since Equations 1-5 consist of exactly three
Solving Single-leg Balance Compensation
inequalities, then n is a constant number.
Since all constraints in Equation 1-5, and 26 are
Limiting the Momentum
represented as linear equations in 66, by simply
We would like to impose limits on the moments of in- substituting 6C0,,6Cy,Mz,M,,Mz in Equation 20 and
ertia by considering the accumulated angular momen- OO te ft_crotch-y) 00 right-crotch_y in Equation 26, the opti-
tum of the robot. Consider the x-axis direction. Let mal d0comp can be obtained.
Mz,min; Mzmaz be the maximum and minimum mo-
ment of Equation 3. The limit values for the angular 3.3. Dual-leg Balance Compensation
momentum of the robot Lz min, Lz,max can be defined
In the dual-leg state, both legs cannot move inde-
as follows:
pendently, so a geometrical joint constraint method is
adopted to constrain the relative position and posture
of both feet. We treat the dual-leg state as a special
Lmin =a Mz mazte, (22)
case of a single-leg state using the following assump-
Lig. man = —Mz mints. (23) tions: without loss of generality,
where t, is the given time to stop the motion. The e one leg is designated as the supporting leg, while
angular momentum L, can be calculated as follows, by the other leg is free.
integrating both sides of Equation 12:
e the foot shape of the supporting leg is rectangular
and included in the convex hull of both feet (we
refer to this as the virtual sole, see Figure 5)
Similarly, moment limit values can be defined for the When both legs are contacting the ground, a closed
y and z axes. loop is formed and all the links are constrained geo-
metrically. In this section, we describe a constraint
3.2 Single-leg Balance Compensation method between two distant links. From the system
Leg Interference
of local coordinates Coords; which is attached to one
link, the posture of the local coordinates Coords2 of
During single-leg motions, the free leg may collide the other link can be represented by a translation vec-
with the supporting leg. To help prevent this, we limit tor p;_,) and a rotation vector rj_,2 (Figure 4).
the y-direction of the crotch joint, so that the angles
For every control cycle, the posture change between
are not changed from the given input:
two links 6p,_,, 6rj-,2 can be represented as a func-
tion of 6@ using the Jacobian K as follows:
OU le feteroteh a hi OOright_enotch = 0. (26)
Equation.1-5 | O((p+
| O((p + 11)")
Cx \ erst
ees ) \ ein
niet ate tea)
ere’
ea
— |
“ie Minimum Jerk
ylbe, shasie Ly, Trajectry
Since every constraint in Equations 1-5 and 27 is 2. Calculate the free leg position and posture dp,_,9
represented as a linear equation of 66, by assigning and 6rj_52 at every control cycle, and impose geo-
6Cz,6Cy,Mz,M,,Mz to Equation 20 and 6p,_,2, 67152 metrical constraints, using Equation 27.
to Equation 27, the optimal 60-omp can be obtained.
The trajectory of the free leg is calculated using a
3.4 Balance Compensation While Lowering minimum jerk model[10] to generate a smooth motion
the Foot of a Free Leg (Figure 6).
In this section we describe the geometrical constraints 3.5 Balance Compensation While Lifting
used for the state transition from the single leg state a Foot
to the boundary of the dual leg state. The constraints
result in a motion that lowers the foot of the free leg At the start of a lifting motion, the sole of the free leg
to the ground. We name the foot landing position the is attached to the ground. Thus, the robot may cause
S. Kagami, F. Kanehiro, Y. Tamiya, M. Inaba, and H. Inoue
E44 |
44 AON
BA f
0.0 02 04 06 08 1.0 1.2 14 16 1.8
time[sec]
fe
free leg has little effect upon the balance of the
whole body, it can follow the input very quickly.
Thus, when lifting a foot, the free sole is con-
strained to be parallel to the ground.
Stretching Knee
After some pre-defined time, the system transitions
L__) to a single leg state.
Motion
Motion
Output
Input
LBoundary2BLeg
awww mn anna ygh enews ce han ncen Wh wenn smn eeeeseneenen eee eB ea ns ede ohana nt aww on aware ee Oe ESSERE EERE E EEE ERE Teme
Position[mm]
X
| N oO OonBLeg
Change
a
ee
eee
rs
ree
Pee
ee
Input
oO
Standing
Condition
Position[mm]
Y | 10) ° rrr
oO N Ss Oo 00 10 12 14
Time [s]
cluding reaction to sensor input would be a very useful [6] Kazuo HIRAI. Current and Future Perspective of
improvement. Honda Humanoid Robot. In Proc. of 1997 IEEE Intl.
Conf. on Intelligent Robots and Systems (IROS’97),
pages 500-508, 1997.
References ;
[7] K. Nagasaka, M. Inaba, and H. Inoue. Walking Pat-
tern Generation for a Humanoid Robot based on Op-
[1] M. H. Raibert, H. B. Brown, and M. Chepponis. Ex-
timal Gradient Method. In Proc. of 1999 IEEE Int.
periments in Balance with a 3D One-Legged Hopping
Conf. on Systems, Man, and Cybernetics No. VI,
Machine. Robotics Research, 3(2):75-92, 1984.
1999.
[2] Marc H. Haibert: Running with symmetry. Robotics [8] J.Y.S.Luh, M.W.Walker, and R.P.C.Paul. On-Line
Research, 5(4):3-19, 1986. Computational Scheme for Mechanical Manipulators.
ASME Journal of Dynamic Systems, Measurement,
[3] Jessica K. Hodgins and Marc H. Raibert. Biped gym- Control, 102:69-76, 1980.
nastics. Robotics Research, 9(2):115-132, 1990.
[9] M.W.Walker and D.E.Orin. Efficient Dynamic Com-
[4] Vukobratovié, A.A. Frank, and D.Juri¢i¢. On the Sta- puter Simulation of Robotic Mechanisms. ASME
bility of Biped Locomotion. [EEE Trans. on Biomed- Journal of Dynamic Systems, Measurement, Control,
ical Engineering, 17(1):25-36, 1970. 104:205-211, 1982.
ai J. Yamaguchi, A. Takanishi, and I. Kato. Development —s T.Flash and N.Hogan. The coordination of arm
of a Biped Walking Robot Compensating for Three- movements:an experimentally confirmed mathemati-
Axis Moment by Trunk Motion. Journal of the Robot- cal model. The Journal of Neuroscience, 5(7):1688—
ics Society of Japan, 11(4):581-586, 1993. 1703, 1985.
AutoBalancer: An Online Dynamic Balance Compensation Scheme
[11] S. Kagami, M. Inaba, and H. Inoue. Design and Devel- [12] Toshihiro Matsui. Multithread Object-Oriented Lan-
opment of Software Platform using Remote-Brained guage Euslisp for Parallel and Asynchronous Program-
Approach. Journal of the Robotics Society of Japan, ming in Robotics. In Workshop on Concurrent Object-
15(4):550-556, 1997. based Systems, IEEE 6th Symposium on Parallel and
Distributed Processing, 1994.
on ee ; ;
a
ee
oe
<a
aia| PUL CS ee ~~ 4
7
potercal
oe: ule Yor
. x : Rotate s mis NATE tidy
sbomtahe de 81}a loyal Sut pages We
Ab, citi i oehernt
He i
pari oootinlt a
meeiials
\ “ ey i im Won < ~~ . 7
_ } ik: Ruel n b , i
; ae ves er, , fe
: Heanaeh «9 4
, i |
‘ >
Fa Un ‘i, _
wy As
ie ; . na
ee mM ee iy
fasrt ne A oe
: ae Y
ovo _
hie y
he
Coupled Oscillators for Legged Robots
Matthew D. Berkemeier, Utah State University, Logan, UT
1 Introduction
addition, the legs can telescope only. There is no
Legged robots are thought to have great potential for joint to move the leg forward and backward. For-
locomotion over rough terrain. This belief depends ward motions of the robot are not modeled yet.
heavily on observations of legged animals in rugged However, there is good reason to believe that the
outdoor environments. Currently, there are no legged vertical motions of a running system are the most
robots which can compare with humans and other ani- important. In our own analysis the vertical mo-
mals in locomotion in unstructured environments. This tions appear to be relatively unaffected by forward
motions. However, the converse is not true: the
is no surprise, as there are many other problems in
forward motions rely greatly on the vertical dy-
which biological systems excel and engineered systems
namics. For additional evidence of this, see [8].
do not (and vice versa). This paper discusses continu-
The obvious reason for these simplifications is to
ing efforts to build a quadrupedal robot with the ability
make analysis tractable. While it is easy to simu-
to run using several gaits. Simple biological principles
late a four-legged robot with many actuators and
(including central pattern generation) are being used
joints, it is usually not possible to derive analytical
to design and control the robot.
results with such a complicated system.
The current concept for a simple running quadruped
model and mechanical design is shown in Figure 1. The Coupled Oscillator Control Animals are thought
discussion of this model will be divided into three parts. to possess a Central Pattern Generator (CPG)
made up of neurons in the spinal cord. The CPG
Mechanical System This component is analogous to produces patterns for the stimulation of muscles
the animal musculoskeletal system. Rather than in rhythmic activities, such as locomotion. The
start with four legs, the model is restricted to a CPG of (at least) simple animals can produce
vertical plane and has the two front and two rear these patterns even when removed from the an-
legs collapsed into one front and one rear leg. In imal. Thus, it does not depend on feedback from
342 M. Berkemeier
sensory organs in the animal. However, when this a similar result. On the other hand, the pronk’s sta-
feedback is present, the patterns are modulated bility depended both on the inertia and the pronking
to produce signals which are better adapted to height. Oscillator-to-leg coupling was next considered
the environment the animal is operating in. This in [4] and [3]. It was shown that two-way coupling be-
is discussed in [6]. Applied mathematicians have tween an oscillator and a hopping leg provided better
modeled CPGs as coupled oscillators [5, 7]. This performance than one-way coupling from the oscillator
provides a convenient abstraction of the complex to the leg.
system of neurons present in a spinal cord. The [10] present a simple but elegant model for 2 coupled
model in Figure 1 contains two coupled oscillators. oscillators, in which only the phase of the oscillators is
These oscillators are the primary focus of this pa- important. Let 6;, 1 = 1,2, be the phase of oscillator 7.
per. The model is:
Oscillator-to-Leg Coupling The connection be-
tween the animal CPG and muscles has not re- 6, = (Wy + azo sin(O2 = 0) (1)
ceived as much attention as the CPG itself (at 65 = Wot 421 sin(0; — 62). (2)
least by mathematicians). It is clear that there
is coupling in both directions, however. The CPG Oscillator 7 has an intrinsic frequency w;. The parame-
must be able to stimulate the animal’s muscles. ters a;; are constants which control the coupling of the
Similarly, sensory organs in the legs must be able oscillators to one another. If the constants are zero,
to affect the CPG to change its frequency and then the oscillators’ phase increases at the constant
phase. rate w;t. For the case of non-zero coupling constants,
let ¢ = 0, — 02. The dynamics of ¢ (the phase differ-
The approach taken in this paper is different from
ence) are then given by:
that typically found in engineering and control papers.
Rather than attempting to construct an algorithm to
p = wy — we — (12 + G21) sind.
produce specific leg motions and gaits (synthesis), the
preliminary system in Figure 1 has been put together The equilibria are given by:
based on inspiration from biology and intuition. The
intuition comes primarily from rigorous mathematical
results which show that often, when two or more similar pein) (a—=)
a12 + aa1
| (3)
oscillators are coupled together in some manner, they
will synchronize [11]. The legged robot model in Fig- These are 1:1 phase-locked motions, in which the phase
ure 1 consists of several oscillators which are coupled difference ¢(t) is a constant over time. As an example,
(note that the legs are mechanical oscillators). Intu- suppose Ww; = We. Then the two unique equilibria are
ition suggests that for some parameter choices, the os- @ = 0, m. If ay2 + az; > 0, then in-phase oscillations
cillators in the system should synchronize. This behav- (¢@ = 0) are stable, but out-of-phase oscillations (¢ =
ior may correspond to gaits which animals use. While mw) are unstable. The reverse is true for aj2 + ag <
intuition was used to assemble the system in Figure 1, 0. For a more detailed discussion see [10]. They also
careful analysis of the model is being used to determine extend this model to a chain of N coupled oscillators
the resulting behavior of the system. with nearest neighbor coupling.
This model has some features, which are potentially
2 Background
useful in an engineered system (e.g., legged robot).
In previous work, the first and third components of These are:
the model in Figure 1 were considered in detail. The
mechanical system was analyzed in [1] and [2]. Two e Each oscillator can function without the other. If
gaits were considered, the pronk and the bound. Using the coupling mechanism fails for some reason, then
perturbation techniques, it was found that the stabil- an oscillator can still proceed at its intrinsic fre-
ity of the bound depended solely on the dimension- uency. If one oscillator fails, then the other oscil-
less inertia of the robot body. [9] had earlier proved lator can still function at its intrinsic frequency.
Coupled Oscillators for Legged Robots
343
e If the coupling constants are accessible to an Op- It is significant that the intrinsic period, T;, is fixed but
erator (or higher level control system) then there the phase changes from one firing to the next. This is
is an easy way to specify whether in-phase or out- consistent with the model in equations (1, 2). Also, in
of-phase oscillations occur. As discussed above, if previous work [3], the oscillator’s period was adjusted
a2 + agi > 0, then in-phase oscillations are the in response to feedback from a leg sensor. Thus, in the
result, while if aj2 + a2i < 0, then out-of-phase full implementation (Figure 1), the plan is to adjust
oscillations occur. the period, but it will be in response to the leg’s sen-
sor, rather than in response to coupling between the
e The system is very simple. This one system has
oscillators.
two patterns embedded in it. It is not necessary to
have two distinct systems to generate in-phase and The above oscillators would be easy to implement on
out-of-phase oscillations. The sign of the coupling a microcontroller. A timer on a microcontroller could
constants simply determines this. be used to signal (interrupt) when the desired amount
of time had elapsed (T;). When the signal occurred,
e The system is modular. Additional oscillators can the microcontroller would change its state from 0 to 1.
be added to produce a chain [10] or a ring [5]. Next, the form of coupling between the oscillators
It is not necessary to modify the existing set of needs to be determined. There are many different cou-
oscillators when new oscillators are added, except plings which could be used. For example,
to possibly introduce additional coupling.
e When an oscillator fired (made the transition from
While the above model nicely demonstrates coupled os- 0 to 1), it could check the state of the other oscilla-
cillations, it is probably not the best for use in robotics. tor. If the other oscillator was 1 (it had previously
In order to implement it, one would either have to use fired), then the phase should be reduced by some
a numerical integration routine on a microprocessor or fixed amount, to try to get them to fire at the same
build an analog circuit. Suppose microprocessors (or time in the future. If the other oscillator was 0, the
microcontrollers) were used. To obtain the benefits of phase should be increased by some fixed amount.
fault tolerance, modularity, etc., it would make sense e When an oscillator fired, it could immediately no-
to use one microprocessor per oscillator. However, con- tify the other oscillator (i.e., interrupt the other
tinuous coupling between oscillators is required. This microcontroller). The other oscillator would com-
would require a high-speed communications link be- pare the firing time with its own. This could either
tween the two microprocessors. A better approach for be a previous firing, or a firing which was about
robotics would be a modified set of equations which to occur (whichever was closest). The difference
only require infrequent communication. would be considered an error quantity, and it could
advance or retard the phase.
3 Coupled Oscillations from Difference
The first approach would be easier to implement, but
Equations the second has the advantage that there is an amplitude
associated with the error. Performance might be better
Extending the model of [10] to difference equations is
(particularly as in-phase operation was approached), if
not difficult. The following is one possible approach.
the error became smaller, the closer the firings came to
Each oscillator will produce a signal with only 2 dis- being coincident.
tinct values, say 0 and 1. We will only worry about An implementation of the second approach is as fol-
the transition from 0 to 1. This will occur at time lows:
tys, where i = 1,2 (the f is for “fire”). The transition
from 1 to 0 is not important at this point, so long as Oi(j +1) = 61(j ) —tpiG))
+ araltsa(k) (6)
it occurs. The firing time is given by a phase 6; and a Ox(k+1) = 62(k) + aailtpi—(d) to(k)] (7)
constant period T;: For a
where aj and a2; are the coupling constants.
given j, the value of k is chosen to minimize:
t(j) = A1(j) + Tig (4)
tya(k) = 62(k) + Tok. (5) |ti(k) — tro(9)| (8)
344 M. Berkemeier
In general, it is difficult to write down an explicit ex- Finally, the effective period of each oscillator would be:
pression for k as a function of 7 which minimizes (8).
Radtaot T1a21
2 21 + Toa2012 (10)
On the other hand, the implementation of this form of
coupling on a pair of microcontrollers would be rela- a12 + @21
tively easy. Notice that this is just a weighted average of the two
Between the previous and next firing of an oscilla- intrinsic periods.
tor (say, oscillator 1, with previous firing time corre- While the above shows the possibility that phase
sponding to 7 — 1 and next firing time corresponding locked patterns could exist with the discrete time sys-
to 7 + 1), there is a window, during which the oscil- tem, it certainly doesn’t demonstrate that they will
lator can receive notification that the other oscillator exist. In order to give more confidence, we will assume
has fired. When the other oscillator fires, this time is that the value of k which minimizes Equation 8 for a
compared to the current firing time (oscillator 1, firing given j is simply j7. While this will not always be the
time corresponding to j) and the difference produces a case, in Section 4 a specific example is given where this
phase adjustment for the next firing time (oscillator 1, holds.
firing time corresponding to j + 1). It is possible that Let 7(j) = tri(j) — tfo(j) be the difference in firing
no notification of firing is received during this window. times. Then,
For simplicity, this possibility is not considered in the
present paper. Note that the above discussion might AGEe tpi(j +1) — tre(9 + 1)
be easier to understand by referring to Figure 2. = A(j+1)+1) +T — 1G
(j +1)
Although each oscillator has an intrinsic period (Tj,
—T(j + 1)
and T2), the actual period can be different if the phase
is not constant. The effective period of oscillator 1 is = O,(j) + Tij + ailtse(g)
— tri(Z)] +Ti —
given by: 62(j)—Tog — aarltgi (7) — tro(9)] — Te
= tri(j) + aialtre(7) — tri) + Ti —
Temi (J) = tpi(j + 1) — tpi
(7)= A179 +1) — (9) + Th.
tyo(J) — @ailtei(7) — tye(7)]— Tr
Similarly, the effective period of oscillator 2 is given by: = [1 — (a12 Bp a21)|T (j}) +7; — To. (11)
Terro(k) = tro(k +1) — tyo(k) = 02(k +1) — 02(k) + To. Note that although Equation 11 is analogous to Equa-
tion 3, Equation 11 does not have the nonlinear sin()
In [10] the continuous-time oscillators could phase lock term that Equation 3 does. This makes the analy-
with a new frequency which was somewhere between sis simpler, although it also means that only one fixed
the intrinsic frequencies of the 2 oscillators. This is point exists.
also possible with the discrete-time system. Equating
Setting 7(j + 1) =7(j) =7 gives the fixed point:
the two effective periods gives:
T; — T>
ay2[t f2(k) — tei (9)] + Ti = aeilti (7) — tro(k)] + To a2 + @21°
or, which is the same as Equation 9. This fixed point is
T; — To
t ry k eee 9 stable provided that:
fi(j) f2( )= rye ( )
Notice the similarity between this equation and Equa- 0 < ayo + aq] < 2. (12)
expect that after the transient had died out, the firing 3. |a12| and |a21| are each sufficiently small,
time difference between the two oscillators would have
to be less than half the effective period of each oscil- then k= 4:
lator. Otherwise, Equation 8 would not be minimized.
Proof: Consider the function:
Using Equations 9 and 10 gives:
a2 + a21 a12 + 21 a?
Again using Equation 14 it is possible to show that: |j-1 j i
|
dai )r) = To] > Oscillator 2 t=22.298 t=23.348
Te To Uigairt Toai2
20.0 22.0 24.0
aj2 + G21 ai2 + aa1
One can also show that: from Equation 10. Note that the inequality in Equa-
tion 13 is just barely satisfied:
I7Q)| < | = ai2)rGG)+ T1| V7. |Tya21 + T2a12|
|, — T2| = 0.1 < 0.105 = frame ae
This is done by first showing:
Also, notice that the parameters satisfy Equation 12
\(1 — a12)7G) + Til 2 for the stability of Equation 11. The simulation was
iperigne ral 2ai2)| © performed with Equations 4-7 (not with Equation 11).
aj2 + 421 aj2 + a21 At each step it was verified that the k which minimized
1 ~axa||r(0) -
l-a T(Q)
T, — To
— ————— en
21
Equation 8 was indeed 7.
Figures 2 and 3 show the results. In Figure 2, the
oscillator outputs are shown after the transient behav-
Then, combining Equation 17, 19, and 21 gives the
ior has essentially died out (0.87? = 0.01153). The
result.
oscillators have phase-locked with a firing difference of
These two inequalities are the same as those in Equa- —0.5, which means they are almost exactly out of phase
tion 15 and 16, so this concludes the proof. a (since the effective period of each oscillator is 1.05).
Figure 2 also has labels for different firing times. Os-
4 Simulation Results cillator 1’s firing time at index j + 1 is determined by
the difference in firing times at index j of both oscilla-
In this section a specific example is considered. The tors 1 and 2. The same is true for oscillator 2. Note
parameter values are: that the firing of oscillator 1 at index j + 1 is slightly
farther away from the firing of oscillator 2 at index j
T; = il, T> = ihoil, 6, (0) = 62 (0) = 0, a12 = a21 = Ove
(22.852 — 22.298 = 0.554) than the firing of oscillator 1
The expected fixed point is given by Equation 9 as: at index j (22.298 — 21.802 = 0.496). Thus, oscillator
2 adjusts its firing time at index j + 1 based on oscil-
7 =ty —tpo =—0.5. lator 1’s firing at index j, not 7 +1. The fact that the
Coupled Oscillators for Legged Robots
347
Bite =
‘i
~
oe
1.05 | bs
So Oey
ses
paar
sere
Ja
wy
ys
a
i
1.00 4 :
0.0 10.0° 20.0
References
|
¥ }
Ces ere re
ics Research, 17(9):971—-985, September 1998.
(3—
Matthew D. Berkemeier and Kamal V. Desai. A com-
parison of three approaches for the control of hopping
height in legged robots. International Journal of Ro-
botics Research, 1999. (accepted).
[4Lome
Matthew D. Berkemeier and Kamal V. Desai. Con-
trol of hopping height in legged robots using a neural-
mechanical approach. In Proceedings of the 1999 IEEE
Figure 5: Phase-Locked Oscillations Produced by Two Mi- International Conference on Robotics and Automa-
crocontrollers. tion, pages 1695-1701, 1999.
Preliminary analysis of the discrete model demon- [7]——w N. Kopell and G. B. Ermentrout. Coupled oscillators
strated that it had similarities to the model of [10]. and the design of central pattern generators. Mathe-
matical Biosciences, 90:87—109, 1988.
Each oscillator had an intrinsic period, but under the
right conditions, the coupled pair would phase lock and [8] R. T. M’Closkey and J. W. Burdick. Periodic motions
achieve an effective period which was somewhere be- of a hopping robot with vertical and forward motion.
tween the intrinsic periods of the individual oscillators. International Journal of Robotics Research, 12(3):197—
218, 1993.
A proposition provided precise conditions under which
the oscillators phase-locked in the manner expected. A [9it A. Neishtadt and Z. Li. Stability proof of Raibert’s
simulation demonstrated phase locking for one particu- four-legged hopper in bounding gait. Technical Report
lar set of parameters. Lastly, experiments using a pair 578, New York State University, 1991.
of microcontrollers demonstrated the expected opera- [10] Richard H. Rand, Avis H. Cohen, and Philip J.
tion of the algorithm. Holmes. Systems of coupled oscillators as models of
central pattern generators. In Avis H. Cohen, Serge
The development of this model represents another
Rossignol, and Sten Grillner, editors, Neural Control
step in achieving biologically-inspired control of a of Rhythmic Movements in Vertebrates, chapter 9. Wi-
legged robot. ley, 1988.
Vision-based mobile robot navigation requires robust 1.1 Navigation Using Expected Shortest
methods for planning and executing tasks due to the Paths
unreliability of visual information. In this paper we
propose a new method for reliable vision-based naviga- Our system uses artificial landmarks as visual cues for
tion in an unmodeled dynamic environment. Artificial navigation in an unknown environment. The robot first
landmarks are used as visual cues for navigation. Our explores the environment to learn the relative locations
system builds a visibility graph among landmark loca- of the landmarks and builds a graph of landmark loca-
tions during an exploration phase and then uses that tions that it subsequently uses for navigation. During
graph for navigation. To deal with temporary occlusion navigation, the robot plans motion paths along edges
of landmarks, long-term changes in the environment, of the landmark visibility graph. If it wants to navigate
and inherent uncertainties in the landmark detection from landmark s to landmark g, it plans and executes
process, we use a probabilistic model of landmark vis- a path starting with a landmark visible from s. As
ibility. Based on the history of previous observations it moves through the environment, it continually up-
made, each visibility edge in the graph is annotated dates the graph with any newly acquired data, such as
with an estimated probability of landmark detection. measured distance between two landmarks, or changes
To solve a navigation task, our algorithm computes the to the landmark visibility information. As is discussed
expected shortest paths between all landmarks and the in Sections 2 and 3, the planner uses estimates of the
specified goal, by solving a special instance of a Markov probabilities of landmark visibility to find paths with
decision process. The paper presents both the proba- expected shortest length by solving a Markov decision
bilistic expected shortest path planner and the landmark process.
design and detection algorithm, which finds landmark
patterns under general affine transformations in real- 1.2 Landmark-based Navigation
time.
Many techniques have been employed for sensor-based
1 Introduction navigation and localization. Industrial mobile robots
Vision-based mobile robot navigation is often planned have traditionally navigated by following painted lines
using landmarks, either artificial or extracted from on the floor or tracking buried wires or infrared bea-
the environment. Such landmarks must be detected cons. The disadvantage of these approaches is that
quickly and as reliably as possible. When landmark de- they require substantial engineering of the environ-
tection is unreliable due to factors such as temporary ment. Recently many researchers have employed land-
occlusion or varying lighting conditions, the planner marks — either artificial or extracted from the envi-
should compute motion paths dynamically to always ronment — to guide the motion of a mobile robot in
find the current best path. This paper makes two ma- indoor environments. The most commonly used ap-
jor contributions: (1) A navigation system that uses proach with artificial landmarks is heuristic: Land-
probability estimates of landmark visibility in order to marks are designed and placed so that landmark de-
compute expected shortest paths between landmarks; tection under normal circumstances is straightforward.
(2) a novel landmark pattern together with a real-time The problem with the heuristic approach is that it only
algorithm for landmark detection that can handle a works under certain restricted conditions that are en-
wide range of affine transformations. forced for the sake of speed: The patterns must be
350 A. Briggs, D. Scharstein, and S. Abbott
viewed from a narrow range of distances and angles Simmons and Koenig [18] to plan navigation strategies
and will not be recognized if partially occluded. in partially observable environments.
We propose a self-similar pattern specifically de- Rather than relying on landmarks extracted from the
signed for the application of mobile robot navigation. environment [4, 5, 11, 13, 17], the approach taken in
The pattern is quickly recognizable under a variety this paper and by a number of other research groups
of viewing conditions, even when partially occluded [1, 6, 10, 15, 19, 20] is to use artificial landmarks that
or mounted at an angle. In contrast to existing ap- can be easily and unobtrusively added to the environ-
proaches that require two-dimensional analysis of an ment. Becker et al. [1] use simple landmarks attached
image, our method finds matches along individual scan- to the ceiling of the environment, and use a recognition
lines, without any preprocessing, making it suitable for algorithm that relies on a fixed distance of the pattern
real-time applications. to the camera. Taylor and Kriegman [20] utilize the
projective invariance of cross-ratios, but their approach
1.3. Related Work cannot handle partial occlusion and requires special-
Traditionally, vision-based robot navigation has pro- ized hardware for real-time performance. Lin and Tum-
ceeded from three-dimensional maps of the environ- mala [10] propose three-dimensional landmarks consist-
ment, constructed, for example, using stereo vision ing of two disks, which can be detected using Hough
techniques [3]. More recently, landmarks have been transforms from a restricted set of viewing angles. Un-
used to navigate without a full environment model. like these approaches, our method uses simple 2D land-
Techniques for mobile robot navigation based on land- marks that can be recognized under a wide range of
marks include those that are primarily reactive [5], affine transformations in real-time without specialized
those planned within a geometric environment map en- hardware.
hanced with perceptual landmarks [9, 11], and those
based on a topological description of landmark loca- 1.4 Outline of the Paper
tions without a global map [8, 13, 17].
Each of the two central themes of the paper — robust
Our navigation system uses artificial landmarks navigation and the design of artificial landmarks — is
placed throughout the environment as visual cues. A discussed in two sections. Section 2 presents our frame-
topological map of current landmark locations is first work for planning based on unreliable sensor data and
constructed during an exploratory phase and then used develops an algorithm for computing expected short-
for navigation without requiring a global geometric est paths. Section 3 discusses how a visibility graph
map. To compensate for occlusion and unreliability can be annotated with estimates of the unreliability
of landmark detection, our navigation algorithm em- of observations. Section 4 then introduces self-similar
ploys probabilistic techniques to construct reliable and functions for the design of an optimally recognizable
efficient motion paths. Several different approaches to intensity pattern. Finally, Section 5 presents an al-
probabilistic path planning have been developed in re- gorithm for finding such patterns in an image under
lated work. Blei and Kaelbling [2] describe Markov de- general affine transformations in real time.
cision processes for finding shortest paths in stochastic
graphs with partially unknown topologies. Their work |
differs from ours in that they assume that an edge is
2 Robust Navigation Using Unreliable
either passable or not, but that the state of each edge Sensors
is only known with a certain probability. Kavraki and
Latombe [7] propose a randomized method for configu- The discussion in this section is based on the following
ration space preprocessing that generates a network of scenario:
collision-free configurations in a known environment. We assume an unknown environment augmented
Overmars and Svestka [12] describe a similar proba- with visual landmarks {L,,L2,...,Ly} that can be
bilistic learning approach that extends to a number of detected by the robot, albeit unreliably. We will use
motion planning problems, including those for free fly- lowercase letters a,b,... when referring to individual
ing planar robots, car-like robots, and robots with high landmarks. The robot navigates the environment by
degrees of freedom. Finally, a Markov model is used by traveling along the edges of the visibility graph defined
Reliable Mobile Robot Navigation From Unreliable Visual Cues
351
by the landmarks. We assume an edge from landmark
a to landmark 6 has associated probability pay € (0, 1]
and length I,, > 0. The probability p,, represents
the likelihood that landmark 6 can be detected from
landmark a. The length J,, can be, for example, the
physical distance between a and b, or the time it takes
the robot to travel from a to b. In this section we in-
vestigate the problem of robot navigation given such
a visibility graph. In Section 3 we discuss how such
a graph can be constructed, and how probability and
length factors can be estimated.
Path planning in visibility graphs typically employs
shortest-path algorithms. Given a directed graph
whose edges have fixed lengths, the shortest path from Iss
a start node s to a goal node g can be computed easily, Figure 1: Path planning example: The robot at landmark
for example using Dijkstra’s algorithm. In our sce- s can currently see landmarks a and b, but not c due to
nario, landmark detection is unreliable, and thus the temporary occlusion.
edges of the graph can only be traversed some of the
time. Therefore, we must change the notion of a short- in the graph has a self-edge n > n with cost In, > 0
est path to that of a path with shortest expected length, and probability pr» = 1 (staying is always an option).
or expected shortest path.
In summary, the robot will make its decision of
2.1 Navigation Using Expected Shortest whether to go to a, to go to b, or to stay at s based on
Paths which of the three sums (Isa + Fag), (Iso + Fog), and
(Iss; +59) is the smallest. If landmark c is permanently
Before explaining how these shortest expected lengths occluded, it may seem that the robot could “get stuck”
can be computed, let us see how the robot can use at s. As will be discussed in Section 3, however, the
them to plan its path. Suppose that the robot at land- current estimate of p,. — the probability that c is vis-
mark s can currently see landmarks a and b, but not ible from s — will decrease after a repeated failure to
landmark c (see Figure 1). Let Ha, denote the ex- detect c. This will in turn increase the expected length
pected length of the shortest path from a to goal g. of the path from s to g, until eventually the expected
The total expected length of the path through a will length of going through a or 6 will be shorter.
be Isa + Fag. Similarly, the total expected length of
the path through 6 will be /,, + E,,. Thus, the smaller 2.2 Deriving the Expected Lengths of the
of those two sums will indicate a candidate shortest Shortest Paths
path. Note that these lengths are independent of the
Given a designated goal g, we will now relate the un-
probabilities p,, and psp, since at the current moment,
known quantities E,, (the expected lengths of the
both a and 6 are visible. The path with overall short-
shortest paths from each node to the goal) in recur-
est expected length, however, may go through neither
sive equations. In the next section, we show that there
a nor b. It is possible that an expected shorter path
is a unique solution to this system of equations if there
to g goes through landmark c, which usually is visible
is a path with non-zero probabilities from each node in
from s, but at the current moment is not (for example,
the graph to goal g. It turns out that this problem is
due to temporary occlusion). This would be reflected
a special instance of a Markov decision process, which
in a low expected length F,. In this case, it would
is discussed in section 2.4.
be better to stay at s and wait for c to become visible,
following relations for the unknowns IS Oe
rather than going to either a or b. To prevent the robot The
from staying at a landmark indefinitely, we associate a motivated by the discussion in the previous section.
non-zero cost with this option (for example, the time To start, the expected length of the shortest path from
it takes to acquire a new image). That is, each node n the goal to itself is:
352 A. Briggs, D. Scharstein, and S. Abbott
Next, let us consider a node n with only a single outgo- + Dna Dob os? Dag MUN bag + ag) eb Clr bon
ing edge n — a. The expected length E,, of the short- lnn + Eng)
est path from n to g can be expressed as a weighted
+ owe.
sum of two terms that correspond to whether or not a
is visible from n: + Das Dab os Pag Mine FH Bag, tne Eases
Inz a Ezg; lan = Eng).
Eng = (1 — pra) (Inn + Eng) (2)
lan + eg):
if Pna min(Ina =f Bags
Unlike in the case for only a single edge, it is no
The first term represents the case that a is not visible, longer possible to explicitly solve these equations for
which occurs with probability 1 — pn. In this case Eng because of the minimum expressions, which recur-
the only choice is to remain at n and acquire another sively relate the unknown quantities E;,. For example,
image, which incurs cost ly, and results in an expected to determine the value of the minimum expressions in
length of Inn + Eng. The second term represents the Equation 4, we need to know the ordering among Ka,
case that a is visible, which occurs with probability pra. Ky, and K,,, where K; denotes |,; + Eig. While one
In this case the expected length of the shortest path is can still deduce that K,, cannot be the smallest of the
the smaller of Ina + Eag and Inn + Eng, corresponding three, each of the remaining 4 orderings is possible:
to the options of going to a or staying at n. Recall
that we are assuming that the goal is reachable from Kem
Ks =. Be Kat, Mogens (6)
any node, and thus Ey, < oo. Given that the edge RN ale Ke i< 1G ah
nm — ais the only edge leaving n, we know that all
paths from n to g have to go through a, and thus that
Note that if such orderings were known for all nodes,
Eng = Ina + Eag. This allows us to solve Equation 2
Equations 4 and 5 would simplify to linear equations
for Eng, yielding:
involving the unknowns E,,,. The expected lengths of
bes Pna
the shortest paths could then be computed simply by
Baia = lan ri Ina ie Fag: (3) solving a system of N—1 linear equations, where N
Pna
is the total number of landmarks (including the goal).
Now, let us consider a node n with two outgoing The presence of the minima, however, prohibits this
edges n + a and n > b. The relation for the expected approach.
length of the shortest path from n to g can be expressed To summarize, the landmark visibility graph defines
analogously, except that now there are four cases, de- a system of N—1 equations — each of the form of
pending on which of a and 6 are visible. Using the Equation 5 — for the N—1 unknowns En, n ¥ g.
shorthand to denote (1 — p), we obtain the following
We now turn to the question of how this system of
relation for Eng: equations can be solved.
This theorem translates literally into an efficient al- further cost is incurred. The key insight for relating
gorithm for computing the expected shortest paths Eig. our problem to a MDP is that the states in the MDP
are not simply the nodes in the graph. Rather, each
Starting with an initial estimate X, iterate Equation
state encodes a node together with the set of outgoing
10 until the value converges!. Convergence is geometric
edges currently passable. That is, a node with k out-
(ie., the error decreases exponentially) once the cur-
going edges contributes 2” states. In each state, the
rent value is in the vicinity of the fixed point. In prac-
allowable actions are to traverse any of the passable
tice, usually no more than a few hundred iterations are
(visible) edges, including the self-edge. The cost asso-
necessary for the values to converge to within machine
ciated with an action is the length of the edge traversed.
precision. (It is possible, however, to construct graphs
The transition probabilities are the probabilities asso-
for which convergence is arbitrarily slow.)
ciated with the different states (visibility scenarios) of
Instead of iterating Equation 10, it is also possible to the destination node. For example, if the action is
repeatedly solve the linear system of Equations 9, us- to go to a node x with 2 outgoing edges z — y and
ing the previous solution to hypothesize which terms x — z, the resulting state will be one of the 4 states
are the minima in each equation. Thus, instead of encoding which of the 2 edges will be passable once x
iterating over the values of the expected lengths, we is reached; the corresponding probabilities are Dry Daz,
can iterate over the ordering of the expected lengths Dey Pez) Pay Pzzs and Peay Paz:
of the outgoing paths at each node (as in Equation
6). The iteration terminates when the-solution to the Note that while the corresponding MDP has many
current system of equations yields the same ordering more states than there are nodes or edges, a policy can
as the previous solution. It can be shown that this be specified by ordering the outgoing edges at each
second algorithm (iterating over orderings) converges node (as in Equation 6). Then, for each subset of visi-
much faster than the first (iterating over values), but ble edges, the edge corresponding to the shortest path
each iteration requires solving a system of linear equa- is chosen. Each such ordering can in turn be derived
tions, rather than just evaluating it. from a current estimate of the expected lengths of the
1Tn fact, it can be shown that the process converges for shortest paths from each node to the goal. Thus, while
any initial value xo eur st. the number of states |.$| of the MDP is:
354 A. Briggs, D. Scharstein, and S. Abbott
Now that we are armed with the ability to quickly com- 0;; = (ol? 0 ,..., 08], (13)
pute the expected shortest paths from all nodes to a
given goal node, we can apply the navigation strategy where m, is the total number of observations made
outlined in Section 2.1: At each node along the way,
from landmark i up to this point in time, and each
determine which landmarks are currently visible, and
ove € {0,1} records whether landmark j was visible.
select among those the one that yields the overall ex-
Note that observation histories can have “leading ze-
pected shortest path (which includes the option of stay-
ros”; that is, even if 7 was not visible the first few times
ing at the current position). Repeat the process at each
an observation was made, it is possible to reconstruct
subsequent node, until the goal is reached. If scanning
the complete observation history for 7 by keeping track
for all visible landmarks is significantly more expensive
of all observations ever made at landmark 7.
than just looking for the next landmark on the pre-
dicted shortest path (for example, if scanning requires Let us now turn to the function g: how can we derive
a 360 degree rotation of the robot), the strategy can be probability estimates from observation histories? In
modified as follows: If possible, travel to each landmark the simplest scenario, assuming independent observa-
in the sequence corresponding to the expected short- tions made with a fixed probability p;;, the optimal es-
est path. Only if a landmark in the planned sequence timate p;; is given by a function g that returns the ratio
cannot be detected, scan for all visible landmarks and of detections (“ones”) to the total number of observa-
replan. tions m,;. In reality, however, the observations will nei-
ther be independent, nor will the p;; stay constant over
3.1. Deriving Cost and Probability Estimates time. While some failures to detect a landmark will
have truly random causes (for example, occlusion by a
The remaining problem is how the visibility graph can person walking by), others will be caused by lighting
be constructed and how length (cost) and probability changes throughout the day, or perhaps even by perma-
factors can be estimated and maintained. Let us first nent changes to the environment (most extremely, the
discuss how to estimate the lengths of edges. Clearly, removal or addition of a landmark). Typically, obser-
once a visibility edge has been traversed by the robot, vations closely spaced in time will be highly correlated.
its length [;; is known and can be stored. Note that Therefore, in practice, a more sophisticated estimation
“length” will typically refer to the time it takes to tra- function g should be used. It is also a good idea to
verse the edge. When artificial landmarks with known record a time stamp with each observation, so that the
size are used (such as the ones presented in Section 4), temporal distribution of observations can be taken into
we can also estimate the lengths of edges that have not consideration.
Reliable Mobile Robot Navigation From Unreliable Visual Cues
395
3.2 Exploration and Navigation of a p-similar function is self-similar; that is, it is iden-
tical to itself scaled by p in the z-direction. Note that
In our landmark-based navigation system, the robot
a p-similar function is also p*-similar, for k = 2,3,...
operates in two modes: Exploration and navigation.
Self-similar intensity patterns are attractive for recog-
In exploration mode, the robot explores the environ-
nition since the property of p-similarity is invariant to
ment using a depth-first search among the unvisited
scale, and thus the distance of the pattern to the cam-
landmarks. A visibility edge between two landmarks
era does not matter.
can be traversed by visual servoing, using the real-time
recognition algorithm discussed in Section 5. At every A p-similar pattern can be detected by comparing
newly-visited landmark, the robot scans for all land- the observed intensity pattern to a version of itself
marks visible from this position, records their relative scaled by p. We can accommodate patterns of lim-
angles and estimates of their distances, and starts an ited spatial extent by restricting the comparison to a
observation history for this landmark. As is discussed window of width w. Let dpu(f) be the average ab-
in Section 5.2, the landmarks all have unique barcodes, solute difference between the original and scaled func-
which are used as node labels in the graph. As men- tions over w:
tioned above, in the process of exploring, the robot
replaces distance estimates with more accurate odom- iecoefyeaesl /HEF
W
aap neaemall C1
etry measurements. Also, as landmarks are revisited
during the exploration phase, the observation histories Then f is locally p-similar over w if and only if
are updated and the probability estimates are refined. dy,w(f) = 0. A simple method for detecting a locally
Once part of the environment has been explored, the p-similar pattern in a one-dimensional intensity func-
robot can enter navigation mode, and accept naviga- tion I(x) would then be to minimize the above measure
tion tasks from the user. For a given goal, the ex- over translations [;(7) = I(x + t):
pected shortest paths are computed and used for path
planning as described above. Navigation mode and ex- te ae ale min oh OEE
ploration mode can be interleaved seamlessly; length
and probability factors are continuously updated in The minimal value of 0 is achieved only if I is p-
both modes based on observations made and edges tra- similar over w at translation t. Unfortunately, all con-
versed. In summary, our navigation system is able to stant functions are p-similar for any p. Thus dpw(Jt)
operate robustly in the presence of unreliable sensory would also be minimal in regions of constant inten-
input, and can cope both with the temporary occlu- sity. To exclude locally constant functions, we must
sion of landmarks and with permanent changes to the detect patterns that are self-similar only for scale p
environment, such as the removal and addition of new (and p*,p®,...), and not for other scales. This can
landmarks. be achieved by mazimizing the mismatch at scale pil?
(and p?/?,p°/?,...). Let us assume without loss of
generality that the range of observable intensities is
4 A Self-similar Landmark Pattern
[0,1]. A maximal mismatch for scale ,/p is then given
if |f(z) — f(,/p2)| = 1, or locally, if:
Our vision-based navigation system relies on real-time
detection of landmarks in the environment. We have
designed a self-similar intensity pattern [16] that can dyow(f) == |Sfx foe Were
‘W
mS)
be quickly and reliably detected in images taken by
the robot. In this section we motivate our use of a In this case we say that f is (locally) \/p -antisimilar.
self-similar pattern and describe the pattern we have
developed. We can combine Equations 14 and 15, and revise
our method for detecting self-similar patterns that are
4.1 Self-similar Functions
only p-similar for a given scale p. We will maximize
the match function:
We say a function f : It = R is p-similar for a scale
It) — Gpw\l:)
m(t) = d ypw( (16)
factor p, 0<p<1, if f(x) = f(px) Vx > 0. The graph
356 A. Briggs, D. Scharstein, and S. Abbott
MUO
1
0
|7
yp 1
0 1
0 x
0 p vp 1
Figure 2: The square wave function S(x).
Hl
dle
wl
be our two-dimensional landmark pattern, where s,(z)
This function has the property that S(a +1) = S(z) is the self-similar square wave function (Equation 18)
and S(«+ 3) =1—S(z), i.e., it is a 1-periodic function
that is similar under a translation of 1 and anti-similar
under a translation of > It is easy to show that we can
transform S into a p-similar, \/p-antisimilar function
Sp by substituting log, x for z:
My(z) =
- =f We+6u)—He+pé,y)\as. (20)
1 Ww
Heep queachDagie
spre min lng wy, daw cea) A lates ot] Un(£n)| cs un (Xn) ~~ ul?) (an)| +...
[19] K. Tashiro, J. Ota, Y. C. Lin, and T. Arai. Design [20] C. J. Taylor and D. J. Kriegman. Vision-based mo-
of the optimal arrangement of artificial landmarks. In tion planning and exploration algorithms for mobile
Proceedings of IEEE International Conference on Ro- robots. In Goldberg, Halperin, Latombe, and Wilson,
botics and Automation, pages 407-413, June 1995. editors, 1994 Workshop on the Algorithmic Founda-
tions of Robotics, A. K. Peters, pages 69-83, 1995.
Toward Real-Time Path Planning in Changing
Environments
We present a new method for generating collision- approach. During a preprocessing stage, the planner
free paths for robots operating in changing environ- generates a set of nodes that correspond to random
ments. Our approach is closely related to recent prob- configurations in the configuration space (hereafter, C-
abilistic roadmap approaches. These planners use pre- space), connects these nodes using a (simple, local)
processing and query stages, and are aimed at plan- path planner to form a roadmap, and, if necessary, uses
ning many times in the same environment. In con- a subsequent sampling stage to enhance the roadmap.
trast, our preprocessing stage creates a representation During the second, on-line stage, planning is reduced
of the configuration space that can be easily modified in to query processing, in which the initial and final con-
real time to account for changes in the environment. figurations are connected to the roadmap, and the aug-
As with previous approaches, we begin by constructing mented roadmap is searched for a feasible path.
a graph that represents a roadmap in the configuration Our new approach is a descendant of the probabilis-
space, but we do not construct this graph for a spe- tic roadmap methods. Our goal, like theirs, is a real-
cific workspace. Instead, we construct the graph for an time planner that uses approximate representations
obstacle-free workspace, and encode the mapping from such as those provided by computer vision or range
workspace cells to nodes and arcs in the graph. When sensors. However, unlike probabilistic roadmap meth-
the environment changes, this mapping is used to make ods, our method is intended for robots that will operate
the appropriate modifications to the graph, and plans in changing environments, and therefore we cannot ex-
can be generated by searching the modified graph. ploit the premise that planning will occur many times
After presenting the approach, we address a number in the same environment.
of performance issues via extensive simulation results Our method begins, as do the probabilistic roadmap
for robots with as many as twenty degrees of freedom. planners, by constructing a roadmap that represents
We evaluate memory requirements, preprocessing time, the C-space. Nodes are generated by a random sam-
and the time to dynamically modify the graph and re- pling scheme, and connections between nodes are gen-
plan, all as a function of the number of degrees of free- erated using a simple, straight-line planner. Unlike
dom of the robot. the probabilistic roadmap planners, we generate a
roadmap that corresponds to an obstacle-free environ-
1 Introduction ment. Then, in a second phase of the preprocess-
ing stage, we generate a representation that encodes
In this paper, we present a new method for generating the mapping from cells in the discretized workspace
collision-free paths for robots operating in changing en- to nodes and arcs in the roadmap. These two phases
vironments. Our work builds on recent methods that are specific to the robot, but are independent of the
environment in which the robot will operate. The
use probabilistic roadmap planners [3, 8, 12, 22, 25].
The idea that the cost of planning will be amortized fact that the preprocessing is completely independent
over many planning episodes provides a justification of the robot’s target environment removes constraints
for spending extensive amounts of time during a pre- on preprocessing time. Indeed, with our approach, it
processing stage, provided the resulting representation is feasible that when a new robot is designed, an ex-
can be used to generate plans very quickly during a tended period of preprocessing could be performed, at
query stage. Thus, these planners use a two-stage the end of which, the robot would essentially be prepro-
364 P. Leven and S. Hutchinson
grammed to construct path plans in any environment [4, 18]. and for manipulation planning (i.e., construct-
that it might encounter. ing a sequence of transfer and transit paths) [1].
In the on-line planning phase, the planner first iden- There have been several previous approaches to path
tifies the cells in the discretized workspace that cor- planning in changing environments. In some cases, off-
respond to obstacles (e.g., by using a range scan- line planners have execution times that make it feasible
ner or stereo vision system), and then uses the en- to directly use them in some kinds of changing environ-
coded mapping to delete the corresponding nodes and ments with no modifications. This is the case, e.g., for
arcs from the roadmap. Planning is then reduced to the Ariadne’s Clew algorithm reported in [4, 18]. The
connecting the initial and final configurations to the Ariadne’s Clew algorithm operates by generating land-
roadmap (again, as is also the case with the probabilis- marks (during an exploration phase) and then connect-
tic roadmap planners), and then searching the roadmap ing them to the existing network (the search phase).
for a path between these newly added nodes. Of course Variations of this algorithm can be obtained by vary-
it is possible to add obstacles to the environment in ing the search phase, and by using different optimiza-
such a way that the roadmap becomes disconnected. tion criteria to select candidate landmarks [1, 19]. The
This is true for any of the probabilistic roadmap plan- idea of incrementally expanding a network for single
ners (once one knows how samples are selected, and query planning has also been used in [9] and [15]. In
how these samples are connected by local planners, it both of these, networks are grown from both the initial
is fairly straightforward to construct environments that and goal configurations until they can be connected.
will thwart them), but, as we will describe in subse- In [9] the notion of expansive C-spaces is used, while
quent sections, there are a number of steps that can be in [15], random trees are used. In [24] an adaptable ap-
taken to cope with this problem, both at runtime and proach that uses multiple local planners is described.
during the preprocessing stages. At runtime, characteristics of the problem are used to
In the on-line planning stage, our method runs in determine which (combination of) local planners will
real time; plans are generated in less than one second. be most effective.
Thus, it is feasible to use the planner even in the case We also note here that in two of these previous ap-
when obstacles are moving in the environment with proaches ((8] and [19]), the idea of somehow represent-
unknown trajectories, provided a sensing system can ing the mapping from the workspace to the C-space
identify in real-time those regions of the workspace that was incorporated. In [8], during the off-line planning
are occupied by the obstacles. stage, the planner is aware of a set of obstacles that
might be present in the environment (in their exper-
2 Related Research iments, a single obstacle was used). The locations of
these obstacles are specified a priori, and at runtime
There has been much work on probabilistic roadmap the robot sensor system determines which, if any, of
planners, including planners for articulated robots the obstacles are present in the environment. Dur-
[12, 22, 8], mobile robots in two dimensional environ- ing the off-line planning stage, the trajectories in the
ments [22], free-flying rigid objects in three dimensions paths tree that cause collision with each of these ob-
[2], and flexible surfaces [7]. There are also versions of stacles is determined. When objects are detected at
these planners that are geared toward single-shot mo-
runtime, the corresponding arcs are deleted from the
tion planning [9, 15, 24]. Some modifications to the
graph. In [19], the paths tree (created by the modified
sampling methods have also been introduced: obstacle
Ariadne’s Clew algorithm) is augmented to generate a
boundary [22, 3] and medial-axis [25].
graph. Then, for each path in the graph, the corre-
The sample configurations generated during the con- sponding workspace cells are identified. Thus, when
struction of a probabilistic roadmap can be thought of a new obstacle is added to the environment, the set
as landmarks in the C-space. A family of approaches of paths that intersect that obstacle can be deleted
based on the Ariadne’s Clew algorithm generate land- from the graph. Because these authors are primarily
marks and search for paths between landmarks in a de- interested in domains for which extensive preprocess-
terministic fashion by solving optimization problems. ing is not viable, they construct relatively small graphs
This method has been used to plan for manipulators (fewer than 100 landmarks, with fewer than 400 cor-
Toward Real-Time Path Planning in Changing Environments
365
responding paths). Therefore, it is fairly easy to add set of tasks that the robot will perform, were available,
obstacles that would disconnect the graph, even though an appropriate importance sampling scheme, or even
these obstacles might not cause the free C-space to be- a deterministic scheme (if the existence of certain ob-
come disconnected. In their experimental evaluation stacles were known in advance) could be used. More
of their planner, a single obstacle was added, and the effective schemes for generating sample configurations
addition of this obstacle resulted in disconnecting the are discussed in Section 6.
graph into five components. In such cases, their algo-
rithm resorts to the Ariadne’s algorithm to reconnect
3.2 Connecting the Nodes
the graph, which can take time long enough to prohibit
the planner from being used in environments with mov- In order to create a graph, pairs of nodes are connected
ing obstacles. by arcs that correspond to trajectories of the arm.
We believe that our planner is the first planner that Like several of the previously mentioned approaches,
constructs a representation that can be used to replan we connect each node to its k-nearest neighbors. In
in real time in changing environments. In the remain- our current implementation, the paths corresponding
der of the paper we describe the specific details of the to arcs are not tested to ensure that no self-collisions
algorithm, give extensive evaluation of our methods via take place along the path.
simulation results, and discuss the current trajectory of The distance metric used for determining the neigh-
our research efforts. bors of a node plays a very important role in the proba-
bilistic roadmap methods [2]. For these planners, good
3 Constructing the Roadmap distance metrics provide a set of neighbors to which the
local planner has a good likelihood of generating a col-
Our construction of a roadmap of the C-space is lision free path. In addition, the distance metric must
very similar to methods used in previous probabilistic be fast to compute, as it will be called many times to
roadmap planers [12]. Nodes are generated by gener- evaluate pairs of nodes (this is particularly true for the
ating sample configurations, and these nodes are then single query planners).
connected to form a graph. We will denote this graph For our application, the swept volume of a path
by G = (Gn; Ga), in which S,, is the set of nodes in the in the workspace connecting two configurations would
graph and JG, is the set of arcs in the graph. be an ideal metric. Unfortunately, as noted by oth-
Since the graph is constructed without the presence ers [2, 13], this metric is very expensive to compute,
of obstacles in the workspace, local planning to con- and therefore, in our current implementation, we have
nect the nodes is trivial. Generating samples is po- opted for approximations that are faster to compute.
tentially more complex than for the traditional proba- In [2], a number of metrics were evaluated for efficiency
bilistic roadmap planners, since we cannot exploit the and effectiveness for the case of a rigid object translat-
geometry of the C-space obstacle region to guide the ing and rotating in a three-dimensional workspace. In
sampling. We now discuss sampling the C-space, and particular, as we will discuss below, we have performed
generating arcs to connect the resulting nodes. extensive experimental evaluation with the following
four distance metrics:
3.1 Generating Sample Configurations
the 2-norm in C-space
Since there are no obstacles to consider, it is fairly easy
to generate samples in the C-space. The only hard con- n 3
straint is that self-collision (i.e., collision between dis- Ds (a,q') = lla’ — all = yo a af
tinct links of the robot) is prohibited. At present, we 4=1
the 2-norm in workspace tween the workspace and the C-space. To represent the
workspace, we use a uniform, rectangular decomposi-
tion, which we denote by W. We denote the C-space
Dy (q,4’) = paiacr = nal by @, and define the mapping ¢: W — € as
peA
then builds the appropriate neighborhoods. The en- which we have applied the following greedy expansion
coding of the neighborhoods is based on the idea dis- algorithm. The elements of W are placed into a pri-
cussed above that there will be only minor variations ority queue, Q in decreasing order of the size of the
in @ over local neighborhoods of W. Assuming for the representation of ¢(w) (ie., |dn(w)| + |¢a(w)|). Let
moment that the neighborhoods have been determined, w* be the first element in Q. Initialize n(w*) = {w*}.
one way to encode ¢ over a neighborhood 7(w*) is to Then, until the cost of adding an additional neighbor
first determine a representative ¢*(w*) and to then to n(w*) exceeds the cost of directly encoding ¢(w) or
specify ¢(w) relative to ¢*(w*) for each w € n(w*). a size threshold is reached, expand the neighborhood,
This is essentially a differential encoding, and can be deleting the added w from Q. In the hybrid approach,
specified as ¢/(w) = o(w) ® ¢*(w*), where ¢’(w) is each cell w is placed in the neighborhood 7 or m2,
the encoded representation of ¢(w) and © is the set depending on which minimizes the cost of its represen-
symmetric difference operator. tation. This is repeated for the new head of Q until the
neighborhoods form a partition of the workspace.
There are two methods for determining ¢*(w*). The
first of these is to use d(w”) itself, ie., d*(w*) = d(w*). Note that this operation is performed separately for
The second is to compute ¢*(w*) as the set that mini- both ¢, and dg.
mizes:
5 Empirical Evaluation
Ss” |é’(w)|,
wen(w*) For a real-time path planner, we are interested in three
parameters: graph update time, planning time, and
where |-| denotes set cardinality. The first method may data structure size. We are also interested in the
lead to a more efficient representation of ¢*(w*) itself,
preprocessing time, though this is less important. In
while the second minimizes |¢’(w)| for each w € n(w*). this section, we evaluate a preliminary version of the
This is a tradeoff that will have to be evaluated when planner, studying the case of serial-link manipulators
selecting which set to use for ¢*(w%*).
with revolute joints operating in a two-dimensional
There is another possible differential encoding workspace. Note that our implementation is not lim-
scheme that can also be used to take advantage of the ited to revolute joints; prismatic joints can be used
spatial coherence of ¢(w) over W. This approach is as well. We limit the following discussion to revolute
similar to above, except that instead of choosing one joints to simplify the analysis.
g*(w*) over n(w*), the ¢* is chosen individually for
each w € 7(w*) from the set of cells adjacent to w that 5.1 Experimental Set-up
are closer to w*. In this approach, ¢(w*) is encoded by
itself, the cells adjacent to w* are encoded using ¢(w*) The following experimental set-up was used to eval-
as their reference, and for each of the other w € n(w*), uate the approach. The robots tested are all serial-
the neighbor w’ to w that results in the smallest |¢’(w)| link manipulators with two to 20 revolute joints in a
is chosen, with ¢’(w) = ¢(w) @ ¢(w’). two-dimensional workspace. The workspace cells and
the robot are given three-dimensional polyhedral de-
These two approaches may be combined in a hy-
scriptions to allow the use of standard collision check-
brid approach, such that the neighborhood 7(w*) is
ing packages for collision testing. Each cell of the
composed of two parts 71(w*) encoded using the first
workspace is modeled as a unit cube, and each link
scheme above and 72(w*) encoded using the second
of the robot is modeled as a rectanguloid with a width
scheme. The cell w* is encoded as part of 7,(w*), and
of 2.1 units and a height of 1 unit. The total length of
each w € 12(w*) is encoded with respect to the adja-
the robot was fixed at 70 units, with each link length
cent cell that is closest to a member of 7; (w*).
being scaled appropriately. Each joint of the robot was
Still to be addressed is the problem of selecting the given the full revolute range of motion, and the joints
best set of representative cells in the workspace and were allowed to wrap around. In addition, the robot
the problem of choosing the best neighborhoods 7; (w*) was not tested for self-collision, except when the sam-
and 2(w*) for each w* € W* that satisfies (2). This ples of C-space were generated. To evaluate how the
is a difficult combinatoric optimization problem, for data structures and computation times grow with the
Toward Real-Time Path Planning in Changing Environments
369
graphs, we tested graphs with 2048, 8192, and 16384 1000 ag
nodes. eevee
+1 Bess es 2
4000 2 eee ae 1400 | obee rT oT a eB
Ss
8192 ---»--- 8192 ---x-- bs
900 + 1 6384
1200|
|
«
800
700
1000| - J
él
Paes
2 500 +
g -
-
400 + |
600| 4
300 -
eee
400
x : =
|
200| a 1
“_ acai
at cata oe --- ~ ee 5 -*
yen etka mepesipee eee
10 < ae eve eal
Pe cated
cet 44 12) 4S" 14) 16: 16-17. 16 18 20 (a a a
233° 4 5 6 (7 8) 18°10. 2-8 4 6 & 7 B '9 40 414, 12 10 34 16 16°47. 96. 49/20
Number of joints Number of joints
; |
600 +
2 800 x
g
‘> 500 @ «
=
400 +
E600 |
”
ne «
300 Pe 400 + * 4
“
200 x a:
|
ae x pe 200 — * S 4
eer Ee sre ae
SR — a
Sh eee
a eee | tee
a ee a oroe oo
6) 6) 7 18! 4B! AO Ay 129 4S: 14 16 46° A?’ 16° 1a) ‘20
2) 3-4) 2.3, 4.5) 8 7 <8. -B 10 41.42 13) 14. 18) 48°47, 18 19) 20
Number of joints ‘Number
of joints
Figure 2: Time in seconds to compute the k-nearest neighbors for the different distance metrics.
latter appears to have a more linear increase in compu- head for maintaining the data structure being amor-
tation time as the number of joints increases. Overall, tized over more nodes. The overhead for the data struc-
for robots with more than five joints, the workspace ture depends on the number of cells in the workspace
metric takes more time to compute. that intersect with the robot at any node in the graph.
The size of the graph varies linearly with the num- This overhead does not depend on the number of nodes
ber of nodes, with an average size of 163kB for 2048 in the graph, as long as the graph contains nodes that
nodes, 654kB for 8192 nodes, and 1309kB for 16384 span the reach of the robot in the workspace (i.e., the
nodes. The variance in size from the average was less graph contains nodes that touch all the cells in the
than 15%. workspace that the robot can reach).
The time required per node to compute the node
5.2.3. Computing ¢n
obstacle data structure increases linearly as the number
The overall size of ¢, is the product of the number of of joints increases. This is expected because the size of
nodes and the average number of cells the robot covers the geometric description of the robot used for collision
in the workspace. For a robot with a fixed maximum testing increases with the number of joints.
length, this means that the size of ¢, is largely inde-
pendent of the number of joints. For our experiments, 5.2.4 Computing ¢,
the size of ¢, per node in J, averages around 1000
The size of ¢, for different numbers of nodes is shown
bytes.
in Figure 3. As can be seen in the figure, ¢, can be-
There is a sub-linear increase in the size of ¢,, as the come quite large. This is the reason that the graphs
number of nodes increases that is a result of the over- stop at 13 joints for the 8192 node case, and 8 joints for
Toward Real-Time Path Planning in Changing Environments
371
A Ey Ls T soem) 2)
inf-norm, C-space —+—
"norm, C-space ------
90 + inf-norm, workspai * 2 ————
2-norm, workspace ©
ees
8
(Mb)
Size
cells/arc
Average
4 4 4 — 7 ais
9 10 11) 12.43 =F 15 16 17 18 19 20
Number of joints
250 T = a i
inf-norm, C-space = d ; iS
2-norm, C-space
inf-norm, workspace
rm,
---x---
ce
»--*
—-2
Figure 4: Average of |¢z'(y)| per y for Ga generated from
200 + _ the ey metric.
es & a
iz iad
le
Pa
ore g
“a
=>
150 F
4
ws
x
we g
16384 node cases in order to evaluate the compressibil-
22 Ae fe
F spst
ity of the resulting data files (see Section 5.2.5).
100 + Ox a
we
ae It is also apparent that the D¢ performs the worst
in terms of the size of ¢a. The D§ is the next worst,
fx -
ar oefe ? cs
fe « and the DW and D3” produce the best results. It is
f
0 =
fiseers
aa n 1 4 ot ee? 4 n n 4 1 4 4
expected that the two metrics defined on the workspace
29) 455, 6 er OS) 9) 10) tt
Number of joints
WA AS 14 AS. AG) 17) “18: “fe: 20
would produce better results than the C-space metrics,
8192 nodes since the workspace metrics penalize the motion in the
workspace more than do the C-space metrics. There is
300 T SG C-space T T T T T T T T T 7 no apparent advantage to D3” over DW.
2-norm, C-space ---*---
inf-norm, workspace ---+* ic)
2505
2-norm, rkspace —&
Another interesting point in Figure 3 is the appar-
ro}
ent inflection point at six joints in the graphs for the
200 +
4
, a size of ¢, when computed using the D” and D}” met-
hg
ss
3 5 Ae
f rc}
rics. This inflection point is more obvious in the 8192
=g 150+ / 7x
a and 16384 node graphs. An explanation for this is that,
given the resolution of the workspace that we are using,
the random sampling is better able to “fill” the C-space
with samples for the robot with fewer joints. This re-
sults in the nodes being closer together, and, therefore,
Number of joints
the paths between them do not cover as much of the
16384 nodes
workspace. This effect can also be seen in Figure 4,
which shows the average size of ¢,1(7) per 7 € Ga for
the DY metric (DY produces similar results).
Figure 3: Size of da.
Shown in Figure 5 is the time it takes to compute
da for the DE and D}” metrics (the DE, and the DY
the 16384 case. The limit in this case was the process
produce similar results to the DE and D3” metrics,
size of the program computing ¢,; in order to keep respectively). These times correlate well with the in-
the computation times comparable, the memory size crease in the size of ¢a: The larger da is, the longer
of the program computing ¢a was limited to the physi- it takes to compute. Notice that the graph for the
cal memory available in the computer. More examples computation times for the workspace metric shows an
were computed for the D3” metric for the 8192 and inflection point like the graphs for the size of @a.
P. Leven and S. Hutchinson
St eg
160000 So io tT
2048 —+— * ie
8192 ---x /
16384 ---* if
140000 }+- sf
: x
120000 + * wf
f x
100000 }- P
3
B ! u as
a el x’
E x
a y;
is Compression
Ratio
60000 + ; 3
f Re
40000 + * ya
x
# ras Pe
zoo |
ee 2 3 4 6
x
6 7
re
B 18
—
40
a
At) s2sid 44 15
oS!
16 i7 16
st
18 (20
0 aa 1 eee eee 1 es et ee | 1 ie
ees) cay i&) GY 7 8) el tO) TH) 12°49. 14" 16°16 “17 “18 19. (20 Number of joints
Number of joints
(b) on
(G .
Ds metric
180000, -— +1 —7 T T T T ee
Oo Te a eT ep 18 T 1 roa T TT T yt
1048 —+— 2048 —+—
8192 -—-*--- | 8192 -
160000 ai Eola x 16384 -*
16 + 4
140000 re =H
oe he 4
14+ er,
120000 + x 4 i Pm
“x
wah Pian 4
2 100000 + Xx
2 * /
= 80000 rae 4
60000 Ratio
Compression
40000
20000
4 4 1 4 n —L a | ee a
ASB 1G PRE | 6 NO) NY 92° 13 4 AS: te 17%. 48. “19/20 2a ree A er BU er 2 SS er onwin dB sn chet ee eet Ba
Number of joints 2 8) 4 i 6S) °F 1B 8 48 th 612 13 AG 1G) 48 t7,, a8)) 1B) ae
Number of joints
DY metric
(b) ¢a
Figure 5: Computation time for ¢a for two metrics.
Figure 6: Compression ratios.
ao { 1 =
planners for probabilistic roadmap methods. In Proc. [14] L. E. Kavraki, M. N. Kolountzakis, and J.-C.
IEEE Conf. Robotics and Automation, pages 630-637, Latombe. Analysis of probabilistic roadmaps for path
1998. planning. In Proc. IEEE Conf. Robotics and Automa-
tion, volume 4, pages 3020-3025, 1996.
[3] N. M. Amato, O. B. Bayazit, L. K. Dale, C. Jones,
and D. Vallejo. OBPRM: An obstacle-based PRM for [15] J. J. Kuffner, Jr. and S. M. LaValle. RRT-connect:
3D workspaces. In Proceedings of the Workshop on An efficient approach to single-query path planning.
Algorithmic Foundations of Robotics, pages 155-168, In Proc. IEEE Conf. Robotics and Automation, 2000.
1998.
[16] J.-C. Latombe. Robot Motion Planning. Kluwer Aca-
demic Publishers, Boston, 1991.
[4] P. Bessire, J.-M. Ahuactzin, E.-G. Talbi, and
BE. Mazer. The “Ariadne’s Clew” algorithm: Global
planning with local methods. In Proceedings of the
[17] M. Lin and D. Manocha. Efficient contact deter-
mination in dynamic environments. International
Workshop on Algorithmic Foundations of Robotics, Journal of Computational Geometry and Applications,
pages 39-47, 1994. 7(1):123-151, 1997.
[5(aa D. Hankerson, G. A. Harris, and J. Peter D. Johnson. [18] E. Mazer, J. M. Ahuactzin, and P. Bessire. The ari-
Introduction to Information Theory and Data Com- adne’s clew algorithm. Journal of Artificial Intelli-
pression. Discrete Mathematics and its Applications. gence Research, 9:295-316, 1998.
CRC Press, New York, 1998.
[19] A. McLean and I. Mazon. Incremental roadmaps and
[6os K. E. Hoff, T. Culver, J. Keyser, M. Lin, and global path planning in evolving industrial environ-
D. Manocha. Fast computation of generalized voronoi ments. In Proc. IEEE Conf. Robotics and Automation,
diagrams using graphics hardware. In Proceedings of pages 101-107, 1996.
SIGGRAPH 1999 Conference on Computer Graphics,
pages 277-286, 1999. [20] B. Mirtich. V-Clip: Fast and robust polyhedral colli-
sion detection. Technical Report TR97-05, Mitsubishi
[7 =
C. Holleman, L. E. Kavraki, and J. Warren. Planning Electric Research Laboratory, 201 Broadway, Cam-
paths for a flexible surface patch. In Proc. IEEE Conf. bridge, MA 02139, June 1997.
Robotics and Automation, pages 21—26, 1998.
[21] J. L. Mitchell, W. B. Pennebaker, C. E. Fogg, and D. J.
T. Horsch, F. Schwarz, and H. Tolle. Motion planning LeGall, editors. MPEG Video Compression Standard.
with many degrees of freedom — random reflections at Chapman and Hall, New York, 1997.
c-space obstacles. In Proc. IEEE Conf. Robotics and
Automation, pages 3318-3323, 1994. [22] M. H. Overmars and P. Svestka. A probabilistic learn-
ing approach to motion planning. In Proceedings of
the Workshop on Algorithmic Foundations of Robot-
[9] D. Hsu, J.-C. Latombe, and R. Motwani. Path plan-
ics, pages 19-37, 1994.
ning in expansive configuration spaces. In Proc. IEEE
Conf. Robotics and Automation, pages 2719-2726,
1997.
[23] A. Rosenfeld and A. Kak. Digital Picture Processing.
Academic Press, New York, 1982.
[10] Y.-B. Jia and M. Erdmann. Geometric sensing of [24] D. Vallejo, C. Jones, and N. M. Amato. An adaptive
known planar shapes. Technical Report CMU-RI-94- framework for ‘single shot’ motion planning. Tech-
24, CMU, July 1994. nical Report 99-024, Department of Computer Sci-
ence, Texas A&M University, College Station, TX,
[11] A. Kaufman and E. Shimony. 3D scan-conversion al- Oct. 1999.
gorithms for voxel-based graphics. In Proceedings of
the 1986 Workshop on Interactive 3D Graphics, pages [25] S. A. Wilmarth, N. M. Amato, and P. F. Stiller. Mo-
45-75, New York, 1986. ACM. tion planning for a rigid body using random networks
on the medial axis of the free space. In Proceedings of
[12] L. Kavraki and J.-C. Latombe. Randomized pre- ACM Symposium on Computational Geometry, pages
processing of configuration space for fast path plan- 173-180, 1999.
ning. In Proc. IEEE Conf. Robotics and Automation,
volume 3, pages 2138-2145, 1994. [26] P. G. Xavier. Fast swept-volume distance for robust
collision detection. In Proc. IEEE Conf. Robotics and
[13] L. Kavraki, P. Svestka, J.-C. Latombe, and M. Over- Automation, pages 1162-1169, 1997.
mars. Probabilistic roadmaps for path planning in
high-dimensional configuration spaces. IEEE Trans- [27] T. Yoshikawa. Manipulability of robotic mechanisms.
International Journal of Robotics Research, 4(2):3-9,
actions on Robotics and Automation, 12(4):566-580, 1985.
Aug. 1996.
Geometric Construction of Time Optimal
Trajectories for Differential Drive Robots
Devin J. Balkcom, Carnegie Mellon University, Pittsburgh, PA
Matthew T. Mason, Carnegie Mellon University, Pittsburgh, PA
1 Introduction
gee eg
a |
xa bw VU
NG Pa Ww)
Wy
Figure 2: Notation
|
the time optimal trajectories have been found numer- | ICI
ically, and there is current work to find a closed form
solution. The bounded velocity model is simpler, and
hes}
the structure and cost of the fastest trajectories can be Figure 3: Bounds on (wi, wr)
determined analytically.
Most of the work on time optimal control with
It follows immediately that v(t) and w(t) are mea-
bounded velocity models has focused on steered ve-
surable functions defined on the same interval. Given
hicles rather than diff drives, originating with papers
initial conditions gs = (Zs, Ys,9;) the path of the robot
by Dubins [3] and by Reeds and Shepp [5]. Many of
is given by:
the techniques employed here are an extension of op-
timal control techniques developed for steered vehicles
in [8, 9, 10]. x(t) 24+ f veos() (5)
0
s(t)= fl (8)
t
robot’s width is 2b. The wheel angular velocities are
w, and w,. With suitable choices of units we obtain: 0
i! and rectified arc length in $1, the circle of robot orien-
We 3 wi + wr) (1) tations:
w= Su-w)
il
(2) a(t)= fl (9)
and It follows that 6, z, y, s, and o are continuous,
that their time derivatives exist almost everywhere,
wy = v—bw (3) and that:
Wr = vt bw. (4)
= WwW ae. (10)
The robot is a system with control input w(t) = = vcos(0)i tae: (11)
(wi(t), w,(t)) and output q(t). Admissible controls are = vsin(™) ae. (12)
bounded Lebesgue measurable functions from time in-
terval [0,7] to the closed box W = [-1, 1] x [—1, 1] (see The admissible control region W also provides a con-
Figure 3). venient comparison with previously studied bounded
Geometric Construction of Time Optimal Tra jectories for Differential
Drive Robots 379
U v
fl = 3 sin (15)
velocity models. If we plot W in v-w space, we obtain Vector field f; corresponds to turning about a center
a diamond shape. Steered vehicles are typically mod- located under the right wheel, and f, corresponds to
eled as having a bound on the steering ratio w : v, and turning about a center located under the left wheel.
on the velocity v (Figure 4). Define \ to be an R®-valued function of time called
the adjoint vector:
We also need a notation for trajectories. Later sec-
tions show that extremal trajectories are composed of
x(t)
straight lines and turns about the robot’s center. We A(t)= A2(t)
will represent forward by +}, backward by J), left turn by
A3(t)
4), and right turn by ~~. Thus the trajectory a}
can be read “left forward left”. When necessary, a sub-
script will indicate the distance or angle traveled. We Let H: R®? x SE? x W > R be the Hamiltonian:
will use t and s to represent turns and straights of
A(A,q,wv) —< A, wif + Wy f, >
indeterminate direction.
For the bounded velocity diff drive, the adjoint equa- We also define a direction for the 7-line consistent with
tion gives: the choice of “left” and “right” for the half planes.
The minimization equation 18 can be rewritten:
r - Aah tae Maes (19)
Og wt a Wr Pr = min al 49 ZrPrs (30)
Z1,2r
0
2 a 0 (20) where ¢, and ¢, are defined to be the two switching
di sin 8 — Ag cos 8 functions:
—_
Start Goal
Necessary conditions on TCCW and TCW trajecto- Theorem 4 Zigzag subsections containing three turns
ries are not optimal.
Theorem 2 For every time-optimal trajectory o0(T) < Proof: Consider a zigzag subsection with three turns,
TT. and two straights. The straights are the same length,
so the path comprises two legs of an isoceles triangle.
Proof: Consider the fastest tst trajectory between
Construct the circle containing the start, the goal, and
a given start and goal. Obviously the straight action
the via point as in Figure 8. If we perturb the via point
connects the start to the goal. Suppose we orient our
coordinates so the angle from start to goal is 0. The to a nearby point on the same circle the turning time is
robot’s heading during the straight is either 0 or 7. To unchanged, and the translation is decreased. a
plan the turns, we must consider different paths on the
circle from 9; to 0,, passing through either 0 or 7 along Zigzags can also be said to be periodic. Let 7 be the
the way. Note that in every instance there is a round smallest positive time such that:
trip from 8, to 0, 7, 0,, and back to 0s, of length 27
(Figure 7). Hence there is a one-way trip of length 7 O(t + 7)
or less. 5 n(z(t),y(t)) = n(a(t+r7),y(t+7)).
Geometric Construction of Time Optimal Trajectories for Differential Drive
Robots 383
d n-line
6,/2
[\¢
T
Enumeration
[ Zieag | PAA [Ponad |tadat |aatat | heading 0; to the origin with heading 0, = 0, transforma-
tions T,,T2, and T3 yield up to seven other optimal trajec-
tories symmetric to the original.
5 Symmetries
tained by applying one or more of three transforma-
Further analysis of the time optimal trajectories is tions defined below. These transforms are isometries;
difficult because of the large number of cases. This if the base trajectory is optimal from the base config-
complexity is reduced using symmetries developed by uration, the transformed trajectories are optimal from
Souéres and Boissonnat [8] and Souéres and Lau- the transformed configurations.
mond [9] for steered cars. Geometrically, the transformations reflect the plane
The symmetries are summarized in Figure 10. Let across the origin or across one of three other lines: the
“base” be any trajectory from g = (x,y, @) to the ori- a-axis, a line Ag at angle (1 +6;)/2, or the line Aj at
gin. Then there are seven symmetric trajectories ob- angle 6, /2.
384 D. J. Balkcom and M. T. Mason
The three transformations are: region; the results then apply to symmetric regions.
In principle, the analysis is completed by the following
| 71: Swap ft and |) Ti: g=(-2,—y,9)
lee
aneversorder’
|Thsinfary) =Rove a)|
steps:
i,
-1.5
peloton
4 ahr
ie?
r= ||(z,y)||
¢ = arctan(y, 2)
if ¢ € ((0+7)/2,m)
U((0 — m)/2,0)
then 72 (OptBVDD(T>(q)))
if y <0 then 7; (OptBVDD(T} (q)))
if (<0
return(-)74, ValueBaseTST(q) )
else if y < 1—cos(O) Figure 13: Reachable configurations in normalized time 2.
return (\}~7}, ValueBaseSTS(q) )
else if r>tan(¢/2)
time 2. (x, y, and time are normalized by 6, the width
return(s\)., ValueBaseTST(q) )
of the robot.) Slices of this value function allow the
else
regions in which various extremal paths are optimal to
return(s\)7}, ValueBaseTSTS (q) )
be seen more clearly. For example, Figure 12 shows a
End OptBVDD slice where the angle between the start and goal robot
is fixed at 7.
For the sake of brevity, certain special cases have
been omitted from the pseudocode presented. When- 8 Graphical Method
ever two symmetric regions are adjacent, the fastest
paths for both regions are optimal. For example, if the Graphical construction of the time optimal trajectories
robot starts at (0,1, 7), then both the paths ~1)7~ and is usually straightforward. Figure 14 shows examples
4} are optimal. for each of the nine symmetry classes. The first five
classes are really quite obvious. The last four classes
There are two other cases where multiple paths will are more challenging. In this section we will see a
be optimal. When 6, = 0, there may be a continuum graphical way to identify which class gives the time-
of optimal five action paths, bounded by two different optimal trajectory, and to find the location of a via
four-action paths. When 9, = 7, there will be a con- point if one exists.
tinuum of optimal t,s paths (Class E), bounded by
The main idea is that the primary decision bound-
two-action paths of class C.
aries in the algorithm OptBVDD can be stated as condi-
In all cases, the above algorithm will return a sin- tions comparing the start heading 6,, the goal heading
gle optimal trajectory. Some additional bookkeeping §,, and the direction from start to goal. Based on this
would allow all of the optimal trajectories to be re- observation we can translate OptBVDD to a graphical
turned. procedure.
The level sets of the value function show the reach- It is convenient to choose a different coordinate sys-
able configurations of the robot for some given amount tem, which we will call bisector-centric coordinates. We
of time. Figure 13 shows the shape of this region for place the origin at the midpoint between the start and
Geometric Construction of Time Optimal Tra jectories for Differential Drive
Robots 387
also yields a simple geometric method of determining [5] J. A. Reeds and L. A. Shepp. Optimal paths for a
the optimal path structure. car that goes both forwards and backwards. Pacific
Journal of Mathematics, 145(2):367-393, 1990.
Acknowledgments
[6] D. B. Reister and F. G. Pin. Time-optimal trajecto-
ries for mobile robots with two independently driven
We would like to thank Jean Paul Laumond for guid- wheels. International Journal of Robotics Research,
ance. We would also like to thank Al Rizzi, Howie 13(1):38-54, February 1994.
Choset, Ercan Acar, and the members of the Manipu-
lation Lab for helpful comments. M. Renaud and J.-Y. Fourquet. Minimum time motion
of a mobile robot with two independent acceleration-
driven wheels. In Proceedings of the 1997 IEEE In-
References ternational Conference on Robotics and Automation,
pages 2608-2613, 1997.
[1] D. J. Balkcom and M. T. Mason. Extremal trajecto-
ries for bounded velocity differential drive robots. In
IEEE International Conference on Robotics and Au- [8] P. Souéres and J.-D. Boissonnat. Optimal trajectories
tomation, 2000. for nonholonomic mobile robots. In J.-P. Laumond,
editor, Robot Motion Planning and Control, pages 93—
[2] D. J. Balkcom and M. T. Mason. Time optimal trajec- 170. Springer, 1998.
tories for bounded velocity differential drive robots. In
IEEE International Conference on Robotics and Au-
tomation, 2000. [9] P. Souéres and J.-P. Laumond. Shortest paths synthe-
sis for a car-like robot. [IEEE Transactions on Auto-
matic Control, 41(5):672-688, May 1996.
[3] L. E. Dubins. On curves of minimal length with a
constraint on average curvature and with prescribed
initial and terminal positions and tangents. American [10] H. Sussmann and G. Tang. Shortest paths for the
Journal of Mathematics, 79:497-516, 1957. reeds-shepp car:. a worked out example of the use
of geometric techniques in nonlinear optimal control.
L. S. Pontryagin, V. G. Boltyanskii, R. V. Gamkre- SYCON 91-10, Department of Mathematics, Rutgers
lidze, and E. F. Mishchenko. The Mathematical The- University, New Brunswick, NJ 08903, 1991.
ory of Optimal Processes. John Wiley, 1962.
GHD
mynke
na
hal if
fc
Sie
NEW. DIRECTIONS
?j
ge -
Cover illustration: —
Leonardo da Vinci mechanical drawing. ANTAL
DONA
QUA
AK Peters, Ltd.