peis ecology: integrating robots into smart...

7
Proc. of the IEEE Int Conf on Robotics and Automation (ICRA) Orlando, Florida, 2006 P EIS Ecology: Integrating Robots into Smart Environments Mathias Broxvall, Marco Gritti, Alessandro Saffiotti AASS Mobile Robotics Lab ¨ Orebro University, ¨ Orebro, Sweden mbl,mgi,asaffio @aass.oru.se Beom-Su Seo, Young-Jo Cho Electronics and Telecommunications Research Institute 161, Gajeong-dong, Yuseong-gu, Daejeon, Korea bsseo,youngjo @etri.re.kr Abstract— We introduce the concept of Ecology of Physically Embedded Intelligent Systems, or PEIS-Ecology. This is a network of heterogeneous robotic devices (PEIS) pervasively embedded in the environment. A PEIS can be as simple as a toaster and as complex as a humanoid robot. PEIS can exchange information at different levels of abstraction, and share both physical and virtual functionalities to perform complex tasks. By putting together insights from the fields of autonomous robotics and of ambient intelligence, the PEIS-Ecology approach explores a new road to building assistive, personal, and service robots. In this paper, we discuss this concept, describe a first realization of it, and show an implemented use-case scenario. I. I NTRODUCTION Johanna is 76 years old and she lives in a small house. Soon before she wakes up, her refrigerator realizes that the milk is smelling bad. It notifies the robotic trash-can, which comes and collects the old bottle. It also sends a request for a new bottle to the local store, so when Johanna’s autonomous trolley goes there to fetch the daily newspaper it will also get the milk. When Johanna gets out of bed, her motion is detected and the coffee machine starts to brew coffee. Johanna then sits at the table, and is greeted by her pet robot who also reminds her of the incoming visit of her son. Like many similar stories, this vignette depicts a future scenario in which robotic technologies are pervasively present in our everyday environments, coexisting with humans and helping us to achieve better quality of life, safety, and auton- omy. This scenario is in line with the current projections on the population aging, and the corresponding need to develop new assistive technologies to cope with the increasing pro- portion of older people. The scenario is also in line with the current market forecasts, which indicate that service, personal and entertainment robots will constitute a large market in the next 10 years [1]. This scenario, however, is not in line with our current ability to develop robots which are so flexible, competent, and safe, to take on the envisaged assistive role. Despite the impressive progress in the fields of artificial intelligence and autonomous robotics, problems like reliable vision, safe motion and dexterous manipulation in unconstrained environments are still unsolved, and make the above scenario far from reality. In this paper, we explore a new road toward the inclusion of robotic technologies in everyday environments. Most classical approaches to service robotics envision a stand-alone robot empowered with extraordinary abilities to perceive the envi- ronment, understand it, and to act upon it (e.g., [2], [3]). By contrast, we assume a “smart” environment, which contains sensors, actuators and active tagged objects, and which collab- orates with the robot by providing it the needed information or by performing actions on its behalf. As an example, the thrash-can robot in our vignette would not need to use its sensors to detect the shape and weight of the milk bottle in order to grasp it — a task which has proved elusive in decades of robotic research [4]. Instead, the bottle itself, enriched with an IC-tag, can hold this information and communicate it to the robot. By a similar argument, the robot would not need to possess advanced mobile manipulation capabilities to open the refrigerator door: it can simply ask the refrigerator to open its door. The idea of integrating robots and smart environments is starting to pop up at several places, including strategic documents and white papers (e.g., [5], [6]). To the best of our knowledge, there are only two concrete major efforts today that try to put this vision into practice: one is the Japanese Network Robot Forum (NRF) [7], and the other one is the Korean Ubiquitous Robot Companion program (URC). The approach proposed in this paper is part of the latter effort. Our approach to integrating robots into everyday environ- ments is based on the notion of an ecology of physically embedded intelligent systems, or PEIS-Ecology. The goal of this paper is two-fold. First, to define this notion in a more precise way. Second, to provide a preliminary validation of the following hypothesis: the PEIS-Ecology approach can be used to by-pass many of the hard problems of autonomous robotics, and hence it allows us to introduce robotic technologies in domains which are beyond the reach of current techniques. We shall validate this hypothesis constructively, by building a demonstration system able to perform tasks similar to the ones in the vignette above. In the next two sections, we present the concept of a PEIS-Ecology and discuss how it can be implemented. We then proceed to describe our demonstration system, going through an example of its operation. Finally, we summarize the achievements, discuss the outlook, and conclude.

Upload: dinhtruc

Post on 22-May-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Proc. of the IEEE Int Conf on Robotics and Automation (ICRA)Orlando, Florida, 2006

PEIS Ecology:Integrating Robots into SmartEnvironments

MathiasBroxvall, Marco Gritti, Alessandro SaffiottiAASS Mobile Robotics Lab

