Tải bản đầy đủ (.pdf) (774 trang)

Robot operating system (ROS) the complete reference (volume 3) ( TQL )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (31.19 MB, 774 trang )


Volume778
StudiesinComputationalIntelligence
SeriesEditor
JanuszKacprzyk
PolishAcademyofSciences,Warsaw,Poland

Theseries“StudiesinComputationalIntelligence”(SCI)publishesnew
developmentsandadvancesinthevariousareasofcomputationalintelligence—
quicklyandwithahighquality.Theintentistocoverthetheory,applications,
anddesignmethodsofcomputationalintelligence,asembeddedinthefieldsof
engineering,computerscience,physicsandlifesciences,aswellasthe
methodologiesbehindthem.Theseriescontainsmonographs,lecturenotesand
editedvolumesincomputationalintelligencespanningtheareasofneural
networks,connectionistsystems,geneticalgorithms,evolutionarycomputation,
artificialintelligence,cellularautomata,self-organizingsystems,softcomputing,
fuzzysystems,andhybridintelligentsystems.Ofparticularvaluetoboththe
contributorsandthereadershiparetheshortpublicationtimeframeandthe
worldwidedistribution,whichenablebothwideandrapiddisseminationof
researchoutput.
Moreinformationaboutthisseriesat />

EditorAnisKoubaa
RobotOperatingSystem(ROS)TheCompleteReference(Volume3)


Editor
AnisKoubaa
CollegeofComputerScienceandInformationSystems,PrinceSultan
University,Riyadh,SaudiArabia
CISTERResearchUnit,Porto,Portugal


GaitechRobotics,Shanghai,Beijing,China

ISSN1860-949X e-ISSN1860-9503
StudiesinComputationalIntelligenceISBN978-3-319-91589-0
3-319-91590-6
/>
e-ISBN978-

LibraryofCongressControlNumber:2018940893
©SpringerInternationalPublishingAG,partofSpringerNature2019
Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,
whetherthewholeorpartofthematerialisconcerned,specificallytherightsof
translation,reprinting,reuseofillustrations,recitation,broadcasting,
reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionor
informationstorageandretrieval,electronicadaptation,computersoftware,or
bysimilarordissimilarmethodologynowknownorhereafterdeveloped.
Theuseofgeneraldescriptivenames,registerednames,trademarks,service
marks,etc.inthispublicationdoesnotimply,evenintheabsenceofaspecific
statement,thatsuchnamesareexemptfromtherelevantprotectivelawsand
regulationsandthereforefreeforgeneraluse.
Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceand
informationinthisbookarebelievedtobetrueandaccurateatthedateof
publication.Neitherthepublishernortheauthorsortheeditorsgiveawarranty,
expressorimplied,withrespecttothematerialcontainedhereinorforanyerrors
oromissionsthatmayhavebeenmade.Thepublisherremainsneutralwith
regardtojurisdictionalclaimsinpublishedmapsandinstitutionalaffiliations.


ThisSpringerimprintispublishedbytheregisteredcompanySpringer
InternationalPublishingAGpartofSpringerNatureTheregisteredcompany

addressis:Gewerbestrasse11,6330Cham,Switzerland


AcknowledgementstoReviewers
TheEditorwouldliketothankthefollowing
reviewersfortheirgreatcontributionsinthereview
processofthebookbyprovidingaqualityfeedbackto
authors.
ReviewersAnisKoubâa,PrinceSultanUniversity,
SaudiArabia/CISTERResearchUnit,Portugal
AbdullaAl-Kaff,UniversidadCarlosIIIdeMadrid
DavidPortugal,Ingeniarius,Ltd.
MaramAlajlan,KingSaudUniversity
JoaoFabro,UTFPR-FederalUniversityof
Technology-ParanaValerioDeCarolis,Heriot-Watt
UniversityRicardoJulio,UNIFEI
AndreOliveira,UTFPR
JuanJesúsRoldánGómez,Universidad
PolitécnicadeMadridKostasAlexis,Universityof
Nevada,RenoChristophRösmann,Instituteof
ControlTheoryandSystemsEngineering,TU
DortmundUniversityGuilhermeSousaBastos,
UNIFEI
WalterFetterLages,UniversidadeFederaldoRio
GrandedoSulLennartKryza,TUBerlin
VladimirIvan,TheUniversityofEdinburghElena
Peña-Tapia,UniversidadPolitécnicadeMadridL.V.
R.Arruda,UTFPR
MichaelHutchinson,LoughboroughUniversity
MaximilianKrämer,TechnischeUniversität



