USF Libraries
USF Digital Collections

Creating a distributed field robot architecture for multiple robots

MISSING IMAGE

Material Information

Title:
Creating a distributed field robot architecture for multiple robots
Physical Description:
Book
Language:
English
Creator:
Long, Matthew T
Publisher:
University of South Florida
Place of Publication:
Tampa, Fla.
Publication Date:

Subjects

Subjects / Keywords:
distributed systems
robotics
Jini
Java
agents
Dissertations, Academic -- Computer Science -- Masters -- USF   ( lcsh )
Genre:
government publication (state, provincial, terriorial, dependent)   ( marcgt )
bibliography   ( marcgt )
theses   ( marcgt )
non-fiction   ( marcgt )

Notes

Summary:
ABSTRACT: This thesis describes the design and implementation of a distributed robot architecture, Distributed Field Robot Architecture. The approach taken in this thesis is threefold. First, the distributed architecture builds on existing hybrid deliberative/reactive architectures used for individual robots rather than creating a distributed architecture that requires re-engineering of existing robots. Second, the distributed layer of the architecture incorporates concepts from artificial intelligence and software agents. Third, the architecture is designed around Suns Jini middleware layer, rather than creating a middleware layer from scratch or attempting to adapt a software agent architecture. This thesis makes three primary contributions, both theoretical and practical, to intelligent robotics. First, the thesis defines key characteristics of a distributed robot architecture. Second, this thesis describes, implements, and validates a distributed robot architecture.Third, the implementation with a team of mobile ground robots interacting with an external software "mission controller" agent in a complex, outdoor task is itself a contribution. The architecture is validated with three existence proofs. First, an example is presented to show the implementation of a basic sensor service. Second, a basic behavior is presented to validate the reactive portion of the architecture. Finally, an intelligent agent is presented to validate the deliberative layer of the architecture and describe the integration with the distributed layer.
Thesis:
Thesis (M.S.C.S.)--University of South Florida, 2004.
Bibliography:
Includes bibliographical references.
System Details:
System requirements: World Wide Web browser and PDF reader.
System Details:
Mode of access: World Wide Web.
Statement of Responsibility:
by Matthew T. Long.
General Note:
Title from PDF of title page.
General Note:
Document formatted into pages; contains 82 pages.

Record Information

Source Institution:
University of South Florida Library
Holding Location:
University of South Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 001498134
oclc - 57717520
notis - AJU6729
usfldc doi - E14-SFE0000539
usfldc handle - e14.539
System ID:
SFS0025230:00001


This item is only available as the following downloads:


Full Text
xml version 1.0 encoding UTF-8 standalone no
record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd
leader nam Ka
controlfield tag 001 001498134
003 fts
006 m||||e|||d||||||||
007 cr mnu|||uuuuu
008 041209s2004 flua sbm s000|0 eng d
datafield ind1 8 ind2 024
subfield code a E14-SFE0000539
035
(OCoLC)57717520
9
AJU6729
b SE
SFE0000539
040
FHM
c FHM
090
QA76 (ONLINE)
1 100
Long, Matthew T.
0 245
Creating a distributed field robot architecture for multiple robots
h [electronic resource] /
by Matthew T. Long.
260
[Tampa, Fla.] :
University of South Florida,
2004.
502
Thesis (M.S.C.S.)--University of South Florida, 2004.
504
Includes bibliographical references.
516
Text (Electronic thesis) in PDF format.
538
System requirements: World Wide Web browser and PDF reader.
Mode of access: World Wide Web.
500
Title from PDF of title page.
Document formatted into pages; contains 82 pages.
520
ABSTRACT: This thesis describes the design and implementation of a distributed robot architecture, Distributed Field Robot Architecture. The approach taken in this thesis is threefold. First, the distributed architecture builds on existing hybrid deliberative/reactive architectures used for individual robots rather than creating a distributed architecture that requires re-engineering of existing robots. Second, the distributed layer of the architecture incorporates concepts from artificial intelligence and software agents. Third, the architecture is designed around Suns Jini middleware layer, rather than creating a middleware layer from scratch or attempting to adapt a software agent architecture. This thesis makes three primary contributions, both theoretical and practical, to intelligent robotics. First, the thesis defines key characteristics of a distributed robot architecture. Second, this thesis describes, implements, and validates a distributed robot architecture.Third, the implementation with a team of mobile ground robots interacting with an external software "mission controller" agent in a complex, outdoor task is itself a contribution. The architecture is validated with three existence proofs. First, an example is presented to show the implementation of a basic sensor service. Second, a basic behavior is presented to validate the reactive portion of the architecture. Finally, an intelligent agent is presented to validate the deliberative layer of the architecture and describe the integration with the distributed layer.
590
Adviser: Murphy, Robin.
653
distributed systems.
robotics.
Jini.
Java.
agents.
690
Dissertations, Academic
z USF
x Computer Science
Masters.
773
t USF Electronic Theses and Dissertations.
4 856
u http://digital.lib.usf.edu/?e14.539



PAGE 1

CreatingaDistributedFieldRobotArchitectureforMultipleRobotsbyMatthewT.LongAthesissubmittedinpartialfulllmentoftherequirementsforthedegreeofMasterofScienceinComputerScienceDepartmentofComputerScienceandEngineeringCollegeofEngineeringUniversityofSouthFloridaMajorProfessor:RobinMurphy,Ph.D.KimonValavanis,Ph.D.LarryHall,Ph.D.DateofApproval:November1,2004Keywords:robotics,distributedsystems,agents,java,jinicCopyright2004,MatthewT.Long

PAGE 2

AcknowledgmentsPortionsofthisworkweresupportedbyDOEGrantDE-FG02-02ER45904andONRGrantN00014-03-1-0786.TheauthorwouldalsoliketothankRobinMurphyandKimonValavanisfortheirsupportandencouragement;LynneParkerforherhelpatOakRidgeNationalLabs;andtoJenniferCarlson,LefterisDoitsidis,AaronGage,BrianMinten,AndrewNelsonandTimSlusserfortheirhelpinmotivatingthedesignandprovidinghelpfuldiscussions,demonstrations,commentsandcriticisms.

PAGE 3

TableofContentsListofTablesiiiListofFiguresivAbstractviChapterOneIntroduction11.1IntroductiontotheWork11.2ResearchQuestion21.3ResearchApproach21.4Terminology31.4.1WhatisArchitecture?31.4.2WhatareDistributedSystems?51.4.3WhatareAgents?61.5DemonstrationDomain81.6Contributions91.7ThesisOrganization10ChapterTwoRelatedWork112.1DistributedRoboticArchitectures112.1.1Software-EnabledControl132.2SoftwareAgentArchitectures142.3Summary17ChapterThreeApproach183.1RequirementsandDesignConstraints193.2SensorFusionEffectsTheHybridPrecursor203.3DistributedLayer233.3.1CapabilitiesandAttributes233.3.2ModuleManagementandSecurity253.4Tutorial:JavaandJini263.4.1WhyJava?263.4.2WhyJini?273.4.3Concepts303.5Summary36ChapterFourImplementation374.1JavaImplementation374.1.1InterfaceHierarchy374.2IntegrationwithJini414.2.1ActivationandSystemInitialization434.2.2SharingCapabilitiesandAttributes464.2.3AuthenticationandAuthorization49i

PAGE 4

4.2.4FaultToleranceandRecoveringfromServiceFailure504.3Summary50ChapterFiveDemonstration515.1RobotHardware525.2ImplementingaBasicGPSService525.3ImplementingaWaypoint-FollowingBehaviorUsingMATLAB575.4DistributedAgentsforAffectiveRecruitment605.5Summary64ChapterSixDiscussion65ChapterSevenSummaryandFutureWork677.1FutureWork69References71ii

PAGE 5

ListofTablesTable1.ReactiveComponentsinSensorFusionEffects21Table2.DeliberativeComponentsinSensorFusionEffects22Table3.KeyIssuesRelatingtoDistributedComputingArchitectures29iii

PAGE 6

ListofFiguresFigure1.TheTargetMissionScenario9Figure2.APortionoftheOriginalSFXArchitecture22Figure3.ExtendingtheOriginalArchitecturebyAddingaDistributedPersona24Figure4.ExpressionofthePersonaasCapabilities25Figure5.DistributedResourceProtection25Figure6.InteractingwithaServiceThroughaProxy31Figure7.OperationofaClientorServiceDiscoveringaLookupService32Figure8.MulticastVersusUnicastCommunication32Figure9.PollingVersusRemoteEvents34Figure10.OverviewofJavaAuthenticationandAuthorizationService35Figure11.TheJavaPlatformandSomeUsefulLibrariesandPackages38Figure12.TheCoreInterfaceHierarchyfortheArchitecture38Figure13.ClassandInterfaceHierarchyfortheModule-RelatedSystemComponent42Figure14.InitialBootstrapProcessforServiceActivation44Figure15.ServerActivationintheActivationSystem45Figure16.ATRV-JrHardware52Figure17.UMLDiagramfortheClassandInterfaceHierarchyDenedfortheGPSService53Figure18.EventFlowforInitializationandActivation55Figure19.EventFlowforEvent-BasedGPSReadings56Figure20.Control-TheoreticGoToWaypointasImplementedinMATLAB57Figure21.DFRA-MATLABIntegrationUMLDiagram58Figure22.UserInterfaceforSelectingRobotSearchAreas60Figure23.TwoRobotPassingEachOtherWhilePerformingaRasterScan61iv

PAGE 7

Figure24.ThePathoftheTwoRobotsPerformingaRasterScan61Figure25.OverallRecruitmentProtocol63Figure26.Schema-BasedGoToWaypointBehavioralDesign69v

PAGE 8

CreatingaDistributedFieldRobotArchitectureforMultipleRobotsMatthewT.LongABSTRACTThisthesisdescribesthedesignandimplementationofadistributedrobotarchitecture,DistributedFieldRobotArchitecture.Theapproachtakeninthisthesisisthreefold.First,thedistributedarchitecturebuildsonexistinghybriddeliberative/reactivearchitecturesusedforindividualrobotsratherthancreatingadistributedarchitecturethatrequiresre-engineeringofexistingrobots.Second,thedistributedlayerofthearchitectureincorporatesconceptsfromarticialintelligenceandsoftwareagents.Third,thearchitectureisdesignedaroundSunsJinimiddlewarelayer,ratherthancreatingamiddlewarelayerfromscratchorattemptingtoadaptasoftwareagentarchitecture.Thisthesismakesthreeprimarycontributions,boththeoreticalandpractical,tointelligentrobotics.First,thethesisdeneskeycharacteristicsofadistributedrobotarchitecture.Second,thisthesisdescribes,implements,andvalidatesadistributedrobotarchitecture.Third,theimplementationwithateamofmobilegroundrobotsinteractingwithanexternalsoftwaremissioncontrolleragentinacomplex,outdoortaskisitselfacontribution.Thearchitectureisvalidatedwiththreeexistenceproofs.First,anexampleispresentedtoshowtheimplementationofabasicsensorservice.Second,abasicbehaviorispresentedtovalidatethereactiveportionofthearchitecture.Finally,anintelligentagentispresentedtovalidatethedeliberativelayerofthearchitectureanddescribetheintegrationwiththedistributedlayer.vi

PAGE 9

ChapterOneIntroduction1.1IntroductiontotheWorkTheaimofthisthesisistoextendahybriddeliberative-reactiverobotarchitectureintoadistributedrobotarchitecture.Theworkisrelatednotonlytotheeldofrobotics,butalsotodistributedcomputingandagentarchitectures.Thischapterposestheresearchquestion,andwillprovidethereaderwithanintroductiontotheterminologytobeusedinthisthesis,alongwithadiscussionofthemotivationforandtheissuestobeaddressedbythiswork.Thischapterwillalsointroducethecontributionsmadetothestateofdistributedroboticresearchandwillprovideanoutlineforthesupportoftheseclaimsintheremainderofthiswork.Themotivationforthisworkistheproliferationofheterogeneousmobilerobotsandthelackofacommon,distributedcomputingarchitecturetotakeadvantageoftheserobotsinawaythatbuildsonthestateoftheartinrobotics.Currently,manyrobotmanufacturerssellrobotsystems,buteachsystemtypicallyhasaspeciclayerofcontrolsoftwarewithlimitedornointeroperabilitywiththesoftwareofanothervendor.Forexample,theiRobotCorporationdevelopsrobotsthatuseMobilitysoftware[33]androbotsproducedbyActivMediaRoboticsruntheAriasystem[1].AsisdiscussedinChapterTwo,therearemanysingle-systemrobotarchitecturesthatwillrunonthesebasesbutfewthatareinherentlydistributed.Inaddition,whilethereareanumberofroboticarchitecturesthatincorporatecommunicationandcanoperateovermultiplerobots,therearefewthatdothisinasystematicmanner.Anexampleofadomainwhereaheterogeneousteamofrobotsisneededandwherecurrentarchitecturesareinsufcientisbeachdemining.Inthisdomainateamofrobotsexploresabeachformines,ndingaclearpathforothervehiclesorpersonneltosafelylandandprogressinland.Thedomainiscomplex,requiringsystematicdistributedcontrolofateamofrobots,butalsorequiringthecapabilitytocommunicatewithintheteamandwithoperatorsatamissioncontrolstation.Thislackofacommon,distributedroboticsarchitectureforsuchcomplextasksisaddressedbythisthesis.Tocreatesuchanarchitecture,itisimportanttobuildonpriorwork.Thescopeandcomplexityofbothconventionalrobotarchitecturesandofdistributedsystemandsoftwareagentarchitecturesaresuch1

PAGE 10

thatitwouldbeaHerculeanefforttoattempttorecreateeffortsthathavebeendone,anddonewell.Thereforetheapproachtakeninthisworkhasbeentotakethebestfromtheseareas,andtointegratethem,withmodications,intoacohesive,usefuldistributedrobotarchitecture.1.2ResearchQuestionTheresearchquestionthatthisthesisaddressesisthus:Howdoweextendahybriddeliberative-reactiverobotarchitectureintoageneral-purposedistributedrobotarchitecture?Thereareseveralquestionsthatshouldbeansweredaspartofthisquestion:Whatarethedesirablecharacteristicsofadistributedrobotarchitecture?Whatarekeycomponentstomergefromexistingdistributedrobotandagentarchitectures?Whatarethemissingcomponentsthatmustbedeveloped?1.3ResearchApproachTheapproachtakeninthisthesisisthreefold.First,thedistributedarchitecturebuildsonexistinghybriddeliberative/reactivearchitecturesusedforindividualrobotsratherthancreatingadistributedarchitecturethatrequiresre-engineeringofexistingrobots.Themajorityofintelligentgroundrobotsareprogrammedusingthehybridarchitecturalparadigm,whichdividesthearchitectureintoareactiveorbehaviorallayerandahigherdeliberativelayer[46].Intelligentaerialvehiclesalsoemployhierarchicallayersofcontrol[31].Thisthesisproposesandimplementsadistributedlayerthatservesasayethigherlayer.Thisisconsistentwiththesoftwareengineeringprinciplesofmodularity,informationhiding,andsecurity.Italsomeansthattherobotscanfunctionontheirownevenifthedistributedlayerhasasoftwarefailure.Anotheradvantageofthedistributedlayeristhatitisexpectedtobeapplicabletoanysingle-robotarchitecture.Second,thedistributedlayerofthearchitectureincorporatesconceptsfromarticialintelligenceandsoftwareagents.Thedistributedlayerislooselybasedonthepersonaconceptfrompsychology.Eachpersonhasapersona,orwayheorsheinteractswiththeworld,underdifferentcircumstances.Thepersonaprovidesametaphorforthinkingabouttherobotandhowitinteractswithotherrobotsandintelligentagents.Thepersonaconceptisalsoconsistentwithgoodsoftwareengineering,especiallyinformationhidingandsecurity,sinceitimpliesthatallagentsdonothaveaccesstoallaspectsofeachrobot.The2

PAGE 11

architectureallowsthedevelopmentofdistributedalgorithmsanddecisionmakingaswellasinterfaceagentsandagent-orientedcommunicationfromsoftwareagencyanddistributedsystems,allowingthearchitecturetobenetfromadvancesinthosedomainsandtoensurethattherobotswillbeabletoworkwithsoftwareandcognitiveagentsinthelargerinformationalsystem.ItalsopermitsthefutureadditionofaffectivecomputingconstructswhichisanemergingconceptindistributedsystemsinarticialintelligenceseeBreazeal[14]andPicard[55].Third,thearchitectureisdesignedaroundSunsJinimiddlewarelayer,ratherthancreatingamiddlewarelayerfromscratchorattemptingtoadaptasoftwareagentarchitecturesuchasControlofAgent-BasedSystems.Thiswasdoneforthefollowingvereasons:Creatingarobust,functionalmiddlewarelayerisacomplex,time-consumingprocessandnotthemaingoalofthiswork.Jiniisacommerciallydeveloped,stable,openproduct.Jinihasathrivingusercommunitythathasavestedinterestinseeingbugsfoundandxed.Jiniiswellsuitedtothesecurity,networkingandeventmodelsoftheJavalanguage.Othersystems,suchasCoABS,arebuiltonJini.ThisshowsthatJiniisarelevantandfunctionalbaseforthiswork.1.4TerminologyThereareseveralkeyconceptsthatareimportanttodenenow.Thisdiscussionshouldhelpfocusthefollowingliteraturesurveyonsystemsthatarerelevantsystemsthatarebothdistributedandagent-basedoragent-supporting.Inaddition,thisworkdescribesanarchitecture,soitwillbeusefultodenethistermaswell.BrugaliandFayad[17]haveagoodoverviewofdistributedcomputinginroboticsandautomation;thediscussioninthisthesisissimilarinmanyways,butexploresroboticandagentarchitecturesinmoredepth.1.4.1WhatisArchitecture?TheSoftwareEngineeringInstitutedenesasoftwarearchitectureasthestructureorstructuresofasoftwaresystem.Thesestructuresaresoftwareelements,theirexternallyvisibleinterfacesandtherelationshipsamongtheelementsinthesystem[5].Mostimportantly,softwarearchitecturedealswithanabstractionofa3

PAGE 12

system,deninghowelementsinteractwithinthisabstraction,butnothowindividualelementsareimplemented.Levis[8,66,39],inworkonCommand,Control,Communications,Computer,Intelligence,Surveillance,andReconnaissanceC4ISR[29]architecturealsoviewsarchitectureasasetofabstractviewsormodelsofthesystemunderconsideration:Anarchitectureisdenedasthestructureofcomponents,theirrelationships,andtheprinciplesandguidelinesgoverningtheirdesignandevolutionovertime.TheC4ISRarchitecturedecomposesintothreeareas:technical,operational,andsystemsarchitecture.Thetechnicalarchitectureistheminimalsetofrulesthatdenetheinteractionofthevariouselementsinasystem,suchthattheelementsobeytheconstraintssetintheoperationalandsystemsarchitectures.Anoperationalarchitecturedenestheinformationowamongforceelementsinasystem,includingfrequencyofandtaskssupportedbytheinformation.Thesystemarchitecturedenesthehighlevelcompositionofvariouselementsinthesystem-of-systems.Thearchitecturepresentedinthisthesisisatechnicalarchitectureinthissense.Thetechnicalarchitecturedenitionmatcheswellwiththestandardsoftwareengineeringdenition,sotheSEIdenitionwillbeusedforthisthesis.Interactionsamongandbetweenrobotsandotherelementsinalargerdomain,suchasthetaskdescribedinSection1.5,aredenedbyasystemarchitecture.architectureAsoftwarearchitectureisthestructureorstructuresofasystem.Thesestructuresaresoftwareelements,theirexternallyvisibleinterfacesandtherelationshipsamongtheelementsinthesystem.Softwarearchitecturedealswithanabstractionofasystem,deninghowelementsinteractwithinthisabstraction,butnothowindividualelementsareimplemented.Middlewareframeworks[7]areabstractionsofadistributedcomputingenvironment.Theseframeworksallowsoftwaredeveloperstomoreeasilyextendsysteminfrastructuresintoadistributedenvironment.Thisisbecausethemiddlewareisinthemiddle,betweentheoperatingsystemornetworkservicesandtheapplicationlayer,abstractingthedetailsofthesystem-specicnetworkingandotherlow-levelcode.Jiniisanexampleofamiddlewareframework[4].TheuseofastandardmiddlewarelayersuchasJinihasabenetsystemsbuiltontopofthemiddlewarelayerautomaticallyinherittheattributesofadistributedsystem.4