OrebroUniversity, Orebro, Sweden�mbl,mgi,asaffio � @aass.oru.se

Beom-SuSeo,Young-JoChoElectronics andTelecommunications ResearchInstitute

161,Gajeong-dong, Yuseong-gu, Daejeon, Korea�bsseo,youngjo � @etri.re.kr

Abstract— We intr oduce the concept of Ecology of PhysicallyEmbedded Intelligent Systems, or PEIS-Ecology. This is a networkof heterogeneousrobotic devices(PEIS) pervasively embeddedinthe envir onment. A PEIS can be as simple as a toaster and ascomplex as a humanoid robot. PEIS can exchangeinformation atdiffer ent levelsof abstraction, and shareboth physicaland virtualfunctionalit ies to perform complex tasks. By putti ng togetherinsights fr om the fields of autonomousrobotics and of ambientintelligence, the PEIS-Ecology approach explores a new road tobuilding assistive, personal,and service robots. In this paper, wediscussthis concept, describe a first realization of it, and showan implemented use-casescenario.

I . INTRODUCTION

Johanna is 76 years old and she lives in a smallhouse. Soonbefore she wakes up, her refrigeratorrealizesthat the milk is smellingbad. It notifiestherobotic trash-can, which comesand collectsthe oldbottle. It alsosendsa requestfor a new bottle to thelocal store, so whenJohanna’s autonomoustrolleygoesthere to fetch the daily newspaper it will alsoget the milk. When Johanna gets out of bed, hermotion is detectedand the coffeemachine starts tobrew coffee. Johanna then sits at the table, and isgreetedby her petrobotwhoalsoremindsher of theincomingvisit of her son.

Like many similar stories, this vignette depicts a futurescenarioin which robotic technologiesarepervasively presentin our everyday environments, coexisting with humans andhelpingus to achieve betterquality of life, safety, andauton-omy. This scenariois in line with the current projectionsonthe population aging, and the corresponding needto developnew assistive technologies to cope with the increasingpro-portion of older people. The scenariois also in line with thecurrent market forecasts,which indicatethat service,personaland entertainment robots will constitutea large market inthe next 10 years [1]. This scenario,however, is not inline with our current ability to develop robots which areso flexible, competent, and safe, to take on the envisagedassistive role. Despite the impressive progress in the fieldsof artificial intelligenceand autonomous robotics, problemslike reliable vision, safe motion and dexterous manipulationin unconstrainedenvironments are still unsolved, and makethe above scenariofar from reality.

In this paper, we explore a new roadtowardtheinclusionofrobotic technologiesin everydayenvironments.Most classicalapproachesto service robotics envision a stand-alone robotempoweredwith extraordinary abilities to perceive the envi-ronment,understandit, and to act upon it (e.g., [2], [3]). Bycontrast, we assumea “smart” environment, which containssensors,actuators andactive taggedobjects,andwhich collab-orateswith the robot by providing it the needed informationor by performing actionson its behalf. As an example, thethrash-can robot in our vignette would not need to use itssensorsto detectthe shapeand weight of the milk bottle inorder to graspit — a taskwhich hasprovedelusive in decadesof robotic research[4]. Instead,thebottle itself, enrichedwithan IC-tag, can hold this information and communicate it tothe robot. By a similar argument, the robot would not needto possessadvancedmobile manipulation capabilitiesto opentherefrigeratordoor: it cansimply asktherefrigerator to openits door.

The idea of integrating robots and smart environmentsis starting to pop up at several places, including strategicdocumentsandwhite papers(e.g.,[5], [6]). To thebestof ourknowledge, there are only two concrete major efforts todaythat try to put this vision into practice: one is the JapaneseNetwork Robot Forum (NRF) [7], and the other one is theKoreanUbiquitous Robot Companion program (URC). Theapproachproposedin this paperis part of the latter effort.

Our approachto integrating robots into everyday environ-ments is basedon the notion of an ecology of physicallyembedded intelligent systems, or PEIS-Ecology. The goal ofthis paperis two-fold. First, to define this notion in a morepreciseway. Second, to provide a preliminary validationof thefollowing hypothesis:the PEIS-Ecology approachcanbeusedto by-passmany of thehardproblemsof autonomous robotics,and henceit allows us to introduce robotic technologies indomains which are beyond the reachof current techniques.We shall validate this hypothesisconstructively, by buildinga demonstrationsystemable to perform taskssimilar to theonesin the vignetteabove.

In the next two sections,we present the concept of aPEIS-Ecology and discusshow it can be implemented.Wethen proceedto describeour demonstration system,goingthrough an example of its operation. Finally, we summarizethe achievements,discussthe outlook, andconclude.

Fig. 1. An example of cooperation in a simple PEIS-Ecology.

I I . THE CONCEPT OF PEIS-ECOLOGY

A. Ingredients

The conceptof PEIS-Ecology builds upon the followingingredients.