MaximilianKrämer,TechnischeUniversität
DortmundGonçaloMartins,UniversityofCoimbra
ViswanathBellam,RoboticsResearchIndustryAli
BinWahid,ShanghaiGentechScientificInstruments
PauloDrewsJr.,FURG
FranzAlbers,TUDortmund
ChristosPapachristos,UNR
JoãoSantos,FARO
MoritzLuetkemoeller,TUDortmund
ChristosPapachristos,UNR
AlvaroCantieri,IFPR

Acknowledgments
TheEditorwouldliketothanktheRoboticsand
InternetofThings(RIoT)LaboftheCollegeof
ComputerandInformationSciencesofPrinceSultan
Universityfortheirsupporttothiswork.
Furthermore,theEditorthanksGaitechRobotics
inChinafortheirsupport.


Contents
PartIMulti-robotSystems
AROS-BasedFrameworkforSimulationandBenchmarkingofMulti-robot
PatrollingAlgorithms
DavidPortugal,LucaIocchiandAlessandroFarinelli
Multi-robotSystems,VirtualRealityandROS:DevelopingaNew
GenerationofOperatorInterfaces

JuanJesúsRoldán,ElenaPeña-Tapia,DavidGarzón-Ramos,
JorgedeLeón,MarioGarzón,JaimedelCerroandAntonioBarrientos
PartIIUnmannedAerialSystems
AutonomousExplorationandInspectionPathPlanningforAerialRobots
UsingtheRobotOperatingSystem
ChristosPapachristos,MinaKamel,MarijaPopović,ShehryarKhattak,
AndreasBircher,HelenOleynikova,TungDang,FrankMascarich,
KostasAlexisandRolandSiegwart
AGenericROSBasedSystemforRapidDevelopmentandTestingof
AlgorithmsforAutonomousGroundandAerialVehicles
PawelLadosz,MatthewCoombes,JeanSmithandMichaelHutchinson
ROS-BasedApproachforUnmannedVehiclesinCivilApplications
AbdullaAl-Kaff,FranciscoMiguelMorenoandAhmedHussein
AQuadcopterandMobileRobotCooperativeTaskUsingVisualTags
BasedonAugmentedRealityROSPackage
AlvaroRogérioCantieri,RonnierF.Rohrich,AndréSchneiderdeOliveira,
MarcoAurélioWehrmeister,JoãoAlbertoFabro,MarlondeOliveiraVaz,
MagnusEduardoGoulartandGuilhermeHideki
PartIIINavigation,MotionPlanningandControl
EXOTica:AnExtensibleOptimizationToolsetforPrototypingand
BenchmarkingMotionPlanningandControl
VladimirIvan,YimingYang,WolfgangMerkt,MichaelP.Camilleriand


SethuVijayakumar
OnlineTrajectoryOptimizationandNavigationinDynamicEnvironments
inROS
FranzAlbers,ChristophRösmann,FrankHoffmannandTorstenBertram
ABacksteppingNon-smoothControllerforROS-BasedDifferential-Drive
MobileRobots

WalterFetterLages
UniversityRoverChallenge:TutorialsandTeamSurvey
DanielSnider,MatthewMirvish,MichalBarcisandVatanAksoyTezer
PartIVContributedROSPackages
SROS1:UsingandDevelopingSecureROS1Systems
RuffinWhite,GianlucaCaiazza,HenrikChristensenandAgostinoCortesi
GPUandROStheUseofGeneralParallelProcessingArchitecturefor
RobotPerception
NicolasDalmedico,MarcoAntônioSimõesTeixeira,
HigorSantosBarbosa,AndréSchneiderdeOliveira,LuciaValeriaRamos
deArrudaandFlavioNevesJr
ConnectingROSandFIWARE:ConceptsandTutorial
RaffaeleLimosani,AlessandroManzi,LauraFiorini,PaoloDarioand
FilippoCavallo
EnablingReal-TimeProcessingforROS2EmbeddedSystems
LucasdaSilvaMedeiros,RicardoEmersonJulio,
RodrigoMaximianoAntunesdeAlmeidaandGuilhermeSousaBastos
PartVInterfacesforInteractionwithRobots
bum_ros:DistributedUserModellingforSocialRobotsUsingROS
GonçaloS.Martins,LuísSantosandJorgeDias
ROSRemote:UsingROSonCloudtoAccessRobotsRemotely
AlysonBenoniMatiasPereira,RicardoEmersonJulioand
GuilhermeSousaBastos



PartI
Multi-robotSystems



