AbstractButlerbotisarobotdesignedtoservedrinksat receptions. Due to the expected closeproximity between the robot and the users, anewcompliantgeometryconcepthasbeenused,wherethebodyshapeoftherobotisallowedtodeform when obstacles are hit. This paperdescribes the sensor systems developed forcollision detection on this robot. This includesan analogue bumper, a geometry*measuringsystem and an IR proximity detector of usershelpingthemselvestodrinks.1 Backgroundandconcept

ButlerBotwasbornfromthewishoftheSchoolofComputing,CommunicationsandElectronicsoftheUniversity of Plymouth to have an attractive robotdemonstration to show in local schools and opendays.Thefunctionoftherobotistotoservedrinksand snacks to members of the public. Hence, thespecifications included light*weight, 5*10Kg, andease of disassembly to facilitate transport in thetrunkofacar.This was also an opportunity toexperiment with some new concepts. Weopted fora narrow design, around 30 cm in diameter, tofacilitate displacement in a crowd. This wasexpected to pose interesting balancing controlproblems. The anticipated close proximity withpeople made us re*think about collision detection.Instead of providing the robot with a multitude ofsensors(e.g.PanandZhu,2005),itwasdecidedtousethebodyoftherobotitselfasacontactsensor.This led to the concept of “compliant geometry”described in section 2. Other sensors include ananalogue directional bumper (section 3) and anarray of IR sensors that is used to detect a user’shand that is taking a drink on the tray (section 4).The paper ends with a summary of future andongoingwork(section(5).A)B)Figure1.(A)CADrepresentationofButlerBot.(B)Currentstateoftheprototype.Thetrayhasaheightof95cm.Waiter robots are popular as a demonstrationplatform.Firstly,becausetheytakeonareal*worldchallenge—asopposedtoservicerobotsintightlycontrolled environments (e.g. Acosta et al., 2006).Secondly, because they have a high entertainmentvalue, giving the development of the hardware andsoftware a certain purpose which appeals tostudents. There have been several demonstrationsof robots serving snacks, and sometimes drinks, atvarious receptions. Most built on a standard robot

2platform, such as a Nomad Scout (Maxwell et al.,1999) or the B21r platform (Clodic et al., 2006),andrelyonoff*the–shelfsensors,suchassonar,IRand colour vision, to navigate through the crowd.ButlerBot on the other hand uses a custom builtchassis, making to robot cheap and light weight,and integrated sensors, tailored to sensingegomotionwhileatthesametimebeinganintegralpartoftherobot’sbody.2 Compliantgeometry 2.1 Compliant GeometryMechanics

The compliant geometry of the robot allows thebody to deform. The side of the body is to becovered with textile. An impact at any point on itstextilecoverwilldeformthetextileslightlybutalsotilt the top of the body away from the impact. Acompliant body has many safety advantages inpopulated environments, such as a party orconferencereception. Many robots use a mobile outer shell to detectcollisions, e.g. in the Rug Warrior (Jones andFlynn,1993).InButlerBothowever,thebodyitselfis the detector. While compliance has beeninvestigated for couplings and joints (see e.g.Treaseetal.,2005;Meyeretal.,2004),wearenotaware of other work using the whole body as acompliantsystem. Inside the robot is a light*weight supportstructure. The tray of ButlerBot is supported by 4poles which have foam dampers at the end.Additionally4stringsstretchfromthecentreofthetraydowntotheedgeofthebaselikethestaysofaboat mast, see figures 1b and 2. Each stringincorporates a spring to allow flexibility. The 4polesaremountedoff*centre,whichallowsthetrayeffectivelytoshakeinthehorizontalX*Yplane. The springs have a sensor attached(potentiometer Pot in figure 2)inordertomeasuretheirextension.Thisallowsestimating thepositionof the tray at the top and the amplitude anddirection of the shaking. There is a sensor in thespring aligned with the X*axis and another sensorinthespringalignedwiththeY*axis.2.2 Side impact detectionWhen the robot accelerates forward, the compliantstructureisexcitedintooscillationmakingtherobotlean forward and backwards. The directions of theoscillation are in the same plane as the robot’sacceleration(Figure3).

