SHINERBOTS:AROBOTICSWARMNAVIGATIONPLATFORMINSPIREDBYTHEGOLDENSHINERFISH
BY
ENYULUO
THESIS
SubmittedinpartialfulfillmentoftherequirementsforthedegreeofMasterofScienceinElectricalandComputerEngineering
intheGraduateCollegeoftheUniversityofIllinoisatUrbana-Champaign,2017
Urbana,Illinois
Adviser:
AssistantProfessorGraceXingxinGao
ii
Abstract
Thisthesisdescribesaswarmrobotsnavigationalgorithminspiredbythegoldenshinerfish.Thegoalof
thisalgorithmistohavetheswarmofrobotsnavigatetotheirdestinationwithminimalrequirements
oneachrobot.Thereislittlesensingcomplexityrequired.Eachrobotonlyneedstosenseinformationat
itscurrentlocationwithouttheneedtounderstandthewholeenvironment.Inaddition,itonlyneedsto
senseitsneighborsinalimitedradius.Furthermore,eachrobotrequiresminimalcomputationasit
operatesonbasicrulesonwhatitsenses,insteadofperforminglocalizationandpathplanninglike
traditionalrobotics.
Thealgorithmproposedinthisthesisisbasedonsimplerulessuchasmodulatingspeedaccordingtothe
environment,aswellasstayingclosetoneighboringrobots.Simulationresultsshowthattheswarmof
robotsconvergetothedesiredregionwiththisalgorithm.
Aswarmroboticplatformwasdesignedandbuilttoexperimentwiththisalgorithm.Itisnamed
Shinerbotsduetotheinspirationtakenfromthegoldenshiners.Eachrobotis40.6mmindiameter,
actuatedbyvibration,sensesambientlightusingaphotodiode,andsensesneighborsusinginfrared.
Scalablewaysofchargingandcontroloftheswarmareachievedbyachargingplate,aswellasrelayed
systemmessages.
Atotalof85robotswerebuilt.Experimentsontheswarmbehaviorwereconductedona4ftby4ft
platform,usinganoverheaddigitalprojectortocreatethelightenvironmentthattheShinerbotsare
supposedtonavigatein.TheShinerbotswereabletoswarmtoatargetregionwithminimalsensingand
control.
iii
Acknowledgments
Iwouldliketoexpressgratitudetomyadvisor,AssistantProfessorGraceXingXinGao,forthesupportof
mystudyandresearchprojects.IwouldliketothankXinhuiFangandKwokBunChengforsolderingand
assemblingrobotsforthisproject,aswellasAlexandraBaculaandKatieCarollforcalibratingand
conductingexperimentswiththeShinerbots.
iv
Contents
1.Introduction.............................................................................................................................................1
1.1GoldenShinerFish..............................................................................................................................1
1.2SwarmAlgorithm................................................................................................................................1
1.3Shinerbots..........................................................................................................................................2
1.4SummaryofContributionsandThesisOutline...................................................................................2
2.ExistingSwarmRoboticPlatforms............................................................................................................4
3.ShinerbotSwarmNavigationAlgorithmandSimulation..........................................................................7
3.1ModelingoftheGoldenShiners.........................................................................................................7
3.2ModelingwithAddedRandomness...................................................................................................8
3.3SimulationoftheModel.....................................................................................................................9
4.DesignandImplementationoftheShinerbotPlatform.........................................................................10
4.1Mobility............................................................................................................................................10
4.2NeighborSensing..............................................................................................................................11
4.3Communications..............................................................................................................................15
4.4ScalableCharging.............................................................................................................................16
4.5OtherHardwareSubmodules...........................................................................................................17
4.6ThePhysicalPrintedCircuitBoard...................................................................................................17
4.7Firmware..........................................................................................................................................18
4.7.1I/ODriversLayer........................................................................................................................18
4.7.2ShinerbotSystemLayer.............................................................................................................19
4.7.3ApplicationLayer.......................................................................................................................19
4.8SystemMessages.............................................................................................................................20
4.9PowerStates.....................................................................................................................................21
5.ExperimentalResults..............................................................................................................................23
5.1IntermediateClusteringBehavioroftheShinerbots........................................................................23
5.2ExperimentwithCenteredDestinationRegion................................................................................24
5.3ExperimentwithOff-centeredDestinationRegion..........................................................................25
6.Conclusion..............................................................................................................................................27
6.1SummaryofAchievements..............................................................................................................27
v
6.2FutureWork.....................................................................................................................................27
References..................................................................................................................................................29
AppendixA:SchematicsofaShinerbot.....................................................................................................32
1
1.IntroductionTraditionalroboticplatformsrelyonasophisticatedself-containedsystemtoperformnavigation[24].
Therobotwouldhavetodetermineitscurrentlocationanddestination,andperformpathplanningto
traversetothedesireddestination.Thisrequiresawiderangeofsensorstoprovideawarenessofits
surroundings,whichleadstodependenceonsignificantprocessingpowertodigesttheinformationand
makedecisionsinacentralizedsystem.Thereisashiftinparadigminthepastdecadetowards
distributedsystems[20],[7].Insteadofasinglerobot,aswarmofrobotscooperatetoachievethesame
navigationgoal.Thisreducescostsofrobotsasthecomplexityofsensorsandprocessingisloweredon
eachrobot.Italsoincreasesfaulttolerancesastherobotswarmbasicallybecomesasystemofmany
redundantsensorsandwillnotbeaffectedbyasinglepointoffailureasasinglerobotmayexperience.
Differenttypesofdistributedswarmnavigationalgorithmshavebeenproposed.Therearealgorithms
thatmaintaindifferenttypesofformation,whileavoidingobstaclesandmovingtoagoal[2].Other
algorithmsutilizeartificialpotentialfunctions[14]andpanelmethods[17],aswellasincorporating
sliding-modecontroltopotentialfields[9].Streamfunctions[27],apotentialfield-basedmethod,were
alsoproposed.Someofthealgorithmsweredesignedforspecificpurposeslikecooperativesurveillance
usingmicro-aerialvehicles[22],aswellastransportingobjectsinacooperativemanner[1].Most
existingswarmrobotsystemsstillutilizecomplexsensingandcomputationresourcesoneachrobot.
Robotswereassumedtobeabletomeasureenvironmentalparameterslikegradients,andalsoto
communicatewithallotherrobots.Sections1.1and1.2describetheinspirationandmodelofan
algorithmthatreducesrequirementsofindividualrobotsofaswarmevenfurther.
1.1GoldenShinerFishThegoldenshinerisatypeoffishthatlikestobeindarkareas.Peopleoriginallythoughtthatthefishes
areabletosenselightgradients,whichtellsthemwheretoswimtowardsthedarkareas,butBerdahlet
al.[3]disprovedthis.Asinglefishaloneinthetankisnotabletoswimtowardsthedarkarea.Instead,it
swimsinarandommanner,modulatingitsspeedaccordingtothelightintensityofitscurrentlocation.
Itswimsfastinbrightareas,andslowindarkareas.Asmorefishesareaddedtothetank,theyareable
toschooltogetherandendupinthedarkregion.
1.2SwarmAlgorithmThisthesisproposesandimplementsaswarmnavigationalgorithminspiredbythebehaviorofthe
goldenshiner.ThisalgorithmisbasedontwoaspectswhichgovernthemovementofeachShinerbot.
2
Oneisanenvironmentalfactor.Ambientlightwasusedinthecaseofthisthesis.Eachrobotmodulates
itsownspeedaccordingtolightintensity.Thesecondaspectisthesocialfactor,whererobotswantto
staywithneighbors,mimickingschoolsoffishes.Thegeneralizedalgorithmisshownbelow.More
detailstothealgorithmwillbeexplainedinchapter3.
𝑥" 𝑡 = 𝑒𝑛𝑣 𝑥" 𝑡 ∙ 𝑠𝑜𝑐(𝑥" 𝑡 , 𝑥/ 𝑡 , 𝑗 ∈ 𝒩" 𝑡 )
Thereareseveralbenefitstothisdistributedalgorithm.Minimalsensingisrequiredasarobotonly
needstosenseitscurrentlocationandnotthewholeenvironment.Robotsdonotneedtocommunicate
andexchangeintelligibleinformationabouttheenvironmentordirections.Itissimpleandplacesavery
smallcomputationalburdenoneachrobot.
1.3ShinerbotsAn85-robotswarmplatformisdesignedandbuilt.Theseareground-basedrobotsthatmovevia
vibration.Eachrobothasanambientlightsensingphotodiodeandneighborsensingcapabilityusing
infraredsignals.AnRGBLEDmeantasageneralpurposeindicatorisaddedaswell.Therobotisonly
40.6mmindiametersoastorequirelessworkspaceforthewhole85-robotswarm.Scalabilityissues
arealsoconsideredinthedesign,whichallowsformasssimultaneouschargingoftherobots,and
relayedsystemmessagestoremotelyturnonandofftherobots.
1.4SummaryofContributionsandThesisOutlineThefollowingarethecontributionsofthisthesis:
• Weproposeasimple,distributed,andcompellingalgorithminspiredbythegoldenshinerfish.
Thealgorithmrequiresonlyminimalsensing,nocommunicationsbetweenrobots,andlow
computationalcomplexity.
• Wedesignedandbuiltan85-robotswarmcalledShinerbots.EachrobotcostsUSD$20,withthe
sizeof40.6mm.Eachrobotisabletosensebothdistanceandorientationofitsneighborsinan
inexpensiveway.Scalabilityfeaturesareimplementedwithaswarmmessagingsystem,aswell
asachargingplateforsimultaneousmasscharging.
• WeconductedexperimentstoverifythattheShinerbotsareabletonavigatetoatargetregion
withminimalsensingandcontrolusingthealgorithmproposed.
Thisthesiswillprovideaquickoverviewoncurrentswarmrobotsinchapter2,andthenelaborateon
thegoldenshinerswarmalgorithminchapter3.ThehardwareandfirmwaredesignoftheShinerbots
3
willbedescribedinchapter4.Theexperimentalresultswillbepresentedinchapter5.Chapter6
concludesthethesisandoutlinesfuturework.
4
2.ExistingSwarmRoboticPlatformsThereareexistingswarmrobotplatformssuchasMarXbot,eSwarbot,Pi-swarm,e-Puck,Khepera,
Jasmine,Kilobot,andDroplet.TheirsizesandcostsaresummarizedinTable1andphotosareinfigures
1-8.
Table1SizeandCostofExistingSwarmRoboticPlatformsRobot Size Cost(USD$)
MarXbot[4] 17cmdiameter eSwarmbot[5] 12.6cmdiameter Pi-swarm[12] 9cmdiameter Partcostof$100e-Puck[1],[25] 7cmdiameter Khepera[18] 7cmdiameter Retailpriceof$272Jasmine[13] 2.7cmcube Partcostof$112Kilobot[21] 33mmdiameter Retailpriceof$113Droplet[8] Partcostof$50withoutshell
Figure1:MarXbot
Figure2:eSwarmbot
Figure3:Pi-Swarm
5
Figure4:e-Puck
Figure5:Khepera
Figure6:Jasmine
Figure7:Kilobot
Figure8:Droplet
TheMarXbot[4]isasophisticatedtrackandwheeledrobotconsistingof6DIMU,multipleinfrared
sensors,Lidar,2cameras,Bluetooth,Wifi,andanARMbasedprocessorrunningLinux.TheeSwarmbot
[5]isawheeledrobotwithquadratureencodersandultrasonicrangefinder,runningonanArduino
microcontroller.ThePi-swarm[12]isanotherwheeledrobotrunningonARMCortexM3based
microcontroller.IthasmultipleLEDs,multipleinfraredsensors,9DIMU,LCDdisplay,switches,anda
radiofrequency(RF)transceiver.E-puck[1],[25]has8infraredsensors,2steppermotorsforthe
wheels,acolorcamera,aspeakerand3microphones.Khepera[18]isawheeledrobotwith8infrared
sensors.BothKilobot[21]andDroplet[8]aresmallerrobotsthatmoveusingvibrationmotors,andcost
lesscomparedtotheotherlargerwheeledrobots.TheKilobothas1infraredtransmitterand1infrared
receivertoprovidedistancemeasurementtoneighborswithoutanybearing.TheDroplethas6pairsof
infraredreceiversandtransmittersspreadarounditsperimetertosensedistanceandbearingto
neighbors.
Thefirstfewrobotsdescribedarebig,basedonwheels,andmostofthemhavesophisticatedsensors
andprocessingpower,whichtendtobeexpensive.Whileworkingonswarmrobots,largerrobotsize
6
willleadtoneedinganevenlargerworkspacefortherobots.Asfortheswarmalgorithmthatwillbe
presentedinthenextchapter,sophisticatedsensorsandprocessorsarenotrequired.Thoseexpensive
robotswithadvancedfeatureswillonlydrivethetotalcostofthewholeswarmresearchhigh.The
Kilobotisaninnovativedesignwhichusesvibrationtomove,andisonly33mmindiameter.Thisallows
foramanageableworkspacesizetooperatethewholeswarm.TheKilobotcanonlysensethedistance
toneighbors,butnottheirorientation.Thismayworkwellforsomeotherswarmnavigationalgorithms,
butnotthegoldenshineralgorithmtobepresentedinthisthesis.Chapter4willdetailthedesignof
ShinerbotsbuiltontopoftheideaofKilobots,allowingbothdistanceandorientationofneighborstobe
sensed,plusotherminorimprovements.
7
3.ShinerbotSwarmNavigationAlgorithmandSimulationThischapterdescribesasimplemathematicalmodelwhichwasinspiredbythebehaviorofthegolden
shinerfishes,andproceedstodemonstrateitinsimulation.
3.1ModelingoftheGoldenShinersEachrobotismodeledasatwo-dimensionalmobileautonomousagent,wherex
i(t) ÎÂ2isthelocation
ofagentiinthetwo-dimensionalplaneattimet.Wemodelthemovementoftherobotbytwofactors.
Thefirstisanenvironmentfactorenv()whichgivesapositivescalarvalue.Thismodulatestherobot’s
speedinrelationtothetypeofenvironmentstimulusthatwewanttheswarmrobotstonavigateto.
Thesecondfactorisasocialfactorsoc().Thisfunctiongivesa2Dvectorofthedirectioninwhichthe
robotsgo.Inthismodel,wewanttherobotstogotowardstheirneighbors.Thus,thesocialfactor
dependsonthelocationofrobotsxj(t) Î N
i(t),whereN
i(t)definesthesetofrobotswithinthe
neighborhoodattimet.Inthiscase,robotswithintheneighborhoodcorrespondtorobotswhose
locationsarewithinthesensingrangeofroboti.Thegeneralizedmodelisasfollows:
𝑥" 𝑡 = 𝑒𝑛𝑣 𝑥" 𝑡 ∙ 𝑠𝑜𝑐(𝑥" 𝑡 , 𝑥/ 𝑡 , 𝑗 ∈ 𝒩" 𝑡 )
Fromthisequation,weseethatthedecision-makingofeachrobotisbrokenupintotwosimplerules
thatobtaininputsfromanenvironmentsensor,aswellasaneighborsensor.Theenvironmentfactor
enablesconvergencetoanoptimalpoint,whilethesocialfactorenablescollectiveintelligenceand
expeditingofconvergence.
Developingthemodelfurthertorepresentthegoldenshiners,wetaketheenvironmentstimulusas
lightintensity.Recallfromsection1.1thatthegoldenshinerfisheslovestobeinthedark.Theyswim
slowlyinthedark,andfasterinbrighterplaces.Letf(x)representthelightintensityoflocationx,and
letg()representthelightsensitivityoftherobot.Thus,theenvironmentfactorenv(xi(t))becomes
g(f(xi(t))).Thisfunctionmodulatestherobot’sspeedaccordingtolightintensity.Thiscorrespondsto
theobservationsmadebyBerdahletal.[3].Here,weassumethateachrobothasthesamesensitivityto
lightg(),whereg()isastrictlyincreasing,boundedfunctionsuchthatg(0)=0.
Next,welookatthesocialfactor.Thegoldenshinersalwaysschooltogether.Thus,wemodelthesocial
factorasadesiretomovetowardsitsneighbors.Mathematically,werepresentthevectoroftherobot’s
motiontopointtowardsthecentroidofitsneighbors(meanlocation)withintherobot’ssensingrange.
8
Inthisapplication,thereisnolocalizationsystem.Norobotknowswhereitisinaglobalcoordinate
system,norcanitcommunicateitslocationtoneighbors.Thevectorthatrepresentsthedirection
towardsthecentroidissolelybasedontherelativepositionofeachneighbortotherobotitself,where
therelativepositionisdefinedasxj(t) - x
i(t).
Puttingittogether,thegoldenshinerswarmalgorithmisasfollows:
𝑥" 𝑡 = 𝑔 𝑓 𝑥" 𝑡 (𝑥/ 𝑡 −/∈𝒩7 8
𝑥" 𝑡 ), 𝑖 ∈ [𝑛] (3.1)
where[n]denotestheset{1, 2, …, n}ofallrobots.
3.2ModelingwithAddedRandomnessInourexperimentswiththeShinerbots,therearetwoscenarioswheretherobotsdonotallconvergeto
thedarkregion.ThefirstscenarioiswheresomeShinerbotsareisolated.Thisisthecasewhenasingle
Shinerbotdoesnothaveanyneighborswithinitssensingrange.Accordingtothesocialfactorasdefined
inequation3.1,theisolatedrobotdoesnotmoveuntilanotherrobotcomesintoitsneighborhood.
Therearealgorithmspresentedin[19]and[15]thatprecludetheisolatedagentsproblemby
maintainingconnectivitytoneighbors;however,thesealgorithmsincreasecomputationalcomplexity.
Thesecondscenarioiswhereasub-groupofrobotsremainstuckinaregionforalongtime.This
happenswhenthenetgradientoflightintensityinthelocalneighborhoodiszero.Inthiscase,allrobots
willwanttomovetowardsthesamecentroidoverandoveragain,resultinginazero-netmovementin
thatwholesub-group.
Toovercomethesetwoscenarios,astochastictermisaddedtoequation3.1asfollows:
𝑥" 𝑡 = 𝑔 𝑓 𝑥" 𝑡 ( (𝑥/ 𝑡 −/∈𝒩7 8
𝑥" 𝑡 ) + 𝑍"(𝑡)), 𝑖 ∈ [𝑛]
whereZi(t)isanadditivetwo-dimensionalwhiteGaussiannoise.Thisaddedrandomnoiseremovesthe
undesiredequilibria.Itpreventsisolatedrobotsfromstayingstill,increasingitschancesofjoiningasub-
groupofrobots.Theaddedrandommovementalsopreventssub-groupsfromgettingstuckina
neighborhoodwithzeronetgradient.
9
3.3SimulationoftheModelAsimulationwasdonetoillustratethebehaviorofthewholeswarmaccordingtothealgorithmas
describedabove.Infigure9,theredcirclerepresentsthepointofzerolightintensity,whichdenotesthe
desireddestinationfortherobots.Therobotsarerandomlyplacedtotherightofthedestination
initially(timet=0).Thegreencirclerepresentshowfarthewholeswarmofrobotsistoitsdestination.
Thecenterofthegreencircleisthelocationoftheredcircle,withtheradiuscorrespondingtothe
distancefromthecentroidofthewholeswarmtothedestination.Att=15s,therobotsareobservedto
havesplitintosub-groups.Thismakessenseasrobotswillonlytrytomovetothecentroidoftheirlocal
neighborhood,withoutknowledgeoftheglobalcentroid.Att=80s,thesub-groupshavemovedcloser
towardsthedestination,joiningothersub-groupsintoonebiggroup.Finally,evenisolatedrobots
managedtojointhegroupatt=180s.Thebehavioratt>30sismadepossibleduetotheadded
randomness.Att=296s,thegreencirclefinallyclosedandallrobotshavearrivedatthedestination.
Figure9:SimulationResults
10
4.DesignandImplementationoftheShinerbotPlatformAroboticswarmsystemisdesignedtoperformtheswarmalgorithmasdescribedintheabovesection.
Eachrobotneedstofulfillsimplerequirementsforthisalgorithm,namelymobility,neighborsensing,
andlightsensing.Neighborsensingrequiresthedistancetoandorientationofeachneighborina
limitedsensingradius.Norobotneedsenseotherrobotsfaraway.Lightsensingonlyrequiresthe
measurementoflightintensityofitscurrentlocation,andnotlightgradientsofitssurroundings.
Eighty-fiverobotsarebuilttoexperimentwiththisswarmalgorithm.Ontopoftheswarmalgorithm
requirements,additionalscalabilityrequirementswillbeneededtohelpmanagethe85-robotswarm.
Costperrobotisafactortobereducedasitwillimpacttotalcostofthesystemwhenitisscaledupto
100robots.Sizeofasinglerobotmattersaswell,sinceitimpactsthespaceneededtorunexperiments
onan85-robotswarm.Otherfactorsincludemanagementprocedureslikecharging,andcommandingof
therobots.Theserequirementswillbeaddressedlaterinthechapter.
Figure10isablockdiagramofthevarioussub-modulesinasingleShinerbot.Themicrocontrollerthat
controlstherobotisaMSP430G2553fromTexasInstruments.Eachoftheothersub-moduleswillbe
explainedinthefollowingsectionsofthischapter.
Figure10:HardwareBlockDiagramofaSingleShinerbot
4.1MobilityAcommonmeansofmobilityistousemotorsandwheels.Whileitispossibletomakecustomminiature
motorsandwheels,theyareprohibitiveincostwhenmakingonly100robots.Off-the-shelfmotorsand
11
wheelstendtobebig(>3cmdiameter)andcostatleast$5.Thatforcesthesizeoftherobottobeat
least10cmindiameter.Tobringthesizeandcostdown,Shinerbotsweredesignedusinglegs,and
movebyvibration[26].Therearethreelegs,whicharebasicallyrigidlongpins.Vibrationisgenerated
bytwoeccentricrotatingmass(ERM)motorsplacedoneachsideoftherobot.Thesemotorsare
commoninmanyelectronicdeviceslikecellphones,makingthemcheaplyavailableinbulk.
AnH-bridgecircuitisusedasanoutputdrivertoeachmotor.Pulsewidthmodulation(PWM)isusedto
varythepowersuppliedtothemotor.Forwardsandbackwardsmovementaremadebydrivingboth
motorsinthesamedirection.Therobotrotatestotheleftorrightwhenbothmotorsaredrivenin
opposingdirections.
Themotionoftherobotcanonlybecontrolledconsistentlywithaspecificamountofpowersuppliedto
themotors.Thisisbecausetherotationoftheeccentricmassinthemotorhastobematchedtothe
frequencyatwhichtherobotvibratesverticallytoallowforthecorrectinteractionofforcesbythe
eccentricmass,andfrictionbetweenthelegsandthefloor.Asaresult,thespeedoftherobot’s
movementisfixed.Dutycyclingisdonetovarythespeedsoftherobottoperformtheswarmalgorithm.
4.2NeighborSensingTheShinerbotsusesinfrared(IR)tosenseitsneighbors.Eachrobottransmitsinfraredsignalfromthe
bottom-middledownintothegroundasshowninfigure11.Theinfraredthenbouncesofftheground
towardsanyneighboringrobotsinalldirections.ThisisduetothebeampatternoftheIRtransmitter.A
neighboringrobot,withreceiversplacedunderneath,receivestheIRsignalandisabletoestimate
distancebasedonareceivedsignalstrengthindicator(RSSI).Toestimatetheorientationofthe
neighbor,eachrobothasthreereceiversplaced120degreesapart,onitsperimeterasshowninfigure
12.Thisallowsthreedistancestobeobtained,whicharethenusedtocomputetheorientation.
Figure11:GeometryoftheIRSignalBetweenTwoNeighboringShinerbots
12
Figure12:Placementof3Infrared(IR)Receiversand1IRTranmitterontheUndersideoftheShinerbot
Figure13:IRBeamPattern(Semiconductors,2011)[23]
Afactorof1/risusedtoestimatethesignalstrengthatdistancerbetweenneighborsduetothespread
ofthesignalinthe2Dplane.Afactorduetotheverticaldimensionisconsideredaswell.Bothreceivers
andtransmittershavethesamebeampatternasshowninfigure13.Acosinefunctionisusedtomodel
thesignalstrengthexitingthetransmitter,aswellasenteringthereceiver.Thus,cosinesquared
becomesthefactorduetotheverticaldimension.Anadditionfactorklumpsvariousfactorssuchasthe
13
transmitpower,receivergain,andanalog-to-digitalconverter(ADC)quantizationrange.TheRSSIisthen
modeledwiththefollowingequation:
𝑅𝑆𝑆𝐼 =𝑘𝑟 ∙ cos 𝜃 I =
𝑘𝑟 ∙
4ℎI
4ℎI + 𝑟I
whereqistheanglebetweenthesignalpathandthevertical,andhistheheightoftheShinerbot.The
theoreticalRSSIiscomparedagainstthemeasuredRSSIacrossdistances(figure14)andisfoundtobe
inaccurateduetomanufacturingvariances,aswellasmultipatheffectswhenrobotsareveryclose
together,whichwasnotmodeled.
Figure14:MeasuredandTheoreticalRSSIagainstDistance
Tosolvethisproblem,acalibration-basedmethodisusedinsteadtoestimateamoreaccuratedistance
fromRSSI.Acalibrationsequenceisrunafterarobothasfinishedassembly.Thisconsistsofmovingthe
robotfromatransmittingrobotinstepsof5mmforallthreeoftheIRreceivers.Linearinterpolationis
thenusedtocomputethedistanceforRSSIvaluesinstepsof64ADCunits.Thedistancevaluesarethen
storedasalookuptableinflashmemory.Figure15showsthemeasuredRSSIvaluesduringthe
calibrationsequence,comparedtotheinterpolatedRSSIvaluesofestimateddistances.Thereasonfor
storingdistancesin64ADCunitsisforefficientlookupateachinstanceofestimatingneighbordistance.
14
Bitshiftingof6bitsandmaskingisdonetoobtainthetwonearestdistancesinthetable,andalinear
interpolationisusedtoestimatetheactualdistanceusingthelowest6bitsoftheADCvalue.
Figure15:DistanceEstimationfromRSSIMeasurementsUsingInterpolation
Oncethreedistancesareobtainedfromthethreereceivers,trilaterationisperformedtocomputethe
relativepositionoftheneighboringtransmittingrobot.Thisisgivenbytheequationsbelow:
𝑥 = 𝑟MI − 𝑟NI
2𝑙Q
𝑦 = 𝑟SI − 𝑟TI
2(𝑙U + 𝑙I)+ 𝑙U − 𝑙I2
𝑟TI = 𝑟MI + 𝑟NI −
𝑙QI2
2
wherevariablesaredefinedasinfigure16.
15
Figure16:CoordinatesofNeighboringRobotUsing3Distances
Forthismethodofneighborpositionestimationtoworkwell,onlyonerobotcantransmitatatimeso
asnottointerferewiththeRSSImeasurements.Thus,asimplecommunicationprotocolbasedon
carriersensemultipleaccesswithcollisionavoidance(CSMA-CA)isimplementedtoensurethat.
4.3CommunicationsAlthoughthegoldenshinerfishswarmalgorithmdoesnotrequirerobotstocommunicate,asimple
communicationssystemisimplementedtoprovideagenericswarmroboticsresearchplatformfor
futurealgorithms.Inaddition,thecommunicationssystemallowsforsystemmessagestocontrolthe
entireswarm,andsolvestheproblemofhavingmultiplerobotstransmittingatthesametime,
interferingwiththeneighbordistanceestimations.
Thephysicallayerofthiscommunicationsystemusestheinfrareddataassociation(IrDA)standard[10].
Eachrobottransmitsafixedlengthpacketatregularintervals.ThepacketconsistsofthedestinationID,
RSSIbyte,sourceID,5databytes,andaCRC.AsimplifiedCSMA-CAalgorithmisusedtoenablemultiple
robotstotransmitinthesamearea.ThissimplifiedversionofCSMA-CAisadaptedfromwirelessLANs
16
[10].Cleartosend(CTS)andreadytosend(RTS)arenotimplementedsinceallmessagesactlikea
regularbroadcastforrobotstoestimatedistance.
Eachrobottransmitsapacketatregularintervalsofabout200ms.Thisallowsallitsneighborsinthe
regiontodetectitspresenceandcomputeitsrelativeposition.TheRSSIbyteinthepacketstructureis
basicallyafixedvalueof0x55.Thisensuresanalternatingsequenceof1sand0stobereceived.RSSIis
thencomputedbytakingthedifferenceofADCvaluesfromthepositiveandnegativepeaksofthe
pulses.TheCRCbytedetectsifthepacketreceivedisvalid.Ifthepacketwasinvalid,thedistance
calculationofthatpacketwouldbeignored.
Althoughagenericcommunicationsprotocolisimplemented,thedatabytesofthepacketareunusedin
theimplementationofthegoldenshinerfishalgorithm.Thisalgorithmdoesnotneedintelligible
informationtobecommunicatedamongrobots.Itbasicallyactsonlyasapingtoenabledistance
estimationsinthiscase.
4.4ScalableChargingChargingeveryrobotwithapowercablepluggedintoeachrobotistediousandtimeconsuming.Thisis
notscalableastheswarmgetslarger.Achargingpadisdesignedsuchthatrobotscanbecharged
simultaneouslybyplacingupto49robotsonthepad.Eachrobotchargesitselfviathelegs.Thelegsare
connectedtothechargemanagementICviaafullbridgerectifier.Aslongas6Visappliedacrossanyof
thetwolegs,therobotwillbeabletocharge.ThechargingpadisacoppercladFR4withalternating
stripsofcopperasshowninfigure17.Thewidthandgapofthestripsaresuchthatarobotplacedat
randomwillalwaysbeguaranteedtohavetwolegsonanalternatingstrip.6voltsisthenappliedtothe
alternatingstripsofcopper.Thecopperistincoatedtopreventoxidization.Uponplacingtherobotto
charge,thechargemanagementICstatuswouldsignalthemicrocontrollertobringtherobottosleep.
Thispreventstherobotfromunwantedvibrations,whichwillcauseunreliablecharging.Asmallred
light-emittingdiode(LED)turnsonwhenitischarging.
17
Figure17:ShinerbotsChargingSystem
4.5OtherHardwareSubmodulesAgeneralpurposeRGBLEDisincludedinthedesign.ItisdrivenbyPWMsignalstoeachcolorchannel.
Thisismeanttobeageneral-purposeindicator,andcanbeprogrammedtodisplayanycoloror
intensityaccordingtotheapplication,orexperimentbeingrun.Lightsensingwasmentionedasabasic
requirementforthegoldenshinerfishalgorithm.Thisisachievedusingaphotodiodeforambientlight.
4.6ThePhysicalPrintedCircuitBoardThemechanicalbodyoftherobotisbasicallytheprintedcircuitboard(PCB)itself.Itisacircularboard,
with40.6mmdiameter,designedinKiCad.ThisPCBisafour-layerdesignwiththetoplayerfordigital
signals(figure18),layer2fordigitalground,layer3foranalogground,andthebottomlayerforanalog
signals(figure19).Theanaloganddigitalsignalswereseparatedinsuchawaybecausetheanalogtraces
havetospantheentireboard.ThisisduetotheIRreceiversneedingtobe120degreesapart,nearthe
perimeteroftheboard.Thegroundplanesinthemiddlelayersimprovesignalintegritybyshielding
signalsfromcrosstalkbetweenthedigitalandanalogsignals.Theanaloganddigitalgroundsare
connectedatonepointnearthegroundofthemicrocontrollerADC.
18
Figure18:ShinerbotPCBTop
Figure19:ShinerbotPCBBottom
4.7FirmwareThefirmwareiswritteninalayeredmannerasshowninfigure20.MSP430atthelowestlevelis
basicallyaheaderfileprovidinglow-levelaccesstoregistersinthemicrocontroller.TheI/ODriverslayer
providesanabstractiontolowleveltasks.TheShinerbotSystemlayerhandlesthemainoperationsof
therobot.TheApplicationlayerconsistsofcodethatgovernsthehigh-levelbehavioroftherobot.
Figure20:ShinerbotFirmwareBlockDiagram
4.7.1I/ODriversLayerThislayerprovideslow-levelinterfacestothehardwareoftherobot.ADCdriverprovidesfunctionsto
controltheADCperipheralonthemicrocontroller.Theseincludeinitialization,triggeringofsingleor
multi-channelconversions,andcall-backsforcompletion.Flashprovidesfunctionstoeraseandwriteto
specificbanksofflashmemory.Commprovidesfunctionstostartapackettransmission,andtoread
packetsthathavebeenreceived.Commimplementsabuffertostoreincomingpacketstoberead.
MotorprovidesanabstractiontothePWMperipheralsandcontrolsoutputpowertoeachmotor.It
19
providesfunctionstomoveforward,backward,left,andright.RGBLeddrivestheRGBLEDaccordingto
thevaluesfedtoit,inrangesof0–255foreachcolorchannel.Timerprovidesa1mstickfortheentire
system.
4.7.2ShinerbotSystemLayerThecodeinthislayerdoesmostoftheoperationsrelatedtomakingtheShinerbotwork.Theyprovidea
setofAPIsfortheApplicationlayertocommandtheShinerbot’shigh-levelbehavior.TheLightmoduleis
basicallyanabstractiontotheADCdrivertoreadvaluesfromthephotodiodeADCchannel.TheRSSI
moduleisinchargeofestimatinganeighbor’srelativeposition.IttakesADCvaluesfromthethreeIR
channels,computestheRSSI,estimatesdistances,andcomputestheposition.SysMsgisamodulethat
interpretsincomingsystemmessages,relaysthemessage,andperformsthesystemcommand.Thiswill
beelaboratedinsection4.8.Schedulerisasimplepriority-basedCPUscheduler.IntheShinerbot,the
RSSImodulerunsasahighprioritytask,theapplicationlayerrunsasalowerprioritytask,andanother
idletaskthatbringstheCPUtosleep.ThePowermoduleisinchargeofbringingtherobottosleepand
wakingitup.Moredetailsonpowerstageswillbeelaboratedinsection4.9.Mathisalightweightmath
librarywhichincludesarandomnumbergenerator,andafastintegersquareroot,optimizedforthe
rangeofvaluesthatarebeingusedinShinerbot.
Insomecases,differentlibrariesintheSystemandDriverlayersworktogetherbehindthescenesto
maketheShinerbotwork,withouttheprogramintheApplicationlayerneedingtodoanything.For
example,uponreceptionoftheDestinationByteoftheincomingpacket,theCommsmoduletriggers
theRSSImoduletostartADCreadsoftheIRchannels.TheschedulerthenstartstheRSSImoduleona
highprioritythreadtocomputethepositionofthetransmittingneighbor.Bythetimethewholepacket
isreceived,thepositioninformationisready.WhentheCRCcheckisgood,boththepacketdataandthe
positioninformationarepushedintothereceivemessagequeue,readyfortheuserprogramtoretrieve.
Allthishappensbehindthescenesoftheuserprogram,allowingcodeintheuserprogramtofocusonly
onthenavigationalgorithm.
4.7.3ApplicationLayerThislayeriswherethehigh-levelbehavioroftherobotisprogrammed.TheUserProgramiswherethe
navigationalgorithmisimplemented.ItonlyhastocallAPIsfromtheSystemlayertoreadinputs,make
adecision,andcommandtherobottomoveinthedesireddirection.Testisaroutinethatisrunafter
therobotissolderedandassembled.ItcallstheSystemlayerAPIsinaspecificsequence,testingall
aspectsoftherobotsuchasmovement,RGBLED,ambientlightsensing,IRtransmissionandreception.
20
Aftertestingisdone,theprogramRSSIcalibrationisrun.ThisprogrambasicallyrunsasequenceofIR
receptionswiththerobotmovedoveradistance.ItthenstoresRSSItodistancecalibrationdatatoflash
storage.TherobotIDisflashedinatthisstagetoo.Duetomemoryconstraints,onlyoneofthethree
programsintheApplicationlayerisflashedintothemicrocontrolleratanyonetime.Thisisokayasthe
testandthecalibrationroutineonlyneedstoberunonceaftertherobotisfirstassembled.
4.8SystemMessagesSystemmessagesareameanstocontroltheswarminascalablemanner.Havinganon-offswitchon
eachrobotwouldbeimpracticalwhenoperatingahundred-robotswarm.Systemmessagesarepackets
thatcontainasystemcommand.Whenarobotreceivesacommand,itrelaysthesystemmessage3
times,beforetakingactiontothatspecificcommand.Duetotherelayingofmessages,astrong
overheadIRtransmitterisnotrequiredtobroadcastthecommandtoallrobots.Specialrobotsare
programmedwiththesolepurposeoftransmittingsystemmessages.Theswarmoperatorwillonlyneed
tobringacommandrobotneartheswarm,andallrobotsintheswarmwillreceivethesamemessagein
asplitsecond.Thisisillustratedinfigure21.Thereare4systemmessages,namelyReset,Sleep,Wake,
andRun.Resetbringsthemicrocontrollertoafullsoftwarereset.Sleepbringstherobotintodeep
sleep,practicallyturningofftherobot.Wakewakestherobotintoalightsleepstagewhereitsreadyto
resumetheuserprogram.Runresumestheuserprogram.
Figure21:RelayingofSystemMessage
21
4.9PowerStatesTherearefourpowerstatesinthesystem.State0iswhereeverypartoftheShinerbotisrunning,
includingtheuserprogramontheCPU.State1iswheretheCPUsleeps,whilealltheperipheralsare
running.Thishappenswhentheuserprogramcallsthedelayfunction.Itputstheuserthreadtosleep,
runningtheidlethread,whichthenbringstheCPUtosleep.Atthespecifiednumberofmilliseconds,the
interrupthandlerwakestheuserthreadup,whichbringstheCPUbackuptorun.
Powerstate2isinasemi-sleepstate.InadditiontotheCPUsleepinstate1,peripheralslikethemotors
andLEDsareturnedoff.Onlytheanalogcircuitsareleftontoenablereceptionofmessages.Power
state3bringstherobotintodeepsleep.Inadditiontoturningoffthecomponentsinstates1and2,it
turnsofftheanalogcircuits,mainclocks,andphaselockloops(PLLs).Thetimerperipheralnowrunson
alowfrequencyauxiliaryclock.
Systemmessagestelltherobottotransitionbetweenpowerstates.TheSleepcommandbringsthe
robottostate2,relaysthemessagethreetimes,thengoestostate3.Therobotwillthengobackto
state2every30secondsfor400msbeforegoingbacktostate3.Thisistoallowtimetolistentoany
possibleWakesystemmessages.ToWaketherobotsup,theWakesystemmessagehastobe
broadcastedcontinuouslyformorethan30secondstoensurethattherobotshavereceivedthat
message.Uponreception,therobotstaysinstate2.
Therobotsdonotinstantlywaketofullpowerinstate0sincetheyarenotsyncedinthatdeepsleep
cycle.Wakingtofullpowerinstantlywouldnotcausethewholeswarmtowakeupatthesametime.
Thus,theWakecommandonlybringstherobottostate2,inwhichtheystandbyfortheRuncommand,
astheyarenowcontinuouslywaitingformessages.TheRuncommandthenbringsthemoutofstate2
backtostate0.Theblockdiagraminfigure22illustratesthestatetransitions.
22
Figure22:PowerStateTransitionsinResponsetoSystemMessages
23
5.ExperimentalResultsTheexperimentsareconductedonaworkspacemadeofawhitewooden4ftx4ftsquare.Theboard
wasplacedalmostneartheground,andalevelwasusedtoensuretheboardwashorizontal.Sincethe
robotsmovebyvibration,aslighttilttotheworkspacecanbiastherobot’smotion.Adigitalprojectoris
placedabout6feetabovetheworkspacetoprojectthelightpatterntosimulatethedarkandbright
regions.Weuseacirculargradientlightpatterntoindicatethedesiredregionwherewewantthe
Shinerbotstoendupin.
Inpreviouschapters,wedescribedthegoldenshinersaswantingtogotowardsthedarkarea.Inour
experiments,thiscreatedascenariowheretheswarmhastwodestinations:thedarkcircularspotthat
weareprojecting,aswellastheborderoftheprojectionwhichhappenstobeinterpretedasadarkarea
bytheShinerbots.Theresultsenduphavingasub-groupofrobotsatthedesiredcircularregion,and
anothersub-groupofrobotsstayingattheedgeoftheprojection.Forthepurposesofthisthesis,we
wantedtoshowthatthealgorithmconvergestothesameregion.Thus,toremovetheconfusiononthe
Shinerbots,thefollowingexperimentalresultsarebasedonhavingabrightregionasthedesired
location,usingabrightcenteredcirculargradientlightpattern.Therobotswillnolongertreatthe
projectionborderasanunintendeddesireddestination
5.1IntermediateClusteringBehavioroftheShinerbotsAnintermediateclusteringbehaviorisobservedinourexperiments.Inourexperiments,allrobot
locationsareinitializedrandomly,andevenlyspreadacrosstheworkspace.Therobotssometimes
clusterintosub-groupsuponthestartoftheexperiments.Astheclustersslowlymovetowardsthe
desiredregion,theybegintoconvergeintoabiggergrouplateron,andfinallytoonewholeswarmatits
destination.Figure23illustratessuchascenario.Inthisparticularexperiment,theswarmisobservedto
splitintotwobigsub-groups,afewpairsofrobots,andsomeindividualrobotsat9.5minutesafter
initialization.Theycontinuetoevolveintothreesub-groupsattimet=36minutes.Finally,thewhole
swarmconvergesattimet=48minutes.
24
Figure23:ClusteringBehaviorofShinerbotsfromInitializationtoConvergence
5.2ExperimentwithCenteredDestinationRegionThisnextexperimentshowninfigure24showstheworkspacehavingitsdesiredbrightregionatthe
middleoftheworkspace.Thisexperimentmainlydemonstratesthesocialfactorofthegoldenshiners
algorithmatwork,wheretherobotscollectivelygathertogethertomimictheschoolingbehaviorofthe
fishes.Thereisstillsomeclusteringbehavioroftheswarminthefirst12minutes.Theswarmeventually
convergedinthemiddletothedesiredregionafter25minutes.
25
Figure24:ExperimentwithLightSourceIntheMiddle
5.3ExperimentwithOff-centeredDestinationRegionThenextexperimentinfigure25demonstratestheswarmmovingintothedesiredregion.Thebright
areaisplacedtotherightoftheworkspacethistime,whiletherobotsweredistributedtowardstheleft
oftheworkspace.Thisdemonstratestheenvironmentalfactorofthealgorithmatwork.Att=3
minutes,clusteringbehaviorcanbeobservedagain.Fromt=4.5minutesto14minutes,theclusters
thatareclosetothebrightlightsourceremainintheregionandmovealittleclosertothecenterofthe
lightpattern.Theclustersthatareinthedarkstillmovingaboutrandomly,whilestayingasasub-group.
Fromt=20minutesonwards,wecanseethatthesub-groupsbegintomergetoformabiggergroup
andfinallyconvergetothedesiredregionatt=42minutes.
26
Figure25:ExperiementwithLightSourceOff-Centered
27
6.Conclusion
6.1SummaryofAchievementsThisthesispresentedaswarmnavigationalgorithmthatmimicsthebehaviorofthegoldenshinerfish.
Thealgorithmisbasedonsimplerulesandrequiresminimalsensorsandprocessingpowerofeach
individualrobot.Agroundbasedswarmroboticsystemwasdesignedandbuiltin-housetoexperiment
withalgorithm.Eighty-fiverobotswerebuilt,costingUSD$20each,withasizeof40.6mmdiameter.The
robotshavebasicsensing,processing,andmobilityrequirementsfortheGoldenShinersalgorithm.In
addition,amessagingsystemisdesignedintothesystemtobeagenericswarmroboticsplatformfor
futurealgorithms.Inaddition,scalabilityfeatureswereaddedtohelpmanageandchargeaswarmof
robots.Theseareimplementedasachargingplateaswellassystemcommandmessages.Our
experimentsdemonstratedthattheShinerbotscollectivelynavigatetoadesiredregionwiththe
proposedalgorithm.Theworkinthisthesiswaspartiallypresentedin[11],and[16].
6.2FutureWorkBoththeswarmalgorithmandtherobotshavepossibleimprovementsforfuturework.Thecurrent
mathematicalmodelofthealgorithmmodelsasinglerobotasapointmasswhichcanmovefreelyina
two-dimensionalplane.Morecomplexmodelssuchasanonholonomic[6]cartcanbeconsideredin
futurework.Thecurrentalgorithmignorescollisions.Therobotswillstilltrytomoveintothecentroid
oftheneighborhoodeventhoughthereisnolongeranyspace.Thisisnotadestructivebehaviortothe
Shinerbotsplatform,butcollisionavoidancecanbeincorporatedintothealgorithmtoenable
applicationinbiggerroboticsystemsandevenunmannedaerialvehicles(UAVs).
ThereareopportunitiesforfurtherworkontheShinerbotsswarmplatformaswell.First,amore
automatedwayofcalibratingtheinfraredsensorscanbedesignedinsteadofthemanualdraggingof
individualrobotsoveradistancethatisbeingdonenow.Second,motioncontroloftheShinerbotscan
beimproved.Acalibrationstepcanbeaddedtoensureeachrobotmovesaccuratelyinthedesired
direction.Linearresonanceactuators(LRA)vibrationmotorscanbeusedinsteadofeccentricrotation
mass(ERM)toimproveefficiency.Amassprogramminginterfacewithbootloaderoneachrobotshould
bedesignedtoimprovescalabilityintryingoutdifferentexperimentsandre-flashingfirmware.
Neighborsensinghardwarehasroomforimprovementaswell.Increasingthesensingradiusofthe
robotswouldhelpspeeduptheconvergenceofthealgorithm.
28
Thereasonsforgoingwiththevibrationmethodofmobilityaresizeandcost,whichareimportantto
scalabilityinalargeswarm.Thedisadvantageofthismodeofmobilityisthatitisrelativelyslow.
Experimentsoftenhavetobeconductedoveratleastanhour.Ifminiatureandcheapcommercial-off-
the-shelf(COTS)wheeledpartsareavailable,thatwouldhelpinspeedingupexperiments.
29
References
[1] Alkilabi,M.H.M.,Narayan,A.,andTuci,E.(2017).Cooperativeobjecttransportwithaswarmofe-puckrobots:robustnessandscalabilityofevolvedcollectivestrategies.SwarmIntelligence.https://doi.org/10.1007/s11721-017-0135-8.
[2] Balch,T.,andArkin,R.C.(1998).Behavior-basedformationcontrolformulti-robotteams.IEEETrans.Robot.Autom.,14(6):926–939.
[3] Berdahl,A.,Torney,C.J.,Ioannou,C.C.,Faria,J.J.,andCouzin,I.D.(2013).Emergentsensingofcomplexenvironmentsbymobileanimalgroups.Science,339(6119):574–576.
[4] Bonani,M.,Longchamp,V.,Magnenat,S.,Retornaz,P.,Burnier,D.,Roulet,G.,Vaussard,F.,Bleuler,H.,andMondada,F.(2010).TheMarXbot,aminiaturemobilerobotopeningnewperspectivesforthecollective-roboticresearch.InProceedingsof2010IEEE/RSJInternationalConferenceonIntelligentRobotsandSystems(IROS-2010),pages4187–4193.IEEE.
[5] Couceiro,M.S.,Figueiredo,C.M.,Luz,J.M.A.,Ferreira,N.M.,andRocha,R.P.(2011).Alow-costeducationalplatformforswarmrobotics.InternationalJournalofRobots,EducationandArt,2(1):1–15.
[6] Desai,J.P.,Ostrowski,J.,andKumar,V.(2001).Modelingandcontrolofformationsofnonholo-nomicmobilerobots.IEEETrans.Robot.Autom.,17(6):905–908.
[7] Dimakis,A.G.,Kar,S.,Moura,J.M.F.,Rabbat,M.G.,andScaglione,A.(2010).Gossipalgorithmsfordistributedsignalprocessing.ProceedingsoftheIEEE,98(11):1847–1864.
[8] Farrow,N.,Klingner,J.,Reishus,D.,andCorrell,N.(2014).Miniaturesix-channelrangeandbearingsystem:algorithm,analysisandexperimentalvalidation.InProceedingsof2014IEEEInternationalConferenceonRoboticsandAutomation(ICRA2014),pages6180–6185.IEEE.
[9] Gazi,V.(2005b).Swarmaggregationsusingartificialpotentialsandslidingmodecontrol.IEEETrans.Robot.Autom.,21(6):1208–1214.
[10] IEEEComputerSocietyLANMANStandardsCommittee(1997).WirelessLANmediumaccesscontrol(MAC)andphysicallayer(PHY)specifications.IEEE.
[11]Heng,L.,andGao,G.X.(2014).NavigatingrobotswarmsusingcollectiveintelligencelearnedfromGoldenShinerfish.InProc.CollectiveIntelligenceConference(CI2014).
[12]Hilder,J.,Naylor,R.,Rizihs,A.,Franks,D.,andTimmis,J.(2014).Thepiswarm:Alow-costplatformforswarmroboticsresearchandeducation,pages151–162.Springer.
30
[13]Kernbach,S.,Häbe,D.,Kernbach,O.,Thenius,R.,Radspieler,G.,Kimura,T.,andSchmickl,T.(2013).Adaptivecollectivedecision-makinginlimitedrobotswarmswithoutcommunication.TheInternationalJournalofRoboticsResearch,32(1):35–55.
[14]Koren,Y.andBorenstein,J.(1991).Potentialfieldmethodsandtheirinherentlimitationsformobilerobotnavigation.InProc.IEEEInternationalConf.RoboticsAutomation,pages1398–1404.
[15] Lin,J.,Morse,A.S.,andAnderson,B.D.O.(2007).Themulti-agentrendezvousproblem.Part1:thesynchronouscase.SIAMJ.ControlOptim.,46(6):2096–2119.
[16] Luo,E.,Fang,X.H.,Ng,Y.,andGao,G.X.(2016).Shinerbot:Bio-inspiredcollectiverobotswarmnavigationplatform.InProc.InstituteofNavigationGNSS+conference(IONGNSS+2016).
[17]Merheb,A.-R.,Gazi,V.,andSezer-Uzol,N.(2016).Implementationstudiesofrobotswarmnavigationusingpotentialfunctionsandpanelmethods.IEEETrans.Mechatronics,21(5):2556–2567.
[18]Mondada,F.,Franzi,E.,andGuignard,A.(1999).TheDevelopmentofKhepera.InExperimentswiththeMini-RobotKhepera,ProceedingsoftheFirstInternationalKheperaWorkshop,HNI-Verlagsschriftenreihe,HeinzNixdorfInstitut,pages7–14.
[19]Olfati-Saber,R.(2006).Flockingformulti-agentdynamicsystems:algorithmsandtheory.IEEETrans.Autom.Control,51(3):401–420.
[20]Olfati-Saber,R.,Fax,J.A.,andMurray,R.M.(2007).Consensusandcooperationinnetworkedmulti-agentsystems.ProceedingsoftheIEEE,95(1):215–233.
[21]Rubenstein,M.,Ahler,C.,andNagpal,R.(2012).Kilobot:Alowcostscalablerobotsystemforcollectivebehaviors.InProceedingsof2012IEEEInternationalConferenceonRoboticsandAutomation(ICRA-2012),pages3293–3298.IEEE.
[22]Saska,M.,Vonasek,V.,Chudoba,J.,Thomas,J.,Loianno,G.,andKumar,V.(2016).Swarmdistri-butionanddeploymentforcooperativesurveillancebymicro-aerialvehicles.J.IntelligentRoboticSys-tems,84(1):469–492.
[23]VishaySemiconductors(2011).TEMD7100X01siliconPINphotodiodespecsheet.
[24]Sturza,M.A.(1988).NavigationSystemIntegrityMonitoringUsingRedundantMeasurements.Wi-leyOnlineLibrary.
[25]TorrellasSocastro,S.(2013).Cognitivestimulationthroughtask-orientedtelerobotics.Master’sThesis,UniversidadObertadeCatalunya.
[26]Vartholomeos,P.,andPapadopoulos,E.(2006).Analysis,designandcontrolofaplanarmicro-robotdrivenbytwocentripetal-forceactuators.InProceedingsof2006IEEEInternationalConferenceonRoboticsandAutomation(ICRA-2006),pages649–654.IEEE.
31
[27]Waydo,S.,andMurray,M.(2003).Vehiclemotionplanningusingstreamfunctions.InProc.IEEEInt.Conf.Robot.Autom.,pages2484–2491.
32
AppendixA:SchematicsofaShinerbotFigures26–29showtheschematicsofasingleShinerbot.
Figure26:ContentsofShinerbotSchematic
12
34
56
12
34
56
A B C D
A B C D
Dat
e: 1
9 Au
g 20
16Ki
Cad
E.D
.A.
kica
d 4.
0.7
Rev
: Si
ze: A
4Id
: 1/4
Title
: Shi
ner B
otFi
le: S
hine
rBot
.sch
Shee
t: /
Uni
vers
ity o
f Illi
nois
at U
rban
a-C
ham
paig
nAu
thor
: Eny
u Lu
o
pwr_
mot
or_l
ight
s
pwr_
mot
or_l
ight
s.sc
h
infra
red
infra
red.
sch
mic
roco
ntro
ller
mic
roco
ntro
ller.s
ch
Shin
erB
ot S
chem
atic
Batte
ry C
harg
ing
Circ
uit
Pow
er M
anag
emen
tH
-Brid
ge M
otor
Driv
ers
Ambi
ent L
ight
Sen
sor
RG
B LE
D
Infra
red
Com
mun
icat
ions
bet
wee
n ro
bots
Dis
tanc
e Se
nsin
g us
ing
rece
ived
sig
nal s
treng
th1
TX a
nd 3
RX(
for b
earin
g se
nsin
g
Mic
roco
ntro
ller f
or th
e ro
bot -
usi
ng M
SP43
0G25
53
33
Figure27:ShinerbotSchematic-Power,LightSensor,H-Bridge,LED
12
34
56
12
34
56
A B C D
A B C D
Date
: 19
Aug
2016
KiCa
d E.
D.A.
kica
d 4.
0.7
Rev
: Si
ze: A
4Id
: 2/4
Title
: Bat
t Cha
rgin
g / P
ower
Man
agem
ent /
Mot
or D
river
s / R
GB
LED
/ A
mbi
ent L
ight
Sen
sor
File
: pwr
_mot
or_l
ight
s.sc
hSh
eet:
/pwr
_mot
or_l
ight
s/U
nive
rsity
of I
llino
is a
t Urb
ana-
Cha
mpa
ign
Auth
or: E
nyu
Luo
Leg1
Leg2 Le
g3
Leg4
En1
Iset
2
Batt
3AD
P4
Stat
5G
nd6
Gnd
7
Gnd
8
U1
AAT3
681A
8-tfs
oj
+BAT
T
12
D3 LED
0603
R1150
0603
R210
.7k
1%06
03
Vin
1
Gnd
2/S
hdn
3
Bypa
ss4
Vout
5U2 TC
1185
Vin
1
Gnd
2/S
hdn
3
Bypa
ss4
Vout
5U3 TC
1185
+1
-2
BT1
BATTERY
Batte
ry C
harg
ing
and
Powe
r Man
agem
ent
C1 22uF
10V
0805
C2 22uF
6.3
V08
05
C3 2.2u
F 6.
3V06
03
C5 2.2u
F 6.
3V06
03
C6 2.2u
F 6.
3V06
03
C8 2.2u
F 6.
3V06
03
VDD
VAA
3.0V
dig
ital
3.0V
ana
log
+BAT
T
C4 470p
F 50
V06
03
C7 470p
F 50
V06
03
R33M
1%
0603
R41M
1%
0603
+BAT
T
C9
0.1uF 16V 10%0603
Mot
or H
-Brid
ge D
river
s+B
ATT
+BAT
T
C10
10uF
6.3
V08
05
C12
10uF
6.3
V08
05
C11 0.1u
F 16
V 10
%06
03
C13 0.1u
F 16
V 10
%06
03
BGR 1 2
34D4
RGB_
LED
Indi
cato
r RG
B LE
D
R5150
0603 R6300603 R7300603
VDD
Ambi
ent L
ight
Sen
sor
VAA
R82.4k 1% .1W
0603
C14 0.1u
F 16
V 10
%06
03
C15 0.1u
F 16
V 10
%06
03
1 2
M1CONN_2
1 2
M2CONN_2
AGND
LED_
G
LED_
B
LED_
R
AGND
VLig
ht
VBat
t
VAA_
EN
M_P
WM
_LM
_DIR
_LM
_PW
M_R
M_D
IR_R
C16 0.1u
F 16
V 10
%06
03
R90
ohm
0603
Conn
ect G
ND a
nd A
GND
at
the
micr
ocon
trolle
r GND
pin
for 1
50m
A Ch
arge
Rat
e
GND
A
R36
0 oh
m06
03
GND
ACo
nnec
t GND
nea
r Bat
t
VDD
Char
geSt
at
12D9
PHOTO_DIODE
-1
2 3
+4
D1BA
S400
2A
-1
2 3
+4
D2BA
S400
2A
IN_A
11
OUT
_Y3
2In
_A2
3
GND 4
OUT
_Y2
5
IN_A
36
OUT
_Y1
7
VCC8
U6
NL37
WZ0
7
ENA/
DIR
1Vs
2
ENB/
PWM
3N/
C4
GND
5O
UTB
6
OUT
A7
N/C
8
U4 ATT4
901-
1
ENA/
DIR
1Vs
2
ENB/
PWM
3N/
C4
GND
5O
UTB
6
OUT
A7
N/C
8
U5 ATT4
901-
1
34
Figure28:ShinerbotSchematic-InfraredTransmitterandReceivers
12
34
56
12
34
56
A B C D
A B C D
Date
: 19
Aug
2016
KiCa
d E.
D.A.
kica
d 4.
0.7
Rev
: Si
ze: A
4Id
: 3/4
Title
: Shi
nerB
ot: I
R C
omm
unic
atio
nsFi
le: i
nfra
red.
sch
Shee
t: /in
frare
d/U
nive
rsity
of I
llino
is a
t Urb
ana-
Cha
mpa
ign
Auth
or: E
nyu
Luo
12D5
IR_RX R1075k 1% .1W
0603VAA
V+4 V- 11
1
-2
+3
U7A TS
V914
R14
82k
1%06
03
R121K 1%
0603
C20
0.1uF0603
AGND
12D8
IR_RX R2375k0603VA
A
V+4 V- 11
8
-9
+10
U7C TS
V914
R25
82k
1%06
03
R241K 1%
0603
C24
0.1uF0603
AGND
12D6
IR_RX R1175k 1% .1W
0603VAA
V+4 V- 11
+5
-6
7
U7B TS
V914
R15
82k
1%06
03
R131K 1%
0603
C21
0.1uF0603
AGND
V+4 V- 11
+12
-13
14
U7D TS
V914
AGND
VAA
R26
100k
1%
0603
R27
100k
1%
R28
100k
1%
R305.1k 1%
0603
R33
100k
1%
0603
Infra
red
Rece
ivers
Infra
red
Tran
smitt
er
C22
0.1uF 16V0603 AG
ND
VDD C1
9
0.1u
F 16
V06
03
R18
300603
12
D7
IR_T
X
D
G
S
Q4
MO
S_N
IR_T
X_Si
g
IR_R
X_Si
g
RSSI
_0RS
SI_1
RSSI
_2
D10
DIODEsod523f
C29
0.1u
F 16
V0603
C28
0.1u
F 16
V0603
R19750k0603
35
Figure29:ShinerbotSchematic-Microcontroller
12
34
56
12
34
56
A B C D
A B C D
Date
: 19
Aug
2016
KiCa
d E.
D.A.
kica
d 4.
0.7
Rev
: Si
ze: A
4Id
: 4/4
Title
: Shi
nerB
ot -
Mic
roco
ntro
ller
File
: micr
ocon
trolle
r.sch
Shee
t: /m
icroc
ontro
ller/
Uni
vers
ity o
f Illi
nois
at U
rban
a-C
ham
paig
nAu
thor
: Eny
u Lu
o
DVCC
1
P1.0
/TA0
CLK/
ACLK
/A0/
CA0
2
P1.1
/TA0
.0/U
CA0R
XD/U
CA0S
OM
I/A1/
CA1
3
P1.2
/TA0
.1/U
CA0T
XD/U
CA0S
IMO
/A2/
CA2
4
P1.3
/ADC
10CL
K/A3
/VRE
F-/V
EREF
-/CA3
/CAO
UT5
P1.4
/SM
CLK/
UCB0
STE/
UCA0
CLK/
A4/V
REF+
/VER
EF+/
CA4/
TCK
6
P1.5
/TA0
.0/U
CB0C
LK/U
CA0S
TE/A
5/CA
5/TM
S7
P3.1
/TA1
.08
P3.0
/TA0
.29
P2.0
/TA1
.010
P3.6
/TA0
.220
P2.1
/TA1
.111
P3.7
/TA1
CLK/
CAO
UT21
P2.2
/TA1
.112
P1.6
/TA0
.1/A
6/CA
6/UC
B0SO
MI/U
CB0S
CL/T
DI/T
CLK
22
P3.2
/TA1
.113
P1.7
/A7/
CA7/
CAO
UT/U
CB0S
IMO
/UCB
0SDA
/TDO
/TDI
23
P3.3
/TA1
.214
RST/
NMI/S
BWTD
IO24
P3.4
/TA0
.015
TEST
/SBW
TCK
25
P2.3
/TA1
.016
XOUT
/P2.
726
P2.4
/TA1
.217
XIN/
P2.6
/TA0
.127
P2.5
/TA1
.218
DVSS
28
P3.5
/TA0
.119
U9
MSP
430G
2553
IPW
28
TSSO
P-28
C27
0.1u
F 16
V06
03
VDD
IR_R
X_Si
gIR
_TX_
Sig
C26
1nF
0603
R35
47k
0603
VBat
t
RSSI
_0
RSSI
_1RS
SI_2
VLig
ht
M_P
WM
_RM
_PW
M_L
M_D
IR_R
M_D
IR_L
LED_
G
LED_
R
LED_
B
VAA_
EN
VDD
1 2 3 4
P1CONN_4
Prog
ADC
inpu
ts:
V
Batt
- Bat
tery
Vol
tage
from
resis
tor d
ivide
r
RSS
I_0,
RSS
I_1,
RSS
I_2,
- in
stan
tane
ous
volta
ge o
f IR
RX s
igna
ls
VLi
ght -
vol
tage
from
am
bien
t Lig
ht s
enso
r
IrDA
Sign
als
- IR_
RX_S
ig, I
R_TX
_Sig
IR_R
S_Si
g tri
gers
inte
rrupt
for A
DC s
ampl
ing
of R
SSI
VAA_
EN -
Enab
le c
ontro
l of V
AA re
gula
tor f
or p
ower
man
agem
ent
LED_
R/G
/B -
PWM
out
put t
o RG
B LE
D
U
ses
timer
TA1
Mot
or o
utpu
ts to
H-B
ridge
Driv
ers
U
ses
timer
TA0
Char
geSt
at -
Indi
cate
s if
batt
is ch
argi
ng
Char
geSt
at
Top Related