©SpringerInternationalPublishingAG,partofSpringerNature2019
AnisKoubaa(ed.),RobotOperatingSystem(ROS),StudiesinComputationalIntelligence778,
/>
AROS-BasedFrameworkforSimulation
andBenchmarkingofMultirobotPatrolling
Algorithms
DavidPortugal1 ,LucaIocchi2 and
AlessandroFarinelli3
(1) Ingeniarius,Ltd,R.CoronelVeigaSimão,EdifícioCTCV,3°Piso,3025307Coimbra,Portugal
(2) TheDepartmentofComputer,Control,andManagementEngineering,
SapienzaUniversityofRome,ViaAriosto25,Rome,00185,Italy
(3) TheDepartmentofComputerScience,UniversityofVerona,StradaLe
Grazie15,Ca’Vignal2,Verona,Italy


DavidPortugal(Correspondingauthor)Email:
LucaIocchiEmail:
AlessandroFarinelliEmail:
Abstract
Experimentswithteamsofmobilerobotsinthephysicalworldoftenrepresenta
challengingtaskduetothecomplexityinvolved.Onehastomakesurethatthe
robothardwareconfiguration,thesoftwareintegrationandtheinteractionwith
theenvironmentisthoroughlytestedsothatthedeploymentofrobotteamsruns
smoothly.Thisusuallyrequireslongpreparationtimeforexperimentsandtakes
thefocusawayfromwhatisessential,i.e.thecooperativetaskperformedbythe
robots.Inthiswork,wepresentpatrolling_sim,aROS-basedframeworkfor
simulationandbenchmarkingofmultirobotpatrollingalgorithms.Makinguseof


Stage,amultirobotsimulator,weprovidetoolsforrunning,comparing,

analyzingandintegratingnewalgorithmsformultirobotpatrolling.Withthis
framework,roboticistscanprimarilyfocusonthespecificchallengeswithin
roboticcollaborativemissions,runexhaustivetestsindifferentscenariosand
withdifferentteamsizesinafairlyrealisticenvironment,andultimatelyexecute
quickerexperimentsintherealworldbymimickingthesettingupofsimulated
experiments.
Keywords Multirobotsystems–Multirobotpatrol–Simulation–
Benchmarking–ROSpackage
DavidPortugal completedhisPh.D.degreeon
RoboticsandMultiAgentSystemsattheUniversity
ofCoimbrainPortugal,inMarch2014.Hismain
areasofexpertisearecooperativerobotics,
multiagentsystems,simultaneouslocalizationand
mapping,fieldrobotics,human-robotinteraction,
sensorfusion,metaheuristics,andgraphtheory.He
iscurrentlyworkingasaSeniorResearcherat
IngeniariusLtd.(Portugal),wherehehasbeen
involvedintheSTOPR&Dtechnologytransfer
projectonmultirobotpatrolling.Hehasbeen
involvedinseverallocalandEU-fundedresearch
projectsinRoboticsandAmbientAssistedLiving,
suchasCHOPIN,TIRAMISU,Social-Robot,CogniWinandGrowMeUp.He
hasco-authoredover55researcharticlesincludedininternationaljournals,
conferencesandscientificbooks.


LucaIocchi isanAssociateProfessoratSapienzaUniversityofRome,Italy.
Hisresearchactivityisfocusedonmethodological,theoreticalandpractical
aspectsofartificialintelligence,withapplicationsrelatedtocognitivemobile
robotsandcomputervisionsystemsoperatinginrealenvironments.Hismain

researchinterestsincludecognitiverobotics,actionplanning,multirobot
coordination,robotperception,robotlearning,sensordatafusion.Heisthe
authorofmorethan150referredpapersinjournalsandconferencesinartificial
intelligenceandrobotics,memberoftheprogramcommitteeofseveralrelated
conferences,guesteditorforjournalspecialissuesandreviewerformany


journalsinthefield.Hehascoordinatednationaland
internationalprojectsand,inparticular,hehas
supervisedthedevelopmentof(teamsof)mobile
robotsandvisionsystemswithcognitivecapabilities
forapplicationsindynamicenvironments,suchas
RoboCupsoccer,RoboCuprescue,
RoboCup@Home,multirobotsurveillance,and
automaticvideo-surveillance.


AlessandroFarinelli isanAssociateProfessorat
UniversityofVerona,DepartmentofComputer
Science,sinceDecember2014.Hisresearchinterests
comprisetheoreticalandpracticalissuesrelatedto
thedevelopmentofArtificialIntelligentSystems
appliedtorobotics.Inparticular,hefocuseson
coordination,decentralisedoptimisationand
informationintegrationforMultiAgentand
MultiRobotsystems,controlandevaluationof
autonomousmobilerobots.Hewastheprincipal
investigatorforseveralnationalandinternational
researchprojectsinthebroadareaofArtificial
Intelligenceforroboticsystems.Heco-authored

