An Approach to the Automatic Assembly Planning Problem E. Zussman, E. Lenz (1). M. Shpitalni (2); Technion, Israel Institute of Technology, Haifa/lsrael32000 Received on January 15,1990
Abstract This paper deals with the development of a system for assembly process-planning. The approach is based on constructing and analyzing a relational graph which links assembly features. This graph consists of a combination of geometric. topologic and functional data. Its unique structure enables the use of efficient algorithms for determining feasible assembly sequences of subassemblies and objects. The paper shows that the basic data required to construct this graph is indirectly provided by the user during the design process. The ease with which the required information is entered into the system and the efficient algorithm for extracting the required information in order to construct the relational graph make this system very powerful.
key words - assembly analysis, feature matching, assembly graph
1. Introduction An important aspect of planning an assembly task is the identification of an assembly sequence which is both feasible and optimal in a given sense (for example: minimal cost). To achieve a feasible sequence, it is necessary to analyze the constraints imposed by both the robotic system and the product itself. These constraints are derived from physical and geometrical properties of the product, and from properties of the robotic system such as manipulability, reachability and dynamic behavior.
This paper presents a system for automatic assembly planning of 3-D structures which is currently being developed at the Technion. In this system, the user needs only to define the structure, i.e., the geometric description of the assembly. The functional data is already embedded in the system, in paired form, and relates the features of each object to their function according to the mating conditions. For a given product description (model), the system uses three levels of problem refinement:
Since a minor change in the design of a product can significantly affect the assembly options and cost involved, the ability to introduce various assembly options and to evaluate their cost is essential. This ability becomes even more valuable when it can serve as feedback in a design-for-assembly process. It has been suggested [Kroll] that identifying all the feasible assembly sequences and evaluating them (e.g.. estimating their cost) using a systematic method will lead to a better design-for-assembly. Furthermore, the assembly sequence obtained by the assembly planning is in fact the input, at a task-level, required by the robotic system.
1. Analyzing the Product:
As a starting point for the assembly process-planning analysis, a model of the assembly must be created which includes geometrical, topological and functional data of the assembly objects. This model can either be provided in full detail by the designer or can be inferred automatically from constraints deriving from the object's shape and the assembly operations.
-Identifying mating objects. -Matching features by means of kinematic reasoning. -Constructing the features relational graph. -Simplifying the graph by combining multiple edges shared by two objects. -Aggregating objects in sub-assemblies. 2. Generating the feasible sequences while considering the product, and the robotic system constraints. 3. Generating the required commands at task level. This paper concerns itself with the problem of assembly analysis, and more specifically, with how the product assembly described by the designer can be successively refined and prepared for the second part of the problem, finding the feasible sequences.
2. Problem and Approach Some approaches for assembly models have already been explored in the field of robotics. RAPT [Poppelstone] proposes creation of an assembly model by specifying the spatial relationships among features of objects and the actions required to bring these objects together. Another work [Vijaykumar] proposes specifying assembly operations which are further refined to feature relations in order to derive the assembly model. In the AUTOPASS system [Wesley], the assembly model is represented by a graph-structured data base. The user defines the geometrical data as well as the functional data, such as attachment and constraint relations, with an option to define the relation to other assemblies in the assembly world. A more recent approach is based on automatic inference of an assembly model [Thomas]. It consists of the propagation, combination and satisfaction of three types of constraints: shape matching, degrees-of-freedom and non-intersection. In contrast to the former approaches, the aim of this approach is to deduce feasible assembly configurations. Assembly models have also been proposed in the assembly process-planning field. For example, a relational model was proposed [Homem de Mello] which describes all the relations in the assembly while considering the attachment of contacts. Another proposal [Heemskerk] offers an object relation network which describes the global structure of the product. The relations are predefined, and a distinction is made between two types: the contact and the non-contact. In fact, the contact relations may be referred to as a subset of a lower kinematic pair set, while the non-contact relations are either blocking or enclosing relations. Other approaches try to deduce the assembly model automatically by means of geometrical reasoning either with the aid of connectivity graphs [Shpitalni]. or constraint graphs [Wolter]. In the KOMPASS system [Weule]. specially designed heuristic techniques were employed together with a CAD model to form the assembly model. This enables analysis of complex products and provides the ability to deal with flexible materials.
Annals of the ClRP Vol. 35W19L2.7
The design stage results in a fully assembled structure which is then input into an assembly planning stage. At this stage, there is no need to reconstruct the designer's ideas about structure, function, and form. The goal is to analyze the product in order to discover the options for disassembly or assembly. Data bases provided by contemporary solid modelers (at the design stage) contain only a nominal description of an object as a collection of low-level entities, such as vertices, edges, faces, or combinations of simple volume primitives. Such a description is not at a sufficient level of abstraction for assembly process-planning, where the goal is to include the functional requirements of the related objects as well. The approach offered here defines an object-oriented data base which contains information relating to each of the objects involved in the assembly. For the purposes of this data base, a mechanical assembly product can be considered as a multibody system which consists of B=(Bl .BP,....Bn) rigid bodies which are interconnected with J=(jl ,j 2, ....) joints, both enumerated in an arbitrary way. A joint is used to represent the entity of interactions between two bodies [Roberson]. In mechanical assembly, joints are comprised of lower and upper kinematic pairs. These pairs establish the kinematic constraint relations for the multibody system. A lower pair exists when one body is coupled to the other via a wrapping action and contact takes place along a surface. If contact takes place along a line or point, the resulting coupling is referred to as an upper pair. 2.1 Relational Graph To represent the topological structure of the multibody system, the pertinent information is mapped onto a graph, which is defined as a relational graph. Each body is correlated to a vertex of a graph, Fig. 1. The features of each object, Fpr. are represented as a tree, the root of which is the object vertex. p is the object index number (p=l,2, ...n), and r is the feature index number (k1.2 .....1.
33
The features are interconnected by R = J single edges representing the
J interactions of bodies with each other. The graph is connected, non-directed and finite. The object representation used by our system is based on the model defined below.
The Bounding-Box attribute is the rectangular parallelepiped which is slightly larger than the smallest one containing the object. This addition enables convenient geometrical reasoning, namely detecting the touch condition by means of intersection. The location attribute defines the object's position and orientation with respect to the general system. The shape attribute describes the object's envelope. Physical attributes (C.G. Weight. Inertia) : The C.G defines the object's Center of Gravity. The inertia attribute defines the object's principal moment of inertia. The features group {Grasping features. Assembly features) : Grasping features refer to the relevant surfaces of the object that enable manipulation of the object. The assembly features are characterized by their attributes as described below.
2.2.2
Assembly Feature Attributes
The assembly feature attributes (Location, Type, Attachment. Touch Surface) : The location attribute (position, orientation) is described with respect to the object's coordinate system. Each feature's coordinate system is located by considering the leature's characteristic shape (i.e. for a cylinder, the origin of the system is in the center of the cylinder and the normal is along the cylinder axis). The type attribute relates each feature to its possible correspondence features. namely, to the features whose union produces a compound feature - one from the set of kinematic pairs. The attachment attribute describes the type of connection between the features. such as fits or tight-fits. The touch surface attribute describes the set of the B-rep entities forming the feature.
B= (81.82 ,.... Bn) Fpr = (F11,F12 .....,F21,.....Fnl,.....)
- Attribute Relation -
Feature Relation
Fig. 1 The Relational Graph
2.2 Object Model
3. Problem Analysis The input to the assembly planner is a description of the product in terms which specify the product's geometrical data. A matching algorithm deduces the topological structure and represents it as a relational graph among the object's features. This graph is then simplified by combining multiple edges between any two objects. Once a feature level description of the task is obtained. knowledge about the product connectors and the kinematic relation is employed to create the feasible subassemblies. Class -
The motivation for developing the object model is the inclusion of all the characteristics of the object that play a role in the assembly planning problem. We identify three subproblems in assembly planning: planning the trajectory of the objects, planning the grasping procedure, and recognizing relations between the objects within the product. The model relates to each subproblem. The information about each object is hierarchically represented by an object-oriented notion. i.e. Class, Objecf, Method. Each class contains objects with similar functional properties, such as bearing, shall, spacer. The object attributes which provide information about the assembly planning problem are divided into three groups: physical attributes, geometrical attributes, and features attributes. The features attributes are hierarchically structured and provide additional information. The assembly method is determined by the type of object.
Object .
Physical Object Attributes -
Weight
Geometrical Shape Symmetry Location
Inertia
Bounding-box
The notion of an object feature, as mentioned above, refers to a region of interest within a part or more generally - within a product [Rimscha]. Classification of the features is done according to their specific application. In this paper, we concentrate on assembly features which are characterized by their kinematic relations to the surroundings. ~
.
The objects are created with CSG primitives, and the data about their 8-rep description is preserved. In this CAD model. a feature is a subset of the entities which form the boundary model of an object. The relevant features are defined explicitly on a complete geometrical model.
Assembly Features -
While the option to extract features from a geometrical model should also be considered, it is not within the scope of this paper. Note, however, that dealing with a closed set of features, such as kinematics pairs, simplifies the extraction problem.
Location Attachment
2.2.1 Object Attributes Each object in the assembly is characterized by three groups of attributes. Fig. 2. Geometrical Attributes ( Symmetry, Bounding-Box, Location. Shape) : The symmetry attribute is based on notions of the principal axis of an object and rotational symmetry of an object about a specified axis [ Boothroyd].
34
Assembly Features Attributes . Touch Surf.
Fig. 2 Assembly Data Base
3.1 Matching of Assembly Features The basic idea behind the algorithm for matching assembly features is to find the mating features between the assembled objects. As discussed above, this algorithm eliminates the need of the designer to define the mating features in the assembled objects or, in other words, to define explicitly the topological structure of the assembly. It is possible to represent any two objects in the assembly through a bipartite graph. in which the vertices fall into two sets Vi = [Fil, FiZ.Fi3 ...) and Vj = [Fjl .Fj2.Fj3...).
procedure Graph-Reduction( Relational-graph) Object-Relations <--- NIL Coupled-Objects <--- Multiply-Edge( Relational graph) While Coupled-Objects is not empty d o begin L1 Object-Relations <--- Constraint-lntersection(Coup1ed-Objects) end L1 return Object-Relations end procedure Fig. 5 Graph Reduction Procedure
The following question can then be asked: is it possible to find any member from Vi suitable to mate with a member of set Vj ? This problem can be considered as a matching of one set of vertices into another. In the worst case, the set of possibilities that we must consider is the Cartesian product of the two sets of features that are associated Vj.I with the mating objects, i.e Vi @ The matching problem can be simplified while considering geometrical and functional criteria. The functionality criterion is based on the fact that two mating features form a kinematic pair, a subset of the kinematic pair set. The geometrical criterion is based on the following stages: comparing the characteristic dimension of the features and comparing the relative location (position and orientation) in the assembly. Fig. 3 shows the procedure Find-Mating-Features. which takes as input the product description and returns a relational graph containing all the mating relations. This procedure uses the result of the Intersection-Check procedure, which computes all the intersections between two objects in the assembly based on the Bounding-Box attribute of each object (Preparata). Each intersection is analyzed according to matching criteria in order to find the specific mating features. procedure Find-Mating-Features (assembly) features-relations <--- NIL mating-objects <--- Intersection-Check(assembly) While mating-object is not empty do begin L1 feasible-features C--- function-match(mating-object) features-relations <--- Geometric-match(feasib1e-features) end L1 return features-relations end procedure Fig. 3 Find-Mating-Features Procedure
3.2 Graph Reduction Once the relational graph is obtained. it can be simplified with the graph reduction algorithm. All relations between features will be translated into relations between objects, to enable further reasoning about the assembly process-planning. The reduction of the graph is obtained by combining multiple edges between two objects features. The combination of multiple edges is based on the intersection of subgroups that are represented by each edge. This idea is derived from the theory of groups [Helve']. The basis of the theory is that each lower kinematic pair allows a set of relative motions of the two coupled objects. These motions can be regarded as subsets of the group of rigid-body motions. It can be readily shown that each of these subsets in turn constitutes a group. For example, in Fig 4, a two-objects relational graph is reduced to what we call an object graph, after intersection of the two constraints. Fig. 5 shows the procedure Graph-Reduction which takes as input the relational graph and returns the object graph in terms of object relations. This procedure uses the resun of the multiply-edge procedure, which identifies the objects sharing multiple edges. Each pair of objects is analyzed in order to form the intersection of the constraints between the features.
a-
*@-@
3.3 Algorithm for Aggregation of Objects To recognize the potential subassemblies of the assembly product, an algorithm to group objects together was developed. A subassembly is defined as the aggregation of objects together into an entity. The spatial relationships among the objects within this entity are constant for every state in the assembly process. Subassemblies can be deduced from the object graph while considering its connectors. A connector is a kinematic pair whose special property retains the connectivity of the subassembly for all the assembly states. In our system the following connectors were considered: screw pair, cylindric pair attached in tight-fit relation and adhesive relation between any kinematic pairs. In order to deduce subassemblies, different heuristic rules have been developed for each one of the connectors. However, in this paper we concentrate on screw type connectors and on the relevant heuristic rules. A loop in an object graph that comprises a screw connector can be considered a potential subassembly. Three situations can be identified in the object graph: independent loop, plural loops and tree (i.e graph without loop). In the first case, independent loop, all the objects within the loop can be considered as a subassembly. In the tree-like object graph, there is no possibility to aggregate objects. In the case of plural loops, each one of the loops can be considered a potential subassembly. Furthermore, identification of separation vertices (a vertex whose removal from the graph disconnects it) can aid in deciding on the options for assembling the subassemblies.
4. Examples
Let us consider a simple assembly example consisting of three objects (Bi, 82, B3). Fig. 6a, which illustrate analysis of the topological structure and functional relations, resulting in an object graph. The assembly features of each object are predefined and included in the object data base, Fig. 6b. In order to obtain the relations between the object's features in the assembly. a matching procedure is applied to the objects, resulting in the relational graph, Fig. 6c. Fig. 6d shows an abstracted version of the relational graph. This object graph, in relations form, is comprised of a loop between object Bz and B i , which can be simplified. The relation (F24,F33) represents a plane kinematic pair (Gp), while the relation (F22.F32) represents a cylindric kinematic pair (Cu). The intersection of these pairs results in a revolute kinematic pair (Ru). The rotation of this revolute pair is around axis u. which is parallel to the axis of the cylindric pair and perpendicular to the plane pair, Ru = Gp n Cu [Herve']. The resulting simplified graph is called an object graph, Fig 6e. Its edges represent kinematic relations and its vertices represent objects. This graph is comprised of an independent loop which contains a connector (a screw type) and, according to the aggregation algorithm, it can represent a potential subassembly. This result can aid in the second stage of the assembly process-planning, namely, the generation of the feasible sequences. Furthermore. subassemblies identification can help the planner break the problem into more manageable sub-problems. In the next example, we add two objects to the former assembly, resulting in an assembly (Bl,B2,83,84,85), Fig 7a. After simplifying its relational graph we obtain its object graph, Fig 7b. In this graph multiple loops can be identified ((8.82.83) and [B2.84.85)). Both loops comprise a connector of a screw type. Both can be potential subassemblies. However, 82 is a separation vertex whose disassembly will cause disconnection of the graph. This fact can help at the plan generation stage and can lead to the decision to take either (B5.84,83). or (Bl,B2.B3) as subassembly and to add the remaining two objects to the selected subassembly.
Flg. 4 Constraints Intersection
35
(b) I (a) Fig. 7 : (a) Assembled Product (b) Object Graph 5. Concludlng Remarks
We have presented procedures for analyzing the assembly of a product. These procedures are embedded in a general assembly process-planning system. The system input is a geometrical description of the assembled product. At the analysis stage, the topological structure of the product is obtained and represented with the aid of a relational graph between the assembly features of the objects. This graph is simplified by combining multiple edges between two objects (based on group theory [Herve']), resulting in an object graph. Further refinement towards the assembly planning includes the aggregation algorithm which enables potential subassemblies to be recognized. The object-oriented notions help to form a data base that includes the functional properties of the mating objects in addition to the geometric properties. This approach of analyzing a fully assembled product can eliminate the necessity for the designer to specify the topologic relations between the objects. Moreover, it can help to automatically identify assembly precedence conditions. Acknowledgments This research was supported by the Minerva Society for Research, Federal ministry for Research and Technology, Federal Republic of Germany. References
Fig 6 : (a) Assembled product (b) Assembly features of the objects (d) Relational graph on object level (c) Relational graph (e) Object graph
36
Boothroyd G. Poli C.. Murch L.E..1982, Automatic Assembly, Marcel Dekker Inc.. NY. Heemskerk C.J.M., 1989. The Use of Heuristics in Assembly Sequence Planning, Annals of the CIRP, 3811, pp. 37-40. Herve' J.M., 1978, Analyse Structurelle des Mec des Deplacements, Mech. Machine Theory, 13, pp. 437-450. Homem de Mello L.S., Sanderson A.C., 1988, Automatic Generation of Mechanical Assembly Sequences, CMU RI-TR-88-19. Kroll E.. Lenz E.. Wolberg J.R., 1988, A Knowledge-Based Solution to the Design-For-AssemblyProblem, Manufacturing Review,l , pp.104-108. Poppplestone R.J., Ambler A.P.. Bellos I.M., 1980, An lnterperter for a language for Describing Assemblies, Al, 14, pp. 79-107. Preparata F.P,Shamos M.I.1985,~moutationalGeometry, Springer Verlag,NY. Rimscha M.. 1989. Feature Modelling and Assembly Modelling-A unified Approach, International GI-IFIP Symp., pp. 190-200. ics of Multibody Svstem. Roberson R.E.,Schwertassek R.,l988. &@JTI Springer Verlag, NY. Shpitalni M., Elber G.. Lenz E.. 1988. Automatic Assemblv of Three Dimensional Structures Via Connectivity Graph: Annals of the CIRP. 3811 , p ~25-28. . Thomas F.. Torras C..-1988, A GruopTheoretic Approach to the Computation of Symbolic Part Relation. IEEE J. of Robotics and Automation. 4.6. pp. 622-634. Vijaykumar R., Arbib M., 1987. Problem Decomposition for Assembly Planning, Int. Conf. on Robotics and automation. pp.1361-66 Wesley M.A.. Lozano-Prez T., Lieberman L.I., Lavin M.A.. Grossman D.D.. 1980, A Geometric Modeling System for Automated Mechanical Assembly, IBM J. Res. Develop., 24.1 pp. 64-74. Weule H.. Friedmann Th., 1989. Computer-Aided Product Analysis In Assembly Planning. Annals of the CIRP. 38/1, pp. 1-4. Wolter J.D.. 1988. On the Automatic Generation of Plans for Mechanical Assembly, Phd. dissertation. The University of Michigan.