+ All Categories
Home > Documents > A Knowle‘ dge-Based Planning System for Mechanical...

A Knowle‘ dge-Based Planning System for Mechanical...

Date post: 26-Mar-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
11
A Knowle‘dge-Based Planning System for Mechanical Assembly Using Robots Kai-Hsiung Chang, Auburn University and William G. Wee, University of Cincinnati Engineering/Manufacturing Editor’s note: Progress in modern society dependson our industrial health. Industry “sengineering and manufacturing methods determine quality and volume of production. Manufacturing and engineering tasks require specializedknowledge and problem-solving techniques.Emerging AI tech- niques canfacilitate part design, processplanning, grasp planning, schedu Iing, sensor understanding, and diagnosis. However, applying AI tools to manufacturing and engineering is chatlerrginging. Many Af techniquesare designed for utopian microcosms, while manufacturing tasksforce AI techniquesto consider real- world problems. Pressureto design AI approaches for solving real- world problems has already reMted in significant progress in machine vision, robotics, expert systems, and planning. Chang and Wee f&us on generat- ing task-levelplans for assemblyusing robots. We hope IEEE Expert’s Eng~~ring~~anufac~ring track will encourage articles addressingAI applications to real indust~~~p~b~e~ and other aspects of manufacturing and engineeringtechnology. --Ramesh Jain Associate Editor A utomated mechanical assembly-of major economic importance to industry-can be divided into two classes based on system configuration. The first class is extensively automated, with specialized machines used for each assembly step, and is designed for high-volume production. The second class comprises flexible assembly systems in which machines are controlled by computers and can perform various assembly oper- ations. Two main approaches exist for simplifying flexible mechanical assembler programming. The first pro- grams by teaching; that is, programmers lead machines through assembly operations, storing the programs for repetitive replays. The second approach uses textual programming, giving the system the assembly plan in terms of operation descriptions whose language may range from high-level natural language to low-level machine language. Following assembly operation descriptions, the system will generate manipulator control commands. This research has attracted extensive attention in the past several years. l-4 Although they use different language levels to describe assembly operations, such systems can generate detailed manipulator commands from the world model that describe the physical domain. These systems have assumed that human experts generate assembly plans. This article presents a system using AI techniques-coupled with computer-aided design (CAD)-to generate assembly plans. This con- cept, important to plan-generation automation, begins to bridge the gap between CAD and manufacturing systems. With such integration, we can combine prod- uct design, analysis, and production engineering into a single system, thereby increasing entire system effi- ciency.’ 18 OSSS-!%03/88/0200-WI8 $1.0001988 IEEE IEEE EXPERT
Transcript
Page 1: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

A Knowle‘dge-Based Planning System for Mechanical Assembly

Using Robots Kai-Hsiung Chang, Auburn University

and

William G. Wee, University of Cincinnati

Engineering/Manufacturing

Editor’s note: Progress in modern society depends on our industrial health. Industry “s engineering and manufacturing methods determine quality and volume of production. Manufacturing and engineering tasks require specialized knowledge and problem-solving techniques. Emerging AI tech- niques can facilitate part design, process planning, grasp planning, schedu Iing, sensor understanding, and diagnosis. However, applying AI tools to manufacturing and engineering is chatlerrginging. Many Af techniques are designed for utopian microcosms, while manufacturing tasks force AI techniques to consider real- world problems.

Pressure to design AI approaches for solving real- world problems has already reMted in significant progress in machine vision, robotics, expert systems, and planning. Chang and Wee f&us on generat- ing task-level plans for assembly using robots. We hope IEEE Expert’s Eng~~ring~~anufac~ring track will encourage articles addressing AI applications to real indust~~~p~b~e~ and other aspects of manufacturing and engineering technology.

--Ramesh Jain Associate Editor

A utomated mechanical assembly-of major economic importance to industry-can be divided into two classes based on system configuration. The first class is extensively

automated, with specialized machines used for each assembly step, and is designed for high-volume production. The second class comprises flexible assembly systems in which machines are controlled by computers and can perform various assembly oper- ations.

Two main approaches exist for simplifying flexible mechanical assembler programming. The first pro- grams by teaching; that is, programmers lead machines through assembly operations, storing the programs for repetitive replays. The second approach uses textual programming, giving the system the assembly plan in terms of operation descriptions whose language may range from high-level natural

language to low-level machine language. Following assembly operation descriptions, the system will generate manipulator control commands. This research has attracted extensive attention in the past several years. l-4 Although they use different language levels to describe assembly operations, such systems can generate detailed manipulator commands from the world model that describe the physical domain.

These systems have assumed that human experts generate assembly plans. This article presents a system using AI techniques-coupled with computer-aided design (CAD)-to generate assembly plans. This con- cept, important to plan-generation automation, begins to bridge the gap between CAD and manufacturing systems. With such integration, we can combine prod- uct design, analysis, and production engineering into a single system, thereby increasing entire system effi- ciency.’

18 OSSS-!%03/88/0200-WI8 $1.0001988 IEEE IEEE EXPERT

Page 2: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

We will address problems of planning and mechani- cal assembly, defining a new approach. We will then overview the whole system, describe system knowledge types with detailed examples, and examine our sys- tern’s control structure-which functions in two sepa- rate phases, analysis and generation.

