a framework for intelligent assembly in industry

14
This article was downloaded by: [University of Glasgow] On: 04 October 2014, At: 23:45 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK International Journal of Production Research Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/tprs20 A framework for intelligent assembly in industry DAN MANDUTIANU a & SERBAN VOINEA a a Institute for Computer Technique and Informatics , B-dul Miciurin, nr. 8-10, Sector 1, Bucharest, 71316, Romania Published online: 07 May 2007. To cite this article: DAN MANDUTIANU & SERBAN VOINEA (1988) A framework for intelligent assembly in industry, International Journal of Production Research, 26:4, 599-611, DOI: 10.1080/00207548808947887 To link to this article: http://dx.doi.org/10.1080/00207548808947887 PLEASE SCROLL DOWN FOR ARTICLE Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http:// www.tandfonline.com/page/terms-and-conditions

Upload: serban

Post on 19-Feb-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A framework for intelligent assembly in industry

This article was downloaded by: [University of Glasgow]On: 04 October 2014, At: 23:45Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Production ResearchPublication details, including instructions for authors and subscription information:http://www.tandfonline.com/loi/tprs20

A framework for intelligent assembly in industryDAN MANDUTIANU a & SERBAN VOINEA aa Institute for Computer Technique and Informatics , B-dul Miciurin, nr. 8-10, Sector 1,Bucharest, 71316, RomaniaPublished online: 07 May 2007.

To cite this article: DAN MANDUTIANU & SERBAN VOINEA (1988) A framework for intelligent assembly in industry, InternationalJournal of Production Research, 26:4, 599-611, DOI: 10.1080/00207548808947887

To link to this article: http://dx.doi.org/10.1080/00207548808947887

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) containedin the publications on our platform. However, Taylor & Francis, our agents, and our licensors make norepresentations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of theContent. Any opinions and views expressed in this publication are the opinions and views of the authors, andare not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon andshould be independently verified with primary sources of information. Taylor and Francis shall not be liable forany losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use ofthe Content.

This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Page 2: A framework for intelligent assembly in industry

INT. J. PROD. RES., 1988, VOL. 26, No.4, 599-611

A framework for intelligent assembly in industry

DAN MANDUTIANUt and SERBAN VOINEAt

A special tool for using robots in intelligent industrial assembly is presented. Thesemantic network is the model for knowledge base organization. Planning is doneby means of a specialkind of production rules named demons. A dedicated NON­VON machine GRAM (GRAph Machine) stands at the basis of intelligent robotprogramming. Finally an example of using GRAM in industrial assembly isdiscussed.

I. IntroductionIntelligent assembly, as an attractive application involving both robotics and

artificial intelligence, requires adequate tools and methods. The field stands for one ofthe most complex industrial robot applications and it becomes feasible due tosignificant technological and theoretical progress. Knowledge representation andaction planning (Lozano-Perez 1979, Mandutianu 1982)are the main topics involvedin the design and achievement of an intelligent system intended to control an assemblyrobot. The approaches in these two problems are of crucial importance for the effortrequired to achieve and run the system, its performance and eventually for the systemviability.

In the present paper, a model of semantic networks is proposed for knowledgeorganization. The main characteristic of semantic networks, frequently mentioned inthe literature, is locality. It consists in the fact that in a semantic network allinformation on a conceptual entity can be reached starting from a single point. Aconcept corresponds in the network to a node or a group of nodes directly attached tothe representation of the adjoining notions.

A semantic network joins in the same representations both the informationcorresponding to the concepts and the means (the procedures) of retrieving them orderiving some information from other ones. In other words, a semantic networkcontains both facts and the access and control information. In classic computingsystems, the information memory structure provides each element with two vicinities,the predecessor and the successor in a linear representation. This vicinity has no otherproperties but position.

In a semantic network, memory has a multi-dimensional organization; it is nolonger homogeneous. The first unhomogeneity appeared in the fact that a singledirectly addressed memory unit (word or byte) was no longer sufficient, and differentprimitive data types have emerged (such as variable length strings, list elements, etc.).By the machine structure proposed in this paper, memory linearity is destroyed. Amemory element (a GRAPH ITem) can have any number of vicinities (nodesconnected by arches). Each direct vicinity may be considered to be along onedimension. Moreover, this vicinity is characterized by all the information contained in