First, any robot in the environment is abstractedby theuniform notion of PEIS: any device incorporatingsomecom-putational and communication resource and possiblyable tointeractwith theenvironment throughsensorsand/oractuators.A PEIS can be as simple as a toasterand as complex as ahumanoid robot. In general, we definea PEIS to be a set ofinter-connectedsoftwarecomponentsresidingin onephysicalentity. Each component may include links to sensorsandactuators that connect it to the physical environment,aswellas input andoutputports that connect it to othercomponentsin the samePEIS or in otherPEIS.

Second, all PEIS areconnectedby a uniform communicationmodel, which allows the exchangeof informationamong theindividual PEIS, andcancopewith their dynamically joiningand leaving the ecology. This model hides the heterogeneityacrossdifferent PEIS, andacrossdifferent physical communi-cationmedia.

Third, all PEIS can cooperate by a uniform cooperationmodel, basedon the notionof linking functional components:eachparticipatingPEIS canusefunctionalitiesfrom otherPEIS

in the ecology in order to compensateor to complement itsown. The power of a PEIS-Ecologydoesnot resideso muchin thepower of the individual PEIS in it, but ratherit emergesfrom their ability to interact andcooperate.

We define a PEIS-Ecology to be a collection of inter-connectedPEIS, all embedded in the samephysical environ-ment. We call configuration the set of connectionsbetweencomponentswithin andacrossthe PEIS in the ecology. Notethat the sameecology can be configured in many differentways depending on the current context. Relevant contextualaspectshereinclude thecurrent goals,situation,andresources.

B. Example

As an illustration of these concepts, consider a simpleautonomous vacuum cleaning robot. This can be seen asa PEIS, which includes simple functionalities for reactivenavigation andobstacledetection.By itself, this robot cannotdevise and execute complex cleaning strategies becauseitsperceptual abilities aretoo simpleto reliably estimateits own

Fig. 2. Functional view of above simple PEIS-Ecology.

position in the home. Suppose, however, that the home isequipped with an ambient monitoring systemusing a set ofcameras, which in addition to its other functions is able toestimatethe position of the vacuum cleaner. Then, we cancombine themonitoring systemandthevacuum cleanerinto asimple PEIS-Ecology, in which the former provides the latterwith a global localization functionality. The vacuum cleanercanusethis functionality to realizea smartercleaningstrategy.SeeFigure1.

Supposenext that the vacuumcleanerfinds an unexpectedparcelon the floor. The cleanerneedsto know its properties(e.g., weight and fragility) in order to decide whether it canpushit away or not. Thesepropertiescanhardlybe estimatedusing the robot’s sensors.However, if the parcel is equippedwith an IC tag holding information aboutits content, then itcanbeseenasa PEIS, which canjoin theecologyanddeliverthis informationdirectly to the robot.

Figure 2 shows a different view of the above situation,which emphasizes the connections between functionalitiesthrough a sharedcommunicationinfrastructure.The examplepresented in sectionIV below shows how a similar scenarioisrealizedby meansof ouractualimplementationof theconceptsandmechanismsabove.

C. Benefits

A PEIS-Ecology redefines the very notionof a robot to en-compasstheentireenvironment: a PEIS-Ecology maybeseenas a “cognitive robotic environment”, in which perception,actuation, memory, andprocessingarepervasively distributedin the environment. The complex functionalities of this en-vironment are not determined in a centralizedway, but theyemerge from the co-operation of many simpler, specialized,ubiquitousPEIS devices.Thenumber andcapabilitiesof thesedevices do not needto be known a priori : new PEIS canjoinor leave theecology at any moment, andtheirexistenceshouldbe automaticallydetectedby the other PEIS.

In additionto simplifying many problemsthat aredifficultto address using a traditional approach, this decentralizedapproach has a number of pragmatical benefits. In particu-lar, it allows incremental and piece-wisedevelopment anddeployment of components.From the point of view of theend user, this meansto be able to buy robotic componentsas needed,e.g., starting with just a simple robotic vacuumcleanerand ending with a completely robotized intelligent

home. (Compare this with thealternative to buy a hypotheticalall-migh� ty roboticassistantat once.)Fromthepoint of view ofthe producers,it is probably easierto investin the productionof (and to createa market for) familiar componentswith awell definedpurposeandfunctionality.

ThePEIS-Ecology approachalsorecognizesthefactthatourenvironments areincreasingly populatedby embeddeddevicesand taggedobjects.For instance,Wal-Mat already requiresthat all commercial goods are equipped with an RFID tag.Thesetags can carry a large amount of information aboutthe objectsin the environment. In future, they may also bewritable or they may be able to transmitsomesensor-basedinformation.We claim thata robotshouldexploit therichnessof this environmentratherthanoperatein isolationfrom it.

I I I . IMPLEMENTATION OF A PEIS-ECOLOGY