Planning searches for an action sequence (or opera- tions) that will achieve a goal. Original goals are generally too complex or abstract to achieve through a single operation; often, we must separate original goals into smaller, simpler subgoals. Ideally, we can formulate subplans for subgoals independently and achieve a complete plan simply by combining sub- plans. In practice, subplans often interact. That is, achieving some goals can actually prevent the accom- plishment of others. This conflict represents the main difficulty in planning.

Related works on mechanical assembly. In this arti- cle, planning results in task-level operation state- ments. We require additional techniques to make the automatic assembly system complete. Recent litera- ture reports several systems that compile task-level assembly descriptions into manipulator commands.‘-” AUTOPASS and LAMA implementations have focused on planning collision-free motions, employ- ing techniques such as grasping parts and transferring motions (using polyhedral object models). RAPT has focused on manipulator program specification by specifying the desired symbolic spatial relationships among objects. Work on the AL system’s model- based aspect has focused on making coding decisions in the manipulator programs.

A planning review. ABSTRIPS recognizes a prob- lem’s most significant features, outlines a solution in terms of those features, and deals with the problem’s less important details only after the outline has proven adequate.6 Often, this will avoid conflicts. Unlike ABSTRIPS, which orders the subgoal sequence strictly, some systems do not enforce the subgoal sequence until sufficient information exists-a technique known as least commitment. NOAH”’ and NONLIN9 develop a subgoal hierarchy in which the execution sequence is not determined. If any operation chosen to achieve one subgoal inter- feres with another subgoal, a specialist program called critic will attempt to reorder subgoals to remove the violation.

The molecular genetics experiment MOLGEN seeks to derive globally consistent instantiations of variables subject to local constraints.” MOLGEN divides the problem domain into three abstract layers, allowing each layer to select and arrange steps in the layer below. A lower layer can communicate with an upper layer by posting and propagating constraints. If there is not enough information to instantiate variables, constraints can be propagated back and forth between layers until a satisfactory value can be reached. SIPE provides for partial descriptions of unspecified objects and uses resource conflict reasoning.” These features enable SIPE to plan in many domains and find solutions more efficiently.

Ensuring that plans will succeed despite uncertain- ties of the physical world is difficult; uncertainties have values that cannot be exactly determined when plans are formulated. In the AL system, Taylor used symbolic geometry reasoning and many other numeri- cal techniques to perform his analysis of errors or uncertainties.3 Recently, Brooks described a symbolic computation technique enabling bidirectional error and tolerance propagations.12 His program can also check and modify robot plans to ensure they will work in the presence of mechanical errors.

Related research includes sensory applications for mechanical assembly, such as computer vision and touch sensors. By combining all these techniques, sys- tems should be able to generate assembly plans, for- mulate manipulator movements, and accomplish assembly tasks.

The proposed approach. We propose two novel fea- tures to improve planning efficiency-problem analy- sis and goal-oriented hierarchical operation representa- tion. With problem analysis, systems first use domain heuristics to analyze given problems from a global viewpoint and discover relationships among sub- problems. Heuristic rules can (1) order subgoal sequences if their significances can be distinguished, or (2) suggest constraints if an ambiguous condition is found. The analysis result is a sequence of ordered subgoals and constraints that can be achieved con- secutively without causing conflicts.

With goal-oriented hierarchical operation represen- tation, each system operation is named by the goal that it will achieve. Operations are classified into two groups, abstract and primitive. An abstract operation can be refined into more detailed abstract or primitive operations that would satisfy special requirements of different situations.

SPRING 1988 19

Page 3: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

lmtial State Goal State

Figure 1. Simple block-stacking problems can cause subgoal interaction. If (ON C B) is pursued first, it has to be destroyed to achieve the second subgoal (ON B A).

ASSEMBLY PRINCIPLES

KNOWLEDGE BASE CONTROL STRUCTURE BLACKBOARD

Figure 2. Mechanical assembly planning systems con- tain three major parts-the knowledge base, the con- trol structure, and the blackboard.

STRUCTURE - ANALYSIS \

PLAN --LJL, 1

- - - GENERATION 1 STRUCTURE ; I I ANALYZER I I

i----, CONTROL k---l STRUCTURE

r- 7, BLACKBOARD ’ ASSEMBLY PLAN’ L--_-_I

Figure 3. Mechanical assembly planning processes comprise two phases-structure analysis and plan generation. Analysis results are assembly sequences of components and constraints. Plan generations yield detailed assembly plans.

20

Problem analysis. Problem analysis seeks to reduce fruitless search spaces at planning’s start, and to pro- vide a correct outline for plan generation. In most planning problems, conflict among subplans is the key issue. Conflicts are resolved only after they appear in systems. For example, to achieve Figure l’s compound goal ((ON C B) (ON B A)), a least- commitment planning system would first generate separate subplans for each subgoal. Then it would find that subgoal (ON B A) cannot be achieved if (ON C B) is already true because block B can’t be picked up if block C is on B. Although the system may find and correct conflicts by searching through plan details, as in this example, the search space is often so large that efficient planning cannot be achieved. For- tunately, we can identify and avoid many conflicts during early planning by preanalyzing the problem.

To build a structure, for example, the foundation must first be built. Using this heuristic rule, one quickly concludes that (ON B A) should precede (ON C B). If planning systems adopt this heuristic analy- sis, significant trial-and-error efforts for finding cor- rect subgoal sequences can be avoided.

