C o n c e p t u a l D e s i g n a n d A r t i f i c i a l Intelligence* Devika Subramanian Department of Computer Science Cornell University Ithaca, NY 14853
[email protected]
Abstract This paper introduces new approaches to the conceptual design of electro-mechanical systems from qualitative specifications of behaviour and function. The power of these methods stems from the integration of techniques in qualitative physics, symbolic mathematics, computational geometry and constraint programming. This is illustrated with an effective kinematic synthesis method that integrates reasoning with configuration spaces and constraint-programming techniques.
1
Introduction
The broad goal of our research is to derive computational theories of conceptual or pre-parametric design. As manufacturing technologies change, as new materials are developed, as new design constraints emerge (designs with recyclable parts, and designs that assemble and disassemble easily), as products become more complex, as the need to build in continuous improvement into design processes emerges, basic conceptual design procedures for electro mechanical systems require broadening with effective use of computer tools in the early stages of design. Our specific aim is to use methods from artificial intelligence, especially qualitative physics and constraint programming, with techniques from computational geometry and symbolic mathematics to build new computational prototyping tools for conceptual design.
2
A Case S t u d y
While the talk will present several case studies of effective tools for conceptual design in a variety of domains, the rest of this paper is devoted to an illustration in the context of mechanism synthesis 1 . Mechanisms are an important part of most electro-mechanical systems. They transmit motion from one rigid body to another. Our design system takes as input constraints on the motion of a mechanism in qualitative, mathematical form. As *This work is supported by NSF-IRI-8902721, the Xerox Design Research Institute, and the Moore Fund. *This is joint work with my student Cheuk-san (Edward) Wang.
800
Invited Speakers
Figure 1: Design of a windshield wiper
output, it produces a systematic enumeration of mechanism topologies and geometries that satisfy the given constraints. Tt also performs high-level simulation to demonstrate the feasibility of the design. The conceptual designs produced by our system can be refined and optimized by constraint-solving systems that select candidate designs based on cost, material, manufacturing and assembly constraints. The running example used in this paper is the synthesis of a windshield wiper whose input power is provided by a motor rapidly rotating around the z axis and whose output is an oscillation in the yz plane with low frequency. Note that this a partial description of the input and output motions of this device. The first design enumerated by our system is shown in Figure 1. It employs a worm spur which converts the uniform input rotation around the z axis to one about the x axis. The output of the spur gear drives a crank rocker. The overall output is tapped from the rocker. Dimensions, positions and orientations of the gears and
the crank rocker are calculated by the system. A n o t h e r design generated by o u r system satisfies the same mot i o n specifications using a rack and gear pair, where the rack is d r i v e n by a slider crank w i t h the crank being rot a t e d u n i f o r m l y by a w o r m spur pair. T h e w o r m itself is connected, in b o t h cases, to a m o t o r shaft. T h e r e are several u n i q u e aspects of our m e t h o d . We have a u n i f o r m representation for constraints, and can take t h e m i n t o account d u r i n g the synthesis process. In t h i s e x a m p l e , m o t i o n constraints as well as dimensional constraints are h a n d l e d simultaneously. T h e synthesis process is very efficient. T h e example synthesis above was generated in a b o u t h a l f a second on a Sparc s t a t i o n . Relevant constraints are enforced as soon as they become applicable. T h i s is w h a t makes the generation process efficient: we elaborate this p o i n t in Section 7. T h e synthesis process is grounded in a m a t h e m a t i c a l t h e o r y of m o t i o n c o m p o s i t i o n t h a t is based on configurat i o n spaces. We compile the algebraic theory of m o t i o n synthesis i n t o a q u a l i t a t i v e f o r m t h a t preserves essential d i s t i n c t i o n s for t h e specification and solution of a large class of k i n e m a t i c synthesis problems. We introduce a p r o p e r t y called join preservation w h i c h is a constraint on a q u a l i t a t i v e m o t i o n language t h a t is needed to guarantee the generation of correct designs. Our synthesis a l g o r i t h m s are a c t u a l l y i m p l e m e n t e d and are currently being field tested at the X e r o x Webster Design Research Center. O u r p r o g r a m has produced innovative designs for a n u m b e r of c o m m o n devices described in [19]. An i n t e r e s t i n g set of egg-beater designs in shown in Figure 4. 2.1
T h e P r o b l e m : M o t i o n Synthesis
We now describe the synthesis p r o b l e m addressed in this paper in d e t a i l . K i n e m a t i c synthesis is the p r o b l e m of d e t e r m i n i n g a three dimensional structure of rigid parts t h a t i m p l e m e n t s a given m o t i o n specification. K i n e m a t ics o n l y considers m o t i o n s and not the forces t h a t cause the m o t i o n s . C o n c e p t u a l k i n e m a t i c synthesis is generally acknowledged to be a very difficult p r o b l e m . A modern t e x t b o o k in the area [18] states t h a t T h e designer generally relies on i n t u i t i o n and experience as a guide to t y p e and number synthesis. Very l i t t l e s u p p o r t i n g theory is available in these areas. C o n c e p t u a l synthesis of mechanisms is difficult because designs are t y p i c a l l y specified in incomplete terms and by their i n t e n d e d use (e.g., a f r u i t - p i c k e r or a fuel-hose connector). T h e r e is no general theory t h a t relates function and s t r u c t u r e in mechanical devices. T h a t is, the space of mechanisms t h a t achieves a given f u n c t i o n a l specificat i o n is n o t exhaustively and systematically enumerable. C o m p e n d i a such as A r t o b o l e v s k y ' s catalog [1] provide a l i b r a r y of k n o w n mechanisms indexed by type (lever mechanisms, e.g.) and f u n c t i o n (e.g., indexing). They are a useful s t a r t i n g p o i n t for a designer who can then use systematic a d a p t a t i o n of these designs to create devices w h i c h meet the specified f u n c t i o n a l i t y . T h e derivation of the m o t i o n s t h a t accomplish a given f u n c t i o n is an open p r o b l e m t h a t is not addressed in this paper. Given the m o t i o n s , we call the p r o b l e m of designing a struct u r e t h a t generates t h e m , the motion synthesis p r o b l e m .
T h i s is also difficult to solve as it involves d e r i v i n g geo m e t r y f r o m m o t i o n . Most o f the current w o r k o n conceptual design of mechanisms focuses on this p r o b l e m [6, 1 1 , 14, 15, 16, 26]. Previous work in this area falls under three m a j o r categories: s t r u c t u r a l , behavioural and f u n c t i o n a l theories of synthesis. Structural theories[6] generate mechanism topologies systematically, usually f r o m specification of the number of links and the t o t a l number of degreesof-freedom of the mechanism. Pure s t r u c t u r a l theories of synthesis result in a generate-and-test m e t h o d for producing mechanisms given i n p u t - o u t p u t m o t i o n specifications. T h i s procedure is usually quite expensive, and it is generally difficult to exploit i n f o r m a t i o n about the desired m o t i o n to control the e n u m e r a t i o n phase. Behavioural theories derive the structure of a mechanism f r o m specifications of its o u t p u t and i n p u t motions. They fall i n t o t w o categories: compositional and non-compositional. Compositional theories of m o t i o n synthesis [16, 24, 9, 5], assume the presence of p r i m i t i v e or atomic b u i l d i n g blocks w h i c h i m p l e m e n t simple i n p u t - o u t p u t m o t i o n specifications. T h e y provide methods for systematically breaking down a c o m plex i n p u t - o u t p u t specification in terms of the p r i m i t i v e ones. Compositional theories typically address the synthesis of large scale electro-mechanical systems. Noncompositional theories [11, 14] b u i l d structures " f r o m scratch" t h a t satisfy given m o t i o n specifications. T h e y are typically used for small-scale electro-mechanical systems or the synthesis of specific parts. Functional theories are theories that work f r o m intended f u n c t i o n of a device and derive a structure t h a t performs t h a t funct i o n . Functional theories of synthesis posit i n t e r m e d i ate behavioural specifications and then design structures t h a t generate those behaviours. Few f u n c t i o n a l theories exist in the literature: [7] and [10] take k i n e m a t i c funct i o n i n t o account in the design of mechanism topologies. T h i s paper is organized as follows. In Section 3, we f o r m a l l y define m o t i o n specifications in terms of configuration spaces and introduce abstract and concrete mechanisms. The operators which compose abstract mechanisms and their concrete counterparts are presented in Section 4. T h e composition operators f o r m the basis for a rigorous specification and solution of the m o t i o n synthesis problem in Section 5. In Section 6, we discuss tractable qualitative representations of the configuration space descriptions manipulated by our algebraic synthesis m e t h o d . We then present efficient constraint solving algorithms t h a t use the qualitative representations. These algorithms have been implemented in C L P ( R ) [27] and we present examples of interesting syntheses in Section 7. We conclude by reiterating the m a i n c o n t r i b u tions of our paper and provide a discussion of f u t u r e work on the problem of a u t o m a t i n g m o t i o n synthesis, and more generally on the problem of conceptual design.
3
C o n f i g u r a t i o n Spaces, M o t i o n s , a n d Mechanisms
We briefly review the concept of a configuration space before formally defining the m o t i o n of an object. Let
Subramanian
801
802
Invited Speakers
T h e o r e m 1 The synthesis process: solving the abstract synthesis problem followed by concrete synthesis, is sound. That is, if it produces a solution, it w i l l satisfy the specified motion constraints. To prove completeness, we need to establish t h a t the m e t h o d w i l l find an i m p l e m e n t a t i o n of all specifications expressible in the configuration space f o r m a l i s m . T h e only way to prove this is to show t h a t our p r i m i t i v e relat i o n set can reconstruct any configuration space r e l a t i o n . Currently, our set of abstract mechanisms is incomplete: work is underway to construct a complete set. We now discuss the c o m p u t a t i o n a l complexity of the abstract and concrete synthesis problems. Let the cardin a l i t y of the set of p r i m i t i v e abstract mechanisms be n. Suppose we consider only composite mechanisms w i t h at most p primitives. In the abstract synthesis phase, the generation component can explore alternatives. We have to compute compositions d u r i n g the process, which involves intersection of algebraic sets: the worst case t i m e complexity is doubly exponential in the n u m ber of variables in the constraint set when a closed f o r m solution is possible. In the concrete synthesis phase, the number of possible candidates are d n where d is the m a x i m u m number of concrete instantiations for a p r i m i t i v e abstract mechanism. Each step in the concrete synthesis phase involves checking t h a t a given non-deterministic choice of p r i m i t i v e implementations yields a consistent constraint set. The complexity of solving these geometric and dimensional constraints is the same as t h a t of solving constraints generated in the abstract synthesis phase. Algebraic descriptions are extremely general, b u t suffer f r o m t w o disadvantages. T h e y require detailed knowledge of the configuration spaces and the c o m p u t a t i o n of is very expensive in this representation. T h i s motivates a qualitative approach to representing m o t i o n s and the construction of the qualitative counterpart of the operator on configuration spaces. T h i s is the subject of the next section.
6
Tractable Representations for Compositions
Q u a l i t a t i v e descriptions p a r t i t i o n the space of possible motions i n t o equivalence classes. T h e y have t w o chief advantages: they p e r m i t p a r t i a l specification of m o t i o n s . Second, they allow for potential efficiency gains in perf o r m i n g the j o i n computations by e l i m i n a t i n g the need to solve complex non-linear equations.
Subramanian
803
Our qualitative language is a predicate language that abstracts algebraic motion descriptions. It is similar to other motion languages in the literature [11, 14, 16, 24] in its use of predicate calculus. However, unlike these approaches, but in common with [13], our aim is to provide an analysis of tradeoffs between expressive power and computational efficiency for qualitative motion languages. We develop a soundness criterion called the preservation property that a qualitative motion language must satisfy to generate correct syntheses. A qualitative motion language can be characterized by a homomorphic mapping A, from a motion relation to a qualitative description, which picks out specific properties of a motion. For instance, our symbolic language represents rotations by their centers (xyz location), their axes (a unit vector), a speed (a constant for a uniform rotation), an angular range (for constrained rotations), and a frequency (for rotations that change sense). Rectilinear translations are represented by an axis (a unit vector), a speed, a range (for constrained translations), and a frequency (for reciprocations). How can we determine the representational adequacy of such a language for a given class of design tasks? For our synthesis task, we require the computation of compositions. If we can compute accurately and efficiently from A(R1) and for motion relations R1 and R2, we have an adequate language. The formal property is called preservation and requires the specification of the composition operation in the abstract language defined
by A
D e f i n i t i o n 12 The mapping A preserves joinsitf
Note that this constraint places restrictions on the definition of We illustrate the computation using the gear train example of Section 4. G 1 and G 2 transform rotary motion to another rotary motion with a different speed and sense. The angular velocity a, can be obtained from the algebraic description of motion: where is the output configuration at instant t, and is the configuration of the input link at t. The predicates below reformulate the algebraic descriptions of rotation provided earlier.
804
Invited Speakers
procedures that test equality of motion descriptions, and regress constraints on motion through a primitive abstract mechanism. We will illustrate these in the context of the simple motion description system introduced in the previous section. 7.1
Figure 3: An example that shows join preservation violation
Synthesizing single i n p u t , single o u t p u t mechanisms
The recursive algorithm for synthesizing single input, single output mechanisms is shown in Table 1. We impleSISO_Synthesize(i,o)
of the crank rocker in Figure 3 is a rectilinear translation (reciprocation) which is the input to the skotch-yoke mechanism. Our construction unifies the two motions as long as their ranges, speed, and axes coincide. Unfortunately, an analysis of the underlying C-space3 relations reveals that there is at most one possible position where the two motions would intersect, thus the mechanism would j a m (become rigid). Both the crank-rocker and skotch-yoke mechanisms are non-linear. The specific developed above is inadequate for handling non-linear mechanisms in a general way. To guarantee preservation of joins for the specific and A combination introduced here, we ensure that non-uniform motions are not composed. This can be done with the restriction that non-linear mechanisms only take uniform motions as input.
7
Efficient Synthesis A l g o r i t h m s
We reformulate the algebraic description of the abstract synthesis problem in terms of qualitative motion descriptions. G i v e n i, a qualitative specification of the input motion: o, a qualitative specification of the output motion, and constraints on i and o. F i n d a sequence of abstract mechanisms A1,...,An which when composed will transform any motion described by i to some motion described by o. To be exact, we want
where mi E i means that the motion mi, is in the class of motions described by the qualitative specification i. To make the process efficient, we transform the naive generate-and-test scheme to a goal-directed procedure in Section 4 that chains backward from the desired output o to i. We distinguish between single-input, singleoutput (SISO) mechanism synthesis from single-input, multi-output mechanism (SIMO) synthesis because of the opportunity for optimization by function sharing in the latter case. We begin with the algorithm for the SISO case. The algorithms below are not committed to any particular abstraction language. For each language, we require
Thus q describes the (largest) set of motions that can be transformed by T(M) to motions in o. q is the most general qualitative description in the motion language which meets that the previous requirement. It is the regression or backprojection of o with respect to T(M). 3.
Return [T{M), SISO-Synthesize(i,q)]
Table 1: Algorithm for synthesizing single input, single output mechanisms ment the synthesis method for our language as a depthbounded, goal-directed, depth-first backward chainer in CLP(R). The operational model of CLP(R) is similar to Prolog (so the reader familiar with Prolog can read the code below quite easily), however unification is replaced by a more general mechanism: solving constraints in the domain of functors over real arithmetic terms. For a linear primitive mechanism, we store its name, a scaling factor for the input and output motions, and the types of input and output motion. For example, the abstract mechanism corresponding to a gear pair with gears of sizes 3 and 5 is represented as: mechanisrn(gear-pair, linear(-3/5), [rotation((0,0,0),(0,0,l))], [rotation(((3+5)/2,0,0),(0,0,l))]). For a non-linear primitive mechanism, we store its name, its input motion which must be uniform, and its output motion. For instance, the abstract non-linear mechanism corresponding to a crank rocker is represented as: mechanism(crank-rocker( L),
The top-level invocation of the synthesis function is: synthesize(input motion, output motion, null design, depth bound). The base case of the synthesis occurs when the input motion i is equal to the output motion
Subramanian
805
o: this is established by solving arithmetic constraints that are generated when the motions are unified. synthesize(In_motion, Out.motion, Design, Depth) :motion_eq(ln_motion, Out_motion). motion_eq is a predicate testing whether two motion descriptions are equivalent. Its actual implementation depends on the specific motion language. The recursive step of synthesis first involves nondeterministic choice of a primitive mechanism. Suppose a linear primitive mechanism with output motion o p is chosen. The output o p is made equal to the output of the overall mechanism via a rigid transformation T computed by solving the constraint Then, the new synthesis problem is solved, where is the input motion of the primitive after rigid transformation. We can calculate very simply from the type of input motion and the scaling factor that relates the input and output motions of the mechanism. synthesize(In_motion, Out.motion, [(N,R_transform)|Design], Depth) :Depth > 0, mechanism(N, linear(F), P J n j n o t i o n , P_out_motion), transform(P_out_motion, Out.motion, R_transform), linear -apply (R_.transform, F, P_in_motion, NewGoal), synthesize(In_motion, NewGoal, Design, Depth-1). If, however, the primitive mechanism chosen is not linear, the the input and output motion description, i p and o p , have to be provided explicitly. We compute the rigid transformation T by solving the matrix equation Top = o. synthesize(In_motion, Out.motion, [(N,R_transform)|Design], Depth) :Depth 0, mechanism(N, nl, P_In_motion, P.outjnotion), transform(P_out_motion, Out_motion, R.transform), nl_apply(R.transform, P_in_motion, NewGoal), synthesize(In_motion, NewGoal, Design, Depth-1). Consider the problem of designing a windshield wiper introduced in Section 1. The input power is provided by a motor rapidly rotating around the z axis. The wiper oscillates in the yz plane with low frequency. We specify the problem as follows. Capitalized symbols in the descriptions above are variables. The constraints specify ranges on some of the variables.
806
Invited Speakers
designs a n d t h e corresponding refinements of a w i n d shield w i p e r f o u n d by our system include the compos i t i o n of a w o r m - s p u r pair, a slider crank, and a rack and p i n i o n m e c h a n i s m ; as well as a worm-spur, scotchyoke a n d a r a c k - a n d - p i n i o n mechanism. T h i s example shows how the b a c k w a r d chaining process accumulates s i m p l e algebraic constraints w h i c h are solved increment a l l y d u r i n g t h e synthesis. T h e constraint p r o g r a m m i n g language C L P ( R ) [27] is used to i m p l e m e n t the algor i t h m . C L P ( R ) G r a p h i c a l o u t p u t s are produced v i a a n interface t o M a t h e m a t i c a 4 T h e o r e m 2 Algorithm S I S O _ S y n t h e s i z e (i,o)) is s o u n d : i.e, it designs concrete mechanisms that satisfy the qualitative m o t i o n specifications ( Q i , Q 0 ) T h i s theorem can be proven by i n d u c t i o n on the length of the generated s o l u t i o n . T h e worst case complexity of this a l g o r i t h m is e x p o n e n t i a l in the length of the solution p r o d u c e d . T h e w o r s t case b r a n c h i n g factor for the search is a r o u n d 20, corresponding to the number of p r i m i t i v e m o t i o n relations. In practice, the average branching fact o r is m u c h smaller ( a r o u n d 2 for the examples in this paper) because the constraint a c c u m u l a t i o n process is a l e a s t - c o m m i t m e n t strategy t h a t minimizes backtracking in the space of compositions of p r i m i t i v e abstract mechanisms. In other words, we incrementally solve for the r i g i d t r a n s f o r m a t i o n and dimensions of p r i m i t i v e s d u r i n g synthesis. We do not search for t h e m discretely, w h i c h m a y be very t i m e consuming. P u t another way, our constraint-based representation allow us to perform delayed i n s t a n t i a t i o n of parameters. Each search p a t h encodes a whole class of solutions. P r u n i n g or accepting a p a t h involves p r u n i n g or accepting a whole class of sol u t i o n s . T h e a l g o r i t h m synthesizes m a n y of the designs for conversion of u n i f o r m r o t a t i o n to reciprocation in [1] in a few seconds. T h e synthesis of the wiper shown in Figure 1 and its v a r i a n t s was also completed in about t w o seconds on a Sparc 1 + 7.2
Synthesizing single i n p u t , m u l t i p l e o u t p u t mechanisms
M a n y useful mechanisms produce m u l t i p l e o u t p u t s f r o m a single source, e.g., eggbeaters, cars. To design these single i n p u t m u l t i p l e o u t p u t ( S I M O ) mechanisms, w e need to specify a sequence of o u t p u t m o t i o n s . G i v e n i,
a
q u a l i t a t i v e specification of the i n p u t ; a sequence of o u t p u t m o t i o n s , and cons t r a i n t s on i and o's.
F i n d A tree of abstract mechanisms, w h i c h when satisfies the i n p u t - o u t p u t specification.
composed
T h e S I M O synthesis p r o b l e m can be solved by a series of calls to S I S O _ S y n t h e s i z e as in (Table 2). Calls to S I S O - S y n t h e s i z e produce a tree w i t h isolated paths f r o m i to each o j . However, this introduces a lot of r e d u n d a n c y i n the f o r m o f c o m m o n intermediate motions along these p a t h s . The optimization algorithm in T a b l e 2 merges c o m m o n m o t i o n s in the paths: if 4
Mathematica is a trademark of Wolfram Research, Inc.
We now present the class of mechanisms t h a t are synthesizable by these algorithms. Clearly the class is determined by the qualitative m o t i o n description language used, and the set of p r i m i t i v e abstract mechanisms and their associated implementations. For the specific motion language used in our current i m p l e m e n t a t i o n , the class of mechanisms synthesizable are fixed-topology, single-degree of freedom mechanisms w i t h at most one n o n l i n e a r mechanism on each path f r o m the i n p u t to the outputs. The mechanisms we consider thus far are composed of rigid parts. The single-degree-of-freedom restriction applies in our case, because all of our p r i m itive m o t i o n relations have only one degree of freedom. T h e composition of t w o or more mechanisms w i t h single degree of freedom can only produce mechanisms w i t h at most one degree of freedom. Multi-degree of freedom mechanisms can be synthesized by our algebraic technique. T h e restriction on rigid parts obtains because our definitions of motions and mechanisms are grounded in configuration spaces of rigid bodies. By allowing definitions based on generalized configuration spaces, we can allow for some l i m i t e d forms of non-rigidity. T h e restriction on the number of non-linear mechanisms in
Subramanian
807
a design is needed for the correctness of the abstraction A that generates the qualitative motion language. The fixed-topology restriction can be eliminated by having a richer set of primitive relations as well as a richer motion specification language which allows for expression of when and how part contacts are made and broken. A limitation of our current approach is the lack of a component for shape design. If there is no sequence of primitive relations that satisfies the given specification, our method will fail to produce a design. We can integrate the methods of [11] for synthesizing novel shapes into our design system to automatically extend our library of primitive abstract mechanisms.
8
Figure 4: Conceptual Designs for an Eggbeater
808
Invited Speakers
Conclusions
This paper presented a case study of the integration of methods in qualitative physics and constraint programming with general algebraic reasoning with configuration spaces. The design domain studied is that of kinematic synthesis of mechanisms from specifications of input and output motions. Two algorithms were presented that rapidly generate alternate behavioural decompositions and concrete refinements of a mechanism. We also identified the class of mechanisms which can be correctly synthesized within the qualitative framework. We have implemented our method in CLP(R) and all examples discussed in this paper are drawn from our implementation. Our base set of examples are drawn from mechanisms in [19] and [1]. We are presently enriching the language of qualitative motion specifications to handle richer classes of non-linear motions. This will allow us to obtain better coverage over the examples in the compendia listed above. Future work involves extending the set of primitive relations, proving completeness properties for these relations, and integrating mechanism synthesis with multi-domain (including dynamics and optics) designs. There are other approaches to mechanism synthesis that can be profitably combined with the first-principles approaches discussed above. Expert system techniques [26] for synthesizing special classes of mechanisms e.g., cam-follower mechanisms, occupy an interesting middle ground between p re-parametric design schemes which requires high-level qualitative specifications and the numerical optimization packages which require very detailed kinematic specifications. Case-based methods [3, 20] for synthesis of mechanical systems begin with a known library of designs and use the goal specification to index relevant designs. The retrieved designs are modified to meet the given specifications. The algorithm developed here can be used to design indices for the l i brary of designs. This works by running the synthesis algorithm "in reverse" to parse or understand a design in terms of given primitive motion relations. The class of conceptual design tasks that can profit from the integration we have effected are tasks with a significant geometric component. We have developed fast simulation methods for the class of mechanisms that can be synthesized by the algorithms presented here. Space limitations preclude their inclusion in this document; a discussion of simulation methods will be present
i n the t a l k . A l l the physical p r o t o t y p i n g o f the designs presented in this paper were performed using Technics Lego. I n t e g r a t i n g conceptual design systems t h r o u g h detailed design and physical p r o t o t y p i n g in a standard m e d i u m , w i l l be discussed in the t a l k . T h e t a l k w i l l focus on mechanical nano-technology designs because lowdimensional c o n f i g u r a t i o n spaces can be used to reason a b o u t shapes and m o t i o n s in t h a t d o m a i n . C o m p u t a t i o n a l scale issues and our experience w i t h the field testi n g of our tools at X e r o x w i l l also be presented.
References [1] I. A r t o b o l e v s k y . Mechanisms in Modern Engineering Design, vols. 1-4- M I R Publishers, Moscow, 1979. English t r a n s l a t i o n . [2] J. C a g a n and A. A g o g i n o . I n n o v a t i v e design of mechanical structures f r o m first principles. Journal of A r t i f i c i a l I n t e l l i g e n ce in Engineering Design and M a n u f a c t u r i n g , 1(3): 169-189, 1987. [3] K . P . Sycara D. N a v i n c h a n d r a and S. Narasimhan. A t r a n s f o r m a t i o n a l approach to case-based synthe sis. J o u r n a l o f A r t i f i c i a l Intelligence i n Engineering Design and M a n u f a c t u r i n g , 5(2), 1991. [4] B. Faltings. Q u a l i t a t i v e kinematics in mechanisms. A r t i f i c i a l Intelligence, 44:89 119, 1990. [5] S. Finger and J. Rinderle. A t r a n s f o r m a t i o n a l approach to mechanical design using a bond graph grammar. In Proceedings of the 1st A S M E Design Theory and Methodology Conference, Montreal, Canada, 1989. [6] F. Freudenstein and L. D o b r j a n s k y j . On a theory of t y p e synthesis o f mechanisms. A S M E Transactions on Machines and Mechanisms ??, 196?
[7]
F. Freudenstein and M a k i . T h e creation of mechanisms according to k i n e m a t i c structure and function. E n v i r o n m e n t and P l a n n i n g B, 6:375-391, 1979.
[8] F. Freudenstein and L.S. Woo. Kinematic structure of mechanisms. In W.R. Spillers, editor, Basic Questions of Design Theory. North Holland, 1974. [9] J. Rinderle and S. Finger. A synthesis strategy for mechanical devices. Research in Engineering Design, 1:(1), 1989. [10] G. Iyengar, C. Lee and S. Kota. Towards an objective evaluation of alternative designs. In Proc. Design Theory and Methodology, ASME 1992.
[14] S. Kannapan and K. Marshek. Design synthetic reasoning. Technical Report 216, Mechanical Systems and Design, University of Texas at A u s t i n , September 1989. [15] S. K o t a . A qualitative m a t r i x repreentation scheme for the conceptual design of mechanisms. In Proceedings of the A S M E Design A u t o m a t i o n Conference. A S M E , 1990. [16] S. K o t a . Q u a l i t a t i v e m o t i o n synthesis: T o w a r d aut o m a t i n g mechanical systems configuration. In P r o ceedings of the N S F Design and M a n u f a c t u r i n g Systems Conference, pages 77—91, 1990. [17] J.C. Latombe. Robot M o t i o n Planning. Kluwer Academic Publishers, 1991. [18] H. M. Mabie and C. F. Reinholtz. Mechanisms and Dynamics of Machinery, 4th edition. J o h n W i l e y and Sons, 1987. [19] D. Macaulay. The Way Things Work. Mifflin Company, 1988.
Houghton
[20] K.P. Sycara R. G u t t a l J. K o n i n g S. Narasimhan D. Navinchandra. Cadet: A case-based synthesis t o o l for engineering design. I n t e r n a t i o n a l J o u r n a l of Expert Systems, 1991. [21] G. Pahl and W. Bietz. Engineering Design. Design Council, Springer-Verlag, 1984.
The
[22] H.M. Paynter. Analysis and Design of Engineering S y s t e m s ' M I T Press, 1961. [23] M M . Rueleaux. The Kinematics of Machinery. M a c M i l l a n & Co., 1876. Translated by Alex B . W . Kennedy. [24] K. Ulrich. C o m p u t a t i o n and pre-parametric design. Technical Report 1043, M I T A r t i f i c i a l Intelligence Laboratory, J u l y 1988. [25] K. Ulrich and W. Seering. Conceptual design: Synthesis of systems of components. In S. C h a n drasekar C.R. L i u , A. Requicha, editor, Intelligent and Integrated Manufacturing Analysis and Synthesis. A S M E , P E D - V o l 25, 1988. [26] B. Yang U. D a t t a P. Datseris Y. W u . An integrated system for design of mechanisms by an expert syst e m : Domes. A I E D A M , 3(1):53 70, 1989. [27] N. Heintze S. Michaylov P. Stuckey R. Y a p . T h e C L P ( R ) programmer's manual, version 1.1. Technical report, Carnegie-Mellon University and I B M Research, 1991.
[11] L. Joskowicz and S. Addanki. From kinematics to shape: An approach to innovative design. In Proceedings of A A A f - 8 8 , pages 347-352. Morgan Kaufmann, 1974. [12] L. Joskowicz and E. Sacks. Computational kinematics. Artificial Intelligence, 51:381 416, 1991. [13] L. Joskowicz. Mechanism Comparison and Classification for Design. In Artificial Intelligence in Engineering Design, Vol I I , ed. C. Tong and D. Sriram, Academic Press, 1993.
Subramanian
809