PAGE 13

1.4.2WhatareDistributedSystems?Tanenbaum[61]presentsastandarddenitionofadistributedsystem:Adistributedsystemisacollectionofindependentcomputersthatappeartotheusersofthesystemasasinglecomputer.Underthisdenitiontheimportantinteractionisbetweentheuserandthesystemasawhole,notwiththesystem'sindividualelements.Alsoimplicitinthisdenitionisthenotionthatthereareseveraldiscreteelements,thecombinationofwhicharethedistributedsystem.Mobilerobotplatformsarealmostalwaysseparateentitieswithindependentcontrolondiscretephysicalmanifestations.Severalquestionssometomind.Doesadistributedsystemneedtohavemultiplecomputersystemstobeconsidereddistributed?Wouldasystemthatstartswiththreeentities,buttwoofthemfailstillbeconsidereddistributed?Howaboutifonlyonestartedinitially?Thebiggestweaknessofthestandarddenitionisthatclassicationcanbemadebasedonthecurrentstateofthesystem,ratherthanonthesystempotential.However,thereareotherdistributedsystemdenitionsthatapply.Waldo,etal.[67]usethetermdistributedcomputingtorefertoprogramsthatmakecallstootheraddressspaces,possiblyonanothermachine.Thisviewresolvesthequestionsraisedabove:aslongasthesystemhasthepotentialtobedistributed,thethesystemisconsideredtobedistributed.Theroboticsystemunderdevelopmentisadistributedsysteminthesensethatitcansupportmultiplerobotsthathavethesamegoalandappearasasinglesystem.Yeteachrobotisacollectionofcommunicatingandcooperatingprograms,andisalsodistributedonanerscale.Undertheconceptofdistributedpotential,itisirrelevantwhetherthereisonerobotorahundredtheteamsizeaxisisorthogonaltothedistributedaxissinceeachroboticagentisdistributedbyitself.distributedrobotsystemAdistributedrobotsystemisacollectionofrobotsystemswhereeachrobotinthesystemhascomponentsthatcanaccesstheaddressspaceofothercomponents,whetherthecomponentisonthesamerobotoranother.Thissuggestsarelateddenition:multi-robotsystemAmulti-robotsystemisacollectionofrobotsthathavecomponentsthatmayormaynotbeabletoaccesstheaddressspaceofothercomponents.Anexampleofthisisswarmrobots.5

PAGE 14

Underthesedenitions,alldistributedrobotsystemsaremulti-robotsystems,butmulti-robotsystemsarenotnecessarilydistributed.MoreterminologyrelatedtothespecicdistributedsystemmiddlewareusedinthisworkwillbeintroducedinSection3.4.3.Itisimportanttonotethatthisworkisprimarilyconcernedwithdistributedrobotsystems.Whilethisdoesintersectthedomainofmulti-robotsystems,itismoreconcernedwithprovidingaframeworkthatsupportsdistributedprogrammingonmobilerobots.1.4.3WhatareAgents?Bradshaw[12]notesthatthetermagenthasdifferentdenitionstodifferentpeople.Hebreaksthedenitionsintotwocategories:aspirationanddescription.Aspiration:Asoftwareagentcanactonbehalfofsomeonetocarryoutaparticulartaskwhichhasbeendelegatedtoit.Agentscaninferintentfromdirectionsandcantakeintoaccountthepeculiaritiesoftheuserandthesituation.Anagentisnotdenedbyasetofattributes,butratherbysomeoneattributingagent-hoodtoit.Description:Anagentisasoftwareentitywhichfunctionscontinuouslyandautonomouslyinaparticularenvironment,ofteninhabitedbyotheragentsandprocesses.Thisdenitionisattributebasedanagentmightpossessattributeslikethefollowing:reactivity,autonomy,collaborativebehavior,knowledge-levelcommunicationability,inferentialcapability,temporalcontinuity,personality,adaptivity,andmobility.Thedescriptivedenitionofanagentisthemoremeaningfulofthetwo.Theaspirationdenitionisparticularlyfuzzy,sincetwoobserversofthesamesystemmaydisagreeontheagent-hoodofthesystem.Adescriptivedenitionalsoallowstheuseofametrictodeterminewhetheraparticularsoftwarecomponentisanagentornot.Butdoesthisdenitionholdforroboticagents?AdenitionadaptedfromMurphy[46]expressestheroboticscommunities'denitionofanagent:Anagentisaself-contained,independentandself-awaremodulethatcaninteractwiththeworldtomakechangesortosensewhatishappening.Thereisoneproblemwiththisdenition:Whatdoesself-awaremean?Isanyrobotorsoftwareagenttrulyselfaware?ThisdenitionisbroaderthanBradshaw's,inthatthedenitionisnotlimitedtoasoftwareentity,andcanincludephysicallysituatedhardware/softwaresystemssuchasrobots.6

PAGE 15

AcomprehensivedenitionfromWooldridge[72]:Anagentisacomputersystemthatissituatedinsomeenvironment,andthatiscapableofautonomousactioninthisenvironmentinordertomeetitsdesignobjectives.Anextensiontothisforintelligentagents:anintelligentagentisonethatiscapableofexibleautonomousactioninordertomeetitsdesignobjectives.Inthiscontext,exibilitymeansthreethings:reactivity,pro-activenessandsocialability.Forintelligentagents,reactivitymeanstheabilitytoperceivetheirenvironmentandtorespondtochanges.Pro-activenesssimplymeanstoexhibitsomeformofgoal-directedbehavior.Inotherwords,theagentisnotmerelyreactingtotheenvironment,buthasareasonforacting.Finally,anagent'ssocialabilityisdenedastheabilitytointeractinameaningfulwaywithotheragentsintheenvironment.Sinceagentscanbeclassiedfurtherbydenotingtheenvironmentinwhichtheyoperateandthedegreetowhichtheyaresituated,itisimportanttoverifythatthisdenitioncansupportthefullspectrumofagency.Underthisdenitionarobotasawholecanbeconsideredanagent.Inthiscase,theenvironmentisthephysicalworld,inhabitedbyotheragents.Theroboticagentasanentitycaninteractwithotheragentstopursueitstasks.Therobotmayalsocontainagentsofanergranularity.Theseagentsaresoftwareagentsthatareresponsiblefortheinternalfunctionsoftherobot.Theirenvironmentisthecomputingenvironmentontherobotitself,andpossiblyotherrobotsifcommunicationallows.Whilesomeoftheseagentscanbemobile,manyaresituatedsoftwareagentsresponsibleforthemanagementandexecutionofcertainresourceslocaltoaparticularrobot,suchassensorsoreffectors.Whilemanyservicesonarobotcanbeagents,manyaresimplyactiveobjects.Anactiveobjectisanobjectthathasitsownthreadofcontrol.Thisthreadofcontrolmeansthatactiveobjectsaresomewhatautonomous,abletoexhibitsomebehaviorwithoutbeingoperatedonbyanotherobject.Passiveobjectsonlyexhibitbehaviorwhenactedonbyanotherobject.Eventhoughactiveobjectsaresomewhatautonomoustheyarenotintelligentagents.Anexampleofthiscouldbeadriveeffectorservicethatpassesmotorcommandstoamotor.Theservicemightautonomouslymaintainclosed-loopcontrolofthemotor,butmaynotbeabletointeractwiththerestofthesysteminanintelligentmanner.Thisdistinctionisimportantinclassifyingdistributedsystems.Cognitiveagentssuchashumansoranimalsdonottthisagentdenition,however,asitdealssolelywithcomputersystems.Sincecognitiveagentswillbeactingintheenvironmenteitherdirectlywiththerobotinthephysicalworldorwiththerobot'scontrolsoftwarethedenitionmustbemodiedtoincludethemaswell.Forthepurposeofthisthesis,thefollowingdenitionsofagentwillbeused:7

PAGE 16

agentAnagentissomethingorsomeonethatissituatedinsomeenvironment,andthatiscapableofautonomousactioninthisenvironment.intelligentagentAsabove,anintelligentagentisanagentthatiscapableofexibleautonomousaction.Underthisdenition,asoftwareagentisanagentthatoperatesinapurelysoftwareworld.Asoftwareagent'sperceptsarerelatedtosoftwareandanyactionthisagentmaytakeoperatesonsoftware.Inasimilarvein,physicalagentsaresituatedinthephysicalworldandreceiveperceptsfromtheworldandtakeactioninthisworld.Inthisthesis,arobotisconsideredaphysicalagent,whileportionsofthecontrolsoftwaremaybesoftwareagentsifsufcientlycomplex.Physicalorsoftwareagentsmayormaynotbeintelligentagents,butcognitiveagentsarealwaysintelligentagents,withcognitiondenotingaparticularlystrongformofintelligence.1.5DemonstrationDomainThissectiondescribesthetargetmissionscenario,acooperativeminedetectiontask,showninFigure1.Inthisexample,twogroundrobotsandanaerialrobotareperformingamissioninanoutdoorenvironment,searchingforminesinaregion.Onegroundrobotisperformingarastersearchofanarea,whiletheotherisassistingtheVerticalTake-OffandLandingwithidenticationofapotentialtarget.TwoexamplesofworkusingthisarchitecturesupportingthisdomainaredescribedinSection5.3awaypoint-followingbehaviorandSection5.4recruitmentofrobotstohelpwithatask.EachrobothasanassociatedOperatorControlUnitOCU,whichisthedirectcontrolunitusedbytherobotoperator.Therobotoperatorcansendsupervisorycommandstotheassociatedrobotandinterrupttherobot'soperationifneeded.AGroundControlStationisalsolocatednearby.TheGCShousesasetofGroundControlUnits.Thisisthecontrolunitusedbythepayloadspecialistorrobotmissionhumanexpert.TheGCUunitmayalsoserveasanOCU.Finally,supervisingtheentireoperationistheMissionControlUnit.TheMCUmayalsoserveasaGCUorOCU.Thisgurealsoshowssomeofthecommunicationpossibilities,denotedbythelinesconnectingtheactorsinthescenario.Theoutdoorenvironmentisconstantlychanging,andthisaffectstheconnectivityoftheelementsintheeld.Theoverallsystemmustbeabletoadapttothechangingcommunicationenvironment.8

PAGE 17

Figure1.TheTargetMissionScenario1.6ContributionsThisthesismakesthreeprimarycontributionstointelligentrobotics.Thesecontributionsareboththeoreticalandpractical.First,thethesisdenesthecharacteristicsofadistributedrobotarchitectureforteamsofheterogeneousmobilerobotsbasedoneldexperience.Therearesevenkeyrequirements:Supportforbothbehavior-basedanddeliberativeroboticparadigms.Thearchitectureshoulduseopenstandardand/oropensourceforcompatibilityandcorrectness.Thearchitectureshouldbefaulttolerantatboththesystemandcomponentlevels.Adaptabilityinthefaceofchangingoperatingconditionsiscritical.Theabilitytomodify,administer,logandmaintainthesystematruntimeisneededforalong-livedsystem.Aconsistentprogrammingmodelisusefultoabstractthelocalityofobjectsinthesystem.Thesystemshouldbedesignedtobedynamicfromthestarttoavoidarbitraryrestrictions.Thisisamajorcontributiontothetheoryofrobotarchitecturesbecauseithelpsshapewhattheyaretodo.Itisalsoacontributiontotheimplementationofrobotsbecauseitprovidesinitialdesigncriteria.Second,thisthesisdescribes,implements,andvalidatesadistributedrobotarchitecturewhich:9

PAGE 18

isconsistentwithgoodsoftwareengineeringprinciplescanbeappliedtoanyexistingsingle-robotarchitectureisconsistentandcompatiblewithagentarchitectures,makingitextensibleforemergingAIconceptssuchasaffectivecomputingTherobotarchitectureitselfisatheoreticalandpracticalcontribution.Asanarchitecture,itforwardsthetheoryofintelligentrobotics.Becauseitisdesignedandimplementedwithgoodsoftwareengineeringprinciplesthatcanbeportedtoexistingrobots,thethesisreectsapracticaladvancementofrobotics.Third,theimplementationwithateamofmobilegroundrobotsinteractingwithanexternalsoftwaremissioncontrolleragentinacomplex,outdoortaskisitselfacontribution.Traditionally,mostdistributedrobotarchitectureshavebeentestedinanindoor,controlledenvironment.Thisarchitecturehasbeentestedinanoutdoorenvironment,andthetargetdomainiscomplex.1.7ThesisOrganizationChapterTwodiscussesworkrelatedtothisthesis.ChapterThreeexaminestheapproachtakenindevelopingthisarchitecture.ItalsoprovidesbackgroundinformationonthetechnologiesthatunderlythissolutionJava,JiniandtheSensorFusionEffectsSFXhybriddeliberative-reactivearchitecture.ChapterFourexaminessomeoftheimplementationdetailsoftheDistributedFieldRobotArchitecture.ChapterFivelistsandexplainsthevalidationofthearchitectureandprovidesseveralcasestudiesofsampleusesfortheDFRA.DiscussionoflessonslearnedareprovidedinChapterSix.FinallyChapterSevenexplorestopicsthatremainopenasfuturework.10

PAGE 19

ChapterTwoRelatedWorkForthisthesis,relatedworkfallsintotwoprimarycategories:distributedroboticarchitecturesandsoftwareagentarchitectures.Thereareanumberofimportantconsiderationswhendevelopingageneral-purposearchitecturethathavebeengeneratedasaresultofeldwork[18,20,45,19,23].Thearchitecturemustsupportbothbehavior-basedanddeliberativeroboticparadigms.Thearchitectureshoulduseopenstandardsifpossible.Thisallowsgreaterexibilityinchoiceofdesign,developmentandanalysisandaidsinfuturemaintainability.Thesystemshouldbereliableinthefaceofhardwarefaults,softwareerrors,andinthecaseofadistributedsystem,networkerrors.Foralong-livedsystem,theabilitytobemodied,administered,loggedandmaintainedatruntimeisimportanttokeepahighqualityofserviceforthesystem.Thearchitectureshouldenableadaptationandexibilityinthefaceofdynamicallychangingoperatingenvironmentandconditions.Havingthesecharacteristicswillallowasystemtohaveagreateravailabilityandthepotentialforusefulnessincircumstancesotherthanforwhichitwasprogrammed.Finally,thesystemshouldtreatbothlocalandremotereferencesinaconsistent,systematicmannerforeaseofdesignandimplementation.Thesewillbetheprimarymetricsconsideredwhenexaminingrelevantliterature.2.1DistributedRoboticArchitecturesTherearelargenumbersofsingle-systemrobotarchitectures.ExamplesincludeMurphy'sSFX[47],Brooks'subsumption[16],Bonasso's3T[9]andArkin'sAuRA[3].Theseandotherarchitectureshavebeendiscussedindetailinsurveypapers[42]andbooks[46,2].Onekeyfeatureofthesearchitecturesisthattheywereinitiallydesignedforsingle-robotsystems.AsParkernotesin[52,51]thatwhiletherehavebeennumerousadvancesinmulti-agentrobotics,thesehavebeenprimarilyfocusedonprovidingaspeciccapabilitytoarobotteam.Typically,thisinvolvesaddingadistributedormulti-agentcapabilitytoanexistingarchitecture.Forexample,Mataricusedthesubsumptionarchitecturetoexaminesocialrulesinmulti-robotsystems[43],ashaveMataric,Sukhatmeandstergaard[44]fordistributedtaskplanningin11

PAGE 20

botharealandsimulatedemergencyhandlingdomainandParkerutilizedtheALLIANCEarchitecture[50]toexploredistributedfaulttoleranceusingahazardouswastecleanupscenario.Gerkey,et.al.attheUniversityofSouthernCaliforniahavedevelopedPlayer[25],adistributedroboticsarchitecture.ThePlayerarchitectureisbasedaroundamulti-threadedsocketserverthatsupportsextremelysimpledatacommunication.Clientsreceivedatafromtheserveronaregularinterval.PlayerusestheUNIXleabstractiontocommunicatewithsensorsandactuatorsopen/read/write/close/ioctl.ThisdeviceabstractionhasbeendescribedmorerecentlybyVaughan,GerkeyandHowardin[65].Thisabstractionisextremelysimpleandpowerful,butpushesalargeprogrammingburdenandknowledgetotheclient.ItisunclearwhattherelativeusageofPlayeranditsassociatedsimulatorStageis,althoughithasbeenusedforsimulationandevaluationpurposes[53].Playerisopensource,releasedtothecommunityforpublicuse,butislimitedintheareaofruntimemodicationthisarchitecturedoesnotsupportorimplementmanyofthebasicmiddlewarefunctions,suchasautomaticservicediscovery.Werger[68]describesalanguageandarchitecture,Ayllu,forbehavior-basedcontroloverIPnetworks.ThefoundationforthisarchitectureisavariantofthesubsumptionarchitecturecalledthePort-ArbitratedBehaviorparadigm.Inthisarchitecture,behaviorshaveexternally-accessibleelementscalledports.Sourceportscanbeconnectedtodestinationportsthroughsuppressive,inhibitory,oroverridingconnections.TheclaimisthatthelackofadistributedarchitecturesuchasAylluisthereasonthatbehavior-basedsystemsareproblematicwithregardtoscaling.Thisarchitecturedoesnotaddresshigherlevelconceptsthatarefoundinhybridarchitectures,suchasamanageriallayerconceptsthatarefundamentaltothearchitecturepresentedinthisthesis.AsinPlayer,itisdifculttoscalethesystemtohandlechangingnumbersofrobotsorarbitrarilyaddnewbehaviors.AylluwasdemonstratedtoenableateamofthreeActivMediaPioneer2DXrobotstocooperativelytrackmultipleunspeciedmovingtargetsin[69].Simmons,etal.[58,27]havedevelopedalayered,distributedarchitecturethatprovidesexibilityinsynchronizationgranularityandattemptstointegratethestrengthsofbothdistributedandcentralizedcoordinationapproaches.Thearchitectureiscomposedofthreelayers:behaviorallayerforcontrol,executivelayerfortaskexecution,andtheplanninglayerforhigh-levelplanning.Allthreelayersononerobotcaninteractwiththecorrespondinglayersonanotherrobot.ThisarchitectureisbasedontheSkillManagerofBonasso,etal.[9],whereskillsareconnectedviainput/outputportsandoperateinadata-owfashion.Dataispassedinapublish-subscribemanner.AcustomAgentCapabilityServerACShasbeenimplementedtoautomaticallydisseminateinformationaboutthecapabilitiesofindividualagents.ThisACS12

PAGE 21

