Enumeration of Basic Kinematic Chains with Simple and Multiple Joints by CHENG-HO
HSU
Department ofMechanical Engineering, Kaohsiung, Taiwan 80424, R.O.C.
National
Sun Yat-Sen
University,
ABSTRACT : This paper presents a simple method, based on the concept of contracted graphs, for the enumeration of basic kinematic chains with simple and multiple joints. AN possible acceptable contracted graphs are listed according to the numbers of links and degrees of freedom of basic kinematic chains. Next, vertices of degree two are added to each contracted graph to generate all possible kinematic chains. Then, degenerate and isomorphic kinematic chains are identcfied and deleted to obtain nonisomorphic, basic kinematic chains. The enumeration of one degree-of-freedom, eight-link basic kinematic chains is used as an example to illustrate the enumeration process. The result of this work is beneJiciaI to the creative design of mechanisms.
I. Introduction The enumeration of basic kinematic chains is one of the important steps in the creative design of mechanisms. Research work on the enumeration of basic kinematic chains with simple joints has been done thoroughly (l-8). As for basic kinematic chains with multiple joints, a number of methods have been presented (912). Generally, basic kinematic chains with simple joints and those with multiple joints are enumerated independently. Basic kinematic chains with multiple joints are enumerated from those with simple joints by the joint combination method (912). This method has the shortcoming that kinematic chains with multiple joints enumerated from different kinematic chains with simple joints may be isomorphic. Therefore, the work of identification of the complicated and numerous kinematic chains is tedious and prone to mistakes, as the number of links gets larger. Graph theory, especially the concept of contracted graphs, has been shown to be a powerful tool for the enumeration of basic kinematic chains with simple joints. Yan and Hsu (13, 14) presented a graph representation of multiple joints and developed an atlas of acceptable contracted graphs for basic kinematic chains with multiple joints. Recently, Hsu and Lam (15) developed an atlas of acceptable contracted graphs for basic kinematic chains with simple joints. The purpose of this work is to apply an atlas of acceptable contracted graphs to the enumeration of basic kinematic chains with simple and multiple joints.
8 TheFranklin Institute 001&0032/92 %5.00+0.00
775
Cheny-Ho
Hsu
II. Graph Representation
of Kinematic
Chains
According to graph theory (16, 17), and the graph representation of multiple joints proposed by Hsu and Yan (13), a kinematic chain can be transformed to be its corresponding kinematic graph by representing the links, simple joints and multiple joints of the kinematic chain by vertices, simple edges and solid polygons, respectively, in which two vertices of the kinematic graph are adjacent whenever the corresponding links of the kinematic chain are incident to a common joint. The degree of a vertex is defined as the total number of simple edges and solid polygons incident to this vertex. Therefore, a kinematic chain containing n2 binary links, n3 ternary links, n4 quaternary links, etc., is transformed to be a kinematic graph having n2 vertices of degree two, n3 vertices of degree three, n4 vertices of degree four, etc. The contracted graph _of the kinematic graph is a graph obtained by contracting any vertex of degree two, which is not incident to any solid polygon, to either its adjacent vertex of degree more than two or to its adjacent solid polygon along its incident edges. For example, Fig. 1(a) shows a kinematic chain which has six binary links 3, 4, 5, 6, 7 and 8, one ternary link 2, one quaternary link 1, eight simple joints u, h, c, d, e,f, CJand h, and one multiple joint i incident to links 3, 4 and 5. Figure 1(b) shows its corresponding kinematic graph, which has six vertices 3,4, .5,6, 7 and 8 of degree two, one vertex 2 of degree three, one vertex of degree four, eight simple edges a, h, c, d, e,f; g and h, and one solid polygon i with three vertices 3,4 and 5. Figure 1(c) shows its corresponding contracted graph, which is a nonlinear graph. A basic kinematic chain is a kinematic chain without any rigid subchain (2-S). An acceptable contracted graph of F degree-of-freedom, N-link basic kinematic
bl
a e
h
2 f
1
2
2 4 3D
776
5
Cc)
(b) FIG. 1. An eight-link
1
kinematic
chain, its kinematic
graph and contracted
Journelof
graph.
the Frankhn lnstttutc Pergamon Press Ltd
Enumeration chains is a contracted graph which can be used to synthesize of-freedom, N-link basic kinematic chain.
III, Systematic
of Kinematic
Chains
at least one F degree-
Enumeration Procedure
According to Grubler’s criteria and Euler’s formula (18), the relationship between the number of links (N), degrees of freedom (F) and independent loops (L) of a kinematic chain is L = (N-FIn the corresponding kinematic vertices (V), degrees of freedom
1)/2.
graph, the relationship between and independent loops is L = (V-F-
(1) the number
1)/2.
of
(2)
For the I’,.-vertex contracted graph of V-vertex kinematic graphs, the number vertices of degree two (I’,), which are not incident to solid polygons, is
of
v* = v-
(3)
v,..
Then, Vz vertices of degree two are partitioned and added to the contracted graph to generate F degree-of-freedom, N-vertex kinematic graphs. Since any edge of the contracted graph added then F+ 1 vertices of degree two, it generates degenerate kinematic chains. Thus, V2 vertices of degree two are partitioned into several parts such that the number of vertices in every part is less than F+ 1. Based on Eqs (2) and (3), and the atlas of acceptable contracted graphs with simple joints (15) and multiple joints (13, 14), a systematic procedure for the enumeration of F degree-of-freedom, N-link basic kinematic chains with simple and multiple joints is developed. Figure 2 shows the main flow chart and the procedure is described below. 1. Determine the number of independent loops (L) from the known values of N and F. 2. List all acceptable contracted graphs from an atlas of acceptable contracted graphs for F degree-of-freedom, N-link basic kinematic chains (13-15). 3. Add vertices of degree two for each acceptable contracted graph in all possible ways to obtain all possible N-vertex kinematic graphs. 4. Identify degenerate kinematic graphs to obtain all basic kinematic graphs. 5. Identify isomorphic, basic kinematic graphs to obtain all nonisomorphic, basic kinematic graphs. 6. Transform nonisomorphic, basic kinematic graphs into their corresponding kinematic chains.
IV. Acceptable
Contracted
Graphs
The first step of the enumeration process is to list all possible acceptable contracted graphs. According to the number of links (N) and degrees of freedom (F) of basic kinematic chains, all possible acceptable contracted graphs can be listed Vol. 329, No. 4, pp. 775-789, 1992 Printed III Great Britain
777
Cheng- Ho Hsu
NUWERS
OF LINK3
DE-ES
OF FREEDOM
BASIC
AND (F)
KINEM&TIC
.CATALOGS OF ACCEPTASLE COmRACTED
(N)
OF
CHAINS
m
GRAPKS
v ALL
POSSIBLE
ACCEPTABLE
CONrRACTED
PRECIPITATION
GRAPIB
OF VERTICES l
OF DEGREE TW
1 ALL
POSSIBLE
N-VERTEX
KI NEWT I C ORAPIB
IDENTIFICATION
OF
.
l
DEGENERACY * ALL
POSSIBLE
BASIC
IDElWIFICATION
KINEMATIC
OF
GlUPHS
*
ISOKIRPHISM
ALL
NONISOXIRPHIC
BASIC
GRAPH
N-VERTEX
TI?ANSFORluIT I ON
N-VERTEX
KINBmTIC
GRAPHS
.
t CATALOG OF N LINIC¶, OF F-Y
BASIC
F DEGREES
KINElUTIC
CHAINS
FIG. 2. The flow chart ot‘the contracted graph method.
from an atlas of contracted following procedure.
graphs
for basic kinematic
chains
(lS15)
by the
1. Calculate the number of independent loops (15) from N, F and Eq. (2). 2. According to L and F, all acceptable contracted graphs are listed from an atlas of acceptable contracted graphs for basic kinematic chains with L independent loops (1515). 778
Journal
of the FrankIm lnst~tute Pergamon Press Ltd
Enumeration Example 1 List all possible acceptable link basic kinematic chains.
contracted
of Kinematic
graphs for three degree-of-freedom,
Chains
eight-
loops, L, is (8 - 3 - 1)/2 = 2. 1. Since N = 8 and F = 3, the number of independent 2. From the atlas of acceptable contracted graphs for kinematic chains with two independent loops shown in Fig. 3 (l>lS), there are nine acceptable contracted graphs for three degree-of-freedom, eight-link basic kinematic chains as shown in Fig. 4. Based on the proposed procedure, an atlas of acceptable contracted graphs for basic kinematic chains with any number of degrees of freedom and links can be listed in a straightforward way. Figure 5 lists an atlas of acceptable contracted graphs for one degree-of-freedom, eight-link basic kinematic chains.
V. Enumeration of Kinematic Chains The second step of the enumeration process is to add vertices of degree two to each acceptable contracted graph to enumerate all possible kinematic graphs. For reasons of simplicity, the contracted graph shown in Fig. 5(b3) is used as an example to illustrate the process of adding vertices of degree two. Since the contracted graph has five vertices, the number of vertices of degree two is three. There are two possible partitions, i.e. (1, 1, 1) and (1, 2). Using partition (1, 1, 1),
r
L
F ‘,
A
1
F
‘, 2
F
‘,
F
‘, 4
F
‘,
1
=2
CD
In
m
3
5
FIG. 3. Catalog of acceptable contracted graphs with two independent loops. Vol. 329. No. 4, pp. 775-189, Prmtcd in Great Britain
1992
779
Cheng- Ho Hsu
FIG. 4. Acceptable
contracted
graphs of eight-link, chains.
(al)
( a21
(4
(a41
( b0
(b6)
(be)
( b7)
(al) FIG. 5. Acceptable
780
contracted
graphs of eight-link, chains.
three degree-of-freedom
( b2)
(bl)
basic kinematic
( b3)
(be)
( d2)
(da)
one degree-of-freedom
Journal
basic kinematic
ol’the Frankhn lnrt,tute Pergamon Press Lid
Enumeration
qf Kinematic Chains
FIG. 6. Eight-vertex kinematic graphs.
three kinematic graphs are enumerated and shown in Fig. 6(a-c). For partition 2), four kinematic graphs are enumerated and shown in Fig. 6(d-g).
VI. Identification
of Degenerate
(1,
Kinematic Chains
The third step of the enumeration process is the identification of degenerate kinematic chains. For an N-link basic kinematic chain, it must be confirmed that it does not contain any rigid chains. Fortunately, Hwang et al. (19) have presented a feasible approach for the automatic identification of degenerate kinematic chains. In this paper, this approach is used to identify and delete degenerate kinematic chains. For example, kinematic graphs shown in Fig. 6(c, f, g) are degenerate kinematic graphs, because they contain three-link rigid graphs. VII. ZdentiJication of Isomorphic Kinematic Chains The fourth step of the enumeration process is the identification of isomorphic kinematic chains. In the enumeration of kinematic chains, we need to provide a precise method for detecting isomorphism. Since the concept of topological codes proposed by Hsu and Lam (20) has been proven to be an efficient tool for the identification of isomorphic graphs, we extend the concept of topological codes to identify isomorphic kinematic chains with simple and multiple joints. For a kinematic graph, vertices i and j are said to be adjacent and vertex i is a neighbor of vertex j, if they are adjacent with a common edge or solid polygon. The neighborhood of vertex i is the set N(i) consisting of all vertices adjacent with vertex i. The number of neighbors of vertex i, n(i), is the number of vertices in N(i). The neighborhood index of vertex i with p neighbors, denoted as NT(i), is defined as a p-digit number forming by the numbers of neighbors of its p neighbors Vol 329. No. 4, pp. 775-7X9, 1992 Printed in Great Britain
781
Cheng-Ho
Hsu
in descending order. For example, Fig. 6(a) shows an S-vertex kinematic graph. Since vertices 4, 6, 7 and 8 are adjacent to vertex 1, the neighborhood of vertex 1 is N(1) = {4,6,7, S}, the number of neighbors, n(l), is four, and the neighborhood index, NZ(l), is 44433. Similarly, the number of neighbors of the vertices 2, 3, 4, 5, 6, 7 and 8, n(2), . . . , n(7) and n(8) are 3, 3, 3, 3, 2, 2 and 2, and the neighborhood indices, NZ(2), . . . , NZ(7) and NZ(8) are 332, 333, 433, 322,43, 43 and 43. Based on the research of Yan and Hsu (13) the adjacency matrix of a kinematic graph with N vertices, A,, is defined as an N x N symmetric matrix with its entry a,, = m if vertices i and j are adjacent with a solid polygon of m vertices, Q,~= 1 if vertices i and ,j are adjacent with an edge, and a, = 0 otherwise. Furthermore, ali = 0. For example, the adjacency matrix of the kinematic graph shown in Fig. 6(a) is 00010111 00330001 03031000 13300000 A, =
00100110 10001000 10001000 11000000
Since there are exactly N! ways to label an N-vertex kinematic graph, this results in difficulty in representing a kinematic graph by an adjacency matrix. There is a need to have a canonical algorithm which can relabel a kinematic graph uniquely. The adjacency matrix of an N-link kinematic chain is an N x N symmetric matrix having all its diagonal elements as zeros, so it is convenient to represent the entire matrix by its upper triangular portion (abbreviated as UTAM). For an N-link kinematic chain we can form a code of length N(N- 1)/2 from the UTAM by concatenating the rows in order. Since the numbers of vertices, edges, degrees of vertices and neighborhood indices of vertices are the topological invariants of a kinematic graph, we use the neighborhood indices of vertices as a specific consideration in arranging the adjacency matrix of a kinematic graph to develop the canonical adjacency matrix. The canonical adjacency matrix of a kinematic graph is defined as an adjacency matrix obtained by relabeling the vertices such that the neighborhood indices of the vertices are in descending order and the value of the code produced by the UTAM of the relabeled graph is maximum for all possible labelings of this kinematic graph. The topological code of an N-vertex kinematic graph is defined as a set of N- 1 numbers in which the ith number, ci, is constructed by the ith row of the upper triangle of the canonical adjacency matrix of this kinematic graph. For reasons of clarity and simplicity, the general form of the topological code of an N-vertex kinematic graph is expressed as
c= 782
[C,/(.>/. . . /cJ..
./c,_ ,I.
Enumeration
(4
(e>
of Kinematic
Chains
(f>
FIG. 7. All possible relabelings of Fig. 6(a) kinematic graphs.
For example, for the kinematic graph shown in Fig. 6(a), there are six (1 ! l! l! I! l! 3! = 6) possible relabelings, as shown in Fig. 7. The corresponding codes of these relabelings are 7(a) 7(b) 7(c) 7(d) 7(f)
: : : : :
7(g) :
1000111330000310000100011000 1000111330000310000100011000 1000111330000310000010101000 1000111330000310000010101000 1000111330000310000001110000 1000111330000310000001110000,
respectively.
Since the code in Fig. 7(a or b) is maximum, Fig. 7(a) is the kinematic graph with canonical labeling and its topological code is C = [lo001 11/330000/31000/0100/ 0 11/00/O]. Based on the topological codes, the isomorphism of kinematic graphs can be identified efficiently. For example, the topological codes of the kinematic graphs shown in Fig. 6(a, b) are the same, i.e. [lo001 11/330000/31000/0100/01 l/00/0], and Fig. 6(d, e) are [3300110/310000/00001/0001/110/00/0], two nonisomorphic basic kinematic graphs, are shown in Fig. 7(a, d).
VIII. Basic Kinematic Chains The sixth step in the enumeration process is to transform kinematic graphs into their corresponding kinematic chains. For example, the kinematic graphs shown in Fig. 7(a, d) are transformed into their corresponding kinematic chains, as shown in Fig. 8. Using the same enumeration procedure for the other 23 acceptable contracted graphs in Fig. 6, 16 basic kinematic chains with simple joints and 42 basic kinematic chains with multiple joints are enumerated. Figures 9 and 10 show one degree-offreedom, eight-link basic kinematic chains with simple joints and their corVol. 329, No. 4. pp 7X-789, Printed in Great Britain
1992
783
Cheng- Ho Hsu
(4
(b)
FIG. 8. Two eight-link, one degree-of-freedom
basic kmematlc
chains.
responding kinematic graphs, respectively. Figures 11 and 12 show one degree-offreedom eight-link basic kinematic chains with multiple joints and their corresponding kinematic graphs, respectively.
IX. Results and Discussion Based on the proposed enumeration process and atlas of acceptable contracted graphs for basic kinematic chains with simple joints and multiple joints (1%15),
(a>
(b)
(4
(k)
(i)
(P) FIG. 9. Atlas of eight-link,
784
one degree-of-freedom
basic kinematic
chains with simple joints. Journal ofthc Franklin lnstltute Pergamon Press Ltd
Enumeration
qf Kinematic Chains
FIG. 10. Atlas of kinematic graphs for eight-link, one degree-of-freedom chains with simple joints.
basic kinematic
basic kinematic chains with any number of links and degrees of freedom can be enumerated systematically. Tables I and II list the numbers of acceptable contracted graphs (ACG) and basic kinematic chains (BKC) with up to 10 links. The results of this work are in complete agreement with previous works (l-3, 8-12). The results of the atlas of three and five degree-of-freedom, IO-link basic kinematic chains with multiple joints are believed to be new. Moreover, the proposed method provides a systematic and powerful tool for the enumeration of simple-jointed basic kinematic chains and multiple-jointed basic kinematic chains simultaneously.
X. Conclusion The concept of contracted graphs has been shown to be a powerful tool in the enumeration of basic kinematic chains. A systematic method has been successfully developed for the enumeration of basic kinematic chains with simple and multiple joints. This method is simpler and more efficient than previous methods (1-12). Moreover, this method can be computer processed by using matrix notation. The result of this work is helpful in the creative design of mechanisms.
Cheng- Ho Hsu
(b’J)
(bl)
(b2)
( b3)
(b4)
(b7)
(b5)
(bQ)
(b10)
(bill
(bW
(bl5)
(b-3
(bl7)
(bla)
(4
(c3)
Cdl)
(cl)
A
FIG. 1 I. Atlas of eight-link,
one degree-of-freedom joints.
basic kinematic
chains with multiple
Journal~5th~Franklin
786
Pergamon
lnrt~tute Press Ltd
Enumeration
( a2)
(4
(a61
(ala)
(a171
(bl)
(b2)
qf Kinematic Chains
( a4)
(0
(aa)
(aQ)
(al01
(alQ)
(a201
(a211
(a221
(b4)
(b5)
(be)
(b3)
(dl)
IL. Atlas of kmematlc
Vol. 329. NO. 4, pp. 7755789, Printed in Great Britam
graphs tbr eight-link, one degree-of-freedom chains with multiple joints.
basic kinematic
,992
787
Cherlg- Ho Hsu TABLE I The numbers of’ acceptable contracted graphs (ACG) and basic kinematic two independent loops and up to IO links
Number
chains (BKC) with
of multiple joints _
I
0 N
F
6 7 8 9 IO
2
ACG
BKC
ACG
BKC
1
1 2 3 3 3
2 4 7 10 14
1
2 3 4 5
2 4 5 5
1 3 6 10 I5
ACG
Total BKC
ACG
BKC
I
1
2 2 3 4
2 3 6 9
3 6 9 II I2
4 9 16 26 38
TABLEII
The numbers
of acceptablecontractedgraphs
(ACG) and basic kinematic three independent loops and up to 10 links Number
1
0
chains (BKC) with
of multiple joints
2
4
3
Total
N
F
ACG
BKC
ACG
BKC
ACG
BKC
ACG
BKC
ACG
BKC
8 9 IO
I 2 3
4 6 IO
16 40 98
8 18 36
22 83 230
12 32 59
I8 74 223
3 I4 31
3 I9 64
I 3 8
3 I8
I
ACG
BKC
28 73 144
60 219 625
Acknowledgement The author is grateful to the National Science Council of the Republic of China for the support of this research (Grant Nos NSC77-0401-El lo-06 and NSC78-0401-EIIO-04).
References (I) F. Frcudenstcin (2)
(3) (4) (5)
788
and L. Dobrjanskyj. “On a theory for the type synthesis of mechanisms”, Proc. I Ith Int. Congr. Applied Mechanics, pp. 42@428, 1964. F. R. E. Crossley, “The permutations of kinematic chains of eight member or less from the graph-theoretic viewpoint”, Der. Theor. Appl. Me&., Vol. 2, pp. 467~486, 1964. T. H. Davies and F. R. E. Crossley, “Structural analysis of plane linkages by Franke’s condensed notation”, J. Me&., Vol. I, pp. 171-183, 1966. L. S. Woo, “Type synthesis of plane linkages”, ASME J. Engny Ind., Vol. 89B, pp. 1599172, 1967. F. Freudenstein. “The basic concepts of Polya’s theory of enumeration with appli-
Enumeration
(6)
(7) (8) (9) (10)
(11) (12)
(13) (14)
(15) (16) (17)
(18) (19)
(20)
of’ Kinematic
Chains
cation to the structural classification of mechanisms”, J. Me&., Vol. 3, pp. 275% 290, 1967. I. I. Tempea, “Contributions concerning the methods of determination of the necessary contracted graphs for the structural synthesis of planar KC”, Proc. 3rd World Congr. Theory of Machine and Mechanism, Vol. D, pp. 251-272, 1971. G. Kiper and D. Schian, “Die 12 Gliedrigen Gruglerschen Kinematschen Ketten”, VDI-Z, Vol. 117, pp. 283-288, 1975. T. S. Mruthyunjaya, “Structural synthesis by transformation of binary chains”, Mech. Much. Theory, Vol. 14, pp. 221-231, 1979. K. Hain and A. W. Zielstorff, “Systematik der Zwanglaufigen, Achtliedrigen Kinematschen Kette”, Muschinenmark, Vol. 37, pp. 14-20, 1964. N. I. Manolescu and 1. I. Tempea, “Structural synthesis of plane kinematic chains with multiple joints and five degrees of freedom”, Retlue Romaine Sci. Tech., Mecanique Applique, Vol. 12, pp. 1117-I 140, 1967. W. M. Hwang and H. S. Yan, “A method for computer-aided structural synthesis of planar kinematic chains with multiple joints”, ASME Paper No. 84-DET-196, 1984. H. S. Yan and W. M. Hwang, “A method for the generation of kinematic chains with multiple joints”, Proc. NCKU/AAS Int. Symp. System Engng, Science and Mechanics, Tainan, Taiwan, Vol. 2, pp. 882-890, 198 I. H. S. Yan and C. H. Hsu, “Contracted graphs of kinematic chains with multiple joints”, Math. Comp Model!., Vol. 10, pp. 681-695, 1988. C. H. Hsu and H. S. Yan, “A method of synthesizing contracted graphs for basic kinematic chains with multiple joints”, J. Chin. Sot. Mech. Engrs, Vol. 9, pp. 283293, 1988. C. H. Hsu and K. T. Lam, “Automatic development ofcontracted graphs for kinematic chains with simple joints,” Math. Camp. Model/., Vol. 15, pp. 21-38, 1991. F. Harary, “Graph Theory”, Addison-Wesley, Reading, MA, 1969. N. Deo, “Graph Theory with Applications to Engineering and Computer Sciences”, Prentice-Hall, Englewood Cliffs, NJ, and “Computer Sciences”, Prentice-Hall, Englewood Cliffs, NJ, 1974. B. Paul, ASME J. uppl. Mech., Vol. 82E, pp. 196200, 1960. W. M. Hwang, Y. W. Hwang and Y. Y. Liu, “A method for the number synthesis of planar kinematic chains with simple joints”, J. Chin. Sot. Mech. Engrs, Vol. 12, pp. 166176, 1991. C. H. Hsu and K. T. Lam, “Topological code of graphs”, J. Frank/in Inst., Vol. 329, pp. 99-l 10, 1992.
Vol. 329, No. 4, pp. 775-789. 1992 Printed in Great Bntarn
789