Robot-Assisted Hospital Bed Transport
Sahit Erdis
Te hnology
at Örebro University
Sahit Erdis
Robot-Assisted Hospital Bed Transport
Supervisor: Prof.HansSkoog
Examiners: Prof.IvanKalaykov
The ontrollingofmobilerobotshasbeenandstillisinthefo usofresear hers.
Fuzzyrule-based ontrollersareextensivelyusedto ontrolrobots.Path
plan-nerswere reatedusingdierentsear hmethodsndingtheshortesttraje tory
betweentwopointsandtherebyavoidingre ordedobsta les.Thelowdegree
ofautomationinhospitalspromiseshugepotentialforin reasinglogisti al
ef-fe ts by the use of mobile robots. Espe ially the automated transport of a
hospital bed, whi h manually requires twopersons, would releasetime from
transportationa tivities.Theusageofamobilerobotjoinedtoahospitalbed
makes ontrolling onsiderablyharder.Thisdo umentdes ribesaproje t
a - omplishedbymein ooperationwithRobCabAB.Duringtheproje t,apath
plannerwas reatedand ontrollingstrategiestomoveamobilerobotjoinedto
ahospitalbedbetweentwolo ationswasimplemented.The ontrolling
strate-giesarenotonlybasedonsensorreadingsfromalasermountedonthemobile
robotandalistofwaypointsprovidedbyapathplannerbutin orporatesalso
theposition ofthebedin theenvironment.Therobot adaptsits behaviorto
ensureasafemovement onsideringthepositionofthebedwhi h isnotonly
determined by thekinemati s of the robot-bed model but also by an
exter-nalfor eintheformofapersonfollowingthetransport(humanintelligen e).
Developmentwasdone on the Stage simulator and is intended to be nally
transferred toarealrobotplatform. Tests doneinthesimulatorshowedthat
theimplementedmethods areappli ableto bringthebedto thedesiredgoal
I would like to give spe ial thanks to my supervisor Prof. Hans Skoog for
allowing me to arry out this proje t. He is the head of RobCab AB and
introdu ed me to the proje t. In addition, I thank Karol Nie hwiadow who
is aPhDstudent atRobCab AB forhelping me withproblems. Dr. Dimitar
Dimitrovisapost-do toralresear herattheAASSresear h enteratÖrebro
University. I thank him for his help on the kinemati model. Last but not
least I thankMarianne Eri ssonwho isanurseat the hospitalofEskilstuna
(Mälarsjukhuset-Viktoriaenheten,Eskilstuna)foranextensiveinterviewabout
1 Introdu tion 13
1.1 Motivation . . . 15
1.2 Limitations . . . 16
1.3 MainContribution . . . 16
1.4 Stru tureof theThesis. . . 17
2 DevelopmentEnvironmentandSimulationSetup 19 2.1 StageSimulator . . . 19
2.2 SimulationofthePersonFollowingtheTransport . . . 20
2.3 HostComputer . . . 20
2.4 Des riptionoftheSimulatedEnvironment . . . 21
2.5 Kinemati Model . . . 21
2.5.1 Robot-Trailer . . . 22
2.5.2 Robot-Bed . . . 23
3 APrioriKnowledge,HumanBehaviorandTheoreti alModels 25 3.1 CommonManualBedTransportation . . . 25
3.2 RobotAssistedBedTransport . . . 26
3.2.1 PassiveRobot Rea tion . . . 26
3.2.2 A tiveRobotRea tion. . . 26
3.3 PremisesandHumanBehavior . . . 28
3.4 Ex essiveWidthofaTrailer. . . 32
3.5 Rea tionDemandingSituations . . . 33
4 Basi sandSimilarCon epts 37 4.1 PathPlanning . . . 37
4.1.1 RobotPathPlanning . . . 37
4.1.2 TheA*Sear hAlgorithm . . . 38
4.2 FuzzyRule-BasedControl . . . 39
4.3 Clearan eMap . . . 40
4.4.1 GeneralizedVoronoiDiagramin Roboti s . . . 43
4.5 Context-DependentBlending . . . 44
5 Designand Implementation 47 5.1 ComputingaGlobalClearan eMap . . . 47
5.1.1 Appli ation-Spe i Choi eofDistan eValues . . . 49
5.2 PathPlanner . . . 51
5.2.1 Method forFollowingaPath . . . 52
5.2.2 TransformingBetweenMapandRobot Coordinates . . 53
5.3 Controller . . . 54
5.3.1 GoToBehavior. . . 54
5.3.2 Obsta leAvoidan eBehavior . . . 55
5.3.3 SafeBedBehavior . . . 55
5.3.4 Arbitration . . . 57
5.3.5 ConvertingFuzzySetsto ControlValues. . . 57
5.3.6 CornerDete tion . . . 58
5.4 Lo al Map. . . 60
6 Experiments 61 6.1 Simulation1"ExpertPerson" . . . 62
6.2 Simulation2"LazyPerson" . . . 62
6.3 Simulation3"UnknownObsta le" . . . 65
6.4 Simulation4"RemoveRegisteredObsta le" . . . 66
6.5 Simulation5"MarkerPoles" . . . 67
6.6 Experimental AnalysisofthePathPlanner . . . 68
7 Con lusion 71 7.1 Summary . . . 71
7.2 FutureWork . . . 71
7.2.1 Pro essthePlannedPath . . . 71
7.2.2 ModiedClearan eMap. . . 72
Introdu tion
Hospitaltransportsofgoodsandpatientsbetweendierenthospitalunitsare
a time- onsuming and laborious task. Mobile robots an be used to
trans-portgoodsautonomouslyforexampleinsidehospitals,o esorfa toriesand
therebydisburdenthestafromtime onsumingtransportations.Anyonewho
wasin ahospitalhasprobablyseenatransport of abed, with abedfast
pa-tientonit,betweentwohospitalunits.It takestwopersons tomaneuverthe
bed from onelo ation to another. An automationof su h atime- onsuming
bedtransportwouldgivea onsiderablerelieftothesta.RobCab AB[42℄is
anewlyestablishedresear hand development ompanyin theeld ofmobile
robotte hnologywithheado einVästerås/Sweden.Theba kgroundofthis
proje tisthat RobCabABwouldliketodevelopmethods toautomate
om-monmanualhospitalbedtransports.Thisproje tisa omplishedforRobCab
ABforthatpurposeandseeksmethodstosubstituteonepersonina ommon
manualbedtransportbyarobotwhosemajortaskis topullthebed, andin
this waydisburdenthehospitalstabyoneperson.Theintentionisthatthe
remainingperson,followingthetransport,assiststhetransportat therearof
the bed. In addition, this robot-bed transport shall be donewithout having
any sensor devi es mounted on an ordinary hospital bed. There is a reason
why webelieve that this kindof anautomated bed transport with ahuman
helperismorerealizablethanafullyautomatedtransport.A ommonmanual
bed transport is a omplished by two persons, be ause the umbersomeness
of ahospitalbed makesatransportby onlyoneperson notfeasible without
assistan e(bytru ket .).Webelievethatabedtransporta omplishedbya
robotalone,wouldbequitedi ult,nottosayimpossible,evenusingthestate
oftheartroboti smethods.Havinginmindthepossibilityoffailureduringa
transportbyonlyonerobot, webelievethat the ombinationof arobotand
apersongivesadvantages.Su harobotbedtransporthas ertainsimilarities
withatransporta omplishedbyatrailertypemobilerobot, i.e.atransport
donebyamobilerobotatta hedto atrailerthroughajoin.Althoughseveral
mo-Figure1.1:Robot-assistedhospitalbedtransport.
bilerobots[25,26,27,19,29,39,32,55,57,30,40,66,13,47,35,63℄noone
has applied it to the problem of bed transport. The main hallenge of su h
arobot bed transport isto buildarobust ontrol programthat reliably
per-forms omplexmovementsinspiteofenvironmentalun ertainties,andtaking
into a ount the safety of the bed by onsidering its position inuen ed by
the person followingthetransport. Theinterplay betweentherobot andthe
remainingpersonasks forthedevelopmentofmethodsthat bothin planning
andexe utiontakeintoa ountthesafetyofthebedaswellas hangesinthe
orientationofthebed donemanuallyduringthetransport. Thisrequirement
laimsadenitionofintelligentbehaviorindierentsituationswhi h anthen
be onsideredduringthetransport.Itispartofthisproje ttogivedenitions
forbehaviorsduringatransport,i.e.howshouldtherobotandhowshouldthe
person behavein dierent situations toensurea safetransport. Thisproje t
is based on simulations. At the beginning of the proje t, the intention was
to evaluate the methods found in this proje ton areal robot platform like
theone urrentlydevelopedatRobCab AB.This ouldunfortunatelynotbe
a hieved,be ausethedevelopmentofthe methods des ribedheretook more
time than we expe ted. For this reason, all laboratory work has been done
onStagewhi his arobot simulator.As aresultof themethodsgivenin this
proje t,theauthor re ommendsan extensionof this proje twhere the
te h-niquesfoundhereareexploredonarealrobotplatformliketheone urrently
developed at RobCab AB. In order to rea h the above des ribed robot-bed
transport,a ontrolprogramwasdevelopedimplementingalgorithmstoplan,
navigateand ontrol themotion ofa mobile robot onne tedthrough ajoin
to abed.The programtakesinto a ountassistan e,in theform of sidewise
1.1 Motivation
The main task of a hospital is to are for si k people and that is why the
are-relatedpro essesarethemostimportantones.Thereareseveraldierent
support pro essesin theform of, among other things, logisti s.Fordo tors,
in general,tobeabletooperaterequiresthepatientstobetransferredtothe
operatingroom.Throughinterviewsandobservationsinawardofthehospital
ofEskilstuna(Mälarsjukhuset,Eskilstuna)weweretoldthatthehospitalsta
feel manualbedtransports inee tive,tiring, time- onsumingand altogether
as something they would like to beable to handle in a better way. A
om-mon manual bed transport, where twopersons are employed, takes at least
5-10minutesfor a"singletrip".Duringtheinterview, wegottheimpression
that bedtransports needto be ome moree ientin order tohelp to redu e
osts, waiting times andimprovethe apa ityand theuse ofresour es.This
impressionledusto look loseratthesituation oftheapparentlowdegreeof
automation in hospitalsand to what extentautomation ould ontribute
re-lievingthehospitalstafromtransporta tivities.DanielGåsvaerandPatri k
Phuainvestigateandevaluateina asestudy[12℄thepotentialoflogisti s
au-tomationinhealth areasameansofin reasingtheinterlogisti ale ien y.
The study shows that only 30%of the working time of the hospital sta is
spenddire tlyonpatient-relatedtasksandthatthereistremendouspotential
to releaseresour esby ndingvarious automationoptionsinthe hospital
lo-gisti s. As a partof their study they investigated twodierent wards and a
unitfortransportandservi efromthehospitalofEskilstuna(Mälarsjukhuset,
Eskilstuna)inordertogetinsightatthepresenttimeataSwedishward.One
of thehospital wardsinvestigated in [12℄ wasthe "Viktoriaenheten",award
where we ouldinterview aleading person aboutpatient transports aswell.
Theunitfortransportandservi eofdis ussisanexternunitthatmanagesthe
transportationandservi eissues.Thefa tthattheunitisexternalimpliesthat
the hospitalbuys servi esfrom that unit.A ording[12℄ atthe urrenttime
this unit perform about15000patient transportsperyear, whi h represents
about 87% of the total patient transports. The hospital sta also performs
many of these transportsthemselvesbe ausethe transport department does
notmanageto a omplishthelargenumberofpatienttransportsorbe ause
thetransportsarearrangedattooshortanoti e.Ofalltransportsdoneabout
55%are bedtransportswhile 45%are wheel- hairtransports. As aresultof
thela kof availability oftransportand servi ethestahaslesstimeforthe
patients.Manyhospitals are oftenverylarge, whi h means longjourneys in
the orridorsandelevators,whi hindi atestheextentofhospitallogisti s,as
wellasitspotentialbyworkinge iently.GåsvaerandPhua ometothe
on- lusionthathealth areisanindustrythatisingreatneedofe ientlogisti s
solutionsinwhi he onomi pressuredemandsmoree ien yin health are.
than the other way around. We want to release the hospital sta as mu h
as possible but leave the last de ision about the ontrol of the transport to
theperson.Arobotleadingthetransport atthefrontof thebedwould take
overthestrenuousworkofdrawingthebedandsteeringthefrontofthebed.
Furthermore,thepersonat therearhasabetteroverviewoverthetransport,
and is able for instan e to interrupt the transport qui kly when dangerous
situations arise.
1.2 Limitations
Patients may in the future, to someextent, be ome transported
auto-mati ally when their medi al ondition permitsthis, whi h will save a
lot of resour es. This question has also an ethi al and amoral aspe t
besidete hnology,and thereforedependsonhowopen theso iety isto
newte hnologies.Thisproblemisnotaddressedin thisproje t.
Thelo alizationproblemisnotaddressedinthisproje t.Lo alizationis
alreadysolvedontherealrobotplatform urrentlydevelopedatRobCab
AB. Ina nutshell, lo alization is there done by odometry, additionally
orre tedbyalaserrangenderwhi hs anstheenvironmentand
om-paresthes an withanenvironmentalmap.
1.3 Main Contribution
Thespe i ontributionsofthisthesisare:
Intelligentbehavior- denitionsare givenforhowrobotsand how
per-sonsshould behaveduring anautomatedhospitalbedtransport.
Pathplanner-theA*sear halgorithmwasfurtherdevelopedtoapath
planningalgorithm sear hingfor apathholding maximum learan eto
obsta les.
Clearan emap(CM)-amethodwasdevelopedtoe iently omputea
globalCM.
Fuzzyrule-based ontroller-afuzzy ontrollerwasdevelopedtakinginto
a ount, beside "obsta le avoidan e" and "go to the next way point"
behavior,thebehaviorofthepersonfollowingthetransport.
Cornerdete tion-amethodwasdevelopedto dete t,duringthe
trans-portofthebed, onvex ornersby omputingdistan esbetweenthebed
andobsta les.
Path following method - amorerobust method for path following was
developedusinglook-ahead.
Extendeddefuzzi ationmethod -topreventtoolowspeedsbeingsent
totherobotanextendeddefuzzi ation methodwasdeveloped.
1.4 Stru ture of the Thesis
Thisthesisisorganizedasfollows:
Chapter 2 Des ribesallthe omponentsinvolvedinthesetupusedtosimulate
a robot-bed transport, su h as the software and hardware interfa es,
thesimulatedenvironmentandthekinemati modelused tosimulate a
robot-bedtransport.
Chapter 3 This hapter mirrorsapartof thede isionmakingpro ess ofthe
proje t.First,itgivesanoverviewofthepriorknowledge atthe
begin-ningoftheproje t,i.e.whatkindofproblemswehaveseenandthe
pos-siblesolutionswedis ussed.Then,thegatheredinformationofavisitat
thehospitalofEskilstuna(Mälarsjukhuset-Viktoriaenheten,Eskilstuna)
is presented leading to a denition for "intelligent" behavior during a
hospitalbed transport. Finally, somedeveloped ideasare proposed
re-gardinghowtheproblemsemergingduringarobot-bedtransport anbe
solved.
Chapter 4 Presentsa olle tionofbasi sfromliteraturewhi h anbebrought
in onne tion with this proje t. An introdu tion to some well known
basi on eptsinroboti s ontrolisgiven.Knowledgeaboutthesetopi s
isneeded to understand the on epts des ribedin subsequent hapters
ofthisdo ument.
Chapter 5 Dis usses how the methods proposed in Chapter 3 were
imple-mented.
Chapter 6 Veriesthefoundsolutionsonsomesimulatedruns,andalso
om-paresthedevelopedpathplannerwithanexisting one.
Development Environment and
Simulation Setup
This hapterdes ribesallthe omponentsandingredientsinvolvedinthesetup
used to simulate a robot-bed transport. Firstly, the software-and the
hard-ware interfa esare des ribed. Se ondly, a short des ription of the simulated
environment is given. In the last part of this hapter, the kinemati model
usedto simulatearobot-bedtransportisdes ribed.
2.1 Stage Simulator
Stageisarobotsimulator.ItispartofthePlayerProje t[16,17,62,46℄whi h
is aproje tto reate software forresear h into roboti s and sensor systems.
There areplentyofexamplesofwhere theStagesimulatorhasbeenusedfor
resear h(e.g.[59,31,48,33,10,38,9,18,5,41,1,44,34℄).AllPlayersour e
ode is distributed under the terms of the GNU General Publi Li ense v2
("GPL"), i.e. the sour e ode is free software and the user hasthe freedom
to run, opy, distribute, study, hange and improve the software. Stage is a
multi-robotsimulatorthatprovidesfa ilitiesfor reatingyourownbitmapped
environments for experimenting with robots. Various sensors and a tuators
are provided, in luding sonar, s anninglaser range nder, olor-blob vision,
odometry,grippers, bumpers/whiskersand mobile robot bases.One anuse
Stage in three dierent ways; one,and probably themost spreadmethod to
useStage,isto ontroltheStagedevi esthroughPlayerwhi hisanetworked
robotserver.These ond is to use the ompiled "Stage"program that loads
arobot ontrolprogramfrom alibrary. Finallyone anwrite one'sown
sim-ulator byusingthe"libstage"C++libraryandtherebyrunand ustomizea
Stage simulationfrom inside programs. Unfortunately, the do umentationof
Stageprimarilydes ribeshowtousethesimulatorin onjun tionwithPlayer.
Apartfrom that,there areexample ontrollersin<stagesr >/examples/ trl
presentsanexample ontrollerin [61℄appli ablefor beginners.Regardlessof
inwhatwayoneusesStage,onealwaysneedsades riptionoftheworldtobe
simulatedbyStageintheformofaso alledworldle.Stageloads theworld
le on start-upand reatesentities as indi ated in the le. Depending on in
whi hwayoneusesStagetheworldleisgivenasthelast ommandline
ar-gumentwheninvokingStageorhisownwrittensimulatorprogram.Appendix
Apresentsasimpleworldle,indi atingthreeentitiesusing
type(
...)
entries. Theworldle reatesaStagewindowwithasizeof700x700pixels enteredat position (10,7)ofthes reen.Thiswindowshowsaoorplanwiththeset
size in m and itsorigin at (10,7.5). The oorplan is stored in the bitmap
le
hospital
1_200x
200X
.ppm
.Thelastentry reatesapositiondevi enamed "r0"with alaser atta hed to it. This position devi e is amobile robot withtheinitialposition(1.750,1.000)andorientationof0.000indegree.Alsonote
that sometime onstantsareset inthebeginningoftheworldle.
2.2 Simulation of the Person Following the Transport
In order to simulate the person ontrollingthe rear of thebed thegamepad
shown in gure 2.1 was set up, used for simulating a sidewise movement,
ontrollingthespeedet .
Figure2.1: Gamepadsimulatingtheperson ontrollingtherearofthebed.
2.3 Host Computer
The host omputerwasanA er Aspire 5920G,with a 2.2GHz IntelCore 2
Duopro essorand2GBRAM,withaNVIDIAGeFor e8600MGTgraphi s
2.4 Des ription of the Simulated Environment
During this proje ttwoposition models simulatingmobile robot bases were
used, one to simulate the robot pulling the bed and the other to simulate
the bed itself. Thesimulatedrobot is set to dierentiallike aPioneer robot
where speed and turn rate are ontrolled. A simulated s anninglaser range
nder su hastheSICKLMS200wasatta hedtothesimulatedrobot.There
werenodevi esatta hedtothepositionmodelsimulatingthebed.Moreover,
hospitalbedsareusuallyomni-dire tionally ontrollable,andforthispurpose
the model of the simulated bed was set to omnidire tional. The oor plan
reatedin this proje tmirrors orridorsand premisesin ahospitalwhere an
attemptwasmadetoholdarealisti ratiobetweenthebedandthe orridors.
Figure2.2showsthesimulatedenvironmentusedfordevelopmentduringthis
proje t,with the simulated robot at the oordinate (10, 2.5).The square at
the oordinate(13,2) isanunre ordedobsta le.
Figure2.2:SimulatedEnvironmentwiththerobotat the oordinate(10,2.5)
andanunre ordedobsta leatthe oordinate(13,2).
2.5 Kinemati Model
Inthe ontextof this work,amodel is a onstru tthat representsasystem,
in ontrast to a dynami model without onsideration of the ir umstan es
leadingtothemotion.
2.5.1 Robot-Trailer
Duringthis proje takinemati modelof anonholonomi mobile robot with
atrailerbasedonS.K.Agrawalet al.[25℄wasapplied. Figure2.3showsthe
s hemati ofthe system andits onguration.The trailer is atta hedat the
enter
O
ofthemobilerobotthroughasimulatedrotationaljoint.Thesystem's ongurationsqareshowninequation2.1:q
=
x
1
y
1θ
1θ
0T
(2.1)
Asindi atedingure2.3,
C
isthemidpointoftherearaxisofthetrailer andθ
1 and
θ
0
aretheheadinganglesofthetrailerandtherobot.Thedistan e
betweenthemidpointoftherobotandmidpointoftherearaxisofthetrailer
is
L
. Observing the geometri relationshipsof themodel, the position ofthe trailerisgivenbyequations2.2.x
1= x
0− Lcosθ
1y
1= y
0− Lsinθ
1(2.2)
Equation 2.3 shows the kinemati model of the system where
S(
q)
is a matrixspanningthenullspa eofC(
q)
, i.e.the ongurationofthepointC
..
q
= S(
q)
v(t)
(2.3)Velo ityisinthemodelrepresentedastheheadingspeed
v
andtheturning speed .θ
0 of therobot. v(t) =
h
v
.θ
0i
T
(2.4)From2.4itispossibletondS(q)writtenas:
S(
q) =
cos(θ
0− θ
1)cos(θ
1)
0cos(θ
0− θ
1)sin(θ
1)
0sin(θ
0− θ
1)/L
0 0 1
(2.5)Figure2.3:Thekinemati modelofatrailertypemobilerobot.
2.5.2 Robot-Bed
Inordertosimulate asidewisemovementofapersonassistingthebed
trans-portthe setupgamepad, shown ingure2.1, ontrolstherearof thebedas
indi atedingure2.4.Thesignalssentbythegamepadwereset additionally
after velo ity is set for the bed. Angle
α
is measured and depending onthe gamepad signalanewpositionfor thebedis omputedandset a ordingtoFigure2.4:Thekinemati modelofthesidewisemovementofthebed.
x
1= x
0+ L ∗ cos(α + gamepad
_signal)
y
1= y
0+ L ∗ sin(α + gamepad
_signal)
θ
1= α + gamepad
_signal
(2.6)A Priori Knowledge, Human
Behavior and Theoreti al Models
This hapter des ribes parts of the de ision making pro ess of the proje t.
First, it gives an overview of the prior knowledge at the beginning of this
proje t, i.e. what kind of problems we have seen and the possible solutions
we dis ussed. Then, the impressions and gathered information of a visit at
the hospital of Eskilstuna (Mälarsjukhuset-Viktoriaenheten, Eskilstuna) are
summarized and presented, leading to a denition for "intelligent" behavior
during a hospitalbed transport. At theend of this hapter,somedeveloped
ideasin form of theoreti alsolutionsare proposed whi hwebelieve ould, if
rightimplemented, ontributeto solveproblemsemergingduringarobot-bed
transport. It is intended to des ribethese approa hesand methods but this
doesnotmeanthatthemethodsshownhereareimplementedone-to-one.The
implementationisdes ribedin Chapter5.
3.1 Common Manual Bed Transportation
Nowadays,a ommonmanualbedtransportis arriedoutbytwopersons,one
in frontof thebed ontrollingthe frontofthe bed andthe otherat therear
ofthebed ontrollingtherearofthebed.Wereferheretosu hamanualbed
transport asahuman-humanbedtransport. Theperson ontrollingthefront
ofthebeddoesthisbypullingin thefrontforwardand sidewise.Theperson
followingthetransportattherearofthebed ontrolsthisbypushingthebed
andpullinginitsrearsidewise.
3.2 Robot Assisted Bed Transport
Substituting thepersonin front ofthe bed by arobot would imply thatthe
robothastotakeoverthetasksofthepersondes ribedabove.Theremaining
intherearofthebed.Apersonfollowingarobot-humanbedtransportatthe
rearwould havetoholdthebedina ertaindistan eto thenearestobsta les
prettysimilar towhentwopersonswould arryoutthetransport.Therobot
shall of ourse adapt its behavior (in a ertain margin) to the amount of
adjustmentdonebytheperson ontrollingtherearofthebed uptostopthe
transport. A perfe t path for su h a robot-bed transport would not be the
shortestpossibleaswouldbethe aseforarobot overingthedistan ealone.
Havingthis behaviorof keepinga ertain distan e betweenthe bed andthe
nearestobsta lein mind, therea tionof therobot to deviationof this ould
roughlybedividedintotwo ases:passiveanda tiverobotrea tion.
3.2.1 PassiveRobot Rea tion
Imaginefortherst asethattherobotplansapaththatholdsa ertain
dis-tan eto thenearestobsta les bothin straightahead orridorsandin urves.
Therobot ouldrea tinamorepassivewaywherethevelo ityofthe
trans-port isredu ed upto stopthetransport when thedistan e betweenthe bed
and an obsta lefalls belowa ertain threshold. This would bea way to
sig-nal the following person to rea tmore a urately and bring the rear of the
bedin abetterposition.Sin etherobotwouldstopwhen thebed toomu h
approa hesobsta les,thissolutionwouldprovideahigherse uritylevel.This
wayof ontrollingthevelo ityis furthermoreeasierto implementbe auseit
onlyneeds agradualredu tionof thevelo ity in proportionto falseposition
ofthebed.Themajordrawba kofthisapproa hisitspassivity,i.e.therobot
would not modify its own traje tory asa rea tion to adjustments (sidewise
movement)donebytheperson.
3.2.2 A tive RobotRea tion
A se ond way of robot behavior ould be more a tive. The robot ould try
to rea t by modifying its own traje tory to the amount of the adjustment
(side-wisemovement)donebytheperson.Consideringthisse ondapproa h,
pathplanningand ontrollingdependshighlyontheexpe tedbehaviorofthe
personfollowingtherobot-bedtransport.Therobot ouldthentrytorea tto
deviationfromthisassumptionanddepartfromitsplannedpath.Letushere
again a ton theassumption that the optimaldistan e betweenthe bedand
obsta les is a ertain distan e. The behaviorof theperson ould bedivided
into two asesaswell:anlazyandana tiveperson.
One ouldexpe tinpathplanningthatthepersonwillfollowthetransport
at therearof thebed,but willbehavesomewhatslowand,mostofthetime,
will not move the rear of the bed sidewise. Let us here all su h a person
for a"lazyperson".Not maneuveringthe rearof thebed at allwouldmean
atraje tory that tries,when exe uted,to hold, in everysinglesituation,the
desireddistan ebetweenthebedandthenearestobsta les.Inotherwords,the
safety(holdinga ertaindistan etoobsta les) ofthebedwouldlieprimarily
intheresponsibilityofthepathplanner,whi hwouldtrytondapathwhi h
ould be exe utedwithouthelp of theperson.Inthose situations duringthe
transport where the person intera ts by sidewise movement the robot ould
modifyitstraje toryandshort utitsownpathwhenadvantagesshowup.This
wouldsavetimeandshortenitswaytothegoal.Leavingthesafetyofthebed
to thepathplanner would releasethefeedba k ontrol loop(f l)mostofthe
time from rea ting to movements done by the person. The f l ould mostly
ontrol the "go to next way point" behavior and the "obsta le avoidan e"
behavior.Ontheotherhanditwouldbequitedi ulttondapathplanning
algorithm that is able to plan a traje tory under the assumption that the
personfollowingthetransportdoesnotrea tatall.Su hanalgorithmwould
haveto onsiderall onstraintsofatrailertypemobilerobot.Forexample,it
wouldhavetoplanforveeringtoavoidhangingon orners.Havingthenarrow
orridorsofhospitalsinmind,thepathplannerwouldpossiblynotalwaysnd
a feasiblepath to the goal.In narrow orridorsveeringmight notalwaysbe
possibleandinsu h asesthealgorithmwouldhavetoplanforapathmoving
the robot straight ahead before turning. This is indi ated in gure 3.1. For
obviousreasonsapprovedleast- ost pathmethods for pathplanninglikethe
A* sear h algorithm would not work here. A path, returned from the path
planner, had probably to be reworked after path planning. When avoiding
unre ordedobsta lethef lwouldhaveto,besidethebasi obsta leavoidan e,
takeovertheveeringpro essasdes ribedabove.
(a) (b) ( )
Figure3.1:(a)Veeringneeded.Thereisspa eforsu hamaneuver.(b)Angle
betweenrobotandbedheadingdire tionislargeandatthesametimeobsta le
aside. Safethe bed byturning to theoppositeside. ( ) Turning,but veering
notpossible.Goaheaduntilthebedisatthesameheightasthe orner.
Anotherassumptionaboutthebehaviorofthepersonfollowingthe
trans-portmayassumein pathplanningthat thepersonmorea tivelyparti ipates
in the transport. We dene heresu h aperson asan "expert person". One
Thealgorithmforpathplanning ouldthenbesimplerlikee.g.plana
traje -torythatkeepstherobotbothinstraight-ahead-passagesandin urvesinthe
middle of the orridor, i.e. the robot would most of the time hold the same
distan etothenearestobsta lessurroundingit.Thepathofthebedwouldin
turn movementsdeviate fromthat of therobot and thisshould be orre ted
bythepersonbysidewisemovement.Therobotwould havetorea ttothose
few aseswherethepersondoesnotrea tadequately.Therobot oulddepart
fromitsplannedpathwhenthedistan eofthebedtoobsta lesdeviatesfrom
theoptimal distan eand trytobring thebedba kto that optimalposition.
It oulde.g.whenthebeddeviatestotheleftsideifpossibleturnmoretothe
rightside and in su h away bringthe bed ba kon tra k.The safety ofthe
bedisin thisapproa hmoreinthedutyofthe ontrollerwhi hisresponsible
to he k where the bed is and orre t the false position of this. This would
of ourse burden the f l and would resultin a slowerloop. It also makesit
ne essaryin every ontrol loop to know theexa t position ofthe bed whi h
mightbedi ultbe auseofthea umulatingerrorof ommonposition
esti-mationmethods.Ontheotherhandwithsomemodi ationon ommonpath
sear hing algorithms it would be easier to reate a path planner that leads
the robot all thetime in the middle of the orridors. Ifweexpe t to havea
grid map des ribingthe environmentone ouldfor everysingle ell whi h is
free,i.e.notanobsta le ell, omputethedistan etothenearestobsta le ell.
Thisknowledge ouldbeusedintwoaspe ts.Firstit ouldbeappliedinpath
planning to get a path whi h fullls the requirement of a ertain learan e
to obsta les.Se ond,thef l ouldusethis knowledgeand,ifnotdonebythe
personfollowingthetransport,maneuverthebedinthedire tionofthose ells
withthehighestdistan evaluestothenearestobsta le.Aspe ial asewould
bewhenunre ordedobsta lehadtobeavoidedduringthetransport.Su h
o - asionswouldmakeitimpossibleto determinethemiddleofthepassageway
from thegridmap.Insu h asestherobot sensors ouldbeusedto ompute
distan es to obsta lesandderivefrom this data theoptimalposition forthe
bed.
3.3 Premises and Human Behavior
Inorderto getanimpressionofhowa ommonbedtransportationis arried
outandhowhumansbehaveduring this, aleadingperson fromthesta ofa
ward(Viktoriaenheten) of thehospital of Eskilstuna (Mälarsjukhuset,
Eskil-stuna)wasextensivelyinterviewed.Elevators,doors, orridors,bedset .were
measured,and pi turesweretakento getafeeling ofhowlargetheroomfor
maneuveringis.Moreover,amoviewasre orded,showinga ompletehospital
bedtransportfromthestationtotheradiologydepartment.
Figure 3.2showsa ommon hospitalbed that wasused during the
simultaneously. Common doors passed during a bed transport havea width
of 105 m. The smallestelevator whi h hasto be used during the transport
betweenthestationandtheradiologydepartmenthasadoorwidthof110 m
andis183x260 mlarge.Thenarrowest orridorhasawidthof250 m.Figure
3.3 showsthepremises in thehospitalofEskilstuna. Notethelongdistan es
(frame3.3d)whi hhaveto be overedduringatransport.
Figure3.2:Hospitalbed.
Themoviewasanalyzedtodenegeneralbehaviorpatternsandmaneuvers
duringabedtransport.Spe ialattentionhasbeenpaidtohowthe
transporta-tion sta maneuver the bed in straight-ahead-driving, in turn movements,
when entering and exiting elevators as well as when passing through doors.
Figure 3.4showsa oupleofs reenshotstakenfromthemovie.Frame3.4a
-3.4 showthebehaviorofthetransportationstawhendrivingstraightahead.
It anbeseenthat both persons tryto keepthe bed asfaraspossibleaway
fromthewalls,i.e.holdthebedinthemiddleofthe orridor.Frame3.4d-3.4f
showturnmovementsatdierentpla esofthehospitalduringthetransport.
Again,it anbeseenthat theattempt ismadetoholdthebedasfaras
pos-sibleawayfromobsta les.Frame3.4g-3.4i showhowthebedismaneuvered
whenpassingthroughdoors(3.4gisthedoorofanelevator).Hereit analso
beseenthat thetransportationsta triesto keepthebedin themiddle, i.e.
asfaraspossibleawayfromobsta les.Frame3.4jshowstheneedtointerrupt
thetransportpro essbe auseoflo keddoors whi hhavetobeunlo kedand
opened manually. The analysis showed that, both in straight-ahead-driving
andin turnmovements,personstrytokeepthebed inthemiddleofthe
(a) (b) ( )
(d) (e) (f)
Figure3.3:PremisesinthehospitalofEskilstuna.
Poli y"applies,i.e.persons arryingoutthetransportalwaystryto keepthe
bedasfaraspossibleawayfromobsta lesinordertoexe utenavigationtasks
(a) (b)
( ) (d)
(e) (f)
(g) (h)
(i) (j)
Figure3.4: Generalbehaviorpatternsduring amanualbedtrasport.
3.4a-3.4 behaviorwhendriving straightahead. 3.4d-3.4fbehaviorin turn
A typi al maneuverbefore entering an elevator is to bring the bed in a
position parallel to the long side of the elevator and then pushing the bed
inside it. Furthermore,itwasobservedthat whenleavinganelevator,aturn
movementisrststartedwhenthebedforthemostparthaspassedthrough
thedooroftheelevatortoavoidgettingstu ksidewise.Thesemaneuversare
shownin3.5.
Figure3.5: Typi almovements.
3.4 Ex essive Width of a Trailer
One hara teristi ofarobot-bed onstru tionasproposedhere,isthatthebed
isusuallywiderthantherobot.Thefa tthatthebeditselfdoesnothaveany
sensorswouldprobably ausetherobotto turnintotoonarrowpaths,where
thereisenoughspa efortherobot,butthebedwouldgetstu k.Markerpoles
areusedby arsortru ks.Theyarexedorretra tablesti ksusedas
driving-and parkingassistan e for ollisionavoidan e, mostlymountedonthefender
orners.Forexample,tru kswithmountingwiderthanthetowingvehi le,use
marker poles as indi ator for the width of the mounting. Two su h marker
poles are labeledby arrowsin gure3.6. Having su h arti ial markerpoles
on the robot would prevent it from moving into too narrowpaths. This, of
ourse,makesitne essarythatthedistan ebetweenthemarkerpolesandthe
nearestobsta leis known,whi h ouldbeprovidedbyalaserrangender or
Figure 3.6:Tru kwith markerpoles.
3.5 Rea tion Demanding Situations
The hara teristi sof the robot-bed kinemati model makes it ne essary to
dene situationswhere area tioneitherbytherobot orthepersonfollowing
thetransportisneeded.Asarststep,adistin tionismadebetweendierent
typesof ornersdepending ontheanglebetweenthewallsmetat the orner.
Figure3.7showstwokindsof ornerswherea ornerwithaninteriorangleof
90
o
is denedas" onvex orner"anda ornerwith aninteriorangle of270
o
asa" on ave orner"[43℄.
Figure3.7:Convexand on ave orners.
showstwosu h situations.Having thekinemati model from Chapter 2.5 in
mind andthefa tthat theplanned pathwill holdtherobot inthemiddleof
the orridor,thereisusuallynorea tionneededinthese situationsex eptfor
therobothavingtoavoidunknownobsta les.Now,imagineasituationwhere
thebedwill approa ha onvex orner.Su h a onvex orner ouldbelongto
a known orunknown obsta le.Figure 3.9 showstwo su h situations. In this
ase,rea tionisneededbe ausethekinemati s would notimply a orre tion
ofthebedpositionautomati allywithoutgettingstu konanobsta le(inthis
asethe onvex orner).
(a) (b)
(a)
(b)
Figure3.9:Bedoutoftra k.Rea tionneeded.
Thenextquestion,in this ontext, ishowtodete t su h a onvex orner
when it is lose to thebed, in order to rea ton it.If onenow omparesthe
dierentsituationsingure3.8and3.9andtriestondtheshortestdistan e
betweenapointalonganedgeofthebedandanobsta le,one anseeingure
3.8 that the shortestdistan e is alwaysbetween a orner of the bed and an
obsta lewhi h indi atesthat no onvex orneris losetothebed.Theother
situations in gure3.9 are dierent. The shortest distan e between the bed
andanobsta leisinthis aseagainbetweenapointalongtheedgeofthebed
andanobsta lebutnotbetweenanyofthe ornersofthebedandanobsta le.
Thisfa tindi atesa onvex orner losetothebed.Theremightbesituations
where this does not hold even though the bed approa hes a onvex orner.
Supposeasituationwherethebedispositionedattheendofa orridorinside
a urvea rossthe ourseof the orridor.Figure 3.10showssu h asituation.
Note, that the distan e between orner A and the nearest obsta le to A is
Figure3.10:Extended onvex ornerdete tionmethod.
aboveisusedtodete tsu ha orner.Observenow,pointCwhi histhepoint
alongthisleftedgewhi h isfarthestawayfromanobsta le.If,inarststep,
thelo ationofpointCis foundthenthe distan ebetweenCandits nearest
obsta le oldbeused to solvethis situation. First,we ould examinepoints
along these tion of theedge whi h liesbetween A and C.Forea h of these
points,we ouldndthedistan ebetweenthesepointsandthenearestobsta le
to these points. We ould omparethese distan es withthe distan eof A to
thenearestobsta letoAandthedistan eofCtothenearestobsta letoC.If
nolargerdistan eisfoundthanthedistan eofAandCtorespe tivenearest
obsta le,no onvex orneris loseto thisse tion oftheedge. We ouldthen
dothesamethingwithpointsalongthese tionoftheedgewhi hliesbetween
BandCandtrytondadistan ewhi hisshorterthanthedistan eofBand
Ctorespe tivenearestobsta le.Ifalsothisse ondtestfails,no onvex orner
is losetothewholeleftedge.Ingure3.10pointDhasashorterdistan eto
Basi s and Similar Con epts
This hapterpresentsa olle tionbasi sand on eptsfromliteraturewhi hare
relatedto thisproje t.Ashort introdu tionisgiven tosome,from literature
andresear h,wellknownbasi on eptsinroboti s ontrol.Knowledgeabout
these topi s is needed to understand the on epts des ribed in subsequent
haptersofthisdo ument.Formoreprofoundexplanationsofthese on epts
thereaderisreferredto relevantliteratureand tothereferen eslistedatthe
endof thisdo ument.
4.1 Path Planning
Pathplanningis a ommontermdes ribingmethods used to nda
ontinu-oussequen e(path)of onditions(states)betweenaninitial ondition(start)
and anal ondition(goal), whilerespe ting ertain restri tions.Path
plan-ningproblemsariseforexampleinoperationsresear h(mathemati alpro ess
optimization),s heduling(taskoptimization)androboti s.
4.1.1 RobotPath Planning
Path Planning in roboti sis used to determine aroute from one oordinate
lo ationtoanother oordinatealongasetofwaypointswhi his ollision-free,
feasiblegiventherobot'skinemati sanddynami sand,ifgiven,satisessome
extra onstraints (like e.g. be optimal with respe t to distan e orholding a
ertain distan e to obsta les). In roboti s the environment where the robot
movesinisoften alledworkspa e.Theworkspa eisusuallydividedintoaset
ofstatesrepresentedbyagridmap.Agridmapisagridde ompositionofthe
ontinuousstatespa ewith numbersin thegridnet.Thisredu es thesear h
areatoasimpletwodimensionalarray.Ea h ellinthearrayhasastatusof
either "walkable"(the ellisfree)or"unwalkable"(the elliso upiedbyan
obsta le). Supposethesear hstartsat thegoal ell
G
. Anumberin ellC
i
,j
representsthe ostoftravelingfromthegoal ellG
toC
i
,
j
toasapositioninwhi htherobot anbe, ommonlydes ribedbya oordinate
tuple like (
i
,j
) or (i
,j
,k
)depending onin whi h environmenttherobota ts (R
2
or
R
3). To hangefrom onestatetoanother, i.e.torea hfromonerobot
positiontoanother,astatetransformationisapplied.Theproblem ofnding
a ompletepathfromoneinitialstatetoagoalstate,i.e.fromonepositionin
anenvironmenttoanother,isformulatedasasear hinthestatespa e,i.e.as
asear hinallpossiblepositionsoftherobot.Sear hisdonebystartingatthe
start orthegoal elland he kingtheadja ent ellsand generallysear hing
outward until nding the start/goal. The order in whi h ells are explored
are referredto as sear h strategies. Various sear h algorithms are applied in
pathplanningandsomeoftheeasiestnon-heuristi onesarebreadth-rstand
depth-rst [50℄. Su h blind sear h methods usually tend to explore a huge
numberofstatesorneedlu kinsele tingagooddire tioninwhi htosear h.
Heuristi sear hmethodsuseinformationaboutthesear hspa eandaremore
ee tive.Examplesofheuristi sear hmethodsaretheso alledGreedySear h
andtheA*sear halgorithm[50℄.
4.1.2 The A* Sear h Algorithm
The A* (pronoun ed"A star")sear h algorithm is a best-rst graph sear h
algorithm that ndstheleast- ostpathfrom agiveninitial nodeto one goal
node.Thealgorithmwasrstdes ribedin1968byPeterHart,NilsNilsson,and
BertramRaphaelin[21℄.It onsidersboththe osttogoalandthe osttostart
whende idingwhi h elltoexpandnextinthesear h.Thepathisgenerated
by repeatedly hoosing the ell with the least total ost from a number of
andidate ells.Ifimplementedright,itisverye ientandguaranteestond
theshortestpathbetweengoalandstart.Thefun tionfor al ulatingthe ost
foragiven ell
C
anbewrittenas,f(C) = g(C) + h(C)
(4.1)where
g(C)
denotesthe ostfromtheinitial elltoC
andh(C)
isaheuristi estimate of the ost fromC
to thegoal. Theg(C)
fun tion is easy to al u-late; just fet h the valuelo ated inC
. Theh(C)
fun tion is tri kier. It an beshown that the A*algorithm gives anoptimal path ifh
is an admissible heuristi (thismeansthath
should neveroverestimate the ost to thegoal). Having ah
fun tion that underestimates the ost mu h, or in the extreme ase, is always0,will ripple theperforman e ofthe A*sear h. Thereforeh
should always al ulate the minimal possible ost. Constru ting theheuris-ti fun tion for out8- onne tivity sear h is notsodi ult; let
di
anddj
be the dieren ebetweenC
and thegoal in thei
andj
dire tions, respe tively. One realizes that the number of steps required to take diagonally to rea his
(Max(di
,dj) − Min(di
,dj))
. Ifthe ostofadiagonalstepisdened tobesc
d
,andthe ostofverti alorhorizontaltobesc
vh
, theadmissible heuristi fun tion is al ulatedby,Min(di
,dj) ∗ sc
d
+ (Max(di
,dj) − Min(di
,dj)) ∗ sc
vh
(4.2)4.2 Fuzzy Rule-Based Control
The pathplanner returnsalist onsisting ofa olle tionof map oordinates
that des ribesthe shortest path from start to goal.This listwill be handed
overtoafuzzyrule-based ontroller.Afuzzyrule-based ontrollerisa ontrol
system based on fuzzy logi and is a way of des ribing behaviors by using
a olle tion of rules, rather than using some omplex mathemati al model.
The ontrolleranalyzes rispinputvalues,gotfromatobe ontrolledsystem,
translates them into fuzzy variables, whi h are logi al variable that take on
ontinuousvaluesbetween0and1,andprovides,a ordingtothosefuzzy
vari-ables, ontrolparameterforthesystem.Fuzzyvariablesareoftenreferredtoas
"fuzzypredi ates"be ausetheymirrorthetruthofafa t.Inea h ontrolstep
a fuzzy rule-based ontroller performs three sub-steps: the fuzzi ation,the
fuzzy-inferen eandattheendthedefuzzi ation.Fuzzi ationisthepro ess
of generating values for sets of fuzzy predi ates using membership fun tions
giventheinputofasystemtothefuzzy ontroller.Fuzzy-inferen eisthe
pro- essof reasoningwhere on lusionsfromasetofIF-THAN rulesarederived.
Thesesetsofrulesare ommonlyreferredtoasa"ruleset"or,be ause anbe
seenasabehavior,asa"behaviorprodu ingmodule"andrepresentsa
knowl-edge base telling the system how to behave in dierent situations from the
view pointof a parti ularbehavior.The fuzzy predi atesset in fuzzi ation
arein thefuzzy-inferen estepusedintheIF-partsofthebehaviorprodu ing
module(s)tosetotherfuzzysets, ontainingfuzzypredi atesdedi atedtothe
ontrolparameterofthesystem,intheTHEN-parts.IF-partandTHEN-part
ofarulearealso alledthe"stimulus-part"andthe"response-part".Afuzzy
ontroller anuseoneormorebehaviorprodu ingmodules.In aseofmultiple
behaviorprodu ing modules, an arbitration poli y determines whi h
behav-ior(s) should inuen e the operationof the robot at ea h moment and thus
ultimatelydeterminesthetaska tuallyperformedbytherobot.Thisis done
in the simplestform by sele tingonebehaviorfor exe utionand ignoring all
other orin moreadvan ed form bys aling the output ofea h behavior
pro-du ingmoduleandde ideinthiswayhowmu hitinuen esfuzzypredi ates
dedi ated to the ontrol parameterof thesystemto be ontrolled.Afterthe
stepof fuzzy-inferen eabaseisgiven,in formoftheintheresponse-partset
the response partof fuzzy-inferen eset fuzzy predi atesare in the
defuzzi- ationstep onvertedinto risp ontrolvalues.Dierentmethods anbeused
for defuzzi ation.Oneof themostoftenused methods is Center ofGravity
(CoG).Abigadvantageofusingarule-based ontrolleristhattheyare
pow-erfuland versatile;e.g.implementinga ompletelynewbehaviorisrelatively
simple(justgureoutthefuzzypredi atestouse,and onstru ttherules).
Example
Ea hindividualbehaviorprodu ingmodulefullyimplementsa ontrolpoli y
for asingleobje tive,likefollowingapathoravoidingobsta les.Inasimple
formafuzzy ontrollerletstherobotmovetoa ertain oordinateandthereby
avoidingobsta lesbyusingforea hobje tiveonebehaviorprodu ingmodule
and ombiningtheiroutputinsomeway.Arule ouldbe:
IF obsta le to right AND NOT(obsta le to left) THEN turn left
Thestimulus-partoftheruleabove ouldbelongtoafuzzysetavoidobsta les
and oulde.g. ontainobsta le to right,obsta le to leftandobsta le
ahead.Theresponse-partoftheruleabovewouldinthisexamplebelongtoa
fuzzysetrotate,whi h ould onsistof turn left,no turnandturn right.
Therulewouldbelongtoabehaviorprodu ingmoduleusedtoobtainobsta le
avoidan e.Infuzzy logi ,unlike onventionallogi , thestatementsobsta le
to rightandobsta le to left an be partiallytrue (or false);0.0means
absolutelyfalse,and1.0absolutelytrue.Whenarulehasbeenevaluated,the
truth of its response anbe fet hed and stored. Theresponse aboveis turn
left.Ase ondfuzzysetusedintheresponse-part ouldbe alledvelo ityand
ould onsist of ba k,none, slowand fast.After thefuzzy sets rotate and
velo ityhasbeen al ulated,respe tivesetis onvertedintoasingleresponse.
E.g.ifbothturn leftandno turnis1.0(absolutelytrue) andturn right
is0.0, theresultingresponse shouldbesomethingin betweenturn leftand
no turn.
4.3 Clearan e Map
Inordertoa hievetheinChapter3.3des ribed"MaximumClearan ePoli y"
itisne essarytohavesomeformofdistan esbetweenadmissiblepositionsand
obsta lesintheenvironment.Clearan emaps(CM)areusedingame
develop-mentandtheroboti seldtoprovidethedistan etothenearestobsta lefor
anypointoftheworld[56℄.Examples anbefoundin[45,20,4℄.On esu ha
maphasbeen omputed,it anbeusedtondpathsthatpass,withmaximum
learan e,aroundobsta lesoruseitinafeedba k ontrollooptomaintainthe
positions of obje ts. Figure4.1 shows asmall map of20 x60 pixels andthe
are not lo ated. Note, in this CM the distan e for a diagonal step (
sc
d
) is dened tobeSQRT (
2)
andthedistan eforverti alorhorizontalsteps(sc
vh
) is dened to be 1.Depending on in whi h appli ation and to whi h purposetheCM is used,form andlook ofit mayvary by hangedvaluesfor
sc
d
andsc
vh
.Alsothea ura yofthedistan evaluesmaybeadjusted depending on need.Figure4.1:20x60pixelmapandits orrespondedCM.
4.4 Voronoi Diagram
A Voronoidiagram isade omposition of spa einto regions hara terized by
a predetermined amountof obje ts (e.g. points), alled sites. Ea h region is
dened byonesite and oversall pointsin spa ewhi h are, with respe t to
a ertain metri (oftenEu lidean distan e), loser to that site of theregion
thanatanyothersite.Su hregionsarealsoknownasVoronoi ells.Thereare
pointsinspa ewhi hhavemorethanonenearestsite,i.e.formtheboundaries
betweentworegionsandaVoronoidiagramisformedbyallthesepoints.The
Voronoivertexesornodesarethepointsequidistantto three(ormore)sides.
MoreformulaexpressedaVoronoidiagramintheplaneisexpressedasfollows:
if
P = {p
1,
p
2,...,
p
n
}
isa set of sites (points) in the plane,then the Voronoi diagramisthesub-divisionoftheplaneinton
distin t ells,oneforea hsite.Forea h ell appliesthat apoint
q
orrespondsto asitep
i
i dist(q
,p
i
) <
dist(q
,p
j
)
for ea hp
j
∈ P
withj 6= i
. Figure 4.2 shows asimple ase of a Voronoi diagram1
given a set of points in the plane. A deeper introdu tion
to Voronoi diagrams is e.g. given in [60℄. Some examples of appli ations for
Voronoidiagramsare,nearestneighborqueriesfordatastru tureproblemsin
omputationalgeometryandbusinessappli ationssu hasdeterminingwhere
to lo ateastoresoit isno losertoanyexisting storeof itskind.A further
appli ation forVoronoi diagramsis inroboti pathplanning,where theyare
usedintwodimensionalspa eusingasear halgorithmsear hingtheVoronoi
edges for a maximum learan e paths. Examples of appli ations in roboti s
using Voronoidiagrams anbefound in [6,54, 36, 15,58℄. Often someform
ofgeneralizationoftheVoronoidiagramisne essarytofulll theneedsofan
appli ation.Thereare multiple methodsto onstru taVoronoidiagramand
oneofthesimplestistondtheperpendi ularbise tionbetweenasite
p
and asiteq
. This separatesthe planeinto twohalfplanes, onewithpoints loser top
and one with points loser toq
. A Voronoi ell determined byp
i
an foundbyinterse tingallthehalfplanesthatseparateasitep
i
fromtheother sitesp
j
. Doing thisfor allthe points reates theVoronoidiagram.Although the pro edure aboveis easyto understand, it is, in termsof time, ine ientand moree ient methods are usually usedto omputeaVoronoi diagram.
StevenFortunedes ribesin[14℄aplanesweepalgorithm alledthe"Fortune's
algorithm". His algorithm uses a sweep line and a bea h line to generate a
Voronoidiagrams.Thesweeplinepassestheentireplaneand omputesthereby
a ompleteVoronoidiagram.Thisalgorithmisverye ientand on eptually
easytounderstand.
1
Figure 4.2: Voronoi Diagram generated using the Matlab fun tion
VORONOI(X,Y).
4.4.1 Generalized Voronoi Diagram inRoboti s
GeneralizedVoronoidiagramsusedinroboti s anbeseenasvariantsofCMs,
oftenonlyreferredto as learan emaps. Theyhave ommonpropertieswith
CMs des ribedin4.3,butalsoa oupleofdieren es.Bothprovidedistan es
toaspe ieddis retesetofobje tsinthespa e.CMsdothisforanypointof
themap, whereasdistan eshastobe omputedfrom Voronoi diagramsfora
ertainlo ation. Asaforementioned,aVoronoidiagram anbeveryusefulin
robotpathplanning.Restri tingarobotto traversetheedgesofVoronoi
dia-gramwillinsurethatitisasfaraspossibleawayfromthenearestsurrounding
obsta les.Forthat purposeitisne essarytorepresentsidesasobsta lesand
thatiswhygeneralizationsofVoronoidiagramsinroboti s on erntheshape
ofthesiteswhereVoronoidiagramsare onstru tedfortheboundariesof
sim-plepolygons.TheedgesoftheVoronoidiagram arethenequidistantbetween
thetwonearestobsta lesandthese edgesare idealforamobile robot'spath
whenmaximum learan eisdesired.PaulBlaerhasdevelopedanalgorithmfor
omputing safe paths for mobile robots using generalizedVoronoi diagrams.
The algorithm is rst des ribed and used in [6℄ and is also des ribed in [7℄.
Moreover,Blaerpresentsin[7℄aJavaappletthatdemonstratesthepath
plan-ning algorithm in a tion.Givena map with avarietyof polygonalobsta les
thataretobeavoided,Blaer'salgorithmdeterminesmaximum learan epaths
byusing anapproa hbasedonthegeneralizedVoronoidiagram foraplanar
Voronoiverti esforapath,withmaximum learan e,aroundobsta lesusing
Dijkstra's algorithm.Tond thegeneralizedVoronoi diagramfor the
olle -tionofpolygonsstoredinthemap,Blaerusesanapproximationbasedonthe
problem of omputingthe Voronoidiagram foraset of dis rete sites(points
along the edges of the polygons). First, he approximates the boundaries of
thepolygonalobsta leswithanumberofpointsthat resultfrom subdividing
ea hsideoftheoriginalpolygonsintosegments.ThentheVoronoidiagramfor
this olle tionofapproximatingpointsis omputed.Hetheneliminatesthose
Voronoi edges whi h haveoneor both endpoints lying inside any of the
ob-sta lestonallygetanapproximationofthegeneralizedVoronoidiagramfor
theoriginal obsta lesin themapformed bytheremainingVoronoiedges.To
usethediagraminpathplanning,onemust onne ttherobot'sstartandgoal
pointsto the diagram.Blaerhas developed twopossible ways to a omplish
this. The rstmethod involvesadding twosmallobsta les at the lo ationof
thestartandthegoalandinthiswayfor ethealgorithmtoin ludethestart
andgoalautomati allyinthediagram.Thismethodhasthedrawba kthatit
requires theVoronoidiagramtobere omputedea htimenewstartandgoal
points are entered. The se ond method (used in the applet) adds the start
and thegoalof therobotto thenearestVoronoiverti esby straightlines.In
ase anobsta le liesbetween thestart orthe goaland the nearest vertex, a
vertex is sear hed where this is notthe ase (next nearest vertex et .). The
foundpath,whi hisisasubsetoftheVoronoidiagram,remainsforthemost
partequidistantbetweentheobsta les losesttotherobot.Figure4.3showsa
Voronoidiagram onstru tedforamapof apartof theMorningsideHeights
ampusofColumbiaUniversityusingBlaer'smethod.
4.5 Context-Dependent Blending
Usually,thea tivityofmultiplebehaviorprodu ingmoduleshavetobe
oordi-nated.Thesimplestwayoffusingthe ommandsfromdierentbehaviorsbya
swit hings heme,wheretheoutputfromonebehaviorissele tedforexe ution,
and alltheothersareignored,isofteninadequateinsituations whereseveral
riteria should be simultaneously taken into a ount. Saotti [49℄ dened,
a general ombination pattern, alled Context-Dependent Blending (CDB).
CDB usesbothfuzzy meta-rules toobtainthea tivationof dierent
on ur-rentbehaviormodules and fuzzy ombination to fuse the output from these
modulesin asewhenmultiplebehaviorsarepartiallya tivated.Saotti alls
these methods behaviorarbitration and ommandofusion, respe tively. The
arbitrationofbehaviorsaredeterminedbyfuzzymetarulesoftheform
IF A THEN a tivate behavior_B (4.3)
Figure 4.3: AVoronoidiagram onstru tedfor amap of apartof the
Morn-ingsideHeights ampusofColumbiaUniversity.
be added together before the nal defuzzi ation step. Saotti proposes in
[49℄ fuzzy meta-rules to assign behaviors the strength of their a tivation by
omputing weights onstituting therelevan e of ea h behaviorat everytime
instant.Theinuen eofabehaviorona tionsissituationdependentandthe
behaviorweightis al ulateddynami allytakingintoa ountthesituationthe
mobile robotisin.Equation4.4showsthemathemati al on eptofbehavior
weighting.CDBhasbeenusedbyseveralresear hersinautonomousroboti s
to build omplexrobot behaviors(e.g. [11, 65, 64, 52, 53,8, 22,3,37, 2,28,
Figure 4.4: Stru tureof afuzzy ontroller using CDB. Figure from [6℄, used withpermission.
b =
P
n
A
n
b
n
P
n
A
n
(4.4)Design and Implementation
5.1 Computing a Global Clearan e Map
The hallenge in omputing aglobal learan e map from agrid map,
estab-lishedbyobsta le ellsandunknown ells,istondforagivenunknown ellin
thisgridmapthedistan etothenearestobsta le ell.Themethoddeveloped
in this proje t al ulatesnotonly theManhattandistan e betweentwo ells
but the diagonal distan e if the shortest distan e between an unknown ell
anditsnearestobsta le ellisso.On e itisdetermined whi hobsta le ellis
thenearestoneforanunknown ell,itiseasyto omputethedistan etothis
byusing 4.2.The CMis omputedforanewenvironmentmapon e atstart
upandsaved,i.e.it anbeloadedin ase ondrun fromaleandthereis no
needto omputeitagainex ept whentheenvironmentmap is hanged.The
pro edure sear hes throughthe whole grid map and omputes, for ea h
un-known ell,thedistan etothenearestobsta le ellandassignthisvaluetothe
unknown ell.Givenanunknown ell,rsttheneighbor ellswiththenearest
distan e, a ordingto 4.2, are he ked for its status. Then the next nearest
ellsare he kedandsoonuntilanobsta le ellismet.Themethodis
demon-stratedherewithanexample.Toformulatethemethodmoreunderstandable,
forthisexamplethedistan evaluesfordiagonal,horizontalandverti alsteps
denedinthe ommonintrodu tionofCMsin4.3aretakenover.Thatis,
sc
d
is dened to beSQRT (
2)
andsc
vh
is dened to be 1. Figure 5.1 showsthe dierentstepsofthealgorithmonthebasisofasmallgridmapof11x11gridswhi hissu ientsmalltobeusedto explainthealgorithm.First in5.1athe
mapasawholeisshown.Obsta le ellsaremarkedatbottom-leftinthemap.
Themarked ellsforminga rossin themiddlehaveaspe ial fun tioninthe
sear halgorithmandareherenamed rossdistan es.Thisisfurtherexplained
below. Supposed, the algorithm has to ompute and assign adistan e value
to the ellin themiddle of themap. Letus, for simpli ity, allit ell 0(the
distan e from ell0to ell0is0). Inarststep,thealgorithmexaminesthe
(a) (b) ( )
(d) (e) (f)
Figure5.1: Determinethenearestobsta le ellfortheunknown ell0.
rst the ellsfor whi h thedistan eis 1to ell0are he kedand thenthose
for whi h the distan e is1.41. If noobsta le ellis met in this rststepthe
ellsalong a5x5arrayonestepfurther areexamined asshown in 5.1 .This
pro edure ontinuesuntilanobsta le ellismetasindi atedintheframe5.1e.
The ellmarkedwithastarisa andidateforthenearestobsta le ellfor ell
0,but observeit ispossibleto meetobsta le ellswithlowerdistan e values
to ell 0if the sear h ontinues. Would e.g. any of the ellsholding a ross
distan einframe5.1fbeanobsta le ell,thenoneofthemwouldhavealower
distan e to ell0.One an besurethat thefound ellisthenearestobsta le
ell rstif thevalue of thehighest ross distan e ex eedsthe distan e value
of the found andidate ell. Finally, the distan e valueof thefound obsta le
5.1.1 Appli ation-Spe i Choi eof Distan e Values
Ithasalreadybeenmentionedin4.3thatthe hoi eofdierentvaluesfor
sc
d
andsc
vh
ae t ertain hara teristi softheCM.Dierentvaluesforsc
vh
do s alethedistan e valuefor ellsbutdonot hangethepositionof maximumlearan e. E.g. in straight ahead orridorsthe CM will indi ate theposition
farthestawayfromobsta le(i.e.fromthewalls)inthemiddleofthe orridor,
independently from the valueof
sc
vh
. This looks dierent for various values ofsc
d
,be auseitinuen esthepositionofmaximum learan ein urvesand is worthtolook loserinto. To larifythis,aCM was omputedforthemapshowningure2.2twi e,usingdierentvaluesfor
sc
d
.Tostartwith,rstsc
d
andsc
vh
are set to the valuesused in theexample shown in 5.1. Figure 5.2 showsapartoftheCM omputedforthemapingure2.2.Theextra tshowsthe urve down to the right. Cellsframed by a solidline arethose withthe
highest distan e to obsta les,i.e. the position of maximum learan e would
be indi ated there by the CM. As an be seen, the traje tory of maximum
learan e is more round inside the urve. Figure 5.3 shows another part of
thisCM.Thistime,theextra tshowstheupperhorizontal orridorinheight
oftheexitleadingtotheinner orridor.Thegureindi atesthat thepathof
maximum learan eisslightlydrawntowardtheexitattheheightofit.Asthe
CMwouldbeusedinapathplannertoplanapathwithmaximum learan e,
avalueof
SQRT (
2)
forsc
d
mightsometimesbeadrawba k.Ifapathplanner would plan astraight ahead pathpassingthe exit,thepass would bedrawntowardtheexitattheheightofthethis.Thiswouldhappenbe ausethepath
plannerwouldfavorapaththroughtheframed ells.
Figure 5.3: CM with
sc
d
dened to beSQRT (
2)
andsc
vh
dened to be 1. Extra t shows the upper horizontal orridor in height of the exit leading totheinner orridor.
These ond time
sc
d
wasdened to be1instead ofSQRT (
2)
.Figure 5.4 showsthesamepartoftheCMasshowningure5.2 omputedwiththenewvalueof
sc
d
.Followingthetraje toryofmaximum learan e,thistimeitmakes asharp90o
turnattheheightofthe orner.Dependingontheappli ationthe
Figure 5.4: CM with both
sc
d
andsc
vh
dened to be 1. Extra t showsthe urvedowntotheright.5.2 Path Planner
On etheCMhasbeen onstru tedone anuseittondrobotpathsthatpass
withmaximal learan eobsta les.Thismeansthattherequirementofnding
theshortestpathbetweentwolo ationsisreleasedinfavoroftherequirement
of nding apaththat holdsthe robot bothin straightahead driving and in
urvesinthemiddleofthe orridor.Thedevelopedmethodhereisinspiredby
methods usedingameprogrammingwhereterrainis reatedthat iswalkable
but atahighermovement ost.Duringarun oftheA*sear halgorithm ells
near an obsta leare penalized su h as the path in the middle of a orridor
be omesmoreattra tive.Forthispurposethe lassi alrepresentationofthe
A* sear h algorithm des ribed in 4.1.2 was modied and gives in the path
sear h ellsnear obsta les ahigher movement ost
g
. Given aCM, rstthe highest value in it is determined, i.e. the ell farthest away from obsta les.Re all from 4.1 that for aparti ular ell
C
the value ofg(C)
gives the ost of movementfrom theinitial elltoC
. Thisvalueispenalized byanamount depending on the distan e ofC
to its nearest obsta le ell. When a ell is expanded andg
is omputed for a neighbor ellC
theng(C)
onsists not only of theg
value of the expanded ellplus 1 orSQRT (
1)
, i.e. the ost of(a) (b)
Figure5.5:Pathbetweentwolo ationswithmaximum learan eusing(a)the
rstCM and(b)these ondCM des ribedin 5.1.1.
ostofmovementforonestepto ell
ij
is al ulateda ordingtoformula5.1 wheremax
CM
, as already indi ated, is the highest value stored in the CM anddist
ij
is thedistan e tothe nearestobsta leforthea tual ellij
.s
is a s alefa torwhi h anbeused tosteerhowhardapaththroughaparti ularell,withitslowerdistan etothenearestobsta le,ispanelized.
sc
isthestep ost. Sin e we dened the step ost for a diagonal step to beSQRT (
2)
and thestep ostof verti alorhorizontalstepsto be1,sc
maytakeoneofthese values,respe tively(donot onfusesc
d
andsc
vh
withthisvariable.sc
isused in5.1whereasthelastmentionedvariablesareusedin4.2).Figure5.5ashowsa path between two lo ations generated by this method. Here,the rst CM
omputedin 5.1.1is usedandasshownthepathholdsamaximum learan e
tothewallsa ordingthedenedmeasurements.Figure5.5ashowsapathfor
thesamestartandgoalpointusingthese ondCMdes ribedin5.1.1.As an
beseenthepathiswiderinside urvesandmakesasharp90
o
turnthere.For
the purpose of this proje twe believethat the se ond CM usedto ompute
thepathingure5.5aismoreappropriate.
cost
ij
= (max
CM
− dist
ij
) ∗ s + sc
(5.1)5.2.1 Methodfor Following aPath
ahead. Intheimplementationwedonotdoanypro essingofthelist ofmap
oordinates;theyareused dire tlyasgivenfrom theplanner.
To sele t whi h oordinate the robot is to move to we do the following:
(1)The urrentpositionoftherobot
(x
,y)
is onvertedintomap oordinates(i
,j)
.(2)The losest oordinateN
onthepathis al ulatedby omparingea h oordinate with the robot oordinate. The oordinate with least hessboarddistan etotherobot oordinateissele tedas
N
.(3)The oordinatetherobot is to move to is simply sele tedas the 5th next oordinate in a list of mapoordinates.The oordinatetherobotistomovetodependsonthesizeofthe
robotandthesize oftheenvironment.It anbe hangedeasily.
Itshouldbementionedthatwewrotethe odesothat
N
annotbemoved ba k,only losertothegoal.Whentestingonthe Stagesimulator,wefoundthisapproa htowork prettywell.
5.2.2 TransformingBetween Map and RobotCoordinates
The originof theglobal oordinate systemis dened in thebottom left
or-ner of the grid map and thegrid map itself denes its origin in the topleft
orner.Figure5.6 showsthisinasimplemap of3by3 ells.That makesthe
implementationofsometransformationfun tions ne essary.
Figure5.6:Themapandrobot oordinatesystems.
Lethbetheheightofthegridmap.Then,theequationstotransformfrom
amap oordinate
(i
,j)
toarobot oordinate(x
,y)
iswrittenasin 5.2:x = j ∗ cellWidth/
10.0y = (h − i) ∗ cellHeight/
10.0(5.2)
Getting the equations for al ulating
(x
,y)
to(i
,j)
is just a matter of reworking 5.2. Division by 10 is ne essary be ause the measurements in themaparedoneinmm.Itshouldbementionedthatsin emap oordinatesmust
beintegers,weperformrounding(trun ation)when onverting
(x
,y)
to(i
,j)
.5.3 Controller
The nature of a robot-bed transport asks for multiple behavior produ ing
modules.Threedierentbehaviorsareusedinthisproje tallworkingonthe
samefuzzysetsintheirresponse-part.Thesethreebehaviorprodu ingmodules
aregoto nextwaypoint,obsta leavoidan eandsafebed.Thefuzzysetsset
intheresponse-partofthedierentbehaviorsarerotateandvelo ity.Velo ity
onsistsofthefuzzyresponsesba k,none,slowandfastandrotate onsists
of the fuzzy responses turn left, no turn and turn right. Having gure
4.4 in mind, the amount of ontribution from the dierent behaviorsto the
overallrobotbehaviorisde idedbyCDB.Pra ti ally,ea hbehaviorprodu ing
moduleworksonitsownlo alversionsofrotateandvelo itywhi hnallyare
fusedin CDB.Forea h ofthisbehaviorprodu ingmodulesfuzzy metarules
al ulatestheirarbitration.HowCDBisusedandwhi hfuzzysetsareusedin
thestimulus-parts oftherespe tivebehaviorprodu ingmodules isexplained
in followingsubse tions. Note, that some of the fuzzy predi ates mentioned
inthefollowingsubse tionsarebothusedin thestimulus-partoftheobsta le
avoidan ebehaviorandofthesafebedbehavior.Forthatpurposewede ided
not to give names to the dierent fuzzy sets used in the stimulus-parts of
therespe tivebehaviorsandinsteadlistthefuzzypredi atesused.Espe ially
worthto mentionisthefuzzypredi ateDanger.Thispredi atebe omestrue
ea h time the bed approa hes an obsta le so mu h that it would get stu k
imminently,i.e.someformofrea tionbythepersonfollowingisinevitable.A
truefuzzypredi ateDanger ausesanemergen ystopuntilthebedismoved
inabetterposition,i.e.awayfromtheobsta le.Further,abitmoreadvan ed
two-stepdefuzzi ationmethod weredeveloped.
5.3.1 GoTo Behavior
Fuzzypredi atesusedinthestimulus-partofthegotobehaviorarePos_Left,
Pos_Ahead,Pos_RightandPos_Here.Thedegreeoftruthofthesepredi ates
is based on the urrent posture of the robot and the goal oordinate. For
example, Pos_Lefttellsif thegoalis lo atedto the leftof the robot, andit
is absolutely trueifthe angleto the goalis largerthana ertain value.It is
absolutely false if the angle is so small that the robot heads in dire tion of
itswaypoint. Fuzzyinferen eforthego tobehaviorisdonebythebehavior