In this section we discussa reference architecture for ageneric PEIS-Ecology, in termsof its building blocks (compo-nents),the mechanisms to connect (configure) them,and thebasic communication structure.We also describe a suite ofimplemented components that we usein our experiments.

A. PEIS-components

The basic building blocks of a PEIS-Ecology are thePEIS-components:the set of available software componentsimplementing robotic algorithms (control, imageprocessing,planning, etc.). In other words, PEIS-components implementall the functionalities which are incorporated into the PEIS

that participatein the ecology. EachPEIS-componentcan beconvenientlyseenasa logical process.

A PEIS-component can also have sensorsand actuatorstointerface with the environment, and input and output portsfor providing its functionalities to other PEIS-components.Allowing PEIS to usefunctionalitiesprovided by componentsin otherPEIS is the basisfor cooperation in a PEIS-Ecology.

B. Thecommunication model

In orderto allow interaction betweencomponents,we needa communicationmechanismwhich allows theseamlesscom-munication betweenany two PEIS in the ecology, regardlessof their having a direct or indirect physical communicationchannel. This communicationmechanismshouldbecompliantwith thedynamic natureof theecology andshould preferablyhave no dependencieson any centralizedpoint neededtobootstrap the environment. In our implementation we haveoptedfor a distributedcommunicationmodelbasedon tuple-spacetogether with an event mechanism. Hybrid approachescombining tuple-spacesandevent-driven systemsareincreas-ingly usedboth in ambient intelligencesystems[8], [9], insensornetworks [10], [11], and in autonomous robots [12].

To allow a more efficient andsimpleimplementationof thedistributedtuplespace,tuplesarerestrictedto be of the form:

<peisID, compID, key, val0, ..., valN>

wherepeisID andcompID areuniquely assignedto everyPEIS and every component inside it, and key is the tuple

key. This conventionsimplifies the resolutionof conflicts formultiple producersof the samekey.

The tuple-space is endowed with the usual insert andread operations [13]. In addition, we define event-basedprimitivessubscri be andunsubscri be , by whicha PEIS

cansignalits interestin a givenkey. Whenan insertoperationis performed, all subscribersare notified. Management ofsubscription andnotifications is done by the middle-ware, ina way which is transparent to the PEIS.

C. PEIS-Ecology configurability

A PEIS-Ecology must be able to adapt when the situationchangesor whena PEIS enters or leavestheecology. To enablethis, it is important that the descriptions of the configurationof the PEIS-Ecology and thoseof its constituentcomponentsareaccessible.In our framework, theconnectionsbetweenthedifferent componentsas well as descriptions of the compo-nents’ functionalities areaccessiblein the samestandardizedway as the functionalities themselves, that is, they arestoredas tuples in the distributed tuple-space. This idea is inspiredby recentdevelopments of the semanticweb initiative [14],and allows the useof componentswhoseresponsibility is tocoordinate the functionalities of other components,using AItechniquesfor creatingnew configurations [15].

D. The PEIS-kernel

The communicationmodelhasbeenimplementedin a run-time library called the PEIS-kernel which acts as a middle-ware for all components (i.e., processes)in the ecology.This library implements an ad-hocP2P network using anyavailable communication links betweenparticipating PEIS.This network is instrumental in maintaining the decentral-ized anddistributedtuple-space, and in providing the neededevent-driven communicationmechanism.By implementing themiddle-ware as a lightweight portablelibrary which handlesall aspectsof the physical communication betweenunits —including the routing of information betweenPEIS lackingdirect communication links — we have obtaineda flexibleplatform in which any PEIS-Ecology canbe implemented.

The PEIS-kernelhandlesall communicationissuesby auto-matically discovering other running instancesof itself on thelocal networks, by handling arbitrary typesof networks, andby providing independencefrom the network type (TCP/IP,serial links, etc.).

By using the distributed tuple-spaceimplementation pro-videdby the PEIS-kernel,the PEIS-componentscandetectthepresence of othercomponentsandlend functionalitiesto eachother. For instance,if a PEIS-component requires accessto aspecific functionality it simply looks for a tuple announcingthat functionality in any PEIS: if the tuple is found in a givenPEIS, thenthecorrespondingPEIS-id is usedto exchangedatatupleswith that functionality.

In practice, the PEIS-kernel has been implemented usinga layered approach for design simplicity. This allows, forinstance,to separatethe lower level communication(Ethernet,serial links) from the managementof the P2P network and

topology management, time sync, ...

Service layer store/retrieve/propagate tuplessubscriptions, callback hooks, ...

PeisKernel API get/set tuple, subscribe/unsubscriberegister/cancel callback

Communication layer TCP, UDP, serial links, ...network discovery, ...

Tuple−space layer create/send/receive/route packages

Fig. 3. Layersand responsibiliti esof the PEIS-kernel

from thedetailsof managing thedistributedtuple-space.Someof the layersandservicesinsidethe PEIS-kernelareshown inFig.3. An alternative version of the PEIS-kernel usingan off-the-shelfframework (Java Spaces)hasbeendescribedin [16].