Figure 3: An acceleration of the robot alongthe x*axis caused oscillation ofthedrinkstrayintheX*Yplane(“trayposition”). Therobot’sbase is located at (0,0) with a velocity vectoralong the x*axis. Note that the shaking isaligned with the robot’s direction ofmovement.m

k

cF

F’γ

m0Z

X

P

tray

3

Figure4:Direction of movement and shakingofthedrinks tray in the X*Y plane. VRobotis the velocityvector of the robot driving forward. In this case therobotishitbyabypassinghuman,causingthetraytolean into the positive Y direction (PTray). The scatterintherobot’svelocityvectorshowsthattherobothadtocorrectitscourseaftertheimpact.

A misalignment between the robot’s velocity (oracceleration)vectorandthetraypositionisusedtoindicateacollision.Asignificantdisturbanceofthetray can be easily recognised by the robot if thedirection of movement is approximatelyperpendicular to the direction of the impactdisturbance. However, if the impact is in thedirection of movement, the recognition of theimpact is more difficult, since the robot is shakingin this direction anyway. For this case a dynamicmodelofthetrayisrequired.

2.3 Dynamic Model of the compliantstructureUsing several assumptions for simplification, thedynamicmodelofthetraycanbereducedtoatwodimensionalmass*spring*dampersystemintheX*Yplane (Rao, 2004). The angle γ in figure 2 can beassumedconstant,sincethemovementofthetrayissmall compared to the height of the robot. As aconsequence the spring exerts a tangential force F’onthetray:)cos('γspFF = with constant=)cos(γ (1)where Fsp is the linear force exerted by the spring.The same assumption can be made with thedampers,effectivelycreatingamass*spring*dampersystem along the X axis and another one along theYaxis.Wealsoassumedforsimplificationthatthetwo systems have no cross coupling effect, whichreduces the system from a MIMO system to twoSISO systems in X and Y axes with the force F asinput and the displacement of the mass m + m0asoutput.

Figure5:x*positionofthetrayingrey,modelinblack.Therobotacceleratesfromrestatapproxt=2.5sec.Coursecorrectionsanddecelerationarecauseofanincreaseinamplitudeatt=6sec. Inthiscasethetotalmassofthetraywas2.5kgandthemodelhadanaturalfrequencyof1sec4.5−⋅= radsnω.The mass*spring*damper model, a second orderdifferentialequation,hasbeenimplementedintotheembedded processor2 as a difference*equation.Thereforetherobothasagoodideaofthepositionof the tray in real time. The input to the model istheaccelerationforcevectorwhichisderivedfromthe optical shaft encoders on the omni*directionalwheels.Theactualpositionofthetrayistakenfromthe sensors on the springs. The position of themodel is now compared to the actual position,givingrisetoanerrore(t)(Figure5).

2.4 Estimating the load carriedDependingonthenumberofdrinksontherobotthemass of the mass*spring*damper system willchange. In order to find the correct model andhence find the mass of the drinks the processorconstantly compares a range of models with themeasured data for the first second of movement.After one second it will lock onto the model withtheleasterror(Figure6).Thisassumesthatpeoplewillnotattempttochangetheload(e.g.glasses)ofthe robot while it is moving. The robot willreconsider its model every time it accelerates fromrest.The tray handling detector in section 4 allowsstoppingtherobotwhentheloadischanged.

2 ColibriboardusingIntelXScale®processorPXA270520MHz.VRobotPTray

4

Figure6:Aseriesofmodelswithnaturalfrequenciesfrom0to11(alongthex*axisofthegraph)arecomparedtotheactualresponse.TheerroraccumulatedbetweenthemodelandactualresponsewithinthefirstsecondisshownintheYaxis.Therobotwillchosethemodelwiththeminimumerror.Thegraphclearlyshowstheerrorminimaforavarietyoftestedloads(0.5kg,1.5kg,2.5kg).The weight of the drinks on the robot can bederived from the natural frequency ωn the no*loadweightm0andthespringstiffnessk.02mkmn−=ω (2)Alternatively a weight sensor could be used todetermine the mass, although this information canbeobtainedhereforfree.2.5 Front Impact detectionAn error between the model and the actualmovementofthetrayindicatesanimpact,figure7.To be sure a collision has occurred the robot mustobservetheerroroveraperiodoftime.Ifoverthisperiod the error always stays large, a collision hasoccurred.Thisensuresthatthecollisiondetectionisnottriggeredbysmallerrors(noise)betweenactualmeasurements and the model. The decay of thecurveaftertheimpactiscausebyamovingaveragethattriestoadjusttheneutralcentrepositionofthetray.Theneutralcentrecanchangeifaheavyloadis put on the robot, forcing it to tilt to an arbitraryside at rest. The oscillations of the liquids werenegligible.

Figure7:Collisionwithanobstacleinfrontoftherobotcausedtheerrorbetweenmodel(black)andactualtrayposition(grey)toincrease.3 AnaloguebumperThe compliant geometry will detect collisions atany point of the robot’s body, except the base. Forthat reason, the base is provided with a bumpersystem. This is made of a floating disk attachedwith springs. An impact on the bumper disk willcause the robot to stop and avoid the area. Thedirection of impact can be retrieved from thebumper using three patches with a greyscalegradient(Figure8)thatarereadbyanIRreflectivesensor. The response of the sensor is almost linearover the range of greys used here, Figure 9. TheseIR sensors are attached to the robot’s base. Thepatches are attached to the floating disk with thedirections of their gradients making angles of 120degrees. For mechanical reasons, the patchesthemselves are not at 120 degrees to each other,Figure8.

Figure 8. Position of the grey*scale gradient patcheswithgradientdirectionindicated.

The IR sensors are approximately centred on thelinear party of the grey*scale gradient. Such asystem can easily be calibrated when the robot ispoweredon.WhateverreadingstheIRsensorsgiveat that time define the X = 0 and Y = 0 position ofthedisk. TheXYpositionofthebumperdiskiscalculatedasfollows.Intheformulasbelow,δ1,δ2andδ3arethedistance variations respectively proportional to thetensionvariationonthesensor1,2and3.

]3)6/sin()21[(31δπδδ++=X

(3))6/cos()12(21πδδ−=Y

(4)

These calculations assume that the distancebetween the sensors and the disk is stable. Thisrequiressomecareinthemechanicaldesign.4 TrayhandlingdetectorThe robot needs to detect whether a user takes aglassorreplacesone,sothatitcanstandstillduringthe load change. The approach explored here forhandling detection is a semi*circular array of IRemitters and receivers facing upwards (figure 10).The array is attached at the front of the tray andshould detect a hand entering the space above thetray.

Figure10.ArrayofIRemittersandreceiversfacingupwards

To improve the sensing distance, we have usedmodulatedemittersandtunedreceivers,Figure11.

Figure 12 shows the output voltage from thereceiverfora handplacedat variousdistancefromthe sensor. It shows that obstacles can be detectedup to approximately 25*30 cm. Whether this isappropriate for the planned use will be establishedduringfuturetests.

Several problems were encountered during thedesign of this sensor system. Because the beamreflected by a hand or a dark fabric can be veryweak, it is necessary to use high*power LEDswhich creates parasitic signals in the receivercircuit transmitted through the power supply line.Another problem is the variable sensitivity of thephotoreceiver. The sensitivity generally decreaseswiththeambientlightdueto theinternaltransistorproperties.Wearecurrentlyworkingonanupgradeofthecircuitdesigntoeliminatethisproblem3.

3 We will also consider an approached based on IRtransmission (beam cutting) rather than the currentreflective system, as kindly suggested by one of thereviewersofthispaper.