Mechanism concept retrieval using configuration space - Springer Link

2 downloads 0 Views 2MB Size Report
for the given input motion and T-V for the intended ... By projecting the timing charts T-U and T-V ...... Kota S. Automatic selection of mechanism designs from a.
Research in EngineeringDesign (1997) 9: 99-111 © 1997Springer-VerlagLondonLimited

Research in

E~gin.eering eslgn

Mechanism Concept Retrieval Using Configuration Space Tamotsu Murakami and Naomasa Nakajima Department of EngineeringSynthesis,The Universityof Tokyo,Tokyo,Japan

Abstract. When designing mechanisms, making use of examples in past designs and handbooks should lead to cost reduction by promoting the sharing of parts and subassemblies among the products as well as reduction of time and effort. At present, however, the process of surveying design examples is left almost entirely to human designers and little computerised aid has been developed. We propose a computerised method of retrieving mechanism concepts from a library by specifying a required behaviour using qualitative configuration ,space as a retrieval index. First, mechanism concepts and their kinematics characteristics are described and stored in a computerised library using qualitative configuration spaces accompanined by additional information such as motion type and motion transmission direction. To retrieve mechanism concepts which realise specific kinematic behaviour, designers specify the required behaviour as timing charts of given input and intended output motions. Motion types, motion transmission direction, and motion speed dependence of the input and output motions can also be specified. Computer programs translate the required timing charts into required locus patterns in motion parameter space, and then available mechanism concepts to realise the behaviour are retrieved based on pattern matching between the qualitative configuration spaces and the locus patterns. The method is implemented as an experimental computer program written in Prolog and applied to simple mechanism design problems as examples to confirm the effectiveness of the approach. Keywords. Computer-aided design; Conceptual design;

Database; Mechanism design; Qualitative configuration space; Spatial reasoning

I. Introduction To design a mechanical product, designers usually identify specific kinematic motions to realise a required behaviour of the product, and then determine the specific shape and structure of a mechanism to realise Correspondence and offprinte requests to: T. Murakami, Dept. of Engineering Synthesis,The University of Tokyo, Hongo 7-3-1, Bunkyo-ku,Tokyo 1t3, Japan.

the motion. In the field of machine design, there are basic and general mechanism concepts widely used in many kinds of machine designs, such as cam and follower, spur gear, internal gear, and ratchet wheel and pawl, as well as rather specific mechanism design examples in past products and handbooks (e.g., [1]). In either case, theoretical/experimental knowledge for synthesis/analysis has already been obtained concerning those mechanism concepts, so designers should, in many cases, consider consciously or unconsciously utilising those mechanism examples to realise an intended behaviour, rather than design brand new mechanisms from scratch. Making use of past mechanism designs should lead not only to reduction of time and effort, but also to cost reduction by promoting the sharing of parts and subassemblies among products. At present, however, the process of surveying mechanism examples in handbooks and past designs is left almost entirely to human designers and little computerised aid has been developed. In this paper, we propose a computerised method of storing mechanism concepts in a library and retrieving them by specifying required behaviour. This should improve the quality of mechanism design as well as reduce the designer's workload, because a computerised tool can examine a large range of mechanism concepts systematically without oversight and objectively without the preconception inherent in human intuition. In our approach, mechanism concepts and their kinematic characteristics are described and stored in a computerised library using configuration spaces. To retrieve the mechanism concepts which reatise specific behaviour, designers specify the required behaviour as timing charts of given input and intended output motions. Computer programs translate the required timing charts into required locus patterns in motion parameter space, and then available mechanism concepts to realise the behaviour are retrieved based on pattern matching between the configuration spaces and the locus patterns.

100

T. Murakami and N. Nakajima (Designer) Required 1 KinematicBehavior [

T

~ Avai.lable |Mechanism Concepts 1

RetrievalProgram

Ii

" % . ...

] ' ~

pl p2 p3 P pl t~2 (a) Notchedwheel and slider

~Cfa " Piston & Crank, m & Follower, [ SpurGear, InternalGear, [ [ [..__Rack & Pinion, Ratchet& Pawl,etc. _...J I MechanismConceptLibrary J ComputerSystem

q2

iiii:i:'ii~i:i:i:i:ii:-~i:-ili.";~i~i~ii~i~!'i:~i!~

Fig. 1. Mechanism concept retrieval system,