However, unforeseen conflicts may exist due to the lack of plan details during problem analysis. W e can resolve such conflicts by posting constraints along with subgoals. This article uses the term “constraint” in a more general sense than does other Al literature. Normally, we use constraints to specify an unknown variable’s propert ies so that, when an instantiation is made, it will satisfy not only local requirements but also the requirement for global-information con- sistency. Here, constraints are condit ions that must be satisfied before we can execute operat ions smoothly. Constraints can either create new subgoals or restrict existing operations; constraint effects are determined during plan generat ion so that special consideration can be given to different plan details.

Analysis causes a subgoal-and-constraint sequence that we can use to guide final plan formulation. This sequence will be free of backtracking, since the analy- sis applies domain expertise.

Goal-oriented hierarchical operat ion representa- tion. Our technique avoids burdensome searches for operat ions by organizing operat ions intelligently. Usually, goals can be achieved by several different operations, but some goals may not be applicable at a specific instance and some operat ions may have undesirable effects. Traditionally, systems search for operat ion candidates that indicate goals as part of their effects. Systems then check candidate applicabil- ity and test surviving candidates one by one without

IEEE EXPERT

Page 4: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

NUT-3 BOARD

TRANSFORMER

I NUT--I

.ai!

I TERMINAL SWITCH FUSE 1 I

1

/

I I Ii , I BASE I I I I

i---- ___-_______ -- __________ i

Figure 4. Power supply is the subject of mechanical assembly planning.

considering their side effects. If inappropriate opera- tions are selected, the entire effort is wasted and back. tracking is required to select new operations.

We can avoid such time-consuming search. First, each operation is named by the goal it will achieve, thereby eliminating the need to search for operation candidates. Second, a more detailed operation sequence is selected within each operation representa- tion to satisfy special requirements of different situa- tions. Traditional trial-and-error is thereby precluded. Our references contain detailed discussion of this planning rationale. I3

The assembly planning system structure resembles that of existing expert systems, containing a knowl- edge base, a control structure, and a blackboard (see Figure 2). The knowledge base records problem domain information and assembly-planning expertise. It includes workpiece structures, assembly operations, and assembly principles. Workpiece structures describe relationships among workpiece components and their associated properties. Assembly operations describe robot actions used to assemble workpieces. Assembly principles are the assembly expert’s rules of thumb, including methods for ordering assembly sequences of components and posting constraints if certain situations arise.

Figure 5. The part hierarchy of POWER-SUPPLY comprises two components-BASE and PANEL. PANEL has six primitive components, and BASE is a primitive component itself.

Control structures use knowledge base information to generate assembly plans. Two planning phases exist-structure analysis and plan generation (see Fig- ure 3). During structure analysis, aided by assembly principles, systems analyze workpiece structures; that is, an abstract workpiece (that can be disassembled into more than one piece) is refined, the assembly sequence of its components is determined, and con- straints are posted for each component. A plan gener- ator then follows analysis information to select assembly operations. The assembly world status selects an operation, component properties, and con- straints.

The blackboard records intermediate hypotheses and decisions that the system manipulates, including the current state of the assembly world, components being assembled, remaining assembly sequence, and constraints.

The knowledge base contains three parts-workpiece structures, assembly operations, and assembly princi- ples. Since all three are domain dependent, changes in the environment cause knowledge base modifications. A power supply (see Figures 4 and 5) is the assembly subject in the following discussion. We will not con- sider power supply wiring since it does not affect the planning demonstration.

SPRING 1988 21

Page 5: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

Workpiece structures. Workpiece structures- containing physical information of the workpieces to be assembled-include components, relationships among components, and each component’s proper- ties. Normally, we can determine workpiece structure information after finalizing product design. We can either type this information into the system or it can be automatically generated by a CAD system contain- ing the product’s design information.

A frame-consisting of a name and number of property “slots’‘-represents each system component. For example, the following shows Figure 4’s PANEL frame:

(PANEL (ROLE PARENT SHAPE MATERIAL MOUNTED-ON TYPE SURFACE WEIGHT FIXTURE FIXED ALIGNMENT

CONTENTS

MAIN POWER-SUPPLY RECTANGULAR METAL BASE ATTACHED (ROUGH BOTH-SIDE) 3 (SCREW1 4) (SCREW1 Hl H2 H3 H4)

((Hl Bl) (H2 B2) (H3 B3) (H4 B4)) (BOARD FUSE SWITCH TRANSFORMER RED-TERMINAL BLACK-TERMINAL)))

To generate an assembly plan, three kinds of infor- mation are needed. The first kind is hierarchy infor- mation describing how workpieces relate to each other. With this relationship, the structure analyzer can decompose abstract workpieces into components and analyze them at the same level. The above exam- ple includes ROLE, PARENT, and CONTENTS in this category. They mean that PANEL is the main structure of its parent, which is POWER-SUPPLY, and it contains components listed in slot CONTENTS.

The second kind of information required is self- descriptive information describing component fea- tures and properties that may affect assembly opera- tions. If features need special treatment, constraints can be posted. The above example includes SHAPE, MATERIAL, SURFACE, and WEIGHT in this category.

The last kind of information necessary to generate assembly plans describes how the component physi- cally links to other structures, implicitly specifying

assembly operations to be applied and fixtures to be used. In the above example, the FIXED slot indicates that SCREWls are used at holes Hl, H2, H3, and H4-and the ALIGNMENT slot tells that these holes should be aligned with holes Bl, B2, B3, and B4 (of BASE) respectively.

