Expert Systems with Applications, Vol. 12, No. 1, pp. 21-35, 1997 Copyright © 1997 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0957-4174/97 $17.00+0.00
Pergamon PIh S0957-4174(96)00077-2
Intelligent Electronic Mock-Up for Concurrent Design K. BECHKOUM ~ De Montfort University, School of Computing Sciences, Department of Computer and Information Sciences, Kents Hill, Hammerwood Gate, Milton Keynes MK7 6HP, UK
Abstract--As part of a European collaborative research project, which aims at identifying the advanced communications requirements to support concurrent engineering design, an Intelligent Mismatch Control System (IMCS) was developed to automatically identify mismatches of geometric nature during the integration phase of a distributed collaborative design process. The IMCS is a knowledge-based software module which uses a commercial CAD system (Parasolid), as the core geometric modeller, to detect any potential geometric irregularities in the design and suggest a modification proposal to modify them. The system was recently demonstrated across a European broadband telecommunications network which linked four sites: Aerospatiale--Cannes (France); ONERA--Paris (France); BT Labs (UK) and Cranfield University (UK). The IMCS was invoked remotely (from Paris) using a mullet-agent approach. The demonstration was attended by a wide cross-section of potential users from the European Aerospace industry, and initial feedbacks suggest that the IMCS was well received as a powerful tool that will have an important contribution to the success of distributed design using advanced communication systems. Copyright © 1997 Elsevier Science Ltd
aerospace industry. The project aims at identifying the required services for an effective trans-European broadband communication system for collaborative design. To achieve this aim, the project set itself the goal of designing a simplified satellite as a representative collaborative design project. Different components of the satellite are assumed to be the responsibility of different collaborating partners. The project has developed an experimental application to demonstrate the role of advanced communications technology in concurrent engineering design. In addition to advanced communications requirements, the user group of the EDID project have expressed a clearly defined need for a software function to support digital pre-assembly (DPA). The scenario envisaged is that the collaborating partners will design the components of the satellite concurrently at various geographical locations (across Europe), using different CAD/CAE (Computer Aided Design/Computer Aided Engineering) systems. The DPA software brings together components of the satellite model from different collaborators and checks whether the components of the assembly fit together in a consistent way--for example, there must be no unwanted interferences or contacts between components, and mating components must be correctly aligned. An Intelligent Mismatch Control System (IMCS) was designed to identify and rectify such mismatches at the earliest possible stage of the develop-
1. INTRODUCTION THE EUROPEAN AEROSPACE INDUSTRY has
spawned several successful and well known projects in recent years. Collaborating partners are distributed over many sites in several different countries and scientists and engineers must work effectively together to produce designs acceptable to all. The use of advanced communication technology, such as high speed networks and interactive mullet-media, promise to deliver considerable savings in terms of time and travel costs to distributed cooperative design. Designers, from different countries, can work together, concurrently, while staying in their offices. Research into using Knowledge Engineering design is now becoming widely accepted as a fast growing subfield of AI research with increasing numbers of research groups active within it (see the work presented in Akman et al., 1990; Charel et al., 1994; Ohsuga, 1989 and Smithers, 1989). As part of the European RACE programme (Research for Advanced Communications in Europe), EDID [Environment for Distributed Integrated Design, see Appendix A or reference (EDID, 1995) for further details] is a consortium-based research project which addresses the field of distributed collaborative design in the European
t Previously Senior Reseach Officer at Cranfield University, Bedfordshire, UK.
21
22
K. Bechkoum
ment cycle. This paper presents the approach adopted and the techniques used for the development of the system in the EDID context. The next section gives an overview of the system and its functionalities. Section 3 describes the knowledge elicitation process during which a series of interviews, with a number of European design engineers, was used to extract the information and design knowledge needed for the development of the system. The reasoning mechanisms used and the algorithms developed are briefly highlighted in Section 4. Section 5 explains how intelligent agents were used to activate the system remotely and electronically. A walk-through example is given in Section 6 to illustrate the functionalities of the system. Concluding remarks and suggestions for further work are to be found in Section 7. 2. INTELLIGENT MISMATCH CONTROL While most current CAD/CAE systems offer facilities for detecting interferences and, sometimes, misalignments between ideally-sized and ideally-located components, they cannot analyse or predict the impact of a modification in size, shape or location. Commercial systems such as CATIA (developed by Dassault Systemes) and I-DEAS (developed by SDRC) do provide facilities for DPA and fit analysis in a part assembly, but their approaches are more directed towards the analysis of tolerances on even very complex assemblies. Such systems often require the use of separate analysis models to converge eventually to an optimal design. A good summary of previous work in this area can be found in Shalon et al. (1992). The IMCS, presented here, is an intelligent knowledge-based software module designed to identify mismatches of a geometric nature during the integration phase of a distributed design process. To focus the minds, satellite design is chosen as an application. The software is more directed towards dealing with mismatches that may occur as a result of a design modification. In other words, it is assumed that the initial design assembly has already been validated and electronic formats of the different CAD components, which make up the satellite model, are available. It is often the case though, that after the initial integration is completed and validated one of the collaborators emerges with a design modification. In this context, the IMCS is used to examine the feasibility and consistency of the proposed change. The system is then able to suggest a modification proposal to resolve any detected mismatches. The IMCS is built around a commercial CAD/CAE software namely Parasolid (EDS Unigraphics). The system imports the satellite's component models into Parasolid using the French data exchange standard SET (Standard d'Echange et de Transfert) and rebuilds the assembly model (of the satellite) using the Parasolid engine. Note that the satellite components have been
designed using different CAD systems which, in this case, are CATIA and CADDS5 (developed by Computervision). For each of the satellite components affected by the modification, the IMCS checks for the following: • mass properties differing from requirements; • volume interference, unwanted contacts and clearance violation; • mismatches between interfacing components, e.g. when a pin is too large for its hole or is positioned in an incorrect orientation. In addition to pulling different CAD models (in their SET formats) into Parasolid, the IMCS required two major developments: a kind of feature-based representation of the components' CAD models and a Knowledge-Based System (KBS). The feature-based representation acts as an intermediate data structure in which the CAD models are stored in terms of form features and their spatial relationships. The Parasolid Kernel Interface is used for the extraction of features from the CAD models. This intermediate representation aims at making the KBS completely independent of the CAD system used. The KBS comprises three elements: (1) the knowledge base which contains facts, heuristics and algorithms about the different features of the model and the way they are connected to each other as well as a description of mismatch types; (2) an inferencing mechanism which controls the reasoning leading to the detection of mismatches; and (3) an explanation facility to explain the nature of the mismatch and how it can be resolved. An outline architecture of the system is shown in Fig. 1. 3. KNOWLEDGE ELICITATION FOR THE IMCS A series of focused interviews with design engineers, from Aerospatiale--Cannes (South of France) and the college of Aeronautics at Cranfield University (England), were organized to capture the knowlegde and expertise needed for the development of the IMCS. During these interviews, emphasis was on the following aspects of the task: (1) What is the current method of working in a collaborative distributed design process and in what format are the designed components delivered to the integration centre? (2) How is the process of mismatch detection carried out? What sort of knowledge is used to detect the mismatch and correct it? (3) Are there any specific mismatch cases that cause more problems than others? 3.1. The ICD Server The answer to the first question is important to understand the context and the format in which compo-
Intelligent Electronic Mock- Up for Concurrent Design
23
Feature Recognition & Extraction
FEATUREBASED REPRESENT.
HEURISTICS & ALGORITHMS
t i
\
Zc3.q j
FIGURE 1. Outline architecture of the IMCS.
nents are given to the IMCS for mismatch checking. The concept of ICD, Interface Control Document, is used as a means for managing satellite components. The paperbased ICD contains all the technical data and contractual documents produced during the satellite design project. An electronic format of the ICD was recently developed according to Aerospatiale's specifications in the form of a processor based upon a database software. One of the electronic ICD's functionalities is the ability to store, retrieve and interactively manipulate 3D CAD models. These models can then be transferred, in neutral format (currently SET), between the different sites involved in the design project. The above way of working plays a central role in dictating the scenario to adopt for mismatch control. In fact, it has then become clear that the Mismatch Control Module needs to be able to process CAD data in neutral format (SET for the purpose of the EDID project). On the other hand, there should be no restriction on the modelling technique used for designing each of the CAD models. The satellite components can be modelled using a feature-based design technique, they can be represented in a Constructive Solid Geometry (CSG) scheme or a Boundary Representation or any other solid modelling representation scheme, they could have been designed using CATIA, CADDS5 or any other CAD system. The message which came accross during the investigation of this particular aspect of the task is that this "modelling freedom" should not be affected by the new system. The intermediate feature-based representation outlined above was included in the IMCS as a response to this "modelling freedom" requirement.
3.2. Modification Impact Analysis One important feature which came out during the knowledge elicitation process is that concern is more about detecting potential mismatches which may arise as a result of a design modification, rather than during the first integration. In other words, there is a need for an automatic mismatch detection system to be launched following a request for a design modification in an already completed (hence validated) satellite model. The modification can be a change in the mass property or any other geometric modelling modification. The system should be able to examine the feasibility and consistency of the proposed modification by checking if it leads to a problem. 3.3. The Use of Heuristics in Mismatch Detection The major hurdle in the knowledge elicitation phase was the judgemental character of the process of detecting irregularities in the design. The difficulty stems from the fact that the knowledge used is not based on a step by step series of actions to follow. It is an embodiment of rules of thumb, underlying ideas, concepts and theories which design engineers have grown familiar with to the extent that they cannot always explain the path of reasoning which led them to detect a given mismatch. One engineer from Aerospatiale, when asked about whether they follow a set procedure to identify a particular mismatch, he replied by saying: "Generally, we do it by simply looking at the drawings of the models in front of us!". Evidently, representing this sort of statement in a computerized form is not an obvious task.
24
K. Bechkoum
Therefore, the question was approached from a different angle by focusing on the types of mismatches that are causing problems.
3.4. Mismatch Types: A Broad Classification The assumption can be made that the effectiveness of any mismatch control strategy depends greatly on how well defined the mismatches are. During the knowledge elicitation phase and after several interviews with the design engineers of the project's user group, several mismatch types have been identified as being the ones causing serious difficulties following a request for a modification in a distributed design. These mismatches have been classified into three main categories as follows.
3.4.1. Inconsistencies in Mass Properties. This type of mismatch includes discrepancies in mass and other related properties of geometric entities such as edges, faces, wire bodies, sheet bodies, solid bodies or assemblies. As a result of a design modification an inconsistency may occur in any one of the following: • size of periphery of entity (circumference/surface area) • size of entity (length/area/surface area/volume) • mass • centre of gravity • inertia tensor at the centre of gravity.
3.4.2. Interference~Proximity Mismatch. Due to the project's time scale this class of mismatch types does not consider the case of dynamic (i.e. mobile) parts. It is assumed that all components are motion-free. Beating this assumption in mind, the following cases of interference/proximity have been identified:
identified within this category: Type 1: pin connections. The important feature in this class are the holes for the pins and screws. These need to be checked for orientation, position and radius size. Typical examples of pin connections include the plate joint (Fig. 2) and the pin joint (Fig. 3). Type 2: adhesive (including weld) connections. For this type of connection the topology and dimensions of corresponding parts must be compatible in order for adhesion to take place. This will give some indication of how the parts are to be assembled. Figure 4 illustrates examples of adhesive or weld connections. Type 3: fit connections. The topology and dimensions of corresponding parts must again be compatible for parts which are to fit together. Examples of a fit connection are shown in Fig. 5 [snap fit, screw fit and mated fit (dovetail)]. According to Aerospatiale's engineers (Guillemenot, 1993), pin connections seem to be widely viewed as one of the major sources of concern in mismatch detection. The number of holes and their corresponding screws and pins can be so high that it becomes very difficult to identify all the irregularities by "simply looking at the drawings!". This type of connection has therefore been selected for implementation in the Mismatch Control Software as a representative of this class of mismatch types. As part of the knowledge elicitation process an initial prototype of the software was developed using an expert system shell, namely Crystal. The prototype was a convenient means to get a good and quick start with the development of the complete system as well as receiving feedback from potential users and domain experts.
4. REASONING ABOUT M I S M A T C H E S The reasoning mechanism used for the detection and/or resolution of any mismatch is greatly dependent on the class to which the mismatch belongs. In the case of a mass modification, the geometric models of all the parts
• volume interference amongst stationary parts • unwanted contacts • clearance violations.
[• ...
3.4.3. Impossible Connections Amongst Interacting Components. Three types of connections have been
D
0
0
0
0
0
0
0
0
0
0
0
0
FIGURE 2. Plate joint.
/
Intelligent Electronic Mock-Upfor Concurrent Design
25
FIGURE 3. Pin joint.
that form the complete assembly are collected. The modified part is identified and its mass is compared to the mass of the original part to ensure that the difference is not outside the allowable limits. For this purpose, the mass properties information is made available to the IMCS Reasoner by a series of calls to the Parasolid's Kernel Interface Routines. As for interference mismatches and cases of impossible connections amongst interacting components, new algorithms and heuristics have been developed and added to the knowledge-based system of the IMCS. A fairly high level description of these algorithms and heuristics is given below.
Y Examplel
/ J
/
/ Example2
FIGURE 4. Adhesive and weld joint.
4.1. Interference/Proximity Checking In order to check for any volume interference, contact or distance mismatch a Static Interference Checking algorithm (SIC) has been developed. Instead of using the computationally expensive Boolean operator provided by Parasolid, SIC uses an octree decomposition technique to avoid the unnecessary burden of required computations for finding intersection volumes. A Boolean function is used which merely checks if, at any level of the octree decomposition process, an octant is occupied by both objects. In addition to being computationally less demanding, in terms of CPU requirements, the octrees alternative offers an additional bonus by providing information about how close the objects are from one another when they do not interfere. In other words, executing the algorithm once suffices to check for any volume interference, unwanted contacts and incorrect distances. Octrees are a special case of the well known cellular subdivision representation whereby a 3D object is represented by the list of the cells it occupies. The representation is obtained by recursively subdividing a cubic space enclosing the object into eight octants. Each octant may be subject to further subdivisions depending on whether it is full, empty or partial. An octant is full if it lies entirely inside the object and is empty if it lies entirely outside and will be partial in the remaining cases where it contains part of the object boundary. Further subdivisions are only carried out upon partial octants, until all cells are empty or full, or a specified degree of resolution is reached. The result of the subdivision process is represented by a tree whose nodes are either leaves or have eight children, as shown in Fig. 6. This hierarchical tree structure was proposed by
26
K. Bechkoum
~
//////// ////////I
Screw fit
////////
11
Mated frt (dovetail)
FIGURE 5. Examples of fit connections.
Jackins and Tanimoto (1980) and extensively studied by Doctor and Torborg (1981), Meagher (1982), Fujimura (1983), Yamaguchi (1984) and many other researchers who developed good algorithms for displaying objects and performing geometrical operations. Applications of these algorithms are found in geometric set operations (Ayala, 1988; Carlbom, 1987) but more frequently in mesh generation (Yerry & Shephard, 1990) and in robotics for path planning and collision detection (Ahuja et al., 1980; Bechkoum, 1990). In this work, octrees have been used for static interference checking as an alternative to the computa-
tionally expensive Boolean operator provided by most solid modelling systems. The principle of the method employed for static interference checking is very straightforward. The general scheme of the algorithm can be summarized as follows: ALGORITHM STATIC INTERFERENCE CHECKING BEGIN # Enclose Component 1 and Component 2 with Block 1 and Block 2 respectively; IF Block 1 AND Block 2 interfere
(a)
(b)
15
5
6
7
8
9
10
11
12
(c) FIGURE 6. (a) Example of a 3D object; (b) its octree block decomposition (c) its tree representation.
Intelligent Electronic Mock-Upfor Concurrent Design
THEN BEGIN Determine CZ the Common Zone between Block 1 and Block 2; Determine the root node of the octree, which is defined as the smallest cubical cell circumscribing CZ; Carry out a recursive cellular subdivision of the root node w.r.t, to Component 1 and Component 2, and check if at any level of the subdivision there exists an octant occupied by both components; Report about collisions;
END ELSE "Components Do Not Interfere";
END. Given two solid components A and B at their fixed positions, the first step is to determine the initial cubical cell (the root node of the subdivision) which contains both A and B. Using the boxing operation provided by Parasolid, this cubical cell can be easily obtained by enclosing A and B with the same block, whose maxima and minima are utilized to define the initial octant. To cut down the computation time, an initial test is first carried out to check for interference between the two smaller blocks enclosing each object separately. If these two blocks interfere, the block of interference is readily obtained. Henceforth, this block of interference will be referred to as the Common Zone (CZ). The root node of the octree is then defined as the smallest cube containing CZ. Therefore, many parts from both A and B may not be contained by the initial cubical cell thus defined. That is simply because they happen to be out of the potential area of interference which is delimited by CZ. Once the initial cubical cell is defined, the next step is to decompose it into octants, and check if there exists an octant which is shared by both objects. Such an octant would exist in one of the following cases: (i) there exists at least one octant marked Full with respect to two different components (ii) there exists at least one octant marked Full with respect to component A and Partial with respect to component B, or vice-versa. (iii) there exists at least one octant marked Full with respect to component A, adjacent to another octant marked Full with respect to component B. If none of these three cases occurs, a further subdivision might be necessary to decide about the existence of a volume interference. This would be necessary if and only if, at the current level of decomposition: (iv) there exists at least one octant marked Partial with respect to the two components Now, if this fourth condition is also not satisfied, there is
27 no volume interference amongst the components being processed and the process of decomposition is terminated. The length of the edge of octants at the lowest level of resolution reached is then used to define the minimum distance separating both components. The models used to demonstrate the method's efficiency are assumed to have been designed using a CSG (Constructive Solid Geometry) representation. A cellular subdivision algorithm was then needed to convert these CSG models to their corresponding octree models. The main difficulty of this cellular subdivision algorithm lies in the classification of octants. That is to determine whether an octant is Full, Partial or Empty with respect to the solids involved. In order to simplify the problem octants are first classified with respect to each of the primitive shapes constituting the solid, a primitive shape, in this case, being either a block, a cylinder, a sphere, a cone or a torus. The resulting classifications are then combined to define the octant status with respect to the whole object. The method used to classify a cubical cell with respect to any of the above-mentioned primitive shapes is briefly highlighted below. The idea is to shrink the cubical cell to a point then compress and expand the primitive shape accordingly. The cubical cell is marked Full if the point is enclosed by the compressed version of the primitive shape; it will be marked Empty if the point lies outside the expanded version of the primitive shape and will be marked Partial otherwise. The implementation of this method in the Static Interference Checking algorithm required solving two additional problems. The first problem is to determine offsets (expanded and compressed versions) of the primitive shapes while the second one is to determine whether a specified Cartesian point is interior or exterior to an object (a point enclosure problem). For clarity and space constraints, the techniques used to solve both problems will form part of a separate publication which is in preparation. After being thoroughly tested, the implementation of the SIC algorithm has proved satisfactory. Examples of the cases used to carry out the initial tests are shown in Fig. 7. These examples illustrate some of the extreme cases where the octree subdivision process has to reach the lowest level of resolution before a conclusion can be made. The algorithm requires fewer levels of subdivision when the objects share a considerable volume of space. The bigger the common volume is the less subdivision levels are required, to the exception of the special case when the objects are far apart from one another. In the latter case no subdivisions are required to conclude that the objects do not interfere.
4.2. Checking for Impossible Connections Amongst Interacting Components As mentioned earlier (Section 3), by far the most common type of connection used by Aerospatiale is the
28
K. Bechkoum
(b) Objects Sharing One Edge. (a) Objects Sharing One Vertex.
i v¢ ,i',\
(C) Objects Sharing One Face.
(d) One Object Going Through a Hole of the other (No Interference Reported)
FIGURE 7. Examples of interference cases successfully reported by the SIC algorithm.
plate joint. Hence the current version of the IMCS focuses more specifically on these types of connections. First, the holes are identified for each of the parts. To locate a hole the program initially identifies any internal curved surfaces. If the edges of the curved surfaces are either circular or elliptical loops, then a hole is identified. All the relevant information concerning the hole such as size, position and orientation are extracted (using Parasolid Kernel Interface routines) and stored. Once all the holes have been identified, for all the different parts, the process of hole matching begins. Holes belonging to different parts are matched up to form potential connections. The holes are matched based on mutual proximity, and then on other properties such as size and orientation. Mutual proximity is illustrated in Fig. 8. From this figure it can be seen that the nearest hole to hole 1 is hole 2. However, from observing hole 2 its nearest neighbour is found to be hole 3 and not hole 1. From investigating hole 3, it is found that its nearest neighbour is hole 2, and hence hole 3 and hole 2 are connecting holes since they are closest to each other. The process of hole mismatch detection is then started. The properties of the matching holes are compared with each other. If any of the properties are not compatible then a potential mismatch is detected and stored. For example, a pair of holes that are matched must have the
same orientation, their radii and positions should be suitable for one another in order to form a connection. 5. A M U L T I - A G E N T A P P R O A C H TO ACTIVATE T H E IMCS In order to support an electronic mock-up of a distributed satellite design, a multi-agent approach has been used to assist the collaborating parmers in their design negotiation process. These agents can be thought of as interdependent software modules that coordinate their activities to achieve their goals; they act cooperatively so as to accomplish more as a group than individually. When pursuing conflicting goals, they compete intelligently. In a multi-agent system, such as this one, an agent has to manage all its tasks using the resources available to it. The resources of an agent might themselves be "intelligent" as they can be provided by other agents (e.g. by accepting commands or requests, or by giving permissions). Such multi-agent approaches are increasingly applied to solve engineering problems (Bond, 1989; Steeb, 1981). Three types of agents have been defined and implemented. The pilot-agent plays an important role in monitoring the navigation between the different steps of the negotiation process. To do this it communicates with the partner-agents by providing them with all the
Intelligent Electronic Mock-Up for Concurrent Design
29
JG
Q I
I
I
I
/ I
FIGURE 8. Mutual proximity.
necessary information for conducting the negotiation. A parmer-agent represents a given function in the EDID context. An example of a partner-agent is the one interfaced to the IMCS which is called the mismatchagent. The third type of agents used is the visualization-agent, which is in charge of the interface between the collaborating partners and the negotiation process (EDID, 1995). Agents communicate with one another via MERING IV which is an actor language for implementing Distributed Artificial Intelligence (DAI) systems [see Ferber (1990) and Carle (1992)].Two agents
PARTNER 1$ffE
are involved in the activation and termination of the IMCS. The pilot-agent, residing at ONERA--Paris, communicates with the mismatch-agent, residing at Cranfield University. The following steps have been implemented: (i) pilot-agent advises mismatch-agent to get ready for file transfer (ii) pilot-agent sends file numbers, file names and data files to mismatch-agent (iii) mismatch-agent invokes the IMCS using as input
I1~ ~ARTNER
2SffE
sE,r l
Pmot-a£ent a t O N E R A - P a r l s
FIGURE 9. A multi-agent activation of the IMCS.
30
K. Bechkoum the data received from the pilot-agent (iv) mismatch-agent sends the results file (Mismatch.txt) to pilot-agent who will release it to whom it may concern.
Figure 9 illustrates the concept of agents' activation of the system.
A contractor has proposed a mass modification to a part in the overall assembly, the list of parts and their related CAD data are automatically sent to the IMCS (using the mullet-agent approach described above). The instructions automatically sent have the following format:"
6. A WALK-THROUGH EXAMPLE
mismatch.exe zptl #zpt22 #zpt2 #1.5 zpt3 zpt4 zpt5 zpt6 zpt7 zpt8 zpt9
The functionality of the IMCS is described below with the aid of an example.
"The arguments represent all the parts within the complete assembly. The first argument with the # sign is
************************* *MISMATCH
CONTROL
REPORT*
DATE:f3-06-94 TIME:I4:56
N U M B E R OF M I S M A T C H E S : 03 No. OF PARTS INVOLVED: 03 NAMES OF PARTS: zpt2, zpt22,
zpt8.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
M I S M A T C H I: -NATURE: Part zpt2, hole i: Part zpt22, hole 2: The d i f f e r e n c e in mass of the old part(25681.361) c o m p a r e d with the new part(25672.137) exceeds the a l l o w a b l e p e r c e n t a g e of 1.5000
-SOLUTION:
No s o l u t i o n
suggested.
M I S M A T C H 2: -NATURE: Part zpt22, hole i: centre (41.00,18.00,123.50) Part zpt8, hole 2: centre(41.00,18.00,126.50) Radius is not the same.
-SOLUTION: Change radius of hole 1 to 1.000 or change radius of hole 2 to 1.250
~ISMATCH 3: -NATURE: Part zpt22, hole i: centre (41.00,40.00,123.50) Part zpt8, hole 2: centre (41.00,36.00,126.50) are s e p a r a t e d by a distance
-SOLUTION:
of 2.000.
No s o l u t i o n suggested.
FIGURE 10. An example of a mismatch.txt file.
Intelligent Electronic Mock- Up for Concurrent Design
31
new modified part is called zpt22, old original part is called zpt2, maximum allowable change in mass between old and new part is 1.5%.
complete assembly. The process of mismatch checking is then activated. The first mismatch check is that of mass modification. The mass of the new part is compared with that of the old part to make sure that the difference is not outside the allowable limit given. The second mismatch to be checked is that of volume interference/proximity, which will execute the SIC algorithm and report accordingly. The final mismatch stage is the pin connection stage. This is split into the following steps:
The mismatch.exe program will first check if all the parts mentioned are accessible on the network (i.e. the parts have actually been sent by pilot-agent to mismatchagent). It will then retrieve these parts and re-build the
--all the pin hole connections are detected for each part, --all the pin holes are paired with their corresponding connecting holes,
the new name of the modified part. The second argument with the # sign is the old name of the original part. The final argument with the # sign is the percentage limits within which the difference between the mass of the original part and its modified part must lie. In this case: --the --the --the the
PARASOLID FIGURE 11. Mismatch visualization (display of the whole model),
32
K. Bechkoum
©
PARASOLID FIGURE 12. Mismatch visualization (display of parts involved).
- - f o r every connecting pair of holes, checks on the compatibility of orientation, radius size and position are made. The results from this program are stored in a text file called "mismatch.txt". This file contains the time and date of the execution of the program, the number of parts in the assembly, the number of mismatches detected, the nature of each of the mismatches, and if possible a potential solution. A typical example of a mismatch.txt file is shown in Fig. 10. Once the execution of mismatch.exe is completed and mismatch.txt is recovered by mismatch-agent and sent to pilot-agent, the IMCS allows the user to display the detected mismatches graphically. If a graphic display is
required, the system would ask for the number of the mismatch which is of interest (mismatches are identified by their number in mismatch.txt) and then display the parts involved and the mismatch on the screen. A printout of this display is also available. If the mismatch is of a pin hole (i.e. not a mass or volume interference mismatch) then it is possible to zoom in to the actual pair of holes where the mismatch is occurring. For example, from the mismatch.txt file, mismatch number 3 is displayed. Figures 11-13 show how the mismatch is graphically visualized by displaying the whole satellite model with a circle around the area where the mismatch is detected (Fig. 11) or by only showing the parts involved (Fig. 12). The user can also zoom in to have a closer look at the problem (Fig. 13).
Intelligent Electronic Mock-Up for Concurrent Design
33
O
% Q
d
d
PARASOLID ?'--w(3 FIGURE 13. Mismatch visualization (zoom in for a closer look).
7. CONCLUDING REMARKS A prototype knowledge-based system, IMCS, has been developed to assess the impact of design decisions on the overall consistency of CAD models that have been designed in a concurrent engineering fashion. The required software development is complete and initial tests have shown that the system is operating satisfactorily. The system was recently demonstrated across a European broadband telecommunications network, linking four sites: Aerospatiale--Cannes, ONERA--Pads, BT Labs--Ipswich and Cranfield University. During the demonstration, a video conference was activated which allowed designers located at the four sites, to discuss the impact of a design modification that was proposed by
one of the partners involved in the distributed design process. The IMCS was then invoked, remotely from Pads, to check if the modification leads to a problem. The demonstration was attended by a wide cross-section of potential users from the European Aerospace industry. Initial feedbacks suggest that the IMCS facility was well received as a useful tool that will have an important contribution to the success of distributed design using advanced communication systems. Having said that, the current implementation is not free from defects. During the evaluation process, users from Aerospatiale--Cannes and Cranfield University, have expressed the following concerns: - - T h e number and types of mismatches handled by
34
K. Bechkoum
the system is limited. --The system detects mismatches but rarely suggests a way to resolve them. The user interface lacks consistency, with a high number of windows having different formats. Whereas the third limitation is mainly dictated by the time scale, resources and technical constraints of the EDID project, the first two limitations stem from the centralization of knowledge into a single unit: the Knowledge Base System. The centralization of knowledge and expertise into one computational unit makes the process of mismatch control a very complex one, thus affecting the accuracy of the system. One possible way of overcoming this drawback is to use a mullet-agent approach, whereby knowledge about every design component (or CAD model) is encapsulated into an independent intelligent entity: the design agent. A framework is then needed to enable cooperating design agents to detect the mismatch and decide how to resolve it. More work is needed also on the knowledge elicitation front to improve the user interface and refine the knowledge required for explaining the nature of the mismatch and suggesting a way to resolve it. As far as the user interface is concerned, the difficulty stems from the use of Parasolid as the main geometric modeller. Parasolid is well suited for the application as a geometric engine but is not designed for man-machine interaction. One way of overcoming this limitation is by using EDSUnigraphics for the interactive manipulation of CAD models. Another problem that is worth noting emanates from the use of the SET translator for CAD data transfer. Various problems were encountered whilst attempting to produce an operational version of the IMCS during the time frame of the EDID project. A typical example is the difficulties in importing solid models into Parasolid. Only surface information could be extracted which meant that extra efforts were needed to build the solid models of the satellite application. It is hoped that the ISO international standard STEP would provide a better alternative.
Acknowledgements--This work was developed at Cranfield University (Bedford, UK) as part of the project EDID, partially funded by the CEC under the RACE programme. The EDID consortium consists of 12 companies and research organizations: IBM (the lead partner), Alcatel CIT, ONERA, SI/, Aerospatiale, OST, AQL and SLX from France with BT Labs and Cranfield University from the UK. The work reported here would have been impossible without the efforts of Zahid Sbarif (from Cranfield), the AI group of ONERA-Slx and the design engineers of Aerospatiale. The continuous help of the Parasolid Support Group (at EDS Unigraphigs, Cambridge) is also very much appreciated.
REFERENCES Ahuja, N. et al. (1980). Interference detection and collision detection among 3D objects. In Proc. 1st National Conference on AI,
Stanford University, pp. A.A AS. Akman, V., Hagen, R J. W., & Tomiyama, T. (1990). A fundamental and theoretical framework for an intelligent CAD system. Computer Aided Design Journal, 22, 352-367. Ayala, D. (1988). Boolean operations between solids and surfaces by octrees: models and algorithms. Computer Aided Design, 20, 452-465. Bechkoum, K. (1990). Collision detection in robotics simulation. Ph.D. dissertation, Cranfield Institute of Technology, UK. Bond, A. H. (1989). The cooperation of experts in engineering design. In L. Gasser & M. N. Hunns (Eds), Distributed artificial intelligence (Vol. 2, pp. 462-486). London: Pitman/Morgan. Carlbom, I. (1987). An algorithm for geometric set operations using cellular subdivision techniques. IEEE Computer Graphics and Applications, 44-55. Care, E (1992). MERING IV: un language d'acteurs pour I'IAD integrant objets et agents par reflexivite compilatoire. Doctorate dissertation, University Paris VI. Charel, J. E Galaretta, D., & Rothenburger, B. (1994). Une contribution des systemes multi-agents a la modelisation des processus de conception. Deuxiemes Journees Francophones Intelligence Artificielle Distribuee et Systemes Multi-agents, Voiron, France. Doctor, L. J., & Torborg, J. G. (1981). Display techniques for octree encoded objects. IEEE Computer Graphics and Applications, 29-38. EDID: Environment for Distributed Integrated Design. CEC-RACE Project R2034, Jan. 92-Feb. 95. Ferber, C. J. E (1990). Actors and agents as reflective concurrent objects: a MER1NG IV perspective. University Paris VI, LAFORIA, Internal Report No. 18/90, June 1990. Fujimura, K. (1983). An enhanced octree data structure for solid modelling. In Proceedings NASA Symposium, Computer Aided Geometric Modelling, pp. 279-287. Guillemenot, Y. (1993). Faximile communication. Cannes, France: Aerospatiale. Jackins, C. L., & Tanimoto, S. L. (1980). Octrees and their use in representing 3D Objects. Computer Graphics and Image Processing, 14, 249-270. Meagher, D. 0982). Geometric modelling using octree encoding. Computer Graphics and Image Process, 19, 129-147. Ohsuga, S. (1989). Toward intelligent CAD systems. Computer Aided Design Journal, 21, 315-337. Shalom D. Gossard, D. Ulrich, K., & Fitzpatfic, D. (1992). Representing geometric variations in complex structural assemblies on CAD systems. Advances in Design Automation, 2, 121-132. Smithers, T. (1989). AI-based design versus geometry-based design or why design cannot be supported by geometry alone. Computer Aided Design Journal, 21, 141-150. Steeb, R. (1981). Distributed intelligence for air fleet control. Technical Report R-2728-ARPA, Rand Corporation, Santa Monica, CA. Yamaguchi, K. (1984). Octree related data structures and algorithms. 1EEE Computer Graphics and Applications, 53-59. Yerry, M. A., & Shephard, M. S. (1990). Automatic 3D mesh generation by the modified octree technique. International Journal for Numerical Methods in Engineering, 20, 1965-1990.
APPENDIX A: EDID AN ENVIRONMENT FOR D I S T R I B U T E D I N T E G R A T E D DESIGN Outline Project EDID addresses the field of Distributed Collaborative Design in the European Aerospace Industry sector. Its major goal is, through an experimental application, to prepare for new ways of working that should increase both productivity and quality in mullet-partner space design projects. The new processes envisioned encompass Computer Supported Collaborative Work concepts (CSCW) including multimedia communication capabilities. Given the geographical dispersion of work locations over Europe, the very large amount of data to be exchanged
Intelligent Electronic Mock- Up for Concurrent Design and the short response time required, the application needs a European broadband telecommunications system featuring powerful and flexible services that the project will identify. Programme R A C E (Research for Advanced Communications in Europe) hosts and partially funds the project, together with over 120 other different projects. RACE is a European initiative launched in 1986 aiming at preparing for the introduction of an Integrated Broadband Communication system (IBC) in Europe within the 1995-2000 time frame. IBC is designed for providing all users in Europe with a full range of services, from simple telephony to very high speed data transmission and high quality multimedia capabilities, Ultimately IBC will replace the current mosa'fc of specialized networks and feature a unique User-Network Interface (UNI).
EDID Experimental Network EDID Experimental Network employs different broadband solutions recently made available in UK and France. The objective is to interconnect the four test sites of BT (Ipswich), Cranfield University, ONERA (Chatillon) and Aerospatiale (Cannes). From the beginning of the project the aim was to use the ATM technology. In the summer of 1994, the communications between UK and France have been established through the UK-France segment of the European ATM Pilot. In the UK, EDID network uses the SMDS service. In France, the connection of Aerospatiale is made through TRANSREL. European ATM Pilot is an experimental network being installed by the European Operators. It provides EDID with a VP connection between London and Paris offering up to 34 Mbps access. A 34 Mbps link is also provided to link the London node to the BT site. A separate VP service has been procured to connect ONERA to the Paris node. SMDS (Switch Mullet-megabit DataService) is a new switched broadband service that was introduced in the UK by BT in December 1993. Access classes of 4, 10 16 or 25 Mbps are available. For EDID both the BT and Cranfield sites have a 10 Mbps access class. TRANSREL/ATM is a service made available in France in 1994. It offers a Virtual Private Network service for the interconnection of LANs (ILAN) as a continuation of the operational TransRel service. Customer interfaces are Ethernet (802.3), Token Ring (802.5) and
35 FDDI. The speeds available at the user-network interface range from 64 kbps to 25.2 Mbps. For EDID an FDDI interface of 10 Mbps will be used.
EDID Experimental Sites The four sites participating in the EDID experiment are described in the following. Cranlieid University plays the role of a partner in a space programme. It is able to enter into desk-top conferencing mode with the other partners including audio and video conferences. The CSCW session includes access and interaction with the main ICD data base which is located at the prime contractor site. A local application developed by CU, the mismatch control can be invoked during the session to check consistency of proposed design modifcations. BT Labs in Ipswich UK is the site where the interconnection takes place between SMDS and the ATM Pilot. This is achieved through an ATM switch provided by ALCATEL; one side connected to a DSU converting SMDS into ATM, and the other side to a native ATM link between Ipswich and the access switch of the ATM Pilot in London. In the experiment, BT also plays the role of a partner in a space program, with the same capabilities as in Cranfield. ONERA Chatillon is the second EDID site directly connected to the ATM Pilot. As such, it plays a central role in the EDID configuration. The IBM RS/6000 contains the audio and application sharing conference servers, which distribute to the other sites the audio samples and the application windows during a CSCW session. One of the SUN workstations contains a duplicate of the ICD data base thus allowing this site to also play the role of a prime contractor in the space programme. The second SUN is used for video conferencing. Aerospatiale Cannes plays the role of a prime contractor in a space programme. It hosts the main ICD data base and server function running on one SUN Spare workstation. The second SUN is used as a CSCW workstation allowing audio, video, application sharing in conference mode with the other partners as well as the sharing of ICD data. The IBM RS/6000 is an audio and application sharing server allowing local CSCW sessions within Aerospatiale as well as remote sessions with other partners of the space program.