issimilartothemiddleagentinSycara,etal.[62].ThisarchitecturedoesnotleverageexistingworkinthisdomaintheACSisanentitythatisacommoncomponentofseveralstandardmiddlewaresystemsthebroker/tradingserviceinCommonObjectRequestBrokerArchitectureortheregistration/lookupsysteminJini.Thissystemhasbeenusedfordistributed,coordinatedmappingofanemptyhospitalbuildingwithtwoPioneerATrobotsfromRWIandanUrbierobotfromISRobotics[57].Woo,etal.[71]describeaCORBA-basedapproachtoathree-tierrobotarchitecture.Theapplicationlayerdenesasetofrobotservices,suchasimageorspeechprocessing,planningorarobotapplication.Themiddlewareisresponsiblefortheservicebrokerandtradingservice.Aweaknessofthisworkisthattheapplicationlayerisnotwelldened.Itisunclearwhetherthereisanyunderlyingrobotarchitecture.Theworkseemstomodeltheentirerobotasasingleservice.Thisapproachcanworkforapplicationsthathaveasmallandwell-denedsetofcapabilitiesandrequirements,butitisunclearthatthesystemwillscalewell.Forvalidation,thearchitecturewasdemonstratedonLEGOMindstorm,KheperaandB21rrobots,withasampleJavainterfacetoremotelyoperatetherobots.2.1.1Software-EnabledControlTheDefenseAdvancedResearchProjectsAgencySoftware-EnabledControlSoftware-EnabledControlprogramisaimedatimprovingthecontrolsystemsforautonomousaerialvehicles.WhiletheworkoftheSECcommunityusesastandarddistributedmiddlewarelayerlittlehasbeensaidabouttheapplicationtomultipleUnmannedAerialVehiclestheimplicationbeingthatcurrentsystemsarelimitedtoasingleUAV.ButbecauseCORBAisbeingused,thereisnocompellingreasonwhydistributedcomponentsofthesystemareunabletobeusedaspartofalargerdistributedsystemthisapproachisanexampleofworkthatisdistributedbecauseitisbuiltontopofamiddlewarelayerthatisitselffundamentallydistributed.Finally,thisworkisrelevantbecauseitshowsthattheoverheadforamiddleware-baseddistributedsystemislowenoughthatitcanbeusedforclosed-loopcontrolonasinglesystem.Thisisanimportantvalidationfortheworkinthisthesis.In[30]and[31],Heck,etal.provideasummaryanddetaileddescriptionofsoftwareenabledcontrol.SECismotivatedbytheadvancesinsoftwaretechnologyandaimstoincreasethecapabilityofdigitalcontrolsystems.SEChasarelianceondistributedcomputingspreadingtheburdenofcomputationaroundtoenablerobustoperation.Thepapersdiscussseveralportablemiddlewaresolutions:CORBA,JavaRMI,andJini.Italsodiscussesseveralinteractionmodels:point-to-point,client-serverandpublish-subscribe.Real-timerequirementscanalsoposeproblems,especiallyinadistributeddomain.SEC13

PAGE 22

alsotakesadvantageofasoftwarearchitecturetoallowpluggablecomponents.Finally,thepapersdiscussusingMATLABasalow-levelcontrol,withthemiddlewaregluetomakethecomponentsworktogether.Schrage[56]notesaproblemwithcurrentUAVcontrollersisthattheyarenotsufcientlyrobusttosupportcomplexightmaneuvers.Thesolutionistheuseofamulti-layercontrolarchitecture.Thehighestlayersupportsthemissionplanningandsituationawareness.Thelowestlayeristheactualightcontrol.Themidlayerdealswithmodeswitchingandtransitions.ThismidlayeriscalledtheOpenControlPlatform,andusesReal-TimeCORBAmiddlewaretointerfacetheUAVdynamics,controllers,sensorsandactuators.TheopencontrolplatformwasdemonstratedonaYamahaR-50/RMAXhelicopter[70].Paunicka,CormanandMendel[54]describeanotherCORBA-basedmiddlewareandsoftwarearchitecture.Thereareseveralinterestingaspectstothiswork.Therstisthediscussionofcertainoptimizationsthataidedinhighperformance.Oneistheuseofasharedmemoryasopposedtoethernettoachievelowlatencyindatarequests.Also,theuseofthreadspecicstorageminimizedtheORBoverheadduringmessagecalls.Finally,theCORBAsystemallowedforlightweightevents,client-sidecachingandsupportforhardwaretimersattheapplicationlevel.ThearchitectureusedaControlsAPIwhichisessentiallyanabstractionlayersotheengineersdesigningthecontrolsystemwouldnotneedtointeractwiththesystem.ThisAPIusesanXMLdescriptionandasimpleprogramminginterface.TheExtensibleMarkupLanguagedescribes1worst-caseexecutiontime,2allowableratesofexecution3schedulingtype4physicallayoutand5datatypes.Twolessonsnotedbytheauthorsareappropriatetothisthesis:1Softwaredesignersneedtobeabletotreatthesystemattheappropriatelevelofabstractionand2Controldesignersdon'twanttobecomesoftwarearchitects.Asthearchitectureusedistheopencontrolplatform,resultsfromthispapershouldapplytoworkcitedpreviously,howevernospecicexampleswerenotedinthepaper.2.2SoftwareAgentArchitecturesSincesoftwaremodulesthatoperateinthedistributedlayerofSFXhavetheattributesofintelligentagents,suchastherecruitmentagentdescribedinSection5.4,itisworthwhiletoexaminetheliteraturerelatedtosoftwareagentsanddeterminethecapabilitiesandconstraintsofagent-basedarchitectures.Thearchitecturepresentedinthisthesisisahybriddistributed/deliberative/reactivearchitecturethatiscomposedofmultiple,independentmodulesofvaryingcomplexity.Low-complexitymodules,suchassensors,effectorsortheotherbuildingblocksofareactivesystem,arenotagents.Insteadtheyhavemoreincommonwithactiveobjects.Attheotherendofthespectrum,themoduleswithahighercomplexity,suchasthosefoundinthe14

PAGE 23

manageriallayer,starttolookmorelikeagentsperhapsevenintelligentagents.Thesemoduleshaveknowledgeofthecurrentstateoftherobotorotherrobotsandthemissiontowhichtherobotisassigned.Basedonthisinformation,thesemodulescanreacttothechangingstateoftherobot,exhibitgoal-directedbehavior,orinteractwithsimilarmodulesonotherrobots.Inshort,theyhavethecharacteristicsofagents.Thereareseveralprogramsthathavefundedseverallargeresearchprojectsinagent-basedsystems.ControlofAgent-BasedSystemsCoABS[26]isaDARPAprojectfocusedonagent-basedcomputing,withthegoalofprovidingsemanticinteroperabilitybetweenheterogeneoussystemswithoutenforcingaparticularstandard.TheagentarchitectureusedbytheCoABSprojectistheCoABSGrid[35].TheCoABSGridismiddlewarebuiltontopofJinimiddleware,andusesthreeimportantconceptswhichareincorporatedintothisthesis:theJiniconceptofaservicewhichisusedtorepresentanagent;theJinilookupservice,whichisusedtoregisteranddiscoveragentsandotherservices;andJinientries,whichareusedtoadvertiseanagent'scapabilities.TheCoABSGridmiddlewareprovidesanumberofservicesspecicallyforanagentenvironment.Theseincludemessaging,loggingandregistrationservicesthataretailoredtothegridsystem.TheCoABSGridisrelevanttothisworkbecauseitisanagentarchitecturethatisbasedonthesameunderlyingfoundation.ThusmanyofthelessonslearnedfromtheCoABSprojectarerelevanttothiswork.AspartoftheCoABSproject,KahnandCicalese[36]describeseveralexperimentswithscalabilityonthegrid.Theexperimentsdiscussedinthispaperinvestigatehowtimingofsequentialagentregistrationandlookupvariesasthetotalnumberofregisteredagentsincreases.Nodegradationinperformancewasobservedinexperimentswithupto10,000agentsforlookup.Minimaldegradationinregistrationtimewasobservedasthenumberofregisteredagentsincreased.Thisisimportant,sincetheunderlyingmiddleware,Jini,isthesamemiddlewarethatisusedinthisthesis.UltraLog[22]isaDARPAprojectaimedatcreatingsurvivablelarge-scaleagentsystems.Thedomainfortheprojectisoperationallogistics,withanultimategoalofasystemofover1000agentsoperatinginanadversarialenvironment.Thegoalistooperatewithupto45%informationinfrastructurelosswithnotmorethat20%capabilitiesdegradationandnotmorethan30%performancedegradation.Thesystemwillrunfor180days,representingamajorsustainedmilitaryoperation.TheagentbaseunderneathUltraLogistheCognitiveAgentArchitectureCougaar[6].Cougaarisacomponent-based,distributedagentarchitecture,withcommunicationhandledbyabuilt-inasynchronousmessagepassingprotocol.Cougaarsupportsatwo-tiercommunicationmodel:agent-agentandplugin-plugin.Agentscommunicatewitheachotheraspeers,inaloosely-coupled,asynchronousmanner.Pluginsagentcomponents15

PAGE 24

communicatethroughaninternalblackboardusingtightly-coupled,transactionally-protectedinteractions.Thisarchitecureisrelevanttothisthesisbecauseofthedynamicenvironmentinwhicharobotsystemoperates.Thereislittledifferencetoasystemthatmustrecoverfromalossofserviceduetodeliberatenetworksabotageandasystemthatmustrecoverfromalossofserviceduetoarobotlosingconnectivitytoanetwork.BrinnandGreaves[15]describeeffortsfundedbytheDARPAUltraLogprojecttoinvestigatethesurvivabilityofagentsunderharshconditions.Aworkingdenitionofsurvivabilityofasystemistheextenttowhichthequalityofserviceofafunctionismaintainedunderstress.Stresstypicallyfallsintothecategoriesofinformationattacks,lossofprocessingresourcesandincreasedworkload.Thepapersuggeststhreegeneralcategoriesofagentproperties:absolutepropertymayneverbeviolated,binarypropertymaybepresentornotpresent,butshouldbepresentasmuchaspossibleandpartialmaybewholly,partially,ornotatallpresent,butshouldbeasmuchavailableaspossible.Defensestrategiesagainstattacksconsistofthefollowing:anonymity,publicApplicationProgrammingInterface,mobility,dynamiccapabilitydiscovery,autonomy,taskorientationandcomposability.Themethodologyusedtoaidinagentsurvivability:preventattacksifpossible,detectattacksthatoccur,containthedamagecausedbyanattackandrecoveraftertheattackisover.Thebigclaimoftheworkisthatadistributedmulti-agentsystembuiltusingthemethodologyofdeployeddefensessupportssurvivabilityagainstagiventhreattoapredictabledegree.ThedefensestrategiesandmethodologynotedherearerelevanttothedesignofthissystemChapterThree.Helsinger,etal.[32]describesaperformancemeasurementsystembuiltintotheCougaaragentarchitecture.Performancemeasurementisdifcultforseveralreasons:sheervolumeofdatafromalargenumberofagents,dataretrievalmustoftenbesynchronizedinacentralrepositoryforanalysis,measurementscanoftenimpactperformance,andneedsandprioritiesformeasurementcanoftenchangeovertime.Theconsumerofthedataisimportantwhetheritisforinternalorexternalassessment.Thisdistinctionimpactsthetypeofdatarecorded.Theusethedataisputtoisalsoafactorisitfortrendanalysis,statechangenotication,orgeneralstateinformation.Isthecollectingofthemetricsseparatefromtheusualagentcommunicationchannel?Thecollectionmethodcanimpactthetypeandspeedofdatacollection.Finally,whatlevelofabstractioniscollected?System-levelmetricshavedifferentreportinglevelsthanagent-levelmetricswhicharedifferentthanapplication-levelmetrics.Cougaarusesasystemwiththreefacets:manydatastreamsatmultiplelevelsofsystemarchitecture,severaldifferentdistributionchannelswithdifferentqualitylevels,anddynamicselection/changeasthesystemchanges.16

PAGE 25

Bradshaw,etal.[10,13,11]discussestheKnowledgeableAgent-orientedSystemKnowledgeableAgent-orientedSystem,anagentarchitecturethatisgearedtowardspolicy-basedagentmanagement.Policiesthataresetcancontrolvariousaspectsoftheagentsystem,fromhowagentscancommunicatetoallowing,denyingorobligatingcertainactions.Thisisaccomplishedthoughtheuseofaguard.Theguardcaninterpretpoliciesthatthedomainmanagerhasapprovedandcanenforcethemwithappropriatenativemechanisms.Theseconceptsarecriticaltoanadaptiveandexibledeliberativelayer.Astheoperatingenvironmentchanges,policiescanadapttoenablemorerobustbehavior.Forexample,ifnetworkbandwidthdrops,apolicymightcomeintoeffectthatdisallowscertainremotecommunications.Sycara'sRETSINA[62]isamultiagentsystemMASarchitecture.RETSINAisanindependentandreusablesubstratumthatsupportsmultiagentcommunicationandsocialinteractions.ThepaperclaimsthatthereisnoconsistentdenitionofwhatconstitutesaMASinfrastructureandwhatfunctionalityitshouldsupport.Thepaperattemptstoaddressthisinthecontextoftechnologydevelopment,applicationsanduse,notnecessarilyscienticoreducationalendeavors.TherearefourbasicagenttypesintheRETSINAfunctionalarchitecture:interfaceagentsthatinteractwithusers,taskagentsthathelpusersperformtasks,informationagentsthatmediateaccesstoinformationsources,andmiddleagentsthathelpmatchagentsrequestingserviceswithagentsprovidingservices.TheRETSINAarchitecturehasbeenappliedinseveraldomains,suchaslogisticsplanning[38],e-commerce[63]andpersonalwebmanagement[21].2.3SummaryTheworkspresentedherefallintotwocategories:distributedroboticarchitecturesandsoftwareagentarchitectures.Whilethedistributedroboticarchitecturesworkwellforrobotics,asawholetheydonotaddressthreekeycharacteristicsthatareimportanttothiswork.Mostofthearchitecturesarenotbuiltonopensourceorstandardsandthushavealimiteduserbase.Fewalsoincorporatedistributedcommunicationinasystematicmanneroftenthereisasharpdistinctionbetweenlocalandremotecommunication.Finally,manyarenotinherentlydynamic.Systemsaretypicallyconstructedinanapparentlyadhocandxedmanner.Agentarchitectures,ontheotherhand,donothavetheselimitations.Mostarebuiltonacommonmiddleware,oftenJiniorCORBA.Inagentarchitecturessupportforroboticsofanysortisnonexistent.Thus,theliteraturereviewedinthissectionindicatesthatasuccessfulapproachshoulddrawfrombothelds.17

PAGE 26

ChapterThreeApproachThischapterdescribestheapproachtakenintheDFRAtoprovidedistributedcapabilitiesontopofahybridrobotarchitecture.AsdiscussedinSection1.3,theapproachtakenistoextendtheSensorFusionEffectsSFXhybridarchitectureandaddadistributedlayer.Thisdistributedlayertakesinspirationfromtheconceptofapersonafrompsychology.Itisalsointhislayerthatmanyconceptsfromarticialintelligenceandsoftwareagentsplayarole.Finally,theapproachutilizestheJinidistributedarchitecturefortheunderlyingmiddlewarelayer.Thesystemmakesuseofmodulestoimplementalloftheservicesontherobot.Thearchitecturealsosupplieshigh-levelservicemanagersforthecoordinationandfunctionalintegrationoflowlevelmodularservices.Modulesareexportedtoadistributedrun-timesystemasserviceswithcertainattributesandtypes.Servicecanthenbesearchedforusingadistributed-objectlookupservicebasedonfunctionalattributesratherthandetailsofactualimplementationorphysicallocation.Thistypeofarchitectureallowsadecouplingofclientandserver.Clients,inanabstractsense,areinterestedinserviceswithparticularattributesthatprovideorconsumecertaintypesofdata.Forexample,processesrunningononerobotmightneedtorequestperceptualdatafromaremotesourcesuchasanotherrobot.Inthiscase,aserviceabletosupplythecorrecttypeofdatawouldbesearchedforusingitsfunctionalattributestypeofdataorlocationofdatasource,forexample.Ifaserviceisfound,aninterfaceproxycanbeprovidedtotherequestingprocessinamodularfashionregardlessofwheretherequestedservicesphysicallyresidesorhowitisimplementedatthelocallevel.Thischapterisorganizedinthefollowingmanner.Section3.1enumeratestherequirementsanddesignconstraintsthatinuencedthiswork.Followingthis,Section3.2providesbackgroundonthehybriddeliberative/reactiverobotsystemthatisusedasafoundationforthedistributedextensionsdescribedinSection3.3.Section3.4providesadiscussionofJavaandtheJinisystem.Finally,thechaptersummaryshowsthattheapproachtakensatisestheconstraintsonthesystem.18

PAGE 27

3.1RequirementsandDesignConstraintsTherearesevenkeyconstraintsthatinuencedtheapproachtakentothedesignofthissystem:Behavior-basedanddeliberativesupport:Thearchitecturemustsupportbothcommonroboticparadigms.Behavior-basedcontrolhashistoricallyworkedwellforlow-level,time-sensitivecontrol,whilethedeliberativeapproachisgearedtowardlearning,articialintelligenceandprocesseswithweakertimeconstraints.Openstandards:Robothardwareandsoftwareplatformsdonottypicallyhaveanimmenselylonglifeseveraldifferentmodelsofrobotscurrentlyusedhavebeeneitherdiscontinuedbythemanufacturerorthemanufacturerhasgoneoutofbusiness.Becauseofthis,itisimportanttobuildonabasethatisopen,exibleandextendable.Whilespecicrobothardwareisbeyondthescopeofthiswork,animportantworkingrequirementisthatthesoftwarebebuiltatleastonopenstandardsandonopensourceifpossible.Faulttolerant:Boththeoverallsystemandindividualmodulesshouldbereliableinthefaceofhardwarefaults,softwareerrorsandnetworkproblems.Thisinvolvesthecapabilityforintroducingadvancesfromfaultdetection,identicationandrecovery.Thearchitectureshouldbeabletoincorporateprior[41,73]andfutureworkinthisarea.Adaptable:Thesystemshouldalsobeabletoadapttoitsoperatingenvironment.BecausethesystemisbasedonaJavafoundation,portabilityislessofanissueaslongaallservicescorrectlyimplementtheirinterfaces.Thusmobilecodewillbeabletoadapttoitsoperatingenvironment.However,thereisamoresubtleoperatingenvironmentthatisasimportantthenetworkoperatingenvironment.Heremodulesneedtoadapttopreserveorextendresourcestoallowthesystemasawholetofunctiontobegoodnetworkcitizens.Thismayinvolvelimitingcommunicationandmessagepassingtomaintainsufcientbandwidthforcriticalservicestofunctioncorrectly.Fortunatelycomponentsofthedeliberativelayersuchastheperformancemonitorandtheresourcemanagerscanaddressthisproblem.Whilethereisnocurrentsolution,thearchitecturemustbeexibleenoughtoallowasolutioninthefuture.Longevity:Anultimategoalofasystemsuchasthisislongevity.Arobotshouldnothavetobetakenoutofservicefortheinstallationofchangesandupdated.Tosupportthis,componentsneedtobemodied,administered,loggedandmaintainedatruntime.19

PAGE 28