E. A suiteof PEIS-components

Besidesthe implementation of the PEIS-kernel library wehave converted a number of existing software modules forrobotic andimageprocessingtasksinto PEIS-componentsandwe have developed new modulescustomized for the ecology.Theconversionof existingprogramstypically involveswritinga PEIS-kernel compliant wrapper around any existing interfaceto the modules and/or insertingappropriatecalls to the PEIS-kernel from within the programsthemselves.In orderto dealwith failures in communication or other components, thesecomponentstypically have fall-backs thateitherensureendingin a safe state (e.g., stop moving) or perform the originalfunctionality to a reduced degree (e.g., useodometry insteadof the camerabasedlocalizationsystem).Below we describesomeof the PEIS-componentsthat we have developed.

a) The Thinking Cap component: This is an imple-mentation of a fuzzy-logic behavior-basedarchitecture forautonomousrobot control [17]. It provides advanced naviga-tional functionalitiesandresponds to tuplesin the distributedtuple-spacerepresenting goal statesthat shouldbe achieved.The successof the navigation operations and other statusinformation is continuously published to the tuple space.Inorder to drive the robot the Thinking Cap exports velocityandsteeringset-point tuplesto the tuple-space.

b) The Player component: This is a PEIS-wrapped in-stanceof theplayerprogram[18], which providesaninterfacebetween the robot’s sensorsand actuators and the tuple-space.It issuessensorreadings from the robot to other PEIS-componentsand usesvelocity set-pointsgathered from thetuple-spaceto steerthe actuatorsof the robot.

c) The Deliberation component: This is a high leveldeliberation software capable of performing execution mon-itoring andactionplanning usinga conditional plannercalledPTLplan[19]. This deliberation componentalsoprovidescon-figuration planning for deciding which functionalities shouldbe usedby the different PEIS-components[15].

d) TheCamera component: A simplecomponentwhichprovides an interface to a camera. A camera componentmake the camera’s functionalities available to other PEIS-componentsby publishing compressedcameraimagesto thetuple-space. Thanks to the subscription mechanism of the

tuple-spacethesecomponentsconsume no bandwidth unlessthe imagedatais neededby otherPEIS-components.

e) The Object Recognition component: This providessimple image processingroutines to identify a number ofpredefinedobject typesin the grabbedimages.

f) TheLocalizationcomponent: Another imageprocess-ing component,basedon [20], which usesthe imagescomingfrom the ceiling mounted cameras.It provides localizationtuplesto any color-marked PEIS locatedwithin the cameras’field of view.

IV. AN ILLUSTRATIVE EXAMPLE

In orderto validatethemainhypothesisstatedin theIntroduc-tion wehavetestedourframework onsomesimplifiedversionsof the scenariothat introducesthis paper. In the experimentreported here, our mobile robot Pippi hasto perform the taskto go and wake up Johanna, but on its path it encountersanunexpectedobstacle.It dealswith theself-localizationproblemandwith theproblemof determining thenatureof theparcelbyco-operatingwith otherPEIS in theenvironment, asillustratedin Figures1 and2 above.

In this section,we first describe our test-bedenvironment,then we list the PEIS which are actors in our scenario,and finally we provide an account of the actual executedexperiment.

A. ThePEIS-Home

To giveourecology anatural working environmentwe havebuilt the PEIS-Home as a test-bedin which we can checkPEIS-Ecology in variousconfigurations.ThePEIS-Homeis anexperimentalenvironment that looks like a typical bachelorapartment of about ������ . It consistsof a living room, abedroom,andasmallkitchen.Thewallshavebeenconstructedto be �� ���� high, so that the observers canget a bird’s eyeview of the entire apartment. The ceiling has beenloweredto standard height of ��� ���� : the spaceabove the ceiling isused for cables,computing equipment, and wireless accesspoints. Four web-camerashave beenmounted on the ceilingsuchthat they cover the living room andthe kitchen, but notthe bedroom, which is considereda private space.

Besidethe main apartment thereis an “observation deck”,a small elevatedareafrom which the experimentersand thevisitorscanobserve andcontrol thebehavior of the full PEIS-Ecology. Fig. 4 shows someviews of the PEIS-Home.

B. PEIS-Ecology Participants

ThePEIS-Ecology implementedfor this experimentconsistsof four PEIS:� Pippi: a Magellan Pro robot equipped with odometry,

sonars and a camera. It features a conventional PC onwhich a number of PEIS-componentscanbe run.� Emil: a MagellanPro robot similar to Pippi with someminor differencesin the sensors.� The Home Monitor: a tracking and monitoring systemconsisting in a computer connected to the four webcamerasmountedon the ceiling;

Fig. 4. Someviews of the PEIS-Home.From left to right, top to bottom:The living room, the kitchen, the ceiling web-cameras,the observation deck.

