An Alternative Planner Knowledge Representation

advertisement
Effector-Based
Operator
Construction:
An Alternative
Planner Knowledge Representation
for Reducing Planner Maintenance Effort
From: AAAI Technical Report WS-98-03. Compilation copyright © 1998, AAAI (www.aaai.org). All rights reserved.
Caroline C. Hayes
Daniel M. Gaines
dmgaines@cs.uiuc.edu
hayes@me.umn.edu
Dept of Computer Science
Dept of Mech. & Ind. Engineering
University of Illinois
at Urbana-Champaign
University of Minnesota
Fernando Castafio
castano@students.uiuc.edu
Department of Electrical
and Computer Engineering
University of Illinois
at Urbana-Champaign
Abstract
easier and less time consuming in complex physical
domains such as manufacturing planning by making it possible for users whoare domainexperts, but
not necessarily programmers, to perform the maintenance task. Thus, enabling them to customize
the planning tool to meet the changing needs of
their specific environment.
This work is motivated by the fact that the world
is not static. Becauseit constantly changes, intelligent software systems must be updated constantly
to deal with these changes. Maintenance of complex planning systems for real domains can take
considerable effort. For example, Chien reports on
a planner that required 4 out of 5 days of effort
spent simply on maintenance (Chien 1996). Because of the effort and cost involved in planner
maintenance, automated planners that are to be
used for practical purposes must not only be designed to provide accurate solutions, but must also
be maintainable. However, there is probably no
single solution that will address the maintenance
problem for all types of domains.
Researchers attempting to deploy complex planners in practical applications have met with the
high cost of maintaining and debugging a planner’s knowledgebase. There has been somesuccess
in using knowledgeacquisition tools and machine
learning techniquesto assist in developmentof operator schemas. However,it is often hard for the
domainexperts whoare the users of the program
to do their ownplanner maintenance unless they
are trained to think in terms of AI planning concepts, since their ownrepresentations of the problem may or maynot resemble typical operatorschema-based representations. Such automated
planning tools mayfall by the wayside in practical applications due to difficulty of retraining
for maintenance. In this work we have addressed
the knowledgeacquisition problemby using an alternative representation of the planner’s knowledge, whichbetter fits the users’ representations
in particular types of complexphysical domainsin
whichthe available effectors (i.e. tools and materials used in creating actions) changerapidly,
but the way in which they are used does not. We
call our representation for these problemsand the
technique for applying it Effector-based Operator:
Construction. One of the important characteristics that distinguishes the effector-based approach
from other approaches is that the representation
separates the effector descriptions from the descriptions of howthose effectors are used. Operator and action schematypically combinethese two
types of information in the representation. This
separation is of importancein maintenanceof complex physical domainsbecause it makesit possible for domain experts whoare non-programmers
to makethe changes required for planner maintenance by expressing the changesin concrete physical terms with whichthey are familiar.
There has been some success in using knowledge
acquisition tools and machine learning techniques
to assist in development of operator schemata, preconditions and effects. These tools vary in the ease
with which domain experts can use them. Often
(but not always) the maintenance work must
done by a specially trained knowledge engineer who
knows both the domain and the planning representation, or the users must be specially trained to do
the maintenance work. In some cases, this may be
the most desirable way to handle the issue. In this
work we have addressed the knowledge acquisition
problem by using an alternative way of representing the pLanning knowledge, called effector-based
operator construction, which is easier for the domain experts in many complex physical domains
to learn. The most rapid changes in such domains
are usually in the static effectors (tools, machines,
etc) which are available, and not in the way those
effectors are used. Our representation separates effector descriptions from the rules and conditions for
Introduction
This work presents an alternate method for representing a planner’s domain knowledge and generating operator instantiations, which we call effecforbased operator construction. The objective of this
method is to make planner knowledge acquisition
1
their use, and thus allows uses to describe domain
changes the same physical terms with which they
are used to dealing.
Effector-based operator construction focuses on
the objects
and motions that can be combined to produce actions/operations,’and
on the
rules/constraints by which those effectors and motions can be combined. It generates operators
from this more basic knowledge, rather than explicitly representing the actions/operations themselves.
Weexamine this method in the context of manufacturing planning, however, we believe the technique
will be useful in many complex physical domains
in which operations are formed by combining many
physical components to produce an action (such as
a combination of robot arm motions and gripper
motions to pick up objects).
Our representation is based on the observations
that in many physical domains 1) the actions one
can take in the domain(without incurring large economic costs) are strongly constrained by the tools
and materials one has available (i.e the effectors.
2) The set of effectors frequently changes, but not
the ways in which the effectors are used and combined. 3) actions are produced by applying not just
single effectors, but combinations of effectors, and
4) an ad-hoc combination of effectors is designed
to fit the specific needs of the current situation. A
consequence is that a potentially huge number of
operator schemata may be required to represent all
these combinations. Thus, if the domain is large
(i.e. many effectors, many possible ways of combining them to produce actions/operators),
it may
be more effective to represent the components effectors and the ways of combining them, than it it
is to represent the resulting operator schemata.
In response to these issues, instead of explicitly
representing a set of operator schemata and instantiating them for specific goals and situations, we
represent the set of effectors, constraints on how
they may be combined, and use this information
to construct operator instantiations for each goal.
One way to think of the approach is as a generative
approach to operator selection and instantiation.
If operator schema can be thought of as "operator
cases" in a case-based approach to generating instantiated operators, then our scheme of operator
construction can be thought of as a generative approach in which operator instantiations are derived
from more basic information.
Effector-based operator construction is most useful in complex planning domains where 1) operations are the result of combinations of effectors,
and 2) sufficient domaintheory is available to derive how the effectors will behave to produce operations/actions.
Examples of domains with the~e
properties include manufacturing domains, such as
machining, sheet metal forming, and assembly, as
well as certain types of robot task planning domains. Counter examples include empirically understood domains, such as administration of medications to patients. Frequently, the connection between the administration of a medication and its
result is only empirically understood. It maybe observed that if patient exhibits symptomsa, b and c,
and if one administers drug x, then the symptoms
abate. However, the causes, and the biochemical
action of the drug that produces a result may not
necessarily be well understood. In such empirically
understood domains, a more traditional operator
schema approach is probably more appropriate.
Wepropose this method as a way of defining families of planners. Thus, we do not recommendthat
system designers attempt to build general purpose
operator construction engines but rather that they
tailor them to specific families of problems. Frequently changing properties of that family should
be made accessible and editable by the users, while
it is less important to make the less frequently
changing properties explicit. Furthermore, users
can not change the properties of the planner (or
effectors) to those outside the bounds of the planner family, thus the types of changes that can be
made and the language in which the changes are
expressed can be made more manageable. In order to build a pragmatic planner with reasonable
performance, we feel that a given planner should
be designed so that it explicitly represents only
the frequently changing properties of the effectors,
which it allows the user to examine and update.
However,the more static properties of the planner
should be incorporated into the planner’s operator
construction engine, and the system designer may
or maynot want to explicitly represent these more
static properties. The system designer’s decision
about what properties to make static and what to
make user update-able, will partially determine the
trade-off between the breadth of the problem family that a planner can handle, and the efficiency of
the planner. In our examples, we have chosen to
implement a planner that addresses a fairly narrow but realistic range of manufacturing planning
problems, but which is relatively efficient.
One of the benefits of this approach is that for
manyimportant domains, it is easier users who are
domain domain experts, or at least domain proficient, to perform knowledge maintenance with out
the help of a knowledge engineer. First, since a
given effector may take part in more than one action, there maybe fewer effectors than there are operators. Second, effectors are often easier for users
to describe than operators, because effectors are
concrete objects which they are used to handling
and visualizing. In our manufacturing application,
we provide users with an "effector editor" which
allows them to visualize and to modify the various
Input
Output
Figure 1: Model of effeetor-based operator construction.
effectors. Planning tools that can be directly modified and customized by the users are much more
likely to be used and maintained than those the
require a specially trained knowledge engineering
intermediary.
Effector-Based
Operator
Construction
The operator construction engine takes the place of
the operator match and instantiation process of traditional planners. The engine takes as arguments
a set of effectors and the problem description and
produces a set of instantiated operators which can
be used to solve the problem. The remaining planning processes, such as selecting appropriate operators and avoiding interactions, can remain the
same.
Figure 1 shows the model of the effector-based
operator construction engine. The engine is run on
each goal in the problem description. It begins with
an operator shell that contains no pre-conditions
and a single post-condition corresponding to the
goal to achieve. Pre-conditions and post-conditions
are added to the operator through successive refinements as the engine narrows down the set of
effectors that can be combinedto achieve the goal.
The engine has three main steps which are repeated
until a complete operator description has been obtained. Each step has a corresponding database of
domain knowledge to help direct the process. The
first step, Select Effector Class, identifies the class of
effectors to try on the current pass. Search Control
knowledgeis used to identify which effector classes
are applicable given the effectors already present in
the operator description. Next, Match Effectors determines which effectors in the class actually match
the problem description. Domainspecific Matchers
tell the step how effectors match the problem description. For each match found, Construct Operators builds a new operator by adding pre-conditions
and post-conditions to the existing operator. Constructors decide what information to add based on
the matches. Search Control knowledge is used to
determine if the new operator description is complete. If it is not complete, it is sent back to Select Effector Class for another pass, otherwise it is
returned as output. In many cases there may be
more than one operator for achieving a given goal.
It is the planner’s job to select which operator is
most appropriate in the plan.
The effector-based operator construction process
will first be described using a simplified robot manipulator domain. This domain is not really complex enough to demonstrate the benefits of the
effector-based approach, but will serve to explain
the process. In the next section, a richer example
from a more complex manufacturing domain will
be presented.
Effector
Classes and Effector
Subclasses
The various types of effectors in a domainare represented as effector classes. For example, There are
two effector classes in the robot manipulator domain: grippers and robot arms. Grippers, shown
in Figure 2 (a) and (b), are used to grasp blocks
and come in different shapes and sizes. The grippers attach to a robot arm, shownin Figure 2 (c),
which is used to movethe gripper around. Together
these effectors can be used to lift and moveblocks.
An effector class is defined by a set of predicate
and function symbols that can be used to describe
the properties of the effectors within a class that are
relevant to producing actions. In the robot manipulator example, grippers using gripping surfaces to
grasp objects. Thus, the predicate symbols are chosen to describe properties of the gripping surfaces,
such as GrippingSurface,PlanarSurface,CylindricalSurface, Parallel and Opposite, and function symbols such as Normal, Axis, MaximumGripperWidth
and Minimum(;ripperWidth.
Figure 2 shows two gripper subclasses. Each subclass has a number of gripper instances associated
with it. The figure shows two example instances
for each subclass. The blocks which can be picked
up by a given gripper depend upon the shape of its
gripping surfaces. Gripper gl (Figure 2 (a))
effector
subclass
effector
subclass
C
gdRolng
surfaces
gripping
z
arm
instances
Instances
x
Gripper(gl)
MinimumGripperWidth
(gl, 0.25")
MaximumGripperWidth
(gl, 3.00")
GrippingSurface
(gl,Pl)
PtanarSurface(Pl)
GrippingSurface
(gl, p2)
PlanarSurface (P2)
Parallel (Normal(Pl),Normal(P2))
Opposite
(Pl,P2)
a) Gripper subclass gl
Gripper (g~)
MinimumGripperWidth
(g~,0.25")
MaximumGripperWidth
(g2,3.00")
GrippingSurface
(g2,cl)
CylindricalSurface
Arm (al)
Translate(al, (:El, O, 0))
Translate
(az, (0, 4-1, 0))
Translate (al, (0, 0,-I-1))
(el)
GrippingSurface
(g2,c2)
CylindricalSurface (c2)
Parallel (Axis (cl), Axis (c2))
Opposite
(Cl, 02)
b) Gripper subclass g2
c) Armsubclass al
Figure 2: Effectors for the robot manipulator domain.
two parallel planar gripping faces which are opposite to each other at a distance no greater than
3.00" and no less than 0.25". This property constrains the blocks that the gripper will be able to
grasp.
Grippers alone do not produce actions. They
must be used in combination with other effectors
such as robot arms to move and position them. A
subclass of arms and arm effector descriptions is
shown in Figure 2 (c). The relevant properties for
an arm are the directions in which it can mo~’e.
The arm in the example can translate in x, y and
z. Note that the arm is not allowed to rotate.
main, a goal corresponds to the task of grasping an
individual block. The explanation of the system
will begin with the goal of grasping block 2. The
operator shell for this goal is shown in Figure 4.
The engine makes a number of passes when developing operator descriptions until a knowledgebase
indicates that the operator is complete. Each pass
consists of the three steps shownin Figure 1.
In the example, there will be two passes. The
first pass will select a gripper and the second pass
will select the robotic arm and motions of the arm.
Figure 5 summarizesthe results of the first pass of
operator construction on this goal.
Inputs
The inputs to the construction engine includes the
set of effectors and a problem description. Figure 3
shows an example of the kinds of problems in the
robot manipulator domain. An initial state for this
domain consists of the initial position of the manipulator and a collection of blocks. The goal is to
pick up each of the blocks one at a time. The operator construction engine’s job is to identify ways
in which the grippers and arms can be combined to
grasp each of the objects. One could define more
complex goals, such as stacking the blocks, but simply picking up a block is sufficient to illustrate the
operator construction engine.
Step 1: Select Effector Class:, DomainKnowledge: Search Control:
Input: Goal (grasp block 2), partial operator description and effectors.
Output: An effector class.
This step identifies the class of effectors which may
be useful for completing the operator descriptions.
The Search Control knowledgeidentifies the appropriate class based on the effectors already present
in the partial operator description. In the example,
we have hard-coded the search to first look for grippers, then robot arms. Figure 6 shows the corresponding Search Control knowledge graphically. In
other domains, inferencing based on information in
the operator description may be used for a more
flexible search control.
Operator Construction
Engine
The construction engine is run on each goal in the
problem description. For the robot manipulator do-
Step 2: Match Effectors:,
4
Domain Knowledge:
ar:ima0,0u,ator
gripper
block. The same Matcher will construct a different
rule for gripper g2, because gripper g~ has different
clamping surfaces:
CylindricalSurface(zl) A CylindricalSurface(x2)
Opposite(zl,z2) A Parallel(Axis(zl),Axis(x2))
Distance(xz,z2) < 3.00" A Distance(mz,x2) _> 0.25"
Figure 3: Example of robot manipulator domain.
Operator Description "~
pre-conditions<none>
|
post-conditions
Grasp(block2)
I
Figure 4: Operator shell for goal 1.
Matchers:
Input: Goal, partial operator description and an
effector class.
Output: A set of binding lists ~, one binding list
for each match.
The MatchEffectors process compares the properties of each effector subclass in the given class with
the information in the current problem, in this case
grasping block 2.
The designer of the system is responsible for writing a Matcher for each effector class. The Matcher
constructs a match rule in first-order horns clause
form based on the conditions in an effector subclass and the partial operator description.
The
match rule for effector subclass e~ is of the form:
c~ =~ Match. Match Effectors finds all matches between this match rule and the current operator. A
set of bindings (ri is returned for each match. This
is repeated for each effector subclass in e and the
complete set of bindings is returned in E.
In the robot manipulator domain, a gripper
matches a block if the block contains faces with
the same class as the gripper’s gripping surfacqs.
In addition, the distance between the surfaces
in the block must be within the bounds of the
maximum gripper width. Therefore,
the match
rule agl created for gripper gl is:
PlanarSurface(zl)
A PlanarSurface(x2)
Opposite(x1,z2)AParallel(Normal(xl), Normal(z2))A
Distance(x1,x2) _< 3.00" A Distance(x1,x2) _> 0.25"
where zl and x2 are variables over the faces in a
Figure 5 shows the match attempts for the grippers on block 2. First, gripper gl is comparedwith
block 2, shown in match attempts (a) through (c).
The attempt in (a) fails because the matcher tries
to match planar clamping surfaces in gripper gl
with cylindrical faces in the block. The second
and third, (b) and (c), are matches because
faces in the block are planar, opposite to each
other and within the allowed distance for the gripper. These two matches result in two binding lists:
O’1 : {arl/f2, Z2/f3} and as : {zl/fl, z2/f6}, respectively. There would actually be two more matches,
where the bindings for Zl and z2 are swapped for
each list, but these have not been shownin the interest of space. Next, gripper g2 is compared with
block 2. Only one match is found since the block
contains only one pair of cylindrical faces. This
results in the binding list: ~r3 : {zl/f4, z2/fs}.
If an effector match is not found for the goal,
then that effector is not a valid way to achieve the
goal.
Step 3: Construct Operators:, Domain Knowledge: Constructors:
Input: A partial operator description and a set
binding lists E.
Output: A set of instantiated operators.
A new operator is created for each of the matches
found in the previous step according to the rules in
the Constructors knowledge base. The constructor
for grippers adds a pre-condition that each face in
the block which matched a gripping surface must be
clear. Post-conditions are added which state that
after the object is grasped, each of these faces in
the block will be gripped. In the example, there
were three matches for goal 1. Therefore, there are
three new partial operator descriptions, shown at
the bottom of Figure 5.
The operators are not yet complete because, in
addition to finding clamping surfaces, they also require motion to move them next to the block. The
first two partial operators in Figure 5 require rotation to allow the gripping surfaces in the gripper to
be oriented with the surfaces to be gripped in the
block. Translational motion will also be required to
position the gripper over the block. Therefore, the
partial operators are not yet complete. The third
partial operator does not require rotation, but it
does require translation to move the gripper over
Pass I
Goal 1
Select
Effector Type
/
[ effector type: grippers]
/
internal
blackboard
gripper 1 matchrule
gripper 2 matchrule
.
Match
Effectors
no match
match1
match2
needs
cylindricalfaces
¯ ,,
match3
Construct
Operators
no match
Operator
Description"] [~ OperatorDescription
OperatorDaacrlptlon
pre-conditlonsClear(f2)
~’C;lear(fl)
/ / pre-conditlons
Clear(f3
Clear(f6
post-conditionsGrasp
(3~ock2)// post-conditions
Grasp(b~l~)
Grip (pl,f2) /
Grip(pl,f6)
Grip(p2,fl)
pre-conditlonaClear(f4)
/
Clear(fS)
J
post-conditions
Grasp(block2)
I
~..~2
Partial OperatorI
f~ff3
Qflp(ci,f4)
6
Partial Operator
2
Partial Operator
3
Figure 5: Pass 1 of operator construction on goal 1.
Gripper
the block. The constructor will add these motion
requirements to the problem description and pass
the partially developed operators back to Select Effactor Class.
Onthe second pass, Select Eft’actor Classwill pass
the arm effectors to Match Effectors. Since there
is only one arm effector in this example, the arm
matcher will check to see if it has the motion capabilities required. Unfortunately, the arm is not
able to rotate, so it will not be able to orient the
gripper for partial operators 1 and 2. Translation
motion for partial operator 3 is found and a new
operator is constructed.
Figure 7 (a) summarizes the partial operators
constructed for the first goal of grasping block 2.
An "X" indicates that that branch of the search
was terminated because an effector to add to the
operator description was not found.
A similar process is performed for the second
goal, grasping block 1. Figure 7 (b) shows the
search for operators for this goal. In this case, no
Arm
Figure 6: The SearchControl knowledgefor the example.
complete operators could be found because the arm
cannot rotate.
The completed operator descriptions
are returned as output from the construction process.
For this example, there was only one valid operator: grasping block 2 with gripper 2. Given the
current set of effectors, there is no way to pick up
block 1. However, if an arm with rotational motion
is added, there will be more options for grasping the
blocks. The operators are passed on to the planner
which must select which operator to use for each
goal and sequence the operators into a plan.
6
OperatorDuorlptlon -~
pre~condltlons
,morw>
post con~stlon.
Gm,p(block2)
InltlallzatIon:
Operator
8helll
i
OperatorDescrlptlon
OperatorDesodptlon
-~r OperatorDescdptlon)
pre-oonditJons
Clear,2
pre-co~lUo~
Ctearfl
pre-concltt~ons
Clear
f4
C~ikrl~l
Clearl,21
.... I,~’l /
PaSS
1:
/ poat-cond~Q~s
Gra~(block,?.)poat.cond41km=
Grasp(l~oc~)l
Gdppl,f2
Gdp
I)1f6
/ polt-co~it~*Gmsp(bk:ck2)l
Gdpo1f4
GripperEffectors
//
OperatorDescription
X
Ckpar
14
.......o.,I,:l
Grup(~ock2)
X
Pills 2:
ArmEffectors
G~pol M
At (gr;pper2,
Nock2
pos~on~
[
b) Operator construction for goal
a) Operator construction for goal
Figure 7: Results of operator construction for robot manipulator example.
(a) stock
(c) delta volumne
Figure 8: An example machining problem.
Case
Study:
Machining
Process
Planning
The concept of operator construction was developed to address the challenges found in the domain of process planning for machined parts. This
domain is more challenging to represent than the
robot manipulator domain because the space of
possible actions is muchlarger and there are more
complex interactions amongthe effectors. Machining is the art of creating parts by removingmaterial
from a piece of metal called the stock, which represents the initial state. Figure 8 shows the stock
and the goal, the part to be created, for an example
machining problem. The part and stock are represented as boundary representation CADmodels
which describes the vertices, edges and faces that
form the boundary of the object. There are three
classes of effectors used to create shapes in a part:
cutting tools, which remove material from a part,
machine tools, which move the cutting tools in a
part, and fixtures, which hold the part fixed in various orientations. These effectors can be combined
in manydifferent ways to produce a wide variety of
shapes in the part. Each combination of effectors
represents a method for creating a shape. The goal
of machining process planning is to select methods
for creating each of the shapes in the part and then
select and order the methods into a high quality
plan that avoids harmful interactions among methods.
The ability to perform knowledge acquisition is
an important concern for this domain. Each machine shop will have its own set of equipment and
will need to customize a computer-aided planner
to fit the environment. As the equipment changes
from day to day, due to availability of equipment
or the addition of custom tools, the system must
be maintained to reflect the changes.
Anintegral part of process planning is identifying
which shapes can be made in a part and selecting
machining methods for creating each shape. The
shapes that can be made and the ways in which
they can be machined depend upon the set of available equipment. A computerized planner must take
the available equipment into account when deciding
what shapes can be made and how it can make each
shape. Because each machine shop has a slightly
different set of tools and fixtures to use and the set
of equipment may change from week to week. Shops
with different resources mayneed to produce differ-
7
EffectorGlasses
Cutting Tools
fiat endmlllball endmillchqmfere~,
ddll sq bclass"~| IJ
Machine Tools
Fixtures
vise
i ’’
MachiningMethodParameters
Removal
Volume
Part Orientation
CuttingToolShape/Orientation
Tool Motions
FixtureConfiguration
Machining’Method
Combines
effectors:
drill, 3-axismachine
tool,vise,sinetable
Figure 9: An example of howmachining equipment is combined to create machining methods.
ent plans, therefore, they must be able to customize
the planner to reflect the resources they have. The
traditional operator-based representations are unwieldy in this domaindue to the difficulty of maintaining an operator knowledge base.
This section describes MEDIATOR, a portion of a
manufacturing planning system developed by the
authors that uses effector-based operator construction to generate a set of methodsfor creating shapes
in a part.
This section shows the results of MEDIATOR
for
the example problem in Figure 8 and the effector
set in Figure 9. Because of space constraints, only
the results of each operator construction pass will
be shown. The description is kept at a fairly high
level. For more information, the reader is referred
to (Gaines, Castafio, ~ Hayes 1996; Gaines & Hayes
1997).
Effectors
in
the
Machining
ments and shape producing capabilities. Effectors
must be combined to produce cuts in the part. Figure 9 shows a manufacturing method for drilling a
hole. This method combines a drill, a 3-axis mill,
and two fixtures: a vise clamp and a sine table.
The vise is mountedon the sine table and grips the
part. The sine table provides a rotated orientation
for the part.
Figure 10 shows a possible operator for describing this method. The operator states that, if the
drill is combined with the downwardmotion of a
3-axis mill, clamped with a vise and tilted with a
sine table, then a cylindrical hole will be created.
While it is possible to approximate the shapes that
the equipment can produce with operator descriptions, a large numberof operators will be required.
Furthermore, it may not be possible to completely
describe all of the possible shapes that can be created. Instead of using operators, MEDIATOR
uses
the effector-based operator construction model to
construct operators as needed given the properties
of the available equipment.
Domain
The shapes that can be created in a part are closely
associated with the available machining equipment.
Figure 9 showsthe three class of effectors in the domain: cutting tools, machinetools and fixtures. For
each effector class, there may be manysubclasses.
For example, Figure 9 includes some cutting tool
subclasses. Each effector class has its ownrequire-
8
OperatorSchema
name:
drill-hole-with-drill-titlted
effect:remove
cylindricalvolume
precond:
holeaxisII to drill axis
1
generates a volumecalled the delta volume and represents all the material which must be removed
from the stock to create the part. Figure 8 (c)
shows the delta volume for the example part. Any
face in the delta volume and in the part is a
face that requires machining. In this case, faces
fl, f2, f3, f4 and f5 require machining. The example will illustrate the construction of operators for
creating face fl.
Figure 11 shows the Search Control for
MEDIATOR. MEDIATOR makes three passes during
operator construction, one for each effector type.
MEDIATOR
first identifies cutting tools for creating the surface. Then machine tools are found to
provide motions for the cutting tools. Finally, fixturing devices are selected for clamping the part.
Figure 13 summarizes the search for operators for
this example.
Pass 1: Effector Class: Cutting tools.
During this pass, each cutting tool subclass is compared with fl. The matcher identifies which cutting tool shapes can create the face. It also identifies approach directions, directions from which the
tool can approach the face, for each matching tool.
Only the flat endmill and chamfered custom mill
matched. There were three approach directions
found for the flat endmill and a single approach
direction found for the custom mill. The postconditions of the constructed operators identify the
part faces which can be machined with this operator. Notice that each operator is able to machinea
different set of faces.
Pass 2: Effector Class: Machine tools.
This pass identifies machine tool motions that will
be required to machine the surfaces. It also checks
to see if the cutting tool will collide with the part
at the given approach direction. Motion is found
for each of the partial operators, however, two operators are markedas invalid because the tool will
collide with the part if the operator is used. The
machine tool constructor combines the cutting tool
with a machine tool by sweeping the cutter along
a path to generate the volume that the operator
will remove from the stock. This volume is added
as a post-condition of the operator. The volumes
for each operator are different because they were
generated with different effector subclasses.
Pass 3: Effector Class: Fixtures.
The fixture matcher finds faces in the part that
match the seating and clamping surfaces in the vise
and allow the part to be oriented with respect to
the approach direction of the operator. There are
two possibilities for each of the operators from Pass
2 resulting in four operators at Pass 3.
The construction process will be repeated for
each surface requiring machining in the part. Each
operator contains a different set of pre-conditions
and post-conditions. Either of the operators using
Figure 10: A possible operator description for the
method in Figure 9.
Cutting Tools
Machine Tools
Fixtures
Figure 11: The Search Control knowledge for
MEDIATOR.
TOOL-EDITOR: An Effector-Based
Knowledge Acquisition
Tool for
o"
MEDIATOR
One of the benefits of an effector-based representation is that it facilitates knowledgeacquisition from
users who may not be programmers or AI planning experts. A knowledge acquisition tool for an
effector-based planner solicits information for new
effector subclasses allowing users to describe the
properties of the effectors they wish to add.
To demonstrate the usefulness of the effectorbased approach with respect to knowledge acquisition, we developed a knowledge acquisition tool
for the cutting tool effector class. The result is the
TOOL-EDITOR
system. Figure 12 shows a screen
capture of the TOOL-EDITOR
user interface.
For
the cutting tool effector class, the user must describe the shape and constraints on the dimensions
of the tool.
The user specifies the shape by sketching the
tool’s profile. An example profile is shownon the
left side of Figure 12. The right side contains a
three dimensional rendering of this tool. The dialog boxes at the top allow the user to add new
segments to the tool profile, and attach constraints
to the segments to specify the allowable dimensions.
In the example, the user is adding constraints on
the length of a line segment. The lower dialog box
contains detailed information, such as the position
of the segment vertices, on the segments in the profile.
When complete, TOOL-EDITORsaves the new
tool to a file that is loaded by the MEDIATOR
system. The next section will briefly describe how
MEDIATOR
uses this information to identify the
shapes that these tools can create.
MEDIATOR
MEDIATORgenerates operators for each face in the
part that requires machining. These faces are identified by subtracting the part from the stock. This
9
\
Figure 12: TOOL-EDITOR.
the chamfered custom mill from Figure 13 will machine all of the required face in the part and, therefore, satisfy the entire problem description. However, if the flat endmill operators are used, additional operators will be required to machine faces
f3 and f4.
All of the operators found for creating each surface are passed to the setup planner. The setup
planner selects operators for machining each of the
surfaces and orders the operators into a process
plan, which, when applied to the stock will result
in the final part.
Evaluation
of
cutting tools to the system is a straightforward process. Users can add new cutting tools by sketching
their profile in TOOL-EDITOR.
MEDIATOR
uses this
information to infer the shapes the tools can created when combinedwith the other pieces of equipment. Wefeel this is a significant improvement in
the maintainability of a system over previous approaches which required the user to describe the
types of shapes that a given cutting tool can create.
To evaluate the robustness of the system, we
compared the options that MEDIATOR
produces for
a number of parts with the options produced by
a human expert and, when available, the options
produced by other automated systems in this domain. MEDIATOR
found every option that the human found. In some cases, MEDIATOR
found options that the humanexpert overlooked, but when
pointed out by MEDIATOR, decided that they were
useful. MEDIATOR
has also been shown to find more
options for machining faces than other automated
systems.
Based on these results, we conclude that using
the operator construction approach, MEDIATOR is
MEDIATOR
Weevaluated MEDIATOR
to assess the benefits of
adopting the operator construction approach in t~e
machining process planning domain. In particular,
we were interested in evaluating the maintainability
and robustness of the system.
To evaluate the maintainability of the system, we
ran MEDIATOR
on a number of parts with different sets of cutting tools and fixtures. In each case,
MEDIATOR
produces a different set of results when
supplied with different equipment sets. Adding new
l0
Operator Deecrlptlon
I
~n~
post-conditionsMachined(fl)
Initialization:
fS~.l.19f5
Pass 1:
Cutting Tool
Effectors
Operator
Des~
pre-conditionsApproach
(0,0,-I)
post-condltig~Ls
Machlned
(fl,f2,f3)
I
( Operator Description
pre-condltions
,~pproach
(-I,0,0)
post-conditions~j~
Machined
(fl,f2)
Operator Description
pra-condltlons
Approach
(1,0,0)
post-conditions
Machined
(fl,f3)
Operator Descrlptlon
pre-condtttons
Approach
(0,0,-1)
post-conditions
Machined
(fl,f2~f3,
~
I~
I
~ f4,f5)
Operator Description
l
pre-condltlonsApproach
(0,0,-I)I
post-conditlons
Machlned
(fl,f2,f3,1
I
[ :::::t?:r ?eaA: r:roPtalch(0,0,.,)
Pass 2:
Machine Tool
Effectors
I
Pass 3:
Fixture
Effectors
Operator Descrlptlon
f Operator Deecrlptlon
pre-conditlonsMachined
(f6,fg)
pre-conditions
Machined
(f7,fS)
post-conditions
Machined
(fl,f2,
post-conditions
Machined
(fl,f2,
f3,v1)
f3,vl)
Operator Deecrlptlon
pre-conditions
Machined
(f6,f9)
post-conditions
Machined
(fl,f2,f,~
f4,f5,v2
Operator Description
]
pra-condltlons
Machined
(f7,fS)
’/ °st’c °~~ln ed ~4f If’sf ,2’~’
Figure 13: Operator construction for example part.
easier to maintain and more robust in its ability
to reason about the actions it can perform, than
previous approaches.
’"
cific properties of the goal it must achieve. This refinement process is similar to the refinement of the
developing operator description in operator construction.
The difference is that MOLGEN
has a
pre-defined set of operators, while the operator construction engine does not explicitly represent all of
the possible operators. Instead, it constructs them
when needed.
In this paper, the effector-based operator construction process is demonstrated for the domain
of process planning for machined parts. Other systems that perform similar tasks in the machining domain include (Joshi ~ Chang 1988; Vandenbrande & Requicha 1993; Jong & Fuchs 1994;
Han & Requicha 1995; Shah, Shen, & Shirur 1994;
Gaines, Hayes, & Kim 1995). Systems which perform some form of operator construction in this
domain include include (Gupta e~ al. 1994; Stage,
Henderson, ~ Roberts 1997; Laxmiprasad & Sarma
1997; Lee 1997). The main difference between these
systems and MEDIATOR
is that MEDIATOR
handles a
larger set of machining equipment and MEDIATOR
is
easier for non-programmers to customize. Wehave
also found that MEDIATOR
identifies more options
for machining some parts.
Research to improve the development of actionbased knowledgebases can be divided into those using knowledgeacquisition tools and those using ma-
Related
Work
Representations
of a planner’s knowledge have
ranged from the expressiveness of situation calculus (McCarthy 1968) to more restrictive representations such as STRIPS(Fikes & Nilsson 1971) and
propositional STRIPS(Bylander 1994). Other representations include the Action Description Language (ADL)(Pednault 1989), a middle-ground
tween STRIPSand situation calculus, and Hierarchical Task Networks (HTN) (Erol, Hendler, &
1994), which emphasize methods for carrying out
specific tasks. Each of these representations make
explicit the actions in the domain. For some domains this can lead to planners that are difficult
to maintain and adapt because the actions contain
knowledge about a set of domain effectors. When
domain effectors change, the user may be required
to rewrite large portions of the knowledgebase.
There have been other planners which have
shownelements of the effector-based operator construction process presented in this paper. Stefik’s
MOLGEN
is perhaps the most closely related AI
planner (Stefik 1981). MOLGEN
has a set of abstract operators which it refines based on the spe-
ll
chine learning techniques. Chien developed tools
to help detect incomplete Or inconsistent operator
descriptions and identify missing operators (Chien
1996). Machine learning techniques have been used
to add information to incomplete operator descriptions. Techniques for learning include experimentation (Gil 1993), inductive learning and simulation (DesJardins 1994), and observation (Wang
1995). These approaches assist in the difficult task
of developing and maintaining an operator knowledge base. However, our approach is to use a representation that allows easier maintenance by separating out the rapidly changing portions of the
operator descriptions (the effeetors) from the rest
of the domain knowledge.
Conclusions
The effector-based operator construction model
has been successfully implemented for the complex practical domain of manufacturing planning
in MEDIATOR, along with a tool editor that allows
users to quickly update effector descriptions. In
the future, MEDIATOR
will be expanded to handle a
broader family of machining domains such as turning and mill-turning. Wealso wish to investigate
the application of effector-based operator construction to other planning and design domains.
Acknowledgments
This work was funded by the Department of Energy
1996 Predoctoral Integrated Manufacturing Fellowship. Wewould also like to thank Mike Westjohn
for his machining expertise. TOOL-EDITOR
was developed within the graphical environment of Bentley System’s MieroStation Modeler using the MicroStation Development Language. MEDIATOR Was
developed using the Acis 3DToolkit from Spatial
Technology.
2
Effector-based operator construction offers an alternative representation for generating operator instantiations
for a given goal. The construction
process replaces the operator match and instantiation process of the planner. The remainder of
the planner can remain the same. In this model,
the planner does not use a set of pre-defined operator schemas. Instead, the domain knowledge
that is typically represented in operator schemas
is divided into several parts: a set of effector descriptions, knowledge about constraints and rules
on how they may be combined and used, and a more
general operator construction engine combines the
component effectors to to create operator instantiations to satisfy each specific goal in the context
of the problem at hand. Advantages of the operator construction method include easier maintenance for many important domains (provided that
the changes do not take the planner outside of the
domain family defined by the construction engine),
focus on the rapidly changing characteristics of the
planner (in manydomains, it is the effectors that
change rapidly), and the possibility of maintenance
by a system user who although competent in the
domain may not be versed in either AI plannir/g
concepts or programming. Maintenance is easier
largely because in these domains, it is often easier
for domain users to describe the physical characteristics of the effectors than it is for them to write
the corresponding operator descriptions.
This method is useful in domains where there are
wide variety of actions which are formed by combining effectors. However, the model is not suitable for all domains. In particular, there must be
a way to correlate effector matching and operator
construction from the properties of effectors. For
example, a medical domain may not be appropriate for the effector-based model because much of
the required information is obtained from empirical observations. There may not be a sufficient
domain theory to predict howdrugs will interact.
References
Bylander, T. 1994. The computational complexity of propositional STRIPSplanning. Artificial
Intelligence 69(1-2):165-204.
Chien, S. A. 1996. Static and completion analysis for planning knowledge base development and
verification. In Drabble, B., ed., Third International Conference on Artificial Intelligence Planning Systems, 53-61. Edinburgh: AAAIPress.
DesJardins,
M. 1994. Knowledge development
methods for planning systems. In Fall Symposium
on Learning and Planning: On to Real Applications, 34-40.
Erol, K.; Hendler, J.; and Nau, D. S. 1994. HTN
planning: Complexity and expressivity.
In Proceedings of the twelth National Conference on Artificial Intelligence, 1123-1128.
Fikes, R. E., and Nilsson, N. J. 1971. Strips: A
new approach to the application of theorem proving to problemsolving. Artificial Intelligence 5(2).
Gaines, D. M., and Hayes, C.C. 1997. A
constraint-based algorithm for reasoning about
the shape producing capabilities of cutting tools
in machined parts. In ASMEDesign for Manufacturing Conference.
Gaines, D. M.; Castafio, F.; and Hayes, C. C.
1996. Reconfigurable feature recognition for an
adaptable maintainable CAD/CAPPintegration.
In ASMEDesign Engineering Technical Conference.
Gaines, D. M.; Hayes, C. C.; and Kim, Y. S. 1995.
Negative volume to process methods mapping for
CAD/CAPP
integration.
In Proceedings of IJCAI
Intelligent Manufacturing Workshop, 104-115.
12
Gil, Y. 1993. Learning by experimentation: Incremental refinement of incomplete planning domains. Technical-Report ISI/RR-93-338, Information Sciences Institute.
Gupta, S. K.; Nau, D.; Regli, W.; and Zhang,
G. 1994. Building
MRSEVmodels for CAM
applications.
Advances in Engineering Software
20(2/3):121-139.
Han, J.-H., and Requicha, A. A. G. 1995. Integration of feature based design and feature recognition. In ASMEInternational Computers in Engineering Conference.
Jong, M. T. D., and Fhchs, A. 1994. PART:
Advanced manufacturing technology white paper.
Technical report, ICEMTechnologies.
Joshi, S., and Chang, T.C. 1988. Graphbased heuristics for recognition of machinedfeatures from a 3D model. Computer-Aided Design
30(2).
Laxmiprasad, P., and Sarma, S. 1997. A featurefree approach to 5-axis tool path generation. In
ASMEDesign Technical Conference.
Lee, Y.-S. 1997. Admissible tool orientation
control of 5-axis complex surface machining for
CAD/CAMsystems. In ASME Design Technical
Conference.
McCarthy, J. 1968. Programs with commonsence.
In Minsky, M. L., ed., Semantic Information Processing. MITPress. 403-418.
Pednault, E. P. D. 1989. ADL: Exploring the
middle ground between STRIPSand the situation
calculus. In Knowledge Representation.
Shah, J.; Shen, Y.; and Shirur, A. 1994. Determination of machining volumes from extensible sets
of design features. In Shah, J., et al., eds., Advances in Feature Based Manufacturing. Elsevier.
129-157.
Stage, R.; Henderson, M.; and Roberts, C. 1997.
A framework for representing and computing tool
accessibility.
In ASMEDesign Technical Conference.
Stefik, M. 1981. Planning with constraints (MOLGENpart 1). Artificial Intelligence 16(2).
Vandenbrande, J. H., and Requicha, A. A. G.
1993. Spatial reasoning for the automatic recognition of machinable features in solid models. IEEE
Transactions on Pattern Analysis and Machine
Intelligence 15(12):1269-1285.
Wang, X. 1995. Learning by observation and practice: An incremental approach for planning operator acquisition. In 12th International Conference
on Machine Learning.
13
Download