Consistentprogrammingmodel:Theimplementationshouldabstractthelocalityofobjects.Thesamemethodshouldbeusedtoaccesslocalorremoteserviceswithoutsacricingerrorhandlingorperformance.Whilethisconstraintisprimarilyofconcernforimplementation,itdoesimpacttheapproachtakenandtheconceptualmodelofhowservicesarelocatedandacquired.Dynamicsystem:Thesystemshouldbedynamicratherthanstatic.Itshouldbeabletoexiblyaccommodatenewsensors,effectors,orothercomponents.Thisalsoimpliesthatclientswillneedtodiscovertheservicesthatareneededatruntimeandadapttotheadditionandremovalofservicesovertime.Foraclientinadistributedenvironment,themostimportantcharacteristicsofaservicearethecapabilitiesandattributesoftheserviceandthetasksthatitcanperform.Thisholdsaswellforrobotics.Ifarobothastwoidenticalcamerasprovidingcolorimagesthecapabilitiesofthesensors,thenaclientwillnothaveapreferencebetweenwhichcameraprovidesanimage,allelsebeingequal.However,ifthetwocamerasaremountedindifferentlocationsontherobottheattributesofthesensorthentheremaybedifferencesintheclient'spreferenceforservice.Thus,aserviceshouldprovidealistingofitsvariouscapabilitiesandattributestoclientsinthedistributedsystem,allowingaclienttomakeanintelligentchoicerelatedtotheservicesavailableinthesystem.Sincethedesignconstraintsrequireadaptationtoachangingenvironment,thesecapabilitiesandattributesmustbechangeableasthesystemevolvesorservicesfail.3.2SensorFusionEffectsTheHybridPrecursorSFXSFXisamanagerialarchitecturebyMurphy[48]designedtoincorporateandenhancesensorfusion.Asamanagerialarchitecture,SFXhasbothdeliberativeandreactivecomponents.Theprimarycomponentofthereactivelayeristhebehavior.Abehaviormapsfromsomesensingperceptgeneratedbyaperceptualschematoatemplateformotoroutput,knownasamotorschema.Aperceptualschemaprocessessensorydataandotherperceptstogeneratearepresentationofwhatissensed.Forexample,aperceptualschemamayprocessacameraimagetogenerateafaceperceptrepresentingthelocationoftheclosestfaceintheimage.Itisatthisstagethatsensorfusioncantakeplace,oneoftheprimarygoalsoftheSFXarchitecture.Sensorfusionistheprocessoffusingsensoryinputfrommultiplesourcestogenerateacombinedpercept.Acolorcameraimageandaninfraredheatimagecanbefusedtogenerateamorereliablefaceperceptsincethefusionstepcandiscardportionsofanimagethatlooklikefaces,butdonothaveanassociatedthermal20

PAGE 29

image.ThisfusionstagecanincorporatetechniquesfromDempster-ShafertheoryorBayesianlteringtoimproveresults.Onceaperceptisgenerated,thebehaviorpassestheinformationtoamotorschema.Themotorschemaincorporatesthecontrolnecessarytoactonthepercept.Thismayinvolveactionsrangingfrommovingtherobottoorientingapan-tiltunittoachieveabetterview.Appropriateconstructionofmotorschemascanleadtoaction-orientedperception,withportionsofthecontrolofarobotspecicallydesignedtoattainmorereliablesensing.ThereactivecomponentsareshowninTable1.Whiletheremaybeconsiderableprocessingrequiredinthegenerationofpercepts,thedataowinthislayerisstraightforwardinthecontextofbehaviors:sensorstoperceptualschemastomotorschemastoeffectors.Inthismanner,behaviorscanactandreacttoenvironmentalstimuli,allowingtherobottooperateinatimelymanner.Table1.ReactiveComponentsinSensorFusionEffects ComponentRole SensorArepresentationofasourceofinformationabouttheenvironment.EffectorArepresentationofamethodofinteractionwiththeenvironment.PerceptualschemaAtemplateforsensing.MotorschemaAtemplateforaphysicalactivity.BehaviorAtemplatewhichcontainsaperceptualschemaandamotorschema. Whilereactivecomponentsoperaterapidly,theydonothavetheabilitytoplanortoevenmaintainpaststate.Deliberativecomponentsexecutingataslowerpacedohavethisability,however,andmanyareincorporatedintheSFXarchitecture.Thecomponentsinthislayertthepriordenitionofagenttheycanreacttoachangingenvironment,havegoal-directedbehavior,andcaninteractsocially.IntheoriginalSFX,thissocialinteractionwassolelywithintherobotagenttoagentonthesamesystem.Theprimaryagentisamissionplanner.Thisagentisresponsibleformediatingbetweentheusercommandsandtheotheragentsandcomponentsinthesystem.ThethreeprimaryagentsthatitwillinteractwithareresourceallocationandcontrolagentstheTask,SensingandEffectormanagers.Eachmanagerhascontroloveritsrespectivetypesofreactivecomponents.TheSensingManager,forexample,isresponsibleformaintainingthebestsensingstatepossible.Priorworkdonewiththismanagerincludeserrorhandling[41,73]andsensingallocation[24].SeeTable2foralistingofthedeliberativecomponentsandtheirresponsibilities.21

PAGE 30

Table2.DeliberativeComponentsinSensorFusionEffects ComponentRole TaskManagerAnagentresponsibleforcontrolofthebehav-iorsrequiredtocompleteatask.EffectorManagerAnagentresponsibleforresourcecontrolofeffectors.SensingManagerAnagentresponsibleforresourcecontrolofsensors.CartographerAnagentthatisresponsibleformapmakingandpathplanning.PerformanceMonitorAnagentresponsibleforobservingthestateoftherobotanditsprogresstowarditsgoals.MissionPlannerAnagentthatinteractswiththehumanandpropagatesconstraintstotheotheragentsinthedeliberativelayer. Figure2.APortionoftheOriginalSFXArchitecture22

PAGE 31

Figure2showsthecognitivemodelemployed.Amoredetaileddescriptionofthisarchitectureisprovidedin[48,47,46].3.3DistributedLayerThedistributedlayerbuildssquarelyonthehybriddeliberative/reactivelayerdescribedinSection3.2.Thedistributedlayerisformulatedonthenotionofapersona.IntheJungiansense,apersonaisapersonalfacadeonepresentstotheworld[34].Inthecaseofarobotarchitecture:personaarobot'spersonaisthewaytorepresenttherobot'srole,goals,capabilitiesandlimitationstoanotheragent.Theapproachtakenistoextendeachprimarycomponentdetailedabovewithaportionthatwillinteractwithadistributedsystem.Thecollectionofthecapabilitiesprovidedbythedistributedportionsofeachcomponentistherobot'spersona.Figure3showsthisvisually.ThegureshowstheSFXfoundationinFigure2asthebaseforthecognitivemodel,withportionsofeachoftherelevantcomponentsextendedtothedistributedrealm.Theportionsarearepresentationofthecapabilities,attributesandknowledgeoftherobottherobotpersona.3.3.1CapabilitiesandAttributesFigure4showsanexampleofthepersonaofarobotthathasanumberofcapabilitiesexposed,suchasthesensorandeffectorpayloadsandtherobot'sskillset.Additionally,otherinformationandattributes,suchasamappingorcartographycapabilityalsohavearepresentationinthepersona.Thesecapabilitiescanbeusedbyotheragentsinthesysteminanintelligentmanner.Amissionplannercanexaminethecapabilitiesofallavailablerobotsandgenerateanoptimalplanbasedonthedistributionofskills.LikewisearecruitmentagentsuchastheagentdetailedinSection5.4canlterrequestsbasedonthematchofcapabilitiesrequestedandavailable.Oramappingagentcouldrequestlocalmapsfromrobotsthathaveamappingcapabilityintheirpersonaandstitchtheselocalmapsintoaglobalmapandreturntheresulttothecartographers.Inthismannerglobalmapscanbedynamicallycreatedanddistributedbyanagentthatisonlyinterestedinotheragentsthathaveaparticularcapability.23

PAGE 32

Figure3.ExtendingtheOriginalArchitecturebyAddingaDistributedPersona24

PAGE 33

Figure4.ExpressionofthePersonaasCapabilities Figure5.DistributedResourceProtection3.3.2ModuleManagementandSecurityServicesareresourcesoftherobot,andcaremustbetakentoonlyallocateresourcesthatcanbesafelyallocated.Inasimilarvein,theseresourcesmustbeprotectedfrommaliciousordangeroususe.Inthisarchitecture,thepersonaofarobotisnotprotectedinanywaythepersonaisthepublicfaceoftherobot.However,accessbeyondpublicknowledgeofcapabilitiesmayrequireauthorization.TheactualmethodandtypeofauthorizationisunspeciedtypicallymostresourceswillusearesourcemanagersuchastheSensing,EffectororTaskmanagers.Optionally,servicesmayuseadditionalguardsofsomeform.AsisdescribedinChapterSeven,futureworkinvolvesintegratingguardsfromtheKAoSsystemwiththearchitecturetoallowgroup-basedauthorizationsandotherdomainpolicies.25

PAGE 34

3.4Tutorial:JavaandJiniThissectiondescribesthetwomajortechnologiesthatthisapproachbuildson:JavaandJini.Jiniisadistributedsystemarchitecturewhichhasagoalofprovidingforspontaneousnetworkingofservicesconnectinganydevicetoanyotherdeviceinthenetwork.JiniconsistsofasetofspecicationsthatdescribeanoperationalmodelforaJininetworkandhowcomponentsinteractwithinthesystem.TheJavaprogramminglanguageandruntimeenvironmentserveasthefoundationforthisdistributedsystem.AsJavaandJiniheavilyinuencetheapproachtakeninthiswork,itisimportanttodescribebothenvironmentsandmotivatewhytheywerechosenasafoundationforthiswork.3.4.1WhyJava?Javaisastrongchoiceasabaseforanarchitecturethatcancontrolmultiplerobotplatformsforvereasons:Platform-independenceJavaisaninterpretedlanguagethatrunsonavirtualmachine.SinceJavacodeiswrittentotheabstractionofavirtualmachine,thenanyplatformissupportedaslongasthevirtualmachinewillrunonthatplatform.StrongtypingJavaisastronglytypedlanguage.Becauseofthisitispossibletoassociateagivenclasswithaninterfacethatspeciescertainactionsthattheclassmustimplement.Withthiscontractisispossibletointeractwithobjectsoftheclassinaknownmanner.Forinstance,ifasensormoduleimplementsaninterfacethatdenesamethodwhichreturnsanimagetotherequester,thenallobjectsofthatsensormodulewillhonorthatmethodaswell.Theuseofstrongtypingalsoprovideshintstothecompileraswellastheruntimesystem.Strongtypingaidsinsystemdevelopmentandwitherrorhandlingduringsystemexecution[59].LibrarysupportTherearemanysoftwarelibrariesavailableforJavathatprovidevariousfunctionality.Someofthemostimportantforthiswork:1JDOM,anXMLparser,2Java3D,avectormathand3Dvisualizationpackage,3aJava-Matlabbridgeand4aJava-CORBAlibrarytocommunicatewithrobotcontrolsoftware.DynamicclassloadingDynamicclassloadingisacriticalbenetoftheJavaplatform,especiallyinadistributedscenario.DynamicclassloadingallowsaJavaprogramtoloadclassesatruntime.ThisenablestheuseofclassesthatmaynotevenhavebeenwrittenwhentheJavaprogramwasstarted.Inadistributedenvironmentprogramsorservicesmayrunforextendedperiodsoftime.Robotsmay26

PAGE 35

movearoundtheirenvironmentandmaywishtoshareinformationorcodewithprogramsonotherrobots.Theabilitytodothisdynamicallyisvital.PerformanceSinceJavaisabyte-compiledlanguage,ithastraditionallybeenconsideredslow.Javarunsthroughavirtualmachinethatinterpretsthebytecodestreamandgeneratesthemachineinstructionstoperformeachoperation.Thisinterpretationstepreducesperformance.However,modernvirtualmachinesincludeajust-in-timeJITcompiler.ThiscompilerwillcompilebasicblocksofJavacodetomachinecodethersttimetheblockisexecuted.Subsequentexecutionswillusethecompiledcoderatherthanre-interpretthebytecode.Whilethisoperationiscertainlyslowerthanapurecompiledprogram,itisfasterthanapurelyinterpretedprogram,andsufcientforourpurposes.3.4.2WhyJini?Anapocryphalquote,typicallyattributedtoPeterDeutch,motivateswhyJiniisusedinthiswork.Essentiallyeveryone,whentheyrstbuildadistributedapplication,makesthefollowingeightassumptions.Allprovetobefalseinthelongrunandallcausebigtroubleandpainfullearningexperiences.ThenetworkisreliableLatencyiszeroBandwidthisinniteThenetworkissecureTopologydoesn'tchangeThereisoneadministratorTransportcostiszeroThenetworkishomogeneousAttributedtoPeterDeutchWhilethequotehasevolvedovertime,theproblemsreferredtostillremain.ThesefallaciestypicallymanifestthemselvesinthreewaysTable3:asprogrammingmodel-relatedissues,asprogramminglanguage-relatedissues,orasinfrastructure-relatedissues.Jiniisanarchitecturethatisdesignedtoovercomesomeoftheseissuesandlimitations.UsingadistributedprogrammingmodelleadstovesevereproblemsKumaran[37]:27

PAGE 36

NetworklatencyOften,agoalincreatingadistributedsystemistohidethenetworkfromtheprogrammer.Whilethiscansimplifyprogramming,itcanintroduceseriouserrorsbecauseoflatenciesinherentinthenetworklocalmethodcallsarefasterthanremotemethodcalls.Instead,thedesignershouldknowwhethercertainmethodcallswillincurthisoverhead.PartialfailureFailurescanoccurinbothlocalanddistributedsystems.Inpurelylocalsystems,failureofacomponenttypicallycausesatotalfailureofthefaultyprogram.However,inadistributedsystem,failureofonecomponentneednotaffectothercomponentsexecutingonadifferentsystem.Thisisknownasapartialfailure.However,failuresofthissortaredifculttohandlegracefullyinadistributedenvironmentsinceallthatisknownisthattheremotecomponentisnotresponding.ConcurrencyWhenmultipleclientswishtoaccessasingleservice,thenconcurrencyofexecutionbecomesanissue.Typicalsolutionstothisproblemaretoeitheruseacentralizedconcurrencycontrolserviceortoimplementadistributedconcurrencynegotiationalgorithm[61].TightcouplingbetweenserviceandclientFromanimplementationstandpoint,serviceprovidersareoftentightlycoupledwithclientsthatwishtousetheservice.Thisistypicallythroughtherequirementofsharedinterfacesandstubles.Forexample,CORBArequirestheuseofInterfaceDenitionLanguageIDLlesthatspecifythetypesandparametersoftheservice.Ontheclientside,theclientmusthavethestublesfortheservertoaccessitsfunctionality.Thiscouplingmakesadynamicnetworkdifcult.NoticationtoregisterinterestTypicallywhenaclientrequiresaservice,itwillpolltheserviceuntiltheserviceisreadytobeused.Lackofanoticationinfrastructureinmostdistributedarchitecturescanleadtoaclientpollingforeverwaitingforaresponsefromaservice.Theprogramminglanguageusedcanalsointroduceerrorsinthefollowingmanner:AddressspaceForlanguagesthatcontainpointerstomemory,suchasCorC++,theaddressspaceisanimportantissue.Intheselanguagesitisimportanttonotewhetherthememoryreferenceislocalorremoteusingamemoryaddressfromoneaddressspaceinanincorrectspacecanleadtodisastrousconsequences.Mostdistributedsystemscontainsomeformofaddressmappingtohelpwiththis,butinasystemwithweaktypingthereisnoguaranteethatthesystemcancatchallmemoryreferences.Finally,thenetworkinfrastructureandnetworkenvironmentcanintroduceerror.Flexibilityinthisregardisimportanttoretaintheabilitytousetheappropriateprotocolforthetask:28

PAGE 37

DependenceontherequestprotocolThereareanumberofcommondistributedarchitecturesinwidespreaduse,andeacharchitecturehasitsowncommunicationprotocol:JavaRemoteMethodProtocolJRMPforRemoteMethodInvocationRMIandInternetInter-OrbProtocolIIOPforCORBA.Ifasystemneedstointegratecomponentsfromeachofthesesystems,moreprotocolsareneeded.Forexample,RMI/IIOPwillallowJavatoaccessCORBAobjectsonanetwork.Whilethisinteroperabilityispossible,itleadstoincreasedcomplexityandthepotentialforerror.Table3.KeyIssuesRelatingtoDistributedComputingArchitectures IssueCORBARMIJini Programmingmodel NetworklatencyNoexplicitdistinctionbetweenlocalandre-moteobjects.Explicitdistinctionbetweenlocalandremoteobjects.DifferentiatelocalandremoteobjectsthroughaJavaremoteinterfacePartialfailureCannothandlepartialfailure.Cannothandlepartialfailure.HandledthroughaleasingmechanismConcurrencyConcurrencyisop-tional.Doesnothandlecon-currency.HandledthroughatransactionmanagerinterfaceTightcouplingbe-tweenserviceproviderandrequesterStubsneedtobecom-piledwithapplication.Stubdownloadedatruntime.LoosecouplingthroughdynamicclassloadingNoticationmecha-nismforregisteringinterestNodistributedeventnotication.UsesJavaeventnoti-cationmodel.UsesJavaeventnoti-cationmodel. Programminglanguage AddressspaceExists.Dependsonimplementationlanguage.UsesJavaasalan-guage.Objectsexplic-itlylocalorremote.UsesJavaasalan-guage.Objectsexplic-itlylocalorremote. Infrastructure DependenceonrequestprotocolDenesIIOP.StrongdependenceonIIOP.DenesJRMP.StrongdependenceonJRMP.Protocolindependent;cansubsumeanypro-tocol ThereareveprimarybenetstoJinithatareheavilyusedinthisthesis.First,Jiniprovidesseveralnewprotocolsthatenableservicestodynamicallyadapttothenetworkandcomputingenvironment.Second,Jinidoesnotspecifythespecictransportprotocol.Insteadservicescanusetheprotocolthatmakesthemostsenseforthatapplication,beitRMI,IIOP,thenewJavaExtensibleRemoteInvocationJERIoracustomprotocoldesignedforthatapplication.Third,Jinialsoprovidesaformofnamingservice,calledthelookupservice,whichallowstheadvertisingofservicesandavailabilitytopotential29

PAGE 38

clients.Fourth,Jinialsoprovidesadistributedeventsystem,basedontheJavaBeansmodel.Usingthis,aclientcanregisterinterestinaservice,andcanbenotiedwhenthatservicebecomesavailable.Finally,Jiniusesaleasingmechanismtohandlepartialfailures.Usingthismechanism,aclientcanobtainaleaseonaservice.Whentheleaseexpires,theclientcaneitherstopusingtheserviceorattempttorenewthelease.Iftheclientorserverfails,theleasewillrunoutandthesurvivingprocesswillhavevaluableinformationaboutthestateofthefailedprocess.3.4.3ConceptsThereareanumberofbooksthatdescribetheworkingsofJiniindetail,forexampleKumaran[37]andLi[40],andJinihasalsobeenthesubjectofacademicstudy.VanmechelenhasexaminedseveralperformancecharacteristicsofJiniandseveraloftheunderlyingtransportprotocols[64],whileGorissenhasdetailedtheimplementationofacompactdisclookupserviceusingJini[28].Someoftheconceptsthatarepresentedintheseworksarerelevanttothisthesis,andkeyconceptsareexplainedinthissection.proxyAproxyisanobjectthattakestheplaceofandrepresentsanotherobject.Proxiesarefundamentalinthedistributedarchitecturepresentedhere.Serversmaketheirservicesavailabletothenetworkedcommunitybytransmittingproxiestothelookupservices.Theproxyimplementstheserviceinterfaceandistherepresentationoftheserverintheclientvirtualmachine.AllcommunicationbetweentheclientandtheserverisdonethroughthisproxyFigure6.Proxiesareclassiedintooneofthreeclasses:localorheavyweightproxyAlocalorheavyweightproxyperformsalloftheservice'sworkinthevirtualmachineoftheclient.Theproxycontainsthefullcodefortheservice.Anexampleofthismightbeavisionprocessingservicethatpassesaheavyweightproxytotheclient.AdivisionofthissortwillforcetheclienttospenditsownCPUcyclestoperformanyprocessingitrequires.forwardingorlightweightproxyAforwardingorlightweightproxyperformsalloftheservice'sworkinthevirtualmachineoftheservice.Theproxysimplypassesanymessagesreceivedbacktotheserverforprocessing.Noworkisdoneontheclientsidebeyondthemarshalingofmethodparametersandtheunmarshalingofreturnvalues.Aplanningservicemightuseaforwardingproxy.Aserviceofthissortcouldreceivealltheinformationnecessarytoplan,performtheplanningstep,andreturntheplantotheclient.ThiswilluseCPUcyclesontheserverandnotontheclient.30