morethan80peer-reviewedscientificcontributionsintopinternationaljournals
(suchAIJandJAAMAS)andconferences(suchasIJCAI,AAMAS,andAAAI).


1 Introduction
ThefieldofRoboticshaswitnessedsignificantadvancesrecently,andthe
generalizeduseofacommonmiddlewareforroboticapplications,theRobot
OperatingSystem(ROS)[1],hascontributedtothisphenomenon.Nowadays,


researchersdonotreinventthewheelwhendevelopingroboticapplications,
sincetheyoftenbenefitandbuilduponthecommunitycontributions
(algorithms,tools,drivers,etc.)infundamentaltaskssuchasinterfacingwith
sensors,debugging,localization,etc.Thisalsoledroboticiststoincreasingly
maketheircodeavailableasopensource,allowingthecommunitytoimprove
andleveragetheexistingfunctionality,thusfosteringinnovationinthefield.
Multirobotsystems(MRS)arearesearchareawithinRobotics,inwhicha
setofrobotsoperateinasharedenvironmentinordertoaccomplishagiven
task.TheapplicationsofMRSarevastandhavebeendocumentedpreviouslyin
theliterature[2].Infact,whentheyareefficientlydeployed,MRShaveseveral
advantagesoversinglerobotsolutions,suchas:distributedcontrol,increased
autonomy,abilitytocommunicate,greaterfault-tolerance,redundancy,
assistancebyteammateswhenneeded,spacedistribution,performingdifferent
tasksinparallel,andquickermissionaccomplishment[3].Ingeneral,MRShave
thepotentialtoincreasetherobustnessandreliabilityoftheroboticsolution,
remainingfunctionalwithsomedegreeofperformancedegradationincasea
memberofteamfails.However,oneofthemainchallengesinsuchsystemsisto
coordinatemultiplerobotssoastoexecutecollectivecomplextasksefficiently,
whilemaximizinggroupperformanceunderavarietyofconditionsand
optimizingtheavailableresources.Thus,acoordinationmechanismisnecessary

toselectactions,solveconflicts,andestablishrelationshipsbetweenrobotsso
theycaneffectivelyfulfillthemission[4].
Inthiswork,wepresentaROS-basedframeworkforsimulationand
benchmarkingofMRS.Inparticular,wefocusonmultirobotpatrolling(MRP)
asacasestudy.InMRP,asetofmobilerobotsshouldcoordinatetheir
movementssoastopatrolanenvironment.Thisisawidelystudiedand
challengingproblemforMRScoordinationwithawiderangeofpractical
applicationscenarios(seeSect.2).
Inmoredetail,bymakinguseofStage[5],ascalableandfairlyrealistic
multirobotsimulator,weprovidetoolsforrunning,comparing,analyzingand
integratingnewalgorithmsforthecoordinationofmultiplerobotsperforming
patrollingmissions.Ourmaingoalistoreliefresearchersfromtheeffortof
settingupcomplexMRSexperiments,shiftingthefocustothecoordination
mechanismbetweenrobots,enablingexhaustivetestsindifferentscenariosand
withdifferentteamsizes,andbridgingthegapbetweensimulationsandreal
worldexperiments.
Inthenextsection,weprovidethemotivationandbackgroundbehindthis
work,andinSect.3,theproposedframeworkforMRPsimulationand
benchmarkingnamedpatrolling_simisdescribedindetail.InSect.4,wediscuss


challenges,benefitsofusingtheframeworkandlessonslearned,andfinallythe
chapterendswithconclusionsandfuturework.

2 Background
Multirobotsystemsandrelatedsubjects,suchasdesign[6],communication[7],
andpathfinding[8]gainedincreasedattentionduringthe80s.Still,earlywork
oninspectionrobots[9],navigationofpatrolrobots[10],androbotsecurity
guards[11]focusedexclusivelyonsinglerobotsolutions.Intheendofthe80s
andbeginningofthe90s,thefirstphysicalmultirobotsystemshavebeen