� The Parcel: a box containing a small computer runninga singlePEIS-component that providesstaticinformationabout the parcelandits content.

The PEIS-components run on these PEIS are shown inFigure5. Pippi is running a Thinking Cap,a Player, a Camera,andanObjectRecognition components.Emil runsaninstanceof the Deliberationcomponent.The Home Monitor runs aninstanceof the Localization component togetherwith fourinstances(one per camera)of the cameracomponent.On allthePEIS aninstanceof thePEIS-kernel is installed,asa libraryto which all the PEIS-componentscan link. All the tuplesissuedby all componentsare always enteredinto the tuple-spacethrough calls to the PEIS-kernel.

C. ThePEIS-Ecology in Action

The scenarioof this experiment is as follows. The deliber-ationcomponentrunning on Emil receivesthe high-level goalto wake up Johanna. Emil decides1 to delegate the executionof this taskto Pippi, andgeneratesa plan for Pippi. The planconsistsof threeactions:

((at me bed) (wake-u p) (at me sofa)) ,

where (at me X) denotesthe goal to navigate to X. Thedeliberation module startsby configuring the different com-ponents in the PEIS-Ecology to connect in the way shown inFig. 5. To do so, thedeliberation module provideseachPEIS-componentwith thecompId ’s of theotherPEIS-components,whosetuplesit shoulduse.Eachcomponent thenindividuallysubscribesto those tuples. By meansof subscription eachPEIS-componentwill automatically find in its local tuple-spacethe copiesof the tuplesthat it needsto perform its individualtask.

1The reasonswhy Emil receives this goal, and why it decides to delegateexecution to Pippi, areoutsidethe scopeof this experiment.

Fig. 5. Configuration of the PEIS-ecology in our example. For simplicity,mostof the PEIS-componentsnot relevant to the example have beenomitted.

After this configuration phase, the deliberation moduleentersthe first ActionReq uest tuple into the tuple-space.The Thinking Cap on Pippi readsthis tuple from its localtuple-spaceandreactsby attempting to move the robot to thebedroom with the help of the Position tuplesprovided bythe ceiling localizationsystem.

WhenPippi reachesthe entrance to the bedroom, it detectsan obstaclein the middle of the doorway both through itssonarsand through its object recognition system.As soonastheobstacleis detected,the informationabout thepresenceofanobstructing item,calledObj1 , is entered into thelocal per-ceptual spaceof theThinking Captogetherwith its perceptualproperties,e.g., box-shaped,color, size. At the sametime, afailure to achieve the goal is published to the tuple-space asanActionResu lt tuple,alongwith theinformationthattheplan failed becauseof an object blocking the only doorway.

As soon as the deliberation module receives the failurenotification, it performs a recovery planning and comesupwith the conditional plan that the blocking object shouldbepushed, if it can be pushed, or that the global goal will failunlessthe objectcanbe pushed.2 The recovery plan looks asfollows:

((ask-pu shable Obj1)(cond ((is-pu shable Obj1 = True)

(push Obj1) (at me bed)(wakeup) (at me sofa))

((is-pu shable Obj1 = False)Fail)))

As before, this plan startsby issuingthe first Action Re-quest into the tuple-space.The interestingdifferencehere

2See[19] for moreon the ability of PTLplanto generatethis sort of plans.

1. Emil sends commands to Pippi 2. Pippi is blocked entering the bedroom

3. Pippi pushes the box away 4. Task completed

Fig. 6. Four snapshots taken during an actual run.

is the conditional aspectof the plan which is realizedby theoutcome of the ask-pu shable observation action, whichresultsin the predicate is-pushab le to become eithertrueor false. When this observation action is executed by theThinking Cap, since the local perceptual information is notenough to answerwhetheror not the objects can be pushed,a look in the tuple-spacefor this object is made.

In order to accomplish this, the associationbetweentheobject Obj1 and the corresponding PEIS-component has tobeperformed.This is doneby querying the tuple-space for allPhysicalR epresentat ion tuplesof PEIS and attempt-ing to matchtheseto perceivedpropertiesof theobjectObj1 .The matchingoperation succeedsfor the parcel PEIS, thusgiving us the necessaryassociation.This is similar to whatis called perceptual anchoring [21], but with the differencethat in our casewe anchorthe perceptual representationof anobjectwith its representation into the virtual world.

After performing this actionthe Thinking Capanswersthedeliberation module with a successAction Result tuple,and also provides the corresponding can-push Propert ytuple for object Obj1 , as received by the parcel PEIS. Theexecution of therestof theactionsproceedsoneaftertheotherasplanned, andthe robot successfullyenters the bedroom.