PAGE 39

Figure6.InteractingwithaServiceThroughaProxyAdaptedfrom[40]smartproxyAsmartproxyisneitherapurelyforwardingproxyorapurelylocalproxy.Thisproxytypecanhandlemessagesinamoreexiblemanner.SomemethodsmaydelegatebacktotheserviceandsomemayperformtheworkinthecontextoftheclientVirtualMachine.Smartproxiesaretheproxytypethatisusedforthisarchitecturebecausetheyallowthemostexibility.Smartproxiesspantheentirerangefromlightweighttoheavyweight,soasmartproxycouldforwardallmessagesorperformalltheworkasneeded.However,mostserviceswilllikelyusesmartproxieswithanimplementationthatissplitbetweenlocalandremote.Whiletheframeworkdesignusesthesmartproxyparadigm,theservicesthathavebeenimplementedthusfarhavenotrequiredmuchcustomizationinthismanner.Smartproxieshavebeenusedtocachestaticinformationabouttheserviceintheproxy,buthavenotyetbecomemorecomplex.discoveryDiscoveryistheprocessofndingresourceswithinanetworkedcommunity.Servicesusediscoverytolocatelookupserviceswithwhichtoregister.Clientsusediscoverytolocatelookupserviceswhichtheycanthenqueryforservicesofinterest.31

PAGE 40

Figure7.OperationofaClientorServiceDiscoveringaLookupServiceAdaptedfrom[40] MulticastcommunicationtoagroupUnicastcommunicationtoasinglerobotFigure8.MulticastVersusUnicastCommunicationWhenaservicewishestodiscoverlookupservices,itcansendadiscoveryrequesttoamulticastaddress.Jiniusesanaddressof224.0.1.85withport4160.Lookupserviceslistentothisaddressandwillreplywithadiscoveryresponsemessage.Lookupservicesarealsoactiveinthisprocess.Eachlookupservicewillalsosendamulticastannouncementmessagetothe224.0.1.84multicastaddressonport4160.Clientscanlistentothisaddresstondlookupservices,asshowninFigure7.BoththemulticastdiscoveryrequestandmulticastannouncementmessageusetheUserDatagramProtocolUDPwitheachmessagebeingasinglepacket.Aftertheinitialdiscoveryalookupserviceiscontactedviatheunicastdiscoveryprotocol.ThisprotocolusesthemorereliableTransmissionControlProtocolTCPandwillretrievethelookupservice'sproxyforusebytheclient.Figure8showsthedifferencebetweenthetwomodes.32

PAGE 41

Intelligentuseofbothmulticastandunicastmessagingcanbeusedtoreducebandwidthandimprovethroughputinthesystem.Multicastmessagingcandisseminatedatatomultiplerecipientswithasinglemessage,whileunicastisusedfordirectpeertopeercommunicationwhenonlythetwopartiesneedtocommunicate.lookupserviceAlookupserviceisthemostimportantservicewithinaJinicommunity.Thelookupserviceisresponsibleforserviceregistrationandservicelookup.Itisalsoresponsiblefortheself-healing,networkmaintenanceaspectsofaJininetwork.ForDFRA,Jini'slookupserviceplaysavitalroleasthesystemyellowpages.Allservicesinthesystemareregisteredwithlookupservices.Whenaclientwishestouseaservice,itcansendarequesttoalookupserviceforaservicewithcertainattributes.Ifthelookupservicecanmeettherequest,theclientisprovidedwiththeservice'sproxy.Theuseofthelookupserviceenablesthefundamentaldynamicinteractionbetweenclientandservice.leasingAleaseisatime-boundedregistrationofinterestinaservice.AleaseisusedintheJinisystemtohandlepartialfailure.Whenaclientbeginsuseofaservice,itcanacquirealeaseontheservice.Iftheleaseisgranted,theclientknowsthatisisabletousetheserviceforaperiodoftime,untiltheleaseexpires.Atthattime,theclientmustattempttorenewthelease.Bytrackingthenumberofleasesgranted,theservicecantrackthenumberofclientsandrecoverresourceswhenleasesexpire.Theclientscantrackthestatusoftheirleasesandthestateofrenewalrequeststodeterminethestatusoftheservicesofinterest.Ifaserviceweretobecomeunavailablethroughsoftwareerrors,networkproblemsorresourcelimitationsarequestforaleaserenewalwillfail.Inthismannertheclientcankeepitsstateconsistentwiththestateofthenetwork.Remoteeventsareamethodtoreducethebandwidthrequiredbythesystemduringtheservicediscoveryprocess.Typically,aclientwouldexaminethenetwork,searchingforaneededservice.Iftheservicewereofine,busyorotherwiseunavailable,thentheclientwouldrepeatthesearch,pollingforservice,untilitmadeamatch.Eachiterationofthisprocessrequiresbandwidththatmaybeinshortsupply.Analternateapproachistorequestnoticationwhenaserviceoftheappropriatetypeisavailableandcontinuewithotherprocessing.Inthiscaseonerequestmessageissenttoalocalservicethatlistensfornoticationsonthenetwork.Whenaserviceoftheappropriatetypeisdiscovered,eachclientthathasregisteredinterestisnotiedoftheavailability.33

PAGE 42

PollingforstatuschangeEventnoticationforstatuschangeFigure9.PollingVersusRemoteEventsServicediscoveryisnottheonlydomaininwhichremoteeventsareused.AserviceassimpleasaGlobalPositioningSystemGPSmayusethistogoodeffect.ManyGPSunitscanupdatetheirlocationfromsatellitesignalsonaperiodicbasistypicallyonceasecond.Aclientcouldcontinuallypollforthecurrentlocationofthesensorwhendataisneeded,oritcouldregisterforaremoteeventonlywhenthecurrentlocationchanges.ThisinteractionisshowninFigure9andfurtherdiscussionofaGPSservicecanbefoundinChapterFourandSection5.2.Jiniitselfdoesnotdeneorrequireanysecuritytobeimplementedforthedistributedservicetooperatecorrectly,howeveritdoessupportarbitraryauthenticationandauthorizationschemesthroughtheJavaAuthenticationandAuthorizationServiceJAAS.Authenticationandauthorizationaretwoclosely-relatedtermsinsecurity.Authenticationistheprocessofdeterminingwhoaclientiswhileauthorizationistheprocessofdeterminingwhatanauthenticatedclientisallowedtodo.JAASusesaPluggableAuthenticationModulearchitecturetoallowanynumberofmeansofauthenticatingaclient,suchasKerberos.Onceaclientisauthenticated,informationaboutthesubjectcanbeusedbytheservicetodeterminewhichresourcesareusable.Figure10showsanoverviewofthisprocess.34

PAGE 43

Figure10.OverviewofJavaAuthenticationandAuthorizationServiceNormalcommunicationisoverunprotectednetworksockets,butJavaalsosupportstheuseofSecureSocketLayercommunicationtoautomaticallyencryptallinformationtransmittedoverthenetworkinterface.WhileremotecommunicationinJiniusesproxiestocommunicatebetweenaclientandaservice,thisinteractiondoesnotspecifyexactlyhowthiscommunicationmusttakeplace.ThisistypicallyavariantofaRemoteProcedureCallRPCmechanismwhichtransparentlyhandlesthesocketconnectionandmarshalingandunmarshalingofmethodparametersandreturnvalues.BydefaultJiniwilluseJERIformessagepassing,butitcanbeconguredtouseRMI,CORBA,plainUNIXsocketsoranothercustomcommunicationlayer.Notethatanycommunicationprotocolcanbeused,buteachprotocolmighthavedifferentresponseortimingcharacteristicsandtheremaybeaspectstoaslowerprotocolthatmightfavoritoverafasterone.Forexample,asocket-basedcustomprotocolmighthavealowerlatencyandhigherthroughput[64]thanJERI,butJERIwasdesignedtoenableprogrammeraccessibilitytothevariouslayersoftheprotocolstacks.ThisvisibilityallowstheuseofauthenticationandauthorizationlayerssuchasJAASinacleanandexiblemanner.35

PAGE 44

3.5SummaryAdistributedarchitecturemusthavesevenkeycharacteristics,andthesehavebeenaddressedwiththeapproachoutlinedinthischapter.Thekeyconstraintsthataddressedbytheapproachtakentothedesignofthissystemare:Supportforbothbehavior-basedanddeliberativeroboticparadigmsthroughtheSFXbasearchitecture.ThearchitectureusesJavaandJinisystems,bothofwhicharepartofacommunityprocessandhaveathrivinguserbase.ThearchitectureisfaulttolerantatboththesystemandcomponentlevelsthroughtheuseofarobustdistributedmiddlewareandsupportforpreviousworkinFaultDetection,IdenticationandRecovery.AdaptabilityinthefaceofchangingoperatingconditionsissupportedthroughtheuseofJiniandadeliberativelayerthatcanreasonaboutchanges.Theabilitytomodify,administer,logandmaintainthesystematruntimeissupportedthroughJava'sdynamicclassloadingmechanismandthroughJiniasamiddleware.AconsistentprogrammingmodelisusefultoabstractthelocalityofobjectsinthesystemandissupportedthroughtheimplementationbasedontheJiniandJava.Thesystemisdesignedtobedynamicfromthestartandavoidarbitraryrestrictionsthroughdynamiclookupdiscoveryofservicesatthepersonalevel.Therelatedliteraturefallsintotwocategories:distributedroboticarchitecturesandsoftwareagentarchitectures,andthesurveyshowsnoneoftheexistingworkscompletelymeetstheneededcharacteristics.Architecturessuchasthisaretypicallyvalidatedinthefollowingmanners:Fromtheroboticscommunity,architecturevalidationisdonebyimplementationanddemonstration.Forexample,Werger[68]usedtargettracking,Simmons,etal.[58,27,57]usedindoormappingandaminecollectiontaskandWills,etal.[70]usedbothsimulationandexecutiononaVTOL.Thesoftwareagentscommunityfollowsasimilarmannerofvalidation.Manyworksreportinstanceswherethesystemwasusedinalivesystem.Forexample,Bradshaw[13]notesthatKAoSisintegratedintoaperformancesupportsystemwithintheBoeingCompany.36

PAGE 45

ChapterFourImplementationThischapterdescribestheimplementationoftheDistributedFieldRobotArchitecturefollowingtheapproachdelineatedinChapterThree.Theimplementationisbrokenintotwoparts:Section4.1describestheJavaimplementationofthecoreSFXarchitectureandSection4.2describestheimplementationoftheextensionstosupportthedistributedpersona.4.1JavaImplementationThesystemisimplementedusingversion1.4oftheJavaprogramminglanguage.ThevirtualmachineusedistheJ2SEHotspotVirtualMachine.Figure11showstheJavaplatformandsomeofthefunctionalityavailableadaptedfrom[60].Manyofthesetechnologiesareleveragedinthisarchitecture.ThecoreVMandclassesjava.lang,java.io,etc.areusedasabase.XMLisusedforcongurationlesandthearchitectureusesafreeJavaXMLparsertoreadandwritetheseles.Java3Disusedtoimplementcoordinatetransformsandvectormath,whilethecollectionclassessuchasHashSetandHashMapareusedpervasivelyintheimplementation.Jiniisusedforthedistributedsystemarchitecture,anditinturnreliesonRMI,JRMPandJERIforremotecommunication.Theuseofpre-writtenlibrarieswasaprimaryreasonthataworkofthismagnitudecouldattainthefunctionalityithasinthedevelopmenttime.4.1.1InterfaceHierarchyThissectiondescribesthecoreinterfacesthatrelatetotheSFXarchitecture.AbasicinterfacehierarchyisshowninFigure12.Theprimaryinterfaceslistedarediscussedbelow.InordertoprovideaconsistentsetofcapabilitiesforallobjectsinthearchitectureallserviceobjectswilldescendfromtheModulesupertype.Thiscontainsthefollowing:Capabilitiesandattributes.Thecapabilitiesthathavebeenlistedintheregistryforthismodulearereferenced.Aloggingfacilitymanageseventloggingforeachinstance.37

PAGE 46

Figure11.TheJavaPlatformandSomeUsefulLibrariesandPackages Figure12.TheCoreInterfaceHierarchyfortheArchitecture38

PAGE 47

Aneventfacilityprovidesmethodsforcreating,throwing,andlisteningforremoteevents.HavingthisattheModulelevelensuresthatallobjectswillhavethesebasicfunctions.Readinesslevelindicatesthecurrentoperationalstatusoftheobject,includingwhethertheobjectisinitializedandreadytoperform.History,looselyrelatedtologging,referstoarecordofeventsfortheobject,includingrecentfailuresandexceptions.Thisinformationcanbeusedtoderivereliabilitystatistics.Identicationstoresthenameofthesoftwaremodule,plustheauthorandversion,forversioncontrolanduserinterfaces.Asetofdiagnostics,internalteststhattheobjectcanusetodeterminewhetherithasinitializedproperly.ThePosableinterfaceprovidesforareferencecoordinatesystemforobjectsthatcorrespondtophysicaldeviceswhoselocationandgeometryareimportantsuchasapan-tiltunit,oracameramountedaparticularlocationintheworld.ThePosableinterfacedenes:Methodstogetandsetthelocal3dtransformationtotheencompassingreferenceframe.Methodstogetandsetthereferencecoordinatesystem.TheDiagnosableinterfaceprovidesaninterfaceforobjectswhosefailurescanbereasonedover.TheDiagnosableinterfacedenes:Methodstogetandsettheenvironmentalpreconditionsforamodule.Methodstogetandsetthehardwaretestsforamodule.Asofthiswriting,onlyastubDiagnosableinterfacehasbeencreated.Thisinterfacewillallowtheadditionofrobustfaultdetectionasfuturedevelopmentallows.ClassesinthisdesignarealsoChainable;eachobjectprovidesinterfacesthatallowdatatobepassedfromoneobjecttothenext.Chainablerequiresthateachobjecthaveaninputchainandanoutputchain,whichdeneinterfacesforproductionandconsumptionofinformation.Forexample,atruntimeinformationmightbechainedinthefollowingmanner:SensortoPerceptualSchematoMotorSchematoEffector.Morecomplexexamplesarecertainlypossible.TheChainableinterfacedenes:39

PAGE 48

Methodstogetandsettheboththeinputandoutputchain.Thisallowsretrievalofobjectsthatareproducingandconsuminginformationusedandgeneratedbythismodule.Inheritedmembers.ChainableinheritsfromModule.Schemaisanabstractsupertypeforallobjectsthatareatemplateforsomeaction.Schemaiscurrentonlyamarkerithasnospecicfunctionsofitsown.AllobjectsthatimplementSchemacontainthefollowing:Inheritedmembers.SchemainheritsfunctionalityfromModuleandChainable.TheScripttypedenestheactionsthatarerequiredtoimplementstrategicorabstractbehaviorsfromSFX:Inheritedmembers.ScriptinheritsfromModule,ChainableandSchema.TheBehaviorinterfacedenesactionsthatarerequiredtoimplementbasictacticalbehaviorsfromSFX:Inheritedmembers.BehaviorinheritsfromModule,ChainableandSchema.APerceptualSchemacontainsthefollowing:Methodstoupdateandretrievetheperceptgeneratedbytheperceptualschema.Inheritedmembers.PerceptualSchemainheritsfromModule,ChainableandSchema.AMotorSchemacontainsthefollowing:Amethodtoprocessaperceptgeneratedbyaperceptualschema.Ifthemotorschemarecognizesthepercept,itwillproducesomemotoroutput.Inheritedmembers.MotorSchemainheritsfromModule,ChainableandSchema.ASensorcontainsthefollowing:Posableinterface.Byimplementingthisinterface,allsensorsarerequiredtoprovideareferencetoanotherPosablemoduletowhichthesensorisphysicallymounted.Forexample,theobjectcorrespondingtoacamerawouldhaveareferencetoanotherobjectcorrespondingtothepan-tiltunittowhichthecameraisattached.Inadditiontothisreference,thelocaltransformbetweentheobjectsisrequired.Forexample,thelocaltransformforacamerawouldbethetransformationbetweenthecamerascoordinateframeandthepan-tiltscoordinateframe.40

PAGE 49

Diagnosableinterface.Thisinterfacerequiressupportforteststhatcanbeperformedonthesensor,theenvironmentalpreconditionsforthosetests,andtheappropriaterecoverymethods.Parameters.AsensormayhavenumerousoperatingparameterssuchasthezoomofacameraortheupdaterateofasonarormultiplemodessuchasactiveversuspassivesensingonaSonycamcorder.Giventhecapabilitiesofthesensorthatmaybecontinuoussuchasvariablezoom,Parametersstoresthecurrent,andpossiblydynamic,state.Inheritedmembers.SensorinheritsfromModuleandChainable.TheEffectorinterfacecontainsthefollowing:Posableinterface.Byimplementingthisinterface,alleffectorsarerequiredtoprovideareferencetoanotherPosablemoduletowhichtheeffectorisphysicallymounted.Forexample,theobjectcorrespondingtoapan-tiltwouldhaveareferencetoanotherobjectcorrespondingtothebaseunittowhichthepan-tiltisattached.Inadditiontothisreference,thelocaltransformbetweentheobjectsisrequired.Forexample,thelocaltransformforapan-tiltwouldbethetransformationbetweenthepan-tiltcoordinateframeandthebase'scoordinateframe.Inheritedmembers.EffectorinheritsfromModuleandChainable.TherearethreegeneralmanagersdenedinthesystemtheBehaviorManager,SensingManagerandEffectorManager.Themanagersareresponsibleforresourceallocationandcontrol.Allthreemanagedifferenttypesofmodules,buthavesimilarcharacteristics:Methodstoaddandremovemodulesfromcontrol.Amethodtoretrievethesetofmodulesundermanagement.Thesemanagerscurrentlyhavelimitedfunctionality,butwillprovidetheservicesdenedinSFXforhigh-levelmanagersoftherespectivetypes.4.2IntegrationwithJiniThehierarchyinSection4.1.1isasimpliedviewoftheoverallsystem.Theinterfaceforaserviceisonlyaportionoftheactualimplementation.Eachserviceiscomposedofseveralmaincomponents,showninFigure13.41

PAGE 50

