Minimalism Distribution Sup ermo dularity

Bruce Donald Jim Jennings

Department of Computer Science Department of Computer Science

Cornell University Tulane University

Ithaca NY New Orleans LA

Daniela Rus

Department of Computer Science

Dartmouth College

Hanover NH

April

mechanicallybased rob ot for pushing and Abstract

grasping eg Mas While quite general in prin

We have designed and implemented multiagent

ciple these oline are usually designed for

strategies for manipulation tasks by distributing

rob otics devices such as gripp ers or ngers attached to

mechanical lybased sequential algorithms across sev

a traditional rob ot arm To extend these results for

eral autonomous spatial lyseparated agents such as

distributed manipulation dened in this pap er in Sec

mobile robots Our experience using mobile robots for

tion there are several challenges Autonomous

the manipulation of large objects couches boxes le

mobile rob ots mob ots have a suite of sensing and

cabinets etc leads us to recommend a minimalist

control mo dalities that dier across rob ot architec

architecture for multiagent programming In particu

tures Mob ots are often b etter suited to online

lar our methodology has led us to derive asynchronous

approaches and hence the algorithms must b e adapted

distributed strategies that require no direct communi

to rely less extensively on geometrical and dynamical

cation between agents and very sparse geometric and

mo dels A host of diculties arises when a task

dynamic models of the objects our robots manipulate

must b e p erformed by a distributed team instead of

We argue for a design principle cal led sup ermo du

a single agentand hence the algorithms must com

larity which is orthogonal both to the notion of modu

p ensate by changing their communication sensing

larity in cognitive AI and also to horizontal decompo

or knowledge requirementsDon DJR DJRa

sition the nonmodularity advocated in the subsump

RDJ

tionconnectionist literature

We have rep orted on several sets of manipulation

Final ly we discuss a simple mobotScheme in

strategies which we call protocols and also on the

frastructure to implement supermodular architectures

+

metho dology which generated them Don BBD

In the past few years we have programmed many su

RDJ Jen Our most interesting proto cols are

permodular manipulation protocols and tested them ex

asynchronous and do not require communication b e

tensively on our team of mobile robots We describe

tween the agents In this pap er we address the ar

why we think the supermodular infrastructure results

chitecture and the programming environment we used

in robust simple readable manipulation strategies

to develop our proto cols We also discuss how the

that can be recycled and reused

class of distributed manipulation algorithms we have

Intro duction

develop ed leads naturally to certain architectural con

straints

In rob otics most manipulation algorithms are de

signed to execute in a single pro cess on a single com This pap er is organized as follows We b egin with

puter that takes input from all the sensors and con a discussion on minimalism and sup ermo dularity We

trols all the eectors To develop distributed ma continue by describing three dierent minimalist ma

nipulation strategies we b egan with a sequential but nipulation proto cols we have implemented and ana

lyzed in the information invariants framework and we sp ond to the data paths through which the informa

highlight their sup ermo dular structure Then we de tion passes Circuits can b e transformed by changing

scrib e the infrastructure we used for developing our the edge or vertex structure of their graphs Dier

strategies Finally we discuss how sup ermo dularity ent immersions of the graphs corresp ond to dierent

and minimalism aect distributed rob ot architectures spatial allo cations of resources An imp ortant class

of transformations consists of p ermutations A circuit

Minimalism

p ermutation is a vertex p ermutation followed by an

Minimalism pursues the following agenda For a

edge p ermutation of its graph

given rob otics task nd the minimal conguration of

Roughly sp eaking a subroutine is modular if it can

resources required to solve the task Thus minimal

b e reused without changing the interface We say a

ism attempts to reduce the resource signature for a

circuit is supermodular if it can b e relo cated to a dier

task in the same way that say Stealth technology de

ent physical lo cation and still function correctly even

creases the radar signature of an aircraft Minimalism

in the absence of circuits that formerly surrounded it

is interesting b ecause doing task A without resource B

and in the presence of new circuits at this new lo

proves that B is somehow inessential to the informa

cation In this pap er we will describ e sup ermo dular

tion structure of the task We will discuss our exp eri

circuits according to the following hierarchy of circuit

mental demonstrations and show how their implemen

transformations A circuit is replicated when it is du

tation relates to our theoretical pro ofs of minimalist

plicated at the same or at a dierent lo cation A cir

systems In particular we will describ e our Mobot

cuit is distributed when it is split up and the parts are

Scheme systema distributed multithreaded high

recombined to form dierent circuits A supermodular

level rob ot programming environment

permutation consists of moving circuits around while

In rob otics minimalism has b ecome increasingly

resp ecting sup ermo dular b oundaries

inuential Marc Raib ert showed that walking and

The chief debate b etween cognitive AI and archi

running machines could b e built without static sta

tecturally constrained approaches such as subsump

bility Erdmann and Mason showed how to do dex

tionism and connectionism is as follows cognitive AI

trous manipulation without sensing Tad McGeer

advo cates that skills should b e mo dular Connection

built a bip ed kneed walker without sensors com

ismsubsumption enforces a particular architecture

puters or actuators Ro d Bro oks has develop ed on

ab ove all else and this architecture may violate mo d

line algorithms that rely less extensively on planning

ularity We maintain that this socalled dichotomy

and worldmo dels Canny and Goldb erg have demon

opp oses the wrong categories the issue is not mo du

strated rob ot systems of minimal complexity We have

larity vs nonmo dularitythis faux dichotomy arises

taken a minimalist approach to distributed manipula

from only considering singleagent systems in which all

tion dened in this pap er in Section and also to

resources are physically colo catedin this case sup er

our choice of a software architecture for writing our

mo dularity reduces or more accurately masquerades

rob ot programs We claim that the resulting proto

as simple naked mo dularity

cols consume a nearminimum amount of resources

On the other hand in distributed systems re

The accompanying software development debugging

sources are of course not physically colo cated

and executiontime system are concomitantly parsi

In order to achieve the following goals

monious and lean

simplicity

Sup ermo dularity

ease of reuse

This pap er intro duces the concept of sup ermo du

larity and in particular it brings to the foreground

p erformance guarantees

the sup ermo dularity of our manipulation strategies

In programming it is natural to talk ab out units of

fault tolerance

organization called subroutines In mobile rob otics

we cho ose the design constraint of sup ermo dularity

particularly for distributed strategieswe have devel

We will show how sup ermo dularity achieves this goal

op ed analysis and synthesis to ols for units of orga

Since this design constraint denes an architecture

nization called circuits Don Intuitively a circuit

our architecture could also b e called sup ermo dular

is a sensoricomputational unit consisting of sensors

ity

and actuators connected by data paths We mo del

our circuits as graphs Vertices corresp ond to dier As an example of a sup ermo dular circuit illustrat

ent sensoricomputational comp onents Edges corre ing these p oints we discuss in detail two circuits

called align and pushtrack see Section has a predictable functionality for example it p er

align is a virtual orientation sensor which by ac forms to within sp ecied accuracy as in the case of the

tively exerting compliant control changes the rob ots align circuit discussed in Section In addition

heading to lie at a particular desired angular relation ii ensures that the circuit has the same functional

to a manipulated ob ject pushtrack is a virtual ef ity when moved to a dierent lo cation The goal here

fector that given a velo city control executes a guarded is to show that under any p ermutation that resp ects

move while in contact to apply a force along a desired codesignation constraints Don the sup ermo du

lineofpushing to a manipulated ob ject We will de lar circuits retain at least lo cally their p erformance

scrib e a sup ermo dular proto col called AsyncOnline guarantees Finally iii ensures that the p erformance

that uses pushtrack for multirob ot reorienting of guarantees of a sup ermo dular circuit are preserved in

large ob jects the presence of other circuits or agents that might a

Sup ermo dularity is a continuum A circuit X is said priori interfere with its basic functionality

to b e more supermodular than circuit Y if the region

We have already derived p erformance guarantees

CX of the conguration space C in which X func for sequential and single agent circuits An example

tions correctly strictly contains CY A completely is align whose analysis is describ ed in JR see

supermodular circuit Z has CZ C Hence sup er Section Arguments that rely on geometry and

mo dularity is a partial order on circuits In this pap er task mechanics can also b e made ab out our other su

we will informally use the term circuit X is often

p ermo dular circuits We b elieve that b ecause our ma

supermodular to connote that CX is large This

nipulation strategies are p erformed in quasistatic en

concept may b e quantied precisely by measuring the vironments Section given velo city b ounds the

relative volume of CX in C DRJ In this pap er p erformance guarantees of single agent sequential cir

we describ e a partial order on the circuits we describ e cuits will b e preserved when distributed We tried to