Revision received March 1987.t Institute for Computer Technique and Informatics, B-dul Miciurin, nr. 8-10, 71316,

Sector I, Bucharest, Romania.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 3: A framework for intelligent assembly in industry

600 D. Mdnduuanu and S. Voinea

an arch. Certainly, each memory element is no longer directly accessible as with linearmemories, but it has no independent identity either, and direct access does not interestus. For example, a node which contains information about an object dimension has noindependent meaning. The only way in which it becomes interesting is access throughthe node which it characterizes (from which the object pattern and the dimensionsignificance are derived).

One may distinguish in Brachmann (1979) five primitive levels of semanticnetworks corresponding to five degrees of knowledge organization. The five levels are:implementation, logic, epistemologic, conceptual and linguistic. The last level, the mostcomplex one, has words and expressions as primitive elements, specific to the naturallanguage. In fact, at the linguistic level, semantic networks were used for the first timeby Quillian (1968). However, this level does not interest us in the present paper becauseour objective is knowledge representation of an assembly robot which involves otherproblems than natural language representation.

At the first level, the references are pointers and the nodes are only referencedestinations. This level may be considered as an implementation of a high levellanguage, a logical one.

At the logic level, the nodes are considered to be predicates and sentences and thearches logical relations. Hierarchy is already oriented towards natural languages. Inour opinion, the primitives at this level should be objects and the relations betweenthem. At the logical level, the assembly robot universe is regarded as an object assemblycharacterized by static and dynamic information.

The higher level, the epistemologic one, has as primitive conceptual units,instruments which enable an abstract description of the concepts, independent of theparticular knowledge they express. For example, the structure of a production rulemade up of preconditions and actions is independent of its particular function (Davisand King 1975).

At the conceptual level, the nodes denote word meanings and the arches conceptualrelations, The significant concepts for an intelligent assembly robot are: production,goal, distance (relative to the goal), etc. At this level we shall include strategicinformation.

2. BackgroundRepresenting knowledge in a semantic network environment assumes identifying

the nodes of a graph with objects and concepts, and the arches with relations. The rolethe nodes and arches play in knowledge representation induces their structure andproperties. Therefore, in order to face the representation tasks in a semantic network, a

node has to have the following attributes: type, name, value and structure.The type identifies the nodc from the point of view of its role in the graph. It shows

the nature of the relations it has with the neighbours, as well as the meaning of the otherfields of the node. The name is an identity of the node making it distinct from others ofthe same type. Name is the way to reach the node directly, irrespective of the linkspointing to it. The value field qualifies the node with an extra attribute whose meaningis strongly dependent on the node type. The value may be logic, numeric or symbolic.The structure is actually a list of arches starting from a node. Similarly, an arch isqualified by the following attributes: type, name, value and target. The type, name andvalue have the same meaning as in the case of nodes. The information from these fieldsgenerally characterize a relation between the objects that the arch links. The target isthe node pointed by an arch.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 4: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 601

A