Figure13.ClassandInterfaceHierarchyfortheModule-RelatedSystemComponentTheModuleinterfacedescribesthecorefunctionalityofamoduleinthesystem,asshowninSection4.1.1.TheRemoteModuleinterfacedenesthefunctionalitythatisavailabletoallclientsinthesystem.BydefaultallbasefunctionalityofaModuleisexported.AModuleProxyistheproxyfortheservice.Thisproxyisasmartproxy,asdescribedinSection3.4.3,andsubclassimplementationscanchoosewhetherindividualmethodsexecuteontheclientorontheserver.ModuleServeristheclassthatrepresentstheserverandimplementstheportionoftheserverthatinteractswiththedistributedsystem.ModuleImplisthebaseimplementationforallmodulesandimplementstheportionsoftheservicethatinteractswiththerobothardware.Theseveclassesarearecurringmetaphororpatternthatreoccursthroughtheimplementation.Forexample,theGPSservicedescribedinSection5.2hasatitscoretheseveclasses:GPSSensor,RemoteGPSSensor,GPSServer,GPSProxyandM12PlusImpl.Thisisadirectapplicationofthebasepattern.42

PAGE 51

4.2.1ActivationandSystemInitializationBeforeaservicemaybeused,itmustbecreatedandproperlyinitialized.Theprocessforinitialservicecreationisdetailedinthefollowingeightsteps:Step1:Theactivationsystemphoenixisstarted.phoenixispartoftheJinidistribution,andisconguredthroughthestandardJiniCongurationmechanism.Step2:Theregistrationsystemreggieisstarted.reggieisalsoincludedwiththestandardJinidistribution.Step3:Theregistrarinstancethenself-associateswiththeactivationsystem.Step4:Thebootstraploaderiscreated.Thisloadedwasdevelopedaspartofthisarchitectureasahelperutilityforsysteminitialization.Step5:ModuledescriptionsarereadfromanXMLleintothebootstraploader.Thesedescriptionsincludethenumberandtypeofmodulesinthesystem.Step6:Propertiesfortherstmodulearereadfromdisk.Mostpropertiesareignoredatthisstage.However,theclassoftheModuleServerisreadandaproxyispreparedforactivation.Step7:TheMarshalledObjectforthismoduleiscreated,andispassedwiththeproxyintotheactivationsystem.Activationoftheservicebegins.Step8:Steps6&7arerepeateduntilallmodulesareprocessed.FollowingStep7inFigure14theactivationsystembeginstoprocesstheincomingproxies.ThisprocessisshowninFigure15andoccursasfollows:Step1:AninstanceofthesubclassofModuleServeriscreateddynamicallyanditsconstructoriscalled.Step2:Thecurrentpropertiesfortheinstancearereadfromdisk.ThelocationforthesepropertiesisextractedfromtheMarshalledObjectthatwaspassedintoactivation.Step3:Theclassofthedriverisreadfromtheproperties.ThisdriverisasubclassofModuleImpl.Step4:Aproxyforthisserviceisdynamicallycreatedandpostedbackintotheactivationsystem.ThisproxyclasswasreadfromthepropertiesandisasubclassofModuleProxy.43

PAGE 52

Figure14.InitialBootstrapProcessforServiceActivation44

PAGE 53

Figure15.ServerActivationintheActivationSystem45

PAGE 54

Step5:Withtheserver,driverandproxycreated,thisserviceisopenforbusiness.Theprocessofdiscoveryandjoincanbegintoallowclientstolocatethisservice.Discoveryistheprocessofndingregistrarsinthenetworkandjoinistheprocessofassociatingthisservice'sproxyandentrieswiththeservice.ThisprocessishandledbyseveralhelperutilitiesintheJiniframework.Step6:Oncethisprocesshasbegun,theservicecreatesaModuleLandlordtohandleincomingservicerequests.Thelandlordwilldistributeandrenewleasesonbehalfoftheservice.Itwillalsonotifytheservicewhentherearenoactiveclientssotheservicecanreclaimunusedresources.Onceboththebootstrapactivationandserviceactivationhavecompleted,thentheserviceisreadyforusebyclients.Thisprocessmustonlybeperformedonceatsystemstartup.Sinceoneofthedesigngoalsofthesystemistoprovideforlong-livedservices,itisimportanttonotehowthisconstraintisservedbythisapproach.TheactivationsystemreceivesamoduleclassandMarshalledObjectinStep7ofthebootstrapprocess.Thisinformationissavedbytheactivationsystem.Ifaserviceisnotrunningforanyreason,andarequestisreceivedforthatservice,thentheactivationsystemwillautomaticallyresurrecttheservicetohandletherequest.ThisinvolvesrestartingtheprocessdescribedinFigure15.Ifeachserviceinthesystemmaintainsrelevantstateinpersistentstoragei.e.,diskstorage,theservicecanrecoverafteracrashorothererror.Inthismanner,theuseoftheactivationsystemcanleadtopersistentandlong-livedservice.4.2.2SharingCapabilitiesandAttributesThecapabilitiesoftherobottakenasawholearetherobot'spersona.Allmodulesinthesystemneedtohavesomewaytorepresenttheirabilitiesinsomemanner.Forthisreason,aseparateclasshierarchyhasbeendenedthatspecieswhatinformationshouldappearintheregistry.ThisnewhierarchyisparallelinstructuretotheModulehierarchy.ItbeginswiththeModuleEntryclass,whichprovidesthenameoftheobjectagain,foruserinterfacesanddiagnostics.DerivedfromthisistheChainableEntryclass,whichliststhetypesofobjectsthatcanbeproducedbyandconsumedbyinstancesofthisclass.DerivedfromChainableEntryaretheSensorEntryandSchemaEntryclasses,whichcorrespondtotheSensorandSchemaclasses.InstancesoftheSensorandPerceptualSchemaclassesparticularlyimportant,asmuchbehavior-leveldesigninvolvesthecreationofschemastheperformsomemannerofsensorfusion.Someexamplesareprovidedbelowforsensors;similarclassesexistforeverymodule.46

PAGE 55

TheModuleEntryclassdescribesthecommoncapabilitiesandandattributesofanyModuleinthesystem.Theclasscontainsthefollowinginformation:Thehumanreadablenameofthemodule.Thestatesofthemodule;whetheritisinitialized,active,availableforuse,failedorpaused.Thecreationtimeofthemodule,aswellastimesoflastactivationandlastdeactivation.Thenumberofcurrentclientsoftheservice.TheJavaclassofthemodule.Logicallocationofthemodulethecurrentservernameandhostidentier.TheChainableEntrycontainsinformationrelatedtothetypesofinformationamodulecanprocessorgenerate:Asetofinputtypesthatrepresenttheclassesofinformationthatthemodulecanconsume.Asetofoutputtypethatrepresenttheclassesofinformationthatthemodulecanproduce.ThePoseEntrycanbeassociatedwithanyPosableobject.Itpresentsthefollowinginformation:Thecurrent3-dimensionalposeofthemodule.Thesurroundingcoordinatetransformofthemodule.Notethattheentriesupdatebasedonthecurrentconditionofthemodulesontherobot,howevertheydonotupdateinrealtime.EntriessuchasthePoseEntryaremoreusefulfordifferentiatingbetweenafrontandrearcamerathanactuallytrackingtheposeofthesensorinrealtime.TheSensorEntryclassdescribesthestaticcapabilitiesofthesensor,includingallofitsoperatingmodes.Thisclasscontainsthefollowing:OperatingModes.Asensormaybeabletoprovidenumerouskindsofdataorbeconguredtosampledifferently.Forinstance,anIRsensormayproviderangeorbrightnessinformation;agassensormaybeabletodetectmultiplekindsofgases;aTriclopsrangecameracanproducerangeimagesandvisiblelightimages;andaSonyTRVcamcordercanbecomeanactivesensorbyusingitsIRilluminator.Eachoneofthesemodesaffectshowthesensorbehaves,andinordertoallowsensorsto47

PAGE 56

befoundaccordingtotheircapabilities,thesemodesmustbemadeexplicit.ForeachSensorEntry,therewillbeasetofoperatingmodes,andforeachmode,thefollowingattributes:ReadingType.Thekindofphysicalphenomenonthatthesensordetectsinthismode;thesensingmodality.Thiswillbeaclassthatindicatesatypeofreading,suchasarange,colorimage,orgasconcentration.SamplingLimits.DependingontheReadingType,theremaybeadjustablesettingsonthesensor,suchasthemaximumrangeandangularresolutionofaplanarlaserranger,orwhetheracameraproducescolorversusmonochromeimages.ResponseCharacteristics.Thisreferstoaclassthatdescribestheresponseofthesensorinthegivenoperatingmode.Forinstance,aSonyTRVcamcordermayonlyoperateatanambientbrightnessof4luxinitsdefaultmodeofoperation,butwithitsIRilluminator,canoperateat0lux.TheresponsecharacteristicsarecloselyassociatedwiththeenvironmentalpreconditionsthatapplytothetestsintheDiagnosableinterface.Thatis,asensoroperatinginamodesuchthatitdoesnotrespondtothecurrentenvironmentwillfailoneormoreenvironmentalpreconditions.TheparticularresponsecharacteristicsforanoperatingmodewilldependontheReadingType.Preconditions.Thepreconditionsarecloselyrelatedtotheresponsecharacteristicsanddeterminewhethertheenvironmentcanbeadequatelysampledbythesensor.UpdateRate.Theminimumandmaximumupdateratesforthesensorinthisoperatingmode.PowerConsumption.Theamountofenergythatthesensorrequiresinthisoperatingmode.Inheritedmembers.SensorEntrycontainsaname,inheritedfromModuleEntry;andfromChainableEntry,ithasInputTypesthatwillbenullforsensorsandOutputTypesthatistheunionofallofthereadingtypesacrossalloftheoperatingmodesforthissensor.AnalogoustotheSensorEntryclass,thereisthePerceptualSchemaEntryclass,whichalsoinheritsfromtheModuleEntryandChainableEntryclasses.Thisclasscontainsthefollowing:UncertaintyModel.Theuncertaintymodelfortheperceptualschemamaycontainmeasuresofsensorperformancesuchastruepositive/truenegativeratesthatcanbesearched,andmayalsocontainotheruncertaintyattributessuchasthepriorprobabilitiesforaBayesianmodel.Giventhatasensorcannotknowwhatitsrawoutputwillbeusedfor,theuncertaintymodeldoesnotbelongthereany48

PAGE 57

uncertaintywithinthesensorwillbeaconsequenceofitsresponsecharacteristics.Thisinformationisspecictoperceptualschemas,andgiventhatperceptualuncertaintymaybeanattributethatisusedtoselectaperceptualschema,itbelongshere.Inheritedmembers.PerceptualSchemaEntryinheritsfromModuleEntryandChainableEntry.Theseclassesarecritical,becausetheyconstitutetheimplementationofthepersona,describedinSection3.3.AregistrarforarobotwillhaveasetofSensorEntryinstances,anumberofPerceptualSchemaEntryandMotorSchemaEntryinstances,BehaviorEntryinstances,andsoon.Thesetofalloftheserepresentsthecapabilitiesoftherobotanddetailscontainedwithintheentriesdenotethegoalsandlimitationsoftherobot.4.2.3AuthenticationandAuthorizationThecurrentimplementationmakesfulluseoftheJAASauthenticationmodelandleveragesexibilityoftheJERInetworkingmodeltoimplementauthorization.Aseachclientiscreated,itreadsalistofauthenticationmodesfromcongurationles.Theclientwillattempttoauthenticateforeachdifferentmode,addingeachauthenticationmodeasaPrincipaltotheclient'sSubject.Thisprocesscreatesasecuritycontextfortheclient.Ifarequiredauthenticationmodefails,thentheclientfailsauthentication.Bydefaultnoclientwillrequireauthenticationofanykind,butthefunctionalityhasbeenimplementedforfutureuse.Authorizationmakesuseofthesecuritycontextcreatedintheauthenticationstep.Whenaclientattemptstomakearemotecallonaservice'sproxy,theremotemethodcallproceedsnormallywithoneexception.Astheruntimemarshalsmethodarguments,controlpassesthroughaJavaBasicInvocationHandlersubclass.Thissubclasscaninjectinformationfromtheclient'ssecuritycontextintothemethodcall.Theremainderoftheremotecallproceedsasnormalontheclientside.Ontheserversideoftheconnection,acorrespondingBasicILFactorysubclasscanextracttheauthenticationinformationduringtheargumentunmarshallingprocessandpassthisinformationtothenecessaryresourcemanagerorguard.Ifthesecuritycheckfails,thenthemethodcallisterminatedbeforeanyfurtherworkisdoneandasecurityexceptionisreturnedtotheclient.Thismethodofauthenticationandauthorizationhastheadvantageofexibilityneitherisrequired,butanynumberofuser-denedmodesaresupported.49

PAGE 58

4.2.4FaultToleranceandRecoveringfromServiceFailureAllservicerequirementsofmodulesinthesystem,fromsensorstobehaviorstodeliberativeagents,areaccessedthroughthedistributedservicelookupanddiscoveryasdescribedinSection3.4.3.Thisisimportantforfaulttoleranceineachmoduleinthesystem.WeretherobotsequippedwithtwoGPSunits,therequestmechanismcouldchooseeitherandstillfullltheservicerequirementsofaperceptualschema,forexample.Ifafaultoccurredinoneunit,theservicerequestwouldonlychoosetheworkingsensor.Thus,thelookupmethodisakeycomponentinfaulttolerance.Thedistributedsystemiskeyforhigh-levelfaulttolerance,buteachmoduleneedstosupportsomeformofFaultDetection,IdenticationandRecovery.TheDiagnosableinterfacedenesmethodsthateachmodulemustimplementthatdescribetheenvironmentalandhardwarepreconditionsthatmustbeinplaceforcorrectoperation.Thisenablesfaultdetectionandidenticationinthemannerdescribedinpreviouswork[41,73].Additionally,eachmodulecanhaveassociatedrecoverymethodsthatcanbeexecutedtoattemptrepair.Module-levelfaultrecoveryisnotfullyimplementedatthistime,butarchitecturalsupportdoesexistforfutureenhancement.4.3SummaryThischapterdescribedtheimplementationoftheDistributedFieldRobotArchitecturefollowingtheapproachdelineatedinChapterThree.ThecoreSFXarchitectureinterfaceswereoutlinedinSection4.1,andthekeydesignpatternthatenabledeachSFXmoduletointeractwiththedistributedsystemwasdescribedinSection4.2.ThissectionalsodiscusseshowtheimplementationmeetsthegoalsoftherobotpersonaSection4.2.2andenableresourcecontrolSection4.2.3andfaulttoleranceSection4.2.4.50

PAGE 59

ChapterFiveDemonstrationThepurposeofthischapteristoserveasavalidationoftheapproachandimplementationdescribedinChapterThreeandChapterFour.Thisvalidationisdonethroughadetailedexplanationofthearchitectureviaanimplementationwalkthroughandexistenceproofsonrealrobots.ThisstyleofvalidationissimilartothatdonebyWerger[68],Simmons,etal.[58,27,57]andWills,etal.[70].Thevalidationhasfourprimaryobjectives:showthatthebaseimplementationinChapterFourcanbeextendedandimplementedonrealhardwaredescribeanexampleofabehaviorthroughthereactiveparadigmofSFXprovideadescriptionofaservicethatoperatesinadeliberativemannershowthatthedistributedsystemisusedduringthedemonstrationTheremainderofthechapterisasfollows.Section5.1willdescribetherobothardwareandsensorsused.Inordertosupportmorecomplexconstructssuchasschemas,behaviorsordeliberativeagents,driversmustexisttosupportthesensorsandeffectorsontheplatform.Section5.2showstheimplementationofadrivertoaccesstheGlobalPositioningSystemGPShardware.Oncethesensorsandeffectorsareusable,workonbehaviorscanbegin.FortheprojectdescribedinSection1.5abasicwaypoint-followingbehaviorwasimplemented.Thisimplementation,discussedinSection5.3,isinterestingbecausewhileJavawasusedfortheserverandproxytointerfacewiththedistributedsystem,MATLABwasusedtoimplementafuzzy-logic-basedcontrollerforactualtrajectorygeneration.Finally,Section5.4discussesaservicethatoperatesinthedeliberativelayer.Gage[24]hasusedDFRAtoperformaffectiverecruitmentofrobotsbothinsimulationandonrealrobots.Thesedemonstrationsshowhowtobegindesignanddevelopmentofasystemusingthisarchitecture.Thethreeexamplespresentedhereshowhowallthreelayersofthesystemreactive,deliberative,anddistributedintegratetoprovideaexibleandextendablebasefordevelopment.Intheprocess,theexistenceproofsservetovalidatethearchitecture.51

PAGE 60

abFigure16.ATRV-JrHardware5.1RobotHardwareTheDFRAhasbeenimplementedandtestedontwoATRV-JrrobotsproducedbyiRobotFigure16a.Eachrobothasfourwheelsthataredrivenbytwoindependentmotors.TheATRV-JrgroundrobotshavePCswith1GHzPIIIprocessorsand2GbofRAM.Theonboardcomputerincludes10auxiliaryserialports,rewireandUSBtoaccommodatesensorsandotherequipment.TherobotsrunRedHatLinux9.x.TherobotsarecapableofrunninglocallyanysoftwarethatwillrunonastandardPCandareaccessibleviawirelessEthernet.11g.TheATRV-Jrsareequippedwithsixsensors.TheseincludeaSICKLMS200scanningplanarlasermountedonthefrontofthevehicle,apan/tiltunitwithFLIRandstandardvideocamerasattachedtothefront-topequipmentrack,andinertialgyroscopeandGPSmountedonthecenter-topequipmentrack.TheGPSsystemisaSynergySystemsLLCM12+withevaluationboardandaHAWKGPSantennaconnectedviaseriallinktotherobotsmaincomputer.Therobotsareself-contained.Theyarepoweredfrom2lead-acid720Watt/hourbatteries.Acustom24vpowersupplycenterhasbeendesignedandinstalledineachrobottoprovidepowertotheaddeddevicesontherobotFigure16b.5.2ImplementingaBasicGPSServiceThissectiondescribestheserviceimplementedtosupporttheGPSdevicemountedtotherobot.ThisimplementationservestoshowhowtheDistributedFieldRobotArchitecturecanbeextendedandutilizedtoaccommodatehardwaredevicessuchassensors.52

PAGE 61

Figure17.UMLDiagramfortheClassandInterfaceHierarchyDenedfortheGPSService53

PAGE 62

Theimplementationconsistsofthreeclassesandfourinterfaces.Allinterfacesandtwooftheclassesaregenericsupportoffuturehardwareofthisnaturewillrequireonlyasinglenewclass.TheclasshierarchyisshowninFigure17.Sensor,RemoteSensor,SensorServer,SensorProxy,andSensorImplareclassesthataredenedinthegeneralDFRAarchitectureandarediscussedinSection4.2.ThisfollowsthedesignpatterndescribedinFigure13inSection4.2.Theremainingclasseshavethefollowingfunctionality:LocationSensor:AGPSprovidesthefunctionalitytosenseitslocationintheworld.TimeSensor:TheGPSsatellitesystemalsoprovidesaccuratetimewhichGPSunitscanaccess.GPSSensor:ThisinterfaceisamarkerinterfacethatnotesthataGPScansensebothlocationandcurrenttime.RemoteGPSSensor:Thisinterfacedenesthemethodsthatremoteclientscanaccess.RemoteGPSSensoriscurrentlyamarkerinterfaceasappropriatedenitionshavebeendenedinthesuperclasschain.GPSServer:Thisclassimplementstheserver-sideoperationsoftheGPSservice.GPSProxy:Thisclassimplementstheclient-sideoperationsoftheGPSservice.M12PlusImpl:ThisclassisthecoreimplementationoftheGPSservice.ThisimplementationisresponsibleforcommunicatingwiththeGPShardware,sendingcommandsandparsingthereturnresult.TheM12PlusImplinitializestheserialconnectiontotheGPSunitwhentheserveriscreated,asisshowninFigure18.ThissetstheserialportparametersandsendsbasiccommandstotheGPStoputthehardwareinasafestate.InitializationalsoretrievesthefollowinginformationabouttheGPSunititself:copyrightmessage,softwarepartnumber,softwareversion,softwarerevision,modelnumber,hardwarepartnumber,serialnumber,manufacturingdateandanyoptionsthatmightaffecttheunit.PortionsofthisinformationareusedtocompletetheGPSEntryinformationthatispassedtotheJiniregistrarandbecomepartoftherobot'spersona.OncetheGPSisinitializeditcanbeusedbyclientsintwomanners.Theservicecanbeaccessedbothbydirectquery,alsoshowninFigure18,andbyeventregistration.Thissecondmode,showninFigure19,involvesretrievingareferencetotheeventfacilityfortheserviceandregisteringtheclientfor54