WhenPippi entersthe bedroom,sheexits the field of viewof thecameras,andshereverts to usingthe(lessreliable)self-locationinformationfrom its internalodometry. Odometry lo-calizationis usedduring all thenavigationinsidethebedroom.As soonasPippi exits the bedroom,the Positi on tuplesofthe outer localizationsystemcan be usedonceagain.WhenPippifinally reachesherhomeposition, shenotifiesEmil aboutthe successof the last actionandthe task is completed.

Fig. 6 showsfour snapshotstakenduring anactualexecutionof this scenario.

D. More experiments

We have used the PEIS-Ecology framework and test-bedto run several more experimentsof various kinds. One suchexperiment,reported in a companion paper [22], usesa PEIS-Ecology approachto provide a viable solutionto the problemof mobile olfaction. In that experiment, a network of simplegas sensorsare combined with a mobile robot equippedwith a sophisticatedelectronic noseto monitor and classifysuspicious odours in the environment.The main resultof theexperiment is that the concept of PEIS-Ecology can be usedto addresssomeof the difficulties of mobile olfaction.

Other experiments and videos can be found in the PEIS-Ecology homepagewww.aass .oru.se/˜p eis/ .

V. DISCUSSION AND CONCLUSIONS

The basicideaof the PEIS-Ecology approach is to seetherobot(s) andthe environment aspartsof the samesystem.Inthis system,functionalitiescanbeallocatedboth to devicesinthe robot or to devicesin the (smart)environment, whicheveris mostadequate.This concept wasfirst proposedin [23].

Our experiments indicate that this approach allows simplerobots to perform relatively complex tasks.For example, inthe presentedscenario, a single state-of-the-art autonomousservant would have to dealwith the difficulties of identifyingsomenon-evident object features, like weight andfragility oftheparcel. In the PEIS-Ecology, theparcelis thesmartdevicewhich canbestidentify itself, soall theothershave just to askit aboutits features.In a similar way, thelocalizationproblemscanbehandled by theceiling cameras,insteadof beingsolvedby the (possiblysensor-poor) mobile robot. We canthereforeclaim, informally, thatour experimentsvalidatethehypothesismadein the Introduction.

Thedevelopment of a PEIS-Ecology reliesontheintegrationof several technologies:robotictechnology, takenout from thecurrent robotic systemsand usedinside specializeddevices;artificial intelligence technology, to provide the neededcapa-bilities of adaptability, self-configuration,andtaskorientation;and ubiquitous computing technology, to provide the neededstandardizedmechanismsfor communicationandcooperation.PEIS-Ecology, then,canbeseenasa new researchareaat theintersectionof the above threefields — seeFig. 7.

Although there is much work done in the pairwise in-tegration of thesefields, thesedo not extend to cover thefull problem addressedby PEIS-Ecology. For example, theidea of networking everyday objects and appliances in theenvironment hasbeenactively pursuedin thefield of AmbientIntelligence[24]. However, emphasis hasusuallybeenon thecreationand delivery of information: the PEIS-Ecology ap-proachextendsthework in ambientintelligenceby consideringtheperformanceof full physical tasks.In a similar way, PEIS-Ecologies extend the work on sensornetworks by addingthe dimensions of intelligence and cognition [25]. Finally,the PEIS-Ecology approachextends the work on autonomousrobotics by adding the dimensionof pervasiveness.This ap-proach redefines the very notion of a robot to holisticallyencompass the entire environment. In a PEIS-Ecology, the

Fig. 7. The studyof PEIS-Ecology lays at the intersection of several fields.

robot would disappear in the environment in the samewayas computersshoulddisappearaccording to the well knownvision of ubiquitous computing [26].

The most evident difficulty when implementing environ-mentspervadedby distributed intelligent systemsconsistsinthe necessityto put in communicationand intelligent cooper-ation a number of heterogeneous devices. Heterogeneitydoesnot only outcomefrom hardware/software platform variety,but also from the different levels at which the devices needto exchangeinformation: from raw datastreamsto one-shotdatareadings to symboliccommunication.The PEIS-Ecologyapproachhandlesheterogeneityby networking all the deviceson top of a common middle-ware, that takes careof all dataexchange:the PEIS-kernel.

The communication mechanismis very straightforward,since data accessis restricted by a small set of inser-tion/extractionprimitives to/from the tuple-space. The exper-iment shows how this limited set of primitives is sufficientto handle differentdataexchange paradigms. The tuple-spaceis usedthereto transferhigh level communicationmessages(e.g.the ActionReq uest andActionResul t tuples),aswell as low level streams(e.g. the Positio n tuples).

Among our many current directions of development, wemention: the extension of the current experimental systemto incorporate a wider variety of PEIS; the inclusion ofsmall embeddeddevices(e.g.,smartobjectsandRFID-taggedobjects)in a PEIS-Ecology; the automatic re-configuration ofa PEIS-Ecology to accountfor changesin the ecology, in theenvironment, or in thesystem’s goals;andthestudyof human-robot interactionin the PEIS-Ecology framework.

ACKNOWLEDGMENTS