;!i!}iii~i:i~£!iiliiiiiiiiiiii!ii!!!i!!ii::' ::!ii!!iiilii!!ii!ii11~ i ~:~S:~:~::~::!£:~:~:~£::" ::::::::::::::::::::::::::::::::::::: i:!:i:!:i;:'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

In the following sections, we will explain details of the method, prototype implementation, and some results of applying the prototype to simple mechanism design problems as examples.

l ql- i.::i,!?!iiiiiiiiiiiiiiiiiiiiiiiii~iiii??iii~iiiii~iiiiii!?;iilll. pt p2"-P (b) Internalgear Q

I !

2. Mechanism Concept Library Figure 1 shows the outline of our mechanism concept retrieval system. The retrieval program searches through the mechanism concept library for mechanism concepts that meet kinetic behavioural conditions specified by designers. The designers should be able to obtain answers to their design problems by utilizing the retrieved mechanism concepts without modification, or to come up with a new design by using them as hints.

[~3"-P

/'ql

qlpl (c) Arm and stopper

~

~

p3 (p6)

p2

p3 P

Q q2 (p5)

2.1. Mechanism Concept and Configuration Space ~il To enable a computer system to retrieve mechanism concepts based on behavioural conditions, we adopt configuration space to describe behavioural characteristics of mechanism concepts. A configuration space is a mathematical space defined in terms of position/ orientation parameters of objects in an actual physical space, and is used to solve engineering problems such as spatial planning [2] and mechanical device analysis [3]. In our research, a configuration space is defined in terms of motion parameters of mechanical components in a mechanism concept [4]. Figures 2(a)-2(f) show examples of mechanism concepts and their configuration spaces, and Fig. 3 shows configuration space description elements (corresponding to Fig. 2(a)). In this paper, we consider two-dimensional (i.e., defined in terms of two parameters) configuration spaces. A point in the space represents a combination of motion parameter values, i.e., a state of the mechanism. An unshaded region is called a free region which

ci2~Q

t~1p2P'3;4P5p; t~7-P

(d) Crank and cross slider

pl p2

ql q2

q4 , ~:~:~~~~.=~~~~ .:~ ~:iii i p3 p4 p -3 iiiiiiiiiiiiiii~ii iiiiiiiii!i::i:ii~!i~:" ; . :;!ii i:i.' ~;!i~:i:.i:i q2 ::::: ===========================

q3 q4 Q pl p2 (e) Joint with gap

p3 p4 P

pl p2 p3 p4 p5 p pl p2 p3 p4 p5P (f) Sliding slopeand slider Fig. 2. Mechanismconcepts and qualitative configurationspaces.

Mechanism Concept Retrieval Using Configuration Space

Q q3/t ........ ~il]:~; *+~:~i:~::-~[!:!I'::II q2 { ~ , ql

Ii!iil

: Free region : Blocked region : : Region boundary .--.--.-,, : Range limit

-7." .... i~ii~:~:~ P pI p2 p3

(a) Descriptionelements

(b) Zero-widthregionsrepresentedas lines Fig. 3. Qualitativeconfigurationand space description. represents a set of possible (i.e., without object overlap) states of the mechanism, while a shaded region is a blocked region which represents a set of impossible states. A solid line segment represents a boundary between free and blocked regions. A chain doubledashed segment represents (upper and lower) range limits of a single parameter. The difference between a boundary and a range limit is that the former represents a constraint on multiple parameters in the form 'f(P, Q)', whereas the latter represents a range of a single parameter in the form 'pmin < P < pmax'. Symbols such as ' p t ' 'p2', 'ql', and 'q2' are constant values of motion parameters representing characteristic position/orientation of mechanism components. Regions of zero width are graphically represented simply as lines in this paper (Fig. 3(b)). Note that the mechanism concept retrieval method described in this paper is intended to be useful in the conceptual design phase where the fundamental direction of the design is decided and possible candidates of mechanism concepts are selected. In conceptual design, behavioural conditions specified by designers should often be simple and qualitative rather than complicated and quantitatively detailed. Therefore, configuration space descriptions in this research are simplified and qualitative in the following senses: - - n o t characteristic constant values but merely relationships between values are considered, --region boundary and range limit segments, which can actually be curves, are approximated as straight segments. For some mechanisms, quantitative conditions need to be considered even at the early stage of design (e.g., a four-bar link works as a rotation-to-rotation converter or as a rocker according to its geometric

t01

condition). To support such a design problem using our qualitative configuration space approach, different behaviours caused by different quantitative conditions should be classified in advance and each of the resulting qualitative configuration spaces is stored in the library.

2.2. Kinematic Behaviour and Configuration Space Since a kinematic behaviour of a mechanism can be viewed as a sequence of transitions between states of the mechanism, a locus of point movements in a configuration space represents the kinematic behaviour. Just as shapes of objects restrict the possible kinematic behaviour of the mechanism in a physical space, shapes of free and blocked regions restrict possible locus patterns in the configuration space. Therefore, we can judge if some mechanism can realise a specific kinematic behaviour in the physical space by checking whether a corresponding locus pattern can be drawn in the configuration space of the mechanism. For this reason, we store qualitative configuration space descriptions in the mechanism concept library and use them as indexes to retrieve mechanisms based on behavioural conditions, as described in Section 4.

2.3. Additional Behavioural Information Description Some necessary information about kinematic behaviour of mechanism concepts is omitted in the qualitative configuration space (free and blocked regions) representation, and different mechanism concepts may have the same qualitative configuration space as described below. This means that a qualitative configuration space alone is not sufficient as a mechanism concept index. In this paper, the following information is described and stored in the mechanism concept library in addition to qualitative configuration spaces.

2.3.1. Motion Type An internal gear (Fig. 2(b)) has two rotation parameters P and Q, while a rack and pinion (Fig. 4(a)) have a rotation parameter P and translation parameter Q. Despite this difference in motion type, however, these two mechanisms have the same simplified and qualitative configuration space as shown in Fig. 2(b). To handle this difference, we introduce labelling motion parameters of qualitative configuration space as 'rotation', 'translation', and 'rotation/translation' (either rotation or translation).

102

T. Murakami and N. Nakajima

Shutter Button

U tu 2 ,

tul

(a) Rack and pinion

v i .......

(b) Worm and wheel

."

Fig. 4. Motion type and transmission direction.

Exposure Lever

2.3.2. Motion Transmission Direction Similarly, in an internal gear (Fig. 2(b)), one of P or Q can be the input motion to the mechanism and then the other becomes the output. In a worm and wheel (Fig. 4(b)), however, motion can be transmitted only when worm (P) is the input and wheel (Q) is the output. Since information about such possible motion transmission directions is not contained in their qualitative configuration space (Fig. 2(b)), we propose labelling motion parameters of qualitative configuration space as 'input', 'output', and 'input/output' (either input or output).

3. Specifying Required Behaviour as Retrieval Condition 3.1. RequiredBehaviour Description With the mechanism concept library explained in Section 2, designers can retrieve mechanism concepts to realise required kinematic behaviour specified in the following way. 3.1.1. Timing Charts of Input and Output Motions In this paper, we define kinematic behaviour of a mechanism so as to generate the output motion from the given input motion. Therefore, a required kinematic behaviour can be described by the input motion given to a mechanism and the output motion which we want the mechanism to generate. In our approach, the input and output motions are described by timing charts. Take the problem of designing a portion of a shutter release mechanism of a disposable camera as an example (Fig. 5(a)). When taking a picture with the camera, the user presses the shutter button. This action must cause the exposure lever to move in a specific manner (and hit the shutter blade to open it quickly to expose the film, though this part of the behaviour is omitted here). By assigning parameters U and V to the shutter button and the exposure lever, and using T for time, designers can

r

tu2

!Rot.

v 1-[.--~," I_Tv tvl tv2 tv3 tv2~ (=tu 1) (=tu2)

(a) Shutter release mechanism (b) Required behavior Fig. 5. Shutter release mechanism retrieval.

qualitatively describe the required kinematic behaviour of the mechanism as the two timing charts (T-U chart for the given input motion and T - V for the intended output) in Fig. 5(b). 3.i.2. Types of Input and Output Motions Although we often need to specify motion types (e.g. rotation, translation) for the input and output motions of a mechanism to describe the design problem properly, motion types are not represented in timing charts T U and T - V in Fig. 5(b). Therefore, we introduce motion type labels 'translation', 'rotation', and '*' (translation/rotation) which can be assigned to motion parameters U and V. As for the design problem in Fig. 5, we specify that the input motion is translation and the output motion should be rotation, as in Fig. 5(b). 3.1.3. Motion Speed Dependence In some mechanisms, speed of the output motion is required to depend on that of the input motion. (In a sewing machine for example, it is necessary that the speed of the motion with which a needle moves up and down depends on the speed with which cloth is fed.) In contrast, in the shutter release design in Fig. 5, the speed of the lever motion during time interval tv2 - tv3 must be independent of that of the button because the film exposure time should not be influenced by the way in which the user is pressing the shutter button. In order to specify if the speed of the output motion should depend on that of the input motion or not, we introduce motion speed dependence labels 'dependent' and 'independent' which can be assigned to time intervals. In this paper, output motion whose speed is specified as independent is depicted as a dashed arrow, as in Fig. 5(b).

Mechanism Concept Retrieval Using Configuration Space

v2

....

103 QI

o~+'+) Compliance ,," (_,+),(0,+) ~ (+,+) '~ _ ~ . . ( + , 0 ) ( - , 0 ) . . ~ - - - ( + , 0 )

!v

~-\ ~ + ' vl ~ - - ~ , i t')l tx;2 tx;3 t'~4"-Tv (=ta I ) (=tu2)

/ ul uu2 uul u'2-U ull ut~2 uql u2 U

(a) Object contact

i ( ): Inpu~

)