Although manipulator programming requires geo- metric representation of components, our research primarily concerns task-level planning; geometric information is not used. Our references provide dis- cussion of geometric representation.14

Figure 5’s power supply hierarchy doesn’t indicate fixtures used to link components. For example, the PANEL frame mentions holes Hl, H2, H3, H4, and screw SCREW 1. These holes are located on PANEL, and four SCREW 1s are needed to tighten PANEL to another component through these holes. Differing from regular components that they serve, these screws and holes are called auxiliary components. Planning will not treat them as regular components and will not put them in the assembly sequence. Still, an auxiliary component can affect the assembly plan through its properties and constraints.

Although treated differently, each auxiliary compo- nent still needs a frame. The frames of HOLE1 and SCREW1 are

Wl (ROLE AUX CLASS HOLE ON (BOARD SIDEl) SHAPE ROUND SIZE 0.02 FOR SCREW 1 LOCATION (Xl Yl) CORRESPONDENT Bl ))

(SCREW 1 (ROLE AUX CLASS SCREW STORED-IN SLOT10 SIZE TINY FASTENING-TOOL AIR-DRIVER1 TORQUE (20 IN-LB)))

Except for a few slots, the above is self-explanatory. The LOCATION of H 1 indicates its coordinate on BOARD. Since this information is not needed in this task-level representation, only dummy values (Xl and Y 1) are given. The CORRESPONDENT of H 1 indicates that hole Bl (described in another frame) is its coun- terpart when it’s tightened. The STORED-IN of SCREW 1 indicates the place where SCREW 1 is available.

22 IEEE EXPERT

Page 6: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

After all components of the simple power supply are represented in frames, the workpiece structures contain 33 frames-nine for regular components and 24 for auxiliary components.

Assembly principles. Assembly principles contain assembly-process-expert rules of thumb. Ideally, rules include all kinds of know-how affecting planning effi- ciency, process cost, and other assembly interests. As in most expert systems, human experts provide this know-how. Knowledge engineers normally interview domain experts, extract their expertise, organize the information, and code it (using knowledge representa- tion languages).15 However, expertise acquisition has the following limitations:

(1) It is expensive-Knowledge engineering takes considerable time. Experts are rare, and their time costs money.

(2) It is time consuming-Knowledge extraction, organization, and verification involves interaction between experts and knowledge engineers. It takes time to overcome lacks of mutual knowledge and understanding.

(3) It is incomplete-Completing a knowledge base is almost impossible. In many cases, needed rules can be recognized and added to the system only after an unsolvable problem has been encountered.16

Our system divides expertise into two categories, one containing scheduling principles for the assembly component sequence, and the other containing con- straints that must be posted if certain conditions arise. It stores scheduling principles in the following SCHEDULING-RULE:

(SCHEDULING-RULE (SEQUENCE (ROLE POSITION TYPE) ROLE (MAIN FOUNDATION) POSITION (BOTTOM CENTER SIDE

TOP) TYPE (REVERSE-INSTALLED

BOTTOM-INSTALLED TOP-INSTALLED)))

Here, SEQUENCE defines component properties that must be checked and the checking sequence. The system should examine each component’s ROLE first, then the POSITION, then the TYPE. The remaining three rules provide the method for ordering assembly sequences within property categories. For example, the ROLE rule indicates that a MAIN component should be placed before a FOUNDATION compo-

nent in the assembly list. In other words, a MAIN component should be assembled before a FOUNDA- TION component.

This example uses only general conditions. There- fore, these principles are adequate for different work- piece hierarchy levels. Every time an abstract component is refined, these principles can be applied to decide the assembly sequence. If an exception arises (such as some principles being inadequate at any given instant), then a constraint can be posted to override the original decision.

The system uses constraints to specify conditions that must be satisfied before or during a component’s assembly process, thereby continuing the process smoothly. During assembly, various factors affect assembly operation. To express all factors explicitly in operation descriptions would be inefficient since important factors in one case may be irrelevant in others. For example, balance is essential when robots hold a semiassembled workpiece; otherwise, compo- nents may fall apart. But balance is unnecessary when robots hold a single component; in such cases, con- straint posting would be efficient to specify special requirements for each case. Besides restricting an existing operation, constraints may provide plans with new operations to ensure that preconditions for subse- quent operations are satisfied.

Constraint principles resemble production rules. Each contains a precondition and a constraint list. Consider two constraints, for example, the first con- cerning EQUIPMENT and the second concerning ASSEMBLY.

((GRASPED-SURFACE SMOOTH) (4 EQUIPMENT GRIPPER RUBBER- GRIPPER))

((EXTENSION NON-STRAIGHT) (7 ASSEMBLY INSERT WITH CURVED MOTION))

The first example indicates that, if a component’s grasped surface is smooth, then a rubber gripper should be used. The second rule indicates that, if a component has a nonstraight extension, then the INSERT operation should be performed with a curved motion.

A weight assigned to each constraint is given as the list’s first element. The first example’s weight is 4. When more than one constraint specifies the same res- triction, we should use the constraint with the largest weight. Domain experts determine weight assignment based on the constraint’s importance. Normally, rules with more specific conditions have larger weights.

SPRING 1988 Continued on page 26

23

Page 7: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

Currently, if two constraints have the same weight, the system will select one randomly.