in detail Some circuits are completely sup ermo dular

demonstrate this p oint empirically by running a large

for the manipulation tasks we consider while other

numb er of tests and exp eriments While these results

circuits are not sup ermo dular at all We will show are yet to b e proved rigorously we b elieve that the

that AsyncOnline is completely sup ermo dular and sup ermo dular framework is the right architecture for

more sup ermo dular than pushtrack which in turn addressing p erformance guarantees

is more sup ermo dular than primpush the circuit

Previous Work

for applying a force along a presp ecied line of push

There has b een much work on co op erative systems

ing

of rob ots For an excellent review see CFKM

Our mantra for this pap er is as follows

Previous work on co op erative manipulation has fo

Minimalism Distribution Sup ermo dularity

cused mostly on pushing usually in the context of

b oxpushing by multiple mobile rob ots eg Par

In other words simplicity do es not arise from su

Nor

p ermo dularity but rather from minimalism Simi

Rob otic Manipulation

larly the transformations we p ermit circuits to un

dergo are constrained by the information invariants MS presents extensive analysis of grasping and

pushing op erations under a quasistatic mo del Ma

theory That is minimalism denes what it means for

sons analyses of the mechanics of pushing and grasp

circuits to b e simple and information invariants dene

what it means for circuits to b e distributed When ing have led to many practical manipulation strate

the two are combined the optimal kind of circuits gies implemented most often on anthrop omorphic

are the sup ermo dular ones rob ot arms with simple twonger gripp ers Simi

larly Bro and others have analyzed the geometry

Sup ermo dularity yields recyclable and p ortable

and mechanics of quasistatic pushing and squeeze

co de The greatest challenge is to formulate a metho d

for authoring optimal sup ermo dular circuits with per grasping of planar ob jects with common parallel jaw

formance guarantees Our research agenda for p erfor gripp ers

mance guarantees is i to ensure p erformance guaran Some work has b een done on largescale manipula

tees for individual circuits ii to show that a sup er tion using a single mobile rob ot such as LM and

mo dular circuit with p erformance guarantees retains OY The former analyze the mechanics of planar

these guarantees when relo cated and iii to show that pushing with line contact eg a mobile rob ot with a

a sup ermo dular circuit with p erformance guarantees xed at blade pushing a b ox and demonstrate a ma

retains these guarantees when distributed and paral nipulation planner which maintains this contact con

lelized More sp ecically i ensures that a circuit guration

Co op erating Mobile Rob ots tions that follow we discuss our fo cus on minimalism

our rob ot programming philosophy and the nature of

Other recent work investigates tasks in which mul

the distributed manipulation algorithms we have im

tiple mobile rob ots co op erate such as SB manip

plemented

ulation of pallets by many small rob ots in simulation

Mat study of group b ehaviors such as disp ersion

Three Distributed Minimalist Ma

and o cking ABN simulation of foraging agents

nipulation Proto cols

with and without communication

This section describ es our exp erience in building

Work combining co op eration with mob ot manipu

minimalist distributed strategies for mob ots that p er

lation includes Nor Par and DJR DJRa

form manipulation tasks We describ e the circuits that

DJRb RDJ Jen Each demonstrates the ma

implement the proto cols we develop ed for three ma

nipulation of a b ox or other large ob ject using two

nipulation tasks and highlight their sup ermo dularity

mobile rob ots Nor describ es a task in which one

We dierentiate b etween the prop erties of manipula

rob ot pushes a b ox and another rob ot clears obstacles

tion proto cols by rob ots according to the following hi

out of the way Par builds an architecture designed

erarchy In a manipulation task rob ots use forces to

to achieve faulttolerant co op eration within teams of

reorganize the rob ots space In a paral lel manipula

heterogeneous mobile rob ots and applies that archi

tion protocol two or more rob ots apply forces to the

tecture to a numb er of tasks mostly in simulation

same coupled dynamical system In a distributed ma

including hazardous waste cleanup in which several

nipulation protocol the computation and control are

mob ots co op erate to pick up a numb er of small ob jects

distributed among the rob ots in a way that qualies

and move them near a designated site

as a distributed computation

One task from Par implemented on real phys

We present three dierent tasks the proto cols we

ical rob ots is a tworob ot b oxpushing task Each

develop ed for these tasks and two examples of sup er

rob ot pushes its own end of the b ox by some xed

mo dular circuits that we recycled and reused for each

amount then waits for the other rob ot to push its end

task proto col The exp eriments provide empirical evi

This strategy can b e executed by a single rob ot in the

dence for our b elief that co de authored in sup ermo du

event of failure of the other rob ot the key feature of

lar architectures is simple predictable parallelizable

the strategy and indeed of Parkers architecture is its

and reusable

faulttolerance

Sp ecically we describ e proto cols that allow a team

We note that although much work has b een done

of small autonomous mobile rob ots to co op erate to

in simulation of co op erative manipulation there is

move large ob jects such as couches The rob ots run

1 1

little evidence that the results reect the b ehav

SPMD and MPMD manipulation proto cols with

ior of physical rob ots p erforming similar tasks Of

no explicit communication We develop ed these pro

ten the mechanics and dynamics are p o orly mo d

to cols by distributing oline sequential algorithms

eled and unreasonable assumptions are made ab out

requiring geometric mo dels and planning The result

available communication and sensing devices How

ing parallel proto cols are more online have reduced

ever Lynch and Mason LM present a simulator

dep endence on a priori geometric mo dels require no

and motion planner for singlerob ot pushing that is

communication and are typically robust resistant to

based in sound mechanics and this simulator may yet

uncertainty in control sensing and initial conditions

b e extended to multiplerob ot manipulation Also

We will discuss the circuits needed to implement

DJR DJRa DJRc DJRb Jen present

the proto cols In particular we will intro duce the fol

algorithms for tworob ot pushing and for multirob ot

lowing circuits

reorientation They analyze their proto cols with re

M the proto col for tworob ot straightline

sp ect to usage of such resources as computation re

pushing

tained state eg mo dels sensors and communica

tion Much of this work has the theme of minimalism

primpush the circuit for applying a force

asking such questions as Can we design a manipula

along a sp ecied line of pushing

tion strategy that requires no communication b etween

align the circuit that allows a rob ot to p osi

the agents

tion itself at a sp ecied relative orientation with

In the next section we summarize our most in

resp ect to a surface

teresting implemented manipulation proto cols those

1

for multirob ot pushing reorientation and push

SPMD MPMD S ingle Multiple Program Multiple

ata D ingsteering manipulation of large ob jects In the sec

of friction lies b etween the ngers The actual con

dition for stable straightline pushing is slightly more

complicated See MS for a complete analysis An

advantage of the twonger pushing strategy is that

the COF can drift around some and yet the rob ot can

keep pushing since we only need ensure the COF lies

a b

in some region b etween the lines of pushing of the n

gers see Figure a instead of on a line If the COF

Figure Two pushing tasks the goal in each case is

moves outside the region then the ngers can move

to push the blo ck in in the direction indicated by the

sideways to capture it again We have implemented

dashed arrows a In the twonger pushing task

a control lo op for this task on our forcecontrolled

as seen from ab ove the ngers drawn as circles are

Puma manipulator The basic idea is to sense the

kinematically connected in the common paralleljaw

reaction torque ab out the p oint in Figure a If

gripp er conguration b Although similar in ap

push forward in direction of the arrow If

p earance the two rob ot pushing task is quite dif

move the ngers to the right else move the ngers to

ferent Each of the mobile rob ots drawn as circles

the left

is an autonomous machine and there may b e little or

We now derive a dierent version of this pushing

no explicit communication b etween them

strategy with a parallel jaw gripp er for a system of

two autonomous rob ots that can push an ob ject This

new strategy relies on the observation that the infor

mation needed to determine the motion of the b ox

SPR the circuit for a single pushing rob ot

is present in the angle b etween the normal to the

Asynconline the proto col for two rob ot reori

face of the b ox n and the direction of pushing p See

entation

Figure We wish the new proto col to run on two

autonomous mobile rob ots which will replace the n

pushtrack the circuit for compliant pushing

gers as in Figure b We can adapt the control lo op to

at an angle while sliding on the face

servo on instead of b ecause our rob ots can use their

pushbutton bump ers to measure the relative angle b e

PusherSteerer the circuit for the MPMD

tween their heading and the orientation of the face of

manipulation system

the b ox JR Actually the rob ots rst measure

0

the initial angle b etween n and p and subsequently

We will discuss how we used these circuits to imple

compare this value to the angle t measured at time

ment the proto cols for our three manipulation tasks

t in order to infer the direction of motion of the b ox

we will show how these circuits relate to each other