(-,-) v (+,-) (0,-)

%

(b) Locus along region boundary

Fig. 7. Locus by object contact. qualitative configuration space representing kinematic behaviour realised by the mechanism.

Fig. 6. Required locus pattern generation. 3.2. Required Locus Pattern Generation By projecting the timing charts T-U and T - V described by designers into two-dimensional U - V space, we can generate a required U- V locus pattern representing the required kinematic behaviour (Fig. 6). We can judge if some mechanism can realise a specific kinematic behaviour in the physical space by comparing U - V space described by designers and P-Q space in the library and checking if a corresponding locus pattern can be drawn in the qualitative configuration space of the mechanism in the manner described in Section 4.

4. Locus Pattern and Qualitative Configuration Space Matching After a required behaviour is represented as a locus pattern, a computerised procedure should examine each qualitative configuration space in a library and attempt to draw the locus pattern in it based on some rules reflecting physical laws to realise kinematic behaviours in a physical space. If the locus pattern can be drawn in some qualitative configuration spaces, then the corresponding mechanism concepts can probably realise the kinematic behaviour in question in a physical space.

4.1. Behaviour Realisation and Locus Type By observing the way mechanisms behave in physical space and by considering the relationship between mechanism behaviour and locus generation in a qualitative configuration space, we find at least the following three types of locus generation in a

