THE CMU ROVER

advertisement
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.
Download