This work has been supported by the SwedishResearchCouncil(Vetenskapsradet), and by ETRI (Electronicsand Telecommunica-tions ResearchInstitute, Korea) through the project “EmbeddedComponent Technology andStandardizationfor URC (2004-2008)”.

REFERENCES

[1] United Nations,World Robotics2004. Geneve, CH: U.N., 2004.[2] The Cogniron Consortiom, “The cognitive robot companion,”

www.cogniron.org.[3] “The hondahumanoid robotASIMO,” http://world.honda.com/ASIMO/.[4] R. Molfino, Ed., Proc. of the 1st Int. Conf. on Intelligent Manipulation

and Grasping, Genova, Italy, 2004.[5] The Europ Consortium, Building the EuropeanRoboticsPlatform EU-

ROP. Online, 2005,www.euron.org/europ/.[6] A. Knoll andM. de Kamps,Eds.,Roadmapof Neuro-IT Development.

Online, 2004,www.neuro-it.net/NeuroIT/Roadmap/.[7] Network Robot Forum, www.scat.or.jp/nrf/English/.[8] D. Arregui, C. Fernstrom, F. Pacull, and J. Gilbert, “Stitch: Middle-

ware for ubiquitous applications,” in Proc. of the Smart Object Conf.,Grenoble, France, 2003.

[9] F. Siegemund, “A context-aware communication platform for smartobjects,” in Proc. of the Int. Conf. on PervasiveComputing, 2004.

[10] W. Adji e-Winoto, E. Schwartz, H. Balakrishnan, and J. Lilley, “Thedesignand implementation of an intentional namingsystem,” in Proc.of the ACM Symp.on Operating systemsprinciples, 1999,pp. 186–201.

[11] J. Heidemann, F. Silva, C. Intanagonwiwat, R. Govindan, D. Estrin,andD. Ganesan, “Bui lding efficient wirelesssensornetworks with low-level naming,” in Proc. of the 18th ACM Symp.on Operating systemsprinciples, 2001,pp. 146–159.

[12] D. Caceres, H. Martınez, M. Zamora, and L. Tomas, “A real-timeframework for robotics software,” in Int Conf on ComputerIntegratedManufacturing, 2003.

[13] P. Wyckoff, S. McLaughry, T. Lehman,and D. Ford, “T-spaces,” IBMSystemsJournal, vol. 37, no. 3, 1988.

[14] W3 Consortium, “The semanticweb activity,” www.w3.org/2001/sw/.[15] R. Lundh, L. Karlsson,and A. Saffiotti, “Can Emil help Pippi?” in

Proc. of the ICRA-05 Workshopon Cooperative Robotics, Barcelona,ES,2005,online at www.aass.oru.se/˜asaffio/.

[16] B. Seo, M. Broxvall, M. Gritti , A. Saffiotti , and J. Kim, “UsingJavaSpace for a PEIS Ecology,” in Proc. of the 9th Int. Conf. onIntelligent and AutonomousSystems(IAS), Tokyo, JP, 2006.

[17] A. Saffiotti, K. Konolige, and E. H. Ruspini, “A multivalued-logicapproach to integrating planning and control,” Artificial Intelligence,vol. 76, no. 1-2, pp. 481–526,1995.

[18] Player/StageProject, playerstage.sourceforge.net/.[19] L. Karlsson, “Conditional progressive planning under uncertainty,” in

Proc. of the 17th IJCAI Conf., 2001.[20] A. Lilienthal and T. Duckett, “An absolute positioning system for

100 euros,” in Proc. IEEE Int. Workshopon Robotic Sensing, Orebro,Sweden,2003.

[21] S. Coradeschi and A. Saffiotti, “An introduction to the anchoringproblem,” Robotics and AutonomousSystems, vol. 43, no. 2-3, pp. 85–96, 2003.

[22] A. Loutfi, M. Broxvall, S. Coradeschi,and A. Saffiotti, “An ecologcialapproach to odour recognition in intelligent environments,” in Pro-ceedings of the IEEE Int. Conf. on Roboticsand Automation(ICRA),Orlando, USA, 2006.

[23] A. Saffiotti and M. Broxvall, “PEIS Ecologies: Ambient intelligencemeetsautonomousrobotics,” in Proc of the Int Conf on SmartObjectsand Ambient Intelligence (sOc-EUSAI), Grenoble, France, 2005, pp.275–280.

[24] IST Advisory Group,“Ambient intelligence: from vision to reality,” inAmbient Intelligence, G. Riva, F. Vatalaro, F. Davide, and M. A. niz,Eds. IOS Press,2005.

[25] D. Estrin, D. Culler, K. Pister, and G. Sukhatme,“Connecting thephysical world with pervasive networks,” IEEE PervasiveComputing,vol. 1, no. 1, pp. 59–69,2002.

[26] M. Weiser, “The computer for the 21st century,” Scientific American,vol. 9, pp. 66–75,1991.