4.1.1. Locus alon9 Region Boundary In a physical space, contacts between objects restrict motions and realise a specific kinematic behaviour (Fig. 7(a)). In a qualitative configuration space, this corresponds to a case where a locus is drawn along boundaries between free and blocked regions (Fig. 7(b)). Therefore, we can judge that a mechanism concept can realise the required behaviour by object contact if the required locus pattern can be drawn along region boundaries in its qualitative configuration space (retrieval index). Since we define a kinematic behaviour of a mechanism as generating the output motion from the given input motion, a direction of a locus along a region boundary can be decomposed into input and output components. In Fig. 7(b) for example, a qualitative direction (dP, dQ) of the locus is ( + , - ) , where the input component is ' + ' and output component is ' - ' . This represents the fact that object contact in this mechanism concept generates output motion in the negative direction of motion parameter Q when input motion is given in the positive direction of motion parameter P. Here we consider compliance (realised by gravity or a spring, for example) to ensure object contact in a physical space when the objects are kinematicaUy underconstrained. In a qualitative configuration space, a compliance appears as an effect in which a point drifts in a specific direction as long as it does not conflict with restraint by region boundaries and range limits. Qualitatively, three cases of compliance application for one motion parameter are possible: a positive compliance (a point drifts in the positive direction of the parameter), a negative compliance, and null compliance (i.e., no compliance is applied). As for a two-dimensional qualitative configuration space, nine combinational cases of compliance application are qualitatively possible. Eight arrows and one dot in Fig. 7(b)

104

represent these nine cases. (The dot in the centre represents null compliance.) These arrows indicate point drift directions in a qualitative configuration space. Apparently a compliance direction in a qualitative configuration space can be decomposed into input and output components exactly like locus direction, and we assume that locus generation along a region boundary requires the following conditions on compliance direction. 1. The input motion is given to a mechanism forcibly and it can override compliance. Therefore, the input component of drawn locus direction is determined only by the input motion and does not require any condition on compliance direction. 2. On the other hand, the output component of locus direction is not always determined by only the input motion and thus must be generated by point movement along a region boundary in a qualitative configuration space. This means that the output component of the required locus direction can be generated only when there is a compliance in a specific direction whose output component supports the necessary point movement. In Fig. 7(b) for example, the required locus (a solid arrow) in the direction ( + , - ) can be drawn only when there is a compliance whose direction has ' - ' as the output component. Otherwise, the locus to be generated might be in other directions (as depicted by dashed arrows). Accordingly, from (1) and (2), generating the required locus along the region boundary in Fig. 7(b) requires the existence of compliance in one of the directions shown by three black arrows. With the compliance depicted as five grey arrows and one dot, the required locus cannot be generated. In this way, we check the necessary compliance direction as well as locus generation.

