Flexible Control System for Robot Assembly
Automation
Li-(i,%e?i
Fii'.'aiid
Larry
Jniiii'D
ept
. of Coin 11u t er
S
cieiice
&
Inform
at
i
on
Erigi
neeri
ng'
Dept.
of
Electrical
Engineering2
N
at
i
o
11a,l
Tai
wailLJ
ni
ver
si
t
y
Abstract
In this p a ,er we propose a n object,-orient,etl inodel for a cont,ro\ sGst,eii-i arclrii.ect,iire of roliot.ic assent- bly aut,orriat,ion and extellcl t h i s n-lode1 t,o all event,
driven aut,or.na.tiori syst1ein. B a s c ~ l on t.liis iiiotlel, wt, develop a syst,eiiiat,ic procccliirc~ I J ~ ttit>aiis of
13DA
I< claslih ( Event. Driven Aut.o~tiat.iot~ I i c ~ r i i c l (::lass I,i-b r a r y ) to support, t,he users to easily i t i i p l e t i i w t , miy
event, driven a.ut,ornatjioii syst,eitt. T l i e I>v-l)rocliici, is
t,o allow syst,ern designer t,o casiIy c~sl)an(1 i i i i c'sisl ing
system or integrat,e several event, t l i . i v c ~ t ~ airto~iiatioti systeriis which are all s u p p o r k c l hy E D X i i cciiitrol
syst,ern.
1
Introduction
2
Robotic Assembly Workstation
In a typical assembly factory, there is usually a stat,ionary and well-defined place for the assembly antl iiis iection tjasks, whic,li i s usually ca.lled "assem-
bl I wol.ll;st,at,ionl,. Soirte critical equipment s1ioulcl be t d e n into cotisitleration when c.onfigiiring a n assem-
lily wolkst,at,ion [ 5 ] , which inclutles: Robot, End Ef- f e c t o r , Part Feeder, Transfer Mecliaiiisni, as-
soinhly Fixtiire a n d Sensors.
2 . 1
Control
Scheme for Robotic Assem-
Robot,ic assembly systems are usually c ~ n t ~ r o l l e d
b v a scherne wit,li Iiierarchic.al st,ructure which is di- vided into five levels, namely, task planning, subtask
clecoiii 11 osi t ion ~ t2ra.j ec tory planning
,
trajectory exe-cut,ion, and inaniprilat~ion (as depicted in Fig. 2.1).
Such a hierarchical control scherne may be imple- ttieiit~cl i n a tlist,ril)iitetl environment, 171, or c a n be ernployed i n some centrally coritrolled cell.
2 . 2
Problem Formulation
Soft ware design of t,he programminf;/planninf; and
t,ask esecut,ion for an advanced robot system rnay be viewed as a prolile~n of defining two taxonomies, n a m e l y , planning and execut,ion, antl the relation- ships IJet,ween t.heitt [17]. T h e requirements for these t,wo t~axonoiiiies are, tto a large extent, conflicting.
Task planning requires an operational taxoriom
i n w ~ i i c i i t ~ i e ncii.or2.s to be performed are classifiei: CIassificat,ion of actmioris is 1,eneficial in planning since it leads to pruning of the set of operators t o be consid-
ered in cotist.riict,iiig a plan, and facilitates the con- striict.ioii of t.he generic "exception handling opera-
t,ions"
[
181.On t,lie coiit,ra.ry, t,he run-t,irrie environment, for task
P ' X P C I I t.ion lienefts from the irnposition of a fiiric-
timid t,asononiy, i i i w1iic.h tlie physical objects to be operat,ed upon are c.lassified. Funct,ional classifi- c a t ion p r ov i t l ~ s t,
11
e I) eriefi t s of rno (1 ill ar develop men tfor large., ancl diiral)l(,, software s y s t e i i i [19].
To s i i t t i u p , a syst>eriiat,ic anti convenient, i ~ t i l i t ~ y which c a n help t,he system designers to build a robust,
e f Ii c ieii t, ~ ex 11 and able, an tl cl y n a r ~ I i c.al ly reconfigur able
autjornatcion system is t,lien developed in this paper. It. is called EDA
A'
(Ezreiif Driven Au2oiiin2ion Ker-7 1 e l ) s y s t e i n , anti will he tletailedly descrilied in t,he
following sectlion.
bly System
3
Flexible Control System
T h i s subsection will focus on t,lie model of this event, driven automation ernviromiient, using 06 ‘wf
Oriented method. T h e basic object, liere is t,lie h a l l , :
d l e r (which will be described latxr). I n another words,
this is a Iiandler based atit-omation s;yst.erii.
Consider an event driveti ail t,oiiiat,ion m e n t , where nori-iially tlrerr will be foiir 1)
t,ies as Control K e r n e l , AppIi’rat,ioii T a s k ,
and Planner ( see Fig. 3 . 1 ). A Ii!andler is a soft,-
w a r e process or a h a r d w a r e piece of rqriipinentt which provides necessary fiinct,ionalities for the aiit,oinat,ion syst,em. For example, iinage process, niotion plnniiirig process, and silnulatjion process are soft,ware ones,
whereas robot, AGV, nioliile rohot, conveyor Iwlt,
buffer, cairiera, antl opttical swit,ches are h a i d w a r e ones.
A control k.er71.el is a process
intermetliar arriong hail tiler p r
of a coutro?‘kerne/ is tlo provit
which a handler process c m r u i i sir’ioot.lily iilitl con- venient,ly. Therefore, it3s pri,mary goal i
atit,orriat,ion syst,ctiii coiivciiiciil, 1.0 iis(>, rrstrally want, our developed aiitoiiiiitioir erate i n an eflicic.iit, iiiaiiiic’r so as to s
of real-tiine r(’sponsc’. ( biiscyr,ieiit81y, a coiitrrol Iwrtiel
slioultl provide :to excellent, bacl;-l~o~rc~ t,o tthe ltlit.oiiia- tion systei-n so t,liat it, c a n inczet. t h r t l c i i - l a n d .
3.1
Handler
According t,o t,he t,ask execul,ion propert.y, Iiantllers
can be classfetl int,o t-wo t,ypes: si’( tce7rliitl hnitdlcr
anti parallel //,andler. A sequ(mcia1 iiaiitller is a se-
quencial task execut,er, which can not, h a n d l e I I I O ~ ~
than one task in a d u t r cyrYe,, next, coinrriantl only w ieii i t 111 Never t,lie less, t,lr e 1) a r a 1 lel h a . 1 1 ~ i i i u l t,i ple t,asks w h i cli tl is pa t,cht?
I n atltlit,ion, a.lniost, all 1rartlw:i
rol)ot.s, are sequeiicial l i a t i d l ( ~ r : ~ .
b e nianaged by t8he original grandparent handler (see
right, side of Fig. 3 . 3 ) .
3.1.2 Coiriiriiiiiic’.ati(~ii Transparency and
An <sutoiriation system sometimes c.an be considered
as a tlist,ribiit,ed systtrri. Wli’rri a nurnber of sites are coriiirx-tletl t,o one a.not,her i n tha.t, syst,em by a cominn- iiication riet,work, the users at, different, sites will have
t,he opportjnnitsy tpo exclian e information. But it is cliflimcult to ask a11 pieces ofgalut,omated equipment t o r u n a communic,at,ion network using a single scheme.
To solve this lack of the communication trans ,arency, each of the child handlers of
EDAK
should have ast,andartl interface t,o communicatte with one other. This m a y he achieved via t,lie socket networking which is t.he iiiost, popular cominuiiicat,ion t,echniqrie so far.
If a handler’s contxol process is t,o be running on a
s o c k e f n e t w o r k enviroiiriient, such as lJnix operatin systB8mi platiormL>lieii we neeti to IliiilcI a s t a n d a r i int,erfa.ce for it,. 1 herefore, it does not need anot,her
ageritf process; ot,licrwisc, it, r r i i i s t , h a v e an a.gent, pro- cess for int,erfiicc, Iiet,wceii talle conttrol process of t,he
Iiair,:llrr a n d t,he socket. coirirritiiiicat,ioii environment,, whicli will t41ieii pass the iiifciririation from any, other
1i;tndlers or the Iterriel t,o this corit-rol process via spe- cific communicat,ion “ d i m . (see Fig. 3.4)
(:hi t , l x cont,rary, if none of all tlie parent har!dlers of a child handler is EDAK t,lie cliild one w ~ l l no ~oirger neet\ a st,a,ntlarcI int,erface or agent pro all.
3.2
Control Kernel
:EDAK
Ilere, t,lie C O i l f 7 . 0 1 kernel plays the role of govern-
ing all handlers t,o follow reasonable flow to achieve
a si 1-1 oo t,li work i ng e n v i ron In(: tit . Sin ce handlers may
inchitlc iii~tniliiilat,ors, planners, and event, detectors,
1,he conlrol ker7rf.l may h e considered a.s a resolirce
;illocat,or. A H arit.?mat,~oti syt;t,erri has many resources
t,hat, iriay lie required tto sol\ie a problein: robot uti- lizal;ion, part, flow, cooperat,ion among hantllers, col-
I i s io I I tl e t,ec t io II a n tl a.voi
d
a n ce amongh
a n tilers, e t c.
func&ions as the rr1a.nagt.r of these at,cs talieni t,o specific tasks arid 01)- y. Since t,Iiere Iriity be many, pos- sil)l:y coiiflict8ing, request,s for resoiirces, t,he con,trol ker71el wit,Ii t<lre p l a n 7 1 er r n r r s t decide which requestsa r e t,:iken into account, for a.l180c.at.ine resources so t h a t trlre aut,on’iat.ion syst,eii-i will worlt eh‘ciAit,ly a n d fairly. As a result,, in taliis paper we tlevelop a con-
trol kernel, called E D A I( (Event Driven Auto7nation
f<c,r,11 r l ) , whicli coirsisbs of t l i r c e coniponents: s h e l l , dnltrOcrsc, antl m n i n h o d y , as shown in Fig.
3 . 5 ,
re-$1) ec. t, i ve 1 y , ex p I T i i i i (Y I I)
e
I ow .0 Sliell: It, is t,lie iiiessage elit-ry of the kernel from
air iossililr scliirlers. According, t o !he type of iiicYidirl;ial n-ihssage, the kernel t ien issues suit- able responses.
0 Main hocly: Pro ierly irnana in the commands
and resources is t t e major jof of main 11ody.
0 Database: Since t,lie syskrri requires complete
iiiforn.ia.t.ion t,o Iielp it, iriake an appro iriate de cision, tiat,alxise needs t.0 recortl die desirei
i ii for i na t, ion . Agent Pro c e s s
resources such as i i i a i i i ~ i i ~ l a t ~ i i ~ 1' device< a n d t , a r v t ,
part,s. $]lese resources a r e e i h e r assi;nat~ t>o hi e
task when it is creat,etl, or alloc.at,etl to it, while it is running. The operat>ors, liaiidlers or plalilirrs g r ~ i - erat,e taslts in derriantl, talien t h e shell put. t,ll(:iii iirt,o a
c o i i i i t i n l i d qii e u e, an tl t,lien t,liese tasks wait, for 1) ei ng
fetched to execute.
3.3.1 Coiiiiiiaii(1 A t tribute
The t,asks in general ca.ti be cla.ssifietl iiito two level corn marl cl : 712 n cro I C vel an tl ? ) I icro / e i i e / co1.1.1 I I IR ii d s .
The former one, i-~iacro level coil-in-iantl, is a coiril>i-
nat,ion of micro level c,orninaiitls. T h e ohjectsive t,o design these t,wo trpFs of comiiirtiitl is simply for coil- venience and flexi iility
In addition, these cornmands are also c.at,egorizetl
to have two t,ypes of at,trribitt,es: hlocking and ? i o n -
blockzng. When a con-imantl is execiit,etl! it will t r y
tjo alloc,ate t,lie tleinantletl resources. If tzlie allocat,Ioii succeeds, the c o ~ n ~ ~ i a t i d is just, issued O U I . . Ot.lielwisr, the fat,e of t,liis coI~imancI will tlcpetitl oil i t , s at,t,rillut,e.
If it, belongs t,o talle ? l O ? l - / I / ~ J C k ~ ? l ~ t. p v , it. a n d all or it,s successive cot i i I ria t i t ~ s w i I 1 a I I t i e? J e I (: t.ctl ii ii [I t, 11 p ii ;it i
error message will be sent, t o t.lie iiser who crc>atrtl it,.
If it, Iielongs t,o t,he b l o c k i n g t,ype, it, tiieiliis t,liat t,liis cominand rail wait for f,lic rc'soilrcf' for R I O I I ~ P I . \vliile a i i t l , t,Iierefore, it, will l i e ~ U I , i i i t . 0 (.lie i o
o f t,liat, resource. Wliilc t,li(> i c w l i r c f ' is r c
t,lie coitiii-lands in t,lie wait.iiio' queiir 01' t h e ' ~ P S O I I ~ C ~
will l i e put, int,o ttlir coii.iiilaii2 qiieuc agiiiii i i i i ( ~ t 11a1 resource will lie att~einpt1etl one niorc' t , i i i n c > .
3 . 3 . 3
Here, we develop a two-step cornmand (see Fig. 3.8) which proceeds with two ineinber functions: execute a n c l e71d CVork corresponding to the ezecuting and the
e n rl Working st,a.tes, respectively, as described below
i n detail:
Two- S t op Coiimiaiid
0
0
3.4
execiite(): Before a given command (t,ask) is
esecut.etl, it first re( riires necessary resources al- locat,ioii, such a s robot, p a r t , etc. Furthermore t . ~ i e cornrnant~ neetls t,o extract some ciesired
iaraineters for i t s handler f r om the database. 1 ~ 1 i e n tlie resource allocat,ion is finally done, this command will lie issued out to the handler.
eiidWork(): When this c,omrnand is done by
t,lie handler, it, sends a Result Report message h a c k wliicli cont,ains t1he executing result of t,liis
col-iimantl. T h e n , according to the result, we can
unclert,ake soirie closing opera.tion. For example, aft,er a siiccrssfiil execut,ion, t,he resoiirce is re- leasecl ancl t.lie,da.tabase is updat,etl accordingly,
ancl it.s siiccessive comniantl follows suit.
P la
11ne
1-r ,
I lie planner is a special handler of C 0 7 1 t r O l k e r n e l ,
wliicli is :tiso a c r u c i a l oiie. I n fact,, one, can have ri ii i 1 t. i j i If 11 I ii 11 11 r r s t,o for t-n a tl eci si on m a k 1 n g gr oii p .
It. tlept~iitls on how one wanbs t,o constjructl such i n t d ligeiit. iiieclianisni aiitl t,o exhibit, t,lie flexibilit of this
s -st.eili.
I f
a ED.4Ii
syst,er-ii lacks t,lie, >lanner t a n d l e r ,t.Ki
wlloie syst,eni I)rc.oiiies quit,e rigid in terms of thea c t i v i t. y flows.
4
System P r o p e r t i e s
w i t h
EDAK
A coiiiplex autoiriatioti syst,eiii usually c,omliines a lot. of piecrs of rqiii > i i i e n t , . A n y a.dtlition of a machine
tievice, wliicli is t,o L e i n t x rated into the system, will
i i e e t ~ a nurn\>er of proc.e&rii wliic.11 sornetimes re-
q u i r r non-negligible efforts and considerable amount of t,iinc. I n this sectlion we propose a technique tjo
solve this protilein - tjlie Registrntioii Procedrire (see Fig. 4 . 1 ) . This approach is just, tlo partit.ioii the han-
dler fuuct,ionalit,y int-o several srriall pieces. Each of
t.liese pieces should be well-defined and can be u n - for 1.1-11
y
(1
escr i b e d,
w i t,li c a r efu 11 y defi n et1 in p 11 tJs,
out -p u t s , antl fuiict,ion.
\\'lien E D A li is 1)oot)in none of handlers will be residciit , Brit. when EDA% is ready, then all of t8he haiitllers are booting in sorne random sequence. At, t,lie first. st,e.p, the. ha.ndler diagnoses anc initializes it,self. If everyt,liing is all ri lit, antl is standby, the
Iiantlier tries t,o regist.er on ~ D A K . In fact,, it, t,ra.ns-
ft,rs a ~' Iiaiitller regist,rat4ioii" coriiiiiantl to EDAK via col I I I I 111 11 i c R 1, i on I I i&tl i II I I I . I n t,li is coin n-Ian
(I,
t,liere are lots of parairiet,ers ancl informat,ion to fully describet.Iic, r o l c o r t,lic, clrxract.erist,ics of t,his Iiantller so t,lia.t
t,lrr E / I A I\ caii a p p r o p r i a k l y I-ilanage i t . E D A K will
creat,e aii n7i~br~ssador o b j e c t , antl record all the re- ceived iiiforinat,ion i n it,, such as comniuiiication chan-
nel, sripport,itig fi~nct~ions, perforrriance, and so on. Finally, if t,he re ist,ration proc.etlure is successfully
(lone on coi,lro/ $.e'riie~, it, will reply a message in- c.lutling >! u t i i q u ~ series n ~ i v ~ b e r ~ like a n itlentific.at,ion nuiiilier i n EDAK, ImcL to t.he hancller. Also, E D A I i
will itlent,ify t,he specific handlers by use of the series iiutnlier wherever taliere is a messawe sentz in.
~ i i p p o s e tirat, a 1iand1,er lias ma?functionetl, it can
q u i t , out. t l i < > svst,eiii act.ively or passively. The 7 i i l
n-iaiia.F;ei-iient. The t,otal flowchart is described in Fig.
4.2.
But how slioiild E D A I i tl.ecitles what is (are) the suitalile hantllrr(s) of tjliis request from the robot'?
The
a.iiswer is t o look fort h e
information recorded in t,he ar-nbassador ol)jects of t , h e corresponding handlersduring t h e registmt,ion phasl.. I n the re istration in- forin;ttrion, t,Iiere are a riiimlier of listas wRic11 CiescriIie the charact,eristic.s of t,liatj handler, suc,h as relation- shi 1.1 w i t,li other 1 I an tllers
,
access per mission,
support-ing functions, etc. These will help t,o tletJerrriine t,he
I I I P ~ ~ , suittable ha.ntller witjli respect) tjo the request.
4 . 3
Failure Detection
l ~ a i l i i r e d e l e c t i o 7 i aiiiong handlers can proceed in t.\vo
0
0
4.4
ways: active or passive.
Active : Each handler rna have its own d i a g -
u o s i s s y s i e n i . Wlieii it ciiec.ls itself aricl f i n t l s an existmce of some abnoirinal signal, it, would in-
form the coirtrol kernel arid request to quit out
a.ct,ively.
Passive : There is a p a f r o l variable i n ea.cli a m -
basscrdor of a hantllcr. This variable is cleared t80
zero when the corresponding hantller send any nornial message into t,litr c o n t r o l kernel. As ineii- t,ioned before, when tjlie control kernel receives a
t i c k , it, will increase t,lie introl varialile of every a i l - i ~ x t s s a t ~ o r object, atit1 check w1iet)ier the value of that, variable exc,t.etls; a. certain I>ound which is also predefined during t,he registration phase.
If incleed, con/ro1 k e r n e l sends an "Are-you-up?"
message t.o t,hatd liaiitllcr tjliat3 will forcf; the lian;
tl1t.r t,o rriakc a respoiise of sending a I - a m - u p Il-iessage b a c k , T h u s , it, causes t,lie palrol variable
t.0 be &et, to zero again. On the contrary, if t,he
pcifrol varial)lt> is not, cleared t20 zero and keeps in- creasing along w i t h tlrc coritiniioirs c.orirtlig t i c k s t,ill ii cert,ain t,lireslioltl (clefinetl in confro1 ker-
i i c l ) is exceeded, t r l i r i i [Jiis Iiantller is regarded as
R failed one a n d Iic3iicc. is forced t.o quit orit,.
I
11t
eg - 1-a b
il
i
t
yTI I r N I i t,o I i 1 a tr i on sy s {.e I n co ii t, r ol led I) ED A I< c a n he t,reat,rtl as a h idler also. (I:oiisequent~y, the higher level system designer can integrate all the subsystems
using EDAT< ag:i.iii t.o coiist.ruct, a larger syst,em. In
fact,,. tlit're is a little difference between the subsys- t,em liantller atid a general one.
A
general handler isSI< execntrer. It, c.a.n not, ha.nclle more
i n a tlutJy cycle. Nevertheless, the
ler is able to perform midtriple tasks
t81ie
general
hantllers, local )lanners, operattors, a.ncl, most, fascinat,iiig, it,s higher level ivs- Therefore,, Llie sulxys;tjerri Iia.iidler can iriiilti-r on iriiilt,iple EL7AKs. That, is, t,lie syst,erii wit,li iinect,ion iietrwork topology c a n be easily irriple- rr.ient,etl, of which exaniples are tlepic.ted in Fig. 4.3. (
aclo8pt,etl froi-ii [SI). As a result of tlie above property, a
i n caii then l i e easil designed by 11y sirnply esta1iIisiLig riatioris
aiiioirg vnrioiis siil~syst,enis.
5
Experiment
Tile ex wriinrnt, is perforimecl in the two-robot as- s e i i i ~ , ~ y cell wliicli is (letlicn.t,ect t,o assern1)lin various t,y pes of irieclianical rt,s sserially sent) in tfroiigli a
e i i i l > l o t l p r o d u c t , s a r e t,llen sc-
rially sent. o u t a
p'
rough t,lie same conveyor helt tjoili;it,r.c i t or age < l r v i c c . T h e c r l l is eqiiip~e,cIera1 picccs o f Ii;irtlw;irc w h i c h along wit,li tj ieir
furict,ioii caii lie tlescrihetl I>~elow:
0 two robots : bot,li of t a l i e m are itlentjical iii t,erms of their assettibly func.t,ioii,
[4] (ieofferey B o o t h r o y d , (-:orraclo Poli and Laurence E Murch, " A u t o m a t i c Assembly", Marcel Dedtler, Inc. 1982.
[ 5 ] R e x h4aus and Randall Allsup. "Robotics : A Manager's Guitle", John Wiley a n d Sons, Inc. 1986.
[G] Hiroshi Makino, " T h e Comparison Between R o b o t i c Assem- bly Line and R o b o t i c Assembly Cell", 1 0 t h I n t e r n a t i o n a l CoIiference o n A s s e m b l y Aut onint z on , p p . 1-10, 1989.
[ i ] Yuan F. Zheng, "Integration of Multiple Sensors into a
Robotic System a n d its Performance Evaluation", I E E E J o u i - i i a l oJ R o b o t t c s arid A u t o n i a t z o t i , Vol. 4 , No. 4 , pp.386-
3 9 6 , August 198X
[8] A S i l l x r s c h a t z , J . P e t e r s o n , F'. (I;alvin " O p e r a t i n g System
( !oiicept s" TI1 i rtl ed i t,ion. Addison Wesley.
R I , ancl T. H . S u n , "A Petri-Net Based t.ure for r)yilamic Scheduler a n d Deadlock
u j I E E E Cotif. H o b o t r c s ( i f i d A u t o m a t .
[ I O ] I,i-clien R I , and Yung-Jen I-lsu, "Fully A u t o m a t e d Two- Itoliot F l e x ~ l > l a Assembly Cell," P7-oC. of I E E E C o t ~ f . H ~ b o t z c s u n d Autoriint. 1 9 9 3 .
[ l I ] L S . H o m e m <le Mello ancl A . ( ! Sanrlei-son, "Representa- t i o n of Mechanical Assembly Sequences," I E E E Tt-atisac-
t t o r i s Hobottcs orid A u t o n i a t i o n , Vol. 7 , N o . 2, p p . 221-227, 1 9 9 1 .
[ l ? ] L S Honirin de Mello ancl A . C . Sanderson, " A N D / O R G r a p h Representat ion of Assembly Plans," I E E E Tra7isactioris
1 9 9 0 . 70.5-708, 1 9 8 8 .
H o b o t i c s a r i d A u t o n i a t i o t l , vol. 6 , NO. 2, p p . 1 8 8 - 1 9 9 ,
[I31 ( ! h e n g - J y r L u h , Hrrnard P Z e i g l e r , "Abstract.ing Event- Exsril (:olltroi M o d e l s for High Aut.ononiy Systems," I E E E
T ~ n n s u r t t o n s 0 7 1 . S y s t e m , M a n , n n d Cybernetacs, V o l . 2 3 ,
N o . 1 , p ~ i , 4 2 - 5 4 , 199.9.
[ 1 4 ] hI S I<aniel, A . Thomas, "1nt.egration of Vision, Task Plan-
1111ig a t i d rtol,ot Arm ("ontroller," Intei-mztzorial .lout-rial Of
Hobotirs a n d Autontcltron, Vol. 8, N o . 2 , 1 9 9 3 .
[ I 5 1 Stephen T (?, Wong, "C!OSMO: A C!ommitiiicrrtion Scheme for Cooperative Knowledge-based System," I E E E T r a n s a c -
t 7 0 9 i S U 7 1 i ' y s t m i : M a l i , arid Gyber-netzcs, Vol. 23, N o . 3,
p/1, X 0 9 - # 2 ~ , 199.7.
[ I G ] ( ' I i i - K e i i g ( J a s o n ) Tsai "Mult,iple Rolmt Coordination and Prograniiriiiig," P r o c e e d i n y s o j 1991 I E E E Iiiternatiorial
zi-ritrr o i i H n b o t i c s a n d Autorrtntton, V o l . 2 , p p . 978-
I< D a n e s h men cl, Vincent Hay ward, t-Orientkil Paradigm for t,he Design itnil 1111 p l e n i e t i t.at ion of Robot Planning a n d P r o g r a m m i n g Syst.ems," F'rocerdrrsys o f 1991 I E E E I7iternatzonal C o n f e r -
e n c e 0 7 1 Nobo17,.s and A11toritnt7oii, Vol. 1 , 7)p. 2 0 t , - 2 0 9 .
[ ! X I Boyer, LI , " A l<nowleclge-Basetl System for On-line R o b o t Error Recovery," M.Eng. Thesis, D e p a r t m e n t of Electrical Eiigineering, Mc(;ill l.Iniversity, J u l y 1988
[ 131 Meyer, B . , "0 Ijject- Orien ted Software C o n s t r u c t ion ," F'rcli t Ice- H iil I, I YXH
[10] S a i i d e i i , B . , "Tire (.!ase f o r Eclectic Design of Real-Time Soft-
ware ," I E E E Trans n c t i on.? U 11 So f t tu a r e Etig in eerz ri y , Vo 1. 1 5 , No. . 3 p , n 3(;0-.Y62, Mnrcli 199.3.
PI] L)ouglas A Bodnrr. Suzanne Dilley-Sclineider, S . Narnyannn,
I.lilay S r e v k a n t l i , T (:ovinrlaraj, Leon F. McGinnis a n d <:liristiiie M . M i t c l i e l i , " O I ~ j e c t - 0 r i e n t ~ e d Modeling and Sini-
11 1at.ioii o f A II t o m at 4 Control i n Manu fact 11 ring ," Proceed- ings c1.f 19Y.1 I E E E lrittrnntioiinl C o n f e r e n c e o n Robotzcs