A stage assignment for each constraint is presented as the list’s second element. The stage specifies occa- sions on which constraints should be used. Each oper- ation is also assigned to a stage. When the system considers an operation during plan generation, it retrieves (for further usage) constraints having the same stage assignment. This usage includes changing tools, performing additional operations, and adding restrictions to the current operation.

Assembly operations. Assembly operations describe robot actions changing the world state. These may be primitive operations that should be executed directly, or abstract operations that can be refined into primi- tive operation sequences. Control and assembly engineers define each operation-engineers familiar with manipulator capabilities and operational utility.

Before discussing further details, we will briefly describe our assembly system. Although the assembly unit does not exist, we assume it can be built. The sys- tem has two robot arms, one holder, several compo- nent feeders, one gripper booth, and one tool stand. The holder is the assembly worktable; it can be pro- grammed to rise or lower and to turn over objects that it holds. The gripper booth contains four grippers- the REGULAR GRIPPER, RUBBER GRIPPER, ROD GRIPPER, and PIN HOLDER. The tool stand has three fastening tools-AIR-DRIVERl, 2, and 3. Fastening tools and grippers can be attached to the robot arms. Component feeders are named as

Figure 6. Operation FASTEN-FIXTURE can be refined in two different ways, depending on fixture type. If the fixture is a screw, then SCREW-LOOP is selected. If the fixture is a stud, then STUD-LOOP is selected.

SLOTl, 2, 3, and so forth. Each slot keeps one kind of primitive or auxiliary component.

All system operations link into a hierarchical net- work, with each node representing an operation. Fig- ure 6 shows a simplified sample hierarchy. If more than one method for refining an abstract operation exists, the world state and component properties determine selection. This example contains two methods for refining FASTEN-FIXTURE. If the fix- ture is a screw, then the system will choose SCREW- LOOP and the detailed sequence will be (1) GETPART (get a screw), (2) INSERT-AUX (insert the screw), and (3) TIGHTENING (tighten the screw). If the fix- ture is a stud, then STUD-LOOP will be chosen.

A frame represents every operation in the system. We show two examples below-ASSEMBLE-NEW- PART and PUTON.

(ASSEMBLE-NEW-PART (LEVEL ABSTRACT STAGE NIL TYPE SEQUENTIAL CONTENT (GETPART FASTEN-

FIXTURE)))

(PUTON (LEVEL PRIMITIVE PURPOSE (PLACE $PART ON

$RECEIVER) STAGE ASSEMBLY CONTENT PLACE-EFFECT))

The LEVEL of ASSEMBLE-NEW-PART indicates that it’s an abstract operation. STAGE NIL means that ASSEMBLE-NEW-PART needs no stage check- ing. TYPE and CONTENT show that ASSEMBLE- NEW-PART can be refined into GETPART and FASTEN-FIXTURE in sequence.

Before discussing PUTON, consider some prelimi- nary points. First, primitive operations lead to robot actions; therefore, the world state will be changed or affected. Second, the system can classify each opera- tion into a specific stage according to its role during assembly. For example, GRASP and UNGRASP belong to stage HANDLING and INSERT and PUTON belong to stage ASSEMBLY. This stage clas- sification assists operations in identifying constraints (restrictions) that must be satisfied during assembly.

PUTON’s level is PRIMITIVE, and its effect on the assembly world is encoded in a function named PLACE-EFFECT that is given by CONTENT. Slot PURPOSE explicitly describes PUTON’s action. Action descriptions usually contain variables preceded

26 IEEE EXPERT

Page 8: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

by a dollar sign ($), like $PART and $RECEIVER. The system uses these variables to represent objects and parameters. Variables must be instantiated before action descriptions can be completed. STAGE informs operations of the constraint type that must be considered. If posted constraints have the same stage (ASSEMBLY in this example), they will be passed to the operation. Generally, the operation decides immediately what to do about it. If a new operation is needed, the original operation will be suspended tem- porarily. Sometimes constraints specify restrictions on the original operation. In such cases, restrictions will be appended to action descriptions. For example, if (APPROACHING SURFACE FROM 30 DEGREES) is a constraint for PUTON, then PUTON’s action description will be modified to (PLACE $PART ON $RECEIVER APPROACHING SURFACE FROM 30 DEGREES). After constraint handling and vari- able instantiation, the action description will be stored as part of the final plan and the effect function will be called to update the world state.

Our control structure, using knowledge base infor- mation to formulate assembly plans, divides into two phases-structure analysis and plan generation (see Figure 3). The structure analyzer uses assembly princi- ples to analyze workpiece structures and to generate an assembly sequence of components and constraints. The plan generator selects operations that will assem- ble components in the assembly sequence and satisfy constraints posted for each component.

Structure analysis. Structure analysis provides a correct guideline for plan formulation, precluding the traditional trial-and-error process. Conventional plan- ning problems express goal statements explicitly as a conjunction of subgoals (see Figure 1). But assembly planning problems may not contain this explicitness. Goals can be just the names of workpieces, like POWER-SUPPLY, and all workpiece details are stored implicitly in the knowledge base.

Our system analyzes, aided by assembly principles (as described earlier): It uses scheduling rules to deter- mine the assembly sequence; it uses constraint rules to post constraints. First, the system finds components of the target workpiece POWER-SUPPLY (see Figures 3 and 4). They are PANEL and BASE. To determine their assembly sequence, the system checks

SPRING 1988