documentedinpioneeringresearchworkswithsmallpopulationsofrobotsby
researchersfromJapanandtheUSA[12–15].Duringthe90s,asignificantboost
inworkonMRShasbeennoticeable,withagrowinginvolvementofEuropean
researchers.Inthisdecade,roboticscompetitions,especiallyRoboCup[16]
playedanimportantroletofosterMRSresearch.
Patrolisgenerallydefinedas“theactivityofgoingaroundorthroughanarea
atregularintervalsforsecuritypurposes”[17].ForMRS,thisisasomehow
complexmission,requiringanarbitrarynumberofmobilerobotstocoordinate
theirdecision-makingwiththeultimategoalofachievingoptimalgroup
performancebyvisitingallpointintheenvironment,whichrequiresurveillance.
Italsoaimsatmonitoring,protectingandsupervisingenvironments,obtaining
information,searchingforobjectsanddetectinganomaliesinordertoguardthe
groundsfromintrusion.Hence,awiderangeofapplicationsarepossible,as
exemplifiedinTable1.
Table1 Examplesofapplicationsofmultirobotpatrol
Areaofapplication

Example

Rescueoperations

Monitoringtrappedorunconscious

Militaryoperations

Mineclearing

Surveillanceandsecurity

Clearingabuilding


Supervisionofhazardousenvironments Patrollingtoxicenvironments
Safety

Preventivepatrolforgasleakdetection

Environmentalmonitoring

Sensinghumidityandtemperaturelevelsinsideafacility

Planetaryexploration

Collectingsamples

Cooperativecleaning

Householdvacuumandpoolcleaning

Areaswithrestrictedaccess

Sewerageinspection

Vehiclerouting

Transportationofelderlypeople

Industrialplants

Stockstorage


Computersystems

War-gamesimulations


Computersystems

War-gamesimulations

Employingteamsofrobotsforactivesurveillancetaskshasseveral
advantagesover,forinstance,acamera-basedpassivesurveillancesystem[18].
Robotsaremobileandhavetheabilitytotravelinthefield,collect
environmentalsamples,actortriggerremotealarmsystemsandinspectplaces
thatcanbehardforstaticcamerastocapture.Thesecapabilitiesarehighly
beneficialtosafeguardhumanlivesandprovideagreatamountofflexibilityto
thedeployedsystem[19].
Earlyworkonapplicationsusingteamsofmobilerobotsinsurveillance
contextsaddressedessentiallycooperativesweeping,coverage,andmultirobot
coordination[20–24].TheMRPasweknowit,startedtoreceivemoreattention
followingthepioneerworkofMachadoetal.[25],wheretheenvironmentwas
abstractedusingatopologicalrepresentation,i.e.,apatrolgraph,which
connectedthekeypointsintheareathatneededregularvisitsbyagents.The
authorsproposedandcomparedseveralpatrollingarchitectures,usingdifferent
agentbehaviors,differentcommunicationassumptionsanddecision-making
methods.Criteriabasedontheaverageandmaximumidlenessofthevertices
wereproposedtoevaluatetheperformanceofeachtechniqueusingasimplistic
JAVA-basedpatrollingsimulator[26].However,conclusionsweresolelydrawn
ontwoscenarios,andunweightededgeswereused,meaningthatagentsalways
takethesametimetotravelfromonevertextoanother,independentlyofthe
distancebetweenthem.

Sincethen,severaldifferentMRPstrategieswithincreasinglylessrelaxed
assumptionshavebeenpresented,basedonawidevarietyofconcepts,suchas:
simplereactivearchitectures[27],gametheory[28–31],taskallocation[32,33],
market-basedcoordination[34–37],graphtheory[38–42],gaussianprocesses
theory[43,44],Markovdecisionprocesses[45,46],evolutionary
algorithms[47],artificialforces[48],reinforcementlearning[49,50],swarm
intelligence[51–53],linearprogrammingmodeling[54],bayesianheuristics[55,
56]andotherswithsub-optimalresults,leadingtoseveraldetaileddissertations
andthesisonthesubject[57–66].Lately,aneffortforrealworldvalidationof
MRPsystemshasbeenevident[67–70].


Fig.1 Apatrolgraphdisplayedontopofametricmaptobeusedinmultirobotpatrollingtasks.Theblue
dotsrepresenttheverticesofthegraphthatmustbevisited,whiletheredarcsrepresenttheedgesthat
connectpairsofvertices

ThereareslightvariationstotheMRP.Theidlenessconcept,i.e.thetime
thatapointintheenvironmentspendswithoutbeingvisitedbyanyrobot,has
beenbroadlyusedintheliteratureasabasicperformancemetric,whileother
authorsproposedalternativessuchasthefrequencyofvisitstoimportant
locations[71,72].Additionally,differentcoordinationmethodsfortheteamof
agentshavebeenstudied,suchascentralizeddeterministic[73]anddistributed
probabilisticmethods[74].
Importanttheoreticalcontributionsontheareapatrollingproblemhavealso
beenpresentedpreviously[75–79],andithasbeenshowedthatthemultirobot
patrollingproblemisNP-Hard,anditcanalsobesolvedoptimallyforthesingle
robotsituationbyfindingaTSPtourinthegraphthatdescribestheenvironment