A negative change in the value of this angle implies a

and we will discuss their sup ermo dularity

clo ckwise rotation of the b ox A p ositive change im

For all of our proto cols the manipulated ob jects

plies a counterclo ckwise rotation The rob ots adjust

have comparable size and dynamic complexity to the

their pushing lo cation along the face of the b ox accord

rob ots Ob jects used in our exp eriments are up to six

ingly This is an example of how the rob ots can use

rob ot diameters in length and up to twice the mass of

2

the task dynamics to determine their next actions

one of the rob ots Rep ositioning and reorientation of

Pseudoco de for this strategy called Proto col M is

these ob jects may b e p ossible only through active co

shown in Figure and the circuit for the proto col is

op eration of a team of mobile rob ots Employing mul

shown in Figure

tiple rob ots may yield p erformance b enets or other

This pushing proto col dep ends crucially on two re

advantages such as ease of programming

sources for the mob ots the ability to sense the rel

Pushing

ative orientation of the ob ject at the p oint of con

Consider a task in which a single rob ot manipu

tact and the ability to apply a force along a sp ecied

lator must push a b ox in a straight line Figure a

line of pushing The relative orientation sensor is im

depicts this task p osed for a twonger rob otic ma

plemented by using the circuit align describ ed in

nipulator We do not assume that the rob ot p ossesses

2

An alternative to using task dynamics is to use explicit

a complete mo del geometric and physical of the ob

communication The rob ots could exchange the sensed torque

ject it is pushing or of the supp orting surface With a

at their p oints of contact to determine the b est contact p oint

twongered push see Figure a the b ox will trans

on the face of the ob ject A detailed description of this metho d

is presented in DJR DJRa late in a straight line so long as the COF the center

p n p n

Left robot Right robot

θ θ

0 0

repeat repeat

push f f

push θ

measure t measure t

g g

until t until t

0 0

Figure The critical quantities for the servo lo op in

if t if t

0 0

Proto col M

translateleft translateleft

else translateright else translateright

A

Figure Proto col M A strategy for two au

tonomous rob ots to push an ob ject in a straight line

without communication

B

Figure A single pushing rob ot is not a sup ermo dular

t

circuit Relo cating the circuit from A to B results in

comm

the application of the wrong torque sign

b

init run init run

0

0

where the comp osition of align and primpush

is parallel

sgn sgn

SPR is mo dular it can b e replicated on other

s

s

rob ots for the same functionality In our lab we

case s case s

have equipp ed three rob ots with similar but dier

3

ent architectures Tommy Lily and Camel with

R

L

primpush

Figure Sensor system for Proto col M This is a

primpush is not a sup ermo dular circuit as

manipulation circuit for Proto col M

its functionality quantied by the applied torque

dep ends on its spatial lo cation When relo cated

primpush do es not impart the same torque see

Figure Moreover a multiple rob ot system where

detail in Section and Figure Pushing is imple

each rob ot is SPR may eect translations rotations

mented by a circuit called primpush describ ed in

or the null op eration ie the ob ject stays in place

RD

dep ending on their physical lo cation primpush

is our rst example of a mo dular circuit that is not

Sup ermo dularity in Pushing

sup ermo dular

In contrast to primpush align is a sup er

primpush gives us a simple version of pushing it

mo dular circuit The eect of align is to p osition a

applies a force at a xed direction with resp ect to the

rob ot at a sp ecied relative orientation with resp ect

surface of the ob ject primpush is a sub circuit that

to a surface align adapts to the surface normal to

implements Proto col M for co op erative straightline

determine the heading of the rob ot no matter where

pushing In other words primpush M

the rob ot is lo cated

A single rob ot system equipp ed with the circuit

In the following section we describ e circuits

primpush is denoted by SPR SPR eects trans

that are sup ermo dular Sp ecically we show how

lations This circuit is related to primpush by the

following information invariant equation

3

Camels diers mechanically from Tommy and Lily in that

it is a treaded rather than wheelbased rob ot and it contact

SPR align primpush bump ers are distributed on a line rather than a circular surface

0

end-of-face

primpush can b e generalized to a circuit we call

push-track spin

pushtrack so that it can apply a force at any de

sired orientation with resp ect to the surface of the

y

This generalization is achieved by combining ob ject push-track x

spin

the circuits primpush and align in a sequential

end-of-face

rather than parallel fashion The sequential comp osi

(b)

tion of align and primpush results in a circuit

sucient for the reorientation task the parallel com

COF

p osition of align and primpush results in a cir

Y

cuit sucient for the MPMD manipulation task The

X

details of the comp ositions will b e given in Sections

and (a)

a b

Reorientation

We are also interested in the reorientation of ob jects

Figure a Reorientation by one rob ot executing

by teams of mobile rob ots Consider the task whose

pushingtracking b A system of two rob ots reori

goal is to change the orientation of a large ob ject by

enting a couch The rob ot motions are shown in an

a given amount This is called the reorientation task

ob jectcentered frame Each rob ot executes a pushing

We have describ ed and analyzed in detail the reori

tracking motion Rob ots recognize when they reach

entation task in RDJ Figure depicts one rob ot

the end of a face by breaking contact and execute a

reorienting a large ob ject A rob ot can generate a ro

spinning motion to turn around and reacquire contact

tation by applying a force that is displaced from the

center of friction This prop erty relates the dynamics

and the geometry of reorientations Mas and it can

cuted by each rob ot asynchronously and in parallel to

b e used to eect continuous reorientations with mo

achieve the desired reorientation

bile rob ots The idea is to compliantly apply a sliding

4

Each rob ot

force on the face of the ob ject We call this action a

pushtrack step

pushtrack until contact break or imp ediment

When the end of the face is reached the rob ot may

turn around to reacquire contact and rep eat the push

if contact break then spin

tracking A rob ot that has gone past the end of a face

if imp ediment then graze

eectively losing contact with the ob ject has broken

contact with the ob ject A rob ot whose maximum

The intuition is that the rob ots try to maintain

applied force dened by a threshold do es not change

the pushtracking state When the end of the face

the p ose of the ob ject has encountered an impediment

is reached the spinning motion is employed to reac

One rob ot may eect any desired reorientation by

quire contact see Figure b When an imp ediment

rep eated pushtracking steps if it can apply a large

is encountered the rob ot executes a guarded move

enough force but it may require a large workspace

nearparallel to but towards the face of the ob ject

area for the rotation We are interested in multirob ot

eectively grazing the ob ject Graze terminates when

strategies that can overcome such limitations

the rob ot recontacts the ob ject or when it detects that

We now present a robust implemented reorienta

it has traveled past the end of the face Hence graze

tion proto col which relies on the ability of our rob ots

terminates in I reacquiring the ob ject at a contact

to execute pushtracking motions The proto col is on

with a longer moment arm or I I missing altogether

line do es not rely on a priori geometric mo dels is

I is detected with a guarded move I I is detected

SPMD asynchronous and requires no communication

using a sonarbased wallcorner detection algorithm of

b etween the agents

JR When I I o ccurs the rob ot executes spin

For this proto col called Asynconline two

The comp osition of these three circuits constitutes the

rob ots suce Assuming that the rob ots b egin in con

circuit for a reorienting rob ot Asynchonline con

tact with the ob ject the following algorithm is exe

sists of two reorienting rob ot circuits

We have executed this proto col on our rob ots to

4

This strategy can b e implemented by a force that forms an

reorient couches le cabinets and large b oxes some

acute angle on the contacting edge outside the friction cone

times through more than three complete revolutions

This is similar to hybrid control RC which would b e used

for a dexterous hand Rus degrees contact Bumpers contact mode angle

desired contact contact angle mode

initial desired Rotational heading change Odometry θ ∆θ

Random sign

=0?