their properties in the sequence of ROLE, POSITION, and TYPE (as defined in the scheduling rules). The analyzer first examines to determine if any have MAIN as the ROLE slot value. Here, PANEL does (see the frame of PANEL in our “Workpiece struc- tures” section); thus, it is placed at the beginning of POWER-SUPPLY’s assembly sequence. After this, only one component (BASE) remains. Therefore, the analyzer concludes that POWER-SUPPLY’s assem- bly sequence is (PANEL BASE).

The analyzer then uses the same method to order PANEL and BASE components. POWER-SUPPLY’s final assembly sequence is

(THE ASSEMBLY SEQUENCE OF POWER- SUPPLY IS)

(PANEL BASE) (THE ASSEMBLY SEQUENCE OF PANEL IS) (BOARD TRANSFORMER SWITCH FUSE RED- TERMINAL BLACK-TERMINAL)

(BOARD IS A PRIMITIVE COMPONENT) (TRANSFORMER IS A PRIMITIVE COM- PONENT)

------- (BLACK-TERMINAL IS A PRIMITIVE COM- PONENT)

(BASE IS A PRIMITIVE COMPONENT)

After the assembly sequence is determined, the sta- ‘tus of each component is posted. For example, BLACK-TERMINAL’s status is “LAST”- indicating that it’s the last of its parent PANEL’s components to be assembled. This information helps operation selection.

Constraint posting is the second part of analysis. Constraints specify a special need to assemble compo- nents. The need may be a tool, a precondition, or an operation restriction. The properties of a component, its assembly status, and constraint rules determine constraint posting. Rule preconditions are scanned one by one to match each component’s properties and status. If preconditions are matched, constraints will be posted on the blackboard for components. As an example, constraints posted for TRANSFORMER are listed below.

(1) (4 HANDLING GRIPPER FORCE 4) (2) (4 EQUIPMENT GRIPPER REGULAR-

GRIPPER) (3) (4 PREPARATION TURNOVER BOARD) (4) (7 ASSEMBLY ALIGN Tl T2 T3 T4 WITH

H7 H8 H9 HlO)

27

Page 9: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

A weight assignment is each constraint’s first ele- ment, with the weight used to resolve constraint con- flict . The stage assignment is each constraint’s second element; it specifies the occasion for using the con- straint (as described earlier). Here, the first constraint specifies that gripper force should be four units dur- ing the handling stage. The second constraint means that a REGULAR-GRIPPER should be used when “gripper equipment” is required. The third constraint specifies that the object being held by the HOLDER, which happens to be BOARD, should be turned over during the PREPARATION stage of assembling TRANSFORMER. The last constraint indicates that holes Tl, T2, T3, and T4 (of TRANSFORMER) should be aligned with holes H7, H8, H9, and HlO (of BOARD) during the ASSEMBLY stage.

Although auxiliary components like screws and nuts are not considered during assembly sequence scheduling, they are considered for constraint

posting-an interesting aspect-because special res- trictions may exist for handling these auxiliary com- ponents even though they are not important to the assembly sequence.

Plan generation. The plan generator uses the analy- sis result as a guideline to select appropriate assembly operations. First, it examines the assembly sequence. For POWER-SUPPLY, PANEL is the first compo- nent to be assembled; however, PANEL is an abstract component and its first component in the sequence is BOARD. Therefore, the very first primitive compo- nent to be dealt with is BOARD. Our sidebar briefly discusses the plan generation procedure for assem- bling TRANSFORMER.

Reviewing POWER-SUPPLY’s assembly sequence reveals that BOARD precedes TRANSFORMER, meaning that BOARD has already been assembled and is being held by HOLDER when the robots are

The step-by-step procedure for generating TRANSFORMER’s assembly plan

STEP 1: First, the plan generator places the root opera- tion OPERATION-SELECTION in a refinement sequence. When a component is picked up from the assembly sequence, our system automatically places the root operation in the refinement sequence. The refinement sequence stores the sequence of uncompleted operations. Initially, OPERATION-SELECTION is the sequence’s only element.

STEP 2: The plan generator checks TRANSFORMER’s constraints. After a simple stage matching, two constraints are found matching the stage of OPERATION- SELECTION.

STEP 3: Weight is not important here, since one con- straint is about the PREPARATION stage and the other is about EQUIPMENT. Because OPERATION- SELECTION is an abstract operation, constraints are not used to restrict operations. Instead, they are used to intro- duce new operations. After examining the first constraint, a built-in constraint-handling procedure finds that TURN- OVER is an operation that can be placed directly in the refinement sequence. The system then transforms the con- straint into operation TURNOVER and places it before the refinement sequence. With built-in knowledge, the constraint-handling procedure transforms the second con- straint into the new operation ADOPTTOOL (adopts a new tool) and places it behind TURNOVER in the refinement sequence.

STEP 4: The plan generator picks the first element, TURNOVER, from the refinement sequence and checks for possible constraint matching. No constraint remains with stage PREPARATION. The generator then tries to refine TURNOVER, but no refinement is needed since TURNO-

VER is a primitive operation. The action description stored in PURPOSE is retrieved and its variable, $OBJECT, is instantiated (the variable instantiation is done by another procedure, discussed in our references13). Finally, the effect function TURNOVER-EFFECT is called to update the world state, and the complete operation description is stored in the plan. Our system similarly handles the refinement sequence’s second element, ADOPTTOOL.