PAGE 63

Figure18.EventFlowforInitializationandActivation55

PAGE 64

Figure19.EventFlowforEvent-BasedGPSReadings56

PAGE 65

Figure20.Control-TheoreticGoToWaypointasImplementedinMATLABupdates.Eachmoduleinthesystem,includingthisGPSserviceautomaticallyinheritsthiseventfacility.WhentheGPSpositionisupdated,theM12PlusImplinstancewillusetheeventfacilitytonotifyalllisteningclientsabouttheupdate.TherefreshrateofthisperiodicupdatefortheSynergySystemsLLCM12+GPSisonceupdatepersecond.TheimplementationofaGPSservicedescribedillustrateshowDFRAcanbeusedtoincorporateadditionalsensorsintoasystem.Sincetheimplementationextendspreviously-denedsoftwarecomponents,itinheritsaspectsrelevanttouseinadistributedsystem.Specically,sincetheGPSserviceisasubtypeofaModule,itcanbeaccessedremotelyandcanbeusedbybothlocalandremoteclients.5.3ImplementingaWaypoint-FollowingBehaviorUsingMATLABThissectiondescribesthedesignandimplementationofabehaviorthatmovestherobottoagoallocationdenedintermsofaGPScoordinate.ThisexampleusestheGPSservicedescribedinSection5.2inthecontextofareactivebehavior.ThedescriptionofthebehaviorisbackedupwithdatafromexperimentsreportedbyNelson,etal.[49]onthetwoATRV-JrrobotsdescribedinSection5.1.Theimplementationofthisservicevalidatesthebehavior-based,reactiveportionoftheSFXarchitecture.Figure20showsthebehaviorasimplementedfortheexperimentsbelow.Thebehaviorconsistsofthreemajorportions:sensors,MATLAB-basedbehavior,andaneffector.Thethreesensorsusedforthisbehaviorare:AGPSsensorthatcontinuallyupdatesandreturnsthecurrentlocationoftherobot.TheimplementationofthismodulewasdescribedinSection5.2.57

PAGE 66

Figure21.DFRA-MATLABIntegrationUMLDiagramAnodometrysensorthatreturnsthecurrentmotorodometryforthedrivemotors.Thesereadingscanbeusedtodeterminethedistancetherobothastraveledbetweensuccessivereadings.Whileodometryisunreliableoverlargedistances,itcanbeusedtomodulateGPSerroroversmalldistances.Alaserrangenderthatdeterminesdistancefromthesensortoobstaclesovera180horizontalscan.TheimplementationforboththeodometerandlaserrangenderweresimilartothatoftheGPSsensor;theprimarydifferencesweresuperclasstypesandtheactualimplementationclass.ThebehaviorwasentirelyimplementedinMATLAB,usingthemethodshowninFigure21.Thebehaviorimplementation,MatlabShellImpl,isaJavaclassthatusesaJavaMATLABnativebridgecalledJMatLink.JMatLinkcaninstantiateanativeconnectiontoaMATLABengineandwillpassmessagesfromtheJavaimplementationtoMATLABscripts.TheMATLABscriptsimplementseveralimportantfunctions:58

PAGE 67

Rangesensorltering:Thelaserrangenderissusceptibletoghostsorerroneousreadingsastherobotbouncesoveruneventerrain.Filteringthelaserreadingsoverseveraltimestepscanhelpreduceoreliminatethisfalsedata.Positionestimation:Thescriptalsousesatime-historyofodometryreadingstohelpreduceunavoidableerrorinGPSreadings.Thealgorithmusedinthisscriptwasheuristicinnatureanditisunknownquantitativelyhowmuchthefusionaidedlocalization.Errorestimation:Usingtheresultfromthepositionestimationandagoallocation,thisportionoftheMATLABscriptestimatestheheadingerrorfortherobot.Fuzzy-logiccontroller:ThefuzzylogiccontrollerwasimplementedasaMamdani-typecontroller.Thecontrollerreceivesasinputtheheadingerrorandlteredlaserdata.Fromthese,itcalculatesanewsetofmotorcommands.Inthisbehavior,arulebasecontainsthefuzzyrulesresponsibleforvehiclecontrol.Ingeneral,afuzzylogiccontrollerconsistsoffourcomponents:therulebase,theinferencemechanism,thefuzzicationmoduleandthedefuzzicationmodule.Theinferencemechanismactivatesandappliesrelevantrulestocontrolthevehicle.Thefuzzicationmoduleconvertscontrollerinputsintoinformationthatcanbeusedbytheinferencemechanism.Thedefuzzicationmechanismconvertstheoutputoftheinferenceengineintoactualoutputsforthevehicledrivesystem.Afterthefuzzy-logiccontrollergeneratesamotorcommand,itispassedtotheactualmotorcontrolservice,whichactivatesthemotors.Allservicerequirementsofthisbehavior,thesensorsandeffector,areaccessedthroughthedistributedservicelookupanddiscovery.Thisisimportantforfuturestabilityandexibility.WeretherobotsequippedwithtwoGPSunits,therequestmechanismcouldchooseeitherandstillfullltheservicerequirementsofthebehavior.Ifafaultoccurredinoneunit,theservicerequestwouldonlychoosetheworkingsensor.Thus,thislookupmethodisakeycomponentinbehavior-levelfaulttolerance.Theabovebehaviorwasvalidatedinthefollowingexperiment:UsingaGraphicalUserInterfaceFigure22,anoperatorataremoteconsoleselectedaregionforateamofrobotstosearch.Theinterfacedeterminedthelatitudeandlongitudeofthesearcharea,andgeneratedasetofwaypointsinarasterpattern.TheGUIthenrequestedthatthewaypoint-followingbehaviorbeginoneachofthetworobots,witheachrobotmovingthroughthefullsetofwaypoints.Onerobotwasdesignatedtoprocessthewaypointsfromwesttoeast,whiletheothertravelledintheoppositedirection.Sincetherobotsmoveinoppositedirections,therobots'pathscrossthisisavaluabletestoftheobstacleavoidancebuiltintothecontroller.Figure2359

PAGE 68

Figure22.UserInterfaceforSelectingRobotSearchAreasshowsaportionofarastersearchinwhichthetworobotspasseachothersuccessfullywithoutcollision.ThedatawereloggedduringeachexecutionofthetestthepathsgeneratedinonesuchrunareshowninFigure24.5.4DistributedAgentsforAffectiveRecruitmentGage[24]hasusedtheDFRAtodemonstrateaffectiverecruitmentwithinateamofheterogeneousrobots.Affectiverecruitmentoperatesatthedeliberativelayerofthearchitecture,andtherecruitmentalgorithmleveragesthedistributedlayerforcommunication.Thissectionsummarizesthework,andshowsboththatDFRAmeetstheobjectiveofafunctionaldeliberativelayerandthatthedistributedlayerenablescommunicationbetweenagentsonmultiplerobots.Affectiverecruitmentusesanemotionalmodeltodelineatewhenarobotwillrespondtoarequestforhelpsentbyanotheragent.TherecruitmentmodelusesanaffectivevariabletomodeltheincreasingSHAMEassociatedwithignoringahelprequest.TherecruitmentprotocolhasbeenimplementedinDFRAasanagentinthedistributedlayer.ThisagentisanintelligentagentasperthedenitioninSection1.4.3.Therecruitmentagentcanreacttotheenvironment,eithersendingahelprequestifconditionssodictateorrespondingtoareceivedhelprequest.Theagentisalsopro-active;ithas,atitshearttwomajorgoals:maintainthehighestlevelofservicepossiblefortheteamandmaximizetheenergyuseofeachrobot.Finally,therecruitmentagentshavesocialabilitytheagentsinteractwitheachotherinadenedmanner.60

PAGE 69

Figure23.TwoRobotPassingEachOtherWhilePerformingaRasterScan Figure24.ThePathoftheTwoRobotsPerformingaRasterScanLefttoRight,ToptoBottom61

PAGE 70

Thefollowingrecruitmentscenariowassimulatedwithvaryingrobotteamsize,rateofrandommessageloss,messagetypeandrecruitmentstrategy:OnerobotwasdesignatedasanUnmannedAerialVehicleUAV,whiletheremainderoftheteamweredesignatedUnmannedGroundVehiclesUnmannedGroundVehicles.TwooftheUGVsandtheUAVperformedarasterscanofa100x100unitgridwhiletheremainderoftheUGVsremainedidle.PeriodicallytheUAVwouldattempttorecruitarobot.TheaffectiverecruitmentagentswouldcommunicateinthemannershowninFigure25,basedonthree-wayhandshaking.First,therequesterrobotbroadcastsahelpmessagetoallrecruitmentagentswiththelocationandtheconditionthattherespondermustbeabletoobserveagivenpercept.Arespondercanchoosetoaccept,respondingwithamessagethatestimatesthetimetogettothetargetlocation.Whentheresponderreceivesanaccept,itwillbroadcasttheresponderIDtoallagents.Thisservesasbothaconrmationfortheresponderandmessagetoallotheragentsthattheyarenotneeded.Theaffectivevariable,shame,isusedtodeterminewhetherarobotwillchoosetorespondtotherequest.Whentheresponderreachesthegoal,itwillsendanarrivalmessagewithaleasefortheamountoftimeitcanspendontask.Thisexpirationofthisleasewillfreetheresponderfromtherecruitment,andisintendedtohandlecommunicationlossandpartialfailure.Iftherequesteracceptsthelease,itsendsanagreemessage.Whentheresponderreplieswithanack-acktherecruitmentiscomplete.TherecruitmentagentsareimplementedasDFRAmodules,asdescribedinSection4.2,andutilizethedistributedaspectsofthesysteminthefollowingways:EachagentandthesimulationGUIwilllocaterecruitmentagentsusingtheJinilookupservice.Asnewagentsarefound,thelookupservicewillnotifyeachclientagentaboutthenewlydiscoveredagent.Messagepassingisaccomplishedthroughtheremoteeventmechanism.TherecruitmentagentdeterminesthelocationoftherobotbyaccessingtheGPSserviceandretrievingtheGPScoordinates.TheJavaandJiniexceptionmechanismsandrecruitmentprotocollogicareusedtohandlepartialfailure.Theabovesimulationswereexecuted72timeswithvaryingrobotteamsize,rateofrandommessageloss,messagetypeandrecruitmentstrategytomeasuretheperformanceofaffectiverecruitmenttoagreedyorrandomstrategy.Inaddition,theaffectiverecruitmentscenariowasexecutedonthetworobots62

PAGE 71

Figure25.OverallRecruitmentProtocol63

PAGE 72

describedinSection5.1withonlytheUAVoperatinginsimulation.Theseresultsserveasaconcreteexistenceproofofnotonlythedeliberativelayerofthearchitecture,butalsoavalidationofthedistributedaspect.5.5SummaryThethreeexamplesabove,aGPSservice,waypoint-followingbehavior,anddeliberativeagent,serveasavalidationoftheapproachandimplementationintheprevioustwochapters.TheGPSserviceinSection5.2isanexampleoftheimplementationofaconcreteservice.ItalsoimportantbecausethisserviceisusedapartofthebaseofthebehaviorinSection5.3andtheagentinSection5.4.TheMATLAB-basedwaypointbehaviorshowshowindividualservicescanbecombinedtoformaconcretebehaviorandalsoservesasavalidationofthereactivelayerofthehybridarchitecture.Theagentestablishestheutilityandfunctionalityofthearchitecture'sdeliberativelayerandalsorevealsthatthecomponentsgeneratedinthereactivelayercanbeusedatthislevelaswell.Finally,whileallthreeexamplesareinherentlydistributed,thethirdexampleshowsthestrengthofthedistributedportionofthearchitecturebyenablingeachindividualagenttodynamicallylocateanduseagentsonotherrobotsforrecruitment.64

PAGE 73

ChapterSixDiscussionThearchitecturepresentedhereisaworkableextensionofahybriddeliberative-reactivearchitectureintoadistributedarchitecture.Theapproachdescribedheremaintainsthebenetsofpreviouswork,supportingareactivelayerforrapidbehavioralcontrolofarobotandadeliberativelayerthathastheabilitytoperformmoreintelligent,agent-basedtasks.Ontopofallthis,eachrobotpresentsapersonatootheragentsinthesystem,conveyinginformationaboutthecapabilities,goals,attributesandlimitationoftherobot.Theinformationprovidedbythispersonaallowsotheragentsinthesystemtointeractwiththerobotinanintelligentmannerhigh-levelmissionplannerscanreasonovertheskillsandcapabilitiesofagroupofrobotagentsanddividemissiontasksinanintelligentmanner,forexample.Anumberofobservationsweremadeduringthedevelopmentofthissystem.Onthepositiveside,Javawasagoodlanguageforthiswork.Theinterpretednatureofthecodemadedevelopmenteasier.Dynamicloadingallowedsharingofcodeacrossadistributedsystemrelativelystraightforward,andtheabundanceofclasslibrariesavailableforusegaveprogrammeraccesstoawiderangeoftechnologieswithlittleeffort.TheJavaprogrammingmodelisalsoveryexiblebydesign,withmuchofthebehaviorofthesystemcongurablethroughcongurationles.Onthenegativeside,thereareanumberofweaknessesofthesystem.Thereisadarksidetotheadvantagesabove.InterpretedcodeisaperformancehitforoptimalperformanceincriticaldrivercodenativecodesuchasCorC++muststillbedeveloped.TheabundanceofclasslibrariesandAPIscreatesaverylargeprogrammerlearningcurve.EvensimplylearningadditionalAPIssuchasthoseforXMLparsing,3DmodelingandvectormathoraccessingMATLABfromJavaarenon-trivial.LearningtheJinisystemisverydifcultbecausenotonlyisitanewsetofclassesandmethodstolearn,butthestyleofprogrammingandsomeofthebasicmetaphorsandinteractionpatternsaredifferentsimplybecausedistributedprogrammingisdifferentthanuni-systemprogramming.Finally,whilethesystemisverycongurableviaparameterle,thisisyetanotherlayerofcomplexityandabartolearningtousethesystemeffectively.65

PAGE 74

Inadditiontotheseobservations,sometradeoffsinthedesignofthesystemwereencounteredbasedonexperiencesduringimplementationandondatacollectedintheeld:Persistencevs.complexity:Complexitybuyslong-termservicepersistencetheadditionoftheactivationsystem,registrarsandtherestoftheJiniframeworkallowservicesandmodulescreatedandrunningonarobottobecreatedandre-createdondemand,eveninthefaceofpriorservicefailure.Amoresimplesystemcouldbeused,butlikelyatthecostofthispersistence.Efciencyvs.functionality:Inasimilarveinthesecurity,authentication,authorizationandeventheJavavirtualmachineenvironmentexactaprice.ThissystemwouldrunmoreefcientlyifprogrammedinCwithnosecurityinplace,butthisaddedcomplexityandoverheadbuysaexibleandextendablesecuritymodeandprovidesasafecomputingenvironment.Arogueservicecannotaccessmemorythatitisnotsupposedto,unlessusingfaultynativecode.Continuousoperationvs.taskabilityandrecongurability:Inorderthataservicecanpersistforextendedperiodsoftime,itmaybenecessaryperiodicallytodisabletheservicetoperformsoftwareupdatesorthelike.Whilethismayhappenonanautomatedbasis,caremustbetakenthatthisupdatedoesnotoccuratacriticaltimeintheserviceoperationwhenmultipleclientsaredependingontheserviceforimmediateresults.Foralargegroupofautonomousrobots,itmaybeimpracticalforahumantodeterminetheappropriatetime,soautomated,intelligentmeansmustbedeveloped.Real-timeeventhandlingvs.compatabilitywithstandardizedtools:Thereisalsoatradeoffbetweenspeedandtheuseofstandards-basedtools.Forexample,aservicemightproducesmallamountsofdatadataataveryfastrate.Toencapsulatethisdatainastandardstructure,in,forexample,anXMLwrapperthatalsoincludesthetimestampandotherinformationrelevanttotheevent,willincreasethesizeofthepayload,slowingdatatransmission.Howevertheadditionalinformationmaybeveryimportantiftheoriginaleventistomakesenseinacontextoutsidethelocalenvironment.66

PAGE 75

ChapterSevenSummaryandFutureWorkThischaptersummarizestheworkdoneforthisthesisandbrieydiscussesfutureresearchopportunities.Theapproachtakeninthisthesisisthreefold.First,thedistributedarchitecturebuildsonexistinghybriddeliberative/reactivearchitecturesusedforindividualrobotsratherthancreatingadistributedarchitecturethatrequiresre-engineeringofexistingrobots.Thethesisproposesandimplementsadistributedlayerthatservesasayethigherlayer.Thisisconsistentwiththesoftwareengineeringprinciplesofmodularity,informationhiding,andsecurity.Italsomeansthattherobotcanfunctiononitsownevenifthedistributedlayerhasasoftwarefailure.Anotheradvantageofthedistributedlayeristhatitisexpectedtobeapplicabletoanysingle-robotarchitecture.Second,thedistributedlayerofthearchitectureincorporatesconceptsfromarticialintelligenceandsoftwareagents.Thedistributedlayerislooselybasedonthepersonaconceptfrompsychology.Eachpersonhasapersona,orwaytointeractwiththeworld,underdifferentcircumstances.Thepersonaprovidesametaphorforthinkingabouttherobotandhowitinteractswithotherrobotsandintelligentagents.Thepersonaconceptisalsoconsistentwithgoodsoftwareengineering,especiallyinformationhidingandsecurity,sinceitimpliesthatallagentsdonothaveaccesstoallaspectsofeachrobot.Third,thearchitectureisdesignedaroundSunsJinimiddlewarelayer,ratherthancreatingamiddlewarelayerfromscratchorattemptingtoadaptasoftwareagentarchitecturesuchasCoABS.Thiswasdoneforthefollowingvereasons:Creatingarobust,functionalmiddlewarelayerisacomplex,time-consumingprocessandnotthemaingoalofthiswork.Jiniisacommerciallydeveloped,stable,openproduct.Jinihasathrivingusercommunitythathasavestedinterestinseeingbugsfoundandxed.Jiniiswellsuitedtothesecurity,networkingandeventmodelsoftheJavalanguage.Othersystems,suchasCoABSarebuiltonJini.ThisshowsthatJiniisarelevantandfunctionalbaseforthiswork.67

PAGE 76

