Copyright © IFAC Artificial Intelligence. Leningrad. USSR 1983
ROBOTS AND FLEXIBLE MANU FA CTU RI NG SYSTE MS
i
AN ADVANCED GRAPHICS WORKSTATION FOR INTERACTIVE ROBOT PROGRAMMING P. Bison*, E. Pagello*'**, F. Rodighiero* and G. Trainito* *LADSEB Laboratory, National Council of Research, Corso Stati Ulliti. 4-35100 PadOl'a. Itall' ** Faculty of Engineering, Padua University. Italy
..
.V '
ABSTRACT. The availabili ty of the neH "A. I. machines", i.e. advanced graphics workstations Hit h a large main storage, a mouse device, a high resolution bit-mapped raster screen, a so~histica ted communication oriented operating system and h i gh level languages , Hill improve the int eract ion between the operator and a manipulator. An experimental software set-up under development at LADSEB Lahoratory, which utilizes such a machine to control a Puma robot, is desoribed. KEY1:10RDS. Artificial Intelligence, Interactive Programming Environment, Manipulator ?ro ~ ra~min~ Lan~uages.
1.
Introduction
an interactive enviro!1r.Jent.
The developme n t of research in the field cf Artificial Intelligence is r,oing to rapidly change the present robot program~ing system d esign. Particulary the availahility of such ne w generation of A.I. machines, 8S the advertized Xerox Dolphin and the Lisp machine, and of such sophisticated graphics workstation as t h e ICL-Perq and the Sun, will offer new sophisticated tools for editing off-line and debugging on-line programs for assembly control.
This paper is de voted to illustrate t he experimental software setup Hhich is under con st ructi o!1 al LADSSB to con trol a PUMA ~a~ i pulator throu gh an LSI /11 and an I CL -~ erq conne ct ed tOGether; an interpr eter of t h e V'~L, an inter"l ed i ate level lanRuaBe for rob ot proera~~in~, r uns on the LSI for execut i n~ ~o~ot actions; an experimenta l pro ~ rarn"lin o.: envi r o!1!""ent is lI nc!cr dev e 10prne nt on the ?erq to '"'.ir' t he pro~ram~er in builrlin~ t~c "1anipulator pr03r2"1S ; <1 PT" ,\ Si"1ulat')r is Rvail ;:>:1 1e ')n tl-Je ~er'r:
~h ile the commercial softw~re systems for in dus trial manipulators essentially bel on~ to the traditio~ of re al time lan~ua3 es li ke Concurrent Pascal and Ada extended by suitable riatR stru ct 'lrep" 2. neH perspective is offered hy the A.I. techniques to the designer of Rn ad vanced programming s ystRm. ~ qny ele~ents will contrih~te to the develop~ent of a pro~ra~Min~ systeM w~ich ~ay ~e considered at the "tas ~ level" : - the ability to proce ss se~sorial data - the ability to represent the worl~ through a ~eo~etric ~odeller - an automatic planner
ff)r
2.
t~stiYl .n;
T!le
t'1e
C0rA
p!",r)~ r a:.~ .
int erp ~~t~r
t~l~
0:'
systerrl. i nte r"1 Priiate le v01
~n h~3
been
Ll\~SEg
rlesi~ned
L2horat0!"'y,
2n~
lansuasr
imple~ent e~
~incc;
t~p.
;:>t
l~_:::t
f0ur ye?rs , t,') c·')ntr:'ll ". "''' 'li ;1:;12 tor for as sembly 2utonatinn 16 1 & I l l . The lC1.'1 ':>]":':" , CRl l.pri lJ\~L Vi rtu"l ~a chine La n~uRo.:e ), is a s tructurp~ cO;>'l:'1anr. l an?:tla~e for rD~ ()':, rno ve~ ents , Iln 2o~"'un i cations and arit h~et ic .conputat i 0!1S 0.ver v2rin ,' s
209
P. Bison e-c al.
210
data types, Hhich allol-ls synchronisation over concurrent processes and asynchronous communication with both the robot and the operator. Its implementation, fully described in /3/, has been carefully designed to give an easily portable tool for higher level robot pro~rammine system implementation. After having been interfaced with the SupersigmR Robot at the Milan Polythecnic, it has been recently connected with a PUMA rohot so that it is possible to generate a set of executable VAL statements from a V'lL program /4/. The VlI1L interpreter has been originally written in Pascal and is now being translated into C; it can run on a 16 bit micro-computer with at least 64K bytes of main memory and as a pro~ramming language it is suitable for any manipulator with one or more ar~ s and a set ot operating devices; the final grammar of the language has been presented in /2/. To keep the interpreter code as compact as possihle, imple men t at ion has a dopted memory sa vinG h i nts ; the syntax of t'le V'lL statements has heen rigidly defined to helong to the folloHin g form : [1 a h e 1 :J 0 per Cl tor (a r ?; 1 , are 2 , ) a rgn) ; the operator mRy find its o~prands on a stack w~en necessary to i nc rea se e fficiency in the co ~puta t ion; macro r.efinitio~s allow to introduce con trol loop s anr. in fix operations if a h i ghe r l evel syntax form f or V~L s tatement s i s
...
The PUMA is represented as a set of generalized cylinders, one for each of the first f our links; the hand has been built with one block only but three deg ree of freedOM are allowed between the hand and the arm. The kinematics of the linked structure has been so lve d by referring to /9/; the simulator detects any atteMpt to execute an ille~al motion (for example a rotation heyond the limits of a joint or a move to an illegal position), and displays an error message to the operator who is able to test the correctness of the VAL program that is bein g executed. Logical errors in programs can be detected too, like an endless loop or meaningless operations, etc. The simulated PU ~ A can be operated according to two different modes. One motion may be def ined in the joint coordinate reference frame; in this case the solution is obtained hy the simulator through a linear interpolation; joint variables are interp o l ated so that the joints complete their rotations si "lult,R neo llsly ; the '1'1no trajectory nay he unkn()lm llnt il tIle pnd of the "lot ion. Another motion ~ay a ls o be de fine d i n t~le Ca rt es i an Coordinate r eference fr<'l.me ; in this case a nllmber of i nte r~e diate po ints are selected alon~ the straie;h t lin e connect ine; the i nit i al and the final pnsitio:1 of tIle l-Jand so that '1 sl')lut i nn is CO!"1p'Jted at r un ti",p for each of these inter!"1cd i atp points .
~esir.e recl.
The
various synchro~isat i o~ primitives for schedu li nG processes t hrou~h hoth traGi tion'1l semap!wres/messa::;es ?nr. usual PEGIr-r) constructs; d'lta tYres like sca lar s , hoo lean, vectors, rotatio~s, frames and cha ra cter ::; t r in:; s 2. r p. ( ~e f i ~ e d ; 1/ () p r i "l i t i v e s util iz e the s t~c k and Cl specirt l :C'Jffer for cO ~ Cjllr.icilt io n ; J:)th interna l an~ exte r n~ l procedures ~ay be rlecl~red; external procedures have hee:: o:fe re (~ t.l-:r()u~h t'1e ar1 ll:)c 0 v SI Pascal facilities.
3.
!he
l an~uage
PUl'~A
~l lows
sinulator.
t \lC PT)"'A A simu lator of manipulator has been '::ritten i n Pasca l and is presently runnine; on a Perq wo r kstat ion /7/.
"'\1 1" <'I1~ori tllms user! to ~enera te \)otll the jnint and t'1", cartes ian motions have heen obtained frl')m /8/ & / 9/ wit h so~e simplif ic ation to increase execut ion spee rl ; each solution i n the cartes ian motio~ has rc~ u ir 2d 16 trascendental function s calls, 38 !"1ultipl i p s an d 15 SU"lS.
The ti"le req u ire d by the Perq a pictu re of the r obot i s ~ivp~ hy the tine spent i~ kine~atic co~putatio n s p lus th e ti~e necessary tl') draw the sene ralized cylin~ers on the sc re en ; i n the j0int motion ~o~e it i s possible to d r aH u p to 4 pictures per second wh ile in the ca rt esian ~otion o~ l y 3 pictu re s per seco~d can be d i sp la yed at maxi"lu!"1. to
~ is p l ay
The s i~ ulator alloHs to dU!"1p the actu'I l values o f bo t h the cartesian posit i on a n d of the jo int positions, 1-1:1 il e the relati ve position of a tool added to the hand
Graphics Workstation for Interactive Robot Programming
may be ,easily computed. f
The simulator is able to accept a VAL program and to execute it step-by-step is a remote control mode or a local control mode as will be illustrate next; three pictures of simulated movements of the PU'1A560 displayed at our ICL-Perq graphic video are showed in fig. 2.
4. The present hardware software configuration.
211
User does not need anymore to remember the different alternatives he needs to call, but he can on the contrary choose among the selections listed in a "menu" which appears and disappears on the screen. We believe that this tools are what is needed today in a robot control station which aims to offer a sophisticated programming environment as regards the guidelines proposed in 15/.
and
The present hard & soft configuration of the system for editing and debugging the maniB}llator programs is shOl·m in fig 1a~ 2a. . ~A local operation mode is activated from the TTY co~nected to the LSI/11, while a remote operation mode corresponds to the activation of the graphic video of the Perq as the system consolle. The VML interpreter resides permanently on the LSI/11 under the control of a monitor, called local monitor, which allows to switch the executio~ of the program either to the real PU~A or to the simulator, whose interpreter resides on the Perq; only one of the previous selections may be chosen by the operator through the monitor. Then the module which interfaces VML to VAL allows to execute V~L programs in both the real and the simulated VAL enviro~ment.
The local monitor is responsible for the execution modes for V~L statements ( step-by-step or global) and for various flags which contribute to configure the system; it is able to receive programs previo~sly edited on the Perq for their actual or simulated execution and has a set of facilities for interacting lIith the running processes. In the remote operation Mode graphic ~ideo of Perq takes co~trol of the system; programs sent to the LSI for real executio~ may alternatively be given back from the LSI under the form of VAL prograMS for the PW1A sinula tor residing on the Perq, which plays th~ role of priviliged host.
Because of its limitRtions, 'r)owever, the present operating system for the Perq, POS, does not allow to run together the monitor and the executed simulation, but we have looked at Accent 110/, the new communication oriented operatin~ system under design for Perq at C~U, and we are considering those of its features which may be of great improvement for the remote operation mode in our robot control programming system. While a close synchronisation scheduling ability is needed by the VML interpreter process scheduler for those activities which are functio~ally connected to the manipulator motions ( the sensorial data processing, the emergency recovery planning etc. ), the overall control programminrr, augmented with the simulator, and the other tools which will be developed, must be approached with a "message-passing" philosophy because we want allow the communication amo~g processes which are intrinsically loosely connected. In this view, as soon as Accent operating system will be released, both the simulator and the monitor will be allowed to run simultaneo~sly both being displayed through separate windows; the virtual memory management facility will give a better integration.
the
Aknowledgments
Perq cursor hardware and overlapping windows give a better user friendly taste to the VML program environment; the "mouse" trick allows an excellent man machine interaction.
This work has been granted partially by the "Progetto Finalizzato Informatica Obiettivo MODIAC" of National Council of the Research and partially by the "Progetto di ricerca sulle metodologie informatiche elettroniche e siste~istiche per la Robotica" of the Minister for Public Education; thanks are given to all the students who contributed to the project during their thesis work and in particular to S. 3rufatto, A.
P. Bison et al.
212
Grot to and , .
Saffi.
?cferences /1/ P. 3 ison, G. Lorenzin & E. Pa ~ ell o : "The For!"1al Defini tIO:1 of VI-': L and ~ proposed Portable Irl~le::Jentation";
Froc. of XI ISIR, Tokyo 1981 /2/ P. Bison, R. Merlo, S. Pagello & F. Saffi: "Sistemi di Prograrnmazione per Pobot Industriali"; Proc of the 1st Conf. of the Italian Society for Robotics, >l ilan 1982 /3/ P. 3ison & F. Ropelato: "V"1L: 11anuale d' uso e guida all'implementazione"; Technic~l Report LADSEB-CMR 81-11, ?adova 1981 /4/ S. Brufatto & F. Rodighiero: "Aspetti di Portabilita, del V'-1L" ; Technical Report LADSEB-CNR 82-10, Padova 1982 /5/ ~Deutch & E. A. Taft: "Requirements for an experimental pro gramming environment"; Technical Report CSL-80-10, Xerox-PARC, Palo Alto 1980 /6/ G. Gini, M. Gini, E. Pagello & G. Trainito: "Distributed Robot Programming"; Proc. of the X ISIR, Milan lJ30 /7/ A. Grotto & F. Rodiehiero: "Progetto ed implernentazione del simulatore ci un rnanipolatore PUMA560"; Technical Report LADSEB-CDP ~, Padova 1983 / '-~ / R. P. P a tU : "Robot Manipulators: Mathematics, Programmins and Control"; ~'lIT Press 1981 /9/ R.P. Paul, B. Shimano & G.E. :'layer: "Kinematic Control Equations for Simple Manipulators"; IEEE Trans. on Sys •. Man and eyb., Veil SMC-11, n. 6, 1981 /10/ R.F. Rashid & G.G. Robertson: "ACCENT: A communication oriented network operating system kernel"; Technical Report CS-81-123, CMU, Pittsburgh 1981
2 13
Gr a ph ics Works t a t ion for I nte r act i ve Ro bot Programmi ng
!
Mass Storage PUMA Arm
Mouse
S.
LSI/ll Control Board Graphic Uldeo
,_ 'V
"
1.a Hard configuration
UAL Interpreter
PERQ
~
Puma Simulator LSI/ll
~
~ UML Interpreter
Simulated UAL Environment
~ Local Monitor
1.b Soft Configuration
Remote MOlll tor
P. Bison et aL
214
::I! ~ I1
~
I.
~ '.
tLr!j ;~;
~
. ~/
\~.::::-:.:
2,
.
:
P\-()TOS OF SI MUL ATED r-uVEMENTS fir PERQ
VIDEO