topatrol(cf.Fig.1).

Inthispaper,weproposeapatrollingframeworkfocusingonintelligent
strategiesforcoordinationoftheteaminordertoeffectivelyvisitallthe
surveillancepointsthatneedvigilanceinsideatargetarea.Thus,wedonot
addressothervariantsofthetheproblem,likeborder/perimeterpatrol[80,81],
andadversarialpatrol[28,82].Buildingteamsofrobotshascosts,and
producingrobotsinlargequantitiesmaybeexpensive.Moreover,doing
experimentswithphysicalroboticteamsisalong-termeffort,whichrequiresan
integratedimplementation,anditlacksthepossibilitytoeasilyrepeatan
experimentwithdifferentapproaches.Thus,choosingauseful,flexible,scalable
andrealisticmultirobotsimulatorisakeytask[83].Simulationsarerepeatable,
fastertodeploy,andcanbefullyautomatic,enablingthecomparisonofdifferent
algorithmswithdifferentsetups(e.g.,robotstypes,fleetsizes,environments),
andsimulationtestbedsforMRSarenowadayscrucialtorapidlyreproduce
experiments[84].WhileROSandStageprovidethekeybuildingblocksto
developrealisticsimulationsofroboticssystems,thereisnoready-to-use
frameworkthatallowsresearcherstorunexperimentstestingandvalidating
multirobotcoordinationstrategies.
Againstthisbackgroundwepresentpatrolling_sim,1aROS-based
frameworkforsimulationandbenchmarkingofmultirobotpatrollingalgorithms,
whichhasbeendevelopedandusedbytheauthorsinpreviousworks[33,85].
Thepatrolling_simframeworkallowstorunexhaustivetestsindifferent
scenariosandwithdifferentteamsizesinfairlyrealisticenvironments,and
ultimatelytoexecutequickerexperimentsintherealworldbymimickingthe
settingupofsimulatedexperiments.Inthenextsection,wedescribesucha
frameworkinmoredetails.

3 PatrollingSimulationFramework
Workonthepatrolling_simbeganin2010withtheneedtocomparedistinct
multirobotpatrollingstrategies[86]usingasimulationenvironmentand
differentteamsizes.Atthetime,ROSCTurtle,thesecondofficialreleaseof

ROS,wasused,and5patrollingstrategieswereimplementedandintegrated:
ConscienciousReactive(CR)[25],HeuristicConscientiousReactive
(HCR)[57],HeuristicPathfinderConscientiousCognitive(HPCC)[57],Cyclic
AlgorithmforGenericGraphs(CGG)[38]andtheMultilevelSubgraph
Patrolling(MSP)Algorithm[38].Overtheyears,severalutilities,featuresand
algorithmswereprogressivelyadded,andtheframeworkhasbeenmigratedto


recentROSdistributions,beingcurrentlysupportedinROSKineticKame.
Figure2illustratesthemaincomponentsofpatrolling_sim.Inthenext
subsections,wetakeadeeperlookintothesecomponents:ROSandStage,and
weoverviewandhighlightsomeofthekeydesignchoicesandfeaturesavailable
inpatrolling_sim.

Fig.2 High-leveloverviewofthepatrollingsimulationframework

3.1 RobotOperatingSystem(ROS)
Despitetheexistenceofmanydifferentroboticframeworksthatweredeveloped
inthelastdecades,theRobotOperatingSystem(ROS)hasalreadybecomethe
mosttrendingandpopularroboticframework,beingusedworldwideduetoa
seriesoffeaturesthatitencompasses,andbeingtheclosestonetobecomethe
standardthattheroboticscommunityurgentlyneeded.Therequiredeffortto
developanyroboticapplicationcanbedaunting,asitmustcontainadeep
layeredstructure,startingfromdriver-levelsoftwareandcontinuingupthrough
perception,abstractreasoningandbeyond.Roboticsoftwarearchitecturesmust
alsosupportlarge-scalesoftwareintegrationefforts.Therefore,usually
roboticistsendupspendingexcessivetimewithengineeringsolutionsfortheir
particularhardwaresetup[87].Inthepast,manyroboticresearcherssolved
someofthoseissuesbypresentingawidevarietyofframeworkstomanage
complexityandfacilitaterapidprototypingofsoftwareforexperiments,thus

resultinginthemanyroboticsoftwaresystemscurrentlyusedinacademiaand
industry,likeYARP[88],Orocos[89],CARMEN[90]orMicrosoftRobotics
Studio[91],amongothers.Thoseframeworksweredesignedinresponseto