Thisthesismakesthreeprimarycontributions,boththeoreticalandpractical,tointelligentrobotics.First,thethesisdeneskeycharacteristicsofadistributedrobotarchitecture.Therearesevenkeyrequirementsnotedforteamsofheterogeneousmobilerobots,basedoneldexperience:Supportforbothbehavior-basedanddeliberativeroboticparadigmsisfundamental.Thearchitectureshoulduseopenstandardand/oropensourceforcompatibilityandcorrectness.Thearchitectureshouldbefaulttolerantatboththesystemandcomponentlevels.Adaptabilityinthefaceofchangingoperatingconditionsiscritical.Theabilitytomodify,administer,logandmaintainthesystematruntimeisneededforalong-livedsystem.Aconsistentprogrammingmodelisusefultoabstractthelocalityofobjectsinthesystem.Thesystemshouldbedesignedtobedynamicfromthestarttoavoidarbitraryrestrictions.Thisisamajorcontributiontothetheoryofrobotarchitecturesbecauseithelpsshapewhattheyaretodo.Thesecharacteristicsalsoheavilyshapedthedesignofthisarchitecturebyprovidingastartingpointforsystemrequirements.Second,thisthesisdescribes,implements,andvalidatesadistributedrobotarchitecturewhich:IsconsistentwithgoodsoftwareengineeringprinciplesCanbeappliedtoanyexistingsingle-robotarchitecture,shownthroughinclusionwithSFX.Isconsistentandcompatiblewithagentarchitectures,makingitextensibleforemergingAIconceptssuchasaffectivecomputingTherobotarchitectureitselfisatheoreticalandpracticalcontribution.Asanarchitecture,itforwardsthetheoryofintelligentrobotics.Becauseitisdesignedandimplementedwithgoodsoftwareengineeringprinciplesthatcanbeportedtoexistingrobots,thethesisreectsapracticaladvancementofrobotics.Third,theimplementationwithateamofmobilegroundrobotsinteractingwithanexternalsoftwaremissioncontrolleragentinacomplex,outdoortaskisitselfacontribution.Traditionally,mostdistributedrobotarchitectureshavebeentestedinanindoor,controlledenvironment.Thisarchitecturehasbeentestedinanoutdoorenvironment,withinthecomplexmulti-robotdeminingtargetdomain.68

PAGE 77

Figure26.Schema-BasedGoToWaypointBehavioralDesign7.1FutureWorkWheredoesthissystemgofromhere?Futureworkfallsintotwogeneralcategories:short-termandlong-term.Intheshort-termmanyofthemodulesinthesystemneedfurtherdevelopment.Whilemanyoftheclassesandinterfacesexist,manydosoasstubsorplaceholdersforfullyfunctionalcomponents.Thesesystemscoulduseadditionalfunctionalitytoimproveusefulness.Onedownsideoftheimplementationdescribedabove,isthattheMATLABscriptoperatesasablackbox.Itperformsfunctions,suchaslaserltering,thatcouldbeofusetoothermodulesinthesystem.Futureworkconsistsofsplittingthisblackboxandmovingfunctionalityintoschemas,asshowninFigure26.Thebiggestbenettothisworkisthatitwilladdfunctionalitytothesystemthatothermodulescanutilizewithoutduplicatingcalculationsorwork.Thebehavior,sensorandeffectorlibrariesstillonlyexistinaminimalstate.Thedevelopmentofadditionalskills,scriptsandtacticalbehaviorswillallowfutureresearchusingthisarchitecturetoproceedatafasterpace.Theadditionofnewsensors,effectorsandperceptualandmotorschemaswillprovidemoretoolsfortheusersofthesystem.Whilethesystemcurrentlysupportssharingofservicesbetweenrobots,currentbehaviorsareextensionsofprevioussingle-agentbehaviors.Thedevelopmentoftruedistributedbehaviorsusingcomponentsfrommultipleplatformsisstillripeforresearch.69

PAGE 78

Human-RobotInteractionisarapidly-developingeldofstudy.Littleworkhasbeendonetodatewiththisarchitecturetodevelopinterfacesorotheruser-interactionmechanisms.InvestigationofprojectssuchasServiceUI,whichallowsservicedeveloperstodesignuser-interfacesandassociatetheseinterfaceswiththeservice,couldallowautomatedgenerationofinterfacesinadynamicmanner.Severalsoftwareagentsystems,suchasKAoS,offermanyexcitingpossibilitiesforfuturework.LeveragingKAoS'policygenerationmechanismforne-tunedcontrolofgroupsofservices,policyenforcement,andtheuseofauthorizationsandobligationstoinuencerobotbehaviorcouldyieldsomeveryinterestinginteractionsandresults.Thereareanumberofareasthatareripeforlong-termexploration.Thehigh-levelintelligentagentscurrentlydescribedinthesystemaredirectdescendantsoftheirhybridcounterparts,andlargelystillhavethesamerole.TheSensingManager,forexample,stillmanagesthesensingresourcesonarobot.Ithaslittleinuenceovertheresourcesondifferentmachines.Thisleadstoseveralpossibilitiesforfutureworkinthisarea:extensionstothecurrentmanagersthataremoreawareofresourcesdistributedthroughthesystemandgenerationofanewmanagerthatisresponsibleforallofthedistributedresourcesonarobot.Thisagentcouldberesponsibleforensuringthattherobotisagoodnetworkcitizenandmighttakestepstoensurethattherobotcontinuestomanageresourcessuchasbandwidthoravailableprocessingpowerwisely.Thearchitectureofanindividualmoduledoesnotspecifytheimplementationdetailsinanymanner.Currentmodulesarefairlystaticwhiletheymayadapttochangingconditions,thisisonlyinafairlylimitedmanner.Introductionoflearningmechanismsintothesemodulescouldimproveperformanceorhelparobotlearnnewskills.Sincethesystemisdistributed,learningmechanismswouldhavetheopportunitytolearndistributedcontrolaswell.Continuallyworkingwiththedistributedunderpinningsofthesystemisalsofertilegroundforfutureresearch.Changestomanyofthecoreservicesandtechnologies,suchasthetransportprotocolsandhelperutilitiescouldenablethesystemtoperformbetterormorereliablyincommonsituations.70

PAGE 79

References[1]ActivMediaRobotics.Ariareferencemanual.Technicalreport,2001.[2]RonaldC.Arkin.Behavior-BasedRobotics.TheMITPress,May1998.[3]RonaldC.Arkin,E.M.Riseman,andA.Hansen.AuRA:Anarchitectureforvision-basedrobotnavi-gation.InProceedingsoftheDARPAImageUnderstandingWorkshop,pages413417,1987.[4]KenArnold,BryanO'Sullivan,RobertW.Scheier,JimWaldo,AnnWollrath,andBryanO'Sullivan.TheJiniSpecication.Addison-WesleyPubCo,1999.[5]LenBass,PaulClements,andRickKazman.SoftwareArchitectureinPractice.AddisonWesleyProfessional,2ndedition,2003.[6]BBNTechnologies.Cougaararchitecturedocument.Technicalreport,http://www.cougaar.org/,March2004.[7]PhilipA.Bernstein.Middleware:amodelfordistributedsystemservices.CommunicationsoftheACM,1996.[8]MichaelP.Bienvenu,InsubShin,andAlexanderH.Levis.C4ISRarchitectures:III.anobject-orientedapproachforarchitecturedesign.SystemsEngineering,3:288312,2000.[9]R.PeterBonasso,JamesFirby,ErannGat,DavidKortenkamp,DavidP.Miller,andMarcG.Slack.Experienceswithanarchitectureforintelligent,reactiveagents.JournalofExperimental&TheoreticalArticialIntelligence,1997.[10]J.Bradshaw,A.Uszok,R.Jeffers,N.Suri,P.Hayes,M.Burstein,A.Acquisti,B.Benyo,M.Breedy,M.Carvalho,D.Diller,M.Johnson,S.Kulkarni,J.Lott,M.Sierhuis,andR.VanHoof.Representationandreasoningfordaml-basedpolicyanddomainservicesinkaosandnomads.InProceedingsoftheAutonomousAgentswithMulti-AgentSystemsConference,2003.[11]J.M.Bradshaw,N.Suri,A.J.Canas,R.Davis,K.Ford,R.Hoffman,R.Jeffers,andT.Reichherzer.Terraformingcyberspace.Computer,34:4858,2001.[12]JeffreyM.Bradshaw,editor.SoftwareAgents.TheMITPress,1997.[13]JeffreyM.Bradshaw,StewartDuteld,PeteBenoit,andJohnD.Wooley.KAoS:TowardanIndustrial-StrengthOpenAgentArchitecture,chapter17,pages375418.AAAIPress/TheMITPress,1997.[14]CynthiaL.Breazeal.DesigningSociableRobots.TheMITPress,2002.[15]MarshallBrinnandMarkGreaves.Leveragingagentpropertiestoassuresuvivabilityofdistributedmultiagentsystems.InProceedingsoftheSecondInternationalConferenceonAutonomousAgentsandMultiagentSystems,2003.[16]RodneyA.Brooks.Arobustlayeredcontrolsystemforamobilerobot.IEEEJournalofRoboticsandAutomationnowIEEETransactionsonRoboticsandAutomation,1986.71

PAGE 80

[17]D.BrugaliandM.E.Fayad.Distributedcomputinginroboticsandautomation.IEEETransactionsonRoboticsandAutomation,18:409420,August2002.[18]JenniferL.Burke,RobinR.Murphy,MichaelD.Coovert,andDawnL.Riddle.Moonlightinmiami:Aeldstudyofhuman-robotinteractioninthecontextofanurbansearchandrescuedisasterresponsetrainingexercise.Human-ComputerInteraction,specialissueonHuman-RobotInteraction,192,2004.[19]JenniferCarlson,RobinMurphy,andAndrewNelson.Follow-upanalysisofmobilerobotfailures.InProceedingsofthe2004InternationalConferenceonRoboticsandAutomationICRA,2004.[20]JennCasper.Human-robotinteractionsduringtherobot-assistedurbansearchandrescueresponseattheworldtradecenter.Master'sthesis,UniversityofSouthFlorida,2002.[21]LirenChenandKatiaSycara.Webmate:Apersonalagentforbrowsingandsearching.InProceedingsofthe2ndInternationalConferenceonAutonomousAgentsandMultiAgentSystems,AGENTS'98,pages132139,May1998.[22]DARPA.Thedefenseadvancedresearchprojectsagency::Ultralogprogram.Technicalreport,http://www.ultralog.net/,2004.[23]A.Gage,R.Murphy,E.Rasmussen,andB.Minten.Shadowbowl2003:Lessonslearnedfromareach-backexercisewithrescuerobots.IEEERoboticsandAutomationMagazine,September2004.[24]A.GageandR.R.Murphy.Affectiverecruitmentofdistributedheterogeneousagents.IntoappearinNineteenthNationalConferenceonArticialIntelligenceAAAI-04,2004.[25]BrianP.Gerkey,RichardT.Vaughan,KasperSty,AndrewHoward,GauravS.Sukhatme,andMajaJ.Mataric.Mostvaluableplayer:Arobotdeviceserverfordistributedcontrol.InProceedingsoftheIEEE/RSJInternationalConferenceonIntelligentRobotsandSystems,pages12261231,2001.[26]GlobalInfoTek,Inc.Controlofagent-basedsystemsCoABS.Technicalreport,http://coabs.globalinfotek.com/,2004.[27]DaniGoldberg,VincentCicirello,MBernardineDias,ReidSimmons,StephenSmith,TreySmith,andAnthonyTonyStentz.Adistributedlayeredarchitectureformobilerobotcoordination:Applicationtospaceexploration.InProceedingsofthe3rdInternationalNASAWorkshoponPlanningandSchedulingforSpace,2002.[28]DirkGorissen.H2Ometacomputing-jinilookupanddiscovery.Master'sthesis,UniversityofAntwerpUA,July2004.[29]C4ISRArchitectureWorkingGroup.C4ISRarchitectureframeworkversion2.0.Technicalreport,DepartmentofDefense,1997.[30]BonnieS.Heck,LindaM.Wills,andGeorgeJ.Vachtsevanos.Softwareenabledcontrol:Backgroundandmotivation.InProceedingsoftheAmericanControlConference,2001.[31]BonnieS.Heck,LindaM.Wills,andGeorgeJ.Vachtsevanos.Softwaretechnologyforimplementingreusable,distributedcontrolsystems.IEEEControlSystemsMagazine,pages21,February2003.[32]AaronHelsinger,RichardLazarus,WilliamWright,andJohnZinky.Toolsandtechniquesforperfor-mancemeasurementoflargedistributedmultiagentsystems.InProceedingsoftheSecondInternationalConferenceonAutonomousAgentsandMultiagentSystems,2003.[33]iRobotCorporation.ATRV-Jrall-terrainmobilerobotuser'sguide.Technicalreport,2001.[34]C.G.Jung.Therelationsbetweentheegoandtheunconscious,1928.72

PAGE 81

[35]MarthaL.KahnandCynthiaDellaTorreCicalese.TheCoABSgrid.Technicalreport,2002.[36]MarthaL.KahnandCynthiaDellaTorreCicalese.CoABSgridscalabilityexperiments.AutonomousAgentsandMulti-AgentSystems,7:171,2003.[37]S.IlangoKumaran.JiniTechnology:AnOverview.PrenticeHall,2002.[38]T.Lenox,S.Hahn,M.Lewis,T.Payne,andK.Sycara.Taskcharacteristicsandintelligentaiding.InProceedingsofthe2000IEEEInternationalConferenceonSystems,Man,andCybernetics,2000.[39]AlexanderH.LevisandLeeW.Wagenhals.C4ISRarchitectures:I.developingaprocessforC4ISRarchitecturedesign.SystemsEngineering,3:225247,42000.[40]SingLi.ProfessionalJini.WroxPress,Ltd.,2000.[41]M.T.Long,R.R.Murphy,andL.E.Parker.Distributedmulti-agentdiagnosisandrecoveryfromsensorfailures.InIEEE/RSJInternationalConferenceonIntelligentRobotsandSystems,2003.[42]AmolDattatrayaMali.Onthebehavior-basedarchitecturesofautonomousagency.IEEEtransactionsonSystems,ManandCybernetics,PartC:ApplicationsandReviews,32:231242,August2002.[43]MajaMataric.Minimizingcomplexityincontrollingamobilerobotpopulation.InProceedingsoftheIEEEConferenceonRoboticsandAutomation,1992.[44]MajaJ.Mataric,GauravS.Sukhatme,andEsbenstergaard.Multi-robottaskallocationinuncertainenvironments.AutonomousRobots,14:255,2003.[45]MarkMicire.Analysisoftherobotic-assistedseachandrescueresponsetotheworldtradecenterdisaster.Master'sthesis,UniversityofSouthFlorida,2002.[46]RobinR.Murphy.IntroductiontoAIRobotics.TheMITPress,2000.[47]RobinR.MurphyandRonaldC.Arkin.Sfx:Anarchitectureforaction-orientedsensorfusion.InIEEE/RSJInternationalConferenceonIntelligentRobotsandSystemsIROS,volume2,pages10791086,July1992.[48]RobinRobersonMurphy.AnArchitectureForIntelligentRoboticSensorFusion.PhDthesis,GeorgiaInstituteofTechnology,June1992.[49]A.L.Nelson,L.Doitsidis,M.T.Long,K.P.Valavanis,andR.R.Murphy.IncorporationofMATLABintoadistributedbehavioralroboticsarchitecture.IntoappearinProceedingsoftheIEEE/RSJConferenceonIntelligentRobotsandSystemsIROS-2004,2004.[50]L.Parker.Alliance:Anarchitectureforfault-tolerantmulti-robotcooperation.IEEETransactionsonRoboticsandAutomation,14:220,1998.[51]L.E.Parker.DistributedAutomousRoboticSystems4,chapter1,pages3.Springer-VerlagTokyo,2000.[52]L.E.Parker,G.Bekey,andJ.Barhen,editors.DistributedAutomousRoboticSystems4.Springer-VerlagTokyo,2000.[53]LynneE.Parker.Personalcommunication,2004.[54]JamesL.Paunicka,DavidE.Corman,andBrianR.Mendel.ACORBA-basedmiddlewaresolutionforUAVs.Technicalreport,2001.[55]RosalindW.Picard.AffectiveComputing.TheMITPress,1997.73

PAGE 82

[56]DanielP.SchrageandGeorgeVachtsevanos.Software-enabledcontrolforintelligentUAVs.InPro-ceedingsofthe1999IEEEInternationalSymposiumonComputerAidedControlSystemDesign,1999.[57]ReidSimmons,DavidApfelbaum,WolframBurgard,DieterFox,MarkMoors,SebastianThrun,andHakanYounes.Coordinationformulti-robotexplorationandmapping.InProceedingsNationalCon-ferenceonArticialIntelligence,2000.[58]ReidSimmons,TreySmith,MBernardineDias,DaniGoldberg,DavidHershberger,AnthonyTonyStentz,andRobertMichaelZlot.Alayeredarchitectureforcoordinationofmobilerobots.InMulti-RobotSystems:FromSwarmstoIntelligentAutomata,Proceedingsfromthe2002NRLWorkshoponMulti-RobotSystems.KluwerAcademicPublishers,May2002.[59]BjarneStroustrup.TheDesignandEvolutionofC++.Addison-WesleyPublishingCompany,1994.[60]SUNMicrosystems.J2SEplatformoverview.Technicalreport,http://java.sun.com/j2se/overview.html.[61]AndrewS.Tanenbaum.DistributedOperatingSystems.PrenticeHall,1995.[62]TheIntelligentSoftwareAgentsLab.Retsina.Technicalreport,http://www-2.cs.cmu.edu/softagents/retsina.html,2004.[63]MaksimTsvetovat,KatiaSycara,Y.Chen,andJ.Ying.Customercoalitionsintheelectronicmarket-place.InAgents2000Conference,2000.[64]KurtVanmechelen.Aperformanceandfeature-drivencomparisonofjiniandJXTAframeworks.Mas-ter'sthesis,UniversityofAntwerpUA,2003.[65]RichardT.Vaughan,BrianGerkey,andAndrewHoward.Ondeviceabstractionsforportable,resuablerobotcode.InProceedingsoftheIEEE/RSJInternationalConferenceonIntelligentRobotSystems,pages2121,October2003.[66]LeeW.Wagenhals,InsubShin,DaesikKim,andAlexanderH.Levis.C4ISRarchitectures:II.astruc-turedanalysisapproachforarchitecturedesign.SystemsEngineering,34:248287,42000.[67]JimWaldo,GeoffWyant,AnnWollrath,andSamKendall.Anoteondistributedcomputing.Technicalreport,SunMicrosystems,http://research.sun.com/techrep/1994/smli_tr-94-29.pdf,1994.[68]BarryBrianWerger.DistributedAutomousRoboticSystems4,chapter2,pages2534.Springer-VerlagTokyo,2000.[69]BarryBrianWergerandMajaMataric.Frominsecttointernet:Situatedcontrolformulti-robotteams.AnnalsofMathematicsandArticialIntelligence,2000.[70]L.Wills,S.Kannan,B.Heck,G.Vachtsevanos,C.Restrepo,S.Sander,D.Schrage,andJ.V.R.Prasad.Anopensoftwareinfrastructureforrecongurablecontrolsystems.InProceedingsofthe2000Ameri-canControlConference,pages2799,2000.[71]EvanWoo,BruceA.MacDonald,andFelixTrepanier.Distributedmobilerobotapplicationinfrastruc-ture.InInternationalConferenceonIntelligentRobotsandSystemsIROS,pages1475,LasVegas,October2003.[72]MichaelWooldridge.MultiagentSystems:AModernApproachtoDistributedArticialIntelligence,chapter1,pages2877.TheMITPress,1999.[73]BrianC.Zimmel,MatthewT.Long,JenniferCarlson,andRobinR.Murphy.Distributederrorhandlingandhri.InProceedingsofthe2004InternationalConferenceonRoboticsandAutomationICRA,2004.74