{

TYPENAMEVALUE

c

A

{

TYPEB NAME

VALUE

c

Figure 1. Arch representation.

One can notice that the only distinction between a node and an arch consists in thecontent of the last field, relative to the links with other graph elements. An arch, havinga type, name and value, may be eventually represented by a node with a singleneighbour. In Fig. I (a), the arrow stands for an arch and the braces close its attributes.In Fig. I (b), the arrows represent pointers. All the attributes qualifying the relationbetween A and C are stored in node B. In this way, in the graph, the arches will have nomore attributes; they will be just pointers and the nodes will keep all the information.This homogeneous representation simplifies both the memory management and thegraph processing (building, search, update). We call graphit (GRAPH ITem) a graphelement irrespective of its destination (node or arch). We choose the followingrepresentation of a graphit: type, name, value and structure.

An arch and a node differ by the number of elements in the structure. An arch has tocontain exactly one link, while a node may have any number (zero included).Interpreting a graphit as a node or as an arch is a problem of semantics. At the lowestlevel of representation, there is no difference between nodes and arches.

We shall next suggest some possible interpretations of the four fields, standing forarguments of their utility as graphit attributes. The type determines the graphit role. Itmakes the distinction between a node and an arch and at the same time stands for aguide for interpreting the other attributes. For instance, if the graphit type is 'cube', itwill be a node representing an object (polyedric, regular, ...), and a possible meaning ofthe value is the measure of the cube edge. A graphit of the type 'attached' will beinterpreted as an arch (a relation) and its value may qualify the attachment relation,taking one of the following four symbolic values: permanent, rigid, non-rigid orconditional. With nodes, the type also shows the way to interpret their links. Thus, if anode has the type 'assembly', its expected structure is a tree whose leaves are linked tothe root node by arches describing the role these corresponding components play(Fig. 2).

Certain primitive graphit types, with a predetermined structure and destination, actlike the 'wired instructions' of G RAM. These functional graphits may be used as suchor the user may define functional subgraphs.

The value of a graphit may have one of the following types: numeric (integer),symbolic (string), logic or frame (transformation of cartesian coordinates). For each ofthese four types, default values are supplied when the operations fail or when a value ofan empty field is required.

The entire knowledge base is represented by an oriented graph in GRAM. Thegraph is accessed via certain input nodes, referred by names,unique at the graph level.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 5: A framework for intelligent assembly in industry

602 D. Mtindutianu and S. Voinea

TYPE:

NAME:VAL :

TYPE: ASSEMI3LYNAME: SCREW

AT~ -----.

HEADPERMANENT

TYPE: ATTACHED

NAME: BODYVAL : PERMANENT

TYPE: PRISMA TYPE: CYLINDER

Figure 2. Screw representation graph.

Graph processing propagates from one of these nodes, driven by graphit types and theactual context of the semantic network. Generally, a node is accessed for one of thefollowing purposes:

(a) information request from one of the graphit fields; and(h) graphit activation with or without information request.

In case (a), the request refers just to the information stored in a field, independent of thegraphit type. In case (h), the activation may request a type, name, value or structure.The graphit type determines the way the information is obtained. In addition, in case(h), a so-called anonymous activation is permitted when the information is notrequested, but the side effects. The graphit type also implies the type ofthe informationsupplied when activated. The information is synthesized from the graphits referred inthe structure. If the type of the requested information differs from that specific to theactivated graphit, then the information is obtained as in case (a).

3. FunctionsFunctional nodes provide the synthesis and specific processing of each type of

information handled, as well as a large scale offlow control facilities. As a general rule,operators evaluate all the operands by activating the corresponding nodes. The orderand purpose of operand activation are established for each operator. The operands areidentified (among the neighbours of the operator node) by means of their name field.The order of evaluation is important for the side effects which may occur duringactivation. The side effects. may consist in changing the content of certain fields ofgraphits or even in altering the graph topology by deleting or introducing graphits. Theoperands are linked to the operator node by means of arches whose names uniquelyidentify them. A reference to an operand may be deferred. The name of a global node isspecified in a DEFER node and the link is established dynamically. The global nodewith the same name as that specified in the DEFER node will yield, after activation, theinformation asked by the operator.

Depending on the information provided or on the induced effect, functional nodesmay be divided into the following four classes: value nodes, structure nodes, controlnodes and demons.

The value nodes perform the four arithmetical operations upon numerical values.The whole set of logical operations and value comparisons are provided. Tests upon

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 6: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 603

the graph structure (empty structure, the presence of a named link) provide logicalvalues. Concatenation and truncation are the two permitted operations withsymbolical values. The value nodes also enable value field extraction or setting of agraphit. A conditional operator enables the selection of a graphit value through alogical condition. The values may be read or. written on an external medium whoseidentity is specified in the name field of the operator node.

The structure nodes alter the graph structure, create and destroy nodes and links.An operator sets the structure of an operand to the one obtained from the evaluation ofthe other. The link between two nodes is established by constructing a graphit with theaid of BRANCH operator. The inverse operation is performed by CUT operator whichdeletes a certain link. The selection of a link or of a node pointed by it are also enabled.

The fact that a node is at a certain instant activated means that the control islocalized at that node. Control nodes direct the control flow to the graphits of their ownstructure. These nodes launch anonymous activations of the neighbours (that means noinformation is requested, just control is transferred). At the end of the operationsinvolved in a graphit activation, control returns to the node that initiated it.Anonymous activation of a typeless node or of a node whose type does not permit it (itis not a functional node), is ineffective.

A node of SEQ type performs a sequential activation of the two graphits or itsstructure. A conditional activation is enabled by COND node which refers in itsstructure three graphits: one which supplies a logical value and two others, namedTR UE and FALSE, selected upon the logical condition. The activation of a subgraphwith a special structure is also permitted. Such a subgraph has a configuration as inFig.. 3.

The names 'PI" 'pz', ... , 'p.' are arbitrary, but have to be distinct and to differ fromthe reserved name BODY. The complex structure of Fig. 3 represents a graph pointedby the structure of the graphit named BODY. This graph may have many links(pointers) to the n parameters named 'PI" 'pz', ... , 'p.'. The activation of a STRUCTnode is launched by a special node, with INVOKE type. This node must have the samename with the node it has to activate. The structure of the INVOKE node has to

TYPE: smUCTNAME; 'nomil ,r

paramo;""~ • ~N'AME:'P1" " . NAME: "pn" •

Figure 3. Complex structure configuration.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 7: A framework for intelligent assembly in industry

604 D. Mulldu/iallu and S. Voiliea

Figure 4. Demon configuration.

contain the same number of references with the node it is intended to invoke. Afterparameter matching (each of the invoke node references replaces the graphits with thesame name in STR UCT node structure), the complex structure of Fig. 3 is activated inthc context of the actual parameters.

The demons are certain particular nodes which enable the control transfer too, butin a special manner. With the STR UCT nodes, the corresponding complex structurewas activated by an INVOKE node with the same name and with the same parameternames. The demons enable the activation of complex structures without specifying theexact name, but being context sensitive and following a process of pattern matching.The demons have the configuration shown in Fig. 4.

The name of the DEMON node may be one of the following: IF-ASSERTED,IF-REMOVED, IF-TESTED, IF-AIMED or IF-ACHIEVED. Each of the fiveclassesof demons has a specific activation environment. For instance, when a new fact isasserted (introduced in the knowledge-base) the IF-ASSERTED demons are searched.The introduction is made by means of an ASSERT operator whose parameters have tomatch those of an IF-ASSERTED demon. The parameter matching may select manydemon candidates for activation. They are further selected by precondition testing(activation of 'precondition' in Fig. 4). Precondition testing is performed in the orderindicated by numeric value of the demons which represent the relevance. Upon demonselection, activation follows in the same way as with STRUCT nodes. Both STRUCTand DEMON nodes may be activated recursively.

The demons have in GRAM the same role as that played in MICRO PLANNER bytheorems. The demons are powerful tools in developing action plans for robots and inkeeping the integrity of knowledge base versus insertions and deletions of facts.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 8: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 605

4. Gram architecture-physical levelIn the achievement of the software solution of GRAM machine, the following goals

have been considered: minimization of the time-space product, periodical recovery ofthe available memory space, modularity and opening.

The first goal is an objective of any large program to be achieved in limited resourceconditions. For the PDP-II compatible computer(on which we implemented GRAM),the internal memory and running time restrictions are very critical relative to theproposed goal (Mandutianu and Voinea 1985). As already known, internal memoryand running time reduction are contradictory. That is why we have tried to balance theadvantages and shortcomings generated by these two parameters.

Available memory space recovery is necessary in any conditions, being even criticalin the conditions of relatively reduced available memory resources. Informationorganization and access mode are decisive for available memory space recovery.

By modularity, we aimed at the physical separation ofthe major machine functions.A module substitution by the fundamental change of its implemented solution shouldnot affect machine operation. Moreover, as further mentioned, memory is not dividedjust in 'read only' code (programs) and modified code (data), but according tofunctional criteria that generate specific memory structures.

Opening is a characteristic of all new experimental products. After some tests andthe implementation of several applications, it may appear necessary to develop certainfunctions, to create new ones or to delete superfluous functions. Thus, opening isunderstood as the possibility to develop and adapt new functions or to improveperformances.

In the GRAM machine basic design, memory is divided into functional units(Fig. 5). Internal memory structure will be treated separately. The functional nodeinterpreter is the GRAM machine processor which controls all the carried-outoperations. Memory is organized as a set of graphs. Memory access should be either

"- GLOBAL ...p=;.

v NODES

~ INTERPRETER

GRAPH "-DEMONS "-

MEMORY ~ ~

"-

COMPLEX 1= "- ~ STACK

STRUCTURES v

rG' "-

I/O CHANNELS

Figure 5. Gram architecture.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 9: A framework for intelligent assembly in industry

606 D. M tindutianu and S. Voinea

direct by explicit addressing of a node or an arch, or by means of processing andfiltering modules. These modules introduce reference points to structure the memoryand to provide the processor with elements or memory unit assemblies.

Global nodes may be referred to by their name without knowing the place wherethey are stored. The 'GLOBAL NODES' module provides the address of a namednode.

Demons and complex structures are functional graphs. Structure reference isachieved by name, but access is accompanied by the creation of an activation context.The adequate module assures structure retrieval and context activation checking-out.Demons are also complex structures activated by context. Finding the demon to beactivated is accompanied by a pattern matching process. The stack has the role tomaintain the contexts in the GRAM recursive processes.

The input/output channels assure memory elements or graph transfer betweenmemory and external supports. Thus, an input/output channel is that ofcommunication with the user placed at the terminal, and the others can be dynamicallydefined as files on the magnetic supports.

Graph memory organization raises special problems because of the great diversityof the stored data. A graph is composed of a single type of elements, named graphits.Graphit structures are lists of variable length references to other graph elements. Tnaddition, the value field of nodes and arches may store character strings, integer values,frames or logical values. Character strings and frames need specific processing andtherefore suggest a separation from graphits and structures. Thus, memory is made upof several blocks with specific access, organization and processing (Fig. 6).

~ ~STRUCTURE ... ... STRING

MI::rJtonY I" .. MEMORY

" ,,.~ GRAPHIT

MEM ORY

~~ ~Il>

~ ... ...~GLOBAL FRAt·IEREFERENCE .... ..

MEI·IORYLISTS

Figure 6. Memory types,

In Fig. 6, the arrows denote references between different memory types. Each. graphit stored in M 1 contains a structure and therefore a reference to M2. The

structures are reference lists to graphits, therefore to M I. The type and name fields ofthe graphits contain character strings stored in M3. At the same time, the value fieldmay contain in its turn a character string (stored in M3) or a frame (stored in M4) or a

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 10: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 607

logical or a numerical value stored ad hoc (therefore in M I). The global nodes, thecomplex structures and the demons are stored in MI, but lists showing the retrievingpath of an element of each type are separately stored in M5.

By information separation, we succeeded in storing in each memory block a singledata type, that enables a compact representation, increased access speed and asimplified memory management. The existence of several memory types raises specialproblems of space allocation in the internal memory. All five kinds of memory areimplemented using a virtual memory mechanism.

The number of resident pages for each memory type can be established according tointernal memory availability and to the characteristic features of the main applications.This configuration aims at efficiently using internal memory and increasing speedaccess by decreasing disc access. The replacement of virtual pages from the memory isachieved after the 'least recently used' criterion.

Through virtualization, the total memory space reaches 10 Mb, being unevenlydistributed among the five types. Although the memory space is quite large, garbagecollection is necessary both in limit situations (a seldom situation) and especially forinformation compactness. In the latter case, even if sufficient space remained, due to thedecrease of the page fulfil factor (with actual information), the access time decreasessignificantly. Available space is done independently for each memory type. Where it isnecessary, besides the memory, the index tables are stored, such that informationcompactness in the memory should result only in changing index values, withoutimplying changes in the memories which contain references to the compacted one.Therefore, MI, M2, M3 and M4 contain indexes with (virtual) implementationaddresses of all the stored elements.

5. Using GRAM in industrial assemblyThe problems of knowledge representation and action planning are best illustrated

by robot applications in automatic assembly. The difficulty of the problems increaseswith flexible cells, a case in which robots should co-operate among them and with othersensor and processing equipment types. There, .it is necessary to decide upon thepossibility to go on with the process in case of any equipment failure. Depending on theavailable equipment, the operation performance may also differ. ln general, thepossibility for a cell to change its configuration due to equipment failure or its settinginto operation, implies on-line planning and renders rigid, off-line planning inefficient.Another undetermined factor may be the existence of sensor equipments with anunanticipated answer period leading to lack of synchronization.

We shall present an easy example to prove the utility of GRAM in the context offlexible manufacturing cells. We refer to the final assembly stage of a vacuum-cleaner(Fig. 7).

The operations considered are the assembly of the handle, lids and lower wheels.The vacuum-cleaner is placed on a table and can be fixed by means of a screw-vice. Tworobot arms are used for the above mentioned operations. The handle can be assembledwhen the vacuum-cleaner is fixed either standing or recumbent. When the vacuum­cleaner is standing, only one robot arm can be used to assemble the handle: first it willplace the handle and then fasten the two screws. When the vacuum-cleaner is inrecumbent position, it is necessary to use both robot arms to fix the handle: one placesand holds the handle, while the other fastens the screws. To fix the lids, it is enough touse one robot arm in any of the aforementioned positions. For the wheels assembly, onearm is necessary; this operation can be performed only when the vacuum-cleaner is

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 11: A framework for intelligent assembly in industry

608 D. Manduiianu and S. Voinea

Figure 7. Vacuum-cleaner assembly.

recumbent. The position in which the vacuum-cleaner is fixed in the screw-vice can bechanged by means ofa robot arm or can be inherited from some former operations. It isobvious that in recumbent position all three operations can be performed, but notsimultaneously, since there are not enough robot arms. In general, it is advisable tokeep the inherited position for the vacuum-cleaner and to change it only when it isabsolutely necessary. It should also be noticed that all three operations can beperformed with only one robot arm (when the second is no longer operational),entailing the respective overhead (assembly position modification, extension of theassembly period).

Let us consider the following GRAM descriptions of the objects in the scene:

(NAME:: vac-c1eanerVAL: fixed-recumbentSTR: (NAME: position

VAL: IJl(NAME: handleVAL: not-fixedSTR: (NAME: position

VAL: (2 )

(NAME: screwlVAL: /J)

(NAME: screw2VAL: (4 )))

The vacuum-cleaner is recumbent (node value) in I I (frame) position. The position ofthe handle and of the two places where the screws are fastened are 12 , IJ, 14 respectively.The handle is not yet fixed. The two robot arms, called 'a' and 'b' (both global names)

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 12: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 609

are in the positions t 5 and t6 respectively and are available (are not engaged in anyoperation):

(TYPE: armNAME:: aVAL: availableSTR: (NAME: position

VAL: t 5))

(TYPE: armNAME:: bVAL: availableSTR: (NAME: position

VAL: .,»The stores for handles and screws have positions t 7 and t 8 respectively:

(NAME:: handle-storeVAL: t7 )

(NAME:: screw-storeVAL: t 8 )

The above-mentioned representations are simplified in order to make the descriptionclear.

The goal 'fix-handle' can be reached in more than one way, depending on thevacuum-cleaner position and availability of the agents (arms, screw-vice). We shallfurther explain one of the solutions, a demon that details this objective and can beimmediately applied in the above-mentioned GRAM description case:

IF-AIMED fix-handlePRECONDITION

VALUE (@vac-cleaner) IS fixed-recumbentVALUE (@a) IS availableVALUE (@b) IS available

BODYSET VALUE (@a) TO not-availableSET VALUE (@b) TO not-availableACHIEVE MOVE a AT VALUE (@handle-store)

& GRASP a& MOVE a AT VALUE (@vac-cleaner.handle.position)& MOVE b AT VALUE (@screw-store)& GRASP b& MOVE b AT VALUE (@vac-c1eaner.handle.screwl)& SCREW b& MOVE b AT VALUE (@serew-store)& GRASP b& MOVE b AT VALUE (@vac-c1eaner.handle.screw2)& SCREW b& MOVE b AT VALUE (@b.position)& UNGRASP a& MOVE a AT VALUE (@a.position)

SET VALUE (@a) TO availableSET VALUE (@b) TO available

END-DEMON

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 13: A framework for intelligent assembly in industry

610 D. Mondutianu and S. Voillea

A fewexplanations on the syntax used are necessary. A global node reference accordingto its name can be made by using the '@' operator followed by the node name. An archcan be selected from the node structure by adding the '.<arch-name)' suffix to the nodespecification. A field can be selected from a node by a function that applies the desiredfield name to the respective node description. After testing the preconditions, bodyactivation of the demon starts by allocating the two arms, in order to avoid using themin other operations. The goal is decomposed into simple actions of arm movement. Thegeneration of these actions is performed under IF-ACHIEVED demon control. Itshould be noticed that the attempt to activate an IF-ACHIEVED demon creates abreakpoint where it is possible to solve other pending aims. If older goals remainedunsolved, it is now a good occasion to try to solve them. The demon body ends withmaking free the two robot arms.

If the vacuum-cleaner is standing fixed, the 'fix-handle' goal will be achieved by areassembling demon, with the difference that it uses only one arm in the operationsequence. Its precondition is:

VALUE (@vac-c1eaner) [S fixed-standingVALUE (@a) IS available OR VALUE (@b) IS available

A two-arm flexible cell can be equipped with a PDP-II computer that co-ordinates therobot arms and plans the actions. The computer has also to ensure the management ofother equipment that build-up the flexible manufacturing cell.

6. ConclusionsIntelligent software implementation in industrial applications becomes more and

more accessible, on the one hand due to the development of highly flexible and reliableprocessing equipment (computers, robots, sensors, etc.), and on the other due to thedevelopment of high performance artificial intelligence techniques and methods,industrially available.

Robot programming languages have developed from simple extensions ofprocedural languages, to declarative languages with their own intrinsic mechanisms forknowledge representation and action planning. The flexible cells, as a current tendencyin robotized manufacturing, raise specific problems for the programming languages.We notice the necessity for an increased flexibility generated by dynamic cellreconfiguration, due to the modifications of the functional parameters of certainequipment, their failure or setting into operation. The co-operation with sensorequipment also raises additional problems for robots. All these are arguments for adeclarative language with an on-line action planning, based on the description of theobjects, agents and operations that qualify the technological process.

G RAM is a system that offers a knowledge representation context based onsemantic networks, by means of specific memory and processing structures. Planning isachieved by means of specialized production rules. Both static knowledge and theoperators (the rules) have a homogeneous representation and the language enables afull utilization of the semantic network resources. GRAM system availability on arelatively cheap computer suggests its utilization in complex industrial assemblyapplications such as flexible manufacturing cells.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4

Page 14: A framework for intelligent assembly in industry

A framework for intelligent assembly in industry 611

ReferencesBRAnIMANN, R., 1979, On the epistemological status of semantic networks. In Associative

Networks, N. Findler (editor) (Academic Press: New York),DAVIS, R., and KING, J., 1975, An overview on production systems. Memo AIM-27I, Stanford

Artificial Intelligence Laboratory, U.S.A.LOZANO-PEREZ, T., 1979, A language for automatic mechanical assembly. In Artificial

lntelliqence: An MIT Perspective, P. Winston, and R. Broon (editors), Vol. 2 (Cambridge,Mass.: MIT Press).

MANDUTIANU, D., 1982, Planning tasks in advanced robot control. Proceedings of 2/1dInternational Cnnference 011 Artijicia! Intelligence und t,,{ormllt;PII-COllfrol Systems (~r

Robot», (Smolen icc, Bratislava, Czechoslovakia: Institute of Technical Cybernetics).MANDUTIANU, D., and VOINEA, S., 1985,Steps towards intelligent assembly robot. In Toward the

Factory of the Future, H, Bullinger and H. Warnecke (editors) (Berlin: Springer Verlag)..QUILLIAN, M. R., 1968, Semantic memory. In Semantic Information Processing, M. Minsky

(editor) (Cambridge, Mass.: MIT Press).

Un outil special pour utiliser les robots dans les operations de montageindustriel intelligent est presente, Le reseau sernantique constitue Ie modele pourI'organisation d'une base de connaissance. La planification est effectuee au moyend'un type special de regles de production appelees demons. Une machine GRAM(Machine a GRAphique) NON-VON specialisee constitue la base de laprogrammation des robots intelligents. Pour finir, un exemple d'utilisation GRAMdans Ie montage industriel est discute,

Es wird ein spezielles Werkzeug fiir den Einsatz von Robotern fur die intelligentegrol3technische Montage vorgestellt. Als Modell fiir die Organisation derWissensbasis dient ein semantisches Netzwerk. Die Planung erfolgt mittelsbesonderer Fertigungsregeln, die 'Darnonen' genannt werden. Die intelligenteRoboterprogrammierung stiitzt sich auf einen dedizierten Nicht-von-Neumann­Rechner, der die Bezeichnung GRAM (GRAPH-MAschine) fiihrt. Schliel3lich wirdein Beispiel des Einsatzes einer GRAM in der grol3technischen Montagebesprochen.

Dow

nloa

ded

by [

Uni

vers

ity o

f G

lasg

ow]

at 2

3:45

04

Oct

ober

201

4