perceivedweaknessesofavailablemiddlewares,ortoplaceemphasisonaspects
whichwereseenasmostimportantinthedesignprocess.ROSistheproductof
trade-offsandprioritizationsmadeduringthisprocess[1].
ThemajorgoalsofROSarehardwareabstraction,low-leveldevicecontrol,
implementationofcommonly-usedfunctionalities,message-passingbetween
processesandpackagemanagement.ROSpromotescodereusewithdifferent
hardwarebyprovidingalargeamountoflibrariesavailableforthecommunity,
likelaser-based2DSLAM[92],3Dpointcloudbasedobjectrecognition[93],
amongothers,aswellastoolsfor3Dvisualization(rviz),recordingexperiments
andplayingbackdataoffline(rosbag),andmuchmore.
Regularupdatesandbroadcommunitysupportenabletheuserstoobtain,
build,write,testandrunROScode,evenacrossmultiplecomputers,givenits
abilitytorundistributedlyinmanyprocessors.Additionally,sinceitishighly
flexible,withasimpleandintuitivearchitecture,ROSallowsreusingcodefrom
numerousotheropen-sourceprojectssuchasseveralPlayerrobotdrivers,the
Stage2DandGazebo3Dsimulationenvironments,Orocos,mostlyforindustrial
robotsandmachinecontrol,visionalgorithmsfromtheOpenSourceComputer
Vision(OpenCV)library[94],etc.Asaresult,integratingrobotsandsensorsin
ROSishighlybeneficial.
Duetoitspeer-to-peer,modular,tools-based,freeandopen-sourcenature,
ROShelpssoftwaredevelopersincreatingroboticapplicationsinaquickand
easyway.TheseapplicationscanbeprogrammedinC++,Python,LISPorJava,
makingROSalanguage-independentframework.Furthermore,ROSplaces
virtuallyallcomplexityinlibraries,onlycreatingsmallexecutables,i.e.nodes,
whichexposelibraryfunctionalitiestoROS.Nodescommunicatebypublishing

orsubscribingtomessagesatagiventopic.Thetopicisamessagebus,typically
namedsothatitiseasytoidentifythecontentofthemessage.Hence,anodethat
requiresacertainkindofdata,subscribestotheappropriatetopic.Theremaybe
multipleconcurrentpublishersandsubscribersforasingletopic,andasingle
nodemaypublishand/orsubscribetomultipletopics.Theideaistodecouplethe
productionofinformationfromitsconsumption.
Beyondtheeasinessofusingtheavailabletools,ROSalsoprovidesseamless
integrationofnewsensorswithouttheneedforhardwareexpertise.Asaresult,
theoveralltimespentindevelopingsoftwareisgreatlyreducedduetocode
reuseandhardwareabstraction,whenusingavailableROSdriverstointerface
withthehardware(Fig.3).


Fig.3 ExampleofasimulationinStage.
Extractedfrom />
3.2 StageMultirobotSimulator
Thescalabilityofmultirobotsimulatorshasalwaysbeenaknownissue.3D
simulatorslikeGazebo[95],MORSE[96],andV-Rep[97]normallyfailtokeep
uptheframerateandthesimulatedversusrealtimeratiowithteamsoflow
numberofmobilerobots,suchas5or6,withadvancednavigationand
perceptioncapabilitiesinmoderndaycomputers.Clearly,inordertobeableto
simulateatleastadozenmobilerobotsundertheabovementionedconditions,a
morelightweightsimulatorisnecessary.Stage[98]isaC++softwarelibrary
designedtosupportresearchintomultiagentautonomoussystems.Stage
simulatesnotonlyapopulationofmobilerobots,butalsosensorsandobjectsin
atwo-dimensional(2D)bitmappedenvironment.Itisa2Ddynamicphysics
simulatorwithsomethree-dimensional(3D)extensions,thuscommonlybeing
describedasa2.5D(two-and-a-halfdimensional)simulator.Itsgraphical
interfaceisdesignedusingOpenGL,whichtakesadvantageofgraphics
processor(GPU)hardware,beingfast,easytouse,andhavingwideavailability.

Stagewasoriginallydevelopedasthesimulationback-endforthe
Player/Stagesystem[5].PlayerclientsdevelopedusingStageusuallyworkwith
littleornomodificationonrealrobotsandvice-versa.Thus,Stageallowsrapid
prototypingofcontrollersdestinedforrealrobots.Thisisapowerfulargument