4.1.2. Locus along Range Limit In a physical space, motion of an object may be limited within some range by some kind of limiters (Fig. 8(a)). In a qualitative configuration space, this corresponds to a case where a locus is drawn along range limits (Fig. 8(b)). Therefore, we can judge that a mechanism concept can realise the required behaviour by using a limiter if the required locus pattern can be drawn along range limits in its qualitative configuration space. If a range limit in a qualitative configuration space is used to draw a locus, then the range limit is 'activated' and a timiter needs to be prepared at the corresponding position in a physical space. For a range limit that is

T. Murakami and N, Nakajima

(-')

pl (a) Limiter

p2

:'P

(b) Locus along range limit Fig. 8. Locus by limiter.

not used, no limiter is necessary. Similarly to Section 4.1.1, we check the necessary compliance direction as well as locus generation.

4.1.3. Locus through Free Region In a qualitative configuration space, boundaries and range limits are crucial in characterising kinematic behaviour of mechanism concepts. Therefore, a required locus should basically be drawn along boundaries and range limits, as mentioned in Sections 4.1.1 and 4.1.2. However, there can be an auxiliary case of locus generation. When a contact between objects disappears in a physical space, a sort of compliance can drive the underconstrained object to another position/orientation where a new contact appears, as shown in Fig. 9(a). In a qualitative configuration space, this corresponds to a case where a locus is drawn through a free region, not necessarily along a boundary or range limit (Fig. 9(b)). Thus free regions can be used to complete a required locus, along with boundaries and range limits. Since such a 'leaping' motion of an object is terminated when a new kinematic constraint appears, the end point of the corresponding 'leap' locus segment must be on a boundary or range limit. Therefore, we can judge that a mechanism concept can realise the required behaviour by using 'leaping" motion if the required locus pattern can be drawn through free regions in its qualitative configuration space. Similarly to Section 4.1.1, we check the necessary compliance direction as well as locus generation.

Q --~k

/ :~ii

l

ii::iiiil

o11_q! i_ 4 ....

(a) Leaping motion example

Compliance

.'¢

,,"

(-,+)

!!

(0+) .

(o,-)

Inpu~ -P (b) Locus through free region

Fig. 9. Locus by leaping motion.

(+,+)

Mechanism Concept Retrieval Using Configuration Space

Though a compliance may change its direction at some point in a qualitative configuration space (e.g., a compliance towards one point in the space) in general, the direction of compliance discussed here is assumed to be the same throughout a qualitative configuration space. This means that a locus segment through a free region must be straight. 4.2. Generation of Entire Locus from Segments

The three types of locus generation and conditions on compliance directions described in Section 4.1 concern a single segment as a portion of an entire locus pattern. If a specific locus pattern can be drawn in a qualitative configuration space by some sequence of these three types of locus segments, the corresponding mechanism concept should be able to realise the kinematic behaviour represented by the pattern. In this case, all the conditions on compliance directions are determined by intersecting every condition concerning every locus segment and obtaining the common compliance directions. For example, if the entire locus consists of three locus segments in Figs 7(b), 8(b), and 9(b), the possible compliance directions to draw the entire locus are (0, - ) and ( + , - ) . If the intersection has no element, it means that no compliance direction can support generation of all locus segments simultaneously and that generation of the entire locus is impossible. In our method, a designer specifies a kinematic behaviour to be realised as a locus pattern in a two-dimensional parameter space. Since the definition of coordinates by a designer may be different from that of qualitative configuration spaces stored in a library, the designer uses parameters U and V to specify the locus pattern, as in Figs 5 and 6, whereas parameters P and Q are used for stored qualitative configuration spaces, as in Fig. 2. In a pattern matching process between a U-V space and a P-Q space, two spaces should be compared in four ways (combination of exchanging P and Q axes and flipping P-Q space along P and Q axes), as shown in Fig. 10(a). For a locus segment along a region boundary or a range limit, there are four combinational cases of relationships between positions of locus end points and boundary/limit segments, as in Fig. 10(b). For a locus segment through a free region, a locus segment in a specific direction can be drawn qualitatively in at most three ways based on the way in which the locus end point is placed on a segment, as shown in Fig. 10(c). When the generation of the entire locus from segments is examined, all of these possibilities should be considered.

105

vltS

P

Q

U U U U (a) Library (P-Q) and designer (U-V) space matching

(b) Locus along segment

(+, -)

(c) Locus onto segment Fig. 10. Qualitative case variations.

4.3. Additional Condition Check

Among the information specified by designers as retrieval conditions, required locus pattern (Fig. 6) is compared with retrieval index (qualitative configuration space, Fig. 2) by the process mentioned above. For checking the other conditions as described in Sections 3.1.2 and 3.1.3, however, we require additional processes. To check conditions on motion type and motion transmission direction, labels attached to parameters U and V by a designer (Section 3.1.2) are compared with labels attached to parameters P and Q of qualitative configuration space stored in a library. For motion speed dependence (Section 3.1.3), we assume the following: 1. Output motion speed depends on input motion speed when the locus segment is drawn along a region boundary neither of whose input or output component is '0' (Fig. 7). (If either input or output component is '0', the boundary segment in Fig. 7 is vertical or horizontal, and along this segment input motion speed cannot influence output motion speed.) 2. Output motion speed can be independent of input motion speed when the locus segment is drawn along a region boundary or a range limit, either one of whose input or output components is '0' (Fig. 8), or through a free region (Fig. 9). Based on these assumptions, the motion speed dependence condition is checked by identifying the locus segment generation type described in Section 4.1.

5. Implementation and Examples We have implemented the mechanism concept library and the behaviour-based retrieval method in a

106

T. Murakami and N. Nakajima MechanismConcepts mechanismName: configurationSpace:parameterSpecPQ: bitmapFile: mechanismName: configurationSpaceJ mechanismName: ~ configurationSpace:,

Qualitative ConfigurationSpaces configurationSpaceName: constantsP: constantsQ: relationsP: relationsQ: pointsPQ: segmentsPQ: configurationSpaceName:

Fig. 11. Separated data of mechanism concept and qualitative configuration space. prototype system. Since the method is basically a search problem based on pattern matching, the software is written in Prolog and X window system interface [-5].

5.1. Mechanism Concept Library Since different mechanism concepts may have the same qualitative configuration space as mentioned in Section 2.3, mechanism concept data and qualitative configuration space data are described separately and linked by pointers (Fig. 11). This enables us to avoid redundancy of qualitative configuration space data and makes it easy to maintain consistency of the library. Currently 21 mechanism concepts and 14 qualitative configuration spaces are stored in the library. Since mechanism concept data are stored in a text file separated from other parts (e.g., retrieval, window drawing) of the program, new data can easily be added if necessary with only a limited knowledge of Prolog sufficient to understand the format as in Figs 12 and 13.

5.1.1. Mechanism Concept Data Figure 12 shows mechanism concept data of rack-pinion and worm-wheel (Fig. 4) described in

configurationSpaceName( latchedMotion,"LatchedMotion"). constantsP( latchedMotion,[pl, p2, p31). constantsQ( latchedMotion,Iql, q2, q31). relationsP( latchedMotion, Ilpl, p2, +t, lp2, p3, +IlL relationsQ( latchedMotion, l[ql, q2, +1, lfl2~q3, +ll)pointsPQ( latchedMotion, t point(l, p2, q3),point(2, p2, q2), poim(3, pl, q2),polnt(4, p2, ql), point(5, p3, ql), point(6, p3, q3)|). segmentsPQ( latchedMotion, I segment(l, 2, region,boundary), segment(2, 3, none,boundary), segment(2, 4, region,boundary), seg'ment(4,5, region,limit), segment(5, 6, region,limit), segment(6, 1, region, limit)l). Fig. 13. Qualitative configurationspace data.

Prolog. The predicate 'mechanismName' declares the name of each mechanism concept. Here two mechanism concepts share one qualitative configuration space because predicates 'configurationSpace' of both specify the same qualitative configuration space name 'increase'. The predicate 'parameterSpecPQ' describes motion types and possible motion transmission directions for parameters P and Q. The first 'parameterSpecPQ' of'rackAndPinion' indicates that P is the input and Q is the output, and that P is translation and Q is rotation, while the second one indicates that it is possible that P is the output and Q is the input. Since 'wormAndWheel' can transmit motion in only one way, it has only one 'parameterSpecPQ' predicate, The predicate 'bitmapFile' specifies a bitmap data file name to draw a figure of the mechanism concept. Additional information for a more detailed description of the mechanism concept, such as relative directions of rotation axes in 3-D space which distinguish between an internal gear and a worm and wheel, will be supplemented to this part of the data.

5.1.2. Qualitative Configuration Space Data mechanismName( rackAndPinion, configurationSpace(rackAndPinion, parameterSpeePQ( rackAndPinion, parameterSpecPQ( rackAndPinion, bitmapFile( rackAndPinion,

"Rack& Pinion"). increase). iin, out], [rot, transl). [out,in], [rot, trans]). *RackPinion.bw').

mechanismName( wormAndWheel, "Worm& Wheel"). configurationSpace( wormAndWheel, increase). parameterSpecPQ( wormAndWheel, [in, out], lrot, rot]). bitmapFile( wormAndWheel, 'WormWheel.bw'). Fig. 12. Mechanismconcept data.

Figure 13 shows a Prolog description of qualitative configuration space corresponding to Fig. 3(a) as an example. Here region boundaries, range limits, and free/blocked regions are represented as a kind of two-dimensional boundary representation used in the field of geometric modeling. The predicate 'configurationSpaceName' declares a symbol and a string for the qualitative configuration space name. Predicates 'constants...' declare constants describing parameters P and Q, and then 'relations...' declare relationships between the constant values (e.g.,

Mechanism Concept Retrieval Using Configuration Space

' [p 1, p2, + ]' means p 1 < p2). The predicate'pointsPQ' declares points in the P-Q space, and 'segmentsPQ' declares boundary and range limit segments between two points. For example, 'segment(l, 2, region, boundary)' means that there is a boundary segment beginning at point t and ending at point 2, which has a free region on its left side (and a blocked region on its fight side). Although a boundary segment is normally accompanied by free and blocked regions, a special boundary segment without regions can be used ('none' is specified instead of 'region') in this work to represent a free region with zero width. This reduces the number of combinational cases in a pattern matching process. 5.2. Example 1: Mechanism for Shutter Release With the implemented system, we attempted to retrieve possible mechanisms for shutter release behaviour (Fig. 5). 5.2.1. Required Behaviour Specification First, we described timing charts representing the required behaviour in a form of text file (Fig. 14). The predicate 'behaviourName' declares a symbol and a string for the behaviour name. Predicates 'constants...' declare necessary constant values describing parameters U, V, and T to define timing charts. Predicates 'relations...' declare relationships between the constant values. Predicates 'pointsUT' and 'pointsVT' declare points in the T-U and T - V spaces. The predicate 'inputParameter' declares which of U or V is the input motion. The predicate 'motionTypeUV' specifies motion types for U and V. (In this case, translation for U and rotation for V.) behaviorName( constantsU( constantsV( constantsTu( constantsTv( relationsU( relationsV( relationsTu( retationsTv( relationsTuTv( pointsUT( pointsVT(

inputParameter( motionTypeUV( motionRelation(

shutterRelease, "Shutter Release"). shutterRelease, [ul, u21). shutterRelease, [vl, v21). shutterRelease, [tul, tu2]). shutterRelease, [tvl, tv2, tv3, tv4]). shutterRelease, lul, u2, +]). shutterRelease, [vl, v2, +]). shutterRelease, [tul, tu2, +1). shutterRelease, [ltvl, tv2, +1, Itv2, tv3, +l, [tv3, tv4, +]l). shutterRelease, Iltul, tvl, =1, [tu2, tv4, =1]). shutterRelease, [point(t, u2, tul), point(2, ul, tu2)]). shutterRelease, I point(l, vl, tvl), point(2, vl, tv2), point(3, v2, tv3), point(4, v2, tv4)]). shutterRelease, 'U'). shutterRelease, {trans, rot]). shutterRelease, [[tv2, tv3, indl]).

Fig. 14. Required behaviour specification.

107

The predicate 'motionRelation' is used to specify whether the output motion speed should be dependent on or independent of the input motion speed. In this case we specified that the output motion should be independent of the input during T = tv2 and tv3. 5.2.2. Retrieved Answers for Shutter Release Figure 15 shows the screen display of the retrieval system. First, the system read the required behaviour file and graphically displayed the retrieval condition (as shown in a window on the left in Fig. 15), then it generated the required locus pattern in U V space from two timing charts T-U and T-V. In this case, the system generated a locus pattern in which a point moves in the qualitative direction ( - , 0), then ( - , + ), and finally ( - , 0), as in Fig. 6. (In the figure, ' u u l ' and 'uu2' are symbols inserted by the system.) Then the system examined each mechanism concept and qualitative configuration space in the library and checked whether they can generate the required locus pattern and satisfy conditions of motion type, motion transmission direction, and motion speed dependence in the manner explained in Section 4. Once a possible mechanism concept was retrieved, its image and qualitative configuration space were graphically displayed (as shown in two windows on the right in Fig. 15). Figure 16(a) shows the retrieved answer. This figure indicates that a qualitative configuration space in Fig. 2(a) can generate the locus pattern. Three black arrows mean that compliance in one of these directions is necessary to draw the locus. Since a part of the locus is drawn along a range limit at Q = ql, we find that some limiter is necessary at Q = ql in a physical space. The displayed image and these results hint that the mechanism concept 'notched wheel and slider' in Fig. 2(a) can possibly be used for the shutter release mechanism in question, provided the following: 1. the slider and the wheel are used as the shutter button and the exposure lever in Fig. 5(a). 2. a compliance, by a spring for example, is realised about the wheel in the negative direction of parameter Q, 3. a limiter is prepared at Q = ql. Although another mechanism concept, 'arm and stopper' in Fig. 2(c), can generate the same locus pattern as in Fig. 16(b), it was rejected because it does not satisfy the condition of motion types that the input is translation and the output is rotation. The retrieval time required to obtain all possible answers was about 3 seconds. Note that this system gives a designer only hints of

108

T. M u r a k a m i a n d N. N a k a j i m a

Shutter Release

1| ConfigmalionSp~ce:

eorapli~inces

\ t",,s~ / ....

[l-arls

•~

Ul

~ ...............................

tul

tvl

w2

tv3

T

,

tu2

Notched Wheel& Slider

I ,

tv4

Fig. 15. Screen of p r o t o t y p e system.

pl p2 p3

V

q

"~! . . . . ~. . . . ~

u'l p3

uu2 uul p2

•=;============

u2pl

(a) Retrievedsolutionusing notched-wheeland slider

'i !'.. ill "~',,q2

ul p3

uu2 uul p2

u2 pl

(b) Rejected solution using arm and stopper Fig. 16. Retrieved s o l u t i o n examples.

how to use which mechanism concept, not complete design results, and it remains up to the designer to determine a three-dimensional configuration of the mechanism concept in a physical space. For example, a designer may have to change the configuration of two rotation axes of the slider and wheel and to consider how to embody limiter to stop rotation of the wheel. 5.3. Example 2: Mechanism in Sewing Machine

Similarly, we tried retrieving a mechanism concept for a sewing machine. The given input to the mechanism

is the feed of cloth, and the intended output is the reciprocation of a needle. The speed of the needle motion must depend on cloth feed speed so that the pitch of sewing is constant. The required behaviour was specified by timing charts in Fig. 17(a), where U is the input and V is the output. The system derived the required locus pattern in Fig. 17(b) and searched the library for mechanism concepts to generate it. Figures 17(c) and 17(d) are examples of retrieved answers corresponding to mechanism concepts in Figs 2(d) and 2(t), respectively. Though Fig. 17(e) generates a similar locus pattern to Fig. 17(d), it was rejected because it contains a leaping motion (dashed arrow in the figure) which means that the speed of needle motion is independent of cloth feed speed and conditions on motion speed dependence are not satisfied. The retrieval time required to obtain all possible answers was about 5 seconds. In the field of machine design, the same kinematic behaviour can generally be realised based on many mechanism concepts. Thus it is important to examine as many possibilities as possible during a conceptual design stage to achieve a better solution, because decisions at this stage can determine the direction of consequent design activities. With our experimental program, we found that different mechanism concepts in the library may realise similar kinematic behaviours (e.g., Figs 16(a) and 16(b), Figs 17(c) and 17(d)) and that a mechanism concept can be used in different ways (e.g., Figs 17(d) and 17(e)). These findings show the effectiveness of our approach because it enables us to examine a large range of mechanism concepts systematically without oversight and objectively without the preconceptions of human intuition.

Mechanism Concept Retrieval Using Configuration Space

V

uA/

........

iv~

tu I

V

tu2

ul uul UU2u'u3 u -

iilA:ras

(b) Required locus pattern

tvl t~2 tv3 t