STEP 5: OPERATION-SELECTION is the only element in the refinement sequence. TYPE MATCH-ONE in OPERATION-SELECTION indicates that a more detailed operation sequence must be selected from the CONTENT slot to replace the original operation by condition or prop- erty matching.

STEP 6: The STATUS of TRANSFORMER is MIDDLE, which indicates it is in the middle of its parent POWER- SUPPLY’s assembly list. Therefore, the second sequence, ASSEMBLE-NEW-PART, is selected.

STEP 7: The NIL stage of ASSEMBLE-NEW-PART shows that this operation doesn’t need constraint checking, and the SEQUENTIAL type shows that ASSEMBLE-NEW- PART can be refined into GETPART and FASTEN- FIXTURE in sequence.

STEP 8: The leading element GETPART is considered-a sequential abstract operation-so operations in the CON- TENT are used to replace GETPART in the refinement sequence.

STEP 9: The first three operations are discussed together. After checking the assembly stages of each operation, one constraint is found for GRASP. Since GRASP is a primi- tive operation, the constraint is recognized as an operation

28 IEEE EXPERT

Page 10: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

ready to assemble TRANSFORMER. The accompanying sidebar makes references to Lisp

statements and other information given in appendices that interested readers can obtain from the authors. POWER SUPPLY’s final assembly plan contains 169 robot operation steps. It takes the system (Interpreted Standard Lisp on AMDAHL 470 V/7A) 1.2 seconds to do the analysis and 2.8 seconds to do the plan generation. Chang reports this research in detail.13

0 ur planning system seeks to generate assembly plans efficiently by introducing domain heuristics into the system so that it can direct planning efforts without a fruit-

less search. First, heuristic knowledge helps the system (1) identify each subgoal’s priorities, and (2) recognize the situations of uncertainty. Priorities indicate what subgoal is more important and should be pursued

first; therefore, the system can eliminate conflicts implicitly. By detecting situations of uncertainty, the system can post constraints that must be satisfied to ensure it can pursue subsequent subgoals smoothly.

Second, our system encodes domain-specific knowl- edge in operation representations. When pursuing sub- goals, our system can easily locate an operation named by a subgoal and can select a sequence of more detailed operations to meet each situation’s special needs. With such goal-oriented hierarchical represen- tation, only simple state matching is required to gener- ate detailed plans, thereby eliminating traditional search.

Overall system performance is encouraging, demon- strating that efficient planning can be achieved in a complex mechanical assembly problem. Also, because the planning process develops only one search path, required memory is minimal.

This approach’s major contributions are

restriction and is appended to the operation description. The variables in the descriptions are then instantiated and the effect functions are called to update the world states. Three plan steps are added.

STEP 10: FASTEN-FIXTURE is the refinement sequence’s only remaining operation. Because screws are used to fix TRANSFORMER to BOARD, FASTEN- SCREW is selected and placed in the refinement sequence.

STEP 11: Since this is a sequential abstract operation, operations in the CONTENT slot are moved to the refine- ment sequence.

STEP 12: The first operation, PUTON, is considered. After stage matching, one constraint is found having stage ASSEMBLY.

STEP 13: Since PUTON is a primitive operation, the con- straint is appended to the operation description. The vari- ables, $PART and $RECEIVER, are instantiated. A new plan step is generated.

STEP 14: Here, we consider the first three operations together-RETURN-GRIPPER, LOCATE-AUX, and ADOPTTOOL-without showing their frames. RETURN- GRIPPER is an abstract operation that moves an arm attached with a gripper to the GRIPPER-BOOTH and unloads the gripper. LOCATE-AUX is a dummy operation retrieving information about the auxiliary component to be used-SCREW 1, in this example. Finally, ADOPTTOOL attaches a fastening tool to a free arm. One thing that must be taken into account is that LOCATE-AUX has stages PREPARATION and EQUIPMENT, and it also switches the assembly component from TRANSFORMER to SCREWl. After this change, SCREWl’s constraints are

checked instead of TRANSFORMER’s. Two EQUIP- MENT constraints are found for LOCATE-AUX. The con- straint having the larger weight is selected. This constraint adds a gripper adoption operation to the plan. Four new plan steps are added.

STEP 15: The remaining refinement sequence’s first ele- ment, SCREW-LOOP, is checked. When identical compo- nents are used more than once-that is, SCREWl’s-a loop is needed to perform the same operations. Type LOOP of SCREW-LOOP indicates that the operations specified in the CONTENT may need to be performed more than once. A dummy operation, HANDLE-LOOP, handles the loop’s termination and screw location changes.

STEP 16: Parentheses enclosing the first four operations show that they are in the same loop. We used operation GETPART earlier to move TRANSFORMER to HOLDER (steps 10-12). Its refinement is similar here. The next two operations in the loop, INSERT-AUX and TIGHTEN, are then considered. In the process of these two operations, one constraint is found for TIGHTEN. After constraints are taken care of, five steps are added as the first loop of fasten- ing thcscrews. Among these, steps 18,19, and 20 result from operation GETPART. Step 21 comes from operation INSERT-AUX, and step 22 comes from operation TIGHTEN with a constraint.

STEP 17: The plan steps of STEP 16 are repeated three times to handle all screws. The only difference between repe- titions is the INSERT operation’s location (step 21). After the plan generator adds repetitive steps and the steps of returning the gripper and tool, the plan grows from 22 steps to 41 steps.

SPRING 1988 29