tosupporttherealworldvalidityofStage-onlyexperimentsandamajor
advantageofusingawell-knownsimulator.Stagealsoallowsexperimentswith
realisticrobotdevicesthatonemaynothappentohave.Varioussensorsand
actuatormodelsareprovided,includingrange-finders(sonars,laserscanners,
infraredsensors),vision(colorblobdetection),3Ddepth-mapcamera,odometry
(withdrifterrormodel),anddifferentialsteerrobotbase.Stageisrelativelyeasy
touse,itisrealisticformanypurposes,yieldingausefulbalancebetween
fidelityandabstractionthatisdifferentfrommanyalternativesimulators.Itruns
onLinuxandotherUnix-likeplatforms,includingMacOSX,whichis
convenientformostroboticists,anditsupportsmultiplerobotssharingaworld.
Moreover,Stageisalsofreeandopen-source,hasanactivecommunityofusers
anddevelopersworldwide,andhasreachedawell-knownstatusofbeinga
robustsimulationplatform.
StageismadeavailableforROS,throughthestagerosnodefromthe
stage_rospackage,2whichwrapstheStagemultirobotsimulator.Usingstandard
ROStopics,stagerosprovidesodometrydatafromeachvirtualrobotandscans
fromthecorrespondinglasermodel.Additionally,aROSnodemayinteractwith
Stagebysendingvelocitycommandstodifferentiallydrivethevirtualrobot.

3.3 InstallationandInitializingExperiments
Atthetimeofwriting,thepatrollingsimulationframeworksupportsthelatest
ROSLong-TermSupport(LTS)release:ROSKineticKame.Assumingoneis
runningUbuntuLinuxOS,theinstallationstepsarequitesimpleasseenbelow:
1. InstallROSKineticKame,followingtheinstructionsat:.

org/kinetic/Installation/Ubuntu
2. Installneededdependencies,bytypingintheterminal:$sudoapt
installros-kinetic-move-baseros-kinetic-amcl
ros-kinetic-map-server
3. SetupyourROScatkinworkspace,bytypingintheterminal:$mkdir
-p catkin_wssrc$cd /catkin_ws$catkin_make$
sourcedevel/setup.bash
4. Addthefollowingtwolinestoyourbashconfigurationfile(at







home$USER/.bashrc):source
catkin_wsdevel/setup.bashexportROS_WORKSPACE=
/catkin_ws
5. Downloadandcompilepatrolling_sim:$roscd;cdsrc$git
clone />$roscd;catkin_make



Aftersuccessfullydownloadingandcompilingthepatrolling_simframework,
onecaneasilyinitiateandconfiguremultirobotpatrollingexperimentsby
runningthestart_experiment.pyscriptasseeninFig.4:$rosrun
patrolling_simstart_experiment.pyThescripttriggersauser
configurationinterfacethathasbeenimplementedusingtheTkInterGUI
ProgrammingtoolkitforPython[99].Thisenableseasyconfigurationof
simulatedpatrollingmissionsusingROSandStage.Namely,theconfiguration

interfaceallowsuserstochoosebetweendifferentenvironmentmaps,robotteam
sizes,patrollingalgorithms,localizationmodes,navigationmodes,waitingtimes
whenreachingpatrollinggoals,andevendifferenttypesofterminals.Duetothe
expandabilityandflexibilityofthepatrollingframework,theusercaneasilyadd
additionalmaps,andpatrollingalgorithmsbeyondthosereferredinSect.3.


Fig.4 Userconfigurationinterface

Currently,twolocalizationmodesaresupported:AdaptiveMonteCarlo
Localization(AMCL)andfakelocalization.AMCLisaprobabilisticglobal
localizationalgorithm[100],whichusesaparticlefiltertotracktheposeofa
robot,byfusinglaserscanmatchingwithasourceofodometryinorderto
providetheestimateoftherobot’sposewithrespecttoaknownmapreference
frame.Fakelocalizationisamuchmorelightweightlocalizationnodefor
simulationsthatprovidesthesameinterfacetotherobotsasAMCL,andsimply
forwardsperfectlocalizationinformationreportedbytheStagesimulatorwith
negligiblecomputationcost.
Furthermore,therobotsleveragefromautonomousnavigationbyfollowing
twopossibleapproaches:ROSnavigationorspqrel_navigation.Ononehand,
ROSnavigation[101]isavailableoutoftheboxinROSviathenavigation
metapackage.Thisway,givenanyphysicallyreachablegoal,therobotshouldbe
abletoautonomouslynavigatetothatgoal,avoidingcollisionswithobstacleson
thewaybyfollowingaseriesofsteps.Thenavigationsystematthehighlevelis
fairlysimple:ittakesinanavigationgoal,datafromsensors,andlocalization
information,andoutputsvelocitycommandsthataresenttothemobilerobot


×