From: AAAI-82 Proceedings. Copyright ©1982, AAAI (www.aaai.org). All rights reserved. THE CMU ROVER Hans P. Moravec Robotics Institute Carnegie- Mellon University Pittsburgh, PA 15213 Abstract An advancedcamera-equippedmobile robot is being built at the ChlU Robotics Institute to support researchin control. perception, planning and related issues. It will bc used initially to continue and extendvisual navigationwork (the Cart Project)completedin 1981at Stanford’s AI Lab, but is dcsigncd with mechanical,sensor and controllerflexibility which shouldpermit it to supporta wide varietyof other efforts. Int reduction Experience with the Stanford Cart [2], a minimal computer controlled mobile camera platform, suggcstcdto me that, while maintainingsucha complexpieceof hardwarewasa demandingtask, the effort could bc worthwhilefrom the point of view of Al and vision rcscarch.A roving robot is a sourceof copiousand varying visualand othersensorydatawhich forcethe dcvclopmcntof generaltechniquesif the controlling programs arc to be c\‘cn minimally successful. By contrastthe (also important) work on disembodiedvisual data often focuseson relatively small image sets, and is in some danger of ovcrspccinlizing.Drawing an analogywith the natural world, I believe it is no mereco-incidcnccthat in all casesimagingcycsand largebrains evolvedin animalsthat first developedhigh mobility. processors(about half of them powerful 16 bit MC68000s)for high speedlocal decisionmaking,servocontrol and communication(Figure 4). Seriousprocessingpower, primarily for vision, is to be probided at the other end of a remotc-controllink by a combination of a host computer VAX 111780an FPS-100array processorand a specially dcsigncd high performanceanalog data acquisition and generation device. We hope eventuallyto providea manipulatoron the rover’stopside, but there is no active work on this now. We chosethe high steering flexibility of the current designpartly to easethe requirementson a future ann. The weight and power nccdcd can rcduccd by using the mobility of the rover to substitutefor the shoulderjoint of the arm. Sucha strategyworksbestif the rover body is given a full three degrees of freedom(X, I’ and angle) in rhc plane of the floor. Conventional steeringarrangcmcntsasin carsgive only two degreesat any instant. Other groupshavecometo similar conclusions[3] or havedeveloped sophisticatedroverswith an eye to near term applications[l] [4]. The new Llnimation rover [l] is very similar in size,shapeand mechanical capabilitiesto the machine WCarc building. It achievesa full three dcgrccs of freedom of floor-plant mobility by USCof three novel “omnidirectional”wheelswhich, by virtue of rollers in place of tires, can freely move in a direction broadsideto the wheel plane,as well as performing,under motor control, the usualwheel motion. WC achieve the samecffcct with stccrablcwheelasscmblics, describedbelow. Overview The project so far has been focused on dcvcloping a smoothly functionaland highly capablevchiclcwhich will scrvca wide varietyof future rcscarch.A hint of this future work can bc found in [2] and later in this paper. The shape.‘size. steeringarrangementsand onboard and cxtcrnal processingcapabilitiesof the roversystemwerechosento maximizethe flexibility of rhesystem(,naturallylimited by presentday techniques). l‘hc robot is cylindrical, about a meter tall and 30 cm in diameter (Figure 1) and has three individually stccrablcwheelassemblieswhich givs it a full three dcgrccsof freedomof mobility in the plant (Figures 2, 3). Initially it will carry a TV cameraon a pan/tilt/slide mount, severalshort rangeinfrared and long rangesonarproximity detectors, and contact switches.Our design calls for about a dozen onboard 377 Details Three dcgrccsof freedomof mobility are achicvcdby mounting the chassison three indcpcndentlysteerablewheel asscmblics(Figure 2). The control algorithm for this arrangcmcntat cvcry instantorientsthe wheels so that. lines through their axles meet at a common point. Properlyorchestratedthis designpermitsunconstrainedmotion in any (211)direction, and simultaneousindcpcndentcontrol of the robot’s rotation about its own vertical axis. An unexpectedbenefit of this agility is the availabilityof a “reducinggear”cffcct. By turning about the verticalaxis while moving forward the robot dcrivcs a mechanical advantagefor its motors. For a given motor speed,the fasterthe rover spins, the slower it travels forward, and the stccpcr the slope it can climb. (Visualizationof this cffcct is left asan cxerciscfor the reader.) Encoder Motor Encoder ing Motor Gear mential To permit low friction steering while the robot is stationary, each assemblyhas two pnrallcl wheels conncctcd by a diffcrcntial gear. The drive shaft of the diffcrcntial goes straight up into the body of he robot. A concentric hollow shaft around this one connectsto housing of the diffcrcntial (Figure 3). ‘I‘urning the inner shaft causesthe wheels to roll forwards or backwards.turning the outer one steers the asscmb]y, with the two wheels rolling in a little circle. ‘I’he assemblieswere manufactured for us by Summit Gear Corp. Each shaft is connected to a motor and a 4000 count/revolution optical shaft encoder (Datametrics K3). The two motors and two encoders are stacked pancake fashion on the wheel assembly, speared by the shafts. There are no gears except for the ones in the differential. (Figure 3 shows a schematic cross section of a complete motor/wheel-assembly structure, and a partially assembled stack in the flesh). The motors are brushless with samarium-cobalt permanent magnet rotors and three-phasewindings (Inland hl[jtors UM-3201). With the high energy magnet material, this design has better pcrformancc when the coils arc properly scqucnccd than a conventional rotating coil motor. The coils for each arc energized by six power MOSFETs (Motorola h4TP1224)mounted in the motor casing and switched by six opto-isolators (to protect the controlling computers from switching noise) whose LEDs arc connected in bidirectional pairs in a delta configuration, and lit by three logic signalsconnected to the vertices of the delta. The motor sequencing signals come directly from onboard microprocessors,one for each motor. Thcsc are CMOS (Motorola MC146805 with Hitachi Hh46116 RAMS) to keep power consumption reasonable.Each processorcomparesthe output of its shaft cncodcr to a desired motion (supplied by yet another processor as a time paramcterizcd function) and energizesor de-energizesthe appropriate motor phase to keep the motor on track with no wasted power. Since each motor has a potential power dissipation of 250 watts this is more than a nicety. The shaft cncodcr outputs and the torques from all the motors, as estimated by the motor processors.arc monitored by another processor, rhc Sitwlaror. a Motorola MC68000 (with all ChlOS support circuitry the power requirement for our 32K 68000 is under one watt. The new high pcrformancc 74HC scrics CMOS allows operation at full 1OMHz speed.), which maintains a dead-rcckoncdmodel of the robot’s position 378 from instant to instant. ‘I‘hc results of this simulation (which represents the robot’s best position cstimatc) arc compared with the desired position, produced by another processor (68000), rhc Conrroller, in yet another processor (SSOOO),(he c‘on~uc/or, which orchestrates the individual motor processors. The conductor adjusts the rates and positions of the individual motors in an attempt to bring the Simulator in line with requests from the Controller, in what amounts to a highly non-linear feedbackloop. Otheronboardprocessors are: Communication A 68000which maintainsan error corrcctcdand chcckcdpacketinfraredlink with a largecontrolling computer(a VAX 11/780hclpcdout by an FPS 100 array processorand a customhigh speeddigitizer) which will do the heavythinking. Programsrun in the Controllerarc obtainedoverthislink. Sonar Camera A 6805which controlsa numberof Polaroidsonar rangingdevicesaroundthe body of the rover.These will be used to maintain a rough navigationand bump avoiddnccmodel All measurcmcntsand control functionsof this processorand the following onesarc available(on requestover a seriallink) to the Controller. A 6805whichcontrolsthe pan,tilt and slidemotors of the onboardTV camera.This compactcamera (Edo Western1631)broadcasts its imageon a small UHF or microwavetransmitter(made by 3DRM lnc?).The signalis rcccivcdrcmotclgand the video signalcapturedby a high bandwidthdigitizersystem and then read by the remote VAX. There are tentativeplansfor a minimal onboardvision system using a 68000with about 25613of extra memory onboardthe rover. for small vision taskswhen the roveris out of communicationwith thebasesystem. Proximity A 6805 which monitors several short range modulatedinfraredproximity detectorswhich serve asa last line of defenseagainstcollision,and which senseanydrop off in the floor,andcontactswitches. Utility A 6805 which sensesconditionssuch as battery voltageand motor temperature,and which controls the powerto non-essential but powerhungrysystems like theTV cameraand transmitter. Communicationbctwccn processorsis serial, via Harris CMOS UARTs, at a maximumspeedof 256 kilobaud.The Conductortalks with the motor processors on a sharedserial lint and the Controller communicates with the Sonar,Camera,Proximity,Utility and any other peripheralprocessors by a similarmethod. The processorslive in a rack on the secondstorcy of the robot structure(Figure l), betweenthe motor and battery assembly(first floor) and the cameraplane (pcnthousc). Figure 4 showsthe rack alone,not fully populated. The roveris powcrcdby six scaledlead-acidbatteries(Globegel-cell 12230)with a total capacityof60 amp hoursat 24 volts. The motorsare powcrcddirectly from thcsc.the rest of the circuitry dcrivcsits power indirectly from them through switchingDC/DC convcrtcrs(Kepco RMD-24-A-24and SemiconductorCircuits l-1717262).Each 6805 processor drawsaboutoneeighthof a watt each68000boardonly one watt Physicallythe robot is a mctcr tall and 55ccntimctcrsin diameter.It weighs90 kilograms.The maximumaccclcrationis one quarterg, and the top speed is IO kilomctcrs/hour. With appropriateonboard programming‘themotionsshouldbc very smooth. ‘I’hcgreatsteering flexibility will permitsimulationof othersteeringsystems suchasthose of cars,tanksand boatsand otherrobotsby changesin programming. 379 u CO*4rnonlcat~on t68000) t -WJ05 * Cor,duttov (6POOO) a #Je 4z1 Prox:mity Progress Other interestingpreliminarythinking has rcsultcdin a schemeby whicha verysimplearm with only threeactuatorswill cnablcthe robot, making heavyuse of its great steeringflexibility. to enter and leave througha closedstandardoffice door. Discussions with the distributed sensornet crew here has raisedthe possibilityof equippingthe robot with ears,soit couldpassivelylocalizesound,and thusperhapsrespond correctly,both semanticallyand gcomctrically,to a spokencommand like “Comehere!“. W C arc alsotoying with the ideaof a phasedarray sonar with about 100 transducersoperating at 50 KHz which, in conjunctionwith the high speedanalogconversiondevicementioned above and the array processor.would be able to producea modest resolutiondepthmap (and additionalinformation)of a full hemisphere in about one second.by sendingout a single sphericalpulse, then digitally combiningthe returnedechoesfrom the individualtransducers with differentdelaypatternsto synthesize narrowreceivingbeams. As of this writing (June8, 1982)we arc awaitingfinal fabricationof the remainderthe robot’smechanicalparts.and havebenchprototypes of all the major electronics.Debuggingis proceedingfuriously.Three instances of eachof the two processors arc completelyoperational.Low level control softwarehas beendebuggedon a rover simulation,but remainsto be t&ted on hardware. W C feel confidentthat a minimal demonstrationof a running rover can bc arrangedfor the mid August dateof this conference. Promises The hope expressedin the introduction, that mobility somehow forcesevolution in the direction of true intelligence,may alreadybe being vindicated. Our efforts to devise a suitable programming languageusefulfor writing Controllerscriptsfor interestingrobot tasks floundcrcd until we realizedclearly that controlling a rover is an essentiallydifferent taskthan controllinga robot arm. An arm, in the typicalassemblyline setting,executes a scqucnccof tasks,possiblywith branching,that can be visualizedand chartedin advance.Exceptional conditionsare an infrequentnuisancethat can bc handledby an error exit or a small numberof interrupt activatedroutinesthat resetthe situationto somestandardstateand return control to the mainstream code. This approachdoesnot work for programminga rover in typical environmentsbecausealmost evegrcondirion encounreredby a rover is exceplional. Obstaclesand opportunities cannot in general be antidipatcdin advance,and if W Cattemptedto deal with them by interrupt coding, our stacks would soon overflow as exception interruptedexception. Support ‘Thiswork is beinglavishlyfundedby the Office of NavalResearch. References I. Carlisle,B. and B. Shimano.l‘hc Unimationmobilerobot. personal communication. We arc now working on an approachin which the Controller is govcmcdby a set of productionrules,eachI’LIIC havingan activating condition involving the state of sensorsand internal variablesand conscqucnccswhich affect intcmal variablesand motor functions. Conceptuallythe potentiallyrclcvantrules arc activeat all times,and may take over control from each other as preconditionschange. Conflictsarc mcdiatcdby weights(or confidcncclcvcls)producedby activated rules. Scqucnccsof steps arc made possible in this arrangementby the introductionof scqucnccvariables,which trigger rulesand arc then changedby thoserulesto triggersucccssivc ones.‘To maintainsomecohcrcnccof behaviorthcrc canalsobc variableswhich affectthe preconditionsof largeclasses of rules- for instancea variable 1 that at a low valuecausesthe robot to ignore minor signalsfrom its 1 proximity ycnsorswhile respondingto them vigorouslyif high. A 1 scqucnccof proximity signalswould graduallyruisc the value of this 1 variable.and the robot’sbehaviorwould changefrom boldly pursuing 1 its main goal (whatcvcrthat may be) to cautiouslyfeeling its way 1 around. W Carc tcmptcdto _civcsuchvariablesnameslike “fear” and “enthusiasm”,but will refrainfrom doingsofor the moment. I Our systemmust operatein real time, a needwhich distinguishesit 1 from typicalrule basedexpertsystems.W Ccurrentlyimaginea scheme1 in which, for large jobs. the entire rule systemis maintainedin the 1 remoteVAX. with cflicicntly indcxcdrule subsetslikely to be relevant1 beingdynamicallydownloadedasconditionschange.Evensoit is clear that the load on the Controllerwill be heavy.We arc preparinga 256 Kbytc memoryexpansionboard for it, and arc looking forward to a I challengingjob. 380 2. Moravec,H. P. Obsracle.4voidarlcearld ,Vavigarion in the Real World b)sa SeeingRobot Rover. Ph.D.II., StanfordUniversity, Scptcmber1980. 3. Raphael.B.. The Thinking Computer.W. H. Freemanand Company,SanFrancisco,California,1976. 4. Yakimovsky,Y. and R. Cunningham.“A Systcrnfor Extracting Three-Dimensional Measurements from a StereoPair of TV Cameras.” ComputerGraphicsand Image Processing7 (197X),195-210.