Page 11: A Knowle‘ dge-Based Planning System for Mechanical ...materias.fi.uba.ar/7566/A-Knowledge-Based-Planning-System-Mechanical... · A Knowle‘ dge-Based Planning System for Mechanical

(1) Problem analysis formalization: Goal statement analysis not only reduces the search space in the very beginning of planning but also provides correct out- lines for plan generation.

(2) Goal-oriented operation representation: Each operation is named by the main goal it achieves and the representation explicitly expresses each abstract operation’s refinement alternatives, thereby avoiding backtracking and eliminating the search for candidate operations.

(3) Knowledge base modularization: Modularizing global knowledge in assembly principles and local knowledge in operation descriptions separately simpli- fies knowledge base debugging, updating, and main- tenance. Because global knowledge is applied during the analysis phase, its effects are shown in the analysis result containing ordered subgoals and constraints. The problem representation encodes local knowledge; its effects can be examined by inspecting detailed plans.

Acknowledgments

We thank James Cross and William Day for review- ing earlier drafts of this article.

References

1. L.I. Lieberman and M.A. Wesley, “AUTOPASS: An Automatic Programming System for Computer-Controlled Mechanical Assembly,” IBM J. Research and Development, July 1977, pp. 321-333.

2. R.J. Popplestone, A.P. Ambler, and I. Belles, “RAPT: A Lan- guage for Describing Assemblies, ” The Industrial Robots, Sept. 1978, pp. 131-137.

3. R.H. Taylor, “Generating AL Programs from High-Level Task Descriptions, ” AI Memo No. 285, Part IV, Stanford Univ., Stanford, Calif. 94305, 1976.

4. T. Lozano-Perez and P.H. Winston, “LAMA: A Language for Automatic Mechanical Assembly, ” Proc. Fifth Int’lJoint Conf. Artificial Intelligence, Morgan Kaufmann, Los Altos, Calif., 1977, pp. 710-716.

5. J.D. Rosenbaum, “A Propitious Marriage: CAD and Manufac- turing,” fEEESpectrum, May 1983, pp. 49-52.

6. E.D. Sacerdoti, “Planning in a Hierarchy of Abstraction Space,” Artificial Intelligence, Vol. 5, NO. 2, 1974, pp. 115-135.

7. E.D. Sacerdoti, “The Nonlinear Nature of Plan,” Proc. 4th Int’i Joint Conf. Artificial Intelligence, Morgan Kaufmann, LOS Altos, Calif., 1975, pp. 206-214.

8. The Handbook of Artificial Intelligence, Vol. 3, P.R. Cohen and E.A. Feigenbaum, eds., Wil l iam Kaufmann, LOS Altos, Calif., 1982, pp. 541-550.

9. A. Tate, “Generating Project Networks,” Proc. Fifth Int’l Joint Conf. Artificial Intelligence, Morgan Kaufmann, LOS Altos, Calif., 1977, pp. 888893.

30

10. M. Stefik, Planning with Constraints, PhD dissertation, Dept Computer Science, Stanford Univ., Stanford, Calif. 94305, 1980.

Il. D.E. Wilkins, “Domain-Independent Planning: Representation and Plan Generation,” Artificial Intelliaence. Vol. 22. No. 3.

” I

1984, pp. 269-301. 12. R.A. Brooks, “Symbolic Error Analysis and Robot Planning,”

Int’l J. Robotics Research, Winter 1982, pp. 29-68. 13. K.H. Chang, “A Planning Model with Problem Analysis and

Operator Hierarchy,” PhD dissertation, Dept. Electrical and Computer Engineering, Univ. of Cincinnati, Cincinnati, Ohio, 45221, June 1986.

14. M.A. Wesley et al., “A Geometric Modeling System for Auto- mated Mechanical Assembly,” IBM J. Research and Develop- ment, Jan. 1980, pp. 64-74.

15. M. Freiling et al, “Starting a Knowledge Engineering Project: A Step-by-Step Approach,” ATMagazine, Fall 1985, pp. 150-164.

16. F. Hayes-Roth, D.A. Waterman, and D.B. Lenat, Building Expert Systems, Addison Wesley, Reading, Mass., 1983.

Kai-Hsiung Chang received his diploma in electrical engineering from the Taipei Institute of Technology in 1977, and his M S and PhD in electrical and computer engineering from the University of Cincinnati in 1982 and 1986, respectively. Currently, he is an assis- tant professor of computer science and engineering at Auburn Uni- versity. His present interests include knowledge-based systems, manufacturing systems, and computer vision. He is a member of the IEEE and AAAI. His address is the Department of Computer Science and Engineering, Auburn University, Auburn, AL 36849.

Wil l iam G. Wee is a professor of electrical and computer engineer- ing at the University of Cincinnati, where he is director of the Arti- ficial Intelligence and Computer Vision Laboratory. He received his BSEE from the Mapua Institute of Technology (Manila) in 1962, and his MSEE and PhDEE from Purdue University in 1965 and 1967, respectively. He was principal research engineer at Honey- well’s Systems and Research Center in Minneapolis, Minnesota from 1967 to 1971. In 1972, he joined the University of Cincinnati as an associate professor and became a full professor in 1977. His research interests include AI, computer vision, and picture recon- struction from projection. His address is the Department of Electri- cal and Computer Engineering, University of Cincinnati, ML #30, Cincinnati, OH 45221.

IEEE EXPERT


Recommended