{#t,#f}

Rotate v|| x {#t,#f}

Until

Figure Two mobile rob ots co op erating to reorient

a couch a snapshot taken from a couch reorientation

exp eriment

Figure Circuit for align The rob ot has a ring

of contact bump ers and the goal is to p osition the

rob ot so that the two front bump ers for example are

This algorithm dep ends on the robust implemen

compressed The rob ot reads its bump er congura

tation of pushtrack This is realized as the se

tion and either terminates rotates clo ckwise rotates

quential comp osition of align and primpush

counterclo ckwise or randomly rep ositions itself on the

dened in Section align is invoked rst to

face of the ob ject dep ending on the bump er values If

orient the rob ot to the face and to cho ose the correct

the two front bump ers are compressed it terminates

pushing direction Then keeping that heading xed

If a subset of the right bump ers are compressed it ro

primpush is invoked

tates counterclo ckwise If a subset of the left bump ers

Figure describ es in detail the align circuit We

are compressed it rotates clo ckwise If the rob ot fails

have run hundreds of exp eriments in which the rob ots

to align after several rotates it reacquires contact by

reliably execute align asynchronously and in par

randomization

allel We b elieve that reliability and ease of reuse of

our virtual orientation sensor come from its p erfor

may not apply the correct torque This only happ ens

mance guarantees In JR we prove that align

when the friction b etween the rob ot and the ob ject

is robust and reliable in that for the geometry of our

is such that no sliding is p ossible on the ob ject sur

rob ots the sensed angle is always accurate to within

face pushtrack can b e extended to b e completely

three degrees Our exp eriments provide empirical evi

sup ermo dular always in the following manner An in

dence that these guarantees transfer when align is

dep endent sensor can b e added to detect the situation

immersed in dierent fashions

where the rob ot applies a force that is within the fric

Similar analyses can b e carried for the other circuits

tion cone at the p oint of contact graze which

used by the reorientation proto col eg spin and

moves the rob ot without contact can then b e invoked

graze

0

to place the rob ot to B for a b etter lever arm

Let us consider now the circuit Asynconline

Sup ermo dularity of Reorientation

Asynconline consists of pushtrack spin

and graze replicated on two spatially separated

Unlike primpush pushtrack is often su

rob ots Asynconline is more sup ermo dular than

p ermo dular The reason is that when relo cated

pushtrack it is guaranteed to reorient the ob

pushtrack adapts to the lo cal surface and cho oses

ject no matter what the starting conguration of the

a pushing direction by using align that imparts

two rob ots is RDJ Asynconline is thus more

the correct torque see Figure The relo cation of

sup ermo dular than pushtrack since there are no

the pushtrack circuit from conguration A to B

constraints on where this circuit can b e relo cated so

eventually results in the same net torque on the ob

0

long as it is on the b o dy of the ob ject

ject as B will slide to B This assumes that the rob ot

slides If the rob ot do es not slide then pushtrack We can quantify the sup ermo dularity of a circuit by

A

given in BJ Bro

The system consists of two rob ots Each of the two

rob ots executing this proto col either takes on

the role of the Pusher in which

Torquecontrolled translations push the ob ject in

front of the rob ot

B' B

the rob ot follows the ob ject by continually turn

ing to align its front bump ers with the rear face of

Figure The sup ermo dularity of the pushtrack

the ob ject the rotational and translational mo

circuit In the left image the rob ot A executes

tions here are decoupled and o ccur in parallel

pushtrack and imparts the torque shown in the

and

gure The right image shows pushtrack relo

the rob ot do es not know the path that the ob ject

0

cated to B Eventually B will slide to B resulting

is supp osed to follow

in the correct torque

or the role of the Steerer in which

The rob ot knows a path that it is supp osed to

(prim-push)

follow

the rob ot is translationally compliant it controls

the heading of its wheels but do es not control

(push-track) their rate of rotation and

the rob ot moves forward as a result of b eing

pushed by the ob ject which is itself b eing pushed

by the Pusher

SUPERMODULARITY

shows two rob ots moving a rectangular

ASYNC-ONLINE (align) Figure

ob ject through a circular arc

Now it is sometimes p ossible to navigate an ob ject

Figure A partial order with resp ect to sup ermo d

in a straight line or along a circular arc using a single

ularity The arrow indicates more sup ermo dularity

rob ot If the ob jects center of friction COF is known

primpush is not sup ermo dular pushtrack

and xed and the rob ot has little control error then

is often sup ermo dular and align and Async

the rob ot can plan a control strategy to manipulate

Online are always sup ermo dular

the ob ject along a desired tra jectory with acceptably

small error However if the lo cation of the COF is not

known precisely or changes with time generally the

case then the rob ot cannot simply plan and execute

the fraction of conguration space where the circuit

a reliable tra jectory but must continually sense the

can b e relo cated and still function correctly In our

ob jects relative orientation and p osition and comp en

forthcoming work we will characterize this prop erty

sate for drift On the other hand the forces exerted

algebraically DRJ Here we develop the follow

by the rob ots in the tworob ot PusherSteerer system

ing partial order on sup ermo dular circuits We have

can constrain the ob ject reliably in the presence of

given examples of circuits that are not sup ermo dular

greater uncertainties eg in the lo cation of the COF

at all such as primpush circuits that are often

and under coarser control and sensing

sup ermo dular such as pushtrack and circuits

In his monograph on information invariants

that are always sup ermo dular such as align and

Don Donald claims that the spatial distribution

AsyncOnline The partial order on these circuits

of resources has a critical eect on the capabilities of

with resp ect to sup ermo dularity is shown in Figure

a system The PusherSteerer system validates that

MPMD Manipulation

claim Consider a singlerobot manipulation algorithm

Section presents an implemented and tested such as LM As implemented on the Cornell mo

SPMD manipulation proto col We now present an bile rob ots the execution system consists of the fol

MPMD proto col called the PusherSteerer system lowing resources each of which can b e represented as

A detailed description and analysis of this system is a circuit

circuit and the primpush circuit are comp osed in

parallel then the resulting sup ercircuit is sucient to

implement a single pushing rob ot that can for exam

ple push a couch along a path When the circuits

are distributed across two rob otsbroken up as de

scrib ed ab ovethen neither rob ot alone can manip

a b c d

ulate a couch but b oth rob ots together can manip

ulate large ob jects dexterously along a path In ad

dition the resulting distributed system reaps b enets

in terms of greater controllability and reduced sensing

and knowledge requirements

Role Trading

e f g h

In the PusherSteerer system the manipulated ob ject

Figure This series of gures depict a b ox b eing

sits b etween the rob ots One feature of this system

guided through a degree arc by a steering rob ot in

is that there is no direct communication b etween the

front following the arc and a pushing rob ot The

two rob ots they interact with indirect communica

b ox b egins with its front and rear faces approximately

tion through the mechanics of the rob otsandob ject

p erp endicular to the path In b and c the b ox ro

system The conguration is conceptually similar to a

tates in the wrong direction due to p o or initial place

rearwheeldrive automobile that has b een sliced into

ment of the Pusher relative to the Steerer By d the

three sections the rear wheels push the passenger

Pusher with no mo del of the b ox or the path and with

compartment forward in a direction determined by

no communication has comp ensated for the p o or ini

the front wheels The challenge to this conguration

tial conguration By h the b ox has traversed the

is that the pieces are separatethe rob ots have to

arc and rotated until its front and rear faces are ap

b e programmed to allow exible tra jectory following

proximately p erp endicular to the path

while keeping the ob ject b etween them The advan

tage is that the rob ots can trade rolesthe Pusher

can b ecome the Steerer and viceversa This increases

a pushing primitive primpush see Sec

the exibility of the proto col by allowing such maneu

tion

vers as the backandll that automobile drivers use

for turning cars around on narrow roads It also p er

align see Section

mits the rob otsandob ject system to reverse direction

a steering primitive steer and

without the rob ots having to move to dierent faces

on the ob ject

a priori path information

Role trading adds exibility to the system but dou

bles the resource requirements Each rob ot has to b e

Sup ermo dularity in the PusherSteerer

equipp ed with all the circuits necessary for the Pusher

System

role and for the Steerer Role A system so equipp ed it

The Pushers entire control system is obtained by

is sup ermo dular so long as the Pusher and the Steerer

the paral lel comp osition of the circuits align and

have the same direction of action

primpush The rob ot skill represented by the cir

We have p erformed over manipulation exp eri

cuit pushtrack used in Section consists of the

ments using the PusherSteere r proto col running on

sequential comp osition of align and primpush

several pairs of Cornell mobile rob ots In these ex

Thus the Pusher is equivalent to a single pushing rob ot

p eriments b oxes and similar ob jects of varying size

SPR in Section This constitutes another exam

mass mass distribution and material prop erties were

ple of sup ermo dularity here the vertex immersion

manipulated along complicated paths up to feet

for the align circuit is the same as in the reorien

in length On the basis of these exp eriments along

tation circuit but the graph p ermutation is dierent

with others which are describ ed in Bro we have

The Steerers entire control system consists of the

observed the system to b e quite robust in practice

steer circuit and path information

In each case the co de that each rob ot executed re

mained the samethere was no reco ding or tuning If all the circuits listed ab ove are colo cated that

for dierent ob jects or paths Additional exp eriments is implemented on a single rob ot and if the align

using online navigation metho ds human guidance in synchronization and communication b etween pro

one case and visual landmark recognition in another cesses

have demonstrated the exibility of the system

Since rob ot control algorithms can b e quite general

Despite conventional wisdom regarding the com

we chose a general programming language in which

plexities of programming a multirob ot system a key

to express them and provide architectural supp ort for

feature of the PusherSteerer system is its ease of

the p oints ab ove as follows

usethe actual rob ot co de is simple and elegant and

yet there remains great exibility in metho ds of path

and library calls

sp ecication

and lightweight pro cesses threads im

Infrastructure

plemented using continuations Lo cks and condi

The programs that implement our distributed ma

tion variables provide synchronization

nipulation strategies were easy to generate and are

Automatic memory management with garbage

robust In this section we discuss our development

collection of a xed physical address space no

infrastructure

virtual memory

We b egin with two architectural decisions that we

rst rep orted in our pap er Program mobile rob ots

The last p oint yields a xed upp er b ound for

in Scheme RD For details see RD These

garbage collection delays p ermitting rigorous reason

decisions concern

ing ab out realtime programs

This section describ es how well our design decisions

Why extend a generalpurp ose programming lan

worked and their implications for the infrastructure

guage instead of using or inventing a sp ecial

of manipulation proto cols We will describ e domain

purp ose rob ot language such as ALPHA Gat

constraints that must b e satised to makes the use of

or the b ehavior language Bro

Scheme practical The programming infrastructure

Of the generalpurp ose languages why Scheme

has resulted in a particular set of manipulation idioms

which p ermeate our co de We will describ e how using

We regard rob ots as computers that can exert

higherorder functions we can implement termination

forces In particular we are interested only in the

predicates control parameter caches action cues and

case these forces are external to the rob ot system

eventbased exception handling

this excludes devices like clo cks from b eing consid

Mob ot Scheme The Software Logic

ered rob ots More sp ecically we fo cus on devices

Analyzer

where these external forces are programmable this

In Sections ab ove we describ ed several dis

excludes devices like VCRs which are electronically

tributed systems in which a team of mob ots co op er

but not mechanically programmable Most sp eci

ates in manipulation tasks The programs that imple

cally we are interested in using these programmable

ment the strategies for Pushing Reorientation and

external forces for manipulation tasksthat is to re

PusherSteerer are written in Mobot Scheme a

arrange the environment external to the rob ot eg to

customized Scheme designed by Jonathan Rees for

move furniture p erform assemblies sort parts etc

the Cornell Mobile Rob ots RD Mobot Scheme

Naturally such rob ots typically use internal state to

co de for Proto col M Section is shown in Fig

enco de assumptions mo dels and exp ectations ab out

ure The most interesting feature from a develop

the external physical world Equally often sensors

ment standp oint is the distributed nature of the pro

are employed not only to build such internal state but

gramming environment The rob ots act as Scheme

also to comp ensate for errors in actuation and a priori

servers our workstations run a Scheme byteco de

mo dels

compiler and maintain serial connections to the rob ots

As such the internal state and control strategies

by wire or by radio mo dem The serial connection

can range from very simple to arbitrarily complex

is used only during debuggingthe rob ots are oth

The language must supp ort the following op erations

erwise completely autonomous p ossessing complete

Scheme virtual machines on b oard

access to eectors

A typical rob ot exp eriment session consists of in

teracting with the rob ot by typing on the worksta

access to sensors

tion The user works in an interactive Scheme en

ability to satisfy realtime constraints vironment usually running inside GnuEmacs The

Both Robots Execute

remove layers of abstraction by applying a pro cedure

to its arguments The entire language denition in

define Mtheta

cluding its history co de examples macro do cumenta

let initialangle measuretheta

tion formal syntax and semantics and extensive bibli

let repeat

ography ts into pages CR Scheme is a mo dern

if positive

highlevel functional language with automatic mem

push until

ory management rstclass functions blo ck structure

lambda theta

static scoping closures p olymorphism and dynamic

if not approx theta

initialangle typing

sign theta initialangle

Early manipulation programs for commercial an

f

throp omorphic rob ot arms were written in a Basic

translateleft

like language which lacked virtually every desirable

translateright

5

feature of mo dern programming languages More re

repeat

cently manipulators and mobile rob ots have b een pro

6

grammed in the C language The application of lan

guages like Scheme Lisp or ML to rob ot control may

Figure Proto col M co de for two mobile rob ots

have b een primarily hindered by one particular fea

with relative orientation sensing capability to execute

ture automatic memory management Systems with

the straightline pushing task This co de is an imple

this feature require p erio dic garbage collection which

mentation of the circuit shown in Figure

often stalls or at least slows other pro cessing Since

rob ot programming was assumed to require realtime

resp onse garbage collecting systems were avoided

The reasons were Robots need programs which

user has access to b oth the workstation facilities eg

meet realtime constraints and A language that

graphics sound lesystems and the mobile rob ot

garbage col lects can introduce arbitrarily long delays

Interaction with the rob ot b egins by invoking the

For many rob ots and many tasks these reasons are

mob ot readevalprint lo op Scheme forms are

not valid First many rob ots execute tasks which do

typ ed interactively at the workstation which compiles

not require realtime resp onses to sensory input For

them and sends them to the rob ot for evaluation The

example most mobile rob ots do not need to do dge

reply is interpreted by the workstation and displayed

trac on busy streets or play tennis In particular

on the screen Therefore the read and print steps

much manipulation work can b e mo deled as quasi

o ccur on the workstation while the eval is p erformed

static meaning that inertial eects are negligible

by the rob ot While a program is b eing executed

When this is the case largely b ecause sp eeds are low

the serial communications link b etween the rob ot and

and friction is signicant ob jects in the task stop

workstation is not required It can b e disconnected

moving as so on as the rob ot stops And so the rob ot

at anytime and the rob ot will continue to run inde

may stop and think for arbitrarily long p erio ds with

p endent of the workstation Of course debugging in

out upsetting the task Thus pausing for garbage col

formation cannot b e displayed during this time and

lection do es not break the strategy but instead merely

the rob ots program cannot b e altered But b oth of

slows it down

these activities may resume any time the communica

Now there are quasistatic tasks in which the

tions cable is reconnected The design of the program

rob ots cannot pause for arbitrary p erio ds of time In

ming environment also p ermits remote pro cedure calls

a dynamic environment a rob ot may have to resp ond

to take place b etween the rob ot and workstation in

to conditions eg the presence of a human b eing or

either direction The end result is that the full de

the sudden app earance of an obstacle in the world

bugging facilities of the workstation are available for

apart from the actual manipulation The interaction

development and yet the rob ot remains autonomous

able to execute programs untethered

5

The most common example is the VAL I I language which

Our choice of Mobot Scheme for development re

runs the Unimation Puma series of manipulators

6

ects a minimalist approach to multirob ot program

The Zebra Zero manipulator arm is supplied with a C li

brary of rob ot control functions and many mobile rob ots are

ming As a programming language Scheme is con

programmed in C due to the abundance of C compilers for

sidered minimal Scheme comprises of a small set of

small micropro cessors The Intel family and the Motorola

functions that enable the programmer to build layers

family of pro cessors including emb edded controller vari

ations are frequently used of abstraction by evaluating lamb da expressions and

b etween the rob ot and the manipulated ob ject may Termination predicates have b een intro duced in the

remain accurately describ ed as quasistatic We have preimage motion planning framework of LPMT

found that garbage collection do es not vitiate the ro An extensive discussion of the relative p ower of these

bustness or even signicantly degrade the p erformance termination predicates in the context of motion plan

of distributed manipulation proto cols a close exami ning may b e found in Erd

nation of current mobile rob ots reveals that very few

In the LPMT framework actions are pairs of

employ pro cessors with virtual memory In most cases

the form v tp where v is a velo city vector and tp

memory size is xed and is often small by worksta

is a termination predicate The motion continues in

tion standards As we p ointed out in RD with a

the direction v until the termination predicate returns

constant amount of memory needing garbage collec

true The predicate then is a function of all of the

tion we can easily calculate an upp er b ound on how

information available to the rob ot through sensors and

long this pro cess could p ossibly take Thus we know

a priori mo dels In the idealized mo del the predicate

8

in advance how long a pause may o ccur as the rob ot

is evaluated continuously in the background

executes its strategy and so we can predict just how

All of our motion control functions follow the

eectively in the worst case the rob ot could react to

same style for any eector including eg a camera

7

changing conditions

which may pan or tilt Bro Examples of Mobot

Scheme co de for various mo des of translation for

A rob ot running a garbage collecting programming

ward motion are in Figure We deviated from

system can execute complex co ordinated strategies

typical Scheme style by intro ducing keyword argu

in dynamic environments Each co op erative strategy

ments which mo dify the eects of the motion Hence

presented in this pap er is an example The programs

a set of defaults must b e maintained and there are that implement our strategies must of course access

setdefault and getdefault functions for this

motors and sensors on our rob ots In the next setion

purp ose Default values are used for any argument

we describ e this interface

not given explicitly in the call to translate

Higher Order Functions

Our motion control functions represent sensor

The most critical features of our Mobot Scheme

based control lo ops They initiate the rob ots motion

system are higher order functions sensorbased con

which is usually controlled by another pro cessor and

trol structures and eventbased exception handling

at the same time evaluate the appropriate termination

In this section we describ e how using higher order

predicate The motion is halted when the termination

functions we can implement termination predicates

predicate returns a value other than false In order

control parameter caches and action cues Figure

for access to the motors to remain completely general

is an example of how higher order functions are used

many keywords exist and may b e used in arbitrary

in Mobot Scheme

combinations See Figure

As indicated by the examples in the gure key

words such as by and vel for velocity are followed

Termination Predicates

by integer values On the other hand keywords such

In our system the rob ot programmer can write pro

as until are followed by functions In the sp ecic

grams in which arbitrary termination predicates func

case of until a function of one argument is given

tions are passed as arguments to motion control rou

and the rob ots motion stops when this function eval

tines Intermediate layers of the motion control sys

uates to something other than false The argument

tem build more complicated predicates out of these

to the predicate is supplied by the system when the

and pass along the resulting functions to the next

predicate function is called and represents the cur

lower layer As describ ed in RD we use higher

rent knowledge of the status of the motion The mo

order function to implement termination predicates

tion controller a separate pro cessor rep orts this sta

tus information to Mob ot Scheme In one example

7

Moreover rob ots like the Cornell Mobile Rob ots which con

from Figure we check to see whether the rob ots

tain a lo osely connected network of or more on average pro

bump ers have contacted an obstacle in another we

cessors have a distinct advantage in that timecritical pro cesses

may b e ooaded to a pro cessor which do es not garbage collect check to see if sonar unit rep orts a value that ex

Our rob ots impediment sensor for example detects when a

8

On a real rob ot the frequency at which the termination sp ecied amount of current would have to b e applied to the

predicate is evaluated will of course critically aect its accu motors in order for the rob ot to continue moving The pro

racy However the preimage planning framework anticipated cessor which detects this situation and shuts down the motors

the general problem of control error from the start Control executes a simple feedback lo op at a high frequency and do es

error is already part of the input to the problem not garbage collect

Example Distance Velo city Termination Predicate

translate indet default impediment

translate by mm default or impediment

lambda status

stopped

status

translate vel indet mms impediment

translate by vel m mms or impediment

lambda status

stopped

status

translate until indet default or impediment

lambda status lambda status

not not

zero zero

readbumpers readbumpers

translate until mm mms or impediment

lambda status lambda status

threshold or threshold

readsonar readsonar

by stopped

vel status

Figure Mobot Scheme motion control examples using the translate function For simplicity only three

keyword arguments are shown Any or all of the valid arguments may b e combined however When no distance

argument is given using the by option the distance the rob ot will travel is indeterminate When a distance is

sp ecied the termination predicate consists of a check for the status of the motor controller which is triggered

by checking o dometry Note that the system always checks for the impediment condition The action taken when

impediment returns true is to invoke the imp ediment handler see Section

ceeds threshold when an imp ediment is detected is sp ecied by the im

p ediment handler b ecause the situation is treated as

Keyword Description Default value

an exception see Section The system always

by distance to travel mm none

checks for the imp ediment condition Since the user

vel velo city mms

may supply several other terminating conditions such

2

accel acceleration mms

as a sp ecied distance traveled or some other arbi

dir direction to travel

trary predicate the system constructs at run time

forward is p ositive

the prop er predicate to use

torque motor torque limit

in obscure units

Writethrough Cache

until termination predicate impediment

We may use higherorder functions to mo dify the low

onexit termination action stop

level b ehavior of individual pro cessors in the rob ot

halt the robot

while still maintaining the single Scheme pro cessor ab

straction at the user level The mechanism we use is a

Figure Motion control system keywords The key

writethrough cache which can b e implemented to b e

words may b e used in arbitrary combinations and

transparent to higher levels of co de Its sole utility is

each has a reasonable and changeable default value

to b o ost p erformance and works as follows

Each rob ot contains on average more than nine

The default termination predicate impediment

9

individual pro cessors each of which is directly con

rep orts whether the rob ots motors are stalled due to

nected to a small numb er of sensors or motors

contact with an immovable obstacle The action taken

This heterogeneous collection of computers are pro

9

The level of motor current that must b e exceeded to meet

grammed to make each sensor or motor smart As

the stalled condition may b e set by software an additional key

word argument torque exists for this purp ose much pro cessing as p ossible is done lo cally with every

sensorimotor mo dule providing a highlevel interface

define wbstatetable maketable

to the rest of the rob ot Consequently the rob ots

define writewbstate

critical system parameters are distributed across many

writecache wbstatetable

pro cessors When a Scheme program accesses a sen

define translatespeed

sor or motor at the lowest level a form of remote

cache settranslatespeed

pro cedure call RPC is executed to the pro cessor

wbstatetable

which controls the hardware of interest The inter

define translateaccel

pro cessor communication and RPC are of course hid

cache settranslateaccel

den to higher levels of Scheme programs such as

wbstatetable

the the user programming level Each time an RPC

define translatetorque

o ccurs many parameters may b e needed which in

cache settranslatetorque

creases the amount of communication necessary and

WbStateTable

slows down the system As a result most pro ces

sors store their own state variables and the remote

calling machine needs only pass along the changes

Figure Examples of using a simple writethrough

in state

cache implemented using a macro and higher or

der functions

We now present a brief casestudy of using Mobot

Scheme to tune a control library thereby improv

ing realtime p erformance In our initial library any

b etween pro cessors and also to the higher levels of

Scheme function invoking a wheelbase motion would

the system such as the user programming environ

rst set each parameter in turn and then nally start

ment The cache may b e trivially removed in the event

the motion This was inecient We observed that al

that we decide not to trust the remote pro cessor to

most always the parameters remain the same through

retain its state b etween successive motions eg due

many successive motions Therefore we decided to

10

to a susp ected faulty piece of hardware On the

cache them on the Scheme computer using a standard

other hand the macro is general enough to b e used

writethrough cache We implemented a simple macro

in other caching applications Our cache illustrates

cache see Figure which accepts as its argument

that standard software design techniques are also ap

the function used to set a parameter It mo dies this

plicable to rob ot programming We are far from the

function to use the cache and also constructs a func

days of programming a single bit pro cessor in as

tion to read the current value of the parameter from

sembly language in order to make our rob ots move

the cache Its use is illustrated in Figure What

is interesting is that even this kind of lowlevel op

Action Cues

timization may b e done in Mobot Scheme using

higherorder pro cedures

Our nal example of higher order functions lies in the

The cache macro takes two arguments the func

interface to the Cornell Mobile Rob ots set of push

tion which sets the parameter to b e cached and the

buttons which along with multicolored LEDs re

table to use Two things happ en a the set function

side on top of the rob ot for interaction with users

is mo died to set the current value in the cache table

Esp ecially when op erating untethered the informa

and then the original set function is called and b a

tion displayed by the lights and entered via the but

getvalue function thunk is returned Each entry in

tons provides useful communication b etween the rob ot

the cache table has a key and an entry The key is

and the researcher At the user programming level

the new set function and the entry is always a pair

the setbuttonaction pro cedure takes two argu

value originalsetfcn The value is kept

ments the rst identies a particular button on the

in a oneelement list so that it will b e null if no value

rob ot and the second is a function of no arguments

has b een set The original set function is kept around

technically a thunk When the appropriate button

so that i we can get it back if we need it and ii we

is pressed the asso ciated function is executed in its

can call it to write the cache out to force a write

own thread concurrently with whatever other threads

pro cesses are running on the rob ot The mechanism

Because we used a mo dern general purp ose pro

gramming language with higher order functions im

10

On the Cornell Mobile Rob ots the Scheme pro cessor can

plementing cache was easy The cache is transpar

detect when the wheelbase pro cessor resets and a complete

ent to the lowlevel layers of the rob ot control sys

cache write automatically o ccurs after those events along with

a warning message displayed on the workstation tem which p erforms the necessary communications

definesyntax cache

lambda exp rename compare

let setfcn cadr exp

statetable caddr exp

let originalsetfcn setfcn

set setfcn lambda x

let value tableref statetable setfcn

if or null car value not equal car value list x

originalsetfcn x

tableset statetable setfcn cons list x cdr value

if not tableset statetable setfcn cons originalsetfcn

begin

set setfcn originalsetfcn

error Cache error table full setfcn statetable

lambda

let value tableref statetable setfcn

if null car value

error Cache error the referenced value has not been set setfcn statetable

car car value

define writecache cachetable

tablewalk

lambda setfcn value

if not null car value

apply cdr value car value

cachetable

Figure A simple writethrough cache implemented using a Scheme macro

allows complete freedom in deciding what the buttons of event that convolves the internal imp ediment and

should do The exibility is provided by the passing the external contact change More precisely a col li

of an arbitrary Scheme function directly into the next sion is the sp ecial case of an imp ediment caused by a

lower layer of the sensor control system In fact many p ositive contact change

of our sensors are programmed in this manner includ

Unexp ected collisions should b e treated as excep

ing the pushbutton bump ers that detect collisions with

tions The idea is straightforwardwe can either ll

ob jects and measure the relative orientation of ob ject

our programs with conditionals which check for unex

faces with resp ect to the rob ots heading In writ

p ected situations or we can invoke the exception han

ing a program which p olls the bump ers we rst write

dler and make our programming task that much easier

a function which when a bump er button is pressed

Also we must b e able to easily mo dify this b ehavior

simply up dates a global dynamic variable The p olling

for those circumstances under which the programmer

pro cess then reads this variable to determine the cur

fully exp ects that a given situation might o ccur and

rent state of the bump er sensor

wishes to trap it so that the program can continue to

execute taking appropriate action

Collisions as Exceptions

We say a contact change o ccurs at time t when the

A global variable called impedimenthandler is de

rob ot is in contact with a dierent numb er of surfaces

ned as a function which is called when the motion

b efore t than after t We say the contact change is pos

control system detects the imp ediment condition The

itive when the numb er of contacting surfaces increases

default value for the handler is a function which rst

Hence a contact change is an external event to the

stops the rob ots motors and then calls the system ex

rob ot in other words ground truthobservable to

ception handler presenting all relevant information to

an outsider but p otentially undetectable by the rob ot

the user and leaving them in the symb olic debugger

An imp ediment on the other hand see Sec see Figure Example From within the debug

tion is an internal event signaled by and for the ger the user may continue eg after removing the

rob ot itself We dene a col lision as a sp ecial kind oending obstacle from the rob ots path ab ort or

p erform almost any other action such as recompiling handler with a dierent function while a collision is

a piece of co de or using the insp ector to examine the a predicted p ossibility and should b e trapp ed In

stack our exp erience the most common alternative to the

function which calls the exception handler is a func

So the default reaction to a collision is for the rob ot

tion which simply returns the symb ol impediment

to stop and the user to b e presented with status in

The user program needs only check for this symb ol to

formation displayed through the debugger In other

b e returned by a motion control routine in order to

words the situation is treated as any other runtime

branch on whether a collision o ccurred or some other

error would b e such as division by zero or a typ e mis

situation terminated the motion Because we use this

match It remains to b e explained how the user may

mechanism frequently we have dened a macro called

write a program which traps exp ected collision errors

tolerateimpediments see Figure Example

which replaces the default imp ediment handler with a

function that returns impediment while the b o dy of

Example

the macro is b eing executed Consequently one may

mo dify any motion control function call by wrapping

Move until the bumpers detect a collision

tolerateimpediments around it as shown in the ex

Lily translate until

ample

lambda s

The exibility of Mobot Scheme p ermits the use

not zero readbumpers

of this mechanism which can b e seen in virtually ev

t

ery manipulation program our rob ots run All we have

done was to adapt a traditional technique to our ap

Example

plication of programming rob ots Our programs are

short and simple as a result of this technique

Move forever monitoring the motor current

against a current threshold

Architecture

Here we grab the robot and force it to stop

When the minimalist philosophy is applied to rob ot

which invokes the debugger that allows us

manipulation algorithms it yields proto cols with sur

us to examine variables redefine functions

prisingly low resource consumptionthat is the re

etc a aborts out of the debugger

sulting proto cols often disp ense with a resource such

Lily translate

as sensing communication or geometric mo dels that

Error Impediment

a naive analysis would have predicted was essential

translate

DJR DJRa RDJ DJRb When applied to

the programming environment and architectural sup

Debugging job number

p ort for rob ot manipulation minimalism results in a

Lily a

development and execution system that is spare and

leanin other words something more like Scheme and

Example

less like C Section In this section we discuss

the use of our Schemebased minimalist infrastructure

Expected collisions can be trapped We use

in sup ermo dular architectures

a tolerateimpediments wrapper around the

The greatest challenge for sup ermo dular architec

function that might generate a collision

tures is to supp ort co de distribution across multiple

The impediment handling system will stop

spatially separated rob ots It is dicult to ensure

the robot and the motion function return

co de p ortability across rob ot architectures and the

impediment

result of the execution in distributed systems of mul

Lily tolerateimpediments translate

tiple rob ots is even harder to predict Even for sin

impediment

gle rob ot systems that are mechanically similar such

as our rob ots Tommy and Lily it is not trivial to

share co de as this often entails adjusting constants

Figure Three examples of imp ediments han

that involve mass gear ratios etc Furthermore for

dling It is straightforward to substitute an arbi

manipulation tasks the output of a distributed sys

trary function for the imp ediment handler

tem of rob ots often dep ends on the numb er of rob ots

and their relative p ositions

The mechanism we use replaces the imp ediment Consider for example a system in which a rob ot

pushes an ob ject to eect a desired translation and circuit to achieve the same task we must demon

the circuit implementation of this system we describ e strate that the emb edded circuits eect the same

in Section This system is mo dular but not su strategy

p ermo dular The reason is that when distributed on

For our particular domain of manipulation tasks

multiple rob ots the output of the system dep ends in

we must account for the mechanical interactions

timately on the lo cation of the rob ots To see this

b etween the rob ots and their environment On

imagine a two rob ot system consisting of the original

a rob ot such as Camel whose bump er geome

rob ot and a second rob ot that acts on a face of the

try is essentially a at blade the eect of push

ob ject opp osite to the rst rob ot The presence of

ing against an ob ject may b e dierent from that

the second rob ot interferes with the action of the rst

of say Tommy whose bump er is in the shap e

rob ot eg it may cause the b ox to rotate This is not

of a semicircle For manipulation then we ob

a sup ermo dular system in other words primpush

serve that compatible mechanical architectures

Section is mo dular but not sup ermo dular

are required when distributing a circuit across

A contrasting example is the reorientation task

several agents However by transforming circuits

Here one rob ot alone can cause reorientations by ex

into other equivalent circuits we have p orted

ecuting pushtrack Section but this may re

our strategies without diculty from Tommy to

quire a large workspace area When the same co de

11

Camel and viceversa The transformation op

is distributed over multiple rob ots the output of the

erates at the circuit level so in the nal analysis

system is the same eg the ob ject rotates but p er

we are still moving a transformed circuit from

haps at a faster rate The resulting circuit Async

one rob ot to another

Online is completely sup ermo dular In our hierarchy

We have identied that the rob ots mechanical

of sup ermo dular examples AsyncOnline is more

architecture may limit sup ermo dularity for ma

sup ermo dular than pushtrack which is more su

nipulation tasks b ecause dierent strategies are

p ermo dular than primpush

required for dierent mechanical interfaces to the

This is a sup ermo dular system in other words

world An imp ortant line of inquiry remains

pushtrack is mo dular and sup ermo dular

which is to ask how the necessary architectural

Sup ermo dularity has made it easy for us to share

supp ort for sup ermo dularity varies with the task

and distribute co de across similarbut not identical

domain

rob ots that op erate in parallel This is b ecause the

abstract principles of sup ermo dularity translate into

What development environment best supports the

concrete b enets in terms of co de recycling and pre

authoring of supermodular circuits and protocols

dictability in distributed rob ot systems By deni

Our authoring environment is develop ed on top of

tion sup ermo dular circuits can b e relo cated to dier

an intrastructure Section that enforces min

ent physical lo cations and still function correctly In

imal constraints on programming The system

addition we b elieve that the p erformance guarantees

we advo cate is orthogonal b oth to the notion of

of sup ermo dular circuits transfer when the circuits are

mo dularity in cognitive AI and also to the hori

distributed

zontal decomp osition of Subsumptionism Sp ecif

The pushing vs reorienting example describ ed

ically our development environment is structured

ab ove shows that sup ermo dularity and distribution

by the following categories mo dular circuits su

impact architecture We now discuss this connection

p ermo dular circuits and strategies comp osed of

with emphasis on the following questions

sup ermo dular circuits or sup ercircuits

What architectural support is required to dis

The rst category comprises the mo dular circuits

tribute the circuits over several agents

for the interaction b etween rob ots and ob jects

and for navigation Conceptually these circuits

We cannot b egin to answer this question until we

can represent a wide range of rob ot skills of vary

understand what it means to distribute a circuit

ing degree of abstraction and complexity A cir

over several agents The installation and calibra

cuit in this category is a singleagent circuit that

tion of resources must b e sp ecied and commu

is safe for relo cation on other singleagent sys

nications pathways across spatially separate lo ca

tems but there are no degrees of freedom the

tions must b e available The precise denition

11

of these op erations is given in the information in

Camel is a Cornell mobile rob ot that uses treads instead of

wheels for lo comotion variants theory Don But for a distributed

circuit must b e immersed identically An example We have exp erimental evidence for these prop erties

of a mo dular manipulation circuit in this category for example the reuse of align in the reorientation

is primpush proto cols and the PusherSteerer proto cols Similarly

we have p erformance guarantees For example for

The second category comprises the manipulation

align the p erformance guarantees transfer nicely

circuits that are often sup ermo dular In our

once align in immersed in a dierent fashion

hierarchy measured by the fraction of the con

the degrees of freedom of the new immersion are

guration space that allows relo cation Async

controlled by the kinds of p ermutations p ermitted in

Online and align are completely sup ermo d

the information invariants theory in the form of co

ular pushtrack is often sup ermo dular A

designation constraints and the niceness of the trans

circuit in this category is safe for relo cation even

fer is ensured by sup ermo dularity

when the circuit is immersed in a dierent fash

ion The degrees of freedom of this immersion

Acknowledgements

are controlled by the kinds of p ermutations p er

This pap er describ es research done in the Rob otics and

Vision Lab oratory at Russell Brown is

mitted in the information invariants theory in

one of the develop ers of the PusherSteerer system We

the form of codesignation constraints

thank Jonathan Rees for developing the Mobot Scheme

The third category comprises the circuits for ma

system We thank JeanClaude Latomb e for his hospitality

nipulation strategies A circuit in this category is

at the Stanford Rob otics Lab oratory

a multiple agent circuit consisting of sup ermo d

Supp ort for our rob otics research was provided in part

ular circuits The resulting sup ercircuit may or

by the National Science Foundation under grants No IRI

may not b e sup ermo dular Examples are Proto IRI IRI and by a Presidential

Young Investigator award to Bruce Donald and in part

col M proto col AsyncOnline and Pusher

by the Air Force Oce of Sp onsored Research the Math

Steerer which are sup ermo dular

ematical Sciences Institute Intel Corp and ATT Bell

lab oratories

How can the architectural support and authoring

environment be realized in such a way that the

References

overal l development system can also be regarded

ABN RC Arkin T Balch and E Nitz Commu

as minimalist

nication of b ehavioral state in multiagent re

trieval tasks In Proc of the IEEE Inter

The development environment we outlined ab ove

national Conference on and Automa

makes it easy to synthesize distributed manipu

tion volume pages Atlanta Ga

lation strategies ie circuits for manipulation

strategies by combining and comp osing sup er

+

BBD K Bohringer R Brown B Donald J Jen

mo dular circuits Since each sup ermo dular cir

nings and D Rus Distributed rob otic ma

cuit translates into lean co de with p erformance

nipulation exp eri ments in minimalism In Pro

guarantees predictable parallel proto cols can eas

ceedings of the International Symposium on

ily b e generated by combing existing and trusted

Experimental Robotics Stanford CA July

circuits The resulting circuit strategy can b e an

alyzed in the information invariant theory with

BJ R Brown and J Jennings Manipulati on by

resp ect to resource consumption This analysis

a pushersteerer In Proceedings of Intel ligent

leads to equivalent minimalist circuits and trade

Robot Systems Pittsburgh PA August

os b etween dierent resources The resulting

Bro R C Brost Planning rob ot grasping mo

circuit also translates into a statement ab out the

tions in the presence of uncertainty Carnegie

minimal architectural supp ort for the proto col

Mellon Rob otics Institute technical rep ort

the circuit describ es all the needed resources

CMURITR Computer Science De

partment and The Rob otics Institute July

In summary the architecture we advo cate for au

thoring sup ermo dular circuits arises from systemati

Bro R Bro oks The b ehavior language users guide

cally distributing simple and parsimonious manipula

Technical rep ort Memo MIT AI Lab

tion circuits on spatially separated rob ots We argued

that circuits authored in a sup ermo dular architecture

Bro R G Brown Algorithms for Mobile Robot Lo

translate into co de that is simple reusable p ortable

calization and Building Flexible Robust Easy

predictable parallelizable and nearoptimal from

to Use Mobile Robots PhD thesis Cornell Uni

+

versity Ithaca NY the p oint of view of resource consumption BBD

on the Algorithmic Foundations of Robotics CFKM Y Cao A Fukunaga A Kahng and F Meng

San Francisco CA Co op erative mobile rob ots Antecedents and

directions Technical rep ort UCLA Depart

LPMT T LozanoPerez M T Mason and R H

ment of Computer Science

Taylor Automatic synthesis of nemotion

4

strategies for rob ots International Journal of

CR W Clinger and J Rees Revised rep ort on

Robotics Research 3

the algorithmic language scheme Technical re

p ort Cornell University Department of Com

Mas M Mason Manipulator grasping and pushing

puter Science

op erations International Journal of Robotics

Research

DJR B R Donald James S Jennings and D Rus

Towards a theory onformation invariants for

Mat Ma ja J Mataric Kin recognition similarity

co op erating autonomous mobile rob ots In In

and group b ehavior In Proc of the Fifteenth

ternational Symposium on Robotics Research

Annual Cognitive Science Society Conference

ISRR Hidden Valley PA

Boulder Colorado

DJRa B Donald J Jennings and D Rus In

MS Matthew T Mason and J Kenneth Salisbury

formation invariants for distributed manipula

Robot Hands and the Mechanics of Manipula

tion The First Workshop on the Algorithmic

tion MIT Press London England

Foundations of Robotics eds K Goldberg D

Nor Fabrice R Noreils Toward a rob ot archi

Halperin JC Latombe and R Wilson pages

tecture integrating co op eration b etween mo

bile rob ots Application to indo or environ

DJRb B R Donald James S Jennings and D Rus

ment International Journal of Robotics Re

Analyzing teams of co op erating mobile rob ots

search 12

In Proceedings of the IEEE Interna

OY Yoshikuni Okawa and Ken Yokoyama Con

tional Conference on Robotics and Automa

trol of a mobile rob ot for the pushab ox op er

tion pages San Diego CA

ation In Proceedings of the IEEE Inter

DJRc B R Donald James S Jennings and D Rus

national Conference on Robotics and Automa

Information invariants for distributed manipu

tion pages Nice France

lation In Proceedings of the Workshop on

Par Lynne E Parker Heterogeneous MultiRobot

the Algorithmic Foundations of Robotics San

Cooperation PhD thesis Massachusetts Insti

Francisco CA

tute of Technology

Don B Donald Information invariants in rob otics

RC M Raib ert and J Craig Hybrid p ositionforce

Articial Intel ligence

control of manipulators Journal of Dy

DRJ B R Donald D Rus and J Jennings Quan

namic Systems Measurement and Control

tifying sup ermo dularity in dostributed manip

ulation circuits In forthcoming paper

RD J A Rees and B R Donald Program mobile

Erd M Erdmann On motion planning with un

rob ots in scheme In Proc of the IEEE

certainty Masters thesis Massachusetts In

International Conference on Robotics and Au

stitute of Technology

tomation Nice France

Gat Erann Gatt Alphaa language for program

RDJ D Rus B Donald and J Jennings Moving

ming reactive rob otics control systems In Pro

furniture with mobile rob ots In Proceedings

ceedings of the IEEE International Con

of Intel ligent Robot Systems Pittsburgh PA

ference on Robotics and Automation pages

August

Rus D Rus Fine motion planning for dexterous

Jen J S Jennings Distributed Manipulation with

manipulation PhD thesis Cornell University

Mobile Robots PhD thesis Cornell University

Ithaca NY August

SB Daniel J Stilwell and John S Bay Toward the

JR J Jennings and D Rus Active mo del acquisi

development of a material transp ort system us

tion for nearsensorless manipulation with mo

ing swarms of antlike rob ots In Proceedings

bile rob ots In IASTED International Con

of the IEEE International Conference on

ference on Robotics and Manufacturing pages

Robotics and Automation pages At

Oxford England Septemb er

lanta GA

LM Kevin M Lynch and Matthew T Mason Sta

ble pushing Mechanics controllabi li ty and

planning In Proceedings of the Workshop